Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
df037e9
Gyro Aiming support
AL2009man Aug 11, 2025
b5b68b4
Merge branch 'port' into PerfectGyroDarkZero
AL2009man Aug 24, 2025
7394035
remove WindowFocus
AL2009man Aug 29, 2025
f460d81
Merge branch 'PerfectGyroDarkZero' of https://github.com/AL2009man/pe…
AL2009man Aug 29, 2025
ee32110
Fixed regression on Gyro AutoCalibration, changed gyro processing order
AL2009man Oct 2, 2025
8b68312
improved Gyro DeltaTime, changed Gyro Manual Calibration button to Ba…
AL2009man Oct 12, 2025
3bc0438
remove commit leftover
AL2009man Oct 12, 2025
25f95d0
upgraded Motion Sensor Noise threshold to better handle Accel detection
AL2009man Oct 18, 2025
df70947
Tweaked Gyro Autocalibration Confidence and Stillness Threshold
AL2009man Oct 21, 2025
683f428
fixed regression with Gyro Auto-Calibration offset saves, added a for…
AL2009man Oct 24, 2025
9d00389
Strengthed Gyro AutoCalibration system, once and for all.
AL2009man Oct 25, 2025
3b412aa
fixed regression with Menu-based Gyro Autocalibration while holding c…
AL2009man Oct 29, 2025
8c1048b
added minor comment + GitHub Action restart
AL2009man Oct 29, 2025
73dd435
fix regression on Gyro AutoCalib MENU_ONLY timer being 2 second coold…
AL2009man Nov 16, 2025
8d70759
fixed typo on Menu Binding names internally
AL2009man Nov 16, 2025
2b0b28a
Merge branch 'port' into PerfectGyroDarkZero
AL2009man Dec 5, 2025
383fe02
fixed merge ordering
AL2009man Dec 5, 2025
800cb45
move "Reset Camera/Crosshair" action to PR #682
AL2009man Dec 8, 2025
6cfa3e0
Simplified Gyro Speed X/Y Sensitivity slider
AL2009man Dec 20, 2025
e6b7f24
Reworked Natural Sensitivity Scale setup to use game camera angles
AL2009man Jan 23, 2026
5031855
moved Motion Sensor Data to `SDL_CONTROLLERSENSORUPDATE`
AL2009man Jan 25, 2026
8ed4062
Menu-based Gyro AutoCalibration is now done per-Player instead of Global
AL2009man Jan 25, 2026
3dd5d21
revised MotionSensor Noise Filter
AL2009man Feb 1, 2026
14066c2
fixed Mouse Aim Lock when using Gyro Input, Remove Gyro clamp
AL2009man Feb 18, 2026
5ac7dd7
Merge branch 'fgsfdsfgs:port' into PerfectGyroDarkZero
AL2009man Mar 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ There are minor graphics- and gameplay-related issues, and possibly occasional c
**The following extra features are implemented:**
* mouselook;
* dual analog controller support;
* gyro aiming support
* compatible controllers only
* widescreen resolution support;
* configurable field of view;
* 60 FPS support, including fixes for some framerate-related issues;
Expand Down Expand Up @@ -88,8 +90,23 @@ N64 pad buttons X and Y (or `X_BUTTON`, `Y_BUTTON` in the code) refer to the res

Support for one controller, two-stick configurations are enabled for 1.2.

Motion Sensor Aiming (also known as Gyro Aiming) is enabled by default while Aiming (`Crosshair only` via `Gyro Settings`).

Note that the mouse only controls player 1.

> [!NOTE]
> Gyro Aiming is only supported for controllers that has Motion Sensor functionality. (**DualShock 4**, **DualSense**, **Nintendo Switch family of controllers**)
>
> Gyro Aiming will not work if using a Input Remapper lacks controller-specific emulation (example: Steam Input), or using a controller that doesn't support Motion Sensors such as Xbox Wireless Controller.

> [!TIP]
> Gyro Drift may become a occurence during regular gameplay, but far more frequent when using a first-party Nintendo Switch controllers. To remedy this issue: `Gyro Calibration` (under `Player [Number] Controller Options`'s `Gyro Settings`) offers various modes for you to choose from, from `While In Menus` (default), `While Stationary` to `Always`. Depending on what Calibration mode you choose from: just place the controller on the flat surface, and it will automatically calibrate gyro after a few seconds.
>
> If the Autocalibration fails or you don't want the gyro to auto-calibrate during regular gameplay: you have the ability to manually calibrate the gyro. You can head over to "`Gyro Settings...`" menu, either select `Initiate Gyro Calibration...`, pressing the `VIEW` button on your Xbox pad or `F10` key (Player 1 only) at anytime during both gameplay and menus, (it also complements Gyro Autocalibration process!)
>
> "`Gyro Calibration (Manual)`" can be rebinded within `pd.ini` or Extended Options' `Key Binding` menu.
>

Controls can be rebound in `pd.ini`. Default control scheme is as follows:

| Action | Keyboard and mouse | Xbox pad | N64 pad |
Expand All @@ -108,6 +125,7 @@ Controls can be rebound in `pd.ini`. Default control scheme is as follows:
| Alt fire mode | F | RB | L Trigger |
| Alt-fire oneshot | `F + LMB` or `E + LMB` | `A + RT` or `RB + RT` | `A + Z` or `L + Z` |
| Quick-detonate | `E + Q` or `E + R` | `A + B` or `A + X` | `A + D-Left`or `A + X` |
| Gyro Calibration (Manual) | F10 | VIEW | N/A |

## Building

Expand Down Expand Up @@ -208,6 +226,9 @@ It might be possible to build and run the game on platforms that are not specifi
* [Ship of Harkinian team](https://github.com/Kenix3/libultraship/tree/main/src/fast), Emill and MaikelChan for the libultraship version of fast3d that this port uses;
* lieff for [minimp3](https://github.com/lieff/minimp3);
* Mouse Injector and 1964GEPD authors for some of the 60FPS- and mouselook-related fixes;
* [n64emu-SDL2GyroInjector](https://github.com/TauAkiou/n64emu-SDL2GyroInjector) author for inspirations on Gyro Aiming feature sets.
* [GamepadMotionHelpers](https://github.com/JibbSmart/GamepadMotionHelpers) author for motion sensor-related tools like sensor fusion, gyro space and gyro calibration.
* additionally: Jibb Smart for some of the Gyro resources via [GyroWiki](http://gyrowiki.jibbsmart.com/).
* Raf for the 64-bit port;
* NicNamSam for the icon;
* everyone who has submitted pull requests and issues to this repository and tested the port;
Expand Down
Loading
Loading