* Modifies custom sequence loading to bypass other sounds being loaded in AudioCollection to fix missing custom sequences on load.
* Modified `audio_load`'s sequenceMap allocation to utilize `AudioCollection`'s sequenceMap size to account for all audio assets already loaded into that sequenceMap. This gives a non-arbitrary number in addition to the vanilla sequence count to allocate with for `audio_load`'s sequenceMap.
Added `HasSequenceNum` to `AudioCollection` as well to streamline the check against `AudioCollection`'s sequenceMap to skip the non-sequence assets in there.
Added clarification comment for seqNum and MAX_AUTHENTIC_SEQID section.
* Clarified comment about AudioCollection seqNum and MAX_AUTHENTIC_SEQID.
* A bit more on comment from the last commit.
* When rupees are given as starting items, they still modify `gSaveContext.rupeeAccumulator`, which means that if you make a new file, start it, and reload without saving, or exit SoH before starting the new file, those rupees were lost. This adds a check for `gPlayState` being NULL, and if it is, adds those initial rupees to the rupee count directly.
* Update soh/src/code/z_parameter.c
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
---------
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
* save build version to savefile
* adjust rando hash icons to use fade in/out
* add dialog message support on the file select screen and display rando version warning
* remove duplicated message functions and use stubbed play state instead for rando warning
* add major/minor/patch version saving to file and compare against
* use strncpy and memset for build version
* don't show rando warning one copy/erase screens
* review feedback
* Add german and french translations for rando warning
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
---------
Co-authored-by: PurpleHato <linkvssangoku.jr@gmail.com>
* Restored vanilla pause buffering and input behavior broken by 'easy frame advance' cheat
Currently, holding A and repeatedly pausing and unpausing will cause that A input to be repeated, resulting in Link rolling without additional A inputs. Similarly, holding Z and unpausing in front of a candidate actor will cause Link to switch Z-targeting to that actor.
As a side effect, this also does not allow inputs to be buffered before the Subscreen has finished its closing animation, which is how vanilla also works. This is slightly unfortunate because the "freeze" before the game resumes is considerably shorter in Shipwright, but it'd be better to implement a fake delay there if we want to make it more forgiving.
* Fixed writing past end of the buffer when loading personal item tracker notes longer than 8 characters
* Revert "Fixed writing past end of the buffer when loading personal item tracker notes longer than 8 characters"
This reverts commit 721c18d488.
* ss2
* Remove Comments and Rupees when dead.
* Rupees removal for real
* Updated Inline formatting as well as changed Mode Idenitifier from Super Sonic to Rupee Dash.
* Add OnPlayerUpdate hook
* Move rupee dash to hooks
* Update comment for DashInterval
* ss2
* Remove Comments and Rupees when dead.
* Rupees removal for real
* Updated Inline formatting as well as changed Mode Idenitifier from Super Sonic to Rupee Dash.
* Add OnPlayerUpdate hook
* Move rupee dash to hooks
* Update comment for DashInterval
* Update Health to not crash on less than 16 units.
* lus
* fix build, use `Health_ChangeBy`
---------
Co-authored-by: Caladius <Caladius@users.noreply.github.com>
Co-authored-by: David Chavez <david@dcvz.io>
* add loadgame/exitgame GI hooks
* implement loadgame/exitgame hooks in game code
* move entrance tracker data lifecycle to hooks
* update cosmetic editor to update onloadgame hook
* Restore greg stuff
* Cleanup
* Actually check for Greg when creating Greg hint
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
* whoops
* Update soh/soh/Enhancements/randomizer/3drando/hints.cpp
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
* fix greg hint crash, clean up hint generation (clear out hints when setting is off)
* update vanillafill too
* fix text id, parse json, expand array to fit hint
* actually parse/use greg hint RSK
* specify "after buying a key" in hover text hint
---------
Co-authored-by: David Chavez <david@dcvz.io>
Co-authored-by: Ralphie Morell <stratomaster64@gmail.com>
* Rename "SFX Editor" to "Audio Editor"
* Move some functionality out into a new class `AudioCollection`
* Add a tab to exclude sfx/sequences from shuffle pool
---------
Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: briaguya <briaguya>
Co-authored-by: David Chavez <david@dcvz.io>
* Update z_camera.c
* Update GameControlEditor.cpp
* Update GameControlEditor.cpp
* Update GameControlEditor.cpp
Adding Sliders for first person X and Y axis
* Update z_player.c
Modified variables to allowed separate sensitivity settings for x and y axis
* Update z_camera.c
* Revert "Update z_camera.c"
* Update GameMenuBar.cpp
Added tickbox for NoFPChus
* Update z_player.c
Added check for Disable First Person Bomchus enhancement
* Update z_player.c
Removed comment as statement is clear on its own
* Update GameMenuBar.cpp
* Projectile ammo matches ItemAction instead of age
extracted logic from months-old PR
* Added cvar under "Enhancements -> Gameplay -> Items" for bow/slingshot ammo
* Update GameMenuBar.cpp
* fix entrance init and entrance tracker not working properly when no spoiler log is loaded
* fix rando adult trade spoilable items reverting when no spoiler log loaded
* fix market night escape to work with entrance rando; adjust HF bridge spawn to not have link fall in water at night
* use scene enums for ER logic instead of magic nums
* fix sun song loading are with wrong link position with grotto shuffle on
* Update soh/soh/Enhancements/randomizer/randomizer_entrance.c