From 8c7a277c9e89ab437389019e903c8ca4e2328730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Hamil?= Date: Sat, 14 Feb 2026 23:06:48 +0300 Subject: [PATCH] Fix GunCon3: Change type casting from int16_t to s16 for gun coordinates --- rpcs3/Emu/Io/GunCon3.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/Io/GunCon3.cpp b/rpcs3/Emu/Io/GunCon3.cpp index 9f45fa99b0..2ed832ae45 100644 --- a/rpcs3/Emu/Io/GunCon3.cpp +++ b/rpcs3/Emu/Io/GunCon3.cpp @@ -265,8 +265,8 @@ bool usb_device_guncon3::handle_wiimote(GunCon3_data& gc) const s32 x_res = SHRT_MAX - (raw_x * USHRT_MAX / 1023); const s32 y_res = SHRT_MAX - (raw_y * USHRT_MAX / 767); - gc.gun_x = static_cast(std::clamp(x_res, SHRT_MIN, SHRT_MAX)); - gc.gun_y = static_cast(std::clamp(y_res, SHRT_MIN, SHRT_MAX)); + gc.gun_x = static_cast(std::clamp(x_res, SHRT_MIN, SHRT_MAX)); + gc.gun_y = static_cast(std::clamp(y_res, SHRT_MIN, SHRT_MAX)); if (g_cfg.io.show_move_cursor) { @@ -279,7 +279,7 @@ bool usb_device_guncon3::handle_wiimote(GunCon3_data& gc) { const s32 dx = static_cast(ws.ir[0].x) - ws.ir[1].x; const s32 dy = static_cast(ws.ir[0].y) - ws.ir[1].y; - gc.gun_z = static_cast(std::sqrt(dx * dx + dy * dy)); + gc.gun_z = static_cast(std::sqrt(dx * dx + dy * dy)); } }