diff --git a/include/macros.h b/include/macros.h index a919de4274..4f28346ec9 100644 --- a/include/macros.h +++ b/include/macros.h @@ -57,6 +57,21 @@ #define HIGH_SCORE(score) (gSaveContext.highScores[score]) +#define GET_EVENTCHKINF(flag) (gSaveContext.eventChkInf[(flag) >> 4] & (1 << ((flag) & 0xF))) +#define SET_EVENTCHKINF(flag) (gSaveContext.eventChkInf[(flag) >> 4] |= (1 << ((flag) & 0xF))) +#define CLEAR_EVENTCHKINF(flag) (gSaveContext.eventChkInf[(flag) >> 4] &= ~(1 << ((flag) & 0xF))) + +#define GET_ITEMGETINF(flag) (gSaveContext.itemGetInf[(flag) >> 4] & (1 << ((flag) & 0xF))) +#define SET_ITEMGETINF(flag) (gSaveContext.itemGetInf[(flag) >> 4] |= (1 << ((flag) & 0xF))) + +#define GET_INFTABLE(flag) (gSaveContext.infTable[(flag) >> 4] & (1 << ((flag) & 0xF))) +#define SET_INFTABLE(flag) (gSaveContext.infTable[(flag) >> 4] |= (1 << ((flag) & 0xF))) +#define CLEAR_INFTABLE(flag) (gSaveContext.infTable[(flag) >> 4] &= ~(1 << ((flag) & 0xF))) + +#define GET_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] & (1 << ((flag) & 0xF))) +#define SET_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] |= (1 << ((flag) & 0xF))) +#define CLEAR_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] &= ~(1 << ((flag) & 0xF))) + #define B_BTN_ITEM ((gSaveContext.buttonStatus[0] == ITEM_NONE) \ ? ITEM_NONE \ : (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KNIFE) \ diff --git a/include/z64save.h b/include/z64save.h index 709b7c9936..88d9ab6b53 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -217,4 +217,471 @@ typedef enum { /* 1 */ LINK_AGE_CHILD } LinkAge; + + +/* + * + * SaveContext flags + * + */ + + +/* + * SaveContext.eventChkInf + */ + +#define EVENTCHKINF_02 0x02 +#define EVENTCHKINF_03 0x03 +#define EVENTCHKINF_04 0x04 +#define EVENTCHKINF_05 0x05 +#define EVENTCHKINF_07 0x07 +#define EVENTCHKINF_09 0x09 +#define EVENTCHKINF_0A 0x0A +#define EVENTCHKINF_0B 0x0B +#define EVENTCHKINF_0C 0x0C +#define EVENTCHKINF_0F 0x0F +#define EVENTCHKINF_10 0x10 +#define EVENTCHKINF_11 0x11 +#define EVENTCHKINF_12 0x12 +#define EVENTCHKINF_13 0x13 +#define EVENTCHKINF_14 0x14 +#define EVENTCHKINF_15 0x15 +#define EVENTCHKINF_16 0x16 +#define EVENTCHKINF_18 0x18 +#define EVENTCHKINF_1B 0x1B +#define EVENTCHKINF_1C 0x1C +#define EVENTCHKINF_1D 0x1D +#define EVENTCHKINF_1E 0x1E +#define EVENTCHKINF_20 0x20 +#define EVENTCHKINF_21 0x21 +#define EVENTCHKINF_22 0x22 +#define EVENTCHKINF_23 0x23 +#define EVENTCHKINF_25 0x25 +#define EVENTCHKINF_2A 0x2A +#define EVENTCHKINF_2B 0x2B +#define EVENTCHKINF_2C 0x2C +#define EVENTCHKINF_2D 0x2D +#define EVENTCHKINF_2F 0x2F +#define EVENTCHKINF_30 0x30 +#define EVENTCHKINF_31 0x31 +#define EVENTCHKINF_32 0x32 +#define EVENTCHKINF_33 0x33 +#define EVENTCHKINF_37 0x37 +#define EVENTCHKINF_38 0x38 +#define EVENTCHKINF_39 0x39 +#define EVENTCHKINF_3A 0x3A +#define EVENTCHKINF_3B 0x3B +#define EVENTCHKINF_3C 0x3C + +// 0x40 +#define EVENTCHKINF_40_INDEX 4 +#define EVENTCHKINF_40_SHIFT 0 +#define EVENTCHKINF_40_MASK (1 << EVENTCHKINF_40_SHIFT) +#define EVENTCHKINF_40 ((EVENTCHKINF_40_INDEX << 4) | EVENTCHKINF_40_SHIFT) + +#define EVENTCHKINF_41 0x41 +#define EVENTCHKINF_42 0x42 +#define EVENTCHKINF_43 0x43 +#define EVENTCHKINF_45 0x45 +#define EVENTCHKINF_48 0x48 +#define EVENTCHKINF_49 0x49 +#define EVENTCHKINF_4A 0x4A +#define EVENTCHKINF_4B 0x4B +#define EVENTCHKINF_4C 0x4C +#define EVENTCHKINF_4D 0x4D +#define EVENTCHKINF_4E 0x4E +#define EVENTCHKINF_4F 0x4F +#define EVENTCHKINF_50 0x50 +#define EVENTCHKINF_51 0x51 +#define EVENTCHKINF_52 0x52 +#define EVENTCHKINF_54 0x54 +#define EVENTCHKINF_55 0x55 +#define EVENTCHKINF_59 0x59 +#define EVENTCHKINF_5A 0x5A +#define EVENTCHKINF_5B 0x5B +#define EVENTCHKINF_5C 0x5C +#define EVENTCHKINF_65 0x65 +#define EVENTCHKINF_67 0x67 +#define EVENTCHKINF_68 0x68 +#define EVENTCHKINF_69 0x69 +#define EVENTCHKINF_6A 0x6A + +// 0x6B +#define EVENTCHKINF_6B_INDEX 6 +#define EVENTCHKINF_6B_SHIFT 11 +#define EVENTCHKINF_6B_MASK (1 << EVENTCHKINF_6B_SHIFT) +#define EVENTCHKINF_6B ((EVENTCHKINF_6B_INDEX << 4) | EVENTCHKINF_6B_SHIFT) + +#define EVENTCHKINF_6E 0x6E +#define EVENTCHKINF_6F 0x6F +#define EVENTCHKINF_70 0x70 +#define EVENTCHKINF_71 0x71 +#define EVENTCHKINF_72 0x72 +#define EVENTCHKINF_73 0x73 +#define EVENTCHKINF_74 0x74 +#define EVENTCHKINF_75 0x75 +#define EVENTCHKINF_76 0x76 +#define EVENTCHKINF_77 0x77 +#define EVENTCHKINF_78 0x78 +#define EVENTCHKINF_80 0x80 +#define EVENTCHKINF_82 0x82 +#define EVENTCHKINF_8C 0x8C +#define EVENTCHKINF_8D 0x8D +#define EVENTCHKINF_8E 0x8E +#define EVENTCHKINF_8F 0x8F + +// 0x90-0x93 +#define EVENTCHKINF_90_91_92_93_INDEX 9 +#define EVENTCHKINF_90_SHIFT 0 +#define EVENTCHKINF_91_SHIFT 1 +#define EVENTCHKINF_92_SHIFT 2 +#define EVENTCHKINF_93_SHIFT 3 +#define EVENTCHKINF_90_MASK (1 << EVENTCHKINF_90_SHIFT) +#define EVENTCHKINF_91_MASK (1 << EVENTCHKINF_91_SHIFT) +#define EVENTCHKINF_92_MASK (1 << EVENTCHKINF_92_SHIFT) +#define EVENTCHKINF_93_MASK (1 << EVENTCHKINF_93_SHIFT) +#define EVENTCHKINF_90 ((EVENTCHKINF_90_91_92_93_INDEX << 4) | EVENTCHKINF_90_SHIFT) +#define EVENTCHKINF_91 ((EVENTCHKINF_90_91_92_93_INDEX << 4) | EVENTCHKINF_91_SHIFT) +#define EVENTCHKINF_92 ((EVENTCHKINF_90_91_92_93_INDEX << 4) | EVENTCHKINF_92_SHIFT) +#define EVENTCHKINF_93 ((EVENTCHKINF_90_91_92_93_INDEX << 4) | EVENTCHKINF_93_SHIFT) + +#define EVENTCHKINF_94 0x94 +#define EVENTCHKINF_95 0x95 +#define EVENTCHKINF_96 0x96 +#define EVENTCHKINF_9C 0x9C +#define EVENTCHKINF_A0 0xA0 +#define EVENTCHKINF_A1 0xA1 +#define EVENTCHKINF_A3 0xA3 +#define EVENTCHKINF_A4 0xA4 +#define EVENTCHKINF_A5 0xA5 +#define EVENTCHKINF_A6 0xA6 +#define EVENTCHKINF_A7 0xA7 +#define EVENTCHKINF_A8 0xA8 +#define EVENTCHKINF_A9 0xA9 +#define EVENTCHKINF_AA 0xAA +#define EVENTCHKINF_AC 0xAC +#define EVENTCHKINF_AD 0xAD +#define EVENTCHKINF_B0 0xB0 +#define EVENTCHKINF_B1 0xB1 +#define EVENTCHKINF_B2 0xB2 +#define EVENTCHKINF_B3 0xB3 +#define EVENTCHKINF_B4 0xB4 +#define EVENTCHKINF_B5 0xB5 +#define EVENTCHKINF_B6 0xB6 +#define EVENTCHKINF_B7 0xB7 +#define EVENTCHKINF_B8 0xB8 +#define EVENTCHKINF_B9 0xB9 +#define EVENTCHKINF_BA 0xBA +#define EVENTCHKINF_BB 0xBB +#define EVENTCHKINF_BC 0xBC +#define EVENTCHKINF_BD 0xBD +#define EVENTCHKINF_BE 0xBE +#define EVENTCHKINF_BF 0xBF +#define EVENTCHKINF_C0 0xC0 +#define EVENTCHKINF_C1 0xC1 +#define EVENTCHKINF_C3 0xC3 +#define EVENTCHKINF_C4 0xC4 +#define EVENTCHKINF_C5 0xC5 +#define EVENTCHKINF_C6 0xC6 +#define EVENTCHKINF_C7 0xC7 +#define EVENTCHKINF_C8 0xC8 +#define EVENTCHKINF_C9 0xC9 + +// 0xD0-0xD6 +#define EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX 13 +#define EVENTCHKINF_D0_SHIFT 0 +#define EVENTCHKINF_D1_SHIFT 1 +#define EVENTCHKINF_D2_SHIFT 2 +#define EVENTCHKINF_D3_SHIFT 3 +#define EVENTCHKINF_D4_SHIFT 4 +#define EVENTCHKINF_D5_SHIFT 5 +#define EVENTCHKINF_D6_SHIFT 6 +#define EVENTCHKINF_D0_MASK (1 << EVENTCHKINF_D0_SHIFT) +#define EVENTCHKINF_D1_MASK (1 << EVENTCHKINF_D1_SHIFT) +#define EVENTCHKINF_D2_MASK (1 << EVENTCHKINF_D2_SHIFT) +#define EVENTCHKINF_D3_MASK (1 << EVENTCHKINF_D3_SHIFT) +#define EVENTCHKINF_D4_MASK (1 << EVENTCHKINF_D4_SHIFT) +#define EVENTCHKINF_D5_MASK (1 << EVENTCHKINF_D5_SHIFT) +#define EVENTCHKINF_D6_MASK (1 << EVENTCHKINF_D6_SHIFT) +#define EVENTCHKINF_D0 ((EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX << 4) | EVENTCHKINF_D0_SHIFT) +#define EVENTCHKINF_D1 ((EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX << 4) | EVENTCHKINF_D1_SHIFT) +#define EVENTCHKINF_D2 ((EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX << 4) | EVENTCHKINF_D2_SHIFT) +#define EVENTCHKINF_D3 ((EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX << 4) | EVENTCHKINF_D3_SHIFT) +#define EVENTCHKINF_D4 ((EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX << 4) | EVENTCHKINF_D4_SHIFT) +#define EVENTCHKINF_D5 ((EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX << 4) | EVENTCHKINF_D5_SHIFT) +#define EVENTCHKINF_D6 ((EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX << 4) | EVENTCHKINF_D6_SHIFT) + +// 0xDA-0xDE +#define EVENTCHKINF_DA_DB_DC_DD_DE_INDEX 13 +#define EVENTCHKINF_DA_MASK (1 << 10) +#define EVENTCHKINF_DB_MASK (1 << 11) +#define EVENTCHKINF_DC_MASK (1 << 12) +#define EVENTCHKINF_DD_MASK (1 << 13) +#define EVENTCHKINF_DE_MASK (1 << 14) + + +/* + * SaveContext.itemGetInf + */ + +#define ITEMGETINF_02 0x02 +#define ITEMGETINF_03 0x03 +#define ITEMGETINF_04 0x04 +#define ITEMGETINF_05 0x05 +#define ITEMGETINF_06 0x06 +#define ITEMGETINF_07 0x07 +#define ITEMGETINF_08 0x08 +#define ITEMGETINF_09 0x09 +#define ITEMGETINF_0A 0x0A +#define ITEMGETINF_0B 0x0B +#define ITEMGETINF_0C 0x0C +#define ITEMGETINF_0D 0x0D +#define ITEMGETINF_0E 0x0E +#define ITEMGETINF_0F 0x0F +#define ITEMGETINF_10 0x10 +#define ITEMGETINF_11 0x11 +#define ITEMGETINF_12 0x12 +#define ITEMGETINF_13 0x13 +#define ITEMGETINF_15 0x15 +#define ITEMGETINF_16 0x16 +#define ITEMGETINF_17 0x17 + +// 0x18-0x1A +#define ITEMGETINF_18_19_1A_INDEX 1 +#define ITEMGETINF_18_SHIFT 8 +#define ITEMGETINF_19_SHIFT 9 +#define ITEMGETINF_1A_SHIFT 10 +#define ITEMGETINF_18_MASK (1 << ITEMGETINF_18_SHIFT) +#define ITEMGETINF_19_MASK (1 << ITEMGETINF_19_SHIFT) +#define ITEMGETINF_1A_MASK (1 << ITEMGETINF_1A_SHIFT) +#define ITEMGETINF_18 ((ITEMGETINF_18_19_1A_INDEX << 4) | ITEMGETINF_18_SHIFT) +#define ITEMGETINF_19 ((ITEMGETINF_18_19_1A_INDEX << 4) | ITEMGETINF_19_SHIFT) +#define ITEMGETINF_1A ((ITEMGETINF_18_19_1A_INDEX << 4) | ITEMGETINF_1A_SHIFT) + +#define ITEMGETINF_1B 0x1B +#define ITEMGETINF_1C 0x1C +#define ITEMGETINF_1D 0x1D +#define ITEMGETINF_1E 0x1E +#define ITEMGETINF_1F 0x1F +#define ITEMGETINF_23 0x23 +#define ITEMGETINF_24 0x24 +#define ITEMGETINF_25 0x25 +#define ITEMGETINF_26 0x26 +#define ITEMGETINF_2A 0x2A +#define ITEMGETINF_2C 0x2C +#define ITEMGETINF_2E 0x2E +#define ITEMGETINF_30 0x30 +#define ITEMGETINF_31 0x31 +#define ITEMGETINF_38 0x38 +#define ITEMGETINF_39 0x39 +#define ITEMGETINF_3A 0x3A +#define ITEMGETINF_3B 0x3B +#define ITEMGETINF_3F 0x3F + + +/* + * SaveContext.infTable + */ + +#define INFTABLE_00 0x00 +#define INFTABLE_01 0x01 +#define INFTABLE_03 0x03 +#define INFTABLE_05 0x05 +#define INFTABLE_0C 0x0C +#define INFTABLE_0E 0x0E +#define INFTABLE_10 0x10 +#define INFTABLE_15 0x15 +#define INFTABLE_17 0x17 +#define INFTABLE_19 0x19 +#define INFTABLE_1E 0x1E +#define INFTABLE_22 0x22 +#define INFTABLE_24 0x24 +#define INFTABLE_26 0x26 +#define INFTABLE_28 0x28 +#define INFTABLE_2A 0x2A +#define INFTABLE_2B 0x2B +#define INFTABLE_2E 0x2E +#define INFTABLE_2F 0x2F +#define INFTABLE_30 0x30 +#define INFTABLE_41 0x41 +#define INFTABLE_47 0x47 +#define INFTABLE_51 0x51 +#define INFTABLE_59 0x59 +#define INFTABLE_61 0x61 +#define INFTABLE_66 0x66 +#define INFTABLE_6A 0x6A +#define INFTABLE_6C 0x6C +#define INFTABLE_71 0x71 +#define INFTABLE_76 0x76 +#define INFTABLE_77 0x77 +#define INFTABLE_7E 0x7E +#define INFTABLE_84 0x84 +#define INFTABLE_85 0x85 +#define INFTABLE_8B 0x8B +#define INFTABLE_8C 0x8C +#define INFTABLE_8D 0x8D +#define INFTABLE_8E 0x8E +#define INFTABLE_94 0x94 +#define INFTABLE_97 0x97 +#define INFTABLE_9A 0x9A +#define INFTABLE_A2 0xA2 +#define INFTABLE_AB 0xAB +#define INFTABLE_B0 0xB0 +#define INFTABLE_B1 0xB1 +#define INFTABLE_B4 0xB4 +#define INFTABLE_B6 0xB6 +#define INFTABLE_B7 0xB7 +#define INFTABLE_B8 0xB8 +#define INFTABLE_B9 0xB9 +#define INFTABLE_BC 0xBC +#define INFTABLE_C0 0xC0 +#define INFTABLE_C1 0xC1 +#define INFTABLE_C2 0xC2 +#define INFTABLE_C3 0xC3 +#define INFTABLE_C4 0xC4 +#define INFTABLE_C5 0xC5 +#define INFTABLE_C6 0xC6 +#define INFTABLE_C7 0xC7 +#define INFTABLE_C8 0xC8 +#define INFTABLE_C9 0xC9 +#define INFTABLE_CA 0xCA +#define INFTABLE_CB 0xCB +#define INFTABLE_CC 0xCC +#define INFTABLE_CD 0xCD +#define INFTABLE_CE 0xCE +#define INFTABLE_D0 0xD0 +#define INFTABLE_D2 0xD2 +#define INFTABLE_D4 0xD4 +#define INFTABLE_D6 0xD6 +#define INFTABLE_D8 0xD8 +#define INFTABLE_D9 0xD9 +#define INFTABLE_E0 0xE0 +#define INFTABLE_E3 0xE3 +#define INFTABLE_E6 0xE6 +#define INFTABLE_EB 0xEB +#define INFTABLE_F0 0xF0 +#define INFTABLE_F4 0xF4 +#define INFTABLE_F8 0xF8 +#define INFTABLE_FC 0xFC +#define INFTABLE_109 0x109 +#define INFTABLE_10A 0x10A +#define INFTABLE_10B 0x10B +#define INFTABLE_10C 0x10C +#define INFTABLE_10D 0x10D +#define INFTABLE_10E 0x10E +#define INFTABLE_10F 0x10F +#define INFTABLE_113 0x113 +#define INFTABLE_11A 0x11A +#define INFTABLE_11E 0x11E +#define INFTABLE_124 0x124 +#define INFTABLE_129 0x129 +#define INFTABLE_12A 0x12A +#define INFTABLE_138 0x138 +#define INFTABLE_139 0x139 +#define INFTABLE_140 0x140 +#define INFTABLE_141 0x141 +#define INFTABLE_142 0x142 +#define INFTABLE_143 0x143 +#define INFTABLE_144 0x144 +#define INFTABLE_145 0x145 +#define INFTABLE_146 0x146 +#define INFTABLE_147 0x147 +#define INFTABLE_160 0x160 +#define INFTABLE_161 0x161 +#define INFTABLE_162 0x162 +#define INFTABLE_163 0x163 +#define INFTABLE_164 0x164 +#define INFTABLE_166 0x166 +#define INFTABLE_16A 0x16A +#define INFTABLE_16C 0x16C +#define INFTABLE_170 0x170 +#define INFTABLE_171 0x171 +#define INFTABLE_172 0x172 +#define INFTABLE_176 0x176 +#define INFTABLE_178 0x178 +#define INFTABLE_17C 0x17C +#define INFTABLE_17F 0x17F +#define INFTABLE_190 0x190 +#define INFTABLE_191 0x191 +#define INFTABLE_192 0x192 +#define INFTABLE_193 0x193 +#define INFTABLE_195 0x195 +#define INFTABLE_196 0x196 +#define INFTABLE_197 0x197 +#define INFTABLE_198 0x198 + +// 0x199-0x19F +#define INFTABLE_199_19A_19B_19C_19D_19E_19F_INDEX 25 +#define INFTABLE_199_MASK (1 << 9) +#define INFTABLE_19A_MASK (1 << 10) +#define INFTABLE_19B_MASK (1 << 11) +#define INFTABLE_19C_MASK (1 << 12) +#define INFTABLE_19D_MASK (1 << 13) +#define INFTABLE_19E_MASK (1 << 14) +#define INFTABLE_19F_MASK (1 << 15) + +// 0x1A0-0x1AF +#define INFTABLE_1AX_INDEX 26 +#define INFTABLE_1A0_SHIFT 0 +#define INFTABLE_1A1_SHIFT 1 +#define INFTABLE_1A2_SHIFT 2 +#define INFTABLE_1A3_SHIFT 3 +#define INFTABLE_1A4_SHIFT 4 +#define INFTABLE_1A5_SHIFT 5 +#define INFTABLE_1A6_SHIFT 6 +#define INFTABLE_1A7_SHIFT 7 +#define INFTABLE_1A8_SHIFT 8 +#define INFTABLE_1A9_SHIFT 9 +#define INFTABLE_1AB_SHIFT 11 +#define INFTABLE_1AD_SHIFT 13 + +// 0x1D0-0x1DF +#define INFTABLE_1DX_INDEX 29 + + +/* + * SaveContext.eventInf + */ + +// 0x00-0x0F +#define EVENTINF_0X_INDEX 0 +#define EVENTINF_00_SHIFT 0 +#define EVENTINF_01_SHIFT 1 +#define EVENTINF_02_SHIFT 2 +#define EVENTINF_03_SHIFT 3 +#define EVENTINF_04_SHIFT 4 +#define EVENTINF_05_SHIFT 5 +#define EVENTINF_06_SHIFT 6 +#define EVENTINF_08_SHIFT 8 +#define EVENTINF_0A_SHIFT 10 +#define EVENTINF_0F_SHIFT 15 +#define EVENTINF_00_MASK (1 << EVENTINF_00_SHIFT) +#define EVENTINF_01_MASK (1 << EVENTINF_01_SHIFT) +#define EVENTINF_02_MASK (1 << EVENTINF_02_SHIFT) +#define EVENTINF_03_MASK (1 << EVENTINF_03_SHIFT) +#define EVENTINF_04_MASK (1 << EVENTINF_04_SHIFT) +#define EVENTINF_05_MASK (1 << EVENTINF_05_SHIFT) +#define EVENTINF_06_MASK (1 << EVENTINF_06_SHIFT) +#define EVENTINF_0F_MASK (1 << EVENTINF_0F_SHIFT) +#define EVENTINF_04 ((EVENTINF_0X_INDEX << 4) | EVENTINF_04_SHIFT) +#define EVENTINF_05 ((EVENTINF_0X_INDEX << 4) | EVENTINF_05_SHIFT) +#define EVENTINF_06 ((EVENTINF_0X_INDEX << 4) | EVENTINF_06_SHIFT) +#define EVENTINF_08 ((EVENTINF_0X_INDEX << 4) | EVENTINF_08_SHIFT) +#define EVENTINF_0A ((EVENTINF_0X_INDEX << 4) | EVENTINF_0A_SHIFT) +#define EVENTINF_0F ((EVENTINF_0X_INDEX << 4) | EVENTINF_0F_SHIFT) + +#define EVENTINF_10 0x10 + +// 0x20-0x24 +#define EVENTINF_20_21_22_23_24_INDEX 2 +#define EVENTINF_20_MASK (1 << 0) +#define EVENTINF_21_MASK (1 << 1) +#define EVENTINF_22_MASK (1 << 2) +#define EVENTINF_23_MASK (1 << 3) +#define EVENTINF_24_MASK (1 << 4) + +#define EVENTINF_30 0x30 + + + #endif diff --git a/src/code/code_80097A00.c b/src/code/code_80097A00.c index 26f1cb9e99..f60924fbb8 100644 --- a/src/code/code_80097A00.c +++ b/src/code/code_80097A00.c @@ -208,7 +208,7 @@ u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment) { if (equipment == EQUIP_SWORD) { gSaveContext.equips.buttonItems[0] = ITEM_NONE; - gSaveContext.infTable[29] = 1; + gSaveContext.infTable[INFTABLE_1DX_INDEX] = 1; } Player_SetEquipmentData(globalCtx, player); diff --git a/src/code/z_actor.c b/src/code/z_actor.c index f561051791..c5cc774211 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -4199,28 +4199,28 @@ void func_80035B18(GlobalContext* globalCtx, Actor* actor, u16 textId) { * Tests if event_chk_inf flag is set. */ s32 Flags_GetEventChkInf(s32 flag) { - return gSaveContext.eventChkInf[flag >> 4] & (1 << (flag & 0xF)); + return GET_EVENTCHKINF(flag); } /** * Sets event_chk_inf flag. */ void Flags_SetEventChkInf(s32 flag) { - gSaveContext.eventChkInf[flag >> 4] |= (1 << (flag & 0xF)); + SET_EVENTCHKINF(flag); } /** * Tests if "inf_table flag is set. */ s32 Flags_GetInfTable(s32 flag) { - return gSaveContext.infTable[flag >> 4] & (1 << (flag & 0xF)); + return GET_INFTABLE(flag); } /** * Sets "inf_table" flag. */ void Flags_SetInfTable(s32 flag) { - gSaveContext.infTable[flag >> 4] |= (1 << (flag & 0xF)); + SET_INFTABLE(flag); } u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { @@ -4228,22 +4228,22 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { switch (arg1) { case 0: - if (Flags_GetEventChkInf(0x9)) { - if (Flags_GetInfTable(0x5)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { + if (Flags_GetInfTable(INFTABLE_05)) { retTextId = 0x1048; } else { retTextId = 0x1047; } } else { - if (Flags_GetEventChkInf(0x2)) { - if (Flags_GetInfTable(0x3)) { + if (Flags_GetEventChkInf(EVENTCHKINF_02)) { + if (Flags_GetInfTable(INFTABLE_03)) { retTextId = 0x1032; } else { retTextId = 0x1031; } } else { - if (Flags_GetInfTable(0x0)) { - if (Flags_GetInfTable(0x1)) { + if (Flags_GetInfTable(INFTABLE_00)) { + if (Flags_GetInfTable(INFTABLE_01)) { retTextId = 0x1003; } else { retTextId = 0x1002; @@ -4256,21 +4256,21 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 1: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { - if (Flags_GetInfTable(0x10)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { + if (Flags_GetInfTable(INFTABLE_10)) { retTextId = 0x1046; } else { retTextId = 0x1045; } } else { - if (Flags_GetEventChkInf(0x3)) { - if (Flags_GetInfTable(0xE)) { + if (Flags_GetEventChkInf(EVENTCHKINF_03)) { + if (Flags_GetInfTable(INFTABLE_0E)) { retTextId = 0x1034; } else { retTextId = 0x1033; } } else { - if (Flags_GetInfTable(0xC)) { + if (Flags_GetInfTable(INFTABLE_0C)) { retTextId = 0x1030; } else { retTextId = 0x102F; @@ -4278,21 +4278,21 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { } } } else { - if (Flags_GetEventChkInf(0x5C)) { - if (Flags_GetInfTable(0x19)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { + if (Flags_GetInfTable(INFTABLE_19)) { retTextId = 0x1071; } else { retTextId = 0x1070; } } else { - if (Flags_GetEventChkInf(0xB)) { - if (Flags_GetInfTable(0x17)) { + if (Flags_GetEventChkInf(EVENTCHKINF_0B)) { + if (Flags_GetInfTable(INFTABLE_17)) { retTextId = 0x1068; } else { retTextId = 0x1067; } } else { - if (Flags_GetInfTable(0x15)) { + if (Flags_GetInfTable(INFTABLE_15)) { retTextId = 0x1061; } else { retTextId = 0x1060; @@ -4303,15 +4303,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 2: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1042; } else { retTextId = 0x1004; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1072; - } else if (Flags_GetInfTable(0x41)) { + } else if (Flags_GetInfTable(INFTABLE_41)) { retTextId = 0x1055; } else { retTextId = 0x1056; @@ -4320,17 +4320,17 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 3: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1043; } else { - if (Flags_GetInfTable(0x1E)) { + if (Flags_GetInfTable(INFTABLE_1E)) { retTextId = 0x1006; } else { retTextId = 0x1005; } } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1073; } else { retTextId = 0x105A; @@ -4339,15 +4339,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 4: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1042; } else { retTextId = 0x1007; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1072; - } else if (Flags_GetInfTable(0x47)) { + } else if (Flags_GetInfTable(INFTABLE_47)) { retTextId = 0x105E; } else { retTextId = 0x105D; @@ -4356,15 +4356,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 5: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1044; - } else if (Flags_GetInfTable(0x22)) { + } else if (Flags_GetInfTable(INFTABLE_22)) { retTextId = 0x1009; } else { retTextId = 0x1008; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1075; } else { retTextId = 0x105B; @@ -4373,15 +4373,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 6: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1042; - } else if (Flags_GetInfTable(0x24)) { + } else if (Flags_GetInfTable(INFTABLE_24)) { retTextId = 0x100B; } else { retTextId = 0x100A; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1056; } else { retTextId = 0x105F; @@ -4390,15 +4390,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 7: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1043; - } else if (Flags_GetInfTable(0x26)) { + } else if (Flags_GetInfTable(INFTABLE_26)) { retTextId = 0x100D; } else { retTextId = 0x100C; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1057; } else { retTextId = 0x1057; @@ -4407,17 +4407,17 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 8: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1043; - } else if (Flags_GetInfTable(0x28)) { + } else if (Flags_GetInfTable(INFTABLE_28)) { retTextId = 0x1019; } else { retTextId = 0x100E; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1077; - } else if (Flags_GetInfTable(0x51)) { + } else if (Flags_GetInfTable(INFTABLE_51)) { retTextId = 0x1058; } else { retTextId = 0x1059; @@ -4426,13 +4426,13 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 9: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x1049; } else { retTextId = 0x1035; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1079; } else { retTextId = 0x104E; @@ -4441,15 +4441,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 10: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x104A; } else { retTextId = 0x1038; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1079; - } else if (Flags_GetInfTable(0x59)) { + } else if (Flags_GetInfTable(INFTABLE_59)) { retTextId = 0x1050; } else { retTextId = 0x104F; @@ -4458,13 +4458,13 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 11: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x104B; } else { retTextId = 0x103C; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x107B; } else { retTextId = 0x1051; @@ -4473,13 +4473,13 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 12: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x104C; } else { retTextId = 0x103D; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x107C; } else { retTextId = 0x1052; @@ -4488,15 +4488,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 13: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x9)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09)) { retTextId = 0x104D; } else { retTextId = 0x103E; } } else { - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x106E; - } else if (Flags_GetInfTable(0x61)) { + } else if (Flags_GetInfTable(INFTABLE_61)) { retTextId = 0x1053; } else { retTextId = 0x1054; @@ -4504,9 +4504,9 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { } break; case 15: - if (Flags_GetEventChkInf(0x5C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_5C)) { retTextId = 0x1078; - } else if (Flags_GetInfTable(0x66)) { + } else if (Flags_GetInfTable(INFTABLE_66)) { retTextId = 0x1066; } else { retTextId = 0x1062; @@ -4515,7 +4515,7 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { case 16: if (globalCtx->sceneNum == SCENE_SPOT15) { retTextId = 0x7002; - } else if (Flags_GetInfTable(0x6A)) { + } else if (Flags_GetInfTable(INFTABLE_6A)) { retTextId = 0x7004; } else if ((gSaveContext.dayTime >= 0x4000) && (gSaveContext.dayTime < 0xC556)) { retTextId = 0x7002; @@ -4524,8 +4524,9 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { } break; case 17: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { - if (Flags_GetInfTable(0x6C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { + if (Flags_GetInfTable(INFTABLE_6C)) { retTextId = 0x7008; } else { retTextId = 0x7007; @@ -4538,11 +4539,12 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { retTextId = 0x702D; break; case 18: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7006; } else { - if (Flags_GetEventChkInf(0x12)) { - if (Flags_GetInfTable(0x71)) { + if (Flags_GetEventChkInf(EVENTCHKINF_12)) { + if (Flags_GetInfTable(INFTABLE_71)) { retTextId = 0x7072; } else { retTextId = 0x7071; @@ -4554,50 +4556,54 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 20: case 21: - if (Flags_GetEventChkInf(0x42)) { + if (Flags_GetEventChkInf(EVENTCHKINF_42)) { retTextId = 0x2012; - } else if (Flags_GetEventChkInf(0x41)) { - if (Flags_GetInfTable(0x76)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_41)) { + if (Flags_GetInfTable(INFTABLE_76)) { retTextId = 0x2011; } else { retTextId = 0x2010; } - } else if (Flags_GetEventChkInf(0x40)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_40)) { retTextId = 0x200F; } else { retTextId = 0x200E; } break; case 24: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7044; } else { retTextId = 0x7015; } break; case 25: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7045; } else { - Flags_GetInfTable(0xC2); + Flags_GetInfTable(INFTABLE_C2); retTextId = 0x7016; } break; case 26: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7046; } else { - Flags_GetInfTable(0xC2); + Flags_GetInfTable(INFTABLE_C2); retTextId = 0x7018; } break; case 27: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7047; - } else if (Flags_GetEventChkInf(0x14)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_14)) { retTextId = 0x701A; - } else if (Flags_GetEventChkInf(0x11)) { - if (Flags_GetInfTable(0xC6)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_11)) { + if (Flags_GetInfTable(INFTABLE_C6)) { retTextId = 0x701C; } else { retTextId = 0x701B; @@ -4607,59 +4613,65 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { } break; case 28: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7048; } else { - Flags_GetInfTable(0xCA); + Flags_GetInfTable(INFTABLE_CA); retTextId = 0x701D; } break; case 29: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7049; } else { - Flags_GetInfTable(0xCC); + Flags_GetInfTable(INFTABLE_CC); retTextId = 0x701F; } break; case 30: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x704A; } else { - Flags_GetInfTable(0xCE); + Flags_GetInfTable(INFTABLE_CE); retTextId = 0x7021; } break; case 31: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x704B; } else { - Flags_GetInfTable(0xD0); + Flags_GetInfTable(INFTABLE_D0); retTextId = 0x7023; } break; case 32: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x704C; } else { - Flags_GetInfTable(0xD2); + Flags_GetInfTable(INFTABLE_D2); retTextId = 0x7025; } break; case 33: - if (Flags_GetEventChkInf(0x9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x704D; } else { - Flags_GetInfTable(0xD4); + Flags_GetInfTable(INFTABLE_D4); retTextId = 0x7027; } break; case 34: - Flags_GetInfTable(0xD6); + Flags_GetInfTable(INFTABLE_D6); retTextId = 0x403C; break; case 35: - if (Flags_GetInfTable(0xD8)) { + if (Flags_GetInfTable(INFTABLE_D8)) { retTextId = 0x5029; } else { retTextId = 0x5028; @@ -4670,17 +4682,17 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 38: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x25)) { + if (Flags_GetEventChkInf(EVENTCHKINF_25)) { retTextId = 0x3027; - } else if (Flags_GetEventChkInf(0x23)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_23)) { retTextId = 0x3021; - } else if (Flags_GetInfTable(0xE0)) { + } else if (Flags_GetInfTable(INFTABLE_E0)) { retTextId = 0x302A; } else { retTextId = 0x3008; } } else { - if (Flags_GetEventChkInf(0x20)) { + if (Flags_GetEventChkInf(EVENTCHKINF_20)) { retTextId = 0x4043; } else { retTextId = 0x302A; @@ -4689,15 +4701,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 39: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x25)) { + if (Flags_GetEventChkInf(EVENTCHKINF_25)) { retTextId = 0x3027; - } else if (Flags_GetEventChkInf(0x23)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_23)) { retTextId = 0x3026; } else { retTextId = 0x3009; } } else { - if (Flags_GetEventChkInf(0x2A)) { + if (Flags_GetEventChkInf(EVENTCHKINF_2A)) { retTextId = 0x4043; } else { retTextId = 0x302A; @@ -4706,17 +4718,17 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 40: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x25)) { + if (Flags_GetEventChkInf(EVENTCHKINF_25)) { retTextId = 0x3027; - } else if (Flags_GetEventChkInf(0x23)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_23)) { retTextId = 0x3026; - } else if (Flags_GetInfTable(0xEB)) { + } else if (Flags_GetInfTable(INFTABLE_EB)) { retTextId = 0x302B; } else { retTextId = 0x300A; } } else { - if (Flags_GetEventChkInf(0x2B)) { + if (Flags_GetEventChkInf(EVENTCHKINF_2B)) { retTextId = 0x4043; } else { retTextId = 0x302A; @@ -4725,15 +4737,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 41: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x25)) { + if (Flags_GetEventChkInf(EVENTCHKINF_25)) { retTextId = 0x3027; - } else if (Flags_GetInfTable(0xF0)) { + } else if (Flags_GetInfTable(INFTABLE_F0)) { retTextId = 0x3015; } else { retTextId = 0x3014; } } else { - if (Flags_GetEventChkInf(0x2C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_2C)) { retTextId = 0x4043; } else { retTextId = 0x302A; @@ -4742,15 +4754,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 42: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x25)) { + if (Flags_GetEventChkInf(EVENTCHKINF_25)) { retTextId = 0x3027; - } else if (Flags_GetInfTable(0xF4)) { + } else if (Flags_GetInfTable(INFTABLE_F4)) { retTextId = 0x3017; } else { retTextId = 0x3016; } } else { - if (Flags_GetEventChkInf(0x2C)) { + if (Flags_GetEventChkInf(EVENTCHKINF_2C)) { retTextId = 0x4043; } else { retTextId = 0x302A; @@ -4759,15 +4771,15 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 43: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x25)) { + if (Flags_GetEventChkInf(EVENTCHKINF_25)) { retTextId = 0x3027; - } else if (Flags_GetInfTable(0xF8)) { + } else if (Flags_GetInfTable(INFTABLE_F8)) { retTextId = 0x3019; } else { retTextId = 0x3018; } } else { - if (Flags_GetEventChkInf(0x2D)) { + if (Flags_GetEventChkInf(EVENTCHKINF_2D)) { retTextId = 0x4043; } else { retTextId = 0x302A; @@ -4775,28 +4787,28 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { } break; case 48: - if (Flags_GetEventChkInf(0x25)) { + if (Flags_GetEventChkInf(EVENTCHKINF_25)) { retTextId = 0x3029; - } else if (Flags_GetEventChkInf(0x20) && Flags_GetEventChkInf(0x21)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_20) && Flags_GetEventChkInf(EVENTCHKINF_21)) { retTextId = 0x301B; } else { retTextId = 0x301A; } break; case 49: - if (Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x402D; - } else if (Flags_GetEventChkInf(0x30)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_30)) { retTextId = 0x4007; } else { retTextId = 0x4006; } break; case 50: - if (Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x402E; - } else if (Flags_GetEventChkInf(0x30)) { - if (Flags_GetInfTable(0x124)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_30)) { + if (Flags_GetInfTable(INFTABLE_124)) { retTextId = 0x4009; } else { retTextId = 0x4008; @@ -4806,44 +4818,44 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { } break; case 51: - if (Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x402D; - } else if (Flags_GetEventChkInf(0x31)) { - if (Flags_GetInfTable(0x12A)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_31)) { + if (Flags_GetInfTable(INFTABLE_12A)) { retTextId = 0x400B; } else { retTextId = 0x402F; } - } else if (Flags_GetEventChkInf(0x30)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_30)) { retTextId = 0x400A; } else { retTextId = 0x4006; } break; case 52: - if (Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x402E; - } else if (Flags_GetEventChkInf(0x30)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_30)) { retTextId = 0x400C; } else { retTextId = 0x4006; } break; case 53: - if (Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x402D; - } else if (Flags_GetEventChkInf(0x33)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_33)) { retTextId = 0x4010; - } else if (Flags_GetEventChkInf(0x30)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_30)) { retTextId = 0x400F; } else { retTextId = 0x4006; } break; case 54: - if (Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x402E; - } else if (Flags_GetEventChkInf(0x30)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_30)) { retTextId = 0x4011; } else { retTextId = 0x4006; @@ -4851,10 +4863,10 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 55: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x37)) { + if (Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x402B; - } else if (Flags_GetEventChkInf(0x31)) { - if (Flags_GetInfTable(0x138)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_31)) { + if (Flags_GetInfTable(INFTABLE_138)) { retTextId = 0x401C; } else { retTextId = 0x401B; @@ -4876,7 +4888,7 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { retTextId = 0x5012; break; case 61: - if (Flags_GetInfTable(0x166)) { + if (Flags_GetInfTable(INFTABLE_166)) { retTextId = 0x5001; } else { retTextId = 0x5000; @@ -4886,23 +4898,23 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { retTextId = 0x5012; break; case 63: - if (Flags_GetInfTable(0x16A)) { + if (Flags_GetInfTable(INFTABLE_16A)) { retTextId = 0x5001; } else { retTextId = 0x5000; } break; case 71: - if (Flags_GetEventChkInf(0x16)) { + if (Flags_GetEventChkInf(EVENTCHKINF_16)) { retTextId = 0x2049; - } else if (Flags_GetEventChkInf(0x15)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_15)) { retTextId = 0x2048; - } else if (Flags_GetEventChkInf(0x14)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_14)) { retTextId = 0x2047; - } else if (Flags_GetEventChkInf(0x12) && !Flags_GetEventChkInf(0x14)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_12) && !Flags_GetEventChkInf(EVENTCHKINF_14)) { retTextId = 0x2044; - } else if (Flags_GetEventChkInf(0x10)) { - if (Flags_GetEventChkInf(0x11)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_10)) { + if (Flags_GetEventChkInf(EVENTCHKINF_11)) { retTextId = 0x2043; } else { retTextId = 0x2042; @@ -4913,18 +4925,18 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) { break; case 72: if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x14)) { + if (Flags_GetEventChkInf(EVENTCHKINF_14)) { retTextId = 0x2040; - } else if (Flags_GetInfTable(0x94)) { + } else if (Flags_GetInfTable(INFTABLE_94)) { retTextId = 0x2040; } else { retTextId = 0x203F; } } else { - if (!Flags_GetEventChkInf(0x18)) { + if (!Flags_GetEventChkInf(EVENTCHKINF_18)) { if (!IS_DAY) { retTextId = 0x204E; - } else if (Flags_GetInfTable(0x9A)) { + } else if (Flags_GetInfTable(INFTABLE_9A)) { retTextId = 0x2031; } else { retTextId = 0x2030; @@ -4948,204 +4960,204 @@ void func_80036E50(u16 textId, s16 arg1) { case 0: switch (textId) { case 0x1001: - Flags_SetInfTable(0x0); + Flags_SetInfTable(INFTABLE_00); return; case 0x1002: - Flags_SetInfTable(0x1); + Flags_SetInfTable(INFTABLE_01); return; case 0x1031: - Flags_SetEventChkInf(0x3); - Flags_SetInfTable(0x3); + Flags_SetEventChkInf(EVENTCHKINF_03); + Flags_SetInfTable(INFTABLE_03); return; case 0x1047: - Flags_SetInfTable(0x5); + Flags_SetInfTable(INFTABLE_05); return; } return; case 1: switch (textId) { case 0x102F: - Flags_SetEventChkInf(0x2); - Flags_SetInfTable(0xC); + Flags_SetEventChkInf(EVENTCHKINF_02); + Flags_SetInfTable(INFTABLE_0C); return; case 0x1033: Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - Flags_SetEventChkInf(0x4); - Flags_SetInfTable(0xE); + Flags_SetEventChkInf(EVENTCHKINF_04); + Flags_SetInfTable(INFTABLE_0E); return; case 0x1045: - Flags_SetInfTable(0x10); + Flags_SetInfTable(INFTABLE_10); return; case 0x1060: - Flags_SetInfTable(0x15); + Flags_SetInfTable(INFTABLE_15); return; case 0x1067: - Flags_SetEventChkInf(0xA); - Flags_SetInfTable(0x17); + Flags_SetEventChkInf(EVENTCHKINF_0A); + Flags_SetInfTable(INFTABLE_17); return; case 0x1070: - Flags_SetInfTable(0x19); + Flags_SetInfTable(INFTABLE_19); return; } return; case 2: if (textId == 0x1056) { - Flags_SetInfTable(0x41); + Flags_SetInfTable(INFTABLE_41); } return; case 3: if (textId == 0x1005) { - Flags_SetInfTable(0x1E); + Flags_SetInfTable(INFTABLE_1E); } return; case 4: if (textId == 0x105D) { - Flags_SetInfTable(0x47); + Flags_SetInfTable(INFTABLE_47); } return; case 5: if (textId == 0x1008) { - Flags_SetInfTable(0x22); + Flags_SetInfTable(INFTABLE_22); } return; case 6: if (textId == 0x100A) { - Flags_SetInfTable(0x24); + Flags_SetInfTable(INFTABLE_24); } return; case 7: if (textId == 0x100C) { - Flags_SetInfTable(0x26); + Flags_SetInfTable(INFTABLE_26); } return; case 8: if (textId == 0x100E) { - Flags_SetInfTable(0x28); + Flags_SetInfTable(INFTABLE_28); } if (textId == 0x1059) { - Flags_SetInfTable(0x51); + Flags_SetInfTable(INFTABLE_51); } return; case 10: if (textId == 0x104F) { - Flags_SetInfTable(0x59); + Flags_SetInfTable(INFTABLE_59); } return; case 13: if (textId == 0x1054) { - Flags_SetInfTable(0x61); + Flags_SetInfTable(INFTABLE_61); } return; case 15: if (textId == 0x1062) { - Flags_SetInfTable(0x66); + Flags_SetInfTable(INFTABLE_66); } return; case 16: if (textId == 0x7002) { - Flags_SetInfTable(0x6A); + Flags_SetInfTable(INFTABLE_6A); } if (textId == 0x7003) { - Flags_SetInfTable(0x6A); + Flags_SetInfTable(INFTABLE_6A); } return; case 17: if (textId == 0x7007) { - Flags_SetInfTable(0x6C); + Flags_SetInfTable(INFTABLE_6C); } return; case 18: if (textId == 0x7071) { - Flags_SetInfTable(0x71); + Flags_SetInfTable(INFTABLE_71); } return; case 20: case 21: if (textId == 0x2010) { - Flags_SetInfTable(0x76); + Flags_SetInfTable(INFTABLE_76); } return; case 25: if (textId == 0x7016) { - Flags_SetInfTable(0xC2); + Flags_SetInfTable(INFTABLE_C2); } return; case 26: if (textId == 0x7018) { - Flags_SetInfTable(0xC4); + Flags_SetInfTable(INFTABLE_C4); } return; case 28: if (textId == 0x701D) { - Flags_SetInfTable(0xCA); + Flags_SetInfTable(INFTABLE_CA); } return; case 29: if (textId == 0x701F) { - Flags_SetInfTable(0xCC); + Flags_SetInfTable(INFTABLE_CC); } return; case 30: if (textId == 0x7021) { - Flags_SetInfTable(0xCE); + Flags_SetInfTable(INFTABLE_CE); } return; case 31: if (textId == 0x7023) { - Flags_SetInfTable(0xD0); + Flags_SetInfTable(INFTABLE_D0); } return; case 32: if (textId == 0x7025) { - Flags_SetInfTable(0xD2); + Flags_SetInfTable(INFTABLE_D2); } return; case 33: if (textId == 0x7027) { - Flags_SetInfTable(0xD4); + Flags_SetInfTable(INFTABLE_D4); } return; case 34: if (textId == 0x403C) { - Flags_SetInfTable(0xD6); + Flags_SetInfTable(INFTABLE_D6); } return; case 35: if (textId == 0x5028) { - Flags_SetInfTable(0xD8); + Flags_SetInfTable(INFTABLE_D8); } return; case 38: if (textId == 0x3008) { - Flags_SetInfTable(0xE0); + Flags_SetInfTable(INFTABLE_E0); } return; case 40: if (textId == 0x300B) { - Flags_SetInfTable(0xEB); + Flags_SetInfTable(INFTABLE_EB); } return; case 41: if (textId == 0x3014) { - Flags_SetInfTable(0xF0); + Flags_SetInfTable(INFTABLE_F0); } return; case 42: if (textId == 0x3016) { - Flags_SetInfTable(0xF4); + Flags_SetInfTable(INFTABLE_F4); } return; case 43: if (textId == 0x3018) { - Flags_SetEventChkInf(0x20); - Flags_SetInfTable(0xF8); + Flags_SetEventChkInf(EVENTCHKINF_20); + Flags_SetInfTable(INFTABLE_F8); } return; case 48: if (textId == 0x3020) { - Flags_SetEventChkInf(0x22); - Flags_SetInfTable(0x113); + Flags_SetEventChkInf(EVENTCHKINF_22); + Flags_SetInfTable(INFTABLE_113); } return; case 49: @@ -5153,56 +5165,56 @@ void func_80036E50(u16 textId, s16 arg1) { case 53: case 54: if (textId == 0x4006) { - Flags_SetEventChkInf(0x30); + Flags_SetEventChkInf(EVENTCHKINF_30); } return; case 50: if (textId == 0x4006) { - Flags_SetEventChkInf(0x30); + Flags_SetEventChkInf(EVENTCHKINF_30); } if (textId == 0x4008) { - Flags_SetInfTable(0x124); + Flags_SetInfTable(INFTABLE_124); } return; case 51: if (textId == 0x4006) { - Flags_SetEventChkInf(0x30); + Flags_SetEventChkInf(EVENTCHKINF_30); } if (textId == 0x400A) { - Flags_SetEventChkInf(0x32); + Flags_SetEventChkInf(EVENTCHKINF_32); } if (textId == 0x402F) { - Flags_SetInfTable(0x12A); + Flags_SetInfTable(INFTABLE_12A); } return; case 55: if (textId == 0x401B) { - Flags_SetEventChkInf(0x33); - Flags_SetInfTable(0x138); + Flags_SetEventChkInf(EVENTCHKINF_33); + Flags_SetInfTable(INFTABLE_138); } return; case 61: if (textId == 0x5000) { - Flags_SetInfTable(0x166); + Flags_SetInfTable(INFTABLE_166); } return; case 63: if (textId == 0x5013) { - Flags_SetInfTable(0x16A); + Flags_SetInfTable(INFTABLE_16A); } return; case 71: if (textId == 0x2041) { - Flags_SetEventChkInf(0x10); + Flags_SetEventChkInf(EVENTCHKINF_10); } if (textId == 0x2044) { - Flags_SetEventChkInf(0x12); + Flags_SetEventChkInf(EVENTCHKINF_12); } if (textId == 0x2047) { - Flags_SetEventChkInf(0x15); + Flags_SetEventChkInf(EVENTCHKINF_15); } if (textId == 0x2048) { - Flags_SetEventChkInf(0x16); + Flags_SetEventChkInf(EVENTCHKINF_16); } return; case 72: @@ -5217,14 +5229,14 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) { switch (textId) { case 0x1035: if (msgCtx->choiceIndex == 0) { - if (Flags_GetInfTable(0x2A)) { + if (Flags_GetInfTable(INFTABLE_2A)) { func_80035B18(globalCtx, actor, 0x1036); } else { func_80035B18(globalCtx, actor, 0x1041); } } if (msgCtx->choiceIndex == 1) { - if (Flags_GetInfTable(0x2B)) { + if (Flags_GetInfTable(INFTABLE_2B)) { func_80035B18(globalCtx, actor, 0x1037); } else { func_80035B18(globalCtx, actor, 0x1041); @@ -5234,21 +5246,21 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) { break; case 0x1038: if (msgCtx->choiceIndex == 0) { - if (Flags_GetInfTable(0x2E)) { + if (Flags_GetInfTable(INFTABLE_2E)) { func_80035B18(globalCtx, actor, 0x1039); } else { func_80035B18(globalCtx, actor, 0x1041); } } if (msgCtx->choiceIndex == 1) { - if (Flags_GetInfTable(0x2F)) { + if (Flags_GetInfTable(INFTABLE_2F)) { func_80035B18(globalCtx, actor, 0x103A); } else { func_80035B18(globalCtx, actor, 0x1041); } } if (msgCtx->choiceIndex == 2) { - if (Flags_GetInfTable(0x30)) { + if (Flags_GetInfTable(INFTABLE_30)) { func_80035B18(globalCtx, actor, 0x103B); } else { func_80035B18(globalCtx, actor, 0x1041); @@ -5269,25 +5281,25 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) { if (msgCtx->choiceTextId == 0x1035) { if (msgCtx->choiceIndex == 0) { func_80035B18(globalCtx, actor, 0x1036); - Flags_SetInfTable(0x2A); + Flags_SetInfTable(INFTABLE_2A); } if (msgCtx->choiceIndex == 1) { func_80035B18(globalCtx, actor, 0x1037); - Flags_SetInfTable(0x2B); + Flags_SetInfTable(INFTABLE_2B); } } if (msgCtx->choiceTextId == 0x1038) { if (msgCtx->choiceIndex == 0) { func_80035B18(globalCtx, actor, 0x1039); - Flags_SetInfTable(0x2E); + Flags_SetInfTable(INFTABLE_2E); } if (msgCtx->choiceIndex == 1) { func_80035B18(globalCtx, actor, 0x103A); - Flags_SetInfTable(0x2F); + Flags_SetInfTable(INFTABLE_2F); } if (msgCtx->choiceIndex == 2) { func_80035B18(globalCtx, actor, 0x103B); - Flags_SetInfTable(0x30); + Flags_SetInfTable(INFTABLE_30); } } ret = 0; @@ -5314,7 +5326,7 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) { if (msgCtx->choiceIndex == 1) { func_80035B18(globalCtx, actor, 0x2032); } - Flags_SetInfTable(0x9A); + Flags_SetInfTable(INFTABLE_9A); ret = 0; break; case 0x2036: @@ -5344,7 +5356,7 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) { ret = 0; break; case 0x2043: - if (Flags_GetEventChkInf(0x12)) { + if (Flags_GetEventChkInf(EVENTCHKINF_12)) { break; } func_80035B18(globalCtx, actor, 0x2044); @@ -5354,7 +5366,7 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) { break; case 0x300A: if (msgCtx->choiceIndex == 0) { - if (Flags_GetEventChkInf(0x22)) { + if (Flags_GetEventChkInf(EVENTCHKINF_22)) { func_80035B18(globalCtx, actor, 0x300B); } else { func_80035B18(globalCtx, actor, 0x300C); @@ -5370,7 +5382,7 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) { func_80035B18(globalCtx, actor, 0x301D); } if (msgCtx->choiceIndex == 1) { - if (Flags_GetInfTable(0x113)) { + if (Flags_GetInfTable(INFTABLE_113)) { func_80035B18(globalCtx, actor, 0x301F); } else { func_80035B18(globalCtx, actor, 0x301E); diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 1be67364bf..2922a34d86 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -52,40 +52,40 @@ CutsceneStateHandler sCsStateHandlers2[] = { u8 sTitleCsState = 0; EntranceCutscene sEntranceCutsceneTable[] = { - { 0x0185, 2, 0xA0, gHyruleFieldIntroCs }, - { 0x013D, 2, 0xA1, gDMTIntroCs }, - { 0x00DB, 2, 0xA3, gKakarikoVillageIntroCs }, - { 0x0108, 2, 0xA4, gZorasDomainIntroCs }, - { 0x0138, 1, 0xA5, gHyruleCastleIntroCs }, - { 0x014D, 2, 0xA6, gGoronCityIntroCs }, - { 0x0053, 2, 0xA7, gTempleOfTimeIntroCs }, - { 0x0000, 2, 0xA8, gDekuTreeIntroCs }, - { 0x028A, 0, 0x18, gHyruleFieldSouthEponaJumpCs }, - { 0x0292, 0, 0x18, gHyruleFieldEastEponaJumpCs }, - { 0x028E, 0, 0x18, gHyruleFieldWestEponaJumpCs }, - { 0x0476, 0, 0x18, gHyruleFieldGateEponaJumpCs }, - { 0x050F, 1, 0xA9, gHyruleFieldGetOoTCs }, - { 0x0102, 2, 0xB1, gLakeHyliaIntroCs }, - { 0x0117, 2, 0xB2, gGerudoValleyIntroCs }, - { 0x0129, 2, 0xB3, gGerudoFortressIntroCs }, - { 0x0157, 2, 0xB4, gLonLonRanchIntroCs }, - { 0x0028, 2, 0xB5, gJabuJabuIntroCs }, - { 0x00E4, 2, 0xB6, gGraveyardIntroCs }, - { 0x0225, 2, 0xB7, gZorasFountainIntroCs }, - { 0x0123, 2, 0xB8, gDesertColossusIntroCs }, - { 0x0147, 2, 0xB9, gDeathMountainCraterIntroCs }, - { 0x0138, 0, 0xBA, gGanonsCastleIntroCs }, - { 0x0574, 2, 0x5A, gSunSongGraveSunSongTeachPart2Cs }, - { 0x0538, 2, 0xBB, gForestBarrierCs }, - { 0x053C, 2, 0xBC, gWaterBarrierCs }, - { 0x0540, 2, 0xBD, gShadowBarrierCs }, - { 0x0544, 2, 0xBE, gFireBarrierCs }, - { 0x0548, 2, 0xBF, gLightBarrierCs }, - { 0x054C, 2, 0xAD, gSpiritBarrierCs }, - { 0x008D, 0, 0xC0, gSpiritBossNabooruKnuckleIntroCs }, - { 0x03B4, 0, 0xC7, gGerudoFortressFirstCaptureCs }, - { 0x0246, 2, 0xB9, gDeathMountainCraterIntroCs }, - { 0x05E8, 2, 0xC6, gKokiriForestDekuSproutCs }, + { 0x0185, 2, EVENTCHKINF_A0, gHyruleFieldIntroCs }, + { 0x013D, 2, EVENTCHKINF_A1, gDMTIntroCs }, + { 0x00DB, 2, EVENTCHKINF_A3, gKakarikoVillageIntroCs }, + { 0x0108, 2, EVENTCHKINF_A4, gZorasDomainIntroCs }, + { 0x0138, 1, EVENTCHKINF_A5, gHyruleCastleIntroCs }, + { 0x014D, 2, EVENTCHKINF_A6, gGoronCityIntroCs }, + { 0x0053, 2, EVENTCHKINF_A7, gTempleOfTimeIntroCs }, + { 0x0000, 2, EVENTCHKINF_A8, gDekuTreeIntroCs }, + { 0x028A, 0, EVENTCHKINF_18, gHyruleFieldSouthEponaJumpCs }, + { 0x0292, 0, EVENTCHKINF_18, gHyruleFieldEastEponaJumpCs }, + { 0x028E, 0, EVENTCHKINF_18, gHyruleFieldWestEponaJumpCs }, + { 0x0476, 0, EVENTCHKINF_18, gHyruleFieldGateEponaJumpCs }, + { 0x050F, 1, EVENTCHKINF_A9, gHyruleFieldGetOoTCs }, + { 0x0102, 2, EVENTCHKINF_B1, gLakeHyliaIntroCs }, + { 0x0117, 2, EVENTCHKINF_B2, gGerudoValleyIntroCs }, + { 0x0129, 2, EVENTCHKINF_B3, gGerudoFortressIntroCs }, + { 0x0157, 2, EVENTCHKINF_B4, gLonLonRanchIntroCs }, + { 0x0028, 2, EVENTCHKINF_B5, gJabuJabuIntroCs }, + { 0x00E4, 2, EVENTCHKINF_B6, gGraveyardIntroCs }, + { 0x0225, 2, EVENTCHKINF_B7, gZorasFountainIntroCs }, + { 0x0123, 2, EVENTCHKINF_B8, gDesertColossusIntroCs }, + { 0x0147, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs }, + { 0x0138, 0, EVENTCHKINF_BA, gGanonsCastleIntroCs }, + { 0x0574, 2, EVENTCHKINF_5A, gSunSongGraveSunSongTeachPart2Cs }, + { 0x0538, 2, EVENTCHKINF_BB, gForestBarrierCs }, + { 0x053C, 2, EVENTCHKINF_BC, gWaterBarrierCs }, + { 0x0540, 2, EVENTCHKINF_BD, gShadowBarrierCs }, + { 0x0544, 2, EVENTCHKINF_BE, gFireBarrierCs }, + { 0x0548, 2, EVENTCHKINF_BF, gLightBarrierCs }, + { 0x054C, 2, EVENTCHKINF_AD, gSpiritBarrierCs }, + { 0x008D, 0, EVENTCHKINF_C0, gSpiritBossNabooruKnuckleIntroCs }, + { 0x03B4, 0, EVENTCHKINF_C7, gGerudoFortressFirstCaptureCs }, + { 0x0246, 2, EVENTCHKINF_B9, gDeathMountainCraterIntroCs }, + { 0x05E8, 2, EVENTCHKINF_C6, gKokiriForestDekuSproutCs }, }; // Unused, seems to be an early list of dungeon entrance cutscene locations @@ -336,13 +336,13 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* } break; case 19: - gSaveContext.eventChkInf[6] |= 0x0020; + SET_EVENTCHKINF(EVENTCHKINF_65); break; case 20: - gSaveContext.eventChkInf[6] |= 0x0080; + SET_EVENTCHKINF(EVENTCHKINF_67); break; case 21: - gSaveContext.eventChkInf[6] |= 0x0200; + SET_EVENTCHKINF(EVENTCHKINF_69); break; case 22: D_801614B0.r = 255; @@ -561,8 +561,8 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt case 8: gSaveContext.fw.set = 0; gSaveContext.respawn[RESPAWN_MODE_TOP].data = 0; - if (!(gSaveContext.eventChkInf[4] & 0x20)) { - gSaveContext.eventChkInf[4] |= 0x20; + if (!GET_EVENTCHKINF(EVENTCHKINF_45)) { + SET_EVENTCHKINF(EVENTCHKINF_45); globalCtx->nextEntranceIndex = 0x00A0; globalCtx->transitionTrigger = TRANS_TRIGGER_START; gSaveContext.cutsceneIndex = 0xFFF3; @@ -634,7 +634,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt globalCtx->transitionType = TRANS_TYPE_FADE_WHITE; break; case 18: - gSaveContext.eventChkInf[4] |= 0x8000; + SET_EVENTCHKINF(EVENTCHKINF_4F); globalCtx->nextEntranceIndex = 0x0324; globalCtx->transitionTrigger = TRANS_TRIGGER_START; globalCtx->transitionType = TRANS_TYPE_FADE_BLACK; @@ -779,14 +779,14 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_INSTANT; break; case 46: - gSaveContext.eventChkInf[4] |= 0x8000; + SET_EVENTCHKINF(EVENTCHKINF_4F); globalCtx->nextEntranceIndex = 0x0324; globalCtx->transitionTrigger = TRANS_TRIGGER_START; globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST; break; case 47: Item_Give(globalCtx, ITEM_SONG_NOCTURNE); - gSaveContext.eventChkInf[5] |= 0x10; + SET_EVENTCHKINF(EVENTCHKINF_54); globalCtx->nextEntranceIndex = 0x00DB; globalCtx->transitionTrigger = TRANS_TRIGGER_START; gSaveContext.cutsceneIndex = 0xFFF1; @@ -1014,8 +1014,8 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt globalCtx->transitionType = TRANS_TYPE_FADE_WHITE; break; case 95: - if ((gSaveContext.eventChkInf[4] & 0x100) && (gSaveContext.eventChkInf[4] & 0x200) && - (gSaveContext.eventChkInf[4] & 0x400)) { + if (GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) && + GET_EVENTCHKINF(EVENTCHKINF_4A)) { globalCtx->nextEntranceIndex = 0x0053; globalCtx->transitionTrigger = TRANS_TRIGGER_START; gSaveContext.cutsceneIndex = 0xFFF3; @@ -1048,7 +1048,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt gSaveContext.cutsceneIndex = 0xFFF1; globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST; } else { - gSaveContext.eventChkInf[12] |= 0x100; + SET_EVENTCHKINF(EVENTCHKINF_C8); globalCtx->nextEntranceIndex = 0x0610; globalCtx->transitionTrigger = TRANS_TRIGGER_START; globalCtx->transitionType = TRANS_TYPE_FADE_WHITE; @@ -1170,8 +1170,9 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt globalCtx->transitionType = TRANS_TYPE_FADE_BLACK; break; case 113: - if (Flags_GetEventChkInf(0xBB) && Flags_GetEventChkInf(0xBC) && Flags_GetEventChkInf(0xBD) && - Flags_GetEventChkInf(0xBE) && Flags_GetEventChkInf(0xBF) && Flags_GetEventChkInf(0xAD)) { + if (Flags_GetEventChkInf(EVENTCHKINF_BB) && Flags_GetEventChkInf(EVENTCHKINF_BC) && + Flags_GetEventChkInf(EVENTCHKINF_BD) && Flags_GetEventChkInf(EVENTCHKINF_BE) && + Flags_GetEventChkInf(EVENTCHKINF_BF) && Flags_GetEventChkInf(EVENTCHKINF_AD)) { globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gTowerBarrierCs); globalCtx->csCtx.frames = 0; gSaveContext.cutsceneTrigger = 1; @@ -1194,7 +1195,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK; break; case 116: - if (gSaveContext.eventChkInf[12] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_C8)) { globalCtx->nextEntranceIndex = 0x0580; globalCtx->transitionTrigger = TRANS_TRIGGER_START; globalCtx->transitionType = TRANS_TYPE_FADE_WHITE; @@ -2060,7 +2061,7 @@ void Cutscene_HandleEntranceTriggers(GlobalContext* globalCtx) { } if ((gSaveContext.entranceIndex == entranceCutscene->entrance) && - (!Flags_GetEventChkInf(entranceCutscene->flag) || (entranceCutscene->flag == 0x18)) && + (!Flags_GetEventChkInf(entranceCutscene->flag) || (entranceCutscene->flag == EVENTCHKINF_18)) && (gSaveContext.cutsceneIndex < 0xFFF0) && ((u8)gSaveContext.linkAge == requiredAge) && (gSaveContext.respawnFlag <= 0)) { Flags_SetEventChkInf(entranceCutscene->flag); @@ -2076,29 +2077,29 @@ void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx) { osSyncPrintf("\ngame_info.mode=[%d] restart_flag", ((void)0, gSaveContext.respawnFlag)); if ((gSaveContext.gameMode == 0) && (gSaveContext.respawnFlag <= 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) { - if ((gSaveContext.entranceIndex == 0x01E1) && !Flags_GetEventChkInf(0xAC)) { - Flags_SetEventChkInf(0xAC); + if ((gSaveContext.entranceIndex == 0x01E1) && !Flags_GetEventChkInf(EVENTCHKINF_AC)) { + Flags_SetEventChkInf(EVENTCHKINF_AC); gSaveContext.entranceIndex = 0x0123; gSaveContext.cutsceneIndex = 0xFFF0; - } else if ((gSaveContext.entranceIndex == 0x00DB) && LINK_IS_ADULT && (gSaveContext.eventChkInf[4] & 0x0100) && - (gSaveContext.eventChkInf[4] & 0x0200) && (gSaveContext.eventChkInf[4] & 0x0400) && - !Flags_GetEventChkInf(0xAA)) { - Flags_SetEventChkInf(0xAA); + } else if ((gSaveContext.entranceIndex == 0x00DB) && LINK_IS_ADULT && GET_EVENTCHKINF(EVENTCHKINF_48) && + GET_EVENTCHKINF(EVENTCHKINF_49) && GET_EVENTCHKINF(EVENTCHKINF_4A) && + !Flags_GetEventChkInf(EVENTCHKINF_AA)) { + Flags_SetEventChkInf(EVENTCHKINF_AA); gSaveContext.cutsceneIndex = 0xFFF0; - } else if ((gSaveContext.entranceIndex == 0x05E0) && !Flags_GetEventChkInf(0xC1)) { - Flags_SetEventChkInf(0xC1); + } else if ((gSaveContext.entranceIndex == 0x05E0) && !Flags_GetEventChkInf(EVENTCHKINF_C1)) { + Flags_SetEventChkInf(EVENTCHKINF_C1); Item_Give(globalCtx, ITEM_OCARINA_FAIRY); gSaveContext.entranceIndex = 0x011E; gSaveContext.cutsceneIndex = 0xFFF0; } else if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) && CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) && - LINK_IS_ADULT && !Flags_GetEventChkInf(0xC4) && + LINK_IS_ADULT && !Flags_GetEventChkInf(EVENTCHKINF_C4) && (gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_TOKINOMA)) { - Flags_SetEventChkInf(0xC4); + Flags_SetEventChkInf(EVENTCHKINF_C4); gSaveContext.entranceIndex = 0x0053; gSaveContext.cutsceneIndex = 0xFFF8; - } else if (!Flags_GetEventChkInf(0xC7) && + } else if (!Flags_GetEventChkInf(EVENTCHKINF_C7) && (gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_GANON_DEMO)) { - Flags_SetEventChkInf(0xC7); + Flags_SetEventChkInf(EVENTCHKINF_C7); gSaveContext.entranceIndex = 0x0517; gSaveContext.cutsceneIndex = 0xFFF0; } diff --git a/src/code/z_elf_message.c b/src/code/z_elf_message.c index 370fe8d419..aef42a3ef2 100644 --- a/src/code/z_elf_message.c +++ b/src/code/z_elf_message.c @@ -3,11 +3,11 @@ ElfMessage sChildSariaMsgs[] = { ELF_MSG_STRENGTH_UPG(SKIP, 3, false, 0), - ELF_MSG_FLAG(CHECK, 0x61, false, 0x37), /* eventChkInf[3] & 0x80 */ + ELF_MSG_FLAG(CHECK, 0x61, false, EVENTCHKINF_37), ELF_MSG_END(0x64), - ELF_MSG_FLAG(CHECK, 0x62, false, 0x25), /* eventChkInf[2] & 0x20 */ - ELF_MSG_FLAG(CHECK, 0x63, false, 0x37), /* eventChkInf[3] & 0x80 */ - ELF_MSG_FLAG(CHECK, 0x65, false, 0x43), /* eventChkInf[4] & 0x8 */ + ELF_MSG_FLAG(CHECK, 0x62, false, EVENTCHKINF_25), + ELF_MSG_FLAG(CHECK, 0x63, false, EVENTCHKINF_37), + ELF_MSG_FLAG(CHECK, 0x65, false, EVENTCHKINF_43), ELF_MSG_MEDALLION(CHECK, 0x66, false, ITEM_MEDALLION_FOREST), ELF_MSG_MEDALLION(CHECK, 0x66, false, ITEM_MEDALLION_FIRE), ELF_MSG_MEDALLION(CHECK, 0x66, false, ITEM_MEDALLION_WATER), diff --git a/src/code/z_game_over.c b/src/code/z_game_over.c index 3605c5bd6f..e66b66e647 100644 --- a/src/code/z_game_over.c +++ b/src/code/z_game_over.c @@ -30,7 +30,7 @@ void GameOver_Update(GlobalContext* globalCtx) { gSaveContext.timer1State = 0; gSaveContext.timer2State = 0; - gSaveContext.eventInf[1] &= ~1; + CLEAR_EVENTINF(EVENTINF_10); // search inventory for spoiling items and revert if necessary for (i = 0; i < ARRAY_COUNT(gSpoilingItems); i++) { diff --git a/src/code/z_horse.c b/src/code/z_horse.c index 3a28701162..28fd9a904f 100644 --- a/src/code/z_horse.c +++ b/src/code/z_horse.c @@ -47,7 +47,7 @@ void func_8006D0EC(GlobalContext* globalCtx, Player* player) { { SCENE_SPOT20, 928, 0, -2280, 0, 2 }, }; - if ((AREG(6) != 0) && (Flags_GetEventChkInf(0x18) || (DREG(1) != 0))) { + if ((AREG(6) != 0) && (Flags_GetEventChkInf(EVENTCHKINF_18) || (DREG(1) != 0))) { player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, player->actor.world.pos.x, player->actor.world.pos.y, player->actor.world.pos.z, player->actor.shape.rot.x, player->actor.shape.rot.y, player->actor.shape.rot.z, 9); @@ -67,15 +67,15 @@ void func_8006D0EC(GlobalContext* globalCtx, Player* player) { horseActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 3586.0f, 1413.0f, -402.0f, 0, 0x4000, 0, 1); horseActor->room = -1; - } else if ((gSaveContext.entranceIndex == 1230) && (gSaveContext.eventChkInf[1] & 0x100)) { + } else if ((gSaveContext.entranceIndex == 1230) && GET_EVENTCHKINF(EVENTCHKINF_18)) { Actor* horseActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, -25.0f, 0.0f, -1600.0f, 0, -0x4000, 0, 1); ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 389); } else if ((globalCtx->sceneNum == gSaveContext.horseData.scene) && - (Flags_GetEventChkInf(0x18) != 0 || DREG(1) != 0)) { + (Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1) != 0)) { // "Set by existence of horse %d %d %d" - osSyncPrintf("馬存在によるセット %d %d %d\n", gSaveContext.horseData.scene, Flags_GetEventChkInf(0x18), - DREG(1)); + osSyncPrintf("馬存在によるセット %d %d %d\n", gSaveContext.horseData.scene, + Flags_GetEventChkInf(EVENTCHKINF_18), DREG(1)); if (func_8006CFC0(gSaveContext.horseData.scene)) { Actor* horseActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, @@ -92,11 +92,11 @@ void func_8006D0EC(GlobalContext* globalCtx, Player* player) { osSyncPrintf(VT_RST); func_8006D074(globalCtx); } - } else if ((globalCtx->sceneNum == SCENE_SPOT20) && !Flags_GetEventChkInf(0x18) && (DREG(1) == 0)) { + } else if ((globalCtx->sceneNum == SCENE_SPOT20) && !Flags_GetEventChkInf(EVENTCHKINF_18) && (DREG(1) == 0)) { Actor* horseActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 0.0f, 0.0f, -500.0f, 0, 0, 0, 1); ASSERT(horseActor != NULL, "horse_actor != NULL", "../z_horse.c", 443); - } else if (Flags_GetEventChkInf(0x18) || (DREG(1) != 0)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_18) || (DREG(1) != 0)) { for (i = 0; i < ARRAY_COUNT(horseSpawns); i++) { HorseSpawn* horseSpawn = &horseSpawns[i]; if (horseSpawn->scene == globalCtx->sceneNum) { @@ -111,7 +111,7 @@ void func_8006D0EC(GlobalContext* globalCtx, Player* player) { break; } } - } else if (!Flags_GetEventChkInf(0x18)) { + } else if (!Flags_GetEventChkInf(EVENTCHKINF_18)) { if ((DREG(1) == 0) && (globalCtx->sceneNum == SCENE_SOUKO) && !IS_DAY) { Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 0.0f, 0.0f, -60.0f, 0, 0x7360, 0, 1); } @@ -158,8 +158,11 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) { Actor_MountHorse(globalCtx, player, player->rideActor); func_8002DE74(globalCtx, player); gSaveContext.horseData.scene = globalCtx->sceneNum; - } else if ((globalCtx->sceneNum == SCENE_SPOT20) && ((gSaveContext.eventInf[0] & 0xF) == 6) && - (Flags_GetEventChkInf(0x18) == 0) && (DREG(1) == 0)) { + } else if ((globalCtx->sceneNum == SCENE_SPOT20) && + ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) == + (EVENTINF_01_MASK | EVENTINF_02_MASK)) && + !Flags_GetEventChkInf(EVENTCHKINF_18) && (DREG(1) == 0)) { player->rideActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, 894.0f, 0.0f, -2084.0f, 0, -0x7FFF, 0, 5); ASSERT(player->rideActor != NULL, "player->ride.actor != NULL", "../z_horse.c", 582); @@ -200,7 +203,7 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) { Vec3f sp54; s32 temp = 0; - if (((gSaveContext.eventInf[0] & 0x10) >> 4) && D_8011F9B8[i].type == 6) { + if ((GET_EVENTINF(EVENTINF_04) >> EVENTINF_04_SHIFT) && D_8011F9B8[i].type == 6) { temp = 0x8000; } @@ -249,8 +252,11 @@ void func_8006DC68(GlobalContext* globalCtx, Player* player) { ((gSaveContext.entranceIndex == 0x028A || gSaveContext.entranceIndex == 0x028E || gSaveContext.entranceIndex == 0x0292 || gSaveContext.entranceIndex == 0x0476) && (gSaveContext.respawnFlag == 0)) || - ((globalCtx->sceneNum == SCENE_SPOT20) && ((gSaveContext.eventInf[0] & 0xF) == 6) && - !Flags_GetEventChkInf(0x18) && (DREG(1) == 0))) { + ((globalCtx->sceneNum == SCENE_SPOT20) && + ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) == + (EVENTINF_01_MASK | EVENTINF_02_MASK)) && + !Flags_GetEventChkInf(EVENTCHKINF_18) && (DREG(1) == 0))) { func_8006D684(globalCtx, player); } else { func_8006D0EC(globalCtx, player); diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index f77df0e07d..d160cb3acb 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -2443,19 +2443,19 @@ void Environment_WarpSongLeave(GlobalContext* globalCtx) { switch (globalCtx->nextEntranceIndex) { case 0x147: - Flags_SetEventChkInf(0xB9); + Flags_SetEventChkInf(EVENTCHKINF_B9); break; case 0x0102: - Flags_SetEventChkInf(0xB1); + Flags_SetEventChkInf(EVENTCHKINF_B1); break; case 0x0123: - Flags_SetEventChkInf(0xB8); + Flags_SetEventChkInf(EVENTCHKINF_B8); break; case 0x00E4: - Flags_SetEventChkInf(0xB6); + Flags_SetEventChkInf(EVENTCHKINF_B6); break; case 0x0053: - Flags_SetEventChkInf(0xA7); + Flags_SetEventChkInf(EVENTCHKINF_A7); break; case 0x00FC: break; diff --git a/src/code/z_map_data.c b/src/code/z_map_data.c index 3ee22c7a06..881950c6df 100644 --- a/src/code/z_map_data.c +++ b/src/code/z_map_data.c @@ -239,8 +239,26 @@ static s16 sOwEntranceIconPosY[24] = { }; static u16 sOwEntranceFlag[20] = { - 0xFFFF, 0x0008, 0x0007, 0xFFFF, 0x0000, 0x0003, 0x0005, 0xFFFF, 0x0002, 0xFFFF, - 0xFFFF, 0x0006, 0x000B, 0xFFFF, 0xFFFF, 0x0001, 0x0004, 0xFFFF, 0xFFFF, 0x000D, + 0xFFFF, + INFTABLE_1A8_SHIFT, + INFTABLE_1A7_SHIFT, + 0xFFFF, + INFTABLE_1A0_SHIFT, + INFTABLE_1A3_SHIFT, + INFTABLE_1A5_SHIFT, + 0xFFFF, + INFTABLE_1A2_SHIFT, + 0xFFFF, + 0xFFFF, + INFTABLE_1A6_SHIFT, + INFTABLE_1AB_SHIFT, + 0xFFFF, + 0xFFFF, + INFTABLE_1A1_SHIFT, + INFTABLE_1A4_SHIFT, + 0xFFFF, + 0xFFFF, + INFTABLE_1AD_SHIFT, }; static f32 sFloorCoordY[10][8] = { diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index f4423a63fc..b79182f75b 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -118,11 +118,16 @@ void Map_InitData(GlobalContext* globalCtx, s16 room) { extendedMapIndex = 0x15; } } else if (globalCtx->sceneNum == SCENE_SPOT09) { - if ((LINK_AGE_IN_YEARS == YEARS_ADULT) && !((gSaveContext.eventChkInf[9] & 0xF) == 0xF)) { + if ((LINK_AGE_IN_YEARS == YEARS_ADULT) && + !CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | + EVENTCHKINF_93_MASK)) { extendedMapIndex = 0x16; } } else if (globalCtx->sceneNum == SCENE_SPOT12) { - if ((gSaveContext.eventChkInf[9] & 0xF) == 0xF) { + if (CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | + EVENTCHKINF_93_MASK)) { extendedMapIndex = 0x17; } } @@ -455,7 +460,8 @@ void Minimap_Draw(GlobalContext* globalCtx) { (LINK_AGE_IN_YEARS != YEARS_ADULT)) { if ((gMapData->owEntranceFlag[sEntranceIconMapIndex] == 0xFFFF) || ((gMapData->owEntranceFlag[sEntranceIconMapIndex] != 0xFFFF) && - (gSaveContext.infTable[26] & gBitFlags[gMapData->owEntranceFlag[mapIndex]]))) { + (gSaveContext.infTable[INFTABLE_1AX_INDEX] & + gBitFlags[gMapData->owEntranceFlag[mapIndex]]))) { 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, @@ -470,7 +476,8 @@ void Minimap_Draw(GlobalContext* globalCtx) { } } - if ((globalCtx->sceneNum == SCENE_SPOT08) && (gSaveContext.infTable[26] & gBitFlags[9])) { + if ((globalCtx->sceneNum == SCENE_SPOT08) && + (gSaveContext.infTable[INFTABLE_1AX_INDEX] & 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_message_PAL.c b/src/code/z_message_PAL.c index 36d5733049..efe15ab707 100644 --- a/src/code/z_message_PAL.c +++ b/src/code/z_message_PAL.c @@ -1605,7 +1605,7 @@ void Message_OpenText(GlobalContext* globalCtx, u16 textId) { textId += (gSaveContext.inventory.questItems & 0xF0000000 & 0xF0000000) >> QUEST_HEART_PIECE_COUNT; } else if (msgCtx->textId == 0xC && CHECK_OWNED_EQUIP(EQUIP_SWORD, 2)) { textId = 0xB; // Traded Giant's Knife for Biggoron Sword - } else if (msgCtx->textId == 0xB4 && (gSaveContext.eventChkInf[9] & 0x40)) { + } else if (msgCtx->textId == 0xB4 && GET_EVENTCHKINF(EVENTCHKINF_96)) { textId = 0xB5; // Destroyed Gold Skulltula } // Ocarina Staff + Dialog @@ -2456,7 +2456,9 @@ void Message_DrawMain(GlobalContext* globalCtx, Gfx** p) { if (msgCtx->disableWarpSongs || interfaceCtx->restrictions.warpSongs == 3) { Message_StartTextbox(globalCtx, 0x88C, NULL); // "You can't warp here!" globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; - } else if ((gSaveContext.eventInf[0] & 0xF) != 1) { + } else if ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) != + EVENTINF_00_MASK) { Message_StartTextbox(globalCtx, msgCtx->lastPlayedSong + 0x88D, NULL); // "Warp to [place name]?" globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_01; @@ -3217,8 +3219,10 @@ void Message_Update(GlobalContext* globalCtx) { if (Message_ShouldAdvance(globalCtx)) { osSyncPrintf("OCARINA_MODE=%d -> ", globalCtx->msgCtx.ocarinaMode); globalCtx->msgCtx.ocarinaMode = (msgCtx->choiceIndex == 0) ? OCARINA_MODE_02 : OCARINA_MODE_04; - osSyncPrintf("InRaceSeq=%d(%d) OCARINA_MODE=%d --> ", gSaveContext.eventInf[0] & 0xF, 1, - globalCtx->msgCtx.ocarinaMode); + osSyncPrintf("InRaceSeq=%d(%d) OCARINA_MODE=%d --> ", + gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK), + 1, globalCtx->msgCtx.ocarinaMode); Message_CloseTextbox(globalCtx); osSyncPrintf("OCARINA_MODE=%d\n", globalCtx->msgCtx.ocarinaMode); } diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 8c64eca080..24fc5e83dd 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -768,7 +768,9 @@ void func_80083108(GlobalContext* globalCtx) { gSaveContext.unk_13EA = 0; Interface_ChangeAlpha(50); } - } else if ((gSaveContext.eventInf[0] & 0xF) == 1) { + } else if ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) == + EVENTINF_00_MASK) { if (player->stateFlags1 & PLAYER_STATE1_23) { if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) && (gSaveContext.equips.buttonItems[0] != ITEM_BOW)) { @@ -828,7 +830,8 @@ void func_80083108(GlobalContext* globalCtx) { (gSaveContext.equips.buttonItems[0] == ITEM_BOW) || (gSaveContext.equips.buttonItems[0] == ITEM_BOMBCHU) || (gSaveContext.equips.buttonItems[0] == ITEM_NONE)) { - if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) || (gSaveContext.infTable[29] == 0)) { + if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) || + (gSaveContext.infTable[INFTABLE_1DX_INDEX] == 0)) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; sp28 = true; @@ -851,7 +854,8 @@ void func_80083108(GlobalContext* globalCtx) { (gSaveContext.equips.buttonItems[0] == ITEM_BOW) || (gSaveContext.equips.buttonItems[0] == ITEM_BOMBCHU) || (gSaveContext.equips.buttonItems[0] == ITEM_NONE)) { - if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) || (gSaveContext.infTable[29] == 0)) { + if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) || + (gSaveContext.infTable[INFTABLE_1DX_INDEX] == 0)) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; sp28 = true; @@ -1303,7 +1307,7 @@ void func_80084BF4(GlobalContext* globalCtx, u16 flag) { Interface_LoadItemIcon1(globalCtx, 0); } } else if (gSaveContext.equips.buttonItems[0] == ITEM_NONE) { - if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) || (gSaveContext.infTable[29] == 0)) { + if ((gSaveContext.equips.buttonItems[0] != ITEM_NONE) || (gSaveContext.infTable[INFTABLE_1DX_INDEX] == 0)) { gSaveContext.equips.buttonItems[0] = gSaveContext.buttonStatus[0]; Interface_LoadItemIcon1(globalCtx, 0); } @@ -1636,8 +1640,8 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { AMMO(ITEM_SLINGSHOT) = CUR_CAPACITY(UPG_BULLET_BAG); } - if (!(gSaveContext.itemGetInf[1] & 8)) { - gSaveContext.itemGetInf[1] |= 8; + if (!GET_ITEMGETINF(ITEMGETINF_13)) { + SET_ITEMGETINF(ITEMGETINF_13); return ITEM_NONE; } @@ -1649,8 +1653,8 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { AMMO(ITEM_SLINGSHOT) = CUR_CAPACITY(UPG_BULLET_BAG); } - if (!(gSaveContext.itemGetInf[1] & 8)) { - gSaveContext.itemGetInf[1] |= 8; + if (!GET_ITEMGETINF(ITEMGETINF_13)) { + SET_ITEMGETINF(ITEMGETINF_13); return ITEM_NONE; } @@ -1695,8 +1699,8 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { func_80087708(globalCtx, 12, 5); - if (!(gSaveContext.infTable[25] & 0x100)) { - gSaveContext.infTable[25] |= 0x100; + if (!GET_INFTABLE(INFTABLE_198)) { + SET_INFTABLE(INFTABLE_198); return ITEM_NONE; } @@ -1708,8 +1712,8 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { func_80087708(globalCtx, 24, 5); - if (!(gSaveContext.infTable[25] & 0x100)) { - gSaveContext.infTable[25] |= 0x100; + if (!GET_INFTABLE(INFTABLE_198)) { + SET_INFTABLE(INFTABLE_198); return ITEM_NONE; } @@ -1770,7 +1774,7 @@ u8 Item_Give(GlobalContext* globalCtx, u8 item) { } } else if ((item >= ITEM_WEIRD_EGG) && (item <= ITEM_CLAIM_CHECK)) { if (item == ITEM_SAW) { - gSaveContext.itemGetInf[1] |= 0x8000; + SET_ITEMGETINF(ITEMGETINF_1F); } temp = INV_CONTENT(item); @@ -1875,7 +1879,7 @@ u8 Item_CheckObtainability(u8 item) { } else if (item == ITEM_LONGSHOT) { return ITEM_NONE; } else if ((item == ITEM_SEEDS) || (item == ITEM_SEEDS_30)) { - if (!(gSaveContext.itemGetInf[1] & 0x8)) { + if (!GET_ITEMGETINF(ITEMGETINF_13)) { return ITEM_NONE; } else { return ITEM_SEEDS; @@ -1890,8 +1894,8 @@ u8 Item_CheckObtainability(u8 item) { return ITEM_HEART; } else if ((item == ITEM_MAGIC_SMALL) || (item == ITEM_MAGIC_LARGE)) { // "Magic Pot Get_Inf_Table( 25, 0x0100)=%d" - osSyncPrintf("魔法の壷 Get_Inf_Table( 25, 0x0100)=%d\n", gSaveContext.infTable[25] & 0x100); - if (!(gSaveContext.infTable[25] & 0x100)) { + osSyncPrintf("魔法の壷 Get_Inf_Table( 25, 0x0100)=%d\n", GET_INFTABLE(INFTABLE_198)); + if (!GET_INFTABLE(INFTABLE_198)) { return ITEM_NONE; } else { return item; @@ -2639,7 +2643,7 @@ void func_80088AA0(s16 arg0) { void func_80088AF0(GlobalContext* globalCtx) { if (gSaveContext.timer2State != 0) { - if (gSaveContext.eventInf[1] & 1) { + if (GET_EVENTINF(EVENTINF_10)) { gSaveContext.timer2Value = 239; } else { gSaveContext.timer2Value = 1; @@ -3408,8 +3412,10 @@ void Interface_Draw(GlobalContext* globalCtx) { // Revert any spoiling trade quest items for (svar1 = 0; svar1 < ARRAY_COUNT(gSpoilingItems); svar1++) { if (INV_CONTENT(ITEM_TRADE_ADULT) == gSpoilingItems[svar1]) { - gSaveContext.eventInf[0] &= 0x7F80; - osSyncPrintf("EVENT_INF=%x\n", gSaveContext.eventInf[0]); + gSaveContext.eventInf[EVENTINF_0X_INDEX] &= + (u16) ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK | + EVENTINF_04_MASK | EVENTINF_05_MASK | EVENTINF_06_MASK | EVENTINF_0F_MASK); + osSyncPrintf("EVENT_INF=%x\n", gSaveContext.eventInf[EVENTINF_0X_INDEX]); globalCtx->nextEntranceIndex = spoilingItemEntrances[svar1]; INV_CONTENT(gSpoilingItemReverts[svar1]) = gSpoilingItemReverts[svar1]; @@ -3719,10 +3725,10 @@ void Interface_Draw(GlobalContext* globalCtx) { } } else { gSaveContext.timer2Value++; - if (gSaveContext.eventInf[1] & 1) { + if (GET_EVENTINF(EVENTINF_10)) { if (gSaveContext.timer2Value == 240) { Message_StartTextbox(globalCtx, 0x6083, NULL); - gSaveContext.eventInf[1] &= ~1; + CLEAR_EVENTINF(EVENTINF_10); gSaveContext.timer2State = 0; } } diff --git a/src/code/z_play.c b/src/code/z_play.c index 03f7f8b744..b5afd0e223 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -292,7 +292,7 @@ void Gameplay_Init(GameState* thisx) { } } else if ((gEntranceTable[((void)0, gSaveContext.entranceIndex)].scene == SCENE_SPOT04) && LINK_IS_ADULT && gSaveContext.sceneSetupIndex < 4) { - gSaveContext.sceneSetupIndex = (gSaveContext.eventChkInf[4] & 0x100) ? 3 : 2; + gSaveContext.sceneSetupIndex = GET_EVENTCHKINF(EVENTCHKINF_48) ? 3 : 2; } Gameplay_SpawnScene( diff --git a/src/code/z_scene_table.c b/src/code/z_scene_table.c index ee2da46e7e..7db9f9392b 100644 --- a/src/code/z_scene_table.c +++ b/src/code/z_scene_table.c @@ -2846,7 +2846,7 @@ void func_8009E0B8(GlobalContext* globalCtx) { spA3 = 255 - (u8)globalCtx->roomCtx.unk_74[0]; } else if (gSaveContext.sceneSetupIndex == 6) { spA0 = globalCtx->roomCtx.unk_74[0] + 500; - } else if (((gSaveContext.sceneSetupIndex < 4) || LINK_IS_ADULT) && (gSaveContext.eventChkInf[0] & 0x80)) { + } else if (((gSaveContext.sceneSetupIndex < 4) || LINK_IS_ADULT) && GET_EVENTCHKINF(EVENTCHKINF_07)) { spA0 = 2150; } @@ -2874,7 +2874,7 @@ void func_8009E54C(GlobalContext* globalCtx) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 7058); - if ((gSaveContext.sceneSetupIndex > 3) || (LINK_IS_ADULT && !(gSaveContext.eventChkInf[6] & 0x200))) { + if ((gSaveContext.sceneSetupIndex > 3) || (LINK_IS_ADULT && !GET_EVENTCHKINF(EVENTCHKINF_69))) { globalCtx->roomCtx.unk_74[0] = 87; } diff --git a/src/code/z_sram.c b/src/code/z_sram.c index f2844a88a2..c898a701a8 100644 --- a/src/code/z_sram.c +++ b/src/code/z_sram.c @@ -175,7 +175,7 @@ void Sram_InitNewSave(void) { gSaveContext.horseData.pos.z = 5497; gSaveContext.horseData.angle = -0x6AD9; gSaveContext.magicLevel = 0; - gSaveContext.infTable[29] = 1; + gSaveContext.infTable[INFTABLE_1DX_INDEX] = 1; gSaveContext.sceneFlags[5].swch = 0x40000000; } @@ -265,8 +265,8 @@ void Sram_InitDebugSave(void) { gSaveContext.horseData.angle = -0x6AD9; gSaveContext.infTable[0] |= 0x5009; gSaveContext.eventChkInf[0] |= 0x123F; - gSaveContext.eventChkInf[8] |= 1; - gSaveContext.eventChkInf[12] |= 0x10; + SET_EVENTCHKINF(EVENTCHKINF_80); + SET_EVENTCHKINF(EVENTCHKINF_C4); if (LINK_AGE_IN_YEARS == YEARS_CHILD) { gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; @@ -408,9 +408,9 @@ void Sram_OpenSave(SramContext* sramCtx) { } // if zelda cutscene has been watched but lullaby was not obtained, restore cutscene and take away letter - if ((gSaveContext.eventChkInf[4] & 1) && !CHECK_QUEST_ITEM(QUEST_SONG_LULLABY)) { - i = gSaveContext.eventChkInf[4] & ~1; - gSaveContext.eventChkInf[4] = i; + if (GET_EVENTCHKINF(EVENTCHKINF_40) && !CHECK_QUEST_ITEM(QUEST_SONG_LULLABY)) { + i = gSaveContext.eventChkInf[EVENTCHKINF_40_INDEX] & ~EVENTCHKINF_40_MASK; + gSaveContext.eventChkInf[EVENTCHKINF_40_INDEX] = i; INV_CONTENT(ITEM_LETTER_ZELDA) = ITEM_CHICKEN; diff --git a/src/elf_message/elf_message_field.c b/src/elf_message/elf_message_field.c index fe1e8ee97e..57736c5a3b 100644 --- a/src/elf_message/elf_message_field.c +++ b/src/elf_message/elf_message_field.c @@ -2,32 +2,32 @@ #include "z64elf_message.h" ElfMessage gOverworldNaviMsgs[] = { - ELF_MSG_FLAG(CHECK, 0x40, false, 0x05), /* eventChkInf[0] & 0x20 */ - ELF_MSG_FLAG(CHECK, 0x41, false, 0x09), /* eventChkInf[0] & 0x200 */ - ELF_MSG_FLAG(CHECK, 0x42, false, 0x12), /* eventChkInf[1] & 0x4 */ - ELF_MSG_FLAG(CHECK, 0x43, false, 0x14), /* eventChkInf[1] & 0x10 */ - ELF_MSG_FLAG(CHECK, 0x44, false, 0x40), /* eventChkInf[4] & 0x1 */ + ELF_MSG_FLAG(CHECK, 0x40, false, EVENTCHKINF_05), + ELF_MSG_FLAG(CHECK, 0x41, false, EVENTCHKINF_09), + ELF_MSG_FLAG(CHECK, 0x42, false, EVENTCHKINF_12), + ELF_MSG_FLAG(CHECK, 0x43, false, EVENTCHKINF_14), + ELF_MSG_FLAG(CHECK, 0x44, false, EVENTCHKINF_40), ELF_MSG_SONG(CHECK, 0x45, false, ITEM_SONG_SARIA), ELF_MSG_STRENGTH_UPG(CHECK, 0x46, true, 0), - ELF_MSG_FLAG(CHECK, 0x47, false, 0x25), /* eventChkInf[2] & 0x20 */ + ELF_MSG_FLAG(CHECK, 0x47, false, EVENTCHKINF_25), ELF_MSG_MAGIC(CHECK, 0x48, false), - ELF_MSG_FLAG(CHECK, 0x49, false, 0x33), /* eventChkInf[3] & 0x8 */ - ELF_MSG_FLAG(CHECK, 0x4A, false, 0x37), /* eventChkInf[3] & 0x80 */ - ELF_MSG_FLAG(CHECK, 0x4B, false, 0x80), /* eventChkInf[8] & 0x1 */ - ELF_MSG_FLAG(CHECK, 0x4C, false, 0x43), /* eventChkInf[4] & 0x8 */ - ELF_MSG_FLAG(CHECK, 0x4D, false, 0x45), /* eventChkInf[4] & 0x20 */ + ELF_MSG_FLAG(CHECK, 0x49, false, EVENTCHKINF_33), + ELF_MSG_FLAG(CHECK, 0x4A, false, EVENTCHKINF_37), + ELF_MSG_FLAG(CHECK, 0x4B, false, EVENTCHKINF_80), + ELF_MSG_FLAG(CHECK, 0x4C, false, EVENTCHKINF_43), + ELF_MSG_FLAG(CHECK, 0x4D, false, EVENTCHKINF_45), ELF_MSG_ITEM(CHECK, 0x4E, true, ITEM_HOOKSHOT, ITEM_NONE), ELF_MSG_MEDALLION(CHECK, 0x50, false, ITEM_MEDALLION_FOREST), ELF_MSG_MEDALLION(CHECK, 0x51, false, ITEM_MEDALLION_FIRE), ELF_MSG_BOOTS(CHECK, 0x52, false, ITEM_BOOTS_IRON), ELF_MSG_MEDALLION(CHECK, 0x53, false, ITEM_MEDALLION_WATER), - ELF_MSG_FLAG(CHECK, 0x54, false, 0xAA), /* eventChkInf[10] & 0x400 */ + ELF_MSG_FLAG(CHECK, 0x54, false, EVENTCHKINF_AA), ELF_MSG_ITEM(CHECK, 0x55, true, ITEM_LENS, ITEM_NONE), ELF_MSG_MEDALLION(CHECK, 0x57, false, ITEM_MEDALLION_SHADOW), ELF_MSG_SONG(CHECK, 0x58, false, ITEM_SONG_REQUIEM), ELF_MSG_STRENGTH_UPG(CHECK, 0x56, true, 1), ELF_MSG_MEDALLION(CHECK, 0x5A, false, ITEM_MEDALLION_SPIRIT), ELF_MSG_ITEM(CHECK, 0x5B, true, ITEM_ARROW_LIGHT, ITEM_NONE), - ELF_MSG_FLAG(CHECK, 0x5C, false, 0xC3), /* eventChkInf[12] & 0x8 */ + ELF_MSG_FLAG(CHECK, 0x5C, false, EVENTCHKINF_C3), ELF_MSG_END(0x5F), }; diff --git a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c index fdb8376bcd..6ade80aa4e 100644 --- a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c +++ b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c @@ -79,7 +79,7 @@ s32 BgBdanObjects_GetContactRu1(BgBdanObjects* this, s32 arg1) { case 0: return this->cameraSetting == CAM_SET_NORMAL0; case 4: - return gSaveContext.infTable[20] & 0x40; + return GET_INFTABLE(INFTABLE_146); case 3: return this->cameraSetting == CAM_SET_DUNGEON1; default: @@ -97,7 +97,7 @@ void BgBdanObjects_SetContactRu1(BgBdanObjects* this, s32 arg1) { this->cameraSetting = CAM_SET_DUNGEON0; break; case 4: - gSaveContext.infTable[20] |= 0x40; + SET_INFTABLE(INFTABLE_146); break; default: osSyncPrintf("Bg_Bdan_Objects_Set_Contact_Ru1\nそんな送信モードは無い%d!!!!!!!!\n"); diff --git a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c index 9513a2afed..2abe334db5 100644 --- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c +++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c @@ -249,8 +249,8 @@ void BgBreakwall_Wait(BgBreakwall* this, GlobalContext* globalCtx) { Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WALL_BROKEN); } - if ((wallType == BWALL_DC_ENTRANCE) && (!(Flags_GetEventChkInf(0xB0)))) { - Flags_SetEventChkInf(0xB0); + if ((wallType == BWALL_DC_ENTRANCE) && !Flags_GetEventChkInf(EVENTCHKINF_B0)) { + Flags_SetEventChkInf(EVENTCHKINF_B0); Cutscene_SetSegment(globalCtx, gDcOpeningCs); gSaveContext.cutsceneTrigger = 1; Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, diff --git a/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c b/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c index 5952c79646..d5f7d1e460 100644 --- a/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c +++ b/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c @@ -182,7 +182,7 @@ void BgDodoago_WaitExplosives(BgDodoago* this, GlobalContext* globalCtx) { sFirstExplosiveFlag = true; sTimer = 50; } - } else if (Flags_GetEventChkInf(0xB0)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_B0)) { Collider_UpdateCylinder(&this->dyna.actor, &this->colliderMain); Collider_UpdateCylinder(&this->dyna.actor, &this->colliderLeft); Collider_UpdateCylinder(&this->dyna.actor, &this->colliderRight); @@ -312,7 +312,7 @@ void BgDodoago_Update(Actor* thisx, GlobalContext* globalCtx) { void BgDodoago_Draw(Actor* thisx, GlobalContext* globalCtx) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 672); - if (Flags_GetEventChkInf(0xB0)) { + if (Flags_GetEventChkInf(EVENTCHKINF_B0)) { func_80093D18(globalCtx->state.gfxCtx); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_dodoago.c", 677), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); diff --git a/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 18679d1954..0bfc3ba0cf 100644 --- a/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -207,17 +207,17 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) { if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) { switch (this->fountainType) { case FAIRY_SPELL_FARORES_WIND: - if (!(gSaveContext.itemGetInf[1] & 0x100)) { + if (!GET_ITEMGETINF(ITEMGETINF_18)) { givingReward = true; } break; case FAIRY_SPELL_DINS_FIRE: - if (!(gSaveContext.itemGetInf[1] & 0x200)) { + if (!GET_ITEMGETINF(ITEMGETINF_19)) { givingReward = true; } break; case FAIRY_SPELL_NAYRUS_LOVE: - if (!(gSaveContext.itemGetInf[1] & 0x400)) { + if (!GET_ITEMGETINF(ITEMGETINF_1A)) { givingReward = true; } break; @@ -651,7 +651,7 @@ static s16 sDemoEffectLightColors[] = { DEMO_EFFECT_LIGHT_GREEN, DEMO_EFFECT_LIG static s16 sExItemTypes[] = { EXITEM_MAGIC_WIND, EXITEM_MAGIC_FIRE, EXITEM_MAGIC_DARK }; -static s16 sItemGetFlags[] = { 0x100, 0x200, 0x400 }; +static s16 sItemGetFlags[] = { ITEMGETINF_18_MASK, ITEMGETINF_19_MASK, ITEMGETINF_1A_MASK }; static u8 sItemIds[] = { ITEM_FARORES_WIND, ITEM_DINS_FIRE, ITEM_NAYRUS_LOVE }; @@ -761,7 +761,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) { this->itemSpawned = true; gSaveContext.healthAccumulator = 0x140; Interface_ChangeAlpha(9); - gSaveContext.itemGetInf[1] |= sItemGetFlags[actionIndex]; + gSaveContext.itemGetInf[ITEMGETINF_18_19_1A_INDEX] |= sItemGetFlags[actionIndex]; Item_Give(globalCtx, sItemIds[actionIndex]); } } else { diff --git a/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c b/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c index 705086ad0b..8df264d1d1 100644 --- a/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c +++ b/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c @@ -43,8 +43,7 @@ void BgGateShutter_Init(Actor* thisx, GlobalContext* globalCtx) { this->somePos.x = thisx->world.pos.x; this->somePos.y = thisx->world.pos.y; this->somePos.z = thisx->world.pos.z; - if (((gSaveContext.infTable[7] & 0x40) || (gSaveContext.eventChkInf[4] & 0x20)) && - (globalCtx->sceneNum == SCENE_SPOT01)) { + if ((GET_INFTABLE(INFTABLE_76) || GET_EVENTCHKINF(EVENTCHKINF_45)) && (globalCtx->sceneNum == SCENE_SPOT01)) { thisx->world.pos.x = -89.0f; thisx->world.pos.z = -1375.0f; } @@ -63,7 +62,7 @@ void BgGateShutter_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx) { - if (this->openingState == 1 && !(gSaveContext.infTable[7] & 0x40)) { + if (this->openingState == 1 && !GET_INFTABLE(INFTABLE_76)) { this->unk_178 = 2; this->actionFunc = func_80878300; } else if (this->openingState == 2) { diff --git a/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c b/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c index 80ee2265b6..8eba98c64f 100644 --- a/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c +++ b/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c @@ -49,7 +49,7 @@ void BgGjyoBridge_Init(Actor* thisx, GlobalContext* globalCtx) { this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); - if (gSaveContext.eventChkInf[4] & 0x2000) { + if (GET_EVENTCHKINF(EVENTCHKINF_4D)) { this->actionFunc = func_808787A4; } else { this->dyna.actor.draw = NULL; @@ -86,7 +86,7 @@ void BgGjyoBridge_SpawnBridge(BgGjyoBridge* this, GlobalContext* globalCtx) { (globalCtx->csCtx.npcActions[2]->action == 2)) { this->dyna.actor.draw = BgGjyoBridge_Draw; func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); - gSaveContext.eventChkInf[4] |= 0x2000; + SET_EVENTCHKINF(EVENTCHKINF_4D); } } diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c index 2766a23279..bf5cff60af 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c @@ -45,13 +45,15 @@ void BgInGate_Init(Actor* thisx, GlobalContext* globalCtx) { this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); if ((globalCtx->sceneNum != SCENE_SPOT20 || !LINK_IS_ADULT) || - (((gSaveContext.eventChkInf[1] & 0x100)) && (gSaveContext.cutsceneIndex != 0xFFF0))) { + (GET_EVENTCHKINF(EVENTCHKINF_18) && (gSaveContext.cutsceneIndex != 0xFFF0))) { Actor_Kill(&this->dyna.actor); return; } Actor_SetScale(&this->dyna.actor, 0.1f); - if (((this->dyna.actor.params & 1) != 0) && ((gSaveContext.eventInf[0] & 0xF) == 6)) { + if (((this->dyna.actor.params & 1) != 0) && + ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | + EVENTINF_03_MASK)) == (EVENTINF_01_MASK | EVENTINF_02_MASK))) { globalCtx->csCtx.frames = 0; BgInGate_SetupAction(this, func_80892890); } else { diff --git a/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c b/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c index f347a5cfa4..35a8be7ac9 100644 --- a/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c +++ b/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.c @@ -55,7 +55,7 @@ void BgRelayObjects_Init(Actor* thisx, GlobalContext* globalCtx) { DynaPolyActor_Init(&this->dyna, 3); if (thisx->params == WINDMILL_ROTATING_GEAR) { CollisionHeader_GetVirtual(&gWindmillRotatingPlatformCol, &colHeader); - if (gSaveContext.eventChkInf[6] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_65)) { thisx->world.rot.y = 0x400; } else { thisx->world.rot.y = 0x80; @@ -109,7 +109,7 @@ void BgRelayObjects_Destroy(Actor* thisx, GlobalContext* globalCtx) { DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); if ((this->dyna.actor.params == WINDMILL_ROTATING_GEAR) && (gSaveContext.cutsceneIndex < 0xFFF0)) { - gSaveContext.eventChkInf[6] &= ~0x20; + CLEAR_EVENTCHKINF(EVENTCHKINF_65); } } @@ -180,9 +180,9 @@ void func_808A932C(BgRelayObjects* this, GlobalContext* globalCtx) { void func_808A939C(BgRelayObjects* this, GlobalContext* globalCtx) { if (Flags_GetEnv(globalCtx, 5)) { - gSaveContext.eventChkInf[6] |= 0x20; + SET_EVENTCHKINF(EVENTCHKINF_65); } - if (gSaveContext.eventChkInf[6] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_65)) { Math_ScaledStepToS(&this->dyna.actor.world.rot.y, 0x400, 8); } else { Math_ScaledStepToS(&this->dyna.actor.world.rot.y, 0x80, 8); diff --git a/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c b/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c index 793c511d22..b485ea14fa 100644 --- a/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c +++ b/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c @@ -79,7 +79,7 @@ void BgSpot00Hanebasi_Init(Actor* thisx, GlobalContext* globalCtx) { if (gSaveContext.sceneSetupIndex != 6) { if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && CHECK_QUEST_ITEM(QUEST_GORON_RUBY) && - CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE) && !(gSaveContext.eventChkInf[8] & 1)) { + CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE) && !GET_EVENTCHKINF(EVENTCHKINF_80)) { this->dyna.actor.shape.rot.x = -0x4000; } } @@ -140,7 +140,7 @@ void BgSpot00Hanebasi_DrawbridgeWait(BgSpot00Hanebasi* this, GlobalContext* glob if ((gSaveContext.sceneSetupIndex >= 4) || !CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) || !CHECK_QUEST_ITEM(QUEST_GORON_RUBY) || !CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE) || - (gSaveContext.eventChkInf[8] & 1)) { + GET_EVENTCHKINF(EVENTCHKINF_80)) { if (this->dyna.actor.shape.rot.x != 0) { if (Flags_GetEnv(globalCtx, 0) || ((gSaveContext.sceneSetupIndex < 4) && IS_DAY)) { this->actionFunc = BgSpot00Hanebasi_DrawbridgeRiseAndFall; @@ -211,14 +211,14 @@ void BgSpot00Hanebasi_Update(Actor* thisx, GlobalContext* globalCtx) { if (this->dyna.actor.params == DT_DRAWBRIDGE) { if (globalCtx->sceneNum == SCENE_SPOT00) { if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && CHECK_QUEST_ITEM(QUEST_GORON_RUBY) && - CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE) && !(gSaveContext.eventChkInf[8] & 1) && LINK_IS_CHILD) { + CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE) && !GET_EVENTCHKINF(EVENTCHKINF_80) && LINK_IS_CHILD) { Player* player = GET_PLAYER(globalCtx); if ((player->actor.world.pos.x > -450.0f) && (player->actor.world.pos.x < 450.0f) && (player->actor.world.pos.z > 1080.0f) && (player->actor.world.pos.z < 1700.0f) && (!(Gameplay_InCsMode(globalCtx)))) { - gSaveContext.eventChkInf[8] |= 1; - Flags_SetEventChkInf(0x82); + SET_EVENTCHKINF(EVENTCHKINF_80); + Flags_SetEventChkInf(EVENTCHKINF_82); this->actionFunc = BgSpot00Hanebasi_DoNothing; func_8002DF54(globalCtx, &player->actor, 8); globalCtx->nextEntranceIndex = 0x00CD; diff --git a/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c b/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c index 65f992deb7..6a66687769 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c @@ -47,7 +47,7 @@ void BgSpot01Fusya_Init(Actor* thisx, GlobalContext* globalCtx) { this->unk_158 = 100.0f; this->unk_15C = 0.5f; if (gSaveContext.sceneSetupIndex < 4) { - gSaveContext.eventChkInf[6] &= 0xFFDF; + CLEAR_EVENTCHKINF(EVENTCHKINF_65); } BgSpot01Fusya_SetupAction(this, func_808AAA50); } @@ -59,7 +59,7 @@ void func_808AAA50(BgSpot01Fusya* this, GlobalContext* globalCtx) { f32 temp; Actor* thisx = &this->actor; - if (gSaveContext.eventChkInf[6] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_65)) { this->unk_158 = 1800.0f; } thisx->shape.rot.z += this->unk_154; diff --git a/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c b/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c index 6f66a72b2b..690565c0b9 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c @@ -302,7 +302,7 @@ void BgSpot01Idohashira_Init(Actor* thisx, GlobalContext* globalCtx) { this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); if (gSaveContext.sceneSetupIndex < 4) { - if ((gSaveContext.eventChkInf[5] & 0x10) && LINK_IS_ADULT) { + if (GET_EVENTCHKINF(EVENTCHKINF_54) && LINK_IS_ADULT) { Actor_Kill(&this->dyna.actor); } else { this->action = 0; diff --git a/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c b/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c index 7abe40b915..ec60a4f41a 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c @@ -36,7 +36,7 @@ void BgSpot01Idomizu_Init(Actor* thisx, GlobalContext* globalCtx) { BgSpot01Idomizu* this = (BgSpot01Idomizu*)thisx; Actor_ProcessInitChain(&this->actor, sInitChain); - if (gSaveContext.eventChkInf[6] & 0x80 || LINK_AGE_IN_YEARS == YEARS_ADULT) { + if (GET_EVENTCHKINF(EVENTCHKINF_67) || LINK_AGE_IN_YEARS == YEARS_ADULT) { this->waterHeight = -550.0f; } else { this->waterHeight = 52.0f; @@ -49,7 +49,7 @@ void BgSpot01Idomizu_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_808ABB84(BgSpot01Idomizu* this, GlobalContext* globalCtx) { - if (gSaveContext.eventChkInf[6] & 0x80) { + if (GET_EVENTCHKINF(EVENTCHKINF_67)) { this->waterHeight = -550.0f; } globalCtx->colCtx.colHeader->waterBoxes[0].ySurface = this->actor.world.pos.y; diff --git a/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c b/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c index 7ad23ca222..dd1cfba254 100644 --- a/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c +++ b/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c @@ -87,8 +87,7 @@ void BgSpot02Objects_Init(Actor* thisx, GlobalContext* globalCtx) { this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader); - if (((gSaveContext.eventChkInf[1] & 0x2000) && (globalCtx->sceneNum == SCENE_SPOT02) && - (thisx->params == 2)) || + if ((GET_EVENTCHKINF(EVENTCHKINF_1D) && (globalCtx->sceneNum == SCENE_SPOT02) && (thisx->params == 2)) || (LINK_IS_ADULT && (thisx->params == 1))) { Actor_Kill(thisx); } @@ -100,7 +99,7 @@ void BgSpot02Objects_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = func_808ACC34; thisx->draw = func_808ACCB8; - if (gSaveContext.eventChkInf[1] & 0x2000) { + if (GET_EVENTCHKINF(EVENTCHKINF_1D)) { Actor_Kill(thisx); } break; @@ -131,7 +130,7 @@ void func_808AC908(BgSpot02Objects* this, GlobalContext* globalCtx) { if (globalCtx->csCtx.state != 0) { if (globalCtx->csCtx.npcActions[3] != NULL && globalCtx->csCtx.npcActions[3]->action == 2) { Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_GRAVE_EXPLOSION); - gSaveContext.eventChkInf[1] |= 0x2000; + SET_EVENTCHKINF(EVENTCHKINF_1D); this->timer = 25; pos.x = (Math_SinS(this->dyna.actor.shape.rot.y) * 50.0f) + this->dyna.actor.world.pos.x; pos.y = this->dyna.actor.world.pos.y + 30.0f; diff --git a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c index 0cf75f9542..cc9a589949 100644 --- a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c +++ b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c @@ -123,7 +123,7 @@ void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx) { Collider_SetJntSph(globalCtx, &this->collider, thisx, &sJntSphInit, this->colliderItem); if (LINK_IS_ADULT && Flags_GetSwitch(globalCtx, this->switchFlag)) { - if (!(gSaveContext.eventChkInf[6] & 0x200)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_69)) { thisx->home.pos.y = thisx->world.pos.y = WATER_LEVEL_LOWERED; } else { thisx->home.pos.y = thisx->world.pos.y = WATER_LEVEL_RAISED; @@ -149,7 +149,7 @@ void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(thisx, sInitChainWaterPlane); thisx->flags = ACTOR_FLAG_4 | ACTOR_FLAG_5; - if (LINK_IS_ADULT && !(gSaveContext.eventChkInf[6] & 0x200)) { + if (LINK_IS_ADULT && !GET_EVENTCHKINF(EVENTCHKINF_69)) { if (gSaveContext.sceneSetupIndex < 4) { this->lakeHyliaWaterLevel = -681.0f; globalCtx->colCtx.colHeader->waterBoxes[LHWB_GERUDO_VALLEY_RIVER_LOWER].ySurface = @@ -483,7 +483,7 @@ void BgSpot06Objects_Draw(Actor* thisx, GlobalContext* globalCtx) { * cleared. */ void BgSpot06Objects_WaterPlaneCutsceneWait(BgSpot06Objects* this, GlobalContext* globalCtx) { - if (gSaveContext.eventChkInf[6] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_69)) { this->actionFunc = BgSpot06Objects_WaterPlaneCutsceneRise; } } diff --git a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c index 8ca9794163..bddc4f7036 100644 --- a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c +++ b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c @@ -63,7 +63,9 @@ s32 func_808B1AE0(BgSpot09Obj* this, GlobalContext* globalCtx) { return this->dyna.actor.params == 0; } - carpentersRescued = (gSaveContext.eventChkInf[9] & 0xF) == 0xF; + carpentersRescued = + CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK); if (LINK_AGE_IN_YEARS == YEARS_ADULT) { switch (this->dyna.actor.params) { @@ -138,7 +140,8 @@ void BgSpot09Obj_Init(Actor* thisx, GlobalContext* globalCtx) { BgSpot09Obj* this = (BgSpot09Obj*)thisx; osSyncPrintf("Spot09 Object [arg_data : 0x%04x](大工救出フラグ 0x%x)\n", this->dyna.actor.params, - gSaveContext.eventChkInf[9] & 0xF); + gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX] & + (EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK)); this->dyna.actor.params &= 0xFF; if ((this->dyna.actor.params < 0) || (this->dyna.actor.params >= 5)) { osSyncPrintf("Error : Spot 09 object の arg_data が判別出来ない(%s %d)(arg_data 0x%04x)\n", diff --git a/src/overlays/actors/ovl_Bg_Spot15_Rrbox/z_bg_spot15_rrbox.c b/src/overlays/actors/ovl_Bg_Spot15_Rrbox/z_bg_spot15_rrbox.c index be3dff4020..a976985237 100644 --- a/src/overlays/actors/ovl_Bg_Spot15_Rrbox/z_bg_spot15_rrbox.c +++ b/src/overlays/actors/ovl_Bg_Spot15_Rrbox/z_bg_spot15_rrbox.c @@ -109,7 +109,7 @@ s32 func_808B3AAC(BgSpot15Rrbox* this, GlobalContext* globalCtx) { } if (rotY < 0x2000 && rotY > -0x6000) { - return gSaveContext.eventChkInf[1] & 0x10; + return GET_EVENTCHKINF(EVENTCHKINF_14); } return true; } diff --git a/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c b/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c index aaf797cfd9..e91a83887b 100644 --- a/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c +++ b/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c @@ -45,7 +45,7 @@ void BgSpot15Saku_Init(Actor* thisx, GlobalContext* globalCtx) { this->unk_170.x = this->dyna.actor.world.pos.x; this->unk_170.y = this->dyna.actor.world.pos.y; this->unk_170.z = this->dyna.actor.world.pos.z; - if (gSaveContext.infTable[7] & 2) { + if (GET_INFTABLE(INFTABLE_71)) { this->dyna.actor.world.pos.z = 2659.0f; } this->actionFunc = func_808B4930; @@ -58,7 +58,7 @@ void BgSpot15Saku_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_808B4930(BgSpot15Saku* this, GlobalContext* globalCtx) { - if (this->unk_168 && !(gSaveContext.infTable[7] & 2)) { + if (this->unk_168 && !GET_INFTABLE(INFTABLE_71)) { this->timer = 2; this->actionFunc = func_808B4978; } diff --git a/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c b/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c index bac7902709..359ad09d92 100644 --- a/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c +++ b/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c @@ -443,7 +443,7 @@ void func_808B5950(BgSpot16Bombstone* this, GlobalContext* globalCtx) { OnePointCutscene_Init(globalCtx, 4180, 50, NULL, MAIN_CAM); Flags_SetSwitch(globalCtx, this->switchFlag); - gSaveContext.eventChkInf[2] |= 8; + SET_EVENTCHKINF(EVENTCHKINF_23); func_808B5A78(this); } else { diff --git a/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c b/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c index 9d2a7da2f6..682b648a16 100644 --- a/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c +++ b/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c @@ -70,7 +70,7 @@ void BgSpot16Doughnut_Init(Actor* thisx, GlobalContext* globalCtx) { break; } osSyncPrintf(VT_FGCOL(CYAN) "%f" VT_RST "\n", this->actor.scale.x); - if (!LINK_IS_ADULT || gSaveContext.eventChkInf[2] & 0x8000) { + if (!LINK_IS_ADULT || GET_EVENTCHKINF(EVENTCHKINF_2F)) { this->fireFlag &= ~1; } else { this->fireFlag |= 1; diff --git a/src/overlays/actors/ovl_Bg_Spot18_Shutter/z_bg_spot18_shutter.c b/src/overlays/actors/ovl_Bg_Spot18_Shutter/z_bg_spot18_shutter.c index db3c543e08..d6a5a1a718 100644 --- a/src/overlays/actors/ovl_Bg_Spot18_Shutter/z_bg_spot18_shutter.c +++ b/src/overlays/actors/ovl_Bg_Spot18_Shutter/z_bg_spot18_shutter.c @@ -47,7 +47,7 @@ void BgSpot18Shutter_Init(Actor* thisx, GlobalContext* globalCtx) { if (param == 0) { if (LINK_AGE_IN_YEARS == YEARS_ADULT) { - if (gSaveContext.infTable[16] & 0x200) { + if (GET_INFTABLE(INFTABLE_109)) { this->actionFunc = func_808B95AC; this->dyna.actor.world.pos.y += 180.0f; } else { @@ -62,7 +62,7 @@ void BgSpot18Shutter_Init(Actor* thisx, GlobalContext* globalCtx) { } } } else { - if (gSaveContext.infTable[16] & 0x200) { + if (GET_INFTABLE(INFTABLE_109)) { this->dyna.actor.world.pos.x += 125.0f * Math_CosS(this->dyna.actor.world.rot.y); this->dyna.actor.world.pos.z -= 125.0f * Math_SinS(this->dyna.actor.world.rot.y); this->actionFunc = func_808B95AC; @@ -93,7 +93,7 @@ void func_808B95B8(BgSpot18Shutter* this, GlobalContext* globalCtx) { } void func_808B9618(BgSpot18Shutter* this, GlobalContext* globalCtx) { - if (gSaveContext.infTable[16] & 0x200) { + if (GET_INFTABLE(INFTABLE_109)) { Actor_SetFocus(&this->dyna.actor, 70.0f); if (((this->dyna.actor.params >> 8) & 1) == 0) { this->actionFunc = func_808B9698; diff --git a/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c b/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c index 2a9aa09d49..267095c983 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c +++ b/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c @@ -46,7 +46,7 @@ void BgTokiHikari_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = BgTokiHikari_DoNothing; break; case 1: - if (!(gSaveContext.eventChkInf[4] & 0x800)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_4B)) { this->actionFunc = func_808BA204; this->unk_14C = 0.0f; } else { diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c index d35c236410..a63db7675c 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c @@ -93,13 +93,13 @@ void BgTokiSwd_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_808BAF40(BgTokiSwd* this, GlobalContext* globalCtx) { - if (((gSaveContext.eventChkInf[4] & 0x8000) == 0) && (gSaveContext.sceneSetupIndex < 4) && + if (!GET_EVENTCHKINF(EVENTCHKINF_4F) && (gSaveContext.sceneSetupIndex < 4) && Actor_IsFacingAndNearPlayer(&this->actor, 800.0f, 0x7530) && !Gameplay_InCsMode(globalCtx)) { - gSaveContext.eventChkInf[4] |= 0x8000; + SET_EVENTCHKINF(EVENTCHKINF_4F); globalCtx->csCtx.segment = D_808BBD90; gSaveContext.cutsceneTrigger = 1; } - if (!LINK_IS_ADULT || ((gSaveContext.eventChkInf[5] & 0x20))) { + if (!LINK_IS_ADULT || GET_EVENTCHKINF(EVENTCHKINF_55)) { if (Actor_HasParent(&this->actor, globalCtx)) { if (!LINK_IS_ADULT) { Item_Give(globalCtx, ITEM_SWORD_MASTER); diff --git a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c index 7f7f1cd9b4..16c8ce7478 100644 --- a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c +++ b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c @@ -139,9 +139,9 @@ void func_808BC864(BgTreemouth* this, GlobalContext* globalCtx) { } void func_808BC8B8(BgTreemouth* this, GlobalContext* globalCtx) { - if ((!(Flags_GetEventChkInf(5))) || LINK_IS_ADULT) { + if (!Flags_GetEventChkInf(EVENTCHKINF_05) || LINK_IS_ADULT) { if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0xC)) { + if (Flags_GetEventChkInf(EVENTCHKINF_0C)) { if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 1658.0f, 0x7530)) { this->dyna.actor.flags |= ACTOR_FLAG_0; if (this->dyna.actor.isTargeted) { @@ -152,7 +152,7 @@ void func_808BC8B8(BgTreemouth* this, GlobalContext* globalCtx) { } } } else if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 1658.0f, 0x4E20)) { - Flags_SetEventChkInf(0xC); + Flags_SetEventChkInf(EVENTCHKINF_0C); globalCtx->csCtx.segment = D_808BCE20; gSaveContext.cutsceneTrigger = 1; BgTreemouth_SetupAction(this, func_808BC9EC); @@ -184,7 +184,7 @@ void func_808BC9EC(BgTreemouth* this, GlobalContext* globalCtx) { if (globalCtx->msgCtx.choiceIndex == 0) { globalCtx->csCtx.segment = D_808BD520; - Flags_SetEventChkInf(5); + Flags_SetEventChkInf(EVENTCHKINF_05); BgTreemouth_SetupAction(this, func_808BCAF0); } else { globalCtx->csCtx.segment = D_808BD790; @@ -234,7 +234,7 @@ void BgTreemouth_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D18(globalCtx->state.gfxCtx); if ((gSaveContext.sceneSetupIndex < 4) || LINK_IS_ADULT) { - if (gSaveContext.eventChkInf[0] & 0x80) { + if (GET_EVENTCHKINF(EVENTCHKINF_07)) { alpha = 2150; } } else { // neeeded to match diff --git a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c index 0e3f990514..2afd2db9be 100644 --- a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c +++ b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c @@ -41,7 +41,7 @@ void BgUmaJump_Init(Actor* thisx, GlobalContext* globalCtx) { this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); if (this->dyna.actor.params == 1) { - if (!Flags_GetEventChkInf(0x18) && (DREG(1) == 0)) { + if (!Flags_GetEventChkInf(EVENTCHKINF_18) && (DREG(1) == 0)) { Actor_Kill(&this->dyna.actor); return; } diff --git a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c index 1217bd53a4..d8468b9566 100644 --- a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c +++ b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c @@ -333,7 +333,7 @@ void BossDodongo_IntroCutscene(BossDodongo* this, GlobalContext* globalCtx) { this->cameraAt.z = player->actor.world.pos.z; } - if (gSaveContext.eventChkInf[7] & 2) { + if (GET_EVENTCHKINF(EVENTCHKINF_71)) { if (this->unk_198 == 100) { this->actor.world.pos.x = -1114.0f; this->actor.world.pos.z = -2804.0f; @@ -374,7 +374,7 @@ void BossDodongo_IntroCutscene(BossDodongo* this, GlobalContext* globalCtx) { case 4: Math_SmoothStepToF(&this->unk_20C, 0.0f, 1.0f, 0.01f, 0.0f); - if (gSaveContext.eventChkInf[7] & 2) { + if (GET_EVENTCHKINF(EVENTCHKINF_71)) { phi_f0 = -50.0f; } else { phi_f0 = 0.0f; @@ -402,7 +402,7 @@ void BossDodongo_IntroCutscene(BossDodongo* this, GlobalContext* globalCtx) { } if (this->unk_198 == 0x5A) { - if (!(gSaveContext.eventChkInf[7] & 2)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_71)) { TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(&object_kingdodongo_Blob_017410), 0xA0, 0xB4, 0x80, 0x28); @@ -422,7 +422,7 @@ void BossDodongo_IntroCutscene(BossDodongo* this, GlobalContext* globalCtx) { this->unk_1DA = 50; this->unk_1BC = 0; player->actor.shape.rot.y = -0x4002; - gSaveContext.eventChkInf[7] |= 2; + SET_EVENTCHKINF(EVENTCHKINF_71); } break; } diff --git a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c index 85ef2f46b9..128efa968a 100644 --- a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c +++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c @@ -342,7 +342,7 @@ void BossFd_Fly(BossFd* this, GlobalContext* globalCtx) { this->timers[0] = 0; this->camData.speedMod = 0.0f; this->camData.accel = 0.0f; - if (gSaveContext.eventChkInf[7] & 8) { + if (GET_EVENTCHKINF(EVENTCHKINF_73)) { this->introState = BFD_CS_EMERGE; this->camData.nextEye.x = player2->actor.world.pos.x + 100.0f + 300.0f - 600.0f; this->camData.nextEye.y = player2->actor.world.pos.y + 100.0f - 50.0f; @@ -464,7 +464,7 @@ void BossFd_Fly(BossFd* this, GlobalContext* globalCtx) { osSyncPrintf("WAY_SPD X = %f\n", this->camData.atVel.x); osSyncPrintf("WAY_SPD Y = %f\n", this->camData.atVel.y); osSyncPrintf("WAY_SPD Z = %f\n", this->camData.atVel.z); - if ((this->timers[3] > 190) && !(gSaveContext.eventChkInf[7] & 8)) { + if ((this->timers[3] > 190) && !GET_EVENTCHKINF(EVENTCHKINF_73)) { Audio_PlaySoundGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -492,7 +492,7 @@ void BossFd_Fly(BossFd* this, GlobalContext* globalCtx) { if (this->timers[3] == 160) { Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_FIRE_BOSS); } - if ((this->timers[3] == 130) && !(gSaveContext.eventChkInf[7] & 8)) { + if ((this->timers[3] == 130) && !GET_EVENTCHKINF(EVENTCHKINF_73)) { TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(gVolvagiaBossTitleCardTex), 0xA0, 0xB4, 0x80, 0x28); } @@ -543,7 +543,7 @@ void BossFd_Fly(BossFd* this, GlobalContext* globalCtx) { func_8002DF54(globalCtx, &this->actor, 7); this->actionFunc = BossFd_Wait; this->handoffSignal = FD2_SIGNAL_GROUND; - gSaveContext.eventChkInf[7] |= 8; + SET_EVENTCHKINF(EVENTCHKINF_73); } break; } diff --git a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c index 7afac0019e..3f1082e399 100644 --- a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c +++ b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c @@ -564,7 +564,7 @@ void BossGanon_IntroCutscene(BossGanon* this, GlobalContext* globalCtx) { Gameplay_ChangeCameraStatus(globalCtx, this->csCamIndex, CAM_STAT_ACTIVE); this->csCamFov = 60.0f; - if (gSaveContext.eventChkInf[7] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_78)) { // watched cutscene already, skip most of it this->csState = 17; this->csTimer = 0; @@ -1083,12 +1083,12 @@ void BossGanon_IntroCutscene(BossGanon* this, GlobalContext* globalCtx) { gSegments[6] = VIRTUAL_TO_PHYSICAL( globalCtx->objectCtx.status[Object_GetIndex(&globalCtx->objectCtx, OBJECT_GANON)].segment); - if (!(gSaveContext.eventChkInf[7] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_78)) { TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(gDorfTitleCardTex), 160, 180, 128, 40); } - gSaveContext.eventChkInf[7] |= 0x100; + SET_EVENTCHKINF(EVENTCHKINF_78); } if (this->csTimer >= 20) { diff --git a/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c b/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c index af5a95dc60..102b133895 100644 --- a/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c +++ b/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c @@ -680,7 +680,7 @@ void BossGoma_Encounter(BossGoma* this, GlobalContext* globalCtx) { // entrance of the boss room if (fabsf(player->actor.world.pos.x - 150.0f) < 60.0f && fabsf(player->actor.world.pos.z - 350.0f) < 60.0f) { - if (gSaveContext.eventChkInf[7] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_70)) { BossGoma_SetupEncounterState4(this, globalCtx); Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_SHUTTER, 164.72f, -480.0f, 397.68002f, 0, -0x705C, 0, 0x180); @@ -919,13 +919,13 @@ void BossGoma_Encounter(BossGoma* this, GlobalContext* globalCtx) { if (Animation_OnFrame(&this->skelanime, 40.0f)) { Audio_PlayActorSound2(&this->actor, NA_SE_EN_GOMA_CRY1); - if (!(gSaveContext.eventChkInf[7] & 1)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_70)) { TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(gGohmaTitleCardTex), 0xA0, 0xB4, 0x80, 0x28); } Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_BOSS); - gSaveContext.eventChkInf[7] |= 1; + SET_EVENTCHKINF(EVENTCHKINF_70); } if (Animation_OnFrame(&this->skelanime, this->currentAnimFrameCount)) { diff --git a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c index b8d00e95d1..14b4ce50dd 100644 --- a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c +++ b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c @@ -359,7 +359,7 @@ void BossMo_Init(Actor* thisx, GlobalContext* globalCtx2) { MO_WATER_LEVEL(globalCtx) = -500; return; } - if (gSaveContext.eventChkInf[7] & 0x10) { + if (GET_EVENTCHKINF(EVENTCHKINF_74)) { Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_BOSS); this->tentMaxAngle = 5.0f; this->timers[0] = 50; @@ -1424,7 +1424,7 @@ void BossMo_IntroCs(BossMo* this, GlobalContext* globalCtx) { if (this->timers[2] == 130) { TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(gMorphaTitleCardTex), 0xA0, 0xB4, 0x80, 0x28); - gSaveContext.eventChkInf[7] |= 0x10; + SET_EVENTCHKINF(EVENTCHKINF_74); } break; case MO_INTRO_FINISH: diff --git a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c index 8b8394ae8a..865c74f748 100644 --- a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c +++ b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c @@ -378,7 +378,7 @@ void BossSst_HeadSetupIntro(BossSst* this, GlobalContext* globalCtx) { Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT); Gameplay_ChangeCameraStatus(globalCtx, sCutsceneCamera, CAM_STAT_ACTIVE); Math_Vec3f_Copy(&sCameraAt, &player->actor.world.pos); - if (gSaveContext.eventChkInf[7] & 0x80) { + if (GET_EVENTCHKINF(EVENTCHKINF_77)) { sCameraEye.z = ROOM_CENTER_Z - 100.0f; } @@ -414,7 +414,7 @@ void BossSst_HeadIntro(BossSst* this, GlobalContext* globalCtx) { Gameplay_ChangeCameraStatus(globalCtx, sCutsceneCamera, CAM_STAT_WAIT); Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_ACTIVE); Gameplay_ClearCamera(globalCtx, sCutsceneCamera); - gSaveContext.eventChkInf[7] |= 0x80; + SET_EVENTCHKINF(EVENTCHKINF_77); BossSst_HeadSetupNeutral(this); this->colliderJntSph.base.ocFlags1 |= OC1_ON; sHands[LEFT]->colliderJntSph.base.ocFlags1 |= OC1_ON; @@ -437,7 +437,7 @@ void BossSst_HeadIntro(BossSst* this, GlobalContext* globalCtx) { this->ready = true; func_800AA000(this->actor.xyzDistToPlayerSq, 0xFF, 0x14, 0x96); Audio_PlayActorSound2(&sFloor->dyna.actor, NA_SE_EN_SHADEST_TAIKO_HIGH); - } else if (gSaveContext.eventChkInf[7] & 0x80) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_77)) { sHands[RIGHT]->actor.draw = BossSst_DrawHand; sHands[LEFT]->actor.draw = BossSst_DrawHand; this->actor.draw = BossSst_DrawHead; @@ -564,7 +564,7 @@ void BossSst_HeadIntro(BossSst* this, GlobalContext* globalCtx) { } if (this->timer <= 198) { revealStateTimer = 198 - this->timer; - if ((gSaveContext.eventChkInf[7] & 0x80) && (revealStateTimer <= 44)) { + if (GET_EVENTCHKINF(EVENTCHKINF_77) && (revealStateTimer <= 44)) { sCameraAt.x += 492.0f * 0.01f; sCameraAt.y += 200.0f * 0.01f; sCameraEye.x -= 80.0f * 0.01f; @@ -593,7 +593,7 @@ void BossSst_HeadIntro(BossSst* this, GlobalContext* globalCtx) { sCameraEye.y += 125.0f * 0.01f; sCameraEye.z -= 350.0f * 0.01f; } else if (revealStateTimer == 85) { - if (!(gSaveContext.eventChkInf[7] & 0x80)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_77)) { TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(gBongoTitleCardTex), 160, 180, 128, 40); } diff --git a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c index 556d618145..ab0b0b56be 100644 --- a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c +++ b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c @@ -514,7 +514,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) { this->actor.naviEnemyId = NAVI_ENEMY_TWINROVA_KOTAKE; SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_0070E0, &object_tw_Anim_006F28, NULL, NULL, 0); - if (gSaveContext.eventChkInf[7] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_75)) { // began twinrova battle BossTw_SetupFlyTo(this, globalCtx); this->actor.world.pos.x = -600.0f; @@ -532,7 +532,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) { this->actor.naviEnemyId = NAVI_ENEMY_TWINROVA_KOUME; SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_01F888, &object_tw_Anim_006F28, NULL, NULL, 0); - if (gSaveContext.eventChkInf[7] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_75)) { // began twinrova battle BossTw_SetupFlyTo(this, globalCtx); this->actor.world.pos.x = 600.0f; @@ -554,7 +554,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) { SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_032020, &object_tw_Anim_0244B4, NULL, NULL, 0); Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_0244B4, -3.0f); - if (gSaveContext.eventChkInf[7] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_75)) { // began twinrova battle BossTw_SetupWait(this, globalCtx); } else { @@ -2227,7 +2227,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) { globalCtx->envCtx.unk_D8 = 0.0f; TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(object_tw_Blob_02E170), 0xA0, 0xB4, 0x80, 0x28); - gSaveContext.eventChkInf[7] |= 0x20; + SET_EVENTCHKINF(EVENTCHKINF_75); Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_BOSS); } diff --git a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c index 1717667a2b..e8c044e996 100644 --- a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c +++ b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c @@ -627,7 +627,7 @@ void BossVa_Init(Actor* thisx, GlobalContext* globalCtx2) { 0, BOSSVA_DOOR); if (Flags_GetClear(globalCtx, globalCtx->roomCtx.curRoom.num)) { warpId = ACTOR_EN_RU1; - if (gSaveContext.eventChkInf[3] & 0x80) { + if (GET_EVENTCHKINF(EVENTCHKINF_37)) { warpId = ACTOR_DOOR_WARP1; } Actor_Spawn(&globalCtx->actorCtx, globalCtx, warpId, this->actor.world.pos.x, this->actor.world.pos.y, @@ -640,7 +640,7 @@ void BossVa_Init(Actor* thisx, GlobalContext* globalCtx2) { } else { this->actor.colChkInfo.damageTable = sDamageTable; sPhase2Timer = 0xFFFF; - if (gSaveContext.eventChkInf[7] & 0x40) { + if (GET_EVENTCHKINF(EVENTCHKINF_76)) { sCsState = INTRO_CALL_BARI; sDoorState = 100; func_8002DF54(globalCtx, &this->actor, 1); @@ -975,7 +975,7 @@ void BossVa_BodyIntro(BossVa* this, GlobalContext* globalCtx) { sCameraNextAt.y = 140.0f; sCameraNextAt.z = -200.0f; - if (!(gSaveContext.eventChkInf[7] & 0x40)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_76)) { TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(gBarinadeTitleCardTex), 0xA0, 0xB4, 0x80, 0x28); } @@ -1017,7 +1017,7 @@ void BossVa_BodyIntro(BossVa* this, GlobalContext* globalCtx) { Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_ACTIVE); func_8002DF54(globalCtx, &this->actor, 7); sCsState++; - gSaveContext.eventChkInf[7] |= 0x40; + SET_EVENTCHKINF(EVENTCHKINF_76); player->actor.shape.rot.y = player->actor.world.rot.y = this->actor.yawTowardsPlayer + 0x8000; } break; diff --git a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c index fd3afe7244..40266557e2 100644 --- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c +++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c @@ -491,7 +491,7 @@ void DemoEffect_Init(Actor* thisx, GlobalContext* globalCtx2) { this->jewel.isPositionInit = 0; DemoEffect_InitJewel(globalCtx, this); Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTOR_EN_DOOR); - if ((globalCtx->sceneNum == SCENE_BDAN) && (gSaveContext.infTable[20] & 0x20)) { + if ((globalCtx->sceneNum == SCENE_BDAN) && GET_INFTABLE(INFTABLE_145)) { Actor_Kill(&this->actor); return; } @@ -696,7 +696,7 @@ void DemoEffect_InitTimeWarp(DemoEffect* this, GlobalContext* globalCtx) { Actor_SetScale(&this->actor, 84 * 0.001f); } } else if (gSaveContext.sceneSetupIndex == 5 || gSaveContext.sceneSetupIndex == 4 || - (gSaveContext.entranceIndex == 0x0324 && !((gSaveContext.eventChkInf[12] & 0x200)))) { + (gSaveContext.entranceIndex == 0x0324 && !GET_EVENTCHKINF(EVENTCHKINF_C9))) { SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 59.0f, 59.0f, 0.0f); SkelCurve_Update(globalCtx, &this->skelCurve); this->updateFunc = DemoEffect_UpdateTimeWarpReturnFromChamberOfSages; @@ -760,7 +760,7 @@ void DemoEffect_UpdateTimeWarpReturnFromChamberOfSages(DemoEffect* this, GlobalC if (this->timeWarp.shrinkTimer > 250) { if (gSaveContext.entranceIndex == 0x0324) { - gSaveContext.eventChkInf[12] |= 0x200; + SET_EVENTCHKINF(EVENTCHKINF_C9); } Actor_Kill(&this->actor); @@ -1560,8 +1560,8 @@ void DemoEffect_UpdateJewelChild(DemoEffect* this, GlobalContext* globalCtx) { if (globalCtx->csCtx.state && globalCtx->csCtx.npcActions[this->csActionId]) { switch (globalCtx->csCtx.npcActions[this->csActionId]->action) { case 3: - if (gSaveContext.eventChkInf[4] & 0x800) { - gSaveContext.eventChkInf[4] |= 0x800; + if (GET_EVENTCHKINF(EVENTCHKINF_4B)) { + SET_EVENTCHKINF(EVENTCHKINF_4B); } DemoEffect_MoveJewelActivateDoorOfTime(this, globalCtx); if ((globalCtx->gameplayFrames & 1) == 0) { @@ -1594,7 +1594,7 @@ void DemoEffect_UpdateJewelChild(DemoEffect* this, GlobalContext* globalCtx) { } if (gSaveContext.entranceIndex == 0x0053) { - if (!(gSaveContext.eventChkInf[4] & 0x800)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_4B)) { hasCmdAction = globalCtx->csCtx.state && globalCtx->csCtx.npcActions[this->csActionId]; if (!hasCmdAction) { this->effectFlags |= 0x1; diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c index f0553c6016..b743c1bbaf 100644 --- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c +++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c @@ -890,7 +890,7 @@ void func_80986BE4(DemoIm* this, s32 arg1) { } void func_80986BF8(DemoIm* this, GlobalContext* globalCtx) { - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { this->action = 24; this->drawConfig = 1; this->unk_280 = 1; @@ -902,14 +902,14 @@ void func_80986C30(DemoIm* this, GlobalContext* globalCtx) { if (func_80986A5C(this, globalCtx)) { globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gZeldasCourtyardLullabyCs); gSaveContext.cutsceneTrigger = 1; - gSaveContext.eventChkInf[5] |= 0x200; + SET_EVENTCHKINF(EVENTCHKINF_59); Item_Give(globalCtx, ITEM_SONG_LULLABY); func_80985F54(this); } } void func_80986CC8(DemoIm* this) { - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { this->action = 26; this->drawConfig = 1; this->unk_280 = 1; @@ -919,7 +919,7 @@ void func_80986CC8(DemoIm* this) { void func_80986CFC(DemoIm* this, GlobalContext* globalCtx) { if (func_80986A5C(this, globalCtx)) { - gSaveContext.eventChkInf[4] |= 0x1000; + SET_EVENTCHKINF(EVENTCHKINF_4C); this->action = 19; } } @@ -928,9 +928,9 @@ void func_80986D40(DemoIm* this, GlobalContext* globalCtx) { if (gSaveContext.sceneSetupIndex == 6) { this->action = 19; this->drawConfig = 1; - } else if (gSaveContext.eventChkInf[8] & 1) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_80)) { Actor_Kill(&this->actor); - } else if (!(gSaveContext.eventChkInf[5] & 0x200)) { + } else if (!GET_EVENTCHKINF(EVENTCHKINF_59)) { this->action = 23; } else { this->action = 20; diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c index 20467e3f3a..e08146bd9b 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c @@ -232,7 +232,7 @@ void DemoKankyo_Init(Actor* thisx, GlobalContext* globalCtx) { case DEMOKANKYO_DOOR_OF_TIME: this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 1.0f; this->unk_150[0].unk_18 = 0.0f; - if (!(gSaveContext.eventChkInf[4] & 0x800)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_4B)) { Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_TOKI, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 0x0000); @@ -411,7 +411,7 @@ void DemoKankyo_UpdateDoorOfTime(DemoKankyo* this, GlobalContext* globalCtx) { this->unk_150[0].unk_18 += 1.0f; if (this->unk_150[0].unk_18 >= 102.0f) { Audio_PlayActorSound2(&this->actor, NA_SE_EV_STONEDOOR_STOP); - gSaveContext.eventChkInf[4] |= 0x800; + SET_EVENTCHKINF(EVENTCHKINF_4B); Actor_Kill(this->actor.child); DemoKankyo_SetupAction(this, DemoKankyo_KillDoorOfTimeCollision); } diff --git a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c index 72c4f1bb3f..96d64a5f91 100644 --- a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c +++ b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c @@ -63,7 +63,9 @@ static u8 sEnergyColors[] = { }; s32 DemoKekkai_CheckEventFlag(s32 params) { - static s32 eventFlags[] = { 0xC3, 0xBC, 0xBF, 0xBE, 0xBD, 0xAD, 0xBB }; + static s32 eventFlags[] = { + EVENTCHKINF_C3, EVENTCHKINF_BC, EVENTCHKINF_BF, EVENTCHKINF_BE, EVENTCHKINF_BD, EVENTCHKINF_AD, EVENTCHKINF_BB, + }; if ((params < KEKKAI_TOWER) || (params > KEKKAI_FOREST)) { return true; @@ -167,7 +169,7 @@ void DemoKekkai_TowerBarrier(DemoKekkai* this, GlobalContext* globalCtx) { } else { this->timer++; if (this->timer > 100) { - Flags_SetEventChkInf(0xC3); + Flags_SetEventChkInf(EVENTCHKINF_C3); Actor_Kill(&this->actor); return; } else if (this->timer > 40) { diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index 6b5aef33df..0c8ac79dbb 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -598,7 +598,7 @@ void func_809975C0(DoorShutter* this, GlobalContext* globalCtx) { Actor_UpdateBgCheckInfo(globalCtx, &this->dyna.actor, 0.0f, 0.0f, 0.0f, UPDBGCHECKINFO_FLAG_2); if (this->dyna.actor.bgCheckFlags & BGCHECKFLAG_GROUND) { DoorShutter_SetupAction(this, func_809976B8); - if (!(gSaveContext.eventChkInf[7] & 1)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_70)) { BossGoma* parent = (BossGoma*)this->dyna.actor.parent; this->unk_164 = 10; diff --git a/src/overlays/actors/ovl_Door_Toki/z_door_toki.c b/src/overlays/actors/ovl_Door_Toki/z_door_toki.c index 2cfaa8eeab..6718d47449 100644 --- a/src/overlays/actors/ovl_Door_Toki/z_door_toki.c +++ b/src/overlays/actors/ovl_Door_Toki/z_door_toki.c @@ -49,7 +49,7 @@ void DoorToki_Destroy(Actor* thisx, GlobalContext* globalCtx) { void DoorToki_Update(Actor* thisx, GlobalContext* globalCtx) { DoorToki* this = (DoorToki*)thisx; - if (gSaveContext.eventChkInf[4] & 0x800) { + if (GET_EVENTCHKINF(EVENTCHKINF_4B)) { func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); } else { func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId); diff --git a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c index ca2e25a3c8..3b58420ab1 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -498,8 +498,8 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, GlobalContext* globalCtx) { TRANS_TRIGGER_START); if (globalCtx->sceneNum == SCENE_DDAN_BOSS) { - if (!Flags_GetEventChkInf(0x25)) { - Flags_SetEventChkInf(0x25); + if (!Flags_GetEventChkInf(EVENTCHKINF_25)) { + Flags_SetEventChkInf(EVENTCHKINF_25); Item_Give(globalCtx, ITEM_GORON_RUBY); globalCtx->nextEntranceIndex = 0x13D; gSaveContext.nextCutsceneIndex = 0xFFF1; @@ -508,9 +508,9 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, GlobalContext* globalCtx) { gSaveContext.nextCutsceneIndex = 0; } } else if (globalCtx->sceneNum == SCENE_YDAN_BOSS) { - if (!Flags_GetEventChkInf(7)) { - Flags_SetEventChkInf(7); - Flags_SetEventChkInf(9); + if (!Flags_GetEventChkInf(EVENTCHKINF_07)) { + Flags_SetEventChkInf(EVENTCHKINF_07); + Flags_SetEventChkInf(EVENTCHKINF_09); Item_Give(globalCtx, ITEM_KOKIRI_EMERALD); globalCtx->nextEntranceIndex = 0xEE; gSaveContext.nextCutsceneIndex = 0xFFF1; @@ -605,7 +605,7 @@ void DoorWarp1_RutoWarpOut(DoorWarp1* this, GlobalContext* globalCtx) { this->warpTimer++; if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) { - gSaveContext.eventChkInf[3] |= 0x80; + SET_EVENTCHKINF(EVENTCHKINF_37); Item_Give(globalCtx, ITEM_ZORA_SAPPHIRE); globalCtx->nextEntranceIndex = 0x10E; gSaveContext.nextCutsceneIndex = 0xFFF0; @@ -706,8 +706,8 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, GlobalContext* globalCtx) { if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) { if (globalCtx->sceneNum == SCENE_MORIBOSSROOM) { - if (!(gSaveContext.eventChkInf[4] & 0x100)) { - gSaveContext.eventChkInf[4] |= 0x100; + if (!GET_EVENTCHKINF(EVENTCHKINF_48)) { + SET_EVENTCHKINF(EVENTCHKINF_48); Item_Give(globalCtx, ITEM_MEDALLION_FOREST); globalCtx->nextEntranceIndex = 0x6B; gSaveContext.nextCutsceneIndex = 0; @@ -721,8 +721,8 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, GlobalContext* globalCtx) { gSaveContext.nextCutsceneIndex = 0; } } else if (globalCtx->sceneNum == SCENE_FIRE_BS) { - if (!(gSaveContext.eventChkInf[4] & 0x200)) { - gSaveContext.eventChkInf[4] |= 0x200; + if (!GET_EVENTCHKINF(EVENTCHKINF_49)) { + SET_EVENTCHKINF(EVENTCHKINF_49); Item_Give(globalCtx, ITEM_MEDALLION_FIRE); globalCtx->nextEntranceIndex = 0xDB; gSaveContext.nextCutsceneIndex = 0xFFF3; @@ -735,8 +735,8 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, GlobalContext* globalCtx) { gSaveContext.nextCutsceneIndex = 0; } } else if (globalCtx->sceneNum == SCENE_MIZUSIN_BS) { - if (!(gSaveContext.eventChkInf[4] & 0x400)) { - gSaveContext.eventChkInf[4] |= 0x400; + if (!GET_EVENTCHKINF(EVENTCHKINF_4A)) { + SET_EVENTCHKINF(EVENTCHKINF_4A); Item_Give(globalCtx, ITEM_MEDALLION_WATER); globalCtx->nextEntranceIndex = 0x6B; gSaveContext.nextCutsceneIndex = 0; diff --git a/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c b/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c index 4015f2e2ad..e11fe536e5 100644 --- a/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c +++ b/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c @@ -79,7 +79,7 @@ void EfcErupc_UpdateAction(EfcErupc* this, GlobalContext* globalCtx) { case 2: if (this->unk_14E == 0) { func_800F3F3C(6); - gSaveContext.eventChkInf[2] |= 0x8000; + SET_EVENTCHKINF(EVENTCHKINF_2F); } this->unk_14E++; break; diff --git a/src/overlays/actors/ovl_En_Ani/z_en_ani.c b/src/overlays/actors/ovl_En_Ani/z_en_ani.c index 3c5dfd3846..97a3669837 100644 --- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c +++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c @@ -123,7 +123,7 @@ void func_809B0558(EnAni* this, GlobalContext* globalCtx) { } else { EnAni_SetupAction(this, func_809B0524); } - gSaveContext.itemGetInf[1] |= 0x20; + SET_ITEMGETINF(ITEMGETINF_15); } else { func_8002F434(&this->actor, globalCtx, GI_HEART_PIECE, 10000.0f, 200.0f); } @@ -161,7 +161,7 @@ void func_809B064C(EnAni* this, GlobalContext* globalCtx) { } } else if (yawDiff >= -0x36AF && yawDiff < 0 && this->actor.xzDistToPlayer < 150.0f && -80.0f < this->actor.yDistToPlayer) { - if (gSaveContext.itemGetInf[1] & 0x20) { + if (GET_ITEMGETINF(ITEMGETINF_15)) { EnAni_SetText(this, globalCtx, 0x5056); } else { EnAni_SetText(this, globalCtx, 0x5055); @@ -187,16 +187,16 @@ void func_809B07F8(EnAni* this, GlobalContext* globalCtx) { } } else if (yawDiff > -0x36B0 && yawDiff < 0 && this->actor.xzDistToPlayer < 150.0f && -80.0f < this->actor.yDistToPlayer) { - if (gSaveContext.itemGetInf[1] & 0x20) { + if (GET_ITEMGETINF(ITEMGETINF_15)) { EnAni_SetText(this, globalCtx, 0x5056); } else { EnAni_SetText(this, globalCtx, 0x5055); } } else if (yawDiff > -0x3E8 && yawDiff < 0x36B0 && this->actor.xzDistToPlayer < 350.0f) { - if (!(gSaveContext.eventChkInf[2] & 0x8000)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_2F)) { textId = 0x5052; } else { - textId = (gSaveContext.itemGetInf[1] & 0x20) ? 0x5054 : 0x5053; + textId = GET_ITEMGETINF(ITEMGETINF_15) ? 0x5054 : 0x5053; } EnAni_SetText(this, globalCtx, textId); } diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c index 2e93d70972..d97b552df9 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c @@ -134,7 +134,7 @@ void EnBomBowMan_BlinkAwake(EnBomBowlMan* this, GlobalContext* globalCtx) { this->dialogState = TEXT_STATE_EVENT; // Check for beaten Dodongo's Cavern - if ((gSaveContext.eventChkInf[2] & 0x20) || BREG(2)) { + if (GET_EVENTCHKINF(EVENTCHKINF_25) || BREG(2)) { this->actor.textId = 0xBF; } else { this->actor.textId = 0x7058; @@ -164,7 +164,7 @@ void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, GlobalContext* globalCtx) { this->blinkTimer = (s16)Rand_ZeroFloat(60.0f) + 20; // Check for beaten Dodongo's Cavern - if (!((gSaveContext.eventChkInf[2] & 0x20) || BREG(2))) { + if (!(GET_EVENTCHKINF(EVENTCHKINF_25) || BREG(2))) { this->actionFunc = EnBomBowMan_WaitNotBeatenDC; } else { this->actor.textId = 0x18; @@ -389,7 +389,7 @@ void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx) { switch (this->prizeSelect) { case 0: prizeTemp = EXITEM_BOMB_BAG_BOWLING; - if (gSaveContext.itemGetInf[1] & 2) { + if (GET_ITEMGETINF(ITEMGETINF_11)) { prizeTemp = EXITEM_PURPLE_RUPEE_BOWLING; } break; @@ -401,7 +401,7 @@ void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, GlobalContext* globalCtx) { break; case 3: prizeTemp = EXITEM_HEART_PIECE_BOWLING; - if (gSaveContext.itemGetInf[1] & 4) { + if (GET_ITEMGETINF(ITEMGETINF_12)) { prizeTemp = EXITEM_PURPLE_RUPEE_BOWLING; } break; diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Pit/z_en_bom_bowl_pit.c b/src/overlays/actors/ovl_En_Bom_Bowl_Pit/z_en_bom_bowl_pit.c index a176d802ae..ac2d1069ad 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Pit/z_en_bom_bowl_pit.c +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Pit/z_en_bom_bowl_pit.c @@ -157,10 +157,10 @@ void EnBomBowlPit_SetupGivePrize(EnBomBowlPit* this, GlobalContext* globalCtx) { if (this->exItemDone != 0) { switch (this->prizeIndex) { case EXITEM_BOMB_BAG_BOWLING: - gSaveContext.itemGetInf[1] |= 2; + SET_ITEMGETINF(ITEMGETINF_11); break; case EXITEM_HEART_PIECE_BOWLING: - gSaveContext.itemGetInf[1] |= 4; + SET_ITEMGETINF(ITEMGETINF_12); break; } diff --git a/src/overlays/actors/ovl_En_Changer/z_en_changer.c b/src/overlays/actors/ovl_En_Changer/z_en_changer.c index b768e6136d..8dae6cc2ac 100644 --- a/src/overlays/actors/ovl_En_Changer/z_en_changer.c +++ b/src/overlays/actors/ovl_En_Changer/z_en_changer.c @@ -101,7 +101,7 @@ void EnChanger_Init(Actor* thisx, GlobalContext* globalCtx2) { minigameRoomNum *= 2; // Spawn Heart Piece in chest (or Purple Rupee if won Heart Piece) if (globalCtx->roomCtx.curRoom.num >= 6) { - rewardChestParams = ((gSaveContext.itemGetInf[1] & 0x800) ? (0x4EA0) : (0x4EC0)); + rewardChestParams = GET_ITEMGETINF(ITEMGETINF_1B) ? 0x4EA0 : 0x4EC0; rewardChestParams = sTreasureFlags[5] | rewardChestParams; this->finalChest = (EnBox*)Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_BOX, 20.0f, 20.0f, -2500.0f, 0, 0x7FFF, 0, rewardChestParams); @@ -111,8 +111,8 @@ void EnChanger_Init(Actor* thisx, GlobalContext* globalCtx2) { Actor_Kill(&this->actor); return; } else { - rewardParams = ((gSaveContext.itemGetInf[1] & 0x800) ? (ITEM_ETC_RUPEE_PURPLE_CHEST_GAME) - : (ITEM_ETC_HEART_PIECE_CHEST_GAME)) & + rewardParams = (GET_ITEMGETINF(ITEMGETINF_1B) ? ITEM_ETC_RUPEE_PURPLE_CHEST_GAME + : ITEM_ETC_HEART_PIECE_CHEST_GAME) & 0xFF; Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_ETCETERA, 20.0f, 20.0f, -2500.0f, 0, 0, 0, ((sTreasureFlags[5] & 0x1F) << 8) + rewardParams); @@ -276,8 +276,8 @@ void EnChanger_OpenChests(EnChanger* this, GlobalContext* globalCtx) { void EnChanger_SetHeartPieceFlag(EnChanger* this, GlobalContext* globalCtx) { if (this->finalChest->unk_1F4 != 0) { - if (!(gSaveContext.itemGetInf[1] & 0x800)) { - gSaveContext.itemGetInf[1] |= 0x800; + if (!GET_ITEMGETINF(ITEMGETINF_1B)) { + SET_ITEMGETINF(ITEMGETINF_1B); } Actor_Kill(&this->actor); } diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.c b/src/overlays/actors/ovl_En_Cow/z_en_cow.c index bc9908ec28..aedc4736fd 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c @@ -121,7 +121,7 @@ void EnCow_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_Kill(&this->actor); return; } - if (!(gSaveContext.eventChkInf[1] & 0x4000)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_1E)) { Actor_Kill(&this->actor); return; } diff --git a/src/overlays/actors/ovl_En_Cs/z_en_cs.c b/src/overlays/actors/ovl_En_Cs/z_en_cs.c index c8bd204ffc..5a088c54a6 100644 --- a/src/overlays/actors/ovl_En_Cs/z_en_cs.c +++ b/src/overlays/actors/ovl_En_Cs/z_en_cs.c @@ -186,7 +186,7 @@ s32 EnCs_GetTalkState(EnCs* this, GlobalContext* globalCtx) { if (this->actor.textId == 0x2026) { Player_UnsetMask(globalCtx); Item_Give(globalCtx, ITEM_SOLD_OUT); - gSaveContext.itemGetInf[3] |= 0x400; + SET_ITEMGETINF(ITEMGETINF_3A); Rupees_ChangeBy(30); this->actor.textId = 0x2027; talkState = 2; @@ -210,7 +210,7 @@ s32 EnCs_GetTextID(EnCs* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); s32 textId = Text_GetFaceReaction(globalCtx, 15); - if (gSaveContext.itemGetInf[3] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { if (textId == 0) { textId = 0x2028; } @@ -333,14 +333,14 @@ void EnCs_Walk(EnCs* this, GlobalContext* globalCtx) { animIndex = this->currentAnimIndex; if (this->talkState == 0) { - if (gSaveContext.itemGetInf[3] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { rnd = Rand_ZeroOne() * 10.0f; } else { rnd = Rand_ZeroOne() * 5.0f; } if (rnd == 0) { - if (gSaveContext.itemGetInf[3] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { animIndex = 2.0f * Rand_ZeroOne(); animIndex = (animIndex == 0) ? ENCS_ANIM_2 : ENCS_ANIM_1; } else { @@ -469,7 +469,7 @@ void EnCs_Draw(Actor* thisx, GlobalContext* globalCtx) { SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, EnCs_OverrideLimbDraw, EnCs_PostLimbDraw, &this->actor); - if (gSaveContext.itemGetInf[3] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { s32 childLinkObjectIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_LINK_CHILD); // Handle attaching the Spooky Mask to the boy's face diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c index c73e15e8c4..27584e0be5 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c @@ -152,13 +152,13 @@ void EnDaiku_Init(Actor* thisx, GlobalContext* globalCtx) { s32 noKill = true; s32 isFree = false; - if ((this->actor.params & 3) == 0 && (gSaveContext.eventChkInf[9] & 1)) { + if ((this->actor.params & 3) == 0 && GET_EVENTCHKINF(EVENTCHKINF_90)) { isFree = true; - } else if ((this->actor.params & 3) == 1 && (gSaveContext.eventChkInf[9] & 2)) { + } else if ((this->actor.params & 3) == 1 && GET_EVENTCHKINF(EVENTCHKINF_91)) { isFree = true; - } else if ((this->actor.params & 3) == 2 && (gSaveContext.eventChkInf[9] & 4)) { + } else if ((this->actor.params & 3) == 2 && GET_EVENTCHKINF(EVENTCHKINF_92)) { isFree = true; - } else if ((this->actor.params & 3) == 3 && (gSaveContext.eventChkInf[9] & 8)) { + } else if ((this->actor.params & 3) == 3 && GET_EVENTCHKINF(EVENTCHKINF_93)) { isFree = true; } @@ -238,10 +238,10 @@ s32 EnDaiku_UpdateTalking(EnDaiku* this, GlobalContext* globalCtx) { if (Message_ShouldAdvance(globalCtx)) { switch (this->actor.textId) { case 0x6061: - gSaveContext.infTable[23] |= 0x40; + SET_INFTABLE(INFTABLE_176); break; case 0x6064: - gSaveContext.infTable[23] |= 0x100; + SET_INFTABLE(INFTABLE_178); break; } @@ -271,7 +271,8 @@ void EnDaiku_UpdateText(EnDaiku* this, GlobalContext* globalCtx) { if (this->stateFlags & ENDAIKU_STATEFLAG_GERUDODEFEATED) { freedCount = 0; for (carpenterType = 0; carpenterType < 4; carpenterType++) { - if (gSaveContext.eventChkInf[9] & (1 << carpenterType)) { + if (gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX] & + (1 << (carpenterType + EVENTCHKINF_90_SHIFT))) { freedCount++; } } @@ -307,7 +308,7 @@ void EnDaiku_UpdateText(EnDaiku* this, GlobalContext* globalCtx) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) { this->actor.textId = 0x6063; } else { - if (!(gSaveContext.infTable[23] & 0x40)) { + if (!GET_INFTABLE(INFTABLE_176)) { this->actor.textId = 0x6061; } else { this->actor.textId = 0x6062; @@ -318,7 +319,7 @@ void EnDaiku_UpdateText(EnDaiku* this, GlobalContext* globalCtx) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) { this->actor.textId = 0x6066; } else { - if (!(gSaveContext.infTable[23] & 0x100)) { + if (!GET_INFTABLE(INFTABLE_178)) { this->actor.textId = 0x6064; } else { this->actor.textId = 0x6065; @@ -399,7 +400,7 @@ void EnDaiku_InitEscape(EnDaiku* this, GlobalContext* globalCtx) { EnDaiku_ChangeAnim(this, ENDAIKU_ANIM_RUN, &this->currentAnimIndex); this->stateFlags &= ~(ENDAIKU_STATEFLAG_1 | ENDAIKU_STATEFLAG_2); - gSaveContext.eventChkInf[9] |= 1 << (this->actor.params & 3); + gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX] |= 1 << ((this->actor.params & 3) + EVENTCHKINF_90_SHIFT); this->actor.gravity = -1.0f; this->escapeSubCamTimer = sEscapeSubCamParams[this->actor.params & 3].maxFramesActive; @@ -494,7 +495,8 @@ void EnDaiku_EscapeSuccess(EnDaiku* this, GlobalContext* globalCtx) { Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_ACTIVE); this->subCamActive = false; - if ((gSaveContext.eventChkInf[9] & 0xF) == 0xF) { + if (CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK)) { Matrix_RotateY(BINANG_TO_RAD(this->initRot.y), MTXMODE_NEW); Matrix_MultVec3f(&D_809E4148, &vec); gerudoGuard = diff --git a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c index b9d89ad0c6..671aa84f46 100644 --- a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c +++ b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c @@ -215,10 +215,10 @@ s32 EnDaikuKakariko_GetTalkState(EnDaikuKakariko* this, GlobalContext* globalCtx if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { switch (this->actor.textId) { case 0x6061: - gSaveContext.infTable[23] |= 0x40; + SET_INFTABLE(INFTABLE_176); break; case 0x6064: - gSaveContext.infTable[23] |= 0x100; + SET_INFTABLE(INFTABLE_178); break; } talkState = 0; diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c index f58fc3e997..21d2694549 100644 --- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c +++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c @@ -140,14 +140,14 @@ s32 EnDivingGame_HasMinigameFinished(EnDivingGame* this, GlobalContext* globalCt } else { s32 rupeesNeeded = 5; - if (gSaveContext.eventChkInf[3] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_38)) { rupeesNeeded = 10; } if (this->grabbedRupeesCounter >= rupeesNeeded) { // Won. gSaveContext.timer1State = 0; this->allRupeesThrown = this->state = this->phase = this->unk_2A2 = this->grabbedRupeesCounter = 0; - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { this->actor.textId = 0x4055; } else { this->actor.textId = 0x405D; @@ -160,7 +160,7 @@ s32 EnDivingGame_HasMinigameFinished(EnDivingGame* this, GlobalContext* globalCt func_800F5B58(); Audio_PlayFanfare(NA_BGM_SMALL_ITEM_GET); func_8002DF54(globalCtx, NULL, 8); - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { this->actionFunc = func_809EE96C; } else { this->actionFunc = func_809EE048; @@ -206,7 +206,7 @@ void EnDivingGame_Talk(EnDivingGame* this, GlobalContext* globalCtx) { switch (this->state) { case ENDIVINGGAME_STATE_NOTPLAYING: this->unk_292 = TEXT_STATE_CHOICE; - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { this->actor.textId = 0x4053; this->phase = ENDIVINGGAME_PHASE_1; } else { @@ -248,7 +248,7 @@ void EnDivingGame_HandlePlayChoice(EnDivingGame* this, GlobalContext* globalCtx) this->allRupeesThrown = this->state = this->phase = this->unk_2A2 = this->grabbedRupeesCounter = 0; break; } - if (!(gSaveContext.eventChkInf[3] & 0x100) || this->actor.textId == 0x85 || this->actor.textId == 0x2D) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38) || this->actor.textId == 0x85 || this->actor.textId == 0x2D) { Message_ContinueTextbox(globalCtx, this->actor.textId); this->unk_292 = TEXT_STATE_EVENT; this->actionFunc = func_809EE048; @@ -307,7 +307,7 @@ void EnDivingGame_SetupRupeeThrow(EnDivingGame* this, GlobalContext* globalCtx) this->unk_2D0.x = -280.0f; this->unk_2D0.y = -20.0f; this->unk_2D0.z = -240.0f; - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { this->rupeesLeftToThrow = 5; } else { this->rupeesLeftToThrow = 10; @@ -351,7 +351,7 @@ void EnDivingGame_RupeeThrow(EnDivingGame* this, GlobalContext* globalCtx) { this->spawnRuppyTimer = 5; EnDivingGame_SpawnRuppy(this, globalCtx); this->rupeesLeftToThrow--; - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { this->unk_296 = 30; } else { this->unk_296 = 5; @@ -409,7 +409,7 @@ void func_809EE800(EnDivingGame* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); if (this->unk_292 == Message_GetState(&globalCtx->msgCtx) && Message_ShouldAdvance(globalCtx)) { Message_CloseTextbox(globalCtx); - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { func_80088B34(BREG(2) + 50); } else { func_80088B34(BREG(2) + 50); @@ -472,7 +472,7 @@ void func_809EEAF8(EnDivingGame* this, GlobalContext* globalCtx) { // "Successful completion" osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n" VT_RST); this->allRupeesThrown = this->state = this->phase = this->unk_2A2 = this->grabbedRupeesCounter = 0; - gSaveContext.eventChkInf[3] |= 0x100; + SET_EVENTCHKINF(EVENTCHKINF_38); this->actionFunc = func_809EDCB0; } } diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c index fd95b5b90a..9fda5fa36f 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -290,7 +290,7 @@ void func_809EFA28(EnDns* this) { } void func_809EFA58(EnDns* this) { - gSaveContext.itemGetInf[0] |= 0x800; + SET_ITEMGETINF(ITEMGETINF_0B); Rupees_ChangeBy(-this->dnsItemEntry->itemPrice); } @@ -303,12 +303,12 @@ void func_809EFACC(EnDns* this) { } void func_809EFAFC(EnDns* this) { - gSaveContext.infTable[25] |= 0x4; + SET_INFTABLE(INFTABLE_192); Rupees_ChangeBy(-this->dnsItemEntry->itemPrice); } void func_809EFB40(EnDns* this) { - gSaveContext.infTable[25] |= 0x8; + SET_INFTABLE(INFTABLE_193); Rupees_ChangeBy(-this->dnsItemEntry->itemPrice); } diff --git a/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c b/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c index 9c1dc28236..bdb8d2e219 100644 --- a/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c +++ b/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.c @@ -156,14 +156,14 @@ void EnDntDemo_Judge(EnDntDemo* this, GlobalContext* globalCtx) { delay = 0; switch (Player_GetMask(globalCtx)) { case PLAYER_MASK_SKULL: - if (!(gSaveContext.itemGetInf[1] & 0x4000)) { + if (!GET_ITEMGETINF(ITEMGETINF_1E)) { reaction = DNT_SIGNAL_CELEBRATE; this->prize = DNT_PRIZE_STICK; Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_SARIA_THEME); break; } case PLAYER_MASK_TRUTH: - if (!(gSaveContext.itemGetInf[1] & 0x8000) && (Player_GetMask(globalCtx) != PLAYER_MASK_SKULL)) { + if (!GET_ITEMGETINF(ITEMGETINF_1F) && (Player_GetMask(globalCtx) != PLAYER_MASK_SKULL)) { Audio_PlaySoundGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); this->prize = DNT_PRIZE_NUTS; diff --git a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c index eca8e2f120..6a2560783c 100644 --- a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c +++ b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c @@ -283,7 +283,7 @@ void EnDntJiji_GivePrize(EnDntJiji* this, GlobalContext* globalCtx) { osSyncPrintf("実 \n"); osSyncPrintf("実 \n"); osSyncPrintf("実 \n"); - gSaveContext.itemGetInf[1] |= 0x8000; + SET_ITEMGETINF(ITEMGETINF_1F); } else { // "stick" osSyncPrintf("棒 \n"); @@ -292,7 +292,7 @@ void EnDntJiji_GivePrize(EnDntJiji* this, GlobalContext* globalCtx) { osSyncPrintf("棒 \n"); osSyncPrintf("棒 \n"); osSyncPrintf("棒 \n"); - gSaveContext.itemGetInf[1] |= 0x4000; + SET_ITEMGETINF(ITEMGETINF_1E); } this->actor.textId = 0; if ((this->stage != NULL) && (this->stage->actor.update != NULL)) { diff --git a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c index 67c888c05b..c07872ba2e 100644 --- a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c +++ b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c @@ -246,7 +246,7 @@ void EnDntNomal_TargetWait(EnDntNomal* this, GlobalContext* globalCtx) { func_80078884(NA_SE_SY_TRE_BOX_APPEAR); // "Big hit" osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 大当り ☆☆☆☆☆ %d\n" VT_RST, this->hitCounter); - if (!LINK_IS_ADULT && !(gSaveContext.itemGetInf[1] & 0x2000)) { + if (!LINK_IS_ADULT && !GET_ITEMGETINF(ITEMGETINF_1D)) { this->hitCounter++; if (this->hitCounter >= 3) { OnePointCutscene_Init(globalCtx, 4140, -99, &this->actor, MAIN_CAM); diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c index 57aff58e59..bd10ac0e05 100644 --- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c +++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c @@ -325,10 +325,10 @@ void EnDog_FollowPath(EnDog* this, GlobalContext* globalCtx) { // depending on where he is on his path. En_Hy checks these event flags. if (this->waypoint < 9) { // Richard is close to her, text says something about his coat - gSaveContext.eventInf[3] |= 1; + SET_EVENTINF(EVENTINF_30); } else { // Richard is far, text says something about running fast - gSaveContext.eventInf[3] &= ~1; + CLEAR_EVENTINF(EVENTINF_30); } } else { frame = globalCtx->state.frames % 3; diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.c b/src/overlays/actors/ovl_En_Door/z_en_door.c index 84f5c1efbc..0d3d6a3b37 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.c +++ b/src/overlays/actors/ovl_En_Door/z_en_door.c @@ -165,7 +165,7 @@ void EnDoor_SetupType(EnDoor* this, GlobalContext* globalCtx) { } } else if (doorType == DOOR_CHECKABLE) { this->actor.textId = (this->actor.params & 0x3F) + 0x0200; - if (this->actor.textId == 0x0229 && !(gSaveContext.eventChkInf[1] & 0x10)) { + if (this->actor.textId == 0x0229 && !GET_EVENTCHKINF(EVENTCHKINF_14)) { // Talon's house door. If Talon has not been woken up at Hyrule Castle // this door should be openable at any time of day. Note that there is no // check for time of day as the scene setup for Lon Lon merely initializes diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index ef4c1ec118..2b5782c45a 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -80,7 +80,7 @@ void EnDs_DisplayOddPotionText(EnDs* this, GlobalContext* globalCtx) { this->actor.textId = 0x504F; this->actionFunc = EnDs_TalkAfterGiveOddPotion; this->actor.flags &= ~ACTOR_FLAG_8; - gSaveContext.itemGetInf[3] |= 1; + SET_ITEMGETINF(ITEMGETINF_30); } } @@ -211,7 +211,7 @@ void EnDs_Wait(EnDs* this, GlobalContext* globalCtx) { &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); player->actor.textId = 0x504A; this->actionFunc = EnDs_OfferOddPotion; - } else if (gSaveContext.itemGetInf[3] & 1) { + } else if (GET_ITEMGETINF(ITEMGETINF_30)) { player->actor.textId = 0x500C; this->actionFunc = EnDs_OfferBluePotion; } else { diff --git a/src/overlays/actors/ovl_En_Du/z_en_du.c b/src/overlays/actors/ovl_En_Du/z_en_du.c index c955cbb70f..df386df8e1 100644 --- a/src/overlays/actors/ovl_En_Du/z_en_du.c +++ b/src/overlays/actors/ovl_En_Du/z_en_du.c @@ -111,7 +111,7 @@ u16 func_809FDC38(GlobalContext* globalCtx, Actor* actor) { return 0x301D; } } - if (gSaveContext.infTable[0x11] & 8) { + if (GET_INFTABLE(INFTABLE_113)) { return 0x301B; } else { return 0x301A; @@ -126,13 +126,13 @@ s16 func_809FDCDC(GlobalContext* globalCtx, Actor* actor) { case TEXT_STATE_CLOSING: switch (actor->textId) { case 0x301A: - gSaveContext.infTable[0x11] |= 8; + SET_INFTABLE(INFTABLE_113); break; case 0x301C: case 0x301F: return 2; case 0x3020: - gSaveContext.eventChkInf[0x2] |= 4; + SET_EVENTCHKINF(EVENTCHKINF_22); break; } return 0; @@ -156,7 +156,7 @@ s16 func_809FDCDC(GlobalContext* globalCtx, Actor* actor) { s32 func_809FDDB4(EnDu* this, GlobalContext* globalCtx) { if (globalCtx->sceneNum == SCENE_SPOT18 && LINK_IS_CHILD) { return 1; - } else if (globalCtx->sceneNum == SCENE_HIDAN && !(gSaveContext.infTable[0x11] & 0x400) && LINK_IS_ADULT) { + } else if (globalCtx->sceneNum == SCENE_HIDAN && !GET_INFTABLE(INFTABLE_11A) && LINK_IS_ADULT) { return 1; } return 0; @@ -411,7 +411,7 @@ void func_809FE798(EnDu* this, GlobalContext* globalCtx) { } } else { Actor_Kill(&this->actor); - gSaveContext.infTable[0x11] |= 0x400; + SET_INFTABLE(INFTABLE_11A); } } diff --git a/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c b/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c index 273b68acea..dc86407aa4 100644 --- a/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c +++ b/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c @@ -46,7 +46,7 @@ void EnEncount2_Init(Actor* thisx, GlobalContext* globalCtx) { // "☆☆☆☆☆ Death Mountain Encount2 set ☆☆☆☆☆" osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ デスマウンテンエンカウント2セットされました ☆☆☆☆☆ %d\n" VT_RST, this->actor.params); - if (LINK_IS_ADULT && (gSaveContext.eventChkInf[4] & 0x200)) { // flag for having used fire temple blue warp + if (LINK_IS_ADULT && GET_EVENTCHKINF(EVENTCHKINF_49)) { // flag for having used fire temple blue warp Actor_Kill(thisx); } } else { diff --git a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c index 8c10e4a3b7..453efb880d 100644 --- a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c +++ b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c @@ -411,7 +411,7 @@ void EnExItem_TargetPrizeFinish(EnExItem* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { // "Successful completion" osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n" VT_RST); - gSaveContext.itemGetInf[1] |= 0x2000; + SET_ITEMGETINF(ITEMGETINF_1D); Actor_Kill(&this->actor); } } diff --git a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c index 96592c3945..0aa5e02507 100644 --- a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c +++ b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c @@ -60,7 +60,7 @@ void EnExRuppy_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.gravity = 0.0f; // If you haven't won the diving game before, you will always get 5 rupees - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { this->rupeeValue = 5; this->colorIdx = 1; } else { @@ -232,7 +232,7 @@ void EnExRuppy_EnterWater(EnExRuppy* this, GlobalContext* globalCtx) { this->actor.world.pos.x = ((Rand_ZeroOne() - 0.5f) * 300.0f) + -260.0f; this->actor.world.pos.y = ((Rand_ZeroOne() - 0.5f) * 200.0f) + 370.0f; temp_f2 = this->unk_15A * -50.0f; - if (!(gSaveContext.eventChkInf[3] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_38)) { temp_f2 += -500.0f; this->actor.world.pos.z = ((Rand_ZeroOne() - 0.5f) * 80.0f) + temp_f2; } else { diff --git a/src/overlays/actors/ovl_En_Fr/z_en_fr.c b/src/overlays/actors/ovl_En_Fr/z_en_fr.c index 4081990f49..ef54af09fc 100644 --- a/src/overlays/actors/ovl_En_Fr/z_en_fr.c +++ b/src/overlays/actors/ovl_En_Fr/z_en_fr.c @@ -105,9 +105,9 @@ static EnFrPointers sEnFrPointers = { }, }; -// Flags for gSaveContext.eventChkInf[13] static u16 sSongIndex[] = { - 0x0002, 0x0004, 0x0010, 0x0008, 0x0020, 0x0040, 0x0001, 0x0000, + EVENTCHKINF_D1_MASK, EVENTCHKINF_D2_MASK, EVENTCHKINF_D4_MASK, EVENTCHKINF_D3_MASK, + EVENTCHKINF_D5_MASK, EVENTCHKINF_D6_MASK, EVENTCHKINF_D0_MASK, 0, }; // Frog to Index for Song Flag (sSongIndex) Mapping @@ -281,7 +281,10 @@ void EnFr_Update(Actor* thisx, GlobalContext* globalCtx) { this->actor.home.pos.z, 255, 255, 255, -1); // Check to see if the song for a particular frog has been played. // If it has, the frog is larger. If not, the frog is smaller - this->scale = gSaveContext.eventChkInf[13] & sSongIndex[sFrogToSongIndex[frogIndex]] ? 270.0f : 150.0f; + this->scale = + gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] & sSongIndex[sFrogToSongIndex[frogIndex]] + ? 270.0f + : 150.0f; // When the frogs are not active (link doesn't have his ocarina out), // Then shrink the frogs down by a factor of 10,000 Actor_SetScale(&this->actor, this->scale * 0.0001f); @@ -629,12 +632,12 @@ void EnFr_Activate(EnFr* this, GlobalContext* globalCtx) { void EnFr_ActivateCheckFrogSong(EnFr* this, GlobalContext* globalCtx) { if (sEnFrPointers.flags == 11) { // Check if all 6 child songs have been played for the frogs - if ((gSaveContext.eventChkInf[13] & 0x2) // ZL - && (gSaveContext.eventChkInf[13] & 0x4) // Epona - && (gSaveContext.eventChkInf[13] & 0x10) // Saria - && (gSaveContext.eventChkInf[13] & 0x8) // Suns - && (gSaveContext.eventChkInf[13] & 0x20) // SoT - && (gSaveContext.eventChkInf[13] & 0x40)) { // SoS + if (GET_EVENTCHKINF(EVENTCHKINF_D1) // ZL + && GET_EVENTCHKINF(EVENTCHKINF_D2) // Epona + && GET_EVENTCHKINF(EVENTCHKINF_D4) // Saria + && GET_EVENTCHKINF(EVENTCHKINF_D3) // Suns + && GET_EVENTCHKINF(EVENTCHKINF_D5) // SoT + && GET_EVENTCHKINF(EVENTCHKINF_D6)) { // SoS this->actionFunc = EnFr_TalkBeforeFrogSong; this->songIndex = FROG_CHOIR_SONG; Message_StartTextbox(globalCtx, 0x40AB, &this->actor); @@ -724,7 +727,7 @@ void EnFr_ChildSong(EnFr* this, GlobalContext* globalCtx) { if (songIndex == FROG_STORMS) { this->actor.textId = 0x40AA; EnFr_SetupReward(this, globalCtx, false); - } else if (!(gSaveContext.eventChkInf[13] & sSongIndex[songIndex])) { + } else if (!(gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] & sSongIndex[songIndex])) { frog = sEnFrPointers.frogs[sSongToFrog[songIndex]]; func_80078884(NA_SE_SY_CORRECT_CHIME); if (frog->actionFunc == EnFr_ChooseJumpFromLogSpot) { @@ -798,7 +801,7 @@ void EnFr_DeactivateButterfly() { } u8 EnFr_GetNextNoteFrogSong(u8 ocarinaNoteIndex) { - if (!(gSaveContext.eventChkInf[13] & 1)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_D0)) { return gFrogsSongPtr[ocarinaNoteIndex]; } else { return sOcarinaNotes[(s32)Rand_ZeroFloat(60.0f) % 5]; @@ -937,22 +940,22 @@ void EnFr_SetReward(EnFr* this, GlobalContext* globalCtx) { this->actionFunc = EnFr_Deactivate; this->reward = GI_NONE; if ((songIndex >= FROG_ZL) && (songIndex <= FROG_SOT)) { - if (!(gSaveContext.eventChkInf[13] & sSongIndex[songIndex])) { - gSaveContext.eventChkInf[13] |= sSongIndex[songIndex]; + if (!(gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] & sSongIndex[songIndex])) { + gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] |= sSongIndex[songIndex]; this->reward = GI_RUPEE_PURPLE; } else { this->reward = GI_RUPEE_BLUE; } } else if (songIndex == FROG_STORMS) { - if (!(gSaveContext.eventChkInf[13] & sSongIndex[songIndex])) { - gSaveContext.eventChkInf[13] |= sSongIndex[songIndex]; + if (!(gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] & sSongIndex[songIndex])) { + gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] |= sSongIndex[songIndex]; this->reward = GI_HEART_PIECE; } else { this->reward = GI_RUPEE_BLUE; } } else if (songIndex == FROG_CHOIR_SONG) { - if (!(gSaveContext.eventChkInf[13] & sSongIndex[songIndex])) { - gSaveContext.eventChkInf[13] |= sSongIndex[songIndex]; + if (!(gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] & sSongIndex[songIndex])) { + gSaveContext.eventChkInf[EVENTCHKINF_D0_D1_D2_D3_D4_D5_D6_INDEX] |= sSongIndex[songIndex]; this->reward = GI_HEART_PIECE; } else { this->reward = GI_RUPEE_PURPLE; 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 c54d6eb88f..a1e2cbc597 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -134,7 +134,7 @@ void EnFu_WaitChild(EnFu* this, GlobalContext* globalCtx) { u16 textID = Text_GetFaceReaction(globalCtx, 0xB); if (textID == 0) { - textID = (gSaveContext.eventChkInf[6] & 0x80) ? 0x5033 : 0x5032; + textID = GET_EVENTCHKINF(EVENTCHKINF_67) ? 0x5033 : 0x5032; } // if ACTOR_FLAG_8 is set and textID is 0x5033, change animation @@ -150,7 +150,7 @@ void EnFu_WaitChild(EnFu* this, GlobalContext* globalCtx) { void func_80A1DB60(EnFu* this, GlobalContext* globalCtx) { if (globalCtx->csCtx.state == CS_STATE_IDLE) { this->actionFunc = EnFu_WaitAdult; - gSaveContext.eventChkInf[5] |= 0x800; + SET_EVENTCHKINF(EVENTCHKINF_5B); globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; } } @@ -176,7 +176,7 @@ void func_80A1DBD4(EnFu* this, GlobalContext* globalCtx) { gSaveContext.cutsceneTrigger = 1; Item_Give(globalCtx, ITEM_SONG_STORMS); globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_00; - gSaveContext.eventChkInf[6] |= 0x20; + SET_EVENTCHKINF(EVENTCHKINF_65); } else if (globalCtx->msgCtx.ocarinaMode == OCARINA_MODE_02) { player->stateFlags2 &= ~PLAYER_STATE2_24; this->actionFunc = EnFu_WaitAdult; @@ -214,7 +214,7 @@ void EnFu_WaitAdult(EnFu* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; - if ((gSaveContext.eventChkInf[5] & 0x800)) { + if (GET_EVENTCHKINF(EVENTCHKINF_5B)) { func_80A1D94C(this, globalCtx, 0x508E, func_80A1DBA0); } else if (player->stateFlags2 & PLAYER_STATE2_24) { this->actor.textId = 0x5035; diff --git a/src/overlays/actors/ovl_En_Gb/z_en_gb.c b/src/overlays/actors/ovl_En_Gb/z_en_gb.c index 7e235383f1..1f40f9abe4 100644 --- a/src/overlays/actors/ovl_En_Gb/z_en_gb.c +++ b/src/overlays/actors/ovl_En_Gb/z_en_gb.c @@ -141,7 +141,7 @@ static Vec3f sBottlesPositions[] = { }; void func_80A2F180(EnGb* this) { - if (gSaveContext.infTable[0xB] & 0x40) { + if (GET_INFTABLE(INFTABLE_B6)) { this->textId = 0x70F5; } else { this->textId = 0x70F4; @@ -303,8 +303,8 @@ void func_80A2F83C(EnGb* this, GlobalContext* globalCtx) { void func_80A2F94C(EnGb* this, GlobalContext* globalCtx) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE && Message_ShouldAdvance(globalCtx)) { - if (!(gSaveContext.infTable[0xB] & 0x40)) { - gSaveContext.infTable[0xB] |= 0x40; + if (!GET_INFTABLE(INFTABLE_B6)) { + SET_INFTABLE(INFTABLE_B6); } func_80A2F180(this); this->actionFunc = func_80A2F83C; @@ -313,8 +313,8 @@ void func_80A2F94C(EnGb* this, GlobalContext* globalCtx) { void func_80A2F9C0(EnGb* this, GlobalContext* globalCtx) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE && Message_ShouldAdvance(globalCtx)) { - if (!(gSaveContext.infTable[0xB] & 0x40)) { - gSaveContext.infTable[0xB] |= 0x40; + if (!GET_INFTABLE(INFTABLE_B6)) { + SET_INFTABLE(INFTABLE_B6); } func_80A2F180(this); Player_UpdateBottleHeld(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE); @@ -325,8 +325,8 @@ void func_80A2F9C0(EnGb* this, GlobalContext* globalCtx) { void func_80A2FA50(EnGb* this, GlobalContext* globalCtx) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE && Message_ShouldAdvance(globalCtx)) { - if (!(gSaveContext.infTable[0xB] & 0x40)) { - gSaveContext.infTable[0xB] |= 0x40; + if (!GET_INFTABLE(INFTABLE_B6)) { + SET_INFTABLE(INFTABLE_B6); } func_80A2F180(this); Player_UpdateBottleHeld(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE); diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c index 6a176fcc54..e1e22e814d 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -152,7 +152,7 @@ void EnGe1_Init(Actor* thisx, GlobalContext* globalCtx) { // "Horseback archery Gerudo EVENT_INF(0) =" osSyncPrintf(VT_FGCOL(CYAN) "やぶさめ ゲルド EVENT_INF(0) = %x\n" VT_RST, gSaveContext.eventInf[0]); - if (gSaveContext.eventInf[0] & 0x100) { + if (GET_EVENTINF(EVENTINF_08)) { this->actionFunc = EnGe1_TalkAfterGame_Archery; } else if (EnGe1_CheckCarpentersFreed()) { this->actionFunc = EnGe1_Wait_Archery; @@ -209,9 +209,10 @@ void EnGe1_SetAnimationIdle(EnGe1* this) { } s32 EnGe1_CheckCarpentersFreed(void) { - u16 carpenterFlags = gSaveContext.eventChkInf[9]; + u16 carpenterFlags = gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX]; - if (!((carpenterFlags & 1) && (carpenterFlags & 2) && (carpenterFlags & 4) && (carpenterFlags & 8))) { + if (!((carpenterFlags & EVENTCHKINF_90_MASK) && (carpenterFlags & EVENTCHKINF_91_MASK) && + (carpenterFlags & EVENTCHKINF_92_MASK) && (carpenterFlags & EVENTCHKINF_93_MASK))) { return 0; } return 1; @@ -230,7 +231,7 @@ void EnGe1_KickPlayer(EnGe1* this, GlobalContext* globalCtx) { if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) { globalCtx->nextEntranceIndex = 0x1A5; - } else if (gSaveContext.eventChkInf[12] & 0x80) { // Caught previously + } else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) { // Caught previously globalCtx->nextEntranceIndex = 0x5F8; } else { globalCtx->nextEntranceIndex = 0x3B4; @@ -496,9 +497,9 @@ void EnGe1_WaitTillItemGiven_Archery(EnGe1* this, GlobalContext* globalCtx) { if (Actor_HasParent(&this->actor, globalCtx)) { this->actionFunc = EnGe1_SetupWait_Archery; if (this->stateFlags & GE1_STATE_GIVE_QUIVER) { - gSaveContext.itemGetInf[0] |= 0x8000; + SET_ITEMGETINF(ITEMGETINF_0F); } else { - gSaveContext.infTable[25] |= 1; + SET_INFTABLE(INFTABLE_190); } } else { if (this->stateFlags & GE1_STATE_GIVE_QUIVER) { @@ -584,8 +585,8 @@ void EnGe1_BeginGame_Archery(EnGe1* this, GlobalContext* globalCtx) { gSaveContext.nextCutsceneIndex = 0xFFF0; globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST); globalCtx->transitionTrigger = TRANS_TRIGGER_START; - gSaveContext.eventInf[0] |= 0x100; - gSaveContext.eventChkInf[6] |= 0x100; + SET_EVENTINF(EVENTINF_08); + SET_EVENTCHKINF(EVENTCHKINF_68); if (!(player->stateFlags1 & PLAYER_STATE1_23)) { func_8002DF54(globalCtx, &this->actor, 1); @@ -626,7 +627,7 @@ void EnGe1_TalkNoPrize_Archery(EnGe1* this, GlobalContext* globalCtx) { } void EnGe1_TalkAfterGame_Archery(EnGe1* this, GlobalContext* globalCtx) { - gSaveContext.eventInf[0] &= ~0x100; + CLEAR_EVENTINF(EVENTINF_08); LOG_NUM("z_common_data.yabusame_total", gSaveContext.minigameScore, "../z_en_ge1.c", 1110); LOG_NUM("z_common_data.memory.information.room_inf[127][ 0 ]", HIGH_SCORE(HS_HBA), "../z_en_ge1.c", 1111); this->actor.flags |= ACTOR_FLAG_16; @@ -638,14 +639,14 @@ void EnGe1_TalkAfterGame_Archery(EnGe1* this, GlobalContext* globalCtx) { if (gSaveContext.minigameScore < 1000) { this->actor.textId = 0x6045; this->actionFunc = EnGe1_TalkNoPrize_Archery; - } else if (!(gSaveContext.infTable[25] & 1)) { + } else if (!GET_INFTABLE(INFTABLE_190)) { this->actor.textId = 0x6046; this->actionFunc = EnGe1_TalkWinPrize_Archery; this->stateFlags &= ~GE1_STATE_GIVE_QUIVER; } else if (gSaveContext.minigameScore < 1500) { this->actor.textId = 0x6047; this->actionFunc = EnGe1_TalkNoPrize_Archery; - } else if (gSaveContext.itemGetInf[0] & 0x8000) { + } else if (GET_ITEMGETINF(ITEMGETINF_0F)) { this->actor.textId = 0x6047; this->actionFunc = EnGe1_TalkNoPrize_Archery; } else { @@ -670,8 +671,8 @@ void EnGe1_Wait_Archery(EnGe1* this, GlobalContext* globalCtx) { if (!(player->stateFlags1 & PLAYER_STATE1_23)) { EnGe1_SetTalkAction(this, globalCtx, 0x603F, 100.0f, EnGe1_TalkNoHorse_Archery); } else { - if (gSaveContext.eventChkInf[6] & 0x100) { - if (gSaveContext.infTable[25] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_68)) { + if (GET_INFTABLE(INFTABLE_190)) { textId = 0x6042; } else { textId = 0x6043; diff --git a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c index 6a1ccbc811..cab2baa023 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c @@ -223,7 +223,10 @@ s32 Ge2_DetectPlayerInUpdate(GlobalContext* globalCtx, EnGe2* this, Vec3f* pos, } s32 EnGe2_CheckCarpentersFreed(void) { - if ((u8)(gSaveContext.eventChkInf[9] & 0xF) == 0xF) { + if (CHECK_FLAG_ALL( + gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX] & + (EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK | 0xF0), + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK)) { return 1; } return 0; @@ -239,7 +242,7 @@ void EnGe2_CaptureClose(EnGe2* this, GlobalContext* globalCtx) { if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) { globalCtx->nextEntranceIndex = 0x1A5; - } else if (gSaveContext.eventChkInf[12] & 0x80) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) { globalCtx->nextEntranceIndex = 0x5F8; } else { globalCtx->nextEntranceIndex = 0x3B4; @@ -265,7 +268,7 @@ void EnGe2_CaptureCharge(EnGe2* this, GlobalContext* globalCtx) { if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) { globalCtx->nextEntranceIndex = 0x1A5; - } else if (gSaveContext.eventChkInf[12] & 0x80) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) { globalCtx->nextEntranceIndex = 0x5F8; } else { globalCtx->nextEntranceIndex = 0x3B4; diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c index f038b29320..6263dc600b 100644 --- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c +++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c @@ -1577,7 +1577,7 @@ void EnGeldB_Draw(Actor* thisx, GlobalContext* globalCtx) { if (this->timer == 0) { if ((INV_CONTENT(ITEM_HOOKSHOT) == ITEM_NONE) || (INV_CONTENT(ITEM_LONGSHOT) == ITEM_NONE)) { globalCtx->nextEntranceIndex = 0x1A5; - } else if (gSaveContext.eventChkInf[12] & 0x80) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_C7)) { globalCtx->nextEntranceIndex = 0x5F8; } else { globalCtx->nextEntranceIndex = 0x3B4; diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c index 0f44eb1e07..d2f149d2f8 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.c +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.c @@ -316,55 +316,55 @@ void EnGirlA_SetupAction(EnGirlA* this, EnGirlAActionFunc func) { s32 EnGirlA_TryChangeShopItem(EnGirlA* this) { switch (this->actor.params) { case SI_MILK_BOTTLE: - if (gSaveContext.itemGetInf[0] & 0x4) { + if (GET_ITEMGETINF(ITEMGETINF_02)) { this->actor.params = SI_HEART; return true; } break; case SI_BOMBCHU_10_2: - if (gSaveContext.itemGetInf[0] & 0x40) { + if (GET_ITEMGETINF(ITEMGETINF_06)) { this->actor.params = SI_SOLD_OUT; return true; } break; case SI_BOMBCHU_10_3: - if (gSaveContext.itemGetInf[0] & 0x80) { + if (GET_ITEMGETINF(ITEMGETINF_07)) { this->actor.params = SI_SOLD_OUT; return true; } break; case SI_BOMBCHU_20_3: - if (gSaveContext.itemGetInf[0] & 0x100) { + if (GET_ITEMGETINF(ITEMGETINF_08)) { this->actor.params = SI_SOLD_OUT; return true; } break; case SI_BOMBCHU_20_4: - if (gSaveContext.itemGetInf[0] & 0x200) { + if (GET_ITEMGETINF(ITEMGETINF_09)) { this->actor.params = SI_SOLD_OUT; return true; } break; case SI_BOMBCHU_10_4: - if (gSaveContext.itemGetInf[0] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_0A)) { this->actor.params = SI_SOLD_OUT; return true; } break; case SI_BOMBCHU_10_1: - if (gSaveContext.itemGetInf[0] & 0x8) { + if (GET_ITEMGETINF(ITEMGETINF_03)) { this->actor.params = SI_SOLD_OUT; return true; } break; case SI_BOMBCHU_20_1: - if (gSaveContext.itemGetInf[0] & 0x10) { + if (GET_ITEMGETINF(ITEMGETINF_04)) { this->actor.params = SI_SOLD_OUT; return true; } break; case SI_BOMBCHU_20_2: - if (gSaveContext.itemGetInf[0] & 0x20) { + if (GET_ITEMGETINF(ITEMGETINF_05)) { this->actor.params = SI_SOLD_OUT; return true; } @@ -842,7 +842,7 @@ void EnGirlA_ItemGive_BottledItem(GlobalContext* globalCtx, EnGirlA* this) { void EnGirlA_BuyEvent_ShieldDiscount(GlobalContext* globalCtx, EnGirlA* this) { if (this->actor.params == SI_HYLIAN_SHIELD) { - if (gSaveContext.infTable[7] & 0x40) { + if (GET_INFTABLE(INFTABLE_76)) { Rupees_ChangeBy(-(this->basePrice - sShieldDiscounts[(s32)Rand_ZeroFloat(7.9f)])); return; } @@ -861,28 +861,28 @@ void EnGirlA_BuyEvent_ZoraTunic(GlobalContext* globalCtx, EnGirlA* this) { void EnGirlA_BuyEvent_ObtainBombchuPack(GlobalContext* globalCtx, EnGirlA* this) { switch (this->actor.params) { case SI_BOMBCHU_10_2: - gSaveContext.itemGetInf[0] |= 0x40; + SET_ITEMGETINF(ITEMGETINF_06); break; case SI_BOMBCHU_10_3: - gSaveContext.itemGetInf[0] |= 0x80; + SET_ITEMGETINF(ITEMGETINF_07); break; case SI_BOMBCHU_20_3: - gSaveContext.itemGetInf[0] |= 0x100; + SET_ITEMGETINF(ITEMGETINF_08); break; case SI_BOMBCHU_20_4: - gSaveContext.itemGetInf[0] |= 0x200; + SET_ITEMGETINF(ITEMGETINF_09); break; case SI_BOMBCHU_10_4: - gSaveContext.itemGetInf[0] |= 0x400; + SET_ITEMGETINF(ITEMGETINF_0A); break; case SI_BOMBCHU_10_1: - gSaveContext.itemGetInf[0] |= 0x8; + SET_ITEMGETINF(ITEMGETINF_03); break; case SI_BOMBCHU_20_1: - gSaveContext.itemGetInf[0] |= 0x10; + SET_ITEMGETINF(ITEMGETINF_04); break; case SI_BOMBCHU_20_2: - gSaveContext.itemGetInf[0] |= 0x20; + SET_ITEMGETINF(ITEMGETINF_05); break; } Rupees_ChangeBy(-this->basePrice); @@ -902,27 +902,27 @@ void EnGirlA_SetItemDescription(GlobalContext* globalCtx, EnGirlA* this) { isMaskFreeToBorrow = false; switch (this->actor.params) { case SI_KEATON_MASK: - if (gSaveContext.itemGetInf[3] & 0x100) { + if (GET_ITEMGETINF(ITEMGETINF_38)) { isMaskFreeToBorrow = true; } break; case SI_SPOOKY_MASK: - if (gSaveContext.itemGetInf[3] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { isMaskFreeToBorrow = true; } break; case SI_SKULL_MASK: - if (gSaveContext.itemGetInf[3] & 0x200) { + if (GET_ITEMGETINF(ITEMGETINF_39)) { isMaskFreeToBorrow = true; } break; case SI_BUNNY_HOOD: - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { isMaskFreeToBorrow = true; } break; case SI_MASK_OF_TRUTH: - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { isMaskFreeToBorrow = true; } break; @@ -984,7 +984,7 @@ void EnGirlA_InitializeItemAction(EnGirlA* this, GlobalContext* globalCtx) { this->actor.objBankIndex = this->objBankIndex; switch (this->actor.params) { case SI_KEATON_MASK: - if (gSaveContext.itemGetInf[3] & 0x100) { + if (GET_ITEMGETINF(ITEMGETINF_38)) { this->actor.textId = 0x70B6; } else { this->actor.textId = itemEntry->itemDescTextId; @@ -992,7 +992,7 @@ void EnGirlA_InitializeItemAction(EnGirlA* this, GlobalContext* globalCtx) { this->itemBuyPromptTextId = itemEntry->itemBuyPromptTextId; break; case SI_SPOOKY_MASK: - if (gSaveContext.itemGetInf[3] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { this->actor.textId = 0x70B5; } else { this->actor.textId = itemEntry->itemDescTextId; @@ -1000,7 +1000,7 @@ void EnGirlA_InitializeItemAction(EnGirlA* this, GlobalContext* globalCtx) { this->itemBuyPromptTextId = itemEntry->itemBuyPromptTextId; break; case SI_SKULL_MASK: - if (gSaveContext.itemGetInf[3] & 0x200) { + if (GET_ITEMGETINF(ITEMGETINF_39)) { this->actor.textId = 0x70B4; } else { this->actor.textId = itemEntry->itemDescTextId; @@ -1008,7 +1008,7 @@ void EnGirlA_InitializeItemAction(EnGirlA* this, GlobalContext* globalCtx) { this->itemBuyPromptTextId = itemEntry->itemBuyPromptTextId; break; case SI_BUNNY_HOOD: - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { this->actor.textId = 0x70B7; } else { this->actor.textId = itemEntry->itemDescTextId; @@ -1016,7 +1016,7 @@ void EnGirlA_InitializeItemAction(EnGirlA* this, GlobalContext* globalCtx) { this->itemBuyPromptTextId = itemEntry->itemBuyPromptTextId; break; case SI_MASK_OF_TRUTH: - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { this->actor.textId = 0x70BB; this->itemBuyPromptTextId = itemEntry->itemBuyPromptTextId; } else { diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c index 1ba41c827c..b601b19d93 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -141,14 +141,14 @@ void EnGm_UpdateEye(EnGm* this) { void EnGm_SetTextID(EnGm* this) { switch (func_80A3D7C8()) { case 0: - if (gSaveContext.infTable[11] & 1) { + if (GET_INFTABLE(INFTABLE_B0)) { this->actor.textId = 0x304B; } else { this->actor.textId = 0x304A; } break; case 1: - if (gSaveContext.infTable[11] & 2) { + if (GET_INFTABLE(INFTABLE_B1)) { this->actor.textId = 0x304F; } else { this->actor.textId = 0x304C; @@ -202,12 +202,12 @@ void func_80A3DC44(EnGm* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, globalCtx)) { switch (func_80A3D7C8()) { case 0: - gSaveContext.infTable[11] |= 1; + SET_INFTABLE(INFTABLE_B0); case 3: this->actionFunc = func_80A3DD7C; return; case 1: - gSaveContext.infTable[11] |= 2; + SET_INFTABLE(INFTABLE_B1); case 2: this->actionFunc = EnGm_ProcessChoiceIndex; default: 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 709259e4b7..9ba5c80898 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -112,20 +112,20 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { } case 0x00: if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE)) { - if (gSaveContext.infTable[16] & 0x8000) { + if (GET_INFTABLE(INFTABLE_10F)) { return 0x3042; } else { return 0x3041; } - } else if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1) || (gSaveContext.infTable[16] & 0x2000)) { - if (gSaveContext.infTable[16] & 0x4000) { + } else if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1) || GET_INFTABLE(INFTABLE_10D)) { + if (GET_INFTABLE(INFTABLE_10E)) { return 0x3038; } else { return 0x3037; } } else { - if (gSaveContext.infTable[16] & 0x200) { - if (gSaveContext.infTable[16] & 0x400) { + if (GET_INFTABLE(INFTABLE_109)) { + if (GET_INFTABLE(INFTABLE_10A)) { return 0x3033; } else { return 0x3032; @@ -143,9 +143,9 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { case 0x20: if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; - } else if (gSaveContext.eventChkInf[2] & 0x8) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_23)) { return 0x3021; - } else if (gSaveContext.infTable[14] & 0x1) { + } else if (GET_INFTABLE(INFTABLE_E0)) { return 0x302A; } else { return 0x3008; @@ -153,7 +153,7 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { case 0x30: if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; - } else if (gSaveContext.eventChkInf[2] & 0x8) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_23)) { return 0x3026; } else { return 0x3009; @@ -161,7 +161,7 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { case 0x40: if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; - } else if (gSaveContext.eventChkInf[2] & 0x8) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_23)) { return 0x3026; } else { return 0x300A; @@ -169,7 +169,7 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { case 0x50: if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; - } else if (gSaveContext.infTable[15] & 1) { + } else if (GET_INFTABLE(INFTABLE_F0)) { return 0x3015; } else { return 0x3014; @@ -177,7 +177,7 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { case 0x60: if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; - } else if (gSaveContext.infTable[15] & 0x10) { + } else if (GET_INFTABLE(INFTABLE_F4)) { return 0x3017; } else { return 0x3016; @@ -185,7 +185,7 @@ u16 EnGo_GetTextID(GlobalContext* globalCtx, Actor* thisx) { case 0x70: if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; - } else if (gSaveContext.infTable[15] & 0x100) { + } else if (GET_INFTABLE(INFTABLE_F8)) { return 0x3019; } else { return 0x3018; @@ -206,36 +206,36 @@ s16 EnGo_SetFlagsGetStates(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: switch (thisx->textId) { case 0x3008: - gSaveContext.infTable[14] |= 1; + SET_INFTABLE(INFTABLE_E0); unkState = 0; break; case 0x300B: - gSaveContext.infTable[14] |= 0x800; + SET_INFTABLE(INFTABLE_EB); unkState = 0; break; case 0x3014: - gSaveContext.infTable[15] |= 1; + SET_INFTABLE(INFTABLE_F0); unkState = 0; break; case 0x3016: - gSaveContext.infTable[15] |= 0x10; + SET_INFTABLE(INFTABLE_F4); unkState = 0; break; case 0x3018: - gSaveContext.infTable[15] |= 0x100; + SET_INFTABLE(INFTABLE_F8); unkState = 0; break; case 0x3036: func_8002F434(thisx, globalCtx, GI_TUNIC_GORON, xzRange, yRange); - gSaveContext.infTable[16] |= 0x2000; // EnGo exclusive flag + SET_INFTABLE(INFTABLE_10D); // EnGo exclusive flag unkState = 2; break; case 0x3037: - gSaveContext.infTable[16] |= 0x4000; + SET_INFTABLE(INFTABLE_10E); unkState = 0; break; case 0x3041: - gSaveContext.infTable[16] |= 0x8000; + SET_INFTABLE(INFTABLE_10F); unkState = 0; break; case 0x3059: @@ -260,7 +260,7 @@ s16 EnGo_SetFlagsGetStates(GlobalContext* globalCtx, Actor* thisx) { switch (thisx->textId) { case 0x300A: if (globalCtx->msgCtx.choiceIndex == 0) { - if (CUR_UPG_VALUE(UPG_STRENGTH) != 0 || (gSaveContext.infTable[14] & 0x800)) { + if (CUR_UPG_VALUE(UPG_STRENGTH) != 0 || GET_INFTABLE(INFTABLE_EB)) { thisx->textId = 0x300B; } else { thisx->textId = 0x300C; @@ -273,12 +273,12 @@ s16 EnGo_SetFlagsGetStates(GlobalContext* globalCtx, Actor* thisx) { break; case 0x3034: if (globalCtx->msgCtx.choiceIndex == 0) { - if (gSaveContext.infTable[16] & 0x800) { + if (GET_INFTABLE(INFTABLE_10B)) { thisx->textId = 0x3033; } else { thisx->textId = 0x3035; } - } else if (gSaveContext.infTable[16] & 0x800) { + } else if (GET_INFTABLE(INFTABLE_10B)) { thisx->textId = 0x3036; } else { thisx->textId = 0x3033; @@ -295,7 +295,7 @@ s16 EnGo_SetFlagsGetStates(GlobalContext* globalCtx, Actor* thisx) { Message_ContinueTextbox(globalCtx, thisx->textId); unkState = 1; } - gSaveContext.infTable[11] |= 0x10; + SET_INFTABLE(INFTABLE_B4); break; } } @@ -304,7 +304,7 @@ s16 EnGo_SetFlagsGetStates(GlobalContext* globalCtx, Actor* thisx) { if (Message_ShouldAdvance(globalCtx)) { switch (thisx->textId) { case 0x3035: - gSaveContext.infTable[16] |= 0x800; + SET_INFTABLE(INFTABLE_10B); case 0x3032: case 0x3033: thisx->textId = 0x3034; @@ -595,7 +595,7 @@ void func_80A3F908(EnGo* this, GlobalContext* globalCtx) { if (((this->actor.params & 0xF0) == 0x90) && (isUnkCondition == true)) { if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_SWORD_BROKEN) { if (func_8002F368(globalCtx) == EXCH_ITEM_SWORD_BROKEN) { - if (gSaveContext.infTable[11] & 0x10) { + if (GET_INFTABLE(INFTABLE_B4)) { this->actor.textId = 0x3055; } else { this->actor.textId = 0x3054; @@ -663,7 +663,7 @@ void EnGo_Init(Actor* thisx, GlobalContext* globalCtx) { EnGo_SetupAction(this, EnGo_FireGenericActionFunc); break; case 0x40: - if (gSaveContext.infTable[14] & 0x800) { + if (GET_INFTABLE(INFTABLE_EB)) { EnGo_SetMovedPos(this, globalCtx); } Actor_SetScale(&this->actor, 0.015f); @@ -751,7 +751,7 @@ void EnGo_GoronLinkRolling(EnGo* this, GlobalContext* globalCtx) { (this->unk_218 == 0)) { this->actor.speedXZ = 0.0f; EnGo_SetupAction(this, func_80A4008C); - gSaveContext.infTable[16] |= 0x200; + SET_INFTABLE(INFTABLE_109); } this->actor.shape.rot = this->actor.world.rot; @@ -846,7 +846,7 @@ void func_80A405CC(EnGo* this, GlobalContext* globalCtx) { this->skelAnime.curFrame = lastFrame; this->skelAnime.playSpeed = 0.0f; this->unk_212 = Rand_S16Offset(30, 30); - if (((this->actor.params & 0xF0) == 0x40) && ((gSaveContext.infTable[14] & 0x800) == 0)) { + if (((this->actor.params & 0xF0) == 0x40) && !GET_INFTABLE(INFTABLE_EB)) { EnGo_SetupAction(this, func_80A40B1C); } else { EnGo_SetupAction(this, EnGo_BiggoronActionFunc); @@ -933,7 +933,7 @@ void func_80A40A54(EnGo* this, GlobalContext* globalCtx) { } void func_80A40B1C(EnGo* this, GlobalContext* globalCtx) { - if (gSaveContext.infTable[14] & 0x800) { + if (GET_INFTABLE(INFTABLE_EB)) { EnGo_ChangeAnim(this, ENGO_ANIM_3); EnGo_SetupAction(this, func_80A40A54); } else { diff --git a/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/src/overlays/actors/ovl_En_Go2/z_en_go2.c index 9f83c74c2f..e19d691682 100644 --- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -8,27 +8,28 @@ /* FLAGS -gSaveContext.eventChkInf[2] & 0x8 - DC entrance boulder blown up as child +EVENTCHKINF_23 - DC entrance boulder blown up as child InfTable -gSaveContext.infTable[11] & 0x10 -gSaveContext.infTable[14] & 0x1 - Talked to DMT Goron at DC entrance (Before DC is opened as child) -gSaveContext.infTable[14] & 0x8 - Talked to GC Goron in bottom level stairwell -gSaveContext.infTable[14] & 0x40 - Talked to GC Goron at LW entrance (Before LW shortcut is opened) -gSaveContext.infTable[14] & 0x800 - Talked to DMT Goron at Bomb Flower with goron bracelet -gSaveContext.infTable[15] & 0x1 - Talked to Goron at GC Entrance (Before goron ruby is obtained) -gSaveContext.infTable[15] & 0x10 - Talked to Goron at GC Island (Before goron ruby is obtained) -gSaveContext.infTable[15] & 0x100 - (not on cloud modding) Talked to GC Goron outside Darunias door (after opening door, -before getting goron bracelet) gSaveContext.infTable[16] & 0x200 - Obtained Fire Tunic from Goron Link -gSaveContext.infTable[16] & 0x400 - (not on cloud modding) -gSaveContext.infTable[16] & 0x800 - Spoke to Goron Link About Volvagia -gSaveContext.infTable[16] & 0x1000 - Stopped Goron Link's Rolling -gSaveContext.infTable[16] & 0x2000 - EnGo Exclusive -gSaveContext.infTable[16] & 0x4000 - Spoke to Goron Link -gSaveContext.infTable[16] & 0x8000 - (not on cloud modding) +INFTABLE_B4 +INFTABLE_E0 - Talked to DMT Goron at DC entrance (Before DC is opened as child) +INFTABLE_E3 - Talked to GC Goron in bottom level stairwell +INFTABLE_E6 - Talked to GC Goron at LW entrance (Before LW shortcut is opened) +INFTABLE_EB - Talked to DMT Goron at Bomb Flower with goron bracelet +INFTABLE_F0 - Talked to Goron at GC Entrance (Before goron ruby is obtained) +INFTABLE_F4 - Talked to Goron at GC Island (Before goron ruby is obtained) +INFTABLE_F8 - (not on cloud modding) Talked to GC Goron outside Darunias door (after opening door, +before getting goron bracelet) +INFTABLE_109 - Obtained Fire Tunic from Goron Link +INFTABLE_10A - (not on cloud modding) +INFTABLE_10B - Spoke to Goron Link About Volvagia +INFTABLE_10C - Stopped Goron Link's Rolling +INFTABLE_10D - EnGo Exclusive +INFTABLE_10E - Spoke to Goron Link +INFTABLE_10F - (not on cloud modding) -gSaveContext.infTable[17] & 0x4000 - Bomb bag upgrade obtained from rolling Goron +INFTABLE_11E - Bomb bag upgrade obtained from rolling Goron EnGo pathIndex: this->actor.params & 0xF @@ -322,7 +323,7 @@ u16 EnGo2_GoronFireGenericGetTextId(EnGo2* this) { } u16 EnGo2_GetTextIdGoronCityRollingBig(GlobalContext* globalCtx, EnGo2* this) { - if (gSaveContext.infTable[17] & 0x4000) { + if (GET_INFTABLE(INFTABLE_11E)) { return 0x3013; } else if (CUR_CAPACITY(UPG_BOMB_BAG) >= 20 && this->waypoint > 7 && this->waypoint < 12) { return 0x3012; @@ -344,7 +345,7 @@ s16 EnGo2_GetStateGoronCityRollingBig(GlobalContext* globalCtx, EnGo2* this) { bombBagUpgrade = CUR_CAPACITY(UPG_BOMB_BAG) == 30 ? GI_BOMB_BAG_40 : GI_BOMB_BAG_30; EnGo2_GetItem(this, globalCtx, bombBagUpgrade); Message_CloseTextbox(globalCtx); - gSaveContext.infTable[17] |= 0x4000; + SET_INFTABLE(INFTABLE_11E); return 2; } else { return 2; @@ -363,8 +364,8 @@ u16 EnGo2_GetTextIdGoronDmtBombFlower(GlobalContext* globalCtx, EnGo2* this) { s16 EnGo2_GetStateGoronDmtBombFlower(GlobalContext* globalCtx, EnGo2* this) { switch (Message_GetState(&globalCtx->msgCtx)) { case TEXT_STATE_CLOSING: - if ((this->actor.textId == 0x300B) && (gSaveContext.infTable[14] & 0x800) == 0) { - gSaveContext.infTable[14] |= 0x800; + if ((this->actor.textId == 0x300B) && !GET_INFTABLE(INFTABLE_EB)) { + SET_INFTABLE(INFTABLE_EB); return 2; } else { return 0; @@ -391,7 +392,7 @@ u16 EnGo2_GetTextIdGoronDmtRollingSmall(GlobalContext* globalCtx, EnGo2* this) { if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; } else { - return (gSaveContext.eventChkInf[2] & 0x8) ? 0x3026 : 0x3009; + return GET_EVENTCHKINF(EVENTCHKINF_23) ? 0x3026 : 0x3009; } } @@ -409,14 +410,14 @@ u16 EnGo2_GetTextIdGoronDmtDcEntrance(GlobalContext* globalCtx, EnGo2* this) { } else if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; } else { - return gSaveContext.eventChkInf[2] & 0x8 ? 0x3021 : gSaveContext.infTable[14] & 0x1 ? 0x302A : 0x3008; + return GET_EVENTCHKINF(EVENTCHKINF_23) ? 0x3021 : GET_INFTABLE(INFTABLE_E0) ? 0x302A : 0x3008; } } s16 EnGo2_GetStateGoronDmtDcEntrance(GlobalContext* globalCtx, EnGo2* this) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) { if (this->actor.textId == 0x3008) { - gSaveContext.infTable[14] |= 0x1; + SET_INFTABLE(INFTABLE_E0); } return 0; } else { @@ -430,14 +431,14 @@ u16 EnGo2_GetTextIdGoronCityEntrance(GlobalContext* globalCtx, EnGo2* this) { } else if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3027; } else { - return gSaveContext.infTable[15] & 0x1 ? 0x3015 : 0x3014; + return GET_INFTABLE(INFTABLE_F0) ? 0x3015 : 0x3014; } } s16 EnGo2_GetStateGoronCityEntrance(GlobalContext* globalCtx, EnGo2* this) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) { if (this->actor.textId == 0x3014) { - gSaveContext.infTable[15] |= 0x1; + SET_INFTABLE(INFTABLE_F0); } return 0; } else { @@ -451,14 +452,14 @@ u16 EnGo2_GetTextIdGoronCityIsland(GlobalContext* globalCtx, EnGo2* this) { } else if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { return 0x3067; } else { - return gSaveContext.infTable[15] & 0x10 ? 0x3017 : 0x3016; + return GET_INFTABLE(INFTABLE_F4) ? 0x3017 : 0x3016; } } s16 EnGo2_GetStateGoronCityIsland(GlobalContext* globalCtx, EnGo2* this) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) { if (this->actor.textId == 0x3016) { - gSaveContext.infTable[15] |= 0x10; + SET_INFTABLE(INFTABLE_F4); } return 0; } else { @@ -474,7 +475,7 @@ u16 EnGo2_GetTextIdGoronCityLowestFloor(GlobalContext* globalCtx, EnGo2* this) { } else { return CUR_UPG_VALUE(UPG_STRENGTH) != 0 ? 0x302C : !Flags_GetSwitch(globalCtx, 0x1B) ? 0x3017 - : gSaveContext.infTable[15] & 0x100 ? 0x3019 + : GET_INFTABLE(INFTABLE_F8) ? 0x3019 : 0x3018; } } @@ -482,7 +483,7 @@ u16 EnGo2_GetTextIdGoronCityLowestFloor(GlobalContext* globalCtx, EnGo2* this) { s16 EnGo2_GetStateGoronCityLowestFloor(GlobalContext* globalCtx, EnGo2* this) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) { if (this->actor.textId == 0x3018) { - gSaveContext.infTable[15] |= 0x100; + SET_INFTABLE(INFTABLE_F8); } return 0; } else { @@ -492,13 +493,13 @@ s16 EnGo2_GetStateGoronCityLowestFloor(GlobalContext* globalCtx, EnGo2* this) { u16 EnGo2_GetTextIdGoronCityLink(GlobalContext* globalCtx, EnGo2* this) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE)) { - return gSaveContext.infTable[16] & 0x8000 ? 0x3042 : 0x3041; + return GET_INFTABLE(INFTABLE_10F) ? 0x3042 : 0x3041; } else if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1)) { - return gSaveContext.infTable[16] & 0x4000 ? 0x3038 : 0x3037; - } else if (gSaveContext.infTable[16] & 0x1000) { + return GET_INFTABLE(INFTABLE_10E) ? 0x3038 : 0x3037; + } else if (GET_INFTABLE(INFTABLE_10C)) { this->unk_20C = 0; this->dialogState = TEXT_STATE_NONE; - return gSaveContext.infTable[16] & 0x400 ? 0x3033 : 0x3032; + return GET_INFTABLE(INFTABLE_10A) ? 0x3033 : 0x3032; } else { return 0x3030; } @@ -513,7 +514,7 @@ s16 EnGo2_GetStateGoronCityLink(GlobalContext* globalCtx, EnGo2* this) { this->actionFunc = EnGo2_SetupGetItem; return 2; case 0x3037: - gSaveContext.infTable[16] |= 0x4000; + SET_INFTABLE(INFTABLE_10E); default: return 0; } @@ -521,12 +522,12 @@ s16 EnGo2_GetStateGoronCityLink(GlobalContext* globalCtx, EnGo2* this) { if (Message_ShouldAdvance(globalCtx)) { if (this->actor.textId == 0x3034) { if (globalCtx->msgCtx.choiceIndex == 0) { - this->actor.textId = gSaveContext.infTable[16] & 0x800 ? 0x3033 : 0x3035; + this->actor.textId = GET_INFTABLE(INFTABLE_10B) ? 0x3033 : 0x3035; if (this->actor.textId == 0x3035) { Audio_StopSfxById(NA_SE_EN_GOLON_CRY); } } else { - this->actor.textId = gSaveContext.infTable[16] & 0x800 ? 0x3036 : 0x3033; + this->actor.textId = GET_INFTABLE(INFTABLE_10B) ? 0x3036 : 0x3033; if (this->actor.textId == 0x3036) { Audio_StopSfxById(NA_SE_EN_GOLON_CRY); } @@ -542,7 +543,7 @@ s16 EnGo2_GetStateGoronCityLink(GlobalContext* globalCtx, EnGo2* this) { if (Message_ShouldAdvance(globalCtx)) { switch (this->actor.textId) { case 0x3035: - gSaveContext.infTable[16] |= 0x800; + SET_INFTABLE(INFTABLE_10B); case 0x3032: case 0x3033: this->actor.textId = 0x3034; @@ -660,13 +661,13 @@ s16 EnGo2_GetStateGoronFireGeneric(GlobalContext* globalCtx, EnGo2* this) { } u16 EnGo2_GetTextIdGoronCityStairwell(GlobalContext* globalCtx, EnGo2* this) { - return !LINK_IS_ADULT ? gSaveContext.infTable[14] & 0x8 ? 0x3022 : 0x300E : 0x3043; + return !LINK_IS_ADULT ? GET_INFTABLE(INFTABLE_E3) ? 0x3022 : 0x300E : 0x3043; } s16 EnGo2_GetStateGoronCityStairwell(GlobalContext* globalCtx, EnGo2* this) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) { if (this->actor.textId == 0x300E) { - gSaveContext.infTable[14] |= 0x8; + SET_INFTABLE(INFTABLE_E3); } return 0; } else { @@ -692,7 +693,7 @@ u16 EnGo2_GetTextIdGoronCityLostWoods(GlobalContext* globalCtx, EnGo2* this) { if (Flags_GetSwitch(globalCtx, 0x1C)) { return 0x302F; } else { - return gSaveContext.infTable[14] & 0x40 ? 0x3025 : 0x3024; + return GET_INFTABLE(INFTABLE_E6) ? 0x3025 : 0x3024; } } else { return 0x3043; @@ -702,7 +703,7 @@ u16 EnGo2_GetTextIdGoronCityLostWoods(GlobalContext* globalCtx, EnGo2* this) { s16 EnGo2_GetStateGoronCityLostWoods(GlobalContext* globalCtx, EnGo2* this) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) { if (this->actor.textId == 0x3024) { - gSaveContext.infTable[14] |= 0x40; + SET_INFTABLE(INFTABLE_E6); } return 0; } else { @@ -1052,7 +1053,7 @@ void EnGo2_BiggoronSetTextId(EnGo2* this, GlobalContext* globalCtx, Player* play } else if (INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_SWORD_BROKEN) { if (func_8002F368(globalCtx) == EXCH_ITEM_SWORD_BROKEN) { - if (gSaveContext.infTable[11] & 0x10) { + if (GET_INFTABLE(INFTABLE_B4)) { textId = 0x3055; } else { textId = 0x3054; @@ -1327,7 +1328,7 @@ void EnGo2_GetItemAnimation(EnGo2* this, GlobalContext* globalCtx) { void EnGo2_SetupRolling(EnGo2* this, GlobalContext* globalCtx) { if ((this->actor.params & 0x1F) == GORON_CITY_ROLLING_BIG || (this->actor.params & 0x1F) == GORON_CITY_LINK) { this->collider.info.bumperFlags = 1; - this->actor.speedXZ = gSaveContext.infTable[17] & 0x4000 ? 6.0f : 3.6000001f; + this->actor.speedXZ = GET_INFTABLE(INFTABLE_11E) ? 6.0f : 3.6000001f; } else { this->actor.speedXZ = 6.0f; } @@ -1548,7 +1549,7 @@ void EnGo2_Init(Actor* thisx, GlobalContext* globalCtx) { EnGo2_GetItemAnimation(this, globalCtx); break; case GORON_CITY_LINK: - if ((gSaveContext.infTable[16] & 0x200)) { + if (GET_INFTABLE(INFTABLE_109)) { Path_CopyLastPoint(this->path, &this->actor.world.pos); this->actor.home.pos = this->actor.world.pos; if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_FIRE) && CHECK_OWNED_EQUIP(EQUIP_TUNIC, 1)) { @@ -1557,7 +1558,7 @@ void EnGo2_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = EnGo2_CurledUp; } } else { - gSaveContext.infTable[16] &= ~0x1000; + CLEAR_INFTABLE(INFTABLE_10C); this->collider.dim.height = (D_80A4816C[this->actor.params & 0x1F].height * 0.6f); EnGo2_SetupRolling(this, globalCtx); this->isAwake = true; @@ -1588,7 +1589,7 @@ void EnGo2_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = EnGo2_CurledUp; break; case GORON_DMT_BOMB_FLOWER: - if (gSaveContext.infTable[14] & 0x800) { + if (GET_INFTABLE(INFTABLE_EB)) { Path_CopyLastPoint(this->path, &this->actor.world.pos); this->actor.home.pos = this->actor.world.pos; } @@ -1782,7 +1783,7 @@ void EnGo2_SetGetItem(EnGo2* this, GlobalContext* globalCtx) { EnGo2_GetItemAnimation(this, globalCtx); return; case GI_TUNIC_GORON: - gSaveContext.infTable[16] |= 0x200; + SET_INFTABLE(INFTABLE_109); EnGo2_GetItemAnimation(this, globalCtx); return; case GI_SWORD_BGS: @@ -1866,7 +1867,7 @@ void EnGo2_GoronLinkStopRolling(EnGo2* this, GlobalContext* globalCtx) { if (Message_GetState(&globalCtx->msgCtx) != TEXT_STATE_CLOSING) { player->actor.freezeTimer = 10; } else { - gSaveContext.infTable[16] |= 0x1000; + SET_INFTABLE(INFTABLE_10C); this->unk_26E = 1; this->unk_211 = false; this->isAwake = false; diff --git a/src/overlays/actors/ovl_En_Guest/z_en_guest.c b/src/overlays/actors/ovl_En_Guest/z_en_guest.c index d7f6b890fc..3e11adf081 100644 --- a/src/overlays/actors/ovl_En_Guest/z_en_guest.c +++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.c @@ -52,7 +52,7 @@ static InitChainEntry sInitChain[] = { void EnGuest_Init(Actor* thisx, GlobalContext* globalCtx) { EnGuest* this = (EnGuest*)thisx; - if (gSaveContext.infTable[7] & 0x40) { + if (GET_INFTABLE(INFTABLE_76)) { Actor_Kill(&this->actor); } else { this->osAnimeBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_OS_ANIME); diff --git a/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c b/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c index a87d85e474..8cc5d20796 100644 --- a/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c +++ b/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c @@ -112,13 +112,13 @@ void EnHeishi1_Init(Actor* thisx, GlobalContext* globalCtx) { } if (this->type != 5) { - if (((gSaveContext.dayTime < 0xB888) || IS_DAY) && !(gSaveContext.eventChkInf[8] & 1)) { + if (((gSaveContext.dayTime < 0xB888) || IS_DAY) && !GET_EVENTCHKINF(EVENTCHKINF_80)) { this->actionFunc = EnHeishi1_SetupWalk; } else { Actor_Kill(&this->actor); } } else { - if ((gSaveContext.dayTime >= 0xB889) || !IS_DAY || (gSaveContext.eventChkInf[8] & 1)) { + if ((gSaveContext.dayTime >= 0xB889) || !IS_DAY || GET_EVENTCHKINF(EVENTCHKINF_80)) { this->actionFunc = EnHeishi1_SetupWaitNight; } else { Actor_Kill(&this->actor); @@ -347,7 +347,7 @@ void EnHeishi1_Kick(EnHeishi1* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx)) { Message_CloseTextbox(globalCtx); if (!this->loadStarted) { - gSaveContext.eventChkInf[4] |= 0x4000; + SET_EVENTCHKINF(EVENTCHKINF_4E); globalCtx->nextEntranceIndex = 0x4FA; globalCtx->transitionTrigger = TRANS_TRIGGER_START; this->loadStarted = true; diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c index c3e7d6bd37..a7436c48c7 100644 --- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c +++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c @@ -189,8 +189,7 @@ void func_80A53278(EnHeishi2* this, GlobalContext* globalCtx) { this->unk_30B = 1; this->unk_300 = TEXT_STATE_DONE; this->actionFunc = func_80A5475C; - } else if ((gSaveContext.eventChkInf[0] & 0x200) && (gSaveContext.eventChkInf[2] & 0x20) && - (gSaveContext.eventChkInf[3] & 0x80)) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_09) && GET_EVENTCHKINF(EVENTCHKINF_25) && GET_EVENTCHKINF(EVENTCHKINF_37)) { // "Get all spiritual stones!" osSyncPrintf(VT_FGCOL(GREEN) " ☆☆☆☆☆ 全部の精霊石GET! ☆☆☆☆☆ \n" VT_RST); this->unk_300 = TEXT_STATE_DONE; @@ -209,7 +208,7 @@ void func_80A53278(EnHeishi2* this, GlobalContext* globalCtx) { this->unk_300 = TEXT_STATE_DONE; this->actor.textId = 0x7099; this->actionFunc = func_80A5475C; - } else if (gSaveContext.eventChkInf[1] & 4) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_12)) { if (this->unk_30E == 0) { // "Start under the first sleeve!" osSyncPrintf(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ 1回目袖の下開始! ☆☆☆☆☆ \n" VT_RST); @@ -352,8 +351,8 @@ void func_80A5399C(EnHeishi2* this, GlobalContext* globalCtx) { this->unk_30B = 0; var = 0; - if (gSaveContext.infTable[7] & 0x40) { - if (!(gSaveContext.infTable[7] & 0x80)) { + if (GET_INFTABLE(INFTABLE_76)) { + if (!GET_INFTABLE(INFTABLE_77)) { if (Player_GetMask(globalCtx) == PLAYER_MASK_KEATON) { if (this->unk_309 == 0) { this->actor.textId = 0x200A; @@ -524,7 +523,7 @@ void func_80A53F30(EnHeishi2* this, GlobalContext* globalCtx) { void func_80A54038(EnHeishi2* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx)) { - gSaveContext.infTable[7] |= 0x40; + SET_INFTABLE(INFTABLE_76); Message_CloseTextbox(globalCtx); func_8002DF54(globalCtx, 0, 7); this->actionFunc = func_80A53908; @@ -539,8 +538,8 @@ void func_80A540C0(EnHeishi2* this, GlobalContext* globalCtx) { this->actor.textId = 0x2020; Message_ContinueTextbox(globalCtx, this->actor.textId); Player_UnsetMask(globalCtx); - gSaveContext.infTable[7] |= 0x80; - gSaveContext.itemGetInf[3] |= 0x100; + SET_INFTABLE(INFTABLE_77); + SET_ITEMGETINF(ITEMGETINF_38); Item_Give(globalCtx, ITEM_SOLD_OUT); if (this->unk_30A != 0) { this->unk_30A = 2; @@ -848,7 +847,7 @@ void EnHeishi2_Draw(Actor* thisx, GlobalContext* globalCtx) { SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi2_OverrideLimbDraw, EnHeishi2_PostLimbDraw, this); - if ((this->type == 5) && (gSaveContext.infTable[7] & 0x80)) { + if ((this->type == 5) && GET_INFTABLE(INFTABLE_77)) { linkObjBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_LINK_CHILD); if (linkObjBankIndex >= 0) { Matrix_Put(&this->mtxf_330); diff --git a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c index e7ab0e1993..6bb681e3a5 100644 --- a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c +++ b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c @@ -202,7 +202,7 @@ void func_80A55D00(EnHeishi3* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx) && (this->respawnFlag == 0)) { - gSaveContext.eventChkInf[4] |= 0x4000; + SET_EVENTCHKINF(EVENTCHKINF_4E); globalCtx->nextEntranceIndex = 0x47E; // Hyrule Castle from Guard Capture (outside) globalCtx->transitionTrigger = TRANS_TRIGGER_START; this->respawnFlag = 1; diff --git a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c index 2f4762b8af..b112eed95b 100644 --- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c +++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c @@ -130,12 +130,12 @@ void func_80A563BC(EnHeishi4* this, GlobalContext* globalCtx) { this->unk_2B4 = 1; this->actionFunc = func_80A56B40; } else { - if (gSaveContext.eventChkInf[8] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_80)) { this->actor.textId = 0x5065; this->actionFunc = func_80A56B40; return; } - if (gSaveContext.eventChkInf[4] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_45)) { this->actor.textId = 0x5068; this->actionFunc = func_80A56B40; return; @@ -211,14 +211,14 @@ void func_80A56614(EnHeishi4* this, GlobalContext* globalCtx) { } void func_80A5673C(EnHeishi4* this, GlobalContext* globalCtx) { - if (gSaveContext.eventChkInf[4] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_45)) { osSyncPrintf(VT_FGCOL(YELLOW) " ☆☆☆☆☆ マスターソード祝入手! ☆☆☆☆☆ \n" VT_RST); Actor_Kill(&this->actor); return; } this->unk_284 = 0; - if (gSaveContext.eventChkInf[8] & 1) { - if (!(gSaveContext.infTable[6] & 0x1000)) { + if (GET_EVENTCHKINF(EVENTCHKINF_80)) { + if (!GET_INFTABLE(INFTABLE_6C)) { f32 frames = Animation_GetLastFrame(&gEnHeishiDyingGuardAnim_00C444); Animation_Change(&this->skelAnime, &gEnHeishiDyingGuardAnim_00C444, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, -10.0f); @@ -265,7 +265,7 @@ void func_80A56994(EnHeishi4* this, GlobalContext* globalCtx) { func_80038290(globalCtx, &this->actor, &this->unk_260, &this->unk_266, this->actor.focus.pos); if ((this->unk_282 == Message_GetState(&globalCtx->msgCtx)) && Message_ShouldAdvance(globalCtx)) { Message_CloseTextbox(globalCtx); - gSaveContext.infTable[6] |= 0x1000; + SET_INFTABLE(INFTABLE_6C); func_8002DF54(globalCtx, NULL, 8); this->actionFunc = func_80A56A50; } diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.c b/src/overlays/actors/ovl_En_Horse/z_en_horse.c index a1212379ee..a143bfc512 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c @@ -461,7 +461,8 @@ s32 EnHorse_BgCheckBridgeJumpPoint(EnHorse* this, GlobalContext* globalCtx) { if (this->actor.speedXZ < 12.8f) { return false; } - if ((gSaveContext.eventChkInf[9] & 0xF) == 0xF) { + if (CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK)) { return false; } @@ -682,7 +683,11 @@ s32 EnHorse_Spawn(EnHorse* this, GlobalContext* globalCtx) { player = GET_PLAYER(globalCtx); if (globalCtx->sceneNum != SCENE_SPOT20 || //! Same flag checked twice - (Flags_GetEventChkInf(0x18) && ((gSaveContext.eventInf[0] & 0xF) != 6 || Flags_GetEventChkInf(0x18))) || + (Flags_GetEventChkInf(EVENTCHKINF_18) && + (!((gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) == + (EVENTINF_01_MASK | EVENTINF_02_MASK)) || + Flags_GetEventChkInf(EVENTCHKINF_18))) || // always load two spawns inside lon lon ((sHorseSpawns[i].pos.x == 856 && sHorseSpawns[i].pos.y == 0 && sHorseSpawns[i].pos.z == -918) || (sHorseSpawns[i].pos.x == -1003 && sHorseSpawns[i].pos.y == 0 && sHorseSpawns[i].pos.z == -755))) { @@ -793,10 +798,10 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) { this->stateFlags = ENHORSE_FLAG_19 | ENHORSE_CANT_JUMP | ENHORSE_UNRIDEABLE; } else if (this->actor.params == 6) { this->stateFlags = ENHORSE_FLAG_19 | ENHORSE_CANT_JUMP; - if (Flags_GetEventChkInf(0x18) || DREG(1) != 0) { + if (Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1) != 0) { this->stateFlags &= ~ENHORSE_CANT_JUMP; this->stateFlags |= ENHORSE_FLAG_26; - } else if (gSaveContext.eventInf[0] & 0x40 && this->type == HORSE_HNI) { + } else if (GET_EVENTINF(EVENTINF_06) && this->type == HORSE_HNI) { this->stateFlags |= ENHORSE_FLAG_21 | ENHORSE_FLAG_20; } } else if (this->actor.params == 1) { @@ -806,8 +811,10 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) { } } - if (globalCtx->sceneNum == SCENE_SPOT20 && (gSaveContext.eventInf[0] & 0xF) == 6 && - Flags_GetEventChkInf(0x18) == 0 && !DREG(1)) { + if (globalCtx->sceneNum == SCENE_SPOT20 && + ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | + EVENTINF_03_MASK)) == (EVENTINF_01_MASK | EVENTINF_02_MASK)) && + !Flags_GetEventChkInf(EVENTCHKINF_18) && !DREG(1)) { this->stateFlags |= ENHORSE_FLAG_25; } @@ -833,7 +840,7 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) { Actor_Kill(&this->actor); return; } - if (Flags_GetEventChkInf(0x18)) { + if (Flags_GetEventChkInf(EVENTCHKINF_18)) { Actor_Kill(&this->actor); return; } @@ -841,12 +848,12 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) { Actor_Kill(&this->actor); return; } - } else if (!Flags_GetEventChkInf(0x18) && !DREG(1) && !IS_DAY) { + } else if (!Flags_GetEventChkInf(EVENTCHKINF_18) && !DREG(1) && !IS_DAY) { Actor_Kill(&this->actor); return; } } else if (globalCtx->sceneNum == SCENE_MALON_STABLE) { - if (IS_DAY || Flags_GetEventChkInf(0x18) || DREG(1) != 0 || !LINK_IS_ADULT) { + if (IS_DAY || Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1) != 0 || !LINK_IS_ADULT) { Actor_Kill(&this->actor); return; } @@ -872,7 +879,7 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) { if (this->rider == NULL) { __assert("this->race.rider != NULL", "../z_en_horse.c", 3077); } - if (!(gSaveContext.eventInf[0] & 0x40)) { + if (!GET_EVENTINF(EVENTINF_06)) { this->ingoHorseMaxSpeed = 12.07f; } else { this->ingoHorseMaxSpeed = 12.625f; @@ -882,7 +889,7 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) { } else if (this->actor.params == 8) { EnHorse_InitHorsebackArchery(this); Interface_InitHorsebackArchery(globalCtx); - } else if (globalCtx->sceneNum == SCENE_SPOT20 && !Flags_GetEventChkInf(0x18) && !DREG(1)) { + } else if (globalCtx->sceneNum == SCENE_SPOT20 && !Flags_GetEventChkInf(EVENTCHKINF_18) && !DREG(1)) { EnHorse_InitFleePlayer(this); } else { if (globalCtx->sceneNum == SCENE_SOUKO) { @@ -2534,7 +2541,7 @@ void EnHorse_UpdateHorsebackArchery(EnHorse* this, GlobalContext* globalCtx) { if (globalCtx->interfaceCtx.hbaAmmo != 0) { if (!(this->hbaFlags & 2)) { - if (gSaveContext.infTable[25] & 1) { + if (GET_INFTABLE(INFTABLE_190)) { if ((s32)gSaveContext.minigameScore >= 1500) { this->hbaFlags |= 4; } @@ -3578,7 +3585,9 @@ void EnHorse_Update(Actor* thisx, GlobalContext* globalCtx2) { this->stateFlags &= ~ENHORSE_FLAG_24; } - if (globalCtx->sceneNum == SCENE_SPOT09 && (gSaveContext.eventChkInf[9] & 0xF) != 0xF) { + if (globalCtx->sceneNum == SCENE_SPOT09 && + !CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK)) { EnHorse_CheckBridgeJumps(this, globalCtx); } diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c index af00760fef..6ab0b96e7b 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c @@ -110,22 +110,34 @@ void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalConte gSaveContext.cutsceneIndex = 0; if (this->result == INGORACE_PLAYER_WIN) { globalCtx->nextEntranceIndex = 0x4CE; - if (gSaveContext.eventInf[0] & 0x40) { - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 6; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + if (GET_EVENTINF(EVENTINF_06)) { + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + (EVENTINF_01_MASK | EVENTINF_02_MASK); + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; globalCtx->transitionType = TRANS_TYPE_FADE_WHITE; Environment_ForcePlaySequence(NA_BGM_INGO); } else { - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 4; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + EVENTINF_02_MASK; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; Environment_ForcePlaySequence(NA_BGM_INGO); globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST); } } else { globalCtx->nextEntranceIndex = 0x558; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 3; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + (EVENTINF_00_MASK | EVENTINF_01_MASK); globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST); - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; } DREG(25) = 0; globalCtx->transitionTrigger = TRANS_TRIGGER_START; @@ -445,7 +457,7 @@ void EnHorseGameCheck_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; EnHorseGameCheckBase* this = (EnHorseGameCheckBase*)thisx; - if ((globalCtx->sceneNum == SCENE_SPOT20) && (Flags_GetEventChkInf(0x18) || DREG(1))) { + if ((globalCtx->sceneNum == SCENE_SPOT20) && (Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1))) { this->actor.params = HORSEGAME_MALON_RACE; } if (sInitFuncs[this->actor.params] != NULL) { diff --git a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c index 3b10bd2f96..6b5737e33b 100644 --- a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c +++ b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c @@ -165,11 +165,11 @@ void EnHorseLinkChild_Init(Actor* thisx, GlobalContext* globalCtx) { if (gSaveContext.sceneSetupIndex > 3) { func_80A69EC0(this); } else if (globalCtx->sceneNum == SCENE_SPOT20) { - if (!Flags_GetEventChkInf(0x14)) { + if (!Flags_GetEventChkInf(EVENTCHKINF_14)) { Actor_Kill(&this->actor); return; } - this->unk_2A0 = gSaveContext.eventChkInf[1] & 0x40; + this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_16); func_80A69EC0(this); } else { func_80A69EC0(this); @@ -358,17 +358,17 @@ void func_80A6A068(EnHorseLinkChild* this, GlobalContext* globalCtx) { return; } - if (((gSaveContext.eventChkInf[1] & 0x40) && (DREG(53) != 0)) || + if ((GET_EVENTCHKINF(EVENTCHKINF_16) && (DREG(53) != 0)) || ((globalCtx->sceneNum == SCENE_SPOT20) && (gSaveContext.cutsceneIndex == 0xFFF1))) { func_80A6A4DC(this); } else { - this->unk_2A0 = gSaveContext.eventChkInf[1] & 0x40; + this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_16); } newAnimationIdx = this->animationIdx; animationEnded = SkelAnime_Update(&this->skin.skelAnime); if (animationEnded || (this->animationIdx == 1) || (this->animationIdx == 0)) { - if (gSaveContext.eventChkInf[1] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_15)) { distFromHome = Math3D_Vec3f_DistXYZ(&this->actor.world.pos, &this->actor.home.pos); distLinkFromHome = Math3D_Vec3f_DistXYZ(&player->actor.world.pos, &this->actor.home.pos); if (distLinkFromHome > 250.0f) { diff --git a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c index f692535a90..5b2dd8bc0d 100644 --- a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c +++ b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c @@ -207,7 +207,7 @@ void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx) { return; } if (!LINK_IS_ADULT) { - if (Flags_GetEventChkInf(0x14)) { + if (Flags_GetEventChkInf(EVENTCHKINF_14)) { if (this->actor.world.rot.z != 3) { Actor_Kill(&this->actor); return; @@ -216,7 +216,7 @@ void EnHorseNormal_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_Kill(&this->actor); return; } - } else if (Flags_GetEventChkInf(0x18) || (DREG(1) != 0)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_18) || (DREG(1) != 0)) { if (this->actor.world.rot.z != 7) { Actor_Kill(&this->actor); return; diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.c b/src/overlays/actors/ovl_En_Hs/z_en_hs.c index bb99bb399e..076d3eae9d 100644 --- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c +++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c @@ -77,7 +77,7 @@ void EnHs_Init(Actor* thisx, GlobalContext* globalCtx) { // "chicken shop (adult era)" osSyncPrintf(VT_FGCOL(CYAN) " ヒヨコの店(大人の時) \n" VT_RST); func_80A6E3A0(this, func_80A6E9AC); - if (gSaveContext.itemGetInf[3] & 1) { + if (GET_ITEMGETINF(ITEMGETINF_30)) { // "chicken shop closed" osSyncPrintf(VT_FGCOL(CYAN) " ヒヨコ屋閉店 \n" VT_RST); Actor_Kill(&this->actor); @@ -128,7 +128,7 @@ void func_80A6E630(EnHs* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { func_80088AA0(180); func_80A6E3A0(this, func_80A6E6B0); - gSaveContext.eventInf[1] &= ~1; + CLEAR_EVENTINF(EVENTINF_10); } this->unk_2A8 |= 1; diff --git a/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/src/overlays/actors/ovl_En_Hy/z_en_hy.c index 82d8f50ffe..b5f992d689 100644 --- a/src/overlays/actors/ovl_En_Hy/z_en_hy.c +++ b/src/overlays/actors/ovl_En_Hy/z_en_hy.c @@ -429,9 +429,9 @@ u16 func_80A6F810(GlobalContext* globalCtx, Actor* thisx) { switch (this->actor.params & 0x7F) { case ENHY_TYPE_AOB: if (globalCtx->sceneNum == SCENE_KAKARIKO) { - return (this->unk_330 & 0x800) ? 0x508D : ((gSaveContext.infTable[12] & 0x800) ? 0x508C : 0x508B); + return (this->unk_330 & EVENTCHKINF_6B_MASK) ? 0x508D : (GET_INFTABLE(INFTABLE_CB) ? 0x508C : 0x508B); } else if (globalCtx->sceneNum == SCENE_MARKET_DAY) { - return (gSaveContext.eventInf[3] & 1) ? 0x709B : 0x709C; + return GET_EVENTINF(EVENTINF_30) ? 0x709B : 0x709C; } else if (gSaveContext.dogIsLost) { s16 followingDog = (gSaveContext.dogParams & 0xF00) >> 8; @@ -445,77 +445,73 @@ u16 func_80A6F810(GlobalContext* globalCtx, Actor* thisx) { return 0x70A0; } case ENHY_TYPE_COB: - if (gSaveContext.eventChkInf[8] & 1) { - return (gSaveContext.infTable[12] & 2) ? 0x7017 : 0x7045; + if (GET_EVENTCHKINF(EVENTCHKINF_80)) { + return GET_INFTABLE(INFTABLE_C1) ? 0x7017 : 0x7045; } else { - return (gSaveContext.infTable[12] & 1) ? 0x7017 : 0x7016; + return GET_INFTABLE(INFTABLE_C0) ? 0x7017 : 0x7016; } case ENHY_TYPE_AHG_2: if (globalCtx->sceneNum == SCENE_KAKARIKO) { return 0x5086; } else if (globalCtx->sceneNum == SCENE_SPOT01) { return 0x5085; - } else if (gSaveContext.eventChkInf[8] & 1) { - return (gSaveContext.infTable[12] & 8) ? 0x701A : 0x7047; - } else if (gSaveContext.eventChkInf[1] & 0x10) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_80)) { + return GET_INFTABLE(INFTABLE_C3) ? 0x701A : 0x7047; + } else if (GET_EVENTCHKINF(EVENTCHKINF_14)) { return 0x701A; - } else if (gSaveContext.eventChkInf[1] & 1) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_10)) { return 0x701B; - } else if (gSaveContext.infTable[12] & 4) { + } else if (GET_INFTABLE(INFTABLE_C2)) { return 0x701C; } else { return 0x701A; } case ENHY_TYPE_BOJ_3: - return (gSaveContext.eventChkInf[8] & 1) ? ((gSaveContext.infTable[12] & 0x10) ? 0x7001 : 0x70EB) : 0x7001; + return GET_EVENTCHKINF(EVENTCHKINF_80) ? (GET_INFTABLE(INFTABLE_C4) ? 0x7001 : 0x70EB) : 0x7001; case ENHY_TYPE_AHG_4: - return (gSaveContext.eventChkInf[8] & 1) ? 0x704B : ((gSaveContext.infTable[12] & 0x20) ? 0x7024 : 0x7023); + return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x704B : (GET_INFTABLE(INFTABLE_C5) ? 0x7024 : 0x7023); case ENHY_TYPE_BOJ_5: player->exchangeItemId = EXCH_ITEM_BLUE_FIRE; return 0x700C; case ENHY_TYPE_BBA: - return (gSaveContext.eventChkInf[8] & 1) ? 0x704A : ((gSaveContext.infTable[12] & 0x40) ? 0x7022 : 0x7021); + return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x704A : (GET_INFTABLE(INFTABLE_C6) ? 0x7022 : 0x7021); case ENHY_TYPE_BJI_7: if (globalCtx->sceneNum == SCENE_KAKARIKO) { return 0x5088; } else if (globalCtx->sceneNum == SCENE_SPOT01) { return 0x5087; } else { - return (gSaveContext.eventChkInf[8] & 1) ? 0x704D - : ((gSaveContext.infTable[12] & 0x80) ? 0x7028 : 0x7027); + return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x704D : (GET_INFTABLE(INFTABLE_C7) ? 0x7028 : 0x7027); } case ENHY_TYPE_CNE_8: - if (gSaveContext.eventChkInf[8] & 1) { - return (gSaveContext.infTable[12] & 0x200) ? 0x701E : 0x7048; + if (GET_EVENTCHKINF(EVENTCHKINF_80)) { + return GET_INFTABLE(INFTABLE_C9) ? 0x701E : 0x7048; } else { - return (gSaveContext.infTable[12] & 0x100) ? 0x701E : 0x701D; + return GET_INFTABLE(INFTABLE_C8) ? 0x701E : 0x701D; } case ENHY_TYPE_BOJ_9: if (globalCtx->sceneNum == SCENE_KAKARIKO) { - return (gSaveContext.eventChkInf[10] & 0x400) ? 0x5082 : 0x5081; + return GET_EVENTCHKINF(EVENTCHKINF_AA) ? 0x5082 : 0x5081; } else if (globalCtx->sceneNum == SCENE_SPOT01) { return CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) ? 0x5080 : 0x507F; } else { - return (gSaveContext.eventChkInf[8] & 1) ? 0x7049 - : ((gSaveContext.infTable[12] & 0x400) ? 0x7020 : 0x701F); + return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x7049 : (GET_INFTABLE(INFTABLE_CA) ? 0x7020 : 0x701F); } case ENHY_TYPE_BOJ_10: if (globalCtx->sceneNum == SCENE_LABO) { - return (gSaveContext.eventChkInf[10] & 0x400) ? 0x507E : 0x507D; + return GET_EVENTCHKINF(EVENTCHKINF_AA) ? 0x507E : 0x507D; } else if (globalCtx->sceneNum == SCENE_SPOT01) { return CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) ? 0x507C : 0x507B; } else { - return (gSaveContext.eventChkInf[8] & 1) ? 0x7046 - : ((gSaveContext.infTable[12] & 0x2000) ? 0x7019 : 0x7018); + return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x7046 : (GET_INFTABLE(INFTABLE_CD) ? 0x7019 : 0x7018); } case ENHY_TYPE_CNE_11: - return (gSaveContext.infTable[8] & 0x800) ? ((gSaveContext.infTable[12] & 0x1000) ? 0x7014 : 0x70A4) - : 0x7014; + return GET_INFTABLE(INFTABLE_8B) ? (GET_INFTABLE(INFTABLE_CC) ? 0x7014 : 0x70A4) : 0x7014; case ENHY_TYPE_BOJ_12: if (globalCtx->sceneNum == SCENE_SPOT01) { return !IS_DAY ? 0x5084 : 0x5083; } else { - return (gSaveContext.eventChkInf[8] & 1) ? 0x7044 : 0x7015; + return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x7044 : 0x7015; } case ENHY_TYPE_AHG_13: return 0x7055; @@ -528,20 +524,20 @@ u16 func_80A6F810(GlobalContext* globalCtx, Actor* thisx) { case ENHY_TYPE_AHG_17: if (!LINK_IS_ADULT) { if (IS_DAY) { - return (gSaveContext.infTable[22] & 1) ? 0x5058 : 0x5057; + return GET_INFTABLE(INFTABLE_160) ? 0x5058 : 0x5057; } else { - return (gSaveContext.infTable[22] & 2) ? 0x505A : 0x5059; + return GET_INFTABLE(INFTABLE_161) ? 0x505A : 0x5059; } } else if (IS_DAY) { - return (gSaveContext.infTable[22] & 4) ? 0x505C : 0x505B; + return GET_INFTABLE(INFTABLE_162) ? 0x505C : 0x505B; } else { return 0x5058; } case ENHY_TYPE_BOB_18: if (!LINK_IS_ADULT) { - return (gSaveContext.eventChkInf[8] & 1) ? 0x505F : ((gSaveContext.infTable[22] & 8) ? 0x505E : 0x505D); + return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x505F : (GET_INFTABLE(INFTABLE_163) ? 0x505E : 0x505D); } else { - return (this->unk_330 & 0x800) ? 0x5062 : ((gSaveContext.infTable[22] & 0x10) ? 0x5061 : 0x5060); + return (this->unk_330 & EVENTCHKINF_6B_MASK) ? 0x5062 : (GET_INFTABLE(INFTABLE_164) ? 0x5061 : 0x5060); } case ENHY_TYPE_BJI_19: return 0x7120; @@ -599,67 +595,67 @@ s16 func_80A70058(GlobalContext* globalCtx, Actor* thisx) { Player_UpdateBottleHeld(globalCtx, GET_PLAYER(globalCtx), ITEM_BOTTLE, PLAYER_AP_BOTTLE); break; case 0x7016: - gSaveContext.infTable[12] |= 1; + SET_INFTABLE(INFTABLE_C0); break; case 0x7045: - gSaveContext.infTable[12] |= 2; + SET_INFTABLE(INFTABLE_C1); break; case 0x701B: - gSaveContext.infTable[12] |= 4; + SET_INFTABLE(INFTABLE_C2); break; case 0x7047: - gSaveContext.infTable[12] |= 8; + SET_INFTABLE(INFTABLE_C3); break; case 0x70EB: - gSaveContext.infTable[12] |= 0x10; + SET_INFTABLE(INFTABLE_C4); break; case 0x7023: - gSaveContext.infTable[12] |= 0x20; + SET_INFTABLE(INFTABLE_C5); break; case 0x7021: - gSaveContext.infTable[12] |= 0x40; + SET_INFTABLE(INFTABLE_C6); break; case 0x7027: - gSaveContext.infTable[12] |= 0x80; + SET_INFTABLE(INFTABLE_C7); break; case 0x701D: - gSaveContext.infTable[12] |= 0x100; + SET_INFTABLE(INFTABLE_C8); break; case 0x7048: - gSaveContext.infTable[12] |= 0x200; + SET_INFTABLE(INFTABLE_C9); break; case 0x701F: - gSaveContext.infTable[12] |= 0x400; + SET_INFTABLE(INFTABLE_CA); break; case 0x7018: - gSaveContext.infTable[12] |= 0x2000; + SET_INFTABLE(INFTABLE_CD); break; case 0x70A4: - gSaveContext.infTable[12] |= 0x1000; + SET_INFTABLE(INFTABLE_CC); break; case 0x5057: - gSaveContext.infTable[22] |= 1; + SET_INFTABLE(INFTABLE_160); break; case 0x5059: - gSaveContext.infTable[22] |= 2; + SET_INFTABLE(INFTABLE_161); break; case 0x505B: - gSaveContext.infTable[22] |= 4; + SET_INFTABLE(INFTABLE_162); break; case 0x505D: - gSaveContext.infTable[22] |= 8; + SET_INFTABLE(INFTABLE_163); break; case 0x5060: - gSaveContext.infTable[22] |= 0x10; + SET_INFTABLE(INFTABLE_164); break; case 0x508B: - gSaveContext.infTable[12] |= 0x800; + SET_INFTABLE(INFTABLE_CB); break; case 0x709E: gSaveContext.dogParams = 0; break; case 0x709F: - func_80A6F7CC(this, globalCtx, (gSaveContext.infTable[25] & 2) ? GI_RUPEE_BLUE : GI_HEART_PIECE); + func_80A6F7CC(this, globalCtx, GET_INFTABLE(INFTABLE_191) ? GI_RUPEE_BLUE : GI_HEART_PIECE); this->actionFunc = func_80A714C4; break; } @@ -854,7 +850,7 @@ s32 EnHy_ShouldSpawn(EnHy* this, GlobalContext* globalCtx) { return true; } else if (IS_NIGHT) { return false; - } else if ((gSaveContext.eventChkInf[8] & 1) && !(gSaveContext.eventChkInf[4] & 0x20)) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_80) && !GET_EVENTCHKINF(EVENTCHKINF_45)) { return false; } else { return true; @@ -913,7 +909,7 @@ void EnHy_InitImpl(EnHy* this, GlobalContext* globalCtx) { } if (globalCtx->sceneNum == SCENE_KAKARIKO) { - this->unk_330 = gSaveContext.eventChkInf[6]; + this->unk_330 = gSaveContext.eventChkInf[EVENTCHKINF_6B_INDEX]; } EnHy_InitSetProperties(this); @@ -970,7 +966,7 @@ void func_80A710F8(EnHy* this, GlobalContext* globalCtx) { if (this->skelAnime.animation != &gObjOsAnim_0BFC) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENHY_ANIM_26); } - } else if (gSaveContext.eventInf[3] & 1) { + } else if (GET_EVENTINF(EVENTINF_30)) { if (this->skelAnime.animation != &gObjOsAnim_0FE4) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENHY_ANIM_25); } @@ -1061,7 +1057,7 @@ void func_80A71530(EnHy* this, GlobalContext* globalCtx) { case GI_HEART_PIECE: gSaveContext.dogParams = 0; gSaveContext.dogIsLost = false; - gSaveContext.infTable[25] |= 2; + SET_INFTABLE(INFTABLE_191); break; case GI_RUPEE_BLUE: Rupees_ChangeBy(5); diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.c b/src/overlays/actors/ovl_En_Ik/z_en_ik.c index a53454b6ac..5e7df677f0 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c @@ -1400,7 +1400,7 @@ void EnIk_Draw(Actor* thisx, GlobalContext* globalCtx) { void func_80A780D0(EnIk* this, GlobalContext* globalCtx) { if (this->actor.params == 0) { - if (!(gSaveContext.eventChkInf[3] & 0x800)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_3B)) { this->actor.update = EnIk_Update; this->actor.draw = EnIk_Draw; Actor_SetScale(&this->actor, 0.01f); @@ -1416,7 +1416,7 @@ void func_80A78160(EnIk* this, GlobalContext* globalCtx) { this->actor.update = func_80A75FA0; this->actor.draw = func_80A76798; this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2; - gSaveContext.eventChkInf[3] |= 0x800; + SET_EVENTCHKINF(EVENTCHKINF_3B); Actor_SetScale(&this->actor, 0.012f); func_80A7489C(this); } @@ -1430,7 +1430,7 @@ void func_80A781CC(Actor* thisx, GlobalContext* globalCtx) { Cutscene_SetSegment(globalCtx, gSpiritBossNabooruKnuckleDefeatCs); gSaveContext.cutsceneTrigger = 1; Actor_SetScale(&this->actor, 0.01f); - gSaveContext.eventChkInf[3] |= 0x1000; + SET_EVENTCHKINF(EVENTCHKINF_3C); func_80A7735C(this, globalCtx); } } @@ -1439,7 +1439,7 @@ void EnIk_Init(Actor* thisx, GlobalContext* globalCtx) { EnIk* this = (EnIk*)thisx; s32 flag = this->actor.params & 0xFF00; - if (((this->actor.params & 0xFF) == 0 && (gSaveContext.eventChkInf[3] & 0x1000)) || + if (((this->actor.params & 0xFF) == 0 && GET_EVENTCHKINF(EVENTCHKINF_3C)) || (flag != 0 && Flags_GetSwitch(globalCtx, flag >> 8))) { Actor_Kill(&this->actor); } else { 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 a28089997b..a9cc9c04b1 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -110,14 +110,14 @@ static Gfx* sAdultEraDLs[] = { }; u16 func_80A78FB0(GlobalContext* globalCtx) { - if (gSaveContext.eventChkInf[1] & 0x10) { - if (gSaveContext.infTable[9] & 0x80) { + if (GET_EVENTCHKINF(EVENTCHKINF_14)) { + if (GET_INFTABLE(INFTABLE_97)) { return 0x2046; } else { return 0x2045; } } - if (gSaveContext.infTable[9] & 0x10) { + if (GET_INFTABLE(INFTABLE_94)) { return 0x2040; } else { return 0x203F; @@ -131,7 +131,7 @@ u16 func_80A79010(GlobalContext* globalCtx) { if (temp_v0 != 0) { return temp_v0; } - if (gSaveContext.eventChkInf[1] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_18)) { if (IS_DAY) { return 0x205F; } else { @@ -141,12 +141,13 @@ u16 func_80A79010(GlobalContext* globalCtx) { if (IS_NIGHT) { return 0x204E; } - switch (gSaveContext.eventInf[0] & 0xF) { - case 1: + switch (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) { + case EVENTINF_00_MASK: if (!(player->stateFlags1 & PLAYER_STATE1_23)) { return 0x2036; - } else if (gSaveContext.eventChkInf[1] & 0x800) { - if (gSaveContext.infTable[10] & 4) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_1B)) { + if (GET_INFTABLE(INFTABLE_A2)) { return 0x2036; } else { return 0x2038; @@ -154,22 +155,22 @@ u16 func_80A79010(GlobalContext* globalCtx) { } else { return 0x2037; } - case 3: - if ((gSaveContext.eventInf[0] & 0x40) || (gSaveContext.eventInf[0] & 0x20)) { + case EVENTINF_00_MASK | EVENTINF_01_MASK: + if (GET_EVENTINF(EVENTINF_06) || GET_EVENTINF(EVENTINF_05)) { return 0x203E; } else { return 0x203D; } - case 4: + case EVENTINF_02_MASK: return 0x203A; - case 5: - case 6: + case EVENTINF_00_MASK | EVENTINF_02_MASK: + case EVENTINF_01_MASK | EVENTINF_02_MASK: return 0x203C; - case 7: + case EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK: return 0x205B; - case 2: + case EVENTINF_01_MASK: default: - if (gSaveContext.infTable[0x9] & 0x400) { + if (GET_INFTABLE(INFTABLE_9A)) { return 0x2031; } else { return 0x2030; @@ -195,14 +196,14 @@ s16 func_80A791CC(GlobalContext* globalCtx, Actor* thisx) { switch (thisx->textId) { case 0x2045: - gSaveContext.infTable[9] |= 0x80; + SET_INFTABLE(INFTABLE_97); break; case 0x203E: ret = 2; break; case 0x203F: - gSaveContext.eventChkInf[1] |= 2; - gSaveContext.infTable[9] |= 0x10; + SET_EVENTCHKINF(EVENTCHKINF_11); + SET_INFTABLE(INFTABLE_94); break; } return ret; @@ -223,7 +224,7 @@ s16 func_80A7924C(GlobalContext* globalCtx, Actor* thisx) { this->actor.textId = 0x2034; } Message_ContinueTextbox(globalCtx, this->actor.textId); - gSaveContext.infTable[9] |= 0x400; + SET_INFTABLE(INFTABLE_9A); break; case 0x2034: if (globalCtx->msgCtx.choiceIndex == 1) { @@ -249,7 +250,7 @@ s16 func_80A7924C(GlobalContext* globalCtx, Actor* thisx) { } else { this->actor.textId = 0x2039; Message_ContinueTextbox(globalCtx, this->actor.textId); - gSaveContext.infTable[10] |= 4; + SET_INFTABLE(INFTABLE_A2); } break; case 0x205B: @@ -257,9 +258,10 @@ s16 func_80A7924C(GlobalContext* globalCtx, Actor* thisx) { sp18 = 2; } else { Message_ContinueTextbox(globalCtx, this->actor.textId = 0x2039); - gSaveContext.eventInf[0] &= ~0xF; - gSaveContext.eventInf[0] &= ~0x20; - gSaveContext.eventInf[0] &= ~0x40; + gSaveContext.eventInf[EVENTINF_0X_INDEX] &= + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK); + CLEAR_EVENTINF(EVENTINF_05); + CLEAR_EVENTINF(EVENTINF_06); this->actionFunc = func_80A7A4C8; } break; @@ -364,34 +366,34 @@ s32 func_80A7975C(EnIn* this, GlobalContext* globalCtx) { s32 func_80A79830(EnIn* this, GlobalContext* globalCtx) { if (globalCtx->sceneNum == SCENE_SPOT20 && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 1 && - !(gSaveContext.eventChkInf[1] & 0x10)) { + !GET_EVENTCHKINF(EVENTCHKINF_14)) { return 1; } if (globalCtx->sceneNum == SCENE_MALON_STABLE && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 3 && - (gSaveContext.eventChkInf[1] & 0x10)) { + GET_EVENTCHKINF(EVENTCHKINF_14)) { return 1; } if (globalCtx->sceneNum == SCENE_MALON_STABLE && LINK_IS_CHILD && IS_NIGHT) { - if ((this->actor.shape.rot.z == 2) && !(gSaveContext.eventChkInf[1] & 0x10)) { + if ((this->actor.shape.rot.z == 2) && !GET_EVENTCHKINF(EVENTCHKINF_14)) { return 1; } - if ((this->actor.shape.rot.z == 4) && (gSaveContext.eventChkInf[1] & 0x10)) { + if ((this->actor.shape.rot.z == 4) && GET_EVENTCHKINF(EVENTCHKINF_14)) { return 1; } } if (globalCtx->sceneNum == SCENE_SPOT20 && LINK_IS_ADULT && IS_DAY) { - if ((this->actor.shape.rot.z == 5) && !(gSaveContext.eventChkInf[1] & 0x100)) { + if ((this->actor.shape.rot.z == 5) && !GET_EVENTCHKINF(EVENTCHKINF_18)) { return 2; } - if ((this->actor.shape.rot.z == 7) && (gSaveContext.eventChkInf[1] & 0x100)) { + if ((this->actor.shape.rot.z == 7) && GET_EVENTCHKINF(EVENTCHKINF_18)) { return 4; } } if (globalCtx->sceneNum == SCENE_SOUKO && LINK_IS_ADULT && IS_NIGHT) { - if (this->actor.shape.rot.z == 6 && !(gSaveContext.eventChkInf[1] & 0x100)) { + if (this->actor.shape.rot.z == 6 && !GET_EVENTCHKINF(EVENTCHKINF_18)) { return 3; } - if (this->actor.shape.rot.z == 8 && (gSaveContext.eventChkInf[1] & 0x100)) { + if (this->actor.shape.rot.z == 8 && GET_EVENTCHKINF(EVENTCHKINF_18)) { return 3; } } @@ -490,7 +492,7 @@ void EnIn_Init(Actor* thisx, GlobalContext* globalCtx) { respawnPos = respawn->pos; // hardcoded coords for lon lon entrance if (D_80A7B998 == 0 && respawnPos.x == 1107.0f && respawnPos.y == 0.0f && respawnPos.z == -3740.0f) { - gSaveContext.eventInf[0] = 0; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = 0; D_80A7B998 = 1; } this->actionFunc = func_80A79FB0; @@ -514,7 +516,7 @@ void func_80A79FB0(EnIn* this, GlobalContext* globalCtx) { Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->actor.colChkInfo, NULL, &sColChkInfoInit); if (func_80A7975C(this, globalCtx)) { - gSaveContext.eventInf[0] &= ~0x8000; + CLEAR_EVENTINF(EVENTINF_0F); return; } Actor_SetScale(&this->actor, 0.01f); @@ -530,7 +532,7 @@ void func_80A79FB0(EnIn* this, GlobalContext* globalCtx) { case 3: EnIn_ChangeAnim(this, ENIN_ANIM_7); this->actionFunc = func_80A7A4BC; - if (!(gSaveContext.eventChkInf[1] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_18)) { this->actor.params = 5; } break; @@ -543,23 +545,24 @@ void func_80A79FB0(EnIn* this, GlobalContext* globalCtx) { Actor_Kill(&this->actor); break; default: - switch (gSaveContext.eventInf[0] & 0xF) { + switch (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) { case 0: - case 2: - case 3: - case 4: - case 7: + case EVENTINF_01_MASK: + case EVENTINF_00_MASK | EVENTINF_01_MASK: + case EVENTINF_02_MASK: + case EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK: if (this->actor.params == 2) { sp3C = 1; } break; - case 1: + case EVENTINF_00_MASK: if (this->actor.params == 3) { sp3C = 1; } break; - case 5: - case 6: + case EVENTINF_00_MASK | EVENTINF_02_MASK: + case EVENTINF_01_MASK | EVENTINF_02_MASK: if (this->actor.params == 4) { sp3C = 1; } @@ -569,36 +572,37 @@ void func_80A79FB0(EnIn* this, GlobalContext* globalCtx) { Actor_Kill(&this->actor); return; } - switch (gSaveContext.eventInf[0] & 0xF) { + switch (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) { case 0: - case 2: + case EVENTINF_01_MASK: EnIn_ChangeAnim(this, ENIN_ANIM_2); this->actionFunc = func_80A7A4C8; - gSaveContext.eventInf[0] = 0; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = 0; break; - case 1: + case EVENTINF_00_MASK: this->actor.targetMode = 3; EnIn_ChangeAnim(this, ENIN_ANIM_2); this->actionFunc = func_80A7A568; func_80088B34(0x3C); break; - case 3: + case EVENTINF_00_MASK | EVENTINF_01_MASK: EnIn_ChangeAnim(this, ENIN_ANIM_4); this->actionFunc = func_80A7A770; break; - case 4: + case EVENTINF_02_MASK: EnIn_ChangeAnim(this, ENIN_ANIM_6); this->unk_1EC = 8; this->actionFunc = func_80A7A940; break; - case 5: - case 6: + case EVENTINF_00_MASK | EVENTINF_02_MASK: + case EVENTINF_01_MASK | EVENTINF_02_MASK: this->actor.targetMode = 3; EnIn_ChangeAnim(this, ENIN_ANIM_6); this->unk_1EC = 8; this->actionFunc = func_80A7AA40; break; - case 7: + case EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK: EnIn_ChangeAnim(this, ENIN_ANIM_2); this->actionFunc = func_80A7A848; break; @@ -639,9 +643,13 @@ void func_80A7A4BC(EnIn* this, GlobalContext* globalCtx) { void func_80A7A4C8(EnIn* this, GlobalContext* globalCtx) { if (this->unk_308.unk_00 == 2) { func_80A79BAC(this, globalCtx, 1, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST)); - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x000F) | 0x0001; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; - gSaveContext.infTable[10] &= ~4; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + EVENTINF_00_MASK; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; + CLEAR_INFTABLE(INFTABLE_A2); Environment_ForcePlaySequence(NA_BGM_HORSE); globalCtx->msgCtx.stateTimer = 0; globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; @@ -654,8 +662,8 @@ void func_80A7A568(EnIn* this, GlobalContext* globalCtx) { s32 phi_a2; s32 transitionType; - if (!(gSaveContext.eventChkInf[1] & 0x800) && (player->stateFlags1 & PLAYER_STATE1_23)) { - gSaveContext.infTable[10] |= 0x800; + if (!GET_EVENTCHKINF(EVENTCHKINF_1B) && (player->stateFlags1 & PLAYER_STATE1_23)) { + SET_INFTABLE(INFTABLE_AB); } if (gSaveContext.timer1State == 10) { Audio_PlaySoundGeneral(NA_SE_SY_FOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -671,27 +679,33 @@ void func_80A7A568(EnIn* this, GlobalContext* globalCtx) { this->unk_308.unk_00 = 0; return; } - gSaveContext.eventInf[0] = - (gSaveContext.eventInf[0] & ~0x10) | (((EnHorse*)GET_PLAYER(globalCtx)->rideActor)->type << 4); - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 2; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_04_MASK) | + (((EnHorse*)GET_PLAYER(globalCtx)->rideActor)->type << EVENTINF_04_SHIFT); + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + EVENTINF_01_MASK; phi_a2 = 2; transitionType = TRANS_TYPE_FADE_BLACK; } else { Audio_PlaySoundGeneral(NA_SE_SY_FOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - if (!(gSaveContext.eventChkInf[1] & 0x800)) { - if (gSaveContext.infTable[10] & 0x800) { - gSaveContext.eventChkInf[1] |= 0x800; - gSaveContext.infTable[10] |= 0x800; + if (!GET_EVENTCHKINF(EVENTCHKINF_1B)) { + if (GET_INFTABLE(INFTABLE_AB)) { + SET_EVENTCHKINF(EVENTCHKINF_1B); + SET_INFTABLE(INFTABLE_AB); } } - gSaveContext.eventInf[0] &= ~0xF; + gSaveContext.eventInf[EVENTINF_0X_INDEX] &= + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK); phi_a2 = 0; transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST); } func_80A79BAC(this, globalCtx, phi_a2, transitionType); globalCtx->msgCtx.stateTimer = 0; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; this->unk_308.unk_00 = 0; } @@ -705,10 +719,14 @@ void func_80A7A770(EnIn* this, GlobalContext* globalCtx) { this->actor.flags &= ~ACTOR_FLAG_16; EnIn_ChangeAnim(this, ENIN_ANIM_3); this->actionFunc = func_80A7A848; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x0F) | 7; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK); this->unk_308.unk_00 = 0; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & 0xFFFF) | 0x20; - if (!(gSaveContext.eventInf[0] & 0x40)) { + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & 0xFFFF) | EVENTINF_05_MASK; + if (!GET_EVENTINF(EVENTINF_06)) { globalCtx->msgCtx.stateTimer = 4; globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; } @@ -718,18 +736,23 @@ void func_80A7A770(EnIn* this, GlobalContext* globalCtx) { void func_80A7A848(EnIn* this, GlobalContext* globalCtx) { if (this->unk_308.unk_00 == 2) { if ((globalCtx->msgCtx.choiceIndex == 0 && gSaveContext.rupees < 50) || globalCtx->msgCtx.choiceIndex == 1) { - gSaveContext.eventInf[0] &= ~0xF; + gSaveContext.eventInf[EVENTINF_0X_INDEX] &= + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK); this->actionFunc = func_80A7A4C8; } else { func_80A79BAC(this, globalCtx, 2, TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST)); - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 2; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + EVENTINF_01_MASK; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; globalCtx->msgCtx.stateTimer = 0; globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; } this->unk_308.unk_00 = 0; - gSaveContext.eventInf[0] &= ~0x20; - gSaveContext.eventInf[0] &= ~0x40; + CLEAR_EVENTINF(EVENTINF_05); + CLEAR_EVENTINF(EVENTINF_06); } } @@ -747,12 +770,17 @@ void func_80A7A940(EnIn* this, GlobalContext* globalCtx) { if (this->unk_308.unk_00 == 2) { this->actor.flags &= ~ACTOR_FLAG_16; func_80A79BAC(this, globalCtx, 2, TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST)); - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x000F) | 0x0002; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) | + EVENTINF_01_MASK; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; globalCtx->msgCtx.stateTimer = 0; globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; this->unk_308.unk_00 = 0; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & 0xFFFF) | 0x40; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & 0xFFFF) | EVENTINF_06_MASK; } } @@ -892,13 +920,16 @@ void func_80A7B024(EnIn* this, GlobalContext* globalCtx) { player->actor.freezeTimer = 10; if (this->unk_308.unk_00 == 2) { if (1) {} - if (!(gSaveContext.eventChkInf[1] & 0x800) && (gSaveContext.infTable[10] & 0x800)) { - gSaveContext.eventChkInf[1] |= 0x800; - gSaveContext.infTable[10] |= 0x800; + if (!GET_EVENTCHKINF(EVENTCHKINF_1B) && GET_INFTABLE(INFTABLE_AB)) { + SET_EVENTCHKINF(EVENTCHKINF_1B); + SET_INFTABLE(INFTABLE_AB); } func_80A79BAC(this, globalCtx, 0, TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST)); - gSaveContext.eventInf[0] = gSaveContext.eventInf[0] & ~0xF; - gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + gSaveContext.eventInf[EVENTINF_0X_INDEX] & + ~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK); + gSaveContext.eventInf[EVENTINF_0X_INDEX] = + (gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK; globalCtx->msgCtx.stateTimer = 4; globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; this->unk_308.unk_00 = 0; @@ -918,7 +949,10 @@ void EnIn_Update(Actor* thisx, GlobalContext* globalCtx) { CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &collider->base); if (this->actionFunc != func_80A7A304) { SkelAnime_Update(&this->skelAnime); - if (this->skelAnime.animation == &object_in_Anim_001BE0 && ((gSaveContext.eventInf[0] & 0xF) != 6)) { + if (this->skelAnime.animation == &object_in_Anim_001BE0 && + ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) != + (EVENTINF_01_MASK | EVENTINF_02_MASK))) { func_80A79690(&this->skelAnime, this, globalCtx); } Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, UPDBGCHECKINFO_FLAG_2); diff --git a/src/overlays/actors/ovl_En_Jj/z_en_jj.c b/src/overlays/actors/ovl_En_Jj/z_en_jj.c index d26dae6298..6e13f4aac6 100644 --- a/src/overlays/actors/ovl_En_Jj/z_en_jj.c +++ b/src/overlays/actors/ovl_En_Jj/z_en_jj.c @@ -96,7 +96,7 @@ void EnJj_Init(Actor* thisx, GlobalContext* globalCtx2) { this->extraBlinkCounter = 0; this->extraBlinkTotal = 0; - if (gSaveContext.eventChkInf[3] & 0x400) { // Fish given + if (GET_EVENTCHKINF(EVENTCHKINF_3A)) { // Fish given EnJj_SetupAction(this, EnJj_WaitToOpenMouth); } else { EnJj_SetupAction(this, EnJj_WaitForFish); @@ -219,7 +219,7 @@ void EnJj_BeginCutscene(EnJj* this, GlobalContext* globalCtx) { gSaveContext.cutsceneTrigger = 1; func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, bodyCollisionActor->bgId); func_8005B1A4(GET_ACTIVE_CAM(globalCtx)); - gSaveContext.eventChkInf[3] |= 0x400; + SET_EVENTCHKINF(EVENTCHKINF_3A); func_80078884(NA_SE_SY_CORRECT_CHIME); } } diff --git a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c index 5c6f126907..a7b2abc22c 100644 --- a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c +++ b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c @@ -135,7 +135,7 @@ void func_80A90264(EnKakasi2* this, GlobalContext* globalCtx) { this->actionFunc = func_80A904D8; } else if ((this->actor.xzDistToPlayer < this->maxSpawnDistance.x) && (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < this->maxSpawnDistance.y) && - (gSaveContext.eventChkInf[9] & 0x1000)) { + GET_EVENTCHKINF(EVENTCHKINF_9C)) { this->unk_194 = 0; if (globalCtx->msgCtx.ocarinaMode == OCARINA_MODE_0B) { diff --git a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c index 5ddd2daf78..e9db2b2b6e 100644 --- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c +++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c @@ -387,8 +387,8 @@ void func_80A91A90(EnKakasi3* this, GlobalContext* globalCtx) { if (this->dialogState == Message_GetState(&globalCtx->msgCtx) && Message_ShouldAdvance(globalCtx)) { if (this->unk_195) { - if (!(gSaveContext.eventChkInf[9] & 0x1000)) { - gSaveContext.eventChkInf[9] |= 0x1000; + if (!GET_EVENTCHKINF(EVENTCHKINF_9C)) { + SET_EVENTCHKINF(EVENTCHKINF_9C); } } if (globalCtx->cameraPtrs[this->camId] == NULL) { diff --git a/src/overlays/actors/ovl_En_Ko/z_en_ko.c b/src/overlays/actors/ovl_En_Ko/z_en_ko.c index cbc1f13097..460e00ced7 100644 --- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c +++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c @@ -285,15 +285,15 @@ u16 func_80A96FD0(GlobalContext* globalCtx, Actor* thisx) { EnKo* this = (EnKo*)thisx; switch (ENKO_TYPE) { case ENKO_TYPE_CHILD_FADO: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x10DA; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { return 0x10D9; } - return (gSaveContext.infTable[11] & 0x80) ? 0x10D8 : 0x10D7; + return GET_INFTABLE(INFTABLE_B7) ? 0x10D8 : 0x10D7; case ENKO_TYPE_CHILD_0: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x1025; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { @@ -301,62 +301,62 @@ u16 func_80A96FD0(GlobalContext* globalCtx, Actor* thisx) { } return 0x1004; case ENKO_TYPE_CHILD_1: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x1023; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { return 0x1043; } - if (gSaveContext.infTable[1] & 0x4000) { + if (GET_INFTABLE(INFTABLE_1E)) { return 0x1006; } return 0x1005; case ENKO_TYPE_CHILD_2: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x1022; } return 0x1007; case ENKO_TYPE_CHILD_3: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x1021; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { return 0x1044; } - if (gSaveContext.infTable[2] & 4) { + if (GET_INFTABLE(INFTABLE_22)) { return 0x1009; } return 0x1008; case ENKO_TYPE_CHILD_4: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x1097; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { return 0x1042; } - if (gSaveContext.infTable[2] & 0x10) { + if (GET_INFTABLE(INFTABLE_24)) { return 0x100B; } return 0x100A; case ENKO_TYPE_CHILD_5: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x10B0; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { return 0x1043; } - if (gSaveContext.infTable[2] & 0x40) { + if (GET_INFTABLE(INFTABLE_26)) { return 0x100D; } return 0x100C; case ENKO_TYPE_CHILD_6: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x10B5; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { return 0x1043; } - if (gSaveContext.infTable[2] & 0x100) { + if (GET_INFTABLE(INFTABLE_28)) { return 0x1019; } return 0x100E; @@ -392,7 +392,7 @@ u16 func_80A97338(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) { return 0x1072; } - if (gSaveContext.infTable[4] & 2) { + if (GET_INFTABLE(INFTABLE_41)) { return 0x1056; } return 0x1055; @@ -405,7 +405,7 @@ u16 func_80A97338(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) { return 0x1074; } - if (gSaveContext.infTable[4] & 0x80) { + if (GET_INFTABLE(INFTABLE_47)) { return 0x105E; } return 0x105D; @@ -425,7 +425,7 @@ u16 func_80A97338(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) { return 0x1077; } - if (gSaveContext.infTable[5] & 2) { + if (GET_INFTABLE(INFTABLE_51)) { return 0x1059; } return 0x1058; @@ -438,7 +438,7 @@ u16 func_80A97338(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) { return 0x107A; } - if (gSaveContext.infTable[5] & 0x200) { + if (GET_INFTABLE(INFTABLE_59)) { return 0x1050; } return 0x104F; @@ -456,7 +456,7 @@ u16 func_80A97338(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST)) { return 0x107C; } - if (gSaveContext.infTable[6] & 2) { + if (GET_INFTABLE(INFTABLE_61)) { return 0x1054; } return 0x1053; @@ -497,37 +497,37 @@ s16 func_80A97738(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: switch (this->actor.textId) { case 0x1005: - gSaveContext.infTable[1] |= 0x4000; + SET_INFTABLE(INFTABLE_1E); break; case 0x1008: - gSaveContext.infTable[2] |= 0x4; + SET_INFTABLE(INFTABLE_22); break; case 0x100A: - gSaveContext.infTable[2] |= 0x10; + SET_INFTABLE(INFTABLE_24); break; case 0x100C: - gSaveContext.infTable[2] |= 0x40; + SET_INFTABLE(INFTABLE_26); break; case 0x100E: - gSaveContext.infTable[2] |= 0x100; + SET_INFTABLE(INFTABLE_28); break; case 0x104F: - gSaveContext.infTable[5] |= 0x200; + SET_INFTABLE(INFTABLE_59); break; case 0x1053: - gSaveContext.infTable[6] |= 2; + SET_INFTABLE(INFTABLE_61); break; case 0x1055: - gSaveContext.infTable[4] |= 2; + SET_INFTABLE(INFTABLE_41); break; case 0x1058: - gSaveContext.infTable[5] |= 2; + SET_INFTABLE(INFTABLE_51); break; case 0x105D: - gSaveContext.infTable[4] |= 0x80; + SET_INFTABLE(INFTABLE_47); break; case 0x10D7: - gSaveContext.infTable[11] |= 0x80; + SET_INFTABLE(INFTABLE_B7); break; case 0x10BA: return 1; @@ -562,7 +562,7 @@ s16 func_80A97738(GlobalContext* globalCtx, Actor* thisx) { Message_ContinueTextbox(globalCtx, this->actor.textId); break; case 0x10B7: - gSaveContext.infTable[11] |= 0x1000; + SET_INFTABLE(INFTABLE_BC); case 0x10B8: this->actor.textId = (globalCtx->msgCtx.choiceIndex == 0) ? 0x10BA : 0x10B9; @@ -584,7 +584,7 @@ s32 EnKo_GetForestQuestState(EnKo* this) { if (!LINK_IS_ADULT) { // Obtained Zelda's Letter - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return ENKO_FQS_CHILD_SARIA; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { @@ -951,7 +951,7 @@ void func_80A9877C(EnKo* this, GlobalContext* globalCtx) { this->actor.textId = INV_CONTENT(ITEM_TRADE_ADULT) > ITEM_ODD_POTION ? 0x10B9 : 0x10DF; if (func_8002F368(globalCtx) == ENKO_TYPE_CHILD_9) { - this->actor.textId = (gSaveContext.infTable[11] & 0x1000) ? 0x10B8 : 0x10B7; + this->actor.textId = GET_INFTABLE(INFTABLE_BC) ? 0x10B8 : 0x10B7; this->unk_210 = 0; } player->actor.textId = this->actor.textId; @@ -1060,7 +1060,7 @@ s32 EnKo_GetForestQuestState2(EnKo* this) { return CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST) ? ENKO_FQS_ADULT_SAVED : ENKO_FQS_ADULT_ENEMY; } if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { - return (gSaveContext.eventChkInf[4] & 1) ? ENKO_FQS_CHILD_SARIA : ENKO_FQS_CHILD_STONE; + return GET_EVENTCHKINF(EVENTCHKINF_40) ? ENKO_FQS_CHILD_SARIA : ENKO_FQS_CHILD_STONE; } return ENKO_FQS_CHILD_START; } @@ -1207,7 +1207,7 @@ void func_80A99560(EnKo* this, GlobalContext* globalCtx) { this->actor.textId = 0x10B9; Message_ContinueTextbox(globalCtx, this->actor.textId); this->unk_1E8.unk_00 = 1; - gSaveContext.itemGetInf[3] |= 2; + SET_ITEMGETINF(ITEMGETINF_31); this->actionFunc = func_80A99384; } } diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c index 05b8b0d042..ec6df9b612 100644 --- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -73,7 +73,7 @@ u16 EnKz_GetTextNoMaskChild(GlobalContext* globalCtx, EnKz* this) { if (CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) { return 0x402B; - } else if (gSaveContext.eventChkInf[3] & 8) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_33)) { return 0x401C; } else { player->exchangeItemId = EXCH_ITEM_LETTER_RUTO; @@ -85,7 +85,7 @@ u16 EnKz_GetTextNoMaskAdult(GlobalContext* globalCtx, EnKz* this) { Player* player = GET_PLAYER(globalCtx); if (INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_FROG) { - if (!(gSaveContext.infTable[19] & 0x200)) { + if (!GET_INFTABLE(INFTABLE_139)) { if (CHECK_OWNED_EQUIP(EQUIP_TUNIC, 2)) { return 0x401F; } else { @@ -124,14 +124,14 @@ s16 func_80A9C6C0(GlobalContext* globalCtx, Actor* thisx) { ret = 0; switch (this->actor.textId) { case 0x4012: - gSaveContext.infTable[19] |= 0x200; + SET_INFTABLE(INFTABLE_139); ret = 2; break; case 0x401B: ret = !Message_ShouldAdvance(globalCtx) ? 1 : 2; break; case 0x401F: - gSaveContext.infTable[19] |= 0x200; + SET_INFTABLE(INFTABLE_139); break; } break; @@ -236,7 +236,7 @@ void func_80A9CB18(EnKz* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); if (func_80A9C95C(globalCtx, this, &this->unk_1E0.unk_00, 340.0f, EnKz_GetText, func_80A9C6C0)) { - if ((this->actor.textId == 0x401A) && !(gSaveContext.eventChkInf[3] & 8)) { + if ((this->actor.textId == 0x401A) && !GET_EVENTCHKINF(EVENTCHKINF_33)) { if (func_8002F368(globalCtx) == EXCH_ITEM_LETTER_RUTO) { this->actor.textId = 0x401B; this->sfxPlayed = false; @@ -258,7 +258,7 @@ void func_80A9CB18(EnKz* this, GlobalContext* globalCtx) { } this->isTrading = false; - if (gSaveContext.infTable[19] & 0x200) { + if (GET_INFTABLE(INFTABLE_139)) { this->actor.textId = CHECK_QUEST_ITEM(QUEST_SONG_SERENADE) ? 0x4045 : 0x401A; player->actor.textId = this->actor.textId; } else { @@ -330,12 +330,12 @@ void EnKz_Init(Actor* thisx, GlobalContext* globalCtx) { this->unk_1E0.unk_00 = 0; Animation_ChangeByInfo(&this->skelanime, sAnimationInfo, ENKZ_ANIM_0); - if (gSaveContext.eventChkInf[3] & 8) { + if (GET_EVENTCHKINF(EVENTCHKINF_33)) { EnKz_SetMovedPos(this, globalCtx); } if (LINK_IS_ADULT) { - if (!(gSaveContext.infTable[19] & 0x100)) { + if (!GET_INFTABLE(INFTABLE_138)) { Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_BG_ICE_SHELTER, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 0x04FF); @@ -397,7 +397,7 @@ void EnKz_Mweep(EnKz* this, GlobalContext* globalCtx) { Animation_ChangeByInfo(&this->skelanime, sAnimationInfo, ENKZ_ANIM_1); Inventory_ReplaceItem(globalCtx, ITEM_LETTER_RUTO, ITEM_BOTTLE); EnKz_SetMovedPos(this, globalCtx); - gSaveContext.eventChkInf[3] |= 8; + SET_EVENTCHKINF(EVENTCHKINF_33); this->actor.speedXZ = 0.0; this->actionFunc = EnKz_StopMweep; } @@ -443,7 +443,7 @@ void EnKz_StartTimer(EnKz* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { if (INV_CONTENT(ITEM_TRADE_ADULT) == ITEM_FROG) { func_80088AA0(180); // start timer2 with 3 minutes - gSaveContext.eventInf[1] &= ~1; + CLEAR_EVENTINF(EVENTINF_10); } this->unk_1E0.unk_00 = 0; this->actionFunc = EnKz_Wait; @@ -454,8 +454,8 @@ void EnKz_Update(Actor* thisx, GlobalContext* globalCtx) { EnKz* this = (EnKz*)thisx; s32 pad; - if (LINK_IS_ADULT && !(gSaveContext.infTable[19] & 0x100)) { - gSaveContext.infTable[19] |= 0x100; + if (LINK_IS_ADULT && !GET_INFTABLE(INFTABLE_138)) { + SET_INFTABLE(INFTABLE_138); } Collider_UpdateCylinder(&this->actor, &this->collider); CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c index bce9d08ab8..46a40a7191 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c @@ -97,24 +97,24 @@ u16 EnMa1_GetText(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { return 0x204A; } - if (gSaveContext.eventChkInf[1] & 0x40) { + if (GET_EVENTCHKINF(EVENTCHKINF_16)) { return 0x2049; } - if (gSaveContext.eventChkInf[1] & 0x20) { - if ((gSaveContext.infTable[8] & 0x20)) { + if (GET_EVENTCHKINF(EVENTCHKINF_15)) { + if (GET_INFTABLE(INFTABLE_85)) { return 0x2049; } else { return 0x2048; } } - if (gSaveContext.eventChkInf[1] & 0x10) { + if (GET_EVENTCHKINF(EVENTCHKINF_14)) { return 0x2047; } - if (gSaveContext.eventChkInf[1] & 4) { + if (GET_EVENTCHKINF(EVENTCHKINF_12)) { return 0x2044; } - if (gSaveContext.infTable[8] & 0x10) { - if (gSaveContext.infTable[8] & 0x800) { + if (GET_INFTABLE(INFTABLE_84)) { + if (GET_INFTABLE(INFTABLE_8B)) { return 0x2043; } else { return 0x2042; @@ -130,23 +130,23 @@ s16 func_80AA0778(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: switch (thisx->textId) { case 0x2041: - gSaveContext.infTable[8] |= 0x10; - gSaveContext.eventChkInf[1] |= 1; + SET_INFTABLE(INFTABLE_84); + SET_EVENTCHKINF(EVENTCHKINF_10); ret = 0; break; case 0x2043: ret = 1; break; case 0x2047: - gSaveContext.eventChkInf[1] |= 0x20; + SET_EVENTCHKINF(EVENTCHKINF_15); ret = 0; break; case 0x2048: - gSaveContext.infTable[8] |= 0x20; + SET_INFTABLE(INFTABLE_85); ret = 0; break; case 0x2049: - gSaveContext.eventChkInf[1] |= 0x40; + SET_EVENTCHKINF(EVENTCHKINF_16); ret = 0; break; case 0x2061: @@ -188,24 +188,24 @@ s32 func_80AA08C4(EnMa1* this, GlobalContext* globalCtx) { return 0; } if (((globalCtx->sceneNum == SCENE_MARKET_NIGHT) || (globalCtx->sceneNum == SCENE_MARKET_DAY)) && - !(gSaveContext.eventChkInf[1] & 0x10) && !(gSaveContext.infTable[8] & 0x800)) { + !GET_EVENTCHKINF(EVENTCHKINF_14) && !GET_INFTABLE(INFTABLE_8B)) { return 1; } - if ((globalCtx->sceneNum == SCENE_SPOT15) && !(gSaveContext.eventChkInf[1] & 0x10)) { - if (gSaveContext.infTable[8] & 0x800) { + if ((globalCtx->sceneNum == SCENE_SPOT15) && !GET_EVENTCHKINF(EVENTCHKINF_14)) { + if (GET_INFTABLE(INFTABLE_8B)) { return 1; } else { - gSaveContext.infTable[8] |= 0x800; + SET_INFTABLE(INFTABLE_8B); return 0; } } - if ((globalCtx->sceneNum == SCENE_SOUKO) && IS_NIGHT && (gSaveContext.eventChkInf[1] & 0x10)) { + if ((globalCtx->sceneNum == SCENE_SOUKO) && IS_NIGHT && GET_EVENTCHKINF(EVENTCHKINF_14)) { return 1; } if (globalCtx->sceneNum != SCENE_SPOT20) { return 0; } - if ((this->actor.shape.rot.z == 3) && IS_DAY && (gSaveContext.eventChkInf[1] & 0x10)) { + if ((this->actor.shape.rot.z == 3) && IS_DAY && GET_EVENTCHKINF(EVENTCHKINF_14)) { return 1; } return 0; @@ -280,7 +280,7 @@ void EnMa1_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.targetMode = 6; this->unk_1E8.unk_00 = 0; - if (!(gSaveContext.eventChkInf[1] & 0x10) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_14) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { this->actionFunc = func_80AA0D88; EnMa1_ChangeAnim(this, ENMA1_ANIM_2); } else { @@ -307,9 +307,9 @@ void func_80AA0D88(EnMa1* this, GlobalContext* globalCtx) { } } - if ((globalCtx->sceneNum == SCENE_SPOT15) && (gSaveContext.eventChkInf[1] & 0x10)) { + if ((globalCtx->sceneNum == SCENE_SPOT15) && GET_EVENTCHKINF(EVENTCHKINF_14)) { Actor_Kill(&this->actor); - } else if (!(gSaveContext.eventChkInf[1] & 0x10) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { + } else if (!GET_EVENTCHKINF(EVENTCHKINF_14) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { if (this->unk_1E8.unk_00 == 2) { this->actionFunc = func_80AA0EA0; globalCtx->msgCtx.stateTimer = 4; @@ -331,7 +331,7 @@ void func_80AA0EFC(EnMa1* this, GlobalContext* globalCtx) { if (this->unk_1E8.unk_00 == 3) { this->unk_1E8.unk_00 = 0; this->actionFunc = func_80AA0D88; - gSaveContext.eventChkInf[1] |= 4; + SET_EVENTCHKINF(EVENTCHKINF_12); globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; } } @@ -349,7 +349,7 @@ void func_80AA0F44(EnMa1* this, GlobalContext* globalCtx) { } } - if (gSaveContext.eventChkInf[1] & 0x40) { + if (GET_EVENTCHKINF(EVENTCHKINF_16)) { if (player->stateFlags2 & PLAYER_STATE2_24) { player->stateFlags2 |= PLAYER_STATE2_25; player->unk_6A8 = &this->actor; diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c index 79e9c1693d..5a877aa653 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c @@ -74,13 +74,13 @@ u16 func_80AA19A0(GlobalContext* globalCtx, Actor* thisx) { if (faceReaction != 0) { return faceReaction; } - if (gSaveContext.eventChkInf[1] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_18)) { return 0x2056; } if (IS_NIGHT) { - if (gSaveContext.infTable[8] & 0x1000) { + if (GET_INFTABLE(INFTABLE_8C)) { return 0x2052; - } else if (gSaveContext.infTable[8] & 0x4000) { + } else if (GET_INFTABLE(INFTABLE_8E)) { return 0x2051; } else { return 0x2050; @@ -96,11 +96,11 @@ s16 func_80AA1A38(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: switch (thisx->textId) { case 0x2051: - gSaveContext.infTable[8] |= 0x1000; + SET_INFTABLE(INFTABLE_8C); ret = 2; break; case 0x2053: - gSaveContext.infTable[8] |= 0x2000; + SET_INFTABLE(INFTABLE_8D); ret = 0; break; default: @@ -141,15 +141,15 @@ u16 func_80AA1B58(EnMa2* this, GlobalContext* globalCtx) { if (LINK_IS_CHILD) { return 0; } - if (!(gSaveContext.eventChkInf[1] & 0x100) && (globalCtx->sceneNum == SCENE_MALON_STABLE) && IS_DAY && + if (!GET_EVENTCHKINF(EVENTCHKINF_18) && (globalCtx->sceneNum == SCENE_MALON_STABLE) && IS_DAY && (this->actor.shape.rot.z == 5)) { return 1; } - if (!(gSaveContext.eventChkInf[1] & 0x100) && (globalCtx->sceneNum == SCENE_SPOT20) && IS_NIGHT && + if (!GET_EVENTCHKINF(EVENTCHKINF_18) && (globalCtx->sceneNum == SCENE_SPOT20) && IS_NIGHT && (this->actor.shape.rot.z == 6)) { return 2; } - if (!(gSaveContext.eventChkInf[1] & 0x100) || (globalCtx->sceneNum != SCENE_SPOT20)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_18) || (globalCtx->sceneNum != SCENE_SPOT20)) { return 0; } if ((this->actor.shape.rot.z == 7) && IS_DAY) { @@ -229,7 +229,7 @@ void EnMa2_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = func_80AA204C; break; case 3: - if (gSaveContext.infTable[8] & 0x2000) { + if (GET_INFTABLE(INFTABLE_8D)) { EnMa2_ChangeAnim(this, ENMA2_ANIM_0); } else { EnMa2_ChangeAnim(this, ENMA2_ANIM_3); @@ -284,7 +284,7 @@ void func_80AA20E4(EnMa2* this, GlobalContext* globalCtx) { Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); this->unk_208 = 0x1E; - gSaveContext.infTable[8] |= 0x4000; + SET_INFTABLE(INFTABLE_8E); this->actionFunc = func_80AA21C8; globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; } else { diff --git a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c index a1fa7a7eae..d9ce174819 100644 --- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c +++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c @@ -75,11 +75,11 @@ u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* thisx) { Player* player = GET_PLAYER(globalCtx); s16* timer1ValuePtr; // weirdness with this necessary to match - if (!(gSaveContext.infTable[11] & 0x100)) { + if (!GET_INFTABLE(INFTABLE_B8)) { return 0x2000; } timer1ValuePtr = &gSaveContext.timer1Value; - if (gSaveContext.eventInf[0] & 0x400) { + if (GET_EVENTINF(EVENTINF_0A)) { gSaveContext.timer1Value = gSaveContext.timer1Value; thisx->flags |= ACTOR_FLAG_16; if (gSaveContext.timer1Value >= 0xD3) { @@ -89,7 +89,7 @@ u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* thisx) { HIGH_SCORE(HS_HORSE_RACE) = 0xB4; gSaveContext.timer1Value = *timer1ValuePtr; } - if (!(gSaveContext.eventChkInf[1] & 0x4000) && (gSaveContext.timer1Value < 0x32)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_1E) && (gSaveContext.timer1Value < 0x32)) { return 0x208F; } else if (gSaveContext.timer1Value < HIGH_SCORE(HS_HORSE_RACE)) { return 0x2012; @@ -101,7 +101,7 @@ u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* thisx) { (Actor_FindNearby(globalCtx, thisx, ACTOR_EN_HORSE, 1, 1200.0f) == NULL)) { return 0x2001; } - if (!(gSaveContext.infTable[11] & 0x200)) { + if (!GET_INFTABLE(INFTABLE_B9)) { return 0x2002; } else { return 0x2003; @@ -118,15 +118,15 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) { gSaveContext.nextCutsceneIndex = 0xFFF0; globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST); globalCtx->transitionTrigger = TRANS_TRIGGER_START; - gSaveContext.eventInf[0] |= 0x400; + SET_EVENTINF(EVENTINF_0A); gSaveContext.timer1State = 0xF; } break; case TEXT_STATE_CHOICE: if (Message_ShouldAdvance(globalCtx)) { - gSaveContext.infTable[11] |= 0x200; + SET_INFTABLE(INFTABLE_B9); if (globalCtx->msgCtx.choiceIndex == 0) { - if (gSaveContext.eventChkInf[1] & 0x4000) { + if (GET_EVENTCHKINF(EVENTCHKINF_1E)) { Message_ContinueTextbox(globalCtx, 0x2091); } else if (HIGH_SCORE(HS_HORSE_RACE) == 0) { Message_ContinueTextbox(globalCtx, 0x2092); @@ -139,26 +139,26 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: switch (thisx->textId) { case 0x2000: - gSaveContext.infTable[11] |= 0x100; + SET_INFTABLE(INFTABLE_B8); ret = 0; break; case 0x208F: - gSaveContext.eventChkInf[1] |= 0x4000; + SET_EVENTCHKINF(EVENTCHKINF_1E); case 0x2004: case 0x2012: if (HIGH_SCORE(HS_HORSE_RACE) > gSaveContext.timer1Value) { HIGH_SCORE(HS_HORSE_RACE) = gSaveContext.timer1Value; } case 0x208E: - gSaveContext.eventInf[0] &= ~0x400; + CLEAR_EVENTINF(EVENTINF_0A); thisx->flags &= ~ACTOR_FLAG_16; ret = 0; gSaveContext.timer1State = 0xA; break; case 0x2002: - gSaveContext.infTable[11] |= 0x200; + SET_INFTABLE(INFTABLE_B9); case 0x2003: - if (!(gSaveContext.eventInf[0] & 0x400)) { + if (!GET_EVENTINF(EVENTINF_0A)) { ret = 0; } break; @@ -197,10 +197,10 @@ s32 func_80AA2EC8(EnMa3* this, GlobalContext* globalCtx) { if (LINK_IS_CHILD) { return 2; } - if (!(gSaveContext.eventChkInf[1] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_18)) { return 2; } - if (gSaveContext.eventInf[0] & 0x400) { + if (GET_EVENTINF(EVENTINF_0A)) { return 1; } return 0; diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.c b/src/overlays/actors/ovl_En_Md/z_en_md.c index f6d22ba5ea..e326883d14 100644 --- a/src/overlays/actors/ovl_En_Md/z_en_md.c +++ b/src/overlays/actors/ovl_En_Md/z_en_md.c @@ -375,7 +375,7 @@ u16 EnMd_GetTextKokiriForest(GlobalContext* globalCtx, EnMd* this) { return 0x1045; } - if (gSaveContext.eventChkInf[0] & 0x10) { + if (GET_EVENTCHKINF(EVENTCHKINF_04)) { return 0x1034; } @@ -383,7 +383,7 @@ u16 EnMd_GetTextKokiriForest(GlobalContext* globalCtx, EnMd* this) { return 0x1033; } - if (gSaveContext.infTable[0] & 0x1000) { + if (GET_INFTABLE(INFTABLE_0C)) { return 0x1030; } @@ -394,7 +394,7 @@ u16 EnMd_GetTextKokiriHome(GlobalContext* globalCtx, EnMd* this) { this->unk_208 = 0; this->unk_209 = TEXT_STATE_NONE; - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { return 0x1028; } @@ -405,18 +405,18 @@ u16 EnMd_GetTextLostWoods(GlobalContext* globalCtx, EnMd* this) { this->unk_208 = 0; this->unk_209 = TEXT_STATE_NONE; - if (gSaveContext.eventChkInf[4] & 0x100) { - if (gSaveContext.infTable[1] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_48)) { + if (GET_INFTABLE(INFTABLE_19)) { return 0x1071; } return 0x1070; } - if (gSaveContext.eventChkInf[0] & 0x400) { + if (GET_EVENTCHKINF(EVENTCHKINF_0A)) { return 0x1068; } - if (gSaveContext.infTable[1] & 0x20) { + if (GET_INFTABLE(INFTABLE_15)) { return 0x1061; } @@ -453,17 +453,17 @@ s16 func_80AAAF04(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: switch (this->actor.textId) { case 0x1028: - gSaveContext.eventChkInf[0] |= 0x8000; + SET_EVENTCHKINF(EVENTCHKINF_0F); break; case 0x102F: - gSaveContext.eventChkInf[0] |= 4; - gSaveContext.infTable[0] |= 0x1000; + SET_EVENTCHKINF(EVENTCHKINF_02); + SET_INFTABLE(INFTABLE_0C); break; case 0x1060: - gSaveContext.infTable[1] |= 0x20; + SET_INFTABLE(INFTABLE_15); break; case 0x1070: - gSaveContext.infTable[1] |= 0x200; + SET_INFTABLE(INFTABLE_19); break; case 0x1033: case 0x1067: @@ -481,13 +481,13 @@ s16 func_80AAAF04(GlobalContext* globalCtx, Actor* thisx) { u8 EnMd_ShouldSpawn(EnMd* this, GlobalContext* globalCtx) { if (globalCtx->sceneNum == SCENE_SPOT04) { - if (!(gSaveContext.eventChkInf[1] & 0x1000) && !(gSaveContext.eventChkInf[4] & 1)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_1C) && !GET_EVENTCHKINF(EVENTCHKINF_40)) { return 1; } } if (globalCtx->sceneNum == SCENE_KOKIRI_HOME4) { - if (((gSaveContext.eventChkInf[1] & 0x1000) != 0) || ((gSaveContext.eventChkInf[4] & 1) != 0)) { + if (GET_EVENTCHKINF(EVENTCHKINF_1C) || GET_EVENTCHKINF(EVENTCHKINF_40)) { if (!LINK_IS_ADULT) { return 1; } @@ -612,7 +612,7 @@ void func_80AAB5A4(EnMd* this, GlobalContext* globalCtx) { f32 temp; if (globalCtx->sceneNum != SCENE_KOKIRI_HOME4) { - temp = (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !(gSaveContext.eventChkInf[1] & 0x1000) && + temp = (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !GET_EVENTCHKINF(EVENTCHKINF_1C) && (globalCtx->sceneNum == SCENE_SPOT04)) ? 100.0f : 400.0f; @@ -646,10 +646,10 @@ void EnMd_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_EN_ELF, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, FAIRY_KOKIRI); - if (((globalCtx->sceneNum == SCENE_SPOT04) && !(gSaveContext.eventChkInf[0] & 0x10)) || - ((globalCtx->sceneNum == SCENE_SPOT04) && (gSaveContext.eventChkInf[0] & 0x10) && + if (((globalCtx->sceneNum == SCENE_SPOT04) && !GET_EVENTCHKINF(EVENTCHKINF_04)) || + ((globalCtx->sceneNum == SCENE_SPOT04) && GET_EVENTCHKINF(EVENTCHKINF_04) && CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) || - ((globalCtx->sceneNum == SCENE_SPOT10) && !(gSaveContext.eventChkInf[0] & 0x400))) { + ((globalCtx->sceneNum == SCENE_SPOT10) && !GET_EVENTCHKINF(EVENTCHKINF_0A))) { this->actor.home.pos = this->actor.world.pos; this->actionFunc = func_80AAB948; return; @@ -709,16 +709,16 @@ void func_80AAB948(EnMd* this, GlobalContext* globalCtx) { } if (this->unk_1E0.unk_00 == 2) { - if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !(gSaveContext.eventChkInf[1] & 0x1000) && + if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !GET_EVENTCHKINF(EVENTCHKINF_1C) && (globalCtx->sceneNum == SCENE_SPOT04)) { globalCtx->msgCtx.msgMode = MSGMODE_PAUSED; } if (globalCtx->sceneNum == SCENE_SPOT04) { - gSaveContext.eventChkInf[0] |= 0x10; + SET_EVENTCHKINF(EVENTCHKINF_04); } if (globalCtx->sceneNum == SCENE_SPOT10) { - gSaveContext.eventChkInf[0] |= 0x400; + SET_EVENTCHKINF(EVENTCHKINF_0A); } func_80AAA92C(this, 3); @@ -777,10 +777,10 @@ void func_80AABD0C(EnMd* this, GlobalContext* globalCtx) { return; } - if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !(gSaveContext.eventChkInf[1] & 0x1000) && + if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && !GET_EVENTCHKINF(EVENTCHKINF_1C) && (globalCtx->sceneNum == SCENE_SPOT04)) { Message_CloseTextbox(globalCtx); - gSaveContext.eventChkInf[1] |= 0x1000; + SET_EVENTCHKINF(EVENTCHKINF_1C); Actor_Kill(&this->actor); return; } 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 aca1407160..ccf93a7be2 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -68,7 +68,7 @@ void EnMk_Init(Actor* thisx, GlobalContext* globalCtx) { this->swimFlag = 0; this->actor.targetMode = 6; - if (gSaveContext.itemGetInf[1] & 1) { + if (GET_ITEMGETINF(ITEMGETINF_10)) { this->flags |= 4; } } @@ -93,7 +93,7 @@ void func_80AACA94(EnMk* this, GlobalContext* globalCtx) { this->actor.parent = NULL; this->actionFunc = func_80AACA40; func_80088AA0(240); - gSaveContext.eventInf[1] &= ~1; + CLEAR_EVENTINF(EVENTINF_10); } else { func_8002F434(&this->actor, globalCtx, GI_EYEDROPS, 10000.0f, 50.0f); } @@ -194,7 +194,7 @@ void func_80AACFA0(EnMk* this, GlobalContext* globalCtx) { if (Actor_HasParent(&this->actor, globalCtx)) { this->actor.parent = NULL; this->actionFunc = func_80AACA40; - gSaveContext.itemGetInf[1] |= 1; + SET_ITEMGETINF(ITEMGETINF_10); } else { func_8002F434(&this->actor, globalCtx, GI_HEART_PIECE, 10000.0f, 50.0f); } @@ -229,7 +229,7 @@ void EnMk_Wait(EnMk* this, GlobalContext* globalCtx) { switch (playerExchangeItem) { case EXCH_ITEM_NONE: if (this->swimFlag >= 8) { - if (gSaveContext.itemGetInf[1] & 1) { + if (GET_ITEMGETINF(ITEMGETINF_10)) { player->actor.textId = 0x4075; this->actionFunc = func_80AACA40; } else { diff --git a/src/overlays/actors/ovl_En_Mm/z_en_mm.c b/src/overlays/actors/ovl_En_Mm/z_en_mm.c index 98b783e0c1..690d0f3499 100644 --- a/src/overlays/actors/ovl_En_Mm/z_en_mm.c +++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.c @@ -228,7 +228,7 @@ s32 func_80AADAA0(EnMm* this, GlobalContext* globalCtx) { EnMm_ChangeAnim(this, RM_ANIM_HAPPY, &this->curAnimIndex); } else { player->actor.textId = 0x202C; - gSaveContext.infTable[23] |= 0x1000; + SET_INFTABLE(INFTABLE_17C); } sp1C = 2; } @@ -237,7 +237,7 @@ s32 func_80AADAA0(EnMm* this, GlobalContext* globalCtx) { if (Message_ShouldAdvance(globalCtx)) { Player_UnsetMask(globalCtx); Item_Give(globalCtx, ITEM_SOLD_OUT); - gSaveContext.itemGetInf[3] |= 0x800; + SET_ITEMGETINF(ITEMGETINF_3B); Rupees_ChangeBy(500); player->actor.textId = 0x202E; sp1C = 2; @@ -263,12 +263,12 @@ s32 EnMm_GetTextId(EnMm* this, GlobalContext* globalCtx) { textId = Text_GetFaceReaction(globalCtx, 0x1C); - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { if (textId == 0) { textId = 0x204D; } } else if (player->currentMask == PLAYER_MASK_BUNNY) { - textId = (gSaveContext.infTable[23] & 0x1000) ? 0x202B : 0x202A; + textId = GET_INFTABLE(INFTABLE_17C) ? 0x202B : 0x202A; } else if (textId == 0) { textId = 0x2029; } @@ -427,7 +427,7 @@ void func_80AAE294(EnMm* this, GlobalContext* globalCtx) { } } - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { this->speedXZ = 10.0f; this->skelAnime.playSpeed = 2.0f; } else { @@ -454,7 +454,7 @@ void func_80AAE294(EnMm* this, GlobalContext* globalCtx) { } } - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { dustPos.x = this->actor.world.pos.x; dustPos.y = this->actor.world.pos.y; dustPos.z = this->actor.world.pos.z; @@ -475,7 +475,7 @@ void func_80AAE50C(EnMm* this, GlobalContext* globalCtx) { this->sitTimer = 0; this->actionFunc = func_80AAE294; - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { EnMm_ChangeAnim(this, RM_ANIM_SPRINT, &this->curAnimIndex); this->mouthTexIndex = RM_MOUTH_CLOSED; } else { @@ -523,7 +523,7 @@ void EnMm_Draw(Actor* thisx, GlobalContext* globalCtx) { SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, EnMm_OverrideLimbDraw, EnMm_PostLimbDraw, this); - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { s32 linkChildObjBankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_LINK_CHILD); if (linkChildObjBankIndex >= 0) { diff --git a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c index 2a7388bf89..3874979ddd 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c @@ -100,10 +100,11 @@ void EnMm2_ChangeAnim(EnMm2* this, s32 index, s32* currentIndex) { } void func_80AAEF70(EnMm2* this, GlobalContext* globalCtx) { - if ((gSaveContext.eventChkInf[9] & 0xF) != 0xF) { + if (!CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK)) { this->actor.textId = 0x6086; - } else if (gSaveContext.infTable[23] & 0x8000) { - if (gSaveContext.eventInf[1] & 1) { + } else if (GET_INFTABLE(INFTABLE_17F)) { + if (GET_EVENTINF(EVENTINF_10)) { this->actor.textId = 0x6082; } else if (gSaveContext.timer2State != 0) { this->actor.textId = 0x6076; @@ -116,7 +117,7 @@ void func_80AAEF70(EnMm2* this, GlobalContext* globalCtx) { this->actor.textId = 0x6076; } else { this->actor.textId = 0x607D; - gSaveContext.eventInf[1] &= ~1; + CLEAR_EVENTINF(EVENTINF_10); HIGH_SCORE(HS_MARATHON) = 158; } } @@ -149,7 +150,7 @@ void EnMm2_Init(Actor* thisx, GlobalContext* globalCtx2) { Actor_Kill(&this->actor); } if (this->actor.params == 1) { - if (!(gSaveContext.infTable[23] & 0x8000) || !(gSaveContext.eventInf[1] & 1)) { + if (!GET_INFTABLE(INFTABLE_17F) || !GET_EVENTINF(EVENTINF_10)) { osSyncPrintf(VT_FGCOL(CYAN) " マラソン 開始されていない \n" VT_RST "\n"); Actor_Kill(&this->actor); } @@ -194,7 +195,7 @@ void func_80AAF330(EnMm2* this, GlobalContext* globalCtx) { Message_CloseTextbox(globalCtx); } gSaveContext.timer2State = 0; - gSaveContext.eventInf[1] &= ~1; + CLEAR_EVENTINF(EVENTINF_10); } } @@ -209,7 +210,7 @@ void func_80AAF3C0(EnMm2* this, GlobalContext* globalCtx) { case 0: Message_ContinueTextbox(globalCtx, 0x607F); this->actor.textId = 0x607F; - gSaveContext.eventInf[1] |= 1; + SET_EVENTINF(EVENTINF_10); break; case 1: Message_ContinueTextbox(globalCtx, 0x6080); @@ -249,7 +250,7 @@ void func_80AAF57C(EnMm2* this, GlobalContext* globalCtx) { SkelAnime_Update(&this->skelAnime); func_80AAEF70(this, globalCtx); if ((func_80AAF224(this, globalCtx, func_80AAF3C0)) && (this->actor.textId == 0x607D)) { - gSaveContext.infTable[23] |= 0x8000; + SET_INFTABLE(INFTABLE_17F); } } @@ -277,8 +278,8 @@ void func_80AAF668(EnMm2* this, GlobalContext* globalCtx) { HIGH_SCORE(HS_MARATHON) = gSaveContext.timer2Value; } } else { - LOG_HEX("((z_common_data.event_inf[1]) & (0x0001))", gSaveContext.eventInf[1] & 1, "../z_en_mm2.c", 541); - if (!(gSaveContext.eventInf[1] & 1)) { + LOG_HEX("((z_common_data.event_inf[1]) & (0x0001))", GET_EVENTINF(EVENTINF_10), "../z_en_mm2.c", 541); + if (!GET_EVENTINF(EVENTINF_10)) { this->unk_1F4 |= 2; this->unk_1F4 &= ~1; EnMm2_ChangeAnim(this, RM2_ANIM_STAND, &this->previousAnimation); diff --git a/src/overlays/actors/ovl_En_Mu/z_en_mu.c b/src/overlays/actors/ovl_En_Mu/z_en_mu.c index 7104018a35..0197e2384d 100644 --- a/src/overlays/actors/ovl_En_Mu/z_en_mu.c +++ b/src/overlays/actors/ovl_En_Mu/z_en_mu.c @@ -57,13 +57,17 @@ void EnMu_SetupAction(EnMu* this, EnMuActionFunc actionFunc) { void EnMu_Interact(EnMu* this, GlobalContext* globalCtx) { u8 textIdOffset[] = { 0x42, 0x43, 0x3F, 0x41, 0x3E }; - u8 bitmask[] = { 0x01, 0x02, 0x04, 0x08, 0x10 }; + u8 bitmask[] = { + EVENTINF_20_MASK, EVENTINF_21_MASK, EVENTINF_22_MASK, EVENTINF_23_MASK, EVENTINF_24_MASK, + }; u8 textFlags; s32 randomIndex; s32 i; - textFlags = gSaveContext.eventInf[2] & 0x1F; - gSaveContext.eventInf[2] &= ~0x1F; + textFlags = gSaveContext.eventInf[EVENTINF_20_21_22_23_24_INDEX] & + (EVENTINF_20_MASK | EVENTINF_21_MASK | EVENTINF_22_MASK | EVENTINF_23_MASK | EVENTINF_24_MASK); + gSaveContext.eventInf[EVENTINF_20_21_22_23_24_INDEX] &= + ~(EVENTINF_20_MASK | EVENTINF_21_MASK | EVENTINF_22_MASK | EVENTINF_23_MASK | EVENTINF_24_MASK); randomIndex = (globalCtx->state.frames + (s32)(Rand_ZeroOne() * 5.0f)) % 5; for (i = 0; i < 5; i++) { @@ -90,8 +94,8 @@ void EnMu_Interact(EnMu* this, GlobalContext* globalCtx) { textFlags |= bitmask[randomIndex]; this->defFaceReaction = textIdOffset[randomIndex] | 0x7000; - textFlags &= 0xFF; - gSaveContext.eventInf[2] |= textFlags; + textFlags &= EVENTINF_20_MASK | EVENTINF_21_MASK | EVENTINF_22_MASK | EVENTINF_23_MASK | EVENTINF_24_MASK | 0xE0; + gSaveContext.eventInf[EVENTINF_20_21_22_23_24_INDEX] |= textFlags; } u16 EnMu_GetFaceReaction(GlobalContext* globalCtx, Actor* thisx) { diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/src/overlays/actors/ovl_En_Nb/z_en_nb.c index b078889202..c1a2eb8e30 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c @@ -563,7 +563,7 @@ void EnNb_InitKidnap(EnNb* this, GlobalContext* globalCtx) { EnNb_SetCurrentAnim(this, &gNabooruTrappedInVortexPushingGroundAnim, 0, 0.0f, 0); this->action = NB_KIDNAPPED; this->actor.shape.shadowAlpha = 0; - gSaveContext.eventChkInf[9] |= 0x20; + SET_EVENTCHKINF(EVENTCHKINF_95); } void EnNb_PlayCrySFX(EnNb* this, GlobalContext* globalCtx) { @@ -1099,11 +1099,11 @@ void EnNb_LookUp(EnNb* this, GlobalContext* globalCtx) { } void EnNb_CrawlspaceSpawnCheck(EnNb* this, GlobalContext* globalCtx) { - if (!(gSaveContext.eventChkInf[9] & 0x20) && LINK_IS_CHILD) { + if (!GET_EVENTCHKINF(EVENTCHKINF_95) && LINK_IS_CHILD) { EnNb_UpdatePath(this, globalCtx); // looking into crawlspace - if (!(gSaveContext.eventChkInf[9] & 0x10)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_94)) { EnNb_SetCurrentAnim(this, &gNabooruKneeingAtCrawlspaceAnim, 0, 0.0f, 0); this->action = NB_CROUCH_CRAWLSPACE; this->drawMode = NB_DRAW_DEFAULT; @@ -1200,7 +1200,7 @@ void func_80AB3838(EnNb* this, GlobalContext* globalCtx) { } else { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; - if (!(gSaveContext.infTable[22] & 0x1000)) { + if (!GET_INFTABLE(INFTABLE_16C)) { this->actor.textId = 0x601D; } else { this->actor.textId = 0x6024; @@ -1212,7 +1212,7 @@ void func_80AB3838(EnNb* this, GlobalContext* globalCtx) { void EnNb_SetupPathMovement(EnNb* this, GlobalContext* globalCtx) { EnNb_SetCurrentAnim(this, &gNabooruStandingToWalkingTransitionAnim, 2, -8.0f, 0); - gSaveContext.eventChkInf[9] |= 0x10; + SET_EVENTCHKINF(EVENTCHKINF_94); this->action = NB_IN_PATH; this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3); } @@ -1230,7 +1230,7 @@ void EnNb_SetTextIdAsChild(EnNb* this, GlobalContext* globalCtx) { EnNb_SetupPathMovement(this, globalCtx); } else { if (textId == 0x6027) { - gSaveContext.infTable[22] |= 0x1000; + SET_INFTABLE(INFTABLE_16C); } this->action = NB_IDLE_CRAWLSPACE; } diff --git a/src/overlays/actors/ovl_En_Niw/z_en_niw.c b/src/overlays/actors/ovl_En_Niw/z_en_niw.c index ab70028934..faa0000e42 100644 --- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c +++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c @@ -65,7 +65,8 @@ static Vec3f sKakarikoPosList[] = { }; static s16 sKakarikoFlagList[] = { - 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000, + INFTABLE_199_MASK, INFTABLE_19A_MASK, INFTABLE_19B_MASK, INFTABLE_19C_MASK, + INFTABLE_19D_MASK, INFTABLE_19E_MASK, INFTABLE_19F_MASK, }; static u8 sLowerRiverSpawned = false; @@ -160,7 +161,7 @@ void EnNiw_Init(Actor* thisx, GlobalContext* globalCtx) { fabsf(this->actor.world.pos.z - sKakarikoPosList[i].z) < 40.0f) { this->unk_2AA = i; osSyncPrintf(VT_FGCOL(YELLOW) " 通常鶏index %d\n" VT_RST, this->unk_2AA); - if (gSaveContext.infTable[25] & sKakarikoFlagList[i]) { + if (gSaveContext.infTable[INFTABLE_199_19A_19B_19C_19D_19E_19F_INDEX] & sKakarikoFlagList[i]) { this->actor.world.pos.x = 300.0f; this->actor.world.pos.y = 100.0f; this->actor.world.pos.z = 1530.0f; @@ -187,22 +188,22 @@ void EnNiw_Init(Actor* thisx, GlobalContext* globalCtx) { } break; case 1: - if (gSaveContext.eventChkInf[1] & 0x10) { + if (GET_EVENTCHKINF(EVENTCHKINF_14)) { Actor_Kill(&this->actor); } break; case 3: - if (!(gSaveContext.eventChkInf[1] & 0x10)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_14)) { Actor_Kill(&this->actor); } break; case 5: - if (gSaveContext.eventChkInf[1] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_18)) { Actor_Kill(&this->actor); } break; case 7: - if (!(gSaveContext.eventChkInf[1] & 0x100)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_18)) { Actor_Kill(&this->actor); } break; @@ -225,7 +226,7 @@ void EnNiw_Init(Actor* thisx, GlobalContext* globalCtx) { case 0xD: case 0xE: Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit2); - if (globalCtx->sceneNum == SCENE_LINK_HOME && !(gSaveContext.eventChkInf[1] & 0x4000)) { + if (globalCtx->sceneNum == SCENE_LINK_HOME && !GET_EVENTCHKINF(EVENTCHKINF_1E)) { Actor_Kill(&this->actor); } break; diff --git a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c index 8a60b6deec..4bacf57b44 100644 --- a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c +++ b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c @@ -140,7 +140,7 @@ void EnNiwGirl_Talk(EnNiwGirl* this, GlobalContext* globalCtx) { -10.0f); this->actor.flags |= ACTOR_FLAG_0; this->actor.textId = 0x7000; - if ((gSaveContext.eventChkInf[8] & 1) && (this->unk_27A == 0)) { + if (GET_EVENTCHKINF(EVENTCHKINF_80) && (this->unk_27A == 0)) { this->actor.textId = 0x70EA; } switch (Player_GetMask(globalCtx)) { diff --git a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c index 218b0145f7..5e4ea39479 100644 --- a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c +++ b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c @@ -42,7 +42,8 @@ static s16 sMissingCuccoTextIds[] = { }; static s16 D_80ABB3B4[] = { - 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000, + INFTABLE_199_MASK, INFTABLE_19A_MASK, INFTABLE_19B_MASK, INFTABLE_19C_MASK, + INFTABLE_19D_MASK, INFTABLE_19E_MASK, INFTABLE_19F_MASK, }; static ColliderCylinderInit sCylinderInit = { @@ -167,7 +168,7 @@ void func_80AB9F24(EnNiwLady* this, GlobalContext* globalCtx) { this->actor.draw = EnNiwLady_Draw; switch (this->unk_278) { case 0: - if (!(gSaveContext.itemGetInf[0] & 0x1000) && !LINK_IS_ADULT) { + if (!GET_ITEMGETINF(ITEMGETINF_0C) && !LINK_IS_ADULT) { frames = Animation_GetLastFrame(&gObjOsAnim_A630); Animation_Change(&this->skelAnime, &gObjOsAnim_A630, 1.0f, 0.0f, (s16)frames, ANIMMODE_LOOP, 0.0f); } else { @@ -206,7 +207,8 @@ void func_80ABA244(EnNiwLady* this, GlobalContext* globalCtx) { if ((fabsf(currentCucco->actor.world.pos.x - 330.0f) < 90.0f) && (fabsf(currentCucco->actor.world.pos.z - 1610.0f) < 190.0f)) { if (this->unk_26C == 0) { - gSaveContext.infTable[25] |= D_80ABB3B4[currentCucco->unk_2AA]; + gSaveContext.infTable[INFTABLE_199_19A_19B_19C_19D_19E_19F_INDEX] |= + D_80ABB3B4[currentCucco->unk_2AA]; if (BREG(1) != 0) { // "GET inside the chicken fence!" osSyncPrintf(VT_FGCOL(GREEN) "☆ 鶏柵内GET!☆ %x\n" VT_RST, @@ -215,7 +217,7 @@ void func_80ABA244(EnNiwLady* this, GlobalContext* globalCtx) { } this->cuccosInPen++; } else if (this->unk_26C == 0) { - gSaveContext.infTable[25] &= ~D_80ABB3B4[currentCucco->unk_2AA]; + gSaveContext.infTable[INFTABLE_199_19A_19B_19C_19D_19E_19F_INDEX] &= ~D_80ABB3B4[currentCucco->unk_2AA]; } } currentCucco = (EnNiw*)currentCucco->actor.next; @@ -269,9 +271,13 @@ void func_80ABA244(EnNiwLady* this, GlobalContext* globalCtx) { this->unk_26C = 1; this->unk_262 = TEXT_STATE_EVENT; this->unk_26A = this->cuccosInPen; - osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 柵内BIT変更前 ☆☆ %x\n" VT_RST, gSaveContext.infTable[25]); - gSaveContext.infTable[25] &= 0x1FF; - osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 柵内BIT変更後 ☆☆ %x\n" VT_RST, gSaveContext.infTable[25]); + osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 柵内BIT変更前 ☆☆ %x\n" VT_RST, + gSaveContext.infTable[INFTABLE_199_19A_19B_19C_19D_19E_19F_INDEX]); + gSaveContext.infTable[INFTABLE_199_19A_19B_19C_19D_19E_19F_INDEX] &= + (u16) ~(INFTABLE_199_MASK | INFTABLE_19A_MASK | INFTABLE_19B_MASK | INFTABLE_19C_MASK | + INFTABLE_19D_MASK | INFTABLE_19E_MASK | INFTABLE_19F_MASK); + osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 柵内BIT変更後 ☆☆ %x\n" VT_RST, + gSaveContext.infTable[INFTABLE_199_19A_19B_19C_19D_19E_19F_INDEX]); osSyncPrintf("\n\n"); this->actionFunc = func_80ABA654; return; @@ -300,7 +306,7 @@ void func_80ABA654(EnNiwLady* this, GlobalContext* globalCtx) { osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ 爆弾 ☆☆☆☆☆ %d\n" VT_RST, this->unk_272); osSyncPrintf("\n\n"); this->unk_26E = 0xB; - if (!(gSaveContext.itemGetInf[0] & 0x1000)) { + if (!GET_ITEMGETINF(ITEMGETINF_0C)) { this->actor.parent = NULL; this->getItemId = GI_BOTTLE; func_8002F434(&this->actor, globalCtx, GI_BOTTLE, 100.0f, 50.0f); @@ -324,7 +330,7 @@ void func_80ABA778(EnNiwLady* this, GlobalContext* globalCtx) { osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ アダルトメッセージチェック ☆☆☆☆☆ \n" VT_RST); this->unk_262 = TEXT_STATE_DONE; this->unk_273 = 0; - if (!(gSaveContext.itemGetInf[2] & 0x1000)) { + if (!GET_ITEMGETINF(ITEMGETINF_2C)) { if (this->unk_274 != 0) { this->unk_27A = 1; } else { @@ -334,9 +340,9 @@ void func_80ABA778(EnNiwLady* this, GlobalContext* globalCtx) { this->unk_262 = TEXT_STATE_CHOICE; } else { this->unk_27A = 2; - if (!(gSaveContext.itemGetInf[2] & 0x4000)) { + if (!GET_ITEMGETINF(ITEMGETINF_2E)) { this->unk_27A = 3; - if (gSaveContext.eventChkInf[6] & 0x400) { + if (GET_EVENTCHKINF(EVENTCHKINF_6A)) { this->unk_27A = 9; if (this->unk_277 != 0) { this->unk_27A = 10; @@ -360,7 +366,7 @@ void func_80ABA878(EnNiwLady* this, GlobalContext* globalCtx) { } if (Actor_ProcessTalkRequest(&this->actor, globalCtx)) { playerExchangeItemId = func_8002F368(globalCtx); - if ((playerExchangeItemId == 6) && (gSaveContext.eventChkInf[6] & 0x400)) { + if ((playerExchangeItemId == 6) && GET_EVENTCHKINF(EVENTCHKINF_6A)) { func_80078884(NA_SE_SY_TRE_BOX_APPEAR); player->actor.textId = sTradeItemTextIds[5]; this->unk_26E = this->unk_27A + 21; @@ -437,7 +443,7 @@ void func_80ABAC00(EnNiwLady* this, GlobalContext* globalCtx) { } else { getItemId = this->getItemId; if (LINK_IS_ADULT) { - getItemId = !(gSaveContext.itemGetInf[2] & 0x1000) ? GI_POCKET_EGG : GI_COJIRO; + getItemId = !GET_ITEMGETINF(ITEMGETINF_2C) ? GI_POCKET_EGG : GI_COJIRO; } func_8002F434(&this->actor, globalCtx, getItemId, 200.0f, 100.0f); } @@ -449,14 +455,14 @@ void func_80ABAC84(EnNiwLady* this, GlobalContext* globalCtx) { } osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n" VT_RST); if (LINK_IS_ADULT) { - if (!(gSaveContext.itemGetInf[2] & 0x1000)) { - gSaveContext.itemGetInf[2] |= 0x1000; + if (!GET_ITEMGETINF(ITEMGETINF_2C)) { + SET_ITEMGETINF(ITEMGETINF_2C); } else { - gSaveContext.itemGetInf[2] |= 0x4000; + SET_ITEMGETINF(ITEMGETINF_2E); } this->actionFunc = func_80ABA778; } else { - gSaveContext.itemGetInf[0] |= 0x1000; + SET_ITEMGETINF(ITEMGETINF_0C); this->unk_262 = TEXT_STATE_DONE; this->actionFunc = func_80ABA244; } diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c index a34d721a36..fe040d2d40 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c @@ -191,8 +191,8 @@ void func_80ABF28C(EnOkarinaTag* this, GlobalContext* globalCtx) { if ((this->ocarinaSong != 6) || (gSaveContext.scarecrowSpawnSongSet)) { if ((this->switchFlag >= 0) && Flags_GetSwitch(globalCtx, this->switchFlag)) { this->actor.flags &= ~ACTOR_FLAG_0; - } else if (((this->type != 4) || !(gSaveContext.eventChkInf[4] & 0x800)) && - ((this->type != 6) || !(gSaveContext.eventChkInf[1] & 0x2000)) && + } else if (((this->type != 4) || !GET_EVENTCHKINF(EVENTCHKINF_4B)) && + ((this->type != 6) || !GET_EVENTCHKINF(EVENTCHKINF_1D)) && (this->actor.xzDistToPlayer < (90.0f + this->interactRange)) && (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < 80.0f)) { if (player->stateFlags2 & PLAYER_STATE2_24) { @@ -240,7 +240,7 @@ void func_80ABF4C8(EnOkarinaTag* this, GlobalContext* globalCtx) { switch (this->type) { case 1: Flags_SetSwitch(globalCtx, this->switchFlag); - gSaveContext.eventChkInf[3] |= 0x200; + SET_EVENTCHKINF(EVENTCHKINF_39); break; case 2: globalCtx->csCtx.segment = D_80ABF9D0; @@ -255,7 +255,7 @@ void func_80ABF4C8(EnOkarinaTag* this, GlobalContext* globalCtx) { globalCtx->csCtx.segment = LINK_IS_ADULT ? SEGMENTED_TO_VIRTUAL(&spot02_scene_Cs_003C80) : SEGMENTED_TO_VIRTUAL(&spot02_scene_Cs_005020); gSaveContext.cutsceneTrigger = 1; - gSaveContext.eventChkInf[1] |= 0x2000; + SET_EVENTCHKINF(EVENTCHKINF_1D); func_80078884(NA_SE_SY_CORRECT_CHIME); break; default: diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index 98fa0ef45e..8ea5d11f0b 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -370,7 +370,7 @@ s16 ShopItemDisp_Default(s16 v) { s16 ShopItemDisp_SpookyMask(s16 v) { // Sold Skull Mask - if (gSaveContext.itemGetInf[3] & 0x200) { + if (GET_ITEMGETINF(ITEMGETINF_39)) { return v; } return -1; @@ -378,7 +378,7 @@ s16 ShopItemDisp_SpookyMask(s16 v) { s16 ShopItemDisp_SkullMask(s16 v) { // Sold Keaton Mask - if (gSaveContext.itemGetInf[3] & 0x100) { + if (GET_ITEMGETINF(ITEMGETINF_38)) { return v; } return -1; @@ -386,7 +386,7 @@ s16 ShopItemDisp_SkullMask(s16 v) { s16 ShopItemDisp_BunnyHood(s16 v) { // Sold Spooky Mask - if (gSaveContext.itemGetInf[3] & 0x400) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { return v; } return -1; @@ -394,7 +394,7 @@ s16 ShopItemDisp_BunnyHood(s16 v) { s16 ShopItemDisp_ZoraMask(s16 v) { // Obtained Mask of Truth - if (gSaveContext.itemGetInf[3] & 0x8000) { + if (GET_ITEMGETINF(ITEMGETINF_3F)) { return v; } return -1; @@ -402,7 +402,7 @@ s16 ShopItemDisp_ZoraMask(s16 v) { s16 ShopItemDisp_GoronMask(s16 v) { // Obtained Mask of Truth - if (gSaveContext.itemGetInf[3] & 0x8000) { + if (GET_ITEMGETINF(ITEMGETINF_3F)) { return v; } return -1; @@ -410,7 +410,7 @@ s16 ShopItemDisp_GoronMask(s16 v) { s16 ShopItemDisp_GerudoMask(s16 v) { // Obtained Mask of Truth - if (gSaveContext.itemGetInf[3] & 0x8000) { + if (GET_ITEMGETINF(ITEMGETINF_3F)) { return v; } return -1; @@ -510,7 +510,7 @@ void EnOssan_TalkZoraShopkeeper(GlobalContext* globalCtx) { // Goron City, Goron void EnOssan_TalkGoronShopkeeper(GlobalContext* globalCtx) { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { - if (gSaveContext.eventChkInf[2] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_25)) { Message_ContinueTextbox(globalCtx, 0x3028); } else if (CUR_UPG_VALUE(UPG_STRENGTH) != 0) { Message_ContinueTextbox(globalCtx, 0x302D); @@ -526,10 +526,10 @@ void EnOssan_TalkGoronShopkeeper(GlobalContext* globalCtx) { // Happy Mask Shop void EnOssan_TalkHappyMaskShopkeeper(GlobalContext* globalCtx) { - if ((gSaveContext.itemGetInf[3] & 0x100) // Sold Keaton Mask - && (gSaveContext.itemGetInf[3] & 0x200) // Sold Skull Mask - && (gSaveContext.itemGetInf[3] & 0x400) // Sold Spooky Mask - && (gSaveContext.itemGetInf[3] & 0x800)) { // Sold Bunny Hood + if (GET_ITEMGETINF(ITEMGETINF_38) // Sold Keaton Mask + && GET_ITEMGETINF(ITEMGETINF_39) // Sold Skull Mask + && GET_ITEMGETINF(ITEMGETINF_3A) // Sold Spooky Mask + && GET_ITEMGETINF(ITEMGETINF_3B)) { // Sold Bunny Hood Message_ContinueTextbox(globalCtx, 0x70AE); } else { switch (globalCtx->msgCtx.choiceIndex) { @@ -588,7 +588,7 @@ void EnOssan_Init(Actor* thisx, GlobalContext* globalCtx) { } // If you've given Zelda's Letter to the Kakariko Guard - if (this->actor.params == OSSAN_TYPE_MASK && !(gSaveContext.infTable[7] & 0x40)) { + if (this->actor.params == OSSAN_TYPE_MASK && !GET_INFTABLE(INFTABLE_76)) { Actor_Kill(&this->actor); return; } @@ -599,7 +599,7 @@ void EnOssan_Init(Actor* thisx, GlobalContext* globalCtx) { } // Completed Dodongo's Cavern - if (this->actor.params == OSSAN_TYPE_BOMBCHUS && !(gSaveContext.eventChkInf[2] & 0x20)) { + if (this->actor.params == OSSAN_TYPE_BOMBCHUS && !GET_EVENTCHKINF(EVENTCHKINF_25)) { Actor_Kill(&this->actor); return; } @@ -701,8 +701,8 @@ void EnOssan_StartShopping(GlobalContext* globalCtx, EnOssan* this) { if (this->actor.params == OSSAN_TYPE_MASK) { // if all masks have been sold, give the option to ask about the mask of truth - if ((gSaveContext.itemGetInf[3] & 0x100) && (gSaveContext.itemGetInf[3] & 0x200) && - (gSaveContext.itemGetInf[3] & 0x400) && (gSaveContext.itemGetInf[3] & 0x800)) { + if (GET_ITEMGETINF(ITEMGETINF_38) && GET_ITEMGETINF(ITEMGETINF_39) && GET_ITEMGETINF(ITEMGETINF_3A) && + GET_ITEMGETINF(ITEMGETINF_3B)) { Message_ContinueTextbox(globalCtx, 0x70AD); } else { Message_ContinueTextbox(globalCtx, 0x70A2); @@ -864,18 +864,18 @@ void EnOssan_TryPaybackMask(EnOssan* this, GlobalContext* globalCtx) { Rupees_ChangeBy(-price); if (this->happyMaskShopState == OSSAN_HAPPY_STATE_REQUEST_PAYMENT_BUNNY_HOOD) { - gSaveContext.eventChkInf[8] |= 0x8000; + SET_EVENTCHKINF(EVENTCHKINF_8F); Message_ContinueTextbox(globalCtx, 0x70A9); this->happyMaskShopState = OSSAN_HAPPY_STATE_ALL_MASKS_SOLD; return; } if (this->happyMaskShopState == OSSAN_HAPPY_STATE_REQUEST_PAYMENT_KEATON_MASK) { - gSaveContext.eventChkInf[8] |= 0x1000; + SET_EVENTCHKINF(EVENTCHKINF_8C); } else if (this->happyMaskShopState == OSSAN_HAPPY_STATE_REQUEST_PAYMENT_SPOOKY_MASK) { - gSaveContext.eventChkInf[8] |= 0x4000; + SET_EVENTCHKINF(EVENTCHKINF_8E); } else if (this->happyMaskShopState == OSSAN_HAPPY_STATE_REQUEST_PAYMENT_SKULL_MASK) { - gSaveContext.eventChkInf[8] |= 0x2000; + SET_EVENTCHKINF(EVENTCHKINF_8D); } Message_ContinueTextbox(globalCtx, 0x70A7); @@ -1347,7 +1347,7 @@ void EnOssan_HandleCanBuyItem(GlobalContext* globalCtx, EnOssan* this) { switch (selectedItem->canBuyFunc(globalCtx, selectedItem)) { case CANBUY_RESULT_SUCCESS_FANFARE: - if (selectedItem->actor.params == SI_HYLIAN_SHIELD && gSaveContext.infTable[7] & 0x40) { + if (selectedItem->actor.params == SI_HYLIAN_SHIELD && GET_INFTABLE(INFTABLE_76)) { EnOssan_SetStateGiveDiscountDialog(globalCtx, this); } else { EnOssan_GiveItemWithFanfare(globalCtx, this); @@ -1460,8 +1460,8 @@ void EnOssan_HandleCanBuyBombs(GlobalContext* globalCtx, EnOssan* this) { void EnOssan_BuyGoronCityBombs(GlobalContext* globalCtx, EnOssan* this) { if (LINK_AGE_IN_YEARS == YEARS_CHILD) { - if (!(gSaveContext.eventChkInf[2] & 0x20)) { - if (gSaveContext.infTable[15] & 0x1000) { + if (!GET_EVENTCHKINF(EVENTCHKINF_25)) { + if (GET_INFTABLE(INFTABLE_FC)) { EnOssan_SetStateCantGetItem(globalCtx, this, 0x302E); } else { this->stickLeftPrompt.isEnabled = false; @@ -1556,7 +1556,7 @@ void EnOssan_State_SelectBombs(EnOssan* this, GlobalContext* globalCtx, Player* osSyncPrintf("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2798); return; } - osSyncPrintf("店主の依頼 ( %d )\n", gSaveContext.infTable[15] & 0x1000); + osSyncPrintf("店主の依頼 ( %d )\n", GET_INFTABLE(INFTABLE_FC)); if (this->actor.params != OSSAN_TYPE_GORON) { EnOssan_State_ItemSelected(this, globalCtx, player); return; @@ -1595,16 +1595,16 @@ void EnOssan_State_SelectMaskItem(EnOssan* this, GlobalContext* globalCtx, Playe case 0: switch (item->actor.params) { case SI_KEATON_MASK: - gSaveContext.itemGetInf[2] |= 0x08; + SET_ITEMGETINF(ITEMGETINF_23); break; case SI_SPOOKY_MASK: - gSaveContext.itemGetInf[2] |= 0x20; + SET_ITEMGETINF(ITEMGETINF_25); break; case SI_SKULL_MASK: - gSaveContext.itemGetInf[2] |= 0x10; + SET_ITEMGETINF(ITEMGETINF_24); break; case SI_BUNNY_HOOD: - gSaveContext.itemGetInf[2] |= 0x40; + SET_ITEMGETINF(ITEMGETINF_26); break; case SI_MASK_OF_TRUTH: case SI_ZORA_MASK: @@ -1665,8 +1665,8 @@ void EnOssan_State_ItemPurchased(EnOssan* this, GlobalContext* globalCtx, Player EnOssan_ResetItemPosition(this); item = this->shelfSlots[this->cursorIndex]; item->updateStockedItemFunc(globalCtx, item); - if (itemTemp->actor.params == SI_MASK_OF_TRUTH && !(gSaveContext.itemGetInf[3] & 0x8000)) { - gSaveContext.itemGetInf[3] |= 0x8000; + if (itemTemp->actor.params == SI_MASK_OF_TRUTH && !GET_ITEMGETINF(ITEMGETINF_3F)) { + SET_ITEMGETINF(ITEMGETINF_3F); Message_ContinueTextbox(globalCtx, 0x70AB); this->happyMaskShopState = OSSAN_HAPPY_STATE_BORROWED_FIRST_MASK; EnOssan_UpdateShopOfferings(this, globalCtx); @@ -1727,7 +1727,7 @@ void EnOssan_State_ContinueShoppingPrompt(EnOssan* this, GlobalContext* globalCt void EnOssan_State_WaitForDisplayOnlyBombDialog(EnOssan* this, GlobalContext* globalCtx, Player* player) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT && Message_ShouldAdvance(globalCtx)) { - gSaveContext.infTable[15] |= 0x1000; + SET_INFTABLE(INFTABLE_FC); EnOssan_StartShopping(globalCtx, this); } } @@ -1737,7 +1737,7 @@ void EnOssan_State_21(EnOssan* this, GlobalContext* globalCtx, Player* player) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE_HAS_NEXT && Message_ShouldAdvance(globalCtx)) { this->stateFlag = OSSAN_STATE_22; Message_ContinueTextbox(globalCtx, 0x3012); - gSaveContext.infTable[15] |= 0x1000; + SET_INFTABLE(INFTABLE_FC); } } @@ -1757,7 +1757,7 @@ void EnOssan_State_GiveLonLonMilk(EnOssan* this, GlobalContext* globalCtx, Playe // For giving Mask of Truth when you first sell all masks void EnOssan_State_LendMaskOfTruth(EnOssan* this, GlobalContext* globalCtx, Player* player) { if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT && Message_ShouldAdvance(globalCtx)) { - gSaveContext.itemGetInf[2] |= 0x400; + SET_ITEMGETINF(ITEMGETINF_2A); this->cursorIndex = 2; EnOssan_GiveItemWithFanfare(globalCtx, this); } @@ -2042,8 +2042,8 @@ u16 EnOssan_SetupHelloDialog(EnOssan* this) { // mask shop messages if (this->actor.params == OSSAN_TYPE_MASK) { if (INV_CONTENT(ITEM_TRADE_CHILD) == ITEM_SOLD_OUT) { - if (gSaveContext.itemGetInf[3] & 0x800) { - if (!(gSaveContext.eventChkInf[8] & 0x8000)) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_8F)) { // Pay back Bunny Hood this->happyMaskShopState = OSSAN_HAPPY_STATE_REQUEST_PAYMENT_BUNNY_HOOD; return 0x70C6; @@ -2051,8 +2051,8 @@ u16 EnOssan_SetupHelloDialog(EnOssan* this) { return 0x70AC; } } - if (gSaveContext.itemGetInf[3] & 0x400) { - if (!(gSaveContext.eventChkInf[8] & 0x4000)) { + if (GET_ITEMGETINF(ITEMGETINF_3A)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_8E)) { // Pay back Spooky Mask this->happyMaskShopState = OSSAN_HAPPY_STATE_REQUEST_PAYMENT_SPOOKY_MASK; return 0x70C5; @@ -2060,8 +2060,8 @@ u16 EnOssan_SetupHelloDialog(EnOssan* this) { return 0x70AC; } } - if (gSaveContext.itemGetInf[3] & 0x200) { - if (!(gSaveContext.eventChkInf[8] & 0x2000)) { + if (GET_ITEMGETINF(ITEMGETINF_39)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_8D)) { // Pay back Skull Mask this->happyMaskShopState = OSSAN_HAPPY_STATE_REQUEST_PAYMENT_SKULL_MASK; return 0x70C4; @@ -2069,8 +2069,8 @@ u16 EnOssan_SetupHelloDialog(EnOssan* this) { return 0x70AC; } } - if (gSaveContext.itemGetInf[3] & 0x100) { - if (!(gSaveContext.eventChkInf[8] & 0x1000)) { + if (GET_ITEMGETINF(ITEMGETINF_38)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_8C)) { // Pay back Keaton Mask this->happyMaskShopState = OSSAN_HAPPY_STATE_REQUEST_PAYMENT_KEATON_MASK; return 0x70A5; @@ -2079,12 +2079,12 @@ u16 EnOssan_SetupHelloDialog(EnOssan* this) { } } } else { - if (gSaveContext.itemGetInf[3] & 0x800) { + if (GET_ITEMGETINF(ITEMGETINF_3B)) { return 0x70AC; - } else if (!(gSaveContext.itemGetInf[3] & 0x400) && !(gSaveContext.itemGetInf[2] & 0x10) && - !(gSaveContext.itemGetInf[3] & 0x100)) { + } else if (!GET_ITEMGETINF(ITEMGETINF_3A) && !GET_ITEMGETINF(ITEMGETINF_24) && + !GET_ITEMGETINF(ITEMGETINF_38)) { // Haven't borrowed the Keaton Mask - if (!(gSaveContext.itemGetInf[2] & 0x8)) { + if (!GET_ITEMGETINF(ITEMGETINF_23)) { return 0x70A1; } else { // Haven't sold the Keaton Mask diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.c b/src/overlays/actors/ovl_En_Owl/z_en_owl.c index 484bca17b0..394496300d 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c @@ -159,7 +159,7 @@ void EnOwl_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = EnOwl_WaitHyruleCastle; break; case OWL_KAKARIKO: - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { // has zelda's letter osSyncPrintf("フクロウ退避\n"); // "Owl evacuation" Actor_Kill(&this->actor); @@ -169,7 +169,7 @@ void EnOwl_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = EnOwl_WaitKakariko; break; case OWL_HYLIA_GERUDO: - if (gSaveContext.eventChkInf[4] & 8) { + if (GET_EVENTCHKINF(EVENTCHKINF_43)) { // has ocarina of time osSyncPrintf("フクロウ退避\n"); // "Owl evacuation" Actor_Kill(&this->actor); @@ -181,7 +181,7 @@ void EnOwl_Init(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = EnOwl_WaitLakeHylia; break; case OWL_ZORA_RIVER: - if ((gSaveContext.eventChkInf[3] & 0x200) || !(gSaveContext.eventChkInf[4] & 1)) { + if (GET_EVENTCHKINF(EVENTCHKINF_39) || !GET_EVENTCHKINF(EVENTCHKINF_40)) { // opened zora's domain or has zelda's letter osSyncPrintf("フクロウ退避\n"); // "Owl evacuation" Actor_Kill(&this->actor); @@ -386,7 +386,7 @@ void EnOwl_WaitOutsideKokiri(EnOwl* this, GlobalContext* globalCtx) { this->actionFunc = EnOwl_ConfirmKokiriMessage; // spoke to owl by lost woods - gSaveContext.eventChkInf[6] |= 0x8000; + SET_EVENTCHKINF(EVENTCHKINF_6F); } } @@ -439,7 +439,7 @@ void func_80ACAB88(EnOwl* this, GlobalContext* globalCtx) { switch (globalCtx->msgCtx.choiceIndex) { case OWL_REPEAT: // obtained zelda's letter - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { Message_ContinueTextbox(globalCtx, 0x206D); } else { Message_ContinueTextbox(globalCtx, 0x206C); @@ -588,12 +588,12 @@ void func_80ACB148(EnOwl* this, GlobalContext* globalCtx) { } void EnOwl_WaitHyliaShortcut(EnOwl* this, GlobalContext* globalCtx) { - u16 textId = (gSaveContext.infTable[25] & 0x20) ? 0x4004 : 0x4003; + u16 textId = GET_INFTABLE(INFTABLE_195) ? 0x4004 : 0x4003; // Spoke to Owl in Lake Hylia EnOwl_LookAtLink(this, globalCtx); if (func_80ACA558(this, globalCtx, textId)) { - gSaveContext.infTable[25] |= 0x20; + SET_INFTABLE(INFTABLE_195); Audio_PlayFanfare(NA_BGM_OWL); this->actionFunc = func_80ACB148; } diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c index ba4f0c0f06..c8b7aac4be 100644 --- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c +++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c @@ -762,12 +762,11 @@ void func_80AEC2C0(EnRu1* this, GlobalContext* globalCtx) { void func_80AEC320(EnRu1* this, GlobalContext* globalCtx) { s8 actorRoom; - if (!(gSaveContext.infTable[20] & 2)) { + if (!GET_INFTABLE(INFTABLE_141)) { func_80AEB264(this, &gRutoChildWait2Anim, 0, 0, 0); this->action = 7; EnRu1_SetMouthIndex(this, 1); - } else if ((gSaveContext.infTable[20] & 0x80) && !(gSaveContext.infTable[20] & 1) && - !(gSaveContext.infTable[20] & 0x20)) { + } else if (GET_INFTABLE(INFTABLE_147) && !GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_145)) { if (!func_80AEB020(this, globalCtx)) { func_80AEB264(this, &gRutoChildWait2Anim, 0, 0, 0); actorRoom = this->actor.room; @@ -921,7 +920,7 @@ void func_80AECA18(EnRu1* this) { void func_80AECA44(EnRu1* this, GlobalContext* globalCtx) { if (func_80AEAFA0(globalCtx, 5, 3)) { - gSaveContext.infTable[20] |= 2; + SET_INFTABLE(INFTABLE_141); this->action = 14; } } @@ -1172,8 +1171,8 @@ void func_80AED414(EnRu1* this, GlobalContext* globalCtx) { void func_80AED44C(EnRu1* this, GlobalContext* globalCtx) { s8 actorRoom; - if ((gSaveContext.infTable[20] & 2) && !(gSaveContext.infTable[20] & 0x20) && !(gSaveContext.infTable[20] & 1) && - !(gSaveContext.infTable[20] & 0x80)) { + if (GET_INFTABLE(INFTABLE_141) && !GET_INFTABLE(INFTABLE_145) && !GET_INFTABLE(INFTABLE_140) && + !GET_INFTABLE(INFTABLE_147)) { if (!func_80AEB020(this, globalCtx)) { func_80AEB264(this, &gRutoChildWait2Anim, 0, 0, 0); actorRoom = this->actor.room; @@ -1246,10 +1245,10 @@ void func_80AED6DC(EnRu1* this, GlobalContext* globalCtx) { void func_80AED6F8(GlobalContext* globalCtx) { s8 curRoomNum; - if ((!(gSaveContext.infTable[20] & 0x80))) { + if (!GET_INFTABLE(INFTABLE_147)) { curRoomNum = globalCtx->roomCtx.curRoom.num; if (curRoomNum == 2) { - gSaveContext.infTable[20] |= 0x80; + SET_INFTABLE(INFTABLE_147); } } } @@ -1497,10 +1496,10 @@ void func_80AEE050(EnRu1* this) { s32 func_80AEE264(EnRu1* this, GlobalContext* globalCtx) { if (!Actor_ProcessTalkRequest(&this->actor, globalCtx)) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; - if ((gSaveContext.infTable[20] & 8)) { + if (GET_INFTABLE(INFTABLE_143)) { this->actor.textId = 0x404E; func_8002F2F4(&this->actor, globalCtx); - } else if (gSaveContext.infTable[20] & 4) { + } else if (GET_INFTABLE(INFTABLE_142)) { this->actor.textId = 0x404D; func_8002F2F4(&this->actor, globalCtx); } else { @@ -1521,12 +1520,12 @@ void func_80AEE2F8(EnRu1* this, GlobalContext* globalCtx) { dynaPolyActor = DynaPoly_GetActor(&globalCtx->colCtx, floorBgId); if ((dynaPolyActor != NULL) && (dynaPolyActor->actor.id == ACTOR_BG_BDAN_SWITCH)) { if (((dynaPolyActor->actor.params >> 8) & 0x3F) == 0x38) { - gSaveContext.infTable[20] |= 1; + SET_INFTABLE(INFTABLE_140); return; } } } - gSaveContext.infTable[20] &= ~0x1; + CLEAR_INFTABLE(INFTABLE_140); } s32 func_80AEE394(EnRu1* this, GlobalContext* globalCtx) { @@ -1591,7 +1590,7 @@ void func_80AEE628(EnRu1* this, GlobalContext* globalCtx) { if (EnRu1_IsCsStateIdle(globalCtx)) { Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildSittingAnim), ANIMMODE_LOOP, -8.0f); - gSaveContext.infTable[20] |= 0x10; + SET_INFTABLE(INFTABLE_144); this->action = 31; } this->roomNum3 = curRoomNum; @@ -1601,7 +1600,7 @@ s32 func_80AEE6D0(EnRu1* this, GlobalContext* globalCtx) { s32 pad; s8 curRoomNum = globalCtx->roomCtx.curRoom.num; - if (!(gSaveContext.infTable[20] & 0x10) && (func_80AEB124(globalCtx) != 0)) { + if (!GET_INFTABLE(INFTABLE_144) && (func_80AEB124(globalCtx) != 0)) { if (!Player_InCsMode(globalCtx)) { Animation_Change(&this->skelAnime, &gRutoChildSeesSapphireAnim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildSquirmAnim), ANIMMODE_LOOP, -8.0f); @@ -1813,7 +1812,7 @@ void func_80AEF080(EnRu1* this) { s32 func_80AEF0BC(EnRu1* this, GlobalContext* globalCtx) { s32 frameCount; - if (gSaveContext.infTable[20] & 4) { + if (GET_INFTABLE(INFTABLE_142)) { frameCount = Animation_GetLastFrame(&gRutoChildSitAnim); Animation_Change(&this->skelAnime, &gRutoChildSitAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE, -8.0f); globalCtx->msgCtx.msgMode = MSGMODE_PAUSED; @@ -1833,7 +1832,7 @@ void func_80AEF170(EnRu1* this, GlobalContext* globalCtx, s32 cond) { void func_80AEF188(EnRu1* this, GlobalContext* globalCtx) { if (func_80AEB174(globalCtx) && !func_80AEF0BC(this, globalCtx)) { Message_CloseTextbox(globalCtx); - gSaveContext.infTable[20] |= 4; + SET_INFTABLE(INFTABLE_142); this->action = 24; } } @@ -1843,7 +1842,7 @@ void func_80AEF1F0(EnRu1* this, GlobalContext* globalCtx, UNK_TYPE arg2) { Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gRutoChildSittingAnim), ANIMMODE_LOOP, 0.0f); Message_CloseTextbox(globalCtx); - gSaveContext.infTable[20] |= 8; + SET_INFTABLE(INFTABLE_143); func_80AED6DC(this, globalCtx); func_8002F580(&this->actor, globalCtx); this->action = 27; @@ -2005,7 +2004,7 @@ void func_80AEF890(EnRu1* this, GlobalContext* globalCtx) { if ((gSaveContext.sceneSetupIndex < 4) && (EnRu1_IsCsStateIdle(globalCtx))) { curRoomNum = globalCtx->roomCtx.curRoom.num; - gSaveContext.infTable[20] |= 0x20; + SET_INFTABLE(INFTABLE_145); Flags_SetSwitch(globalCtx, func_80AEADE0(this)); func_80AEB0EC(this, 1); this->action = 42; @@ -2096,7 +2095,7 @@ void func_80AEFC24(EnRu1* this, GlobalContext* globalCtx) { } void func_80AEFC54(EnRu1* this, GlobalContext* globalCtx) { - if ((gSaveContext.infTable[20] & 0x20) && !(gSaveContext.infTable[20] & 0x40)) { + if (GET_INFTABLE(INFTABLE_145) && !GET_INFTABLE(INFTABLE_146)) { func_80AEB264(this, &gRutoChildWait2Anim, 0, 0, 0); this->action = 41; this->unk_28C = EnRu1_FindSwitch(globalCtx); @@ -2117,7 +2116,7 @@ void func_80AEFCE8(EnRu1* this, GlobalContext* globalCtx) { } void func_80AEFD38(EnRu1* this, GlobalContext* globalCtx) { - if ((gSaveContext.eventChkInf[3] & 0x80) && LINK_IS_CHILD) { + if (GET_EVENTCHKINF(EVENTCHKINF_37) && LINK_IS_CHILD) { func_80AEB264(this, &gRutoChildWait2Anim, 0, 0, 0); this->actor.flags &= ~ACTOR_FLAG_4; this->action = 44; @@ -2180,7 +2179,7 @@ void func_80AEFF40(EnRu1* this, GlobalContext* globalCtx) { void func_80AEFF94(EnRu1* this, GlobalContext* globalCtx) { s8 actorRoom; - if ((gSaveContext.infTable[20] & 2) && (gSaveContext.infTable[20] & 1) && !(gSaveContext.infTable[20] & 0x20) && + if (GET_INFTABLE(INFTABLE_141) && GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_145) && (!(func_80AEB020(this, globalCtx)))) { func_80AEB264(this, &gRutoChildWait2Anim, 0, 0, 0); actorRoom = this->actor.room; diff --git a/src/overlays/actors/ovl_En_Sa/z_en_sa.c b/src/overlays/actors/ovl_En_Sa/z_en_sa.c index 766404a586..abd2a77c32 100644 --- a/src/overlays/actors/ovl_En_Sa/z_en_sa.c +++ b/src/overlays/actors/ovl_En_Sa/z_en_sa.c @@ -151,25 +151,25 @@ u16 func_80AF55E0(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { this->unk_208 = 0; this->unk_209 = TEXT_STATE_NONE; - if (gSaveContext.infTable[0] & 0x20) { + if (GET_INFTABLE(INFTABLE_05)) { return 0x1048; } else { return 0x1047; } } - if (gSaveContext.eventChkInf[0] & 4) { + if (GET_EVENTCHKINF(EVENTCHKINF_02)) { this->unk_208 = 0; this->unk_209 = TEXT_STATE_NONE; - if (gSaveContext.infTable[0] & 8) { + if (GET_INFTABLE(INFTABLE_03)) { return 0x1032; } else { return 0x1031; } } - if (gSaveContext.infTable[0] & 1) { + if (GET_INFTABLE(INFTABLE_00)) { this->unk_208 = 0; this->unk_209 = TEXT_STATE_NONE; - if (gSaveContext.infTable[0] & 2) { + if (GET_INFTABLE(INFTABLE_01)) { return 0x1003; } else { return 0x1002; @@ -186,16 +186,16 @@ s16 func_80AF56F4(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: switch (this->actor.textId) { case 0x1002: - gSaveContext.infTable[0] |= 2; + SET_INFTABLE(INFTABLE_01); ret = 0; break; case 0x1031: - gSaveContext.eventChkInf[0] |= 8; - gSaveContext.infTable[0] |= 8; + SET_EVENTCHKINF(EVENTCHKINF_03); + SET_INFTABLE(INFTABLE_03); ret = 0; break; case 0x1047: - gSaveContext.infTable[0] |= 0x20; + SET_INFTABLE(INFTABLE_05); ret = 0; break; default: @@ -382,14 +382,14 @@ s32 func_80AF5DFC(EnSa* this, GlobalContext* globalCtx) { } } if (globalCtx->sceneNum == SCENE_KOKIRI_HOME5 && !LINK_IS_ADULT && - INV_CONTENT(ITEM_OCARINA_FAIRY) == ITEM_OCARINA_FAIRY && !(gSaveContext.eventChkInf[4] & 1)) { + INV_CONTENT(ITEM_OCARINA_FAIRY) == ITEM_OCARINA_FAIRY && !GET_EVENTCHKINF(EVENTCHKINF_40)) { return 1; } - if (globalCtx->sceneNum == SCENE_SPOT05 && (gSaveContext.eventChkInf[4] & 1)) { + if (globalCtx->sceneNum == SCENE_SPOT05 && GET_EVENTCHKINF(EVENTCHKINF_40)) { return CHECK_QUEST_ITEM(QUEST_SONG_SARIA) ? 2 : 5; } if (globalCtx->sceneNum == SCENE_SPOT04 && !CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD)) { - if (gSaveContext.infTable[0] & 1) { + if (GET_INFTABLE(INFTABLE_00)) { return 1; } return 4; @@ -585,7 +585,7 @@ void func_80AF6448(EnSa* this, GlobalContext* globalCtx) { break; } } else if (!CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD) && - ((gSaveContext.infTable[0] & 2) || (gSaveContext.infTable[0] & 8))) { + (GET_INFTABLE(INFTABLE_01) || GET_INFTABLE(INFTABLE_03))) { if (this->unk_20B != 3) { func_80AF5CD4(this, 3); } @@ -706,7 +706,7 @@ void func_80AF6B20(EnSa* this, GlobalContext* globalCtx) { this->actor.world.pos = this->actor.home.pos; this->actor.world.rot = this->unk_21A; this->mouthIndex = 0; - gSaveContext.infTable[0] |= 1; + SET_INFTABLE(INFTABLE_00); } this->actionFunc = func_80AF6448; diff --git a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c index 5535a69529..36ca5ca895 100644 --- a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c +++ b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c @@ -68,9 +68,9 @@ void EnShopnuts_Init(Actor* thisx, GlobalContext* globalCtx) { CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sColChkInfoInit); Collider_UpdateCylinder(&this->actor, &this->collider); - if (((this->actor.params == 0x0002) && (gSaveContext.itemGetInf[0] & 0x800)) || - ((this->actor.params == 0x0009) && (gSaveContext.infTable[25] & 4)) || - ((this->actor.params == 0x000A) && (gSaveContext.infTable[25] & 8))) { + if (((this->actor.params == 0x0002) && GET_ITEMGETINF(ITEMGETINF_0B)) || + ((this->actor.params == 0x0009) && GET_INFTABLE(INFTABLE_192)) || + ((this->actor.params == 0x000A) && GET_INFTABLE(INFTABLE_193))) { Actor_Kill(&this->actor); } else { EnShopnuts_SetupWait(this); diff --git a/src/overlays/actors/ovl_En_Skj/z_en_skj.c b/src/overlays/actors/ovl_En_Skj/z_en_skj.c index aa77c4e3b4..9ccdf22f38 100644 --- a/src/overlays/actors/ovl_En_Skj/z_en_skj.c +++ b/src/overlays/actors/ovl_En_Skj/z_en_skj.c @@ -340,9 +340,9 @@ void EnSkj_CalculateCenter(EnSkj* this) { void EnSkj_SetNaviId(EnSkj* this) { switch (this->actor.params) { case 0: - if (gSaveContext.itemGetInf[3] & 0x200) { + if (GET_ITEMGETINF(ITEMGETINF_39)) { this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID_MASK; - } else if (gSaveContext.itemGetInf[1] & 0x40) { + } else if (GET_ITEMGETINF(ITEMGETINF_16)) { this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID_FRIENDLY; } else { this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID; // No Sarias song no skull mask @@ -711,7 +711,7 @@ void EnSkj_SetupResetFight(EnSkj* this) { void EnSkj_SariasSongKidIdle(EnSkj* this, GlobalContext* globalCtx) { if (this->actor.params == 0) { - if (!(gSaveContext.itemGetInf[1] & 0x40) && (this->actor.xzDistToPlayer < 200.0f)) { + if (!GET_ITEMGETINF(ITEMGETINF_16) && (this->actor.xzDistToPlayer < 200.0f)) { this->backflipFlag = 1; EnSkj_Backflip(this); } else if (sSmallStumpSkullKid.unk_0 != 0) { @@ -915,7 +915,7 @@ void EnSkj_WaitInRange(EnSkj* this, GlobalContext* globalCtx) { player->actor.world.pos.x = sSmallStumpSkullKid.skullkid->actor.world.pos.x; player->actor.world.pos.y = sSmallStumpSkullKid.skullkid->actor.world.pos.y; player->actor.world.pos.z = sSmallStumpSkullKid.skullkid->actor.world.pos.z; - if ((Player_GetMask(globalCtx) == PLAYER_MASK_SKULL) && !(gSaveContext.itemGetInf[3] & 0x200)) { + if ((Player_GetMask(globalCtx) == PLAYER_MASK_SKULL) && !GET_ITEMGETINF(ITEMGETINF_39)) { func_80078884(NA_SE_SY_TRE_BOX_APPEAR); EnSkj_SetupMaskTrade(this); } else { @@ -925,8 +925,8 @@ void EnSkj_WaitInRange(EnSkj* this, GlobalContext* globalCtx) { EnSkj_SetupResetFight(this); } else { player->stateFlags2 |= PLAYER_STATE2_23; - if (gSaveContext.itemGetInf[1] & 0x40) { - if (gSaveContext.itemGetInf[3] & 0x200) { + if (GET_ITEMGETINF(ITEMGETINF_16)) { + if (GET_ITEMGETINF(ITEMGETINF_39)) { this->textId = Text_GetFaceReaction(globalCtx, 0x15); if (this->textId == 0) { this->textId = 0x1020; @@ -952,8 +952,8 @@ void EnSkj_WaitForSong(EnSkj* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); // Played a song thats not Saria's song - if (!(gSaveContext.itemGetInf[1] & 0x40) && ((globalCtx->msgCtx.msgMode == MSGMODE_OCARINA_FAIL) || - (globalCtx->msgCtx.msgMode == MSGMODE_OCARINA_FAIL_NO_TEXT))) { + if (!GET_ITEMGETINF(ITEMGETINF_16) && ((globalCtx->msgCtx.msgMode == MSGMODE_OCARINA_FAIL) || + (globalCtx->msgCtx.msgMode == MSGMODE_OCARINA_FAIL_NO_TEXT))) { globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; Message_CloseTextbox(globalCtx); player->unk_6A8 = &this->actor; @@ -973,7 +973,7 @@ void EnSkj_WaitForSong(EnSkj* this, GlobalContext* globalCtx) { EnSkj_ChangeAnim(this, SKJ_ANIM_WAIT); EnSkj_SetupAction(this, SKJ_ACTION_SARIA_SONG_WAIT_IN_RANGE); } else if (globalCtx->msgCtx.ocarinaMode == OCARINA_MODE_03) { - if (!(gSaveContext.itemGetInf[1] & 0x40)) { + if (!GET_ITEMGETINF(ITEMGETINF_16)) { // Saria's song has been played for the first titme globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; func_80078884(NA_SE_SY_CORRECT_CHIME); @@ -992,7 +992,7 @@ void EnSkj_WaitForSong(EnSkj* this, GlobalContext* globalCtx) { } else { if (globalCtx->msgCtx.ocarinaMode >= OCARINA_MODE_05) { gSaveContext.sunsSongState = 0; - if (gSaveContext.itemGetInf[1] & 0x40) { + if (GET_ITEMGETINF(ITEMGETINF_16)) { globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04; player->unk_6A8 = &this->actor; func_8002F2CC(&this->actor, globalCtx, EnSkj_GetItemXzRange(this)); @@ -1031,7 +1031,7 @@ void EnSkj_SariaSongTalk(EnSkj* this, GlobalContext* globalCtx) { s32 pad; if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { - if (gSaveContext.itemGetInf[1] & 0x40) { + if (GET_ITEMGETINF(ITEMGETINF_16)) { EnSkj_SetupWaitInRange(this); } else { func_80AFFE24(this); @@ -1060,7 +1060,7 @@ void EnSkj_SetupPostSariasSong(EnSkj* this) { void EnSkj_ChangeModeAfterSong(EnSkj* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { - gSaveContext.itemGetInf[1] |= 0x40; + SET_ITEMGETINF(ITEMGETINF_16); EnSkj_SetNaviId(this); EnSkj_SetupWaitInRange(this); } @@ -1156,7 +1156,7 @@ void EnSkj_SetupTakeMask(EnSkj* this, GlobalContext* globalCtx) { void EnSkj_TakeMask(EnSkj* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { Rupees_ChangeBy(10); - gSaveContext.itemGetInf[3] |= 0x200; + SET_ITEMGETINF(ITEMGETINF_39); EnSkj_SetNaviId(this); Player_UnsetMask(globalCtx); Item_Give(globalCtx, ITEM_SOLD_OUT); @@ -1551,7 +1551,7 @@ void EnSkj_FinishOcarinaGameRound(EnSkj* this, GlobalContext* globalCtx) { } if (ocarinaGameRoundNum == 2) { - gSaveContext.itemGetInf[1] |= 0x80; + SET_ITEMGETINF(ITEMGETINF_17); this->actionFunc = EnSkj_CleanupOcarinaGame; } else { EnSkj_OfferNextRound(this, globalCtx); @@ -1604,7 +1604,7 @@ s32 EnSkj_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, void EnSkj_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_skj.c", 2417); - if ((limbIndex == 11) && (gSaveContext.itemGetInf[3] & 0x200)) { + if ((limbIndex == 11) && GET_ITEMGETINF(ITEMGETINF_39)) { func_80093D18(globalCtx->state.gfxCtx); Matrix_Push(); Matrix_RotateZYX(-0x4000, 0, 0, MTXMODE_APPLY); diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c index ffd094df1c..980ebc2de9 100644 --- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c +++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c @@ -665,13 +665,13 @@ void EnSsh_Idle(EnSsh* this, GlobalContext* globalCtx) { if (Actor_ProcessTalkRequest(&this->actor, globalCtx)) { this->actionFunc = EnSsh_Talk; if (this->actor.params == ENSSH_FATHER) { - gSaveContext.eventChkInf[9] |= 0x40; + SET_EVENTCHKINF(EVENTCHKINF_96); } if ((this->actor.textId == 0x26) || (this->actor.textId == 0x27)) { - gSaveContext.infTable[25] |= 0x40; + SET_INFTABLE(INFTABLE_196); } if ((this->actor.textId == 0x24) || (this->actor.textId == 0x25)) { - gSaveContext.infTable[25] |= 0x80; + SET_INFTABLE(INFTABLE_197); } } else { if ((this->unkTimer != 0) && (DECR(this->unkTimer) == 0)) { @@ -696,13 +696,13 @@ void EnSsh_Idle(EnSsh* this, GlobalContext* globalCtx) { if (gSaveContext.inventory.gsTokens >= 50) { this->actor.textId = 0x29; } else if (gSaveContext.inventory.gsTokens >= 10) { - if (gSaveContext.infTable[25] & 0x80) { + if (GET_INFTABLE(INFTABLE_197)) { this->actor.textId = 0x24; } else { this->actor.textId = 0x25; } } else { - if (gSaveContext.infTable[25] & 0x40) { + if (GET_INFTABLE(INFTABLE_196)) { this->actor.textId = 0x27; } else { this->actor.textId = 0x26; diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/src/overlays/actors/ovl_En_Sth/z_en_sth.c index db32fb971e..84ec5d0ce8 100644 --- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c +++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c @@ -75,7 +75,7 @@ static EnSthActionFunc sRewardObtainedWaitActions[6] = { }; static u16 sEventFlags[6] = { - 0x0000, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, + 0, EVENTCHKINF_DA_MASK, EVENTCHKINF_DB_MASK, EVENTCHKINF_DC_MASK, EVENTCHKINF_DD_MASK, EVENTCHKINF_DE_MASK, }; static s16 sGetItemIds[6] = { @@ -157,7 +157,7 @@ void EnSth_SetupAfterObjectLoaded(EnSth* this, GlobalContext* globalCtx) { this->eventFlag = sEventFlags[this->actor.params]; params = &this->actor.params; - if (gSaveContext.eventChkInf[13] & this->eventFlag) { + if (gSaveContext.eventChkInf[EVENTCHKINF_DA_DB_DC_DD_DE_INDEX] & this->eventFlag) { EnSth_SetupAction(this, sRewardObtainedWaitActions[*params]); } else { EnSth_SetupAction(this, EnSth_RewardUnobtainedWait); @@ -257,7 +257,7 @@ void EnSth_GiveReward(EnSth* this, GlobalContext* globalCtx) { if (Actor_HasParent(&this->actor, globalCtx)) { this->actor.parent = NULL; EnSth_SetupAction(this, EnSth_RewardObtainedTalk); - gSaveContext.eventChkInf[13] |= this->eventFlag; + gSaveContext.eventChkInf[EVENTCHKINF_DA_DB_DC_DD_DE_INDEX] |= this->eventFlag; } else { EnSth_GivePlayerItem(this, globalCtx); } 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 b2f6c36e29..3dcc9ab2d2 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 @@ -335,7 +335,7 @@ void EnSyatekiMan_EndGame(EnSyatekiMan* this, GlobalContext* globalCtx) { this->tempGallery = this->actor.parent; this->actor.parent = NULL; if (!LINK_IS_ADULT) { - if (!(gSaveContext.itemGetInf[0] & 0x2000)) { + if (!GET_ITEMGETINF(ITEMGETINF_0D)) { osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ Equip_Pachinko ☆☆☆☆☆ %d\n" VT_RST, CUR_UPG_VALUE(UPG_BULLET_BAG)); if (CUR_UPG_VALUE(UPG_BULLET_BAG) == 1) { @@ -347,7 +347,7 @@ void EnSyatekiMan_EndGame(EnSyatekiMan* this, GlobalContext* globalCtx) { this->getItemId = GI_RUPEE_PURPLE; } } else { - if (!(gSaveContext.itemGetInf[0] & 0x4000)) { + if (!GET_ITEMGETINF(ITEMGETINF_0E)) { osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ Equip_Bow ☆☆☆☆☆ %d\n" VT_RST, CUR_UPG_VALUE(UPG_QUIVER)); switch (CUR_UPG_VALUE(UPG_QUIVER)) { @@ -404,9 +404,9 @@ void EnSyatekiMan_FinishPrize(EnSyatekiMan* this, GlobalContext* globalCtx) { // "Successful completion" osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 正常終了 ☆☆☆☆☆ \n" VT_RST); if (!LINK_IS_ADULT) { - gSaveContext.itemGetInf[0] |= 0x2000; + SET_ITEMGETINF(ITEMGETINF_0D); } else if ((this->getItemId == GI_QUIVER_40) || (this->getItemId == GI_QUIVER_50)) { - gSaveContext.itemGetInf[0] |= 0x4000; + SET_ITEMGETINF(ITEMGETINF_0E); } this->gameResult = SYATEKI_RESULT_NONE; this->actor.parent = this->tempGallery; diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c index 95fc1a25a7..9e3035bfcf 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -71,9 +71,9 @@ void func_80B13AA0(EnTa* this, EnTaActionFunc arg1, EnTaUnkFunc arg2) { void func_80B13AAC(EnTa* this, GlobalContext* globalCtx) { u16 faceReaction = Text_GetFaceReaction(globalCtx, 24); - if (gSaveContext.eventInf[0] & 0x400) { - if (gSaveContext.eventInf[0] & 0x100) { - if (gSaveContext.itemGetInf[0] & 4) { + if (GET_EVENTINF(EVENTINF_0A)) { + if (GET_EVENTINF(EVENTINF_08)) { + if (GET_ITEMGETINF(ITEMGETINF_02)) { this->actor.textId = 0x2088; } else { this->actor.textId = 0x2086; @@ -81,10 +81,10 @@ void func_80B13AAC(EnTa* this, GlobalContext* globalCtx) { } else { this->actor.textId = 0x2085; } - gSaveContext.eventInf[0] &= ~0x100; + CLEAR_EVENTINF(EVENTINF_08); } else if (faceReaction == 0) { - if (gSaveContext.infTable[7] & 0x4000) { - if (gSaveContext.itemGetInf[0] & 4) { + if (GET_INFTABLE(INFTABLE_7E)) { + if (GET_ITEMGETINF(ITEMGETINF_02)) { this->actor.textId = 0x208B; } else { this->actor.textId = 0x207F; @@ -122,11 +122,11 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx2) { switch (this->actor.params) { case 1: osSyncPrintf(VT_FGCOL(CYAN) " 追放タロン \n" VT_RST); - if (gSaveContext.eventChkInf[6] & 0x800) { + if (GET_EVENTCHKINF(EVENTCHKINF_6B)) { Actor_Kill(&this->actor); } else if (!LINK_IS_ADULT) { Actor_Kill(&this->actor); - } else if (gSaveContext.eventChkInf[6] & 0x400) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_6A)) { func_80B13AA0(this, func_80B14CAC, func_80B167C0); this->eyeIndex = 0; Animation_PlayOnce(&this->skelAnime, &gTalonStandAnim); @@ -141,7 +141,7 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx2) { break; case 2: osSyncPrintf(VT_FGCOL(CYAN) " 出戻りタロン \n" VT_RST); - if (!(gSaveContext.eventChkInf[6] & 0x800)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_6B)) { Actor_Kill(&this->actor); } else if (!LINK_IS_ADULT) { Actor_Kill(&this->actor); @@ -158,9 +158,9 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx2) { default: osSyncPrintf(VT_FGCOL(CYAN) " その他のタロン \n" VT_RST); if (globalCtx->sceneNum == SCENE_SPOT15) { - if (gSaveContext.eventChkInf[1] & 0x10) { + if (GET_EVENTCHKINF(EVENTCHKINF_14)) { Actor_Kill(&this->actor); - } else if (gSaveContext.eventChkInf[1] & 0x8) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_13)) { func_80B13AA0(this, func_80B14C18, func_80B167C0); this->eyeIndex = 0; Animation_PlayOnce(&this->skelAnime, &gTalonStandAnim); @@ -174,7 +174,7 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx2) { } } else if (globalCtx->sceneNum == SCENE_SOUKO) { osSyncPrintf(VT_FGCOL(CYAN) " ロンロン牧場の倉庫 の タロン\n" VT_RST); - if (!(gSaveContext.eventChkInf[1] & 0x10)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_14)) { Actor_Kill(&this->actor); } else if (LINK_IS_ADULT) { Actor_Kill(&this->actor); @@ -193,12 +193,12 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx2) { this->actor.world.pos.y + 40.0f, this->actor.world.pos.z - 30.0f, 0, 0, 0, 0xD); func_80B13AAC(this, globalCtx); - if (gSaveContext.eventInf[0] & 0x400) { + if (GET_EVENTINF(EVENTINF_0A)) { func_80B13AA0(this, func_80B16608, func_80B16938); Animation_Change(&this->skelAnime, &gTalonSitWakeUpAnim, 1.0f, Animation_GetLastFrame(&gTalonSitWakeUpAnim) - 1.0f, Animation_GetLastFrame(&gTalonSitWakeUpAnim), ANIMMODE_ONCE, 0.0f); - gSaveContext.eventInf[0] &= ~0x400; + CLEAR_EVENTINF(EVENTINF_0A); } else { func_80B13AA0(this, func_80B16504, func_80B16854); this->eyeIndex = 0; @@ -274,10 +274,10 @@ void func_80B143D4(EnTa* this, GlobalContext* globalCtx) { void func_80B14410(EnTa* this) { if (!LINK_IS_ADULT) { func_80B13AA0(this, func_80B14C18, func_80B167C0); - gSaveContext.eventChkInf[1] |= 0x8; + SET_EVENTCHKINF(EVENTCHKINF_13); } else { func_80B13AA0(this, func_80B14CAC, func_80B167C0); - gSaveContext.eventChkInf[6] |= 0x400; + SET_EVENTCHKINF(EVENTCHKINF_6A); } } @@ -462,7 +462,7 @@ void func_80B14B6C(EnTa* this, GlobalContext* globalCtx) { OnePointCutscene_Init(globalCtx, 4175, -99, &this->actor, MAIN_CAM); func_80B13AA0(this, func_80B14AF4, func_80B167C0); this->unk_2CC = 5; - gSaveContext.eventChkInf[1] |= 0x10; + SET_EVENTCHKINF(EVENTCHKINF_14); Animation_PlayOnce(&this->skelAnime, &gTalonRunTransitionAnim); this->currentAnimation = &gTalonRunAnim; } @@ -484,10 +484,10 @@ void func_80B14C60(EnTa* this, GlobalContext* globalCtx) { } void func_80B14CAC(EnTa* this, GlobalContext* globalCtx) { - if (gSaveContext.eventChkInf[1] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_18)) { if (func_80B142F4(this, globalCtx, 0x5017)) { func_80B13AA0(this, func_80B14C60, func_80B167C0); - gSaveContext.eventChkInf[6] |= 0x800; + SET_EVENTCHKINF(EVENTCHKINF_6B); } } else if (func_80B142F4(this, globalCtx, 0x5016)) { func_80B13AA0(this, func_80B14C60, func_80B167C0); @@ -665,7 +665,7 @@ void func_80B15424(EnTa* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx)) { globalCtx->nextEntranceIndex = 0x5E4; - if (gSaveContext.eventInf[0] & 0x100) { + if (GET_EVENTINF(EVENTINF_08)) { globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST); gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE; } else { @@ -674,7 +674,7 @@ void func_80B15424(EnTa* this, GlobalContext* globalCtx) { } globalCtx->transitionTrigger = TRANS_TRIGGER_START; - gSaveContext.eventInf[0] |= 0x400; + SET_EVENTINF(EVENTINF_0A); this->actionFunc = func_80B153D4; this->unk_2CC = 22; } @@ -708,7 +708,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) { -10.0f); this->unk_2E0 &= ~0x10; this->unk_2E0 &= ~0x100; - gSaveContext.eventInf[0] |= 0x100; + SET_EVENTINF(EVENTINF_08); Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_STOP); this->unk_2E0 &= ~0x200; Audio_PlayFanfare(NA_BGM_SMALL_ITEM_GET); @@ -746,7 +746,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) { Message_StartTextbox(globalCtx, 0x2081, &this->actor); this->actionFunc = func_80B15424; func_80B14E28(this, globalCtx); - gSaveContext.eventInf[0] &= ~0x100; + CLEAR_EVENTINF(EVENTINF_08); this->unk_2E0 |= 0x80; Animation_Change(&this->skelAnime, &gTalonSitHandsUpAnim, 1.0f, 8.0f, 29.0f, ANIMMODE_ONCE, -10.0f); this->unk_2E0 &= ~0x10; @@ -866,7 +866,7 @@ void func_80B15E80(EnTa* this, GlobalContext* globalCtx) { this->actor.parent = NULL; this->actionFunc = func_80B15E28; if (!(this->unk_2E0 & 0x2)) { - gSaveContext.itemGetInf[0] |= 4; + SET_ITEMGETINF(ITEMGETINF_02); } this->unk_2E0 &= ~0x2; } else if (this->unk_2E0 & 2) { @@ -973,8 +973,8 @@ void func_80B162E8(EnTa* this, GlobalContext* globalCtx) { void func_80B16364(EnTa* this, GlobalContext* globalCtx) { if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx)) { - gSaveContext.infTable[7] |= 0x4000; - if (gSaveContext.itemGetInf[0] & 4) { + SET_INFTABLE(INFTABLE_7E); + if (GET_ITEMGETINF(ITEMGETINF_02)) { Message_ContinueTextbox(globalCtx, 0x208B); func_80B13AA0(this, func_80B15FE8, func_80B16938); } else { @@ -1013,7 +1013,7 @@ void func_80B16504(EnTa* this, GlobalContext* globalCtx) { if (faceReaction != 0) { func_80B14FAC(this, func_80B15E28); } else { - gSaveContext.infTable[7] |= 0x4000; + SET_INFTABLE(INFTABLE_7E); switch (this->actor.textId) { case 0x207E: diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index df0fdb74c8..257200c83a 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -338,7 +338,7 @@ u16 func_80B1C54C(GlobalContext* globalCtx, Actor* thisx) { return ret; } - if (gSaveContext.infTable[13] & 0x0200) { + if (GET_INFTABLE(INFTABLE_D9)) { /* "Do you want me to dig here? ..." */ return 0x5019; } else { @@ -357,7 +357,7 @@ s16 func_80B1C5A0(GlobalContext* globalCtx, Actor* thisx) { case TEXT_STATE_CLOSING: /* "I am the boss of the carpenters ..." (wtf?) */ if (thisx->textId == 0x5028) { - gSaveContext.infTable[13] |= 0x0100; + SET_INFTABLE(INFTABLE_D8); } ret = 0; break; @@ -374,11 +374,11 @@ s16 func_80B1C5A0(GlobalContext* globalCtx, Actor* thisx) { } else { globalCtx->msgCtx.msgMode = MSGMODE_PAUSED; Rupees_ChangeBy(-10); - gSaveContext.infTable[13] |= 0x0200; + SET_INFTABLE(INFTABLE_D9); return 2; } Message_ContinueTextbox(globalCtx, thisx->textId); - gSaveContext.infTable[13] |= 0x0200; + SET_INFTABLE(INFTABLE_D9); } break; case TEXT_STATE_EVENT: @@ -610,8 +610,8 @@ void EnTk_Dig(EnTk* this, GlobalContext* globalCtx) { * Upgrade the purple rupee reward to the heart piece if this * is the first grand prize dig. */ - if (!(gSaveContext.itemGetInf[1] & 0x1000)) { - gSaveContext.itemGetInf[1] |= 0x1000; + if (!GET_ITEMGETINF(ITEMGETINF_1C)) { + SET_ITEMGETINF(ITEMGETINF_1C); this->currentReward = 4; } } diff --git a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c index 61ee1cab78..a628000301 100644 --- a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c +++ b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c @@ -171,7 +171,7 @@ s32 func_80B203D8(EnToryo* this, GlobalContext* globalCtx) { case 0x5028: ret = 1; if (Message_ShouldAdvance(globalCtx)) { - gSaveContext.infTable[23] |= 4; + SET_INFTABLE(INFTABLE_172); ret = 0; } break; @@ -184,14 +184,14 @@ s32 func_80B203D8(EnToryo* this, GlobalContext* globalCtx) { case 0x606F: ret = 1; if (Message_ShouldAdvance(globalCtx)) { - gSaveContext.infTable[23] |= 2; + SET_INFTABLE(INFTABLE_171); ret = 0; } break; case 0x606A: ret = 1; if (Message_ShouldAdvance(globalCtx)) { - gSaveContext.infTable[23] |= 1; + SET_INFTABLE(INFTABLE_170); ret = 0; } break; @@ -240,7 +240,7 @@ u32 func_80B20634(EnToryo* this, GlobalContext* globalCtx) { if (this->unk_1E0 != 0) { if (this->unk_1E0 == 10) { func_80078884(NA_SE_SY_TRE_BOX_APPEAR); - if (gSaveContext.infTable[23] & 2) { + if (GET_INFTABLE(INFTABLE_171)) { ret = 0x606E; } else { ret = 0x606D; @@ -259,15 +259,16 @@ s32 func_80B206A0(EnToryo* this, GlobalContext* globalCtx) { if (textId == 0) { if ((this->stateFlags & 1)) { - if ((gSaveContext.eventChkInf[9] & 0xF) == 0xF) { + if (CHECK_FLAG_ALL(gSaveContext.eventChkInf[EVENTCHKINF_90_91_92_93_INDEX], + EVENTCHKINF_90_MASK | EVENTCHKINF_91_MASK | EVENTCHKINF_92_MASK | EVENTCHKINF_93_MASK)) { ret = 0x606C; - } else if ((gSaveContext.infTable[23] & 1)) { + } else if (GET_INFTABLE(INFTABLE_170)) { ret = 0x606B; } else { ret = 0x606A; } } else if ((this->stateFlags & 2)) { - if ((gSaveContext.infTable[23] & 4)) { + if (GET_INFTABLE(INFTABLE_172)) { ret = 0x5029; } else { ret = 0x5028; diff --git a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c index a8fa0a059b..e50d950a66 100644 --- a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c +++ b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c @@ -66,7 +66,7 @@ void EnWeatherTag_Init(Actor* thisx, GlobalContext* globalCtx) { osSyncPrintf("\n\n"); // "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n" VT_RST); - if (Flags_GetEventChkInf(0x18)) { + if (Flags_GetEventChkInf(EVENTCHKINF_18)) { Actor_Kill(&this->actor); } EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledCloudyLonLonRanch); @@ -76,7 +76,7 @@ void EnWeatherTag_Init(Actor* thisx, GlobalContext* globalCtx) { // "☆☆☆☆☆ Yukigafuru You won't come (._.) ☆☆☆☆☆" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ ゆきがふるー あなたはこないー (._.) ☆☆☆☆☆ \n" VT_RST); - if (gSaveContext.eventChkInf[4] & 0x400) { + if (GET_EVENTCHKINF(EVENTCHKINF_4A)) { Actor_Kill(&this->actor); } EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledCloudySnow); @@ -86,7 +86,7 @@ void EnWeatherTag_Init(Actor* thisx, GlobalContext* globalCtx) { // "☆☆☆☆☆ Wow wa wa na wa saa ki ha (^o^) ☆☆☆☆☆" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ わわわわー なーがーさーきーはー (^o^) ☆☆☆☆☆ \n" VT_RST); - if (gSaveContext.eventChkInf[4] & 0x400) { + if (GET_EVENTCHKINF(EVENTCHKINF_4A)) { Actor_Kill(&this->actor); } EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledRainLakeHylia); @@ -95,7 +95,7 @@ void EnWeatherTag_Init(Actor* thisx, GlobalContext* globalCtx) { osSyncPrintf("\n\n"); // "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n" VT_RST); - if (gSaveContext.eventChkInf[4] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_49)) { Actor_Kill(&this->actor); } EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledCloudyDeathMountain); @@ -105,8 +105,8 @@ void EnWeatherTag_Init(Actor* thisx, GlobalContext* globalCtx) { // "☆☆☆☆☆ Cloudy Rain Thunder (;O;) Uo Melancholy ☆☆☆☆☆" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり雨雷 (;O;) うおお 憂鬱 ☆☆☆☆☆ \n" VT_RST); - if (!(gSaveContext.eventChkInf[4] & 0x100) || !(gSaveContext.eventChkInf[4] & 0x200) || - !(gSaveContext.eventChkInf[4] & 0x400) || CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_48) || !GET_EVENTCHKINF(EVENTCHKINF_49) || + !GET_EVENTCHKINF(EVENTCHKINF_4A) || CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) { Actor_Kill(&this->actor); } EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledCloudyRainThunderKakariko); diff --git a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c index 4daf7e1bd5..7b16d0f8bf 100644 --- a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c +++ b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c @@ -105,7 +105,7 @@ void func_80B391CC(EnWonderTalk* this, GlobalContext* globalCtx) { // "Attention coordinates" osSyncPrintf(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 注目座標\t \t☆☆☆☆☆ %f\n" VT_RST, 0.0f); this->unk_15C = 120.0f; - if (gSaveContext.eventChkInf[1] & 0x2000) { + if (GET_EVENTCHKINF(EVENTCHKINF_1D)) { Actor_Kill(&this->actor); } break; @@ -133,7 +133,7 @@ void func_80B3943C(EnWonderTalk* this, GlobalContext* globalCtx) { s16 yawDiffTemp; this->unk_15A++; - if (this->unk_150 == 4 && (gSaveContext.eventChkInf[1] & 0x2000)) { + if (this->unk_150 == 4 && GET_EVENTCHKINF(EVENTCHKINF_1D)) { Actor_Kill(&this->actor); return; } diff --git a/src/overlays/actors/ovl_En_Xc/z_en_xc.c b/src/overlays/actors/ovl_En_Xc/z_en_xc.c index d7f95c6ed8..0eba2093f1 100644 --- a/src/overlays/actors/ovl_En_Xc/z_en_xc.c +++ b/src/overlays/actors/ovl_En_Xc/z_en_xc.c @@ -275,7 +275,7 @@ void func_80B3C9EC(EnXc* this) { void func_80B3CA38(EnXc* this, GlobalContext* globalCtx) { // If Player is adult but hasn't learned Minuet of Forest - if (!(gSaveContext.eventChkInf[5] & 1) && LINK_IS_ADULT) { + if (!GET_EVENTCHKINF(EVENTCHKINF_50) && LINK_IS_ADULT) { this->action = SHEIK_ACTION_INIT; } else { Actor_Kill(&this->actor); @@ -291,7 +291,7 @@ s32 EnXc_MinuetCS(EnXc* this, GlobalContext* globalCtx) { if (!Gameplay_InCsMode(globalCtx)) { globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&gMinuetCs); gSaveContext.cutsceneTrigger = 1; - gSaveContext.eventChkInf[5] |= 1; + SET_EVENTCHKINF(EVENTCHKINF_50); Item_Give(globalCtx, ITEM_SONG_MINUET); return true; } @@ -303,7 +303,7 @@ s32 EnXc_MinuetCS(EnXc* this, GlobalContext* globalCtx) { void func_80B3CB58(EnXc* this, GlobalContext* globalCtx) { // If hasn't learned Bolero and Player is Adult - if (!(gSaveContext.eventChkInf[5] & 2) && LINK_IS_ADULT) { + if (!GET_EVENTCHKINF(EVENTCHKINF_51) && LINK_IS_ADULT) { this->action = SHEIK_ACTION_INIT; } else { Actor_Kill(&this->actor); @@ -322,7 +322,7 @@ s32 EnXc_BoleroCS(EnXc* this, GlobalContext* globalCtx) { !Gameplay_InCsMode(globalCtx)) { globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&gDeathMountainCraterBoleroCs); gSaveContext.cutsceneTrigger = 1; - gSaveContext.eventChkInf[5] |= 2; + SET_EVENTCHKINF(EVENTCHKINF_51); Item_Give(globalCtx, ITEM_SONG_BOLERO); return true; } @@ -333,7 +333,7 @@ s32 EnXc_BoleroCS(EnXc* this, GlobalContext* globalCtx) { void EnXc_SetupSerenadeAction(EnXc* this, GlobalContext* globalCtx) { // Player is adult and does not have iron boots and has not learned Serenade - if ((!CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1) && !(gSaveContext.eventChkInf[5] & 4)) && LINK_IS_ADULT) { + if (!CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1) && !GET_EVENTCHKINF(EVENTCHKINF_52) && LINK_IS_ADULT) { this->action = SHEIK_ACTION_SERENADE; osSyncPrintf("水のセレナーデ シーク誕生!!!!!!!!!!!!!!!!!!\n"); } else { @@ -347,11 +347,11 @@ s32 EnXc_SerenadeCS(EnXc* this, GlobalContext* globalCtx) { Player* player = GET_PLAYER(globalCtx); s32 stateFlags = player->stateFlags1; - if (CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1) && !(gSaveContext.eventChkInf[5] & 4) && - !(stateFlags & PLAYER_STATE1_29) && !Gameplay_InCsMode(globalCtx)) { + if (CHECK_OWNED_EQUIP(EQUIP_BOOTS, 1) && !GET_EVENTCHKINF(EVENTCHKINF_52) && !(stateFlags & PLAYER_STATE1_29) && + !Gameplay_InCsMode(globalCtx)) { Cutscene_SetSegment(globalCtx, &gIceCavernSerenadeCs); gSaveContext.cutsceneTrigger = 1; - gSaveContext.eventChkInf[5] |= 4; // Learned Serenade of Water Flag + SET_EVENTCHKINF(EVENTCHKINF_52); // Learned Serenade of Water Flag Item_Give(globalCtx, ITEM_SONG_SERENADE); osSyncPrintf("ブーツを取った!!!!!!!!!!!!!!!!!!\n"); return true; @@ -2145,18 +2145,18 @@ void EnXc_DrawSquintingEyes(Actor* thisx, GlobalContext* globalCtx) { void EnXc_InitTempleOfTime(EnXc* this, GlobalContext* globalCtx) { if (LINK_IS_ADULT) { - if (!(gSaveContext.eventChkInf[12] & 0x20)) { - gSaveContext.eventChkInf[12] |= 0x20; + if (!GET_EVENTCHKINF(EVENTCHKINF_C5)) { + SET_EVENTCHKINF(EVENTCHKINF_C5); globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gTempleOfTimeFirstAdultCs); gSaveContext.cutsceneTrigger = 1; func_80B3EBF0(this, globalCtx); - } else if (!(gSaveContext.eventChkInf[5] & 0x20) && (gSaveContext.eventChkInf[4] & 0x100)) { - gSaveContext.eventChkInf[5] |= 0x20; + } else if (!GET_EVENTCHKINF(EVENTCHKINF_55) && GET_EVENTCHKINF(EVENTCHKINF_48)) { + SET_EVENTCHKINF(EVENTCHKINF_55); Item_Give(globalCtx, ITEM_SONG_PRELUDE); globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gTempleOfTimePreludeCs); gSaveContext.cutsceneTrigger = 1; this->action = SHEIK_ACTION_30; - } else if (!(gSaveContext.eventChkInf[5] & 0x20)) { + } else if (!GET_EVENTCHKINF(EVENTCHKINF_55)) { func_80B3C9EC(this); } else { Actor_Kill(&this->actor); diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c index 6467a53dfc..9905f9a38e 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c @@ -92,15 +92,16 @@ void EnZl1_Init(Actor* thisx, GlobalContext* globalCtx) { Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f); this->unk_1E6 = 0; this->actionFunc = func_80B4BC78; - } else if (Flags_GetEventChkInf(9) && Flags_GetEventChkInf(0x25) && Flags_GetEventChkInf(0x37)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25) && + Flags_GetEventChkInf(EVENTCHKINF_37)) { Actor_Kill(&this->actor); - } else if ((Flags_GetEventChkInf(9) && Flags_GetEventChkInf(0x25)) || - (Flags_GetEventChkInf(9) && Flags_GetEventChkInf(0x37))) { + } else if ((Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_25)) || + (Flags_GetEventChkInf(EVENTCHKINF_09) && Flags_GetEventChkInf(EVENTCHKINF_37))) { frameCount = Animation_GetLastFrame(&gChildZelda1Anim_00438); Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f); this->actor.textId = 0x703D; this->actionFunc = func_80B4AF18; - } else if (Flags_GetEventChkInf(0x40)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_40)) { frameCount = Animation_GetLastFrame(&gChildZelda1Anim_00438); Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f); this->actor.textId = 0x703C; @@ -532,7 +533,7 @@ void func_80B4BF2C(EnZl1* this, GlobalContext* globalCtx) { if ((Message_GetState(msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(globalCtx)) { this->actor.textId = 0x703C; Message_ContinueTextbox(globalCtx, this->actor.textId); - Flags_SetEventChkInf(0x40); + Flags_SetEventChkInf(EVENTCHKINF_40); this->unk_1E2 = 6; } break; diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c index 15b9389a8d..6c208f13a4 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c @@ -2583,7 +2583,7 @@ void func_80B59AD0(EnZl3* this, GlobalContext* globalCtx) { func_80088AA0(180); func_80B54EA4(this, globalCtx); func_80B53614(this, globalCtx); - gSaveContext.eventChkInf[12] &= ~0x80; + CLEAR_EVENTCHKINF(EVENTCHKINF_C7); func_80B56F10(this, globalCtx); gSaveContext.healthAccumulator = 320; Magic_Fill(globalCtx); diff --git a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c index 83978ec6ee..934aa018ea 100644 --- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c +++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c @@ -374,7 +374,7 @@ void EnZl4_Init(Actor* thisx, GlobalContext* globalCtx) { if (gSaveContext.sceneSetupIndex >= 4) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_0); this->actionFunc = EnZl4_TheEnd; - } else if (gSaveContext.eventChkInf[4] & 1) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_40)) { Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ZL4_ANIM_0); this->actionFunc = EnZl4_Idle; } else { @@ -1180,7 +1180,7 @@ void EnZl4_Cutscene(EnZl4* this, GlobalContext* globalCtx) { if (EnZl4_CsMakePlan(this, globalCtx)) { func_8002DF54(globalCtx, &this->actor, 7); gSaveContext.unk_13EE = 0x32; - gSaveContext.eventChkInf[4] |= 1; + SET_EVENTCHKINF(EVENTCHKINF_40); this->actionFunc = EnZl4_Idle; } break; diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.c b/src/overlays/actors/ovl_En_Zo/z_en_zo.c index 6ddc08a011..9606bcead7 100644 --- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c +++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c @@ -364,7 +364,7 @@ u16 func_80B61024(GlobalContext* globalCtx, Actor* thisx) { switch (thisx->params & 0x3F) { case 8: - if (gSaveContext.eventChkInf[3] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_30)) { return 0x402A; } break; @@ -379,7 +379,7 @@ u16 func_80B61024(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) { return 0x402D; } - if (gSaveContext.eventChkInf[3] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_30)) { return 0x4007; } break; @@ -389,8 +389,8 @@ u16 func_80B61024(GlobalContext* globalCtx, Actor* thisx) { return 0x402E; } - if (gSaveContext.eventChkInf[3] & 1) { - return (gSaveContext.infTable[18] & 0x10) ? 0x4009 : 0x4008; + if (GET_EVENTCHKINF(EVENTCHKINF_30)) { + return GET_INFTABLE(INFTABLE_124) ? 0x4009 : 0x4008; } break; @@ -398,10 +398,10 @@ u16 func_80B61024(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) { return 0x402D; } - if (gSaveContext.eventChkInf[3] & 2) { - return (gSaveContext.infTable[18] & 0x200) ? 0x400B : 0x402F; + if (GET_EVENTCHKINF(EVENTCHKINF_31)) { + return GET_INFTABLE(INFTABLE_129) ? 0x400B : 0x402F; } - if (gSaveContext.eventChkInf[3] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_30)) { return 0x400A; } break; @@ -410,7 +410,7 @@ u16 func_80B61024(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) { return 0x402E; } - if (gSaveContext.eventChkInf[3] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_30)) { return 0x400C; } break; @@ -420,10 +420,10 @@ u16 func_80B61024(GlobalContext* globalCtx, Actor* thisx) { return 0x402D; } - if (gSaveContext.eventChkInf[3] & 8) { + if (GET_EVENTCHKINF(EVENTCHKINF_33)) { return 0x4010; } - if (gSaveContext.eventChkInf[3] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_30)) { return 0x400F; } break; @@ -432,7 +432,7 @@ u16 func_80B61024(GlobalContext* globalCtx, Actor* thisx) { if (CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) { return 0x402E; } - if (gSaveContext.eventChkInf[3] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_30)) { return 0x4011; } break; @@ -457,13 +457,13 @@ s16 func_80B61298(GlobalContext* globalCtx, Actor* thisx) { case 0x4021: return 0; case 0x4008: - gSaveContext.infTable[18] |= 0x10; + SET_INFTABLE(INFTABLE_124); break; case 0x402F: - gSaveContext.infTable[18] |= 0x200; + SET_INFTABLE(INFTABLE_129); break; } - gSaveContext.eventChkInf[3] |= 1; + SET_EVENTCHKINF(EVENTCHKINF_30); return 0; case TEXT_STATE_CHOICE: diff --git a/src/overlays/actors/ovl_En_fHG/z_en_fhg.c b/src/overlays/actors/ovl_En_fHG/z_en_fhg.c index c256bd64d5..e66ba56a66 100644 --- a/src/overlays/actors/ovl_En_fHG/z_en_fhg.c +++ b/src/overlays/actors/ovl_En_fHG/z_en_fhg.c @@ -128,13 +128,13 @@ void EnfHG_Intro(EnfHG* this, GlobalContext* globalCtx) { if ((fabsf(player->actor.world.pos.x - (GND_BOSSROOM_CENTER_X + 0.0f)) < 100.0f) && (fabsf(player->actor.world.pos.z - (GND_BOSSROOM_CENTER_Z + 315.0f)) < 100.0f)) { this->cutsceneState = INTRO_START; - if (gSaveContext.eventChkInf[7] & 4) { + if (GET_EVENTCHKINF(EVENTCHKINF_72)) { this->timers[0] = 57; } } break; case INTRO_START: - if (gSaveContext.eventChkInf[7] & 4) { + if (GET_EVENTCHKINF(EVENTCHKINF_72)) { if (this->timers[0] == 55) { Actor_SpawnAsChild(&globalCtx->actorCtx, &this->actor, globalCtx, ACTOR_DOOR_SHUTTER, GND_BOSSROOM_CENTER_X + 0.0f, GND_BOSSROOM_CENTER_Y - 97.0f, @@ -159,7 +159,7 @@ void EnfHG_Intro(EnfHG* this, GlobalContext* globalCtx) { this->timers[0] = 60; this->actor.world.pos.y = GND_BOSSROOM_CENTER_Y - 7.0f; Audio_QueueSeqCmd(0x1 << 28 | SEQ_PLAYER_BGM_MAIN << 24 | 0x100FF); - gSaveContext.eventChkInf[7] |= 4; + SET_EVENTCHKINF(EVENTCHKINF_72); Flags_SetSwitch(globalCtx, 0x23); case INTRO_FENCE: player->actor.world.pos.x = GND_BOSSROOM_CENTER_X + 0.0f; diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c index b538768def..0be39f481a 100644 --- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c +++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c @@ -81,7 +81,7 @@ void ItemEtcetera_Init(Actor* thisx, GlobalContext* globalCtx) { case ITEM_ETC_LETTER: Actor_SetScale(&this->actor, 0.5f); this->futureActionFunc = func_80B858B4; - if (gSaveContext.eventChkInf[3] & 2) { + if (GET_EVENTCHKINF(EVENTCHKINF_31)) { Actor_Kill(&this->actor); } break; @@ -119,7 +119,7 @@ void func_80B857D0(ItemEtcetera* this, GlobalContext* globalCtx) { void func_80B85824(ItemEtcetera* this, GlobalContext* globalCtx) { if (Actor_HasParent(&this->actor, globalCtx)) { if ((this->actor.params & 0xFF) == 1) { - gSaveContext.eventChkInf[3] |= 2; + SET_EVENTCHKINF(EVENTCHKINF_31); Flags_SetSwitch(globalCtx, 0xB); } Actor_Kill(&this->actor); @@ -131,7 +131,7 @@ void func_80B85824(ItemEtcetera* this, GlobalContext* globalCtx) { void func_80B858B4(ItemEtcetera* this, GlobalContext* globalCtx) { if (Actor_HasParent(&this->actor, globalCtx)) { if ((this->actor.params & 0xFF) == 1) { - gSaveContext.eventChkInf[3] |= 2; + SET_EVENTCHKINF(EVENTCHKINF_31); Flags_SetSwitch(globalCtx, 0xB); } Actor_Kill(&this->actor); diff --git a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c index 645b070318..9d40009151 100644 --- a/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c +++ b/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.c @@ -57,7 +57,7 @@ void ItemOcarina_Init(Actor* thisx, GlobalContext* globalCtx) { break; case 3: ItemOcarina_SetupAction(this, ItemOcarina_WaitInWater); - if (!(gSaveContext.eventChkInf[8] & 1) || (gSaveContext.eventChkInf[4] & 8)) { + if (!GET_EVENTCHKINF(EVENTCHKINF_80) || GET_EVENTCHKINF(EVENTCHKINF_43)) { Actor_Kill(thisx); return; } @@ -175,7 +175,7 @@ void ItemOcarina_StartSoTCutscene(ItemOcarina* this, GlobalContext* globalCtx) { void ItemOcarina_WaitInWater(ItemOcarina* this, GlobalContext* globalCtx) { if (Actor_HasParent(&this->actor, globalCtx)) { - gSaveContext.eventChkInf[4] |= 8; + SET_EVENTCHKINF(EVENTCHKINF_43); Flags_SetSwitch(globalCtx, 3); this->actionFunc = ItemOcarina_StartSoTCutscene; this->actor.draw = NULL; diff --git a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c index 20ec4e5d8f..2665ac068d 100644 --- a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c +++ b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c @@ -86,7 +86,7 @@ void ObjHana_Init(Actor* thisx, GlobalContext* globalCtx) { CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sColChkInfoInit); } - if (type == 2 && (gSaveContext.eventChkInf[4] & 1)) { + if (type == 2 && GET_EVENTCHKINF(EVENTCHKINF_40)) { Actor_Kill(&this->actor); } } diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c index f3069b5180..0e38e7ca94 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c @@ -114,22 +114,22 @@ void ObjectKankyo_Init(Actor* thisx, GlobalContext* globalCtx) { } // Check which beams are disabled - if (Flags_GetEventChkInf(0xBB)) { + if (Flags_GetEventChkInf(EVENTCHKINF_BB)) { this->effects[0].size = 0.0f; } - if (Flags_GetEventChkInf(0xBC)) { + if (Flags_GetEventChkInf(EVENTCHKINF_BC)) { this->effects[1].size = 0.0f; } - if (Flags_GetEventChkInf(0xBD)) { + if (Flags_GetEventChkInf(EVENTCHKINF_BD)) { this->effects[2].size = 0.0f; } - if (Flags_GetEventChkInf(0xBE)) { + if (Flags_GetEventChkInf(EVENTCHKINF_BE)) { this->effects[3].size = 0.0f; } - if (Flags_GetEventChkInf(0xBF)) { + if (Flags_GetEventChkInf(EVENTCHKINF_BF)) { this->effects[4].size = 0.0f; } - if (Flags_GetEventChkInf(0xAD)) { + if (Flags_GetEventChkInf(EVENTCHKINF_AD)) { this->effects[5].size = 0.0f; } 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 810838fb50..400311c0fb 100644 --- a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c +++ b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c @@ -80,7 +80,9 @@ void OceffSpot_End(OceffSpot* this, GlobalContext* globalCtx) { this->unk_174 -= 0.05f; } else { Actor_Kill(&this->actor); - if (gTimeIncrement != 400 && globalCtx->msgCtx.unk_E40E == 0 && (gSaveContext.eventInf[0] & 0xF) != 1) { + if (gTimeIncrement != 400 && globalCtx->msgCtx.unk_E40E == 0 && + ((gSaveContext.eventInf[EVENTINF_0X_INDEX] & + (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) != EVENTINF_00_MASK)) { if (globalCtx->msgCtx.ocarinaAction != OCARINA_ACTION_CHECK_NOWARP_DONE || globalCtx->msgCtx.ocarinaMode != OCARINA_MODE_08) { gSaveContext.sunsSongState = SUNSSONG_START; diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 56af01de6c..a1064af965 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -9331,8 +9331,8 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx2) { if ((gSaveContext.sceneSetupIndex < 4) && (gEntranceTable[((void)0, gSaveContext.entranceIndex) + ((void)0, gSaveContext.sceneSetupIndex)].field & 0x4000) && - ((globalCtx->sceneNum != SCENE_DDAN) || (gSaveContext.eventChkInf[11] & 1)) && - ((globalCtx->sceneNum != SCENE_NIGHT_SHOP) || (gSaveContext.eventChkInf[2] & 0x20))) { + ((globalCtx->sceneNum != SCENE_DDAN) || GET_EVENTCHKINF(EVENTCHKINF_B0)) && + ((globalCtx->sceneNum != SCENE_NIGHT_SHOP) || GET_EVENTCHKINF(EVENTCHKINF_25))) { TitleCard_InitPlaceName(globalCtx, &globalCtx->actorCtx.titleCtx, this->giObjectSegment, 160, 120, 144, 24, 20); } @@ -9347,7 +9347,7 @@ void Player_Init(Actor* thisx, GlobalContext* globalCtx2) { gSaveContext.respawn[RESPAWN_MODE_DOWN].data = 1; if (globalCtx->sceneNum <= SCENE_GANONTIKA_SONOGO) { - gSaveContext.infTable[26] |= gBitFlags[globalCtx->sceneNum]; + gSaveContext.infTable[INFTABLE_1AX_INDEX] |= gBitFlags[globalCtx->sceneNum]; } initMode = (thisx->params & 0xF00) >> 8; @@ -11767,7 +11767,7 @@ void func_8084D3E4(Player* this, GlobalContext* globalCtx) { this->actor.parent = NULL; AREG(6) = 0; - if (Flags_GetEventChkInf(0x18) || (DREG(1) != 0)) { + if (Flags_GetEventChkInf(EVENTCHKINF_18) || (DREG(1) != 0)) { gSaveContext.horseData.pos.x = rideActor->actor.world.pos.x; gSaveContext.horseData.pos.y = rideActor->actor.world.pos.y; gSaveContext.horseData.pos.z = rideActor->actor.world.pos.z; diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c index f58a291106..e462c55eda 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c @@ -470,7 +470,7 @@ void KaleidoScope_DrawEquipment(GlobalContext* globalCtx) { Inventory_ChangeEquipment(pauseCtx->cursorY[PAUSE_EQUIP], pauseCtx->cursorX[PAUSE_EQUIP]); if (pauseCtx->cursorY[PAUSE_EQUIP] == 0) { - gSaveContext.infTable[29] = 0; + gSaveContext.infTable[INFTABLE_1DX_INDEX] = 0; gSaveContext.equips.buttonItems[0] = cursorItem; if ((pauseCtx->cursorX[PAUSE_EQUIP] == 3) && (gSaveContext.bgsFlag != 0)) { diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c index 853a9c7ce2..bbedd20570 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -2664,7 +2664,7 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[1] = 1; } - if (gSaveContext.eventChkInf[11] & 4) { + if (GET_EVENTCHKINF(EVENTCHKINF_B2)) { pauseCtx->worldMapPoints[2] = 1; } @@ -2688,7 +2688,7 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[3] = 1; } - if (gSaveContext.eventChkInf[0] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_09)) { pauseCtx->worldMapPoints[4] = 1; } @@ -2700,19 +2700,19 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[4] = 1; } - if (gSaveContext.eventChkInf[6] & 0x400) { + if (GET_EVENTCHKINF(EVENTCHKINF_6A)) { pauseCtx->worldMapPoints[4] = 2; } - if (gSaveContext.eventChkInf[1] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_18)) { pauseCtx->worldMapPoints[4] = 1; } - if (gSaveContext.eventChkInf[0] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_09)) { pauseCtx->worldMapPoints[5] = 2; } - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { pauseCtx->worldMapPoints[5] = 1; } @@ -2720,7 +2720,7 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[5] = 2; } - if (gSaveContext.eventChkInf[4] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_45)) { pauseCtx->worldMapPoints[5] = 1; } @@ -2728,15 +2728,15 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[5] = 2; } - if (gSaveContext.eventChkInf[0] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_09)) { pauseCtx->worldMapPoints[6] = 1; } - if (gSaveContext.eventChkInf[4] & 1) { + if (GET_EVENTCHKINF(EVENTCHKINF_40)) { pauseCtx->worldMapPoints[7] = 2; } - if (gSaveContext.eventChkInf[2] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_25)) { pauseCtx->worldMapPoints[7] = 1; } @@ -2744,7 +2744,7 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[7] = 2; } - if (gSaveContext.eventChkInf[4] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_49)) { pauseCtx->worldMapPoints[7] = 1; } @@ -2760,7 +2760,7 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[8] = 1; } - if (gSaveContext.eventChkInf[4] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_45)) { pauseCtx->worldMapPoints[8] = 2; } @@ -2772,11 +2772,11 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[8] = 2; } - if (gSaveContext.eventChkInf[6] & 0x80) { + if (GET_EVENTCHKINF(EVENTCHKINF_67)) { pauseCtx->worldMapPoints[8] = 1; } - if (gSaveContext.eventChkInf[10] & 0x400) { + if (GET_EVENTCHKINF(EVENTCHKINF_AA)) { pauseCtx->worldMapPoints[8] = 2; } @@ -2788,7 +2788,7 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[9] = 1; } - if (gSaveContext.eventChkInf[0] & 0x8000) { + if (GET_EVENTCHKINF(EVENTCHKINF_0F)) { pauseCtx->worldMapPoints[9] = 2; } @@ -2800,21 +2800,21 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[9] = 2; } - if (gSaveContext.eventChkInf[4] & 0x100) { + if (GET_EVENTCHKINF(EVENTCHKINF_48)) { pauseCtx->worldMapPoints[9] = 1; } pauseCtx->worldMapPoints[10] = 2; - if (gSaveContext.eventChkInf[0] & 0x200) { + if (GET_EVENTCHKINF(EVENTCHKINF_09)) { pauseCtx->worldMapPoints[10] = 1; } - if (gSaveContext.eventChkInf[6] & 0x4000) { + if (GET_EVENTCHKINF(EVENTCHKINF_6E)) { pauseCtx->worldMapPoints[10] = 2; } - if (gSaveContext.eventChkInf[0] & 0x8000) { + if (GET_EVENTCHKINF(EVENTCHKINF_0F)) { pauseCtx->worldMapPoints[10] = 1; } @@ -2822,11 +2822,11 @@ void KaleidoScope_Update(GlobalContext* globalCtx) { pauseCtx->worldMapPoints[11] = 1; } - if (gSaveContext.eventChkInf[2] & 0x20) { + if (GET_EVENTCHKINF(EVENTCHKINF_25)) { pauseCtx->worldMapPoints[11] = 2; } - if (gSaveContext.eventChkInf[3] & 0x80) { + if (GET_EVENTCHKINF(EVENTCHKINF_37)) { pauseCtx->worldMapPoints[11] = 1; }