diff options
| author | Ralphie Morell <rafael.morell@techfield.us> | 2023-10-21 21:51:37 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-21 20:51:37 -0500 |
| commit | 2eaed8d81ea2586a8a4112f17bd3a88d3c7882db (patch) | |
| tree | 6cb9848eeeda01c7ad15d8f86c49df72c053ea3a /soh/include | |
| parent | e6445e0ce3b71c4db2e3a177054cffee1d3c5930 (diff) | |
Rando: Master Sword Shuffle (#2981)
* 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>
Diffstat (limited to 'soh/include')
| -rw-r--r-- | soh/include/functions.h | 9 | ||||
| -rw-r--r-- | soh/include/z64save.h | 6 |
2 files changed, 10 insertions, 5 deletions
diff --git a/soh/include/functions.h b/soh/include/functions.h index e75777c87..3a1aa8ae2 100644 --- a/soh/include/functions.h +++ b/soh/include/functions.h @@ -2449,13 +2449,18 @@ void Heaps_Free(void); CollisionHeader* BgCheck_GetCollisionHeader(CollisionContext* colCtx, s32 bgId); -void Interface_CreateQuadVertexGroup(Vtx* vtxList, s32 xStart, s32 yStart, s32 width, s32 height, u8 flippedH); - // Exposing these methods to leverage them from the file select screen to render messages void Message_OpenText(PlayState* play, u16 textId); void Message_Decode(PlayState* play); void Message_DrawText(PlayState* play, Gfx** gfxP); +// #region SOH [General] + +void Interface_CreateQuadVertexGroup(Vtx* vtxList, s32 xStart, s32 yStart, s32 width, s32 height, u8 flippedH); +void Interface_RandoRestoreSwordless(void); + +// #endregion + #ifdef __cplusplus #undef this }; diff --git a/soh/include/z64save.h b/soh/include/z64save.h index 4b87a179a..9458f28c7 100644 --- a/soh/include/z64save.h +++ b/soh/include/z64save.h @@ -289,7 +289,6 @@ typedef struct { /* */ u8 mqDungeonCount; /* */ u8 pendingIceTrapCount; /* */ SohStats sohStats; - /* */ u8 temporaryWeapon; /* */ FaroresWindData backupFW; /* */ RandomizerCheckTrackerData checkTrackerData[RC_MAX]; // #endregion @@ -302,11 +301,11 @@ typedef struct { /* */ char childAltarText[250]; /* */ char adultAltarText[750]; /* */ RandomizerCheck rewardCheck[9]; - /* */ char ganonHintText[150]; + /* */ char ganonHintText[300]; /* */ char gregHintText[250]; /* */ char ganonText[250]; /* */ char dampeText[150]; - /* */ char sheikText[150]; + /* */ char sheikText[200]; /* */ char sariaText[150]; /* */ char warpMinuetText[100]; /* */ char warpBoleroText[100]; @@ -314,6 +313,7 @@ typedef struct { /* */ char warpRequiemText[100]; /* */ char warpNocturneText[100]; /* */ char warpPreludeText[100]; + /* */ RandomizerCheck masterSwordHintCheck; /* */ RandomizerCheck lightArrowHintCheck; /* */ RandomizerCheck sariaCheck; /* */ RandomizerCheck gregCheck; |
