From 2ecb5728926724b6b52b2b5ccce5490a6f1424b8 Mon Sep 17 00:00:00 2001 From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com> Date: Wed, 17 Aug 2022 01:57:40 -0700 Subject: [PATCH] fix nyma light guns, resolves #3359 --- .../Waterbox/NymaCore.Controller.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/BizHawk.Emulation.Cores/Waterbox/NymaCore.Controller.cs b/src/BizHawk.Emulation.Cores/Waterbox/NymaCore.Controller.cs index 0805483d75..367ca354a3 100644 --- a/src/BizHawk.Emulation.Cores/Waterbox/NymaCore.Controller.cs +++ b/src/BizHawk.Emulation.Cores/Waterbox/NymaCore.Controller.cs @@ -210,7 +210,9 @@ namespace BizHawk.Emulation.Cores.Waterbox case InputType.PointerX: { // I think the core expects to be sent some sort of 16 bit integer, but haven't investigated much - ret.AddAxis(name, systemInfo.PointerOffsetX.RangeTo(systemInfo.PointerScaleX), systemInfo.PointerOffsetX); + var minX = systemInfo.PointerOffsetX; + var maxX = systemInfo.PointerOffsetX + systemInfo.PointerScaleX; + ret.AddAxis(name, minX.RangeTo(maxX), (minX + maxX) / 2); _thunks.Add((c, b) => { var val = c.AxisValue(name); @@ -222,7 +224,9 @@ namespace BizHawk.Emulation.Cores.Waterbox case InputType.PointerY: { // I think the core expects to be sent some sort of 16 bit integer, but haven't investigated much - ret.AddAxis(name, systemInfo.PointerOffsetY.RangeTo(systemInfo.PointerScaleY), systemInfo.PointerOffsetY); + var minY = systemInfo.PointerOffsetY; + var maxY = systemInfo.PointerOffsetY + systemInfo.PointerScaleY; + ret.AddAxis(name, minY.RangeTo(maxY), (minY + maxY) / 2); _thunks.Add((c, b) => { var val = c.AxisValue(name);