* Add offsets for Wii USA R0/R2, JPN, and PAL
Also fix an oopsie where l_pos and l_normal's offsets were swapped
* Allow loading Wii discs
* Change GameVersion::GcnJpn checks to isRegionJpn()
* Change GameVersion::GcnPal checks to isRegionPal()
* Add platformSelect and regionSelect templates, simplify a ton of code
* Add *_get() macros to simplify REL loads
* Actually accept Wii USA Rev. 2 discs
* Show the Wii USA revision in prelaunch's disc status
* l_normal isn't in Wii RELs, so I'll just hardcode it
* Account for various BLO differences
Fix crash when opening the map on Wii USA Rev 0 and Wii PAL
* Use the streamed version of the file select music
* Update language selection
* Fix the d-pad/cross button text for Wii PAL
Resizing panes that are already 120.0f wide is harmless, so I didn't bother with a GameVersion check
* Fix brightness check discrepancy, use IF_DUSK_BLOCK macros when ideal
* Update docs and the issue template
* Don't Use OSCalendarTime for Speedrun Timing
- Shouldn't rely on OSTicksToCalendarTime since it will be changed to handle time zone conversion, and that doesn't make sense on elapsed time
* Use OSGetSystemTime Extension
- Fixes desyncing issues with save file time and a couple other odd instances, particularly on mobile platforms that suspend apps
* Time revamp
* Update aurora
* Split IGT/RTA calculations
* Shift-Turbo to slow down
---------
Co-authored-by: SuperDude88 <82904174+SuperDude88@users.noreply.github.com>
The hope of auto-importing data via lld MinGW
+ pseudo_reloc is now dead thanks to ARM64,
so I just wrote a script to go annotate every
exported data symbol in the game instead.
* Add command line arguments for --develop, --load-save, and --stage
* Include sstream so clang stops crying :(
* Put stage load parsing in main, better load logic
* 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
* 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>