forked from cafeberry/cafeberry
add kbm support
This commit is contained in:
@@ -76,8 +76,10 @@ DWORD dwProfileSettingsA[NUM_PROFILE_VALUES]=
|
||||
//-------------------------------------------------------------------------------------
|
||||
|
||||
BOOL g_bWidescreen = TRUE;
|
||||
int g_iScreenWidth = 1920;
|
||||
int g_iScreenHeight = 1080;
|
||||
|
||||
// PIEBOT: currently touchcontrol KBM only works on 720p
|
||||
int g_iScreenWidth = 1280;
|
||||
int g_iScreenHeight = 720;
|
||||
|
||||
void DefineActions(void)
|
||||
{
|
||||
@@ -358,6 +360,89 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
pMinecraft->soundEngine->playMusicTick();
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_KEYDOWN:
|
||||
case WM_SYSKEYDOWN:
|
||||
if (!(lParam & 0x40000000))
|
||||
{
|
||||
InputManager.OnKeyDown((int)wParam);
|
||||
}
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_KEYUP:
|
||||
case WM_SYSKEYUP:
|
||||
InputManager.OnKeyUp((int)wParam);
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_CHAR:
|
||||
InputManager.OnChar((wchar_t)wParam);
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_INPUT:
|
||||
{
|
||||
UINT dwSize = 0;
|
||||
GetRawInputData((HRAWINPUT)lParam, RID_INPUT, nullptr, &dwSize, sizeof(RAWINPUTHEADER));
|
||||
if (dwSize > 0 && dwSize <= 256)
|
||||
{
|
||||
BYTE rawBuffer[256];
|
||||
if (GetRawInputData((HRAWINPUT)lParam, RID_INPUT, rawBuffer, &dwSize, sizeof(RAWINPUTHEADER)) == dwSize)
|
||||
{
|
||||
const RAWINPUT* raw = (RAWINPUT*)rawBuffer;
|
||||
if (raw->header.dwType == RIM_TYPEMOUSE)
|
||||
{
|
||||
InputManager.OnRawMouseDelta(raw->data.mouse.lLastX, raw->data.mouse.lLastY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_MOUSEMOVE:
|
||||
InputManager.OnMouseMove(LOWORD(lParam), HIWORD(lParam));
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_LBUTTONDOWN:
|
||||
InputManager.OnLButtonDown(LOWORD(lParam), HIWORD(lParam));
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_LBUTTONUP:
|
||||
InputManager.OnLButtonUp(LOWORD(lParam), HIWORD(lParam));
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_RBUTTONDOWN:
|
||||
InputManager.OnRButtonDown(LOWORD(lParam), HIWORD(lParam));
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_RBUTTONUP:
|
||||
InputManager.OnRButtonUp(LOWORD(lParam), HIWORD(lParam));
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_MBUTTONDOWN:
|
||||
InputManager.OnMButtonDown(LOWORD(lParam), HIWORD(lParam));
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_MBUTTONUP:
|
||||
InputManager.OnMButtonUp(LOWORD(lParam), HIWORD(lParam));
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_MOUSEWHEEL:
|
||||
{
|
||||
POINT pt = { (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam) };
|
||||
ScreenToClient(hWnd, &pt);
|
||||
InputManager.OnMouseWheel((short)HIWORD(wParam), pt.x, pt.y);
|
||||
}
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
|
||||
case WM_KILLFOCUS:
|
||||
InputManager.SetWindowFocused(false);
|
||||
if (InputManager.IsMouseCaptured())
|
||||
InputManager.SetMouseCaptured(false);
|
||||
break;
|
||||
|
||||
case WM_SETFOCUS:
|
||||
InputManager.SetWindowFocused(true);
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
@@ -973,12 +1058,13 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
|
||||
MSG msg = {0};
|
||||
while( WM_QUIT != msg.message )
|
||||
{
|
||||
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
|
||||
while( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
|
||||
{
|
||||
if (msg.message == WM_QUIT) break;
|
||||
TranslateMessage( &msg );
|
||||
DispatchMessage( &msg );
|
||||
continue;
|
||||
}
|
||||
if (msg.message == WM_QUIT) break;
|
||||
RenderManager.StartFrame();
|
||||
#if 0
|
||||
if(pMinecraft->soundEngine->isStreamingWavebankReady() &&
|
||||
@@ -1027,6 +1113,10 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
|
||||
// g_NetworkManager.DoWork();
|
||||
PIXEndNamedEvent();
|
||||
|
||||
PIXBeginNamedEvent(0,"Input manager tick mouse");
|
||||
InputManager.TickKBM();
|
||||
PIXEndNamedEvent();
|
||||
|
||||
// LeaderboardManager::Instance()->Tick();
|
||||
// Render game graphics.
|
||||
if(app.GetGameStarted())
|
||||
|
||||
Reference in New Issue
Block a user