summaryrefslogtreecommitdiff
path: root/soh/include
diff options
context:
space:
mode:
authorRalphie Morell <rafael.morell@techfield.us>2023-10-21 21:51:37 -0400
committerGitHub <noreply@github.com>2023-10-21 20:51:37 -0500
commit2eaed8d81ea2586a8a4112f17bd3a88d3c7882db (patch)
tree6cb9848eeeda01c7ad15d8f86c49df72c053ea3a /soh/include
parente6445e0ce3b71c4db2e3a177054cffee1d3c5930 (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.h9
-rw-r--r--soh/include/z64save.h6
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;