mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-22 22:44:14 -04:00
Macros for weekEventReg and eventInf (#984)
* make macros * script * Use the script on the whole codebase * fix script * Rename GET to CHECk * More replacements * Update weekeventflags on schedule scripts * eventinf defines * eventinfconvert * run the scripts on the codebase * format * RACE_FLAGS * format * remove redundant parenthesis * format * add macros to permuter_settings * comments on WEEKEVENTREG_ * format * CHECK_WEEKEVENTREG_ALT * don't automatically generate the macros on the script to allow naming them * format D_801C66D0 a bit * add TODOs * Update src/overlays/actors/ovl_Boss_03/z_boss_03.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/overlays/actors/ovl_En_Baisen/z_en_baisen.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/overlays/actors/ovl_Boss_06/z_boss_06.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/overlays/actors/ovl_En_Raf/z_en_raf.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * new files * format * weekeventreg * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * update * format * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * flags * a * eventinf stuff * format * EnGakufu * flags * run the script * format * whoops * cleanup * fix * update weekeventregs * format * format * review * format Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
This commit is contained in:
@@ -82,7 +82,7 @@ typedef enum {
|
||||
/* 13 */ OCARINA_INSTRUMENT_PIANO,
|
||||
/* 14 */ OCARINA_INSTRUMENT_BASS_GUITAR,
|
||||
/* 15 */ OCARINA_INSTRUMENT_BABY_SINGING,
|
||||
/* 16 */ OCARINA_INSTRUMENT_AMPLIFIED_GUITAR // Related to (gSaveContext.weekEventReg[41] & 0x20)
|
||||
/* 16 */ OCARINA_INSTRUMENT_AMPLIFIED_GUITAR // Related to WEEKEVENTREG_41_20
|
||||
} OcarinaInstrumentId;
|
||||
|
||||
typedef enum {
|
||||
|
||||
+1007
File diff suppressed because it is too large
Load Diff
@@ -196,11 +196,11 @@ typedef struct {
|
||||
#define SCHEDULE_PACK_S16(val) \
|
||||
((val) >> 8) & 0xFF, (val) & 0xFF
|
||||
|
||||
#define SCHEDULE_CMD_CHECK_FLAG_S(index, mask, offset) \
|
||||
SCHEDULE_CMD_ID_CHECK_FLAG_S, (index), (mask), (offset)
|
||||
#define SCHEDULE_CMD_CHECK_FLAG_S(flag, offset) \
|
||||
SCHEDULE_CMD_ID_CHECK_FLAG_S, SCHEDULE_PACK_S16(flag), (offset)
|
||||
|
||||
#define SCHEDULE_CMD_CHECK_FLAG_L(index, mask, offset) \
|
||||
SCHEDULE_CMD_ID_CHECK_FLAG_L, (index), (mask), SCHEDULE_PACK_S16(offset)
|
||||
#define SCHEDULE_CMD_CHECK_FLAG_L(flag, offset) \
|
||||
SCHEDULE_CMD_ID_CHECK_FLAG_L, SCHEDULE_PACK_S16(flag), SCHEDULE_PACK_S16(offset)
|
||||
|
||||
#define SCHEDULE_CMD_CHECK_TIME_RANGE_S(startHr, startMin, endHr, endMin, offset) \
|
||||
SCHEDULE_CMD_ID_CHECK_TIME_RANGE_S, (startHr), (startMin), (endHr), (endMin), (offset)
|
||||
|
||||
+3
-3
@@ -2237,7 +2237,7 @@ void Actor_InitContext(PlayState* play, ActorContext* actorCtx, ActorEntry* acto
|
||||
CycleSceneFlags* cycleFlags;
|
||||
s32 i;
|
||||
|
||||
gSaveContext.save.weekEventReg[92] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_92_80);
|
||||
cycleFlags = &gSaveContext.cycleSceneFlags[Play_GetOriginalSceneId(play->sceneId)];
|
||||
|
||||
bzero(actorCtx, sizeof(ActorContext));
|
||||
@@ -2297,7 +2297,7 @@ void Actor_SpawnSetupActors(PlayState* play, ActorContext* actorCtx) {
|
||||
}
|
||||
|
||||
if (!(phi_v0 & temp_fp) && (phi_v0 & actorCtx->unkC) &&
|
||||
(!(gSaveContext.eventInf[1] & 0x80) || !(phi_v0 & temp_s1) || !(actorEntry->id & 0x800))) {
|
||||
(!CHECK_EVENTINF(EVENTINF_17) || !(phi_v0 & temp_s1) || !(actorEntry->id & 0x800))) {
|
||||
Actor_SpawnEntry(&play->actorCtx, actorEntry, play);
|
||||
}
|
||||
actorEntry++;
|
||||
@@ -4230,7 +4230,7 @@ s16 func_800BDB6C(Actor* actor, PlayState* play, s16 arg2, f32 arg3) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
f32 phi_f2;
|
||||
|
||||
if ((play->csCtx.state != 0) || gDbgCamEnabled) {
|
||||
if ((play->csCtx.state != CS_STATE_0) || gDbgCamEnabled) {
|
||||
phi_f2 = Math_Vec3f_DistXYZ(&actor->world.pos, &play->view.eye) * 0.25f;
|
||||
} else {
|
||||
phi_f2 = Math_Vec3f_DistXYZ(&actor->world.pos, &player->actor.world.pos);
|
||||
|
||||
+5
-4
@@ -598,7 +598,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
||||
|
||||
switch (D_801F4DE2) {
|
||||
case 0x1F:
|
||||
if (gSaveContext.save.weekEventReg[20] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02)) {
|
||||
play->nextEntrance = ENTRANCE(WOODFALL_TEMPLE, 1);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
@@ -611,7 +611,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
||||
break;
|
||||
|
||||
case 0x44:
|
||||
if (gSaveContext.save.weekEventReg[33] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_80)) {
|
||||
play->nextEntrance = ENTRANCE(MOUNTAIN_VILLAGE_SPRING, 7);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
@@ -624,7 +624,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
||||
break;
|
||||
|
||||
case 0x5F:
|
||||
gSaveContext.save.weekEventReg[55] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_55_80);
|
||||
play->nextEntrance = ENTRANCE(ZORA_CAPE, 8);
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
@@ -632,7 +632,7 @@ void Cutscene_Command_Terminator(PlayState* play, CutsceneContext* csCtx, CsCmdB
|
||||
break;
|
||||
|
||||
case 0x36:
|
||||
gSaveContext.save.weekEventReg[52] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_52_20);
|
||||
play->nextEntrance = ENTRANCE(IKANA_CANYON, 0);
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
@@ -1482,6 +1482,7 @@ void func_800EDBE0(PlayState* play) {
|
||||
} else if (!(((void)0,
|
||||
gSaveContext.save.weekEventReg[(play->csCtx.sceneCsList[temp_v0_3].unk7 / 8)]) &
|
||||
(1 << (play->csCtx.sceneCsList[temp_v0_3].unk7 % 8)))) {
|
||||
// TODO: macros for this kind of weekEventReg access
|
||||
gSaveContext.save.weekEventReg[(play->csCtx.sceneCsList[temp_v0_3].unk7 / 8)] =
|
||||
((void)0, gSaveContext.save.weekEventReg[(play->csCtx.sceneCsList[temp_v0_3].unk7 / 8)]) |
|
||||
(1 << (play->csCtx.sceneCsList[temp_v0_3].unk7 % 8));
|
||||
|
||||
+12
-12
@@ -21,20 +21,20 @@ u16 QuestHint_GetTatlTextId(PlayState* play) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[88] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_88_20)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[79] & 0x10) {
|
||||
if (gSaveContext.save.weekEventReg[8] & 0x40) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_10)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_08_40)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0x224;
|
||||
}
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[8] & 0x80)) {
|
||||
if (gSaveContext.save.weekEventReg[9] & 1) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_08_80)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_09_01)) {
|
||||
return 0x21E;
|
||||
}
|
||||
|
||||
@@ -58,34 +58,34 @@ u16 QuestHint_GetTatlTextId(PlayState* play) {
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_MOON_TEAR) == ITEM_MOON_TEAR) {
|
||||
if (gSaveContext.save.weekEventReg[86] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_86_04)) {
|
||||
return 0x242;
|
||||
}
|
||||
|
||||
return 0x243;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[74] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_74_20)) {
|
||||
return 0x223;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[73] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_80)) {
|
||||
return 0x222;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[73] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_20)) {
|
||||
return 0x221;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[77] & 2) {
|
||||
if (gSaveContext.save.weekEventReg[73] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_77_02)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10)) {
|
||||
return 0x240;
|
||||
}
|
||||
|
||||
return 0x241;
|
||||
}
|
||||
|
||||
if ((gSaveContext.save.weekEventReg[86] & 2) || (gSaveContext.save.weekEventReg[73] & 0x40)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_86_02) || CHECK_WEEKEVENTREG(WEEKEVENTREG_73_40)) {
|
||||
return 0x23F;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ void GameOver_Update(PlayState* play) {
|
||||
gSaveContext.timerStates[timerId] = TIMER_STATE_OFF;
|
||||
}
|
||||
|
||||
gSaveContext.eventInf[1] &= ~1;
|
||||
CLEAR_EVENTINF_ALT(EVENTINF_10);
|
||||
|
||||
if (CUR_FORM == 0) {
|
||||
if (CUR_FORM_EQUIP(EQUIP_SLOT_B) != ITEM_SWORD_KOKIRI &&
|
||||
|
||||
@@ -96,7 +96,7 @@ void KaleidoSetup_Update(PlayState* play) {
|
||||
if (!Play_InCsMode(play) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) {
|
||||
if ((play->unk_1887C < 2) && (gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY) &&
|
||||
(gSaveContext.magicState != MAGIC_STATE_FILL)) {
|
||||
if (!(gSaveContext.eventInf[1] & 0x80) && !(player->stateFlags1 & PLAYER_STATE1_20)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_17) && !(player->stateFlags1 & PLAYER_STATE1_20)) {
|
||||
if (!(play->actorCtx.flags & ACTORCTX_FLAG_1) &&
|
||||
!(play->actorCtx.flags & ACTORCTX_FLAG_2)) {
|
||||
if ((play->actorCtx.unk268 == 0) && CHECK_BTN_ALL(input->press.button, BTN_START)) {
|
||||
|
||||
@@ -370,12 +370,12 @@ void func_80151BB4(PlayState* play, u8 arg1) {
|
||||
u8 temp = arg1;
|
||||
|
||||
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
if ((gSaveContext.save.weekEventReg[D_801C6B28[arg1] >> 8] & (u8)D_801C6B28[arg1]) == 0) {
|
||||
if (!CHECK_WEEKEVENTREG(D_801C6B28[arg1])) {
|
||||
msgCtx->unk120B2[msgCtx->unk120B1] = temp;
|
||||
msgCtx->unk120B1++;
|
||||
}
|
||||
} else if (arg1 >= 20) {
|
||||
if ((gSaveContext.save.weekEventReg[D_801C6B28[arg1] >> 8] & (u8)D_801C6B28[arg1]) == 0) {
|
||||
if (!CHECK_WEEKEVENTREG(D_801C6B28[arg1])) {
|
||||
msgCtx->unk120B2[msgCtx->unk120B1] = temp;
|
||||
msgCtx->unk120B1++;
|
||||
}
|
||||
@@ -391,11 +391,8 @@ u32 func_80151C9C(PlayState* play) {
|
||||
}
|
||||
msgCtx->unk120B1--;
|
||||
|
||||
if ((gSaveContext.save.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8] &
|
||||
(u8)D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]]) == 0) {
|
||||
gSaveContext.save.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8] =
|
||||
((void)0, gSaveContext.save.weekEventReg[D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]] >> 8]) |
|
||||
(u8)D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]];
|
||||
if (!CHECK_WEEKEVENTREG(D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]])) {
|
||||
SET_WEEKEVENTREG(D_801C6B28[msgCtx->unk120B2[msgCtx->unk120B1]]);
|
||||
|
||||
if ((D_801C6AB8[msgCtx->unk120B2[msgCtx->unk120B1]] != 0) && CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
func_80151938(play, D_801C6AB8[msgCtx->unk120B2[msgCtx->unk120B1]]);
|
||||
|
||||
+25
-25
@@ -322,7 +322,7 @@ void Interface_StartPostmanTimer(s16 seconds, s16 bunnyHoodState) {
|
||||
void Interface_StartGoronRaceTimer(s32 arg0) {
|
||||
if (gSaveContext.timerStates[TIMER_ID_GORON_RACE_UNUSED] != TIMER_STATE_OFF) {
|
||||
// Goron race started
|
||||
if (gSaveContext.eventInf[1] & 1) {
|
||||
if (CHECK_EVENTINF(EVENTINF_10)) {
|
||||
gSaveContext.timerCurTimes[TIMER_ID_GORON_RACE_UNUSED] = SECONDS_TO_TIMER_PRECISE(2, 39);
|
||||
} else {
|
||||
gSaveContext.timerCurTimes[TIMER_ID_GORON_RACE_UNUSED] = SECONDS_TO_TIMER_PRECISE(0, 1);
|
||||
@@ -1457,16 +1457,16 @@ u8 Item_Give(PlayState* play, u8 item) {
|
||||
|
||||
} else if (item == ITEM_MAGIC_SMALL) {
|
||||
Magic_Add(play, MAGIC_NORMAL_METER / 2);
|
||||
if (!(gSaveContext.save.weekEventReg[12] & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[12] |= 0x80;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_80)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_12_80);
|
||||
return ITEM_NONE;
|
||||
}
|
||||
return item;
|
||||
|
||||
} else if (item == ITEM_MAGIC_LARGE) {
|
||||
Magic_Add(play, MAGIC_NORMAL_METER);
|
||||
if (!(gSaveContext.save.weekEventReg[12] & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[12] |= 0x80;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_80)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_12_80);
|
||||
return ITEM_NONE;
|
||||
}
|
||||
return item;
|
||||
@@ -1676,7 +1676,7 @@ u8 Item_CheckObtainabilityImpl(u8 item) {
|
||||
return ITEM_RECOVERY_HEART;
|
||||
|
||||
} else if ((item == ITEM_MAGIC_SMALL) || (item == ITEM_MAGIC_LARGE)) {
|
||||
if (!(gSaveContext.save.weekEventReg[12] & 0x80)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_80)) {
|
||||
return ITEM_NONE;
|
||||
}
|
||||
return item;
|
||||
@@ -2047,7 +2047,7 @@ s32 Magic_Consume(PlayState* play, s16 magicToConsume, s16 type) {
|
||||
if (gSaveContext.magicState == MAGIC_STATE_CONSUME_LENS) {
|
||||
play->actorCtx.lensActive = false;
|
||||
}
|
||||
if (gSaveContext.save.weekEventReg[14] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
// Drank Chateau Romani
|
||||
magicToConsume = 0;
|
||||
}
|
||||
@@ -2067,7 +2067,7 @@ s32 Magic_Consume(PlayState* play, s16 magicToConsume, s16 type) {
|
||||
if (gSaveContext.magicState == MAGIC_STATE_CONSUME_LENS) {
|
||||
play->actorCtx.lensActive = false;
|
||||
}
|
||||
if (gSaveContext.save.weekEventReg[14] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
// Drank Chateau Romani
|
||||
magicToConsume = 0;
|
||||
}
|
||||
@@ -2144,7 +2144,7 @@ s32 Magic_Consume(PlayState* play, s16 magicToConsume, s16 type) {
|
||||
if (gSaveContext.magicState == MAGIC_STATE_CONSUME_LENS) {
|
||||
play->actorCtx.lensActive = false;
|
||||
}
|
||||
if (gSaveContext.save.weekEventReg[14] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
// Drank Chateau Romani
|
||||
magicToConsume = 0;
|
||||
}
|
||||
@@ -2233,7 +2233,7 @@ void Magic_Update(PlayState* play) {
|
||||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
s16 magicCapacityTarget;
|
||||
|
||||
if (gSaveContext.save.weekEventReg[14] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
// Drank Chateau Romani
|
||||
Magic_FlashMeterBorder();
|
||||
}
|
||||
@@ -2284,7 +2284,7 @@ void Magic_Update(PlayState* play) {
|
||||
|
||||
case MAGIC_STATE_CONSUME:
|
||||
// Consume magic until target is reached or no more magic is available
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
gSaveContext.save.playerData.magic =
|
||||
((void)0, gSaveContext.save.playerData.magic) - ((void)0, gSaveContext.magicToConsume);
|
||||
if (gSaveContext.save.playerData.magic <= 0) {
|
||||
@@ -2297,7 +2297,7 @@ void Magic_Update(PlayState* play) {
|
||||
case MAGIC_STATE_METER_FLASH_1:
|
||||
case MAGIC_STATE_METER_FLASH_2:
|
||||
case MAGIC_STATE_METER_FLASH_3:
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
Magic_FlashMeterBorder();
|
||||
}
|
||||
break;
|
||||
@@ -2331,19 +2331,19 @@ void Magic_Update(PlayState* play) {
|
||||
|
||||
interfaceCtx->magicConsumptionTimer--;
|
||||
if (interfaceCtx->magicConsumptionTimer == 0) {
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
gSaveContext.save.playerData.magic--;
|
||||
}
|
||||
interfaceCtx->magicConsumptionTimer = 80;
|
||||
}
|
||||
}
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
Magic_FlashMeterBorder();
|
||||
}
|
||||
break;
|
||||
|
||||
case MAGIC_STATE_CONSUME_GORON_ZORA_SETUP:
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
gSaveContext.save.playerData.magic -= 2;
|
||||
}
|
||||
if (gSaveContext.save.playerData.magic <= 0) {
|
||||
@@ -2358,7 +2358,7 @@ void Magic_Update(PlayState* play) {
|
||||
if (!Play_InCsMode(play)) {
|
||||
interfaceCtx->magicConsumptionTimer--;
|
||||
if (interfaceCtx->magicConsumptionTimer == 0) {
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
gSaveContext.save.playerData.magic--;
|
||||
}
|
||||
if (gSaveContext.save.playerData.magic <= 0) {
|
||||
@@ -2368,7 +2368,7 @@ void Magic_Update(PlayState* play) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
Magic_FlashMeterBorder();
|
||||
}
|
||||
break;
|
||||
@@ -2380,7 +2380,7 @@ void Magic_Update(PlayState* play) {
|
||||
if (!Play_InCsMode(play)) {
|
||||
interfaceCtx->magicConsumptionTimer--;
|
||||
if (interfaceCtx->magicConsumptionTimer == 0) {
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
gSaveContext.save.playerData.magic--;
|
||||
}
|
||||
if (gSaveContext.save.playerData.magic <= 0) {
|
||||
@@ -2390,7 +2390,7 @@ void Magic_Update(PlayState* play) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
Magic_FlashMeterBorder();
|
||||
}
|
||||
break;
|
||||
@@ -2446,7 +2446,7 @@ void Magic_DrawMeter(PlayState* play) {
|
||||
|
||||
// Fill the rest of the meter with the normal magic color
|
||||
gDPPipeSync(OVERLAY_DISP++);
|
||||
if (gSaveContext.save.weekEventReg[14] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
// Blue magic (drank Chateau Romani)
|
||||
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 200, interfaceCtx->magicAlpha);
|
||||
} else {
|
||||
@@ -2460,7 +2460,7 @@ void Magic_DrawMeter(PlayState* play) {
|
||||
(magicBarY + 10) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
|
||||
} else {
|
||||
// Fill the whole meter with the normal magic color
|
||||
if (gSaveContext.save.weekEventReg[14] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_08)) {
|
||||
// Blue magic (drank Chateau Romani)
|
||||
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 200, interfaceCtx->magicAlpha);
|
||||
} else {
|
||||
@@ -2894,7 +2894,7 @@ void Interface_DrawTimers(PlayState* play) {
|
||||
gSaveContext.timerStopTimes[sTimerId] = SECONDS_TO_TIMER(120);
|
||||
gSaveContext.timerCurTimes[sTimerId] = SECONDS_TO_TIMER(120);
|
||||
}
|
||||
} else if ((gSaveContext.eventInf[3] & 0x10) && (play->sceneId == SCENE_DEKUTES) &&
|
||||
} else if (CHECK_EVENTINF(EVENTINF_34) && (play->sceneId == SCENE_DEKUTES) &&
|
||||
(gSaveContext.timerStopTimes[sTimerId] >= SECONDS_TO_TIMER(120))) {
|
||||
gSaveContext.timerCurTimes[sTimerId] = SECONDS_TO_TIMER(120);
|
||||
}
|
||||
@@ -3003,7 +3003,7 @@ void Interface_DrawTimers(PlayState* play) {
|
||||
if (osTime >= SECONDS_TO_TIMER(120)) {
|
||||
osTime = SECONDS_TO_TIMER(120);
|
||||
}
|
||||
} else if ((gSaveContext.eventInf[3] & 0x10) && (play->sceneId == SCENE_DEKUTES) &&
|
||||
} else if (CHECK_EVENTINF(EVENTINF_34) && (play->sceneId == SCENE_DEKUTES) &&
|
||||
(osTime >= SECONDS_TO_TIMER(120))) {
|
||||
osTime = SECONDS_TO_TIMER(120);
|
||||
}
|
||||
@@ -3020,7 +3020,7 @@ void Interface_DrawTimers(PlayState* play) {
|
||||
play_sound(NA_SE_SY_WARNING_COUNT_E);
|
||||
sTimerBeepSfxSeconds = sTimerDigits[4];
|
||||
}
|
||||
} else if ((gSaveContext.eventInf[3] & 0x10) && (play->sceneId == SCENE_DEKUTES)) {
|
||||
} else if (CHECK_EVENTINF(EVENTINF_34) && (play->sceneId == SCENE_DEKUTES)) {
|
||||
if ((((void)0, gSaveContext.timerCurTimes[sTimerId]) >
|
||||
(gSaveContext.save.dekuPlaygroundHighScores[CURRENT_DAY - 1] - SECONDS_TO_TIMER(9))) &&
|
||||
(sTimerBeepSfxSeconds != sTimerDigits[4])) {
|
||||
@@ -3058,7 +3058,7 @@ void Interface_DrawTimers(PlayState* play) {
|
||||
} else {
|
||||
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, 255);
|
||||
}
|
||||
} else if ((gSaveContext.eventInf[3] & 0x10) && (play->sceneId == SCENE_DEKUTES)) {
|
||||
} else if (CHECK_EVENTINF(EVENTINF_34) && (play->sceneId == SCENE_DEKUTES)) {
|
||||
if (((void)0, gSaveContext.timerCurTimes[sTimerId]) >=
|
||||
gSaveContext.save.dekuPlaygroundHighScores[CURRENT_DAY - 1]) {
|
||||
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 50, 0, 255);
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
s32 Schedule_CheckFlagS(PlayState* play, u8** script, ScheduleOutput* output) {
|
||||
ScheduleCmdCheckFlagS* cmd = (ScheduleCmdCheckFlagS*)*script;
|
||||
u16 flag = (cmd->flagByte << 8) | cmd->flagMask;
|
||||
u16 flag = PACK_WEEKEVENTREG_FLAG(cmd->flagByte, cmd->flagMask);
|
||||
|
||||
if (gSaveContext.save.weekEventReg[flag >> 8] & (flag & 0xFF)) {
|
||||
if (CHECK_WEEKEVENTREG(flag)) {
|
||||
*script += cmd->offset;
|
||||
}
|
||||
|
||||
@@ -19,9 +19,9 @@ s32 Schedule_CheckFlagS(PlayState* play, u8** script, ScheduleOutput* output) {
|
||||
|
||||
s32 Schedule_CheckFlagL(PlayState* play, u8** script, ScheduleOutput* output) {
|
||||
ScheduleCmdCheckFlagL* cmd = (ScheduleCmdCheckFlagL*)*script;
|
||||
u16 flag = (cmd->flagByte << 8) | cmd->flagMask;
|
||||
u16 flag = PACK_WEEKEVENTREG_FLAG(cmd->flagByte, cmd->flagMask);
|
||||
|
||||
if (gSaveContext.save.weekEventReg[flag >> 8] & (flag & 0xFF)) {
|
||||
if (CHECK_WEEKEVENTREG(flag)) {
|
||||
*script += (s16)((cmd->offsetH << 8) | cmd->offsetL);
|
||||
}
|
||||
|
||||
|
||||
+126
-46
@@ -131,16 +131,109 @@ u32 D_801C5FC0[SCENE_MAX][4] = {
|
||||
{ 0, 0, 1, 0 }, // SCENE_ALLEY
|
||||
};
|
||||
|
||||
// Related to weekEventReg
|
||||
// TODO: figure out a way to use the WEEKEVENTREG defines here
|
||||
// weekEventReg flags which will be not be cleared on a cycle reset
|
||||
u16 D_801C66D0[ARRAY_COUNT(gSaveContext.save.weekEventReg)] = {
|
||||
0xFFFC, 0xFFFF, 0xFFFF, 0xFFFF, 0, 0, 0, 0xC000, 0xC00, 0, 0xC0, 0, 0x300,
|
||||
0x3000, 0xC000, 0xC00, 0, 0, 0, 0, 0, 0, 0xC00C, 0xC00C, 0xC008, 3,
|
||||
0x3000, 0, 0, 0, 0xFF00, 0xC3F, 0x3F, 0, 0, 0xCFFF, 0, 0, 0xC00,
|
||||
0xC00, 0, 0xC0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3C, 0x20,
|
||||
0, 0x300C, 0x3000, 0, 0xC, 0xC0, 0, 0xFF0, 0x300, 0, 0, 0xC00, 0,
|
||||
0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC0, 0, 0xC000, 0, 3,
|
||||
0, 0xC000, 0, 0xC0, 0x300, 0, 0, 0, 0xC000, 0xFFF0, 0, 0, 0x300,
|
||||
0, 0xC000, 0xF0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0 */ 0xFFFC,
|
||||
/* 1 */ 0xFFFF,
|
||||
/* 2 */ 0xFFFF,
|
||||
/* 3 */ 0xFFFF,
|
||||
/* 4 */ 0,
|
||||
/* 5 */ 0,
|
||||
/* 6 */ 0,
|
||||
/* 7 */ 0xC000,
|
||||
/* 8 */ 0xC00,
|
||||
/* 9 */ 0,
|
||||
/* 10 */ 0xC0,
|
||||
/* 11 */ 0,
|
||||
/* 12 */ 0x300,
|
||||
/* 13 */ 0x3000,
|
||||
/* 14 */ 0xC000,
|
||||
/* 15 */ 0xC00,
|
||||
/* 16 */ 0,
|
||||
/* 17 */ 0,
|
||||
/* 18 */ 0,
|
||||
/* 19 */ 0,
|
||||
/* 20 */ 0,
|
||||
/* 21 */ 0,
|
||||
/* 22 */ 0xC00C,
|
||||
/* 23 */ 0xC00C,
|
||||
/* 24 */ 0xC008,
|
||||
/* 25 */ 3,
|
||||
/* 26 */ 0x3000,
|
||||
/* 27 */ 0,
|
||||
/* 28 */ 0,
|
||||
/* 29 */ 0,
|
||||
/* 30 */ 0xFF00,
|
||||
/* 31 */ 0xC3F,
|
||||
/* 32 */ 0x3F,
|
||||
/* 33 */ 0,
|
||||
/* 34 */ 0,
|
||||
/* 35 */ 0xCFFF,
|
||||
/* 36 */ 0,
|
||||
/* 37 */ 0,
|
||||
/* 38 */ 0xC00,
|
||||
/* 39 */ 0xC00,
|
||||
/* 40 */ 0,
|
||||
/* 41 */ 0xC0,
|
||||
/* 42 */ 0,
|
||||
/* 43 */ 0,
|
||||
/* 44 */ 0,
|
||||
/* 45 */ 0,
|
||||
/* 46 */ 0,
|
||||
/* 47 */ 0,
|
||||
/* 48 */ 0,
|
||||
/* 49 */ 0,
|
||||
/* 50 */ 0x3C,
|
||||
/* 51 */ 0x20,
|
||||
/* 52 */ 0,
|
||||
/* 53 */ 0x300C,
|
||||
/* 54 */ 0x3000,
|
||||
/* 55 */ 0,
|
||||
/* 56 */ 0xC,
|
||||
/* 57 */ 0xC0,
|
||||
/* 58 */ 0,
|
||||
/* 59 */ 0xFF0,
|
||||
/* 60 */ 0x300,
|
||||
/* 61 */ 0,
|
||||
/* 62 */ 0,
|
||||
/* 63 */ 0xC00,
|
||||
/* 64 */ 0,
|
||||
/* 65 */ 0,
|
||||
/* 66 */ 0xFFFF,
|
||||
/* 67 */ 0xFFFF,
|
||||
/* 68 */ 0xFFFF,
|
||||
/* 69 */ 0xFFFF,
|
||||
/* 70 */ 0xFFFF,
|
||||
/* 71 */ 0xFFFF,
|
||||
/* 72 */ 0xFFFF,
|
||||
/* 73 */ 0xC0,
|
||||
/* 74 */ 0,
|
||||
/* 75 */ 0xC000,
|
||||
/* 76 */ 0,
|
||||
/* 77 */ 3,
|
||||
/* 78 */ 0,
|
||||
/* 79 */ 0xC000,
|
||||
/* 80 */ 0,
|
||||
/* 81 */ 0xC0,
|
||||
/* 82 */ 0x300,
|
||||
/* 83 */ 0,
|
||||
/* 84 */ 0,
|
||||
/* 85 */ 0,
|
||||
/* 86 */ 0xC000,
|
||||
/* 87 */ 0xFFF0,
|
||||
/* 88 */ 0,
|
||||
/* 89 */ 0,
|
||||
/* 90 */ 0x300,
|
||||
/* 91 */ 0,
|
||||
/* 92 */ 0xC000,
|
||||
/* 93 */ 0xF0,
|
||||
/* 94 */ 0,
|
||||
/* 95 */ 0,
|
||||
/* 96 */ 0,
|
||||
/* 97 */ 0,
|
||||
/* 98 */ 0,
|
||||
/* 99 */ 0,
|
||||
};
|
||||
|
||||
// used in other files
|
||||
@@ -232,16 +325,11 @@ void Sram_ClearHighscores(void) {
|
||||
* Clears specific weekEventReg flags. Used by the "Dawn of the First Day" message
|
||||
*/
|
||||
void Sram_ClearFlagsAtDawnOfTheFirstDay(void) {
|
||||
// Unconfirmed: "Link the Goron Claims His Reservation: 4:30 PM"
|
||||
gSaveContext.save.weekEventReg[55] &= (u8)~2;
|
||||
// Unconfirmed: "Postman fleeing town"
|
||||
gSaveContext.save.weekEventReg[90] &= (u8)~1;
|
||||
// Unconfirmed: "Postman is about to flee"
|
||||
gSaveContext.save.weekEventReg[89] &= (u8)~0x40;
|
||||
// Unconfirmed: "Postman has delivered priority mail"
|
||||
gSaveContext.save.weekEventReg[89] &= (u8)~8;
|
||||
// Unconfirmed: "Postman showing priority mail to Madame"
|
||||
gSaveContext.save.weekEventReg[85] &= (u8)~0x80;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_55_02);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_89_40);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_89_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_85_80);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -296,7 +384,7 @@ void Sram_SaveEndOfCycle(PlayState* play) {
|
||||
gSaveContext.masksGivenOnMoon[i] = 0;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[84] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_84_20)) {
|
||||
Inventory_DeleteItem(ITEM_MASK_FIERCE_DEITY, SLOT(ITEM_MASK_FIERCE_DEITY));
|
||||
}
|
||||
|
||||
@@ -316,38 +404,38 @@ void Sram_SaveEndOfCycle(PlayState* play) {
|
||||
gSaveContext.eventInf[i] = 0;
|
||||
}
|
||||
|
||||
gSaveContext.eventInf[7] &= (u8)~1;
|
||||
gSaveContext.eventInf[7] &= (u8)~2;
|
||||
gSaveContext.eventInf[7] &= (u8)~4;
|
||||
gSaveContext.eventInf[7] &= (u8)~8;
|
||||
gSaveContext.eventInf[7] &= (u8)~0x10;
|
||||
CLEAR_EVENTINF(EVENTINF_70);
|
||||
CLEAR_EVENTINF(EVENTINF_71);
|
||||
CLEAR_EVENTINF(EVENTINF_72);
|
||||
CLEAR_EVENTINF(EVENTINF_73);
|
||||
CLEAR_EVENTINF(EVENTINF_74);
|
||||
|
||||
if (gSaveContext.save.playerData.rupees != 0) {
|
||||
gSaveContext.eventInf[7] |= 1;
|
||||
SET_EVENTINF(EVENTINF_70);
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_BOMB) == ITEM_BOMB) {
|
||||
item = INV_CONTENT(ITEM_BOMB);
|
||||
if (AMMO(item) != 0) {
|
||||
gSaveContext.eventInf[7] |= 2;
|
||||
SET_EVENTINF(EVENTINF_71);
|
||||
}
|
||||
}
|
||||
if (INV_CONTENT(ITEM_NUT) == ITEM_NUT) {
|
||||
item = INV_CONTENT(ITEM_NUT);
|
||||
if (AMMO(item) != 0) {
|
||||
gSaveContext.eventInf[7] |= 4;
|
||||
SET_EVENTINF(EVENTINF_72);
|
||||
}
|
||||
}
|
||||
if (INV_CONTENT(ITEM_STICK) == ITEM_STICK) {
|
||||
item = INV_CONTENT(ITEM_STICK);
|
||||
if (AMMO(item) != 0) {
|
||||
gSaveContext.eventInf[7] |= 8;
|
||||
SET_EVENTINF(EVENTINF_73);
|
||||
}
|
||||
}
|
||||
if (INV_CONTENT(ITEM_BOW) == ITEM_BOW) {
|
||||
item = INV_CONTENT(ITEM_BOW);
|
||||
if (AMMO(item) != 0) {
|
||||
gSaveContext.eventInf[7] |= 0x10;
|
||||
SET_EVENTINF(EVENTINF_74);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -482,10 +570,8 @@ void Sram_IncrementDay(void) {
|
||||
gSaveContext.save.bombersCaughtOrder[3] = 0;
|
||||
gSaveContext.save.bombersCaughtOrder[4] = 0;
|
||||
|
||||
// Unconfirmed: "Bombers Hide & Seek started on Day 1???"
|
||||
gSaveContext.save.weekEventReg[73] &= (u8)~0x10;
|
||||
// Unconfirmed: "Bombers Hide & Seek in Progress"
|
||||
gSaveContext.save.weekEventReg[85] &= (u8)~2;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_73_10);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_85_02);
|
||||
}
|
||||
|
||||
u16 Sram_CalcChecksum(void* data, size_t count) {
|
||||
@@ -848,12 +934,9 @@ void Sram_InitDebugSave(void) {
|
||||
gSaveContext.save.entrance = ENTRANCE(CUTSCENE, 0);
|
||||
gSaveContext.save.isFirstCycle = true;
|
||||
|
||||
//
|
||||
gSaveContext.save.weekEventReg[0x0F] |= 0x20;
|
||||
// Unconfirmed: "Entered South Clock Town"
|
||||
gSaveContext.save.weekEventReg[0x3B] |= 0x04;
|
||||
// Unconfirmed: "Tatl's Second Cycle Text?"
|
||||
gSaveContext.save.weekEventReg[0x1F] |= 0x04;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_15_20);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_59_04);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_31_04);
|
||||
|
||||
gSaveContext.cycleSceneFlags[SCENE_INSIDETOWER].switch0 = 1;
|
||||
gSaveContext.save.permanentSceneFlags[SCENE_INSIDETOWER].switch0 = 1;
|
||||
@@ -990,12 +1073,10 @@ void Sram_OpenSave(FileSelectState* fileSelect, SramContext* sramCtx) {
|
||||
} else {
|
||||
gSaveContext.save.entrance = D_801C6A58[(void)0, gSaveContext.save.owlSaveLocation];
|
||||
if ((gSaveContext.save.entrance == ENTRANCE(SOUTHERN_SWAMP_POISONED, 10)) &&
|
||||
(gSaveContext.save.weekEventReg[20] & 2)) {
|
||||
// Unconfirmed weekEventReg: "Woodfall Temple Prison Entrance raised / Water cleansed"
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02)) {
|
||||
gSaveContext.save.entrance = ENTRANCE(SOUTHERN_SWAMP_CLEARED, 10);
|
||||
} else if ((gSaveContext.save.entrance == ENTRANCE(MOUNTAIN_VILLAGE_WINTER, 8)) &&
|
||||
(gSaveContext.save.weekEventReg[33] & 0x80)) {
|
||||
// Unconfirmed weekEventReg: "Mountain Village Unfrozen"
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_33_80)) {
|
||||
gSaveContext.save.entrance = ENTRANCE(MOUNTAIN_VILLAGE_SPRING, 8);
|
||||
}
|
||||
|
||||
@@ -1561,8 +1642,7 @@ void Sram_SaveSpecialNewDay(PlayState* play) {
|
||||
|
||||
day = gSaveContext.save.day;
|
||||
|
||||
// Unconfirmed: "Obtained Fierce Deity Mask?"
|
||||
gSaveContext.save.weekEventReg[84] &= (u8)~0x20;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_84_20);
|
||||
|
||||
Sram_SaveEndOfCycle(play);
|
||||
func_8014546C(&play->sramCtx);
|
||||
|
||||
@@ -146,14 +146,14 @@ s32 func_808B736C(BgBreakwall* this, PlayState* play) {
|
||||
}
|
||||
|
||||
s32 func_808B7380(BgBreakwall* this, PlayState* play) {
|
||||
if ((gSaveContext.save.day >= 2) && !(gSaveContext.save.weekEventReg[22] & 1)) {
|
||||
if ((gSaveContext.save.day >= 2) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 func_808B73C4(BgBreakwall* this, PlayState* play) {
|
||||
return (gSaveContext.save.weekEventReg[33] & 0x80) || (gSaveContext.save.weekEventReg[21] & 1);
|
||||
return CHECK_WEEKEVENTREG(WEEKEVENTREG_33_80) || CHECK_WEEKEVENTREG(WEEKEVENTREG_21_01);
|
||||
}
|
||||
|
||||
s32 func_808B73FC(BgBreakwall* this, PlayState* play) {
|
||||
@@ -176,14 +176,14 @@ s32 func_808B7460(BgBreakwall* this, PlayState* play) {
|
||||
}
|
||||
|
||||
s32 func_808B74A8(BgBreakwall* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[55] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_55_80)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 func_808B74D8(BgBreakwall* this, PlayState* play) {
|
||||
if (!(gSaveContext.save.weekEventReg[9] & 0x80) || (gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_09_80) || CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -285,7 +285,7 @@ void func_808B782C(BgBreakwall* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_808B78A4(BgBreakwall* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[55] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_55_80)) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ void BgIknvDoukutu_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = func_80BD71BC;
|
||||
this->csAction = 0x204;
|
||||
this->unk_160 = 1.0f;
|
||||
if ((gSaveContext.save.weekEventReg[14] & 4) || (gSaveContext.save.weekEventReg[52] & 0x20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_04) || CHECK_WEEKEVENTREG(WEEKEVENTREG_52_20)) {
|
||||
this->dyna.actor.draw = func_80BD7768;
|
||||
this->actionFunc = func_80BD73D0;
|
||||
play->envCtx.lightSettingOverride = 25;
|
||||
@@ -69,7 +69,7 @@ void BgIknvDoukutu_Init(Actor* thisx, PlayState* play) {
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
CollisionHeader_GetVirtual(&object_iknv_obj_Colheader_012788, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
if (!(gSaveContext.save.weekEventReg[14] & 4)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_14_04)) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
break;
|
||||
@@ -80,7 +80,7 @@ void BgIknvDoukutu_Init(Actor* thisx, PlayState* play) {
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
CollisionHeader_GetVirtual(&object_iknv_obj_Colheader_0117C8, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
if (gSaveContext.save.weekEventReg[14] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_04)) {
|
||||
this->unk_160 = 1.0f;
|
||||
this->dyna.actor.world.pos.y += 68.0f;
|
||||
} else {
|
||||
|
||||
@@ -84,7 +84,7 @@ void BgIknvObj_Init(Actor* thisx, PlayState* play) {
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->dyna.actor, &sCylinderInit);
|
||||
Collider_UpdateCylinder(&this->dyna.actor, &this->collider);
|
||||
this->dyna.actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
gSaveContext.save.weekEventReg[51] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_51_10);
|
||||
Actor_SetFocus(&this->dyna.actor, IREG(88));
|
||||
break;
|
||||
default:
|
||||
@@ -98,7 +98,7 @@ void BgIknvObj_Destroy(Actor* thisx, PlayState* play) {
|
||||
if (IKNV_OBJ_TYPE(this) != IKNV_OBJ_RAISED_DOOR) {
|
||||
if (IKNV_OBJ_TYPE(this) == IKNV_OBJ_SAKON_DOOR) {
|
||||
Collider_DestroyCylinder(play, &this->collider);
|
||||
gSaveContext.save.weekEventReg[51] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_51_10);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ s32 func_80BD7CEC(BgIknvObj* this) {
|
||||
}
|
||||
|
||||
void BgIknvObj_UpdateWaterwheel(BgIknvObj* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[14] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_04)) {
|
||||
this->dyna.actor.shape.rot.z -= 0x64;
|
||||
func_800B9098(&this->dyna.actor);
|
||||
func_800B9010(&this->dyna.actor, NA_SE_EV_WOOD_WATER_WHEEL - SFX_FLAG);
|
||||
@@ -156,7 +156,7 @@ s32 func_80BD7E0C(BgIknvObj* this, s16 targetRotation, PlayState* play) {
|
||||
void func_80BD7ED8(BgIknvObj* this, PlayState* play) {
|
||||
if (func_80BD7E0C(this, this->dyna.actor.home.rot.y, play)) {
|
||||
this->actionFunc = BgIknvObj_UpdateSakonDoor;
|
||||
gSaveContext.save.weekEventReg[51] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_51_10);
|
||||
}
|
||||
CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base);
|
||||
}
|
||||
@@ -165,7 +165,7 @@ void func_80BD7F4C(BgIknvObj* this, PlayState* play) {
|
||||
if (gSaveContext.save.time > CLOCK_TIME(19, 30)) {
|
||||
this->actionFunc = func_80BD7ED8;
|
||||
}
|
||||
if ((this->dyna.actor.home.rot.x == 1) && !(gSaveContext.save.weekEventReg[58] & 0x80)) {
|
||||
if ((this->dyna.actor.home.rot.x == 1) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_58_80)) {
|
||||
ActorCutscene_Stop(this->dyna.actor.cutscene);
|
||||
this->dyna.actor.home.rot.x = 0;
|
||||
}
|
||||
@@ -175,7 +175,7 @@ void func_80BD7F4C(BgIknvObj* this, PlayState* play) {
|
||||
void func_80BD7FDC(BgIknvObj* this, PlayState* play) {
|
||||
if (func_80BD7E0C(this, this->dyna.actor.home.rot.y + 0x4000, play)) {
|
||||
this->actionFunc = func_80BD7F4C;
|
||||
gSaveContext.save.weekEventReg[51] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_51_10);
|
||||
this->dyna.actor.home.rot.x = 1;
|
||||
}
|
||||
}
|
||||
@@ -188,9 +188,9 @@ void func_80BD8040(BgIknvObj* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void BgIknvObj_UpdateSakonDoor(BgIknvObj* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[58] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_58_80)) {
|
||||
this->actionFunc = func_80BD8040;
|
||||
gSaveContext.save.weekEventReg[89] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_89_80);
|
||||
}
|
||||
CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base);
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ Actor* BgIngate_FindActor(BgIngate* this, PlayState* play, u8 actorCat, s16 acto
|
||||
void func_80953B40(BgIngate* this) {
|
||||
s32 temp;
|
||||
|
||||
if (!(gSaveContext.eventInf[3] & 0x20)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_35)) {
|
||||
this->timePathTotalTime = 4 * 1000;
|
||||
this->timePathTimeSpeed = 4;
|
||||
} else {
|
||||
@@ -125,10 +125,10 @@ s32 func_80953BEC(BgIngate* this) {
|
||||
s32 func_80953DA8(BgIngate* this, PlayState* play) {
|
||||
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
|
||||
|
||||
if (gSaveContext.eventInf[3] & 0x20) {
|
||||
if (CHECK_EVENTINF(EVENTINF_35)) {
|
||||
func_800B7298(play, &this->dyna.actor, 7);
|
||||
} else {
|
||||
gSaveContext.eventInf[4] |= 2;
|
||||
SET_EVENTINF(EVENTINF_41);
|
||||
}
|
||||
Camera_ChangeSetting(mainCam, CAM_SET_BOAT_CRUISE);
|
||||
play->unk_1887C = 0x63;
|
||||
@@ -139,8 +139,8 @@ s32 func_80953DA8(BgIngate* this, PlayState* play) {
|
||||
void func_80953E38(PlayState* play) {
|
||||
Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_NORMAL0);
|
||||
|
||||
if (!(gSaveContext.eventInf[3] & 0x20)) {
|
||||
gSaveContext.eventInf[4] &= (u8)~2;
|
||||
if (!CHECK_EVENTINF(EVENTINF_35)) {
|
||||
CLEAR_EVENTINF(EVENTINF_41);
|
||||
}
|
||||
|
||||
play->unk_1887C = -1;
|
||||
@@ -180,9 +180,9 @@ void func_80953F9C(BgIngate* this, PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
|
||||
|
||||
if (!(gSaveContext.eventInf[4] & 1)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_40)) {
|
||||
|
||||
if (!(gSaveContext.eventInf[3] & 0x20) && (this->unk160 & 0x10) && (this->unk16C == 0)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_35) && (this->unk160 & 0x10) && (this->unk16C == 0)) {
|
||||
this->dyna.actor.textId = 0x9E3;
|
||||
Message_StartTextbox(play, this->dyna.actor.textId, NULL);
|
||||
this->unk160 &= ~0x10;
|
||||
@@ -196,14 +196,13 @@ void func_80953F9C(BgIngate* this, PlayState* play) {
|
||||
this->dyna.actor.textId = 0x9E4;
|
||||
Message_StartTextbox(play, this->dyna.actor.textId, NULL);
|
||||
this->unk16C += 1;
|
||||
gSaveContext.save.weekEventReg[90] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_90_40);
|
||||
this->actionFunc = func_809543D4;
|
||||
} else {
|
||||
|
||||
if (!(gSaveContext.eventInf[3] & 0x20)) {
|
||||
gSaveContext.eventInf[4] &= (u8)~2;
|
||||
if (!CHECK_EVENTINF(EVENTINF_35)) {
|
||||
CLEAR_EVENTINF(EVENTINF_41);
|
||||
} else {
|
||||
gSaveContext.eventInf[4] |= 1;
|
||||
SET_EVENTINF(EVENTINF_40);
|
||||
}
|
||||
this->actionFunc = func_809542A0;
|
||||
}
|
||||
@@ -244,9 +243,9 @@ void func_809541B8(BgIngate* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_809542A0(BgIngate* this, PlayState* play) {
|
||||
if (gSaveContext.eventInf[5] & 1) {
|
||||
if (CHECK_EVENTINF(EVENTINF_50)) {
|
||||
play->nextEntrance = ENTRANCE(TOURIST_INFORMATION, 2);
|
||||
gSaveContext.eventInf[5] &= (u8)~1;
|
||||
CLEAR_EVENTINF(EVENTINF_50);
|
||||
} else {
|
||||
play->nextEntrance = ENTRANCE(TOURIST_INFORMATION, 1);
|
||||
}
|
||||
@@ -255,7 +254,7 @@ void func_809542A0(BgIngate* this, PlayState* play) {
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
this->actionFunc = func_80953F8C;
|
||||
gSaveContext.save.weekEventReg[90] &= (u8)~0x40;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40);
|
||||
func_800FE498();
|
||||
}
|
||||
|
||||
@@ -291,7 +290,7 @@ void func_809543D4(BgIngate* this, PlayState* play) {
|
||||
this->timePath = &play->setupPathList[this->timePath->unk1];
|
||||
}
|
||||
func_80953F14(this, play);
|
||||
gSaveContext.save.weekEventReg[90] &= (u8)~0x40;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40);
|
||||
func_8019F230();
|
||||
}
|
||||
func_801477B4(play);
|
||||
@@ -299,7 +298,7 @@ void func_809543D4(BgIngate* this, PlayState* play) {
|
||||
case 0x9E6:
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
func_80953EA4(this, play);
|
||||
gSaveContext.save.weekEventReg[90] &= (u8)~0x40;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40);
|
||||
func_8019F208();
|
||||
} else {
|
||||
func_800B7298(play, &this->dyna.actor, 6);
|
||||
@@ -331,10 +330,10 @@ void BgIngate_Init(Actor* thisx, PlayState* play2) {
|
||||
Actor_SetScale(&this->dyna.actor, 1.0f);
|
||||
this->timePath = SubS_GetAdditionalPath(play, BGINGATE_GET_FF(&this->dyna.actor), 0);
|
||||
this->dyna.actor.room = -1;
|
||||
if (gSaveContext.save.weekEventReg[20] & 2) {
|
||||
gSaveContext.save.weekEventReg[90] &= (u8)~0x40;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40);
|
||||
}
|
||||
if (!(gSaveContext.eventInf[3] & 0x20) && (gSaveContext.save.weekEventReg[90] & 0x40)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_35) && CHECK_WEEKEVENTREG(WEEKEVENTREG_90_40)) {
|
||||
phi_a2 = 1;
|
||||
this->unk16C = 1;
|
||||
this->actionFunc = func_809541B8;
|
||||
@@ -342,10 +341,10 @@ void BgIngate_Init(Actor* thisx, PlayState* play2) {
|
||||
phi_a2 = 0;
|
||||
if (play->curSpawn == 6) {
|
||||
func_80953F14(this, play);
|
||||
if (gSaveContext.eventInf[3] & 0x20) {
|
||||
if (CHECK_EVENTINF(EVENTINF_35)) {
|
||||
func_80112AFC(play);
|
||||
} else {
|
||||
gSaveContext.eventInf[4] |= 2;
|
||||
SET_EVENTINF(EVENTINF_41);
|
||||
}
|
||||
} else {
|
||||
this->actionFunc = func_80953F8C;
|
||||
|
||||
@@ -161,7 +161,7 @@ void BgNumaHana_Init(Actor* thisx, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[12] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_12_01)) {
|
||||
func_800C62BC(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
|
||||
this->petalZRotation = 0x2000;
|
||||
@@ -219,7 +219,7 @@ void BgNumaHana_ClosedIdle(BgNumaHana* this, PlayState* play) {
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_FLAME_IGNITION);
|
||||
if (ActorCutscene_GetCanPlayNext(this->dyna.actor.cutscene)) {
|
||||
ActorCutscene_StartAndSetUnkLinkFields(this->dyna.actor.cutscene, &this->dyna.actor);
|
||||
gSaveContext.save.weekEventReg[12] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_12_01);
|
||||
Flags_SetSwitch(play, BG_NUMA_HANA_SWITCH_FLAG(&this->dyna.actor));
|
||||
BgNumaHana_SetupUnfoldInnerPetals(this);
|
||||
} else {
|
||||
|
||||
@@ -67,7 +67,7 @@ void BgSinkaiKabe_Init(Actor* thisx, PlayState* play) {
|
||||
this->pythonIndex = sCurrentPythonIndex;
|
||||
sCurrentPythonIndex++;
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[13] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_13_01)) {
|
||||
this->deepPython = Actor_SpawnAsChild(&play->actorCtx, &this->dyna.actor, play, ACTOR_EN_DRAGON, pos.x, pos.y,
|
||||
pos.z, 0, this->dyna.actor.world.rot.y, 1, this->dyna.actor.params);
|
||||
|
||||
@@ -82,14 +82,14 @@ void BgSinkaiKabe_Init(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
} else {
|
||||
shouldSpawnSeahorse = false;
|
||||
if (((this->dyna.actor.params == 0) && (gSaveContext.save.weekEventReg[83] & 0x10)) ||
|
||||
((this->dyna.actor.params == 1) && (gSaveContext.save.weekEventReg[83] & 0x20)) ||
|
||||
((this->dyna.actor.params == 2) && (gSaveContext.save.weekEventReg[83] & 0x40)) ||
|
||||
((this->dyna.actor.params == 3) && (gSaveContext.save.weekEventReg[83] & 0x80)) ||
|
||||
((this->dyna.actor.params == 4) && (gSaveContext.save.weekEventReg[84] & 1)) ||
|
||||
((this->dyna.actor.params == 5) && (gSaveContext.save.weekEventReg[84] & 2)) ||
|
||||
((this->dyna.actor.params == 6) && (gSaveContext.save.weekEventReg[84] & 4)) ||
|
||||
((this->dyna.actor.params == 7) && (gSaveContext.save.weekEventReg[84] & 8))) {
|
||||
if (((this->dyna.actor.params == 0) && CHECK_WEEKEVENTREG(WEEKEVENTREG_83_10)) ||
|
||||
((this->dyna.actor.params == 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_83_20)) ||
|
||||
((this->dyna.actor.params == 2) && CHECK_WEEKEVENTREG(WEEKEVENTREG_83_40)) ||
|
||||
((this->dyna.actor.params == 3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_83_80)) ||
|
||||
((this->dyna.actor.params == 4) && CHECK_WEEKEVENTREG(WEEKEVENTREG_84_01)) ||
|
||||
((this->dyna.actor.params == 5) && CHECK_WEEKEVENTREG(WEEKEVENTREG_84_02)) ||
|
||||
((this->dyna.actor.params == 6) && CHECK_WEEKEVENTREG(WEEKEVENTREG_84_04)) ||
|
||||
((this->dyna.actor.params == 7) && CHECK_WEEKEVENTREG(WEEKEVENTREG_84_08))) {
|
||||
shouldSpawnSeahorse = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,12 +38,12 @@ void BgTobira01_Open(BgTobira01* this, PlayState* play) {
|
||||
ActorCutscene_Stop(0x7C);
|
||||
} else if (ActorCutscene_GetCanPlayNext(cutsceneId)) {
|
||||
ActorCutscene_StartAndSetUnkLinkFields(cutsceneId, &this->dyna.actor);
|
||||
gSaveContext.save.weekEventReg[88] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_88_40);
|
||||
this->playCutscene = false;
|
||||
} else {
|
||||
ActorCutscene_SetIntentToPlay(cutsceneId);
|
||||
}
|
||||
} else if (!(gSaveContext.save.weekEventReg[88] & 0x40) && (this->timer == 0) && (play->actorCtx.unk1F5 != 0) &&
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_88_40) && (this->timer == 0) && (play->actorCtx.unk1F5 != 0) &&
|
||||
(play->actorCtx.unk1F4 == 0) &&
|
||||
(SurfaceType_GetSceneExitIndex(&play->colCtx, player->actor.floorPoly, player->actor.floorBgId) == 6)) {
|
||||
this->playCutscene = true;
|
||||
@@ -52,7 +52,7 @@ void BgTobira01_Open(BgTobira01* this, PlayState* play) {
|
||||
|
||||
prevTimer = this->timer;
|
||||
|
||||
if (gSaveContext.save.weekEventReg[88] & 0x40) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_88_40)) {
|
||||
this->timer++;
|
||||
} else {
|
||||
this->timer--;
|
||||
@@ -67,9 +67,9 @@ void BgTobira01_Open(BgTobira01* this, PlayState* play) {
|
||||
this->timer2 = 180;
|
||||
}
|
||||
|
||||
if (!(player->stateFlags1 & PLAYER_STATE1_40) && (gSaveContext.save.weekEventReg[88] & 0x40) &&
|
||||
if (!(player->stateFlags1 & PLAYER_STATE1_40) && CHECK_WEEKEVENTREG(WEEKEVENTREG_88_40) &&
|
||||
(DECR(this->timer2) == 0)) {
|
||||
gSaveContext.save.weekEventReg[88] &= (u8)~0x40;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_88_40);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ void BgTobira01_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
DynaPolyActor_Init(&this->dyna, 1);
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &object_spot11_obj_Colheader_0011C0);
|
||||
gSaveContext.save.weekEventReg[88] &= (u8)~0x40;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_88_40);
|
||||
Actor_SetScale(&this->dyna.actor, 1.0f);
|
||||
this->timer2 = gSaveContext.save.isNight;
|
||||
this->timer = 0;
|
||||
|
||||
@@ -61,7 +61,7 @@ void BgUmajump_StopCutscene(BgUmajump* this, PlayState* play) {
|
||||
void BgUmajump_PlayCutscene(BgUmajump* this, PlayState* play) {
|
||||
if (ActorCutscene_GetCanPlayNext(this->dyna.actor.cutscene)) {
|
||||
ActorCutscene_StartAndSetUnkLinkFields(this->dyna.actor.cutscene, &this->dyna.actor);
|
||||
gSaveContext.save.weekEventReg[89] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_89_20);
|
||||
this->actionFunc = BgUmajump_StopCutscene;
|
||||
} else {
|
||||
ActorCutscene_SetIntentToPlay(this->dyna.actor.cutscene);
|
||||
@@ -93,7 +93,7 @@ void BgUmajump_Init(Actor* thisx, PlayState* play) {
|
||||
thisx->params = BG_UMAJUMP_GET_FF(thisx);
|
||||
|
||||
if ((thisx->params == BG_UMAJUMP_TYPE_2)) {
|
||||
if ((((play->sceneId == SCENE_F01) && !(gSaveContext.save.weekEventReg[89] & 0x20)) &&
|
||||
if ((((play->sceneId == SCENE_F01) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_89_20)) &&
|
||||
!CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) &&
|
||||
(thisx->cutscene != -1)) {
|
||||
this->actionFunc = BgUmajump_CheckDistance;
|
||||
@@ -134,11 +134,11 @@ void BgUmajump_Update(Actor* thisx, PlayState* play) {
|
||||
Actor_SetObjectDependency(play, &this->dyna.actor);
|
||||
|
||||
if (this->dyna.actor.params == BG_UMAJUMP_TYPE_5) {
|
||||
if (gSaveContext.save.weekEventReg[22] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
|
||||
}
|
||||
} else if (this->dyna.actor.params == BG_UMAJUMP_TYPE_6) {
|
||||
if (!(gSaveContext.save.weekEventReg[22] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
|
||||
}
|
||||
} else if ((this->dyna.actor.params == BG_UMAJUMP_TYPE_4) || (this->dyna.actor.params == BG_UMAJUMP_TYPE_3)) {
|
||||
@@ -155,11 +155,11 @@ void BgUmajump_Update(Actor* thisx, PlayState* play) {
|
||||
this->dyna.actor.update = func_8091A5A0;
|
||||
} else if ((this->dyna.actor.params == BG_UMAJUMP_TYPE_5) || (this->dyna.actor.params == BG_UMAJUMP_TYPE_6)) {
|
||||
if (this->dyna.actor.params == BG_UMAJUMP_TYPE_5) {
|
||||
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && (gSaveContext.save.weekEventReg[22] & 1)) {
|
||||
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
|
||||
}
|
||||
} else if ((this->dyna.actor.params == BG_UMAJUMP_TYPE_6) && (this->dyna.bgId == BGACTOR_NEG_ONE) &&
|
||||
(!(gSaveContext.save.weekEventReg[22] & 1) ||
|
||||
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) ||
|
||||
((gSaveContext.save.day == 2) && (gSaveContext.save.isNight == true) &&
|
||||
((gSaveContext.save.time >= CLOCK_TIME(5, 30)) &&
|
||||
(gSaveContext.save.time <= CLOCK_TIME(6, 0)))))) {
|
||||
@@ -191,18 +191,18 @@ void func_8091A5A0(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
|
||||
if (this->dyna.actor.params == BG_UMAJUMP_TYPE_5) {
|
||||
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && (gSaveContext.save.weekEventReg[22] & 1)) {
|
||||
if ((this->dyna.bgId == BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
|
||||
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && !(gSaveContext.save.weekEventReg[22] & 1)) {
|
||||
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
}
|
||||
} else if (this->dyna.actor.params == BG_UMAJUMP_TYPE_6) {
|
||||
if ((this->dyna.bgId == BGACTOR_NEG_ONE) &&
|
||||
(!(gSaveContext.save.weekEventReg[22] & 1) ||
|
||||
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) ||
|
||||
((gSaveContext.save.day == 2) && (gSaveContext.save.isNight == true) &&
|
||||
(gSaveContext.save.time >= CLOCK_TIME(5, 30)) && (gSaveContext.save.time <= CLOCK_TIME(6, 0))))) {
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &object_umajump_Colheader_001558);
|
||||
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && (gSaveContext.save.weekEventReg[22] & 1) &&
|
||||
} else if ((this->dyna.bgId != BGACTOR_NEG_ONE) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) &&
|
||||
((gSaveContext.save.day != 2) || (gSaveContext.save.isNight != true) ||
|
||||
(gSaveContext.save.time < CLOCK_TIME(5, 30)) || (gSaveContext.save.time > CLOCK_TIME(6, 0)))) {
|
||||
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
|
||||
@@ -550,7 +550,7 @@ void Boss02_Init(Actor* thisx, PlayState* play) {
|
||||
s32 i;
|
||||
s32 pad[2];
|
||||
|
||||
if ((gSaveContext.save.weekEventReg[52] & 0x20) && (this->actor.params == TWINMOLD_RED)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_20) && (this->actor.params == TWINMOLD_RED)) {
|
||||
sBlueWarp = (DoorWarp1*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_DOOR_WARP1, 0.0f, 60.0f,
|
||||
0.0f, 0, 0, 0, 1);
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_ITEM_B_HEART, 0.0f, 30.0f, -150.0f, 0, 1, 0, 0);
|
||||
@@ -566,7 +566,7 @@ void Boss02_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.draw = Boss02_Static_Draw;
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
this->unk_1D70 = 0.00999999977648f;
|
||||
if ((KREG(64) != 0) || (gSaveContext.eventInf[5] & 0x20) || (sBlueWarp != NULL)) {
|
||||
if ((KREG(64) != 0) || CHECK_EVENTINF(EVENTINF_55) || (sBlueWarp != NULL)) {
|
||||
this->unk_1D20 = 0;
|
||||
sMusicStartTimer = KREG(15) + 20;
|
||||
} else {
|
||||
@@ -2050,7 +2050,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if ((gSaveContext.save.weekEventReg[52] & 0x20) || ((u32)(KREG(13) + 15) >= this->unk_1D1C)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_20) || ((u32)(KREG(13) + 15) >= this->unk_1D1C)) {
|
||||
break;
|
||||
}
|
||||
Cutscene_Start(play, &play->csCtx);
|
||||
@@ -2144,7 +2144,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
|
||||
this->unk_1D20 = 0;
|
||||
sRedTwinmold->unk_0144 = sBlueTwinmold->unk_0144 = 3;
|
||||
sRedTwinmold->unk_0146[0] = sBlueTwinmold->unk_0146[0] = 60;
|
||||
gSaveContext.eventInf[5] |= 0x20;
|
||||
SET_EVENTINF(EVENTINF_55);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -7,10 +7,6 @@
|
||||
/**
|
||||
* Some notes:
|
||||
*
|
||||
* Global flags:
|
||||
* - gSaveContext.eventInf[5] & 0x40: Enabled when Gyorg's intro cutscene has been watched
|
||||
* - gSaveContext.save.weekEventReg[55] & 0x80: Checked to know if Gyorg has been defeated
|
||||
*
|
||||
* Seaweed:
|
||||
* - Refers to the seaweed at the bottom of the stage where Player fights Gyorg
|
||||
* - The default Gyorg actor will spawn 5 other Gyorg instances using the parameter GYORG_PARAM_SEAWEED to spawn them
|
||||
@@ -453,7 +449,7 @@ void Boss03_Init(Actor* thisx, PlayState* play2) {
|
||||
PlayState* play = play2;
|
||||
Vec3f sp70;
|
||||
|
||||
if (gSaveContext.save.weekEventReg[55] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_55_80)) {
|
||||
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_DOOR_WARP1, 0.0f, PLATFORM_HEIGHT, 200.0f, 0, 0,
|
||||
0, ENDOORWARP1_FF_1);
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_ITEM_B_HEART, 0.0f, PLATFORM_HEIGHT, 0.0f, 0, 0, 0, 0);
|
||||
@@ -519,8 +515,8 @@ void Boss03_Init(Actor* thisx, PlayState* play2) {
|
||||
GYORG_LIMB_MAX);
|
||||
Actor_SetScale(&this->actor, 0.2f);
|
||||
|
||||
// gSaveContext.eventInf[5] & 0x40: intro cutscene already watched
|
||||
if ((KREG(64) != 0) || (gSaveContext.eventInf[5] & 0x40)) {
|
||||
// CHECK_EVENTINF(EVENTINF_56): intro cutscene already watched
|
||||
if ((KREG(64) != 0) || CHECK_EVENTINF(EVENTINF_56)) {
|
||||
this->actionFunc = func_809E344C;
|
||||
D_809E9842 = false;
|
||||
Audio_QueueSeqCmd(NA_BGM_STOP | 0x10000);
|
||||
@@ -1377,7 +1373,7 @@ void Boss03_IntroCutscene(Boss03* this, PlayState* play) {
|
||||
func_809E344C(this, play);
|
||||
this->workTimer[WORK_TIMER_UNK1_A] = 50;
|
||||
|
||||
gSaveContext.eventInf[5] |= 0x40;
|
||||
SET_EVENTINF(EVENTINF_56);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ void Boss04_Init(Actor* thisx, PlayState* play2) {
|
||||
this->actor.world.pos.z = this->unk_6F0;
|
||||
Actor_UpdateBgCheckInfo(play, &this->actor, 35.0f, 60.0f, 60.0f, 4);
|
||||
|
||||
if ((KREG(64) != 0) || (gSaveContext.eventInf[6] & 1)) {
|
||||
if ((KREG(64) != 0) || CHECK_EVENTINF(EVENTINF_60)) {
|
||||
func_809ECD00(this, play);
|
||||
this->actor.world.pos.y = this->actor.floorHeight + 160.0f;
|
||||
phi_f24 = this->actor.floorHeight;
|
||||
@@ -392,7 +392,7 @@ void func_809EC568(Boss04* this, PlayState* play) {
|
||||
Cutscene_End(play, &play->csCtx);
|
||||
func_800B7298(play, &this->actor, 6);
|
||||
func_80165690();
|
||||
gSaveContext.eventInf[6] |= 1;
|
||||
SET_EVENTINF(EVENTINF_60);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ void Boss06_Init(Actor* thisx, PlayState* play) {
|
||||
D_809F4970 = (EnKnight*)this->actor.parent;
|
||||
this->actor.colChkInfo.damageTable = &sDamageTable;
|
||||
|
||||
if ((KREG(64) != 0) || (gSaveContext.eventInf[5] & 0x80)) {
|
||||
if ((KREG(64) != 0) || CHECK_EVENTINF(EVENTINF_57)) {
|
||||
this->actionFunc = func_809F2E14;
|
||||
} else {
|
||||
this->actionFunc = func_809F2B64;
|
||||
|
||||
@@ -67,7 +67,7 @@ void DmChar01_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
switch (DMCHAR01_GET(&this->dyna.actor)) {
|
||||
case DMCHAR01_0:
|
||||
if (gSaveContext.save.weekEventReg[20] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02)) {
|
||||
this->unk_34C = 2;
|
||||
this->actionFunc = func_80AA8F1C;
|
||||
break;
|
||||
@@ -97,7 +97,7 @@ void DmChar01_Init(Actor* thisx, PlayState* play) {
|
||||
break;
|
||||
|
||||
case DMCHAR01_1:
|
||||
if ((gSaveContext.save.weekEventReg[20] & 2) || (gSaveContext.sceneLayer == 1)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02) || (gSaveContext.sceneLayer == 1)) {
|
||||
this->unk_34C = 1;
|
||||
this->actionFunc = func_80AA8F1C;
|
||||
} else {
|
||||
@@ -107,7 +107,7 @@ void DmChar01_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
case DMCHAR01_2:
|
||||
this->unk_34C = 0;
|
||||
if (!(gSaveContext.save.weekEventReg[20] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_20_01)) {
|
||||
this->unk_34C = 1;
|
||||
this->dyna.actor.world.pos.y -= 400.0f;
|
||||
}
|
||||
@@ -123,7 +123,7 @@ void DmChar01_Init(Actor* thisx, PlayState* play) {
|
||||
case DMCHAR01_3:
|
||||
this->dyna.actor.world.rot.y += 0x8000;
|
||||
this->dyna.actor.shape.rot.y += 0x8000;
|
||||
if (!(gSaveContext.save.weekEventReg[20] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_20_01)) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
@@ -134,7 +134,7 @@ void DmChar01_Init(Actor* thisx, PlayState* play) {
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &gWoodfallSceneryTempleRampAndPlatformCol);
|
||||
|
||||
this->unk_34D = true;
|
||||
if (!(gSaveContext.save.weekEventReg[20] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02)) {
|
||||
this->actionFunc = func_80AA9020;
|
||||
this->dyna.actor.world.pos.y -= 120.0f;
|
||||
} else {
|
||||
@@ -160,7 +160,7 @@ void func_80AA8698(DmChar01* this, PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
Player* player2 = GET_PLAYER(play);
|
||||
|
||||
if (gSaveContext.save.weekEventReg[20] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_01)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ void func_80AA8698(DmChar01* this, PlayState* play) {
|
||||
|
||||
if ((player2->actor.world.pos.x > -40.0f) && (player2->actor.world.pos.x < 40.0f) &&
|
||||
(player2->actor.world.pos.z > 1000.0f) && (player2->actor.world.pos.z < 1078.0f)) {
|
||||
gSaveContext.save.weekEventReg[20] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_01);
|
||||
this->actionFunc = func_80AA884C;
|
||||
}
|
||||
}
|
||||
@@ -348,7 +348,7 @@ void func_80AA9020(DmChar01* this, PlayState* play) {
|
||||
CsCmdActorAction* temp_v1 = play->csCtx.actorActions[Cutscene_GetActorActionIndex(play, 135)];
|
||||
|
||||
if ((temp_v1->startFrame == play->csCtx.frames) && (temp_v1->action == 2)) {
|
||||
gSaveContext.save.weekEventReg[20] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_02);
|
||||
this->actionFunc = func_80AA90AC;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ void DmChar06_SetupAction(DmChar06* this, DmChar06ActionFunc actionFunc) {
|
||||
void DmChar06_Init(Actor* thisx, PlayState* play) {
|
||||
DmChar06* this = THIS;
|
||||
|
||||
gSaveContext.save.weekEventReg[33] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_33_80);
|
||||
Actor_SetScale(&this->actor, 1.0f);
|
||||
this->alpha = 255;
|
||||
DmChar06_SetupAction(this, func_80AAE6F0);
|
||||
|
||||
@@ -164,7 +164,7 @@ void DmChar08_Init(Actor* thisx, PlayState* play2) {
|
||||
this->targetYPos = thisx->world.pos.y;
|
||||
this->unk_1F0 = 0.0f;
|
||||
if (play->sceneId == SCENE_31MISAKI) {
|
||||
if (gSaveContext.save.weekEventReg[53] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_53_20)) {
|
||||
DynaPolyActor_Init(&this->dyna, 3);
|
||||
DynaPolyActor_LoadMesh(play, &this->dyna, &gTurtleZoraCapeAwakeCol);
|
||||
} else {
|
||||
@@ -185,7 +185,7 @@ void DmChar08_Init(Actor* thisx, PlayState* play2) {
|
||||
|
||||
switch (play->sceneId) {
|
||||
case SCENE_31MISAKI:
|
||||
if (gSaveContext.save.weekEventReg[53] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_53_20)) {
|
||||
thisx->world.pos.x = -6480.0f;
|
||||
this->targetYPos = -120.0f;
|
||||
thisx->world.pos.z = 1750.0f;
|
||||
@@ -279,14 +279,14 @@ void DmChar08_SetupAppearCs(DmChar08* this, PlayState* play) {
|
||||
s16 cs = ActorCutscene_GetAdditionalCutscene(
|
||||
ActorCutscene_GetAdditionalCutscene(ActorCutscene_GetAdditionalCutscene(cs1)));
|
||||
|
||||
if (gSaveContext.save.weekEventReg[93] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_93_08)) {
|
||||
cs1 = cs;
|
||||
}
|
||||
|
||||
if (ActorCutscene_GetCanPlayNext(cs1)) {
|
||||
ActorCutscene_Start(cs1, &this->dyna.actor);
|
||||
gSaveContext.save.weekEventReg[53] |= 0x20;
|
||||
gSaveContext.save.weekEventReg[93] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_53_20);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_93_08);
|
||||
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
this->actionFunc = func_80AAF884;
|
||||
} else {
|
||||
@@ -329,10 +329,10 @@ void func_80AAFA18(DmChar08* this, PlayState* play) {
|
||||
nextCs2 = nextCs1;
|
||||
nextCs1 = ActorCutscene_GetAdditionalCutscene(nextCs1);
|
||||
|
||||
nextCs = ((void)0, gSaveContext.save.weekEventReg[53] & 0x40) ? nextCs1 : nextCs2;
|
||||
nextCs = CHECK_WEEKEVENTREG(WEEKEVENTREG_53_40) ? nextCs1 : nextCs2;
|
||||
|
||||
if (ActorCutscene_GetCanPlayNext(nextCs) != 0) {
|
||||
gSaveContext.save.weekEventReg[53] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_53_40);
|
||||
ActorCutscene_Start(nextCs, &this->dyna.actor);
|
||||
this->actionFunc = DmChar08_DoNothing;
|
||||
} else {
|
||||
@@ -390,7 +390,7 @@ void DmChar08_SpawnBubbles(DmChar08* this, PlayState* play) {
|
||||
void func_80AAFCCC(DmChar08* this, PlayState* play) {
|
||||
switch (play->sceneId) {
|
||||
case SCENE_31MISAKI:
|
||||
if (!(gSaveContext.save.weekEventReg[55] & 0x80)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_55_80)) {
|
||||
switch (this->unk_206) {
|
||||
case 0:
|
||||
break;
|
||||
|
||||
@@ -32,7 +32,7 @@ void DmRavine_Init(Actor* thisx, PlayState* play) {
|
||||
s32 pad;
|
||||
DmRavine* this = THIS;
|
||||
|
||||
if (((((void)0, gSaveContext.save.weekEventReg[0]) & 0x10) | cREG(0)) != 0) {
|
||||
if (CHECK_WEEKEVENTREG_ALT(WEEKEVENTREG_00_10) | cREG(0)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1149,7 +1149,7 @@ void DmStk_DoNothing(DmStk* this, PlayState* play) {
|
||||
void DmStk_WaitForTelescope(DmStk* this, PlayState* play) {
|
||||
Vec3f screenPos;
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[74] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_74_20)) {
|
||||
Play_GetScreenPos(play, &this->actor.world.pos, &screenPos);
|
||||
if (play->view.fovy < 25.0f) {
|
||||
if ((screenPos.x >= 70.0f) && (screenPos.x < (SCREEN_WIDTH - 70.0f)) && (screenPos.y >= 30.0f) &&
|
||||
@@ -1172,7 +1172,7 @@ void DmStk_StartTelescopeCutscene(DmStk* this, PlayState* play) {
|
||||
|
||||
if (gSaveContext.save.day < 3) {
|
||||
cutscene = dayOneAndTwoCutscene;
|
||||
} else if ((gSaveContext.save.weekEventReg[8] & 0x40) ||
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_08_40) ||
|
||||
((CURRENT_DAY == 3) && (gSaveContext.save.time < CLOCK_TIME(6, 0)))) {
|
||||
cutscene = finalHoursCutscene;
|
||||
} else {
|
||||
@@ -1630,7 +1630,7 @@ void DmStk_UpdateCutscenes(DmStk* this, PlayState* play) {
|
||||
if (this->alpha < 0) {
|
||||
this->alpha = 0;
|
||||
this->fadeOutState = SK_FADE_OUT_STATE_NONE;
|
||||
gSaveContext.save.weekEventReg[12] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_12_04);
|
||||
if (!(play->actorCtx.flags & ACTORCTX_FLAG_1)) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
|
||||
@@ -230,7 +230,7 @@ void DmTag_Init(Actor* thisx, PlayState* play) {
|
||||
DmTag* this = (DmTag*)thisx;
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if (gSaveContext.save.weekEventReg[85] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_85_04)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -270,7 +270,7 @@ void func_808B8E78(DoorWarp1* this, PlayState* play) {
|
||||
this->unk_1A4 = 700.0f;
|
||||
if (play->sceneId == SCENE_INISIE_N) {
|
||||
DoorWarp1_SetupAction(this, func_808B96A0);
|
||||
} else if (gSaveContext.save.weekEventReg[86] & 0x80) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_86_80)) {
|
||||
this->unk_1D4 = 0;
|
||||
DoorWarp1_SetupAction(this, func_808B921C);
|
||||
} else {
|
||||
@@ -652,7 +652,7 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
|
||||
if (this->unk_202 != 0) {
|
||||
if (phi_v0_2 > 0) {
|
||||
gSaveContext.save.weekEventReg[7] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_07_80);
|
||||
}
|
||||
|
||||
switch (phi_v0_2) {
|
||||
@@ -710,8 +710,8 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
} else {
|
||||
switch (phi_v0_2) {
|
||||
case 0:
|
||||
if (gSaveContext.save.weekEventReg[20] & 2) {
|
||||
gSaveContext.save.weekEventReg[7] |= 0x80;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_07_80);
|
||||
play->nextEntrance = ENTRANCE(WOODFALL_TEMPLE, 1);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
@@ -726,7 +726,7 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
gSaveContext.save.weekEventReg[33] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_33_80);
|
||||
play->nextEntrance = ENTRANCE(MOUNTAIN_VILLAGE_SPRING, 7);
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
@@ -734,14 +734,14 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (gSaveContext.save.weekEventReg[55] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_55_80)) {
|
||||
play->nextEntrance = ENTRANCE(ZORA_CAPE, 9);
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_03;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[55] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_55_80);
|
||||
play->nextEntrance = ENTRANCE(ZORA_CAPE, 8);
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
@@ -751,7 +751,7 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 2:
|
||||
gSaveContext.save.weekEventReg[52] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_52_20);
|
||||
play->nextEntrance = ENTRANCE(IKANA_CANYON, 15);
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
@@ -886,14 +886,14 @@ void func_808BAAF4(DoorWarp1* this, PlayState* play) {
|
||||
phi_f2 = 85.0f;
|
||||
}
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[86] & 0x80) && (fabsf(this->dyna.actor.xzDistToPlayer) < phi_f2) &&
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_86_80) && (fabsf(this->dyna.actor.xzDistToPlayer) < phi_f2) &&
|
||||
((player->actor.world.pos.y - 20.0f) < this->dyna.actor.world.pos.y) &&
|
||||
(this->dyna.actor.world.pos.y < (player->actor.world.pos.y + 20.0f))) {
|
||||
cutscene = this->dyna.actor.cutscene;
|
||||
|
||||
if (ActorCutscene_GetCanPlayNext(cutscene)) {
|
||||
ActorCutscene_Start(cutscene, &this->dyna.actor);
|
||||
gSaveContext.save.weekEventReg[86] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_86_80);
|
||||
DoorWarp1_SetupAction(this, func_808BABF4);
|
||||
} else {
|
||||
ActorCutscene_SetIntentToPlay(cutscene);
|
||||
|
||||
@@ -41,19 +41,19 @@ static InitChainEntry sInitChain[] = {
|
||||
};
|
||||
|
||||
s32 func_80BA15A0(void) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_ODOLWA) && !(gSaveContext.save.weekEventReg[87] & 0x10)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_ODOLWA) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_87_10)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT) && !(gSaveContext.save.weekEventReg[87] & 0x20)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_87_20)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG) && !(gSaveContext.save.weekEventReg[87] & 0x40)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_87_40)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD) && !(gSaveContext.save.weekEventReg[87] & 0x80)) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_87_80)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -62,24 +62,24 @@ s32 func_80BA15A0(void) {
|
||||
|
||||
void func_80BA165C(void) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_ODOLWA)) {
|
||||
gSaveContext.save.weekEventReg[87] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_87_10);
|
||||
}
|
||||
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT)) {
|
||||
gSaveContext.save.weekEventReg[87] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_87_20);
|
||||
}
|
||||
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG)) {
|
||||
gSaveContext.save.weekEventReg[87] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_87_40);
|
||||
}
|
||||
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD)) {
|
||||
gSaveContext.save.weekEventReg[87] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_87_80);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_80BA16F4(ElfMsg6* this, PlayState* play) {
|
||||
if (!(gSaveContext.save.weekEventReg[31] & 4) && (INV_CONTENT(ITEM_MASK_DEKU) == ITEM_MASK_DEKU)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_31_04) && (INV_CONTENT(ITEM_MASK_DEKU) == ITEM_MASK_DEKU)) {
|
||||
this->actor.textId = 0x216;
|
||||
return false;
|
||||
}
|
||||
@@ -94,7 +94,7 @@ s32 func_80BA16F4(ElfMsg6* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (!CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT)) {
|
||||
if (gSaveContext.save.weekEventReg[31] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_31_01)) {
|
||||
this->actor.textId = 0x257;
|
||||
} else {
|
||||
this->actor.textId = 0x231;
|
||||
@@ -103,7 +103,7 @@ s32 func_80BA16F4(ElfMsg6* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (!CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG)) {
|
||||
if (gSaveContext.save.weekEventReg[31] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_31_02)) {
|
||||
this->actor.textId = 0x258;
|
||||
} else {
|
||||
this->actor.textId = 0x232;
|
||||
@@ -112,7 +112,7 @@ s32 func_80BA16F4(ElfMsg6* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (!CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD)) {
|
||||
if (gSaveContext.save.weekEventReg[80] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_80_04)) {
|
||||
this->actor.textId = 0x259;
|
||||
} else {
|
||||
this->actor.textId = 0x233;
|
||||
@@ -169,7 +169,7 @@ void ElfMsg6_Init(Actor* thisx, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (gSaveContext.save.weekEventReg[83] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_83_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -183,14 +183,14 @@ void ElfMsg6_Init(Actor* thisx, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[8] & 0x40) {
|
||||
if (gSaveContext.save.weekEventReg[88] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_08_40)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_88_20)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
this->actor.textId = 0x25B;
|
||||
} else {
|
||||
if (!(gSaveContext.save.weekEventReg[74] & 0x20) || (gSaveContext.save.weekEventReg[79] & 0x10)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_74_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_79_10)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -202,7 +202,7 @@ void ElfMsg6_Init(Actor* thisx, PlayState* play) {
|
||||
case 3:
|
||||
if (((ELFMSG6_SWITCHFLAG(&this->actor) != 0x7F) &&
|
||||
Flags_GetSwitch(play, ELFMSG6_SWITCHFLAG(&this->actor))) ||
|
||||
(gSaveContext.save.weekEventReg[88] & 0x10) || (gSaveContext.save.weekEventReg[91] & 1) ||
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_88_10) || CHECK_WEEKEVENTREG(WEEKEVENTREG_91_01) ||
|
||||
(INV_CONTENT(ITEM_MASK_ZORA) == ITEM_MASK_ZORA)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
@@ -265,18 +265,18 @@ void func_80BA1CF8(ElfMsg6* this, PlayState* play) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
switch (this->actor.textId) {
|
||||
case 0x224:
|
||||
gSaveContext.save.weekEventReg[79] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_79_10);
|
||||
break;
|
||||
|
||||
case 0x25B:
|
||||
gSaveContext.save.weekEventReg[88] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_88_20);
|
||||
break;
|
||||
}
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((this->actor.textId == 0x224) && (gSaveContext.save.weekEventReg[8] & 0x40)) {
|
||||
if ((this->actor.textId == 0x224) && CHECK_WEEKEVENTREG(WEEKEVENTREG_08_40)) {
|
||||
this->actor.textId = 0x25B;
|
||||
} else if (func_80BA1C00(this) && (player->actor.speedXZ > 1.0f)) {
|
||||
player->tatlTextId = -this->actor.textId;
|
||||
@@ -299,19 +299,19 @@ void func_80BA1E30(ElfMsg6* this, PlayState* play) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
switch (this->actor.textId) {
|
||||
case 0x216:
|
||||
gSaveContext.save.weekEventReg[31] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_31_04);
|
||||
break;
|
||||
|
||||
case 0x231:
|
||||
gSaveContext.save.weekEventReg[31] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_31_01);
|
||||
break;
|
||||
|
||||
case 0x232:
|
||||
gSaveContext.save.weekEventReg[31] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_31_02);
|
||||
break;
|
||||
|
||||
case 0x233:
|
||||
gSaveContext.save.weekEventReg[80] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_80_04);
|
||||
break;
|
||||
}
|
||||
func_80BA165C();
|
||||
@@ -330,7 +330,7 @@ void func_80BA1E30(ElfMsg6* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80BA1F80(ElfMsg6* this, PlayState* play) {
|
||||
if (((ELFMSG6_GET_F0(&this->actor)) == 1) && (gSaveContext.save.weekEventReg[83] & 2)) {
|
||||
if ((ELFMSG6_GET_F0(&this->actor) == 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_83_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -363,7 +363,7 @@ void func_80BA2048(ElfMsg6* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (((ELFMSG6_SWITCHFLAG(&this->actor) != 0x7F) && Flags_GetSwitch(play, ELFMSG6_SWITCHFLAG(&this->actor))) ||
|
||||
(gSaveContext.save.weekEventReg[88] & 0x10) || (gSaveContext.save.weekEventReg[91] & 1) ||
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_88_10) || CHECK_WEEKEVENTREG(WEEKEVENTREG_91_01) ||
|
||||
(INV_CONTENT(ITEM_MASK_ZORA) == ITEM_MASK_ZORA)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
|
||||
@@ -25,7 +25,7 @@ static u8 D_80BD3DB0[] = {
|
||||
/* 0x08 */ SCHEDULE_CMD_RET_VAL_L(1),
|
||||
/* 0x0B */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_S(2, 0x20 - 0x0F),
|
||||
/* 0x0F */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(21, 0, 23, 0, 0x1D - 0x15),
|
||||
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(0x32, 0x20, 0x1C - 0x19),
|
||||
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_50_20, 0x1C - 0x19),
|
||||
/* 0x19 */ SCHEDULE_CMD_RET_VAL_L(1),
|
||||
/* 0x1C */ SCHEDULE_CMD_RET_NONE(),
|
||||
/* 0x1D */ SCHEDULE_CMD_RET_VAL_L(3),
|
||||
|
||||
@@ -257,17 +257,17 @@ void func_80BED090(PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
gSaveContext.save.weekEventReg[63] |= 8;
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_63_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_10);
|
||||
} else if (player->transformation == PLAYER_FORM_ZORA) {
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[63] |= 0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_08);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_63_10);
|
||||
} else if (player->transformation == PLAYER_FORM_GORON) {
|
||||
gSaveContext.save.weekEventReg[63] |= 8;
|
||||
gSaveContext.save.weekEventReg[63] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_63_08);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_63_10);
|
||||
} else if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_10);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,19 +275,19 @@ s32 func_80BED140(PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
if ((gSaveContext.save.weekEventReg[63] & 8) && !(gSaveContext.save.weekEventReg[63] & 0x10)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_63_10)) {
|
||||
return true;
|
||||
}
|
||||
} else if (player->transformation == PLAYER_FORM_ZORA) {
|
||||
if (!(gSaveContext.save.weekEventReg[63] & 8) && (gSaveContext.save.weekEventReg[63] & 0x10)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_63_08) && CHECK_WEEKEVENTREG(WEEKEVENTREG_63_10)) {
|
||||
return true;
|
||||
}
|
||||
} else if (player->transformation == PLAYER_FORM_GORON) {
|
||||
if ((gSaveContext.save.weekEventReg[63] & 8) && (gSaveContext.save.weekEventReg[63] & 0x10)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_08) && CHECK_WEEKEVENTREG(WEEKEVENTREG_63_10)) {
|
||||
return true;
|
||||
}
|
||||
} else if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
if (!(gSaveContext.save.weekEventReg[63] & 8) && !(gSaveContext.save.weekEventReg[63] & 0x10)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_63_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_63_10)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -384,8 +384,8 @@ void func_80BED3BC(EnAkindonuts* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 0x15E7:
|
||||
if (!(gSaveContext.save.weekEventReg[61] & 0x20)) {
|
||||
gSaveContext.save.weekEventReg[61] |= 0x20;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_61_20)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_61_20);
|
||||
this->unk_33C = 0x15E8;
|
||||
break;
|
||||
}
|
||||
@@ -446,7 +446,7 @@ void func_80BED3BC(EnAkindonuts* this, PlayState* play) {
|
||||
case 0x15E5:
|
||||
this->unk_33C = 0x15E6;
|
||||
func_80BED090(play);
|
||||
gSaveContext.save.weekEventReg[61] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_61_10);
|
||||
this->unk_32C |= 0x20;
|
||||
break;
|
||||
|
||||
@@ -461,8 +461,8 @@ void func_80BED3BC(EnAkindonuts* this, PlayState* play) {
|
||||
void func_80BED680(EnAkindonuts* this, PlayState* play) {
|
||||
switch (this->unk_33C) {
|
||||
case 0:
|
||||
if (func_80BED140(play) && !(gSaveContext.save.weekEventReg[61] & 0x40)) {
|
||||
gSaveContext.save.weekEventReg[61] |= 0x40;
|
||||
if (func_80BED140(play) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_61_40)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_61_40);
|
||||
this->unk_33C = 0x15F0;
|
||||
break;
|
||||
}
|
||||
@@ -562,8 +562,8 @@ void func_80BED8A4(EnAkindonuts* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 0x15FE:
|
||||
if (!(gSaveContext.save.weekEventReg[62] & 1)) {
|
||||
gSaveContext.save.weekEventReg[62] |= 1;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_62_01)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_01);
|
||||
this->unk_33C = 0x15FF;
|
||||
break;
|
||||
}
|
||||
@@ -623,7 +623,7 @@ void func_80BED8A4(EnAkindonuts* this, PlayState* play) {
|
||||
|
||||
case 0x15FA:
|
||||
this->unk_33C = 0x15FB;
|
||||
gSaveContext.save.weekEventReg[61] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_61_80);
|
||||
this->unk_32C |= 0x20;
|
||||
break;
|
||||
|
||||
@@ -640,8 +640,8 @@ void func_80BEDB88(EnAkindonuts* this, PlayState* play) {
|
||||
|
||||
switch (this->unk_33C) {
|
||||
case 0:
|
||||
if ((player->transformation == PLAYER_FORM_DEKU) && !(gSaveContext.save.weekEventReg[62] & 2)) {
|
||||
gSaveContext.save.weekEventReg[62] |= 2;
|
||||
if ((player->transformation == PLAYER_FORM_DEKU) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_62_02)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_02);
|
||||
this->unk_33C = 0x15F0;
|
||||
break;
|
||||
}
|
||||
@@ -740,8 +740,8 @@ void func_80BEDDAC(EnAkindonuts* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 0x1610:
|
||||
if (!(gSaveContext.save.weekEventReg[62] & 8)) {
|
||||
gSaveContext.save.weekEventReg[62] |= 8;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_62_08)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_08);
|
||||
this->unk_33C = 0x1611;
|
||||
break;
|
||||
}
|
||||
@@ -796,7 +796,7 @@ void func_80BEDDAC(EnAkindonuts* this, PlayState* play) {
|
||||
|
||||
case 0x15FA:
|
||||
this->unk_33C = 0x160D;
|
||||
gSaveContext.save.weekEventReg[62] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_04);
|
||||
this->unk_32C |= 0x20;
|
||||
break;
|
||||
|
||||
@@ -813,8 +813,8 @@ void func_80BEE070(EnAkindonuts* this, PlayState* play) {
|
||||
|
||||
switch (this->unk_33C) {
|
||||
case 0:
|
||||
if ((player->transformation == PLAYER_FORM_GORON) && !(gSaveContext.save.weekEventReg[62] & 0x10)) {
|
||||
gSaveContext.save.weekEventReg[62] |= 0x10;
|
||||
if ((player->transformation == PLAYER_FORM_GORON) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_62_10)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_10);
|
||||
this->unk_33C = 0x1614;
|
||||
break;
|
||||
}
|
||||
@@ -900,8 +900,8 @@ void func_80BEE274(EnAkindonuts* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 0x1624:
|
||||
if (!(gSaveContext.save.weekEventReg[62] & 0x40)) {
|
||||
gSaveContext.save.weekEventReg[62] |= 0x40;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_62_40)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_40);
|
||||
this->unk_33C = 0x1625;
|
||||
break;
|
||||
}
|
||||
@@ -957,7 +957,7 @@ void func_80BEE274(EnAkindonuts* this, PlayState* play) {
|
||||
|
||||
case 0x1622:
|
||||
this->unk_33C = 0x1623;
|
||||
gSaveContext.save.weekEventReg[62] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_20);
|
||||
this->unk_32C |= 0x20;
|
||||
break;
|
||||
|
||||
@@ -974,8 +974,8 @@ void func_80BEE530(EnAkindonuts* this, PlayState* play) {
|
||||
|
||||
switch (this->unk_33C) {
|
||||
case 0:
|
||||
if ((player->transformation == PLAYER_FORM_ZORA) && !(gSaveContext.save.weekEventReg[62] & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[62] |= 0x80;
|
||||
if ((player->transformation == PLAYER_FORM_ZORA) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_62_80)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_62_80);
|
||||
this->unk_33C = 0x162A;
|
||||
break;
|
||||
}
|
||||
@@ -1095,7 +1095,7 @@ void func_80BEE73C(EnAkindonuts* this, PlayState* play) {
|
||||
void func_80BEE938(EnAkindonuts* this, PlayState* play) {
|
||||
switch (ENAKINDONUTS_GET_3(&this->actor)) {
|
||||
case 0:
|
||||
if (gSaveContext.save.weekEventReg[61] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_61_10)) {
|
||||
if (ENAKINDONUTS_GET_4(&this->actor)) {
|
||||
this->unk_2DC = func_80BED680;
|
||||
} else {
|
||||
@@ -1109,7 +1109,7 @@ void func_80BEE938(EnAkindonuts* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (gSaveContext.save.weekEventReg[61] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_61_80)) {
|
||||
if (ENAKINDONUTS_GET_4(&this->actor)) {
|
||||
this->unk_2DC = func_80BEDB88;
|
||||
} else {
|
||||
@@ -1123,7 +1123,7 @@ void func_80BEE938(EnAkindonuts* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (gSaveContext.save.weekEventReg[62] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_62_04)) {
|
||||
if (ENAKINDONUTS_GET_4(&this->actor)) {
|
||||
this->unk_2DC = func_80BEE070;
|
||||
} else {
|
||||
@@ -1137,7 +1137,7 @@ void func_80BEE938(EnAkindonuts* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (gSaveContext.save.weekEventReg[62] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_62_20)) {
|
||||
if (ENAKINDONUTS_GET_4(&this->actor)) {
|
||||
this->unk_2DC = func_80BEE530;
|
||||
} else {
|
||||
|
||||
@@ -200,7 +200,7 @@ Actor* func_80BDE384(EnAl* this, PlayState* play) {
|
||||
|
||||
switch (this->unk_35C) {
|
||||
case 2:
|
||||
if (!(gSaveContext.save.weekEventReg[89] & 8) && (gSaveContext.save.weekEventReg[85] & 0x80)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_89_08) && CHECK_WEEKEVENTREG(WEEKEVENTREG_85_80)) {
|
||||
actor = func_80BDE1A0(this, play, ACTORCAT_NPC, ACTOR_EN_PM);
|
||||
} else {
|
||||
actor = &GET_PLAYER(play)->actor;
|
||||
@@ -410,7 +410,7 @@ s32 func_80BDEA14(EnAl* this, PlayState* play) {
|
||||
switch (this->unk_4E6) {
|
||||
case 0:
|
||||
case 1:
|
||||
if ((gSaveContext.save.weekEventReg[75] & 2)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_02)) {
|
||||
sp18 = true;
|
||||
} else if (func_80BDE4E0(this, &this->unk_4E6, 0)) {
|
||||
sp18 = true;
|
||||
@@ -451,7 +451,7 @@ s32* func_80BDEABC(EnAl* this, PlayState* play) {
|
||||
return D_80BDFE84;
|
||||
|
||||
case 2:
|
||||
if (!(gSaveContext.save.weekEventReg[89] & 8) && (gSaveContext.save.weekEventReg[85] & 0x80)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_89_08) && CHECK_WEEKEVENTREG(WEEKEVENTREG_85_80)) {
|
||||
this->unk_4EC = func_80BDE7FC;
|
||||
return D_80BDFCBC;
|
||||
}
|
||||
@@ -699,15 +699,15 @@ void func_80BDF414(EnAl* this, PlayState* play) {
|
||||
switch (this->unk_4EA) {
|
||||
case 0:
|
||||
case 1:
|
||||
if (!(gSaveContext.save.weekEventReg[89] & 8)) {
|
||||
if (gSaveContext.save.weekEventReg[85] & 0x80) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_89_08)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_85_80)) {
|
||||
func_80BDE4E0(this, &this->unk_4EA, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (gSaveContext.save.weekEventReg[89] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_89_08)) {
|
||||
this->unk_4EA++;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -138,8 +138,7 @@ void EnAni_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.flags |= ACTOR_FLAG_10;
|
||||
this->stateFlags |= ANI_STATE_CLIMBING;
|
||||
gSaveContext.eventInf[1] &= (u8)~0x10;
|
||||
|
||||
CLEAR_EVENTINF(EVENTINF_14);
|
||||
} else { // ANI_TYPE_STANDING
|
||||
// ( unused code )
|
||||
// for some reason standing he has a large collider
|
||||
@@ -244,7 +243,7 @@ void EnAni_LoseBalance(EnAni* this, PlayState* play) {
|
||||
// frame count : 0.0f, only first frame, rest is handled in next action func
|
||||
Animation_Change(&this->skelAnime, &gAniLandingThenStandingUpAnim, 0.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 5.0f);
|
||||
this->actionFunc = EnAni_FallToGround;
|
||||
gSaveContext.eventInf[1] |= 0x10;
|
||||
SET_EVENTINF(EVENTINF_14);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
#define THIS ((EnAob01*)thisx)
|
||||
|
||||
//! TODO: this file require macros for its uses of weekEventReg
|
||||
|
||||
void EnAob01_Init(Actor* thisx, PlayState* play);
|
||||
void EnAob01_Destroy(Actor* thisx, PlayState* play);
|
||||
void EnAob01_Update(Actor* thisx, PlayState* play);
|
||||
@@ -218,15 +220,15 @@ void func_809C16DC(EnAob01* this, PlayState* play) {
|
||||
switch (gSaveContext.save.day) {
|
||||
case 1:
|
||||
if (!gSaveContext.save.isNight) {
|
||||
if (!(gSaveContext.save.weekEventReg[64] & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[64] |= 0x80;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_64_80)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_64_80);
|
||||
this->unk_210 = 0x3520;
|
||||
} else {
|
||||
this->unk_210 = 0x352F;
|
||||
}
|
||||
} else {
|
||||
if (!(gSaveContext.save.weekEventReg[65] & 1)) {
|
||||
gSaveContext.save.weekEventReg[65] |= 1;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_65_01)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_65_01);
|
||||
this->unk_210 = 0x3530;
|
||||
} else {
|
||||
this->unk_210 = 0x352F;
|
||||
@@ -236,15 +238,15 @@ void func_809C16DC(EnAob01* this, PlayState* play) {
|
||||
|
||||
case 2:
|
||||
if (!gSaveContext.save.isNight) {
|
||||
if (!(gSaveContext.save.weekEventReg[65] & 2)) {
|
||||
gSaveContext.save.weekEventReg[65] |= 2;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_65_02)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_65_02);
|
||||
this->unk_210 = 0x3531;
|
||||
} else {
|
||||
this->unk_210 = 0x352F;
|
||||
}
|
||||
} else {
|
||||
if (!(gSaveContext.save.weekEventReg[65] & 4)) {
|
||||
gSaveContext.save.weekEventReg[65] |= 4;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_65_04)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_65_04);
|
||||
this->unk_210 = 0x3532;
|
||||
} else {
|
||||
this->unk_210 = 0x352F;
|
||||
@@ -254,15 +256,15 @@ void func_809C16DC(EnAob01* this, PlayState* play) {
|
||||
|
||||
case 3:
|
||||
if (!gSaveContext.save.isNight) {
|
||||
if (!(gSaveContext.save.weekEventReg[65] & 8)) {
|
||||
gSaveContext.save.weekEventReg[65] |= 8;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_65_08)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_65_08);
|
||||
this->unk_210 = 0x3533;
|
||||
} else {
|
||||
this->unk_210 = 0x352F;
|
||||
}
|
||||
} else {
|
||||
if (!(gSaveContext.save.weekEventReg[65] & 0x10)) {
|
||||
gSaveContext.save.weekEventReg[65] |= 0x10;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_65_10)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_65_10);
|
||||
this->unk_210 = 0x3534;
|
||||
} else {
|
||||
this->unk_210 = 0x352F;
|
||||
@@ -412,8 +414,8 @@ void func_809C16DC(EnAob01* this, PlayState* play) {
|
||||
|
||||
void func_809C1C9C(EnAob01* this, PlayState* play) {
|
||||
if (gSaveContext.rupeeAccumulator == 0) {
|
||||
gSaveContext.save.weekEventReg[63] |= 1;
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_63_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_02);
|
||||
this->unk_2D2 |= 0x20;
|
||||
func_800FD750(0x40);
|
||||
play->nextEntrance = ENTRANCE(DOGGY_RACETRACK, 1);
|
||||
@@ -761,13 +763,13 @@ void func_809C2A64(EnAob01* this, PlayState* play) {
|
||||
this->torsoRot = this->unk_2F2;
|
||||
this->actor.parent = NULL;
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
if (gSaveContext.save.weekEventReg[8] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_08_20)) {
|
||||
this->actionFunc = func_809C2BE4;
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[8] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_08_20);
|
||||
this->actionFunc = func_809C2BE4;
|
||||
}
|
||||
} else if (gSaveContext.save.weekEventReg[8] & 0x20) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_08_20)) {
|
||||
Actor_PickUp(&this->actor, play, GI_RUPEE_RED, 300.0f, 300.0f);
|
||||
} else {
|
||||
Actor_PickUp(&this->actor, play, GI_HEART_PIECE, 300.0f, 300.0f);
|
||||
@@ -779,12 +781,12 @@ void func_809C2BE4(EnAob01* this, PlayState* play) {
|
||||
u8 talkState = Message_GetState(&play->msgCtx);
|
||||
|
||||
if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) {
|
||||
if (gSaveContext.save.weekEventReg[63] & 2) {
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~2;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_02)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_02);
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[63] & 1) {
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~1;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_01)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_01);
|
||||
}
|
||||
|
||||
this->unk_210 = 0;
|
||||
@@ -833,12 +835,12 @@ void func_809C2D0C(EnAob01* this, PlayState* play) {
|
||||
|
||||
this->unk_434 = 0;
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
if (gSaveContext.save.weekEventReg[63] & 2) {
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~2;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_02)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_02);
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[63] & 1) {
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~1;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_01)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_01);
|
||||
}
|
||||
|
||||
this->unk_210 = 0x354C;
|
||||
@@ -967,7 +969,7 @@ void EnAob01_Destroy(Actor* thisx, PlayState* play) {
|
||||
EnAob01* this = THIS;
|
||||
|
||||
if (!(this->unk_2D2 & 0x20)) {
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_01);
|
||||
}
|
||||
Collider_DestroyCylinder(play, &this->collider);
|
||||
}
|
||||
|
||||
@@ -207,32 +207,32 @@ void EnAz_Init(Actor* thisx, PlayState* play2) {
|
||||
this->actor.targetMode = 1;
|
||||
switch (BEAVER_GET_PARAM_F00(thisx)) {
|
||||
case 0:
|
||||
phi_v1 = (gSaveContext.save.entrance == ENTRANCE(WATERFALL_RAPIDS, 0)) &&
|
||||
(gSaveContext.save.weekEventReg[93] & 1);
|
||||
phi_v1 =
|
||||
(gSaveContext.save.entrance == ENTRANCE(WATERFALL_RAPIDS, 0)) && CHECK_WEEKEVENTREG(WEEKEVENTREG_93_01);
|
||||
phi_v1 = !phi_v1;
|
||||
break;
|
||||
case 2:
|
||||
phi_v1 = (gSaveContext.save.entrance != ENTRANCE(WATERFALL_RAPIDS, 1)) ||
|
||||
!(gSaveContext.save.weekEventReg[24] & 4);
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
break;
|
||||
case 4:
|
||||
phi_v1 = gSaveContext.save.entrance != ENTRANCE(WATERFALL_RAPIDS, 2);
|
||||
break;
|
||||
case 1:
|
||||
phi_v1 = (gSaveContext.save.entrance == ENTRANCE(WATERFALL_RAPIDS, 0)) &&
|
||||
(gSaveContext.save.weekEventReg[93] & 1);
|
||||
phi_v1 =
|
||||
(gSaveContext.save.entrance == ENTRANCE(WATERFALL_RAPIDS, 0)) && CHECK_WEEKEVENTREG(WEEKEVENTREG_93_01);
|
||||
phi_v1 = !phi_v1;
|
||||
break;
|
||||
case 3:
|
||||
phi_v1 = (gSaveContext.save.entrance != ENTRANCE(WATERFALL_RAPIDS, 1)) ||
|
||||
(gSaveContext.save.weekEventReg[24] & 4);
|
||||
phi_v1 =
|
||||
(gSaveContext.save.entrance != ENTRANCE(WATERFALL_RAPIDS, 1)) || CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
break;
|
||||
case 5:
|
||||
phi_v1 = gSaveContext.save.entrance != ENTRANCE(WATERFALL_RAPIDS, 2);
|
||||
break;
|
||||
case 6:
|
||||
phi_v1 = (gSaveContext.save.entrance == ENTRANCE(WATERFALL_RAPIDS, 0)) &&
|
||||
!(gSaveContext.save.weekEventReg[93] & 1);
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_93_01);
|
||||
phi_v1 = !phi_v1;
|
||||
break;
|
||||
default:
|
||||
@@ -292,7 +292,7 @@ void EnAz_Init(Actor* thisx, PlayState* play2) {
|
||||
|
||||
switch (gSaveContext.save.entrance) {
|
||||
case ENTRANCE(WATERFALL_RAPIDS, 0):
|
||||
if (gSaveContext.save.weekEventReg[93] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_93_01)) {
|
||||
this->unk_2FA = 5;
|
||||
if (this->unk_374 & 2) {
|
||||
this->actor.flags |= (ACTOR_FLAG_1 | ACTOR_FLAG_8);
|
||||
@@ -321,14 +321,14 @@ void EnAz_Init(Actor* thisx, PlayState* play2) {
|
||||
func_80A97C0C(this, play);
|
||||
break;
|
||||
case ENTRANCE(WATERFALL_RAPIDS, 1):
|
||||
if (gSaveContext.save.weekEventReg[93] & 1) {
|
||||
if (gSaveContext.save.weekEventReg[24] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_93_01)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04)) {
|
||||
this->unk_2FA = 8;
|
||||
} else {
|
||||
this->unk_2FA = 6;
|
||||
}
|
||||
} else {
|
||||
if (gSaveContext.save.weekEventReg[24] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04)) {
|
||||
this->unk_2FA = 3;
|
||||
} else {
|
||||
this->unk_2FA = 1;
|
||||
@@ -338,7 +338,7 @@ void EnAz_Init(Actor* thisx, PlayState* play2) {
|
||||
SubS_CopyPointFromPathList(play->setupPathList, BEAVER_GET_PARAM_FF(thisx),
|
||||
play->setupPathList[BEAVER_GET_PARAM_FF(thisx)].count - 1, &D_80A99E80);
|
||||
}
|
||||
if (gSaveContext.save.weekEventReg[24] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04)) {
|
||||
if (this->unk_374 & 2) {
|
||||
func_80A97D5C(this, play);
|
||||
} else {
|
||||
@@ -351,14 +351,14 @@ void EnAz_Init(Actor* thisx, PlayState* play2) {
|
||||
}
|
||||
break;
|
||||
case ENTRANCE(WATERFALL_RAPIDS, 2):
|
||||
if (gSaveContext.save.weekEventReg[93] & 1) {
|
||||
if (gSaveContext.save.weekEventReg[24] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_93_01)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04)) {
|
||||
this->unk_2FA = 9;
|
||||
} else {
|
||||
this->unk_2FA = 7;
|
||||
}
|
||||
} else {
|
||||
if (gSaveContext.save.weekEventReg[24] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04)) {
|
||||
this->unk_2FA = 4;
|
||||
} else {
|
||||
this->unk_2FA = 2;
|
||||
@@ -698,7 +698,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
switch (play->msgCtx.currentTextId) {
|
||||
case 0x70:
|
||||
case 0xCD:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_01);
|
||||
this->actor.textId = 0x10F2;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&this->animIndex);
|
||||
@@ -707,7 +707,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
break;
|
||||
case 0x10CE:
|
||||
this->actor.textId = 0x10CF;
|
||||
gSaveContext.save.weekEventReg[16] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_16_40);
|
||||
break;
|
||||
case 0x10CF:
|
||||
this->actor.textId = 0x10D0;
|
||||
@@ -782,7 +782,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
break;
|
||||
case 0x10D9:
|
||||
if ((this->unk_2FA == 3) || (this->unk_2FA == 8)) {
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
}
|
||||
func_80A94AB8(this, play, 0);
|
||||
func_80A979DC(this, play);
|
||||
@@ -866,7 +866,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E7:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
func_80A94AB8(this, play, 0);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
@@ -924,7 +924,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
break;
|
||||
case 0x10ED:
|
||||
if ((this->unk_2FA == 4) || (this->unk_2FA == 9)) {
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
}
|
||||
func_80A94AB8(this, play, 0);
|
||||
func_80A979DC(this, play);
|
||||
@@ -943,12 +943,12 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F1:
|
||||
gSaveContext.save.weekEventReg[93] |= 1;
|
||||
if (gSaveContext.save.weekEventReg[23] & 0x80) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_93_01);
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_23_80)) {
|
||||
this->getItemId = GI_RUPEE_RED;
|
||||
} else {
|
||||
this->getItemId = GI_BOTTLE;
|
||||
gSaveContext.save.weekEventReg[23] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_23_80);
|
||||
}
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
@@ -958,7 +958,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
break;
|
||||
case 0x10F2:
|
||||
case 0x1109:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
@@ -992,7 +992,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
case 0x10F8:
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
func_8019F208();
|
||||
if (gSaveContext.save.weekEventReg[25] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_25_01)) {
|
||||
this->actor.textId = 0x1107;
|
||||
} else {
|
||||
this->actor.textId = 0x10FA;
|
||||
@@ -1044,7 +1044,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
case 0x10FE:
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
func_8019F208();
|
||||
if (gSaveContext.save.weekEventReg[25] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_25_01)) {
|
||||
this->actor.textId = 0x1108;
|
||||
} else {
|
||||
this->actor.textId = 0x1101;
|
||||
@@ -1065,7 +1065,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1100:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
@@ -1096,11 +1096,11 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1105:
|
||||
if (gSaveContext.save.weekEventReg[25] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_25_01)) {
|
||||
this->getItemId = GI_RUPEE_PURPLE;
|
||||
} else {
|
||||
this->getItemId = GI_HEART_PIECE;
|
||||
gSaveContext.save.weekEventReg[25] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_25_01);
|
||||
}
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
@@ -1109,7 +1109,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
||||
ret = 7;
|
||||
break;
|
||||
case 0x1106:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
@@ -1188,16 +1188,16 @@ s32 func_80A97274(EnAz* this, PlayState* play) {
|
||||
switch (this->unk_2FA) {
|
||||
case 0:
|
||||
default:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
if (!(gSaveContext.save.weekEventReg[16] & 0x40)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
if (!(CHECK_WEEKEVENTREG(WEEKEVENTREG_16_40))) {
|
||||
textId = 0x10CE;
|
||||
} else {
|
||||
textId = 0x10D4;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gSaveContext.save.weekEventReg[24] & 1) {
|
||||
gSaveContext.save.weekEventReg[24] |= 4;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_01)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
this->unk_3C0 = 0;
|
||||
textId = 0x10DD;
|
||||
} else {
|
||||
@@ -1205,26 +1205,26 @@ s32 func_80A97274(EnAz* this, PlayState* play) {
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (gSaveContext.save.weekEventReg[24] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_01)) {
|
||||
textId = 0x10EE;
|
||||
} else {
|
||||
textId = 0x10E9;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
textId = 0x10F3;
|
||||
break;
|
||||
case 7:
|
||||
if (gSaveContext.save.weekEventReg[24] & 1) {
|
||||
gSaveContext.save.weekEventReg[24] |= 4;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_01)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
textId = 0x10FB;
|
||||
} else {
|
||||
textId = 0x10E9;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (gSaveContext.save.weekEventReg[24] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_01)) {
|
||||
textId = 0x1102;
|
||||
} else {
|
||||
textId = 0x10E9;
|
||||
@@ -1431,8 +1431,8 @@ void func_80A97AB4(EnAz* this, PlayState* play) {
|
||||
func_80A979DC(this, play);
|
||||
} else {
|
||||
func_8019F230();
|
||||
if (gSaveContext.save.weekEventReg[24] & 4) {
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_04)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_04);
|
||||
}
|
||||
func_80151938(play, 0x10D9);
|
||||
}
|
||||
@@ -1465,7 +1465,7 @@ void func_80A97C4C(EnAz* this, PlayState* play) {
|
||||
}
|
||||
func_80A97410(this, play);
|
||||
if ((this->unk_2FA == 1) || (this->unk_2FA == 3) || (this->unk_2FA == 6) || (this->unk_2FA == 8)) {
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_01);
|
||||
func_800FD750(NA_BGM_TIMED_MINI_GAME);
|
||||
play->nextEntrance = Entrance_CreateFromSpawn(1);
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
@@ -1487,7 +1487,7 @@ void func_80A97D5C(EnAz* this, PlayState* play) {
|
||||
play->interfaceCtx.unk_280 = 1;
|
||||
if ((this->unk_2FA == 1) || (this->unk_2FA == 3)) {
|
||||
Interface_StartTimer(TIMER_ID_MINIGAME_2, 120);
|
||||
} else if (gSaveContext.save.weekEventReg[25] & 1) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_25_01)) {
|
||||
Interface_StartTimer(TIMER_ID_MINIGAME_2, 100);
|
||||
} else {
|
||||
Interface_StartTimer(TIMER_ID_MINIGAME_2, 110);
|
||||
@@ -1543,9 +1543,9 @@ void func_80A97F9C(EnAz* this, PlayState* play) {
|
||||
}
|
||||
if (SurfaceType_IsHorseBlocked(&play->colCtx, player->actor.floorPoly, player->actor.floorBgId)) {
|
||||
if (func_80A94B98(this, play)) {
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_24_01);
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[24] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_24_01);
|
||||
}
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
|
||||
this->unk_374 &= ~0x10;
|
||||
|
||||
@@ -167,13 +167,13 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
|
||||
switch (this->textId) {
|
||||
case 0:
|
||||
if (this->stateFlags & BOMB_SHOP_LADY_STATE_AUTOTALK) {
|
||||
if (gSaveContext.save.weekEventReg[33] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
|
||||
// Thanks. Can stock Bomb Bags tomorrow
|
||||
this->textId = 0x2A34;
|
||||
break;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[79] & 0x40) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
|
||||
this->stateFlags |= BOMB_SHOP_LADY_STATE_END_CONVERSATION;
|
||||
// Oh my, learned my lesson. Can't stock Bomb Bags tomorrow
|
||||
this->textId = 0x2A33;
|
||||
@@ -185,8 +185,8 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
|
||||
this->textId = 0x2A32;
|
||||
break;
|
||||
} else if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
if (!(gSaveContext.save.weekEventReg[79] & 0x20)) {
|
||||
gSaveContext.save.weekEventReg[79] |= 0x20;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_79_20)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_79_20);
|
||||
this->stateFlags |= BOMB_SHOP_LADY_STATE_END_CONVERSATION;
|
||||
// Small customer, use bombs as adult
|
||||
this->textId = 0x2A37;
|
||||
@@ -197,8 +197,8 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
|
||||
this->textId = 0x2A38;
|
||||
}
|
||||
break;
|
||||
} else if (!(gSaveContext.save.weekEventReg[33] & 8)) {
|
||||
if (!(gSaveContext.save.weekEventReg[73] & 1)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_73_01)) {
|
||||
// Thought could sell Big Bomb Bags
|
||||
this->textId = 0x660;
|
||||
break;
|
||||
@@ -207,7 +207,7 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
|
||||
this->textId = 0x662;
|
||||
break;
|
||||
} else {
|
||||
if (!(gSaveContext.save.weekEventReg[73] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_73_02)) {
|
||||
// Someone helped me out
|
||||
this->textId = 0x65A;
|
||||
break;
|
||||
@@ -234,7 +234,7 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
|
||||
Actor_ChangeFocus(&this->actor, play, &this->bombShopkeeper->actor);
|
||||
// I'll go next time
|
||||
this->textId = 0x663;
|
||||
gSaveContext.save.weekEventReg[73] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_73_01);
|
||||
this->stateFlags |= BOMB_SHOP_LADY_STATE_END_CONVERSATION;
|
||||
break;
|
||||
|
||||
@@ -254,7 +254,7 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
|
||||
Actor_ChangeFocus(&this->actor, play, &this->bombShopkeeper->actor);
|
||||
// I worry about you
|
||||
this->textId = 0x65D;
|
||||
gSaveContext.save.weekEventReg[73] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_73_02);
|
||||
this->stateFlags |= BOMB_SHOP_LADY_STATE_END_CONVERSATION;
|
||||
break;
|
||||
|
||||
@@ -476,7 +476,7 @@ s32 EnBaba_FollowTimePath(EnBaba* this, PlayState* play) {
|
||||
void EnBaba_HandleSchedule(EnBaba* this, PlayState* play) {
|
||||
switch (this->scheduleResult) {
|
||||
case BOMB_SHOP_LADY_SCH_FOLLOW_TIME_PATH:
|
||||
gSaveContext.save.weekEventReg[58] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_58_40);
|
||||
this->stateFlags |= BOMB_SHOP_LADY_STATE_VISIBLE;
|
||||
EnBaba_FollowTimePath(this, play);
|
||||
break;
|
||||
@@ -512,7 +512,7 @@ void EnBaba_FinishInit(EnBaba* this, PlayState* play) {
|
||||
if ((BOMB_SHOP_LADY_GET_TYPE(&this->actor) == BOMB_SHOP_LADY_TYPE_FOLLOW_SCHEDULE) &&
|
||||
(gSaveContext.save.entrance != ENTRANCE(NORTH_CLOCK_TOWN, 7)) &&
|
||||
(BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor) != 0x3F)) {
|
||||
if ((gSaveContext.save.weekEventReg[58] & 0x40) ||
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_58_40) ||
|
||||
(gSaveContext.save.time >= CLOCK_TIME(0, 20) && (gSaveContext.save.time < CLOCK_TIME(6, 0)))) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
@@ -524,13 +524,13 @@ void EnBaba_FinishInit(EnBaba* this, PlayState* play) {
|
||||
this->actionFunc = EnBaba_FollowSchedule;
|
||||
} else if ((BOMB_SHOP_LADY_GET_TYPE(&this->actor) == BOMB_SHOP_LADY_TYPE_IDLE) &&
|
||||
(gSaveContext.save.entrance == ENTRANCE(NORTH_CLOCK_TOWN, 7))) {
|
||||
if (gSaveContext.save.weekEventReg[81] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_81_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
this->stateFlags |= BOMB_SHOP_LADY_STATE_VISIBLE;
|
||||
if (gSaveContext.save.weekEventReg[33] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
|
||||
this->animIndex = BOMB_SHOP_LADY_ANIM_IDLE_HOLDING_BAG;
|
||||
} else {
|
||||
this->animIndex = BOMB_SHOP_LADY_ANIM_IDLE;
|
||||
@@ -603,12 +603,12 @@ void EnBaba_Talk(EnBaba* this, PlayState* play) {
|
||||
if (this->stateFlags & BOMB_SHOP_LADY_STATE_AUTOTALK) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
if (play->msgCtx.unk120B1 == 0) {
|
||||
gSaveContext.save.weekEventReg[81] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_81_02);
|
||||
EnBaba_TriggerTransition(play, ENTRANCE(NORTH_CLOCK_TOWN, 7));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[81] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_81_02);
|
||||
EnBaba_TriggerTransition(play, ENTRANCE(NORTH_CLOCK_TOWN, 7));
|
||||
}
|
||||
} else {
|
||||
@@ -626,7 +626,7 @@ void EnBaba_Talk(EnBaba* this, PlayState* play) {
|
||||
}
|
||||
} else if (talkState == TEXT_STATE_DONE) {
|
||||
if (Message_ShouldAdvance(play) && (play->msgCtx.unk120B1 == 0)) {
|
||||
gSaveContext.save.weekEventReg[81] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_81_02);
|
||||
EnBaba_TriggerTransition(play, ENTRANCE(NORTH_CLOCK_TOWN, 7));
|
||||
}
|
||||
}
|
||||
@@ -698,7 +698,7 @@ void EnBaba_KnockedOver(EnBaba* this, PlayState* play) {
|
||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex);
|
||||
}
|
||||
} else {
|
||||
if ((gSaveContext.save.weekEventReg[79] & 0x40) && (DECR(this->sakonDeadTimer) == 0)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40) && (DECR(this->sakonDeadTimer) == 0)) {
|
||||
Audio_QueueSeqCmd(0x101400FF);
|
||||
EnBaba_TriggerTransition(play, ENTRANCE(NORTH_CLOCK_TOWN, 7));
|
||||
} else {
|
||||
|
||||
@@ -71,16 +71,14 @@ void EnBaisen_Init(Actor* thisx, PlayState* play) {
|
||||
this->paramCopy = this->actor.params;
|
||||
if (this->actor.params == 0) {
|
||||
this->unk290 = true;
|
||||
if (!(gSaveContext.save.weekEventReg[63] & 0x80) &&
|
||||
((gSaveContext.save.day != 3) || !gSaveContext.save.isNight)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_63_80) && ((gSaveContext.save.day != 3) || !gSaveContext.save.isNight)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else {
|
||||
this->collider.dim.radius = 30;
|
||||
this->collider.dim.height = 60;
|
||||
this->collider.dim.yShift = 0;
|
||||
if ((gSaveContext.save.weekEventReg[63] & 0x80) ||
|
||||
((gSaveContext.save.day == 3) && (gSaveContext.save.isNight))) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_80) || ((gSaveContext.save.day == 3) && gSaveContext.save.isNight)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
@@ -155,7 +153,7 @@ void func_80BE887C(EnBaisen* this, PlayState* play) {
|
||||
} else {
|
||||
if (this->paramCopy != 0) {
|
||||
this->textIdIndex = 0;
|
||||
if (gSaveContext.save.weekEventReg[60] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_60_08)) {
|
||||
this->textIdIndex = 1;
|
||||
}
|
||||
if (Player_GetMask(play) == PLAYER_MASK_COUPLE) {
|
||||
|
||||
@@ -104,7 +104,7 @@ void EnBigokuta_Init(Actor* thisx, PlayState* play) {
|
||||
CollisionCheck_SetInfo(&this->picto.actor.colChkInfo, NULL, &sColChkInfoInit);
|
||||
this->cutscene = ActorCutscene_GetAdditionalCutscene(this->picto.actor.cutscene);
|
||||
|
||||
if (gSaveContext.save.weekEventReg[20] & 2 ||
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_02) ||
|
||||
((this->picto.actor.params != 0xFF) && Flags_GetSwitch(play, this->picto.actor.params))) {
|
||||
Actor_Kill(&this->picto.actor);
|
||||
} else {
|
||||
@@ -377,7 +377,7 @@ void EnBigokuta_PlayDeathCutscene(EnBigokuta* this, PlayState* play) {
|
||||
} else if (ActorCutscene_GetCanPlayNext(this->cutscene)) {
|
||||
ActorCutscene_Start(this->cutscene, &this->picto.actor);
|
||||
|
||||
if (!(gSaveContext.eventInf[4] & 2) && !(gSaveContext.eventInf[3] & 0x20)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_41) && !CHECK_EVENTINF(EVENTINF_35)) {
|
||||
func_800B724C(play, &this->picto.actor, 7);
|
||||
} else {
|
||||
player = GET_PLAYER(play);
|
||||
@@ -453,7 +453,7 @@ void EnBigokuta_PlayDeathEffects(EnBigokuta* this, PlayState* play) {
|
||||
ActorCutscene_Stop(this->cutscene);
|
||||
Actor_Kill(&this->picto.actor);
|
||||
|
||||
if (!(gSaveContext.eventInf[4] & 2) && !(gSaveContext.eventInf[3] & 0x20)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_41) && !CHECK_EVENTINF(EVENTINF_35)) {
|
||||
func_800B724C(play, &this->picto.actor, 6);
|
||||
} else {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
@@ -311,13 +311,11 @@ static InitChainEntry sInitChain[] = {
|
||||
};
|
||||
|
||||
void EnBigslime_Init(Actor* thisx, PlayState* play2) {
|
||||
// gSaveContext.save.weekEventReg[KEY] = VALUE
|
||||
// KEY | VALUE
|
||||
static s32 isFrogReturnedFlags[] = {
|
||||
(32 << 8) | 0x40, // Woodfall Temple Frog Returned
|
||||
(32 << 8) | 0x80, // Great Bay Temple Frog Returned
|
||||
(33 << 8) | 0x01, // Southern Swamp Frog Returned
|
||||
(33 << 8) | 0x02, // Laundry Pool Frog Returned
|
||||
WEEKEVENTREG_32_40,
|
||||
WEEKEVENTREG_32_80,
|
||||
WEEKEVENTREG_33_01,
|
||||
WEEKEVENTREG_33_02,
|
||||
};
|
||||
PlayState* play = play2;
|
||||
EnBigslime* this = THIS;
|
||||
@@ -342,43 +340,43 @@ void EnBigslime_Init(Actor* thisx, PlayState* play2) {
|
||||
|
||||
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) {
|
||||
Actor_Kill(&this->actor);
|
||||
if (!(gSaveContext.save.weekEventReg[isFrogReturnedFlags[this->actor.params - 1] >> 8] &
|
||||
(u8)isFrogReturnedFlags[this->actor.params - 1])) {
|
||||
if (!CHECK_WEEKEVENTREG(isFrogReturnedFlags[this->actor.params - 1])) {
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_MINIFROG, this->actor.world.pos.x, this->actor.world.pos.y,
|
||||
this->actor.world.pos.z, 0, this->actor.shape.rot.y, 0, this->actor.params);
|
||||
}
|
||||
} else {
|
||||
this->cutscene = this->actor.cutscene;
|
||||
this->actor.scale.x = this->actor.scale.z = 0.15f;
|
||||
this->actor.scale.y = 0.075f;
|
||||
this->vtxScaleX = this->vtxScaleZ = 0.015000001f;
|
||||
this->actor.home.pos.x = GBT_ROOM_5_CENTER_X;
|
||||
this->actor.home.pos.y = GBT_ROOM_5_MAX_Y - 75.0f;
|
||||
this->actor.home.pos.z = GBT_ROOM_5_CENTER_Z;
|
||||
for (i = 0; i < MINISLIME_NUM_SPAWN; i++) {
|
||||
this->minislime[i] = (EnMinislime*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play,
|
||||
ACTOR_EN_MINISLIME, 0.0f, 0.0f, 0.0f, 0, 0, 0, i);
|
||||
if (this->minislime[i] == NULL) {
|
||||
for (i = i - 1; i >= 0; i--) {
|
||||
Actor_Kill(&this->minislime[i]->actor);
|
||||
}
|
||||
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this->minislimeFrozenTexAnim = Lib_SegmentedToVirtual(gMinislimeFrozenTexAnim);
|
||||
this->bigslimeFrozenTexAnim = Lib_SegmentedToVirtual(gBigslimeFrozenTexAnim);
|
||||
this->iceShardTexAnim = Lib_SegmentedToVirtual(gBigslimeIceShardTexAnim);
|
||||
this->actor.world.pos.y = GBT_ROOM_5_MIN_Y;
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
this->actor.shape.shadowAlpha = 255;
|
||||
this->gekkoScale = 0.007f;
|
||||
this->actor.shape.rot.y = 0;
|
||||
this->minislimeToThrow = this->minislime[0];
|
||||
EnBigslime_SetupInitEntrance(this);
|
||||
return;
|
||||
}
|
||||
|
||||
this->cutscene = this->actor.cutscene;
|
||||
this->actor.scale.x = this->actor.scale.z = 0.15f;
|
||||
this->actor.scale.y = 0.075f;
|
||||
this->vtxScaleX = this->vtxScaleZ = 0.015000001f;
|
||||
this->actor.home.pos.x = GBT_ROOM_5_CENTER_X;
|
||||
this->actor.home.pos.y = GBT_ROOM_5_MAX_Y - 75.0f;
|
||||
this->actor.home.pos.z = GBT_ROOM_5_CENTER_Z;
|
||||
for (i = 0; i < MINISLIME_NUM_SPAWN; i++) {
|
||||
this->minislime[i] = (EnMinislime*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_MINISLIME,
|
||||
0.0f, 0.0f, 0.0f, 0, 0, 0, i);
|
||||
if (this->minislime[i] == NULL) {
|
||||
for (i = i - 1; i >= 0; i--) {
|
||||
Actor_Kill(&this->minislime[i]->actor);
|
||||
}
|
||||
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this->minislimeFrozenTexAnim = Lib_SegmentedToVirtual(gMinislimeFrozenTexAnim);
|
||||
this->bigslimeFrozenTexAnim = Lib_SegmentedToVirtual(gBigslimeFrozenTexAnim);
|
||||
this->iceShardTexAnim = Lib_SegmentedToVirtual(gBigslimeIceShardTexAnim);
|
||||
this->actor.world.pos.y = GBT_ROOM_5_MIN_Y;
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
this->actor.shape.shadowAlpha = 255;
|
||||
this->gekkoScale = 0.007f;
|
||||
this->actor.shape.rot.y = 0;
|
||||
this->minislimeToThrow = this->minislime[0];
|
||||
EnBigslime_SetupInitEntrance(this);
|
||||
}
|
||||
|
||||
void EnBigslime_Destroy(Actor* thisx, PlayState* play) {
|
||||
|
||||
@@ -121,34 +121,34 @@ void func_809CD028(EnBji01* this, PlayState* play) {
|
||||
case SHIKASHI_TYPE_FINISHED_CONVERSATION:
|
||||
switch (gSaveContext.save.playerForm) {
|
||||
case PLAYER_FORM_DEKU:
|
||||
if (gSaveContext.save.weekEventReg[17] & 0x10) {
|
||||
if (gSaveContext.save.weekEventReg[74] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_17_10)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_74_80)) {
|
||||
this->textId = 0x5F4;
|
||||
} else {
|
||||
this->textId = 0x5E2;
|
||||
}
|
||||
} else {
|
||||
this->textId = 0x5EC;
|
||||
gSaveContext.save.weekEventReg[17] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_17_10);
|
||||
}
|
||||
break;
|
||||
case PLAYER_FORM_HUMAN:
|
||||
if (Player_GetMask(play) == PLAYER_MASK_KAFEIS_MASK) {
|
||||
this->textId = 0x236A;
|
||||
} else if (gSaveContext.save.weekEventReg[74] & 0x10) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_74_10)) {
|
||||
this->textId = 0x5F6;
|
||||
} else {
|
||||
this->textId = 0x5F5;
|
||||
gSaveContext.save.weekEventReg[74] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_74_10);
|
||||
}
|
||||
break;
|
||||
case PLAYER_FORM_GORON:
|
||||
case PLAYER_FORM_ZORA:
|
||||
if (gSaveContext.save.weekEventReg[75] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_08)) {
|
||||
this->textId = 0x5E4;
|
||||
} else {
|
||||
this->textId = 0x5DC;
|
||||
gSaveContext.save.weekEventReg[75] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_75_08);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -156,7 +156,7 @@ void func_809CD028(EnBji01* this, PlayState* play) {
|
||||
case SHIKASHI_TYPE_LOOKED_THROUGH_TELESCOPE:
|
||||
switch (gSaveContext.save.playerForm) {
|
||||
case PLAYER_FORM_DEKU:
|
||||
if (gSaveContext.save.weekEventReg[74] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_74_80)) {
|
||||
this->textId = 0x5F2;
|
||||
} else {
|
||||
this->textId = 0x5F1;
|
||||
|
||||
@@ -389,7 +389,7 @@ void EnBjt_FollowSchedule(EnBjt* this, PlayState* play) {
|
||||
} else if (this->stateFlags & TOILET_HAND_STATE_VISIBLE) {
|
||||
// Vanish if player goes too far away or heart piece given
|
||||
if ((fabsf(this->actor.playerHeightRel) > 70.0f) || (this->actor.xzDistToPlayer > 140.0f) ||
|
||||
(gSaveContext.save.weekEventReg[90] & 0x80)) {
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_90_80)) {
|
||||
SubS_UpdateFlags(&this->stateFlags, 0, 7);
|
||||
this->playedSfx = false;
|
||||
this->stateFlags &= ~TOILET_HAND_STATE_VISIBLE;
|
||||
@@ -398,7 +398,7 @@ void EnBjt_FollowSchedule(EnBjt* this, PlayState* play) {
|
||||
} else {
|
||||
// Appear if player approaches and heart piece not given
|
||||
if ((fabsf(this->actor.playerHeightRel) < 20.0f) && (this->actor.xzDistToPlayer < 70.0f) &&
|
||||
!(gSaveContext.save.weekEventReg[90] & 0x80)) {
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_90_80)) {
|
||||
this->stateFlags |= TOILET_HAND_STATE_APPEARING;
|
||||
this->playedSfx = false;
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ void EnBomBowlMan_Init(Actor* thisx, PlayState* play) {
|
||||
this->path = SubS_GetPathByIndex(play, this->unk_29A, 0x3F);
|
||||
this->unk_2C8 = 80.0f;
|
||||
|
||||
if ((gSaveContext.save.entrance == ENTRANCE(EAST_CLOCK_TOWN, 2)) && (gSaveContext.save.weekEventReg[73] & 0x80) &&
|
||||
if ((gSaveContext.save.entrance == ENTRANCE(EAST_CLOCK_TOWN, 2)) && CHECK_WEEKEVENTREG(WEEKEVENTREG_73_80) &&
|
||||
!CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
this->unk_2D6 = this->actor.cutscene;
|
||||
if (this->unk_2D6 == 0) {
|
||||
@@ -202,8 +202,8 @@ void func_809C4BC4(EnBomBowlMan* this, PlayState* play) {
|
||||
func_809C493C(this, 3, 1.0f);
|
||||
this->unk_2D4 = this->actor.yawTowardsPlayer;
|
||||
this->unk_290 = this->actor.yawTowardsPlayer;
|
||||
gSaveContext.save.weekEventReg[73] &= (u8)~0x10;
|
||||
gSaveContext.save.weekEventReg[85] &= (u8)~2;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_73_10);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_85_02);
|
||||
this->unk_29C = 0;
|
||||
this->actionFunc = func_809C4DA4;
|
||||
}
|
||||
@@ -337,13 +337,13 @@ void func_809C51B4(EnBomBowlMan* this, PlayState* play) {
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_86;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
gSaveContext.save.weekEventReg[75] &= (u8)~0x40;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_75_40);
|
||||
if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
gSaveContext.save.weekEventReg[84] |= 0x80;
|
||||
gSaveContext.save.weekEventReg[77] &= (u8)~2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_84_80);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_77_02);
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[73] |= 0x20;
|
||||
gSaveContext.save.weekEventReg[85] &= (u8)~1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_73_20);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_85_01);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -401,7 +401,7 @@ void func_809C5408(EnBomBowlMan* this, PlayState* play) {
|
||||
|
||||
void func_809C5524(EnBomBowlMan* this, PlayState* play) {
|
||||
this->actor.textId = 0x730;
|
||||
if (!(gSaveContext.save.weekEventReg[85] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
this->actor.textId = 0x72F;
|
||||
}
|
||||
func_809C493C(this, 3, 1.0f);
|
||||
@@ -483,8 +483,8 @@ void func_809C5738(EnBomBowlMan* this, PlayState* play) {
|
||||
(this->path != NULL)) {
|
||||
this->unk_298++;
|
||||
if (this->unk_298 >= this->path->count) {
|
||||
gSaveContext.save.weekEventReg[84] |= 0x80;
|
||||
gSaveContext.save.weekEventReg[83] &= (u8)~4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_84_80);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
ActorCutscene_Stop(this->unk_2D6);
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
|
||||
@@ -92,8 +92,8 @@ void func_80C05B3C(EnBombal* this, PlayState* play) {
|
||||
if (this->collider.base.acFlags & AC_HIT) {
|
||||
player = GET_PLAYER(play);
|
||||
this->collider.base.acFlags &= ~AC_HIT;
|
||||
if (!(gSaveContext.save.weekEventReg[75] & 0x40) && !(gSaveContext.save.weekEventReg[73] & 0x10) &&
|
||||
!(gSaveContext.save.weekEventReg[85] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
player->stateFlags1 |= ACTOR_FLAG_20;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
}
|
||||
@@ -107,8 +107,8 @@ void func_80C05C44(EnBombal* this, PlayState* play) {
|
||||
s32 i;
|
||||
Vec3f pos;
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[75] & 0x40) && !(gSaveContext.save.weekEventReg[73] & 0x10) &&
|
||||
!(gSaveContext.save.weekEventReg[85] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
if (ActorCutscene_GetCurrentIndex() == 0x7C) {
|
||||
ActorCutscene_Stop(0x7C);
|
||||
ActorCutscene_SetIntentToPlay(this->cutscene);
|
||||
@@ -135,7 +135,7 @@ void func_80C05C44(EnBombal* this, PlayState* play) {
|
||||
EnBombal_InitEffects(this, &pos, 10);
|
||||
}
|
||||
|
||||
gSaveContext.save.weekEventReg[83] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_MUJURA_BALLOON_BROKEN);
|
||||
this->timer = 30;
|
||||
this->isPopped = true;
|
||||
@@ -145,8 +145,8 @@ void func_80C05C44(EnBombal* this, PlayState* play) {
|
||||
|
||||
void func_80C05DE8(EnBombal* this, PlayState* play) {
|
||||
if (this->timer == 0) {
|
||||
if (!(gSaveContext.save.weekEventReg[75] & 0x40) && !(gSaveContext.save.weekEventReg[73] & 0x10) &&
|
||||
!(gSaveContext.save.weekEventReg[85] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
ActorCutscene_Stop(this->cutscene);
|
||||
}
|
||||
Actor_Kill(&this->actor);
|
||||
|
||||
@@ -104,20 +104,20 @@ void EnBombers_Init(Actor* thisx, PlayState* play) {
|
||||
this->unk_2BE = ENBOMBERS_GET_F(&this->actor);
|
||||
|
||||
if (this->unk_2BC == ENBOMBERS_F0_0) {
|
||||
if ((gSaveContext.save.weekEventReg[73] & 0x10) || (gSaveContext.save.weekEventReg[85] & 2)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) || CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
this->unk_2BE++;
|
||||
func_80C03ACC(this);
|
||||
} else if (((gSaveContext.save.weekEventReg[73] & 0x10) || (gSaveContext.save.weekEventReg[85] & 2)) &&
|
||||
(((this->unk_2BE == ENBOMBERS_F_0) && (gSaveContext.save.weekEventReg[76] & 1)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_1) && (gSaveContext.save.weekEventReg[76] & 2)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_2) && (gSaveContext.save.weekEventReg[76] & 4)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_3) && (gSaveContext.save.weekEventReg[76] & 8)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_4) && (gSaveContext.save.weekEventReg[76] & 0x10)))) {
|
||||
if (gSaveContext.save.weekEventReg[75] & 0x40) {
|
||||
} else if ((CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) || CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) &&
|
||||
(((this->unk_2BE == ENBOMBERS_F_0) && CHECK_WEEKEVENTREG(WEEKEVENTREG_76_01)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_76_02)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_2) && CHECK_WEEKEVENTREG(WEEKEVENTREG_76_04)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_76_08)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_4) && CHECK_WEEKEVENTREG(WEEKEVENTREG_76_10)))) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40)) {
|
||||
if (this->unk_2BE == ENBOMBERS_F_0) {
|
||||
EnBomBowlMan* bomBowlMan = (EnBomBowlMan*)Actor_Spawn(
|
||||
&play->actorCtx, play, ACTOR_EN_BOM_BOWL_MAN, this->actor.world.pos.x, this->actor.world.pos.y,
|
||||
@@ -131,11 +131,11 @@ void EnBombers_Init(Actor* thisx, PlayState* play) {
|
||||
while (cs != -1) { bomBowlMan->unk_2CC[i] = cs; cs = ActorCutscene_GetAdditionalCutscene(cs); i++; }
|
||||
// clang-format on
|
||||
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~1;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~2;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_02);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_10);
|
||||
}
|
||||
}
|
||||
Actor_Kill(&this->actor);
|
||||
@@ -182,7 +182,7 @@ void func_80C039A8(EnBombers* this, PlayState* play) {
|
||||
switch (player->transformation) {
|
||||
case PLAYER_FORM_HUMAN:
|
||||
this->actor.textId = 0x73D;
|
||||
if (gSaveContext.save.weekEventReg[84] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_84_80)) {
|
||||
this->actor.textId = 0x74B;
|
||||
}
|
||||
break;
|
||||
@@ -196,14 +196,14 @@ void func_80C039A8(EnBombers* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case PLAYER_FORM_DEKU:
|
||||
if (gSaveContext.save.weekEventReg[73] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_20)) {
|
||||
this->actor.textId = 0x75A;
|
||||
} else if (gSaveContext.save.weekEventReg[73] & 0x40) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_40)) {
|
||||
this->actor.textId = 0x749;
|
||||
if (((this->unk_2BE == ENBOMBERS_F_1) && (gSaveContext.save.weekEventReg[74] & 1)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_2) && (gSaveContext.save.weekEventReg[74] & 2)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_3) && (gSaveContext.save.weekEventReg[74] & 4)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_4) && (gSaveContext.save.weekEventReg[74] & 8))) {
|
||||
if (((this->unk_2BE == ENBOMBERS_F_1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_74_01)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_2) && CHECK_WEEKEVENTREG(WEEKEVENTREG_74_02)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_74_04)) ||
|
||||
((this->unk_2BE == ENBOMBERS_F_4) && CHECK_WEEKEVENTREG(WEEKEVENTREG_74_08))) {
|
||||
this->actor.textId = 0x74A;
|
||||
}
|
||||
} else {
|
||||
@@ -395,22 +395,22 @@ void func_80C03FAC(EnBombers* this, PlayState* play) {
|
||||
} else if (this->actor.textId == 0x748) {
|
||||
switch (this->unk_2BE) {
|
||||
case ENBOMBERS_F_1:
|
||||
gSaveContext.save.weekEventReg[74] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_74_01);
|
||||
break;
|
||||
|
||||
case ENBOMBERS_F_2:
|
||||
gSaveContext.save.weekEventReg[74] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_74_02);
|
||||
break;
|
||||
|
||||
case ENBOMBERS_F_3:
|
||||
gSaveContext.save.weekEventReg[74] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_74_04);
|
||||
break;
|
||||
|
||||
case ENBOMBERS_F_4:
|
||||
gSaveContext.save.weekEventReg[74] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_74_08);
|
||||
break;
|
||||
}
|
||||
gSaveContext.save.weekEventReg[73] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_73_40);
|
||||
}
|
||||
|
||||
switch (sp2A) {
|
||||
|
||||
@@ -94,7 +94,8 @@ void EnBombers2_Init(Actor* thisx, PlayState* play) {
|
||||
this->jointTable, OBJECT_CS_LIMB_MAX);
|
||||
this->actor.targetMode = 6;
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
if ((gSaveContext.save.weekEventReg[73] & 0x80) || (gSaveContext.save.entrance == ENTRANCE(EAST_CLOCK_TOWN, 2))) {
|
||||
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_80) || (gSaveContext.save.entrance == ENTRANCE(EAST_CLOCK_TOWN, 2))) {
|
||||
this->actor.world.pos.x += Math_SinS(this->actor.home.rot.y + 0xC100) * 50.0f;
|
||||
cos = Math_CosS(this->actor.home.rot.y + 0xC100) * 50.0f;
|
||||
this->unk_2AC = 1;
|
||||
@@ -165,7 +166,7 @@ void func_80C04BA0(EnBombers2* this, PlayState* play) {
|
||||
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
this->unk_2B6 = this->actor.world.rot.y;
|
||||
gSaveContext.save.weekEventReg[86] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_86_02);
|
||||
func_80C04D00(this);
|
||||
return;
|
||||
}
|
||||
@@ -329,7 +330,7 @@ void func_80C0520C(EnBombers2* this, PlayState* play) {
|
||||
EnBombers2_ChangeAnim(this, 6, 1.0f);
|
||||
this->unk_2A8 = 0;
|
||||
this->unk_2C0 = 1;
|
||||
gSaveContext.save.weekEventReg[73] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_73_80);
|
||||
ActorCutscene_Stop(this->cutscene);
|
||||
this->unk_2AC = 1;
|
||||
this->actor.textId = sTextIds[this->textIdIndex];
|
||||
|
||||
@@ -128,7 +128,7 @@ void EnBomjima_Init(Actor* thisx, PlayState* play) {
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_cs_Skel_00F82C, &gBomberIdleAnim, this->jointTable,
|
||||
this->morphTable, OBJECT_CS_LIMB_MAX);
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
gSaveContext.save.weekEventReg[83] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
this->actor.targetMode = 0;
|
||||
this->unk_2E6 = ENBOMJIMA_GET_F0(&this->actor);
|
||||
this->unk_2E4 = ENBOMJIMA_GET_F(&this->actor);
|
||||
@@ -150,8 +150,8 @@ void EnBomjima_Init(Actor* thisx, PlayState* play) {
|
||||
func_80BFFCFC(this);
|
||||
}
|
||||
|
||||
if ((gSaveContext.save.weekEventReg[75] & 0x40) || (gSaveContext.save.weekEventReg[73] & 0x10) ||
|
||||
(gSaveContext.save.weekEventReg[85] & 2)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40) || CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) ||
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
@@ -177,12 +177,12 @@ void func_80BFE32C(EnBomjima* this, PlayState* play, s32 arg2) {
|
||||
case 0:
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
this->actor.textId = 0x759;
|
||||
if (!(gSaveContext.save.weekEventReg[73] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_73_20)) {
|
||||
this->actor.textId = 0x708;
|
||||
}
|
||||
} else if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
this->actor.textId = 0x75A;
|
||||
if (!(gSaveContext.save.weekEventReg[84] & 0x80)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_84_80)) {
|
||||
this->actor.textId = 0x719;
|
||||
}
|
||||
} else if ((this->unk_2C8 == 1) || (this->unk_2C8 == 2)) {
|
||||
@@ -362,18 +362,18 @@ void func_80BFEB64(EnBomjima* this, PlayState* play) {
|
||||
|
||||
func_80BFE32C(this, play, 0);
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
if (gSaveContext.save.weekEventReg[73] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_20)) {
|
||||
this->unk_2C8 = 3;
|
||||
func_80BFE32C(this, play, 3);
|
||||
} else if (gSaveContext.save.weekEventReg[77] & 2) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_77_02)) {
|
||||
this->unk_2C8 = 11;
|
||||
func_80BFE32C(this, play, 2);
|
||||
}
|
||||
} else if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
if (gSaveContext.save.weekEventReg[84] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_84_80)) {
|
||||
this->unk_2C8 = 0;
|
||||
func_80BFE32C(this, play, 3);
|
||||
} else if (gSaveContext.save.weekEventReg[85] & 1) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_85_01)) {
|
||||
this->unk_2C8 = 11;
|
||||
func_80BFE32C(this, play, 2);
|
||||
}
|
||||
@@ -472,7 +472,7 @@ void func_80BFF03C(EnBomjima* this, PlayState* play) {
|
||||
ActorCutscene_SetIntentToPlay(this->cutscenes[0]);
|
||||
} else {
|
||||
player->stateFlags1 &= ~PLAYER_STATE1_20;
|
||||
gSaveContext.save.weekEventReg[83] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
this->actor.world.rot.y = Camera_GetCamDirYaw(GET_ACTIVE_CAM(play));
|
||||
this->unk_2DC = Camera_GetCamDirYaw(GET_ACTIVE_CAM(play));
|
||||
ActorCutscene_StartAndSetUnkLinkFields(this->cutscenes[0], &this->actor);
|
||||
@@ -518,11 +518,11 @@ void func_80BFF174(EnBomjima* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
if (gSaveContext.save.weekEventReg[73] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_20)) {
|
||||
this->unk_2C8 = 3;
|
||||
func_80BFE32C(this, play, 3);
|
||||
} else {
|
||||
if (!(gSaveContext.save.weekEventReg[77] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_77_02)) {
|
||||
if (this->unk_2E8 == 0) {
|
||||
this->unk_2C8 = 4;
|
||||
} else {
|
||||
@@ -534,11 +534,11 @@ void func_80BFF174(EnBomjima* this, PlayState* play) {
|
||||
func_80BFE32C(this, play, 2);
|
||||
}
|
||||
} else if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
if (gSaveContext.save.weekEventReg[84] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_84_80)) {
|
||||
this->unk_2C8 = 0;
|
||||
func_80BFE32C(this, play, 3);
|
||||
} else {
|
||||
if (!(gSaveContext.save.weekEventReg[85] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_01)) {
|
||||
if (this->unk_2EA == 0) {
|
||||
this->unk_2C8 = 4;
|
||||
} else {
|
||||
@@ -578,7 +578,7 @@ void func_80BFF430(EnBomjima* this, PlayState* play) {
|
||||
bombal->scale = 0.0f;
|
||||
bombal->cutscene = this->bombalCutscene;
|
||||
Actor_ChangeFocus(&this->actor, play, &bombal->actor);
|
||||
gSaveContext.save.weekEventReg[83] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
func_80BFE65C(this);
|
||||
func_801477B4(play);
|
||||
this->actionFunc = func_80BFEA94;
|
||||
@@ -701,24 +701,24 @@ void func_80BFF9B0(EnBomjima* this, PlayState* play) {
|
||||
D_80C009F0 = 0;
|
||||
this->unk_2C8 = 9;
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
gSaveContext.save.weekEventReg[73] |= 0x10;
|
||||
gSaveContext.save.weekEventReg[77] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_73_10);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_77_02);
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[85] |= 2;
|
||||
gSaveContext.save.weekEventReg[85] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_85_02);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_85_01);
|
||||
}
|
||||
|
||||
gSaveContext.save.weekEventReg[11] &= (u8)~1;
|
||||
gSaveContext.save.weekEventReg[11] &= (u8)~2;
|
||||
gSaveContext.save.weekEventReg[11] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[11] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[11] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_11_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_11_02);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_11_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_11_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_11_10);
|
||||
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~1;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~2;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[76] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_02);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_76_10);
|
||||
|
||||
gSaveContext.save.bombersCaughtNum = 0;
|
||||
gSaveContext.save.bombersCaughtOrder[0] = 0;
|
||||
|
||||
@@ -115,38 +115,38 @@ void EnBomjimb_Init(Actor* thisx, PlayState* play) {
|
||||
this->unk_2C6 = ENBOMJIMB_F0_0;
|
||||
}
|
||||
|
||||
if ((gSaveContext.save.weekEventReg[73] & 0x10) || (gSaveContext.save.weekEventReg[85] & 2)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) || CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
switch (this->unk_2C8) {
|
||||
case ENBOMJIMB_F_0:
|
||||
if (gSaveContext.save.weekEventReg[11] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_11_01)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_1:
|
||||
if (gSaveContext.save.weekEventReg[11] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_11_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_2:
|
||||
if (gSaveContext.save.weekEventReg[11] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_11_04)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_3:
|
||||
if (gSaveContext.save.weekEventReg[11] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_11_08)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_4:
|
||||
if (gSaveContext.save.weekEventReg[11] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_11_10)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -154,8 +154,8 @@ void EnBomjimb_Init(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((!(gSaveContext.save.weekEventReg[73] & 0x10) && !(gSaveContext.save.weekEventReg[85] & 2)) ||
|
||||
(gSaveContext.save.weekEventReg[75] & 0x40)) {
|
||||
if ((!CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) ||
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -674,8 +674,8 @@ void func_80C02740(EnBomjimb* this, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (((player->transformation == PLAYER_FORM_DEKU) && !(gSaveContext.save.weekEventReg[73] & 0x10)) ||
|
||||
((player->transformation == PLAYER_FORM_HUMAN) && !(gSaveContext.save.weekEventReg[85] & 2))) {
|
||||
if (((player->transformation == PLAYER_FORM_DEKU) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10)) ||
|
||||
((player->transformation == PLAYER_FORM_HUMAN) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02))) {
|
||||
func_80C0113C(this, 17, 1.0f);
|
||||
Message_StartTextbox(play, 0x72E, &this->actor);
|
||||
player->stateFlags1 |= PLAYER_STATE1_10000000;
|
||||
@@ -698,28 +698,28 @@ void func_80C02740(EnBomjimb* this, PlayState* play) {
|
||||
|
||||
switch (this->unk_2C8) {
|
||||
case ENBOMJIMB_F_0:
|
||||
gSaveContext.save.weekEventReg[76] |= 1;
|
||||
gSaveContext.save.weekEventReg[11] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_76_01);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_11_01);
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_1:
|
||||
gSaveContext.save.weekEventReg[76] |= 2;
|
||||
gSaveContext.save.weekEventReg[11] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_76_02);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_11_02);
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_2:
|
||||
gSaveContext.save.weekEventReg[76] |= 4;
|
||||
gSaveContext.save.weekEventReg[11] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_76_04);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_11_04);
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_3:
|
||||
gSaveContext.save.weekEventReg[76] |= 8;
|
||||
gSaveContext.save.weekEventReg[11] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_76_08);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_11_08);
|
||||
break;
|
||||
|
||||
case ENBOMJIMB_F_4:
|
||||
gSaveContext.save.weekEventReg[76] |= 0x10;
|
||||
gSaveContext.save.weekEventReg[11] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_76_10);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_11_10);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -801,8 +801,8 @@ void func_80C02CA4(EnBomjimb* this, PlayState* play) {
|
||||
play->transitionType = TRANS_TYPE_86;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
}
|
||||
gSaveContext.save.weekEventReg[75] |= 0x40;
|
||||
gSaveContext.save.weekEventReg[83] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_75_40);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
this->actionFunc = func_80C02DAC;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ void EnCha_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.home.rot.z = 0;
|
||||
this->actionFunc = EnCha_Idle;
|
||||
this->actor.home.rot.x = this->actor.home.rot.z;
|
||||
gSaveContext.save.weekEventReg[60] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_60_04);
|
||||
}
|
||||
|
||||
void EnCha_Destroy(Actor* thisx, PlayState* play) {
|
||||
@@ -83,16 +83,16 @@ void EnCha_Ring(EnCha* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void EnCha_Idle(EnCha* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[60] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_60_04)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_DOOR_BELL);
|
||||
gSaveContext.save.weekEventReg[60] &= (u8)~4;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_60_04);
|
||||
this->actor.home.rot.z = 0x7D0;
|
||||
}
|
||||
if (this->collider.base.acFlags & AC_HIT) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_DOOR_BELL);
|
||||
this->actor.home.rot.z = 0x7D0;
|
||||
if (!(gSaveContext.save.weekEventReg[51] & 4)) {
|
||||
gSaveContext.save.weekEventReg[51] |= 4;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_51_04)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_51_04);
|
||||
this->actionFunc = EnCha_Ring;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ void EnColMan_Destroy(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80AFDD60(EnColMan* this) {
|
||||
if (!(gSaveContext.save.weekEventReg[56] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_56_02)) {
|
||||
this->actor.draw = func_80AFE414;
|
||||
this->actor.shape.yOffset = 700.0f;
|
||||
if (this->actor.params == EN_COL_MAN_HEART_PIECE) {
|
||||
@@ -123,14 +123,14 @@ void func_80AFDE00(EnColMan* this, PlayState* play) {
|
||||
this->actor.speedXZ = 0.0f;
|
||||
}
|
||||
}
|
||||
if (!(gSaveContext.save.weekEventReg[56] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_56_02)) {
|
||||
this->actor.shape.rot.y += 0x3E8;
|
||||
}
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
this->actor.parent = NULL;
|
||||
this->actor.draw = NULL;
|
||||
this->actionFunc = EnColMan_SetHeartPieceCollectedAndKill;
|
||||
} else if (!(gSaveContext.save.weekEventReg[56] & 2)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_56_02)) {
|
||||
Actor_PickUp(&this->actor, play, GI_HEART_PIECE, 40.0f, 40.0f);
|
||||
} else {
|
||||
Actor_PickUp(&this->actor, play, GI_RECOVERY_HEART, 40.0f, 40.0f);
|
||||
@@ -139,7 +139,7 @@ void func_80AFDE00(EnColMan* this, PlayState* play) {
|
||||
|
||||
void EnColMan_SetHeartPieceCollectedAndKill(EnColMan* this, PlayState* play) {
|
||||
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
|
||||
gSaveContext.save.weekEventReg[56] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_02);
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ void EnCow_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
this->actionFunc = EnCow_Idle;
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[22] & 1) && (CURRENT_DAY != 1) &&
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01) && (CURRENT_DAY != 1) &&
|
||||
(EN_COW_TYPE(thisx) == EN_COW_TYPE_ABDUCTED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
@@ -153,7 +153,7 @@ void EnCow_Init(Actor* thisx, PlayState* play) {
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->flags = 0;
|
||||
|
||||
gSaveContext.save.weekEventReg[87] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_87_01);
|
||||
}
|
||||
|
||||
void EnCow_Destroy(Actor* thisx, PlayState* play) {
|
||||
@@ -289,8 +289,8 @@ void EnCow_Idle(EnCow* this, PlayState* play) {
|
||||
if (this->actor.xzDistToPlayer < 150.0f &&
|
||||
ABS_ALT((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) < 25000) {
|
||||
if (func_801A5100() == 4) {
|
||||
if (!(gSaveContext.save.weekEventReg[87] & 1)) {
|
||||
gSaveContext.save.weekEventReg[87] |= 1;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_87_01)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_87_01);
|
||||
if (Inventory_HasEmptyBottle()) {
|
||||
this->actor.textId = 0x32C9; // Text to give milk.
|
||||
} else {
|
||||
@@ -301,7 +301,7 @@ void EnCow_Idle(EnCow* this, PlayState* play) {
|
||||
this->actionFunc = EnCow_Talk;
|
||||
}
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[87] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_87_01);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -176,8 +176,8 @@ s32 func_80B3E5DC(EnDai* this, s32 arg1) {
|
||||
s32 func_80B3E69C(EnDai* this, PlayState* play) {
|
||||
s32 ret = false;
|
||||
|
||||
if ((play->csCtx.state != 0) && (play->sceneId == SCENE_12HAKUGINMAE) && (play->csCtx.currentCsIndex == 0) &&
|
||||
!(gSaveContext.save.weekEventReg[30] & 1)) {
|
||||
if ((play->csCtx.state != CS_STATE_0) && (play->sceneId == SCENE_12HAKUGINMAE) &&
|
||||
(play->csCtx.currentCsIndex == 0) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_30_01)) {
|
||||
if (!(this->unk_1CE & 0x10)) {
|
||||
Flags_SetSwitch(play, 20);
|
||||
this->unk_1CE |= (0x80 | 0x10);
|
||||
@@ -192,7 +192,7 @@ s32 func_80B3E69C(EnDai* this, PlayState* play) {
|
||||
} else if (this->unk_1CE & 0x10) {
|
||||
this->unk_1CE &= ~0x10;
|
||||
this->unk_1CE |= 0x200;
|
||||
gSaveContext.save.weekEventReg[30] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_30_01);
|
||||
this->actionFunc = func_80B3F00C;
|
||||
}
|
||||
|
||||
@@ -522,7 +522,7 @@ void EnDai_Init(Actor* thisx, PlayState* play) {
|
||||
this->unk_1CE = 0;
|
||||
this->unk_1D6 = 0;
|
||||
|
||||
if (gSaveContext.save.weekEventReg[33] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_80)) {
|
||||
SubS_UpdateFlags(&this->unk_1CE, 3, 7);
|
||||
this->unk_1CE |= 0x80;
|
||||
this->unk_1CD = 0xFF;
|
||||
@@ -530,7 +530,7 @@ void EnDai_Init(Actor* thisx, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[30] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_30_01)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -88,8 +88,7 @@ void EnDaiku_Init(Actor* thisx, PlayState* play) {
|
||||
this->collider.dim.height = 60;
|
||||
this->collider.dim.yShift = 0;
|
||||
this->actor.flags |= ACTOR_FLAG_8000000;
|
||||
if ((gSaveContext.save.weekEventReg[63] & 0x80) ||
|
||||
((gSaveContext.save.day == 3) && gSaveContext.save.isNight)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_80) || ((gSaveContext.save.day == 3) && gSaveContext.save.isNight)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else if ((gSaveContext.save.day == 3) && gSaveContext.save.isNight) {
|
||||
|
||||
@@ -167,7 +167,7 @@ void func_80BE65B4(EnDaiku2* this, PlayState* play) {
|
||||
switch (gSaveContext.save.day - 1) {
|
||||
case 0:
|
||||
this->unk_28A = 0;
|
||||
if (gSaveContext.save.weekEventReg[64] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_64_02)) {
|
||||
this->unk_28A = 6;
|
||||
}
|
||||
func_80BE6408(this, 8);
|
||||
@@ -175,7 +175,7 @@ void func_80BE65B4(EnDaiku2* this, PlayState* play) {
|
||||
|
||||
case 1:
|
||||
this->unk_28A = 2;
|
||||
if (gSaveContext.save.weekEventReg[64] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_64_04)) {
|
||||
this->unk_28A = 7;
|
||||
}
|
||||
func_80BE6408(this, 8);
|
||||
@@ -309,11 +309,11 @@ void func_80BE6BC0(EnDaiku2* this, PlayState* play) {
|
||||
} else {
|
||||
switch (day) {
|
||||
case 0:
|
||||
gSaveContext.save.weekEventReg[64] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_64_02);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
gSaveContext.save.weekEventReg[64] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_64_04);
|
||||
break;
|
||||
}
|
||||
func_80BE65B4(this, play);
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
#define THIS ((EnDg*)thisx)
|
||||
|
||||
//! TODO: this file require macros for its uses of weekEventReg
|
||||
|
||||
void EnDg_Init(Actor* thisx, PlayState* play);
|
||||
void EnDg_Destroy(Actor* thisx, PlayState* play);
|
||||
void EnDg_Update(Actor* thisx, PlayState* play);
|
||||
|
||||
@@ -249,7 +249,7 @@ void EnDno_Init(Actor* thisx, PlayState* play) {
|
||||
switch (EN_DNO_GET_C000(thisx)) {
|
||||
case EN_DNO_GET_C000_0:
|
||||
func_80A71788(this, play);
|
||||
if (!(gSaveContext.save.weekEventReg[23] & 0x20) || (gSaveContext.save.weekEventReg[93] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_93_02)) {
|
||||
Actor_Kill(thisx);
|
||||
} else {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, EN_DNO_ANIM_IDLE_WITH_CANDLE,
|
||||
@@ -264,7 +264,7 @@ void EnDno_Init(Actor* thisx, PlayState* play) {
|
||||
break;
|
||||
|
||||
case EN_DNO_GET_C000_1:
|
||||
if (gSaveContext.save.weekEventReg[23] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
Actor_Kill(thisx);
|
||||
} else {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, EN_DNO_ANIM_IDLE,
|
||||
@@ -307,7 +307,7 @@ void func_80A71B68(EnDno* this, PlayState* play) {
|
||||
this->unk_452 = 0;
|
||||
this->actor.textId = 0;
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_SONATA)) {
|
||||
if (gSaveContext.save.weekEventReg[27] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_27_01)) {
|
||||
if (!(this->unk_3B0 & 0x20)) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, EN_DNO_ANIM_PRAYER_LOOP,
|
||||
&this->animIndex);
|
||||
@@ -374,17 +374,17 @@ void func_80A71C3C(EnDno* this, PlayState* play) {
|
||||
|
||||
void func_80A71E54(EnDno* this, PlayState* play) {
|
||||
if (CHECK_QUEST_ITEM(QUEST_SONG_SONATA)) {
|
||||
if (gSaveContext.save.weekEventReg[27] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_27_01)) {
|
||||
this->textId = 0x811;
|
||||
} else {
|
||||
this->textId = 0x80F;
|
||||
gSaveContext.save.weekEventReg[27] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_27_01);
|
||||
}
|
||||
} else if (gSaveContext.save.weekEventReg[26] & 0x80) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_26_80)) {
|
||||
this->textId = 0x80B;
|
||||
} else {
|
||||
this->textId = 0x80C;
|
||||
gSaveContext.save.weekEventReg[26] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_26_80);
|
||||
}
|
||||
|
||||
if (this->textId != 0x811) {
|
||||
@@ -617,7 +617,7 @@ void func_80A725F8(EnDno* this, PlayState* play) {
|
||||
|
||||
case 2:
|
||||
if (Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x2D8)) {
|
||||
gSaveContext.save.weekEventReg[93] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_93_02);
|
||||
Message_StartTextbox(play, 0x802, &this->actor);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -246,7 +246,7 @@ s32 func_80B3CF60(EnDnp* this, PlayState* play) {
|
||||
this->unk_322 |= 8;
|
||||
this->actionFunc = func_80B3D3F8;
|
||||
ret = true;
|
||||
} else if (!(gSaveContext.save.weekEventReg[23] & 0x20) && Actor_HasParent(&this->actor, play)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20) && Actor_HasParent(&this->actor, play)) {
|
||||
SubS_UpdateFlags(&this->unk_322, 0, 7);
|
||||
this->unk_322 &= ~0x500;
|
||||
this->actor.parent = NULL;
|
||||
@@ -291,10 +291,10 @@ void func_80B3D11C(EnDnp* this, PlayState* play) {
|
||||
s32 temp_v0;
|
||||
s32 val;
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[29] & 0x40) && (play->sceneId == SCENE_MITURIN) &&
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_29_40) && (play->sceneId == SCENE_MITURIN) &&
|
||||
(play->csCtx.currentCsIndex == 0)) {
|
||||
this->unk_322 |= 0x20;
|
||||
gSaveContext.save.weekEventReg[29] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_29_40);
|
||||
}
|
||||
|
||||
if (Cutscene_CheckActorAction(play, 101)) {
|
||||
@@ -385,7 +385,7 @@ void func_80B3D47C(EnDnp* this, PlayState* play) {
|
||||
void func_80B3D558(EnDnp* this, PlayState* play) {
|
||||
if (ActorCutscene_GetCanPlayNext(this->actor.cutscene)) {
|
||||
ActorCutscene_StartAndSetUnkLinkFields(this->actor.cutscene, &this->actor);
|
||||
gSaveContext.save.weekEventReg[23] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_23_20);
|
||||
} else {
|
||||
ActorCutscene_SetIntentToPlay(this->actor.cutscene);
|
||||
}
|
||||
@@ -414,13 +414,13 @@ void EnDnp_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.cutscene = 0x10;
|
||||
this->actionFunc = func_80B3D47C;
|
||||
} else if (((EN_DNP_GET_TYPE(&this->actor) == EN_DNP_TYPE_WOODFALL_TEMPLE) &&
|
||||
!Inventory_HasItemInBottle(ITEM_DEKU_PRINCESS) && !(gSaveContext.save.weekEventReg[23] & 0x20)) ||
|
||||
!Inventory_HasItemInBottle(ITEM_DEKU_PRINCESS) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) ||
|
||||
((EN_DNP_GET_TYPE(&this->actor) == EN_DNP_TYPE_DEKU_KINGS_CHAMBER) &&
|
||||
(gSaveContext.save.weekEventReg[23] & 0x20))) {
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20))) {
|
||||
Actor_SetScale(&this->actor, 0.0085f);
|
||||
SubS_UpdateFlags(&this->unk_322, 3, 7);
|
||||
this->unk_322 |= 0x400;
|
||||
if ((play->sceneId == SCENE_MITURIN) && (gSaveContext.save.weekEventReg[29] & 0x40)) {
|
||||
if ((play->sceneId == SCENE_MITURIN) && CHECK_WEEKEVENTREG(WEEKEVENTREG_29_40)) {
|
||||
this->unk_322 |= 0x20;
|
||||
EnDnp_ChangeAnim(this, EN_DNP_ANIM_HURRY);
|
||||
}
|
||||
@@ -456,7 +456,7 @@ void EnDnp_Update(Actor* thisx, PlayState* play) {
|
||||
Actor_UpdateBgCheckInfo(play, &this->actor, 30.0f, 12.0f, 0.0f, 4);
|
||||
sp2C = this->collider.dim.radius + 50;
|
||||
sp28 = this->collider.dim.height + 30;
|
||||
if ((this->unk_322 & 0x400) && !(gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
if ((this->unk_322 & 0x400) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
Actor_PickUp(&this->actor, play, GI_MAX, sp2C, sp28);
|
||||
}
|
||||
func_8013C964(&this->actor, play, sp2C, sp28, PLAYER_AP_NONE, this->unk_322 & 7);
|
||||
|
||||
@@ -309,7 +309,7 @@ void func_80A52C6C(EnDnq* this, PlayState* play) {
|
||||
}
|
||||
|
||||
s32* func_80A52CF8(EnDnq* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[23] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
return &D_80A53400[14];
|
||||
}
|
||||
|
||||
@@ -343,11 +343,11 @@ void func_80A52DC8(EnDnq* this, PlayState* play) {
|
||||
SubS_UpdateFlags(&this->unk_37C, 0, 7);
|
||||
}
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
this->unk_390 = 70.0f;
|
||||
if (Inventory_HasItemInBottle(ITEM_DEKU_PRINCESS) && !Play_InCsMode(play) &&
|
||||
(Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) && (ActorCutscene_GetCurrentIndex() == -1)) {
|
||||
if ((DECR(this->unk_384) == 0) && (gSaveContext.save.weekEventReg[29] & 0x40)) {
|
||||
if ((DECR(this->unk_384) == 0) && CHECK_WEEKEVENTREG(WEEKEVENTREG_29_40)) {
|
||||
Message_StartTextbox(play, 0x969, NULL);
|
||||
this->unk_384 = 200;
|
||||
}
|
||||
@@ -361,7 +361,7 @@ void func_80A52DC8(EnDnq* this, PlayState* play) {
|
||||
|
||||
this->picto.actor.xzDistToPlayer = this->unk_394;
|
||||
|
||||
if (gSaveContext.save.weekEventReg[83] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_83_08)) {
|
||||
func_80A52A78(this, play);
|
||||
} else if (this->unk_3A4 == 0) {
|
||||
Math_ApproachS(&this->picto.actor.shape.rot.y, this->picto.actor.world.rot.y, 3, 0x2AA8);
|
||||
@@ -430,7 +430,7 @@ void EnDnq_Init(Actor* thisx, PlayState* play) {
|
||||
this->unk_386 = 0;
|
||||
this->unk_37C = 0;
|
||||
SubS_UpdateFlags(&this->unk_37C, 3, 7);
|
||||
if (gSaveContext.save.weekEventReg[9] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_09_80)) {
|
||||
this->unk_3A4 = 1;
|
||||
} else {
|
||||
this->unk_3A4 = 0;
|
||||
|
||||
@@ -180,7 +180,7 @@ void func_8092C934(EnDns* this) {
|
||||
s32* func_8092C9BC(EnDns* this, PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
if (player->transformation != PLAYER_FORM_DEKU) {
|
||||
return &D_8092DCB0[16];
|
||||
} else if (this->unk_2FC != 0) {
|
||||
@@ -359,14 +359,14 @@ s32 func_8092D068(EnDns* this) {
|
||||
s32 ret = false;
|
||||
|
||||
if (ENDNS_GET_8000(&this->actor)) {
|
||||
if (gSaveContext.save.weekEventReg[23] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
ret = true;
|
||||
}
|
||||
} else if (ENDNS_GET_4000(&this->actor)) {
|
||||
if ((gSaveContext.save.weekEventReg[9] & 0x80) && !(gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_09_80) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
ret = true;
|
||||
}
|
||||
} else if (!(gSaveContext.save.weekEventReg[9] & 0x80) && !(gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_09_80) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
@@ -397,16 +397,16 @@ void func_8092D1B8(EnDns* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (!ENDNS_GET_4000(&this->actor) || (this->unk_2D2 != 0)) {
|
||||
if (!(gSaveContext.save.weekEventReg[23] & 0x20) && !(gSaveContext.eventInf[1] & 0x20) && func_8092CC68(play)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20) && !CHECK_EVENTINF(EVENTINF_15) && func_8092CC68(play)) {
|
||||
player->stateFlags1 |= PLAYER_STATE1_20;
|
||||
this->unk_2C6 |= 0x100;
|
||||
SubS_UpdateFlags(&this->unk_2C6, 4, 7);
|
||||
play_sound(NA_SE_SY_FOUND);
|
||||
gSaveContext.eventInf[1] |= 0x20;
|
||||
SET_EVENTINF(EVENTINF_15);
|
||||
this->unk_2F4 = func_8092CCEC;
|
||||
func_8092C63C(this, EN_DNS_ANIM_WALK_1);
|
||||
this->actionFunc = EnDns_DoNothing;
|
||||
} else if (gSaveContext.eventInf[1] & 0x40) {
|
||||
} else if (CHECK_EVENTINF(EVENTINF_16)) {
|
||||
func_8092CCEC(this, play);
|
||||
func_8092C63C(this, EN_DNS_ANIM_WALK_1);
|
||||
this->actionFunc = func_8092D330;
|
||||
@@ -456,7 +456,7 @@ void func_8092D4D8(EnDns* this, PlayState* play) {
|
||||
SubS_UpdateFlags(&this->unk_2C6, 3, 7);
|
||||
this->unk_2F4 = NULL;
|
||||
if (ENDNS_GET_4000(&this->actor)) {
|
||||
if (!(gSaveContext.eventInf[1] & 0x20)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_15)) {
|
||||
this->skelAnime.curFrame = this->unk_2F0;
|
||||
this->actor.world.rot.y = this->unk_2DA;
|
||||
func_8092C63C(this, EN_DNS_ANIM_DANCE);
|
||||
@@ -521,14 +521,14 @@ void EnDns_Init(Actor* thisx, PlayState* play) {
|
||||
SubS_UpdateFlags(&this->unk_2C6, 3, 7);
|
||||
this->unk_2C6 |= (0x40 | 0x10);
|
||||
this->unk_2C6 |= 0x200;
|
||||
if (gSaveContext.save.weekEventReg[9] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_09_80)) {
|
||||
this->unk_2FC = 1;
|
||||
} else {
|
||||
this->unk_2FC = 0;
|
||||
}
|
||||
this->actionFunc = func_8092D1B8;
|
||||
gSaveContext.eventInf[1] &= (u8)~0x20;
|
||||
gSaveContext.eventInf[1] &= (u8)~0x40;
|
||||
CLEAR_EVENTINF(EVENTINF_15);
|
||||
CLEAR_EVENTINF(EVENTINF_16);
|
||||
}
|
||||
|
||||
void EnDns_Destroy(Actor* thisx, PlayState* play) {
|
||||
|
||||
@@ -57,7 +57,7 @@ u8 D_808675E4[] = {
|
||||
/* 0x1C */ SCHEDULE_CMD_RET_NONE(),
|
||||
/* 0x1D */ SCHEDULE_CMD_RET_VAL_S(8),
|
||||
/* 0x1F */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_S(2, 0x3C - 0x23),
|
||||
/* 0x23 */ SCHEDULE_CMD_CHECK_FLAG_S(0x1C, 0x08, 0x2E - 0x27),
|
||||
/* 0x23 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_28_08, 0x2E - 0x27),
|
||||
/* 0x27 */ SCHEDULE_CMD_CHECK_BEFORE_TIME_S(13, 0, 0x2D - 0x2B),
|
||||
/* 0x2B */ SCHEDULE_CMD_RET_VAL_S(9),
|
||||
/* 0x2D */ SCHEDULE_CMD_RET_NONE(),
|
||||
@@ -93,14 +93,14 @@ u8 D_8086764C[] = {
|
||||
|
||||
u8 D_80867658[] = {
|
||||
/* 0x00 */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_S(2, 0x13 - 0x04),
|
||||
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(0x1C, 0x08, 0x0A - 0x08),
|
||||
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_28_08, 0x0A - 0x08),
|
||||
/* 0x08 */ SCHEDULE_CMD_RET_VAL_S(12),
|
||||
/* 0x0A */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 10, 22, 0, 0x12 - 0x10),
|
||||
/* 0x10 */ SCHEDULE_CMD_RET_VAL_S(12),
|
||||
/* 0x12 */ SCHEDULE_CMD_RET_NONE(),
|
||||
/* 0x13 */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_S(3, 0x28 - 0x17),
|
||||
/* 0x17 */ SCHEDULE_CMD_CHECK_BEFORE_TIME_S(13, 0, 0x28 - 0x1B),
|
||||
/* 0x1B */ SCHEDULE_CMD_CHECK_FLAG_S(0x33, 0x08, 0x21 - 0x1F),
|
||||
/* 0x1B */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_51_08, 0x21 - 0x1F),
|
||||
/* 0x1F */ SCHEDULE_CMD_RET_VAL_S(12),
|
||||
/* 0x21 */ SCHEDULE_CMD_CHECK_BEFORE_TIME_S(22, 0, 0x27 - 0x25),
|
||||
/* 0x25 */ SCHEDULE_CMD_RET_VAL_S(12),
|
||||
@@ -231,7 +231,7 @@ u8 D_8086773C[] = {
|
||||
|
||||
u8 D_80867744[] = {
|
||||
/* 0x00 */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_S(2, 0x08 - 0x04),
|
||||
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(0x63, 0x80, 0x0E - 0x08),
|
||||
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_99_80, 0x0E - 0x08),
|
||||
/* 0x08 */ SCHEDULE_CMD_CHECK_BEFORE_TIME_S(20, 0, 0x14 - 0x0C),
|
||||
/* 0x0C */ SCHEDULE_CMD_RET_VAL_S(27),
|
||||
/* 0x0E */ SCHEDULE_CMD_CHECK_BEFORE_TIME_S(18, 0, 0x14 - 0x12),
|
||||
@@ -240,12 +240,12 @@ u8 D_80867744[] = {
|
||||
};
|
||||
|
||||
u8 D_8086775C[] = {
|
||||
/* 0x00 */ SCHEDULE_CMD_CHECK_FLAG_S(0x34, 0x20, 0x1B - 0x04),
|
||||
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(0x4B, 0x20, 0x1B - 0x08),
|
||||
/* 0x08 */ SCHEDULE_CMD_CHECK_FLAG_S(0x0E, 0x04, 0x0E - 0x0C),
|
||||
/* 0x00 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_52_20, 0x1B - 0x04),
|
||||
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_75_20, 0x1B - 0x08),
|
||||
/* 0x08 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_14_04, 0x0E - 0x0C),
|
||||
/* 0x0C */ SCHEDULE_CMD_RET_VAL_S(29),
|
||||
/* 0x0E */ SCHEDULE_CMD_CHECK_FLAG_S(0x3B, 0x01, 0x1A - 0x12),
|
||||
/* 0x12 */ SCHEDULE_CMD_CHECK_FLAG_S(0x3D, 0x02, 0x18 - 0x16),
|
||||
/* 0x0E */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_59_01, 0x1A - 0x12),
|
||||
/* 0x12 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_61_02, 0x18 - 0x16),
|
||||
/* 0x16 */ SCHEDULE_CMD_RET_VAL_S(30),
|
||||
/* 0x18 */ SCHEDULE_CMD_RET_VAL_S(31),
|
||||
/* 0x1A */ SCHEDULE_CMD_RET_NONE(),
|
||||
|
||||
@@ -684,37 +684,37 @@ void EnDragon_Dead(EnDragon* this, PlayState* play) {
|
||||
if (Actor_SpawnAsChildAndCutscene(&play->actorCtx, play, ACTOR_EN_OT, seahorsePos.x, seahorsePos.y,
|
||||
seahorsePos.z, 0, this->actor.shape.rot.y, 0, 0x4000, this->actor.cutscene,
|
||||
this->actor.unk20, NULL)) {
|
||||
gSaveContext.save.weekEventReg[13] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_13_01);
|
||||
switch (this->pythonIndex) {
|
||||
case 0:
|
||||
gSaveContext.save.weekEventReg[83] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_83_10);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
gSaveContext.save.weekEventReg[83] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_83_20);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
gSaveContext.save.weekEventReg[83] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_83_40);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
gSaveContext.save.weekEventReg[83] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_83_80);
|
||||
break;
|
||||
case 4:
|
||||
gSaveContext.save.weekEventReg[84] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_84_01);
|
||||
break;
|
||||
|
||||
case 5:
|
||||
gSaveContext.save.weekEventReg[84] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_84_02);
|
||||
break;
|
||||
|
||||
case 6:
|
||||
gSaveContext.save.weekEventReg[84] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_84_04);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
gSaveContext.save.weekEventReg[84] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_84_08);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ void EnDrs_PostLimbDraw(PlayState* play2, s32 limbIndex, Gfx** dList, Vec3s* rot
|
||||
|
||||
// Anju removes the Moon Mask at the start of the Couple's Mask cutscene
|
||||
// after that it will no longer be rendered.
|
||||
if (!(gSaveContext.save.weekEventReg[87] & 2) && (limbIndex == WEDDING_DRESS_MANNEQUIN_LIMB_MASK)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_87_02) && (limbIndex == WEDDING_DRESS_MANNEQUIN_LIMB_MASK)) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[temp].segment);
|
||||
gSPDisplayList(POLY_OPA_DISP++, &gMoonMaskDL);
|
||||
|
||||
@@ -1416,7 +1416,7 @@ void func_8088FE64(Actor* thisx, PlayState* play2) {
|
||||
if (!gSaveContext.save.isNight) {
|
||||
func_80151938(play, 0x248);
|
||||
} else if ((gSaveContext.save.time < CLOCK_TIME(6, 0)) &&
|
||||
(gSaveContext.save.weekEventReg[74] & 0x20)) {
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_74_20)) {
|
||||
func_80151938(play, 0x225);
|
||||
} else {
|
||||
func_80151938(play, 0x249);
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#define THIS ((EnElfgrp*)thisx)
|
||||
|
||||
//! TODO: this file require macros for its uses of weekEventReg
|
||||
|
||||
void EnElfgrp_Init(Actor* thisx, PlayState* play);
|
||||
void EnElfgrp_Destroy(Actor* thisx, PlayState* play);
|
||||
void EnElfgrp_Update(Actor* thisx, PlayState* play);
|
||||
@@ -91,7 +93,7 @@ void EnElfgrp_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
switch (this->unk_147) {
|
||||
case ENELFGRP_1:
|
||||
if (gSaveContext.save.weekEventReg[23] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_23_02)) {
|
||||
func_80A396B0(this, 1);
|
||||
} else {
|
||||
this->unk_14A |= 4;
|
||||
@@ -146,7 +148,7 @@ void EnElfgrp_Init(Actor* thisx, PlayState* play) {
|
||||
this->unk_14A |= 2;
|
||||
func_80A396B0(this, 6);
|
||||
}
|
||||
} else if ((gSaveContext.save.weekEventReg[8] & 0x80)) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_08_80)) {
|
||||
func_80A39DC8(this, play, 24, 0);
|
||||
this->actionFunc = func_80A3A398;
|
||||
if (INV_CONTENT(ITEM_MASK_DEKU) == ITEM_MASK_DEKU) {
|
||||
@@ -421,7 +423,7 @@ void func_80A3A398(EnElfgrp* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if ((this->unk_14A & 4) != 0) {
|
||||
gSaveContext.save.weekEventReg[23] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_23_02);
|
||||
}
|
||||
|
||||
if (this->unk_14A & 0x10) {
|
||||
|
||||
@@ -80,7 +80,7 @@ void EnElforg_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
switch (STRAY_FAIRY_TYPE(thisx)) {
|
||||
case STRAY_FAIRY_TYPE_CLOCK_TOWN:
|
||||
if (gSaveContext.save.weekEventReg[8] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_08_80)) {
|
||||
Actor_Kill(thisx);
|
||||
return;
|
||||
}
|
||||
@@ -430,7 +430,7 @@ void EnElforg_ClockTownFairyCollected(EnElforg* this, PlayState* play) {
|
||||
player->actor.freezeTimer = 0;
|
||||
player->stateFlags1 &= ~PLAYER_STATE1_20000000;
|
||||
Actor_Kill(&this->actor);
|
||||
gSaveContext.save.weekEventReg[8] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_08_80);
|
||||
ActorCutscene_Stop(0x7C);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ void func_809C42A8(EnEncount4* this, PlayState* play) {
|
||||
this->actionFunc = func_809C464C;
|
||||
|
||||
return;
|
||||
} else if ((gSaveContext.save.weekEventReg[85] & 0x40) || (this->unk_14C >= 2) ||
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_85_40) || (this->unk_14C >= 2) ||
|
||||
(this->actor.xzDistToPlayer > 240.0f)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@ void EnFall_Setup(EnFall* this, PlayState* play) {
|
||||
this->actor.draw = EnFall_Moon_Draw;
|
||||
this->actionFunc = EnFall_StoppedClosedMouthMoon_PerformCutsceneActions;
|
||||
Actor_SetScale(&this->actor, this->scale * 3.0f);
|
||||
if (!(gSaveContext.save.weekEventReg[25] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_25_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
break;
|
||||
@@ -229,7 +229,7 @@ void EnFall_Setup(EnFall* this, PlayState* play) {
|
||||
this->actionFunc = EnFall_ClockTowerOrTitleScreenMoon_PerformCutsceneActions;
|
||||
Actor_SetScale(&this->actor, this->scale * 3.0f);
|
||||
this->actor.draw = EnFall_Moon_Draw;
|
||||
if (gSaveContext.save.weekEventReg[25] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_25_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
break;
|
||||
@@ -326,7 +326,7 @@ void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, PlayState* play) {
|
||||
case 2:
|
||||
if (CHECK_QUEST_ITEM(QUEST_REMAINS_ODOLWA) && CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT) &&
|
||||
CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG) && CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD)) {
|
||||
if (gSaveContext.save.weekEventReg[93] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_93_04)) {
|
||||
if (ActorCutscene_GetCanPlayNext(0xC)) {
|
||||
ActorCutscene_Start(0xC, &this->actor);
|
||||
sGiantsCutsceneState++;
|
||||
@@ -335,7 +335,7 @@ void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, PlayState* play) {
|
||||
}
|
||||
} else if (ActorCutscene_GetCanPlayNext(0xB)) {
|
||||
ActorCutscene_Start(0xB, &this->actor);
|
||||
gSaveContext.save.weekEventReg[93] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_93_04);
|
||||
sGiantsCutsceneState++;
|
||||
} else {
|
||||
ActorCutscene_SetIntentToPlay(0xB);
|
||||
@@ -518,8 +518,8 @@ void EnFall_MoonsTear_Fall(EnFall* this, PlayState* play) {
|
||||
if (this->actor.draw != NULL) {
|
||||
if (Math_Vec3f_StepTo(&this->actor.world.pos, &this->actor.home.pos, this->actor.speedXZ) <= 0.0f) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_GORON_BOUND_1);
|
||||
gSaveContext.save.weekEventReg[74] |= 0x80;
|
||||
gSaveContext.save.weekEventReg[74] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_74_80);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_74_20);
|
||||
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_TEST, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, -2);
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x, this->actor.world.pos.y,
|
||||
|
||||
@@ -163,27 +163,27 @@ void EnFish2_Init(Actor* thisx, PlayState* play) {
|
||||
this->morphTable, 24);
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
if (this->unk_344 == 0) {
|
||||
if (gSaveContext.save.weekEventReg[81] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_81_10)) {
|
||||
this->unk_2C0 = 1;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[81] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_81_20)) {
|
||||
this->unk_2C0 = 2;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[81] & 0x40) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_81_40)) {
|
||||
this->unk_2C0 = 3;
|
||||
}
|
||||
} else {
|
||||
if (gSaveContext.save.weekEventReg[81] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_81_80)) {
|
||||
this->unk_2C0 = 1;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[82] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_82_01)) {
|
||||
this->unk_2C0 = 2;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[82] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_82_02)) {
|
||||
this->unk_2C0 = 3;
|
||||
}
|
||||
}
|
||||
@@ -619,18 +619,18 @@ void func_80B297FC(EnFish2* this, PlayState* play) {
|
||||
this->unk_2C0++;
|
||||
if (this->unk_344 == 0) {
|
||||
if (this->unk_2C0 == 1) {
|
||||
gSaveContext.save.weekEventReg[81] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_81_10);
|
||||
} else if (this->unk_2C0 == 2) {
|
||||
gSaveContext.save.weekEventReg[81] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_81_20);
|
||||
} else if (this->unk_2C0 == 3) {
|
||||
gSaveContext.save.weekEventReg[81] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_81_40);
|
||||
}
|
||||
} else if (this->unk_2C0 == 1) {
|
||||
gSaveContext.save.weekEventReg[81] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_81_80);
|
||||
} else if (this->unk_2C0 == 2) {
|
||||
gSaveContext.save.weekEventReg[82] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_82_01);
|
||||
} else if (this->unk_2C0 == 3) {
|
||||
gSaveContext.save.weekEventReg[82] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_82_02);
|
||||
}
|
||||
|
||||
if (this->unk_2B0 != 0) {
|
||||
@@ -890,12 +890,12 @@ void func_80B2A498(EnFish2* this, PlayState* play) {
|
||||
temp_v0->speedXZ = 4.0f;
|
||||
temp_v0->velocity.y = 15.0f;
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_PIECE_OF_HEART);
|
||||
gSaveContext.save.weekEventReg[81] &= (u8)~0x10;
|
||||
gSaveContext.save.weekEventReg[81] &= (u8)~0x20;
|
||||
gSaveContext.save.weekEventReg[81] &= (u8)~0x40;
|
||||
gSaveContext.save.weekEventReg[81] &= (u8)~0x80;
|
||||
gSaveContext.save.weekEventReg[82] &= (u8)~1;
|
||||
gSaveContext.save.weekEventReg[82] &= (u8)~2;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_81_10);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_81_20);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_81_40);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_81_80);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_82_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_82_02);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -153,7 +153,7 @@ u16 EnFsn_GetWelcome(PlayState* play) {
|
||||
void EnFsn_HandleConversationBackroom(EnFsn* this, PlayState* play) {
|
||||
switch (this->textId) {
|
||||
case 0:
|
||||
if (!(gSaveContext.save.weekEventReg[80] & 0x10)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_80_10)) {
|
||||
this->textId = 0x29E0;
|
||||
break;
|
||||
} else {
|
||||
@@ -166,7 +166,7 @@ void EnFsn_HandleConversationBackroom(EnFsn* this, PlayState* play) {
|
||||
this->flags |= ENFSN_GIVE_ITEM;
|
||||
this->flags |= ENFSN_GAVE_LETTER_TO_MAMA;
|
||||
this->getItemId = GI_LETTER_TO_MAMA;
|
||||
gSaveContext.save.weekEventReg[80] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_80_10);
|
||||
this->textId = 0x29F1;
|
||||
break;
|
||||
} else {
|
||||
@@ -186,7 +186,7 @@ void EnFsn_HandleConversationBackroom(EnFsn* this, PlayState* play) {
|
||||
this->flags |= ENFSN_GIVE_ITEM;
|
||||
this->flags |= ENFSN_GAVE_LETTER_TO_MAMA;
|
||||
this->getItemId = GI_LETTER_TO_MAMA;
|
||||
gSaveContext.save.weekEventReg[80] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_80_10);
|
||||
this->textId = 0x29F1;
|
||||
break;
|
||||
case 0x29F1:
|
||||
@@ -301,8 +301,8 @@ void EnFsn_CursorLeftRight(EnFsn* this) {
|
||||
}
|
||||
|
||||
s16 EnFsn_GetThirdDayItemId(void) {
|
||||
if (!(gSaveContext.save.weekEventReg[33] & 4) && CURRENT_DAY == 3) {
|
||||
if (!(gSaveContext.save.weekEventReg[33] & 8) && !(gSaveContext.save.weekEventReg[79] & 0x40)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04) && CURRENT_DAY == 3) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
|
||||
return SI_BOMB_BAG_30_1;
|
||||
}
|
||||
return SI_MASK_ALL_NIGHT;
|
||||
@@ -335,7 +335,7 @@ s32 EnFsn_HasItemsToSell(void) {
|
||||
}
|
||||
|
||||
if ((STOLEN_ITEM_1 != STOLEN_ITEM_NONE) || (STOLEN_ITEM_2 != STOLEN_ITEM_NONE) ||
|
||||
!(gSaveContext.save.weekEventReg[33] & 4)) {
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -441,9 +441,9 @@ s32 EnFsn_FacingShopkeeperDialogResult(EnFsn* this, PlayState* play) {
|
||||
func_8019F208();
|
||||
if (CURRENT_DAY != 3) {
|
||||
this->actor.textId = 0x29FB;
|
||||
} else if (gSaveContext.save.weekEventReg[33] & 4) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04)) {
|
||||
this->actor.textId = 0x29FF;
|
||||
} else if (!(gSaveContext.save.weekEventReg[33] & 8) && !(gSaveContext.save.weekEventReg[79] & 0x40)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
|
||||
this->actor.textId = 0x29D7;
|
||||
} else {
|
||||
this->actor.textId = 0x29D8;
|
||||
@@ -861,10 +861,9 @@ void EnFsn_AskBuyOrSell(EnFsn* this, PlayState* play) {
|
||||
Message_StartTextbox(play, this->actor.textId, &this->actor);
|
||||
break;
|
||||
case 0x29D2:
|
||||
if (gSaveContext.save.weekEventReg[33] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04)) {
|
||||
this->actor.textId = 0x2A01;
|
||||
} else if (!(gSaveContext.save.weekEventReg[33] & 8) &&
|
||||
!(gSaveContext.save.weekEventReg[79] & 0x40)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
|
||||
this->actor.textId = 0x29D3;
|
||||
} else {
|
||||
this->actor.textId = 0x29D4;
|
||||
@@ -1145,7 +1144,7 @@ void EnFsn_HandleCanPlayerBuyItem(EnFsn* this, PlayState* play) {
|
||||
switch (item->canBuyFunc(play, item)) {
|
||||
case CANBUY_RESULT_SUCCESS_2:
|
||||
func_8019F208();
|
||||
gSaveContext.save.weekEventReg[33] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_33_04);
|
||||
case CANBUY_RESULT_SUCCESS_1:
|
||||
if (this->cutsceneState == ENFSN_CUTSCENESTATE_PLAYING) {
|
||||
ActorCutscene_Stop(this->cutscene);
|
||||
@@ -1416,7 +1415,7 @@ void EnFsn_Init(Actor* thisx, PlayState* play) {
|
||||
EnFsn_GetCutscenes(this);
|
||||
EnFsn_InitShop(this, play);
|
||||
} else {
|
||||
if ((gSaveContext.save.weekEventReg[33] & 8) || (gSaveContext.save.weekEventReg[79] & 0x40)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) || CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -229,8 +229,8 @@ void EnFu_Init(Actor* thisx, PlayState* play) {
|
||||
void EnFu_Destroy(Actor* thisx, PlayState* play) {
|
||||
EnFu* this = THIS;
|
||||
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~1;
|
||||
gSaveContext.save.weekEventReg[8] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_08_01);
|
||||
Collider_DestroyCylinder(play, &this->collider);
|
||||
}
|
||||
|
||||
@@ -388,9 +388,9 @@ void func_80962340(EnFu* this, PlayState* play) {
|
||||
if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
|
||||
Message_StartTextbox(play, 0x287E, &this->actor);
|
||||
this->unk_552 = 0x287E;
|
||||
} else if ((CURRENT_DAY == 3) && (gSaveContext.save.weekEventReg[22] & 0x10) &&
|
||||
(gSaveContext.save.weekEventReg[22] & 0x20)) {
|
||||
if ((gSaveContext.save.weekEventReg[22] & 0x40)) {
|
||||
} else if ((CURRENT_DAY == 3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10) &&
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_22_20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_40)) {
|
||||
Message_StartTextbox(play, 0x2883, &this->actor);
|
||||
this->unk_552 = 0x2883;
|
||||
} else {
|
||||
@@ -532,8 +532,8 @@ void func_80962660(EnFu* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 0x287D:
|
||||
gSaveContext.save.weekEventReg[63] |= 1;
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_63_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_02);
|
||||
func_801477B4(play);
|
||||
player->stateFlags1 |= PLAYER_STATE1_20;
|
||||
this->unk_53C = 0;
|
||||
@@ -605,8 +605,8 @@ void func_809628D0(EnFu* this, PlayState* play) {
|
||||
case 0x2884:
|
||||
case 0x2887:
|
||||
case 0x288A:
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~1;
|
||||
gSaveContext.save.weekEventReg[63] &= (u8)~2;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_01);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_63_02);
|
||||
func_809622FC(this);
|
||||
break;
|
||||
|
||||
@@ -737,7 +737,7 @@ void func_80962EBC(EnFu* this, PlayState* play) {
|
||||
void func_80962F10(EnFu* this) {
|
||||
this->unk_548 = 0;
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
gSaveContext.save.weekEventReg[8] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_08_01);
|
||||
this->actionFunc = func_80962F4C;
|
||||
}
|
||||
|
||||
@@ -824,7 +824,7 @@ void func_809632D0(EnFu* this) {
|
||||
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
|
||||
}
|
||||
|
||||
gSaveContext.save.weekEventReg[8] &= (u8)~1;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_08_01);
|
||||
|
||||
if (this->unk_2D4 != NULL) {
|
||||
BgFuMizu* mizu = this->unk_2D4;
|
||||
@@ -878,7 +878,7 @@ void func_80963560(EnFu* this, PlayState* play) {
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
this->actor.parent = NULL;
|
||||
func_80963610(this);
|
||||
} else if ((this->unk_552 == 0x2880) && !(gSaveContext.save.weekEventReg[22] & 0x80)) {
|
||||
} else if ((this->unk_552 == 0x2880) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_80)) {
|
||||
Actor_PickUp(&this->actor, play, GI_HEART_PIECE, 500.0f, 100.0f);
|
||||
} else {
|
||||
Actor_PickUp(&this->actor, play, GI_RUPEE_PURPLE, 500.0f, 100.0f);
|
||||
@@ -895,13 +895,13 @@ void func_80963630(EnFu* this, PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
if ((gSaveContext.save.weekEventReg[22] & 0x10) && (gSaveContext.save.weekEventReg[22] & 0x20) &&
|
||||
(CURRENT_DAY == 3) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
|
||||
if (gSaveContext.save.weekEventReg[22] & 0x40) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_20) && (CURRENT_DAY == 3) &&
|
||||
(gSaveContext.save.playerForm == PLAYER_FORM_HUMAN)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_40)) {
|
||||
Message_StartTextbox(play, 0x2884, &this->actor);
|
||||
this->unk_552 = 0x2884;
|
||||
} else if (!(gSaveContext.save.weekEventReg[22] & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[22] |= 0x80;
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_80)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_80);
|
||||
Message_StartTextbox(play, 0x2882, &this->actor);
|
||||
this->unk_552 = 0x2882;
|
||||
} else {
|
||||
@@ -920,15 +920,15 @@ void func_80963630(EnFu* this, PlayState* play) {
|
||||
if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
|
||||
switch (CURRENT_DAY) {
|
||||
case 1:
|
||||
gSaveContext.save.weekEventReg[22] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_10);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
gSaveContext.save.weekEventReg[22] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_20);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
gSaveContext.save.weekEventReg[22] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_40);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1019,7 +1019,7 @@ void func_809639D0(EnFu* this, PlayState* play) {
|
||||
if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
|
||||
Message_StartTextbox(play, 0x2853, &this->actor);
|
||||
this->unk_552 = 0x2853;
|
||||
} else if (gSaveContext.save.weekEventReg[22] & 0x10) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10)) {
|
||||
Message_StartTextbox(play, 0x284D, &this->actor);
|
||||
this->unk_552 = 0x284D;
|
||||
} else if (this->unk_53E == 1) {
|
||||
@@ -1043,7 +1043,7 @@ void func_809639D0(EnFu* this, PlayState* play) {
|
||||
} else if (CUR_UPG_VALUE(UPG_BOMB_BAG) == 0) {
|
||||
Message_StartTextbox(play, 0x2853, &this->actor);
|
||||
this->unk_552 = 0x2853;
|
||||
} else if (!(gSaveContext.save.weekEventReg[22] & 0x10)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10)) {
|
||||
if (this->unk_53E == 1) {
|
||||
Message_StartTextbox(play, 0x285B, &this->actor);
|
||||
this->unk_552 = 0x285B;
|
||||
@@ -1052,7 +1052,7 @@ void func_809639D0(EnFu* this, PlayState* play) {
|
||||
Message_StartTextbox(play, 0x285D, &this->actor);
|
||||
this->unk_552 = 0x285D;
|
||||
}
|
||||
} else if (gSaveContext.save.weekEventReg[22] & 0x20) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_20)) {
|
||||
Message_StartTextbox(play, 0x2855, &this->actor);
|
||||
this->unk_552 = 0x2855;
|
||||
} else if (this->unk_53E == 1) {
|
||||
@@ -1076,15 +1076,15 @@ void func_809639D0(EnFu* this, PlayState* play) {
|
||||
} else if (CUR_UPG_VALUE(UPG_QUIVER) == 0) {
|
||||
Message_StartTextbox(play, 0x284B, &this->actor);
|
||||
this->unk_552 = 0x284B;
|
||||
} else if (gSaveContext.save.weekEventReg[22] & 0x40) {
|
||||
if ((gSaveContext.save.weekEventReg[22] & 0x10) && (gSaveContext.save.weekEventReg[22] & 0x20)) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_40)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_20)) {
|
||||
Message_StartTextbox(play, 0x285F, &this->actor);
|
||||
this->unk_552 = 0x285F;
|
||||
} else {
|
||||
Message_StartTextbox(play, 0x2861, &this->actor);
|
||||
this->unk_552 = 0x2861;
|
||||
}
|
||||
} else if ((gSaveContext.save.weekEventReg[22] & 0x10) && (gSaveContext.save.weekEventReg[22] & 0x20)) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_20)) {
|
||||
if (this->unk_53E == 1) {
|
||||
Message_StartTextbox(play, 0x2863, &this->actor);
|
||||
this->unk_552 = 0x2863;
|
||||
@@ -1093,7 +1093,7 @@ void func_809639D0(EnFu* this, PlayState* play) {
|
||||
Message_StartTextbox(play, 0x2865, &this->actor);
|
||||
this->unk_552 = 0x2865;
|
||||
}
|
||||
} else if ((gSaveContext.save.weekEventReg[22] & 0x10) || (gSaveContext.save.weekEventReg[22] & 0x20)) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_10) || CHECK_WEEKEVENTREG(WEEKEVENTREG_22_20)) {
|
||||
if (this->unk_53E == 1) {
|
||||
Message_StartTextbox(play, 0x2867, &this->actor);
|
||||
this->unk_552 = 0x2867;
|
||||
|
||||
@@ -145,20 +145,20 @@ void EnGakufu_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.flags &= ~ACTOR_FLAG_2000000;
|
||||
|
||||
if (EnGakufu_IsPlayerInRange(this, play)) {
|
||||
gSaveContext.eventInf[3] |= 2;
|
||||
SET_EVENTINF(EVENTINF_31);
|
||||
} else {
|
||||
gSaveContext.eventInf[3] &= (u8)~2;
|
||||
CLEAR_EVENTINF(EVENTINF_31);
|
||||
}
|
||||
|
||||
this->actionFunc = EnGakufu_WaitForSong;
|
||||
gSaveContext.eventInf[3] &= (u8)~4;
|
||||
CLEAR_EVENTINF(EVENTINF_32);
|
||||
}
|
||||
|
||||
void EnGakufu_Destroy(Actor* thisx, PlayState* play) {
|
||||
EnGakufu* this = THIS;
|
||||
|
||||
if (GAKUFU_GET_TYPE(&this->actor) != GAKUFU_MILK_BAR) {
|
||||
gSaveContext.eventInf[3] &= (u8)~2;
|
||||
CLEAR_EVENTINF(EVENTINF_31);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,23 +231,23 @@ void EnGakufu_PlayRewardCutscene(EnGakufu* this, PlayState* play) {
|
||||
|
||||
/**
|
||||
* Waits for the notes on the wall to be played and updates the corresponding flags
|
||||
* (gSaveContext.eventInf[3] & 2) is checking if Player is within range of the wall
|
||||
* (gSaveContext.eventInf[3] & 4) is checking if Player has played the notes of the wall
|
||||
* EVENTINF_31 is used to track if Player is within range of the wall
|
||||
* EVENTINF_32 is used to track if Player has played the notes of the wall
|
||||
*/
|
||||
void EnGakufu_WaitForSong(EnGakufu* this, PlayState* play) {
|
||||
if (gSaveContext.eventInf[3] & 2) {
|
||||
if (gSaveContext.eventInf[3] & 4) {
|
||||
gSaveContext.eventInf[3] &= (u8)~2;
|
||||
gSaveContext.eventInf[3] &= (u8)~4;
|
||||
if (CHECK_EVENTINF(EVENTINF_31)) {
|
||||
if (CHECK_EVENTINF(EVENTINF_32)) {
|
||||
CLEAR_EVENTINF(EVENTINF_31);
|
||||
CLEAR_EVENTINF(EVENTINF_32);
|
||||
|
||||
this->actionFunc = EnGakufu_PlayRewardCutscene;
|
||||
EnGakufu_PlayRewardCutscene(this, play);
|
||||
this->actor.draw = NULL;
|
||||
} else if (!EnGakufu_IsPlayerInRange(this, play)) {
|
||||
gSaveContext.eventInf[3] &= (u8)~2;
|
||||
CLEAR_EVENTINF(EVENTINF_31);
|
||||
}
|
||||
} else if (EnGakufu_IsPlayerInRange(this, play)) {
|
||||
gSaveContext.eventInf[3] |= 2;
|
||||
SET_EVENTINF(EVENTINF_31);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -120,8 +120,8 @@ s32 func_80B0F660(EnGb2* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80B0F6DC(EnGb2* this) {
|
||||
if (!(gSaveContext.save.weekEventReg[54] & 0x20)) {
|
||||
gSaveContext.save.weekEventReg[54] |= 0x20;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_54_20)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_54_20);
|
||||
this->unk_26E = 0x14D0;
|
||||
} else {
|
||||
this->unk_26E = 0x14D1;
|
||||
@@ -131,15 +131,15 @@ void func_80B0F6DC(EnGb2* this) {
|
||||
}
|
||||
|
||||
void func_80B0F728(EnGb2* this, PlayState* play) {
|
||||
if (gSaveContext.eventInf[4] & 0x10) {
|
||||
if (CHECK_EVENTINF(EVENTINF_44)) {
|
||||
func_80B0FBF0(this, play);
|
||||
this->unk_26E = 0x14E1;
|
||||
if (gSaveContext.eventInf[4] & 0x80) {
|
||||
if (CHECK_EVENTINF(EVENTINF_47)) {
|
||||
this->unk_288 = 10;
|
||||
} else {
|
||||
this->unk_288 = 30;
|
||||
}
|
||||
} else if (gSaveContext.eventInf[4] & 0x20) {
|
||||
} else if (CHECK_EVENTINF(EVENTINF_45)) {
|
||||
func_80B0FBF0(this, play);
|
||||
this->unk_26E = 0x14E0;
|
||||
this->unk_26C |= 2;
|
||||
@@ -147,9 +147,9 @@ void func_80B0F728(EnGb2* this, PlayState* play) {
|
||||
this->unk_26E = 0x14DC;
|
||||
}
|
||||
|
||||
gSaveContext.eventInf[4] &= (u8)~0x10;
|
||||
gSaveContext.eventInf[4] &= (u8)~0x20;
|
||||
gSaveContext.eventInf[4] &= (u8)~0x40;
|
||||
CLEAR_EVENTINF(EVENTINF_44);
|
||||
CLEAR_EVENTINF(EVENTINF_45);
|
||||
CLEAR_EVENTINF(EVENTINF_46);
|
||||
this->actionFunc = func_80B10584;
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ u16 func_80B0F7FC(EnGb2* this) {
|
||||
return 0x14D1;
|
||||
|
||||
case 0x14D1:
|
||||
if (gSaveContext.eventInf[4] & 0x80) {
|
||||
if (CHECK_EVENTINF(EVENTINF_47)) {
|
||||
return 0x14E4;
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ u16 func_80B0F7FC(EnGb2* this) {
|
||||
return 0x14D3;
|
||||
|
||||
case 0x14D2:
|
||||
if (gSaveContext.eventInf[4] & 0x80) {
|
||||
if (CHECK_EVENTINF(EVENTINF_47)) {
|
||||
return 0x14E5;
|
||||
}
|
||||
return 0x14D4;
|
||||
@@ -208,7 +208,7 @@ u16 func_80B0F8F8(EnGb2* this) {
|
||||
|
||||
case 0x14DE:
|
||||
this->unk_26C |= 2;
|
||||
gSaveContext.save.weekEventReg[54] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_54_80);
|
||||
return 0x14DF;
|
||||
|
||||
case 0x14E1:
|
||||
@@ -226,7 +226,7 @@ u16 func_80B0F97C(EnGb2* this) {
|
||||
return 0x14F7;
|
||||
|
||||
case 0x14F7:
|
||||
gSaveContext.save.weekEventReg[76] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_76_80);
|
||||
this->unk_26C |= 2;
|
||||
return 0x14F8;
|
||||
|
||||
@@ -259,7 +259,7 @@ s32 func_80B0FA48(EnGb2* this, PlayState* play) {
|
||||
return false;
|
||||
|
||||
case PLAYER_MASK_CAPTAIN:
|
||||
if (!(gSaveContext.save.weekEventReg[80] & 0x40)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_80_40)) {
|
||||
this->unk_26E = 0x14EB;
|
||||
return false;
|
||||
}
|
||||
@@ -267,7 +267,7 @@ s32 func_80B0FA48(EnGb2* this, PlayState* play) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[80] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_80_20)) {
|
||||
this->unk_26E = 0x14EF;
|
||||
return false;
|
||||
} else {
|
||||
@@ -372,7 +372,7 @@ void func_80B0FE7C(PlayState* play) {
|
||||
void func_80B0FEBC(EnGb2* this, PlayState* play) {
|
||||
if ((play->msgCtx.ocarinaMode == OCARINA_SONG_ELEGY) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING)) {
|
||||
play->msgCtx.ocarinaMode = 4;
|
||||
gSaveContext.eventInf[4] |= 0x80;
|
||||
SET_EVENTINF(EVENTINF_47);
|
||||
this->unk_26E = 0x14D1;
|
||||
this->unk_288 = 10;
|
||||
}
|
||||
@@ -395,7 +395,7 @@ void func_80B0FFA8(EnGb2* this, PlayState* play) {
|
||||
play->msgCtx.stateTimer = 4;
|
||||
this->unk_26E = 0x14D1;
|
||||
this->unk_288 = 30;
|
||||
gSaveContext.eventInf[4] &= (u8)~0x80;
|
||||
CLEAR_EVENTINF(EVENTINF_47);
|
||||
this->unk_26C &= ~2;
|
||||
this->actionFunc = func_80B0FEBC;
|
||||
} else {
|
||||
@@ -489,7 +489,7 @@ void func_80B10344(EnGb2* this, PlayState* play) {
|
||||
this->unk_26C &= ~0x200;
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
|
||||
func_800FE498();
|
||||
gSaveContext.eventInf[4] |= 0x40;
|
||||
SET_EVENTINF(EVENTINF_46);
|
||||
func_80B0FE7C(play);
|
||||
} else if (this->unk_280 == 2) {
|
||||
if (this->unk_26C & 0x400) {
|
||||
@@ -507,8 +507,8 @@ void func_80B10344(EnGb2* this, PlayState* play) {
|
||||
|
||||
if (gSaveContext.save.playerData.health < 49) {
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
|
||||
gSaveContext.eventInf[4] |= 0x40;
|
||||
gSaveContext.eventInf[4] |= 0x20;
|
||||
SET_EVENTINF(EVENTINF_46);
|
||||
SET_EVENTINF(EVENTINF_45);
|
||||
|
||||
if ((this->unk_268 != NULL) && (this->unk_268->update == NULL)) {
|
||||
this->unk_268 = NULL;
|
||||
@@ -521,8 +521,8 @@ void func_80B10344(EnGb2* this, PlayState* play) {
|
||||
func_80B0FE7C(play);
|
||||
} else if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_1] == SECONDS_TO_TIMER(0)) {
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
|
||||
gSaveContext.eventInf[4] |= 0x40;
|
||||
gSaveContext.eventInf[4] |= 0x10;
|
||||
SET_EVENTINF(EVENTINF_46);
|
||||
SET_EVENTINF(EVENTINF_44);
|
||||
|
||||
if ((this->unk_268 != NULL) && (this->unk_268->update == NULL)) {
|
||||
this->unk_268 = NULL;
|
||||
@@ -564,7 +564,7 @@ void func_80B10634(EnGb2* this, PlayState* play) {
|
||||
} else {
|
||||
this->unk_26E = 0x14D1;
|
||||
this->unk_288 = 30;
|
||||
gSaveContext.eventInf[4] &= (u8)~0x80;
|
||||
CLEAR_EVENTINF(EVENTINF_47);
|
||||
this->actionFunc = func_80B0FEBC;
|
||||
}
|
||||
} else {
|
||||
@@ -617,7 +617,7 @@ void func_80B10868(EnGb2* this, PlayState* play) {
|
||||
void func_80B10924(EnGb2* this, PlayState* play) {
|
||||
s32 sp24;
|
||||
|
||||
if (gSaveContext.save.weekEventReg[54] & 0x40) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_54_40)) {
|
||||
sp24 = 5;
|
||||
} else {
|
||||
sp24 = 12;
|
||||
@@ -626,7 +626,7 @@ void func_80B10924(EnGb2* this, PlayState* play) {
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
this->actor.parent = NULL;
|
||||
if (sp24 == 12) {
|
||||
gSaveContext.save.weekEventReg[54] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_54_40);
|
||||
} else {
|
||||
Rupees_ChangeBy(50);
|
||||
}
|
||||
@@ -707,9 +707,9 @@ void func_80B10B5C(EnGb2* this, PlayState* play) {
|
||||
this->actor.flags &= ~ACTOR_FLAG_10000;
|
||||
Message_StartTextbox(play, this->unk_26E, &this->actor);
|
||||
if (this->unk_26E == 0x14EB) {
|
||||
gSaveContext.save.weekEventReg[80] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_80_40);
|
||||
} else if (this->unk_26E == 0x14EF) {
|
||||
gSaveContext.save.weekEventReg[80] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_80_20);
|
||||
}
|
||||
this->unk_26C &= ~0x20;
|
||||
this->unk_290 = 0;
|
||||
@@ -885,9 +885,9 @@ void EnGb2_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
switch (ENGB2_GET_7(&this->actor)) {
|
||||
case ENGB2_7_0:
|
||||
if (gSaveContext.save.weekEventReg[54] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_54_80)) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else if (gSaveContext.save.weekEventReg[52] & 0x20) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_20)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
|
||||
@@ -901,7 +901,7 @@ void EnGb2_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.flags |= ACTOR_FLAG_10;
|
||||
this->actor.flags |= ACTOR_FLAG_2000000;
|
||||
|
||||
if (gSaveContext.eventInf[4] & 0x40) {
|
||||
if (CHECK_EVENTINF(EVENTINF_46)) {
|
||||
func_80B0F728(this, play);
|
||||
} else {
|
||||
func_80B0FBF0(this, play);
|
||||
@@ -910,7 +910,7 @@ void EnGb2_Init(Actor* thisx, PlayState* play) {
|
||||
break;
|
||||
|
||||
case ENGB2_7_1:
|
||||
if ((play->curSpawn == 1) || (gSaveContext.save.weekEventReg[80] & 0x80)) {
|
||||
if ((play->curSpawn == 1) || CHECK_WEEKEVENTREG(WEEKEVENTREG_80_80)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -940,7 +940,7 @@ void EnGb2_Init(Actor* thisx, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[76] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_76_80)) {
|
||||
this->actor.draw = NULL;
|
||||
this->unk_26C |= 0x100;
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
|
||||
@@ -453,7 +453,7 @@ void func_80BB221C(EnGeg* this, PlayState* play) {
|
||||
}
|
||||
} else {
|
||||
this->unk_230 &= ~4;
|
||||
if (gSaveContext.save.weekEventReg[35] & 0x40) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_35_40)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state) && (this->unk_230 & 8)) {
|
||||
this->unk_496 = 0xD62;
|
||||
Message_StartTextbox(play, this->unk_496, &this->actor);
|
||||
@@ -464,7 +464,7 @@ void func_80BB221C(EnGeg* this, PlayState* play) {
|
||||
this->unk_230 |= 8;
|
||||
}
|
||||
} else if (Actor_ProcessTalkRequest(&this->actor, &play->state) && (this->unk_230 & 8)) {
|
||||
gSaveContext.save.weekEventReg[35] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_35_40);
|
||||
this->unk_496 = 0xD5E;
|
||||
this->unk_49A = this->unk_49C[0];
|
||||
Message_StartTextbox(play, this->unk_496, &this->actor);
|
||||
@@ -656,7 +656,7 @@ void func_80BB2B1C(EnGeg* this, PlayState* play) {
|
||||
|
||||
if (ActorCutscene_GetCurrentIndex() != this->unk_49C[4]) {
|
||||
if (ActorCutscene_GetCanPlayNext(this->unk_498)) {
|
||||
gSaveContext.save.weekEventReg[37] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_37_08);
|
||||
if (this->actor.child != NULL) {
|
||||
Actor_Kill(this->actor.child);
|
||||
}
|
||||
@@ -798,7 +798,7 @@ void func_80BB31B8(EnGeg* this, PlayState* play) {
|
||||
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
this->actor.parent = NULL;
|
||||
gSaveContext.save.weekEventReg[61] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_61_01);
|
||||
if (getItemId == GI_MASK_DON_GERO) {
|
||||
this->unk_230 |= 0x40;
|
||||
}
|
||||
@@ -861,7 +861,7 @@ void EnGeg_Init(Actor* thisx, PlayState* play) {
|
||||
s32 pad2;
|
||||
s32 sp34[] = { 0x3E, 0xF64 };
|
||||
|
||||
if (gSaveContext.save.weekEventReg[61] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_61_01)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ s32 func_80B34FB4(EnGg* this, PlayState* play) {
|
||||
pitch = Math_Vec3f_Pitch(&sp34, &sp40);
|
||||
|
||||
if ((this->actor.xzDistToPlayer < 250.0f) && (this->actor.xzDistToPlayer > 50.0f) &&
|
||||
(CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_80) || (gSaveContext.save.weekEventReg[19] & 0x80))) {
|
||||
(CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_80) || CHECK_WEEKEVENTREG(WEEKEVENTREG_19_80))) {
|
||||
Math_SmoothStepToS(&this->unk_2E8, pitch, 4, 0x2AA8, 1);
|
||||
} else {
|
||||
Math_SmoothStepToS(&this->unk_2E8, 0, 4, 0x2AA8, 1);
|
||||
@@ -212,7 +212,7 @@ void func_80B352A4(EnGg* this, PlayState* play) {
|
||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 0);
|
||||
break;
|
||||
}
|
||||
gSaveContext.save.weekEventReg[19] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_19_80);
|
||||
this->actionFunc = func_80B3556C;
|
||||
} else if ((this->unk_2E6 == 0) && ((this->actor.textId == 0xCED) || (this->actor.textId == 0xCEE))) {
|
||||
if (sp26 < (lastFrame - 1)) {
|
||||
@@ -225,7 +225,7 @@ void func_80B352A4(EnGg* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80B35450(EnGg* this, PlayState* play) {
|
||||
if ((gSaveContext.save.weekEventReg[91] & 0x10) && (play->csCtx.state == 0)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_91_10) && (play->csCtx.state == 0)) {
|
||||
func_80B359DC(this, play);
|
||||
}
|
||||
|
||||
@@ -236,7 +236,7 @@ void func_80B35450(EnGg* this, PlayState* play) {
|
||||
this->unk_308 = 1;
|
||||
this->actionFunc = func_80B352A4;
|
||||
} else if ((this->actor.xzDistToPlayer < 200.0f) && (this->actor.xzDistToPlayer > 50.0f)) {
|
||||
if (gSaveContext.save.weekEventReg[19] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_19_80)) {
|
||||
func_800B863C(&this->actor, play);
|
||||
this->actor.textId = 0xCEE;
|
||||
} else if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_80)) {
|
||||
@@ -400,8 +400,8 @@ void func_80B359DC(EnGg* this, PlayState* play) {
|
||||
|
||||
if ((player->transformation == PLAYER_FORM_HUMAN) && (play->msgCtx.ocarinaMode == 3) &&
|
||||
(play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING)) {
|
||||
if (!(gSaveContext.save.weekEventReg[19] & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[19] |= 0x80;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_19_80)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_19_80);
|
||||
}
|
||||
this->unk_307 = true;
|
||||
}
|
||||
@@ -660,9 +660,9 @@ void EnGg_Init(Actor* thisx, PlayState* play) {
|
||||
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
||||
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
this->actor.flags &= ~ACTOR_FLAG_80;
|
||||
this->unk_310 = this->actor.home.pos.y;
|
||||
this->unk_2DC = this->actor.cutscene;
|
||||
@@ -690,7 +690,7 @@ void EnGg_Update(Actor* thisx, PlayState* play) {
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[19] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_19_80)) {
|
||||
if (play->csCtx.state == 0) {
|
||||
this->actor.flags |= ACTOR_FLAG_1;
|
||||
} else {
|
||||
@@ -708,10 +708,10 @@ void EnGg_Update(Actor* thisx, PlayState* play) {
|
||||
func_80B35968(this, play);
|
||||
}
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[91] & 0x10) &&
|
||||
((gSaveContext.save.weekEventReg[19] & 0x80) || CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_80) ||
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_91_10) &&
|
||||
(CHECK_WEEKEVENTREG(WEEKEVENTREG_19_80) || CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_80) ||
|
||||
(this->unk_308 == 1))) {
|
||||
gSaveContext.save.weekEventReg[91] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_91_10);
|
||||
}
|
||||
|
||||
this->actionFunc(this, play);
|
||||
@@ -789,7 +789,7 @@ void EnGg_Draw(Actor* thisx, PlayState* play) {
|
||||
this->unk_344.unk_38(&this->unk_344, play);
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[19] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_19_80)) {
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80B36DFC[this->unk_2E2]));
|
||||
|
||||
@@ -214,17 +214,17 @@ void func_80B3B294(EnGg2* this, PlayState* play) {
|
||||
|
||||
if (this->unk_2F1 == 0) {
|
||||
if (play->sceneId == SCENE_11GORONNOSATO) {
|
||||
gSaveContext.save.weekEventReg[20] |= 4;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
} else if (play->sceneId == SCENE_17SETUGEN) {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[20] |= 8;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
} else if (play->sceneId == SCENE_10YUKIYAMANOMURA) {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[20] |= 0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
}
|
||||
|
||||
if (this->unk_1D8 != NULL) {
|
||||
@@ -240,17 +240,17 @@ void func_80B3B294(EnGg2* this, PlayState* play) {
|
||||
} else {
|
||||
this->unk_2F1 = 1;
|
||||
if (play->sceneId == SCENE_11GORONNOSATO) {
|
||||
gSaveContext.save.weekEventReg[20] |= 4;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
} else if (play->sceneId == SCENE_17SETUGEN) {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[20] |= 8;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
} else if (play->sceneId == SCENE_10YUKIYAMANOMURA) {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[20] |= 0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -360,7 +360,7 @@ void EnGg2_Init(Actor* thisx, PlayState* play2) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[91] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_91_10)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -381,16 +381,16 @@ void EnGg2_Init(Actor* thisx, PlayState* play2) {
|
||||
this->unk_2EA = 0;
|
||||
|
||||
if (play->sceneId == SCENE_11GORONNOSATO) {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
this->unk_2EE = 0;
|
||||
Actor_ChangeAnimationByInfo(&this->skelAnime, D_80B3BF00, 0);
|
||||
this->actionFunc = func_80B3AFB0;
|
||||
} else if (play->sceneId == SCENE_17SETUGEN) {
|
||||
if ((gSaveContext.save.weekEventReg[20] & 4) && !(gSaveContext.save.weekEventReg[20] & 8) &&
|
||||
!(gSaveContext.save.weekEventReg[20] & 0x10)) {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_20_04) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_20_08) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_20_10)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
this->unk_2EE = 8;
|
||||
Actor_ChangeAnimationByInfo(&this->skelAnime, D_80B3BF00, 0);
|
||||
this->actionFunc = func_80B3B05C;
|
||||
@@ -398,9 +398,9 @@ void EnGg2_Init(Actor* thisx, PlayState* play2) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else if (play->sceneId == SCENE_10YUKIYAMANOMURA) {
|
||||
if (!(gSaveContext.save.weekEventReg[20] & 4) && (gSaveContext.save.weekEventReg[20] & 8) &&
|
||||
!(gSaveContext.save.weekEventReg[20] & 0x10)) {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_20_04) && CHECK_WEEKEVENTREG(WEEKEVENTREG_20_08) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_20_10)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
this->unk_2EE = 8;
|
||||
Actor_ChangeAnimationByInfo(&this->skelAnime, D_80B3BF00, 0);
|
||||
this->actionFunc = func_80B3B05C;
|
||||
@@ -408,9 +408,9 @@ void EnGg2_Init(Actor* thisx, PlayState* play2) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~4;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~8;
|
||||
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_04);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_08);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_20_10);
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ void EnGiant_Init(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
|
||||
if (GIANT_TYPE_IS_CLOCK_TOWER_SUCCESS(type)) {
|
||||
if (!(gSaveContext.save.weekEventReg[25] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_25_02)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) {
|
||||
switch (this->curTextId) {
|
||||
case 0x44C: // "Hey there, little guy! Won't you deposit some Rupees? (first dialogue)
|
||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, GINKO_ANIM_SITTING);
|
||||
if (gSaveContext.save.weekEventReg[10] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_10_08)) {
|
||||
Message_StartTextbox(play, 0x44E, &this->actor);
|
||||
this->curTextId = 0x44E; //" ...So, what'll it be? Deposit Rupees Don't deposit Rupees"
|
||||
} else {
|
||||
@@ -165,18 +165,18 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) {
|
||||
break;
|
||||
case 0x45A: // "All right, little guy, now I've got a total of [rupees] from you!"
|
||||
if (((gSaveContext.save.bankRupees & 0xFFFF) >= 200) && (this->previousBankValue < 200) &&
|
||||
!(gSaveContext.save.weekEventReg[59] & 0x40)) {
|
||||
gSaveContext.save.weekEventReg[59] |= 0x40;
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_59_40)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_59_40);
|
||||
Message_StartTextbox(play, 0x45B, &this->actor);
|
||||
this->curTextId = 0x45B; // "What's this? You've already saved up 200 Rupees!?!
|
||||
} else if (((gSaveContext.save.bankRupees & 0xFFFF) >= 1000) && ((this->previousBankValue) < 1000) &&
|
||||
!(gSaveContext.save.weekEventReg[59] & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[59] |= 0x80;
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_59_80)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_59_80);
|
||||
Message_StartTextbox(play, 0x45C, &this->actor);
|
||||
this->curTextId = 0x45C; // "What's this? You've already saved up 1000 Rupees!?!
|
||||
} else if ((gSaveContext.save.bankRupees & 0xFFFF) >= 5000) {
|
||||
if ((this->previousBankValue < 5000) && !(gSaveContext.save.weekEventReg[60] & 1)) {
|
||||
gSaveContext.save.weekEventReg[60] |= 1;
|
||||
if ((this->previousBankValue < 5000) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_60_01)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_60_01);
|
||||
Message_StartTextbox(play, 0x45D, &this->actor);
|
||||
this->curTextId = 0x45D; // "What's this? You've already saved up 5000 Rupees?!
|
||||
} else if (this->previousBankValue < (s16)(gSaveContext.save.bankRupees & 0xFFFF)) {
|
||||
@@ -524,14 +524,14 @@ void EnGinkoMan_BankAward(EnGinkoMan* this, PlayState* play) {
|
||||
this->actor.parent = NULL;
|
||||
EnGinkoMan_SetupBankAward2(this);
|
||||
} else if (this->curTextId == 0x45B) { // "Whats this, you already saved up 200?"
|
||||
if (!(gSaveContext.save.weekEventReg[10] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_10_08)) {
|
||||
Actor_PickUp(&this->actor, play, GI_WALLET_ADULT + CUR_UPG_VALUE(UPG_WALLET), 500.0f, 100.0f);
|
||||
} else {
|
||||
Actor_PickUp(&this->actor, play, GI_RUPEE_BLUE, 500.0f, 100.0f);
|
||||
}
|
||||
} else if (this->curTextId == 0x45C) { // "Whats this, you already saved up 5000?"
|
||||
Actor_PickUp(&this->actor, play, GI_RUPEE_BLUE, 500.0f, 100.0f);
|
||||
} else if (!(gSaveContext.save.weekEventReg[59] & 8)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_59_08)) {
|
||||
Actor_PickUp(&this->actor, play, GI_HEART_PIECE, 500.0f, 100.0f);
|
||||
} else {
|
||||
Actor_PickUp(&this->actor, play, GI_RUPEE_BLUE, 500.0f, 100.0f);
|
||||
@@ -546,10 +546,10 @@ void EnGinkoMan_SetupBankAward2(EnGinkoMan* this) {
|
||||
// separate function to handle bank rewards... called while the player is receiving the award
|
||||
void EnGinkoMan_BankAward2(EnGinkoMan* this, PlayState* play) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
if (!(gSaveContext.save.weekEventReg[10] & 8) && (this->curTextId == 0x45B)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_10_08) && (this->curTextId == 0x45B)) {
|
||||
// "What's this? You've already saved up 200 Rupees!?! Well, little guy, here's your special gift. Take
|
||||
// it!"
|
||||
gSaveContext.save.weekEventReg[10] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_10_08);
|
||||
Message_StartTextbox(play, 0x47A, &this->actor);
|
||||
this->curTextId = 0x47A; // Message after receiving reward for depositing 200 rupees.
|
||||
} else {
|
||||
@@ -561,8 +561,8 @@ void EnGinkoMan_BankAward2(EnGinkoMan* this, PlayState* play) {
|
||||
EnGinkoMan_SetupDialogue(this);
|
||||
} else if (this->curTextId == 0x45D) { // saved up 5000 rupees for HP
|
||||
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
|
||||
if (!(gSaveContext.save.weekEventReg[59] & 8)) {
|
||||
gSaveContext.save.weekEventReg[59] |= 8;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_59_08)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_59_08);
|
||||
}
|
||||
EnGinkoMan_SetupIdle(this);
|
||||
}
|
||||
|
||||
@@ -205,13 +205,13 @@ s32 EnGirlA_CanBuyPotionGreen(PlayState* play, EnGirlA* this) {
|
||||
}
|
||||
|
||||
s32 EnGirlA_CanBuyPotionBlue(PlayState* play, EnGirlA* this) {
|
||||
if (!(gSaveContext.save.weekEventReg[53] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_53_08)) {
|
||||
return CANBUY_RESULT_CANNOT_GET_NOW;
|
||||
}
|
||||
if (!Inventory_HasEmptyBottle()) {
|
||||
return CANBUY_RESULT_NEED_EMPTY_BOTTLE;
|
||||
}
|
||||
if (!(gSaveContext.save.weekEventReg[53] & 0x10)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_53_10)) {
|
||||
return CANBUY_RESULT_SUCCESS_2;
|
||||
}
|
||||
if (gSaveContext.save.playerData.rupees < play->msgCtx.unk1206C) {
|
||||
|
||||
@@ -120,7 +120,7 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
|
||||
if (play->sceneId == SCENE_17SETUGEN2) {
|
||||
if (player->transformation == PLAYER_FORM_GORON) {
|
||||
if (!(gSaveContext.save.weekEventReg[40] & 0x80)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_40_80)) {
|
||||
switch (this->unk_31C) {
|
||||
case 0xE7A:
|
||||
return 0xE7B;
|
||||
@@ -133,7 +133,7 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
case 0xE7E:
|
||||
return 0xE7F;
|
||||
case 0xE7F:
|
||||
gSaveContext.save.weekEventReg[40] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_40_80);
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE80;
|
||||
default:
|
||||
@@ -143,7 +143,7 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE81;
|
||||
}
|
||||
} else if (!(gSaveContext.save.weekEventReg[41] & 1)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_41_01)) {
|
||||
switch (this->unk_31C) {
|
||||
case 0xE82:
|
||||
return 0xE83;
|
||||
@@ -154,7 +154,7 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
case 0xE7E:
|
||||
return 0xE7F;
|
||||
case 0xE7F:
|
||||
gSaveContext.save.weekEventReg[41] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_41_01);
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE80;
|
||||
default:
|
||||
@@ -166,12 +166,12 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
}
|
||||
} else if (play->sceneId == SCENE_GORONRACE) {
|
||||
if (player->transformation == PLAYER_FORM_GORON) {
|
||||
if (!(gSaveContext.save.weekEventReg[41] & 4)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_41_04)) {
|
||||
if (this->unk_31C == 0xE88) {
|
||||
if (!(gSaveContext.save.weekEventReg[41] & 8) || Inventory_HasEmptyBottle()) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_41_08) || Inventory_HasEmptyBottle()) {
|
||||
return 0xE89;
|
||||
}
|
||||
gSaveContext.save.weekEventReg[41] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_41_04);
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE94;
|
||||
}
|
||||
@@ -179,10 +179,10 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if ((this->unk_31C == 0xE8D) || (this->unk_31C == 0xE98)) {
|
||||
if (!(gSaveContext.save.weekEventReg[41] & 8) || Inventory_HasEmptyBottle()) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_41_08) || Inventory_HasEmptyBottle()) {
|
||||
return 0xE89;
|
||||
}
|
||||
gSaveContext.save.weekEventReg[41] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_41_04);
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE94;
|
||||
}
|
||||
@@ -193,12 +193,12 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
return 0xE98;
|
||||
}
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[41] & 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_41_02)) {
|
||||
switch (this->unk_31C) {
|
||||
case 0xE85:
|
||||
return 0xE86;
|
||||
case 0xE86:
|
||||
gSaveContext.save.weekEventReg[41] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_41_02);
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE87;
|
||||
default:
|
||||
@@ -216,7 +216,7 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
|
||||
u16 func_80B50710(EnGk* this) {
|
||||
switch (this->unk_31C) {
|
||||
case 0xE8E:
|
||||
gSaveContext.save.weekEventReg[41] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_41_04);
|
||||
this->unk_1E4 &= ~0x10;
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE8F;
|
||||
@@ -225,7 +225,7 @@ u16 func_80B50710(EnGk* this) {
|
||||
return 0xE8B;
|
||||
|
||||
case 0xE8B:
|
||||
gSaveContext.save.weekEventReg[41] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_41_04);
|
||||
this->unk_1E4 |= 0x10;
|
||||
this->unk_1E4 |= 1;
|
||||
return 0xE8C;
|
||||
@@ -630,7 +630,7 @@ void func_80B51760(EnGk* this, PlayState* play) {
|
||||
}
|
||||
} else {
|
||||
if (Flags_GetSwitch(play, ENGK_GET_3F00(&this->actor))) {
|
||||
gSaveContext.save.weekEventReg[40] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_40_40);
|
||||
this->actionFunc = func_80B51D9C;
|
||||
return;
|
||||
}
|
||||
@@ -829,7 +829,7 @@ void func_80B51EA4(EnGk* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80B51FD0(EnGk* this, PlayState* play) {
|
||||
if (!(gSaveContext.save.weekEventReg[22] & 4)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04)) {
|
||||
if (this->unk_1E4 & 2) {
|
||||
func_801A4748(&this->actor.projectedPos, NA_SE_EN_GOLON_KID_CRY - SFX_FLAG);
|
||||
} else {
|
||||
@@ -847,7 +847,7 @@ void func_80B5202C(EnGk* this, PlayState* play) {
|
||||
|
||||
if (!func_80B50854(this, play)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
gSaveContext.save.weekEventReg[24] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_24_80);
|
||||
this->actionFunc = func_80B51698;
|
||||
} else if ((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) {
|
||||
func_800B863C(&this->actor, play);
|
||||
@@ -895,7 +895,7 @@ void func_80B5227C(EnGk* this, PlayState* play) {
|
||||
func_800B14D4(play, 20.0f, &this->actor.home.pos);
|
||||
this->unk_350 = 60;
|
||||
if (!(this->unk_1E4 & 0x80)) {
|
||||
gSaveContext.save.weekEventReg[22] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_04);
|
||||
}
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_GOLON_SIT_IMT);
|
||||
this->unk_350 = 0x4000;
|
||||
@@ -906,7 +906,7 @@ void func_80B5227C(EnGk* this, PlayState* play) {
|
||||
void func_80B52340(EnGk* this, PlayState* play) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
this->unk_1E4 |= 4;
|
||||
if (gSaveContext.eventInf[1] & 2) {
|
||||
if (CHECK_EVENTINF(EVENTINF_11)) {
|
||||
this->unk_31C = 0xE90;
|
||||
this->actionFunc = func_80B52430;
|
||||
} else {
|
||||
@@ -955,7 +955,7 @@ void func_80B52430(EnGk* this, PlayState* play) {
|
||||
void func_80B5253C(EnGk* this, PlayState* play) {
|
||||
s32 sp24;
|
||||
|
||||
if (gSaveContext.save.weekEventReg[41] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_41_08)) {
|
||||
sp24 = 0x93;
|
||||
} else {
|
||||
sp24 = 0x6A;
|
||||
@@ -964,7 +964,7 @@ void func_80B5253C(EnGk* this, PlayState* play) {
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
this->actor.parent = NULL;
|
||||
if (sp24 == 0x6A) {
|
||||
gSaveContext.save.weekEventReg[41] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_41_08);
|
||||
}
|
||||
this->actionFunc = func_80B525E0;
|
||||
} else {
|
||||
@@ -985,7 +985,7 @@ void func_80B525E0(EnGk* this, PlayState* play) {
|
||||
void func_80B52654(EnGk* this, PlayState* play) {
|
||||
this->unk_350 += 0x400;
|
||||
if ((this->unk_1E4 & 0x80) && (play->csCtx.frames == 250)) {
|
||||
gSaveContext.save.weekEventReg[22] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_04);
|
||||
}
|
||||
|
||||
this->unk_354 = Math_SinS(this->unk_350) * 0.006f * 0.06f;
|
||||
@@ -1027,7 +1027,7 @@ void EnGk_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = func_80B51760;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_GORONRACE) {
|
||||
if (gSaveContext.save.weekEventReg[33] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_80)) {
|
||||
if (gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 1)) {
|
||||
this->actionFunc = func_80B51760;
|
||||
} else if (gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 2)) {
|
||||
@@ -1042,7 +1042,7 @@ void EnGk_Init(Actor* thisx, PlayState* play) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else if (ENGK_GET_F(&this->actor) == ENGK_F_2) {
|
||||
if (!(gSaveContext.save.weekEventReg[22] & 4)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04)) {
|
||||
this->actionFunc = func_80B51FD0;
|
||||
this->actor.draw = NULL;
|
||||
this->actor.flags |= ACTOR_FLAG_10;
|
||||
@@ -1050,7 +1050,7 @@ void EnGk_Init(Actor* thisx, PlayState* play) {
|
||||
} else {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else if (!(gSaveContext.save.weekEventReg[22] & 4)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04)) {
|
||||
this->unk_2E4 = 0;
|
||||
this->unk_318 = this->actor.cutscene;
|
||||
this->actor.flags |= ACTOR_FLAG_10;
|
||||
@@ -1074,7 +1074,7 @@ void EnGk_Update(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc(this, play);
|
||||
|
||||
if ((ENGK_GET_F(&this->actor) == ENGK_F_1) ||
|
||||
((ENGK_GET_F(&this->actor) == ENGK_F_0) && !(gSaveContext.save.weekEventReg[22] & 4))) {
|
||||
((ENGK_GET_F(&this->actor) == ENGK_F_0) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04))) {
|
||||
func_80B507A0(this, play);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
Actor_TrackPlayer(play, &this->actor, &this->unk_1D8, &this->unk_1DE, this->actor.focus.pos);
|
||||
@@ -1233,7 +1233,7 @@ void EnGk_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
|
||||
if ((ENGK_GET_F(&this->actor) == ENGK_F_0) && (gSaveContext.save.weekEventReg[22] & 4)) {
|
||||
if ((ENGK_GET_F(&this->actor) == ENGK_F_0) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04)) {
|
||||
Matrix_RotateXS(-0x4000, MTXMODE_APPLY);
|
||||
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
@@ -80,7 +80,7 @@ static u8 D_80951820[] = {
|
||||
/* 0x134 */ SCHEDULE_CMD_RET_TIME(12, 55, 13, 0, 20),
|
||||
/* 0x13A */ SCHEDULE_CMD_RET_NONE(),
|
||||
/* 0x13B */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_L(2, 0x1EB - 0x140),
|
||||
/* 0x140 */ SCHEDULE_CMD_CHECK_FLAG_L(0x32, 0x01, 0x1CD - 0x145),
|
||||
/* 0x140 */ SCHEDULE_CMD_CHECK_FLAG_L(WEEKEVENTREG_50_01, 0x1CD - 0x145),
|
||||
/* 0x145 */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_YADOYA, 0x17A - 0x149),
|
||||
/* 0x149 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(6, 0, 18, 0, 0x174 - 0x14F),
|
||||
/* 0x14F */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(18, 0, 21, 0, 0x16E - 0x155),
|
||||
@@ -463,7 +463,7 @@ s32 func_8094E52C(EnGm* this, PlayState* play) {
|
||||
}
|
||||
|
||||
case 2:
|
||||
if (!(gSaveContext.save.weekEventReg[86] & 0x40) && (this->unk_3E0 == 2)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_86_40) && (this->unk_3E0 == 2)) {
|
||||
ActorCutscene_Stop(sp2A);
|
||||
} else {
|
||||
Camera_SetTargetActor(Play_GetCamera(play, ActorCutscene_GetCurrentSubCamId(sp2A)), &this->actor);
|
||||
@@ -632,8 +632,8 @@ s32 func_8094EB1C(EnGm* this, PlayState* play) {
|
||||
|
||||
switch (this->unk_3E0) {
|
||||
case 0:
|
||||
if ((gSaveContext.save.weekEventReg[50] & 1) || (gSaveContext.save.weekEventReg[51] & 0x80) ||
|
||||
(gSaveContext.save.weekEventReg[75] & 2)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_50_01) || CHECK_WEEKEVENTREG(WEEKEVENTREG_51_80) ||
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_75_02)) {
|
||||
ret = true;
|
||||
break;
|
||||
}
|
||||
@@ -739,14 +739,14 @@ s32 func_8094EE84(EnGm* this, PlayState* play) {
|
||||
this->actor.child = this->unk_268;
|
||||
this->unk_264 = func_8094EDBC(this, play);
|
||||
|
||||
if ((this->unk_258 == 5) && !(gSaveContext.save.weekEventReg[50] & 1) &&
|
||||
!(gSaveContext.save.weekEventReg[51] & 0x80) && !(gSaveContext.save.weekEventReg[75] & 2)) {
|
||||
if ((this->unk_258 == 5) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_50_01) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_51_80) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_75_02)) {
|
||||
this->unk_3A4 |= 0x20;
|
||||
} else if ((this->unk_258 != 1) && (this->unk_258 != 5) && (this->unk_258 != 7)) {
|
||||
this->unk_3A4 |= 0x20;
|
||||
}
|
||||
|
||||
if ((this->unk_258 == 3) && (gSaveContext.save.weekEventReg[75] & 1)) {
|
||||
if ((this->unk_258 == 3) && CHECK_WEEKEVENTREG(WEEKEVENTREG_75_01)) {
|
||||
this->unk_3A4 &= ~0x20;
|
||||
}
|
||||
|
||||
@@ -1137,7 +1137,7 @@ s32 func_8094FE10(EnGm* this, PlayState* play, ScheduleOutput* scheduleOutput) {
|
||||
func_8094E054(this, play, 11);
|
||||
SubS_UpdateFlags(&this->unk_3A4, 3, 7);
|
||||
this->unk_268 = al;
|
||||
if (!(gSaveContext.save.weekEventReg[86] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_86_20)) {
|
||||
this->unk_3C8 = 2;
|
||||
this->unk_3CA = 2;
|
||||
this->unk_3CC = 8;
|
||||
@@ -1352,7 +1352,7 @@ s32 func_80950490(EnGm* this, PlayState* play) {
|
||||
};
|
||||
s32 pad;
|
||||
|
||||
if ((gSaveContext.save.weekEventReg[50] & 1) || (gSaveContext.save.weekEventReg[51] & 0x80)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_50_01) || CHECK_WEEKEVENTREG(WEEKEVENTREG_51_80)) {
|
||||
if (this->unk_400 == 0) {
|
||||
this->unk_3C8 = 1;
|
||||
this->unk_3CA = 1;
|
||||
|
||||
@@ -538,7 +538,7 @@ s32 func_80A1222C(EnGo* this, PlayState* play) {
|
||||
if (((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == 3) &&
|
||||
(play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY) && (this->unk_3EC == 0) &&
|
||||
(this->actor.xzDistToPlayer < 400.0f)) ||
|
||||
(!(gSaveContext.save.weekEventReg[22] & 4) && (play->sceneId == SCENE_16GORON_HOUSE) &&
|
||||
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04) && (play->sceneId == SCENE_16GORON_HOUSE) &&
|
||||
(gSaveContext.sceneLayer == 0) && (this->unk_3EC == 0) && (play->csCtx.currentCsIndex == 1))) {
|
||||
ret = true;
|
||||
}
|
||||
@@ -945,7 +945,7 @@ void func_80A132C8(EnGo* this, PlayState* play) {
|
||||
if ((fabsf(this->actor.playerHeightRel) > 20.0f) || (this->actor.xzDistToPlayer > 300.0f)) {
|
||||
SubS_UpdateFlags(&this->unk_390, 3, 7);
|
||||
} else if ((player->transformation != PLAYER_FORM_GORON) || (ABS_ALT(temp_v1) >= 0x1C70) ||
|
||||
(gSaveContext.save.weekEventReg[21] & 4) || (gSaveContext.save.weekEventReg[21] & 8)) {
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_21_04) || CHECK_WEEKEVENTREG(WEEKEVENTREG_21_08)) {
|
||||
SubS_UpdateFlags(&this->unk_390, 3, 7);
|
||||
} else {
|
||||
SubS_UpdateFlags(&this->unk_390, 4, 7);
|
||||
@@ -953,7 +953,7 @@ void func_80A132C8(EnGo* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80A133A8(EnGo* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[21] & 8) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_21_08)) {
|
||||
SubS_UpdateFlags(&this->unk_390, 3, 7);
|
||||
} else {
|
||||
SubS_UpdateFlags(&this->unk_390, 4, 7);
|
||||
@@ -988,7 +988,7 @@ Actor* func_80A13400(EnGo* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80A134B0(EnGo* this, PlayState* play, s32 arg2) {
|
||||
if ((gSaveContext.save.weekEventReg[18] & 0x80) || (play->actorCtx.flags & ACTORCTX_FLAG_0) || arg2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_18_80) || (play->actorCtx.flags & ACTORCTX_FLAG_0) || arg2) {
|
||||
this->colliderSphere.dim.modelSphere.radius = 300;
|
||||
} else {
|
||||
this->colliderSphere.dim.modelSphere.radius = 380;
|
||||
@@ -1178,7 +1178,7 @@ s32 func_80A13B1C(EnGo* this, PlayState* play) {
|
||||
func_80A13728(this, play);
|
||||
this->unk_3C4++;
|
||||
this->unk_3C2 = 0;
|
||||
gSaveContext.save.weekEventReg[88] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_88_40);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1198,19 +1198,19 @@ s32 func_80A13B1C(EnGo* this, PlayState* play) {
|
||||
if (this->unk_3C0 >= 65) {
|
||||
switch (player->transformation) {
|
||||
case PLAYER_FORM_HUMAN:
|
||||
gSaveContext.save.weekEventReg[88] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_88_80);
|
||||
break;
|
||||
|
||||
case PLAYER_FORM_GORON:
|
||||
gSaveContext.save.weekEventReg[89] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_89_04);
|
||||
break;
|
||||
|
||||
case PLAYER_FORM_ZORA:
|
||||
gSaveContext.save.weekEventReg[89] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_89_02);
|
||||
break;
|
||||
|
||||
case PLAYER_FORM_DEKU:
|
||||
gSaveContext.save.weekEventReg[89] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_89_01);
|
||||
break;
|
||||
}
|
||||
ret = true;
|
||||
@@ -1376,7 +1376,7 @@ void func_80A143A8(EnGo* this, PlayState* play) {
|
||||
void func_80A14430(EnGo* this, PlayState* play) {
|
||||
if (((gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 0)) ||
|
||||
(gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 2))) &&
|
||||
(gSaveContext.save.weekEventReg[33] & 0x80)) {
|
||||
(CHECK_WEEKEVENTREG(WEEKEVENTREG_33_80))) {
|
||||
func_80A14018(this, play);
|
||||
this->actionFunc = func_80A149B0;
|
||||
} else {
|
||||
@@ -1414,7 +1414,7 @@ void func_80A145AC(EnGo* this, PlayState* play) {
|
||||
if ((ENGO_GET_70(&this->actor) == ENGO_70_1) &&
|
||||
(((play->sceneId == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneLayer == 1) &&
|
||||
(play->csCtx.currentCsIndex == 0)) ||
|
||||
!(gSaveContext.save.weekEventReg[21] & 8))) {
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_21_08))) {
|
||||
this->actor.child = func_80A13400(this, play);
|
||||
this->actor.child->child = &this->actor;
|
||||
func_80A141D4(this, play);
|
||||
@@ -1426,7 +1426,7 @@ void func_80A145AC(EnGo* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80A14668(EnGo* this, PlayState* play) {
|
||||
if (!(gSaveContext.save.weekEventReg[22] & 4)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04)) {
|
||||
func_80A14324(this, play);
|
||||
this->actionFunc = func_80A149B0;
|
||||
} else {
|
||||
@@ -1571,7 +1571,7 @@ void func_80A14B30(EnGo* this, PlayState* play) {
|
||||
this->unk_390 &= ~0x200;
|
||||
this->unk_390 |= 0x8000;
|
||||
this->actor.shape.yOffset = 0.0f;
|
||||
} else if ((this->unk_3EC != 0) && (gSaveContext.save.weekEventReg[22] & 4)) {
|
||||
} else if ((this->unk_3EC != 0) && CHECK_WEEKEVENTREG(WEEKEVENTREG_22_04)) {
|
||||
this->actor.scale.x = this->unk_3A4 - (Math_SinS(this->unk_3AE) * 0.001f);
|
||||
this->actor.scale.y = (Math_SinS(this->unk_3AE) * 0.001f) + this->unk_3A4;
|
||||
this->actor.scale.z = (Math_SinS(this->unk_3AE) * 0.001f) + this->unk_3A4;
|
||||
|
||||
@@ -390,7 +390,7 @@ void EnGrasshopper_Fly(EnGrasshopper* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !(gSaveContext.eventInf[4] & 2) && !this->shouldTurn &&
|
||||
if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !CHECK_EVENTINF(EVENTINF_41) && !this->shouldTurn &&
|
||||
(this->actor.xzDistToPlayer < 200.0f)) {
|
||||
EnGrasshopper_SetupApproachPlayer(this, play);
|
||||
} else {
|
||||
|
||||
@@ -459,29 +459,29 @@ void func_8099874C(EnGs* this, PlayState* play) {
|
||||
this->unk_20C = -1;
|
||||
switch (this->unk_194) {
|
||||
case 1:
|
||||
if (!(gSaveContext.save.weekEventReg[77] & 8)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_77_08)) {
|
||||
this->unk_20C = 6;
|
||||
gSaveContext.save.weekEventReg[77] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_77_08);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (!(gSaveContext.save.weekEventReg[77] & 0x10)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_77_10)) {
|
||||
this->unk_20C = 6;
|
||||
gSaveContext.save.weekEventReg[77] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_77_10);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (!(gSaveContext.save.weekEventReg[77] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_77_20)) {
|
||||
this->unk_20C = 6;
|
||||
gSaveContext.save.weekEventReg[77] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_77_20);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[90] & 0x10)) {
|
||||
gSaveContext.save.weekEventReg[90] |= 0x10;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_90_10)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_90_10);
|
||||
this->unk_20C = 12;
|
||||
}
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ void EnGuardNuts_Init(Actor* thisx, PlayState* play) {
|
||||
sGuardCount++;
|
||||
|
||||
// If you have returned deku princess guards will init burrowed.
|
||||
if (!(gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
EnGuardNuts_SetupWait(this);
|
||||
} else {
|
||||
EnGuardNuts_Burrow(this, play);
|
||||
@@ -158,10 +158,10 @@ void EnGuardNuts_Wait(EnGuardNuts* this, PlayState* play) {
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
// this is the palace of...
|
||||
this->guardTextIndex = 0;
|
||||
if ((gSaveContext.save.weekEventReg[17] & 4) && (!this->hasCompletedConversation)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_17_04) && (!this->hasCompletedConversation)) {
|
||||
// I told you not to enter!!
|
||||
this->guardTextIndex = 7;
|
||||
} else if (gSaveContext.save.weekEventReg[12] & 0x40) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_12_40)) {
|
||||
// come to see the monkey again?
|
||||
this->guardTextIndex = 4;
|
||||
}
|
||||
@@ -234,7 +234,7 @@ void func_80ABB590(EnGuardNuts* this, PlayState* play) {
|
||||
if (D_80ABBE38[this->guardTextIndex] == 2) {
|
||||
func_801477B4(play);
|
||||
D_80ABBE20 = 2;
|
||||
gSaveContext.save.weekEventReg[12] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_12_40);
|
||||
EnGuardNuts_Burrow(this, play);
|
||||
} else {
|
||||
this->guardTextIndex++;
|
||||
@@ -300,7 +300,7 @@ void EnGuardNuts_Unburrow(EnGuardNuts* this, PlayState* play) {
|
||||
Vec3f digPos;
|
||||
|
||||
// If you have returned Deku Princess, guards will not unburrow
|
||||
if (!(gSaveContext.save.weekEventReg[23] & 0x20)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_23_20)) {
|
||||
yawDiff = ABS_ALT(BINANG_SUB(this->actor.yawTowardsPlayer, this->actor.home.rot.y));
|
||||
if ((yawDiff < 0x4000) && ((D_80ABBE20 == 0) || (this->actor.xzDistToPlayer > 150.0f))) {
|
||||
Math_Vec3f_Copy(&digPos, &this->actor.world.pos);
|
||||
|
||||
@@ -119,10 +119,10 @@ void func_80BC6E10(EnGuruguru* this) {
|
||||
this->textIdIndex = 0;
|
||||
this->unk270 = 0;
|
||||
if (this->actor.params == 0) {
|
||||
if (gSaveContext.save.weekEventReg[38] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_38_10)) {
|
||||
this->textIdIndex = 1;
|
||||
}
|
||||
} else if (gSaveContext.save.weekEventReg[38] & 0x40) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_38_40)) {
|
||||
this->textIdIndex = 2;
|
||||
} else {
|
||||
this->textIdIndex = 3;
|
||||
@@ -131,8 +131,8 @@ void func_80BC6E10(EnGuruguru* this) {
|
||||
this->headZRotTarget = 0;
|
||||
this->unk268 = 1;
|
||||
this->actor.textId = textIDs[this->textIdIndex];
|
||||
if ((this->textIdIndex == 0 || this->textIdIndex == 1) && (gSaveContext.save.weekEventReg[77] & 4)) {
|
||||
if (!(gSaveContext.save.weekEventReg[88] & 4)) {
|
||||
if ((this->textIdIndex == 0 || this->textIdIndex == 1) && CHECK_WEEKEVENTREG(WEEKEVENTREG_77_04)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_88_04)) {
|
||||
this->actor.textId = 0x295F;
|
||||
} else {
|
||||
this->actor.textId = 0x2960;
|
||||
@@ -153,7 +153,7 @@ void func_80BC6F14(EnGuruguru* this, PlayState* play) {
|
||||
this->textIdIndex = 3;
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
this->textIdIndex = 13;
|
||||
if (gSaveContext.save.weekEventReg[79] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_04)) {
|
||||
this->textIdIndex = 14;
|
||||
}
|
||||
}
|
||||
@@ -212,16 +212,16 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) {
|
||||
this->headZRotTarget = 0;
|
||||
if ((this->textIdIndex == 13) || (this->textIdIndex == 14)) {
|
||||
func_80151BB4(play, 0x13);
|
||||
gSaveContext.save.weekEventReg[79] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_79_04);
|
||||
func_80BC6E10(this);
|
||||
return;
|
||||
}
|
||||
if (this->actor.params == 0) {
|
||||
if (this->actor.textId == 0x295F) {
|
||||
gSaveContext.save.weekEventReg[88] |= 4;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_88_04);
|
||||
}
|
||||
if (this->actor.textId == 0x292A) {
|
||||
gSaveContext.save.weekEventReg[38] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_38_10);
|
||||
}
|
||||
func_80151BB4(play, 0x13);
|
||||
func_80BC6E10(this);
|
||||
@@ -232,7 +232,7 @@ void func_80BC7068(EnGuruguru* this, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
if (this->textIdIndex == 12) {
|
||||
gSaveContext.save.weekEventReg[38] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_38_40);
|
||||
func_801A3B48(0);
|
||||
func_80151BB4(play, 0x36);
|
||||
func_80151BB4(play, 0x13);
|
||||
@@ -297,7 +297,7 @@ void func_80BC7440(EnGuruguru* this, PlayState* play) {
|
||||
func_801A3B48(1);
|
||||
func_800B8500(&this->actor, play, 400.0f, 400.0f, PLAYER_AP_MINUS1);
|
||||
this->unk268 = 0;
|
||||
gSaveContext.save.weekEventReg[38] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_38_40);
|
||||
this->actionFunc = func_80BC7520;
|
||||
} else {
|
||||
Actor_PickUp(&this->actor, play, GI_MASK_BREMEN, 300.0f, 300.0f);
|
||||
|
||||
@@ -72,16 +72,14 @@ void EnHeishi_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
if (this->paramsCopy == 0) {
|
||||
this->shouldSetHeadRotation = 1;
|
||||
if (!(gSaveContext.save.weekEventReg[63] & 0x80) &&
|
||||
!((gSaveContext.save.day == 3) && gSaveContext.save.isNight)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_63_80) && !((gSaveContext.save.day == 3) && gSaveContext.save.isNight)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
} else {
|
||||
this->colliderCylinder.dim.radius = 30;
|
||||
this->colliderCylinder.dim.height = 60;
|
||||
this->colliderCylinder.dim.yShift = 0;
|
||||
if ((gSaveContext.save.weekEventReg[63] & 0x80) ||
|
||||
((gSaveContext.save.day == 3) && gSaveContext.save.isNight)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_63_80) || ((gSaveContext.save.day == 3) && gSaveContext.save.isNight)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ void EnHg_Init(Actor* thisx, PlayState* play) {
|
||||
Collider_InitCylinder(play, &this->collider);
|
||||
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit2);
|
||||
if ((gSaveContext.save.weekEventReg[75] & 0x20) || (gSaveContext.save.weekEventReg[52] & 0x20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_52_20)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
this->actor.targetMode = 1;
|
||||
@@ -326,7 +326,7 @@ void EnHg_HandleCsAction(EnHg* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 6:
|
||||
gSaveContext.save.weekEventReg[75] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_75_20);
|
||||
Actor_Kill(&this->actor);
|
||||
break;
|
||||
}
|
||||
@@ -405,9 +405,8 @@ void EnHg_WaitForPlayerAction(EnHg* this, PlayState* play) {
|
||||
} else {
|
||||
if ((this->actor.xzDistToPlayer < 60.0f) && (fabsf(this->actor.playerHeightRel) < 40.0f)) {
|
||||
if ((this->actionFunc != EnHg_PlayCutscene) && (this->actionFunc != EnHg_HandleCsAction)) {
|
||||
|
||||
if (!(gSaveContext.save.weekEventReg[61] & 2)) {
|
||||
gSaveContext.save.weekEventReg[61] |= 2;
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_61_02)) {
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_61_02);
|
||||
this->cutsceneIndex = HG_CS_FIRST_ENCOUNTER;
|
||||
} else {
|
||||
this->cutsceneIndex = HG_CS_SUBSEQUENT_ENCOUNTER;
|
||||
|
||||
@@ -103,12 +103,13 @@ void EnHgo_Init(Actor* thisx, PlayState* play) {
|
||||
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
CollisionCheck_SetInfo2(&thisx->colChkInfo, NULL, &sColChkInfoInit);
|
||||
thisx->targetMode = 6;
|
||||
|
||||
this->eyeIndex = 0;
|
||||
this->blinkTimer = 0;
|
||||
this->textId = 0;
|
||||
this->talkFlags = TALK_FLAG_NONE;
|
||||
this->isInCutscene = false;
|
||||
if ((gSaveContext.save.weekEventReg[75] & 0x20) || (gSaveContext.save.weekEventReg[52] & 0x20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_52_20)) {
|
||||
EnHgo_SetupTalk(this);
|
||||
} else {
|
||||
thisx->draw = NULL;
|
||||
@@ -221,7 +222,7 @@ void EnHgo_HandlePlayerChoice(EnHgo* this, PlayState* play) {
|
||||
break;
|
||||
|
||||
case 0x1590:
|
||||
if (gSaveContext.save.weekEventReg[14] & 4) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_14_04)) {
|
||||
Message_StartTextbox(play, 0x1591, &this->actor);
|
||||
this->textId = 0x1591;
|
||||
break;
|
||||
@@ -341,7 +342,7 @@ s32 EnHgo_HandleCsAction(EnHgo* this, PlayState* play) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((play->csCtx.state == 0) && (((gSaveContext.save.weekEventReg[75]) & 0x20)) &&
|
||||
if ((play->csCtx.state == CS_STATE_0) && CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20) &&
|
||||
(this->actionFunc == EnHgo_DoNothing)) {
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_ELF_MSG2, this->actor.focus.pos.x, this->actor.focus.pos.y,
|
||||
|
||||
@@ -792,7 +792,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
||||
this->stateFlags = 0;
|
||||
}
|
||||
|
||||
if (((play->sceneId == SCENE_KOEPONARACE) && (GET_RACE_FLAGS == 1)) ||
|
||||
if (((play->sceneId == SCENE_KOEPONARACE) && (GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_START)) ||
|
||||
((gSaveContext.save.entrance == ENTRANCE(ROMANI_RANCH, 0)) && (Cutscene_GetSceneLayer(play) != 0))) {
|
||||
this->stateFlags |= ENHORSE_FLAG_25;
|
||||
}
|
||||
@@ -2471,7 +2471,7 @@ void func_808819D8(EnHorse* this, PlayState* play) {
|
||||
func_8088168C(this);
|
||||
}
|
||||
|
||||
if (GET_RACE_FLAGS == 3) {
|
||||
if (GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_3) {
|
||||
this->rider->unk488 = 7;
|
||||
} else {
|
||||
EnHorse_SetIngoAnimation(this->animIndex, this->skin.skelAnime.curFrame, this->unk_394 & 1,
|
||||
|
||||
@@ -59,7 +59,7 @@ s32 func_808F8AA0(EnHorseGameCheck* this, PlayState* play) {
|
||||
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
|
||||
if (GET_RACE_FLAGS != RACE_FLAG_START) {
|
||||
if (GET_WEEKEVENTREG_RACE_FLAGS != WEEKEVENTREG_RACE_FLAG_START) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return false;
|
||||
}
|
||||
@@ -116,7 +116,7 @@ s32 func_808F8CCC(EnHorseGameCheck* this, PlayState* play2) {
|
||||
this->unk_168 = 0;
|
||||
this->unk_174 = 0;
|
||||
|
||||
if (GET_RACE_FLAGS != RACE_FLAG_START) {
|
||||
if (GET_WEEKEVENTREG_RACE_FLAGS != WEEKEVENTREG_RACE_FLAG_START) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return false;
|
||||
}
|
||||
@@ -156,14 +156,14 @@ s32 func_808F8EB0(EnHorseGameCheck* this, PlayState* play) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (GET_RACE_FLAGS == RACE_FLAG_3) {
|
||||
if (GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_3) {
|
||||
play->transitionType = TRANS_TYPE_64;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
} else if (GET_RACE_FLAGS == RACE_FLAG_2) {
|
||||
} else if (GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_2) {
|
||||
play->transitionType = TRANS_TYPE_80;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_03;
|
||||
} else if (GET_RACE_FLAGS == RACE_FLAG_4) {
|
||||
SET_RACE_FLAGS(RACE_FLAG_3);
|
||||
} else if (GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_4) {
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_3);
|
||||
play->transitionType = TRANS_TYPE_02;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_02;
|
||||
}
|
||||
@@ -252,7 +252,7 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
|
||||
play_sound(NA_SE_SY_START_SHOT);
|
||||
this->unk_164 |= 0x40000;
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
|
||||
SET_RACE_FLAGS(RACE_FLAG_4);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_4);
|
||||
this->unk_174 = 60;
|
||||
}
|
||||
|
||||
@@ -285,7 +285,7 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
|
||||
play_sound(NA_SE_SY_START_SHOT);
|
||||
this->unk_164 |= 0x40000;
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
|
||||
SET_RACE_FLAGS(RACE_FLAG_3);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_3);
|
||||
this->unk_174 = 60;
|
||||
}
|
||||
|
||||
@@ -318,7 +318,7 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
|
||||
play_sound(NA_SE_SY_START_SHOT);
|
||||
this->unk_164 |= 0x02000000;
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
|
||||
SET_RACE_FLAGS(RACE_FLAG_3);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_3);
|
||||
this->unk_174 = 60;
|
||||
}
|
||||
|
||||
@@ -347,7 +347,7 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
|
||||
play_sound(NA_SE_SY_START_SHOT);
|
||||
this->unk_164 |= 0x800;
|
||||
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
|
||||
SET_RACE_FLAGS(RACE_FLAG_2);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_2);
|
||||
this->unk_174 = 60;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -25,22 +25,6 @@ enum {
|
||||
/* 10 */ ENHORSEGAMECHECK_FF_MAX,
|
||||
};
|
||||
|
||||
#define RACE_FLAG_END 0
|
||||
#define RACE_FLAG_START 1
|
||||
#define RACE_FLAG_2 2
|
||||
#define RACE_FLAG_3 3
|
||||
#define RACE_FLAG_4 4
|
||||
#define RACE_FLAGS 7
|
||||
|
||||
#define GET_RACE_FLAGS (gSaveContext.save.weekEventReg[92] & RACE_FLAGS)
|
||||
|
||||
#define SET_RACE_FLAGS(flag) \
|
||||
{ \
|
||||
gSaveContext.save.weekEventReg[92] &= (u8)~RACE_FLAGS; \
|
||||
gSaveContext.save.weekEventReg[92] = \
|
||||
gSaveContext.save.weekEventReg[92] | (u8)((gSaveContext.save.weekEventReg[92] & ~RACE_FLAGS) | (flag)); \
|
||||
} (void)0
|
||||
|
||||
typedef struct EnHorseGameCheck {
|
||||
/* 0x000 */ DynaPolyActor dyna;
|
||||
/* 0x15C */ s32 unk_15C;
|
||||
|
||||
@@ -345,7 +345,7 @@ void func_808DF194(EnHorseLinkChild* this, PlayState* play) {
|
||||
sp4C = SkelAnime_Update(&this->skin.skelAnime);
|
||||
|
||||
if ((sp4C != 0) || (this->unk_148 == 1) || (this->unk_148 == 0)) {
|
||||
if ((gSaveContext.save.weekEventReg[1] & 0x20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_01_20)) {
|
||||
f32 sp44 = Math3D_Distance(&this->actor.world.pos, &this->actor.home.pos);
|
||||
s32 pad;
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ void EnHs_SceneTransitToBunnyHoodDialogue(EnHs* this, PlayState* play) {
|
||||
if (DECR(this->stateTimer) == 0) {
|
||||
play->nextEntrance = play->setupExitList[HS_GET_EXIT_INDEX(&this->actor)];
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[25] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_25_08);
|
||||
this->actionFunc = EnHs_DoNothing;
|
||||
}
|
||||
}
|
||||
@@ -239,7 +239,7 @@ void func_809533A0(EnHs* this, PlayState* play) {
|
||||
} else if (this->stateFlags & 0x10) {
|
||||
sp1E = 0x33F9;
|
||||
this->stateFlags &= ~0x10;
|
||||
} else if (gSaveContext.save.weekEventReg[25] & 8) {
|
||||
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_25_08)) {
|
||||
sp1E = 0x33F4;
|
||||
} else {
|
||||
sp1E = 0x33F5;
|
||||
|
||||
@@ -25,7 +25,7 @@ static u8 D_80BF3260[] = {
|
||||
/* 0x05 */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_TOWN, 0x57 - 0x09),
|
||||
/* 0x09 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 25, 15, 45, 0x51 - 0x0F),
|
||||
/* 0x0F */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 45, 15, 50, 0x4B - 0x15),
|
||||
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(0x4B, 0x10, 0x1A - 0x19),
|
||||
/* 0x15 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_75_10, 0x1A - 0x19),
|
||||
/* 0x19 */ SCHEDULE_CMD_RET_NONE(),
|
||||
/* 0x1A */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 50, 16, 55, 0x45 - 0x20),
|
||||
/* 0x20 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 55, 17, 15, 0x3F - 0x26),
|
||||
@@ -42,7 +42,7 @@ static u8 D_80BF3260[] = {
|
||||
/* 0x5B */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 45, 15, 50, 0xAF - 0x61),
|
||||
/* 0x61 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(15, 50, 16, 10, 0xA9 - 0x67),
|
||||
/* 0x67 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 10, 16, 30, 0xA3 - 0x6D),
|
||||
/* 0x6D */ SCHEDULE_CMD_CHECK_FLAG_S(0x4B, 0x10, 0x8A - 0x71),
|
||||
/* 0x6D */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_75_10, 0x8A - 0x71),
|
||||
/* 0x71 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 30, 16, 50, 0x84 - 0x77),
|
||||
/* 0x77 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(16, 50, 16, 55, 0x7E - 0x7D),
|
||||
/* 0x7D */ SCHEDULE_CMD_RET_NONE(),
|
||||
@@ -372,7 +372,7 @@ s32 func_80BF17BC(EnIg* this, PlayState* play) {
|
||||
|
||||
case 1:
|
||||
case 3:
|
||||
if (!(gSaveContext.save.weekEventReg[75] & 0x10) && (this->unk_3F6 == 3)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_10) && (this->unk_3F6 == 3)) {
|
||||
ActorCutscene_Stop(sp2A);
|
||||
this->unk_3F6 = 5;
|
||||
} else {
|
||||
|
||||
@@ -224,7 +224,7 @@ s32 func_808F33B8(void) {
|
||||
s32 ret = (((gSaveContext.save.day == 1) &&
|
||||
((gSaveContext.save.time >= CLOCK_TIME(5, 30)) && (gSaveContext.save.time <= CLOCK_TIME(6, 0)))) ||
|
||||
(gSaveContext.save.day >= 2)) &&
|
||||
!(gSaveContext.save.weekEventReg[22] & 1);
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -336,7 +336,7 @@ void func_808F38F8(EnIn* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_808F395C(EnIn* this, PlayState* play) {
|
||||
if (this->unk4B0 == RACE_FLAG_END) {
|
||||
if (this->unk4B0 == WEEKEVENTREG_RACE_FLAG_END) {
|
||||
this->actionFunc = func_808F5A94;
|
||||
}
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
|
||||
@@ -352,30 +352,30 @@ void func_808F39DC(EnIn* this, PlayState* play) {
|
||||
u16 textId = 0;
|
||||
|
||||
if (gSaveContext.save.day != 3) {
|
||||
switch (GET_RACE_FLAGS) {
|
||||
case RACE_FLAG_2:
|
||||
switch (GET_WEEKEVENTREG_RACE_FLAGS) {
|
||||
case WEEKEVENTREG_RACE_FLAG_2:
|
||||
textId = 0x347A;
|
||||
break;
|
||||
case RACE_FLAG_3:
|
||||
case WEEKEVENTREG_RACE_FLAG_3:
|
||||
textId = 0x3476;
|
||||
break;
|
||||
}
|
||||
SET_RACE_FLAGS(RACE_FLAG_END);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_END);
|
||||
} else {
|
||||
switch (GET_RACE_FLAGS) {
|
||||
case RACE_FLAG_2:
|
||||
switch (GET_WEEKEVENTREG_RACE_FLAGS) {
|
||||
case WEEKEVENTREG_RACE_FLAG_2:
|
||||
textId = 0x349D;
|
||||
break;
|
||||
case RACE_FLAG_3:
|
||||
case WEEKEVENTREG_RACE_FLAG_3:
|
||||
textId = 0x3499;
|
||||
break;
|
||||
}
|
||||
SET_RACE_FLAGS(RACE_FLAG_END);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_END);
|
||||
}
|
||||
this->actor.flags |= ACTOR_FLAG_10000;
|
||||
this->actor.textId = textId;
|
||||
this->actionFunc = func_808F395C;
|
||||
if (this->unk4B0 == RACE_FLAG_2) {
|
||||
if (this->unk4B0 == WEEKEVENTREG_RACE_FLAG_2) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_IN_LOST);
|
||||
} else {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_IN_JOY0);
|
||||
@@ -458,7 +458,7 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
|
||||
u16 textId = 0;
|
||||
|
||||
if (Player_GetMask(play) == PLAYER_MASK_CIRCUS_LEADER) {
|
||||
if (!(gSaveContext.save.weekEventReg[63] & 0x40)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_63_40)) {
|
||||
textId = 0x34A9;
|
||||
} else if (this->unk4AC & 8) {
|
||||
textId = 0x34B1;
|
||||
@@ -475,14 +475,14 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
|
||||
textId = 0x345C;
|
||||
} else if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
|
||||
textId = 0x3460;
|
||||
} else if (!(gSaveContext.save.weekEventReg[15] & 8)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_15_08)) {
|
||||
textId = 0x3458;
|
||||
} else {
|
||||
textId = 0x345B;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (!(gSaveContext.save.weekEventReg[15] & 0x10)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_15_10)) {
|
||||
textId = 0x3463;
|
||||
} else {
|
||||
textId = 0x346B;
|
||||
@@ -494,7 +494,7 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
|
||||
} else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA ||
|
||||
gSaveContext.save.playerForm == PLAYER_FORM_GORON) {
|
||||
textId = 0x3484;
|
||||
} else if (!(gSaveContext.save.weekEventReg[56] & 4)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_56_04)) {
|
||||
textId = 0x346D;
|
||||
} else {
|
||||
textId = 0x3482;
|
||||
@@ -505,7 +505,7 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
|
||||
textId = 0x348A;
|
||||
} else if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
|
||||
textId = 0x348B;
|
||||
} else if (!(gSaveContext.save.weekEventReg[16] & 1)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_01)) {
|
||||
textId = 0x3486;
|
||||
} else {
|
||||
textId = 0x3489;
|
||||
@@ -514,7 +514,7 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
|
||||
case 5:
|
||||
if (func_808F33B8()) {
|
||||
textId = 0x34B3;
|
||||
} else if (!(gSaveContext.save.weekEventReg[16] & 2)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_02)) {
|
||||
textId = 0x348E;
|
||||
} else {
|
||||
textId = 0x3493;
|
||||
@@ -526,7 +526,7 @@ u16 func_808F3DD4(PlayState* play, EnIn* this, u32 arg2) {
|
||||
} else if (gSaveContext.save.playerForm == PLAYER_FORM_ZORA ||
|
||||
gSaveContext.save.playerForm == PLAYER_FORM_GORON) {
|
||||
textId = 0x34A7;
|
||||
} else if (!(gSaveContext.save.weekEventReg[16] & 4)) {
|
||||
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_04)) {
|
||||
textId = 0x3495;
|
||||
} else {
|
||||
textId = 0x34A5;
|
||||
@@ -578,7 +578,7 @@ s32 func_808F4150(PlayState* play, EnIn* this, s32 arg2, MessageContext* msgCtx)
|
||||
func_8019F208();
|
||||
if (gSaveContext.save.playerData.rupees >= play->msgCtx.unk1206C) {
|
||||
Rupees_ChangeBy(-play->msgCtx.unk1206C);
|
||||
if (!(gSaveContext.save.weekEventReg[57] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_57_01)) {
|
||||
func_808F4108(this, play, 0x3474);
|
||||
} else if (this->unk4AC & 8) {
|
||||
func_808F4108(this, play, 0x3475);
|
||||
@@ -604,7 +604,7 @@ s32 func_808F4270(PlayState* play, EnIn* this, s32 arg2, MessageContext* msgCtx,
|
||||
func_8019F208();
|
||||
if (gSaveContext.save.playerData.rupees >= fee) {
|
||||
Rupees_ChangeBy(-fee);
|
||||
if (!(gSaveContext.save.weekEventReg[57] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_57_01)) {
|
||||
if (arg4 != 0) {
|
||||
Actor_ContinueText(play, &this->actor, 0x3474);
|
||||
} else {
|
||||
@@ -635,7 +635,7 @@ s32 func_808F4270(PlayState* play, EnIn* this, s32 arg2, MessageContext* msgCtx,
|
||||
s32 func_808F43E0(EnIn* this) {
|
||||
this->unk48C = 0;
|
||||
this->actor.textId = 0;
|
||||
SET_RACE_FLAGS(RACE_FLAG_END);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_END);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -652,7 +652,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x34A9:
|
||||
func_808F4108(this, play, 0x34AA);
|
||||
gSaveContext.save.weekEventReg[63] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_63_40);
|
||||
ret = false;
|
||||
break;
|
||||
case 0x34AA:
|
||||
@@ -683,7 +683,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
case 0:
|
||||
switch (textId) {
|
||||
case 0x3458:
|
||||
gSaveContext.save.weekEventReg[15] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_15_08);
|
||||
Actor_ContinueText(play, &this->actor, 0x3459);
|
||||
ret = false;
|
||||
break;
|
||||
@@ -732,7 +732,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
case 1:
|
||||
switch (textId) {
|
||||
case 0x3463:
|
||||
gSaveContext.save.weekEventReg[15] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_15_10);
|
||||
Actor_ContinueText(play, &this->actor, 0x3464);
|
||||
ret = false;
|
||||
break;
|
||||
@@ -808,21 +808,21 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x3472:
|
||||
func_808F43E0(this);
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_80151BB4(play, 0x11);
|
||||
ret = true;
|
||||
break;
|
||||
case 0x3473:
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_80151BB4(play, 0x11);
|
||||
break;
|
||||
case 0x3475:
|
||||
SET_RACE_FLAGS(RACE_FLAG_START);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_START);
|
||||
func_800FD750(NA_BGM_HORSE);
|
||||
play->nextEntrance = ENTRANCE(GORMAN_TRACK, 5);
|
||||
play->transitionType = TRANS_TYPE_05;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[57] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_57_01);
|
||||
break;
|
||||
case 0x3478:
|
||||
if (msgCtx->choiceIndex == 0) {
|
||||
@@ -830,14 +830,14 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
ret = false;
|
||||
} else {
|
||||
func_8019F230();
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_808F4108(this, play, 0x3479);
|
||||
ret = false;
|
||||
}
|
||||
break;
|
||||
case 0x347B:
|
||||
func_808F4108(this, play, 0x347C);
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
ret = false;
|
||||
break;
|
||||
}
|
||||
@@ -846,8 +846,8 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
switch (textId) {
|
||||
case 0x346D:
|
||||
func_808F4108(this, play, 0x346E);
|
||||
gSaveContext.save.weekEventReg[56] |= 4;
|
||||
gSaveContext.save.weekEventReg[56] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_04);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
ret = false;
|
||||
break;
|
||||
case 0x346F:
|
||||
@@ -856,7 +856,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x3482:
|
||||
func_808F4108(this, play, 0x3483);
|
||||
gSaveContext.save.weekEventReg[56] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
ret = false;
|
||||
break;
|
||||
case 0x3484:
|
||||
@@ -876,7 +876,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
ret = false;
|
||||
break;
|
||||
case 0x3477:
|
||||
gSaveContext.save.weekEventReg[56] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_808F4108(this, play, 0x3478);
|
||||
ret = false;
|
||||
break;
|
||||
@@ -887,7 +887,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
Actor_ContinueText(play, &this->actor, 0x347E);
|
||||
ret = false;
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[56] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_808F4108(this, play, 0x347B);
|
||||
ret = false;
|
||||
}
|
||||
@@ -943,7 +943,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
switch (textId) {
|
||||
case 0x3486:
|
||||
Actor_ContinueText(play, &this->actor, 0x3487);
|
||||
gSaveContext.save.weekEventReg[16] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_16_01);
|
||||
ret = false;
|
||||
break;
|
||||
case 0x3487:
|
||||
@@ -984,7 +984,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
case 0x348E:
|
||||
case 0x34B3:
|
||||
Actor_ContinueText(play, &this->actor, 0x348F);
|
||||
gSaveContext.save.weekEventReg[16] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_16_02);
|
||||
ret = false;
|
||||
break;
|
||||
case 0x3493:
|
||||
@@ -1036,8 +1036,8 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x3495:
|
||||
func_808F4108(this, play, 0x3496);
|
||||
gSaveContext.save.weekEventReg[16] |= 4;
|
||||
gSaveContext.save.weekEventReg[56] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_16_04);
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
ret = false;
|
||||
break;
|
||||
case 0x3497:
|
||||
@@ -1052,11 +1052,11 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x34A5:
|
||||
func_808F4108(this, play, 0x34A6);
|
||||
gSaveContext.save.weekEventReg[56] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
ret = false;
|
||||
break;
|
||||
case 0x3473:
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_80151BB4(play, 0x11);
|
||||
break;
|
||||
case 0x3474:
|
||||
@@ -1064,12 +1064,12 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
ret = false;
|
||||
break;
|
||||
case 0x3475:
|
||||
SET_RACE_FLAGS(RACE_FLAG_START);
|
||||
SET_WEEKEVENTREG_RACE_FLAGS(WEEKEVENTREG_RACE_FLAG_START);
|
||||
func_800FD750(NA_BGM_HORSE);
|
||||
play->nextEntrance = ENTRANCE(GORMAN_TRACK, 5);
|
||||
play->transitionType = TRANS_TYPE_05;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.weekEventReg[57] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_57_01);
|
||||
break;
|
||||
case 0x349D:
|
||||
EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_1);
|
||||
@@ -1078,7 +1078,7 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
Actor_ContinueText(play, &this->actor, 0x34A1);
|
||||
ret = false;
|
||||
} else {
|
||||
gSaveContext.save.weekEventReg[56] |= 8;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_808F4108(this, play, 0x349E);
|
||||
ret = false;
|
||||
}
|
||||
@@ -1161,13 +1161,13 @@ s32 func_808F4414(PlayState* play, EnIn* this, s32 arg2) {
|
||||
break;
|
||||
case 0x3472:
|
||||
func_808F43E0(this);
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
func_80151BB4(play, 0x11);
|
||||
ret = true;
|
||||
break;
|
||||
case 0x349E:
|
||||
func_808F4108(this, play, 0x349F);
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
ret = false;
|
||||
break;
|
||||
}
|
||||
@@ -1303,8 +1303,8 @@ void func_808F5A94(EnIn* this, PlayState* play) {
|
||||
|
||||
void func_808F5B58(EnIn* this, PlayState* play) {
|
||||
if (func_800F41E4(play, &play->actorCtx)) {
|
||||
if ((Player_GetMask(play) == PLAYER_MASK_CIRCUS_LEADER && gSaveContext.save.weekEventReg[63] & 0x40) ||
|
||||
gSaveContext.save.weekEventReg[56] & 8) {
|
||||
if ((Player_GetMask(play) == PLAYER_MASK_CIRCUS_LEADER && CHECK_WEEKEVENTREG(WEEKEVENTREG_63_40)) ||
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_56_08)) {
|
||||
if (gSaveContext.save.day == 3) {
|
||||
func_808F5728(play, this, 6, &this->unk48C);
|
||||
} else {
|
||||
@@ -1312,7 +1312,7 @@ void func_808F5B58(EnIn* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
} else if (Player_GetMask(play) != PLAYER_MASK_CIRCUS_LEADER ||
|
||||
(Player_GetMask(play) == PLAYER_MASK_CIRCUS_LEADER && gSaveContext.save.weekEventReg[63] & 0x40)) {
|
||||
(Player_GetMask(play) == PLAYER_MASK_CIRCUS_LEADER && CHECK_WEEKEVENTREG(WEEKEVENTREG_63_40))) {
|
||||
if (gSaveContext.save.day == 3) {
|
||||
func_808F5728(play, this, 4, &this->unk48C);
|
||||
} else {
|
||||
@@ -1322,11 +1322,11 @@ void func_808F5B58(EnIn* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_808F5C98(EnIn* this, PlayState* play) {
|
||||
if (this->unk4B0 == RACE_FLAG_END) {
|
||||
if (this->unk4B0 == WEEKEVENTREG_RACE_FLAG_END) {
|
||||
this->actionFunc = func_808F5B58;
|
||||
}
|
||||
if ((Player_GetMask(play) == PLAYER_MASK_CIRCUS_LEADER && gSaveContext.save.weekEventReg[63] & 0x40) ||
|
||||
gSaveContext.save.weekEventReg[56] & 8) {
|
||||
if ((Player_GetMask(play) == PLAYER_MASK_CIRCUS_LEADER && CHECK_WEEKEVENTREG(WEEKEVENTREG_63_40)) ||
|
||||
CHECK_WEEKEVENTREG(WEEKEVENTREG_56_08)) {
|
||||
if (gSaveContext.save.day != 3) {
|
||||
func_808F5728(play, this, 2, &this->unk48C);
|
||||
} else {
|
||||
@@ -1334,7 +1334,7 @@ void func_808F5C98(EnIn* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
if (this->unk4A8 == 2) {
|
||||
if (this->unk4B0 == RACE_FLAG_2) {
|
||||
if (this->unk4B0 == WEEKEVENTREG_RACE_FLAG_2) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_IN_LOST);
|
||||
} else {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_IN_JOY0);
|
||||
@@ -1366,7 +1366,7 @@ void EnIn_Init(Actor* thisx, PlayState* play) {
|
||||
this->unk48C = 0;
|
||||
this->unk4AC = 0;
|
||||
type = ENIN_GET_TYPE(thisx);
|
||||
this->unk4B0 = GET_RACE_FLAGS;
|
||||
this->unk4B0 = GET_WEEKEVENTREG_RACE_FLAGS;
|
||||
if (type == ENIN_HORSE_RIDER_BLUE_SHIRT || type == ENIN_BLUE_SHIRT) {
|
||||
this->unk4AC |= 8;
|
||||
}
|
||||
@@ -1387,19 +1387,21 @@ void EnIn_Init(Actor* thisx, PlayState* play) {
|
||||
this->path = SubS_GetPathByIndex(play, ENIN_GET_PATH(&this->actor), 0x3F);
|
||||
this->unk23D = 0;
|
||||
if (type == ENIN_YELLOW_SHIRT || type == ENIN_BLUE_SHIRT) {
|
||||
if (GET_RACE_FLAGS == RACE_FLAG_2 || GET_RACE_FLAGS == RACE_FLAG_3) {
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
if ((GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_2) ||
|
||||
(GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_3)) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
this->unk4A8 = 0;
|
||||
this->unk4AC |= 2;
|
||||
func_808F35AC(this, play);
|
||||
this->unk23C = 0;
|
||||
D_801BDAA0 = 0;
|
||||
if (GET_RACE_FLAGS == RACE_FLAG_2) {
|
||||
|
||||
if (GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_2) {
|
||||
EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_6);
|
||||
} else {
|
||||
EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_4);
|
||||
}
|
||||
if (GET_RACE_FLAGS == RACE_FLAG_2) {
|
||||
if (GET_WEEKEVENTREG_RACE_FLAGS == WEEKEVENTREG_RACE_FLAG_2) {
|
||||
this->skelAnime.curFrame = ((Rand_ZeroOne() * 0.6f) + 0.2f) * this->skelAnime.endFrame;
|
||||
}
|
||||
if (this->unk4AC & 8) {
|
||||
@@ -1408,8 +1410,8 @@ void EnIn_Init(Actor* thisx, PlayState* play) {
|
||||
this->actionFunc = func_808F5C98;
|
||||
}
|
||||
} else {
|
||||
if (GET_RACE_FLAGS != RACE_FLAG_START) {
|
||||
gSaveContext.save.weekEventReg[56] &= (u8)~8;
|
||||
if (GET_WEEKEVENTREG_RACE_FLAGS != WEEKEVENTREG_RACE_FLAG_START) {
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_56_08);
|
||||
this->unk23C = 0;
|
||||
this->unk4AC |= 2;
|
||||
if (type == ENIN_BLUE_SHIRT) {
|
||||
@@ -1417,7 +1419,7 @@ void EnIn_Init(Actor* thisx, PlayState* play) {
|
||||
EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_0);
|
||||
this->actionFunc = func_808F5A94;
|
||||
} else {
|
||||
if (gSaveContext.save.weekEventReg[52] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_KANBAN, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z, this->actor.shape.rot.x,
|
||||
this->actor.shape.rot.y, this->actor.shape.rot.z, 0xF);
|
||||
@@ -1428,7 +1430,7 @@ void EnIn_Init(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (gSaveContext.save.weekEventReg[52] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_52_01)) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else {
|
||||
EnIn_ChangeAnim(&this->skelAnime, ENIN_ANIM_7);
|
||||
|
||||
@@ -1283,7 +1283,7 @@ void func_80B451A0(EnInvadepoh* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (D_80B4E940 == 0) {
|
||||
if (gSaveContext.save.weekEventReg[22] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
D_80B4E940 = 3;
|
||||
} else {
|
||||
D_80B4E940 = 4;
|
||||
@@ -1745,8 +1745,9 @@ void EnInvadepoh_InitRomani(EnInvadepoh* this, PlayState* play) {
|
||||
if (this->bankIndex < 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
|
||||
if (temp == 5) {
|
||||
if (gSaveContext.save.weekEventReg[22] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
@@ -1762,7 +1763,7 @@ void EnInvadepoh_InitRomani(EnInvadepoh* this, PlayState* play) {
|
||||
return;
|
||||
}
|
||||
} else if (temp == 0xC) {
|
||||
if (!(gSaveContext.save.weekEventReg[22] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
D_80B503F4 = this;
|
||||
@@ -1817,7 +1818,7 @@ void EnInvadepoh_InitCremia(EnInvadepoh* this, PlayState* play) {
|
||||
if (this->bankIndex < 0) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
if (!(gSaveContext.save.weekEventReg[22] & 1)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
D_80B503F8 = this;
|
||||
@@ -1954,7 +1955,7 @@ void func_80B46FA8(EnInvadepoh* this, PlayState* play) {
|
||||
s32 i;
|
||||
|
||||
if ((gSaveContext.save.time < CLOCK_TIME(6, 0)) && (gSaveContext.save.time >= CLOCK_TIME(5, 15))) {
|
||||
gSaveContext.save.weekEventReg[22] |= 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_01);
|
||||
func_80B47064(this);
|
||||
} else {
|
||||
func_80B457A0(this);
|
||||
@@ -2039,7 +2040,7 @@ void func_80B47298(EnInvadepoh* this, PlayState* play) {
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_72;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_72;
|
||||
gSaveContext.save.weekEventReg[89] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_89_10);
|
||||
func_80B47304(this);
|
||||
}
|
||||
|
||||
@@ -3059,7 +3060,7 @@ void func_80B49DFC(EnInvadepoh* this, PlayState* play) {
|
||||
substruct->unk26.y = CLAMP(temp_v1, -0x1F40, 0x1F40);
|
||||
if (Actor_TextboxIsClosing(&this->actor, play)) {
|
||||
if (this->actor.textId == 0x332D) {
|
||||
gSaveContext.save.weekEventReg[54] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_54_10);
|
||||
this->actor.textId = 0x332E;
|
||||
}
|
||||
func_80B49BD0(this);
|
||||
@@ -3084,8 +3085,8 @@ void func_80B49F88(Actor* thisx, PlayState* play) {
|
||||
func_80B44C24(this, play);
|
||||
func_80B43F0C(this);
|
||||
func_80B4516C(this);
|
||||
if (0x20 & gSaveContext.save.weekEventReg[21]) {
|
||||
if (gSaveContext.save.weekEventReg[54] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_21_20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_54_10)) {
|
||||
this->actor.textId = 0x332E;
|
||||
} else {
|
||||
this->actor.textId = 0x332D;
|
||||
@@ -3286,7 +3287,7 @@ void func_80B4A81C(EnInvadepoh* this, PlayState* play) {
|
||||
|
||||
if (Actor_TextboxIsClosing(&this->actor, play)) {
|
||||
if (this->actor.textId == 0x332D) {
|
||||
gSaveContext.save.weekEventReg[54] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_54_10);
|
||||
this->actor.textId = 0x332E;
|
||||
}
|
||||
if (this->pathIndex == this->endPoint) {
|
||||
@@ -3325,8 +3326,8 @@ void func_80B4A9C8(Actor* thisx, PlayState* play) {
|
||||
func_80B43F0C(this);
|
||||
func_800B4AEC(play, &this->actor, 50.0f);
|
||||
func_80B4516C(this);
|
||||
if (gSaveContext.save.weekEventReg[21] & 0x20) {
|
||||
if (gSaveContext.save.weekEventReg[54] & 0x10) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_21_20)) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_54_10)) {
|
||||
this->actor.textId = 0x332E;
|
||||
} else {
|
||||
this->actor.textId = 0x332D;
|
||||
@@ -3374,7 +3375,7 @@ void func_80B4ACDC(EnInvadepoh* this) {
|
||||
}
|
||||
|
||||
void func_80B4ACF0(EnInvadepoh* this, PlayState* play) {
|
||||
if (gSaveContext.save.weekEventReg[22] & 1) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_01)) {
|
||||
this->actor.draw = func_80B4E324;
|
||||
this->actor.flags |= (ACTOR_FLAG_1 | ACTOR_FLAG_8);
|
||||
func_80B4AD3C(this);
|
||||
@@ -3402,7 +3403,7 @@ void func_80B4ADB8(EnInvadepoh* this) {
|
||||
void func_80B4ADCC(EnInvadepoh* this, PlayState* play) {
|
||||
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
|
||||
if (this->textId == 0x3331) {
|
||||
if (gSaveContext.save.weekEventReg[22] & 2) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_22_02)) {
|
||||
EnInvadepoh_SetTextID(this, play, 0x3334);
|
||||
func_80151BB4(play, 0x1D);
|
||||
func_80151BB4(play, 5);
|
||||
@@ -3434,7 +3435,7 @@ void func_80B4AEDC(EnInvadepoh* this, PlayState* play) {
|
||||
}
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
this->actor.parent = NULL;
|
||||
gSaveContext.save.weekEventReg[22] |= 2;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_22_02);
|
||||
func_80B4AF80(this);
|
||||
} else {
|
||||
Actor_PickUp(&this->actor, play, GI_MILK_BOTTLE, 2000.0f, 2000.0f);
|
||||
|
||||
@@ -140,7 +140,7 @@ void EnJcMato_Update(Actor* thisx, PlayState* play) {
|
||||
EnJcMato* this = THIS;
|
||||
|
||||
this->actionFunc(this, play);
|
||||
if (!(gSaveContext.eventInf[4] & 1)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_40)) {
|
||||
EnJcMato_CheckForHit(this, play);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -493,14 +493,14 @@ void EnJg_Talk(EnJg* this, PlayState* play) {
|
||||
|
||||
temp = this->textId;
|
||||
if ((temp == 0xDBB) || (temp == 0xDBC)) {
|
||||
if (!(gSaveContext.save.weekEventReg[24] & 0x80)) {
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_24_80)) {
|
||||
// The player hasn't talked to the Goron Child at least once, so they can't learn
|
||||
// the Lullaby Intro. End the current conversation with the player.
|
||||
play->msgCtx.msgMode = 0x43;
|
||||
play->msgCtx.stateTimer = 4;
|
||||
this->flags &= ~FLAG_LOOKING_AT_PLAYER;
|
||||
this->actionFunc = EnJg_SetupWalk;
|
||||
} else if (((gSaveContext.save.weekEventReg[24] & 0x40)) ||
|
||||
} else if ((CHECK_WEEKEVENTREG(WEEKEVENTREG_24_40)) ||
|
||||
(CHECK_QUEST_ITEM(QUEST_SONG_LULLABY) || CHECK_QUEST_ITEM(QUEST_SONG_LULLABY_INTRO))) {
|
||||
// The player already has the Lullaby or Lullaby Intro, so say "I'm counting on you"
|
||||
this->textId = EnJg_GetNextTextId(this);
|
||||
@@ -700,7 +700,7 @@ void EnJg_LullabyIntroCutsceneAction(EnJg* this, PlayState* play) {
|
||||
} else {
|
||||
this->csAction = 99;
|
||||
this->freezeTimer = 1000;
|
||||
gSaveContext.save.weekEventReg[24] |= 0x40;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_24_40);
|
||||
this->actionFunc = EnJg_Idle;
|
||||
}
|
||||
}
|
||||
@@ -830,7 +830,7 @@ s32 EnJg_GetNextTextId(EnJg* this) {
|
||||
return 0xDDC; // Everyone would accept you
|
||||
|
||||
case 0xDDC: // Everyone would accept you
|
||||
gSaveContext.save.weekEventReg[77] |= 0x80;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_77_80);
|
||||
return 0xDDD; // Think it over slowly
|
||||
|
||||
default:
|
||||
@@ -848,7 +848,7 @@ s32 EnJg_GetStartingConversationTextId(EnJg* this, PlayState* play) {
|
||||
|
||||
if (!EN_JG_IS_IN_GORON_SHRINE(&this->actor)) {
|
||||
if (player->transformation == PLAYER_FORM_GORON) {
|
||||
if ((gSaveContext.save.weekEventReg[24] & 0x10) || CHECK_QUEST_ITEM(QUEST_SONG_LULLABY) ||
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_10) || CHECK_QUEST_ITEM(QUEST_SONG_LULLABY) ||
|
||||
CHECK_QUEST_ITEM(QUEST_SONG_LULLABY_INTRO)) {
|
||||
// The player has already talked as a Goron at least once.
|
||||
return 0xDBC; // Following me won't do you any good
|
||||
@@ -858,7 +858,7 @@ s32 EnJg_GetStartingConversationTextId(EnJg* this, PlayState* play) {
|
||||
return 0xDB6; // "Hunh???"
|
||||
}
|
||||
|
||||
if (gSaveContext.save.weekEventReg[24] & 0x20) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_24_20)) {
|
||||
// The player has already talked as a non-Goron at least once.
|
||||
return 0xDB5; // This is our problem (repeat)
|
||||
}
|
||||
@@ -868,7 +868,7 @@ s32 EnJg_GetStartingConversationTextId(EnJg* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (player->transformation == PLAYER_FORM_GORON) {
|
||||
if (gSaveContext.save.weekEventReg[77] & 0x80) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_77_80)) {
|
||||
// The player has heard the Goron Shrine cheer as a Goron at least once.
|
||||
return 0xDDE; // Come back after entering the race
|
||||
}
|
||||
@@ -908,9 +908,9 @@ void EnJg_CheckIfTalkingToPlayerAndHandleFreezeTimer(EnJg* this, PlayState* play
|
||||
if (this->textId == 0xDAC) {
|
||||
this->action = EN_JG_ACTION_FIRST_THAW;
|
||||
} else if (this->textId == 0xDAE) {
|
||||
gSaveContext.save.weekEventReg[24] |= 0x20;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_24_20);
|
||||
} else if (this->textId == 0xDB6) {
|
||||
gSaveContext.save.weekEventReg[24] |= 0x10;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_24_10);
|
||||
}
|
||||
|
||||
Message_StartTextbox(play, this->textId, &this->actor);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user