mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 19:19:58 -04:00
Besides the per-frame update that the set ostep patches, the graphics system's update (main+0x3b4ea90) divides 60.0 by the engine's nominal rate and stores the result as a global (main+0x4d41fc8): the 60 Hz frames of an update. Its one reader is the buttons' hold-to-repeat timer (main+0x3483680), which adds it to each held button's time and repeats the button once that passes the button's delay and period. Above 60 fps the global stayed 1.0 a rendered frame, so a held button repeated fps / 60 times too often. Two more ostep sites load frames per update from the patch page there, so the two steps are the same number. NX2NAVI_SPEED_PROBE=1 adds the global to the fps line. Checked: the generator's check passes for all 34 main sites against the 1.1.1 module, and the generated C differs from before only in the patched function. Two 60 s runs of an adult save at about 135 fps, uncapped: before, the global step read 1.000 frames while the game's step was 0.42-0.50; after, it read 0.43-0.46, inside the game's step range; frame rate unchanged (132-138 fps in both). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>