* template setup
* get most colors working
* add lantern, midna, and heart colors
* fix PaneCache naming conflict
* add UI colors
* fix pane cache again
* override colors for items on other models
* recolor heart piece models
* cleanup
* add support for ordon sword recoloring
* recolor epona's eyelids
* move option descriptions
* fix mod.json
* constexpr descriptions
* gx.h instead of dolphin/gx/GXstruct.h
* fix default midna hair color
* use TextureService instead of overwriting model file data on load
* update descriptions
* manual cleanup
* fix includes
* remove unneeded include and const qualifier
* UI: Add Popover, ColorInput & more; mod cleanup
* Make it a bundled mod
---------
Co-authored-by: Luke Street <luke@street.dev>
* Mod SDK: Arc Overlays
* Use DVD Functions for Arc overlays
* Re-add Fetchcontent for json.hpp
* Fix build for actions
* Make sure buffer usues aligned length
* Add include so msvc compiles
* Arc Overlays fixes: remove _arc suffix, handle getting overlayed file size from arcs, copy data correctly, etc.
* Reload overlayed data during loading screens
* Rename sync function
* Free overlayed files on load instead of re-loading them
* Rework arc overlays & load overlay files into host memory
---------
Co-authored-by: Luke Street <luke@street.dev>
* 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.
To make sure that mods can work across debug and release build, we can utilize PARTIAL_DEBUG to enable only DEBUG changes that affect struct and vtable layout
* 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
* 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
alpha comparison mID is u16, but indexes into a 256-item table.
this causes MAT3 materials with an alpha comparison index of 0xFF crashes on linux
closes#1073closes#1531
* 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>