(WINRAW) Cleanups

This commit is contained in:
sonninnos 2021-08-07 04:31:32 +03:00
parent 079070daf7
commit 6170fc45ae

View File

@ -363,9 +363,9 @@ static void winraw_update_mouse_state(winraw_input_t *wr,
if (!EqualRect(&wr->active_rect, &wr->prev_rect)) if (!EqualRect(&wr->active_rect, &wr->prev_rect))
{ {
if (wr->rect_delay < 10 ) if (wr->rect_delay < 10)
{ {
RARCH_LOG("[CRT][WINRAW]: Resize RECT delay for absolute co-ords - %d \n", wr->rect_delay); RARCH_DBG("[CRT][WINRAW]: Resize RECT delay for absolute co-ords - %d \n", wr->rect_delay);
winraw_init_mouse_xy_mapping(wr); /* Triggering fewer times seems to fix the issue. Forcing resize while resolution is changing */ winraw_init_mouse_xy_mapping(wr); /* Triggering fewer times seems to fix the issue. Forcing resize while resolution is changing */
wr->rect_delay ++; wr->rect_delay ++;
} }
@ -373,7 +373,7 @@ static void winraw_update_mouse_state(winraw_input_t *wr,
{ {
int bottom = wr->prev_rect.bottom; int bottom = wr->prev_rect.bottom;
int right = wr->prev_rect.right; int right = wr->prev_rect.right;
RARCH_LOG("[CRT][WINRAW]: Resizing RECT for absolute coordinates to match new resolution - %dx%d\n", right ,bottom); RARCH_DBG("[CRT][WINRAW]: Resizing RECT for absolute coordinates to match new resolution - %dx%d\n", right ,bottom);
wr->active_rect = wr->prev_rect; wr->active_rect = wr->prev_rect;
winraw_init_mouse_xy_mapping(wr); winraw_init_mouse_xy_mapping(wr);
wr->rect_delay = 0; wr->rect_delay = 0;
@ -399,19 +399,10 @@ static void winraw_update_mouse_state(winraw_input_t *wr,
InterlockedExchangeAdd(&mouse->dlt_x, state->lLastX); InterlockedExchangeAdd(&mouse->dlt_x, state->lLastX);
InterlockedExchangeAdd(&mouse->dlt_y, state->lLastY); InterlockedExchangeAdd(&mouse->dlt_y, state->lLastY);
#ifdef DEBUG
if (!GetCursorPos(&crs_pos)) if (!GetCursorPos(&crs_pos))
{ RARCH_DBG("[WINRAW]: GetCursorPos failed with error %lu.\n", GetLastError());
RARCH_WARN("[WINRAW]: GetCursorPos failed with error %lu.\n", GetLastError());
}
else if (!ScreenToClient((HWND)video_driver_window_get(), &crs_pos)) else if (!ScreenToClient((HWND)video_driver_window_get(), &crs_pos))
{ RARCH_DBG("[WINRAW]: ScreenToClient failed with error %lu.\n", GetLastError());
RARCH_WARN("[WINRAW]: ScreenToClient failed with error %lu.\n", GetLastError());
}
#else
if (!GetCursorPos(&crs_pos)) { }
else if (!ScreenToClient((HWND)video_driver_window_get(), &crs_pos)) { }
#endif
else else
{ {
mouse->x = crs_pos.x; mouse->x = crs_pos.x;
@ -894,7 +885,7 @@ static int16_t winraw_input_state(
} }
break; break;
case RETRO_DEVICE_LIGHTGUN: case RETRO_DEVICE_LIGHTGUN:
switch ( id ) switch (id)
{ {
/*aiming*/ /*aiming*/
case RETRO_DEVICE_ID_LIGHTGUN_SCREEN_X: case RETRO_DEVICE_ID_LIGHTGUN_SCREEN_X:
@ -903,7 +894,7 @@ static int16_t winraw_input_state(
if (mouse) if (mouse)
return winraw_lightgun_aiming_state(wr, mouse, port, id); return winraw_lightgun_aiming_state(wr, mouse, port, id);
break; break;
/*buttons*/ /*buttons*/
case RETRO_DEVICE_ID_LIGHTGUN_TRIGGER: case RETRO_DEVICE_ID_LIGHTGUN_TRIGGER:
case RETRO_DEVICE_ID_LIGHTGUN_RELOAD: case RETRO_DEVICE_ID_LIGHTGUN_RELOAD:
case RETRO_DEVICE_ID_LIGHTGUN_AUX_A: case RETRO_DEVICE_ID_LIGHTGUN_AUX_A:
@ -939,7 +930,7 @@ static int16_t winraw_input_state(
joykey, joykey,
joyaxis); joyaxis);
} }
/*deprecated*/ /*deprecated*/
case RETRO_DEVICE_ID_LIGHTGUN_X: case RETRO_DEVICE_ID_LIGHTGUN_X:
if (mouse) if (mouse)
return mouse->dlt_x; return mouse->dlt_x;
@ -956,13 +947,10 @@ static int16_t winraw_input_state(
} }
#if !defined(_XBOX) #if !defined(_XBOX)
bool winraw_handle_message(UINT message, bool winraw_handle_message(UINT msg,
WPARAM wParam, LPARAM lParam) WPARAM wpar, LPARAM lpar)
{ {
winraw_input_t *wr = (winraw_input_t*)(LONG_PTR) switch (msg)
GetWindowLongPtr(main_window.hwnd, GWLP_USERDATA);
switch (message)
{ {
case WM_SETFOCUS: case WM_SETFOCUS:
winraw_focus = true; winraw_focus = true;
@ -973,12 +961,12 @@ bool winraw_handle_message(UINT message,
case WM_DEVICECHANGE: case WM_DEVICECHANGE:
#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0500 /* 2K */ #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0500 /* 2K */
if (wParam == DBT_DEVICEARRIVAL || if (wpar == DBT_DEVICEARRIVAL ||
wParam == DBT_DEVICEREMOVECOMPLETE) wpar == DBT_DEVICEREMOVECOMPLETE)
{ {
PDEV_BROADCAST_HDR pHdr = (PDEV_BROADCAST_HDR)lParam; PDEV_BROADCAST_HDR pHdr = (PDEV_BROADCAST_HDR)lpar;
if (pHdr->dbch_devicetype == DBT_DEVTYP_DEVICEINTERFACE) if (pHdr->dbch_devicetype == DBT_DEVTYP_DEVICEINTERFACE)
joypad_driver_reinit(wr, NULL); joypad_driver_reinit(NULL, NULL);
} }
#endif #endif
break; break;