mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-08 00:44:42 +00:00
Child Ruto Actions Part 3: Boss room (#2602)
* Child Ruto Actions Part 3: Boss room * Rename action enum members * Subtle rename of enum members
This commit is contained in:
parent
fd7e88af1e
commit
4d2bc68bac
2 changed files with 127 additions and 117 deletions
|
@ -52,13 +52,13 @@ void EnRu1_Meeting_WalkingAwayAccel(EnRu1* this, PlayState* play);
|
|||
void EnRu1_Meeting_WalkingAwayConstant(EnRu1* this, PlayState* play);
|
||||
void EnRu1_Meeting_FallingDownHole(EnRu1* this, PlayState* play);
|
||||
void EnRu1_Meeting_End(EnRu1* this, PlayState* play);
|
||||
void func_80AED304(EnRu1* this, PlayState* play);
|
||||
void func_80AED324(EnRu1* this, PlayState* play);
|
||||
void func_80AED344(EnRu1* this, PlayState* play);
|
||||
void func_80AED374(EnRu1* this, PlayState* play);
|
||||
void func_80AED3A4(EnRu1* this, PlayState* play);
|
||||
void func_80AED3E0(EnRu1* this, PlayState* play);
|
||||
void func_80AED414(EnRu1* this, PlayState* play);
|
||||
void EnRu1_BossRoom_PreSpawn(EnRu1* this, PlayState* play);
|
||||
void EnRu1_BossRoom_Spawn(EnRu1* this, PlayState* play);
|
||||
void EnRu1_BossRoom_RiseThroughBlueWarp(EnRu1* this, PlayState* play);
|
||||
void EnRu1_BossRoom_WaitInsideBlueWarp(EnRu1* this, PlayState* play);
|
||||
void EnRu1_BossRoom_LinkWalksToPointInBlueWarp(EnRu1* this, PlayState* play);
|
||||
void EnRu1_BossRoom_WhatTookYouSoLong(EnRu1* this, PlayState* play);
|
||||
void EnRu1_BossRoom_WarpingOut(EnRu1* this, PlayState* play);
|
||||
void func_80AEF29C(EnRu1* this, PlayState* play);
|
||||
void func_80AEF2AC(EnRu1* this, PlayState* play);
|
||||
void func_80AEF2D0(EnRu1* this, PlayState* play);
|
||||
|
@ -146,52 +146,52 @@ static s32 sUnused = 0;
|
|||
static u32 D_80AF1938 = 0;
|
||||
|
||||
static EnRu1ActionFunc sActionFuncs[] = {
|
||||
EnRu1_Fountain_GazingAtLink, // ENRU1_ACTION_FOUNTAIN_GAZING_AT_LINK
|
||||
EnRu1_Fountain_Diving, // ENRU1_ACTION_FOUNTAIN_DIVING
|
||||
EnRu1_Fountain_Resurfacing, // ENRU1_ACTION_FOUNTAIN_RESURFACING
|
||||
EnRu1_Fountain_TreadingWater, // ENRU1_ACTION_FOUNTAIN_TREADING_WATER
|
||||
EnRu1_Fountain_StartingSwimBack, // ENRU1_ACTION_FOUNTAIN_STARTING_SWIM_BACK
|
||||
EnRu1_Fountain_SwimmingBack, // ENRU1_ACTION_FOUNTAIN_SWIMMING_BACK
|
||||
EnRu1_Fountain_FinishingSwimBack, // ENRU1_ACTION_FOUNTAIN_FINISHING_SWIM_BACK
|
||||
EnRu1_Meeting_RangeCheck, // ENRU1_ACTION_MEETING_RANGE_CHECK
|
||||
EnRu1_Meeting_InitPosition, // ENRU1_ACTION_MEETING_INIT_POSITION
|
||||
EnRu1_Meeting_FacingLink, // ENRU1_ACTION_MEETING_FACING_LINK
|
||||
EnRu1_Meeting_TurningAround, // ENRU1_ACTION_MEETING_TURNING_AROUND
|
||||
EnRu1_Meeting_WalkingAwayAccel, // ENRU1_ACTION_MEETING_WALKING_AWAY_ACCEL
|
||||
EnRu1_Meeting_WalkingAwayConstant, // ENRU1_ACTION_MEETING_WALKING_AWAY_CONSTANT
|
||||
EnRu1_Meeting_FallingDownHole, // ENRU1_ACTION_MEETING_FALLING_DOWN_HOLE
|
||||
EnRu1_Meeting_End, // ENRU1_ACTION_MEETING_END
|
||||
func_80AED304, // ENRU1_ACTION_15
|
||||
func_80AED324, // ENRU1_ACTION_16
|
||||
func_80AED344, // ENRU1_ACTION_17
|
||||
func_80AED374, // ENRU1_ACTION_18
|
||||
func_80AED3A4, // ENRU1_ACTION_19
|
||||
func_80AED3E0, // ENRU1_ACTION_20
|
||||
func_80AED414, // ENRU1_ACTION_21
|
||||
func_80AEF29C, // ENRU1_ACTION_22
|
||||
func_80AEF2AC, // ENRU1_ACTION_23
|
||||
func_80AEF2D0, // ENRU1_ACTION_24
|
||||
func_80AEF354, // ENRU1_ACTION_25
|
||||
func_80AEF3A8, // ENRU1_ACTION_26
|
||||
func_80AEEBD4, // ENRU1_ACTION_27
|
||||
func_80AEEC5C, // ENRU1_ACTION_28
|
||||
func_80AEECF0, // ENRU1_ACTION_29
|
||||
func_80AEED58, // ENRU1_ACTION_30
|
||||
func_80AEEDCC, // ENRU1_ACTION_31
|
||||
func_80AEEE34, // ENRU1_ACTION_32
|
||||
func_80AEEE9C, // ENRU1_ACTION_33
|
||||
func_80AEEF08, // ENRU1_ACTION_34
|
||||
func_80AEEF5C, // ENRU1_ACTION_35
|
||||
func_80AEF9D8, // ENRU1_ACTION_36
|
||||
func_80AEFA2C, // ENRU1_ACTION_37
|
||||
func_80AEFAAC, // ENRU1_ACTION_38
|
||||
func_80AEFB04, // ENRU1_ACTION_39
|
||||
func_80AEFB68, // ENRU1_ACTION_40
|
||||
func_80AEFCE8, // ENRU1_ACTION_41
|
||||
func_80AEFBC8, // ENRU1_ACTION_42
|
||||
func_80AEFC24, // ENRU1_ACTION_43
|
||||
func_80AEFECC, // ENRU1_ACTION_44
|
||||
func_80AEFF40, // ENRU1_ACTION_45
|
||||
EnRu1_Fountain_GazingAtLink, // ENRU1_ACTION_FOUNTAIN_GAZING_AT_LINK
|
||||
EnRu1_Fountain_Diving, // ENRU1_ACTION_FOUNTAIN_DIVING
|
||||
EnRu1_Fountain_Resurfacing, // ENRU1_ACTION_FOUNTAIN_RESURFACING
|
||||
EnRu1_Fountain_TreadingWater, // ENRU1_ACTION_FOUNTAIN_TREADING_WATER
|
||||
EnRu1_Fountain_StartingSwimBack, // ENRU1_ACTION_FOUNTAIN_STARTING_SWIM_BACK
|
||||
EnRu1_Fountain_SwimmingBack, // ENRU1_ACTION_FOUNTAIN_SWIMMING_BACK
|
||||
EnRu1_Fountain_FinishingSwimBack, // ENRU1_ACTION_FOUNTAIN_FINISHING_SWIM_BACK
|
||||
EnRu1_Meeting_RangeCheck, // ENRU1_ACTION_MEETING_RANGE_CHECK
|
||||
EnRu1_Meeting_InitPosition, // ENRU1_ACTION_MEETING_INIT_POSITION
|
||||
EnRu1_Meeting_FacingLink, // ENRU1_ACTION_MEETING_FACING_LINK
|
||||
EnRu1_Meeting_TurningAround, // ENRU1_ACTION_MEETING_TURNING_AROUND
|
||||
EnRu1_Meeting_WalkingAwayAccel, // ENRU1_ACTION_MEETING_WALKING_AWAY_ACCEL
|
||||
EnRu1_Meeting_WalkingAwayConstant, // ENRU1_ACTION_MEETING_WALKING_AWAY_CONSTANT
|
||||
EnRu1_Meeting_FallingDownHole, // ENRU1_ACTION_MEETING_FALLING_DOWN_HOLE
|
||||
EnRu1_Meeting_End, // ENRU1_ACTION_MEETING_END
|
||||
EnRu1_BossRoom_PreSpawn, // ENRU1_ACTION_PRE_SPAWN_BOSS_ROOM
|
||||
EnRu1_BossRoom_Spawn, // ENRU1_ACTION_SPAWN_BOSS_ROOM
|
||||
EnRu1_BossRoom_RiseThroughBlueWarp, // ENRU1_ACTION_RISE_THROUGH_BLUE_WARP
|
||||
EnRu1_BossRoom_WaitInsideBlueWarp, // ENRU1_ACTION_WAIT_INSIDE_BLUE_WARP
|
||||
EnRu1_BossRoom_LinkWalksToPointInBlueWarp, // ENRU1_ACTION_LINK_WALKS_TO_POINT_IN_BLUE_WARP
|
||||
EnRu1_BossRoom_WhatTookYouSoLong, // ENRU1_ACTION_WHAT_TOOK_YOU_SO_LONG
|
||||
EnRu1_BossRoom_WarpingOut, // ENRU1_ACTION_WARPING_OUT
|
||||
func_80AEF29C, // ENRU1_ACTION_22
|
||||
func_80AEF2AC, // ENRU1_ACTION_23
|
||||
func_80AEF2D0, // ENRU1_ACTION_24
|
||||
func_80AEF354, // ENRU1_ACTION_25
|
||||
func_80AEF3A8, // ENRU1_ACTION_26
|
||||
func_80AEEBD4, // ENRU1_ACTION_27
|
||||
func_80AEEC5C, // ENRU1_ACTION_28
|
||||
func_80AEECF0, // ENRU1_ACTION_29
|
||||
func_80AEED58, // ENRU1_ACTION_30
|
||||
func_80AEEDCC, // ENRU1_ACTION_31
|
||||
func_80AEEE34, // ENRU1_ACTION_32
|
||||
func_80AEEE9C, // ENRU1_ACTION_33
|
||||
func_80AEEF08, // ENRU1_ACTION_34
|
||||
func_80AEEF5C, // ENRU1_ACTION_35
|
||||
func_80AEF9D8, // ENRU1_ACTION_36
|
||||
func_80AEFA2C, // ENRU1_ACTION_37
|
||||
func_80AEFAAC, // ENRU1_ACTION_38
|
||||
func_80AEFB04, // ENRU1_ACTION_39
|
||||
func_80AEFB68, // ENRU1_ACTION_40
|
||||
func_80AEFCE8, // ENRU1_ACTION_41
|
||||
func_80AEFBC8, // ENRU1_ACTION_42
|
||||
func_80AEFC24, // ENRU1_ACTION_43
|
||||
func_80AEFECC, // ENRU1_ACTION_44
|
||||
func_80AEFF40, // ENRU1_ACTION_45
|
||||
};
|
||||
|
||||
static EnRu1PreLimbDrawFunc sPreLimbDrawFuncs[] = {
|
||||
|
@ -1083,7 +1083,7 @@ void EnRu1_Meeting_End(EnRu1* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80AECCB0(EnRu1* this, PlayState* play) {
|
||||
void EnRu1_SpawnBlueWarp(EnRu1* this, PlayState* play) {
|
||||
s32 pad;
|
||||
Vec3f* pos;
|
||||
s16 yawTowardsPlayer;
|
||||
|
@ -1103,31 +1103,37 @@ void func_80AECCB0(EnRu1* this, PlayState* play) {
|
|||
|
||||
void EnRu1_InitInBossRoom(EnRu1* this, PlayState* play) {
|
||||
EnRu1_AnimationChange(this, &gRutoChildWaitHandsOnHipsAnim, ANIMMODE_LOOP, 0, false);
|
||||
this->action = ENRU1_ACTION_15;
|
||||
this->action = ENRU1_ACTION_PRE_SPAWN_BOSS_ROOM;
|
||||
this->actor.shape.yOffset = -10000.0f;
|
||||
EnRu1_SetEyes(this, ENRU1_EYES_BLUSH);
|
||||
EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN);
|
||||
}
|
||||
|
||||
void func_80AECE04(EnRu1* this, PlayState* play) {
|
||||
/**
|
||||
* Ruto rises up through the floor within the field of the blue warp.
|
||||
*/
|
||||
void EnRu1_Rise(EnRu1* this, PlayState* play) {
|
||||
this->actor.shape.yOffset += (250.0f / 3.0f);
|
||||
}
|
||||
|
||||
void func_80AECE20(EnRu1* this, PlayState* play) {
|
||||
/**
|
||||
* Ruto rises up in sync with Link as they warp out together.
|
||||
*/
|
||||
void EnRu1_RiseWithLink(EnRu1* this, PlayState* play) {
|
||||
s32 pad2;
|
||||
Player* player = GET_PLAYER(play);
|
||||
Vec3f* playerPos = &player->actor.world.pos;
|
||||
s16 shapeRotY = player->actor.shape.rot.y;
|
||||
s32 pad;
|
||||
f32 unk_27C = this->unk_27C;
|
||||
f32 xzDistToPlayer = this->xzDistToPlayerInBlueWarp;
|
||||
Vec3f* pos = &this->actor.world.pos;
|
||||
|
||||
pos->x = (Math_SinS(shapeRotY) * unk_27C) + playerPos->x;
|
||||
pos->x = (Math_SinS(shapeRotY) * xzDistToPlayer) + playerPos->x;
|
||||
pos->y = playerPos->y;
|
||||
pos->z = (Math_CosS(shapeRotY) * unk_27C) + playerPos->z;
|
||||
pos->z = (Math_CosS(shapeRotY) * xzDistToPlayer) + playerPos->z;
|
||||
}
|
||||
|
||||
void func_80AECEB4(EnRu1* this, PlayState* play) {
|
||||
void EnRu1_SetPlayerMarkInBlueWarp(EnRu1* this, PlayState* play) {
|
||||
s32 pad;
|
||||
Player* player = GET_PLAYER(play);
|
||||
Vec3f* player_unk_450 = &player->unk_450;
|
||||
|
@ -1138,13 +1144,17 @@ void func_80AECEB4(EnRu1* this, PlayState* play) {
|
|||
player_unk_450->z = ((kREG(2) + 30.0f) * Math_CosS(shapeRotY)) + pos->z;
|
||||
}
|
||||
|
||||
s32 func_80AECF6C(EnRu1* this, PlayState* play) {
|
||||
/**
|
||||
* Checks if Link is in position inside the blue warp, facing Ruto.
|
||||
* This is the condition for when Ruto starts chiding him.
|
||||
*/
|
||||
s32 EnRu1_IsLinkInBlueWarp(EnRu1* this, PlayState* play) {
|
||||
s16* shapeRotY;
|
||||
Player* player = GET_PLAYER(play);
|
||||
Player* otherPlayer;
|
||||
s16 temp_f16;
|
||||
f32 temp1;
|
||||
f32 temp2;
|
||||
s16 targetRotY;
|
||||
f32 dx;
|
||||
f32 dz;
|
||||
s32 pad2[5];
|
||||
|
||||
this->walkingFrame += 1.0f;
|
||||
|
@ -1154,11 +1164,11 @@ s32 func_80AECF6C(EnRu1* this, PlayState* play) {
|
|||
player->actor.world.pos.y = otherPlayer->unk_450.y;
|
||||
player->actor.world.pos.z = otherPlayer->unk_450.z;
|
||||
shapeRotY = &player->actor.shape.rot.y;
|
||||
temp1 = this->actor.world.pos.x - player->actor.world.pos.x;
|
||||
temp2 = this->actor.world.pos.z - player->actor.world.pos.z;
|
||||
temp_f16 = RAD_TO_BINANG(Math_FAtan2F(temp1, temp2));
|
||||
if (*shapeRotY != temp_f16) {
|
||||
Math_SmoothStepToS(shapeRotY, temp_f16, 0x14, 0x1838, 0x64);
|
||||
dx = this->actor.world.pos.x - player->actor.world.pos.x;
|
||||
dz = this->actor.world.pos.z - player->actor.world.pos.z;
|
||||
targetRotY = RAD_TO_BINANG(Math_FAtan2F(dx, dz));
|
||||
if (*shapeRotY != targetRotY) {
|
||||
Math_SmoothStepToS(shapeRotY, targetRotY, 0x14, 0x1838, 0x64);
|
||||
player->actor.world.rot.y = *shapeRotY;
|
||||
} else {
|
||||
return true;
|
||||
|
@ -1167,102 +1177,102 @@ s32 func_80AECF6C(EnRu1* this, PlayState* play) {
|
|||
return false;
|
||||
}
|
||||
|
||||
s32 func_80AED084(EnRu1* this, s32 state) {
|
||||
s32 EnRu1_CheckBlueWarpState(EnRu1* this, s32 state) {
|
||||
if (this->blueWarp != NULL && this->blueWarp->rutoWarpState == state) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void func_80AED0B0(EnRu1* this, s32 state) {
|
||||
void EnRu1_SetBlueWarpState(EnRu1* this, s32 state) {
|
||||
if (this->blueWarp != NULL) {
|
||||
this->blueWarp->rutoWarpState = state;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80AED0C8(EnRu1* this, PlayState* play) {
|
||||
this->action = ENRU1_ACTION_16;
|
||||
void EnRu1_TriggerSpawnInBossRoom(EnRu1* this, PlayState* play) {
|
||||
this->action = ENRU1_ACTION_SPAWN_BOSS_ROOM;
|
||||
}
|
||||
|
||||
void func_80AED0D8(EnRu1* this, PlayState* play) {
|
||||
this->action = ENRU1_ACTION_17;
|
||||
void EnRu1_SetupRiseThroughBlueWarp(EnRu1* this, PlayState* play) {
|
||||
this->action = ENRU1_ACTION_RISE_THROUGH_BLUE_WARP;
|
||||
this->drawConfig = ENRU1_DRAW_OPA;
|
||||
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||
this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
|
||||
func_80AECCB0(this, play);
|
||||
EnRu1_SpawnBlueWarp(this, play);
|
||||
}
|
||||
|
||||
void func_80AED110(EnRu1* this) {
|
||||
void EnRu1_EndRise(EnRu1* this) {
|
||||
if (this->actor.shape.yOffset >= 0.0f) {
|
||||
this->action = ENRU1_ACTION_18;
|
||||
this->action = ENRU1_ACTION_WAIT_INSIDE_BLUE_WARP;
|
||||
this->actor.shape.yOffset = 0.0f;
|
||||
func_80AED0B0(this, WARP_BLUE_RUTO_STATE_READY);
|
||||
EnRu1_SetBlueWarpState(this, WARP_BLUE_RUTO_STATE_READY);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80AED154(EnRu1* this, PlayState* play) {
|
||||
if (func_80AED084(this, WARP_BLUE_RUTO_STATE_ENTERED)) {
|
||||
this->action = ENRU1_ACTION_19;
|
||||
void EnRu1_CheckLinkEnteredBlueWarp(EnRu1* this, PlayState* play) {
|
||||
if (EnRu1_CheckBlueWarpState(this, WARP_BLUE_RUTO_STATE_ENTERED)) {
|
||||
this->action = ENRU1_ACTION_LINK_WALKS_TO_POINT_IN_BLUE_WARP;
|
||||
this->walkingFrame = 0.0f;
|
||||
func_80AECEB4(this, play);
|
||||
EnRu1_SetPlayerMarkInBlueWarp(this, play);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80AED19C(EnRu1* this, s32 cond) {
|
||||
if (cond) {
|
||||
void EnRu1_StartCrossingArmsAndLegs(EnRu1* this, s32 shouldStart) {
|
||||
if (shouldStart) {
|
||||
Animation_Change(&this->skelAnime, &gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim, 1.0f, 0,
|
||||
Animation_GetLastFrame(&gRutoChildTransitionHandsOnHipToCrossArmsAndLegsAnim), ANIMMODE_ONCE,
|
||||
-8.0f);
|
||||
this->action = ENRU1_ACTION_20;
|
||||
func_80AED0B0(this, WARP_BLUE_RUTO_STATE_3);
|
||||
this->action = ENRU1_ACTION_WHAT_TOOK_YOU_SO_LONG;
|
||||
EnRu1_SetBlueWarpState(this, WARP_BLUE_RUTO_STATE_3);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80AED218(EnRu1* this, UNK_TYPE arg1) {
|
||||
if (func_80AED084(this, WARP_BLUE_RUTO_STATE_TALKING)) {
|
||||
if (arg1 != 0) {
|
||||
void EnRu1_AdvanceAngryAnimation(EnRu1* this, s32 isTalking) {
|
||||
if (EnRu1_CheckBlueWarpState(this, WARP_BLUE_RUTO_STATE_TALKING)) {
|
||||
if (isTalking) {
|
||||
Animation_Change(&this->skelAnime, &gRutoChildWaitSittingAnim, 1.0f, 0,
|
||||
Animation_GetLastFrame(&gRutoChildWaitSittingAnim), ANIMMODE_LOOP, -8.0f);
|
||||
}
|
||||
} else if (func_80AED084(this, WARP_BLUE_RUTO_STATE_WARPING)) {
|
||||
} else if (EnRu1_CheckBlueWarpState(this, WARP_BLUE_RUTO_STATE_WARPING)) {
|
||||
Animation_Change(&this->skelAnime, &gRutoChildWaitInBlueWarpAnim, 1.0f, 0,
|
||||
Animation_GetLastFrame(&gRutoChildWaitInBlueWarpAnim), ANIMMODE_ONCE, -8.0f);
|
||||
this->action = ENRU1_ACTION_21;
|
||||
this->unk_27C = this->actor.xzDistToPlayer;
|
||||
this->action = ENRU1_ACTION_WARPING_OUT;
|
||||
this->xzDistToPlayerInBlueWarp = this->actor.xzDistToPlayer;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80AED304(EnRu1* this, PlayState* play) {
|
||||
func_80AED0C8(this, play);
|
||||
void EnRu1_BossRoom_PreSpawn(EnRu1* this, PlayState* play) {
|
||||
EnRu1_TriggerSpawnInBossRoom(this, play);
|
||||
}
|
||||
|
||||
void func_80AED324(EnRu1* this, PlayState* play) {
|
||||
func_80AED0D8(this, play);
|
||||
void EnRu1_BossRoom_Spawn(EnRu1* this, PlayState* play) {
|
||||
EnRu1_SetupRiseThroughBlueWarp(this, play);
|
||||
}
|
||||
|
||||
void func_80AED344(EnRu1* this, PlayState* play) {
|
||||
func_80AECE04(this, play);
|
||||
void EnRu1_BossRoom_RiseThroughBlueWarp(EnRu1* this, PlayState* play) {
|
||||
EnRu1_Rise(this, play);
|
||||
EnRu1_UpdateSkelAnime(this);
|
||||
func_80AED110(this);
|
||||
EnRu1_EndRise(this);
|
||||
}
|
||||
|
||||
void func_80AED374(EnRu1* this, PlayState* play) {
|
||||
void EnRu1_BossRoom_WaitInsideBlueWarp(EnRu1* this, PlayState* play) {
|
||||
EnRu1_UpdateSkelAnime(this);
|
||||
func_80AED154(this, play);
|
||||
EnRu1_CheckLinkEnteredBlueWarp(this, play);
|
||||
}
|
||||
|
||||
void func_80AED3A4(EnRu1* this, PlayState* play) {
|
||||
void EnRu1_BossRoom_LinkWalksToPointInBlueWarp(EnRu1* this, PlayState* play) {
|
||||
EnRu1_UpdateSkelAnime(this);
|
||||
func_80AED19C(this, func_80AECF6C(this, play));
|
||||
EnRu1_StartCrossingArmsAndLegs(this, EnRu1_IsLinkInBlueWarp(this, play));
|
||||
}
|
||||
|
||||
void func_80AED3E0(EnRu1* this, PlayState* play) {
|
||||
void EnRu1_BossRoom_WhatTookYouSoLong(EnRu1* this, PlayState* play) {
|
||||
func_80AEAECC(this, play);
|
||||
func_80AED218(this, EnRu1_UpdateSkelAnime(this));
|
||||
EnRu1_AdvanceAngryAnimation(this, EnRu1_UpdateSkelAnime(this));
|
||||
}
|
||||
|
||||
void func_80AED414(EnRu1* this, PlayState* play) {
|
||||
func_80AECE20(this, play);
|
||||
void EnRu1_BossRoom_WarpingOut(EnRu1* this, PlayState* play) {
|
||||
EnRu1_RiseWithLink(this, play);
|
||||
func_80AEAECC(this, play);
|
||||
EnRu1_UpdateSkelAnime(this);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ typedef struct EnRu1 {
|
|||
/* 0x0270 */ f32 treadTimer;
|
||||
/* 0x0274 */ char unk_274[0x4];
|
||||
/* 0x0278 */ DoorWarp1* blueWarp;
|
||||
/* 0x027C */ f32 unk_27C;
|
||||
/* 0x027C */ f32 xzDistToPlayerInBlueWarp;
|
||||
/* 0x0280 */ s32 isFalling;
|
||||
/* 0x0284 */ s8 roomNum1;
|
||||
/* 0x0285 */ s8 roomNum2;
|
||||
|
@ -76,13 +76,13 @@ typedef enum EnRu1Action {
|
|||
/* 12 */ ENRU1_ACTION_MEETING_WALKING_AWAY_CONSTANT,
|
||||
/* 13 */ ENRU1_ACTION_MEETING_FALLING_DOWN_HOLE,
|
||||
/* 14 */ ENRU1_ACTION_MEETING_END,
|
||||
/* 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,
|
||||
/* 15 */ ENRU1_ACTION_PRE_SPAWN_BOSS_ROOM,
|
||||
/* 16 */ ENRU1_ACTION_SPAWN_BOSS_ROOM,
|
||||
/* 17 */ ENRU1_ACTION_RISE_THROUGH_BLUE_WARP,
|
||||
/* 18 */ ENRU1_ACTION_WAIT_INSIDE_BLUE_WARP,
|
||||
/* 19 */ ENRU1_ACTION_LINK_WALKS_TO_POINT_IN_BLUE_WARP,
|
||||
/* 20 */ ENRU1_ACTION_WHAT_TOOK_YOU_SO_LONG,
|
||||
/* 21 */ ENRU1_ACTION_WARPING_OUT,
|
||||
/* 22 */ ENRU1_ACTION_22,
|
||||
/* 23 */ ENRU1_ACTION_23,
|
||||
/* 24 */ ENRU1_ACTION_24,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue