mirror of https://github.com/zeldaret/oot.git
Child Ruto Actions Part 4: Sapphire platform
This commit is contained in:
parent
f213f6bae2
commit
7525d3e054
|
@ -847,8 +847,8 @@ typedef enum LinkAge {
|
||||||
#define INFTABLE_142 0x142
|
#define INFTABLE_142 0x142
|
||||||
#define INFTABLE_143 0x143
|
#define INFTABLE_143 0x143
|
||||||
#define INFTABLE_144 0x144
|
#define INFTABLE_144 0x144
|
||||||
#define INFTABLE_145 0x145
|
#define INFTABLE_RUTO_HAS_SAPPHIRE 0x145
|
||||||
#define INFTABLE_146 0x146
|
#define INFTABLE_RUTO_ABDUCTED 0x146
|
||||||
#define INFTABLE_147 0x147
|
#define INFTABLE_147 0x147
|
||||||
#define INFTABLE_160 0x160
|
#define INFTABLE_160 0x160
|
||||||
#define INFTABLE_161 0x161
|
#define INFTABLE_161 0x161
|
||||||
|
|
|
@ -105,7 +105,7 @@ s32 BgBdanObjects_GetProperty(BgBdanObjects* this, s32 arg1) {
|
||||||
case JABU_OBJECTS_GET_PROP_CAM_SETTING_NORMAL0:
|
case JABU_OBJECTS_GET_PROP_CAM_SETTING_NORMAL0:
|
||||||
return this->cameraSetting == CAM_SET_NORMAL0;
|
return this->cameraSetting == CAM_SET_NORMAL0;
|
||||||
case JABU_OBJECTS_GET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE:
|
case JABU_OBJECTS_GET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE:
|
||||||
return GET_INFTABLE(INFTABLE_146);
|
return GET_INFTABLE(INFTABLE_RUTO_ABDUCTED);
|
||||||
case JABU_OBJECTS_GET_PROP_CAM_SETTING_DUNGEON1:
|
case JABU_OBJECTS_GET_PROP_CAM_SETTING_DUNGEON1:
|
||||||
return this->cameraSetting == CAM_SET_DUNGEON1;
|
return this->cameraSetting == CAM_SET_DUNGEON1;
|
||||||
default:
|
default:
|
||||||
|
@ -125,7 +125,7 @@ void BgBdanObjects_SetProperty(BgBdanObjects* this, s32 arg1) {
|
||||||
this->cameraSetting = CAM_SET_DUNGEON0;
|
this->cameraSetting = CAM_SET_DUNGEON0;
|
||||||
break;
|
break;
|
||||||
case JABU_OBJECTS_SET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE:
|
case JABU_OBJECTS_SET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE:
|
||||||
SET_INFTABLE(INFTABLE_146);
|
SET_INFTABLE(INFTABLE_RUTO_ABDUCTED);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PRINTF(T("Bg_Bdan_Objects_Set_Contact_Ru1\nそんな送信モードは無い%d!!!!!!!!\n",
|
PRINTF(T("Bg_Bdan_Objects_Set_Contact_Ru1\nそんな送信モードは無い%d!!!!!!!!\n",
|
||||||
|
|
|
@ -504,7 +504,7 @@ void DemoEffect_Init(Actor* thisx, PlayState* play2) {
|
||||||
this->jewel.isPositionInit = 0;
|
this->jewel.isPositionInit = 0;
|
||||||
DemoEffect_InitJewel(play, this);
|
DemoEffect_InitJewel(play, this);
|
||||||
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_BOSS);
|
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_BOSS);
|
||||||
if ((play->sceneId == SCENE_JABU_JABU) && GET_INFTABLE(INFTABLE_145)) {
|
if ((play->sceneId == SCENE_JABU_JABU) && GET_INFTABLE(INFTABLE_RUTO_HAS_SAPPHIRE)) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,14 +73,14 @@ void func_80AEEE34(EnRu1* this, PlayState* play);
|
||||||
void func_80AEEE9C(EnRu1* this, PlayState* play);
|
void func_80AEEE9C(EnRu1* this, PlayState* play);
|
||||||
void func_80AEEF08(EnRu1* this, PlayState* play);
|
void func_80AEEF08(EnRu1* this, PlayState* play);
|
||||||
void func_80AEEF5C(EnRu1* this, PlayState* play);
|
void func_80AEEF5C(EnRu1* this, PlayState* play);
|
||||||
void func_80AEF9D8(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_ThrownOntoPlatform(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFA2C(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_Retrieving(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFAAC(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_Holding(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFB04(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_DoneHolding(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFB68(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_MissionAccomplished(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFCE8(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_Waiting(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFBC8(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_ReadyToGoHome(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFC24(EnRu1* this, PlayState* play);
|
void EnRu1_SapphireRoom_BeingAbducted(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFECC(EnRu1* this, PlayState* play);
|
void func_80AEFECC(EnRu1* this, PlayState* play);
|
||||||
void func_80AEFF40(EnRu1* this, PlayState* play);
|
void func_80AEFF40(EnRu1* this, PlayState* play);
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ static s32 sUnused = 0;
|
||||||
|
|
||||||
#include "z_en_ru1_cutscene_data.inc.c"
|
#include "z_en_ru1_cutscene_data.inc.c"
|
||||||
|
|
||||||
static u32 D_80AF1938 = 0;
|
static u32 sReachedForSapphire = 0;
|
||||||
|
|
||||||
static EnRu1ActionFunc sActionFuncs[] = {
|
static EnRu1ActionFunc sActionFuncs[] = {
|
||||||
func_80AEC0B4, // ENRU1_ACTION_00
|
func_80AEC0B4, // ENRU1_ACTION_00
|
||||||
|
@ -168,14 +168,14 @@ static EnRu1ActionFunc sActionFuncs[] = {
|
||||||
func_80AEEE9C, // ENRU1_ACTION_33
|
func_80AEEE9C, // ENRU1_ACTION_33
|
||||||
func_80AEEF08, // ENRU1_ACTION_34
|
func_80AEEF08, // ENRU1_ACTION_34
|
||||||
func_80AEEF5C, // ENRU1_ACTION_35
|
func_80AEEF5C, // ENRU1_ACTION_35
|
||||||
func_80AEF9D8, // ENRU1_ACTION_36
|
EnRu1_SapphireRoom_ThrownOntoPlatform,
|
||||||
func_80AEFA2C, // ENRU1_ACTION_37
|
EnRu1_SapphireRoom_Retrieving,
|
||||||
func_80AEFAAC, // ENRU1_ACTION_38
|
EnRu1_SapphireRoom_Holding,
|
||||||
func_80AEFB04, // ENRU1_ACTION_39
|
EnRu1_SapphireRoom_DoneHolding,
|
||||||
func_80AEFB68, // ENRU1_ACTION_40
|
EnRu1_SapphireRoom_MissionAccomplished,
|
||||||
func_80AEFCE8, // ENRU1_ACTION_41
|
EnRu1_SapphireRoom_Waiting,
|
||||||
func_80AEFBC8, // ENRU1_ACTION_42
|
EnRu1_SapphireRoom_ReadyToGoHome,
|
||||||
func_80AEFC24, // ENRU1_ACTION_43
|
EnRu1_SapphireRoom_BeingAbducted,
|
||||||
func_80AEFECC, // ENRU1_ACTION_44
|
func_80AEFECC, // ENRU1_ACTION_44
|
||||||
func_80AEFF40, // ENRU1_ACTION_45
|
func_80AEFF40, // ENRU1_ACTION_45
|
||||||
};
|
};
|
||||||
|
@ -403,7 +403,7 @@ s32 func_80AEB1B4(PlayState* play) {
|
||||||
|
|
||||||
#if DEBUG_FEATURES
|
#if DEBUG_FEATURES
|
||||||
void func_80AEB1D8(EnRu1* this) {
|
void func_80AEB1D8(EnRu1* this) {
|
||||||
this->action = ENRU1_ACTION_36;
|
this->action = ENRU1_ACTION_THROWN_ONTO_SAPPHIRE_PLATFORM;
|
||||||
this->drawConfig = ENRU1_DRAW_NOTHING;
|
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;
|
||||||
|
@ -451,17 +451,17 @@ s32 EnRu1_UpdateSkelAnime(EnRu1* this) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEB364(EnRu1* this, PlayState* play) {
|
void EnRu1_WalkTowardSapphire(EnRu1* this, PlayState* play) {
|
||||||
this->skelAnime.movementFlags |= ANIM_FLAG_UPDATE_XZ;
|
this->skelAnime.movementFlags |= ANIM_FLAG_UPDATE_XZ;
|
||||||
AnimTaskQueue_AddActorMovement(play, &this->actor, &this->skelAnime, 1.0f);
|
AnimTaskQueue_AddActorMovement(play, &this->actor, &this->skelAnime, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEB3A4(EnRu1* this, PlayState* play) {
|
void EnRu1_StartWalkingTowardSapphire(EnRu1* this, PlayState* play) {
|
||||||
this->skelAnime.movementFlags |= ANIM_FLAG_UPDATE_XZ;
|
this->skelAnime.movementFlags |= ANIM_FLAG_UPDATE_XZ;
|
||||||
func_80AEB364(this, play);
|
EnRu1_WalkTowardSapphire(this, play);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEB3CC(EnRu1* this) {
|
void EnRu1_StopWalkingTowardSapphire(EnRu1* this) {
|
||||||
this->skelAnime.movementFlags &= ~ANIM_FLAG_UPDATE_XZ;
|
this->skelAnime.movementFlags &= ~ANIM_FLAG_UPDATE_XZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -827,7 +827,7 @@ void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) {
|
||||||
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
|
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
|
||||||
this->action = ENRU1_ACTION_07;
|
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_RUTO_HAS_SAPPHIRE)) {
|
||||||
if (!func_80AEB020(this, play)) {
|
if (!func_80AEB020(this, play)) {
|
||||||
s8 actorRoom;
|
s8 actorRoom;
|
||||||
|
|
||||||
|
@ -1234,7 +1234,7 @@ void func_80AED414(EnRu1* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnRu1_InitInJabuJabuBasement(EnRu1* this, PlayState* play) {
|
void EnRu1_InitInJabuJabuBasement(EnRu1* this, PlayState* play) {
|
||||||
if (GET_INFTABLE(INFTABLE_141) && !GET_INFTABLE(INFTABLE_145) && !GET_INFTABLE(INFTABLE_140) &&
|
if (GET_INFTABLE(INFTABLE_141) && !GET_INFTABLE(INFTABLE_RUTO_HAS_SAPPHIRE) && !GET_INFTABLE(INFTABLE_140) &&
|
||||||
!GET_INFTABLE(INFTABLE_147)) {
|
!GET_INFTABLE(INFTABLE_147)) {
|
||||||
if (!func_80AEB020(this, play)) {
|
if (!func_80AEB020(this, play)) {
|
||||||
s8 actorRoom;
|
s8 actorRoom;
|
||||||
|
@ -1616,7 +1616,7 @@ 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 = ENRU1_ACTION_36;
|
this->action = ENRU1_ACTION_THROWN_ONTO_SAPPHIRE_PLATFORM;
|
||||||
this->drawConfig = ENRU1_DRAW_NOTHING;
|
this->drawConfig = ENRU1_DRAW_NOTHING;
|
||||||
this->bigOctoPlatform = (BgBdanObjects*)dynaPolyActor;
|
this->bigOctoPlatform = (BgBdanObjects*)dynaPolyActor;
|
||||||
this->actor.shape.shadowAlpha = 0;
|
this->actor.shape.shadowAlpha = 0;
|
||||||
|
@ -1975,7 +1975,7 @@ void func_80AEF3A8(EnRu1* this, PlayState* play) {
|
||||||
func_80AEF1F0(this, play, something);
|
func_80AEF1F0(this, play, something);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF40C(EnRu1* this) {
|
void EnRu1_PlayStepSoundNearSapphire(EnRu1* this) {
|
||||||
SkelAnime* skelAnime = &this->skelAnime;
|
SkelAnime* skelAnime = &this->skelAnime;
|
||||||
|
|
||||||
if (Animation_OnFrame(skelAnime, 2.0f) || Animation_OnFrame(skelAnime, 7.0f) ||
|
if (Animation_OnFrame(skelAnime, 2.0f) || Animation_OnFrame(skelAnime, 7.0f) ||
|
||||||
|
@ -1985,46 +1985,49 @@ void func_80AEF40C(EnRu1* this) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF4A8(EnRu1* this, PlayState* play) {
|
void EnRu1_PlayAbductedSfx(EnRu1* this, PlayState* play) {
|
||||||
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.projectedPos, 20, NA_SE_VO_RT_FALL);
|
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.projectedPos, 20, NA_SE_VO_RT_FALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF4E0(EnRu1* this) {
|
/**
|
||||||
|
* Ruto laughs while picking up the Spiritual Stone.
|
||||||
|
*/
|
||||||
|
void EnRu1_PlayLaughingSfx(EnRu1* this) {
|
||||||
if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
||||||
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_VO_RT_LAUGH_0);
|
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_VO_RT_LAUGH_0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF51C(EnRu1* this) {
|
void EnRu1_PlayStartledSfx(EnRu1* this) {
|
||||||
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_VO_RT_THROW);
|
Sfx_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_VO_RT_THROW);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF540(EnRu1* this) {
|
void EnRu1_RespondToSapphirePlatformMoving(EnRu1* this) {
|
||||||
if (EnRu1_GetPlatformCamSetting(this) == 2) {
|
if (EnRu1_GetPlatformCamSetting(this) == 2) {
|
||||||
EnRu1_SetEyes(this, ENRU1_EYES_UP);
|
EnRu1_SetEyes(this, ENRU1_EYES_UP);
|
||||||
EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN);
|
EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN);
|
||||||
if (this->skelAnime.mode != 2) {
|
if (this->skelAnime.mode != 2) {
|
||||||
EnRu1_AnimationChange(this, &gRutoChildShutterAnim, ANIMMODE_ONCE, -8.0f, false);
|
EnRu1_AnimationChange(this, &gRutoChildShutterAnim, ANIMMODE_ONCE, -8.0f, false);
|
||||||
func_80AEF51C(this);
|
EnRu1_PlayStartledSfx(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF5B8(EnRu1* this) {
|
void EnRu1_LookUpAtSapphire(EnRu1* this) {
|
||||||
f32 curFrame;
|
f32 curFrame;
|
||||||
|
|
||||||
if (D_80AF1938 == 0) {
|
if (sReachedForSapphire == 0) {
|
||||||
curFrame = this->skelAnime.curFrame;
|
curFrame = this->skelAnime.curFrame;
|
||||||
if (curFrame >= 60.0f) {
|
if (curFrame >= 60.0f) {
|
||||||
EnRu1_SetEyes(this, ENRU1_EYES_UP);
|
EnRu1_SetEyes(this, ENRU1_EYES_UP);
|
||||||
EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING);
|
EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING);
|
||||||
func_80AED57C(this);
|
func_80AED57C(this);
|
||||||
D_80AF1938 = 1;
|
sReachedForSapphire = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF624(EnRu1* this, PlayState* play) {
|
void EnRu1_SetupRetrievingSapphireAnimation(EnRu1* this, PlayState* play) {
|
||||||
f32 frameCount;
|
f32 frameCount;
|
||||||
CsCmdActorCue* cue;
|
CsCmdActorCue* cue;
|
||||||
CsCmdActorCue* cue2;
|
CsCmdActorCue* cue2;
|
||||||
|
@ -2049,53 +2052,53 @@ void func_80AEF624(EnRu1* this, PlayState* play) {
|
||||||
this->actor.world.rot.z = newRotTmp;
|
this->actor.world.rot.z = newRotTmp;
|
||||||
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);
|
EnRu1_StartWalkingTowardSapphire(this, play);
|
||||||
this->action = ENRU1_ACTION_37;
|
this->action = ENRU1_ACTION_RETRIEVING_SAPPHIRE;
|
||||||
this->drawConfig = ENRU1_DRAW_OPA;
|
this->drawConfig = ENRU1_DRAW_OPA;
|
||||||
this->actor.shape.shadowAlpha = 0xFF;
|
this->actor.shape.shadowAlpha = 0xFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF728(EnRu1* this, UNK_TYPE arg1) {
|
void EnRu1_HoldUpSapphire(EnRu1* this, s32 doneWalking) {
|
||||||
if (arg1 != 0) {
|
if (doneWalking) {
|
||||||
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);
|
EnRu1_StopWalkingTowardSapphire(this);
|
||||||
this->action = ENRU1_ACTION_38;
|
this->action = ENRU1_ACTION_HOLDING_SAPPHIRE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF79C(EnRu1* this, PlayState* play) {
|
void EnRu1_BringHandsDown(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 = ENRU1_ACTION_39;
|
this->action = ENRU1_ACTION_DONE_HOLDING_SAPPHIRE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF820(EnRu1* this, UNK_TYPE arg1) {
|
void EnRu1_KeepArmsDown(EnRu1* this, s32 armsAreDown) {
|
||||||
if (arg1 != 0) {
|
if (armsAreDown) {
|
||||||
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 = ENRU1_ACTION_40;
|
this->action = ENRU1_ACTION_MISSION_ACCOMPLISHED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF890(EnRu1* this, PlayState* play) {
|
void EnRu1_EndRetrievalCutscene(EnRu1* this, PlayState* play) {
|
||||||
s32 pad[2];
|
s32 pad[2];
|
||||||
s8 curRoomNum;
|
s8 curRoomNum;
|
||||||
|
|
||||||
if (!(DEBUG_FEATURES && IS_CUTSCENE_LAYER) && EnRu1_IsCsStateIdle(play)) {
|
if (!(DEBUG_FEATURES && IS_CUTSCENE_LAYER) && EnRu1_IsCsStateIdle(play)) {
|
||||||
curRoomNum = play->roomCtx.curRoom.num;
|
curRoomNum = play->roomCtx.curRoom.num;
|
||||||
SET_INFTABLE(INFTABLE_145);
|
SET_INFTABLE(INFTABLE_RUTO_HAS_SAPPHIRE);
|
||||||
Flags_SetSwitch(play, EnRu1_GetSwitchFlag(this));
|
Flags_SetSwitch(play, EnRu1_GetSwitchFlag(this));
|
||||||
EnRu1_SetPlatformCamSetting(this, 1);
|
EnRu1_SetPlatformCamSetting(this, 1);
|
||||||
this->action = ENRU1_ACTION_42;
|
this->action = ENRU1_ACTION_READY_TO_GO_HOME;
|
||||||
this->actor.room = curRoomNum;
|
this->actor.room = curRoomNum;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF930(EnRu1* this, PlayState* play) {
|
void EnRu1_RespondToAbduction(EnRu1* this, PlayState* play) {
|
||||||
if (EnRu1_GetPlatformCamSetting(this) == 3) {
|
if (EnRu1_GetPlatformCamSetting(this) == 3) {
|
||||||
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY;
|
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY;
|
||||||
this->actor.textId = 0x4048;
|
this->actor.textId = 0x4048;
|
||||||
|
@ -2104,99 +2107,99 @@ void func_80AEF930(EnRu1* this, PlayState* play) {
|
||||||
#else
|
#else
|
||||||
Message_StartTextbox(play, this->actor.textId, NULL);
|
Message_StartTextbox(play, this->actor.textId, NULL);
|
||||||
#endif
|
#endif
|
||||||
func_80AEF4A8(this, play);
|
EnRu1_PlayAbductedSfx(this, play);
|
||||||
this->action = ENRU1_ACTION_43;
|
this->action = ENRU1_ACTION_BEING_ABDUCTED;
|
||||||
this->drawConfig = ENRU1_DRAW_NOTHING;
|
this->drawConfig = ENRU1_DRAW_NOTHING;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF99C(EnRu1* this, PlayState* play) {
|
void EnRu1_RemoveInAbduction(EnRu1* this, PlayState* play) {
|
||||||
if (func_80AEB1B4(play) != 0) {
|
if (func_80AEB1B4(play) != 0) {
|
||||||
EnRu1_SetPlatformCamSetting(this, 4);
|
EnRu1_SetPlatformCamSetting(this, 4);
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEF9D8(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_ThrownOntoPlatform(EnRu1* this, PlayState* play) {
|
||||||
func_80AED83C(this);
|
func_80AED83C(this);
|
||||||
EnRu1_UpdateSkelAnime(this);
|
EnRu1_UpdateSkelAnime(this);
|
||||||
EnRu1_UpdateEyes(this);
|
EnRu1_UpdateEyes(this);
|
||||||
func_80AEF624(this, play);
|
EnRu1_SetupRetrievingSapphireAnimation(this, play);
|
||||||
#if DEBUG_FEATURES
|
#if DEBUG_FEATURES
|
||||||
func_80AEB220(this, play);
|
func_80AEB220(this, play);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEFA2C(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_Retrieving(EnRu1* this, PlayState* play) {
|
||||||
s32 something;
|
s32 doneAnim;
|
||||||
|
|
||||||
func_80AED83C(this);
|
func_80AED83C(this);
|
||||||
func_80AEB364(this, play);
|
EnRu1_WalkTowardSapphire(this, play);
|
||||||
func_80AEAECC(this, play);
|
func_80AEAECC(this, play);
|
||||||
something = EnRu1_UpdateSkelAnime(this);
|
doneAnim = EnRu1_UpdateSkelAnime(this);
|
||||||
func_80AEF4E0(this);
|
EnRu1_PlayLaughingSfx(this);
|
||||||
func_80AEF5B8(this);
|
EnRu1_LookUpAtSapphire(this);
|
||||||
func_80AEF40C(this);
|
EnRu1_PlayStepSoundNearSapphire(this);
|
||||||
func_80AEF728(this, something);
|
EnRu1_HoldUpSapphire(this, doneAnim);
|
||||||
#if DEBUG_FEATURES
|
#if DEBUG_FEATURES
|
||||||
func_80AEB220(this, play);
|
func_80AEB220(this, play);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEFAAC(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_Holding(EnRu1* this, PlayState* play) {
|
||||||
func_80AED83C(this);
|
func_80AED83C(this);
|
||||||
func_80AEAECC(this, play);
|
func_80AEAECC(this, play);
|
||||||
EnRu1_UpdateSkelAnime(this);
|
EnRu1_UpdateSkelAnime(this);
|
||||||
func_80AEF79C(this, play);
|
EnRu1_BringHandsDown(this, play);
|
||||||
#if DEBUG_FEATURES
|
#if DEBUG_FEATURES
|
||||||
func_80AEB220(this, play);
|
func_80AEB220(this, play);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEFB04(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_DoneHolding(EnRu1* this, PlayState* play) {
|
||||||
s32 something;
|
s32 doneAnim;
|
||||||
|
|
||||||
func_80AED83C(this);
|
func_80AED83C(this);
|
||||||
func_80AEAECC(this, play);
|
func_80AEAECC(this, play);
|
||||||
something = EnRu1_UpdateSkelAnime(this);
|
doneAnim = EnRu1_UpdateSkelAnime(this);
|
||||||
EnRu1_UpdateEyes(this);
|
EnRu1_UpdateEyes(this);
|
||||||
func_80AEF820(this, something);
|
EnRu1_KeepArmsDown(this, doneAnim);
|
||||||
#if DEBUG_FEATURES
|
#if DEBUG_FEATURES
|
||||||
func_80AEB220(this, play);
|
func_80AEB220(this, play);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEFB68(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_MissionAccomplished(EnRu1* this, PlayState* play) {
|
||||||
func_80AED83C(this);
|
func_80AED83C(this);
|
||||||
func_80AEAECC(this, play);
|
func_80AEAECC(this, play);
|
||||||
EnRu1_UpdateSkelAnime(this);
|
EnRu1_UpdateSkelAnime(this);
|
||||||
EnRu1_UpdateEyes(this);
|
EnRu1_UpdateEyes(this);
|
||||||
func_80AEF890(this, play);
|
EnRu1_EndRetrievalCutscene(this, play);
|
||||||
#if DEBUG_FEATURES
|
#if DEBUG_FEATURES
|
||||||
func_80AEB220(this, play);
|
func_80AEB220(this, play);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEFBC8(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_ReadyToGoHome(EnRu1* this, PlayState* play) {
|
||||||
func_80AED83C(this);
|
func_80AED83C(this);
|
||||||
func_80AEAECC(this, play);
|
func_80AEAECC(this, play);
|
||||||
EnRu1_UpdateSkelAnime(this);
|
EnRu1_UpdateSkelAnime(this);
|
||||||
EnRu1_UpdateEyes(this);
|
EnRu1_UpdateEyes(this);
|
||||||
func_80AEF540(this);
|
EnRu1_RespondToSapphirePlatformMoving(this);
|
||||||
func_80AEF930(this, play);
|
EnRu1_RespondToAbduction(this, play);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEFC24(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_BeingAbducted(EnRu1* this, PlayState* play) {
|
||||||
func_80AED83C(this);
|
func_80AED83C(this);
|
||||||
func_80AEF99C(this, play);
|
EnRu1_RemoveInAbduction(this, play);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnRu1_InitInSapphireRoom(EnRu1* this, PlayState* play) {
|
void EnRu1_InitInSapphireRoom(EnRu1* this, PlayState* play) {
|
||||||
if (GET_INFTABLE(INFTABLE_145) && !GET_INFTABLE(INFTABLE_146)) {
|
if (GET_INFTABLE(INFTABLE_RUTO_HAS_SAPPHIRE) && !GET_INFTABLE(INFTABLE_RUTO_ABDUCTED)) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
|
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
|
||||||
this->action = ENRU1_ACTION_41;
|
this->action = ENRU1_ACTION_WAITING_IN_SAPPHIRE_ROOM;
|
||||||
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);
|
||||||
|
@ -2205,10 +2208,10 @@ void EnRu1_InitInSapphireRoom(EnRu1* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80AEFCE8(EnRu1* this, PlayState* play) {
|
void EnRu1_SapphireRoom_Waiting(EnRu1* this, PlayState* play) {
|
||||||
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
|
this->bigOctoPlatform = EnRu1_FindBigOctoPlatform(play);
|
||||||
if (this->bigOctoPlatform != NULL) {
|
if (this->bigOctoPlatform != NULL) {
|
||||||
this->action = ENRU1_ACTION_42;
|
this->action = ENRU1_ACTION_READY_TO_GO_HOME;
|
||||||
this->drawConfig = ENRU1_DRAW_OPA;
|
this->drawConfig = ENRU1_DRAW_OPA;
|
||||||
EnRu1_SetPlatformCamSetting(this, 1);
|
EnRu1_SetPlatformCamSetting(this, 1);
|
||||||
}
|
}
|
||||||
|
@ -2281,7 +2284,7 @@ void func_80AEFF40(EnRu1* this, PlayState* play) {
|
||||||
void EnRu1_InitBesideDoorSwitch(EnRu1* this, PlayState* play) {
|
void EnRu1_InitBesideDoorSwitch(EnRu1* this, PlayState* play) {
|
||||||
s8 actorRoom;
|
s8 actorRoom;
|
||||||
|
|
||||||
if (GET_INFTABLE(INFTABLE_141) && GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_145) &&
|
if (GET_INFTABLE(INFTABLE_141) && GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_RUTO_HAS_SAPPHIRE) &&
|
||||||
(!(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;
|
||||||
|
@ -2301,7 +2304,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 = ENRU1_ACTION_36;
|
this->action = ENRU1_ACTION_THROWN_ONTO_SAPPHIRE_PLATFORM;
|
||||||
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;
|
||||||
|
|
|
@ -97,14 +97,14 @@ typedef enum EnRu1Action {
|
||||||
/* 33 */ ENRU1_ACTION_33,
|
/* 33 */ ENRU1_ACTION_33,
|
||||||
/* 34 */ ENRU1_ACTION_34,
|
/* 34 */ ENRU1_ACTION_34,
|
||||||
/* 35 */ ENRU1_ACTION_35,
|
/* 35 */ ENRU1_ACTION_35,
|
||||||
/* 36 */ ENRU1_ACTION_36,
|
/* 36 */ ENRU1_ACTION_THROWN_ONTO_SAPPHIRE_PLATFORM,
|
||||||
/* 37 */ ENRU1_ACTION_37,
|
/* 37 */ ENRU1_ACTION_RETRIEVING_SAPPHIRE,
|
||||||
/* 38 */ ENRU1_ACTION_38,
|
/* 38 */ ENRU1_ACTION_HOLDING_SAPPHIRE,
|
||||||
/* 39 */ ENRU1_ACTION_39,
|
/* 39 */ ENRU1_ACTION_DONE_HOLDING_SAPPHIRE,
|
||||||
/* 40 */ ENRU1_ACTION_40,
|
/* 40 */ ENRU1_ACTION_MISSION_ACCOMPLISHED,
|
||||||
/* 41 */ ENRU1_ACTION_41,
|
/* 41 */ ENRU1_ACTION_WAITING_IN_SAPPHIRE_ROOM,
|
||||||
/* 42 */ ENRU1_ACTION_42,
|
/* 42 */ ENRU1_ACTION_READY_TO_GO_HOME,
|
||||||
/* 43 */ ENRU1_ACTION_43,
|
/* 43 */ ENRU1_ACTION_BEING_ABDUCTED,
|
||||||
/* 44 */ ENRU1_ACTION_44,
|
/* 44 */ ENRU1_ACTION_44,
|
||||||
/* 45 */ ENRU1_ACTION_45
|
/* 45 */ ENRU1_ACTION_45
|
||||||
} EnRu1Action;
|
} EnRu1Action;
|
||||||
|
|
Loading…
Reference in New Issue