* 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>
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.
Starting with VS 18 / cl 14.51, MSVC's constant evaluator
rejects a pointer-to-member in a constant initializer that also
contains any computed data, a consteval call or even a copy of a
constexpr object (C2127).
Hook records are now aggregate-initialized from literals only: the
computed name bytes (vtable symbol + display name) are baked into
char... template arguments and sizes/kinds are spelled inline.
* 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
* Deduplicate Speedrun Overrides
Avoids issues where only one is updated + makes sense organizationally
* Move restore_from_speedrun_mode
I think it makes more sense to have this in the same place the overrides are set
* Camelcase nit
---------
Co-authored-by: Irastris <irastris15@gmail.com>
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
* Make Ganondorf cape tearing deterministic when using texture replacements
* GXIsTexObjReplaced -> has_replacement
* Only check for a replacement once during creation
* Update Aurora