Ejemplo n.º 1
0
bool MyOpenClipboard(LPCWSTR asAction)
{
	_ASSERTE(gnMyClipboardOpened==0 || gnMyClipboardOpened==1);

	if (gnMyClipboardOpened > 0)
	{
		InterlockedIncrement(&gnMyClipboardOpened);
		return true;
	}

	BOOL lbRc;
	int iMaxTries = 100;

	// Open Windows' clipboard
	while (!(lbRc = OpenClipboard((ghWnd && IsWindow(ghWnd)) ? ghWnd : NULL)) && (iMaxTries-- > 0))
	{
		DWORD dwErr = GetLastError();

		wchar_t szCode[32]; _wsprintf(szCode, SKIPCOUNT(szCode) L", Code=%u", dwErr);
		wchar_t* pszMsg = lstrmerge(L"OpenClipboard failed (", asAction, L")", szCode);
		LogString(pszMsg);
		int iBtn = DisplayLastError(pszMsg, dwErr, MB_RETRYCANCEL|MB_ICONSTOP);
		SafeFree(pszMsg);

		if (iBtn != IDRETRY)
			return false;
	}

	InterlockedIncrement(&gnMyClipboardOpened);
	_ASSERTE(gnMyClipboardOpened==1);

	LogString(L"OpenClipboard succeeded");
	return true;
}
Ejemplo n.º 2
0
//-----------------------------------------------------------------------------
// Name: empty()
// Desc: 
//-----------------------------------------------------------------------------
void dreamSock_SendPacket(SOCKET sock, int length, char *data, struct sockaddr addr)
{
	int	ret;

	ret = sendto(sock, data, length, 0, &addr, sizeof(addr));

	if(ret == -1)
	{
#ifdef WIN32
		errno = WSAGetLastError();

		// Silently handle wouldblock
		if(errno == WSAEWOULDBLOCK)
			return;

		LogString("Error code %d: sendto() : %s", errno, strerror(errno));
#else
		// Silently handle wouldblock
		if(errno == EWOULDBLOCK)
			return;

		LogString("Error code %d: sendto() : %s", errno, strerror(errno));
#endif
	}
}
Ejemplo n.º 3
0
//-----------------------------------------------------------------------------
// Name: empty()
// Desc: 
//-----------------------------------------------------------------------------
SOCKET dreamSock_Socket(int protocol)
{
	int type;
	int proto;
	SOCKET sock;

	// Check which protocol to use
	if(protocol == DREAMSOCK_TCP)
	{
		type = SOCK_STREAM;
		proto = IPPROTO_TCP;
	}
	else
	{
		type = SOCK_DGRAM;
		proto = IPPROTO_UDP;
	}

	// Create the socket
	if((sock = socket(AF_INET, type, proto)) == -1)
	{
		LogString("dreamSock_Socket - socket() failed");

#ifdef WIN32
		errno = WSAGetLastError();
		LogString("Error: socket() code %d : %s", errno, strerror(errno));
#else
		LogString("Error: socket() : %s", strerror(errno));
#endif

		return DREAMSOCK_INVALID_SOCKET;
	}

	return sock;
}
int ServerSideNetworkedGame::InitNetwork()
{
	if(dreamSock_Initialize() != 0)
	{
		LogString("Error initialising Communication Library!");
		return 1;
	}

	LogString("Initialising game");

	// Create the game servers on new ports, starting from 30004
	int ret = networkServer->Initialise("", 30004);

	if(ret == DREAMSOCK_SERVER_ERROR)
	{
#ifdef WIN32
		char text[64];
		sprintf(text, "Could not open server on port %d", networkServer->GetPort());

		MessageBox(NULL, text, "Error", MB_OK);
#else
		LogString("Could not open server on port %d", networkServer->GetPort());
#endif
		return 1;
	}

	return 0;
}
Ejemplo n.º 5
0
HWND CConEmuInside::CheckInsideFocus()
{
	if (!isInsideWndSet())
	{
		//_ASSERTE(FALSE && "Inside was not initialized");
		return NULL;
	}

	wchar_t szInfo[512];
	GUITHREADINFO tif = { sizeof(tif) };
	HWND hParentWnd = GetParentRoot();
	DWORD nTID = GetWindowThreadProcessId(hParentWnd, NULL);

	if (!GetGUIThreadInfo(nTID, &tif))
	{
		_wsprintf(szInfo, SKIPCOUNT(szInfo) L"GetGUIThreadInfo(%u) failed, code=%u", nTID, GetLastError());
		LogString(szInfo);
		return NULL;
	}

	static GUITHREADINFO last_tif = {};
	if (memcmp(&last_tif, &tif, sizeof(tif)) != 0)
	{
		last_tif = tif;

		_wsprintf(szInfo, SKIPCOUNT(szInfo)
			L"ParentInputInfo: flags=x%X Active=x%X Focus=x%X Capture=x%X Menu=x%X MoveSize=x%X Caret=x%X (%i,%i)-(%i,%i)",
			tif.flags, LODWORD(tif.hwndActive), LODWORD(tif.hwndFocus), LODWORD(tif.hwndCapture), LODWORD(tif.hwndMenuOwner),
			LODWORD(tif.hwndMoveSize), LODWORD(tif.hwndCaret), LOGRECTCOORDS(tif.rcCaret));
		LogString(szInfo);
	}

	return tif.hwndFocus;
}
Ejemplo n.º 6
0
#include "stdafx.h"
#include "dragcommand.h"

