1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-06-08 09:31:52 +00:00
This commit is contained in:
Jordan Longstaff 2025-06-08 00:27:16 +09:00 committed by GitHub
commit 20ea5d3180
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -90,26 +90,81 @@ void EnRu1_DrawNothing(EnRu1* this, PlayState* play);
void EnRu1_DrawOpa(EnRu1* this, PlayState* play); void EnRu1_DrawOpa(EnRu1* this, PlayState* play);
void EnRu1_DrawXlu(EnRu1* this, PlayState* play); void EnRu1_DrawXlu(EnRu1* this, PlayState* play);
typedef enum EnRu1Action {
/* 0 */ ENRU1_ACTION_00,
/* 1 */ ENRU1_ACTION_01,
/* 2 */ ENRU1_ACTION_02,
/* 3 */ ENRU1_ACTION_03,
/* 4 */ ENRU1_ACTION_04,
/* 5 */ ENRU1_ACTION_05,
/* 6 */ ENRU1_ACTION_06,
/* 7 */ ENRU1_ACTION_07,
/* 8 */ ENRU1_ACTION_08,
/* 9 */ ENRU1_ACTION_09,
/* 10 */ ENRU1_ACTION_10,
/* 11 */ ENRU1_ACTION_11,
/* 12 */ ENRU1_ACTION_12,
/* 13 */ ENRU1_ACTION_13,
/* 14 */ ENRU1_ACTION_14,
/* 15 */ ENRU1_ACTION_15,
/* 16 */ ENRU1_ACTION_16,
/* 17 */ ENRU1_ACTION_17,
/* 18 */ ENRU1_ACTION_18,
/* 19 */ ENRU1_ACTION_19,
/* 20 */ ENRU1_ACTION_20,
/* 21 */ ENRU1_ACTION_21,
/* 22 */ ENRU1_ACTION_22,
/* 23 */ ENRU1_ACTION_23,
/* 24 */ ENRU1_ACTION_24,
/* 25 */ ENRU1_ACTION_25,
/* 26 */ ENRU1_ACTION_26,
/* 27 */ ENRU1_ACTION_27,
/* 28 */ ENRU1_ACTION_28,
/* 29 */ ENRU1_ACTION_29,
/* 30 */ ENRU1_ACTION_30,
/* 31 */ ENRU1_ACTION_31,
/* 32 */ ENRU1_ACTION_32,
/* 33 */ ENRU1_ACTION_33,
/* 34 */ ENRU1_ACTION_34,
/* 35 */ ENRU1_ACTION_35,
/* 36 */ ENRU1_ACTION_36,
/* 37 */ ENRU1_ACTION_37,
/* 38 */ ENRU1_ACTION_38,
/* 39 */ ENRU1_ACTION_39,
/* 40 */ ENRU1_ACTION_40,
/* 41 */ ENRU1_ACTION_41,
/* 42 */ ENRU1_ACTION_42,
/* 43 */ ENRU1_ACTION_43,
/* 44 */ ENRU1_ACTION_44,
/* 45 */ ENRU1_ACTION_45
} EnRu1Action;
typedef enum EnRu1DrawConfig {
/* 0 */ ENRU1_DRAW_NOTHING,
/* 1 */ ENRU1_DRAW_OPA,
/* 2 */ ENRU1_DRAW_XLU
} EnRu1DrawConfig;
typedef enum EnRu1Eyes { typedef enum EnRu1Eyes {
/* 0 */ ENRU1_EYES_OPEN, /* 0 */ ENRU1_EYES_OPEN,
/* 1 */ ENRU1_EYES_HALF_BLINK, /* 1 */ ENRU1_EYES_HALF_BLINK,
/* 2 */ ENRU1_EYES_CLOSED, /* 2 */ ENRU1_EYES_CLOSED,
/* 3 */ ENRU1_EYES_UP, /* 3 */ ENRU1_EYES_UP,
/* 4 */ ENRU1_EYES_GAZING, /* 4 */ ENRU1_EYES_GAZING,
/* 5 */ ENRU1_EYES_BLUSH, /* 5 */ ENRU1_EYES_BLUSH
} EnRu1Eyes; } EnRu1Eyes;
typedef enum EnRu1Mouth { typedef enum EnRu1Mouth {
/* 0 */ ENRU1_MOUTH_SMILING, /* 0 */ ENRU1_MOUTH_SMILING,
/* 1 */ ENRU1_MOUTH_FROWNING, /* 1 */ ENRU1_MOUTH_FROWNING,
/* 2 */ ENRU1_MOUTH_OPEN, /* 2 */ ENRU1_MOUTH_OPEN
} EnRu1Mouth; } EnRu1Mouth;
typedef enum EnRu1WaterState { typedef enum EnRu1WaterState {
/* 0 */ ENRU1_WATER_OUTSIDE, /* 0 */ ENRU1_WATER_OUTSIDE,
/* 1 */ ENRU1_WATER_IMMERSED, /* 1 */ ENRU1_WATER_IMMERSED,
/* 2 */ ENRU1_WATER_BOBBING, /* 2 */ ENRU1_WATER_BOBBING,
/* 3 */ ENRU1_WATER_SINKING, /* 3 */ ENRU1_WATER_SINKING
} EnRu1WaterState; } EnRu1WaterState;
static ColliderCylinderInitType1 sStandingCylinderInit = { static ColliderCylinderInitType1 sStandingCylinderInit = {
@ -325,7 +380,8 @@ s32 func_80AEB020(EnRu1* this, PlayState* play) {
if (actorIt->id == ACTOR_EN_RU1) { if (actorIt->id == ACTOR_EN_RU1) {
someEnRu1 = (EnRu1*)actorIt; someEnRu1 = (EnRu1*)actorIt;
if (someEnRu1 != this) { if (someEnRu1 != this) {
if ((someEnRu1->action == 31) || (someEnRu1->action == 32) || (someEnRu1->action == 24)) { if ((someEnRu1->action == ENRU1_ACTION_31) || (someEnRu1->action == ENRU1_ACTION_32) ||
(someEnRu1->action == ENRU1_ACTION_24)) {
return true; return true;
} }
} }
@ -385,8 +441,8 @@ s32 func_80AEB1B4(PlayState* play) {
#if DEBUG_FEATURES #if DEBUG_FEATURES
void func_80AEB1D8(EnRu1* this) { void func_80AEB1D8(EnRu1* this) {
this->action = 36; this->action = ENRU1_ACTION_36;
this->drawConfig = 0; this->drawConfig = ENRU1_DRAW_NOTHING;
this->actor.velocity.x = 0.0f; this->actor.velocity.x = 0.0f;
this->actor.velocity.y = 0.0f; this->actor.velocity.y = 0.0f;
this->actor.velocity.z = 0.0f; this->actor.velocity.z = 0.0f;
@ -426,7 +482,7 @@ void EnRu1_AnimationChange(EnRu1* this, AnimationHeader* animation, u8 mode, f32
s32 EnRu1_UpdateSkelAnime(EnRu1* this) { s32 EnRu1_UpdateSkelAnime(EnRu1* this) {
// why? // why?
if (this->action != 32) { if (this->action != ENRU1_ACTION_32) {
return SkelAnime_Update(&this->skelAnime); return SkelAnime_Update(&this->skelAnime);
} else { } else {
return SkelAnime_Update(&this->skelAnime); return SkelAnime_Update(&this->skelAnime);
@ -449,8 +505,8 @@ void func_80AEB3CC(EnRu1* this) {
void EnRu1_InitOutsideJabuJabu(EnRu1* this, PlayState* play) { void EnRu1_InitOutsideJabuJabu(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWaitHandsBehindBackAnim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWaitHandsBehindBackAnim, ANIMMODE_LOOP, 0, false);
this->action = 0; this->action = ENRU1_ACTION_00;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
EnRu1_SetEyes(this, ENRU1_EYES_GAZING); EnRu1_SetEyes(this, ENRU1_EYES_GAZING);
EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING); EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING);
} }
@ -653,8 +709,8 @@ void func_80AEBCB8(EnRu1* this, UNK_TYPE arg1) {
void func_80AEBD1C(EnRu1* this, PlayState* play) { void func_80AEBD1C(EnRu1* this, PlayState* play) {
if (func_80AEB480(play, 2)) { if (func_80AEB480(play, 2)) {
this->action = 1; this->action = ENRU1_ACTION_01;
this->drawConfig = 0; this->drawConfig = ENRU1_DRAW_NOTHING;
func_80AEB914(this, play); func_80AEB914(this, play);
func_80AEAECC(this, play); func_80AEAECC(this, play);
EnRu1_SpawnSplash(this, play); EnRu1_SpawnSplash(this, play);
@ -671,8 +727,8 @@ void func_80AEBD94(EnRu1* this, PlayState* play) {
func_80AEB934(this, play); func_80AEB934(this, play);
func_80AEB738(this, play); func_80AEB738(this, play);
Animation_Change(&this->skelAnime, &gRutoChildResurfaceAnim, 1.0f, 0.0f, frameCount, ANIMMODE_ONCE, 0.0f); Animation_Change(&this->skelAnime, &gRutoChildResurfaceAnim, 1.0f, 0.0f, frameCount, ANIMMODE_ONCE, 0.0f);
this->action = 2; this->action = ENRU1_ACTION_02;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
} }
} }
@ -684,7 +740,7 @@ void func_80AEBE3C(EnRu1* this, PlayState* play, s32 arg2) {
func_80AEB7D0(this); func_80AEB7D0(this);
Animation_Change(&this->skelAnime, &gRutoChildTreadWaterAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP, -8.0f); Animation_Change(&this->skelAnime, &gRutoChildTreadWaterAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP, -8.0f);
this->action = 3; this->action = ENRU1_ACTION_03;
} else { } else {
func_80AEB954(this, play); func_80AEB954(this, play);
} }
@ -699,7 +755,7 @@ void func_80AEBEC8(EnRu1* this, PlayState* play) {
func_80AEB738(this, play); func_80AEB738(this, play);
Animation_Change(&this->skelAnime, &gRutoChildTransitionToSwimOnBackAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE, Animation_Change(&this->skelAnime, &gRutoChildTransitionToSwimOnBackAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE,
-8.0f); -8.0f);
this->action = 4; this->action = ENRU1_ACTION_04;
} }
} }
@ -708,7 +764,7 @@ void func_80AEBF60(EnRu1* this, PlayState* play) {
s32 pad; s32 pad;
func_80AEB7D0(this); func_80AEB7D0(this);
this->action = 5; this->action = ENRU1_ACTION_05;
this->unk_364 = this->actor.world.pos; this->unk_364 = this->actor.world.pos;
} else { } else {
func_80AEBA0C(this, play); func_80AEBA0C(this, play);
@ -729,7 +785,7 @@ void func_80AEBFD8(EnRu1* this, PlayState* play) {
frameCount = Animation_GetLastFrame(&gRutoChildTransitionFromSwimOnBackAnim); frameCount = Animation_GetLastFrame(&gRutoChildTransitionFromSwimOnBackAnim);
Animation_Change(&this->skelAnime, &gRutoChildTransitionFromSwimOnBackAnim, 1.0, 0, frameCount, Animation_Change(&this->skelAnime, &gRutoChildTransitionFromSwimOnBackAnim, 1.0, 0, frameCount,
ANIMMODE_ONCE, -8.0f); ANIMMODE_ONCE, -8.0f);
this->action = 6; this->action = ENRU1_ACTION_06;
} }
} }
} }
@ -807,7 +863,7 @@ void func_80AEC2C0(EnRu1* this, PlayState* play) {
void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) { void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) {
if (!GET_INFTABLE(INFTABLE_141)) { if (!GET_INFTABLE(INFTABLE_141)) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->action = 7; this->action = ENRU1_ACTION_07;
EnRu1_SetMouth(this, ENRU1_MOUTH_FROWNING); EnRu1_SetMouth(this, ENRU1_MOUTH_FROWNING);
} else if (GET_INFTABLE(INFTABLE_147) && !GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_145)) { } else if (GET_INFTABLE(INFTABLE_147) && !GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_145)) {
if (!func_80AEB020(this, play)) { if (!func_80AEB020(this, play)) {
@ -815,9 +871,9 @@ void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
actorRoom = this->actor.room; actorRoom = this->actor.room;
this->action = 22; this->action = ENRU1_ACTION_22;
this->actor.room = -1; this->actor.room = -1;
this->drawConfig = 0; this->drawConfig = ENRU1_DRAW_NOTHING;
this->roomNum1 = actorRoom; this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom; this->roomNum3 = actorRoom;
this->roomNum2 = actorRoom; this->roomNum2 = actorRoom;
@ -907,7 +963,7 @@ void func_80AEC780(EnRu1* this, PlayState* play) {
play->csCtx.script = gRutoFirstMeetingCs; play->csCtx.script = gRutoFirstMeetingCs;
gSaveContext.cutsceneTrigger = 1; gSaveContext.cutsceneTrigger = 1;
player->speedXZ = 0.0f; player->speedXZ = 0.0f;
this->action = 8; this->action = ENRU1_ACTION_08;
} }
} }
@ -923,8 +979,8 @@ void func_80AEC81C(EnRu1* this, PlayState* play) {
newRotY = cue->rot.y; newRotY = cue->rot.y;
this->actor.shape.rot.y = newRotY; this->actor.shape.rot.y = newRotY;
this->actor.world.rot.y = newRotY; this->actor.world.rot.y = newRotY;
this->action = 9; this->action = ENRU1_ACTION_09;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
} }
} }
@ -932,7 +988,7 @@ void func_80AEC8B8(EnRu1* this, PlayState* play) {
if (func_80AEAFA0(play, 3, 3)) { if (func_80AEAFA0(play, 3, 3)) {
Animation_Change(&this->skelAnime, &gRutoChildTurnAroundAnim, 1.0f, 0, Animation_Change(&this->skelAnime, &gRutoChildTurnAroundAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildTurnAroundAnim), ANIMMODE_ONCE, -8.0f); Animation_GetLastFrame(&gRutoChildTurnAroundAnim), ANIMMODE_ONCE, -8.0f);
this->action = 10; this->action = ENRU1_ACTION_10;
} }
} }
@ -941,7 +997,7 @@ void func_80AEC93C(EnRu1* this, UNK_TYPE arg1) {
Animation_Change(&this->skelAnime, &gRutoChildWalkAnim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildWalkAnim), Animation_Change(&this->skelAnime, &gRutoChildWalkAnim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildWalkAnim),
ANIMMODE_LOOP, -8.0f); ANIMMODE_LOOP, -8.0f);
this->actor.world.rot.y += 0x8000; this->actor.world.rot.y += 0x8000;
this->action = 0xB; this->action = ENRU1_ACTION_11;
this->unk_26C = 0.0f; this->unk_26C = 0.0f;
} }
} }
@ -949,7 +1005,7 @@ void func_80AEC93C(EnRu1* this, UNK_TYPE arg1) {
void func_80AEC9C4(EnRu1* this) { void func_80AEC9C4(EnRu1* this) {
this->unk_26C += 1.0f; this->unk_26C += 1.0f;
if (this->unk_26C >= 8.0f) { if (this->unk_26C >= 8.0f) {
this->action = 12; this->action = ENRU1_ACTION_12;
this->unk_26C = 0.0f; this->unk_26C = 0.0f;
this->actor.velocity.y = -1.0f; this->actor.velocity.y = -1.0f;
} }
@ -959,7 +1015,7 @@ void func_80AECA18(EnRu1* this) {
if (!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) { if (!(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) {
s32 pad; s32 pad;
this->action = 13; this->action = ENRU1_ACTION_13;
this->unk_26C = 0.0f; this->unk_26C = 0.0f;
this->actor.velocity.y = 0.0f; this->actor.velocity.y = 0.0f;
} }
@ -968,7 +1024,7 @@ void func_80AECA18(EnRu1* this) {
void func_80AECA44(EnRu1* this, PlayState* play) { void func_80AECA44(EnRu1* this, PlayState* play) {
if (func_80AEAFA0(play, 5, 3)) { if (func_80AEAFA0(play, 5, 3)) {
SET_INFTABLE(INFTABLE_141); SET_INFTABLE(INFTABLE_141);
this->action = 14; this->action = ENRU1_ACTION_14;
} }
} }
@ -1051,7 +1107,7 @@ void func_80AECCB0(EnRu1* this, PlayState* play) {
void EnRu1_InitInBossRoom(EnRu1* this, PlayState* play) { void EnRu1_InitInBossRoom(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWaitHandsOnHipsAnim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWaitHandsOnHipsAnim, ANIMMODE_LOOP, 0, false);
this->action = 15; this->action = ENRU1_ACTION_15;
this->actor.shape.yOffset = -10000.0f; this->actor.shape.yOffset = -10000.0f;
EnRu1_SetEyes(this, ENRU1_EYES_BLUSH); EnRu1_SetEyes(this, ENRU1_EYES_BLUSH);
EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN); EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN);
@ -1129,12 +1185,12 @@ void func_80AED0B0(EnRu1* this, s32 state) {
} }
void func_80AED0C8(EnRu1* this, PlayState* play) { void func_80AED0C8(EnRu1* this, PlayState* play) {
this->action = 16; this->action = ENRU1_ACTION_16;
} }
void func_80AED0D8(EnRu1* this, PlayState* play) { void func_80AED0D8(EnRu1* this, PlayState* play) {
this->action = 17; this->action = ENRU1_ACTION_17;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.world.rot.y = this->actor.yawTowardsPlayer;
this->actor.shape.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
func_80AECCB0(this, play); func_80AECCB0(this, play);
@ -1142,7 +1198,7 @@ void func_80AED0D8(EnRu1* this, PlayState* play) {
void func_80AED110(EnRu1* this) { void func_80AED110(EnRu1* this) {
if (this->actor.shape.yOffset >= 0.0f) { if (this->actor.shape.yOffset >= 0.0f) {
this->action = 18; this->action = ENRU1_ACTION_18;
this->actor.shape.yOffset = 0.0f; this->actor.shape.yOffset = 0.0f;
func_80AED0B0(this, WARP_BLUE_RUTO_STATE_READY); func_80AED0B0(this, WARP_BLUE_RUTO_STATE_READY);
} }
@ -1150,7 +1206,7 @@ void func_80AED110(EnRu1* this) {
void func_80AED154(EnRu1* this, PlayState* play) { void func_80AED154(EnRu1* this, PlayState* play) {
if (func_80AED084(this, WARP_BLUE_RUTO_STATE_ENTERED)) { if (func_80AED084(this, WARP_BLUE_RUTO_STATE_ENTERED)) {
this->action = 0x13; this->action = ENRU1_ACTION_19;
this->unk_26C = 0.0f; this->unk_26C = 0.0f;
func_80AECEB4(this, play); func_80AECEB4(this, play);
} }
@ -1161,7 +1217,7 @@ void func_80AED19C(EnRu1* this, s32 cond) {
Animation_Change(&this->skelAnime, &gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim, 1.0f, 0, Animation_Change(&this->skelAnime, &gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim), ANIMMODE_ONCE, Animation_GetLastFrame(&gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim), ANIMMODE_ONCE,
-8.0f); -8.0f);
this->action = 20; this->action = ENRU1_ACTION_20;
func_80AED0B0(this, WARP_BLUE_RUTO_STATE_3); func_80AED0B0(this, WARP_BLUE_RUTO_STATE_3);
} }
} }
@ -1175,7 +1231,7 @@ void func_80AED218(EnRu1* this, UNK_TYPE arg1) {
} else if (func_80AED084(this, WARP_BLUE_RUTO_STATE_WARPING)) { } else if (func_80AED084(this, WARP_BLUE_RUTO_STATE_WARPING)) {
Animation_Change(&this->skelAnime, &gRutoChildWaitInBlueWarpAnim, 1.0f, 0, Animation_Change(&this->skelAnime, &gRutoChildWaitInBlueWarpAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildWaitInBlueWarpAnim), ANIMMODE_ONCE, -8.0f); Animation_GetLastFrame(&gRutoChildWaitInBlueWarpAnim), ANIMMODE_ONCE, -8.0f);
this->action = 21; this->action = ENRU1_ACTION_21;
this->unk_27C = this->actor.xzDistToPlayer; this->unk_27C = this->actor.xzDistToPlayer;
} }
} }
@ -1223,7 +1279,7 @@ void EnRu1_InitInJabuJabuBasement(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
actorRoom = this->actor.room; actorRoom = this->actor.room;
this->action = 22; this->action = ENRU1_ACTION_22;
this->actor.room = -1; this->actor.room = -1;
this->roomNum1 = actorRoom; this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom; this->roomNum3 = actorRoom;
@ -1273,9 +1329,9 @@ s32 func_80AED624(EnRu1* this, PlayState* play) {
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
return false; return false;
} else if (((this->roomNum1 != curRoomNum) || (this->roomNum2 != curRoomNum)) && } else if (((this->roomNum1 != curRoomNum) || (this->roomNum2 != curRoomNum)) &&
(this->actor.depthInWater > kREG(16) + 50.0f) && (this->action != 33)) { (this->actor.depthInWater > kREG(16) + 50.0f) && (this->action != ENRU1_ACTION_33)) {
this->action = 33; this->action = ENRU1_ACTION_33;
this->drawConfig = 2; this->drawConfig = ENRU1_DRAW_XLU;
this->alpha = 0xFF; this->alpha = 0xFF;
this->unk_2A4 = 0.0f; this->unk_2A4 = 0.0f;
} }
@ -1598,8 +1654,8 @@ s32 func_80AEE394(EnRu1* this, PlayState* play) {
func_80AEE02C(this); func_80AEE02C(this);
play->csCtx.script = gRutoObtainingSapphireCs; play->csCtx.script = gRutoObtainingSapphireCs;
gSaveContext.cutsceneTrigger = 1; gSaveContext.cutsceneTrigger = 1;
this->action = 36; this->action = ENRU1_ACTION_36;
this->drawConfig = 0; this->drawConfig = ENRU1_DRAW_NOTHING;
this->bigOctoPlatform = (BgBdanObjects*)dynaPolyActor; this->bigOctoPlatform = (BgBdanObjects*)dynaPolyActor;
this->actor.shape.shadowAlpha = 0; this->actor.shape.shadowAlpha = 0;
return true; return true;
@ -1614,14 +1670,14 @@ void func_80AEE488(EnRu1* this, PlayState* play) {
if (Actor_HasParent(&this->actor, play)) { if (Actor_HasParent(&this->actor, play)) {
curRoomNum = play->roomCtx.curRoom.num; curRoomNum = play->roomCtx.curRoom.num;
this->roomNum3 = curRoomNum; this->roomNum3 = curRoomNum;
this->action = 31; this->action = ENRU1_ACTION_31;
func_80AED520(this, play); func_80AED520(this, play);
} else if (!func_80AEE394(this, play) && !(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) { } else if (!func_80AEE394(this, play) && !(this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) {
s32 pad; s32 pad;
this->actor.minVelocityY = -((kREG(24) * 0.01f) + 6.8f); this->actor.minVelocityY = -((kREG(24) * 0.01f) + 6.8f);
this->actor.gravity = -((kREG(23) * 0.01f) + 1.3f); this->actor.gravity = -((kREG(23) * 0.01f) + 1.3f);
this->action = 28; this->action = ENRU1_ACTION_28;
} }
} }
@ -1633,13 +1689,13 @@ void func_80AEE568(EnRu1* this, PlayState* play) {
func_80AEE02C(this); func_80AEE02C(this);
Actor_OfferCarry(&this->actor, play); Actor_OfferCarry(&this->actor, play);
this->action = 27; this->action = ENRU1_ACTION_27;
EnRu1_DisableSittingOC(this); EnRu1_DisableSittingOC(this);
return; return;
} }
if (this->actor.depthInWater > 0.0f) { if (this->actor.depthInWater > 0.0f) {
this->action = 29; this->action = ENRU1_ACTION_29;
this->waterState = ENRU1_WATER_OUTSIDE; this->waterState = ENRU1_WATER_OUTSIDE;
} }
} }
@ -1653,7 +1709,7 @@ void func_80AEE628(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0, Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildSittingAnim), ANIMMODE_LOOP, -8.0f); Animation_GetLastFrame(&gRutoChildSittingAnim), ANIMMODE_LOOP, -8.0f);
SET_INFTABLE(INFTABLE_144); SET_INFTABLE(INFTABLE_144);
this->action = 31; this->action = ENRU1_ACTION_31;
} }
this->roomNum3 = curRoomNum; this->roomNum3 = curRoomNum;
} }
@ -1667,7 +1723,7 @@ s32 func_80AEE6D0(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSeesSapphireAnim, 1.0f, 0, Animation_Change(&this->skelAnime, &gRutoChildSeesSapphireAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildSquirmAnim), ANIMMODE_LOOP, -8.0f); Animation_GetLastFrame(&gRutoChildSquirmAnim), ANIMMODE_LOOP, -8.0f);
func_80AED600(this); func_80AED600(this);
this->action = 34; this->action = ENRU1_ACTION_34;
this->unk_26C = 0.0f; this->unk_26C = 0.0f;
play->csCtx.script = gRutoFoundSapphireCs; play->csCtx.script = gRutoFoundSapphireCs;
gSaveContext.cutsceneTrigger = 1; gSaveContext.cutsceneTrigger = 1;
@ -1694,7 +1750,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
this->actor.minVelocityY = -((kREG(24) * 0.01f) + 6.8f); this->actor.minVelocityY = -((kREG(24) * 0.01f) + 6.8f);
this->actor.gravity = -((kREG(23) * 0.01f) + 1.3f); this->actor.gravity = -((kREG(23) * 0.01f) + 1.3f);
func_80AED57C(this); func_80AED57C(this);
this->action = 28; this->action = ENRU1_ACTION_28;
*carryIdleTimer = 0.0f; *carryIdleTimer = 0.0f;
} else if (func_80AEE6D0(this, play)) { } else if (func_80AEE6D0(this, play)) {
s32 pad; s32 pad;
@ -1704,7 +1760,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
player = GET_PLAYER(play); player = GET_PLAYER(play);
if (player->stateFlags2 & PLAYER_STATE2_IDLE_FIDGET) { if (player->stateFlags2 & PLAYER_STATE2_IDLE_FIDGET) {
this->carryIdleTimer += 1.0f; this->carryIdleTimer += 1.0f;
if (this->action != 32) { if (this->action != ENRU1_ACTION_32) {
if (*carryIdleTimer > 30.0f) { if (*carryIdleTimer > 30.0f) {
if (Rand_S16Offset(0, 3) == 0) { if (Rand_S16Offset(0, 3) == 0) {
f32 frameCount = Animation_GetLastFrame(&gRutoChildSquirmAnim); f32 frameCount = Animation_GetLastFrame(&gRutoChildSquirmAnim);
@ -1712,7 +1768,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSquirmAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP, Animation_Change(&this->skelAnime, &gRutoChildSquirmAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP,
-8.0f); -8.0f);
func_80AED5DC(this); func_80AED5DC(this);
this->action = 32; this->action = ENRU1_ACTION_32;
} }
*carryIdleTimer = 0.0f; *carryIdleTimer = 0.0f;
} }
@ -1722,7 +1778,7 @@ void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP, Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP,
-8.0f); -8.0f);
this->action = 31; this->action = ENRU1_ACTION_31;
*carryIdleTimer = 0.0f; *carryIdleTimer = 0.0f;
} }
} }
@ -1741,7 +1797,7 @@ s32 EnRu1_CheckHitBottomUnderwater(EnRu1* this, PlayState* play) {
func_80AEE02C(this); func_80AEE02C(this);
Actor_OfferCarry(&this->actor, play); Actor_OfferCarry(&this->actor, play);
this->action = 27; this->action = ENRU1_ACTION_27;
EnRu1_DisableSittingOC(this); EnRu1_DisableSittingOC(this);
return true; return true;
} }
@ -1749,8 +1805,8 @@ s32 EnRu1_CheckHitBottomUnderwater(EnRu1* this, PlayState* play) {
} }
void EnRu1_CheckSinkingState(EnRu1* this, PlayState* play) { void EnRu1_CheckSinkingState(EnRu1* this, PlayState* play) {
if ((EnRu1_CheckHitBottomUnderwater(this, play) == 0) && (this->waterState == ENRU1_WATER_SINKING)) { if ((!EnRu1_CheckHitBottomUnderwater(this, play)) && (this->waterState == ENRU1_WATER_SINKING)) {
this->action = 30; this->action = ENRU1_ACTION_30;
func_80AEE02C(this); func_80AEE02C(this);
this->actor.gravity = -0.1f; this->actor.gravity = -0.1f;
this->actor.minVelocityY = -((kREG(18) * 0.1f) + 0.7f); this->actor.minVelocityY = -((kREG(18) * 0.1f) + 0.7f);
@ -1881,7 +1937,7 @@ s32 func_80AEF0BC(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildSitAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE, -8.0f); Animation_Change(&this->skelAnime, &gRutoChildSitAnim, 1.0f, 0, frameCount, ANIMMODE_ONCE, -8.0f);
play->msgCtx.msgMode = MSGMODE_PAUSED; play->msgCtx.msgMode = MSGMODE_PAUSED;
this->action = 26; this->action = ENRU1_ACTION_26;
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY); this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
return true; return true;
} }
@ -1890,7 +1946,7 @@ s32 func_80AEF0BC(EnRu1* this, PlayState* play) {
void func_80AEF170(EnRu1* this, PlayState* play, s32 cond) { void func_80AEF170(EnRu1* this, PlayState* play, s32 cond) {
if (cond) { if (cond) {
this->action = 25; this->action = ENRU1_ACTION_25;
} }
} }
@ -1898,7 +1954,7 @@ void func_80AEF188(EnRu1* this, PlayState* play) {
if (func_80AEB174(play) && !func_80AEF0BC(this, play)) { if (func_80AEB174(play) && !func_80AEF0BC(this, play)) {
Message_CloseTextbox(play); Message_CloseTextbox(play);
SET_INFTABLE(INFTABLE_142); SET_INFTABLE(INFTABLE_142);
this->action = 24; this->action = ENRU1_ACTION_24;
} }
} }
@ -1910,18 +1966,18 @@ void func_80AEF1F0(EnRu1* this, PlayState* play, UNK_TYPE arg2) {
SET_INFTABLE(INFTABLE_143); SET_INFTABLE(INFTABLE_143);
func_80AED6DC(this, play); func_80AED6DC(this, play);
Actor_OfferCarry(&this->actor, play); Actor_OfferCarry(&this->actor, play);
this->action = 27; this->action = ENRU1_ACTION_27;
EnRu1_DisableSittingOC(this); EnRu1_DisableSittingOC(this);
} }
} }
void func_80AEF29C(EnRu1* this, PlayState* play) { void func_80AEF29C(EnRu1* this, PlayState* play) {
this->action = 23; this->action = ENRU1_ACTION_23;
} }
void func_80AEF2AC(EnRu1* this, PlayState* play) { void func_80AEF2AC(EnRu1* this, PlayState* play) {
this->action = 24; this->action = ENRU1_ACTION_24;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY; this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY;
} }
@ -2032,8 +2088,8 @@ void func_80AEF624(EnRu1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gRutoChildWalkToAndHoldUpSapphireAnim, 1.0f, 0.0f, frameCount, Animation_Change(&this->skelAnime, &gRutoChildWalkToAndHoldUpSapphireAnim, 1.0f, 0.0f, frameCount,
ANIMMODE_ONCE, 0.0f); ANIMMODE_ONCE, 0.0f);
func_80AEB3A4(this, play); func_80AEB3A4(this, play);
this->action = 37; this->action = ENRU1_ACTION_37;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
this->actor.shape.shadowAlpha = 0xFF; this->actor.shape.shadowAlpha = 0xFF;
} }
} }
@ -2043,7 +2099,7 @@ void func_80AEF728(EnRu1* this, UNK_TYPE arg1) {
Animation_Change(&this->skelAnime, &gRutoChildHoldArmsUpAnim, 1.0f, 0.0f, Animation_Change(&this->skelAnime, &gRutoChildHoldArmsUpAnim, 1.0f, 0.0f,
Animation_GetLastFrame(&gRutoChildHoldArmsUpAnim), ANIMMODE_LOOP, 0.0f); Animation_GetLastFrame(&gRutoChildHoldArmsUpAnim), ANIMMODE_LOOP, 0.0f);
func_80AEB3CC(this); func_80AEB3CC(this);
this->action = 38; this->action = ENRU1_ACTION_38;
} }
} }
@ -2051,7 +2107,7 @@ void func_80AEF79C(EnRu1* this, PlayState* play) {
if (func_80AEAFE0(play, 2, 3)) { if (func_80AEAFE0(play, 2, 3)) {
Animation_Change(&this->skelAnime, &gRutoChildBringHandsDownAnim, 1.0f, 0, Animation_Change(&this->skelAnime, &gRutoChildBringHandsDownAnim, 1.0f, 0,
Animation_GetLastFrame(&gRutoChildBringHandsDownAnim), ANIMMODE_ONCE, -8.0f); Animation_GetLastFrame(&gRutoChildBringHandsDownAnim), ANIMMODE_ONCE, -8.0f);
this->action = 39; this->action = ENRU1_ACTION_39;
} }
} }
@ -2059,7 +2115,7 @@ void func_80AEF820(EnRu1* this, UNK_TYPE arg1) {
if (arg1 != 0) { if (arg1 != 0) {
Animation_Change(&this->skelAnime, &gRutoChildWait2Anim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildWait2Anim), Animation_Change(&this->skelAnime, &gRutoChildWait2Anim, 1.0f, 0, Animation_GetLastFrame(&gRutoChildWait2Anim),
ANIMMODE_LOOP, -8.0f); ANIMMODE_LOOP, -8.0f);
this->action = 40; this->action = ENRU1_ACTION_40;
} }
} }
@ -2072,7 +2128,7 @@ void func_80AEF890(EnRu1* this, PlayState* play) {
SET_INFTABLE(INFTABLE_145); SET_INFTABLE(INFTABLE_145);
Flags_SetSwitch(play, EnRu1_GetSwitchFlag(this)); Flags_SetSwitch(play, EnRu1_GetSwitchFlag(this));
EnRu1_SetPlatformCamSetting(this, 1); EnRu1_SetPlatformCamSetting(this, 1);
this->action = 42; this->action = ENRU1_ACTION_42;
this->actor.room = curRoomNum; this->actor.room = curRoomNum;
} }
} }
@ -2087,8 +2143,8 @@ void func_80AEF930(EnRu1* this, PlayState* play) {
Message_StartTextbox(play, this->actor.textId, NULL); Message_StartTextbox(play, this->actor.textId, NULL);
#endif #endif
func_80AEF4A8(this, play); func_80AEF4A8(this, play);
this->action = 43; this->action = ENRU1_ACTION_43;
this->drawConfig = 0; this->drawConfig = ENRU1_DRAW_NOTHING;
} }
} }
@ -2178,7 +2234,7 @@ void EnRu1_InitInSapphireRoom(EnRu1* this, PlayState* play) {
s32 pad; s32 pad;
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->action = 41; this->action = ENRU1_ACTION_41;
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play); this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
EnRu1_SetPlatformCamSetting(this, 1); EnRu1_SetPlatformCamSetting(this, 1);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY); this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
@ -2190,8 +2246,8 @@ void EnRu1_InitInSapphireRoom(EnRu1* this, PlayState* play) {
void func_80AEFCE8(EnRu1* this, PlayState* play) { void func_80AEFCE8(EnRu1* this, PlayState* play) {
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play); this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
if (this->bigOctoPlatform != NULL) { if (this->bigOctoPlatform != NULL) {
this->action = 42; this->action = ENRU1_ACTION_42;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
EnRu1_SetPlatformCamSetting(this, 1); EnRu1_SetPlatformCamSetting(this, 1);
} }
} }
@ -2200,8 +2256,8 @@ void EnRu1_InitBesideKingZora(EnRu1* this, PlayState* play) {
if (GET_EVENTCHKINF(EVENTCHKINF_37) && LINK_IS_CHILD) { if (GET_EVENTCHKINF(EVENTCHKINF_37) && LINK_IS_CHILD) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED; this->actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED;
this->action = 44; this->action = ENRU1_ACTION_44;
this->drawConfig = 1; this->drawConfig = ENRU1_DRAW_OPA;
} else { } else {
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
} }
@ -2230,13 +2286,13 @@ s32 func_80AEFE38(EnRu1* this, PlayState* play) {
void func_80AEFE84(EnRu1* this, PlayState* play, s32 cond) { void func_80AEFE84(EnRu1* this, PlayState* play, s32 cond) {
if (cond) { if (cond) {
this->action = 45; this->action = ENRU1_ACTION_45;
} }
} }
void func_80AEFE9C(EnRu1* this, PlayState* play) { void func_80AEFE9C(EnRu1* this, PlayState* play) {
if (func_80AEFE38(this, play)) { if (func_80AEFE38(this, play)) {
this->action = 44; this->action = ENRU1_ACTION_44;
} }
} }
@ -2267,9 +2323,9 @@ void EnRu1_InitBesideDoorSwitch(EnRu1* this, PlayState* play) {
(!(func_80AEB020(this, play)))) { (!(func_80AEB020(this, play)))) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
actorRoom = this->actor.room; actorRoom = this->actor.room;
this->action = 22; this->action = ENRU1_ACTION_22;
this->actor.room = -1; this->actor.room = -1;
this->drawConfig = 0; this->drawConfig = ENRU1_DRAW_NOTHING;
this->roomNum1 = actorRoom; this->roomNum1 = actorRoom;
this->roomNum3 = actorRoom; this->roomNum3 = actorRoom;
this->roomNum2 = actorRoom; this->roomNum2 = actorRoom;
@ -2283,7 +2339,7 @@ void EnRu1_InitBesideDoorSwitch(EnRu1* this, PlayState* play) {
#if DEBUG_FEATURES #if DEBUG_FEATURES
void func_80AF0050(EnRu1* this, PlayState* play) { void func_80AF0050(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false); EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->action = 36; this->action = ENRU1_ACTION_36;
this->roomNum1 = this->actor.room; this->roomNum1 = this->actor.room;
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play); this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
this->actor.room = -1; this->actor.room = -1;