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); } }