diff --git a/assets/xml/objects/object_fsn.xml b/assets/xml/objects/object_fsn.xml
index 37867dc32d..5ca67c2079 100644
--- a/assets/xml/objects/object_fsn.xml
+++ b/assets/xml/objects/object_fsn.xml
@@ -6,10 +6,10 @@
-
+
-
+
diff --git a/assets/xml/objects/object_ob.xml b/assets/xml/objects/object_ob.xml
index aa95db9bcc..d23ab6790f 100644
--- a/assets/xml/objects/object_ob.xml
+++ b/assets/xml/objects/object_ob.xml
@@ -55,10 +55,10 @@
-
+
-
+
diff --git a/src/code/code_8012EC80.c b/src/code/code_8012EC80.c
index dc334c93ef..9a2100d01e 100644
--- a/src/code/code_8012EC80.c
+++ b/src/code/code_8012EC80.c
@@ -43,14 +43,14 @@ u32 gUpgradeMasks[] = {
// 3 = two-bit masks
// 7 = three-bit masks
u32 gUpgradeNegMasks[] = {
- ~(7 << 0), // Quivers
- ~(7 << 3), // Bomb Bags
- ~(7 << 6), // Unused (Strength)
- ~(7 << 9), // Unused (Scale)
- ~(3 << 12), // Wallets
- ~(7 << 14), // Unused (Deku Seed Bullet Bags)
- ~(7 << 17), // Unused (Deku Stick)
- ~(7 << 20), // Unused (Deku Nut)
+ ~(7 << 0), // UPG_QUIVER
+ ~(7 << 3), // UPG_BOMB_BAG
+ ~(7 << 6), // UPG_STRENGTH
+ ~(7 << 9), // UPG_SCALE
+ ~(3 << 12), // UPG_WALLET
+ ~(7 << 14), // UPG_BULLET_BAG
+ ~(7 << 17), // UPG_DEKU_STICKS
+ ~(7 << 20), // UPG_DEKU_NUTS
};
u8 gEquipShifts[] = {
@@ -61,25 +61,25 @@ u8 gEquipShifts[] = {
};
u8 gUpgradeShifts[] = {
- 0, // Quivers
- 3, // Bomb Bags
- 6, // Unused (Strength)
- 9, // Unused (Scale)
- 12, // Wallets
- 14, // Unused (Deku Seed Bullet Bags)
- 17, // Unused (Deku Stick)
- 20, // Unused (Deku Nut)
+ 0, // UPG_QUIVER
+ 3, // UPG_BOMB_BAG
+ 6, // UPG_STRENGTH
+ 9, // UPG_SCALE
+ 12, // UPG_WALLET
+ 14, // UPG_BULLET_BAG
+ 17, // UPG_DEKU_STICKS
+ 20, // UPG_DEKU_NUTS
};
u16 gUpgradeCapacities[][4] = {
- { 0, 30, 40, 50 }, // Quivers
- { 0, 20, 30, 40 }, // Bomb Bags
- { 0, 0, 0, 0 }, // Unused (Strength)
- { 0, 0, 0, 0 }, // Unused (Scale)
- { 99, 200, 500, 500 }, // Wallets
- { 0, 30, 40, 50 }, // Unused (Deku Seed Bullet Bags)
- { 0, 10, 20, 30 }, // Unused (Deku Stick)
- { 0, 20, 30, 40 }, // Unused (Deku Nut)
+ { 0, 30, 40, 50 }, // UPG_QUIVER
+ { 0, 20, 30, 40 }, // UPG_BOMB_BAG
+ { 0, 0, 0, 0 }, // UPG_STRENGTH
+ { 0, 0, 0, 0 }, // UPG_SCALE
+ { 99, 200, 500, 500 }, // UPG_WALLET
+ { 0, 30, 40, 50 }, // UPG_BULLET_BAG
+ { 0, 10, 20, 30 }, // UPG_DEKU_STICKS
+ { 0, 20, 30, 40 }, // UPG_DEKU_NUTS
};
// eight-bit masks
@@ -512,7 +512,7 @@ u8 Inventory_DeleteEquipment(PlayState* play, s16 equipment) {
}
void Inventory_ChangeUpgrade(s16 upgrade, u32 value) {
- u32 upgrades = gSaveContext.save.saveInfo.inventory.upgrades;
+ u32 upgrades = GET_SAVE_INVENTORY_UPGRADES;
upgrades &= gUpgradeNegMasks[upgrade];
upgrades |= value << gUpgradeShifts[upgrade];
diff --git a/src/code/z_demo.c b/src/code/z_demo.c
index d6f3b78b3d..262bc0ebcb 100644
--- a/src/code/z_demo.c
+++ b/src/code/z_demo.c
@@ -301,7 +301,7 @@ void CutsceneCmd_Misc(PlayState* play, CutsceneContext* csCtx, CsCmdMisc* cmd) {
break;
case CS_MISC_PLAYER_FORM_HUMAN:
- sCutsceneStoredPlayerForm = gSaveContext.save.playerForm;
+ sCutsceneStoredPlayerForm = GET_PLAYER_FORM;
gSaveContext.save.playerForm = PLAYER_FORM_HUMAN;
gSaveContext.save.equippedMask = PLAYER_MASK_NONE;
break;
diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c
index a13499f460..0f1836dfbe 100644
--- a/src/code/z_en_item00.c
+++ b/src/code/z_en_item00.c
@@ -1331,16 +1331,19 @@ void Item_DropCollectibleRandom(PlayState* play, Actor* fromActor, Vec3f* spawnP
dropQuantity = sDropTableAmounts[params + dropTableIndex];
if (dropId == ITEM00_MASK) {
- switch (gSaveContext.save.playerForm) {
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_HUMAN:
dropId = ITEM00_ARROWS_10;
break;
+
case PLAYER_FORM_ZORA:
dropId = ITEM00_RECOVERY_HEART;
break;
+
case PLAYER_FORM_GORON:
dropId = ITEM00_MAGIC_JAR_SMALL;
break;
+
default:
dropId = ITEM00_RUPEE_GREEN;
break;
diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c
index a790716039..cbbe959e7b 100644
--- a/src/code/z_parameter.c
+++ b/src/code/z_parameter.c
@@ -2020,10 +2020,10 @@ void Interface_UpdateButtonsPart2(PlayState* play) {
}
// C buttons
- if (gSaveContext.save.playerForm == player->transformation) {
+ if (GET_PLAYER_FORM == player->transformation) {
for (i = EQUIP_SLOT_C_LEFT; i <= EQUIP_SLOT_C_RIGHT; i++) {
// Individual C button
- if (!gPlayerFormItemRestrictions[(void)0, gSaveContext.save.playerForm][GET_CUR_FORM_BTN_ITEM(i)]) {
+ if (!gPlayerFormItemRestrictions[GET_PLAYER_FORM][GET_CUR_FORM_BTN_ITEM(i)]) {
// Item not usable in current playerForm
if (gSaveContext.buttonStatus[i] != BTN_DISABLED) {
gSaveContext.buttonStatus[i] = BTN_DISABLED;
@@ -2182,7 +2182,7 @@ void Interface_UpdateButtonsPart1(PlayState* play) {
if (gSaveContext.save.cutsceneIndex < 0xFFF0) {
gSaveContext.hudVisibilityForceButtonAlphasByStatus = false;
if ((player->stateFlags1 & PLAYER_STATE1_800000) || CHECK_WEEKEVENTREG(WEEKEVENTREG_08_01) ||
- (!(CHECK_EVENTINF(EVENTINF_41)) && (play->unk_1887C >= 2))) {
+ (!CHECK_EVENTINF(EVENTINF_41) && (play->unk_1887C >= 2))) {
// Riding Epona OR Honey & Darling minigame OR Horseback balloon minigame OR related to swamp boat
// (non-minigame?)
if ((player->stateFlags1 & PLAYER_STATE1_800000) && (player->currentMask == PLAYER_MASK_BLAST) &&
@@ -2255,8 +2255,7 @@ void Interface_UpdateButtonsPart1(PlayState* play) {
(gSaveContext.save.entrance == ENTRANCE(ROMANI_RANCH, 0)) &&
(Cutscene_GetSceneLayer(play) != 0) && (play->transitionTrigger == TRANS_TRIGGER_OFF)) {
Interface_SetHudVisibility(HUD_VISIBILITY_A_B_MINIMAP);
- } else if ((gSaveContext.minigameStatus == MINIGAME_STATUS_ACTIVE) &&
- (CHECK_EVENTINF(EVENTINF_35))) {
+ } else if ((gSaveContext.minigameStatus == MINIGAME_STATUS_ACTIVE) && CHECK_EVENTINF(EVENTINF_35)) {
Interface_SetHudVisibility(HUD_VISIBILITY_B_MINIMAP);
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_82_08) &&
(gSaveContext.minigameStatus == MINIGAME_STATUS_ACTIVE)) {
@@ -2345,8 +2344,8 @@ void Interface_UpdateButtonsPart1(PlayState* play) {
restoreHudVisibility = true;
sPictoState = PICTO_BOX_STATE_OFF;
} else if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_A) || (func_801A5100() == 1)) {
- if (!(CHECK_EVENTINF(EVENTINF_41)) ||
- ((CHECK_EVENTINF(EVENTINF_41)) && (CutsceneManager_GetCurrentCsId() == CS_ID_NONE))) {
+ if (!CHECK_EVENTINF(EVENTINF_41) ||
+ (CHECK_EVENTINF(EVENTINF_41) && (CutsceneManager_GetCurrentCsId() == CS_ID_NONE))) {
Audio_PlaySfx(NA_SE_SY_CAMERA_SHUTTER);
SREG(89) = 1;
play->haltAllActors = true;
@@ -3145,10 +3144,8 @@ void Inventory_UpdateDeitySwordEquip(PlayState* play) {
interfaceCtx->unk_21C = 0;
interfaceCtx->bButtonDoAction = 0;
- // Is simply checking if (gSaveContext.save.playerForm == PLAYER_FORM_FIERCE_DEITY)
- if ((((gSaveContext.save.playerForm > 0) && (gSaveContext.save.playerForm < 4))
- ? 1
- : gSaveContext.save.playerForm >> 1) == 0) {
+ // Is simply checking if (GET_PLAYER_FORM == PLAYER_FORM_FIERCE_DEITY)
+ if ((((GET_PLAYER_FORM > 0) && (GET_PLAYER_FORM < 4)) ? 1 : GET_PLAYER_FORM >> 1) == 0) {
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_SWORD_DEITY;
} else if (CUR_FORM_EQUIP(EQUIP_SLOT_B) == ITEM_SWORD_DEITY) {
if (GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD) == EQUIP_VALUE_SWORD_NONE) {
@@ -4104,7 +4101,7 @@ void Interface_DrawBButtonIcons(PlayState* play) {
(play->sceneId != SCENE_BOWLING) &&
((gSaveContext.minigameStatus != MINIGAME_STATUS_ACTIVE) ||
(gSaveContext.save.entrance != ENTRANCE(ROMANI_RANCH, 0))) &&
- ((gSaveContext.minigameStatus != MINIGAME_STATUS_ACTIVE) || !(CHECK_EVENTINF(EVENTINF_35))) &&
+ ((gSaveContext.minigameStatus != MINIGAME_STATUS_ACTIVE) || !CHECK_EVENTINF(EVENTINF_35)) &&
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_31_80) || (play->unk_1887C != 100))) {
Interface_DrawAmmoCount(play, EQUIP_SLOT_B, interfaceCtx->bAlpha);
}
@@ -6409,7 +6406,7 @@ void Interface_Draw(PlayState* play) {
Interface_DrawItemButtons(play);
- if (player->transformation == ((void)0, gSaveContext.save.playerForm)) {
+ if (player->transformation == GET_PLAYER_FORM) {
Interface_DrawBButtonIcons(play);
}
Interface_DrawCButtonIcons(play);
diff --git a/src/code/z_sram_NES.c b/src/code/z_sram_NES.c
index 33276f7176..7e0caa640c 100644
--- a/src/code/z_sram_NES.c
+++ b/src/code/z_sram_NES.c
@@ -800,16 +800,91 @@ ItemEquips sSaveDefaultItemEquips = {
Inventory sSaveDefaultInventory = {
// items
{
- ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
- ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
- ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
- ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
- ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
+ ITEM_NONE, // SLOT_OCARINA
+ ITEM_NONE, // SLOT_BOW
+ ITEM_NONE, // SLOT_ARROW_FIRE
+ ITEM_NONE, // SLOT_ARROW_ICE
+ ITEM_NONE, // SLOT_ARROW_LIGHT
+ ITEM_NONE, // SLOT_TRADE_DEED
+ ITEM_NONE, // SLOT_BOMB
+ ITEM_NONE, // SLOT_BOMBCHU
+ ITEM_NONE, // SLOT_DEKU_STICK
+ ITEM_NONE, // SLOT_DEKU_NUT
+ ITEM_NONE, // SLOT_MAGIC_BEANS
+ ITEM_NONE, // SLOT_TRADE_KEY_MAMA
+ ITEM_NONE, // SLOT_POWDER_KEG
+ ITEM_NONE, // SLOT_PICTOGRAPH_BOX
+ ITEM_NONE, // SLOT_LENS_OF_TRUTH
+ ITEM_NONE, // SLOT_HOOKSHOT
+ ITEM_NONE, // SLOT_SWORD_GREAT_FAIRY
+ ITEM_NONE, // SLOT_TRADE_COUPLE
+ ITEM_NONE, // SLOT_BOTTLE_1
+ ITEM_NONE, // SLOT_BOTTLE_2
+ ITEM_NONE, // SLOT_BOTTLE_3
+ ITEM_NONE, // SLOT_BOTTLE_4
+ ITEM_NONE, // SLOT_BOTTLE_5
+ ITEM_NONE, // SLOT_BOTTLE_6
+ ITEM_NONE, // SLOT_MASK_POSTMAN
+ ITEM_NONE, // SLOT_MASK_ALL_NIGHT
+ ITEM_NONE, // SLOT_MASK_BLAST
+ ITEM_NONE, // SLOT_MASK_STONE
+ ITEM_NONE, // SLOT_MASK_GREAT_FAIRY
+ ITEM_NONE, // SLOT_MASK_DEKU
+ ITEM_NONE, // SLOT_MASK_KEATON
+ ITEM_NONE, // SLOT_MASK_BREMEN
+ ITEM_NONE, // SLOT_MASK_BUNNY
+ ITEM_NONE, // SLOT_MASK_DON_GERO
+ ITEM_NONE, // SLOT_MASK_SCENTS
+ ITEM_NONE, // SLOT_MASK_GORON
+ ITEM_NONE, // SLOT_MASK_ROMANI
+ ITEM_NONE, // SLOT_MASK_CIRCUS_LEADER
+ ITEM_NONE, // SLOT_MASK_KAFEIS_MASK
+ ITEM_NONE, // SLOT_MASK_COUPLE
+ ITEM_NONE, // SLOT_MASK_TRUTH
+ ITEM_NONE, // SLOT_MASK_ZORA
+ ITEM_NONE, // SLOT_MASK_KAMARO
+ ITEM_NONE, // SLOT_MASK_GIBDO
+ ITEM_NONE, // SLOT_MASK_GARO
+ ITEM_NONE, // SLOT_MASK_CAPTAIN
+ ITEM_NONE, // SLOT_MASK_GIANT
+ ITEM_NONE, // SLOT_MASK_FIERCE_DEITY
},
// ammo
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+ {
+ 0, // SLOT_OCARINA
+ 0, // SLOT_BOW
+ 0, // SLOT_ARROW_FIRE
+ 0, // SLOT_ARROW_ICE
+ 0, // SLOT_ARROW_LIGHT
+ 0, // SLOT_TRADE_DEED
+ 0, // SLOT_BOMB
+ 0, // SLOT_BOMBCHU
+ 0, // SLOT_DEKU_STICK
+ 0, // SLOT_DEKU_NUT
+ 0, // SLOT_MAGIC_BEANS
+ 0, // SLOT_TRADE_KEY_MAMA
+ 0, // SLOT_POWDER_KEG
+ 0, // SLOT_PICTOGRAPH_BOX
+ 0, // SLOT_LENS_OF_TRUTH
+ 0, // SLOT_HOOKSHOT
+ 0, // SLOT_SWORD_GREAT_FAIRY
+ 0, // SLOT_TRADE_COUPLE
+ 0, // SLOT_BOTTLE_1
+ 0, // SLOT_BOTTLE_2
+ 0, // SLOT_BOTTLE_3
+ 0, // SLOT_BOTTLE_4
+ 0, // SLOT_BOTTLE_5
+ 0, // SLOT_BOTTLE_6
+ },
// upgrades
- 0x120000,
+ (0 << 0) | // UPG_QUIVER
+ (0 << 3) | // UPG_BOMB_BAG
+ (0 << 6) | // UPG_STRENGTH
+ (0 << 9) | // UPG_SCALE
+ (0 << 12) | // UPG_WALLET
+ (0 << 14) | // UPG_BULLET_BAG
+ (1 << 17) | // UPG_DEKU_STICKS
+ (1 << 20), // UPG_DEKU_NUTS
// questItems
0,
// dungeonItems
@@ -901,59 +976,91 @@ ItemEquips sSaveDebugItemEquips = {
Inventory sSaveDebugInventory = {
// items
{
- ITEM_OCARINA_OF_TIME,
- ITEM_BOW,
- ITEM_ARROW_FIRE,
- ITEM_ARROW_ICE,
- ITEM_ARROW_LIGHT,
- ITEM_MOONS_TEAR,
- ITEM_BOMB,
- ITEM_BOMBCHU,
- ITEM_DEKU_STICK,
- ITEM_DEKU_NUT,
- ITEM_MAGIC_BEANS,
- ITEM_ROOM_KEY,
- ITEM_POWDER_KEG,
- ITEM_PICTOGRAPH_BOX,
- ITEM_LENS_OF_TRUTH,
- ITEM_HOOKSHOT,
- ITEM_SWORD_GREAT_FAIRY,
- ITEM_LETTER_TO_KAFEI,
- ITEM_BOTTLE,
- ITEM_POTION_RED,
- ITEM_POTION_GREEN,
- ITEM_POTION_BLUE,
- ITEM_NONE,
- ITEM_NONE,
- ITEM_MASK_POSTMAN,
- ITEM_MASK_ALL_NIGHT,
- ITEM_MASK_BLAST,
- ITEM_MASK_STONE,
- ITEM_MASK_GREAT_FAIRY,
- ITEM_MASK_DEKU,
- ITEM_MASK_KEATON,
- ITEM_MASK_BREMEN,
- ITEM_MASK_BUNNY,
- ITEM_MASK_DON_GERO,
- ITEM_MASK_SCENTS,
- ITEM_MASK_GORON,
- ITEM_MASK_ROMANI,
- ITEM_MASK_CIRCUS_LEADER,
- ITEM_MASK_KAFEIS_MASK,
- ITEM_MASK_COUPLE,
- ITEM_MASK_TRUTH,
- ITEM_MASK_ZORA,
- ITEM_MASK_KAMARO,
- ITEM_MASK_GIBDO,
- ITEM_MASK_GARO,
- ITEM_MASK_CAPTAIN,
- ITEM_MASK_GIANT,
- ITEM_MASK_FIERCE_DEITY,
+ ITEM_OCARINA_OF_TIME, // SLOT_OCARINA
+ ITEM_BOW, // SLOT_BOW
+ ITEM_ARROW_FIRE, // SLOT_ARROW_FIRE
+ ITEM_ARROW_ICE, // SLOT_ARROW_ICE
+ ITEM_ARROW_LIGHT, // SLOT_ARROW_LIGHT
+ ITEM_MOONS_TEAR, // SLOT_TRADE_DEED
+ ITEM_BOMB, // SLOT_BOMB
+ ITEM_BOMBCHU, // SLOT_BOMBCHU
+ ITEM_DEKU_STICK, // SLOT_DEKU_STICK
+ ITEM_DEKU_NUT, // SLOT_DEKU_NUT
+ ITEM_MAGIC_BEANS, // SLOT_MAGIC_BEANS
+ ITEM_ROOM_KEY, // SLOT_TRADE_KEY_MAMA
+ ITEM_POWDER_KEG, // SLOT_POWDER_KEG
+ ITEM_PICTOGRAPH_BOX, // SLOT_PICTOGRAPH_BOX
+ ITEM_LENS_OF_TRUTH, // SLOT_LENS_OF_TRUTH
+ ITEM_HOOKSHOT, // SLOT_HOOKSHOT
+ ITEM_SWORD_GREAT_FAIRY, // SLOT_SWORD_GREAT_FAIRY
+ ITEM_LETTER_TO_KAFEI, // SLOT_TRADE_COUPLE
+ ITEM_BOTTLE, // SLOT_BOTTLE_1
+ ITEM_POTION_RED, // SLOT_BOTTLE_2
+ ITEM_POTION_GREEN, // SLOT_BOTTLE_3
+ ITEM_POTION_BLUE, // SLOT_BOTTLE_4
+ ITEM_NONE, // SLOT_BOTTLE_5
+ ITEM_NONE, // SLOT_BOTTLE_6
+ ITEM_MASK_POSTMAN, // SLOT_MASK_POSTMAN
+ ITEM_MASK_ALL_NIGHT, // SLOT_MASK_ALL_NIGHT
+ ITEM_MASK_BLAST, // SLOT_MASK_BLAST
+ ITEM_MASK_STONE, // SLOT_MASK_STONE
+ ITEM_MASK_GREAT_FAIRY, // SLOT_MASK_GREAT_FAIRY
+ ITEM_MASK_DEKU, // SLOT_MASK_DEKU
+ ITEM_MASK_KEATON, // SLOT_MASK_KEATON
+ ITEM_MASK_BREMEN, // SLOT_MASK_BREMEN
+ ITEM_MASK_BUNNY, // SLOT_MASK_BUNNY
+ ITEM_MASK_DON_GERO, // SLOT_MASK_DON_GERO
+ ITEM_MASK_SCENTS, // SLOT_MASK_SCENTS
+ ITEM_MASK_GORON, // SLOT_MASK_GORON
+ ITEM_MASK_ROMANI, // SLOT_MASK_ROMANI
+ ITEM_MASK_CIRCUS_LEADER, // SLOT_MASK_CIRCUS_LEADER
+ ITEM_MASK_KAFEIS_MASK, // SLOT_MASK_KAFEIS_MASK
+ ITEM_MASK_COUPLE, // SLOT_MASK_COUPLE
+ ITEM_MASK_TRUTH, // SLOT_MASK_TRUTH
+ ITEM_MASK_ZORA, // SLOT_MASK_ZORA
+ ITEM_MASK_KAMARO, // SLOT_MASK_KAMARO
+ ITEM_MASK_GIBDO, // SLOT_MASK_GIBDO
+ ITEM_MASK_GARO, // SLOT_MASK_GARO
+ ITEM_MASK_CAPTAIN, // SLOT_MASK_CAPTAIN
+ ITEM_MASK_GIANT, // SLOT_MASK_GIANT
+ ITEM_MASK_FIERCE_DEITY, // SLOT_MASK_FIERCE_DEITY
},
// ammo
- { 1, 30, 1, 1, 1, 1, 30, 30, 30, 30, 1, 1, 1, 1, 30, 1, 1, 1, 1, 1, 1, 1, 0, 0 },
+ {
+ 1, // SLOT_OCARINA
+ 30, // SLOT_BOW
+ 1, // SLOT_ARROW_FIRE
+ 1, // SLOT_ARROW_ICE
+ 1, // SLOT_ARROW_LIGHT
+ 1, // SLOT_TRADE_DEED
+ 30, // SLOT_BOMB
+ 30, // SLOT_BOMBCHU
+ 30, // SLOT_DEKU_STICK
+ 30, // SLOT_DEKU_NUT
+ 1, // SLOT_MAGIC_BEANS
+ 1, // SLOT_TRADE_KEY_MAMA
+ 1, // SLOT_POWDER_KEG
+ 1, // SLOT_PICTOGRAPH_BOX
+ 30, // SLOT_LENS_OF_TRUTH
+ 1, // SLOT_HOOKSHOT
+ 1, // SLOT_SWORD_GREAT_FAIRY
+ 1, // SLOT_TRADE_COUPLE
+ 1, // SLOT_BOTTLE_1
+ 1, // SLOT_BOTTLE_2
+ 1, // SLOT_BOTTLE_3
+ 1, // SLOT_BOTTLE_4
+ 0, // SLOT_BOTTLE_5
+ 0, // SLOT_BOTTLE_6
+ },
// upgrades
- 0x120009,
+ (1 << 0) | // UPG_QUIVER
+ (1 << 3) | // UPG_BOMB_BAG
+ (0 << 6) | // UPG_STRENGTH
+ (0 << 9) | // UPG_SCALE
+ (0 << 12) | // UPG_WALLET
+ (0 << 14) | // UPG_BULLET_BAG
+ (1 << 17) | // UPG_DEKU_STICKS
+ (1 << 20), // UPG_DEKU_NUTS
// questItems
(1 << QUEST_SONG_SONATA) | (1 << QUEST_SONG_LULLABY) | (1 << QUEST_SONG_BOSSA_NOVA) | (1 << QUEST_SONG_ELEGY) |
(1 << QUEST_SONG_OATH) | (1 << QUEST_SONG_TIME) | (1 << QUEST_SONG_HEALING) | (1 << QUEST_SONG_EPONA) |
@@ -991,12 +1098,20 @@ Inventory sSaveDebugInventory = {
u16 sSaveDebugChecksum = 0;
-u8 D_801C6A48[] = {
- ITEM_MASK_FIERCE_DEITY, ITEM_MASK_GORON, ITEM_MASK_ZORA, ITEM_MASK_DEKU, ITEM_MASK_FIERCE_DEITY,
+u8 D_801C6A48[PLAYER_FORM_MAX] = {
+ ITEM_MASK_FIERCE_DEITY, // PLAYER_FORM_FIERCE_DEITY
+ ITEM_MASK_GORON, // PLAYER_FORM_GORON
+ ITEM_MASK_ZORA, // PLAYER_FORM_ZORA
+ ITEM_MASK_DEKU, // PLAYER_FORM_DEKU
+ ITEM_MASK_FIERCE_DEITY, // PLAYER_FORM_HUMAN
};
-u8 D_801C6A50[] = {
- SLOT_MASK_FIERCE_DEITY, SLOT_MASK_GORON, SLOT_MASK_ZORA, SLOT_MASK_DEKU, SLOT_MASK_FIERCE_DEITY,
+u8 D_801C6A50[PLAYER_FORM_MAX] = {
+ SLOT_MASK_FIERCE_DEITY, // PLAYER_FORM_FIERCE_DEITY
+ SLOT_MASK_GORON, // PLAYER_FORM_GORON
+ SLOT_MASK_ZORA, // PLAYER_FORM_ZORA
+ SLOT_MASK_DEKU, // PLAYER_FORM_DEKU
+ SLOT_MASK_FIERCE_DEITY, // PLAYER_FORM_HUMAN
};
/**
diff --git a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c
index ae9016ad70..fdfcd67de1 100644
--- a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c
+++ b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c
@@ -70,7 +70,7 @@ void DemoTreLgt_Init(Actor* thisx, PlayState* play) {
this->colorAlpha2 = 255;
this->status = 0;
//! @bug Zora Link should also use animationType 0
- if (gSaveContext.save.playerForm == PLAYER_FORM_FIERCE_DEITY) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_FIERCE_DEITY) {
this->animationType = 0;
} else {
this->animationType = 1;
diff --git a/src/overlays/actors/ovl_En_Az/z_en_az.c b/src/overlays/actors/ovl_En_Az/z_en_az.c
index a5fdfe0a10..26e91978fe 100644
--- a/src/overlays/actors/ovl_En_Az/z_en_az.c
+++ b/src/overlays/actors/ovl_En_Az/z_en_az.c
@@ -1190,7 +1190,7 @@ s32 func_80A97274(EnAz* this, PlayState* play) {
case 0:
default:
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
- if (!(CHECK_WEEKEVENTREG(WEEKEVENTREG_16_40))) {
+ if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_40)) {
textId = 0x10CE;
} else {
textId = 0x10D4;
diff --git a/src/overlays/actors/ovl_En_Bh/z_en_bh.c b/src/overlays/actors/ovl_En_Bh/z_en_bh.c
index 6d99ada15b..f73657d4d0 100644
--- a/src/overlays/actors/ovl_En_Bh/z_en_bh.c
+++ b/src/overlays/actors/ovl_En_Bh/z_en_bh.c
@@ -89,7 +89,7 @@ void func_80C22DEC(EnBh* this, PlayState* play) {
}
} else {
SkelAnime_Update(&this->skelanime);
- if ((this->timer == 0) && (Animation_OnFrame(&this->skelanime, 6.0f))) {
+ if ((this->timer == 0) && Animation_OnFrame(&this->skelanime, 6.0f)) {
this->skelanime.playSpeed = 0.0f;
this->timer = Rand_ZeroFloat(50.0f) + 50.0f;
}
diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c
index 86bb604316..01bf4a5224 100644
--- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c
+++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c
@@ -119,7 +119,7 @@ void func_809CD028(EnBji01* this, PlayState* play) {
switch (this->actor.params) {
case SHIKASHI_TYPE_DEFAULT:
case SHIKASHI_TYPE_FINISHED_CONVERSATION:
- switch (gSaveContext.save.playerForm) {
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_DEKU:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_17_10)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_74_80)) {
@@ -132,6 +132,7 @@ void func_809CD028(EnBji01* this, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_17_10);
}
break;
+
case PLAYER_FORM_HUMAN:
if (Player_GetMask(play) == PLAYER_MASK_KAFEIS_MASK) {
this->textId = 0x236A;
@@ -142,6 +143,7 @@ void func_809CD028(EnBji01* this, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_74_10);
}
break;
+
case PLAYER_FORM_GORON:
case PLAYER_FORM_ZORA:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_08)) {
@@ -151,10 +153,14 @@ void func_809CD028(EnBji01* this, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_75_08);
}
break;
+
+ default:
+ break;
}
break;
+
case SHIKASHI_TYPE_LOOKED_THROUGH_TELESCOPE:
- switch (gSaveContext.save.playerForm) {
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_DEKU:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_74_80)) {
this->textId = 0x5F2;
@@ -164,18 +170,22 @@ void func_809CD028(EnBji01* this, PlayState* play) {
func_800B8500(&this->actor, play, this->actor.xzDistToPlayer, this->actor.playerHeightRel,
PLAYER_IA_NONE);
break;
+
case PLAYER_FORM_HUMAN:
this->textId = 0x5F7;
break;
+
case PLAYER_FORM_GORON:
case PLAYER_FORM_ZORA:
switch (CURRENT_DAY) {
case 1:
this->textId = 0x5E9;
break;
+
case 2:
this->textId = 0x5EA;
break;
+
case 3:
timeUntilMoonCrash = TIME_UNTIL_MOON_CRASH;
if (timeUntilMoonCrash < CLOCK_TIME_F(1, 0)) {
@@ -184,9 +194,19 @@ void func_809CD028(EnBji01* this, PlayState* play) {
this->textId = 0x5EB;
}
break;
+
+ default:
+ break;
}
+ break;
+
+ default:
+ break;
}
break;
+
+ default:
+ break;
}
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 2, &this->animIndex);
this->actionFunc = EnBji01_DialogueHandler;
@@ -201,6 +221,7 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) {
Message_StartTextbox(play, this->textId, &this->actor);
}
break;
+
case TEXT_STATE_CHOICE:
if (Message_ShouldAdvance(play)) {
this->actor.flags &= ~ACTOR_FLAG_10000;
@@ -211,24 +232,34 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) {
Message_CloseTextbox(play);
func_809CD634(this, play);
break;
+
case 1:
Audio_PlaySfx_MessageCancel();
- switch (gSaveContext.save.playerForm) {
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_DEKU:
Message_ContinueTextbox(play, 0x5F0);
break;
+
case PLAYER_FORM_HUMAN:
Message_ContinueTextbox(play, 0x5F8);
break;
+
case PLAYER_FORM_GORON:
case PLAYER_FORM_ZORA:
Message_ContinueTextbox(play, 0x5E1);
break;
+
+ default:
+ break;
}
break;
+
+ default:
+ break;
}
}
break;
+
case TEXT_STATE_5:
if (Message_ShouldAdvance(play)) {
this->actor.flags &= ~ACTOR_FLAG_10000;
@@ -237,15 +268,19 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) {
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 3, &this->animIndex);
Message_ContinueTextbox(play, 0x5DF);
break;
+
case 0x5E4:
Message_ContinueTextbox(play, 0x5E7);
break;
+
case 0x5E5:
Message_ContinueTextbox(play, 0x5E0);
break;
+
case 0x5E7:
Message_ContinueTextbox(play, 0x5E5);
break;
+
case 0x5DC:
case 0x5DD:
case 0x5DF:
@@ -256,10 +291,12 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) {
case 0x5F5:
Message_ContinueTextbox(play, play->msgCtx.currentTextId + 1);
break;
+
case 0x5F0:
case 0x5F6:
Message_ContinueTextbox(play, 0x5EF);
break;
+
case 0x5E1:
case 0x5E8:
case 0x5E9:
@@ -275,14 +312,21 @@ void EnBji01_DialogueHandler(EnBji01* this, PlayState* play) {
this->actor.params = SHIKASHI_TYPE_FINISHED_CONVERSATION;
func_809CCE98(this, play);
break;
+
+ default:
+ break;
}
}
break;
+
case TEXT_STATE_DONE:
this->actor.params = SHIKASHI_TYPE_FINISHED_CONVERSATION;
this->actor.flags &= ~ACTOR_FLAG_10000;
func_809CCE98(this, play);
break;
+
+ default:
+ break;
}
if ((this->animIndex == 3) && (this->skelAnime.curFrame == this->skelAnime.endFrame)) {
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 2, &this->animIndex);
diff --git a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c
index ef5c9c0e24..dbcd864b17 100644
--- a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c
+++ b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c
@@ -109,7 +109,7 @@ s32 EnBjt_ChangeAnim(EnBjt* this, s32 animIndex) {
s32 changed = false;
if ((animIndex == TOILET_HAND_ANIM_WAITING) || (animIndex == TOILET_HAND_ANIM_WAITING_MORPH)) {
- if (!((this->animIndex == TOILET_HAND_ANIM_WAITING) || (this->animIndex == TOILET_HAND_ANIM_WAITING_MORPH))) {
+ if ((this->animIndex != TOILET_HAND_ANIM_WAITING) && (this->animIndex != TOILET_HAND_ANIM_WAITING_MORPH)) {
changeAnim = true;
}
} else if (this->animIndex != animIndex) {
diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.c b/src/overlays/actors/ovl_En_Box/z_en_box.c
index 40a63050ba..333ca42761 100644
--- a/src/overlays/actors/ovl_En_Box/z_en_box.c
+++ b/src/overlays/actors/ovl_En_Box/z_en_box.c
@@ -72,17 +72,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 0, ICHAIN_STOP),
};
-typedef struct {
- /* 0x0 */ f32 data[5];
-} EnBox_PlaybackSpeed; // 0x14
-
-static EnBox_PlaybackSpeed sPlaybackSpeed = { { 1.5f, 1.0f, 1.5f, 1.0f, 1.5f } };
-
-static AnimationHeader* sBigChestAnimations[5] = {
- &gBoxBigChestOpenAdultAnim, &gBoxBigChestOpenGoronAnim, &gBoxBigChestOpenAdultAnim,
- &gBoxBigChestOpenDekuAnim, &gBoxBigChestOpenChildAnim,
-};
-
void EnBox_SetupAction(EnBox* this, EnBoxActionFunc func) {
this->actionFunc = func;
}
@@ -452,13 +441,17 @@ void func_80868B74(EnBox* this, PlayState* play) {
}
void EnBox_WaitOpen(EnBox* this, PlayState* play) {
+ static AnimationHeader* sBigChestAnimations[PLAYER_FORM_MAX] = {
+ &gBoxBigChestOpenAdultAnim, // PLAYER_FORM_FIERCE_DEITY
+ &gBoxBigChestOpenGoronAnim, // PLAYER_FORM_GORON
+ &gBoxBigChestOpenAdultAnim, // PLAYER_FORM_ZORA
+ &gBoxBigChestOpenDekuAnim, // PLAYER_FORM_DEKU
+ &gBoxBigChestOpenChildAnim, // PLAYER_FORM_HUMAN
+ };
s32 pad;
AnimationHeader* animHeader;
f32 frameCount;
f32 playbackSpeed;
- EnBox_PlaybackSpeed playbackSpeedTable;
- Player* player;
- Vec3f offset;
this->alpha = 255;
this->movementFlags |= ENBOX_MOVE_IMMOBILE;
@@ -468,12 +461,16 @@ void EnBox_WaitOpen(EnBox* this, PlayState* play) {
animHeader = &gBoxChestOpenAnim;
playbackSpeed = 1.5f;
} else {
- u8 playerForm;
+ f32 sPlaybackSpeeds[PLAYER_FORM_MAX] = {
+ 1.5f, // PLAYER_FORM_FIERCE_DEITY
+ 1.0f, // PLAYER_FORM_GORON
+ 1.5f, // PLAYER_FORM_ZORA
+ 1.0f, // PLAYER_FORM_DEKU
+ 1.5f, // PLAYER_FORM_HUMAN
+ };
- playbackSpeedTable = sPlaybackSpeed;
- playerForm = gSaveContext.save.playerForm;
- animHeader = sBigChestAnimations[playerForm];
- playbackSpeed = playbackSpeedTable.data[playerForm];
+ animHeader = sBigChestAnimations[GET_PLAYER_FORM];
+ playbackSpeed = sPlaybackSpeeds[GET_PLAYER_FORM];
}
frameCount = Animation_GetLastFrame(animHeader);
@@ -496,9 +493,11 @@ void EnBox_WaitOpen(EnBox* this, PlayState* play) {
Flags_SetTreasure(play, ENBOX_GET_CHEST_FLAG(&this->dyna.actor));
}
} else {
- player = GET_PLAYER(play);
+ Player* player = GET_PLAYER(play);
+ Vec3f offset;
+
Actor_OffsetOfPointInActorCoords(&this->dyna.actor, &offset, &player->actor.world.pos);
- if (offset.z > -50.0f && offset.z < 0.0f && fabsf(offset.y) < 10.0f && fabsf(offset.x) < 20.0f &&
+ if ((offset.z > -50.0f) && (offset.z < 0.0f) && (fabsf(offset.y) < 10.0f) && (fabsf(offset.x) < 20.0f) &&
Player_IsFacingActor(&this->dyna.actor, 0x3000, play)) {
if (((this->getItemId == GI_HEART_PIECE) || (this->getItemId == GI_BOTTLE)) &&
Flags_GetCollectible(play, this->collectableFlag)) {
@@ -550,10 +549,9 @@ void EnBox_Open(EnBox* this, PlayState* play) {
s32 bgId;
u16 sfxId = 0;
- if (Animation_OnFrame(&this->skelAnime, gSaveContext.save.playerForm == PLAYER_FORM_DEKU ? 14.0f : 30.0f)) {
+ if (Animation_OnFrame(&this->skelAnime, GET_PLAYER_FORM == PLAYER_FORM_DEKU ? 14.0f : 30.0f)) {
sfxId = NA_SE_EV_TBOX_UNLOCK;
- } else if (Animation_OnFrame(&this->skelAnime,
- gSaveContext.save.playerForm == PLAYER_FORM_DEKU ? 15.0f : 90.0f)) {
+ } else if (Animation_OnFrame(&this->skelAnime, GET_PLAYER_FORM == PLAYER_FORM_DEKU ? 15.0f : 90.0f)) {
sfxId = NA_SE_EV_TBOX_OPEN;
}
if (sfxId != NA_SE_NONE) {
diff --git a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c
index 9d368d68b6..d7c66ea109 100644
--- a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c
+++ b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c
@@ -450,8 +450,8 @@ s32 func_8089AE00(EnDinofos* this, PlayState* play) {
return true;
}
- if ((gSaveContext.save.playerForm == PLAYER_FORM_GORON) && (player->actor.velocity.y < -5.0f) &&
- (player->unk_AE7 == 1) && (this->unk_28B == 0)) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_GORON) && (player->actor.velocity.y < -5.0f) && (player->unk_AE7 == 1) &&
+ (this->unk_28B == 0)) {
this->unk_28B = 1;
for (i = 0; i < ARRAY_COUNT(this->colliderJntSphElement) - 3; i++) {
this->colliderJntSph.elements[i].info.bumper.dmgFlags &= ~0x400;
diff --git a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c
index f756614717..2753650a5f 100644
--- a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c
+++ b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c
@@ -558,7 +558,7 @@ void func_80A3A8F8(EnElfgrp* this, PlayState* play) {
}
if (this->actor.xzDistToPlayer < 30.0f) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
this->actor.flags &= ~ACTOR_FLAG_10000;
player->actor.freezeTimer = 100;
player->stateFlags1 |= PLAYER_STATE1_20000000;
diff --git a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c
index 3145e10aaf..2f8648316a 100644
--- a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c
+++ b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c
@@ -385,7 +385,7 @@ void EnElforg_CirclePlayer(EnElforg* this, PlayState* play) {
Player* player = GET_PLAYER(play);
f32 distanceFromPlayer;
- if (gSaveContext.save.playerForm == PLAYER_FORM_GORON) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_GORON) {
distanceFromPlayer = 40.0f;
} else {
distanceFromPlayer = 20.0f;
diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c
index a9eb004a9f..02b1178c2d 100644
--- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c
+++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c
@@ -4306,7 +4306,7 @@ void EnFishing_UpdatePondProps(PlayState* play) {
actor = play->actorCtx.actorLists[ACTORCAT_NPC].first;
while (actor != NULL) {
- if (!((actor->id == ACTOR_EN_FISHING) && (actor->params >= 100))) {
+ if ((actor->id != ACTOR_EN_FISHING) || (actor->params < 100)) {
actor = actor->next;
} else {
EnFishing_HandleReedContact(prop, &actor->world.pos);
@@ -4320,7 +4320,7 @@ void EnFishing_UpdatePondProps(PlayState* play) {
actor = play->actorCtx.actorLists[ACTORCAT_NPC].first;
while (actor != NULL) {
- if (!((actor->id == ACTOR_EN_FISHING) && (actor->params >= 100))) {
+ if ((actor->id != ACTOR_EN_FISHING) || (actor->params < 100)) {
actor = actor->next;
} else {
EnFishing_HandleLilyPadContact(prop, &actor->world.pos, ((EnFishing*)actor)->unk_149);
diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
index 6aaeb679b5..d3c5f17beb 100644
--- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
+++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c
@@ -134,9 +134,12 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_STOP),
};
-static Vec3f D_808D3900[] = {
- { 25.0f, 45.0f, -7.0f }, { 25.0f, 40.0f, -12.0f }, { 25.0f, 35.0f, -2.0f },
- { 10.0f, 20.0f, -4.0f }, { 15.0f, 25.0f, -2.0f },
+static Vec3f D_808D3900[PLAYER_FORM_MAX] = {
+ { 25.0f, 45.0f, -7.0f }, // PLAYER_FORM_FIERCE_DEITY
+ { 25.0f, 40.0f, -12.0f }, // PLAYER_FORM_GORON
+ { 25.0f, 35.0f, -2.0f }, // PLAYER_FORM_ZORA
+ { 10.0f, 20.0f, -4.0f }, // PLAYER_FORM_DEKU
+ { 15.0f, 25.0f, -2.0f }, // PLAYER_FORM_HUMAN
};
static s8 D_808D393C[] = {
diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
index 34e2c9dc04..a07bede526 100644
--- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c
+++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c
@@ -111,7 +111,7 @@ void func_809616E0(EnFu* this, PlayState* play) {
s16 spA0 = false;
Vec3f sp94;
- if ((gSaveContext.save.playerForm == PLAYER_FORM_DEKU) && (CURRENT_DAY == 3)) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_DEKU) && (CURRENT_DAY == 3)) {
spA0 = true;
}
this->unk_54C = 0;
@@ -385,7 +385,7 @@ void func_80962340(EnFu* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
if (this->unk_54A == 2) {
if (this->unk_552 == 0x287D) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
Message_StartTextbox(play, 0x287E, &this->actor);
this->unk_552 = 0x287E;
} else if ((CURRENT_DAY == 3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10) &&
@@ -653,7 +653,7 @@ void func_80962A10(EnFu* this, PlayState* play) {
this->unk_546 = 1;
}
- if ((gSaveContext.save.playerForm == PLAYER_FORM_DEKU) && gSaveContext.save.saveInfo.playerData.isMagicAcquired) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_DEKU) && gSaveContext.save.saveInfo.playerData.isMagicAcquired) {
Magic_Add(play, MAGIC_FILL_TO_CAPACITY);
}
@@ -748,7 +748,7 @@ void func_80962F4C(EnFu* this, PlayState* play) {
switch (this->unk_542) {
case 0:
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
player->stateFlags3 |= PLAYER_STATE3_400;
}
break;
@@ -821,7 +821,7 @@ void func_8096326C(EnFu* this, PlayState* play) {
}
void func_809632D0(EnFu* this) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
}
@@ -897,7 +897,7 @@ void func_80963630(EnFu* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_20) && (CURRENT_DAY == 3) &&
- (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_40)) {
Message_StartTextbox(play, 0x2884, &this->actor);
this->unk_552 = 0x2884;
@@ -918,7 +918,7 @@ void func_80963630(EnFu* this, PlayState* play) {
this->actor.child->freezeTimer = 0;
func_809628BC(this);
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
switch (CURRENT_DAY) {
case 1:
SET_WEEKEVENTREG(WEEKEVENTREG_22_10);
@@ -1016,7 +1016,7 @@ s32 func_809638F8(PlayState* play) {
void func_809639D0(EnFu* this, PlayState* play) {
switch (CURRENT_DAY) {
case 1:
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
Message_StartTextbox(play, 0x2853, &this->actor);
this->unk_552 = 0x2853;
@@ -1038,7 +1038,7 @@ void func_809639D0(EnFu* this, PlayState* play) {
break;
case 2:
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
Message_StartTextbox(play, 0x286F, &this->actor);
this->unk_552 = 0x286F;
} else if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
@@ -1067,8 +1067,8 @@ void func_809639D0(EnFu* this, PlayState* play) {
break;
case 3:
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
func_80963EAC(this, play);
} else {
Message_StartTextbox(play, 0x2841, &this->actor);
@@ -1118,7 +1118,7 @@ void func_809639D0(EnFu* this, PlayState* play) {
void func_80963DE4(EnFu* this, PlayState* play) {
switch (this->unk_542) {
case 0:
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
Message_StartTextbox(play, 0x2875, &this->actor);
this->unk_552 = 0x2875;
} else {
diff --git a/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c b/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c
index 52e947dbd5..c7066cf305 100644
--- a/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c
+++ b/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c
@@ -373,7 +373,7 @@ s32 func_80ACF04C(EnFuMato* this, PlayState* play) {
Actor_PlaySfx(&this->dyna.actor, NA_SE_SY_TRE_BOX_APPEAR);
fu->unk_548++;
- if ((fu->unk_542 == 2) || (gSaveContext.save.playerForm == PLAYER_FORM_DEKU)) {
+ if ((fu->unk_542 == 2) || (GET_PLAYER_FORM == PLAYER_FORM_DEKU)) {
fu->unk_546 = 1;
func_80ACE680(this);
} else {
diff --git a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c
index 8f343a2703..5a6ab4aba2 100644
--- a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c
+++ b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c
@@ -97,10 +97,10 @@ void EnGinkoMan_Idle(EnGinkoMan* this, PlayState* play) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
if ((CURRENT_DAY == 3) && (gSaveContext.save.isNight == true)) {
Message_StartTextbox(play, 0x467, &this->actor);
- this->curTextId = 0x467; // "What's this? You need somethin' on a day like this?
+ this->curTextId = 0x467;
} else {
Message_StartTextbox(play, 0x466, &this->actor);
- this->curTextId = 0x466; // What's this? You need somethin'?
+ this->curTextId = 0x466;
}
}
EnGinkoMan_SetupDialogue(this);
@@ -116,25 +116,26 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) {
}
switch (this->curTextId) {
- case 0x44C: // "Hey there, little guy! Won't you deposit some Rupees? (first dialogue)
+ case 0x44C:
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_10_08)) {
Message_StartTextbox(play, 0x44E, &this->actor);
- this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
+ this->curTextId = 0x44E;
} else {
Message_StartTextbox(play, 0x44D, &this->actor);
- this->curTextId =
- 0x44D; // "For example, if you deposit 200 Rupees, you'll get an item that holds a lot of Rupees."
+ this->curTextId = 0x44D;
}
break;
- case 0x44D: // "For example, if you deposit 200 Rupees, you'll get an item that holds a lot of Rupees."
+
+ case 0x44D:
Message_StartTextbox(play, 0x44E, &this->actor);
- this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
+ this->curTextId = 0x44E;
break;
- case 0x44F: // "...So, what'll it be? Deposit Rupees Don't deposit Rupees"
+
+ case 0x44F:
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING);
Message_StartTextbox(play, 0x450, &this->actor);
- this->curTextId = 0x450; // "How much? How much? [rupee prompt]
+ this->curTextId = 0x450;
break;
case 0x453: // you deposited a tiny amount
@@ -142,59 +143,61 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) {
case 0x455: // you deposited a lot
if (this->isNewAccount == true) {
this->isNewAccount = false;
- if (this->curTextId != 0x453) { // "That's it? That ain't nothing at all, big spender!
+ if (this->curTextId != 0x453) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
}
Message_StartTextbox(play, 0x461, &this->actor);
- this->curTextId = 0x461; // So, little guy, what's your name?
+ this->curTextId = 0x461;
} else {
- if (this->curTextId == 0x453) { // "That's it? That ain't nothing at all, big spender!
+ if (this->curTextId == 0x453) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING);
}
play->msgCtx.bankRupees = gSaveContext.save.saveInfo.bankRupees & 0xFFFF;
Message_StartTextbox(play, 0x45A, &this->actor);
- this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
+ this->curTextId = 0x45A;
}
break;
- case 0x456: // "Is that so? Think about it, little guy!"
- case 0x459: // "Heyyy! You don't have that much!
+
+ case 0x456:
+ case 0x459:
Message_StartTextbox(play, 0x44E, &this->actor);
- this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
+ this->curTextId = 0x44E;
break;
- case 0x45A: // "All right, little guy, now I've got a total of [rupees] from you!"
+
+ case 0x45A:
if (((gSaveContext.save.saveInfo.bankRupees & 0xFFFF) >= 200) && (this->previousBankValue < 200) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_59_40)) {
SET_WEEKEVENTREG(WEEKEVENTREG_59_40);
Message_StartTextbox(play, 0x45B, &this->actor);
- this->curTextId = 0x45B; // "What's this? You've already saved up 200 Rupees!?!
+ this->curTextId = 0x45B;
} else if (((gSaveContext.save.saveInfo.bankRupees & 0xFFFF) >= 1000) &&
((this->previousBankValue) < 1000) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_59_80)) {
SET_WEEKEVENTREG(WEEKEVENTREG_59_80);
Message_StartTextbox(play, 0x45C, &this->actor);
- this->curTextId = 0x45C; // "What's this? You've already saved up 1000 Rupees!?!
+ this->curTextId = 0x45C;
} else if ((gSaveContext.save.saveInfo.bankRupees & 0xFFFF) >= 5000) {
if ((this->previousBankValue < 5000) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_60_01)) {
SET_WEEKEVENTREG(WEEKEVENTREG_60_01);
Message_StartTextbox(play, 0x45D, &this->actor);
- this->curTextId = 0x45D; // "What's this? You've already saved up 5000 Rupees?!
+ this->curTextId = 0x45D;
} else if (this->previousBankValue < (s16)(gSaveContext.save.saveInfo.bankRupees & 0xFFFF)) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
Message_StartTextbox(play, 0x45E, &this->actor);
- this->curTextId =
- 0x45E; // "...Hang on there, little guy. I can't take any more deposits. Sorry..."
+ this->curTextId = 0x45E;
} else {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING);
Message_StartTextbox(play, 0x460, &this->actor);
- this->curTextId = 0x460; // "Come back and deposit some after you save up a bunch!"
+ this->curTextId = 0x460;
}
} else {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING);
Message_StartTextbox(play, 0x460, &this->actor);
- this->curTextId = 0x460; // "Come back and deposit some after you save up a bunch!"
+ this->curTextId = 0x460;
}
break;
+
case 0x45B: // given 200 reward
case 0x45C: // given 1000 reward
case 0x45D: // given 5000 reward
@@ -203,121 +206,134 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) {
EnGinkoMan_SetupBankAward(this);
EnGinkoMan_BankAward(this, play);
break;
- case 0x461: // So, little guy, what's your name?
+
+ case 0x461:
Message_StartTextbox(play, 0x462, &this->actor);
- this->curTextId = 0x462; // Hmm... Link is it?
+ this->curTextId = 0x462;
break;
- case 0x462: // Hmm.. Link is it?
+
+ case 0x462:
Message_StartTextbox(play, 0x463, &this->actor);
- this->curTextId = 0x463; // Got it... I won't forget your deposits. Let me stamp you
+ this->curTextId = 0x463;
break;
- case 0x463: // Got it... I won't forget your deposits. Let me stamp you
+
+ case 0x463:
Message_StartTextbox(play, 0x464, &this->actor);
- this->curTextId = 0x464; // Hey, relax! It doesn't leave any marks
+ this->curTextId = 0x464;
break;
- case 0x464: // Hey, relax! It doesn't leave any marks
+
+ case 0x464:
play->msgCtx.msgMode = 0x44;
EnGinkoMan_SetupStamp(this); // stamp player
break;
- case 0x465: // "There! Now I'll know you when I see you!"
+
+ case 0x465:
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING);
play->msgCtx.bankRupees = gSaveContext.save.saveInfo.bankRupees & 0xFFFF;
Message_StartTextbox(play, 0x45A, &this->actor);
- this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
+ this->curTextId = 0x45A;
break;
- case 0x466: // What's this? You need somethin'?
- case 0x467: // "What's this? You need somethin' on a day like this? You haven't evacuated yet?
+
+ case 0x466:
+ case 0x467:
Message_StartTextbox(play, 0x468, &this->actor);
- this->curTextId = 0x468; // " Deposit Rupees Withdraw Rupees Nothing really"
+ this->curTextId = 0x468;
break;
- case 0x469: // "Excuse me, but let me take a look at you..."
+
+ case 0x469:
EnGinkoMan_SetupStamp(this); // stamp player
break;
- case 0x46A: // "Ah, yes...[Link]. If I remember, you're the little guy who deposited [rupees]."
- case 0x46C: // "Ah, yes...[Link], right? If I remember, you're the little guy who deposited [rupees]."
- case 0x47E: // "Your deposits total [rupees]."
+
+ case 0x46A:
+ case 0x46C:
+ case 0x47E:
if (this->choiceDepositWithdrawl == GINKOMAN_CHOICE_DEPOSIT) {
if ((u32)(gSaveContext.save.saveInfo.bankRupees & 0xFFFF) >= 5000) {
Message_StartTextbox(play, 0x45F, &this->actor);
- this->curTextId = 0x45F; // "Excuuuse me! But I can't take anymore deposits!
+ this->curTextId = 0x45F;
} else if (gSaveContext.save.saveInfo.playerData.rupees == 0) {
Message_StartTextbox(play, 0x458, &this->actor);
- this->curTextId =
- 0x458; // "Hmm...You play mean jokes, little guy! You haven't even got a single Rupee!
+ this->curTextId = 0x458;
} else {
Message_StartTextbox(play, 0x479, &this->actor);
- this->curTextId = 0x479; // "Well, are you gonna make a deposit?"
+ this->curTextId = 0x479;
}
} else if ((CURRENT_DAY == 3) && (gSaveContext.save.isNight == true)) {
Message_StartTextbox(play, 0x46D, &this->actor);
- // "Look, little guy, if it's 'cause of the bad rumors going around, forget it! They're just rumors!"
+
this->curTextId = 0x46D;
} else { // GINKOMAN_CHOICE_WITHDRAWL
Message_StartTextbox(play, 0x46B, &this->actor);
- this->curTextId = 0x46B; // "So..."
+ this->curTextId = 0x46B;
}
this->choiceDepositWithdrawl = GINKOMAN_CHOICE_RESET;
break;
- case 0x46B: // So...
+
+ case 0x46B:
Message_StartTextbox(play, 0x46E, &this->actor);
- this->curTextId = 0x46E; // "How much do you want? [rupee prompt]
+ this->curTextId = 0x46E;
break;
- case 0x46D: // "Look, little guy, if it's 'cause of the bad rumors going around, forget it! They're just
- // rumors!"
+
+ case 0x46D:
Message_StartTextbox(play, 0x46B, &this->actor);
- this->curTextId = 0x46B; // So...
+ this->curTextId = 0x46B;
break;
- case 0x470: // "Is that so? Come back and deposit some after saving up a bunch!"
+
+ case 0x470:
if (Message_ShouldAdvance(play)) {
Message_CloseTextbox(play);
this->isStampChecked = false;
EnGinkoMan_SetupIdle(this); // change to waiting for approach
}
break;
- case 0x476: // "...You haven't deposited that many Rupees, so that much isn't available for withdrawal. Do the
- // math!
+
+ case 0x476:
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
- case 0x475: // "What's this? Look, little guy, you can't hold this many rupees! You got that?"
- case 0x47C: // "Is that so? Think it over, little guy! So what are you gonna do?"
- case 0x47D: // duplicate of 48
+ // fallthrough
+ case 0x475:
+ case 0x47C:
+ case 0x47D:
Message_StartTextbox(play, 0x468, &this->actor);
- this->curTextId = 0x468; // " Deposit Rupees Withdraw Rupees Nothing really"
+ this->curTextId = 0x468;
break;
- case 0x472: // "What's this? It's a waste to take out such a tiny bit! ...But if you say so!"
- case 0x473: // Use it wisely...
- case 0x474: // "Aw, you're taking out all that? If you spend it like that, it'll all be gone before you know
- // it!"
+
+ case 0x472:
+ case 0x473:
+ case 0x474:
if ((gSaveContext.save.saveInfo.bankRupees & 0xFFFF) == 0) {
Message_StartTextbox(play, 0x478, &this->actor);
- // "Look, little guy, all the Rupees you deposited are gone, so you can't use that stamp anymore."
this->curTextId = 0x478;
} else {
play->msgCtx.bankRupees = gSaveContext.save.saveInfo.bankRupees & 0xFFFF;
Message_StartTextbox(play, 0x45A, &this->actor);
- this->curTextId = 0x45A; // "All right, little guy, now I've got a total of [rupees] from you!"
+ this->curTextId = 0x45A;
}
break;
- case 0x477: // "...You know, at this time of day there's a 4 Rupee service charge on withdrawals!"
+
+ case 0x477:
Message_StartTextbox(play, 0x471, &this->actor);
- this->curTextId = 0x471; // "Are you really withdrawing [rupees selected]? Y/n"
+ this->curTextId = 0x471;
this->serviceFee = play->msgCtx.unk1206C;
break;
- case 0x479: // Well, are you gonna make a deposit?
+
+ case 0x479:
Message_StartTextbox(play, 0x44F, &this->actor);
- this->curTextId = 0x44F; // "All right! So..."
+ this->curTextId = 0x44F;
+ break;
+
+ default:
break;
}
}
-// actionfunc: wait for player dialogue input
void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) {
if (!Message_ShouldAdvance(play)) {
return;
}
switch (this->curTextId) {
- case 0x44E: // "...So, what'll it be?
+ case 0x44E:
if (play->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) {
if ((gSaveContext.save.saveInfo.bankRupees & 0xFFFF) >= 5000) {
Audio_PlaySfx(NA_SE_SY_ERROR);
@@ -327,7 +343,7 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) {
if (gSaveContext.save.saveInfo.playerData.rupees > 0) {
Audio_PlaySfx_MessageDecide();
Message_StartTextbox(play, 0x44F, &this->actor);
- this->curTextId = 0x44F; // "All right! so..."
+ this->curTextId = 0x44F;
} else {
Audio_PlaySfx(NA_SE_SY_ERROR);
Message_StartTextbox(play, 0x458, &this->actor);
@@ -337,28 +353,29 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) {
} else { // GINKOMAN_CHOICE_NO
Audio_PlaySfx_MessageCancel();
Message_StartTextbox(play, 0x451, &this->actor);
- this->curTextId = 0x451; // dont say that, come on, trust me!
+ this->curTextId = 0x451;
}
break;
- case 0x452: // Really? are you really depositing rupees?
+
+ case 0x452:
if (play->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) {
if (gSaveContext.save.saveInfo.playerData.rupees < play->msgCtx.bankRupeesSelected) {
Audio_PlaySfx(NA_SE_SY_ERROR);
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
Message_StartTextbox(play, 0x459, &this->actor);
- this->curTextId = 0x459; // HEY you dont have that much
+ this->curTextId = 0x459;
} else {
Audio_PlaySfx_MessageDecide();
if (play->msgCtx.bankRupeesSelected >= 100) {
Message_StartTextbox(play, 0x455, &this->actor);
- this->curTextId = 0x455; // You're really going to be give me that much? Rich little guy!
+ this->curTextId = 0x455;
} else if (play->msgCtx.bankRupeesSelected >= 10) {
Message_StartTextbox(play, 0x454, &this->actor);
- this->curTextId = 0x454; // Seriously? that's a lot. A lot!
+ this->curTextId = 0x454;
} else {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
Message_StartTextbox(play, 0x453, &this->actor);
- this->curTextId = 0x453; // That's it? That aint nothing at all
+ this->curTextId = 0x453;
}
if ((gSaveContext.save.saveInfo.bankRupees & 0xFFFF) == 0) {
@@ -376,56 +393,58 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
if ((gSaveContext.save.saveInfo.bankRupees & 0xFFFF) == 0) {
Message_StartTextbox(play, 0x456, &this->actor);
- this->curTextId = 0x456; // Is that so? think about it
+ this->curTextId = 0x456;
} else {
Message_StartTextbox(play, 0x47D, &this->actor);
- this->curTextId = 0x47D; // is that so? think it over
+ this->curTextId = 0x47D;
}
}
break;
- case 0x468: // Deposit OR withdrawl OR cancel screen
+
+ case 0x468:
if (play->msgCtx.choiceIndex == GINKOMAN_CHOICE_CANCEL) {
Audio_PlaySfx_MessageCancel();
Message_StartTextbox(play, 0x470, &this->actor);
- this->curTextId = 0x470; // "Is that so? Come back and deposit some after saving up a bunch!"
+ this->curTextId = 0x470;
} else {
Audio_PlaySfx_MessageDecide();
this->choiceDepositWithdrawl = play->msgCtx.choiceIndex;
if (!this->isStampChecked) {
this->isStampChecked = true;
Message_StartTextbox(play, 0x469, &this->actor);
- this->curTextId = 0x469; // "Excuse me, but let me take a look at you..."
+ this->curTextId = 0x469;
} else {
Message_StartTextbox(play, 0x47E, &this->actor);
- this->curTextId = 0x47E; // "Your deposits total [rupees]."
+ this->curTextId = 0x47E;
}
}
break;
- case 0x471: // Are you really withdrawling [selected rupees]?
+
+ case 0x471:
if (play->msgCtx.choiceIndex == GINKOMAN_CHOICE_YES) {
if ((s32)((gSaveContext.save.saveInfo.bankRupees & 0xFFFF)) <
((s32)(play->msgCtx.bankRupeesSelected + this->serviceFee))) {
Audio_PlaySfx(NA_SE_SY_ERROR);
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_LEGSMACKING);
Message_StartTextbox(play, 0x476, &this->actor);
- this->curTextId = 0x476; // you dont have enough deposited to withdrawl
+ this->curTextId = 0x476;
} else if (CUR_CAPACITY(UPG_WALLET) <
(play->msgCtx.bankRupeesSelected + gSaveContext.save.saveInfo.playerData.rupees)) {
// check if wallet is big enough
Audio_PlaySfx(NA_SE_SY_ERROR);
Message_StartTextbox(play, 0x475, &this->actor);
- this->curTextId = 0x475; // You can't hold that many in your wallet
+ this->curTextId = 0x475;
} else {
Audio_PlaySfx_MessageDecide();
if (play->msgCtx.bankRupeesSelected >= 100) {
Message_StartTextbox(play, 0x474, &this->actor);
- this->curTextId = 0x474; // Aw, you're taking out all that?
+ this->curTextId = 0x474;
} else if (play->msgCtx.bankRupeesSelected >= 10) {
Message_StartTextbox(play, 0x473, &this->actor);
- this->curTextId = 0x473; // use it wisely
+ this->curTextId = 0x473;
} else {
Message_StartTextbox(play, 0x472, &this->actor);
- this->curTextId = 0x472; // It's a waste to take out such a tiny bit
+ this->curTextId = 0x472;
}
this->previousBankValue = (s16)(gSaveContext.save.saveInfo.bankRupees & 0xFFFF);
@@ -438,38 +457,45 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, PlayState* play) {
} else {
Audio_PlaySfx_MessageCancel();
Message_StartTextbox(play, 0x47C, &this->actor);
- this->curTextId = 0x47C; // "Is that so? Think it over, little guy! So what are you gonna do?"
+ this->curTextId = 0x47C;
}
break;
+
+ default:
+ break;
}
}
void EnGinkoMan_WaitForRupeeCount(EnGinkoMan* this, PlayState* play) {
if (Message_ShouldAdvance(play)) {
switch (this->curTextId) {
- case 0x450: // "How much? How much?" [rupee prompt] Set the amount with [Control Stick] and
+ case 0x450:
if (play->msgCtx.bankRupeesSelected == 0) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
Message_StartTextbox(play, 0x457, &this->actor);
- this->curTextId = 0x457; // Zero Rupees? Cruel joke!
+ this->curTextId = 0x457;
} else {
Message_StartTextbox(play, 0x452, &this->actor);
- this->curTextId = 0x452; // Really? are you really depositing [x]? Y/n
+ this->curTextId = 0x452;
}
break;
- case 0x46E: // "How much do you want?" [rupee prompt] Set the amount with [Control Stick]
+
+ case 0x46E:
if (play->msgCtx.bankRupeesSelected == 0) {
Message_StartTextbox(play, 0x46F, &this->actor);
- this->curTextId = 0x46F; // "Zero Rupees?!? That's a cruel joke!"
+ this->curTextId = 0x46F;
} else if (gSaveContext.save.isNight == true) {
Message_StartTextbox(play, 0x477, &this->actor);
- this->curTextId = 0x477; // "...You know, at this time of day there's a 4 Rupee service charge...
+ this->curTextId = 0x477;
} else {
Message_StartTextbox(play, 0x471, &this->actor);
- this->curTextId = 0x471; // "Are you really withdrawing [rupees selected]? Y/n
+ this->curTextId = 0x471;
this->serviceFee = 0;
}
break;
+
+ default:
+ break;
}
}
}
@@ -523,13 +549,13 @@ void EnGinkoMan_BankAward(EnGinkoMan* this, PlayState* play) {
// Parent is the player when starting to receive the award
this->actor.parent = NULL;
EnGinkoMan_SetupBankAward2(this);
- } else if (this->curTextId == 0x45B) { // "Whats this, you already saved up 200?"
+ } else if (this->curTextId == 0x45B) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_10_08)) {
Actor_OfferGetItem(&this->actor, play, GI_WALLET_ADULT + CUR_UPG_VALUE(UPG_WALLET), 500.0f, 100.0f);
} else {
Actor_OfferGetItem(&this->actor, play, GI_RUPEE_BLUE, 500.0f, 100.0f);
}
- } else if (this->curTextId == 0x45C) { // "Whats this, you already saved up 5000?"
+ } else if (this->curTextId == 0x45C) {
Actor_OfferGetItem(&this->actor, play, GI_RUPEE_BLUE, 500.0f, 100.0f);
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_59_08)) {
Actor_OfferGetItem(&this->actor, play, GI_HEART_PIECE, 500.0f, 100.0f);
@@ -547,8 +573,6 @@ void EnGinkoMan_SetupBankAward2(EnGinkoMan* this) {
void EnGinkoMan_BankAward2(EnGinkoMan* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_10_08) && (this->curTextId == 0x45B)) {
- // "What's this? You've already saved up 200 Rupees!?! Well, little guy, here's your special gift. Take
- // it!"
SET_WEEKEVENTREG(WEEKEVENTREG_10_08);
Message_StartTextbox(play, 0x47A, &this->actor);
this->curTextId = 0x47A; // Message after receiving reward for depositing 200 rupees.
@@ -577,29 +601,32 @@ void EnGinkoMan_SetupStamp(EnGinkoMan* this) {
}
void EnGinkoMan_Stamp(EnGinkoMan* this, PlayState* play) {
- if ((this->curTextId == 0x464) // "Hey, relax! It doesn't leave any marks, and it's not gonna hurt."
- && (Animation_OnFrame(&this->skelAnime, 10.0f))) {
+ if ((this->curTextId == 0x464) && Animation_OnFrame(&this->skelAnime, 10.0f)) {
Actor_PlaySfx(&this->actor, NA_SE_EV_HANKO); // "stamp"
}
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
switch (this->curTextId) {
- case 0x464: // "Hey, relax! It doesn't leave any marks, and it's not gonna hurt."
+ case 0x464:
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
Message_StartTextbox(play, 0x465, &this->actor);
- this->curTextId = 0x465; // "There! Now I'll know you when I see you!"
+ this->curTextId = 0x465;
break;
- case 0x469: // "Excuse me, but let me take a look at you..."
+
+ case 0x469:
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
play->msgCtx.bankRupees = (gSaveContext.save.saveInfo.bankRupees & 0xFFFF);
if ((CURRENT_DAY == 3) && (gSaveContext.save.isNight == true)) {
Message_StartTextbox(play, 0x46C, &this->actor);
- this->curTextId = 0x46C; // "Ah, yes...[Link], right?
+ this->curTextId = 0x46C;
} else {
Message_StartTextbox(play, 0x46A, &this->actor);
- this->curTextId = 0x46A; // "Ah, yes...[Link].
+ this->curTextId = 0x46A;
}
break;
+
+ default:
+ break;
}
EnGinkoMan_SetupDialogue(this);
diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.c b/src/overlays/actors/ovl_En_Go/z_en_go.c
index ec5905594f..65a71f49ab 100644
--- a/src/overlays/actors/ovl_En_Go/z_en_go.c
+++ b/src/overlays/actors/ovl_En_Go/z_en_go.c
@@ -1781,7 +1781,7 @@ void EnGo_ChangeToShiveringAnimation(EnGo* this, PlayState* play) {
void EnGo_SetupAthletic(EnGo* this, PlayState* play) {
if (((gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 0)) ||
(gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 2))) &&
- (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_SNOWHEAD_TEMPLE))) {
+ CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_SNOWHEAD_TEMPLE)) {
EnGo_ChangeToStretchingAnimation(this, play);
this->actionFunc = EnGo_Idle;
} else {
diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.c b/src/overlays/actors/ovl_En_Gs/z_en_gs.c
index cc0f6d500a..e5ae695ed9 100644
--- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c
+++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c
@@ -298,7 +298,7 @@ void func_8099807C(EnGs* this, PlayState* play) {
break;
case OCARINA_SONG_SONATA:
- if ((this->actor.params == ENGS_1) && (gSaveContext.save.playerForm == PLAYER_FORM_DEKU)) {
+ if ((this->actor.params == ENGS_1) && (GET_PLAYER_FORM == PLAYER_FORM_DEKU)) {
this->unk_194 = 1;
this->unk_19C = 5;
this->unk_19A |= 1;
@@ -308,7 +308,7 @@ void func_8099807C(EnGs* this, PlayState* play) {
break;
case OCARINA_SONG_NEW_WAVE:
- if ((this->actor.params == ENGS_1) && (gSaveContext.save.playerForm == PLAYER_FORM_ZORA)) {
+ if ((this->actor.params == ENGS_1) && (GET_PLAYER_FORM == PLAYER_FORM_ZORA)) {
this->unk_194 = 3;
this->unk_19C = 5;
this->unk_19A |= 1;
@@ -318,7 +318,7 @@ void func_8099807C(EnGs* this, PlayState* play) {
break;
case OCARINA_SONG_GORON_LULLABY:
- if ((this->actor.params == ENGS_1) && (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) {
+ if ((this->actor.params == ENGS_1) && (GET_PLAYER_FORM == PLAYER_FORM_GORON)) {
this->unk_194 = 2;
this->unk_19C = 5;
this->unk_19A |= 1;
diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.c b/src/overlays/actors/ovl_En_Hg/z_en_hg.c
index 98ac6348b5..aa4e0b8913 100644
--- a/src/overlays/actors/ovl_En_Hg/z_en_hg.c
+++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.c
@@ -390,8 +390,7 @@ void EnHg_WaitForPlayerAction(EnHg* this, PlayState* play) {
}
if (play->msgCtx.ocarinaMode == 3) {
- if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) &&
- (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
if (INV_CONTENT(ITEM_MASK_GIBDO) == ITEM_MASK_GIBDO) {
this->csIdIndex = HG_CS_SONG_OF_HEALING;
} else {
diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c
index 02c6d252c5..4ff47c7812 100644
--- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c
+++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c
@@ -159,7 +159,7 @@ void EnHgo_Talk(EnHgo* this, PlayState* play) {
Message_StartTextbox(play, 0x15A7, &this->actor);
this->textId = 0x15A7; // can I research that mask
}
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
if (!(this->talkFlags & TALK_FLAG_HAS_SPOKEN_WITH_HUMAN)) {
this->talkFlags |= TALK_FLAG_HAS_SPOKEN_WITH_HUMAN;
Message_StartTextbox(play, 0x158F, &this->actor);
diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c
index 89d9b093f2..1921ea6a2d 100644
--- a/src/overlays/actors/ovl_En_In/z_en_in.c
+++ b/src/overlays/actors/ovl_En_In/z_en_in.c
@@ -479,10 +479,9 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
switch (arg2) {
case 0:
- if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) ||
- (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_ZORA) || (GET_PLAYER_FORM == PLAYER_FORM_GORON)) {
textId = 0x345C;
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
textId = 0x3460;
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_15_08)) {
textId = 0x3458;
@@ -500,10 +499,9 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
break;
case 3:
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
textId = 0x3485;
- } else if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) ||
- (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) {
+ } else if ((GET_PLAYER_FORM == PLAYER_FORM_ZORA) || (GET_PLAYER_FORM == PLAYER_FORM_GORON)) {
textId = 0x3484;
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_56_04)) {
textId = 0x346D;
@@ -513,10 +511,9 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
break;
case 4:
- if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) ||
- (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_ZORA) || (GET_PLAYER_FORM == PLAYER_FORM_GORON)) {
textId = 0x348A;
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
textId = 0x348B;
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_01)) {
textId = 0x3486;
@@ -536,10 +533,9 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
break;
case 7:
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
textId = 0x34A8;
- } else if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) ||
- (gSaveContext.save.playerForm == PLAYER_FORM_GORON)) {
+ } else if ((GET_PLAYER_FORM == PLAYER_FORM_ZORA) || (GET_PLAYER_FORM == PLAYER_FORM_GORON)) {
textId = 0x34A7;
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_04)) {
textId = 0x3495;
diff --git a/src/overlays/actors/ovl_En_Jg/z_en_jg.c b/src/overlays/actors/ovl_En_Jg/z_en_jg.c
index abb1f1438c..19836174c6 100644
--- a/src/overlays/actors/ovl_En_Jg/z_en_jg.c
+++ b/src/overlays/actors/ovl_En_Jg/z_en_jg.c
@@ -501,8 +501,8 @@ void EnJg_Talk(EnJg* this, PlayState* play) {
play->msgCtx.stateTimer = 4;
this->flags &= ~FLAG_LOOKING_AT_PLAYER;
this->actionFunc = EnJg_SetupWalk;
- } else if ((CHECK_WEEKEVENTREG(WEEKEVENTREG_24_40)) ||
- (CHECK_QUEST_ITEM(QUEST_SONG_LULLABY) || CHECK_QUEST_ITEM(QUEST_SONG_LULLABY_INTRO))) {
+ } else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_40) || CHECK_QUEST_ITEM(QUEST_SONG_LULLABY) ||
+ CHECK_QUEST_ITEM(QUEST_SONG_LULLABY_INTRO)) {
// The player already has the Lullaby or Lullaby Intro, so say "I'm counting on you"
this->textId = EnJg_GetNextTextId(this);
Message_StartTextbox(play, this->textId, &this->actor);
@@ -678,8 +678,8 @@ void EnJg_LullabyIntroCutsceneAction(EnJg* this, PlayState* play) {
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->cutsceneAnimIndex);
}
- if ((!(this->flags & FLAG_DRUM_SPAWNED)) &&
- (((this->cutsceneAnimIndex == EN_JG_ANIM_TAKING_OUT_DRUM) && (Animation_OnFrame(&this->skelAnime, 14.0f)) &&
+ if (!(this->flags & FLAG_DRUM_SPAWNED) &&
+ (((this->cutsceneAnimIndex == EN_JG_ANIM_TAKING_OUT_DRUM) && Animation_OnFrame(&this->skelAnime, 14.0f) &&
(this->action != EN_JG_ACTION_LULLABY_INTRO_CS)) ||
(((this->cutsceneAnimIndex == EN_JG_ANIM_DRUM_IDLE) ||
(this->cutsceneAnimIndex == EN_JG_ANIM_PLAYING_DRUM)) &&
diff --git a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c
index b023bf688d..551b75eb51 100644
--- a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c
+++ b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c
@@ -190,8 +190,7 @@ void func_80C13BB8(EnJgameTsn* this, PlayState* play) {
}
if ((player->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && !(player->stateFlags1 & PLAYER_STATE1_2000) &&
- (this->unk_2FE == 0) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) &&
- func_80C149B0(play, &this->unk_1F8)) {
+ (this->unk_2FE == 0) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) && func_80C149B0(play, &this->unk_1F8)) {
this->unk_2FE = 1;
func_80C13E6C(this);
} else if (!(player->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) {
diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.c b/src/overlays/actors/ovl_En_Js/z_en_js.c
index 5687242371..ea5352a7e3 100644
--- a/src/overlays/actors/ovl_En_Js/z_en_js.c
+++ b/src/overlays/actors/ovl_En_Js/z_en_js.c
@@ -631,7 +631,7 @@ void func_80969898(EnJs* this, PlayState* play) {
void func_80969AA0(EnJs* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
textId = 0x220B;
} else {
textId = 0x2215;
@@ -807,7 +807,7 @@ void func_80969DA4(EnJs* this, PlayState* play) {
void func_8096A080(EnJs* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
textId = 0x2218;
} else {
textId = 0x221B;
@@ -837,7 +837,7 @@ void func_8096A104(EnJs* this, PlayState* play) {
void func_8096A184(EnJs* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
textId = 0x220B;
} else if (func_80968E38(0) >= 20) {
textId = 0x2202;
diff --git a/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c b/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c
index cfd27fbb08..6e4d55d28d 100644
--- a/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c
+++ b/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c
@@ -235,8 +235,6 @@ void func_80B3415C(EnKbt* this) {
}
void func_80B34314(EnKbt* this, PlayState* play) {
- s32 playerForm;
-
func_80B34078(this);
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
@@ -250,10 +248,9 @@ void func_80B34314(EnKbt* this, PlayState* play) {
} else if (this->actor.xzDistToPlayer < 250.0f) {
if ((this->unk_278 != NULL) && (this->unk_278->xzDistToPlayer < 250.0f)) {
if (this->unk_27C & 4) {
- playerForm = gSaveContext.save.playerForm;
- if (((playerForm ^ 0) != PLAYER_FORM_HUMAN) || ((CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_KOKIRI) &&
- (CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_RAZOR) &&
- (CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_GILDED))) {
+ if ((GET_PLAYER_FORM != PLAYER_FORM_HUMAN) || ((CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_KOKIRI) &&
+ (CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_RAZOR) &&
+ (CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_GILDED))) {
this->actor.textId = 0xC38;
} else if (CURRENT_DAY == 3) {
this->actor.textId = 0xC39;
@@ -264,17 +261,27 @@ void func_80B34314(EnKbt* this, PlayState* play) {
}
}
- if (this->actor.textId != 0xC37) {
- if (((this->actor.textId == 0xC4E) || (this->actor.textId == 0xC4F) || (this->actor.textId == 0xC50)) &&
- (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN)) {
- this->actor.textId = 0xC37;
- }
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
- if (func_80B33E8C(play)) {
- this->actor.textId = 0xC50;
- } else {
- this->actor.textId = 0xC4E;
- }
+ switch (this->actor.textId) {
+ case 0xC4E:
+ case 0xC4F:
+ case 0xC50:
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
+ this->actor.textId = 0xC37;
+ }
+ break;
+
+ case 0xC37:
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
+ if (func_80B33E8C(play)) {
+ this->actor.textId = 0xC50;
+ } else {
+ this->actor.textId = 0xC4E;
+ }
+ }
+ break;
+
+ default:
+ break;
}
func_800B8614(&this->actor, play, 260.0f);
}
diff --git a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c
index c0063896ad..77ad3e4c58 100644
--- a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c
+++ b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c
@@ -169,8 +169,8 @@ void func_80B2654C(EnKendoJs* this, PlayState* play) {
if (ENKENDOJS_GET_FF(&this->actor) == ENKENDOJS_FF_1) {
Message_StartTextbox(play, 0x273C, &this->actor);
this->unk_288 = 0x273C;
- } else if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
- switch (gSaveContext.save.playerForm) {
+ } else if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_DEKU:
phi_v0 = 0;
break;
diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c
index 38a870a149..fb87c35465 100644
--- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c
+++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c
@@ -361,7 +361,7 @@ void func_80B413C8(EnKgy* this) {
}
s32 func_80B41460(void) {
- if ((gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) ||
+ if ((GET_PLAYER_FORM != PLAYER_FORM_HUMAN) ||
((CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_KOKIRI) && (CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_RAZOR) &&
(CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_GILDED))) {
return 0xC38;
diff --git a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c
index b89b085c50..cae3ae6e1d 100644
--- a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c
+++ b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c
@@ -201,7 +201,7 @@ void func_80AE9BCC(EnLiftNuts* this, PlayState* play) {
(this->actionFunc != func_80AEACF8) && (this->actionFunc != func_80AEAC64) &&
(this->actionFunc != func_80AEA044) && (this->actionFunc != func_80AEB598) &&
(this->actionFunc != func_80AEB698) && !func_80AE9B4C(0, 3) && (func_80AE9B8C() == 3) &&
- (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) && (this->actor.xzDistToPlayer < 150.0f)) {
+ (GET_PLAYER_FORM == PLAYER_FORM_DEKU) && (this->actor.xzDistToPlayer < 150.0f)) {
func_80AEB828(this);
}
}
@@ -322,7 +322,7 @@ void func_80AEA1A0(EnLiftNuts* this, PlayState* play) {
func_80AE9FC8(this);
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
if (func_80AE9B4C(0, 0)) {
switch (CURRENT_DAY) {
case 1:
diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c
index 9adf841f7b..8809fbff57 100644
--- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c
+++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c
@@ -608,7 +608,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, PlayState* play) {
break;
case 0x3358:
- if ((gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) || !CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
+ if ((GET_PLAYER_FORM != PLAYER_FORM_HUMAN) || !CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
Message_StartTextbox(play, 0x335C, &this->actor);
this->textId = 0x335C;
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_ROMANI);
@@ -883,7 +883,7 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
switch (this->type) {
case MA4_TYPE_DAY1:
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_21_80)) {
EnMa4_SetFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x3337, &this->actor);
@@ -939,7 +939,7 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
break;
case MA4_TYPE_ALIENS_DEFEATED:
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_21_80)) {
EnMa4_SetFaceExpression(this, 3, 3);
Message_StartTextbox(play, 0x3337, &this->actor);
diff --git a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c
index 5e63c7990d..008507f9bb 100644
--- a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c
+++ b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c
@@ -1109,7 +1109,7 @@ void EnMaYto_PostMilkRunEnd(EnMaYto* this, PlayState* play) {
void EnMaYto_DefaultStartDialogue(EnMaYto* this, PlayState* play) {
if (CURRENT_DAY == 1) {
- if ((Player_GetMask(play) != PLAYER_MASK_NONE) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ if ((Player_GetMask(play) != PLAYER_MASK_NONE) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
switch (Player_GetMask(play)) {
case PLAYER_MASK_ROMANI:
Message_StartTextbox(play, 0x235D, &this->actor);
@@ -1168,7 +1168,7 @@ void EnMaYto_DefaultStartDialogue(EnMaYto* this, PlayState* play) {
void EnMaYto_DinnerStartDialogue(EnMaYto* this, PlayState* play) {
switch (CURRENT_DAY) {
case 1:
- if ((Player_GetMask(play) != PLAYER_MASK_NONE) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ if ((Player_GetMask(play) != PLAYER_MASK_NONE) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
switch (Player_GetMask(play)) {
case PLAYER_MASK_ROMANI:
Message_StartTextbox(play, 0x235D, &this->actor);
diff --git a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c
index bb9c9c926d..faa78983fc 100644
--- a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c
+++ b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.c
@@ -302,7 +302,7 @@ void EnMaYts_StartDialogue(EnMaYts* this, PlayState* play) {
s16 sp26 = this->actor.shape.rot.y - this->actor.yawTowardsPlayer;
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
- if (!(gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_65_80)) {
// Saying to non-human Link: "Cremia went to town."
SET_WEEKEVENTREG(WEEKEVENTREG_65_80);
diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/src/overlays/actors/ovl_En_Mk/z_en_mk.c
index 92a3ff91ee..17396969a4 100644
--- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c
+++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c
@@ -135,6 +135,9 @@ void func_8095954C(EnMk* this, PlayState* play) {
case 5:
func_809592E0(this, play->csCtx.actorCues[Cutscene_GetCueChannel(play, CS_CMD_ACTOR_CUE_127)]->id - 1);
break;
+
+ default:
+ break;
}
} else {
func_809592E0(this, 0);
@@ -144,7 +147,7 @@ void func_8095954C(EnMk* this, PlayState* play) {
void func_80959624(EnMk* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (this->unk_27A & 4) {
textId = 0xFB9;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE)) {
@@ -209,7 +212,7 @@ void func_80959844(EnMk* this, PlayState* play) {
} else if (func_80959524(play) >= 7) {
textId = 0xFB3;
} else {
- switch (gSaveContext.save.playerForm) {
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_DEKU:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_19_10)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE)) {
@@ -411,7 +414,7 @@ void func_80959E18(EnMk* this, PlayState* play) {
if (func_800B8718(&this->actor, &play->state)) {
play->msgCtx.ocarinaMode = 4;
this->actionFunc = func_80959D28;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
this->actor.csId = this->csIdList[0];
SET_WEEKEVENTREG(WEEKEVENTREG_20_40);
Item_Give(play, ITEM_SONG_NOVA);
diff --git a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c
index 1edfbe2ed6..de2896c286 100644
--- a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c
+++ b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c
@@ -458,8 +458,8 @@ void func_80A6FEEC(EnMm3* this, PlayState* play) {
}
s32 func_80A6FFAC(EnMm3* this, PlayState* play) {
- switch (gSaveContext.save.playerForm) {
- case 4:
+ switch (GET_PLAYER_FORM) {
+ case PLAYER_FORM_HUMAN:
if (Player_GetMask(play) == PLAYER_MASK_BUNNY) {
if (this->unk_2B2 & 0x10) {
return true;
@@ -469,31 +469,34 @@ s32 func_80A6FFAC(EnMm3* this, PlayState* play) {
}
break;
- case 3:
+ case PLAYER_FORM_DEKU:
if (this->unk_2B2 & 2) {
return true;
}
break;
- case 2:
+ case PLAYER_FORM_ZORA:
if (this->unk_2B2 & 4) {
return true;
}
break;
- case 1:
+ case PLAYER_FORM_GORON:
if (this->unk_2B2 & 8) {
return true;
}
break;
+
+ default:
+ break;
}
return false;
}
void func_80A70084(EnMm3* this, PlayState* play) {
- switch (gSaveContext.save.playerForm) {
- case 4:
+ switch (GET_PLAYER_FORM) {
+ case PLAYER_FORM_HUMAN:
if (Player_GetMask(play) == PLAYER_MASK_BUNNY) {
this->unk_2B2 |= 0x10;
this->unk_2B2 |= 1;
@@ -502,17 +505,20 @@ void func_80A70084(EnMm3* this, PlayState* play) {
}
break;
- case 3:
+ case PLAYER_FORM_DEKU:
this->unk_2B2 |= 2;
break;
- case 2:
+ case PLAYER_FORM_ZORA:
this->unk_2B2 |= 4;
break;
- case 1:
+ case PLAYER_FORM_GORON:
this->unk_2B2 |= 8;
break;
+
+ default:
+ break;
}
}
diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c
index e47515c5d9..989f1e84fa 100644
--- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c
+++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.c
@@ -603,7 +603,7 @@ void func_80BD994C(EnPamera* this, PlayState* play) {
Message_StartTextbox(play, 0x15A8, &this->actor);
this->unk_324 = 0x15A8;
- } else if ((gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) ||
+ } else if ((GET_PLAYER_FORM != PLAYER_FORM_HUMAN) ||
(CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20))) {
func_80BD93CC(this, 1, 0);
diff --git a/src/overlays/actors/ovl_En_Pr/z_en_pr.c b/src/overlays/actors/ovl_En_Pr/z_en_pr.c
index 98762c9070..3d7615b5e8 100644
--- a/src/overlays/actors/ovl_En_Pr/z_en_pr.c
+++ b/src/overlays/actors/ovl_En_Pr/z_en_pr.c
@@ -66,7 +66,13 @@ static DamageTable sDamageTable = {
/* Powder Keg */ DMG_ENTRY(1, 0xF),
};
-f32 D_80A338C0[PLAYER_FORM_MAX] = { 30.0f, 30.0f, 30.0f, 15.0f, 15.0f };
+f32 D_80A338C0[PLAYER_FORM_MAX] = {
+ 30.0f, // PLAYER_FORM_FIERCE_DEITY
+ 30.0f, // PLAYER_FORM_GORON
+ 30.0f, // PLAYER_FORM_ZORA
+ 15.0f, // PLAYER_FORM_DEKU
+ 15.0f, // PLAYER_FORM_HUMAN
+};
ActorInit En_Pr_InitVars = {
ACTOR_EN_PR,
diff --git a/src/overlays/actors/ovl_En_Prz/z_en_prz.c b/src/overlays/actors/ovl_En_Prz/z_en_prz.c
index ef37cf9f0a..a6fbdba129 100644
--- a/src/overlays/actors/ovl_En_Prz/z_en_prz.c
+++ b/src/overlays/actors/ovl_En_Prz/z_en_prz.c
@@ -60,7 +60,13 @@ static DamageTable sDamageTable = {
/* Powder Keg */ DMG_ENTRY(1, 0xF),
};
-f32 D_80A771E0[] = { 40.0f, 40.0f, 40.0f, 30.0f, 30.0f };
+f32 D_80A771E0[PLAYER_FORM_MAX] = {
+ 40.0f, // PLAYER_FORM_FIERCE_DEITY
+ 40.0f, // PLAYER_FORM_GORON
+ 40.0f, // PLAYER_FORM_ZORA
+ 30.0f, // PLAYER_FORM_DEKU
+ 30.0f, // PLAYER_FORM_HUMAN
+};
static ColliderCylinderInit sCylinderInit = {
{
diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c
index 099d92166f..06a9136ffa 100644
--- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c
+++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c
@@ -382,8 +382,7 @@ void EnRailgibud_WalkToPlayer(EnRailgibud* this, PlayState* play) {
if (EnRailgibud_PlayerInRangeWithCorrectState(this, play) && Actor_IsFacingPlayer(&this->actor, 0x38E3)) {
if ((this->grabWaitTimer == 0) && (this->actor.xzDistToPlayer <= 45.0f)) {
player->actor.freezeTimer = 0;
- if ((gSaveContext.save.playerForm == PLAYER_FORM_GORON) ||
- (gSaveContext.save.playerForm == PLAYER_FORM_DEKU)) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_GORON) || (GET_PLAYER_FORM == PLAYER_FORM_DEKU)) {
// If the Gibdo/Redead tries to grab Goron or Deku Link, it will fail to
// do so. It will appear to take damage and shake its head side-to-side.
EnRailgibud_SetupGrabFail(this);
@@ -555,7 +554,7 @@ void EnRailgibud_WalkToHome(EnRailgibud* this, PlayState* play) {
this->actor.world.rot = this->actor.shape.rot;
}
if (EnRailgibud_PlayerInRangeWithCorrectState(this, play)) {
- if ((gSaveContext.save.playerForm != PLAYER_FORM_GORON) && (gSaveContext.save.playerForm != PLAYER_FORM_DEKU) &&
+ if ((GET_PLAYER_FORM != PLAYER_FORM_GORON) && (GET_PLAYER_FORM != PLAYER_FORM_DEKU) &&
Actor_IsFacingPlayer(&this->actor, 0x38E3)) {
EnRailgibud_SetupWalkToPlayer(this);
}
@@ -869,7 +868,7 @@ s32 EnRailgibud_MoveToIdealGrabPositionAndRotation(EnRailgibud* this, PlayState*
distanceFromTargetPos = Math_Vec3f_StepTo(&this->actor.world.pos, &targetPos, 10.0f);
distanceFromTargetAngle = Math_SmoothStepToS(&this->actor.shape.rot.y, player->actor.shape.rot.y, 1, 0x1770, 0x64);
this->actor.world.rot.y = this->actor.shape.rot.y;
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
distanceFromTargetYOffset = Math_SmoothStepToF(&this->actor.shape.yOffset, -1500.0f, 1.0f, 150.0f, 0.0f);
}
diff --git a/src/overlays/actors/ovl_En_Rat/z_en_rat.c b/src/overlays/actors/ovl_En_Rat/z_en_rat.c
index d61da6f4d0..946483a893 100644
--- a/src/overlays/actors/ovl_En_Rat/z_en_rat.c
+++ b/src/overlays/actors/ovl_En_Rat/z_en_rat.c
@@ -700,7 +700,7 @@ void EnRat_ChasePlayer(EnRat* this, PlayState* play) {
func_800B1210(play, &this->actor.world.pos, &sDustVelocity, &gZeroVec3f, 550, 50);
}
- if ((this->actor.floorPoly == NULL) && (Animation_OnFrame(&this->skelAnime, 0.0f))) {
+ if ((this->actor.floorPoly == NULL) && Animation_OnFrame(&this->skelAnime, 0.0f)) {
EnRat_SpawnWaterEffects(this, play);
}
diff --git a/src/overlays/actors/ovl_En_Rr/z_en_rr.c b/src/overlays/actors/ovl_En_Rr/z_en_rr.c
index daa23f1a31..2aa2bd21ee 100644
--- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c
+++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c
@@ -305,7 +305,7 @@ void func_808FA4F4(EnRr* this, PlayState* play) {
this->unk_210 = 0.0f;
this->unk_20C = 0x800;
- if (((this->unk_1E2 == 0) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) &&
+ if (((this->unk_1E2 == 0) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) &&
(GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SHIELD) == EQUIP_VALUE_SHIELD_HERO)) {
sp34 = true;
this->unk_1E2 = Inventory_DeleteEquipment(play, EQUIP_VALUE_SHIELD_HERO);
diff --git a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c
index 43ddae02ad..cfb0730296 100644
--- a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c
+++ b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c
@@ -505,7 +505,7 @@ void func_80AE7F34(EnStopheishi* this, PlayState* play) {
}
void func_80AE854C(EnStopheishi* this, PlayState* play) {
- if (((this->unk_265 != 0) || (CHECK_WEEKEVENTREG(WEEKEVENTREG_12_20))) &&
+ if (((this->unk_265 != 0) || CHECK_WEEKEVENTREG(WEEKEVENTREG_12_20)) &&
(this->currentAnim != SOLDIER_ANIM_STAND_HAND_ON_HIP)) {
EnStopHeishi_ChangeAnim(this, SOLDIER_ANIM_STAND_HAND_ON_HIP);
}
diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
index c9c38a0ecc..61f46966d2 100644
--- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
+++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
@@ -513,7 +513,7 @@ void EnSyatekiMan_Swamp_Talk(EnSyatekiMan* this, PlayState* play) {
}
void EnSyatekiMan_Town_StartIntroTextbox(EnSyatekiMan* this, PlayState* play) {
- switch (gSaveContext.save.playerForm) {
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_HUMAN:
Flags_SetAllTreasure(play, Flags_GetAllTreasure(play) + 1);
if (CURRENT_DAY != 3) {
@@ -610,6 +610,9 @@ void EnSyatekiMan_Town_StartIntroTextbox(EnSyatekiMan* this, PlayState* play) {
this->prevTextId = 0x3F5;
}
break;
+
+ default:
+ break;
}
}
@@ -1209,7 +1212,7 @@ void EnSyatekiMan_Swamp_AddBonusPoints(EnSyatekiMan* this, PlayState* play) {
void EnSyatekiMan_Town_MovePlayerAndSayHighScore(EnSyatekiMan* this, PlayState* play) {
Vec3f targetPlayerPos;
- if (gSaveContext.save.playerForm == PLAYER_FORM_FIERCE_DEITY) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_FIERCE_DEITY) {
targetPlayerPos = sTownFierceDeityPlayerPos;
} else {
targetPlayerPos = sTownPlayerPos;
diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c
index 42e7ca5405..b8e9ff3ebf 100644
--- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c
+++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c
@@ -345,8 +345,7 @@ void EnTalkGibud_WalkToPlayer(EnTalkGibud* this, PlayState* play) {
if (EnTalkGibud_PlayerInRangeWithCorrectState(this, play) && Actor_IsFacingPlayer(&this->actor, 0x38E3)) {
if ((this->grabWaitTimer == 0) && (this->actor.xzDistToPlayer <= 45.0f)) {
player->actor.freezeTimer = 0;
- if ((gSaveContext.save.playerForm == PLAYER_FORM_GORON) ||
- (gSaveContext.save.playerForm == PLAYER_FORM_DEKU)) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_GORON) || (GET_PLAYER_FORM == PLAYER_FORM_DEKU)) {
// If the Gibdo/Redead tries to grab Goron or Deku Link, it will fail to
// do so. It will appear to take damage and shake its head side-to-side.
EnTalkGibud_SetupGrabFail(this);
@@ -516,7 +515,7 @@ void EnTalkGibud_WalkToHome(EnTalkGibud* this, PlayState* play) {
this->actor.world.rot = this->actor.shape.rot;
}
if (EnTalkGibud_PlayerInRangeWithCorrectState(this, play)) {
- if ((gSaveContext.save.playerForm != PLAYER_FORM_GORON) && (gSaveContext.save.playerForm != PLAYER_FORM_DEKU) &&
+ if ((GET_PLAYER_FORM != PLAYER_FORM_GORON) && (GET_PLAYER_FORM != PLAYER_FORM_DEKU) &&
Actor_IsFacingPlayer(&this->actor, 0x38E3)) {
EnTalkGibud_SetupWalkToPlayer(this);
}
@@ -994,7 +993,7 @@ s32 EnTalkGibud_MoveToIdealGrabPositionAndRotation(EnTalkGibud* this, PlayState*
distanceFromTargetPos = Math_Vec3f_StepTo(&this->actor.world.pos, &targetPos, 10.0f);
distanceFromTargetAngle = Math_SmoothStepToS(&this->actor.shape.rot.y, player->actor.shape.rot.y, 1, 0x1770, 0x64);
this->actor.world.rot.y = this->actor.shape.rot.y;
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
distanceFromTargetYOffset = Math_SmoothStepToF(&this->actor.shape.yOffset, -1500.0f, 1.0f, 150.0f, 0.0f);
}
diff --git a/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c b/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c
index 8ea4716038..d8b061fd49 100644
--- a/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c
+++ b/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c
@@ -138,8 +138,7 @@ void EnTanron4_FlyNearHome(EnTanron4* this, PlayState* play) {
switch (this->flyState) {
case SEAGULL_FLY_FLAP:
- if ((this->timers[SEAGULL_TIMER_FLY_STATE] == 0) &&
- (Animation_OnFrame(&this->skelAnime, 2.0f + KREG(42)))) {
+ if ((this->timers[SEAGULL_TIMER_FLY_STATE] == 0) && Animation_OnFrame(&this->skelAnime, 2.0f + KREG(42))) {
this->flyState = SEAGULL_FLY_GLIDE;
this->timers[SEAGULL_TIMER_FLY_STATE] = Rand_ZeroFloat(50.0f) + 50.0f;
Animation_MorphToLoop(&this->skelAnime, &gSeagullFlapAnim, -15.0f + KREG(43));
@@ -217,8 +216,7 @@ void EnTanron4_FlyNearActor(EnTanron4* this, PlayState* play) {
switch (this->flyState) {
case SEAGULL_FLY_FLAP:
- if ((this->timers[SEAGULL_TIMER_FLY_STATE] == 0) &&
- (Animation_OnFrame(&this->skelAnime, 2.0f + KREG(42)))) {
+ if ((this->timers[SEAGULL_TIMER_FLY_STATE] == 0) && Animation_OnFrame(&this->skelAnime, 2.0f + KREG(42))) {
this->flyState = SEAGULL_FLY_GLIDE;
this->timers[SEAGULL_TIMER_FLY_STATE] = Rand_ZeroFloat(50.0f) + 50.0f;
Animation_MorphToLoop(&this->skelAnime, &gSeagullFlapAnim, -15.0f + KREG(43));
diff --git a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c
index 35a36a15be..d6f4a1774f 100644
--- a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c
+++ b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c
@@ -231,7 +231,7 @@ s32 func_80C10B0C(EnThiefbird* this, PlayState* play) {
}
}
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
phi_a3 = GET_CUR_EQUIP_VALUE(EQUIP_TYPE_SWORD);
if (INV_CONTENT(ITEM_SWORD_GREAT_FAIRY) == ITEM_SWORD_GREAT_FAIRY) {
phi_a3 += 4;
diff --git a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c
index 9b569f8032..007673dbef 100644
--- a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c
+++ b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c
@@ -256,7 +256,7 @@ void EnTimeTag_Diary_Cutscene(EnTimeTag* this, PlayState* play) {
void EnTimeTag_Diary_Wait(EnTimeTag* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (TIMETAG_DIARY_GET_TYPE(&this->actor) == TIMETAG_DIARY_LULU) {
Message_StartTextbox(play, 0x101C, &this->actor);
} else {
diff --git a/src/overlays/actors/ovl_En_Toto/z_en_toto.c b/src/overlays/actors/ovl_En_Toto/z_en_toto.c
index bfc3ae55bb..b9cb09326f 100644
--- a/src/overlays/actors/ovl_En_Toto/z_en_toto.c
+++ b/src/overlays/actors/ovl_En_Toto/z_en_toto.c
@@ -548,16 +548,16 @@ s32 func_80BA46D8(EnToto* this, PlayState* play) {
s32 func_80BA4740(EnToto* this, PlayState* play) {
if (play->msgCtx.ocarinaMode == 4) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
SET_WEEKEVENTREG(WEEKEVENTREG_56_10);
}
- if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_DEKU) {
SET_WEEKEVENTREG(WEEKEVENTREG_56_20);
}
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
SET_WEEKEVENTREG(WEEKEVENTREG_56_40);
}
- if (gSaveContext.save.playerForm == PLAYER_FORM_GORON) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_GORON) {
SET_WEEKEVENTREG(WEEKEVENTREG_56_80);
}
return 1;
@@ -583,7 +583,7 @@ s32 func_80BA47E0(EnToto* this, PlayState* play) {
this->unk2B3 += 8;
}
for (i = 0; i < ARRAY_COUNT(D_80BA50DC); i++) {
- if ((gSaveContext.save.playerForm != (i + 1)) && (D_80BA5128[i] & this->unk2B3)) {
+ if ((GET_PLAYER_FORM != (i + 1)) && (D_80BA5128[i] & this->unk2B3)) {
Math_Vec3s_ToVec3f(&spawnPos, &D_80BA50DC[i].unk6);
Actor_Spawn(&play->actorCtx, play, ACTOR_PLAYER, spawnPos.x, spawnPos.y, spawnPos.z, i + 2, 0, 0,
diff --git a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c
index 7be972f8f7..da0bfed862 100644
--- a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c
+++ b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c
@@ -160,7 +160,7 @@ void func_80ADFF84(EnTsn* this, PlayState* play) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_26_08)) {
textId = 0x107E;
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_25_80)) {
textId = 0x1083;
} else {
diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
index 398da4925a..deb8cc4261 100644
--- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
+++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
@@ -128,7 +128,13 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32_DIV1000(gravity, -1500, ICHAIN_STOP),
};
-static f32 sYOffsetPerForm[] = { 50.0f, 55.0f, 50.0f, 20.0f, 30.0f };
+static f32 sYOffsetPerForm[PLAYER_FORM_MAX] = {
+ 50.0f, // PLAYER_FORM_FIERCE_DEITY
+ 55.0f, // PLAYER_FORM_GORON
+ 50.0f, // PLAYER_FORM_ZORA
+ 20.0f, // PLAYER_FORM_DEKU
+ 30.0f, // PLAYER_FORM_HUMAN
+};
/**
* This maps a given limb based on its limbIndex to its appropriate index
diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.c b/src/overlays/actors/ovl_En_Yb/z_en_yb.c
index f61a7a2011..78b32120d7 100644
--- a/src/overlays/actors/ovl_En_Yb/z_en_yb.c
+++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.c
@@ -359,7 +359,7 @@ void EnYb_Idle(EnYb* this, PlayState* play) {
EnYb_UpdateAnimation(this, play);
if ((this->actor.xzDistToPlayer < 180.0f) && (fabsf(this->actor.playerHeightRel) < 50.0f) &&
(play->msgCtx.ocarinaMode == 3) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) &&
- (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
this->actionFunc = EnYb_TeachingDance;
this->teachingCutsceneTimer = 200;
EnYb_ChangeCutscene(this, 0);
diff --git a/src/overlays/actors/ovl_En_Zob/z_en_zob.c b/src/overlays/actors/ovl_En_Zob/z_en_zob.c
index 30d1594357..3e606e19ef 100644
--- a/src/overlays/actors/ovl_En_Zob/z_en_zob.c
+++ b/src/overlays/actors/ovl_En_Zob/z_en_zob.c
@@ -210,7 +210,7 @@ void func_80B9FA3C(EnZob* this, PlayState* play) {
this->unk_2F4 |= 1;
- if (gSaveContext.save.playerForm != PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_30_02)) {
textId = 0x11F9;
} else {
@@ -563,7 +563,7 @@ void func_80BA0728(EnZob* this, PlayState* play) {
func_80B9F86C(this);
if (func_800B8718(&this->actor, &play->state)) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
Message_StartTextbox(play, 0x1208, NULL);
SET_WEEKEVENTREG(WEEKEVENTREG_30_08);
} else {
@@ -594,7 +594,7 @@ void func_80BA0728(EnZob* this, PlayState* play) {
void func_80BA08E8(EnZob* this, PlayState* play) {
s32 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_01)) {
textId = 0x1257;
this->unk_304 = 3;
diff --git a/src/overlays/actors/ovl_En_Zod/z_en_zod.c b/src/overlays/actors/ovl_En_Zod/z_en_zod.c
index 9634ae21e7..4c21502fe7 100644
--- a/src/overlays/actors/ovl_En_Zod/z_en_zod.c
+++ b/src/overlays/actors/ovl_En_Zod/z_en_zod.c
@@ -124,7 +124,7 @@ void EnZod_Init(Actor* thisx, PlayState* play) {
}
this->actionFunc = func_80BAFB84;
- if (!(CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE))) {
+ if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE)) {
Actor_Kill(&this->actor);
break;
}
@@ -154,7 +154,7 @@ void EnZod_Destroy(Actor* thisx, PlayState* play) {
void EnZod_HandleRoomConversation(EnZod* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm != PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_ZORA) {
textId = 0x1227;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_32_08)) {
textId = 0x1229;
@@ -393,7 +393,7 @@ void EnZod_PlayDrumsSequence(EnZod* this, PlayState* play) {
void func_80BAFA44(EnZod* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_01)) {
textId = 0x1253;
} else {
diff --git a/src/overlays/actors/ovl_En_Zog/z_en_zog.c b/src/overlays/actors/ovl_En_Zog/z_en_zog.c
index 0517159d4a..d4605d47d8 100644
--- a/src/overlays/actors/ovl_En_Zog/z_en_zog.c
+++ b/src/overlays/actors/ovl_En_Zog/z_en_zog.c
@@ -628,8 +628,7 @@ void func_80B9451C(EnZog* this, PlayState* play) {
this->unk_300 = 2;
this->actionFunc = func_80B94470;
} else if ((play->msgCtx.ocarinaMode == 3) && (this->actor.xzDistToPlayer < 120.0f)) {
- if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) &&
- (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
func_80B93BA8(this, 2);
this->actionFunc = func_80B943C0;
this->actor.shape.shadowDraw = NULL;
@@ -717,8 +716,7 @@ void func_80B948A8(EnZog* this, PlayState* play) {
this->unk_300 = 2;
this->actionFunc = func_80B946FC;
} else if ((play->msgCtx.ocarinaMode == 3) && (this->actor.xzDistToPlayer < 120.0f)) {
- if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) &&
- (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
+ if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
func_80B93BA8(this, 2);
this->actionFunc = func_80B943C0;
this->actor.shape.shadowDraw = NULL;
diff --git a/src/overlays/actors/ovl_En_Zos/z_en_zos.c b/src/overlays/actors/ovl_En_Zos/z_en_zos.c
index 72c2f9b82c..10def20cf5 100644
--- a/src/overlays/actors/ovl_En_Zos/z_en_zos.c
+++ b/src/overlays/actors/ovl_En_Zos/z_en_zos.c
@@ -214,7 +214,7 @@ void func_80BBB0D4(EnZos* this, PlayState* play) {
void func_80BBB15C(EnZos* this, PlayState* play) {
s32 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (this->unk_2B6 & 8) {
textId = 0x1235;
EnZos_ChangeAnim(this, EN_ZOS_ANIM_TALK_HANDS_ON_HIPS, ANIMMODE_LOOP);
@@ -499,7 +499,7 @@ void func_80BBB8AC(EnZos* this, PlayState* play) {
void func_80BBBB84(EnZos* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
this->actor.flags &= ~ACTOR_FLAG_10000;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
Message_StartTextbox(play, 0x1248, &this->actor);
this->actionFunc = func_80BBB8AC;
EnZos_ChangeAnim(this, EN_ZOS_ANIM_TALK_HANDS_ON_HIPS, ANIMMODE_LOOP);
@@ -587,7 +587,7 @@ void func_80BBBDE0(EnZos* this, PlayState* play) {
void func_80BBBFBC(EnZos* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_01)) {
textId = 0x125B;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_78_80)) {
diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.c b/src/overlays/actors/ovl_En_Zot/z_en_zot.c
index fde240d224..c07d29deb0 100644
--- a/src/overlays/actors/ovl_En_Zot/z_en_zot.c
+++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.c
@@ -361,7 +361,7 @@ void func_80B97100(EnZot* this, PlayState* play) {
void func_80B97110(EnZot* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
textId = 0x125F;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_28_80)) {
textId = 0x1261;
@@ -412,7 +412,7 @@ void func_80B972E8(EnZot* this, PlayState* play) {
u16 textId;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_29_10)) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
textId = 0x126A;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_29_01)) {
textId = 0x126D;
@@ -427,7 +427,7 @@ void func_80B972E8(EnZot* this, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_29_02);
}
}
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
textId = 0x1265;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_29_04)) {
textId = 0x1266;
@@ -564,12 +564,12 @@ void func_80B97708(EnZot* this, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_29_10);
this->actor.flags |= ACTOR_FLAG_10000;
if (phi_v1 == 5) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
this->actor.textId = 0x126E;
} else {
this->actor.textId = 0x1272;
}
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
this->actor.textId = 0x1273;
} else {
this->actor.textId = 0x1276;
@@ -586,7 +586,7 @@ void func_80B9787C(EnZot* this, PlayState* play) {
u16 textId;
if (this->actor.textId == 0) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
switch (ENZOT_GET_1F(&this->actor)) {
case 2:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_37_40)) {
@@ -709,7 +709,7 @@ void func_80B97B5C(EnZot* this, PlayState* play) {
void func_80B97BF8(EnZot* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
textId = 0x128C;
} else {
textId = 0x128B;
@@ -808,7 +808,7 @@ void func_80B97FD0(EnZot* this, PlayState* play) {
this->actionFunc = func_80B97E4C;
func_80B97BF8(this, play);
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_38_08)) {
- if ((this->actor.xzDistToPlayer < 120.0f) && (gSaveContext.save.playerForm == PLAYER_FORM_ZORA)) {
+ if ((this->actor.xzDistToPlayer < 120.0f) && (GET_PLAYER_FORM == PLAYER_FORM_ZORA)) {
this->unk_2F2 |= 4;
this->actionFunc = func_80B97E0C;
func_80B96BEC(this, 6, ANIMMODE_ONCE);
@@ -838,7 +838,7 @@ void func_80B98178(EnZot* this, PlayState* play) {
switch (ENZOT_GET_1F(&this->actor)) {
case 6:
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CURRENT_DAY == 3) {
textId = 0x129D;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_39_01)) {
@@ -856,7 +856,7 @@ void func_80B98178(EnZot* this, PlayState* play) {
break;
case 7:
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_39_04)) {
textId = 0x12AA;
} else {
@@ -885,14 +885,14 @@ void func_80B98178(EnZot* this, PlayState* play) {
phi_v0 += 2;
}
- if (gSaveContext.save.playerForm != PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_ZORA) {
phi_v0++;
}
textId = phi_v0 + 0x1302;
break;
default:
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
textId = 0x129F;
} else {
textId = 0x1295;
@@ -1080,7 +1080,7 @@ void func_80B98998(EnZot* this, PlayState* play) {
void func_80B98A4C(EnZot* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_39_80)) {
textId = 0x12B6;
} else {
@@ -1158,7 +1158,7 @@ void func_80B98CA8(EnZot* this, PlayState* play) {
func_800B8614(&this->actor, play, 120.0f);
}
- if ((gSaveContext.save.playerForm == PLAYER_FORM_ZORA) || (this->actor.xzDistToPlayer < 100.0f)) {
+ if ((GET_PLAYER_FORM == PLAYER_FORM_ZORA) || (this->actor.xzDistToPlayer < 100.0f)) {
func_800B874C(&this->actor, play, 120.0, 100.0f);
}
}
@@ -1171,7 +1171,7 @@ void func_80B98CA8(EnZot* this, PlayState* play) {
void func_80B98E10(EnZot* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (Flags_GetSwitch(play, this->actor.home.rot.z & 0x7F)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_40_04)) {
textId = 0x12C5;
@@ -1258,7 +1258,7 @@ void func_80B990A4(EnZot* this, PlayState* play) {
void func_80B99160(EnZot* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_40_10)) {
textId = 0x12CD;
} else {
diff --git a/src/overlays/actors/ovl_En_Zov/z_en_zov.c b/src/overlays/actors/ovl_En_Zov/z_en_zov.c
index fdf50a8205..d3e8332669 100644
--- a/src/overlays/actors/ovl_En_Zov/z_en_zov.c
+++ b/src/overlays/actors/ovl_En_Zov/z_en_zov.c
@@ -187,7 +187,7 @@ void func_80BD160C(EnZov* this, PlayState* play) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_53_20)) {
this->unk_320 &= ~2;
- if (gSaveContext.save.playerForm != PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_ZORA) {
textId = 0x1024;
if ((this->unk_322 == 0) || (this->unk_322 == 4)) {
func_80BD1570(this, 4, ANIMMODE_ONCE);
@@ -201,7 +201,7 @@ void func_80BD160C(EnZov* this, PlayState* play) {
this->unk_320 |= 4;
func_80BD1570(this, 3, ANIMMODE_ONCE);
}
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
func_80BD1570(this, 2, ANIMMODE_ONCE);
this->actionFunc = func_80BD19FC;
this->unk_324 = 10;
@@ -390,7 +390,7 @@ void func_80BD1C84(EnZov* this, PlayState* play) {
void func_80BD1D30(EnZov* this, PlayState* play) {
u16 textId;
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_01)) {
textId = 0x1032;
} else {
diff --git a/src/overlays/actors/ovl_En_Zow/z_en_zow.c b/src/overlays/actors/ovl_En_Zow/z_en_zow.c
index 334b8fc05c..2885e965bc 100644
--- a/src/overlays/actors/ovl_En_Zow/z_en_zow.c
+++ b/src/overlays/actors/ovl_En_Zow/z_en_zow.c
@@ -361,7 +361,7 @@ void func_80BDD1E0(EnZow* this, PlayState* play) {
if (ENZOW_GET_F(&this->actor) == ENZOW_F_1) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE)) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_78_04)) {
phi_a1 = 0x12FD;
} else {
@@ -374,7 +374,7 @@ void func_80BDD1E0(EnZow* this, PlayState* play) {
SET_WEEKEVENTREG(WEEKEVENTREG_78_10);
phi_a1 = 0x12FF;
}
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_78_08)) {
phi_a1 = 0x12F8;
} else {
@@ -388,12 +388,12 @@ void func_80BDD1E0(EnZow* this, PlayState* play) {
phi_a1 = 0x12FF;
}
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE)) {
- if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
phi_a1 = 0x12EC;
} else {
phi_a1 = 0x12F1;
}
- } else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA) {
+ } else if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_78_02)) {
phi_a1 = 0x12EB;
} else {
diff --git a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c
index c571b87ea4..41ed1e9d56 100644
--- a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c
+++ b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c
@@ -911,7 +911,7 @@ s32 func_80B79734(PlayState* play, ObjUm* this, s32 arg2) {
u16 ObjUm_RanchGetDialogue(PlayState* play, ObjUm* this, s32 arg2) {
u16 textId = 0;
- if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_31_40)) {
// "Want a ride?"
textId = 0x33CF;
diff --git a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c
index 99bcf41918..43717aaf5e 100644
--- a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c
+++ b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c
@@ -117,11 +117,7 @@ void OceffSpot_Update(Actor* thisx, PlayState* play) {
temp = (1.0f - cosf(this->unk16C * M_PI)) * 0.5f;
this->actionFunc(this, play);
- switch (gSaveContext.save.playerForm) {
- default:
- scale = 1.0f;
- break;
-
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_DEKU:
scale = 1.3f;
break;
@@ -133,6 +129,10 @@ void OceffSpot_Update(Actor* thisx, PlayState* play) {
case PLAYER_FORM_GORON:
scale = 2.0f;
break;
+
+ default:
+ scale = 1.0f;
+ break;
}
this->actor.scale.z = (scale * 0.42f) * temp;
diff --git a/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c b/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c
index d3486bb0c7..d7af092707 100644
--- a/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c
+++ b/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c
@@ -100,11 +100,7 @@ void OceffStorm_Destroy(Actor* thisx, PlayState* play) {
void OceffStorm_DefaultAction(OceffStorm* this, PlayState* play) {
f32 cylinderScale;
- switch (gSaveContext.save.playerForm) {
- default:
- cylinderScale = 1.0f;
- break;
-
+ switch (GET_PLAYER_FORM) {
case PLAYER_FORM_DEKU:
cylinderScale = 1.3f;
break;
@@ -116,6 +112,10 @@ void OceffStorm_DefaultAction(OceffStorm* this, PlayState* play) {
case PLAYER_FORM_GORON:
cylinderScale = 2.0f;
break;
+
+ default:
+ cylinderScale = 1.0f;
+ break;
}
if (this->counter < 10) {
diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c
index 51ebe113cf..9a451a1658 100644
--- a/src/overlays/actors/ovl_player_actor/z_player.c
+++ b/src/overlays/actors/ovl_player_actor/z_player.c
@@ -10348,7 +10348,7 @@ void Player_Init(Actor* thisx, PlayState* play) {
Actor_SetObjectDependency(play, &this->actor);
} else {
- this->transformation = gSaveContext.save.playerForm;
+ this->transformation = GET_PLAYER_FORM;
if (this->transformation == PLAYER_FORM_HUMAN) {
if (gSaveContext.save.equippedMask == PLAYER_MASK_GIANT) {
gSaveContext.save.equippedMask = PLAYER_MASK_NONE;
@@ -10765,10 +10765,10 @@ void Player_SetDoAction(PlayState* play, Player* this) {
!Player_IsGoronOrDeku(this)) {
if ((this->transformation != PLAYER_FORM_GORON) &&
!(this->stateFlags1 & (PLAYER_STATE1_4 | PLAYER_STATE1_4000)) && (sp28 <= 0) &&
- ((func_80123420(this)) ||
+ (func_80123420(this) ||
((sPlayerFloorType != FLOOR_TYPE_7) &&
- ((func_80123434(this)) || ((play->roomCtx.curRoom.behaviorType1 != ROOM_BEHAVIOR_TYPE1_2) &&
- !(this->stateFlags1 & PLAYER_STATE1_400000) && (sp28 == 0)))))) {
+ (func_80123434(this) || ((play->roomCtx.curRoom.behaviorType1 != ROOM_BEHAVIOR_TYPE1_2) &&
+ !(this->stateFlags1 & PLAYER_STATE1_400000) && (sp28 == 0)))))) {
doActionA = DO_ACTION_ATTACK;
} else if ((play->roomCtx.curRoom.behaviorType1 != ROOM_BEHAVIOR_TYPE1_2) && sp24 && (sp28 > 0)) {
doActionA = DO_ACTION_JUMP;
@@ -13768,7 +13768,7 @@ void func_8084A8E8(Player* this, PlayState* play) {
func_8083AF8C(this, sp3A, play);
}
} else if ((this->linearVelocity < 3.6f) && (sp3C < 4.0f)) {
- if ((func_80123420(this) == 0) && (func_80123434(this))) {
+ if (!func_80123420(this) && func_80123434(this)) {
func_8083AF30(this, play);
} else {
func_80836988(this, play);
@@ -17669,14 +17669,14 @@ void func_808553F4(Player* this, PlayState* play) {
this->actor.draw = NULL;
this->unk_AE7 = 0;
Play_DisableMotionBlurPriority();
- SET_WEEKEVENTREG(D_8085D908[gSaveContext.save.playerForm]);
+ SET_WEEKEVENTREG(D_8085D908[GET_PLAYER_FORM]);
}
} else if ((this->unk_AE7++ > ((this->transformation == PLAYER_FORM_HUMAN) ? 0x53 : 0x37)) ||
((this->unk_AE7 >= 5) &&
- (sp48 = ((this->transformation != PLAYER_FORM_HUMAN) ||
- CHECK_WEEKEVENTREG(D_8085D908[gSaveContext.save.playerForm])) &&
- CHECK_BTN_ANY(sPlayerControlInput->press.button,
- BTN_CRIGHT | BTN_CLEFT | BTN_CDOWN | BTN_CUP | BTN_B | BTN_A)))) {
+ (sp48 =
+ ((this->transformation != PLAYER_FORM_HUMAN) || CHECK_WEEKEVENTREG(D_8085D908[GET_PLAYER_FORM])) &&
+ CHECK_BTN_ANY(sPlayerControlInput->press.button,
+ BTN_CRIGHT | BTN_CLEFT | BTN_CDOWN | BTN_CUP | BTN_B | BTN_A)))) {
R_PLAY_FILL_SCREEN_ON = 45;
R_PLAY_FILL_SCREEN_R = 220;
R_PLAY_FILL_SCREEN_G = 220;
@@ -19681,7 +19681,7 @@ void Player_CsAction_22(PlayState* play, Player* this, CsCmdActorCue* cue) {
void Player_CsAction_23(PlayState* play, Player* this, CsCmdActorCue* cue) {
PlayerAnimation_Update(play, &this->skelAnime);
- if (gSaveContext.save.playerForm != this->transformation) {
+ if (GET_PLAYER_FORM != this->transformation) {
this->actor.update = func_8012301C;
this->actor.draw = NULL;
}
@@ -19724,7 +19724,7 @@ void Player_CsAction_25(PlayState* play, Player* this, CsCmdActorCue* cue) {
void Player_CsAction_26(PlayState* play, Player* this, CsCmdActorCue* cue) {
PlayerAnimation_Update(play, &this->skelAnime);
- if (gSaveContext.save.playerForm != this->transformation) {
+ if (GET_PLAYER_FORM != this->transformation) {
this->actor.update = func_8012301C;
this->actor.draw = NULL;
}
diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c
index ca4bfde8dc..71524496e1 100644
--- a/src/overlays/gamestates/ovl_select/z_select.c
+++ b/src/overlays/gamestates/ovl_select/z_select.c
@@ -525,7 +525,7 @@ void MapSelect_UpdateMenu(MapSelectState* this) {
}
if (CHECK_BTN_ALL(controller1->press.button, BTN_B)) {
- playerForm = gSaveContext.save.playerForm - 1;
+ playerForm = GET_PLAYER_FORM - 1;
if (playerForm < PLAYER_FORM_FIERCE_DEITY) {
playerForm = PLAYER_FORM_HUMAN;
}
diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c
index dc5e96da2f..02f011807e 100644
--- a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c
+++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c
@@ -16,7 +16,7 @@ s16 sEquipMagicArrowSlotHoldTimer = 0;
s16 sEquipAnimTimer = 10;
u8 gPlayerFormSlotRestrictions[PLAYER_FORM_MAX][ITEM_NUM_SLOTS] = {
- // Fierce Deity
+ // PLAYER_FORM_FIERCE_DEITY
{
false, // SLOT_OCARINA
false, // SLOT_BOW
@@ -43,7 +43,7 @@ u8 gPlayerFormSlotRestrictions[PLAYER_FORM_MAX][ITEM_NUM_SLOTS] = {
true, // SLOT_BOTTLE_5
true, // SLOT_BOTTLE_6
},
- // Goron
+ // PLAYER_FORM_GORON
{
true, // SLOT_OCARINA
false, // SLOT_BOW
@@ -70,7 +70,7 @@ u8 gPlayerFormSlotRestrictions[PLAYER_FORM_MAX][ITEM_NUM_SLOTS] = {
true, // SLOT_BOTTLE_5
true, // SLOT_BOTTLE_6
},
- // Zora
+ // PLAYER_FORM_ZORA
{
true, // SLOT_OCARINA
false, // SLOT_BOW
@@ -97,7 +97,7 @@ u8 gPlayerFormSlotRestrictions[PLAYER_FORM_MAX][ITEM_NUM_SLOTS] = {
true, // SLOT_BOTTLE_5
true, // SLOT_BOTTLE_6
},
- // Deku
+ // PLAYER_FORM_DEKU
{
true, // SLOT_OCARINA
false, // SLOT_BOW
@@ -124,7 +124,7 @@ u8 gPlayerFormSlotRestrictions[PLAYER_FORM_MAX][ITEM_NUM_SLOTS] = {
true, // SLOT_BOTTLE_5
true, // SLOT_BOTTLE_6
},
- // Human
+ // PLAYER_FORM_HUMAN
{
true, // SLOT_OCARINA
true, // SLOT_BOW
@@ -193,7 +193,7 @@ void KaleidoScope_DrawAmmoCount(PauseContext* pauseCtx, GraphicsContext* gfxCtx,
gDPPipeSync(POLY_OPA_DISP++);
- if (!gPlayerFormSlotRestrictions[((void)0, gSaveContext.save.playerForm)][SLOT(item)]) {
+ if (!gPlayerFormSlotRestrictions[GET_PLAYER_FORM][SLOT(item)]) {
// Ammo item is restricted
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 100, 100, 100, pauseCtx->alpha);
} else {
@@ -277,8 +277,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
if (((void)0, gSaveContext.save.saveInfo.inventory.items[i]) != ITEM_NONE) {
if ((pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) && (pauseCtx->pageIndex == PAUSE_ITEM) &&
- (pauseCtx->cursorSpecialPos == 0) &&
- gPlayerFormSlotRestrictions[(void)0, gSaveContext.save.playerForm][i]) {
+ (pauseCtx->cursorSpecialPos == 0) && gPlayerFormSlotRestrictions[GET_PLAYER_FORM][i]) {
if ((sEquipState == EQUIP_STATE_MAGIC_ARROW_HOVER_OVER_BOW_SLOT) && (i == SLOT_ARROW_ICE)) {
// Possible bug:
// Supposed to be `SLOT_BOW`, unchanged from OoT, instead increase size of ice arrow icon
@@ -339,8 +338,12 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx);
}
-u8 sPlayerFormItems[] = {
- ITEM_MASK_FIERCE_DEITY, ITEM_MASK_GORON, ITEM_MASK_ZORA, ITEM_MASK_DEKU, ITEM_NONE,
+u8 sPlayerFormItems[PLAYER_FORM_MAX] = {
+ ITEM_MASK_FIERCE_DEITY, // PLAYER_FORM_FIERCE_DEITY
+ ITEM_MASK_GORON, // PLAYER_FORM_GORON
+ ITEM_MASK_ZORA, // PLAYER_FORM_ZORA
+ ITEM_MASK_DEKU, // PLAYER_FORM_DEKU
+ ITEM_NONE, // PLAYER_FORM_HUMAN
};
void KaleidoScope_UpdateItemCursor(PlayState* play) {
@@ -599,23 +602,20 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
CHECK_BTN_ANY(CONTROLLER1(&play->state)->press.button, BTN_CLEFT | BTN_CDOWN | BTN_CRIGHT)) {
// Ensure that a transformation mask can not be unequipped while being used
- if (gSaveContext.save.playerForm != PLAYER_FORM_HUMAN) {
+ if (GET_PLAYER_FORM != PLAYER_FORM_HUMAN) {
if (1) {}
if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_CLEFT)) {
- if (sPlayerFormItems[((void)0, gSaveContext.save.playerForm)] ==
- BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_LEFT)) {
+ if (sPlayerFormItems[GET_PLAYER_FORM] == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_LEFT)) {
Audio_PlaySfx(NA_SE_SY_ERROR);
return;
}
} else if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_CDOWN)) {
- if (sPlayerFormItems[((void)0, gSaveContext.save.playerForm)] ==
- BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_DOWN)) {
+ if (sPlayerFormItems[GET_PLAYER_FORM] == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_DOWN)) {
Audio_PlaySfx(NA_SE_SY_ERROR);
return;
}
} else if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, BTN_CRIGHT)) {
- if (sPlayerFormItems[((void)0, gSaveContext.save.playerForm)] ==
- BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_RIGHT)) {
+ if (sPlayerFormItems[GET_PLAYER_FORM] == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_RIGHT)) {
Audio_PlaySfx(NA_SE_SY_ERROR);
return;
}
diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.c
index 99c08a06ae..7c984a09c6 100644
--- a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.c
+++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.c
@@ -16,7 +16,7 @@ s16 sMaskEquipMagicArrowSlotHoldTimer = 0;
s16 sMaskEquipAnimTimer = 10;
u8 gMaskPlayerFormSlotRestrictions[PLAYER_FORM_MAX][MASK_NUM_SLOTS] = {
- // Fierce Deity
+ // PLAYER_FORM_FIERCE_DEITY
{
false, // SLOT_MASK_POSTMAN
false, // SLOT_MASK_ALL_NIGHT
@@ -43,7 +43,7 @@ u8 gMaskPlayerFormSlotRestrictions[PLAYER_FORM_MAX][MASK_NUM_SLOTS] = {
false, // SLOT_MASK_GIANT
true, // SLOT_MASK_FIERCE_DEITY
},
- // Goron
+ // PLAYER_FORM_GORON
{
false, // SLOT_MASK_POSTMAN
false, // SLOT_MASK_ALL_NIGHT
@@ -70,7 +70,7 @@ u8 gMaskPlayerFormSlotRestrictions[PLAYER_FORM_MAX][MASK_NUM_SLOTS] = {
false, // SLOT_MASK_GIANT
true, // SLOT_MASK_FIERCE_DEITY
},
- // Zora
+ // PLAYER_FORM_ZORA
{
false, // SLOT_MASK_POSTMAN
false, // SLOT_MASK_ALL_NIGHT
@@ -97,7 +97,7 @@ u8 gMaskPlayerFormSlotRestrictions[PLAYER_FORM_MAX][MASK_NUM_SLOTS] = {
false, // SLOT_MASK_GIANT
true, // SLOT_MASK_FIERCE_DEITY
},
- // Deku
+ // PLAYER_FORM_DEKU
{
false, // SLOT_MASK_POSTMAN
false, // SLOT_MASK_ALL_NIGHT
@@ -124,7 +124,7 @@ u8 gMaskPlayerFormSlotRestrictions[PLAYER_FORM_MAX][MASK_NUM_SLOTS] = {
false, // SLOT_MASK_GIANT
true, // SLOT_MASK_FIERCE_DEITY
},
- // Human
+ // PLAYER_FORM_HUMAN
{
true, // SLOT_MASK_POSTMAN
true, // SLOT_MASK_ALL_NIGHT
@@ -224,8 +224,7 @@ void KaleidoScope_DrawMaskSelect(PlayState* play) {
if (((void)0, gSaveContext.save.saveInfo.inventory.items[i + ITEM_NUM_SLOTS]) != ITEM_NONE) {
if (!CHECK_GIVEN_MASK_ON_MOON(i)) {
if ((pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) && (pauseCtx->pageIndex == PAUSE_MASK) &&
- (pauseCtx->cursorSpecialPos == 0) &&
- gMaskPlayerFormSlotRestrictions[(void)0, gSaveContext.save.playerForm][i]) {
+ (pauseCtx->cursorSpecialPos == 0) && gMaskPlayerFormSlotRestrictions[GET_PLAYER_FORM][i]) {
if ((sMaskEquipState == EQUIP_STATE_MAGIC_ARROW_HOVER_OVER_BOW_SLOT) && (i == SLOT_ARROW_ICE)) {
// Possible bug:
// Supposed to be `SLOT_BOW`, unchanged from OoT, instead increase size of ice arrow icon
@@ -267,8 +266,12 @@ void KaleidoScope_DrawMaskSelect(PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx);
}
-u8 sMaskPlayerFormItems[] = {
- ITEM_MASK_FIERCE_DEITY, ITEM_MASK_GORON, ITEM_MASK_ZORA, ITEM_MASK_DEKU, ITEM_NONE,
+u8 sMaskPlayerFormItems[PLAYER_FORM_MAX] = {
+ ITEM_MASK_FIERCE_DEITY, // PLAYER_FORM_FIERCE_DEITY
+ ITEM_MASK_GORON, // PLAYER_FORM_GORON
+ ITEM_MASK_ZORA, // PLAYER_FORM_ZORA
+ ITEM_MASK_DEKU, // PLAYER_FORM_DEKU
+ ITEM_NONE, // PLAYER_FORM_HUMAN
};
void KaleidoScope_UpdateMaskCursor(PlayState* play) {
@@ -543,27 +546,24 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
if (((Player_GetCurMaskItemId(play) != ITEM_NONE) &&
(Player_GetCurMaskItemId(play) == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_LEFT))) ||
- ((sMaskPlayerFormItems[((void)0, gSaveContext.save.playerForm)] != ITEM_NONE) &&
- (sMaskPlayerFormItems[((void)0, gSaveContext.save.playerForm)] ==
- BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_LEFT)))) {
+ ((sMaskPlayerFormItems[GET_PLAYER_FORM] != ITEM_NONE) &&
+ (sMaskPlayerFormItems[GET_PLAYER_FORM] == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_LEFT)))) {
Audio_PlaySfx(NA_SE_SY_ERROR);
return;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN)) {
if (((Player_GetCurMaskItemId(play) != ITEM_NONE) &&
(Player_GetCurMaskItemId(play) == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_DOWN))) ||
- ((sMaskPlayerFormItems[((void)0, gSaveContext.save.playerForm)] != ITEM_NONE) &&
- (sMaskPlayerFormItems[((void)0, gSaveContext.save.playerForm)] ==
- BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_DOWN)))) {
+ ((sMaskPlayerFormItems[GET_PLAYER_FORM] != ITEM_NONE) &&
+ (sMaskPlayerFormItems[GET_PLAYER_FORM] == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_DOWN)))) {
Audio_PlaySfx(NA_SE_SY_ERROR);
return;
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
if (((Player_GetCurMaskItemId(play) != ITEM_NONE) &&
(Player_GetCurMaskItemId(play) == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_RIGHT))) ||
- ((sMaskPlayerFormItems[((void)0, gSaveContext.save.playerForm)] != ITEM_NONE) &&
- (sMaskPlayerFormItems[((void)0, gSaveContext.save.playerForm)] ==
- BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_RIGHT)))) {
+ ((sMaskPlayerFormItems[GET_PLAYER_FORM] != ITEM_NONE) &&
+ (sMaskPlayerFormItems[GET_PLAYER_FORM] == BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_RIGHT)))) {
Audio_PlaySfx(NA_SE_SY_ERROR);
return;
}
diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c
index 35925171ca..c7f7379fe1 100644
--- a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c
+++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c
@@ -2858,7 +2858,7 @@ void KaleidoScope_Update(PlayState* play) {
gSegments[0x08] = VIRTUAL_TO_PHYSICAL(pauseCtx->iconItemSegment);
for (itemId = 0; itemId <= ITEM_BOW_FIRE; itemId++) {
- if (!gPlayerFormItemRestrictions[(void)0, gSaveContext.save.playerForm][(s32)itemId]) {
+ if (!gPlayerFormItemRestrictions[GET_PLAYER_FORM][(s32)itemId]) {
KaleidoScope_GrayOutTextureRGBA32(Lib_SegmentedToVirtual(gItemIcons[(s32)itemId]), 0x400);
}
}