the idea is to use the existing randomizer systems (like World, RandomizerContext, etc) in order to generate necessary data for in-game modifications such as text replacements, model swaps, etc. to do this we need to get the apworld's current settings, which atm will require loading the configured ap yaml file before connecting to archipelago.
getting items from the server works now mostly, for now we're ignoring inventory fills as its going to require a bit of work to reset the inventory on connection.
Randomizer code was allocating a 25MB buffer
for file I/O using thread-local storage,
which was starving the stack space of threads
created on Linux.
The buffer appears to be a workaround for
Wii U homebrew I/O, so we can just disable
it altogether.
Resolves#1836
* Use Explicit Template Specialization
- Move migration of FrameInterpMode to use a unique specialization of loadFromJson
This avoids coding special cases into the main template, which I think is more sustainable in the long-run if we need to migrate other settings ever
* Error for Default Migration
- Add error message in the config log for default migration
Not a fatal, just a clear signal that you should handle your enum cases explicitly to make sure they're right
* More Magic Armor Options
- Add a 3rd option to lose rupees only on damage
* More Choices
- Add cosmetic and double defense options
These both have been requested a couple times
* Shorten Description
The description was very, very long before
* Web Editor Got Me
Fix my syntax
* Cape Texture Fix
- Load pos/norm/texcoord data directly from the REL
Before the hardcoded array was LE but being treated as BE, now we load it directly from the REL so treating it as BE is the correct behavior
* Fix Cape Tearing
- Update the cached textures when the cape is torn, reset the texture when creating the actor
For now we'll be using APCpp, seems to be good enough for what we need to do for this. might eventually roll my own library if things end up being too weird/complicated to integrate properly.