forked from Ports/goldeneye-pc-port
D330 (#103): mouse no longer drives the stick inside the in-level watch
Auto-Aim / Look Ahead "wouldn't stay on": in the watch, current_menu is still RUN_STAGE and hipDirectCompute declines on its !watch gate, so mouse motion fell through to the legacy stick fallback (~3 counts/px/poll). A ~15 px flick crossed the watch's +/-0x2E threshold, which on a selected option picks OFF/ON (game_option_toggle_input) and otherwise flips pages. The mouse now contributes nothing while the watch is open or paused; keyboard and pad drive the watch as before. Save/load round trip ruled out. Build clean; bunker1 golden 3/3. Mouse feel-check owed (needs real motion).
This commit is contained in:
1 parent
f89311e9e3
commit
c1b5b6e519
4 files changed
+45
No files matched your search
@@ -564,6 +564,14 @@ through a converter or a runtime bswap fixup reads scrambled.
|
||||
- Controller state has one source: `port/src/input.c`. `libultra.c`'s SI
|
||||
section marshals `inputComputePad()` into `g_contPad[]`; it is driven by
|
||||
`osContStartReadData` (per logic tick), no separate `video.c` frame hook.
|
||||
- **The in-level watch/pause is not a "menu" to `input.c`** (`current_menu`
|
||||
stays `RUN_STAGE`), but it reads the stick as **discrete** input: ±0x2E
|
||||
on X picks an option value or flips a page, and Y scrolls rows. Any path
|
||||
that turns a continuous device (the mouse) into stick deflection must be
|
||||
gated off there (`!outside_watch_menu || pause_state`), or small hand
|
||||
motion becomes phantom menu choices. D330/#103: mouse → legacy stick
|
||||
fallback silently reset Auto-Aim/Look-Ahead to OFF. The direct-write
|
||||
look paths already gate on this; the fallbacks must too.
|
||||
|
||||
## D. N64 hardware idioms fast3d does not emulate
|
||||
|
||||
|
||||
Reference in new issue
Block a user