Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
189
GameTools/ZALLA3D BASECLASS/WinInput.cpp
Normal file
189
GameTools/ZALLA3D BASECLASS/WinInput.cpp
Normal file
@@ -0,0 +1,189 @@
|
||||
// WinInput.cpp: implementation of the CWinInput class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "BaseGraphicsLayer.h"
|
||||
#include "WinInput.h"
|
||||
|
||||
CWinInput g_DeviceInput;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
CWinInput::CWinInput()
|
||||
{
|
||||
m_ptPreMousePos.x = m_ptMousePos.x = 0;
|
||||
m_ptPreMousePos.y = m_ptMousePos.y = 0;
|
||||
|
||||
Init();
|
||||
|
||||
m_bFocus = TRUE;
|
||||
m_hWnd = 0;
|
||||
m_hEditWnd = 0;
|
||||
|
||||
m_lCursorCount = 0;
|
||||
}
|
||||
|
||||
CWinInput::~CWinInput()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CWinInput::UpdateInfo()
|
||||
{
|
||||
m_ptPreMousePos = m_ptMousePos;
|
||||
GetCursorPos(&m_ptMousePos);
|
||||
|
||||
if(m_hWnd && m_hEditWnd && GetFocus() != m_hWnd && GetFocus() != m_hEditWnd)
|
||||
{
|
||||
Init();
|
||||
m_bFocus = FALSE;
|
||||
return;
|
||||
}
|
||||
|
||||
if(g_DeviceInput.InRect(0, 0, BaseGraphicsLayer::m_lScreenSx, BaseGraphicsLayer::m_lScreenSy))
|
||||
{
|
||||
m_ptMovePos.x = m_ptPreMousePos.x - m_ptMousePos.x;
|
||||
m_ptMovePos.y = m_ptPreMousePos.y - m_ptMousePos.y;
|
||||
|
||||
memcpy(m_aryKeyOldState, m_aryKeyState, 256);
|
||||
ZeroMemory(m_aryKeyState, 256);
|
||||
for(int i = 0; i < 256; i++)
|
||||
{
|
||||
if(HIBYTE(GetAsyncKeyState(i))) m_aryKeyState[i] = (char)0x80;
|
||||
}
|
||||
|
||||
m_bLButtonOldState = m_bLButtonState;
|
||||
if(m_aryKeyState[VK_LBUTTON]) m_bLButtonState = TRUE; else m_bLButtonState = FALSE;
|
||||
|
||||
m_bLButtonDBClick = FALSE;
|
||||
if(m_bLButtonDBState)
|
||||
{
|
||||
m_bLButtonDBClick = TRUE;
|
||||
}
|
||||
m_bLButtonDBState = FALSE;
|
||||
|
||||
m_bRButtonOldState = m_bRButtonState;
|
||||
if(m_aryKeyState[VK_RBUTTON])
|
||||
m_bRButtonState = TRUE;
|
||||
else
|
||||
m_bRButtonState = FALSE;
|
||||
|
||||
m_bRButtonDBClick = FALSE;
|
||||
if(m_bRButtonDBState)
|
||||
{
|
||||
m_bRButtonDBClick = TRUE;
|
||||
}
|
||||
m_bRButtonDBState = FALSE;
|
||||
|
||||
m_bMButtonOldState = m_bMButtonState;
|
||||
if(m_aryKeyState[VK_MBUTTON]) m_bMButtonState = TRUE; else m_bMButtonState = FALSE;
|
||||
|
||||
m_lMMoveZ = m_lMStoreMoveZ;
|
||||
m_lMStoreMoveZ = 0;
|
||||
/* if(GetIsRightMousePress())
|
||||
{
|
||||
POINT ptMousePos;
|
||||
GetCursorPos(&ptMousePos);
|
||||
|
||||
m_lRStoreMoveX = ptMousePos.x - 400;
|
||||
m_lRStoreMoveY = ptMousePos.y - 300;
|
||||
|
||||
SetCursorPos(400, 300);
|
||||
}
|
||||
|
||||
m_lRMoveX = m_lRStoreMoveX;
|
||||
m_lRMoveY = m_lRStoreMoveY;
|
||||
m_lRMoveZ = m_lRStoreMoveZ;
|
||||
|
||||
m_lRStoreMoveX = m_lRStoreMoveY = m_lRStoreMoveZ = 0;
|
||||
|
||||
if(GetIsMiddleMousePress())
|
||||
{
|
||||
POINT ptMousePos;
|
||||
GetCursorPos(&ptMousePos);
|
||||
|
||||
m_lMStoreMoveX = ptMousePos.x - 400;
|
||||
m_lMStoreMoveY = ptMousePos.y - 300;
|
||||
|
||||
SetCursorPos(400, 300);
|
||||
}
|
||||
|
||||
m_lMMoveX = m_lMStoreMoveX;
|
||||
m_lMMoveY = m_lMStoreMoveY;
|
||||
m_lMMoveZ = m_lMStoreMoveZ;
|
||||
|
||||
m_lMStoreMoveX = m_lMStoreMoveY = m_lMStoreMoveZ = 0;*/
|
||||
|
||||
if(m_bFocus == FALSE)
|
||||
{
|
||||
//::SetFocus(*m_hWnd);
|
||||
m_bFocus = TRUE;
|
||||
}
|
||||
} else
|
||||
{
|
||||
Init();
|
||||
m_bFocus = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void CWinInput::GetMouseState(unsigned int uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case 0x020A: // WM_MOUSEWHEEL
|
||||
{
|
||||
m_lMStoreMoveZ = ((short)HIWORD(wParam)) / 120;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_LBUTTONDBLCLK:
|
||||
m_bLButtonDBState = TRUE;
|
||||
break;
|
||||
|
||||
case WM_RBUTTONDBLCLK:
|
||||
m_bRButtonDBState = TRUE;
|
||||
break;
|
||||
/* case WM_RBUTTONDOWN:
|
||||
m_lMStoreX = LOWORD(lParam);
|
||||
m_lMStoreY = HIWORD(lParam);
|
||||
SetCursorPos(400, 300);
|
||||
ShowCursor(FALSE);
|
||||
|
||||
case WM_RBUTTONUP:
|
||||
// SetCursorPos(m_lMStoreX, m_lMStoreY);
|
||||
// ShowCursor(TRUE);
|
||||
break;*/
|
||||
|
||||
case WM_MBUTTONDBLCLK:
|
||||
m_bMButtonDBState = TRUE;
|
||||
break;
|
||||
/* case WM_MBUTTONDOWN:
|
||||
m_lMStoreX = LOWORD(lParam);
|
||||
m_lMStoreY = HIWORD(lParam);
|
||||
SetCursorPos(400, 300);
|
||||
ShowCursor(FALSE);
|
||||
|
||||
case WM_MBUTTONUP:
|
||||
// SetCursorPos(m_lMStoreX, m_lMStoreY);
|
||||
// ShowCursor(TRUE);
|
||||
break;*/
|
||||
}
|
||||
}
|
||||
|
||||
void CWinInput::Init()
|
||||
{
|
||||
m_bLButtonOldState = m_bLButtonState = m_bLButtonDBState = FALSE;
|
||||
m_bRButtonOldState = m_bRButtonState = m_bRButtonDBState = FALSE;
|
||||
m_bMButtonOldState = m_bMButtonState = m_bMButtonDBState = FALSE;
|
||||
m_bLButtonDBClick = m_bRButtonDBClick = m_bMButtonDBClick = FALSE;
|
||||
|
||||
m_ptMovePos.x = 0;
|
||||
m_ptMovePos.y = 0;
|
||||
|
||||
m_lRStoreMoveX = m_lRStoreMoveY = m_lRStoreMoveZ = 0;
|
||||
m_lMStoreMoveX = m_lMStoreMoveY = m_lMStoreMoveZ = 0;
|
||||
|
||||
ShowCursor(TRUE);
|
||||
}
|
||||
Reference in New Issue
Block a user