* Untie existing mouse logic from gyro
* A bit more mouse cleanup before I start building off it
* Rebase and last bit of cleanup
* Fix rebase mistake, don't apply invertFirstPerson to gyro or mouse input
* Remove the deprecated ImGui toast system
* Add Mouse Camera option in preparation for its use
* WIP, add mouse controls for the third-person camera
* Various helpText revisions
* Enable free camera on horseback
* Untie mouse camera and free camera options
Either being enabled now allows the underlying freecam logic to run
* Allow simultaneous C-stick and mouse input
* Combine mouse sensitivities for both aim and camera
* Add option for inverting mouse Y
* Refactor cursor visibility handling
* Tighten aim capture condition and constrain cursor to window region
* Tidying my trash
* Last bit of housekeeping so I'm satisfied
* Don't write code while sleep deprived
* Fix my sloppy merge and a few helpText updates
* Disable control stick aim when mouse aim is active
* Use same conditions for cursor grabbing as for capture
* Adds a new cheat that let you transform from the start of the game.
* Preserves transformation when passing loadzones similar to having shadow crystal
* standards compliance
* code compliance with decomp
* Speed Vector for Link and Epona added to the Player Info debug ImGUI window for debugging.
* Fix being unable to moonjump through water surface
* Revert "Speed Vector for Link and Epona added to the Player Info debug ImGUI window for debugging."
This reverts commit d87cad3b37.
* Add a *ton* of const and constexpr around the codebase.
This makes the codebase compile without strings being cast to non-const char*. I also went through and added constexpr where appropriate for tons of static data.
* Make process definitions const too
Might as well
- Set the matrix properly instead of multiplying based on the previous one
Fixes an issue where the snow would not fall when bonking if you had bloom disabled
* Invert Air/Swim Axes
Apparently this is a setting in TPHD, so for parity's sake I'll throw it in here
* Invert Air Controls
Thanks @Abzol for knowing exactly where this is
* Array size UB fixes
* Fix ShieldD
* Remove (almost) all unsafe strcpy calls
Bunch of macros. C arrays are easy enough and just need a different call. For various cases where a char* is passed around bare, I've made a TEXT_SPAN macro that can store a length too for bounds checking.
* Move crash handling in safe string operations to separate TU
* strcat safe version
* sprintf made safe too
* Fix compile
When howling suns song near actors that arent howl stones, an empty howl tab was shown.
This fixes the issue by duplicating a check for sun's song howling into the relevant code branch.
* Add interpolation frame rate cap
* wip: reworked framelimiter
Based on my testing this is a bit more stable in frametimes.
* wip: efficiency improvement + windows build fix
Significantly improve efficiency by using a hybrid approach.
* wip: UI changes
* wip: end frame AFTER limiting
* wip: remove unused include
* wip: minor ui code change
Makes it easier to remove/add presets
* Simplify Limiter UI
- Change enableFrameInterpolation to an enum with off/capped/unlimited values
- Simplify the UI to use 2 settings (unlock framerate + a max value entry)
* wip: slight limiter simplification
* wip: implement review suggestions
* wip: fix syntax error
* wip: revert enum order + replace old checks
* Fix compile error
---------
Co-authored-by: SailorSnoW <sailorsnow@pm.me>
Co-authored-by: Loïs <49660929+SailorSnoW@users.noreply.github.com>
Co-authored-by: SuperDude88 <82904174+SuperDude88@users.noreply.github.com>
Co-authored-by: Luke Street <luke@street.dev>
* custom action framework and first person custom action
* add bind for midna call
* custom binding for opening dusklight menu
* turbo speed button action
* text descriptions
* fix not stopping default GC controller menu combo
* more explanation text
* block bind actions when in the dusklight menu
Some people asked about this, I think I've come around to their position (follow-up to #870 ).
I checked what TPHD does and its invert setting only changes the sticks
* Add roll fast cheat
* Corrected case on cheat name
* Addressed PR feedback
* Fixed whitespace
* Renamed cheat to be more consistent with other options
- Inverts first person aiming on either axis, for both stick and gyro controls
Could be separated from gyro if desirable, but I think it makes the most sense to have it apply to both
the game saves a flag when the player hits king bulblin at least once, which makes subsequent loads (including king bulblin 2) have 1 less "health" as lap_num for the boar is set to 1 during creation, as it checks the flag.