#include "../it_mgr.h"
#include "../dlgs/QuickToolBar.h"
#include "../dlgs/CPatDlg.h"
#include "../dlgs/CItemDlg.h"
#include "../dlgs/CGoodsDlg.h"
#include "../dlgs/CPrivateStoreDlg.h"
#include "../Icon/CIconItem.h"
#include "../Icon/CIconSkill.h"
#include "../Icon/CIconQuick.h"
#include "../Icon/CIconSkillClan.h"
#include "../../network/Cnetwork.h"
#include "../../System/CGame.h"
#include "../../gamecommon/item.h"
#include "uicommand.h"
#include "../../GameData/CPrivateStore.h"
#include "../../GameData/CSeparate.h"

bool CTCmdDragInven2QuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( 0 && "Invalid Param @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CIconItem* pItemIcon = (CIconItem*)pObj;

	POINT ptMouse;
	CGame::GetInstance().Get_MousePos( ptMouse );

	CTDialog* pDlg = g_itMGR.FindDlg( m_nType );
	if( pDlg == NULL )
	{
		assert( 0 && "Not Found QuickBar Dialog @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CQuickBAR* pQuickBar = (CQuickBAR*)pDlg;

	short nQuickSlotIdx = pQuickBar->GetMouseClickSlot( ptMouse );

	if( nQuickSlotIdx == -1 )///해당 위치에 슬롯이 없다.
		return true;

	tagHotICON hotICON;

	hotICON.m_cType = INV_ICON;
	hotICON.m_nSlotNo = pItemIcon->GetIndex();

	if( hotICON.m_nSlotNo < INVENTORY_ITEM_INDEX_0 || hotICON.m_nSlotNo > INVENTORY_ITEM_INDEX_LAST  )
	{
		assert( 0 && "Invalid Inventory Index @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}


	g_pNet->Send_cli_SET_HOTICON( (BYTE)nQuickSlotIdx, hotICON );
	return true;
}

bool	CTCmdDragSkill2QuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( pObj && "Invalid Arg @CTCmdDragSkill2QuickBar::Exec" );
		return true;
	}
	
	CIconSkill* pSkillIcon = (CIconSkill*)pObj;

	POINT ptMouse;
	CGame::GetInstance().Get_MousePos( ptMouse );

	CTDialog* pDlg = g_itMGR.FindDlg( m_nType );
	if( pDlg == NULL )
	{
		assert( 0 && "Not Found QuickBar Dialog @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CQuickBAR* pQuickBar = (CQuickBAR*)pDlg;

	short nQuickSlotIdx = pQuickBar->GetMouseClickSlot( ptMouse );

	if( nQuickSlotIdx == -1 )///해당 위치에 슬롯이 없다.
		return true;

	tagHotICON hotICON;

	hotICON.m_cType = SKILL_ICON;
	hotICON.m_nSlotNo = pSkillIcon->GetSkillSlotFromIcon();

	if( hotICON.m_nSlotNo < 0 || hotICON.m_nSlotNo >= MAX_LEARNED_SKILL_CNT  )
	{
		assert( 0 && "Invalid Skill Slot Index @CTCmdDragSkill2QuickBar::Exec" );
		return true;
	}

	g_pNet->Send_cli_SET_HOTICON( (BYTE)nQuickSlotIdx, hotICON );
	
	return true;
}


bool	CTCmdDragClanSkill2QuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( pObj && "Invalid Arg @CTCmdDragClanSkill2QuickBar::Exec" );
		return true;
	}
	
	CIconSkillClan* pSkillIcon = (CIconSkillClan*)pObj;

	POINT ptMouse;
	CGame::GetInstance().Get_MousePos( ptMouse );

	CTDialog* pDlg = g_itMGR.FindDlg( DLG_TYPE_QUICKBAR );
	if( pDlg == NULL )
	{
		assert( 0 && "Not Found QuickBar Dialog @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CQuickBAR* pQuickBar = (CQuickBAR*)pDlg;

	short nQuickSlotIdx = pQuickBar->GetMouseClickSlot( ptMouse );

	if( nQuickSlotIdx == -1 )///해당 위치에 슬롯이 없다.
		return true;

	tagHotICON hotICON;

	hotICON.m_cType = CLANSKILL_ICON;
	hotICON.m_nSlotNo = pSkillIcon->GetSkillSlotFromIcon();

	if( hotICON.m_nSlotNo < 0 || hotICON.m_nSlotNo >= MAX_CLAN_SKILL_SLOT  )
	{
		assert( 0 && "Invalid Skill Slot Index @CTCmdDragClanSkill2QuickBar::Exec" );
		return true;
	}

	g_pNet->Send_cli_SET_HOTICON( (BYTE)nQuickSlotIdx, hotICON );
	
	return true;
}


///*------------------------------------------------------------------------------------------------------------*/
bool	CTCmdDragItemFromQuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( pObj && "Invalid Arg @CTCmdItemFromQuickBar::Exec");	
		return true;
	}
	
	CIconQuick* pIcon = (CIconQuick*)pObj;
	
	short nSlotIndex = pIcon->GetQuickBarSlotIndex();

	if( nSlotIndex < 0 || nSlotIndex >= MAX_HOT_ICONS )
	{
		LogString( LOG_NORMAL,"Not Found SlotIndex By Icon Pointer @CTCmdDragItemFromQuickBar::Exec");
		return true;
	}

	tagHotICON hotICON;

	hotICON.m_cType = 0;
	hotICON.m_nSlotNo = 0;
	g_pNet->Send_cli_SET_HOTICON( (BYTE)nSlotIndex, hotICON );
	return true;
}
///*------------------------------------------------------------------------------------------------------------*/
bool	CTCmdMoveIconInQuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( pObj && "Invalid Arg @CTCmdItemFromQuickBar::Exec");	
		return true;
	}
	
	CIconQuick* pIcon = (CIconQuick*)pObj;
	
	short nPrevSlotIndex = pIcon->GetQuickBarSlotIndex();

	if( nPrevSlotIndex < 0 || nPrevSlotIndex >= MAX_HOT_ICONS )
	{
		LogString( LOG_NORMAL,"Invalid QuickBar SlotIndex @CTCmdDragItemFromQuickBar::Exec");
		return true;
	}


	CTDialog* pDlg = g_itMGR.FindDlg( m_nType );
	if( pDlg == NULL )
	{
		assert( pDlg && "Not Found QuickBar Dialog @CTCmdMoveIconInQuickBar::Exec" );
		return true;
	}
	CQuickBAR* pQuickBar = ( CQuickBAR*) pDlg;


	POINT ptMouse;
	CGame::GetInstance().Get_MousePos( ptMouse );

	
	short nNewSlotIndex = pQuickBar->GetMouseClickSlot( ptMouse );
	if( nNewSlotIndex < 0 || nNewSlotIndex >= MAX_HOT_ICONS )
	{
		LogString( LOG_NORMAL,"Invalid QuickBar SlotIndex @CTCmdDragItemFromQuickBar::Exec");
		return true;
	}

	if( nNewSlotIndex == nPrevSlotIndex )
	{
		LogString( LOG_NORMAL,"SlotIndex Is Same @CTCmdDragItemFromQuickBar::Exec");
		return true;
	}
	///이전 슬롯 비우기
	tagHotICON hotICON;
	hotICON.m_cType = 0;
	hotICON.m_nSlotNo = 0;
	g_pNet->Send_cli_SET_HOTICON( (BYTE)nPrevSlotIndex, hotICON );


	///새로운 슬롯으로 이동
	CHotIconSlot* pHotIconSlot	= g_pAVATAR->GetHotIconSlot();
	hotICON						= pHotIconSlot->GetHotItem( nPrevSlotIndex );

	g_pNet->Send_cli_SET_HOTICON( (BYTE)nNewSlotIndex, hotICON );
	
	return true;	
}
Ejemplo n.º 7
0
void NetworkedGame::Connect(void)
{
	if(init)
	{
		LogString("ArmyWar already initialised");
		return;
	}

	LogString("PolyNetworkedGame::Connect");

	init = true;

	networkClient->SendConnect("myname");
}
Ejemplo n.º 8
0
void CObjUSER::Update_SPEED ()
{	
	//Cal_RunSPEED() Add speed to calculate.
	//It turns on after the speed gives m_nRunSPEED value in the server.
	//Another way to compute here. ;;;;
	m_nRunSPEED     = Cal_RunSPEED ();

	if ( this->GetPetMode() < 0 )
	{
 		m_fRunAniSPEED = Cal_RunAniSPEED( m_nRunSPEED );
 		m_nAtkAniSPEED = Cal_AtkAniSPEED( this->GetPartITEM(BODY_PART_WEAPON_R) );
 	} 
	else 
	{
		/// Add Battle Heart attack speed application nAvy - 2005/7/28
#if defined(_GBC)
		m_fRunAniSPEED = ( m_nRunSPEED + 500 ) / 1000.f;
		m_nAtkAniSPEED = Cal_AtkAniSPEED( this->GetPartITEM(BODY_PART_WEAPON_R) );

		/*for( int i = 0 ; i < MAX_RIDING_PART; ++i )
			m_nAtkAniSPEED += PAT_ITEM_ATK_SPD( m_sPetPartItemIDX[ i ].m_nItemNo );*/
#else
 		m_fRunAniSPEED = ( m_nRunSPEED + 500 ) / 1000.f;
 		///<- 2005/7/25 Add to Cart modifying system parts : nAvy
		//m_nAtkAniSPEED = ( 1500.f / ( ( PAT_ITEM_ATK_SPD( m_sPetPartItemIDX[ RIDE_PART_ARMS ].m_nItemNo )) + 5 ) ) + this->m_iAddValue[ AT_ATK_SPD ];
		m_nAtkAniSPEED = ( 1500.f / ( ( PAT_ITEM_ATK_SPD( m_sPetPartItemIDX[ RIDE_PART_ARMS ].m_nItemNo )) + 5 ) ) + this->m_iAddValue[ AT_ATK_SPD ];
		///->
#endif
 	}


	LogString (LOG_DEBUG, "CmPerSEC: %f, AniSpeed: %f \n", m_nRunSPEED, m_fRunAniSPEED );
};
Ejemplo n.º 9
0
#include "stdafx.h"
#include "dragcommand.h"

