mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-24 00:02:45 +02:00
Holding RMB (or the Aim bind, default Left Shift) in a stage now releases the click-to-lock grab and drives the aim stick from a closed position loop on the live camera (vv_theta/vv_verta read via player.h): the crosshair chases the point under the free OS cursor and HOLDS it -- stationary cursor = stationary aim, even while walking. Release re-grabs with no snap. - Target derived from cursor NDC against the real render viewport rect (viGetView*), portScaleFovY so scope zooms compose for free; re-anchors on every cursor move or FOV change. - Coast prediction (game's 0.05*mult/tick speed decay) prevents overshoot; first-order dithering maps continuous demand onto the game's 10 discrete stick levels for precision work (shoot-the-lock etc.). - LMB fires while the cursor is out; ESC still releases capture; menus and MouseCaptureMode=0 unchanged. New knob: Input.AimAbsolute (default 1). Also: -I include shadows <math.h> with the game's constants-only header, which left fabs/pow/tan in input.c on implicit declarations -- new port/include/port_math.h pulls the real system math.h via #include_next.