From 88149c91c7eec57a607d5c45ae7aaa2a4f7d2d2b Mon Sep 17 00:00:00 2001 From: Zarithya Date: Sat, 29 Nov 2025 00:02:54 -0800 Subject: [PATCH] Offset Nunchuk cal_g by cal_zero --- wiiuse/nunchuk.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wiiuse/nunchuk.c b/wiiuse/nunchuk.c index 950c0eeb5..1751ea4ce 100644 --- a/wiiuse/nunchuk.c +++ b/wiiuse/nunchuk.c @@ -55,9 +55,11 @@ int nunchuk_handshake(struct wiimote_t *wm,struct nunchuk_t *nc,ubyte *data,uwor nc->accel_calib.cal_zero.x = (data[offset + 0]<<2)|((data[offset + 3]>>4)&3); nc->accel_calib.cal_zero.y = (data[offset + 1]<<2)|((data[offset + 3]>>2)&3); nc->accel_calib.cal_zero.z = (data[offset + 2]<<2)|(data[offset + 3]&3); - nc->accel_calib.cal_g.x = (data[offset + 4]<<2)|((data[offset + 7]>>4)&3); - nc->accel_calib.cal_g.y = (data[offset + 5]<<2)|((data[offset + 7]>>2)&3); - nc->accel_calib.cal_g.z = (data[offset + 6]<<2)|(data[offset + 7]&3); + + nc->accel_calib.cal_g.x = (((data[offset + 4]<<2)|((data[offset + 7]>>4)&3)) - nc->accel_calib.cal_zero.x); + nc->accel_calib.cal_g.y = (((data[offset + 5]<<2)|((data[offset + 7]>>2)&3)) - nc->accel_calib.cal_zero.y); + nc->accel_calib.cal_g.z = (((data[offset + 6]<<2)|(data[offset + 7]&3)) - nc->accel_calib.cal_zero.z); + nc->js.max.x = data[offset + 8]; nc->js.min.x = data[offset + 9]; nc->js.center.x = data[offset + 10];