mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 19:19:58 -04:00
Move the sprint button's stance host off the water ripples' patch page slot, and fix how presses and timings reach it.
The stance site called page +0xf50, which the 0.10.0 line gives the water ripples above 60 fps: the second registration ends every 1.1.1 start with "registered twice", the sprint button off included. It calls +0xf30 now, and the comments say which slots the other sets hold. The set's switch is NX2NAVI_SPRINT_BUTTON_PATCH, not a name another open request uses for a set of its own. The stand-still timings count 60 Hz frames (frame_step_frames), so a toggled sprint no longer ends on a short stop at high frame rates. A press is decided at its start for its whole length: kept from the game and the sprint's when it begins in gameplay (B: while Link moves), else the game's alone, so a held B is not handed to the game half way and a B that closes the pause menu starts no sprint. A sprint switched off with the button setting does not come back by itself, Link's state is read only where the memory is readable, and the row, nx2navi.ini.example and the controls page say that B is the jump under the game's Swap Jump Controls and name the button without assuming the layout. tests\sprint_check.py covers the press latch, the menu press, 240 fps and the switch-off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -151,7 +151,7 @@ The log says which it is when a gamepad is taken: `input: HD rumble available fo
|
||||
|
||||
## Sprint button
|
||||
|
||||
On 1.1.1, `NX2NAVI_SPRINT_BUTTON` (`sprint_button`, the *Sprint button* row on the Controls tab, live) gives a button that makes Link sprint without rolling first: `l3` (the left stick's click, which has no other use), `b` (the game's B button, the bottom face button of the Nintendo layout), or `off` (the default). `NX2NAVI_SPRINT_MODE` (`sprint_mode`, the *Sprint mode* row) is `toggle` (the default: a press starts the sprint, the next press ends it) or `hold` (Link sprints while the button is held). Link sprints while his input flags hold the dash input; the set `sprint` of `recomp/patches-v111.txt` calls `runtime/sprint.c` after Link's movement update and the stance update that follows load those flags, and the host functions add the dash input while the sprint is on, so the game's own sprint runs with its speed, animation and camera. A toggled sprint goes on through jumps, slides and landings and ends when Link's state is anything else (an attack, a roll, an item, swimming, climbing, a cutscene), when ZL is held, or after four frames standing still (ninety after a press made while standing, before Link has moved). During play (Link's update ran within the last eight controller polls) the button is kept from the game, so it does not also fire its own action; B is kept only while Link moves, so it puts the weapon away as usual otherwise. In the settings menu, a menu of the game or a cutscene every button keeps its role. The set runs only while a button is chosen, so with the sprint button off its sites cost nothing. `NX2NAVI_SPRINT_PATCH=0` (or a mod whose code patches the same sites) keeps the patch set off and hides the rows.
|
||||
On 1.1.1, `NX2NAVI_SPRINT_BUTTON` (`sprint_button`, the *Sprint button* row on the Controls tab, live) gives a button that makes Link sprint without rolling first: `l3` (the left stick's click, which has no other use), `b` (the game's B button, the bottom face button of the Nintendo layout), or `off` (the default). `NX2NAVI_SPRINT_MODE` (`sprint_mode`, the *Sprint mode* row) is `toggle` (the default: a press starts the sprint, the next press ends it) or `hold` (Link sprints while the button is held). Link sprints while his input flags hold the dash input; the set `sprint` of `recomp/patches-v111.txt` calls `runtime/sprint.c` after Link's movement update and the stance update that follows load those flags, and the host functions add the dash input while the sprint is on, so the game's own sprint runs with its speed, animation and camera. A toggled sprint goes on through jumps, slides and landings and ends when Link's state is anything else (an attack, a roll, an item, swimming, climbing, a cutscene), when ZL is held, or after four 60 Hz frames standing still (ninety after a press made while standing, before Link has moved), at any frame rate. During play (Link's update ran within the last eight controller polls) the button is kept from the game, so it does not also fire its own action; a B press is kept only when it begins while Link moves, and then until it is released, so B puts the weapon away as usual otherwise and the game never gets half a press. In the settings menu, a menu of the game or a cutscene every button keeps its role, and a press made there starts no sprint (B closes the pause menu). With the game's Swap Jump Controls on, B is the jump, which a `b` sprint button keeps from the game while Link moves: use `l3` then. The set's host functions are on the patch page at +0xf40 and +0xf30. The set runs only while a button is chosen, so with the sprint button off its sites cost nothing. `NX2NAVI_SPRINT_BUTTON_PATCH=0` (or a mod whose code patches the same sites) keeps the patch set off and hides the rows.
|
||||
|
||||
## Nintendo Switch 2 controllers
|
||||
|
||||
|
||||
Reference in New Issue
Block a user