1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-02 22:14:33 +00:00

Fixup weird horse flags usage (#1214)

* wip: refactor flag defines for `eventInf[0]`

* Cleanup attempt

* run formatter

* remove spacing in enum indices comments

* Add line breaks

* Macros +`()` -`;`
This commit is contained in:
Dragorn421 2022-05-09 00:17:10 +02:00 committed by GitHub
parent 3b0e095ee6
commit 6cd8029cd5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 146 additions and 185 deletions

View file

@ -51,9 +51,7 @@ void BgInGate_Init(Actor* thisx, GlobalContext* globalCtx) {
}
Actor_SetScale(&this->dyna.actor, 0.1f);
if (((this->dyna.actor.params & 1) != 0) &&
((gSaveContext.eventInf[EVENTINF_0X_INDEX] & (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK |
EVENTINF_03_MASK)) == (EVENTINF_01_MASK | EVENTINF_02_MASK))) {
if (((this->dyna.actor.params & 1) != 0) && (GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6)) {
globalCtx->csCtx.frames = 0;
BgInGate_SetupAction(this, func_80892890);
} else {

View file

@ -152,7 +152,7 @@ void EnGe1_Init(Actor* thisx, GlobalContext* globalCtx) {
// "Horseback archery Gerudo EVENT_INF(0) ="
osSyncPrintf(VT_FGCOL(CYAN) "やぶさめ ゲルド EVENT_INF(0) = %x\n" VT_RST, gSaveContext.eventInf[0]);
if (GET_EVENTINF(EVENTINF_08)) {
if (GET_EVENTINF(EVENTINF_HORSES_08)) {
this->actionFunc = EnGe1_TalkAfterGame_Archery;
} else if (EnGe1_CheckCarpentersFreed()) {
this->actionFunc = EnGe1_Wait_Archery;
@ -585,7 +585,7 @@ void EnGe1_BeginGame_Archery(EnGe1* this, GlobalContext* globalCtx) {
gSaveContext.nextCutsceneIndex = 0xFFF0;
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
SET_EVENTINF(EVENTINF_08);
SET_EVENTINF(EVENTINF_HORSES_08);
SET_EVENTCHKINF(EVENTCHKINF_68);
if (!(player->stateFlags1 & PLAYER_STATE1_23)) {
@ -627,7 +627,7 @@ void EnGe1_TalkNoPrize_Archery(EnGe1* this, GlobalContext* globalCtx) {
}
void EnGe1_TalkAfterGame_Archery(EnGe1* this, GlobalContext* globalCtx) {
CLEAR_EVENTINF(EVENTINF_08);
CLEAR_EVENTINF(EVENTINF_HORSES_08);
LOG_NUM("z_common_data.yabusame_total", gSaveContext.minigameScore, "../z_en_ge1.c", 1110);
LOG_NUM("z_common_data.memory.information.room_inf[127][ 0 ]", HIGH_SCORE(HS_HBA), "../z_en_ge1.c", 1111);
this->actor.flags |= ACTOR_FLAG_16;

View file

@ -684,10 +684,7 @@ s32 EnHorse_Spawn(EnHorse* this, GlobalContext* globalCtx) {
if (globalCtx->sceneNum != SCENE_SPOT20 ||
//! Same flag checked twice
(Flags_GetEventChkInf(EVENTCHKINF_18) &&
(!((gSaveContext.eventInf[EVENTINF_0X_INDEX] &
(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) ==
(EVENTINF_01_MASK | EVENTINF_02_MASK)) ||
Flags_GetEventChkInf(EVENTCHKINF_18))) ||
(GET_EVENTINF_HORSES_STATE() != EVENTINF_HORSES_STATE_6 || Flags_GetEventChkInf(EVENTCHKINF_18))) ||
// always load two spawns inside lon lon
((sHorseSpawns[i].pos.x == 856 && sHorseSpawns[i].pos.y == 0 && sHorseSpawns[i].pos.z == -918) ||
(sHorseSpawns[i].pos.x == -1003 && sHorseSpawns[i].pos.y == 0 && sHorseSpawns[i].pos.z == -755))) {
@ -801,7 +798,7 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) {
if (Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1) != 0) {
this->stateFlags &= ~ENHORSE_CANT_JUMP;
this->stateFlags |= ENHORSE_FLAG_26;
} else if (GET_EVENTINF(EVENTINF_06) && this->type == HORSE_HNI) {
} else if (GET_EVENTINF(EVENTINF_HORSES_06) && this->type == HORSE_HNI) {
this->stateFlags |= ENHORSE_FLAG_21 | ENHORSE_FLAG_20;
}
} else if (this->actor.params == 1) {
@ -811,9 +808,7 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) {
}
}
if (globalCtx->sceneNum == SCENE_SPOT20 &&
((gSaveContext.eventInf[EVENTINF_0X_INDEX] & (EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK |
EVENTINF_03_MASK)) == (EVENTINF_01_MASK | EVENTINF_02_MASK)) &&
if (globalCtx->sceneNum == SCENE_SPOT20 && GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6 &&
!Flags_GetEventChkInf(EVENTCHKINF_18) && !DREG(1)) {
this->stateFlags |= ENHORSE_FLAG_25;
}
@ -879,7 +874,7 @@ void EnHorse_Init(Actor* thisx, GlobalContext* globalCtx2) {
if (this->rider == NULL) {
__assert("this->race.rider != NULL", "../z_en_horse.c", 3077);
}
if (!GET_EVENTINF(EVENTINF_06)) {
if (!GET_EVENTINF(EVENTINF_HORSES_06)) {
this->ingoHorseMaxSpeed = 12.07f;
} else {
this->ingoHorseMaxSpeed = 12.625f;

View file

@ -110,34 +110,22 @@ void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalConte
gSaveContext.cutsceneIndex = 0;
if (this->result == INGORACE_PLAYER_WIN) {
globalCtx->nextEntranceIndex = 0x4CE;
if (GET_EVENTINF(EVENTINF_06)) {
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
(EVENTINF_01_MASK | EVENTINF_02_MASK);
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
if (GET_EVENTINF(EVENTINF_HORSES_06)) {
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_6);
SET_EVENTINF_HORSES_0F(1);
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
Environment_ForcePlaySequence(NA_BGM_INGO);
} else {
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
EVENTINF_02_MASK;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_4);
SET_EVENTINF_HORSES_0F(1);
Environment_ForcePlaySequence(NA_BGM_INGO);
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
}
} else {
globalCtx->nextEntranceIndex = 0x558;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
(EVENTINF_00_MASK | EVENTINF_01_MASK);
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_3);
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
SET_EVENTINF_HORSES_0F(1);
}
DREG(25) = 0;
globalCtx->transitionTrigger = TRANS_TRIGGER_START;

View file

@ -141,9 +141,8 @@ u16 func_80A79010(GlobalContext* globalCtx) {
if (IS_NIGHT) {
return 0x204E;
}
switch (gSaveContext.eventInf[EVENTINF_0X_INDEX] &
(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) {
case EVENTINF_00_MASK:
switch (GET_EVENTINF_HORSES_STATE()) {
case EVENTINF_HORSES_STATE_1:
if (!(player->stateFlags1 & PLAYER_STATE1_23)) {
return 0x2036;
} else if (GET_EVENTCHKINF(EVENTCHKINF_1B)) {
@ -155,20 +154,20 @@ u16 func_80A79010(GlobalContext* globalCtx) {
} else {
return 0x2037;
}
case EVENTINF_00_MASK | EVENTINF_01_MASK:
if (GET_EVENTINF(EVENTINF_06) || GET_EVENTINF(EVENTINF_05)) {
case EVENTINF_HORSES_STATE_3:
if (GET_EVENTINF(EVENTINF_HORSES_06) || GET_EVENTINF(EVENTINF_HORSES_05)) {
return 0x203E;
} else {
return 0x203D;
}
case EVENTINF_02_MASK:
case EVENTINF_HORSES_STATE_4:
return 0x203A;
case EVENTINF_00_MASK | EVENTINF_02_MASK:
case EVENTINF_01_MASK | EVENTINF_02_MASK:
case EVENTINF_HORSES_STATE_5:
case EVENTINF_HORSES_STATE_6:
return 0x203C;
case EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK:
case EVENTINF_HORSES_STATE_7:
return 0x205B;
case EVENTINF_01_MASK:
case EVENTINF_HORSES_STATE_2:
default:
if (GET_INFTABLE(INFTABLE_9A)) {
return 0x2031;
@ -258,10 +257,9 @@ s16 func_80A7924C(GlobalContext* globalCtx, Actor* thisx) {
sp18 = 2;
} else {
Message_ContinueTextbox(globalCtx, this->actor.textId = 0x2039);
gSaveContext.eventInf[EVENTINF_0X_INDEX] &=
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK);
CLEAR_EVENTINF(EVENTINF_05);
CLEAR_EVENTINF(EVENTINF_06);
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_0);
CLEAR_EVENTINF(EVENTINF_HORSES_05);
CLEAR_EVENTINF(EVENTINF_HORSES_06);
this->actionFunc = func_80A7A4C8;
}
break;
@ -492,7 +490,7 @@ void EnIn_Init(Actor* thisx, GlobalContext* globalCtx) {
respawnPos = respawn->pos;
// hardcoded coords for lon lon entrance
if (D_80A7B998 == 0 && respawnPos.x == 1107.0f && respawnPos.y == 0.0f && respawnPos.z == -3740.0f) {
gSaveContext.eventInf[EVENTINF_0X_INDEX] = 0;
gSaveContext.eventInf[EVENTINF_HORSES_INDEX] = 0;
D_80A7B998 = 1;
}
this->actionFunc = func_80A79FB0;
@ -516,7 +514,7 @@ void func_80A79FB0(EnIn* this, GlobalContext* globalCtx) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, NULL, &sColChkInfoInit);
if (func_80A7975C(this, globalCtx)) {
CLEAR_EVENTINF(EVENTINF_0F);
SET_EVENTINF_HORSES_0F(0);
return;
}
Actor_SetScale(&this->actor, 0.01f);
@ -545,24 +543,23 @@ void func_80A79FB0(EnIn* this, GlobalContext* globalCtx) {
Actor_Kill(&this->actor);
break;
default:
switch (gSaveContext.eventInf[EVENTINF_0X_INDEX] &
(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) {
case 0:
case EVENTINF_01_MASK:
case EVENTINF_00_MASK | EVENTINF_01_MASK:
case EVENTINF_02_MASK:
case EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK:
switch (GET_EVENTINF_HORSES_STATE()) {
case EVENTINF_HORSES_STATE_0:
case EVENTINF_HORSES_STATE_2:
case EVENTINF_HORSES_STATE_3:
case EVENTINF_HORSES_STATE_4:
case EVENTINF_HORSES_STATE_7:
if (this->actor.params == 2) {
sp3C = 1;
}
break;
case EVENTINF_00_MASK:
case EVENTINF_HORSES_STATE_1:
if (this->actor.params == 3) {
sp3C = 1;
}
break;
case EVENTINF_00_MASK | EVENTINF_02_MASK:
case EVENTINF_01_MASK | EVENTINF_02_MASK:
case EVENTINF_HORSES_STATE_5:
case EVENTINF_HORSES_STATE_6:
if (this->actor.params == 4) {
sp3C = 1;
}
@ -572,37 +569,36 @@ void func_80A79FB0(EnIn* this, GlobalContext* globalCtx) {
Actor_Kill(&this->actor);
return;
}
switch (gSaveContext.eventInf[EVENTINF_0X_INDEX] &
(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) {
case 0:
case EVENTINF_01_MASK:
switch (GET_EVENTINF_HORSES_STATE()) {
case EVENTINF_HORSES_STATE_0:
case EVENTINF_HORSES_STATE_2:
EnIn_ChangeAnim(this, ENIN_ANIM_2);
this->actionFunc = func_80A7A4C8;
gSaveContext.eventInf[EVENTINF_0X_INDEX] = 0;
gSaveContext.eventInf[EVENTINF_HORSES_INDEX] = 0;
break;
case EVENTINF_00_MASK:
case EVENTINF_HORSES_STATE_1:
this->actor.targetMode = 3;
EnIn_ChangeAnim(this, ENIN_ANIM_2);
this->actionFunc = func_80A7A568;
func_80088B34(0x3C);
break;
case EVENTINF_00_MASK | EVENTINF_01_MASK:
case EVENTINF_HORSES_STATE_3:
EnIn_ChangeAnim(this, ENIN_ANIM_4);
this->actionFunc = func_80A7A770;
break;
case EVENTINF_02_MASK:
case EVENTINF_HORSES_STATE_4:
EnIn_ChangeAnim(this, ENIN_ANIM_6);
this->unk_1EC = 8;
this->actionFunc = func_80A7A940;
break;
case EVENTINF_00_MASK | EVENTINF_02_MASK:
case EVENTINF_01_MASK | EVENTINF_02_MASK:
case EVENTINF_HORSES_STATE_5:
case EVENTINF_HORSES_STATE_6:
this->actor.targetMode = 3;
EnIn_ChangeAnim(this, ENIN_ANIM_6);
this->unk_1EC = 8;
this->actionFunc = func_80A7AA40;
break;
case EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK:
case EVENTINF_HORSES_STATE_7:
EnIn_ChangeAnim(this, ENIN_ANIM_2);
this->actionFunc = func_80A7A848;
break;
@ -643,12 +639,8 @@ void func_80A7A4BC(EnIn* this, GlobalContext* globalCtx) {
void func_80A7A4C8(EnIn* this, GlobalContext* globalCtx) {
if (this->unk_308.unk_00 == 2) {
func_80A79BAC(this, globalCtx, 1, TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST));
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
EVENTINF_00_MASK;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_1);
SET_EVENTINF_HORSES_0F(1);
CLEAR_INFTABLE(INFTABLE_A2);
Environment_ForcePlaySequence(NA_BGM_HORSE);
globalCtx->msgCtx.stateTimer = 0;
@ -679,13 +671,8 @@ void func_80A7A568(EnIn* this, GlobalContext* globalCtx) {
this->unk_308.unk_00 = 0;
return;
}
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_04_MASK) |
(((EnHorse*)GET_PLAYER(globalCtx)->rideActor)->type << EVENTINF_04_SHIFT);
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
EVENTINF_01_MASK;
SET_EVENTINF_HORSES_HORSETYPE(((EnHorse*)GET_PLAYER(globalCtx)->rideActor)->type);
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_2);
phi_a2 = 2;
transitionType = TRANS_TYPE_FADE_BLACK;
} else {
@ -697,15 +684,13 @@ void func_80A7A568(EnIn* this, GlobalContext* globalCtx) {
SET_INFTABLE(INFTABLE_AB);
}
}
gSaveContext.eventInf[EVENTINF_0X_INDEX] &=
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK);
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_0);
phi_a2 = 0;
transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_BLACK, TCS_FAST);
}
func_80A79BAC(this, globalCtx, phi_a2, transitionType);
globalCtx->msgCtx.stateTimer = 0;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
SET_EVENTINF_HORSES_0F(1);
globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
this->unk_308.unk_00 = 0;
}
@ -719,14 +704,11 @@ void func_80A7A770(EnIn* this, GlobalContext* globalCtx) {
this->actor.flags &= ~ACTOR_FLAG_16;
EnIn_ChangeAnim(this, ENIN_ANIM_3);
this->actionFunc = func_80A7A848;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK);
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_7);
this->unk_308.unk_00 = 0;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & 0xFFFF) | EVENTINF_05_MASK;
if (!GET_EVENTINF(EVENTINF_06)) {
gSaveContext.eventInf[EVENTINF_HORSES_INDEX] =
(gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & 0xFFFF) | EVENTINF_HORSES_05_MASK;
if (!GET_EVENTINF(EVENTINF_HORSES_06)) {
globalCtx->msgCtx.stateTimer = 4;
globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
}
@ -736,23 +718,18 @@ void func_80A7A770(EnIn* this, GlobalContext* globalCtx) {
void func_80A7A848(EnIn* this, GlobalContext* globalCtx) {
if (this->unk_308.unk_00 == 2) {
if ((globalCtx->msgCtx.choiceIndex == 0 && gSaveContext.rupees < 50) || globalCtx->msgCtx.choiceIndex == 1) {
gSaveContext.eventInf[EVENTINF_0X_INDEX] &=
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK);
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_0);
this->actionFunc = func_80A7A4C8;
} else {
func_80A79BAC(this, globalCtx, 2, TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST));
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
EVENTINF_01_MASK;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_2);
SET_EVENTINF_HORSES_0F(1);
globalCtx->msgCtx.stateTimer = 0;
globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
}
this->unk_308.unk_00 = 0;
CLEAR_EVENTINF(EVENTINF_05);
CLEAR_EVENTINF(EVENTINF_06);
CLEAR_EVENTINF(EVENTINF_HORSES_05);
CLEAR_EVENTINF(EVENTINF_HORSES_06);
}
}
@ -770,17 +747,13 @@ void func_80A7A940(EnIn* this, GlobalContext* globalCtx) {
if (this->unk_308.unk_00 == 2) {
this->actor.flags &= ~ACTOR_FLAG_16;
func_80A79BAC(this, globalCtx, 2, TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST));
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) |
EVENTINF_01_MASK;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_2);
SET_EVENTINF_HORSES_0F(1);
globalCtx->msgCtx.stateTimer = 0;
globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
this->unk_308.unk_00 = 0;
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & 0xFFFF) | EVENTINF_06_MASK;
gSaveContext.eventInf[EVENTINF_HORSES_INDEX] =
(gSaveContext.eventInf[EVENTINF_HORSES_INDEX] & 0xFFFF) | EVENTINF_HORSES_06_MASK;
}
}
@ -925,11 +898,8 @@ void func_80A7B024(EnIn* this, GlobalContext* globalCtx) {
SET_INFTABLE(INFTABLE_AB);
}
func_80A79BAC(this, globalCtx, 0, TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST));
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
gSaveContext.eventInf[EVENTINF_0X_INDEX] &
~(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK);
gSaveContext.eventInf[EVENTINF_0X_INDEX] =
(gSaveContext.eventInf[EVENTINF_0X_INDEX] & ~EVENTINF_0F_MASK) | EVENTINF_0F_MASK;
SET_EVENTINF_HORSES_STATE(EVENTINF_HORSES_STATE_0);
SET_EVENTINF_HORSES_0F(1);
globalCtx->msgCtx.stateTimer = 4;
globalCtx->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
this->unk_308.unk_00 = 0;
@ -950,9 +920,7 @@ void EnIn_Update(Actor* thisx, GlobalContext* globalCtx) {
if (this->actionFunc != func_80A7A304) {
SkelAnime_Update(&this->skelAnime);
if (this->skelAnime.animation == &object_in_Anim_001BE0 &&
((gSaveContext.eventInf[EVENTINF_0X_INDEX] &
(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) !=
(EVENTINF_01_MASK | EVENTINF_02_MASK))) {
GET_EVENTINF_HORSES_STATE() != EVENTINF_HORSES_STATE_6) {
func_80A79690(&this->skelAnime, this, globalCtx);
}
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, UPDBGCHECKINFO_FLAG_2);

View file

@ -79,7 +79,7 @@ u16 func_80AA2AA0(GlobalContext* globalCtx, Actor* thisx) {
return 0x2000;
}
timer1ValuePtr = &gSaveContext.timer1Value;
if (GET_EVENTINF(EVENTINF_0A)) {
if (GET_EVENTINF(EVENTINF_HORSES_0A)) {
gSaveContext.timer1Value = gSaveContext.timer1Value;
thisx->flags |= ACTOR_FLAG_16;
if (gSaveContext.timer1Value >= 0xD3) {
@ -118,7 +118,7 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) {
gSaveContext.nextCutsceneIndex = 0xFFF0;
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_BLACK, TCS_FAST);
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
SET_EVENTINF(EVENTINF_0A);
SET_EVENTINF(EVENTINF_HORSES_0A);
gSaveContext.timer1State = 0xF;
}
break;
@ -150,7 +150,7 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) {
HIGH_SCORE(HS_HORSE_RACE) = gSaveContext.timer1Value;
}
case 0x208E:
CLEAR_EVENTINF(EVENTINF_0A);
CLEAR_EVENTINF(EVENTINF_HORSES_0A);
thisx->flags &= ~ACTOR_FLAG_16;
ret = 0;
gSaveContext.timer1State = 0xA;
@ -158,7 +158,7 @@ s16 func_80AA2BD4(GlobalContext* globalCtx, Actor* thisx) {
case 0x2002:
SET_INFTABLE(INFTABLE_B9);
case 0x2003:
if (!GET_EVENTINF(EVENTINF_0A)) {
if (!GET_EVENTINF(EVENTINF_HORSES_0A)) {
ret = 0;
}
break;
@ -200,7 +200,7 @@ s32 func_80AA2EC8(EnMa3* this, GlobalContext* globalCtx) {
if (!GET_EVENTCHKINF(EVENTCHKINF_18)) {
return 2;
}
if (GET_EVENTINF(EVENTINF_0A)) {
if (GET_EVENTINF(EVENTINF_HORSES_0A)) {
return 1;
}
return 0;

View file

@ -71,8 +71,8 @@ void func_80B13AA0(EnTa* this, EnTaActionFunc arg1, EnTaUnkFunc arg2) {
void func_80B13AAC(EnTa* this, GlobalContext* globalCtx) {
u16 faceReaction = Text_GetFaceReaction(globalCtx, 24);
if (GET_EVENTINF(EVENTINF_0A)) {
if (GET_EVENTINF(EVENTINF_08)) {
if (GET_EVENTINF(EVENTINF_HORSES_0A)) {
if (GET_EVENTINF(EVENTINF_HORSES_08)) {
if (GET_ITEMGETINF(ITEMGETINF_02)) {
this->actor.textId = 0x2088;
} else {
@ -81,7 +81,7 @@ void func_80B13AAC(EnTa* this, GlobalContext* globalCtx) {
} else {
this->actor.textId = 0x2085;
}
CLEAR_EVENTINF(EVENTINF_08);
CLEAR_EVENTINF(EVENTINF_HORSES_08);
} else if (faceReaction == 0) {
if (GET_INFTABLE(INFTABLE_7E)) {
if (GET_ITEMGETINF(ITEMGETINF_02)) {
@ -193,12 +193,12 @@ void EnTa_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->actor.world.pos.y + 40.0f, this->actor.world.pos.z - 30.0f, 0, 0, 0, 0xD);
func_80B13AAC(this, globalCtx);
if (GET_EVENTINF(EVENTINF_0A)) {
if (GET_EVENTINF(EVENTINF_HORSES_0A)) {
func_80B13AA0(this, func_80B16608, func_80B16938);
Animation_Change(&this->skelAnime, &gTalonSitWakeUpAnim, 1.0f,
Animation_GetLastFrame(&gTalonSitWakeUpAnim) - 1.0f,
Animation_GetLastFrame(&gTalonSitWakeUpAnim), ANIMMODE_ONCE, 0.0f);
CLEAR_EVENTINF(EVENTINF_0A);
CLEAR_EVENTINF(EVENTINF_HORSES_0A);
} else {
func_80B13AA0(this, func_80B16504, func_80B16854);
this->eyeIndex = 0;
@ -665,7 +665,7 @@ void func_80B15424(EnTa* this, GlobalContext* globalCtx) {
if ((Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(globalCtx)) {
globalCtx->nextEntranceIndex = 0x5E4;
if (GET_EVENTINF(EVENTINF_08)) {
if (GET_EVENTINF(EVENTINF_HORSES_08)) {
globalCtx->transitionType = TRANS_TYPE_CIRCLE(TCA_STARBURST, TCC_WHITE, TCS_FAST);
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
} else {
@ -674,7 +674,7 @@ void func_80B15424(EnTa* this, GlobalContext* globalCtx) {
}
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
SET_EVENTINF(EVENTINF_0A);
SET_EVENTINF(EVENTINF_HORSES_0A);
this->actionFunc = func_80B153D4;
this->unk_2CC = 22;
}
@ -708,7 +708,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) {
-10.0f);
this->unk_2E0 &= ~0x10;
this->unk_2E0 &= ~0x100;
SET_EVENTINF(EVENTINF_08);
SET_EVENTINF(EVENTINF_HORSES_08);
Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_STOP);
this->unk_2E0 &= ~0x200;
Audio_PlayFanfare(NA_BGM_SMALL_ITEM_GET);
@ -746,7 +746,7 @@ void func_80B154FC(EnTa* this, GlobalContext* globalCtx) {
Message_StartTextbox(globalCtx, 0x2081, &this->actor);
this->actionFunc = func_80B15424;
func_80B14E28(this, globalCtx);
CLEAR_EVENTINF(EVENTINF_08);
CLEAR_EVENTINF(EVENTINF_HORSES_08);
this->unk_2E0 |= 0x80;
Animation_Change(&this->skelAnime, &gTalonSitHandsUpAnim, 1.0f, 8.0f, 29.0f, ANIMMODE_ONCE, -10.0f);
this->unk_2E0 &= ~0x10;

View file

@ -81,8 +81,7 @@ void OceffSpot_End(OceffSpot* this, GlobalContext* globalCtx) {
} else {
Actor_Kill(&this->actor);
if (gTimeIncrement != 400 && globalCtx->msgCtx.unk_E40E == 0 &&
((gSaveContext.eventInf[EVENTINF_0X_INDEX] &
(EVENTINF_00_MASK | EVENTINF_01_MASK | EVENTINF_02_MASK | EVENTINF_03_MASK)) != EVENTINF_00_MASK)) {
GET_EVENTINF_HORSES_STATE() != EVENTINF_HORSES_STATE_1) {
if (globalCtx->msgCtx.ocarinaAction != OCARINA_ACTION_CHECK_NOWARP_DONE ||
globalCtx->msgCtx.ocarinaMode != OCARINA_MODE_08) {
gSaveContext.sunsSongState = SUNSSONG_START;