* Fixes a few bugs I introduced for MQ file select screen.
- MQ Saves could not be loaded while only an mq otr is present, because `requiresOriginal` was true when `gSaveContext.mqDungeonCount` was less than 12. That value only ever gets set for rando saves, so I added a check for the rando flag to that conditional.
- The rando tag was not getting grayed out with the rest of the save file.
- Some necessary meta info wasn't getting loaded when the randomizer CVar was off. Removed that check so that the rando save data always gets loaded during InitMeta. That way the amount of mq dungeons can be checked for validity with the loaded set of OTRs even if randomizer isn't enabled.
* i not 1
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
* Changes OTR Extraction to have specific mq and nonmq paths.
Also updates the game to load resources according to whether or not
Master Quest or Vanilla is loaded.
* Removes unneeded code from the last commit.
* Fixes some weird formatting in ZRom.c
* Loads oot-mq.otr and patches oot.otr on top, if both are present.
If only one or the other are present, it becomes the only and main OTR.
* Adds ImGui Logic for whether or an MQ Checkbox.
Checkbox checked only specifies whether new saves should be MQ or not.
Checkbox is disabled or force-enabled according to which OTRs are loaded.
Also as a necessity includes tracking what game versions have been loaded
from the OTRs.
* Adds MQ settings logic for Randomizer's ImGui menu.
* Writes Master Quest dungeons to the spoiler log
* Loads MQ Dungeons from spoiler, persists in save, and loads when appropriate.
* Adds logic to prevent loading or creating incompatible rando saves.
* Fixdes some linux build issues and new rando save issues
* Makes appimage create both vanilla and mq otrs
If either rom is present, it makes the corresponding OTR. If both are present,
it will make both. If one OTR is present but both roms are present, it will
create the missing OTR.
* Makes it so a randomized save file will not be marked as MQ.
* Refactors to load all OTRs from MainPath or a specific list.
Also adds the ability to take a std::unordered_set of hashes to
validate each OTR's version file against.
* Fixes a syntax error
* Makes ExtractAssets output Vanilla and MQ OTRs if both roms are present
* Fixes asset generation bug.
* Partially working fix for dual OTR extract_assets
Currently the cmake ExtractAssets target will return with a 1 if you
only end up exporting one type of OTR isntead of both. Haven't found
a great way to only attempt to copy a file if it exists from within
cmake. It does actually correctly copy the OTR that is generated,
despite the error from copying the other one.
Pushing as is for now but will keep investigating.
* Adds oot-mq.otr to the gitignore.
* Makes ExtractAssets not fail on only one rom/OTR.
* Removes PatchesPath from the constructors requiring OTRFiles vector.
* Renames OOT_UNKNOWN to just UNKNOWN to remove OOT specific reference.
* Removes randomizing MQ Dungeons and re-disables MQ rando.
Doing this so the PR can get merged quicker with just the Dual OTR
support and won't need to wait on rando logic to be updated. That
will happen in another PR directly after the merge.
* Update mac startup script for dual otr
* Update soh/macosx/soh-macos.sh
* Update soh/macosx/soh-macos.sh
* Update soh/macosx/soh-macos.sh
* Implements new BinaryReader to fix Linux build issue.
BinaryReader itself comes from https://github.com/Moneyl/BinaryTools
I added a wrapper to adapt it to the ABI from ZAPD's Binary Reader and
add Endianness checking. I also had to copy a handful of other bits and
pieces from ZAPD to make it all function as expected.
* A few edits to the updatream BinaryReader to compile it on Linux.
* Adds the Endianness to the first byte of the version file.
* Fixes Jenkins
* Addresses some of Kenix's comments
* Renames `ReadNullTerminatedString` to `ReadCString`
* Refactors Archive::LoadFile into a private method with more arguments.
* Removes BitConverter and extends existing endianness.h instead.
* Fixes an endianness issue with the version file.
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
* Support for patching DLists outside of OTR, mostly for cosmetics and bug fixes
* Store original dlist instruction for unpatching
* Rename sandstorm patch variable
* Use unordered map for originalGfx;
* Add golden gauntlets to Cosmetics Editor
* Removed extra space
* Fixed comment
* Changed comment again (helps if you save the file before committing)
* Add: Randomized Ice Trap Messages
* Add text to freestanding items, other tweaks/fixes
* More messages
* ADD: French Translation + 1 Extra
* %w is not %UwU%
* TWEAK: One msall breakline
* Add German & small text tweak
* Minor code optimization
* Updated French
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
* Start effects
* Disable input to game when typing in console
* Add gravity support
* noUI placeholder
* Add rest of effects to console
* Remove z_play code
* Add rupee modification
* Add OneHit KO (#27)
* few fix and paper Link
* Better method and now use the reset flag
* Revert "Better method and now use the reset flag"
This reverts commit 2aafcc1df2.
* Revert "few fix and paper Link"
This reverts commit 65e76dcfee.
* Paper Link & few fixes (#28)
* Implement pacifist mode (#30)
* Implement cucco storm (#31)
* Add no UI functionality (#32)
* Enable CrowdControl on windows (#33)
* Use std::format and implement wallmaster
* Implement defense modifier
* Implement no_z and clean up
* Implement reverse controls
* Some fixes while testing CC connection
* Implement speed modifier and fix defese modifier
* Fail magic effects if magic is not acquired
* Fix queue system
* Implement rainstorm
* Some cleanup
* Use IS_ZERO to handle very low near zero values
* Split some effects
* Fix emptying magic
* Don’t run cucco on pre-rendered backgrounds
* Use correct method for updating ruppees
* Fix decreasing speed
* Remove old SDL stuff
* Remove old fixes
* Enable Crowd Control for both debug and release
* Add missing returns
* Cleanup event firing
* Further clean up on event firing
* Fix some bugs
* CC fixes and enemy spawning (#35)
* Fix icetraps
* Fix title screen
* Fix pause screen
* Fix death screen timer & Code cleanup
* Fix timer during textboxes
* Code cleanup
* Add: Multiple enemy spawning
* More enemies + more code cleanup (#36)
* Enums for returning effect states
* Add more enemies
* Update CrowdControl.cpp
* Remove enums from enemies
* Fix up flow for events (#37)
# Conflicts:
# soh/soh/Enhancements/crowd-control/CrowdControl.cpp
* Fix spawn position of likelike
* CC temp enemy fixes (#38)
* Check for pause in pacifist and allow button presses (#39)
* Fix Pacifist mode (#41)
* First attempt pacifier fix
* Real fix for pacifist mode
* Comment
* Remove cutscene and long delay from cucco_storm (#40)
* Some PR Fixes
* Use standard types
* Handle JSON parsing error and free memory
* Add CC configuration file
* Add: Giving deku shield option. Fix: Giant Lonk (#42)
* Small stalfos fix (#43)
* Syntax Improvements (#44)
* Revert bools to uint32_t
* Add comment about bools
* Fix cucco storm, fix empty heart (#45)
* Protect commands vector with mutex
* prefix effects with chaosEffect (#46)
Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: Baoulettes <perlouzerie@hotmail.fr>
Co-authored-by: aMannus <mannusmenting@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
Co-authored-by: briaguya <briaguya@alice>