#include "../it_mgr.h"
#include "../dlgs/QuickToolBar.h"
#include "../dlgs/CPatDlg.h"
#include "../dlgs/CItemDlg.h"
#include "../dlgs/CGoodsDlg.h"
#include "../dlgs/CPrivateStoreDlg.h"
#include "../Icon/CIconItem.h"
#include "../Icon/CIconSkill.h"
#include "../Icon/CIconQuick.h"
#include "../Icon/CIconSkillClan.h"
#include "../../network/Cnetwork.h"
#include "../../System/CGame.h"
#include "../../gamecommon/item.h"
#include "uicommand.h"
#include "../../GameData/CPrivateStore.h"
#include "../../GameData/CSeparate.h"

bool CTCmdDragInven2QuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( 0 && "Invalid Param @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CIconItem* pItemIcon = (CIconItem*)pObj;

	POINT ptMouse;
	CGame::GetInstance().Get_MousePos( ptMouse );

	CTDialog* pDlg = g_itMGR.FindDlg( m_nType );
	if( pDlg == NULL )
	{
		assert( 0 && "Not Found QuickBar Dialog @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CQuickBAR* pQuickBar = (CQuickBAR*)pDlg;

	short nQuickSlotIdx = pQuickBar->GetMouseClickSlot( ptMouse );

	if( nQuickSlotIdx == -1 )///해당 위치에 슬롯이 없다.
		return true;

	tagHotICON hotICON;

	hotICON.m_cType = INV_ICON;
	hotICON.m_nSlotNo = pItemIcon->GetIndex();

	if( hotICON.m_nSlotNo < INVENTORY_ITEM_INDEX_0 || hotICON.m_nSlotNo > INVENTORY_ITEM_INDEX_LAST  )
	{
		assert( 0 && "Invalid Inventory Index @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}


	g_pNet->Send_cli_SET_HOTICON( (BYTE)nQuickSlotIdx, hotICON );
	return true;
}

bool	CTCmdDragSkill2QuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( pObj && "Invalid Arg @CTCmdDragSkill2QuickBar::Exec" );
		return true;
	}
	
	CIconSkill* pSkillIcon = (CIconSkill*)pObj;

	POINT ptMouse;
	CGame::GetInstance().Get_MousePos( ptMouse );

	CTDialog* pDlg = g_itMGR.FindDlg( m_nType );
	if( pDlg == NULL )
	{
		assert( 0 && "Not Found QuickBar Dialog @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CQuickBAR* pQuickBar = (CQuickBAR*)pDlg;

	short nQuickSlotIdx = pQuickBar->GetMouseClickSlot( ptMouse );

	if( nQuickSlotIdx == -1 )///해당 위치에 슬롯이 없다.
		return true;

	tagHotICON hotICON;

	hotICON.m_cType = SKILL_ICON;
	hotICON.m_nSlotNo = pSkillIcon->GetSkillSlotFromIcon();

	if( hotICON.m_nSlotNo < 0 || hotICON.m_nSlotNo >= MAX_LEARNED_SKILL_CNT  )
	{
		assert( 0 && "Invalid Skill Slot Index @CTCmdDragSkill2QuickBar::Exec" );
		return true;
	}

	g_pNet->Send_cli_SET_HOTICON( (BYTE)nQuickSlotIdx, hotICON );
	
	return true;
}


bool	CTCmdDragClanSkill2QuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( pObj && "Invalid Arg @CTCmdDragClanSkill2QuickBar::Exec" );
		return true;
	}
	
	CIconSkillClan* pSkillIcon = (CIconSkillClan*)pObj;

	POINT ptMouse;
	CGame::GetInstance().Get_MousePos( ptMouse );

	CTDialog* pDlg = g_itMGR.FindDlg( DLG_TYPE_QUICKBAR );
	if( pDlg == NULL )
	{
		assert( 0 && "Not Found QuickBar Dialog @CTCmdDragInven2QuickBar::Exec" );
		return true;
	}
	
	CQuickBAR* pQuickBar = (CQuickBAR*)pDlg;

	short nQuickSlotIdx = pQuickBar->GetMouseClickSlot( ptMouse );

	if( nQuickSlotIdx == -1 )///해당 위치에 슬롯이 없다.
		return true;

	tagHotICON hotICON;

	hotICON.m_cType = CLANSKILL_ICON;
	hotICON.m_nSlotNo = pSkillIcon->GetSkillSlotFromIcon();

	if( hotICON.m_nSlotNo < 0 || hotICON.m_nSlotNo >= MAX_CLAN_SKILL_SLOT  )
	{
		assert( 0 && "Invalid Skill Slot Index @CTCmdDragClanSkill2QuickBar::Exec" );
		return true;
	}

	g_pNet->Send_cli_SET_HOTICON( (BYTE)nQuickSlotIdx, hotICON );
	
	return true;
}


///*------------------------------------------------------------------------------------------------------------*/
bool	CTCmdDragItemFromQuickBar::Exec( CTObject* pObj )
{
	if( pObj == NULL )
	{
		assert( pObj && "Invalid Arg @CTCmdItemFromQuickBar::Exec");	
		return true;
	}
	
	CIconQuick* pIcon = (CIconQuick*)pObj;
	
	short nSlotIndex = pIcon->GetQuickBarSlotIndex();

	if( nSlotIndex < 0 || nSlotIndex >= MAX_HOT_ICONS )
	{
		LogString( LOG_NORMAL,"Not Found SlotIndex By Icon Pointer @CTCmdDragItemFromQuickBar::Exec");
		return true;
	}

	tagHotICON hotICON;

	hotICON.m_cType = 0;
	hotICON.m_nSlotNo = 0;
	g_pNet->Send_cli_SET_HOTICON( (BYTE)nSlotIndex, hotICON );
	return true;
}
Ejemplo n.º 10
0
bool CClientDB::InsertInventoryData( const char* pszName, S_InventoryData Data )
{
	ICommandText*       pICommandText           = NULL;
	HRESULT             hr;
	LONG                cNumRows = 0;

	WCHAR wCmdString[1024];

	wsprintfW(wCmdString, L"INSERT INTO INVENTORY ( name, realindex, virtualindex ) VALUES ( '%S', %d, %d )", pszName, Data.lRealIndex, Data.lVirtualIndex );

	pICommandText = CreateCommand ( m_pIDBInitialize ,wCmdString 	);

	if( pICommandText == NULL )
		return false;

    if(FAILED(hr = pICommandText->Execute(
                                    NULL, 
                                    IID_NULL, 
                                    NULL, 
                                    &cNumRows, 
                                    NULL)))
    {
		LogString( LOG_NORMAL,"Fail CreateInventoryTable\n" );
	}
	pICommandText->Release();
	return true;
}
Ejemplo n.º 11
0
//-------------------------------------------------------------------------------------------------
int		QF_appendQuest ( int iQuestID )
{
	LogString (LOG_DEBUG, "QF_appendQuest( %d ) \n", iQuestID );

	//--------------------------------------------------------------------------------
	LOGOUT( "QF_appendQuest( %d ) ", iQuestID );
	//--------------------------------------------------------------------------------

	for (short nI=0; nI<QUEST_PER_PLAYER; nI++)
		if ( 0 == g_pAVATAR->m_Quests.m_QUEST[ nI ].GetID() ) 
		{
			g_pAVATAR->m_Quests.m_QUEST[ nI ].Init ();
			g_pAVATAR->m_Quests.m_QUEST[ nI ].SetID( iQuestID, true );

			//--------------------------------------------------------------------------------
			LOGOUT( "QF_appendQuest( %d ) [ The request to the server : %d ] ", iQuestID, nI );
			//--------------------------------------------------------------------------------

			g_pNet->Send_cli_QUEST_REQ(TYPE_QUEST_REQ_ADD, (BYTE)nI, iQuestID );
			return nI;
		}

	//--------------------------------------------------------------------------------
	LOGERR( "QF_appendQuest( %d ) FAILED ", iQuestID );
	//--------------------------------------------------------------------------------
	return -1;
}
Ejemplo n.º 12
0
//*----------------------------------------------------------------------------
/// 매번 새로 만들려고 시도한다.. 이미 만들어져 있다면 Fail
//*----------------------------------------------------------------------------
bool CClientDB::CreateInventoryTable()
{
	ICommandText*       pICommandText           = NULL;
	HRESULT             hr;
	LONG                cNumRows = 0;

	WCHAR wCmdString[] = L"CREATE TABLE INVENTORY ( name TEXT(30), realindex long , virtualindex long )";
	
	pICommandText = CreateCommand ( m_pIDBInitialize ,wCmdString 	);

	if( pICommandText == NULL )
		return false;

    if(FAILED(hr = pICommandText->Execute(
                                    NULL, 
                                    IID_NULL, 
                                    NULL, 
                                    &cNumRows, 
                                    NULL)))
    {
		LogString( LOG_NORMAL,"Fail CreateInventoryTable\n" );
	}
	pICommandText->Release();
	return true;
}
Ejemplo n.º 13
0
bool CClientDB::UpdateInventoryData( const char* pszName, S_InventoryData Data )
{
	ICommandText*       pICommandText           = NULL;
	HRESULT             hr;
	LONG                cNumRows = 0;

	WCHAR wCmdString[1024];

	wsprintfW(wCmdString, L"UPDATE INVENTORY SET virtualindex = %d WHERE name = '%S' AND realindex = %d",Data.lVirtualIndex , pszName ,Data.lRealIndex );

	pICommandText = CreateCommand ( m_pIDBInitialize ,wCmdString 	);

	if( pICommandText == NULL )
		return false;

    if(FAILED(hr = pICommandText->Execute(
                                    NULL, 
                                    IID_NULL, 
                                    NULL, 
                                    &cNumRows, 
                                    NULL)))
    {
		LogString( LOG_NORMAL,"Fail CreateInventoryTable\n" );
		pICommandText->Release();
		return false;
	}

	pICommandText->Release();
	
	if( cNumRows == 0 )
		return false;

	return true;
}
Ejemplo n.º 14
0
void CTabPanelBase::UpdateTabFontInt()
{
	if (!IsTabbarCreated())
		return;

	LOGFONT lf = {};
	lf.lfWeight = FW_DONTCARE;
	lf.lfCharSet = gpSet->nTabFontCharSet;
	lf.lfPitchAndFamily = DEFAULT_PITCH | FF_SWISS;
	wcscpy_c(lf.lfFaceName, gpSet->sTabFontFace);
	gpFontMgr->EvalLogfontSizes(lf, gpSet->nTabFontHeight, 0);

	wchar_t szInfo[100];
	_wsprintf(szInfo, SKIPCOUNT(szInfo) L"Creating tab font name='%s' height=%i", lf.lfFaceName, lf.lfHeight);
	LogString(szInfo);

	// CreateFont
	HFONT hFont = CreateFontIndirect(&lf);

	// virtual
	SetTabbarFont(hFont);

	// Store new Font in member variable
	if (mh_TabFont)
		DeleteObject(mh_TabFont);
	mh_TabFont = hFont;
}
Ejemplo n.º 15
0
bool CSetPgApps::CreateChildDlg()
{
	if (mh_Child && !IsWindow(mh_Child))
	{
		_ASSERTE(FALSE && "Invalid mh_Child");
		mh_Child = NULL;
	}

	if (!mh_Child)
	{
		#if defined(_DEBUG)
		HWND hChild = GetDlgItem(mh_Dlg, IDD_SPG_APPDISTINCT2);
		_ASSERTE(hChild == NULL);
		#endif

		LogString(L"Creating child dialog IDD_SPG_APPDISTINCT2");
		SafeDelete(mp_DlgDistinct2); // JIC

		mp_DlgDistinct2 = CDynDialog::ShowDialog(IDD_SPG_APPDISTINCT2, mh_Dlg, pageOpProc_AppsChild, 0/*dwInitParam*/);
		mh_Child = mp_DlgDistinct2 ? mp_DlgDistinct2->mh_Dlg : NULL;

		if (!mh_Child)
		{
			EnableWindow(mh_Dlg, FALSE);
			MBoxAssert(mh_Child && "CreateDialogParam(IDD_SPG_APPDISTINCT2) failed");
			return 0;
		}
		SetWindowLongPtr(mh_Child, GWLP_ID, IDD_SPG_APPDISTINCT2);

		if (!mp_DpiDistinct2 && mp_ParentDpi)
		{
			mp_DpiDistinct2 = new CDpiForDialog();
			mp_DpiDistinct2->Attach(mh_Child, mh_Dlg, mp_DlgDistinct2);
		}

		HWND hHolder = GetDlgItem(mh_Dlg, tAppDistinctHolder);
		RECT rcPos = {}; GetWindowRect(hHolder, &rcPos);
		MapWindowPoints(NULL, mh_Dlg, (LPPOINT)&rcPos, 2);
		POINT ptScroll = {};
		HWND hEnd = GetDlgItem(mh_Child,stAppDistinctBottom);
		MapWindowPoints(hEnd, mh_Child, &ptScroll, 1);
		ShowWindow(hEnd, SW_HIDE);

		SCROLLINFO si = {sizeof(si), SIF_ALL};
		si.nMax = ptScroll.y - (rcPos.bottom - rcPos.top);
		RECT rcChild = {}; GetWindowRect(GetDlgItem(mh_Child, DistinctControls[1].nOverrideID), &rcChild);
		si.nPage = rcChild.bottom - rcChild.top;
		SetScrollInfo(mh_Child, SB_VERT, &si, FALSE);

		MoveWindowRect(mh_Child, rcPos);

		ShowWindow(hHolder, SW_HIDE);
		ShowWindow(mh_Child, SW_SHOW);

		//_ASSERTE(mh_Child && IsWindow(mh_Child));
	}

	return (mh_Child != NULL);
}
void ServerSideNetworkedGame::ShutdownNetwork(void)
{
	LogString("Shutting down game server...");

	RemoveClients();

	networkServer->Uninitialise();
}
Ejemplo n.º 17
0
//-----------------------------------------------------------------------------
// Name: empty()
// Desc: 
//-----------------------------------------------------------------------------
int dreamSock_GetPacket(SOCKET sock, char *data, struct sockaddr *from)
{
	int ret;
	struct sockaddr tempFrom;
	socklen_t fromlen;

	fromlen = sizeof(tempFrom);

	ret = recvfrom(sock, data, 1400, 0, (struct sockaddr *) &tempFrom, &fromlen);

	// Copy the address to the from pointer
	if(from != NULL)
		*(struct sockaddr *) from = tempFrom;

	if(ret == -1)
	{
#ifdef WIN32
		errno = WSAGetLastError();

		// Silently handle wouldblock
		if(errno == WSAEWOULDBLOCK)
			return ret;

		if(errno == WSAEMSGSIZE)
		{
			// ERROR: Oversize packet

			return ret;
		}

		LogString("Error code %d: recvfrom() : %s", errno, strerror(errno));
#else
		// Silently handle wouldblock
		if(errno == EWOULDBLOCK || errno == ECONNREFUSED)
			return ret;

		LogString("Error code %d: recvfrom() : %s", errno, strerror(errno));
#endif

		return ret;
	}

	return ret;
}
Ejemplo n.º 18
0
//-----------------------------------------------------------------------------
// Name: empty()
// Desc: 
//-----------------------------------------------------------------------------
void CArmyWar::CheckPredictionError(int a)
{
	if(a < 0 && a > COMMAND_HISTORY_SIZE)
		return;

	float errorX =
		localClient->serverFrame.origin.x - localClient->frame[a].predictedOrigin.x;
		
	float errorY =
		localClient->serverFrame.origin.y - localClient->frame[a].predictedOrigin.y;

	// Fix the prediction error
	if( (errorX != 0.0f) || (errorY != 0.0f) )
	{
		localClient->frame[a].predictedOrigin.x = localClient->serverFrame.origin.x;
		localClient->frame[a].predictedOrigin.y = localClient->serverFrame.origin.y;

		localClient->frame[a].vel.x = localClient->serverFrame.vel.x;
		localClient->frame[a].vel.y = localClient->serverFrame.vel.y;

		LogString("Prediction error for frame %d:     %f, %f\n", a,
			errorX, errorY);
	}




	float errorXrot =
		localClient->serverFrame.rot.w - localClient->frame[a].predictedRot.w;
		
	float errorYrot =
		localClient->serverFrame.rot.y - localClient->frame[a].predictedRot.y;

	// Fix the prediction error
	if( (errorXrot != 0.0f) || (errorYrot != 0.0f) )
	{
		localClient->frame[a].predictedRot.w = localClient->serverFrame.rot.w;
		localClient->frame[a].predictedRot.y = localClient->serverFrame.rot.y;

		LogString("Prediction rot error for frame %d:     %f, %f\n", a,
			errorXrot, errorYrot);
	}

}
Ejemplo n.º 19
0
CLogFunction::~CLogFunction()
{
	if (!mb_Logged)
		return;
	--m_FnLevel;

	if (!gpLogSize || !(mc_FnInfo[0])) return;

	if (mn_FnSuffix)
	{
		const int cchSpaceLeft = static_cast<int>(std::size(mc_FnInfo) - mn_FnSuffix);
		lstrcpyn(mc_FnInfo + mn_FnSuffix, kFnEnd, cchSpaceLeft);
		LogString(mc_FnInfo);
	}
	else
	{
		LogString(CEStr(mc_FnInfo, kFnEnd));
	}
}
Ejemplo n.º 20
0
void CTaskBar::Taskbar_UpdateOverlay()
{
	if (!this || !mp_TaskBar3)
	{
		LogString(L"Taskbar_UpdateOverlay skipped: !mp_TaskBar3");
		return;
	}

	// TODO: Separate option is required!
	if (!gpSet->isTaskbarShield)
	{
		Taskbar_SetOverlay(NULL);
		LogString(L"Taskbar_UpdateOverlay skipped: !isTaskbarShield");
		return;
	}

	bool bAdmin;
	HICON hIcon;

	if ((hIcon = gpConEmu->GetCurrentVConIcon()) != NULL)
	{
		LogString(L"Taskbar_UpdateOverlay executed with tab icon");
		if (!isTaskbarSmallIcons())
		{
			Taskbar_SetOverlay(hIcon);
			DestroyIcon(hIcon);
		}
		else
		{
			gpConEmu->SetTaskbarIcon(hIcon);
		}
	}
	else if (!IsWindows7)
	{
		LogString(L"Taskbar_UpdateOverlay skipped: !IsWindows7");
	}
	else
	{
		LogString(L"Taskbar_UpdateOverlay executed with [non]admin icon");
		bAdmin = gpConEmu->IsActiveConAdmin();
		Taskbar_SetShield(bAdmin);
	}
}
Ejemplo n.º 21
0
//-----------------------------------------------------------------------------
// Name: empty()
// Desc: 
//-----------------------------------------------------------------------------
int dreamSock_SetBroadcasting(SOCKET sock, int mode)
{
	// make it broadcast capable
	if(setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *) &mode, sizeof(int)) == -1)
	{
		LogString("DreamSock_SetBroadcasting failed");

#ifdef WIN32
		int err = WSAGetLastError();
		LogString("Error code %d: setsockopt() : %s", err, strerror(err));
#else
		LogString("Error code %d: setsockopt() : %s", errno, strerror(errno));
#endif

		return DREAMSOCK_INVALID_SOCKET;
	}

	return 0;
}
Ejemplo n.º 22
0
Archivo: log.cpp Proyecto: Elzevir/xbmc
void CLog::Log(int loglevel, const char *format, ...)
{
  if (IsLogLevelLogged(loglevel))
  {
    va_list va;
    va_start(va, format);
    LogString(loglevel, StringUtils::FormatV(format, va));
    va_end(va);
  }
}
Ejemplo n.º 23
0
///////////////////////////////////////////////////////////////
//
// CDatabaseJobQueueImpl::LogResult
//
// Log last job if connection has logging enabled
//
///////////////////////////////////////////////////////////////
void CDatabaseJobQueueImpl::LogResult ( CDbJobData* pJobData )
{
    // Early out if logging switched off globally
    if ( m_LogLevel == EJobLogLevel::NONE )
        return;

    // Check logging status of connection
    CDatabaseConnection* pConnection = GetConnectionFromHandle ( pJobData->command.connectionHandle );
    if ( !pConnection || !pConnection->m_bLoggingEnabled )
        return;

    if ( pJobData->result.status == EJobResult::SUCCESS )
    {
        if ( m_LogLevel >= EJobLogLevel::ALL )
        {
            SString strLine ( "%s: [%s] SUCCESS: Affected rows:%d [Query:%s]\n"
                                    , *GetLocalTimeString ( true, true )
                                    , *pConnection->m_strLogTag
                                    , pJobData->result.registryResult->uiNumAffectedRows
                                    , *pJobData->GetCommandStringForLog()
                                );
            LogString ( strLine );
        }
    }
    else
    {
        if ( m_LogLevel >= EJobLogLevel::ERRORS )
        {
            // Suppress requested errors unless logging is set to ALL
            if ( pJobData->result.bErrorSuppressed && m_LogLevel != EJobLogLevel::ALL )
                return;

            SString strLine ( "%s: [%s] FAIL: (%d) %s [Query:%s]\n"
                                    , *GetLocalTimeString ( true, true )
                                    , *pConnection->m_strLogTag
                                    , pJobData->result.uiErrorCode
                                    , *pJobData->result.strReason
                                    , *pJobData->GetCommandStringForLog()
                                );
            LogString ( strLine );
        }
    }
}
Ejemplo n.º 24
0
void CTaskBar::Taskbar_SetOverlay(HICON ahIcon)
{
	HRESULT hr = E_FAIL;
	// WinXP does not have mp_TaskBar3
	if (mp_TaskBar3)
	{
		hr = mp_TaskBar3 ? mp_TaskBar3->SetOverlayIcon(ghWnd, ahIcon, NULL) : E_FAIL;

		wchar_t szInfo[100];
		_wsprintf(szInfo, SKIPCOUNT(szInfo) L"mp_TaskBar3->SetOverlayIcon(%s) %s code=x%08X", ahIcon?L"ICON":L"NULL", SUCCEEDED(hr)?L"succeeded":L"failed", hr);
		LogString(szInfo);

		_ASSERTE(hr==S_OK);
	}
	else
	{
		LogString(L"Taskbar_SetOverlay skipped: !mp_TaskBar3");
	}
	UNREFERENCED_PARAMETER(hr);
}
Ejemplo n.º 25
0
float get_param_float (lua_State * L, int& index_from_end, const char * where)
{
	int index = lua_gettop(L) - index_from_end;
	_ASSERT(index >= 1);
	index_from_end++;
	if (!lua_isnumber(L, index)) {
		LogString(LOG_DEBUG, "_script_lua: %s().parameter(float) match failed\n", where);
		return 0;
	}
	return (float)lua_tonumber(L, index);
}
Ejemplo n.º 26
0
const char * get_param_string (lua_State * L, int& index_from_end, const char * where)
{
	int index = lua_gettop(L) - index_from_end;
	_ASSERT(index >= 1);
	index_from_end++;
	if (!lua_isstring(L, index)) {
		LogString(LOG_DEBUG, "script_lua: %s().parameter(string) match failed\n", where);
		return NULL;
	}
	return lua_tostring(L, index);
}
Ejemplo n.º 27
0
void
LogFormat(const char *fmt, ...)
{
  char buf[MAX_PATH];
  va_list ap;

  va_start(ap, fmt);
  vsprintf(buf, fmt, ap);
  va_end(ap);

  LogString(buf);
}
Ejemplo n.º 28
0
void
LogFormat(const TCHAR *Str, ...)
{
  TCHAR buf[MAX_PATH];
  va_list ap;

  va_start(ap, Str);
  _vstprintf(buf, Str, ap);
  va_end(ap);

  LogString(buf);
}
Ejemplo n.º 29
0
//-----------------------------------------------------------------------------
// Name: empty()
// Desc: 
//-----------------------------------------------------------------------------
SOCKET dreamSock_OpenUDPSocket(char *netInterface, int port)
{
	SOCKET sock;

	struct sockaddr_in address;

	sock = dreamSock_Socket(DREAMSOCK_UDP);

	if(sock == DREAMSOCK_INVALID_SOCKET)
		return sock;

	dreamSock_SetNonBlocking(sock, 1);
	dreamSock_SetBroadcasting(sock, 1);

	// If no address string provided, use any interface available
	if(!netInterface || !netInterface[0] || !strcmp(netInterface, "localhost"))
	{
		LogString("No net interface given, using any interface available");
		address.sin_addr.s_addr = htonl(INADDR_ANY);
	}
	else
	{
		LogString("Using net interface = '%s'", netInterface);
		dreamSock_StringToSockaddr(netInterface, (struct sockaddr *) &address);
	}

	// If no port number provided, use any port number available
	if(port == 0)
	{
		LogString("No port defined, picking one for you");
		address.sin_port = 0;
	}
	else
	{
		address.sin_port = htons((short) port);
	}

	address.sin_family = AF_INET;

	// Bind the address to the socket
	if(bind(sock, (struct sockaddr *) &address, sizeof(address)) == -1)
	{
#ifdef WIN32
		errno = WSAGetLastError();
		LogString("Error code %d: bind() : %s", errno, strerror(errno));
#else
		LogString("Error code %d: bind() : %s", errno, strerror(errno));
#endif

		return DREAMSOCK_INVALID_SOCKET;
	}

	// Get the port number (if we did not define one, we get the assigned port number here)
	socklen_t len = sizeof(address);
	getsockname(sock, (struct sockaddr *) &address, &len);

	LogString("Opening UDP port = %d", ntohs(address.sin_port));

	return sock;
}
Ejemplo n.º 30
0
//-----------------------------------------------------------------------------
// Name: empty()
// Desc:
//-----------------------------------------------------------------------------
void NetworkedGame::Disconnect(void)
{
	if(!init)
		return;

	LogString("PolyNetworkedGame::Disconnect");

	init = false;
	localClient = NULL;
	memset(&inputClient, 0, sizeof(clientData));

	networkClient->SendDisconnect();
}