mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-01 03:57:17 +01:00
Zuma is a pretty bad port from PC and has really weird aiming math, clearly partially derived from the mouse aiming code. - Each stick axis got its own dead zone (7864 of 32767), so the angle bent towards the nearest axis, and at half deflection anything within about 15 degrees of an axis was on it. - The aim puts a cursor 450 pixels out along the stick and points the frog at it, but only moves a cursor coordinate when that axis is non-zero. With an axis in its dead zone, or the stick straight along the other one, the frog pointed at wherever the cursor had last been: full right after a diagonal aimed 27 degrees off. - The axes are read as 127 minus the PSP's value, so a stick at rest reads -1, which the old dead zone hid. Two hooks: one gives the left stick a circular dead zone of the same size, centred on 128, once the game has stored its floats; the other moves a cursor coordinate that wasn't updated to the frog's own. Reading the angle the game sets for 24 directions at full, 50% and 45% deflection, it now matches the stick's to within 0.6 degrees, the stick's 8-bit steps. Before, it was off by up to 27 degrees. The aim still ignores the stick below about 43% of its travel: the game's own minimum length on top of the dead zone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>