* Hook into flagset hooks for processing check tracking. Has some manual workarounds (some breaks still need to be found).
Remove areaChecks and looping functionality as redundant.
* Additional vanilla handling.
* Fix tracker not showing MQ checks in MQ non-rando.
Fix tracker marking non-MQ variants of dungeon checks (e.g. map chest, etc) when collecting in MQ.
* Set all areas to spoiled if not rando.
* Revert attempt to spoil in randomizer based on MQ dungeon count as I don't know how that works at the moment.
* Restore and update spoiling based on MQ dungeon settings (none, selection, or count of 12).
Fix Anju As Adult check.
* Remove Anchor-specific code :baguette:
* Use `ClearAreaTotals()` in `Teardown()` instead of the duplicate code there.
* Update to `ClearAreaChecksAndTotals()` with `vec.clear()` added.
* Fix type spoiling again. Now spoils on 0 MQ dungeons, not rando, if the option is enabled in check tracker settings, selection, or set number of 12.
Fix vanilla checks being marked collected in MQ dungeons.
* Fix 100 GS check.
* ACTUALLY fix 100 GS: change flag type to `RandomizerInf()` in `item_location.cpp`, add RC to RandoInf for it to the table. Also don't send GI for flag if father, falsely triggers ZR frogs minigame.
* Fix gravedigging tour tracking.
* Fix membership card check tracking.
Change scene and flag values to any existing enums.
Clarifying formatting for the checking loop vOrMQ conditions.
* Fix Gravedigging Tour tracking.
Simplify Always Win Gravedigging Tour and Fix Gravedigging Tour Glitch applications.
Modified all necessary paths to use vanilla GDT PoH collection flag instead of randomizer variant.
* Fix Kak Potion Shop being "seen" when entering as child.
* Document static variables
* Document enums and structs
* Document some functions
* Document more functions
* actionParam to itemAction and fix build
* Document some local variables and a define
* General cleanup
* Use PlayerMeleeWeaponAnimation enum when appropiate
* Document some function parameters and local variables
* Document some of player struct
* fix alt backgrounds not always loading
* include gfx lookup with the original unload
* Add hook for alt toggle
* handle cpu modified texture for kd lava
* malloc array instead of illegal initialize
* lay some groundwork
* use custom window (which is currently identical to the LUS window)
* start making it shippy
* start moving stuff out of gamecontroleditor
* clean up shouldrumble
* include the other way
* wii u
* latest lus main
* notch snap angle buttons
* buttons on all the sliders
* just use a hidden id
* handle debug for port 2 and rename tabs so everything fits
* button line buttons look better
* padding fixed
* clang format
* bump to latest LUS main
* big buttons
* just default the analog stick options to open for now
* fix wii u build
* bonus: make it all scale-aware
* clang format
* fix horizontal scrolling
* fix all +/- buttons
* keyboard set defaults
* axis threshold helper text
* bonus: test rumble button
* clang format
* fix otrexporter submodule
* bump to latest lus main
* Move threadpool initialization and `OnExitGame` registration from `SaveManager::Init` to SM's constructor.
Comment on `Init` to mention it's not an initializer for `SaveManager`.
Added check for `SaveManager::SaveSection` to prevent firing a save worker if the game is already exited from a reset.
* Removed `IsSaveLoaded` check in favor of another `ThreadPoolWait()` at the start of `SaveManager::Init()`.
* Removes delayed save functionality, making autosave work everywhere except Ganon and Chamber of Sages scenes.
* Change AutoSave comment to remove the scenarios we no longer block autosave in.
* handle temp B on saving outside of kaleido
---------
Co-authored-by: Adam Bird <archez39@me.com>
* Extends `Assignable Boots and Tunics` functionality to check for and remove Goron and Zora tunics from item buttons when like likes steal them.
* Comment documentation.
* ADD: No HUD Heart Animation
I've seen this requested multiple times for modding purposes for the case of using "lifebars" instead of hearts
* TWEAK: Move it under the the mods
* REM: Whitespace
* REM: Whitespace2
* Tweak: Cvar Oppsie
* share common scenes between mq and nonmq
* move shared scenes under shared folder and bring back thieves hideout mq handling
* update headers for shared scenes
* bump submodules
* remove mq handling for mirror world song patch
* only have unique dungeons be nomq/mq variants
* bump submodules
* parse sohver arg and store version file in otr
* parse args for soh.otr gen only
* pass soh version from built in extractor
* update launch scripts, cmake and extract steps to pass soh version
* check otr versions and error or ask to regenerate
* add wiiu core header for osfatal
* review feedback
* remove soh dummy version for lus change instead
* only configure linux script for linux
* change lus commit
* rename soh version to port version
* fix submodules
* bump OTRExporter
* clean up error messages for switch/wiiu
* strings not char array
* typo
* init wiiu before otr detection
* Add message for mac/linux extraction
* remove unneeded exits
* change version number types to u16 to fix 32bit devices
* bump otrexporter
* Add a `CVarClear` inside the check for a sequence's lock to get rid of old data.
* Rework all replacement and lock `CVarSetInteger` calls to call a function which checks for previous format with `CVarGet` to know if it needs clearing before setting either the lock or the sequence
* Swapped everything over to a migrator where it loops through the `sequenceMap` and just clears everything from there in "gAudioEditor.ReplacedSequences"
* Change initialization of `areasSpoiled` to improve utilization and fix crash during max debug file creation.
* Renamed `RCAreaFromSceneID` to `DungeonRCAreasBySceneID` for clarification.
* Add a (not yet functional) "Navi" option.
* It works!
* Slightly better name for this menu option.
* Revert accidental commit of comments in z_en_elf.c
* Renaming and tweaks.
* Temporary fix(?) for compile error on non-Windows platforms.
* … Just pretend this particular commit doesn't exist. :OHYEAH:
* A more suitable fix. + Partial suggestions from review.
In-progress implementation of Cosmetics Navi colours.
* Convert relevant code to use Color_RGB8 sans alpha, matching the controller LED.
Defaults are now labeled for clarity.
* Revert back to Color_RGBA8. + Implement Cosmetics Navi colours.
Add Color conversion functions.
* Tidy comments.
* Changed mind yet a third time. Uses Color_RGB8 sans alpha again.
Uses CVarGetColor24 instead of CVarGetColor to drop alpha from cosmetics editor values, like how Tunic Colors does it.
This of course does require me to go with the prior idea of storing the Navi colours without alpha channels.
* Color type conversion functions removed
as they're no longer needed.
* Tidy up commented out code once more.
* Fix a typo
* Suggestion from code review. (Yeah nah you're totally right though.)
* Correct indentation.
* A minor goof in the comments was bothering me.
* add safe string copy method
* use string copy for save manager
* use string copy in spoiler log hint parsing
* remove intermediate string vars
* more string copy use in randomizer methods
* use string copy in gameplay stats
* add load char array method to remove string intermediate var
* try string.h import instead
* Add `IsAdult` to Fewer Tunic Requirements check for `FireTimer` in rando logic to preven placing items in lower maze expecting child to get them.
* After discussion, decided to change it to lock access only to lower maze so child access with dungeon shuffle remains intact.
Also changed the tooltip for Fewer Tunic Requirements to reflect the current status of what the trick enables.
* Further update to tooltip.
* Fix two missing changes after ms GI enum was changed
* Remove unnecessary line break from hint, and fix infinite loop within AutoFormatHintTextString
* Update soh/soh/Enhancements/randomizer/3drando/hints.cpp
* The mother of all commits
* Removed `GI_SWORD_MASTER`;
"Master Sword" Items now actually give MS
* Removed dupe MS entries in item pool;
updated GIMESSAGE (should stop crashing on non-Windows);
re-added MS in item list
* Give Adult Link a freebie with shuffle MS on;
cihld -> adult no longer gives MS;
ToT Master Sword now gives correct item
* add master sword GI draw func based on ToT MS object
* Force `MasterSword` logic var to only update upon getting MS
* Dorf funny line now activates with LA and MS in inv
* Apply suggestions
* Updated RAND_INF;
Check Tracker changes;
Gave RAND_INF and ice trap logic to ToT MS check;
Fixed swordless behavior for HBA/fishing
* ToT MS Check now works in check tracker;
Visual bug where box hovers over non-existent MS gone;
Fixed RAND_INF check with ToT MS pedestal;
Ganon no longer gives free MS
* adult equips no longer reset in MS shuffle
* Apply (most) locacc review suggestions
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
* Reorganized swordless check for interface to fit edge cases;
getting master sword no longer highlights box
* Edge case for BGS but no bow
* Fix implicit declaration error for GI hooks (#9)
* Adjusted `CanAdultAttack/Damage`; applied logic suggestions
* Fixed build errors (hopefully)
* Cleanup merge
* get shit working again
* Tidied up remaining uses of DD flag as rando indicator
* make master sword invisible and fix ms flag (#10)
* Add text to sheik if go mode is obtained but barrier is still up
* overhaul swordless behavior in `func_80083108`
* reworked ToT MS Check to have an actual GI
* suggestions
* Apply suggestions
* Better swordless handling with temp B (#11)
* better swordless handling with temp B
* prevent auto save in fishing pond
* prevent auto save during bombchu bowling
* enum fix
---------
Co-authored-by: Adam Bird <archez39@me.com>
Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com>
Co-authored-by: RaelCappra <rael.cappra@gmail.com>
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
* Restore RBA Values
Matches all rba scenarios achievable in game to their original outcomes. This only ends up affecting certain trade items.
* tooltip rewrite
* rba cases generalised
* re-add to menu bar
* better byteswap and checks for endianness
* remove leftover defines