1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-23 07:21:19 +00:00

z_demo documentation (#1327)

* commit old stuff

* progress

* progress

* progress

* progress

* more progress, renaming cues next

* small changes

* enum values added for all actions

* hardcoded values removed when possible

* commands renamed

* first pass of action -> cue

* fix some matches

* some more cleanup

* scriptPtr

* forgot one

* remove cue rot union

* more changes

* some more stuff

* more stuff

* fix matching issues

* some more things

* progress, starting to rename destinations

* small changes

* name some destinations

* more names

* need to switch branch

* progress

* first pass of destination names

* usages fixed

* use destination enum

* fix csdis

* format

* command descriptions

* revert accidental zap changes

* forgot some things

* use a single macro for CutsceneCameraPoint (idk why i didnt think of this sooner)

* typo

* review1

* clarify ruby/sapphire comment

* remove endframe for commands that dont use it

* some more review

* most review, but not all

* scriptPtr -> script, and another small change

* ocarina action

* remove +1 from light settings command, change comment

* actionIndex -> cueIdTemp (i guess)

* _SetCueX -> _SetXFromCue

* format

* tweak fade out seq arg names

* use spline terminology

* more dragorn and engineer review

* misc start/end frame note

* cleanup StartPosRotFromCue vs PosRotFromCue

* cleanup spline terminology

* sPrevCamId -> sReturnToCamId

* comment on debug cs data address

* Cutscene_Init -> Cutscene_InitContext

* single point types are not a list

* remove todo comment

* some more review

* rumble struct names

* some review

* more review

* missed one

* reword pointer comment

* even more review

* match transition terminology with z_play

* change condition and format

* frame count

* command specific structs with alignment

* anon review

* remove unneeded arg from time macro

* yeet `CsCmdGeneric`

* remove unused from single point types

* typo

* compromise attempt -- name endFrame everywhere

* fixes

* fix again

* copied the wrong note

* cutscene data note

* review, format

* compat defines

* idk whats going on man

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
fig02 2022-12-24 13:55:17 -05:00 committed by GitHub
parent 92e03cf747
commit 7927e7b330
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
130 changed files with 6392 additions and 5954 deletions

View file

@ -246,29 +246,29 @@ s32 EnRu1_IsCsStateIdle(PlayState* play) {
return false;
}
CsCmdActorAction* func_80AEAF58(PlayState* play, s32 npcActionIdx) {
CsCmdActorCue* EnRu1_GetCue(PlayState* play, s32 cueChannel) {
s32 pad[2];
CsCmdActorAction* ret = NULL;
CsCmdActorCue* cue = NULL;
if (!EnRu1_IsCsStateIdle(play)) {
ret = play->csCtx.npcActions[npcActionIdx];
cue = play->csCtx.actorCues[cueChannel];
}
return ret;
return cue;
}
s32 func_80AEAFA0(PlayState* play, u16 action, s32 npcActionIdx) {
CsCmdActorAction* csCmdNPCAction = func_80AEAF58(play, npcActionIdx);
s32 func_80AEAFA0(PlayState* play, u16 cueId, s32 cueChannel) {
CsCmdActorCue* cue = EnRu1_GetCue(play, cueChannel);
if ((csCmdNPCAction != NULL) && (csCmdNPCAction->action == action)) {
if ((cue != NULL) && (cue->id == cueId)) {
return true;
}
return false;
}
s32 func_80AEAFE0(PlayState* play, u16 action, s32 npcActionIdx) {
CsCmdActorAction* csCmdNPCAction = func_80AEAF58(play, npcActionIdx);
s32 func_80AEAFE0(PlayState* play, u16 cueId, s32 cueChannel) {
CsCmdActorCue* cue = EnRu1_GetCue(play, cueChannel);
if ((csCmdNPCAction != NULL) && (csCmdNPCAction->action != action)) {
if ((cue != NULL) && (cue->id != cueId)) {
return true;
}
return false;
@ -410,16 +410,16 @@ void func_80AEB3DC(EnRu1* this, PlayState* play) {
EnRu1_SetMouthIndex(this, 0);
}
CsCmdActorAction* func_80AEB438(PlayState* play) {
return func_80AEAF58(play, 3);
CsCmdActorCue* EnRu1_GetCueChannel3(PlayState* play) {
return EnRu1_GetCue(play, 3);
}
s32 func_80AEB458(PlayState* play, u16 action) {
return func_80AEAFA0(play, action, 3);
s32 func_80AEB458(PlayState* play, u16 cueId) {
return func_80AEAFA0(play, cueId, 3);
}
s32 func_80AEB480(PlayState* play, u16 action) {
return func_80AEAFE0(play, action, 3);
s32 func_80AEB480(PlayState* play, u16 cueId) {
return func_80AEAFE0(play, cueId, 3);
}
void EnRu1_SpawnRipple(EnRu1* this, PlayState* play, s16 radiusMax, s16 life) {
@ -480,13 +480,11 @@ void func_80AEB7D0(EnRu1* this) {
this->skelAnime.moveFlags &= ~0x3;
}
f32 func_80AEB7E0(CsCmdActorAction* csCmdNPCAction, PlayState* play) {
s32 csCtxFrames = play->csCtx.frames;
f32 func_80AEB7E0(CsCmdActorCue* cue, PlayState* play) {
s32 csCurFrame = play->csCtx.curFrame;
if ((csCtxFrames < csCmdNPCAction->endFrame) && (csCmdNPCAction->endFrame - csCmdNPCAction->startFrame > 0)) {
return (Math_CosS(((csCtxFrames - csCmdNPCAction->startFrame) /
(f32)(csCmdNPCAction->endFrame - csCmdNPCAction->startFrame)) *
32768.0f) *
if ((csCurFrame < cue->endFrame) && (cue->endFrame - cue->startFrame > 0)) {
return (Math_CosS(((csCurFrame - cue->startFrame) / (f32)(cue->endFrame - cue->startFrame)) * 32768.0f) *
-0.5f) +
0.5f;
}
@ -498,16 +496,14 @@ f32 func_80AEB87C(f32 arg0, s32 arg1, s32 arg2) {
}
void func_80AEB89C(EnRu1* this, PlayState* play) {
CsCmdActorAction* npcAction = func_80AEB438(play);
s16 npcActionRotY;
CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
if (npcAction != NULL) {
npcActionRotY = npcAction->rot.y;
this->actor.shape.rot.y = npcActionRotY;
this->actor.world.rot.y = npcActionRotY;
this->actor.world.pos.x = npcAction->startPos.x;
this->actor.world.pos.y = npcAction->startPos.y;
this->actor.world.pos.z = npcAction->startPos.z;
if (cue != NULL) {
this->actor.world.rot.y = this->actor.shape.rot.y = cue->rot.y;
this->actor.world.pos.x = cue->startPos.x;
this->actor.world.pos.y = cue->startPos.y;
this->actor.world.pos.z = cue->startPos.z;
}
}
@ -526,15 +522,15 @@ void func_80AEB954(EnRu1* this, PlayState* play) {
void func_80AEB974(EnRu1* this, PlayState* play) {
Vec3f* thisPos;
f32 sp30;
CsCmdActorAction* csCmdNPCAction = func_80AEB438(play);
CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
s32 pad;
if (csCmdNPCAction != NULL) {
sp30 = func_80AEB7E0(csCmdNPCAction, play);
if (cue != NULL) {
sp30 = func_80AEB7E0(cue, play);
thisPos = &this->actor.world.pos;
thisPos->x = func_80AEB87C(sp30, csCmdNPCAction->startPos.x, csCmdNPCAction->endPos.x);
thisPos->y = func_80AEB87C(sp30, csCmdNPCAction->startPos.y, csCmdNPCAction->endPos.y);
thisPos->z = func_80AEB87C(sp30, csCmdNPCAction->startPos.z, csCmdNPCAction->endPos.z);
thisPos->x = func_80AEB87C(sp30, cue->startPos.x, cue->endPos.x);
thisPos->y = func_80AEB87C(sp30, cue->startPos.y, cue->endPos.y);
thisPos->z = func_80AEB87C(sp30, cue->startPos.z, cue->endPos.z);
}
}
@ -547,15 +543,15 @@ void func_80AEBA2C(EnRu1* this, PlayState* play) {
Vec3f* unk_364 = &this->unk_364;
Vec3f* thisPos;
f32 temp_ret_2;
CsCmdActorAction* csCmdNPCAction = func_80AEB438(play);
CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
s32 pad2;
if (csCmdNPCAction != NULL) {
temp_ret_2 = func_80AEB7E0(csCmdNPCAction, play);
if (cue != NULL) {
temp_ret_2 = func_80AEB7E0(cue, play);
thisPos = &this->actor.world.pos;
thisPos->x = func_80AEB87C(temp_ret_2, unk_364->x, csCmdNPCAction->endPos.x);
thisPos->y = func_80AEB87C(temp_ret_2, unk_364->y, csCmdNPCAction->endPos.y);
thisPos->z = func_80AEB87C(temp_ret_2, unk_364->z, csCmdNPCAction->endPos.z);
thisPos->x = func_80AEB87C(temp_ret_2, unk_364->x, cue->endPos.x);
thisPos->y = func_80AEB87C(temp_ret_2, unk_364->y, cue->endPos.y);
thisPos->z = func_80AEB87C(temp_ret_2, unk_364->z, cue->endPos.z);
}
}
@ -590,7 +586,7 @@ void func_80AEBBF4(EnRu1* this) {
void func_80AEBC30(PlayState* play) {
Player* player;
if (play->csCtx.frames == 0xCD) {
if (play->csCtx.curFrame == 0xCD) {
player = GET_PLAYER(play);
Audio_PlaySfxGeneral(NA_SE_EV_DIVE_INTO_WATER, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
@ -598,7 +594,7 @@ void func_80AEBC30(PlayState* play) {
}
void func_80AEBC84(EnRu1* this, PlayState* play) {
if (play->csCtx.frames == 0x82) {
if (play->csCtx.curFrame == 0x82) {
func_80078914(&this->actor.projectedPos, NA_SE_VO_RT_LAUGH_0);
}
}
@ -673,15 +669,16 @@ void func_80AEBF60(EnRu1* this, PlayState* play) {
}
void func_80AEBFD8(EnRu1* this, PlayState* play) {
CsCmdActorAction* csCmdNPCAction = func_80AEB438(play);
CsCmdActorCue* cue = EnRu1_GetCueChannel3(play);
f32 frameCount;
u16 csCtxFrames;
u16 csCurFrame;
u16 endFrame;
if (csCmdNPCAction != NULL) {
csCtxFrames = play->csCtx.frames;
endFrame = csCmdNPCAction->endFrame;
if (csCtxFrames >= endFrame - 2) {
if (cue != NULL) {
csCurFrame = play->csCtx.curFrame;
endFrame = cue->endFrame;
if (csCurFrame >= endFrame - 2) {
frameCount = Animation_GetLastFrame(&gRutoChildTransitionFromSwimOnBackAnim);
Animation_Change(&this->skelAnime, &gRutoChildTransitionFromSwimOnBackAnim, 1.0, 0, frameCount,
ANIMMODE_ONCE, -8.0f);
@ -860,7 +857,7 @@ void func_80AEC780(EnRu1* this, PlayState* play) {
(!(player->stateFlags1 & (PLAYER_STATE1_13 | PLAYER_STATE1_14 | PLAYER_STATE1_21))) &&
(player->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) {
play->csCtx.segment = D_80AF0880;
play->csCtx.script = D_80AF0880;
gSaveContext.cutsceneTrigger = 1;
player->linearVelocity = 0.0f;
this->action = 8;
@ -868,15 +865,15 @@ void func_80AEC780(EnRu1* this, PlayState* play) {
}
void func_80AEC81C(EnRu1* this, PlayState* play) {
CsCmdActorAction* csCmdNPCAction;
CsCmdActorCue* cue;
s16 newRotY;
if (func_80AEAFE0(play, 1, 3)) {
csCmdNPCAction = play->csCtx.npcActions[3];
this->actor.world.pos.x = csCmdNPCAction->startPos.x;
this->actor.world.pos.y = csCmdNPCAction->startPos.y;
this->actor.world.pos.z = csCmdNPCAction->startPos.z;
newRotY = csCmdNPCAction->rot.y;
cue = play->csCtx.actorCues[3];
this->actor.world.pos.x = cue->startPos.x;
this->actor.world.pos.y = cue->startPos.y;
this->actor.world.pos.z = cue->startPos.z;
newRotY = cue->rot.y;
this->actor.shape.rot.y = newRotY;
this->actor.world.rot.y = newRotY;
this->action = 9;
@ -1542,7 +1539,7 @@ s32 func_80AEE394(EnRu1* this, PlayState* play) {
if (dynaPolyActor != NULL && dynaPolyActor->actor.id == ACTOR_BG_BDAN_OBJECTS &&
dynaPolyActor->actor.params == 0 && !Player_InCsMode(play) && play->msgCtx.msgLength == 0) {
func_80AEE02C(this);
play->csCtx.segment = D_80AF10A4;
play->csCtx.script = D_80AF10A4;
gSaveContext.cutsceneTrigger = 1;
this->action = 36;
this->drawConfig = 0;
@ -1608,7 +1605,7 @@ s32 func_80AEE6D0(EnRu1* this, PlayState* play) {
func_80AED600(this);
this->action = 34;
this->unk_26C = 0.0f;
play->csCtx.segment = D_80AF1728;
play->csCtx.script = D_80AF1728;
gSaveContext.cutsceneTrigger = 1;
}
this->roomNum3 = curRoomNum;
@ -1944,25 +1941,25 @@ void func_80AEF5B8(EnRu1* this) {
void func_80AEF624(EnRu1* this, PlayState* play) {
f32 frameCount;
CsCmdActorAction* csCmdNPCAction;
CsCmdActorAction* csCmdNPCAction2;
CsCmdActorCue* cue;
CsCmdActorCue* cue2;
s16 newRotTmp;
if (func_80AEAFE0(play, 1, 3)) {
frameCount = Animation_GetLastFrame(&gRutoChildWalkToAndHoldUpSapphireAnim);
// this weird part with the redundant variable is necessary to match for some reason
csCmdNPCAction2 = play->csCtx.npcActions[3];
csCmdNPCAction = csCmdNPCAction2;
this->actor.world.pos.x = csCmdNPCAction->startPos.x;
this->actor.world.pos.y = csCmdNPCAction->startPos.y;
this->actor.world.pos.z = csCmdNPCAction->startPos.z;
newRotTmp = csCmdNPCAction->rot.x;
cue2 = play->csCtx.actorCues[3];
cue = cue2;
this->actor.world.pos.x = cue->startPos.x;
this->actor.world.pos.y = cue->startPos.y;
this->actor.world.pos.z = cue->startPos.z;
newRotTmp = cue->rot.x;
this->actor.shape.rot.x = newRotTmp;
this->actor.world.rot.x = newRotTmp;
newRotTmp = csCmdNPCAction->rot.y;
newRotTmp = cue->rot.y;
this->actor.shape.rot.y = newRotTmp;
this->actor.world.rot.y = newRotTmp;
newRotTmp = csCmdNPCAction->rot.z;
newRotTmp = cue->rot.z;
this->actor.shape.rot.z = newRotTmp;
this->actor.world.rot.z = newRotTmp;
Animation_Change(&this->skelAnime, &gRutoChildWalkToAndHoldUpSapphireAnim, 1.0f, 0.0f, frameCount,

View file

@ -4,109 +4,109 @@
// clang-format off
static CutsceneData D_80AF0880[] = {
CS_BEGIN_CUTSCENE(15, 1306),
CS_PLAYER_ACTION_LIST(10),
CS_PLAYER_ACTION(0x0027, 0, 50, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0003, 50, 70, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0005, 70, 109, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0002, 109, 135, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0005, 135, 199, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0003, 199, 219, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0005, 219, 259, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0003, 259, 276, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0002, 276, 297, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0005, 297, 843, 0x0000, 0x6C16, 0x0000, 182, -340, -3132, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_NPC_ACTION_LIST(63, 4),
CS_NPC_ACTION(0x0002, 0, 178, 0x0000, 0xEC16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_NPC_ACTION(0x0003, 178, 245, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_NPC_ACTION(0x0004, 245, 260, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_NPC_ACTION(0x0005, 260, 396, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE_LIST(10),
CS_PLAYER_CUE(0x0027, 0, 50, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0003, 50, 70, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0005, 70, 109, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0002, 109, 135, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0005, 135, 199, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0003, 199, 219, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0005, 219, 259, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0003, 259, 276, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0002, 276, 297, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0005, 297, 843, 0x0000, 0x6C16, 0x0000, 182, -340, -3132, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_ACTOR_CUE_LIST(63, 4),
CS_ACTOR_CUE(0x0002, 0, 178, 0x0000, 0xEC16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_ACTOR_CUE(0x0003, 178, 245, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_ACTOR_CUE(0x0004, 245, 260, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_ACTOR_CUE(0x0005, 260, 396, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_MISC_LIST(1),
CS_MISC(0x000C, 315, 345, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
CS_MISC(CS_MISC_STOP_CUTSCENE, 315, 345, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
CS_TEXT_LIST(4),
CS_TEXT_NONE(0, 157),
CS_TEXT_DISPLAY_TEXTBOX(0x404B, 157, 175, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT(0x404B, 157, 175, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT_NONE(175, 252),
CS_TEXT_DISPLAY_TEXTBOX(0x401E, 252, 300, 0x0000, 0xFFFF, 0xFFFF),
CS_CAM_EYE_LIST(0, 247),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x20BA),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x44B8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x8080),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0xE243),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x005E),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0xFFFF),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x0000),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x5B80),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 30.799889f, 55, -290, -2749, 0x49B4),
CS_CAM_EYE_LIST(73, 208),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x20BA),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x44B8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x8080),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xE243),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x005E),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xFFFF),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 45.399944f, 99, -307, -2985, 0x0000),
CS_CAM_EYE_LIST(116, 1207),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x20BA),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x44B8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x8080),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0xE243),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 45.799946f, 155, -276, -2911, 0x005E),
CS_CAM_EYE_LIST(186, 1277),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x20BA),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x44B8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x8080),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0xE243),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 45.39995f, 77, -315, -2992, 0x005E),
CS_CAM_EYE_LIST(256, 425),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x20BA),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x44B8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x8080),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0xE243),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x005E),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0xFFFF),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x0000),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 46.799953f, 350, -237, -3314, 0x5B80),
CS_CAM_AT_LIST(0, 276),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x20BA),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x44B8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 40, 45.399944f, 22, -313, -2823, 0x8080),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 10, 45.399944f, 23, -313, -2823, 0xE243),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 6, 30.799889f, 73, -298, -2828, 0x005E),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0xFFFF),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x0000),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x5B80),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 30.799889f, 73, -298, -2828, 0x49B4),
CS_CAM_AT_LIST(73, 237),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 60.2f, 136, -314, -3060, 0x20BA),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 7, 60.600002f, 136, -314, -3060, 0x44B8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 7, 45.399944f, 136, -314, -3060, 0x8080),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0xE243),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0x005E),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 135, -313, -3060, 0xFFFF),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 45.399944f, 135, -313, -3059, 0x0000),
CS_CAM_AT_LIST(116, 1236),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 132, -305, -2969, 0x20BA),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 132, -304, -2969, 0x44B8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 1000, 45.799946f, 133, -304, -2969, 0x8080),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 133, -304, -2969, 0xE243),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 45.799946f, 133, -304, -2969, 0x005E),
CS_CAM_AT_LIST(186, 1306),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x20BA),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x44B8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 1000, 45.39995f, 138, -301, -3032, 0x8080),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0xE243),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 45.39995f, 138, -301, -3032, 0x005E),
CS_CAM_AT_LIST(256, 454),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x20BA),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x44B8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 9, 28.199883f, 307, -254, -3258, 0x8080),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 9, 46.799953f, 304, -273, -3273, 0xE243),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x005E),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0xFFFF),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x0000),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 46.799953f, 305, -272, -3274, 0x5B80),
CS_PLAY_BGM_LIST(1),
CS_PLAY_BGM(0x0052, 74, 75, 0x0000, 0x00000000, 0xFFFFFFF1, 0x00000000, 0x0000004E, 0xFFFFFFF1, 0x00000000, 0x0000004E),
CS_TEXT(0x401E, 252, 300, 0x0000, 0xFFFF, 0xFFFF),
CS_CAM_EYE_SPLINE(0, 247),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0xE243),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x005E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0xFFFF),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x0000),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x5B80),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 30.799889f, 55, -290, -2749, 0x49B4),
CS_CAM_EYE_SPLINE(73, 208),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xE243),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x005E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xFFFF),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, 99, -307, -2985, 0x0000),
CS_CAM_EYE_SPLINE(116, 1207),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0xE243),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.799946f, 155, -276, -2911, 0x005E),
CS_CAM_EYE_SPLINE(186, 1277),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0xE243),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.39995f, 77, -315, -2992, 0x005E),
CS_CAM_EYE_SPLINE(256, 425),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0xE243),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x005E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0xFFFF),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x0000),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 46.799953f, 350, -237, -3314, 0x5B80),
CS_CAM_AT_SPLINE(0, 276),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 45.399944f, 22, -313, -2823, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 45.399944f, 23, -313, -2823, 0xE243),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 6, 30.799889f, 73, -298, -2828, 0x005E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0xFFFF),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x0000),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x5B80),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 30.799889f, 73, -298, -2828, 0x49B4),
CS_CAM_AT_SPLINE(73, 237),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.2f, 136, -314, -3060, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.600002f, 136, -314, -3060, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 45.399944f, 136, -314, -3060, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0xE243),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0x005E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 135, -313, -3060, 0xFFFF),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, 135, -313, -3059, 0x0000),
CS_CAM_AT_SPLINE(116, 1236),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.799946f, 132, -305, -2969, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.799946f, 132, -304, -2969, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.799946f, 133, -304, -2969, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.799946f, 133, -304, -2969, 0xE243),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.799946f, 133, -304, -2969, 0x005E),
CS_CAM_AT_SPLINE(186, 1306),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.39995f, 138, -301, -3032, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0xE243),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.39995f, 138, -301, -3032, 0x005E),
CS_CAM_AT_SPLINE(256, 454),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x20BA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x44B8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 9, 28.199883f, 307, -254, -3258, 0x8080),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 9, 46.799953f, 304, -273, -3273, 0xE243),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x005E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0xFFFF),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x0000),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 46.799953f, 305, -272, -3274, 0x5B80),
CS_START_SEQ_LIST(1),
CS_START_SEQ(NA_BGM_APPEAR, 74, 75, 0x0000, 0x00000000, 0xFFFFFFF1, 0x00000000, 0x0000004E, 0xFFFFFFF1, 0x00000000, 0x0000004E),
CS_END(),
};
@ -114,88 +114,88 @@ static u32 D_80AF10A0 = 0;
static CutsceneData D_80AF10A4[] = {
CS_BEGIN_CUTSCENE(14, 1299),
CS_PLAYER_ACTION_LIST(3),
CS_PLAYER_ACTION(0x0005, 0, 272, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0003, 272, 292, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_ACTION(0x0005, 292, 777, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE_LIST(3),
CS_PLAYER_CUE(0x0005, 0, 272, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0003, 272, 292, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_PLAYER_CUE(0x0005, 292, 777, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f),
CS_MISC_LIST(1),
CS_MISC(0x000C, 330, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
CS_NPC_ACTION_LIST(66, 3),
CS_NPC_ACTION(0x0001, 0, 40, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1352, -969, -3341, 0.0f, 0.0f, 1.4e-45f),
CS_NPC_ACTION(0x0002, 40, 213, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f),
CS_NPC_ACTION(0x0003, 213, 1000, 0x0000, 0x4000, 0x0000, -1360, -969, -3343, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f),
CS_NPC_ACTION_LIST(48, 1),
CS_NPC_ACTION(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION_LIST(48, 2),
CS_NPC_ACTION(0x0002, 90, 211, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION(0x0006, 211, 311, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION_LIST(62, 3),
CS_NPC_ACTION(0x0004, 0, 210, 0x0000, 0x0000, 0x0000, -1065, -972, -3305, -1065, -978, -3305, 0.0f, -0.028571429f, 0.0f),
CS_NPC_ACTION(0x0004, 210, 220, 0x8000, 0x0000, 0x0000, -1065, -978, -3305, -1065, -973, -3344, 0.0f, 0.5f, 0.0f),
CS_NPC_ACTION(0x0004, 220, 410, 0x0000, 0x0000, 0x0000, -1065, -973, -3344, -1065, -976, -3344, 0.0f, -0.015789473f, 0.0f),
CS_MISC(CS_MISC_STOP_CUTSCENE, 330, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
CS_ACTOR_CUE_LIST(66, 3),
CS_ACTOR_CUE(0x0001, 0, 40, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1352, -969, -3341, 0.0f, 0.0f, 1.4e-45f),
CS_ACTOR_CUE(0x0002, 40, 213, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f),
CS_ACTOR_CUE(0x0003, 213, 1000, 0x0000, 0x4000, 0x0000, -1360, -969, -3343, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f),
CS_ACTOR_CUE_LIST(48, 1),
CS_ACTOR_CUE(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f),
CS_ACTOR_CUE_LIST(48, 2),
CS_ACTOR_CUE(0x0002, 90, 211, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f),
CS_ACTOR_CUE(0x0006, 211, 311, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f),
CS_ACTOR_CUE_LIST(62, 3),
CS_ACTOR_CUE(0x0004, 0, 210, 0x0000, 0x0000, 0x0000, -1065, -972, -3305, -1065, -978, -3305, 0.0f, -0.028571429f, 0.0f),
CS_ACTOR_CUE(0x0004, 210, 220, 0x8000, 0x0000, 0x0000, -1065, -978, -3305, -1065, -973, -3344, 0.0f, 0.5f, 0.0f),
CS_ACTOR_CUE(0x0004, 220, 410, 0x0000, 0x0000, 0x0000, -1065, -973, -3344, -1065, -976, -3344, 0.0f, -0.015789473f, 0.0f),
CS_TEXT_LIST(6),
CS_TEXT_NONE(0, 162),
CS_TEXT_DISPLAY_TEXTBOX(0x4050, 162, 211, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT(0x4050, 162, 211, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT_NONE(211, 232),
CS_TEXT_DISPLAY_TEXTBOX(0x4051, 232, 241, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT(0x4051, 232, 241, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT_NONE(241, 247),
CS_TEXT_DISPLAY_TEXTBOX(0x4052, 247, 299, 0x0000, 0xFFFF, 0xFFFF),
CS_PLAY_BGM_LIST(1),
CS_PLAY_BGM(0x0023, 112, 113, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x000000B1, 0x00000000, 0xFFFFFFC7, 0x000000B1),
CS_CAM_EYE_LIST(0, 1176),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 41.9066f, -1390, -948, -3339, 0x00C6),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00C8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00D7),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1418, -938, -3337, 0x00E8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x00EA),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013D),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013F),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x006D),
CS_CAM_EYE_LIST(91, 1270),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 44.906612f, -1319, -934, -3343, 0x00C6),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00C8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00D7),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00E8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1326, -904, -3342, 0x00EA),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013D),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013F),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x014E),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x015F),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x0161),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 60.906673f, -1326, -1024, -3342, 0x652E),
CS_CAM_EYE_LIST(211, 332),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C6),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C8),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00D7),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00E8),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00EA),
CS_CAM_AT_LIST(0, 1205),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 40.706596f, -1295, -1003, -3352, 0x00C6),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 50, 40.706596f, -1296, -1003, -3352, 0x00C8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 20, 40.706596f, -1296, -1003, -3352, 0x00D7),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 15, 45.10661f, -1314, -969, -3346, 0x00E8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x00EA),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 1000, 45.10661f, -1313, -969, -3346, 0x013D),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x013F),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x006D),
CS_CAM_AT_LIST(91, 1299),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 44.70661f, -1405, -988, -3343, 0x00C6),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00C8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00D7),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00E8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 7, 60.906673f, -1393, -978, -3342, 0x00EA),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013D),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013F),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 1000, 60.906673f, -1393, -977, -3342, 0x014E),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x015F),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x0161),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 60.906673f, -1401, -1094, -3347, 0x652E),
CS_CAM_AT_LIST(211, 361),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C6),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C8),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00D7),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00E8),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00EA),
CS_TEXT(0x4052, 247, 299, 0x0000, 0xFFFF, 0xFFFF),
CS_START_SEQ_LIST(1),
CS_START_SEQ(NA_BGM_ITEM_GET, 112, 113, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x000000B1, 0x00000000, 0xFFFFFFC7, 0x000000B1),
CS_CAM_EYE_SPLINE(0, 1176),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 41.9066f, -1390, -948, -3339, 0x00C6),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00C8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00D7),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.706596f, -1418, -938, -3337, 0x00E8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x00EA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013D),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013F),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x006D),
CS_CAM_EYE_SPLINE(91, 1270),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.906612f, -1319, -934, -3343, 0x00C6),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00C8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00D7),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00E8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1326, -904, -3342, 0x00EA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013D),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013F),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x014E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x015F),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x0161),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.906673f, -1326, -1024, -3342, 0x652E),
CS_CAM_EYE_SPLINE(211, 332),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C6),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00D7),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00E8),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00EA),
CS_CAM_AT_SPLINE(0, 1205),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.706596f, -1295, -1003, -3352, 0x00C6),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 40.706596f, -1296, -1003, -3352, 0x00C8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 40.706596f, -1296, -1003, -3352, 0x00D7),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 45.10661f, -1314, -969, -3346, 0x00E8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x00EA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.10661f, -1313, -969, -3346, 0x013D),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x013F),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x006D),
CS_CAM_AT_SPLINE(91, 1299),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 44.70661f, -1405, -988, -3343, 0x00C6),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00C8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00D7),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00E8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.906673f, -1393, -978, -3342, 0x00EA),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013D),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013F),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.906673f, -1393, -977, -3342, 0x014E),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x015F),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x0161),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.906673f, -1401, -1094, -3347, 0x652E),
CS_CAM_AT_SPLINE(211, 361),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C6),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C8),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00D7),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00E8),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00EA),
CS_END(),
};
@ -204,36 +204,36 @@ static u32 D_80AF1724 = 0;
static CutsceneData D_80AF1728[] = {
CS_BEGIN_CUTSCENE(7, 1160),
CS_MISC_LIST(1),
CS_MISC(0x000C, 75, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
CS_NPC_ACTION_LIST(48, 1),
CS_NPC_ACTION(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f),
CS_CAM_EYE_LIST(0, 1091),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x8BC0),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x2200),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
CS_CAM_EYE(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0xD0E8),
CS_CAM_EYE(CS_CMD_STOP, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
CS_CAM_EYE_REL_TO_PLAYER_LIST(40, 1131),
CS_CAM_EYE_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x8BC0),
CS_CAM_EYE_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x2200),
CS_CAM_EYE_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
CS_CAM_EYE_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0xD0E8),
CS_CAM_EYE_REL_TO_PLAYER(CS_CMD_STOP, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
CS_CAM_AT_LIST(0, 1120),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x8BC0),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x2200),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 1000, 40.599983f, -1224, -979, -3366, 0x0000),
CS_CAM_AT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0xD0E8),
CS_CAM_AT(CS_CMD_STOP, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x0000),
CS_CAM_AT_REL_TO_PLAYER_LIST(40, 1160),
CS_CAM_AT_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x8BC0),
CS_CAM_AT_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x2200),
CS_CAM_AT_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 50.800022f, -35, 56, -93, 0x0000),
CS_CAM_AT_REL_TO_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0xD0E8),
CS_CAM_AT_REL_TO_PLAYER(CS_CMD_STOP, 0x00, 30, 50.800022f, -35, 56, -93, 0x0000),
CS_MISC(CS_MISC_STOP_CUTSCENE, 75, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
CS_ACTOR_CUE_LIST(48, 1),
CS_ACTOR_CUE(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f),
CS_CAM_EYE_SPLINE(0, 1091),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x8BC0),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x2200),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0xD0E8),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
CS_CAM_EYE_SPLINE_REL_TO_PLAYER(40, 1131),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x8BC0),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x2200),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0xD0E8),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
CS_CAM_AT_SPLINE(0, 1120),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x8BC0),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x2200),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 40.599983f, -1224, -979, -3366, 0x0000),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0xD0E8),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x0000),
CS_CAM_AT_SPLINE_REL_TO_PLAYER(40, 1160),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x8BC0),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x2200),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 50.800022f, -35, 56, -93, 0x0000),
CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0xD0E8),
CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 50.800022f, -35, 56, -93, 0x0000),
CS_TEXT_LIST(2),
CS_TEXT_NONE(0, 35),
CS_TEXT_DISPLAY_TEXTBOX(0x404F, 35, 70, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT(0x404F, 35, 70, 0x0000, 0xFFFF, 0xFFFF),
CS_END(),
};
// clang-format on