1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-07 14:50:15 +00:00

Create Macros for Cutscene Data (#63)

* Added additional (potentially unused) fields to macros, now builds OK

* Ran formatter, attempted better macro formatting

* Formatted unknown fields as hex, further cleanups

* Rename and prefix macros, use command base macros, format cutscenes with indents

* Move command macros into a new file and include it globally

* Generate cutscene command macros for Bg_Toki_Swd, Cleanups

* Rename CS_TEXTBOX commands to CS_TEXT, fix typo ic command_macros_base.h

* Introduce CS_CMD_CONTINUE and CS_CMD_STOP

* Remove apparently redundant arguments in certain commands, include the values in the macros directly

* Re-add cutscene terminator destination enum values to example cutscene data

* Format what should be floats as hex, Change actorAnim to actorAction

* Allow floating-point representation of values in cutscene data (asm-processor hack)

* Include cutscene commands only where necessary, documentation fixes

* Rename actor actions to npc actions, separate player action from npc actions

* Remove PlayerActionIDs for now as relevant information on it is not yet decompiled

* Generate cutscene data for en_ru1, remove apparent redundancies in CS_LIGHTING and CS_PLAY/STOP/FADE_BGM commands, relax static requirement in asm-processor CutsceneData float conversion
This commit is contained in:
Tharo 2020-05-20 12:37:28 +01:00 committed by GitHub
parent 2bccbe7679
commit 43dfaa7518
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 1538 additions and 506 deletions

View file

@ -94,7 +94,7 @@ u32 D_80AF0870[] = {
s32 D_80AF087C = 0;
#include "z_en_ru1_cutscene_data.c"
#include "z_en_ru1_cutscene_data.c" EARLY
u32 D_80AF1938 = 0;
@ -260,27 +260,27 @@ s32 func_80AEAF38(GlobalContext* globalCtx) {
return 0;
}
CsCmdActorAction* func_80AEAF58(GlobalContext* globalCtx, s32 actorActionIdx) {
CsCmdActorAction* func_80AEAF58(GlobalContext* globalCtx, s32 npcActionIdx) {
s32 pad[2];
CsCmdActorAction* ret = NULL;
if (!func_80AEAF38(globalCtx)) {
ret = globalCtx->csCtx.actorActions[actorActionIdx];
ret = globalCtx->csCtx.npcActions[npcActionIdx];
}
return ret;
}
s32 func_80AEAFA0(GlobalContext* globalCtx, u16 action, s32 actorActionIdx) {
CsCmdActorAction* csCmdActorAction = func_80AEAF58(globalCtx, actorActionIdx);
if ((csCmdActorAction != NULL) && (csCmdActorAction->action == action)) {
s32 func_80AEAFA0(GlobalContext* globalCtx, u16 action, s32 npcActionIdx) {
CsCmdActorAction* csCmdNPCAction = func_80AEAF58(globalCtx, npcActionIdx);
if ((csCmdNPCAction != NULL) && (csCmdNPCAction->action == action)) {
return 1;
}
return 0;
}
s32 func_80AEAFE0(GlobalContext* globalCtx, u16 action, s32 actorActionIdx) {
CsCmdActorAction* csCmdActorAction = func_80AEAF58(globalCtx, actorActionIdx);
if ((csCmdActorAction != NULL) && (csCmdActorAction->action != action)) {
s32 func_80AEAFE0(GlobalContext* globalCtx, u16 action, s32 npcActionIdx) {
CsCmdActorAction* csCmdNPCAction = func_80AEAF58(globalCtx, npcActionIdx);
if ((csCmdNPCAction != NULL) && (csCmdNPCAction->action != action)) {
return 1;
}
return 0;
@ -497,11 +497,11 @@ void func_80AEB7D0(EnRu1* this) {
this->skelAnime.flags &= ~0x3;
}
f32 func_80AEB7E0(CsCmdActorAction* csCmdActorAction, GlobalContext* globalCtx) {
f32 func_80AEB7E0(CsCmdActorAction* csCmdNPCAction, GlobalContext* globalCtx) {
s32 csCtxFrames = globalCtx->csCtx.frames;
if ((csCtxFrames < csCmdActorAction->endFrame) && (csCmdActorAction->endFrame - csCmdActorAction->startFrame > 0)) {
return (Math_Coss(((csCtxFrames - csCmdActorAction->startFrame) /
(f32)(csCmdActorAction->endFrame - csCmdActorAction->startFrame)) *
if ((csCtxFrames < csCmdNPCAction->endFrame) && (csCmdNPCAction->endFrame - csCmdNPCAction->startFrame > 0)) {
return (Math_Coss(((csCtxFrames - csCmdNPCAction->startFrame) /
(f32)(csCmdNPCAction->endFrame - csCmdNPCAction->startFrame)) *
32768.0f) *
-0.5f) +
0.5f;
@ -515,16 +515,16 @@ f32 func_80AEB87C(f32 arg0, s32 arg1, s32 arg2) {
void func_80AEB89C(EnRu1* this, GlobalContext* globalCtx) {
Actor* thisx = &this->actor;
CsCmdActorAction* actorAction = func_80AEB438(globalCtx);
s16 actorActionRotY;
CsCmdActorAction* npcAction = func_80AEB438(globalCtx);
s16 npcActionRotY;
if (actorAction != NULL) {
actorActionRotY = actorAction->rot.y;
thisx->shape.rot.y = actorActionRotY;
thisx->posRot.rot.y = actorActionRotY;
thisx->posRot.pos.x = actorAction->startPos.x;
thisx->posRot.pos.y = actorAction->startPos.y;
thisx->posRot.pos.z = actorAction->startPos.z;
if (npcAction != NULL) {
npcActionRotY = npcAction->rot.y;
thisx->shape.rot.y = npcActionRotY;
thisx->posRot.rot.y = npcActionRotY;
thisx->posRot.pos.x = npcAction->startPos.x;
thisx->posRot.pos.y = npcAction->startPos.y;
thisx->posRot.pos.z = npcAction->startPos.z;
}
}
@ -543,15 +543,15 @@ void func_80AEB954(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEB974(EnRu1* this, GlobalContext* globalCtx) {
Vec3f* thisPos;
f32 sp30;
CsCmdActorAction* csCmdActorAction = func_80AEB438(globalCtx);
CsCmdActorAction* csCmdNPCAction = func_80AEB438(globalCtx);
Actor* thisx = &this->actor;
if (csCmdActorAction != NULL) {
sp30 = func_80AEB7E0(csCmdActorAction, globalCtx);
if (csCmdNPCAction != NULL) {
sp30 = func_80AEB7E0(csCmdNPCAction, globalCtx);
thisPos = &thisx->posRot.pos;
thisPos->x = func_80AEB87C(sp30, csCmdActorAction->startPos.x, csCmdActorAction->endPos.x);
thisPos->y = func_80AEB87C(sp30, csCmdActorAction->startPos.y, csCmdActorAction->endPos.y);
thisPos->z = func_80AEB87C(sp30, csCmdActorAction->startPos.z, csCmdActorAction->endPos.z);
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);
}
}
@ -564,15 +564,15 @@ void func_80AEBA2C(EnRu1* this, GlobalContext* globalCtx) {
Vec3f* unk_364 = &this->unk_364;
Vec3f* thisPos;
f32 temp_ret_2;
CsCmdActorAction* csCmdActorAction = func_80AEB438(globalCtx);
CsCmdActorAction* csCmdNPCAction = func_80AEB438(globalCtx);
Actor* thisx = &this->actor;
if (csCmdActorAction != NULL) {
temp_ret_2 = func_80AEB7E0(csCmdActorAction, globalCtx);
if (csCmdNPCAction != NULL) {
temp_ret_2 = func_80AEB7E0(csCmdNPCAction, globalCtx);
thisPos = &thisx->posRot.pos;
thisPos->x = func_80AEB87C(temp_ret_2, unk_364->x, csCmdActorAction->endPos.x);
thisPos->y = func_80AEB87C(temp_ret_2, unk_364->y, csCmdActorAction->endPos.y);
thisPos->z = func_80AEB87C(temp_ret_2, unk_364->z, csCmdActorAction->endPos.z);
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);
}
}
@ -690,15 +690,15 @@ void func_80AEBF60(EnRu1* this, GlobalContext* globalCtx) {
}
void func_80AEBFD8(EnRu1* this, GlobalContext* globalCtx) {
CsCmdActorAction* csCmdActorAction = func_80AEB438(globalCtx);
CsCmdActorAction* csCmdNPCAction = func_80AEB438(globalCtx);
f32 frameCount;
u16 csCtxFrames;
u16 csCmdActorActionEndFrame;
u16 endFrame;
if (csCmdActorAction != NULL) {
if (csCmdNPCAction != NULL) {
csCtxFrames = globalCtx->csCtx.frames;
csCmdActorActionEndFrame = csCmdActorAction->endFrame;
if (csCtxFrames >= csCmdActorActionEndFrame - 2) {
endFrame = csCmdNPCAction->endFrame;
if (csCtxFrames >= endFrame - 2) {
frameCount = SkelAnime_GetFrameCount(&D_06008100.genericHeader);
SkelAnime_ChangeAnim(&this->skelAnime, &D_06008100, 1.0, 0, frameCount, 2, -8.0f);
this->action = 6;
@ -888,14 +888,14 @@ void func_80AEC780(EnRu1* this, GlobalContext* globalCtx) {
void func_80AEC81C(EnRu1* this, GlobalContext* globalCtx) {
Actor* thisx = &this->actor;
CsCmdActorAction* csCmdActorAction;
CsCmdActorAction* csCmdNPCAction;
s16 newRotY;
if (func_80AEAFE0(globalCtx, 1, 3)) {
csCmdActorAction = globalCtx->csCtx.actorActions[3];
thisx->posRot.pos.x = csCmdActorAction->startPos.x;
thisx->posRot.pos.y = csCmdActorAction->startPos.y;
thisx->posRot.pos.z = csCmdActorAction->startPos.z;
newRotY = csCmdActorAction->rot.y;
csCmdNPCAction = globalCtx->csCtx.npcActions[3];
thisx->posRot.pos.x = csCmdNPCAction->startPos.x;
thisx->posRot.pos.y = csCmdNPCAction->startPos.y;
thisx->posRot.pos.z = csCmdNPCAction->startPos.z;
newRotY = csCmdNPCAction->rot.y;
thisx->shape.rot.y = newRotY;
thisx->posRot.rot.y = newRotY;
this->action = 9;
@ -1969,25 +1969,25 @@ void func_80AEF5B8(EnRu1* this) {
void func_80AEF624(EnRu1* this, GlobalContext* globalCtx) {
Actor* thisx = &this->actor;
f32 frameCount;
CsCmdActorAction* csCmdActorAction;
CsCmdActorAction* csCmdActorAction2;
CsCmdActorAction* csCmdNPCAction;
CsCmdActorAction* csCmdNPCAction2;
s16 newRotTmp;
if (func_80AEAFE0(globalCtx, 1, 3)) {
frameCount = SkelAnime_GetFrameCount(&D_060063F4.genericHeader);
// this weird part with the redundant variable is necessary to match for some reason
csCmdActorAction2 = globalCtx->csCtx.actorActions[3];
csCmdActorAction = csCmdActorAction2;
thisx->posRot.pos.x = csCmdActorAction->startPos.x;
thisx->posRot.pos.y = csCmdActorAction->startPos.y;
thisx->posRot.pos.z = csCmdActorAction->startPos.z;
newRotTmp = csCmdActorAction->rot.x;
csCmdNPCAction2 = globalCtx->csCtx.npcActions[3];
csCmdNPCAction = csCmdNPCAction2;
thisx->posRot.pos.x = csCmdNPCAction->startPos.x;
thisx->posRot.pos.y = csCmdNPCAction->startPos.y;
thisx->posRot.pos.z = csCmdNPCAction->startPos.z;
newRotTmp = csCmdNPCAction->rot.x;
thisx->shape.rot.x = newRotTmp;
thisx->posRot.rot.x = newRotTmp;
newRotTmp = csCmdActorAction->rot.y;
newRotTmp = csCmdNPCAction->rot.y;
thisx->shape.rot.y = newRotTmp;
thisx->posRot.rot.y = newRotTmp;
newRotTmp = csCmdActorAction->rot.z;
newRotTmp = csCmdNPCAction->rot.z;
thisx->shape.rot.z = newRotTmp;
thisx->posRot.rot.z = newRotTmp;
SkelAnime_ChangeAnim(&this->skelAnime, &D_060063F4, 1.0f, 0.0f, frameCount, 2, 0.0f);

View file

@ -1,130 +1,241 @@
#include "z_en_ru1.h"
u32 D_80AF0880[] = {
0x0000000F, 0x0000051A, 0x0000000A, 0x0000000A, 0x00270000, 0x00320000, 0x6C160000, 0x0000000C, 0xFFFFFEAC,
0xFFFFF506, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0F671408, 0x00000000, 0x00000001, 0x00030032, 0x00460000,
0x6C160000, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0F671408, 0x00000000,
0x00000001, 0x00050046, 0x006D0000, 0x6C160000, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0000000C, 0xFFFFFEAC,
0xFFFFF506, 0x0F671408, 0x00000000, 0x00000001, 0x0002006D, 0x00870000, 0x6C160000, 0x0000000C, 0xFFFFFEAC,
0xFFFFF506, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000, 0x00000001, 0x00050087, 0x00C70000,
0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000,
0x00000001, 0x000300C7, 0x00DB0000, 0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x00000064, 0xFFFFFEAC,
0xFFFFF451, 0x0F671408, 0x00000000, 0x00000001, 0x000500DB, 0x01030000, 0x6C160000, 0x00000064, 0xFFFFFEAC,
0xFFFFF451, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000, 0x00000001, 0x00030103, 0x01140000,
0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000,
0x00000001, 0x00020114, 0x01290000, 0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x000000B6, 0xFFFFFEAC,
0xFFFFF3C4, 0x0F671408, 0x00000000, 0x00000001, 0x00050129, 0x034B0000, 0x6C160000, 0x000000B6, 0xFFFFFEAC,
0xFFFFF3C4, 0x000000B6, 0xFFFFFEAC, 0xFFFFF3C4, 0x0F671408, 0x00000000, 0x00000001, 0x0000003F, 0x00000004,
0x00020000, 0x00B20000, 0xEC160000, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F,
0x0F671408, 0x00000000, 0x00000001, 0x000300B2, 0x00F50000, 0x6C160000, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F,
0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0F671408, 0x00000000, 0x00000001, 0x000400F5, 0x01040000, 0x6C160000,
0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0F671408, 0x00000000, 0x00000001,
0x00050104, 0x018C0000, 0x6C160000, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F,
0x0F671408, 0x00000000, 0x00000001, 0x00000003, 0x00000001, 0x000C013B, 0x01590000, 0x00000000, 0x00000000,
0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000, 0x00000013,
0x00000004, 0xFFFF0000, 0x009DFFFF, 0xFFFFFFFF, 0x404B009D, 0x00AF0000, 0xFFFFFFFF, 0xFFFF00AF, 0x00FCFFFF,
0xFFFFFFFF, 0x401E00FC, 0x012C0000, 0xFFFFFFFF, 0x00000001, 0x00010000, 0x00F70000, 0x00000000, 0x4235998B,
0x0037FEDE, 0xF54320BA, 0x00000000, 0x4235998B, 0x0037FEDE, 0xF54344B8, 0x00000000, 0x4235998B, 0x0037FEDE,
0xF5438080, 0x00000000, 0x4235998B, 0x0037FEDE, 0xF543E243, 0x00000000, 0x41F6662C, 0x0037FEDE, 0xF543005E,
0x00000000, 0x41F6662C, 0x0037FEDE, 0xF543FFFF, 0x00000000, 0x41F6662C, 0x0037FEDE, 0xF5430000, 0x00000000,
0x41F6662C, 0x0037FEDE, 0xF5435B80, 0xFF000000, 0x41F6662C, 0x0037FEDE, 0xF54349B4, 0x00000001, 0x00010049,
0x00D00000, 0x00000000, 0x4235998B, 0x0063FECD, 0xF45720BA, 0x00000000, 0x4235998B, 0x0063FECD, 0xF45744B8,
0x00000000, 0x4235998B, 0x0063FECD, 0xF4578080, 0x00000000, 0x4235998B, 0x0063FECD, 0xF457E243, 0x00000000,
0x4235998B, 0x0063FECD, 0xF457005E, 0x00000000, 0x4235998B, 0x0063FECD, 0xF457FFFF, 0xFF000000, 0x4235998B,
0x0063FECD, 0xF4570000, 0x00000001, 0x00010074, 0x04B70000, 0x00000000, 0x42373325, 0x009BFEEC, 0xF4A120BA,
0x00000000, 0x42373325, 0x009BFEEC, 0xF4A144B8, 0x00000000, 0x42373325, 0x009BFEEC, 0xF4A18080, 0x00000000,
0x42373325, 0x009BFEEC, 0xF4A1E243, 0xFF000000, 0x42373325, 0x009BFEEC, 0xF4A1005E, 0x00000001, 0x000100BA,
0x04FD0000, 0x00000000, 0x4235998C, 0x004DFEC5, 0xF45020BA, 0x00000000, 0x4235998C, 0x004DFEC5, 0xF45044B8,
0x00000000, 0x4235998C, 0x004DFEC5, 0xF4508080, 0x00000000, 0x4235998C, 0x004DFEC5, 0xF450E243, 0xFF000000,
0x4235998C, 0x004DFEC5, 0xF450005E, 0x00000001, 0x00010100, 0x01A90000, 0x00000000, 0x41E1995C, 0x015EFF13,
0xF30E20BA, 0x00000000, 0x41E1995C, 0x015EFF13, 0xF30E44B8, 0x00000000, 0x41E1995C, 0x015EFF13, 0xF30E8080,
0x00000000, 0x41E1995C, 0x015EFF13, 0xF30EE243, 0x00000000, 0x423B3327, 0x015EFF13, 0xF30E005E, 0x00000000,
0x423B3327, 0x015EFF13, 0xF30EFFFF, 0x00000000, 0x423B3327, 0x015EFF13, 0xF30E0000, 0xFF000000, 0x423B3327,
0x015EFF13, 0xF30E5B80, 0x00000002, 0x00010000, 0x01140000, 0x00000032, 0x4235998B, 0x0028FF00, 0xF4F920BA,
0x00000032, 0x4235998B, 0x0028FF00, 0xF4F944B8, 0x00000028, 0x4235998B, 0x0016FEC7, 0xF4F98080, 0x0000000A,
0x4235998B, 0x0017FEC7, 0xF4F9E243, 0x00000006, 0x41F6662C, 0x0049FED6, 0xF4F4005E, 0x0000001E, 0x41F6662C,
0x0049FED6, 0xF4F4FFFF, 0x0000001E, 0x41F6662C, 0x0049FED6, 0xF4F40000, 0x0000001E, 0x41F6662C, 0x0049FED6,
0xF4F45B80, 0xFF00001E, 0x41F6662C, 0x0049FED6, 0xF4F449B4, 0x00000002, 0x00010049, 0x00ED0000, 0x0000001E,
0x4270CCCD, 0x0088FEC6, 0xF40C20BA, 0x00000007, 0x42726667, 0x0088FEC6, 0xF40C44B8, 0x00000007, 0x4235998B,
0x0088FEC6, 0xF40C8080, 0x0000001E, 0x4235998B, 0x0088FEC6, 0xF40CE243, 0x0000001E, 0x4235998B, 0x0088FEC6,
0xF40C005E, 0x0000001E, 0x4235998B, 0x0087FEC7, 0xF40CFFFF, 0xFF00001E, 0x4235998B, 0x0087FEC7, 0xF40D0000,
0x00000002, 0x00010074, 0x04D40000, 0x0000001E, 0x42373325, 0x0084FECF, 0xF46720BA, 0x0000001E, 0x42373325,
0x0084FED0, 0xF46744B8, 0x000003E8, 0x42373325, 0x0085FED0, 0xF4678080, 0x0000001E, 0x42373325, 0x0085FED0,
0xF467E243, 0xFF00001E, 0x42373325, 0x0085FED0, 0xF467005E, 0x00000002, 0x000100BA, 0x051A0000, 0x0000001E,
0x4235998C, 0x008AFED3, 0xF42820BA, 0x0000001E, 0x4235998C, 0x008AFED3, 0xF42844B8, 0x000003E8, 0x4235998C,
0x008AFED3, 0xF4288080, 0x0000001E, 0x4235998C, 0x008AFED3, 0xF428E243, 0xFF00001E, 0x4235998C, 0x008AFED3,
0xF428005E, 0x00000002, 0x00010100, 0x01C60000, 0x0000001E, 0x41E1995C, 0x0133FF02, 0xF34620BA, 0x0000001E,
0x41E1995C, 0x0133FF02, 0xF34644B8, 0x00000009, 0x41E1995C, 0x0133FF02, 0xF3468080, 0x00000009, 0x423B3327,
0x0130FEEF, 0xF337E243, 0x0000001E, 0x423B3327, 0x0130FEF0, 0xF336005E, 0x0000001E, 0x423B3327, 0x0130FEF0,
0xF336FFFF, 0x0000001E, 0x423B3327, 0x0130FEF0, 0xF3360000, 0xFF00001E, 0x423B3327, 0x0131FEF0, 0xF3365B80,
0x00000056, 0x00000001, 0x0052004A, 0x004B0000, 0x00000000, 0xFFFFFFF1, 0x00000000, 0x0000004E, 0xFFFFFFF1,
0x00000000, 0x0000004E, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000,
#include <z64cutscene_commands.h>
// clang-format off
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_MISC_LIST(1),
CS_MISC(0x000C, 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_NONE(175, 252),
CS_TEXT_DISPLAY_TEXTBOX(0x401E, 252, 300, 0x0000, 0xFFFF, 0xFFFF),
CS_CAM_POS_LIST(0, 247),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x44B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x8080),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0xE243),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x005E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x5B80),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 30.799889f, 55, -290, -2749, 0x49B4),
CS_CAM_POS_LIST(73, 208),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x44B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x8080),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xE243),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x005E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xFFFF),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.399944f, 99, -307, -2985, 0x0000),
CS_CAM_POS_LIST(116, 1207),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x44B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x8080),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0xE243),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.799946f, 155, -276, -2911, 0x005E),
CS_CAM_POS_LIST(186, 1277),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x44B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x8080),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0xE243),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.39995f, 77, -315, -2992, 0x005E),
CS_CAM_POS_LIST(256, 425),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x44B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x8080),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0xE243),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x005E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x0000),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 46.799953f, 350, -237, -3314, 0x5B80),
CS_CAM_FOCUS_POINT_LIST(0, 276),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 45.399944f, 22, -313, -2823, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 45.399944f, 23, -313, -2823, 0xE243),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 6, 30.799889f, 73, -298, -2828, 0x005E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x5B80),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 30.799889f, 73, -298, -2828, 0x49B4),
CS_CAM_FOCUS_POINT_LIST(73, 237),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.2f, 136, -314, -3060, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 60.600002f, 136, -314, -3060, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 45.399944f, 136, -314, -3060, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0xE243),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0x005E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 135, -313, -3060, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.399944f, 135, -313, -3059, 0x0000),
CS_CAM_FOCUS_POINT_LIST(116, 1236),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 132, -305, -2969, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 132, -304, -2969, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.799946f, 133, -304, -2969, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 133, -304, -2969, 0xE243),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.799946f, 133, -304, -2969, 0x005E),
CS_CAM_FOCUS_POINT_LIST(186, 1306),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.39995f, 138, -301, -3032, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0xE243),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.39995f, 138, -301, -3032, 0x005E),
CS_CAM_FOCUS_POINT_LIST(256, 454),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 9, 28.199883f, 307, -254, -3258, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 9, 46.799953f, 304, -273, -3273, 0xE243),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x005E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x0000),
CS_CAM_FOCUS_POINT(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_END(),
CS_PAD(),
CS_PAD(),
};
u32 D_80AF10A4[] = {
0x0000000E, 0x00000513, 0x0000000A, 0x00000003, 0x00050000, 0x01100000, 0xC0000000, 0xFFFFFBC3, 0xFFFFFBFF,
0xFFFFF2ED, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0x0F671408, 0x00000000, 0x00000001, 0x00030110, 0x01240000,
0xC0000000, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0x0F671408, 0x00000000,
0x00000001, 0x00050124, 0x03090000, 0xC0000000, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0xFFFFFBC3, 0xFFFFFBFF,
0xFFFFF2ED, 0x0F671408, 0x00000000, 0x00000001, 0x00000003, 0x00000001, 0x000C014A, 0x02730000, 0x00000000,
0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000,
0x00000042, 0x00000003, 0x00010000, 0x00280000, 0x40000000, 0xFFFFFAB8, 0xFFFFFC37, 0xFFFFF2F3, 0xFFFFFAB8,
0xFFFFFC37, 0xFFFFF2F3, 0x00000000, 0x00000000, 0x00000001, 0x00020028, 0x00D50000, 0x40000000, 0xFFFFFAB8,
0xFFFFFC37, 0xFFFFF2F3, 0xFFFFFAB0, 0xFFFFFC37, 0xFFFFF2F1, 0x00000000, 0x00000000, 0x00000001, 0x000300D5,
0x03E80000, 0x40000000, 0xFFFFFAB0, 0xFFFFFC37, 0xFFFFF2F1, 0xFFFFFAB0, 0xFFFFFC37, 0xFFFFF2F1, 0x00000000,
0x00000000, 0x00000001, 0x00000030, 0x00000001, 0x00020000, 0x005A0000, 0x00000000, 0xFFFFFAB0, 0xFFFFFC3D,
0xFFFFF2F1, 0xFFFFFAB0, 0xFFFFFC3D, 0xFFFFF2F1, 0x00000000, 0x00000000, 0x00000000, 0x00000030, 0x00000002,
0x0002005A, 0x00D30000, 0x00000000, 0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3, 0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3,
0x00000000, 0x00000000, 0x00000000, 0x000600D3, 0x01370000, 0x00000000, 0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3,
0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3, 0x00000000, 0x00000000, 0x00000000, 0x0000003E, 0x00000003, 0x00040000,
0x00D20000, 0x00000000, 0xFFFFFBD7, 0xFFFFFC34, 0xFFFFF317, 0xFFFFFBD7, 0xFFFFFC2E, 0xFFFFF317, 0x00000000,
0xBCEA0EA1, 0x00000000, 0x000400D2, 0x00DC8000, 0x00000000, 0xFFFFFBD7, 0xFFFFFC2E, 0xFFFFF317, 0xFFFFFBD7,
0xFFFFFC33, 0xFFFFF2F0, 0x00000000, 0x3F000000, 0x00000000, 0x000400DC, 0x019A0000, 0x00000000, 0xFFFFFBD7,
0xFFFFFC33, 0xFFFFF2F0, 0xFFFFFBD7, 0xFFFFFC30, 0xFFFFF2F0, 0x00000000, 0xBC8158ED, 0x00000000, 0x00000013,
0x00000006, 0xFFFF0000, 0x00A2FFFF, 0xFFFFFFFF, 0x405000A2, 0x00D30000, 0xFFFFFFFF, 0xFFFF00D3, 0x00E8FFFF,
0xFFFFFFFF, 0x405100E8, 0x00F10000, 0xFFFFFFFF, 0xFFFF00F1, 0x00F7FFFF, 0xFFFFFFFF, 0x405200F7, 0x012B0000,
0xFFFFFFFF, 0x00000056, 0x00000001, 0x00230070, 0x00710000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x000000B1,
0x00000000, 0xFFFFFFC7, 0x000000B1, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00010000, 0x04980000,
0x00000000, 0x4227A05C, 0xFA92FC4C, 0xF2F500C6, 0x00000000, 0x4222D38E, 0xFA92FC4C, 0xF2F500C8, 0x00000000,
0x4222D38E, 0xFA92FC4C, 0xF2F500D7, 0x00000000, 0x4222D38E, 0xFA76FC56, 0xF2F700E8, 0x00000000, 0x42346D2B,
0xFA76FC56, 0xF2F700EA, 0x00000000, 0x42346D2B, 0xFA76FC56, 0xF2F7013D, 0x00000000, 0x42346D2B, 0xFA76FC56,
0xF2F7013F, 0xFF000000, 0x42346D2B, 0xFA76FC56, 0xF2F7006D, 0x00000001, 0x0001005B, 0x04F60000, 0x00000000,
0x4233A05F, 0xFAD9FC5A, 0xF2F100C6, 0x00000000, 0x4232D392, 0xFAD9FC58, 0xF2F000C8, 0x00000000, 0x4232D392,
0xFAD9FC58, 0xF2F000D7, 0x00000000, 0x4232D392, 0xFAD9FC58, 0xF2F000E8, 0x00000000, 0x4232D392, 0xFAD2FC78,
0xF2F200EA, 0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2013D, 0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2013F,
0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2014E, 0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2015F, 0x00000000,
0x4273A06F, 0xFAD2FC78, 0xF2F20161, 0xFF000000, 0x4273A06F, 0xFAD2FC00, 0xF2F2652E, 0x00000001, 0x000100D3,
0x014C0000, 0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300C6, 0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300C8,
0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300D7, 0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300E8, 0xFF000000,
0x41F273D3, 0xFA41FCCD, 0xF3B300EA, 0x00000002, 0x00010000, 0x04B50000, 0x0000001E, 0x4222D38E, 0xFAF1FC15,
0xF2E800C6, 0x00000032, 0x4222D38E, 0xFAF0FC15, 0xF2E800C8, 0x00000014, 0x4222D38E, 0xFAF0FC15, 0xF2E800D7,
0x0000000F, 0x42346D2B, 0xFADEFC37, 0xF2EE00E8, 0x0000001E, 0x42346D2B, 0xFADFFC36, 0xF2EE00EA, 0x000003E8,
0x42346D2B, 0xFADFFC37, 0xF2EE013D, 0x0000001E, 0x42346D2B, 0xFADFFC36, 0xF2EE013F, 0xFF00001E, 0x42346D2B,
0xFADFFC36, 0xF2EE006D, 0x00000002, 0x0001005B, 0x05130000, 0x0000001E, 0x4232D392, 0xFA83FC24, 0xF2F100C6,
0x00000007, 0x4232D392, 0xFA82FC23, 0xF2F000C8, 0x00000007, 0x4232D392, 0xFA82FC23, 0xF2F000D7, 0x00000007,
0x4232D392, 0xFA82FC23, 0xF2F000E8, 0x00000007, 0x4273A06F, 0xFA8FFC2E, 0xF2F200EA, 0x0000001E, 0x4273A06F,
0xFA8FFC2F, 0xF2F2013D, 0x0000001E, 0x4273A06F, 0xFA8FFC2F, 0xF2F2013F, 0x000003E8, 0x4273A06F, 0xFA8FFC2F,
0xF2F2014E, 0x0000001E, 0x4273A06F, 0xFA8FFC2F, 0xF2F2015F, 0x0000001E, 0x4273A06F, 0xFA8FFC2F, 0xF2F20161,
0xFF00001E, 0x4273A06F, 0xFA87FBBA, 0xF2ED652E, 0x00000002, 0x000100D3, 0x01690000, 0x0000001E, 0x41F273D3,
0xFA6EFCA7, 0xF38A00C6, 0x0000001E, 0x41F273D3, 0xFA6EFCA7, 0xF38A00C8, 0x0000001E, 0x41F273D3, 0xFA6EFCA7,
0xF38A00D7, 0x0000001E, 0x41F273D3, 0xFA6EFCA7, 0xF38A00E8, 0xFF00001E, 0x41F273D3, 0xFA6EFCA7, 0xF38A00EA,
0xFFFFFFFF, 0x00000000, 0x00000000,
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_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_TEXT_LIST(6),
CS_TEXT_NONE(0, 162),
CS_TEXT_DISPLAY_TEXTBOX(0x4050, 162, 211, 0x0000, 0xFFFF, 0xFFFF),
CS_TEXT_NONE(211, 232),
CS_TEXT_DISPLAY_TEXTBOX(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_POS_LIST(0, 1176),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 41.9066f, -1390, -948, -3339, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1418, -938, -3337, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013F),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x006D),
CS_CAM_POS_LIST(91, 1270),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.906612f, -1319, -934, -3343, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1326, -904, -3342, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013F),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x014E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x015F),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x0161),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.906673f, -1326, -1024, -3342, 0x652E),
CS_CAM_POS_LIST(211, 332),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00EA),
CS_CAM_FOCUS_POINT_LIST(0, 1205),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.706596f, -1295, -1003, -3352, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 40.706596f, -1296, -1003, -3352, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 40.706596f, -1296, -1003, -3352, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 45.10661f, -1314, -969, -3346, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.10661f, -1313, -969, -3346, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x006D),
CS_CAM_FOCUS_POINT_LIST(91, 1299),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 44.70661f, -1405, -988, -3343, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 60.906673f, -1393, -978, -3342, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 60.906673f, -1393, -977, -3342, 0x014E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x015F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x0161),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.906673f, -1401, -1094, -3347, 0x652E),
CS_CAM_FOCUS_POINT_LIST(211, 361),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00EA),
CS_END(),
CS_PAD(),
CS_PAD(),
};
u32 D_80AF1728[] = {
0x00000007, 0x00000488, 0x00000003, 0x00000001, 0x000C004B, 0x02730000, 0x00000000, 0x00000000, 0xFFFFFFC0,
0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000, 0x00000030, 0x00000001,
0x00020000, 0x005A0000, 0x00000000, 0xFFFFFAB0, 0xFFFFFC3D, 0xFFFFF2F1, 0xFFFFFAB0, 0xFFFFFC3D, 0xFFFFF2F1,
0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00010000, 0x04430000, 0x00000000, 0x42226662, 0xFA9BFC42,
0xF2FD8BC0, 0x00000000, 0x42226662, 0xFA9BFC42, 0xF2FD2200, 0x00000000, 0x42226662, 0xFA9BFC42, 0xF2FD0000,
0x00000000, 0x42226662, 0xFA9BFC42, 0xF2FDD0E8, 0xFF000000, 0x42226662, 0xFA9BFC42, 0xF2FD0000, 0x00000005,
0x00010028, 0x046B0000, 0x00000000, 0x424B3339, 0x00130028, 0x00358BC0, 0x00000000, 0x424B3339, 0x00130028,
0x00352200, 0x00000000, 0x424B3339, 0x00130028, 0x00350000, 0x00000000, 0x424B3339, 0x00130028, 0x0035D0E8,
0xFF000000, 0x424B3339, 0x00130028, 0x00350000, 0x00000002, 0x00010000, 0x04600000, 0x0000001E, 0x42226662,
0xFB38FC2D, 0xF2DA8BC0, 0x0000001E, 0x42226662, 0xFB38FC2D, 0xF2DA2200, 0x000003E8, 0x42226662, 0xFB38FC2D,
0xF2DA0000, 0x0000001E, 0x42226662, 0xFB38FC2D, 0xF2DAD0E8, 0xFF00001E, 0x42226662, 0xFB38FC2D, 0xF2DA0000,
0x00000006, 0x00010028, 0x04880000, 0x0000001E, 0x424B3339, 0xFFDD0038, 0xFFA38BC0, 0x0000001E, 0x424B3339,
0xFFDD0038, 0xFFA32200, 0x000003E8, 0x424B3339, 0xFFDD0038, 0xFFA30000, 0x0000001E, 0x424B3339, 0xFFDD0038,
0xFFA3D0E8, 0xFF00001E, 0x424B3339, 0xFFDD0038, 0xFFA30000, 0x00000013, 0x00000002, 0xFFFF0000, 0x0023FFFF,
0xFFFFFFFF, 0x404F0023, 0x00460000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000,
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_POS_LIST(0, 1091),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x8BC0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x2200),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0xD0E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
CS_CAM_POS_PLAYER_LIST(40, 1131),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x8BC0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x2200),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0xD0E8),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
CS_CAM_FOCUS_POINT_LIST(0, 1120),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x8BC0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x2200),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 40.599983f, -1224, -979, -3366, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0xD0E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER_LIST(40, 1160),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x8BC0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x2200),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 50.800022f, -35, 56, -93, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0xD0E8),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_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_END(),
CS_PAD(),
};
// clang-format on