* 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
* 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
Adds an Output Resampling option to the Video tab to allow choosing between the old Bilinear sampler and a new Area sampler. Area sampling produces a much cleaner, softer image when downscaling, and a significantly sharper image when upscaling. This can also serve as a halfway decent anti-aliasing substitute until we have a more proper implementation.
* 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>
* added .zed/ to gitignore (editor configs)
* remember window position upon closing
* Save window location on SDL_EVENT_WINDOW_MOVED or SDL_EVENT_WINDOW_RESIZED
* Fix code format mistakes
* Also persist window width/height
* Undo change to input::handle_event
* Undo aurora submodule change
---------
Co-authored-by: Luke Street <luke@street.dev>
* Discord RPC Toggle
* I learned my lesson (Formatting)
Took me long enough
* Fix Mobile Platforms
- ifdef the setting so it builds properly on platforms that don't have rpc
- More formatting I missed
currently any options that requires additional settings, like "Hyrule Barrier Requirements", wont actually have any additional options yet until i figure out a clean way to handle that
* Initial Draft
- Add draft crash report window on startup
If you want to disable them before/during startup, there is a command line option to force it
* Fixes
- Update language to be more precise, consistent with settings menu
- Actually shut down reporting properly if you disable it
- Fix my silly syntax errors
* Update text & use Sentry consent
---------
Co-authored-by: Luke Street <luke@street.dev>