mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
Document Talon (En_Ta) (#1348)
* Rename flags related to Talon * Document Talon (ovl_En_Ta) * Formatting * ovl_En_Ta review fixes * Add horse eventinf flag usage comments * Rename TALON_STATE_FLAG_3 * Review fixes * More review fixes * Fix super-cucco zero-gravity time comment * Fix formatting * Talon review comment fixes * Review comment fixes * Rename waking up action funcs
This commit is contained in:
parent
9675051377
commit
b806ac0191
26 changed files with 642 additions and 500 deletions
|
@ -45,7 +45,7 @@ void BgInGate_Init(Actor* thisx, PlayState* play) {
|
|||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
|
||||
if ((play->sceneId != SCENE_SPOT20 || !LINK_IS_ADULT) ||
|
||||
(GET_EVENTCHKINF(EVENTCHKINF_18) && (gSaveContext.cutsceneIndex != 0xFFF0))) {
|
||||
(GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (gSaveContext.cutsceneIndex != 0xFFF0))) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ s32 func_808B3AAC(BgSpot15Rrbox* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (rotY < 0x2000 && rotY > -0x6000) {
|
||||
return GET_EVENTCHKINF(EVENTCHKINF_14);
|
||||
return GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ void BgUmaJump_Init(Actor* thisx, PlayState* play) {
|
|||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
|
||||
if (this->dyna.actor.params == 1) {
|
||||
if (!Flags_GetEventChkInf(EVENTCHKINF_18) && (DREG(1) == 0)) {
|
||||
if (!Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && (DREG(1) == 0)) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -197,7 +197,7 @@ void EnDoor_SetupType(EnDoor* this, PlayState* play) {
|
|||
}
|
||||
} else if (doorType == DOOR_CHECKABLE) {
|
||||
this->actor.textId = ENDOOR_GET_CHECKABLE_TEXT_ID(&this->actor) + 0x0200;
|
||||
if (this->actor.textId == 0x0229 && !GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if (this->actor.textId == 0x0229 && !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
// Talon's house door. If Talon has not been woken up at Hyrule Castle
|
||||
// this door should be openable at any time of day.
|
||||
// Note that there is no check for time of day, as the night layers for Lon Lon
|
||||
|
|
|
@ -316,7 +316,7 @@ void EnGirlA_SetupAction(EnGirlA* this, EnGirlAActionFunc func) {
|
|||
s32 EnGirlA_TryChangeShopItem(EnGirlA* this) {
|
||||
switch (this->actor.params) {
|
||||
case SI_MILK_BOTTLE:
|
||||
if (GET_ITEMGETINF(ITEMGETINF_02)) {
|
||||
if (GET_ITEMGETINF(ITEMGETINF_TALON_BOTTLE)) {
|
||||
this->actor.params = SI_RECOVERY_HEART;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -682,8 +682,9 @@ s32 EnHorse_Spawn(EnHorse* this, PlayState* play) {
|
|||
player = GET_PLAYER(play);
|
||||
if (play->sceneId != SCENE_SPOT20 ||
|
||||
//! Same flag checked twice
|
||||
(Flags_GetEventChkInf(EVENTCHKINF_18) &&
|
||||
(GET_EVENTINF_HORSES_STATE() != EVENTINF_HORSES_STATE_6 || Flags_GetEventChkInf(EVENTCHKINF_18))) ||
|
||||
(Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) &&
|
||||
(GET_EVENTINF_HORSES_STATE() != EVENTINF_HORSES_STATE_6 ||
|
||||
Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED))) ||
|
||||
// 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))) {
|
||||
|
@ -794,7 +795,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
this->stateFlags = ENHORSE_FLAG_19 | ENHORSE_CANT_JUMP | ENHORSE_UNRIDEABLE;
|
||||
} else if (this->actor.params == 6) {
|
||||
this->stateFlags = ENHORSE_FLAG_19 | ENHORSE_CANT_JUMP;
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1) != 0) {
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || DREG(1) != 0) {
|
||||
this->stateFlags &= ~ENHORSE_CANT_JUMP;
|
||||
this->stateFlags |= ENHORSE_FLAG_26;
|
||||
} else if (GET_EVENTINF(EVENTINF_HORSES_06) && this->type == HORSE_HNI) {
|
||||
|
@ -808,7 +809,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
|
||||
if (play->sceneId == SCENE_SPOT20 && GET_EVENTINF_HORSES_STATE() == EVENTINF_HORSES_STATE_6 &&
|
||||
!Flags_GetEventChkInf(EVENTCHKINF_18) && !DREG(1)) {
|
||||
!Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && !DREG(1)) {
|
||||
this->stateFlags |= ENHORSE_FLAG_25;
|
||||
}
|
||||
|
||||
|
@ -834,7 +835,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_18)) {
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
@ -842,12 +843,12 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
} else if (!Flags_GetEventChkInf(EVENTCHKINF_18) && !DREG(1) && !IS_DAY) {
|
||||
} else if (!Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && !DREG(1) && !IS_DAY) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_MALON_STABLE) {
|
||||
if (IS_DAY || Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1) != 0 || !LINK_IS_ADULT) {
|
||||
if (IS_DAY || Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || DREG(1) != 0 || !LINK_IS_ADULT) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
@ -882,7 +883,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
} else if (this->actor.params == 8) {
|
||||
EnHorse_InitHorsebackArchery(this);
|
||||
Interface_InitHorsebackArchery(play);
|
||||
} else if (play->sceneId == SCENE_SPOT20 && !Flags_GetEventChkInf(EVENTCHKINF_18) && !DREG(1)) {
|
||||
} else if (play->sceneId == SCENE_SPOT20 && !Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) && !DREG(1)) {
|
||||
EnHorse_InitFleePlayer(this);
|
||||
} else {
|
||||
if (play->sceneId == SCENE_SOUKO) {
|
||||
|
|
|
@ -444,7 +444,7 @@ void EnHorseGameCheck_Init(Actor* thisx, PlayState* play) {
|
|||
s32 pad;
|
||||
EnHorseGameCheckBase* this = (EnHorseGameCheckBase*)thisx;
|
||||
|
||||
if ((play->sceneId == SCENE_SPOT20) && (Flags_GetEventChkInf(EVENTCHKINF_18) || DREG(1))) {
|
||||
if ((play->sceneId == SCENE_SPOT20) && (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || DREG(1))) {
|
||||
this->actor.params = HORSEGAME_MALON_RACE;
|
||||
}
|
||||
if (sInitFuncs[this->actor.params] != NULL) {
|
||||
|
|
|
@ -165,7 +165,7 @@ void EnHorseLinkChild_Init(Actor* thisx, PlayState* play) {
|
|||
if (IS_CUTSCENE_LAYER) {
|
||||
func_80A69EC0(this);
|
||||
} else if (play->sceneId == SCENE_SPOT20) {
|
||||
if (!Flags_GetEventChkInf(EVENTCHKINF_14)) {
|
||||
if (!Flags_GetEventChkInf(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -207,7 +207,7 @@ void EnHorseNormal_Init(Actor* thisx, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
if (!LINK_IS_ADULT) {
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_14)) {
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
if (this->actor.world.rot.z != 3) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
|
@ -216,7 +216,7 @@ void EnHorseNormal_Init(Actor* thisx, PlayState* play) {
|
|||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
} else if (Flags_GetEventChkInf(EVENTCHKINF_18) || (DREG(1) != 0)) {
|
||||
} else if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || (DREG(1) != 0)) {
|
||||
if (this->actor.world.rot.z != 7) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
|
|
|
@ -429,7 +429,9 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
|
|||
switch (this->actor.params & 0x7F) {
|
||||
case ENHY_TYPE_AOB:
|
||||
if (play->sceneId == SCENE_KAKARIKO) {
|
||||
return (this->unk_330 & EVENTCHKINF_6B_MASK) ? 0x508D : (GET_INFTABLE(INFTABLE_CB) ? 0x508C : 0x508B);
|
||||
return (this->unk_330 & EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO_MASK)
|
||||
? 0x508D
|
||||
: (GET_INFTABLE(INFTABLE_CB) ? 0x508C : 0x508B);
|
||||
} else if (play->sceneId == SCENE_MARKET_DAY) {
|
||||
return GET_EVENTINF(EVENTINF_30) ? 0x709B : 0x709C;
|
||||
} else if (gSaveContext.dogIsLost) {
|
||||
|
@ -457,7 +459,7 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
|
|||
return 0x5085;
|
||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_80)) {
|
||||
return GET_INFTABLE(INFTABLE_C3) ? 0x701A : 0x7047;
|
||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 0x701A;
|
||||
} else if (GET_EVENTCHKINF(EVENTCHKINF_10)) {
|
||||
return 0x701B;
|
||||
|
@ -537,7 +539,9 @@ u16 func_80A6F810(PlayState* play, Actor* thisx) {
|
|||
if (!LINK_IS_ADULT) {
|
||||
return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x505F : (GET_INFTABLE(INFTABLE_163) ? 0x505E : 0x505D);
|
||||
} else {
|
||||
return (this->unk_330 & EVENTCHKINF_6B_MASK) ? 0x5062 : (GET_INFTABLE(INFTABLE_164) ? 0x5061 : 0x5060);
|
||||
return (this->unk_330 & EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO_MASK)
|
||||
? 0x5062
|
||||
: (GET_INFTABLE(INFTABLE_164) ? 0x5061 : 0x5060);
|
||||
}
|
||||
case ENHY_TYPE_BJI_19:
|
||||
return 0x7120;
|
||||
|
@ -909,7 +913,7 @@ void EnHy_InitImpl(EnHy* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (play->sceneId == SCENE_KAKARIKO) {
|
||||
this->unk_330 = gSaveContext.eventChkInf[EVENTCHKINF_6B_INDEX];
|
||||
this->unk_330 = gSaveContext.eventChkInf[EVENTCHKINF_TALON_RETURNED_FROM_KAKARIKO_INDEX];
|
||||
}
|
||||
|
||||
EnHy_InitSetProperties(this);
|
||||
|
|
|
@ -110,7 +110,7 @@ static Gfx* sAdultEraDLs[] = {
|
|||
};
|
||||
|
||||
u16 func_80A78FB0(PlayState* play) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
if (GET_INFTABLE(INFTABLE_97)) {
|
||||
return 0x2046;
|
||||
} else {
|
||||
|
@ -131,7 +131,7 @@ u16 func_80A79010(PlayState* play) {
|
|||
if (temp_v0 != 0) {
|
||||
return temp_v0;
|
||||
}
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
if (IS_DAY) {
|
||||
return 0x205F;
|
||||
} else {
|
||||
|
@ -364,34 +364,34 @@ s32 func_80A7975C(EnIn* this, PlayState* play) {
|
|||
|
||||
s32 func_80A79830(EnIn* this, PlayState* play) {
|
||||
if (play->sceneId == SCENE_SPOT20 && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 1 &&
|
||||
!GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 1;
|
||||
}
|
||||
if (play->sceneId == SCENE_MALON_STABLE && LINK_IS_CHILD && IS_DAY && this->actor.shape.rot.z == 3 &&
|
||||
GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 1;
|
||||
}
|
||||
if (play->sceneId == SCENE_MALON_STABLE && LINK_IS_CHILD && IS_NIGHT) {
|
||||
if ((this->actor.shape.rot.z == 2) && !GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if ((this->actor.shape.rot.z == 2) && !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 1;
|
||||
}
|
||||
if ((this->actor.shape.rot.z == 4) && GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if ((this->actor.shape.rot.z == 4) && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (play->sceneId == SCENE_SPOT20 && LINK_IS_ADULT && IS_DAY) {
|
||||
if ((this->actor.shape.rot.z == 5) && !GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if ((this->actor.shape.rot.z == 5) && !GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
return 2;
|
||||
}
|
||||
if ((this->actor.shape.rot.z == 7) && GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if ((this->actor.shape.rot.z == 7) && GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
if (play->sceneId == SCENE_SOUKO && LINK_IS_ADULT && IS_NIGHT) {
|
||||
if (this->actor.shape.rot.z == 6 && !GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (this->actor.shape.rot.z == 6 && !GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
return 3;
|
||||
}
|
||||
if (this->actor.shape.rot.z == 8 && GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (this->actor.shape.rot.z == 8 && GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
@ -530,7 +530,7 @@ void func_80A79FB0(EnIn* this, PlayState* play) {
|
|||
case 3:
|
||||
EnIn_ChangeAnim(this, ENIN_ANIM_7);
|
||||
this->actionFunc = func_80A7A4BC;
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
this->actor.params = 5;
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -107,7 +107,7 @@ u16 EnMa1_GetText(PlayState* play, Actor* thisx) {
|
|||
return 0x2048;
|
||||
}
|
||||
}
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 0x2047;
|
||||
}
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_12)) {
|
||||
|
@ -188,10 +188,10 @@ s32 func_80AA08C4(EnMa1* this, PlayState* play) {
|
|||
return 0;
|
||||
}
|
||||
if (((play->sceneId == SCENE_MARKET_NIGHT) || (play->sceneId == SCENE_MARKET_DAY)) &&
|
||||
!GET_EVENTCHKINF(EVENTCHKINF_14) && !GET_INFTABLE(INFTABLE_8B)) {
|
||||
!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) && !GET_INFTABLE(INFTABLE_8B)) {
|
||||
return 1;
|
||||
}
|
||||
if ((play->sceneId == SCENE_SPOT15) && !GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if ((play->sceneId == SCENE_SPOT15) && !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
if (GET_INFTABLE(INFTABLE_8B)) {
|
||||
return 1;
|
||||
} else {
|
||||
|
@ -199,13 +199,13 @@ s32 func_80AA08C4(EnMa1* this, PlayState* play) {
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
if ((play->sceneId == SCENE_SOUKO) && IS_NIGHT && GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if ((play->sceneId == SCENE_SOUKO) && IS_NIGHT && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 1;
|
||||
}
|
||||
if (play->sceneId != SCENE_SPOT20) {
|
||||
return 0;
|
||||
}
|
||||
if ((this->actor.shape.rot.z == 3) && IS_DAY && GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if ((this->actor.shape.rot.z == 3) && IS_DAY && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -282,7 +282,7 @@ void EnMa1_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.targetMode = 6;
|
||||
this->unk_1E8.unk_00 = 0;
|
||||
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_14) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||
this->actionFunc = func_80AA0D88;
|
||||
EnMa1_ChangeAnim(this, ENMA1_ANIM_2);
|
||||
} else {
|
||||
|
@ -309,9 +309,9 @@ void func_80AA0D88(EnMa1* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
if ((play->sceneId == SCENE_SPOT15) && GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if ((play->sceneId == SCENE_SPOT15) && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
Actor_Kill(&this->actor);
|
||||
} else if (!GET_EVENTCHKINF(EVENTCHKINF_14) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||
} else if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) {
|
||||
if (this->unk_1E8.unk_00 == 2) {
|
||||
this->actionFunc = func_80AA0EA0;
|
||||
play->msgCtx.stateTimer = 4;
|
||||
|
|
|
@ -74,7 +74,7 @@ u16 func_80AA19A0(PlayState* play, Actor* thisx) {
|
|||
if (faceReaction != 0) {
|
||||
return faceReaction;
|
||||
}
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
return 0x2056;
|
||||
}
|
||||
if (IS_NIGHT) {
|
||||
|
@ -141,15 +141,15 @@ u16 func_80AA1B58(EnMa2* this, PlayState* play) {
|
|||
if (LINK_IS_CHILD) {
|
||||
return 0;
|
||||
}
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_18) && (play->sceneId == SCENE_MALON_STABLE) && IS_DAY &&
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_MALON_STABLE) && IS_DAY &&
|
||||
(this->actor.shape.rot.z == 5)) {
|
||||
return 1;
|
||||
}
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_18) && (play->sceneId == SCENE_SPOT20) && IS_NIGHT &&
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (play->sceneId == SCENE_SPOT20) && IS_NIGHT &&
|
||||
(this->actor.shape.rot.z == 6)) {
|
||||
return 2;
|
||||
}
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_18) || (play->sceneId != SCENE_SPOT20)) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) || (play->sceneId != SCENE_SPOT20)) {
|
||||
return 0;
|
||||
}
|
||||
if ((this->actor.shape.rot.z == 7) && IS_DAY) {
|
||||
|
|
|
@ -201,7 +201,7 @@ s32 func_80AA2EC8(EnMa3* this, PlayState* play) {
|
|||
if (LINK_IS_CHILD) {
|
||||
return 2;
|
||||
}
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
return 2;
|
||||
}
|
||||
if (GET_EVENTINF(EVENTINF_HORSES_0A)) {
|
||||
|
|
|
@ -188,22 +188,22 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
|
|||
}
|
||||
break;
|
||||
case 1:
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_14)) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -342,7 +342,7 @@ void func_80ABA778(EnNiwLady* this, PlayState* play) {
|
|||
this->unk_27A = 2;
|
||||
if (!GET_ITEMGETINF(ITEMGETINF_2E)) {
|
||||
this->unk_27A = 3;
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_6A)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_WOKEN_IN_KAKARIKO)) {
|
||||
this->unk_27A = 9;
|
||||
if (this->unk_277 != 0) {
|
||||
this->unk_27A = 10;
|
||||
|
@ -365,7 +365,7 @@ void func_80ABA878(EnNiwLady* this, PlayState* play) {
|
|||
}
|
||||
if (Actor_ProcessTalkRequest(&this->actor, play)) {
|
||||
playerExchangeItemId = func_8002F368(play);
|
||||
if ((playerExchangeItemId == EXCH_ITEM_POCKET_CUCCO) && GET_EVENTCHKINF(EVENTCHKINF_6A)) {
|
||||
if ((playerExchangeItemId == EXCH_ITEM_POCKET_CUCCO) && GET_EVENTCHKINF(EVENTCHKINF_TALON_WOKEN_IN_KAKARIKO)) {
|
||||
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
player->actor.textId = sTradeItemTextIds[5];
|
||||
this->unk_26E = this->unk_27A + 21;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -9,31 +9,60 @@
|
|||
struct EnTa;
|
||||
|
||||
typedef void (*EnTaActionFunc)(struct EnTa*, PlayState*);
|
||||
typedef void (*EnTaUnkFunc)(struct EnTa*);
|
||||
typedef void (*EnTaBlinkFunc)(struct EnTa*);
|
||||
typedef void (*EnTaAnimFunc)(struct EnTa*);
|
||||
|
||||
typedef enum {
|
||||
/* 0xFFFF */ ENTA_CHILD_ERA = -1,
|
||||
/* 0x0001 */ ENTA_IN_KAKARIKO = 1,
|
||||
/* 0x0002 */ ENTA_RETURNED_FROM_KAKARIKO
|
||||
} EnTaType;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ ENTA_LIMB_NONE,
|
||||
/* 0x01 */ ENTA_LIMB_ROOT,
|
||||
/* 0x02 */ ENTA_LIMB_LEFT_THIGH,
|
||||
/* 0x03 */ ENTA_LIMB_LEFT_LEG,
|
||||
/* 0x04 */ ENTA_LIMB_LEFT_FOOT,
|
||||
/* 0x05 */ ENTA_LIMB_RIGHT_THIGH,
|
||||
/* 0x06 */ ENTA_LIMB_RIGHT_LEG,
|
||||
/* 0x07 */ ENTA_LIMB_RIGHT_FOOT,
|
||||
/* 0x08 */ ENTA_LIMB_CHEST,
|
||||
/* 0x09 */ ENTA_LIMB_LEFT_SHOULDER,
|
||||
/* 0x0A */ ENTA_LIMB_LEFT_ARM,
|
||||
/* 0x0B */ ENTA_LIMB_LEFT_HAND,
|
||||
/* 0x0C */ ENTA_LIMB_RIGHT_SHOULDER,
|
||||
/* 0x0D */ ENTA_LIMB_RIGHT_ARM,
|
||||
/* 0x0E */ ENTA_LIMB_RIGHT_HAND,
|
||||
/* 0x0F */ ENTA_LIMB_HEAD,
|
||||
/* 0x10 */ ENTA_LIMB_TORSO,
|
||||
/* 0x11 */ ENTA_LIMB_MAX
|
||||
} EnTaLimb;
|
||||
|
||||
typedef struct EnTa {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ Vec3s jointTable[17];
|
||||
/* 0x01F6 */ Vec3s morphTable[17];
|
||||
/* 0x0190 */ Vec3s jointTable[ENTA_LIMB_MAX];
|
||||
/* 0x01F6 */ Vec3s morphTable[ENTA_LIMB_MAX];
|
||||
/* 0x025C */ EnTaActionFunc actionFunc;
|
||||
/* 0x0260 */ EnTaUnkFunc unk_260;
|
||||
/* 0x0260 */ EnTaAnimFunc animFunc;
|
||||
/* 0x0264 */ ColliderCylinder collider;
|
||||
/* 0x02B0 */ EnTaUnkFunc unk_2B0;
|
||||
/* 0x02B0 */ EnTaBlinkFunc blinkFunc;
|
||||
/* 0x02B4 */ s16 eyeIndex;
|
||||
/* 0x02B6 */ s16 blinkTimer;
|
||||
/* 0x02B8 */ EnNiw* superCuccos[3];
|
||||
/* 0x02C4 */ s16 unk_2C4[3];
|
||||
/* 0x02CA */ u8 unk_2CA;
|
||||
/* 0x02CC */ s16 unk_2CC;
|
||||
/* 0x02CE */ s16 unk_2CE;
|
||||
/* 0x02C4 */ s16 superCuccoTimers[3]; // This is used to time animations and actions for super-cuccos
|
||||
/* 0x02CA */ u8 lastFoundSuperCuccoIdx;
|
||||
/* 0x02CC */ s16 timer;
|
||||
/* 0x02CE */ s16 rapidBlinks;
|
||||
/* 0x02D0 */ s16 subCamId;
|
||||
/* 0x02D2 */ s16 returnToCamId;
|
||||
/* 0x02D4 */ Vec3s unk_2D4;
|
||||
/* 0x02DA */ Vec3s unk_2DA;
|
||||
/* 0x02E0 */ u16 unk_2E0;
|
||||
/* 0x02E2 */ s16 unk_2E2;
|
||||
/* 0x02D4 */ Vec3s headRot;
|
||||
/* 0x02DA */ Vec3s torsoRot;
|
||||
/* 0x02E0 */ u16 stateFlags;
|
||||
/* 0x02E2 */ s16 nodOffTimer;
|
||||
/* 0x02E4 */ AnimationHeader* currentAnimation;
|
||||
} EnTa; // size = 0x02E8
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -66,7 +66,7 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
|
|||
osSyncPrintf("\n\n");
|
||||
// "☆☆☆☆☆ Cloudy (._.) Ah Melancholy ☆☆☆☆☆"
|
||||
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ くもり (._.) あーあ 憂鬱 ☆☆☆☆☆ \n" VT_RST);
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_18)) {
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
}
|
||||
EnWeatherTag_SetupAction(this, EnWeatherTag_DisabledCloudyLonLonRanch);
|
||||
|
|
|
@ -11840,7 +11840,7 @@ void func_8084D3E4(Player* this, PlayState* play) {
|
|||
this->actor.parent = NULL;
|
||||
AREG(6) = 0;
|
||||
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_18) || (DREG(1) != 0)) {
|
||||
if (Flags_GetEventChkInf(EVENTCHKINF_EPONA_OBTAINED) || (DREG(1) != 0)) {
|
||||
gSaveContext.horseData.pos.x = rideActor->actor.world.pos.x;
|
||||
gSaveContext.horseData.pos.y = rideActor->actor.world.pos.y;
|
||||
gSaveContext.horseData.pos.z = rideActor->actor.world.pos.z;
|
||||
|
|
|
@ -2708,11 +2708,11 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
pauseCtx->worldMapPoints[4] = 1;
|
||||
}
|
||||
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_6A)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_TALON_WOKEN_IN_KAKARIKO)) {
|
||||
pauseCtx->worldMapPoints[4] = 2;
|
||||
}
|
||||
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_18)) {
|
||||
if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) {
|
||||
pauseCtx->worldMapPoints[4] = 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue