From ee4b3474a5a11b6cef020488a762a840499177bd Mon Sep 17 00:00:00 2001 From: mzxrules Date: Sat, 21 Dec 2024 16:03:10 -0500 Subject: Restructure event flags in z64save.h (1/?) (#2380) * Simplify most event flags * EVENTINF_HORSES_INDEX -> EVENTINF_INDEX_HORSES * Add missing index numbers * pr suggestions * Clean up INGO_RACE flags --- src/code/z_inventory.c | 2 +- src/code/z_map_exp.c | 4 ++-- src/code/z_parameter.c | 16 ++++++++-------- src/code/z_sram.c | 17 ++++++++++++----- 4 files changed, 23 insertions(+), 16 deletions(-) (limited to 'src/code') diff --git a/src/code/z_inventory.c b/src/code/z_inventory.c index b452a92e1..2f89c0565 100644 --- a/src/code/z_inventory.c +++ b/src/code/z_inventory.c @@ -299,7 +299,7 @@ u8 Inventory_DeleteEquipment(PlayState* play, s16 equipment) { if (equipment == EQUIP_TYPE_SWORD) { gSaveContext.save.info.equips.buttonItems[0] = ITEM_NONE; - gSaveContext.save.info.infTable[INFTABLE_1DX_INDEX] = 1; + gSaveContext.save.info.infTable[INFTABLE_INDEX_1DX] = 1; } Player_SetEquipmentData(play, player); diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index 1c82288b7..916add81f 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -496,7 +496,7 @@ void Minimap_Draw(PlayState* play) { (LINK_AGE_IN_YEARS != YEARS_ADULT)) { if ((gMapData->owEntranceFlag[sEntranceIconMapIndex] == 0xFFFF) || ((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) && - (gSaveContext.save.info.infTable[INFTABLE_1AX_INDEX] & + (gSaveContext.save.info.infTable[INFTABLE_INDEX_1AX] & gBitFlags[gMapData->owEntranceFlag[mapIndex]]))) { gDPLoadTextureBlock(OVERLAY_DISP++, gMapDungeonEntranceIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, @@ -513,7 +513,7 @@ void Minimap_Draw(PlayState* play) { } if ((play->sceneId == SCENE_ZORAS_FOUNTAIN) && - (gSaveContext.save.info.infTable[INFTABLE_1AX_INDEX] & gBitFlags[INFTABLE_1A9_SHIFT])) { + (gSaveContext.save.info.infTable[INFTABLE_INDEX_1AX] & gBitFlags[INFTABLE_1A9_SHIFT])) { gDPLoadTextureBlock(OVERLAY_DISP++, gMapDungeonEntranceIconTex, G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 8, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 65e92e33f..7987cccd1 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -852,7 +852,7 @@ void func_80083108(PlayState* play) { (gSaveContext.save.info.equips.buttonItems[0] == ITEM_BOMBCHU) || (gSaveContext.save.info.equips.buttonItems[0] == ITEM_NONE)) { if ((gSaveContext.save.info.equips.buttonItems[0] != ITEM_NONE) || - (gSaveContext.save.info.infTable[INFTABLE_1DX_INDEX] == 0)) { + (gSaveContext.save.info.infTable[INFTABLE_INDEX_1DX] == 0)) { gSaveContext.save.info.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; sp28 = true; @@ -876,7 +876,7 @@ void func_80083108(PlayState* play) { (gSaveContext.save.info.equips.buttonItems[0] == ITEM_BOMBCHU) || (gSaveContext.save.info.equips.buttonItems[0] == ITEM_NONE)) { if ((gSaveContext.save.info.equips.buttonItems[0] != ITEM_NONE) || - (gSaveContext.save.info.infTable[INFTABLE_1DX_INDEX] == 0)) { + (gSaveContext.save.info.infTable[INFTABLE_INDEX_1DX] == 0)) { gSaveContext.save.info.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; sp28 = true; @@ -1346,7 +1346,7 @@ void func_80084BF4(PlayState* play, u16 flag) { } } else if (gSaveContext.save.info.equips.buttonItems[0] == ITEM_NONE) { if ((gSaveContext.save.info.equips.buttonItems[0] != ITEM_NONE) || - (gSaveContext.save.info.infTable[INFTABLE_1DX_INDEX] == 0)) { + (gSaveContext.save.info.infTable[INFTABLE_INDEX_1DX] == 0)) { gSaveContext.save.info.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; Interface_LoadItemIcon1(play, 0); } @@ -3545,11 +3545,11 @@ void Interface_Draw(PlayState* play) { for (svar1 = 0; svar1 < ARRAY_COUNT(gSpoilingItems); svar1++) { if (INV_CONTENT(ITEM_TRADE_ADULT) == gSpoilingItems[svar1]) { #if OOT_VERSION >= NTSC_1_1 - gSaveContext.eventInf[EVENTINF_HORSES_INDEX] &= - (u16) ~(EVENTINF_INGO_RACE_STATE_MASK | EVENTINF_INGO_RACE_HORSETYPE_MASK | - EVENTINF_INGO_RACE_LOST_ONCE_MASK | EVENTINF_INGO_RACE_SECOND_RACE_MASK | - EVENTINF_INGO_RACE_0F_MASK); - PRINTF("EVENT_INF=%x\n", gSaveContext.eventInf[EVENTINF_HORSES_INDEX]); + gSaveContext.eventInf[EVENTINF_INDEX_HORSES] &= + (u16) ~(EVENTINF_INGO_RACE_STATE_MASK | EVENTINF_MASK(EVENTINF_INGO_RACE_HORSETYPE) | + EVENTINF_MASK(EVENTINF_INGO_RACE_LOST_ONCE) | + EVENTINF_MASK(EVENTINF_INGO_RACE_SECOND_RACE) | EVENTINF_MASK(EVENTINF_INGO_RACE_0F)); + PRINTF("EVENT_INF=%x\n", gSaveContext.eventInf[EVENTINF_INDEX_HORSES]); #endif play->nextEntranceIndex = spoilingItemEntrances[svar1]; INV_CONTENT(gSpoilingItemReverts[svar1]) = gSpoilingItemReverts[svar1]; diff --git a/src/code/z_sram.c b/src/code/z_sram.c index 0fcee6f03..cd3a2f13e 100644 --- a/src/code/z_sram.c +++ b/src/code/z_sram.c @@ -162,7 +162,7 @@ void Sram_InitNewSave(void) { gSaveContext.save.info.horseData.pos.z = 5497; gSaveContext.save.info.horseData.angle = -0x6AD9; gSaveContext.save.info.playerData.magicLevel = 0; - gSaveContext.save.info.infTable[INFTABLE_1DX_INDEX] = 1; + gSaveContext.save.info.infTable[INFTABLE_INDEX_1DX] = 1; gSaveContext.save.info.sceneFlags[SCENE_WATER_TEMPLE].swch = 0x40000000; } @@ -325,8 +325,15 @@ void Sram_InitDebugSave(void) { gSaveContext.save.info.horseData.pos.y = 72; gSaveContext.save.info.horseData.pos.z = 5497; gSaveContext.save.info.horseData.angle = -0x6AD9; - gSaveContext.save.info.infTable[0] |= 0x5009; - gSaveContext.save.info.eventChkInf[0] |= 0x123F; + gSaveContext.save.info.infTable[INFTABLE_INDEX_0] |= INFTABLE_MASK(INFTABLE_00) | INFTABLE_MASK(INFTABLE_03) | + INFTABLE_MASK(INFTABLE_0C) | INFTABLE_MASK(INFTABLE_0E); + + gSaveContext.save.info.eventChkInf[EVENTCHKINF_INDEX_0] |= + EVENTCHKINF_MASK(EVENTCHKINF_00_UNUSED) | EVENTCHKINF_MASK(EVENTCHKINF_01_UNUSED) | + EVENTCHKINF_MASK(EVENTCHKINF_MIDO_DENIED_DEKU_TREE_ACCESS) | EVENTCHKINF_MASK(EVENTCHKINF_03) | + EVENTCHKINF_MASK(EVENTCHKINF_04) | EVENTCHKINF_MASK(EVENTCHKINF_05) | EVENTCHKINF_MASK(EVENTCHKINF_09) | + EVENTCHKINF_MASK(EVENTCHKINF_0C); + SET_EVENTCHKINF(EVENTCHKINF_80); SET_EVENTCHKINF(EVENTCHKINF_C4); @@ -498,8 +505,8 @@ void Sram_OpenSave(SramContext* sramCtx) { // if zelda cutscene has been watched but lullaby was not obtained, restore cutscene and take away letter if (GET_EVENTCHKINF(EVENTCHKINF_40) && !CHECK_QUEST_ITEM(QUEST_SONG_LULLABY)) { - i = gSaveContext.save.info.eventChkInf[EVENTCHKINF_40_INDEX] & ~EVENTCHKINF_40_MASK; - gSaveContext.save.info.eventChkInf[EVENTCHKINF_40_INDEX] = i; + i = gSaveContext.save.info.eventChkInf[EVENTCHKINF_INDEX_40] & ~EVENTCHKINF_MASK(EVENTCHKINF_40); + gSaveContext.save.info.eventChkInf[EVENTCHKINF_INDEX_40] = i; INV_CONTENT(ITEM_ZELDAS_LETTER) = ITEM_CHICKEN; -- cgit v1.2.3