OnePointDemo OK (#719)

* matches

* more matches

* progress?

* it's time

* so close

* organize declarations

* docs

* more fixes

* more fixes

* fix stage 1

* more fixes

* first try

* demo ids in decimal

* final cleanup

* one more thing

* fixes

* more cleanup

* onepointcs

* OnePointCutscene

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
petrie911
2021-03-31 11:18:31 -05:00
committed by GitHub
parent 28cfd82a4f
commit 9b4482314a
233 changed files with 3949 additions and 7571 deletions
+9 -9
View File
@@ -42,7 +42,7 @@ void ActorShadow_Draw(Actor* actor, Lights* lights, GlobalContext* globalCtx, Gf
Matrix_Put(&sp60);
if (dlist != gCircleShadowDL) {
Matrix_RotateY(actor->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateY(actor->shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
}
temp2 = (1.0f - (temp1 * (1.0f / 350))) * actor->shape.shadowScale;
@@ -407,7 +407,7 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Matrix_Translate(actor->focus.pos.x, actor->focus.pos.y + (actor->targetArrowOffset * actor->scale.y) + 17.0f,
actor->focus.pos.z, MTXMODE_NEW);
Matrix_RotateY((f32)((u16)(globalCtx->gameplayFrames * 3000)) * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateY((f32)((u16)(globalCtx->gameplayFrames * 3000)) * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale((iREG(27) + 35) / 1000.0f, (iREG(28) + 60) / 1000.0f, (iREG(29) + 50) / 1000.0f, MTXMODE_APPLY);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, naviColor->inner.r, naviColor->inner.g, naviColor->inner.b, 255);
@@ -1898,7 +1898,7 @@ void func_8002FBAC(GlobalContext* globalCtx) {
spD4 = spCC * 0.200000000000000011102230246252 + 1.0f;
}
if ((globalCtx->csCtx.state == 0) &&
if ((globalCtx->csCtx.state == CS_STATE_IDLE) &&
(gSaveContext.respawn[RESPAWN_MODE_TOP].entranceIndex == gSaveContext.entranceIndex) &&
(globalCtx->roomCtx.curRoom.num == gSaveContext.respawn[RESPAWN_MODE_TOP].roomIndex)) {
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0x19);
@@ -2430,7 +2430,7 @@ void func_800315AC(GlobalContext* globalCtx, ActorContext* actorCtx) {
if ((HREG(64) != 1) || (HREG(72) != 0)) {
if (globalCtx->actorCtx.unk_03 != 0) {
func_8003115C(globalCtx, invisibleActorCounter, invisibleActors);
if ((globalCtx->csCtx.state != 0) || Player_InCsMode(globalCtx)) {
if ((globalCtx->csCtx.state != CS_STATE_IDLE) || Player_InCsMode(globalCtx)) {
func_800304B0(globalCtx);
}
}
@@ -3842,7 +3842,7 @@ s16 func_80034DD4(Actor* actor, GlobalContext* globalCtx, s16 arg2, f32 arg3) {
Player* player = PLAYER;
f32 var;
if ((globalCtx->csCtx.state != 0) || (gDbgCamEnabled != 0)) {
if ((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) {
var = Math_Vec3f_DistXYZ(&actor->world.pos, &globalCtx->view.eye) * 0.25f;
} else {
var = Math_Vec3f_DistXYZ(&actor->world.pos, &player->actor.world.pos);
@@ -5488,7 +5488,7 @@ s32 func_80038154(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
actor->focus.pos = actor->world.pos;
actor->focus.pos.y += arg4;
if (!(((globalCtx->csCtx.state != 0) || (gDbgCamEnabled != 0)) && (gSaveContext.entranceIndex == 0x00EE))) {
if (!(((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE))) {
var = actor->yawTowardsPlayer - actor->shape.rot.y;
abs_var = ABS(var);
if (abs_var >= 0x4300) {
@@ -5497,7 +5497,7 @@ s32 func_80038154(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
}
}
if (((globalCtx->csCtx.state != 0) || (gDbgCamEnabled != 0)) && (gSaveContext.entranceIndex == 0x00EE)) {
if (((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE)) {
sp2C = globalCtx->view.eye;
} else {
sp2C = player->actor.focus.pos;
@@ -5517,7 +5517,7 @@ s32 func_80038290(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
actor->focus.pos = arg4;
if (!(((globalCtx->csCtx.state != 0) || (gDbgCamEnabled != 0)) && (gSaveContext.entranceIndex == 0x00EE))) {
if (!(((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE))) {
var = actor->yawTowardsPlayer - actor->shape.rot.y;
abs_var = ABS(var);
if (abs_var >= 0x4300) {
@@ -5526,7 +5526,7 @@ s32 func_80038290(GlobalContext* globalCtx, Actor* actor, Vec3s* arg2, Vec3s* ar
}
}
if (((globalCtx->csCtx.state != 0) || (gDbgCamEnabled != 0)) && (gSaveContext.entranceIndex == 0x00EE)) {
if (((globalCtx->csCtx.state != CS_STATE_IDLE) || (gDbgCamEnabled)) && (gSaveContext.entranceIndex == 0x00EE)) {
sp24 = globalCtx->view.eye;
} else {
sp24 = player->actor.focus.pos;
+170 -180
View File
@@ -15,8 +15,6 @@ s32 Camera_CheckWater(Camera* camera);
#define NEXTSETTING ((values++)->val)
#define NEXTPCT PCT(NEXTSETTING)
#define ONEPOINTDEMO ((Unique9OnePointDemo*)camera->paramData)
#define BGCAM_POS(v) ((v)[0])
#define BGCAM_ROT(v) ((v)[1])
#define BGCAM_FOV(v) ((v)[2].x)
@@ -1498,7 +1496,7 @@ s32 Camera_Normal1(Camera* camera) {
sp9C = camera->speedRatio * PCT(OREG(26));
sp98 = anim->swing.unk_18 != 0 ? PCT(OREG(25)) : spA0;
sp94 = (camera->xzSpeed - anim->unk_20) * (0.3333329856395721435546875f);
sp94 = (camera->xzSpeed - anim->unk_20) * (0.333333f);
if (sp94 > 1.0f) {
sp94 = 1.0f;
}
@@ -4993,13 +4991,13 @@ s32 Camera_Unique8(Camera* camera) {
s32 Camera_Unique9(Camera* camera) {
Vec3f atTarget;
Vec3f eyeTarget;
Unique9* uniq9 = &ONEPOINTDEMO->uniq9;
Unique9* uniq9 = &ONEPOINT_CS_INFO(camera)->uniq9;
Unique9Anim* anim = &uniq9->anim;
f32 invKeyFrameTimer;
VecSph eyeNextAtOffset;
VecSph scratchSph;
VecSph playerTargetOffset;
s16 pad;
s16 action;
s16 atInitFlags;
s16 eyeInitFlags;
s16 pad2;
@@ -5008,19 +5006,17 @@ s32 Camera_Unique9(Camera* camera) {
PosRot playerPosRot;
Vec3f* eyeNext = &camera->eyeNext;
Vec3f* at = &camera->at;
s16 action;
Player* player;
Vec3f* eye = &camera->eye;
Player* player = camera->player;
Actor* focusActor;
f32 spB4;
PosRot atFocusPosRot;
Vec3f eyeLookAtPos;
Vec3f* eye = &camera->eye;
CameraModeValue* values;
PosRot eyeFocusPosRot;
player = camera->player;
if (RELOAD_PARAMS) {
CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
uniq9->interfaceFlags = NEXTSETTING;
}
@@ -5051,8 +5047,8 @@ s32 Camera_Unique9(Camera* camera) {
if (anim->keyFrameTimer == 0) {
anim->isNewKeyFrame = true;
anim->curKeyFrameIdx++;
if (anim->curKeyFrameIdx < ONEPOINTDEMO->keyFrameCnt) {
anim->curKeyFrame = &ONEPOINTDEMO->keyFrames[anim->curKeyFrameIdx];
if (anim->curKeyFrameIdx < ONEPOINT_CS_INFO(camera)->keyFrameCnt) {
anim->curKeyFrame = &ONEPOINT_CS_INFO(camera)->keyFrames[anim->curKeyFrameIdx];
anim->keyFrameTimer = anim->curKeyFrame->timerInit;
if (anim->curKeyFrame->unk_01 != 0xFF) {
@@ -5070,7 +5066,7 @@ s32 Camera_Unique9(Camera* camera) {
}
} else {
// We've gone through all the keyframes.
if (camera->thisIdx != 0) {
if (camera->thisIdx != MAIN_CAM) {
camera->timer = 0;
}
return true;
@@ -5132,13 +5128,10 @@ s32 Camera_Unique9(Camera* camera) {
if (focusActor != NULL) {
if ((atInitFlags & 0xF) == 1) {
// head
Actor_GetFocus(&atFocusPosRot, focusActor);
} else if ((atInitFlags & 0xF) == 2) {
// world
Actor_GetWorld(&atFocusPosRot, focusActor);
} else {
// world, shape rot
Actor_GetWorldPosShapeRot(&atFocusPosRot, focusActor);
}
@@ -5179,19 +5172,59 @@ s32 Camera_Unique9(Camera* camera) {
anim->eyeTarget.y = camera->eyeNext.y + anim->curKeyFrame->eyeTargetInit.y;
anim->eyeTarget.z = camera->eyeNext.z + anim->curKeyFrame->eyeTargetInit.z;
}
} else {
if (eyeInitFlags == 0x400 || eyeInitFlags == (s16)0x8400 || eyeInitFlags == 0x500 ||
eyeInitFlags == (s16)0x8500) {
if (camera->target != NULL && camera->target->update != NULL) {
Actor_GetFocus(&targethead, camera->target);
Actor_GetFocus(&playerhead, &camera->player->actor);
playerhead.pos.x = playerPosRot.pos.x;
playerhead.pos.z = playerPosRot.pos.z;
OLib_Vec3fDiffToVecSphGeo(&playerTargetOffset, &targethead.pos, &playerhead.pos);
if (eyeInitFlags == 0x400 || eyeInitFlags == (s16)0x8400) {
eyeLookAtPos = targethead.pos;
} else if (eyeInitFlags == 0x400 || eyeInitFlags == (s16)0x8400 || eyeInitFlags == 0x500 ||
eyeInitFlags == (s16)0x8500) {
if (camera->target != NULL && camera->target->update != NULL) {
Actor_GetFocus(&targethead, camera->target);
Actor_GetFocus(&playerhead, &camera->player->actor);
playerhead.pos.x = playerPosRot.pos.x;
playerhead.pos.z = playerPosRot.pos.z;
OLib_Vec3fDiffToVecSphGeo(&playerTargetOffset, &targethead.pos, &playerhead.pos);
if (eyeInitFlags == 0x400 || eyeInitFlags == (s16)0x8400) {
eyeLookAtPos = targethead.pos;
} else {
eyeLookAtPos = anim->atTarget;
}
if (eyeInitFlags & (s16)0x8080) {
scratchSph.pitch = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.x);
scratchSph.yaw = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.y);
scratchSph.r = anim->curKeyFrame->eyeTargetInit.z;
} else {
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->eyeTargetInit);
}
scratchSph.yaw += playerTargetOffset.yaw;
scratchSph.pitch += playerTargetOffset.pitch;
Camera_Vec3fVecSphGeoAdd(&anim->eyeTarget, &eyeLookAtPos, &scratchSph);
} else {
if (camera->target == NULL) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: demo C: actor is not valid\n" VT_RST);
}
camera->target = NULL;
anim->eyeTarget = *eyeNext;
}
} else if (eyeInitFlags & 0x6060) {
if (!(eyeInitFlags & 0x400) || anim->isNewKeyFrame) {
if (eyeInitFlags & 0x2020) {
focusActor = &camera->player->actor;
} else if (camera->target != NULL && camera->target->update != NULL) {
focusActor = camera->target;
} else {
camera->target = NULL;
focusActor = NULL;
}
if (focusActor != NULL) {
if ((eyeInitFlags & 0xF00) == 0x100) {
// head
Actor_GetFocus(&eyeFocusPosRot, focusActor);
} else if ((eyeInitFlags & 0xF00) == 0x200) {
// world
Actor_GetWorld(&eyeFocusPosRot, focusActor);
} else {
eyeLookAtPos = anim->atTarget;
// world, shapeRot
Actor_GetWorldPosShapeRot(&eyeFocusPosRot, focusActor);
}
if (eyeInitFlags & (s16)0x8080) {
@@ -5202,9 +5235,9 @@ s32 Camera_Unique9(Camera* camera) {
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->eyeTargetInit);
}
scratchSph.yaw += playerTargetOffset.yaw;
scratchSph.pitch += playerTargetOffset.pitch;
Camera_Vec3fVecSphGeoAdd(&anim->eyeTarget, &eyeLookAtPos, &scratchSph);
scratchSph.yaw += eyeFocusPosRot.rot.y;
scratchSph.pitch -= eyeFocusPosRot.rot.x;
Camera_Vec3fVecSphGeoAdd(&anim->eyeTarget, &eyeFocusPosRot.pos, &scratchSph);
} else {
if (camera->target == NULL) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: demo C: actor is not valid\n" VT_RST);
@@ -5212,53 +5245,9 @@ s32 Camera_Unique9(Camera* camera) {
camera->target = NULL;
anim->eyeTarget = *eyeNext;
}
} else {
if (eyeInitFlags & 0x6060) {
if (!(eyeInitFlags & 0x400) || anim->isNewKeyFrame) {
if (eyeInitFlags & 0x2020) {
focusActor = &camera->player->actor;
} else if (camera->target != NULL && camera->target->update != NULL) {
focusActor = camera->target;
} else {
camera->target = NULL;
focusActor = NULL;
}
if (focusActor != NULL) {
if ((eyeInitFlags & 0xF00) == 0x100) {
// head
Actor_GetFocus(&eyeFocusPosRot, focusActor);
} else if ((eyeInitFlags & 0xF00) == 0x200) {
// world
Actor_GetWorld(&eyeFocusPosRot, focusActor);
} else {
// world, shapeRot
Actor_GetWorldPosShapeRot(&eyeFocusPosRot, focusActor);
}
if (eyeInitFlags & (s16)0x8080) {
scratchSph.pitch = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.x);
scratchSph.yaw = DEGF_TO_BINANG(anim->curKeyFrame->eyeTargetInit.y);
scratchSph.r = anim->curKeyFrame->eyeTargetInit.z;
} else {
OLib_Vec3fToVecSphGeo(&scratchSph, &anim->curKeyFrame->eyeTargetInit);
}
scratchSph.yaw += eyeFocusPosRot.rot.y;
scratchSph.pitch -= eyeFocusPosRot.rot.x;
Camera_Vec3fVecSphGeoAdd(&anim->eyeTarget, &eyeFocusPosRot.pos, &scratchSph);
} else {
if (camera->target == NULL) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: demo C: actor is not valid\n" VT_RST);
}
camera->target = NULL;
anim->eyeTarget = *eyeNext;
}
}
} else {
anim->eyeTarget = *eyeNext;
}
}
} else {
anim->eyeTarget = *eyeNext;
}
if (anim->curKeyFrame->initFlags == 2) {
@@ -5413,19 +5402,22 @@ s32 Camera_Unique9(Camera* camera) {
// Set current keyframe to the roll target?
anim->curKeyFrameIdx = anim->rollTarget;
break;
case 19:
case 19: {
// Change the parent camera (or default)'s mode to normal
Camera_ChangeModeFlags(camera->globalCtx->cameraPtrs[camera->parentCamIdx < 0 ? 0 : camera->parentCamIdx],
CAM_MODE_NORMAL, 1);
case 18:
s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? MAIN_CAM : camera->parentCamIdx;
Camera_ChangeModeFlags(camera->globalCtx->cameraPtrs[camIdx], CAM_MODE_NORMAL, 1);
}
case 18: {
// copy the current camera to the parent (or default)'s camera.
{
Camera* cam = camera->globalCtx->cameraPtrs[camera->parentCamIdx < 0 ? 0 : camera->parentCamIdx];
*eye = *eyeNext;
Camera_Copy(cam, camera);
}
s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? MAIN_CAM : camera->parentCamIdx;
Camera* cam = camera->globalCtx->cameraPtrs[camIdx];
*eye = *eyeNext;
Camera_Copy(cam, camera);
}
default:
if (camera->thisIdx != 0) {
if (camera->thisIdx != MAIN_CAM) {
camera->timer = 0;
}
}
@@ -5598,19 +5590,18 @@ s32 Camera_Demo3(Camera* camera) {
Vec3f sp5C;
f32 temp_f0;
s32 pad;
u8 skipUpdateEye;
f32 yOffset;
u8 skipUpdateEye = false;
f32 yOffset = Player_GetHeight(camera->player);
s16 angle;
Demo3* demo3 = (Demo3*)camera->paramData;
Demo3Anim* anim = &demo3->anim;
s32 pad2;
skipUpdateEye = false;
yOffset = Player_GetHeight(camera->player);
camera->unk_14C &= ~0x10;
if (RELOAD_PARAMS) {
CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
demo3->fov = NEXTSETTING;
demo3->unk_04 = NEXTSETTING; // unused.
demo3->interfaceFlags = NEXTSETTING;
@@ -5762,7 +5753,7 @@ s32 Camera_Demo3(Camera* camera) {
}
sCameraInterfaceFlags = 0;
skipeyeUpdate:
skipUpdateEye = 1;
skipUpdateEye = true;
break;
}
@@ -5845,28 +5836,28 @@ s32 Camera_Demo5(Camera* camera) {
D_8011D6AC[1].timerInit = camera->timer - 1;
D_8011D6AC[1].atTargetInit.z = Rand_ZeroOne() * 10.0f;
D_8011D6AC[1].eyeTargetInit.x = Rand_ZeroOne() * 10.0f;
ONEPOINTDEMO->keyFrames = D_8011D6AC;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D6AC);
if (camera->parentCamIdx != 0) {
ONEPOINTDEMO->keyFrameCnt--;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D6AC;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D6AC);
if (camera->parentCamIdx != MAIN_CAM) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D6AC[2].timerInit;
}
} else {
D_8011D724[1].eyeTargetInit.x = Rand_ZeroOne() * 10.0f;
D_8011D724[1].timerInit = camera->timer - 1;
ONEPOINTDEMO->keyFrames = D_8011D724;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D724);
if (camera->parentCamIdx != 0) {
ONEPOINTDEMO->keyFrameCnt--;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D724;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D724);
if (camera->parentCamIdx != MAIN_CAM) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D724[2].timerInit;
}
}
} else if (playerTargetGeo.r < 30.0f) {
// distance between player and target is less than 30 units.
ONEPOINTDEMO->keyFrames = D_8011D79C;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D79C);
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D79C;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D79C);
if ((sp78.yaw < 0x15) || (sp78.yaw >= 0x12C) || (sp78.pitch < 0x29) || (sp78.pitch >= 0xC8)) {
D_8011D79C[0].actionFlags = 0x41;
D_8011D79C[0].atTargetInit.y = -30.0f;
@@ -5879,8 +5870,8 @@ s32 Camera_Demo5(Camera* camera) {
D_8011D79C[1].timerInit = camera->timer - 1;
if (camera->parentCamIdx != 0) {
ONEPOINTDEMO->keyFrameCnt -= 2;
if (camera->parentCamIdx != MAIN_CAM) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
} else {
camera->timer += D_8011D79C[2].timerInit + D_8011D79C[3].timerInit;
}
@@ -5888,10 +5879,10 @@ s32 Camera_Demo5(Camera* camera) {
// distance from the camera's current positon and the target is less than 300 units
// and the distance fromthe camera's current position to the player is less than 30 units
D_8011D83C[0].timerInit = camera->timer;
ONEPOINTDEMO->keyFrames = D_8011D83C;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D83C);
if (camera->parentCamIdx != 0) {
ONEPOINTDEMO->keyFrameCnt--;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D83C;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D83C);
if (camera->parentCamIdx != MAIN_CAM) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D83C[1].timerInit;
}
@@ -5901,10 +5892,10 @@ s32 Camera_Demo5(Camera* camera) {
// is less than ~76.9 degrees
if (sp78.yaw >= 0x15 && sp78.yaw < 0x12C && sp78.pitch >= 0x29 && sp78.pitch < 0xC8 && eyePlayerGeo.r > 30.0f) {
D_8011D88C[0].timerInit = camera->timer;
ONEPOINTDEMO->keyFrames = D_8011D88C;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D88C);
if (camera->parentCamIdx != 0) {
ONEPOINTDEMO->keyFrameCnt--;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D88C;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D88C);
if (camera->parentCamIdx != MAIN_CAM) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D88C[1].timerInit;
}
@@ -5919,10 +5910,10 @@ s32 Camera_Demo5(Camera* camera) {
}
D_8011D8DC[0].timerInit = camera->timer;
D_8011D8DC[1].timerInit = (s16)(eyeTargetDist * 0.005f) + 8;
ONEPOINTDEMO->keyFrames = D_8011D8DC;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D8DC);
if (camera->parentCamIdx != 0) {
ONEPOINTDEMO->keyFrameCnt -= 2;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D8DC;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D8DC);
if (camera->parentCamIdx != MAIN_CAM) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
} else {
camera->timer += D_8011D8DC[1].timerInit + D_8011D8DC[2].timerInit;
}
@@ -5956,10 +5947,10 @@ s32 Camera_Demo5(Camera* camera) {
} else {
D_8011D954[2].timerInit = (s16)(eyeTargetDist * 0.004f) + 6;
}
ONEPOINTDEMO->keyFrames = D_8011D954;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D954);
if (camera->parentCamIdx != 0) {
ONEPOINTDEMO->keyFrameCnt -= 2;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D954;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D954);
if (camera->parentCamIdx != MAIN_CAM) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
} else {
camera->timer += D_8011D954[2].timerInit + D_8011D954[3].timerInit;
}
@@ -5981,14 +5972,14 @@ s32 Camera_Demo5(Camera* camera) {
t = eyeTargetDist * 0.005f;
D_8011D9F4[1].timerInit = t + 8;
}
ONEPOINTDEMO->keyFrames = D_8011D9F4;
ONEPOINTDEMO->keyFrameCnt = ARRAY_COUNT(D_8011D9F4);
if (camera->parentCamIdx != 0) {
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D9F4;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D9F4);
if (camera->parentCamIdx != MAIN_CAM) {
if (camera->globalCtx->state.frames & 1) {
D_8011D9F4[0].rollTargetInit = -D_8011D9F4[0].rollTargetInit;
D_8011D9F4[1].rollTargetInit = -D_8011D9F4[1].rollTargetInit;
}
ONEPOINTDEMO->keyFrameCnt -= 2;
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
} else {
camera->timer += D_8011D9F4[1].timerInit + D_8011D9F4[2].timerInit;
D_8011D9F4[0].rollTargetInit = D_8011D9F4[1].rollTargetInit = 0;
@@ -6035,7 +6026,7 @@ s32 Camera_Demo5(Camera* camera) {
* Fixed position, rotates to follow the target
*/
s32 Camera_Demo6(Camera* camera) {
Camera* cam0;
Camera* mainCam;
Demo6Anim* anim = (Demo6Anim*)&((Demo6*)camera->paramData)->anim;
Vec3f* eyeNext = &camera->eyeNext;
CameraModeValue* values;
@@ -6045,7 +6036,7 @@ s32 Camera_Demo6(Camera* camera) {
s16 stateTimers[4];
Vec3f* at = &camera->at;
cam0 = Gameplay_GetCamera(camera->globalCtx, 0);
mainCam = Gameplay_GetCamera(camera->globalCtx, MAIN_CAM);
camFocus = camera->target;
stateTimers[1] = 0x37;
stateTimers[2] = 0x46;
@@ -6071,7 +6062,7 @@ s32 Camera_Demo6(Camera* camera) {
camera->at.z = focusPosRot.pos.z;
eyeOffset.r = 200.0f;
// 0x7D0 ~10.99 degrees
eyeOffset.yaw = Camera_XZAngle(&focusPosRot.pos, &cam0->playerPosRot.pos) + 0x7D0;
eyeOffset.yaw = Camera_XZAngle(&focusPosRot.pos, &mainCam->playerPosRot.pos) + 0x7D0;
// -0x3E8 ~5.49 degrees
eyeOffset.pitch = -0x3E8;
Camera_Vec3fVecSphGeoAdd(eyeNext, at, &eyeOffset);
@@ -6131,17 +6122,17 @@ s32 Camera_Demo8(Camera* camera) {
s32 Camera_Demo9(Camera* camera) {
s32 pad;
s32 finishAction;
s16 onePointParam;
Demo9OnePointDemo* demo9OnePoint = (Demo9OnePointDemo*)camera->paramData;
s16 onePointTimer;
Demo9OnePointCs* demo9OnePoint = (Demo9OnePointCs*)camera->paramData;
Vec3f csEyeUpdate;
Vec3f csAtUpdate;
Vec3f newEye;
Vec3f newAt;
f32 newRoll;
CameraModeValue* values;
Camera* cam0;
Camera* mainCam;
Vec3f* eye = &camera->eye;
PosRot* cam0PlayerPosRot;
PosRot* mainCamPlayerPosRot;
PosRot focusPosRot;
s32 pad3;
Vec3f* eyeNext = &camera->eyeNext;
@@ -6150,8 +6141,8 @@ s32 Camera_Demo9(Camera* camera) {
f32* camFOV = &camera->fov;
Demo9Anim* anim = &demo9->anim;
cam0 = Gameplay_GetCamera(camera->globalCtx, 0);
cam0PlayerPosRot = &cam0->playerPosRot;
mainCam = Gameplay_GetCamera(camera->globalCtx, MAIN_CAM);
mainCamPlayerPosRot = &mainCam->playerPosRot;
if (RELOAD_PARAMS) {
values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
demo9->interfaceFlags = NEXTSETTING;
@@ -6171,14 +6162,14 @@ s32 Camera_Demo9(Camera* camera) {
anim->curFrame = 0.0f;
camera->animState++;
anim->doLERPAt = false;
finishAction = demo9OnePoint->onePointDemo.actionParameters & 0xF000;
finishAction = demo9OnePoint->onePointCs.actionParameters & 0xF000;
if (finishAction != 0) {
anim->finishAction = finishAction;
// Clear finish parameters
demo9OnePoint->onePointDemo.actionParameters &= 0xFFF;
demo9OnePoint->onePointCs.actionParameters &= 0xFFF;
}
anim->animTimer = demo9OnePoint->onePointDemo.initTimer;
anim->animTimer = demo9OnePoint->onePointCs.initTimer;
case 1:
// Run the camera state
if (anim->animTimer > 0) {
@@ -6187,23 +6178,23 @@ s32 Camera_Demo9(Camera* camera) {
// Run the at and eye cs interpoloation functions, if either of them return 1 (that no more points
// exist) change the animation state to 2 (standby)
if (func_800BB2B4(&csEyeUpdate, &newRoll, camFOV, demo9OnePoint->onePointDemo.eyePoints,
if (func_800BB2B4(&csEyeUpdate, &newRoll, camFOV, demo9OnePoint->onePointCs.eyePoints,
&anim->keyframe, &anim->curFrame) != 0 ||
func_800BB2B4(&csAtUpdate, &newRoll, camFOV, demo9OnePoint->onePointDemo.atPoints, &anim->keyframe,
func_800BB2B4(&csAtUpdate, &newRoll, camFOV, demo9OnePoint->onePointCs.atPoints, &anim->keyframe,
&anim->curFrame) != 0) {
camera->animState = 2;
}
if (demo9OnePoint->onePointDemo.actionParameters == 1) {
// rotate around cam0's player
Camera_RotateAroundPoint(cam0PlayerPosRot, &csEyeUpdate, &newEye);
Camera_RotateAroundPoint(cam0PlayerPosRot, &csAtUpdate, &newAt);
} else if (demo9OnePoint->onePointDemo.actionParameters == 4) {
if (demo9OnePoint->onePointCs.actionParameters == 1) {
// rotate around mainCam's player
Camera_RotateAroundPoint(mainCamPlayerPosRot, &csEyeUpdate, &newEye);
Camera_RotateAroundPoint(mainCamPlayerPosRot, &csAtUpdate, &newAt);
} else if (demo9OnePoint->onePointCs.actionParameters == 4) {
// rotate around the current camera's player
Actor_GetWorld(&focusPosRot, &camera->player->actor);
Camera_RotateAroundPoint(&focusPosRot, &csEyeUpdate, &newEye);
Camera_RotateAroundPoint(&focusPosRot, &csAtUpdate, &newAt);
} else if (demo9OnePoint->onePointDemo.actionParameters == 8) {
} else if (demo9OnePoint->onePointCs.actionParameters == 8) {
// rotate around the current camera's target
if (camera->target != NULL && camera->target->update != NULL) {
Actor_GetWorld(&focusPosRot, camera->target);
@@ -6238,16 +6229,15 @@ s32 Camera_Demo9(Camera* camera) {
if (anim->finishAction != 0) {
if (anim->finishAction != 0x1000) {
if (anim->finishAction == 0x2000) {
// finish action = 0x2000, run OnePointDemo 0x3FC (Dramatic Return to Link)
onePointParam = demo9OnePoint->onePointDemo.initTimer < 0x32
? 5
: demo9OnePoint->onePointDemo.initTimer / 5;
func_800800F8(camera->globalCtx, 0x3FC, onePointParam, NULL, camera->parentCamIdx);
// finish action = 0x2000, run OnePointCs 0x3FC (Dramatic Return to Link)
onePointTimer =
demo9OnePoint->onePointCs.initTimer < 50 ? 5 : demo9OnePoint->onePointCs.initTimer / 5;
OnePointCutscene_Init(camera->globalCtx, 1020, onePointTimer, NULL, camera->parentCamIdx);
}
} else {
// finish action = 0x1000, copy the current camera's values to the
// default camera.
Camera_Copy(cam0, camera);
Camera_Copy(mainCam, camera);
}
}
break;
@@ -6804,7 +6794,7 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, GlobalCon
sNextUID++;
}
for (j = 0; j < 4; j++) {
for (j = 0; j < NUM_CAMS; j++) {
camP = camera->globalCtx->cameraPtrs[j];
if (camP != NULL && curUID == camP->uid) {
break;
@@ -6835,11 +6825,11 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, GlobalCon
sCameraShrinkWindowVal = 0x20;
sCameraInterfaceAlpha = 0;
camera->unk_14C = 0;
camera->setting = camera->prevSetting = 0x21;
camera->setting = camera->prevSetting = CAM_SET_FREE0;
camera->camDataIdx = camera->prevCamDataIdx = -1;
camera->mode = 0;
camera->bgCheckId = BGCHECK_SCENE;
camera->unk_168 = 0x7FFF;
camera->csId = 0x7FFF;
camera->timer = -1;
camera->unk_14C |= 0x4000;
@@ -6947,7 +6937,7 @@ void Camera_InitPlayerSettings(Camera* camera, Player* player) {
Camera_QRegInit();
osSyncPrintf(VT_FGCOL(BLUE) "camera: personalize ---" VT_RST "\n");
if (camera->thisIdx == 0) {
if (camera->thisIdx == MAIN_CAM) {
Camera_CheckWater(camera);
}
}
@@ -6994,7 +6984,7 @@ void Camera_PrintSettings(Camera* camera) {
phi_a1 = 0;
phi_v1 = sp58;
phi_t0 = sp48;
for (; phi_v1 < sp58 + 4; phi_v1++, phi_t0++, phi_a1++) {
for (; phi_v1 < sp58 + NUM_CAMS; phi_v1++, phi_t0++, phi_a1++) {
if (camera->globalCtx->cameraPtrs[phi_a1] == NULL) {
*phi_v1 = '-';
*phi_t0 = ' ';
@@ -7198,7 +7188,7 @@ s32 Camera_SetRoomHotFlag(Camera* camera) {
s32 Camera_DbgChangeMode(Camera* camera) {
s32 changeDir = 0;
if (gDbgCamEnabled == 0 && camera->globalCtx->activeCamera == 0) {
if (!gDbgCamEnabled && camera->globalCtx->activeCamera == MAIN_CAM) {
if (CHECK_BTN_ALL(D_8015BD7C->state.input[2].press.button, BTN_CUP)) {
osSyncPrintf("attention sound URGENCY\n");
func_80078884(NA_SE_SY_ATTENTION_URGENCY);
@@ -7318,7 +7308,7 @@ Vec3s Camera_Update(Camera* camera) {
QuakeCamCalc quake;
Player* player;
player = camera->globalCtx->cameraPtrs[0]->player;
player = camera->globalCtx->cameraPtrs[MAIN_CAM]->player;
if (R_DBG_CAM_UPDATE) {
osSyncPrintf("camera: in %x\n", camera);
@@ -7424,14 +7414,14 @@ Vec3s Camera_Update(Camera* camera) {
if ((gSaveContext.gameMode != 0) && (gSaveContext.gameMode != 3)) {
sCameraInterfaceFlags = 0;
Camera_UpdateInterface(sCameraInterfaceFlags);
} else if ((D_8011D3F0 != 0) && (camera->thisIdx == 0)) {
} else if ((D_8011D3F0 != 0) && (camera->thisIdx == MAIN_CAM)) {
D_8011D3F0--;
sCameraInterfaceFlags = 0x3200;
Camera_UpdateInterface(sCameraInterfaceFlags);
} else if (camera->globalCtx->transitionMode != 0) {
sCameraInterfaceFlags = 0xF200;
Camera_UpdateInterface(sCameraInterfaceFlags);
} else if (camera->globalCtx->csCtx.state != 0) {
} else if (camera->globalCtx->csCtx.state != CS_STATE_IDLE) {
sCameraInterfaceFlags = 0x3200;
Camera_UpdateInterface(sCameraInterfaceFlags);
} else {
@@ -7455,7 +7445,7 @@ Vec3s Camera_Update(Camera* camera) {
gDbgCamEnabled ^= 1;
if (gDbgCamEnabled) {
DbgCamera_Enable(&D_8015BD80, camera);
} else if (camera->globalCtx->csCtx.state != 0) {
} else if (camera->globalCtx->csCtx.state != CS_STATE_IDLE) {
func_80064534(camera->globalCtx, &camera->globalCtx->csCtx);
}
}
@@ -7554,13 +7544,13 @@ Vec3s Camera_Update(Camera* camera) {
* When the camera's timer is 0, change the camera to it's parent
*/
void Camera_Finish(Camera* camera) {
Camera* defaultCam = camera->globalCtx->cameraPtrs[0];
Camera* mainCam = camera->globalCtx->cameraPtrs[MAIN_CAM];
Player* player = (Player*)camera->globalCtx->actorCtx.actorLists[ACTORCAT_PLAYER].head;
if (camera->timer == 0) {
Gameplay_ChangeCameraStatus(camera->globalCtx, camera->parentCamIdx, 7);
Gameplay_ChangeCameraStatus(camera->globalCtx, camera->parentCamIdx, CAM_STAT_ACTIVE);
if ((camera->parentCamIdx == 0) && (camera->unk_168 != 0)) {
if ((camera->parentCamIdx == MAIN_CAM) && (camera->csId != 0)) {
player->actor.freezeTimer = 0;
player->stateFlags1 &= ~0x20000000;
@@ -7569,23 +7559,22 @@ void Camera_Finish(Camera* camera) {
osSyncPrintf("camera: player demo end!!\n");
}
defaultCam->unk_14C |= 8;
mainCam->unk_14C |= 8;
}
if (camera->globalCtx->cameraPtrs[camera->childCamIdx]->parentCamIdx == camera->thisIdx) {
camera->globalCtx->cameraPtrs[camera->childCamIdx]->parentCamIdx = camera->parentCamIdx;
if (CHILD_CAM(camera)->parentCamIdx == camera->thisIdx) {
CHILD_CAM(camera)->parentCamIdx = camera->parentCamIdx;
}
if (camera->globalCtx->cameraPtrs[camera->parentCamIdx]->childCamIdx == camera->thisIdx) {
camera->globalCtx->cameraPtrs[camera->parentCamIdx]->childCamIdx = camera->childCamIdx;
if (PARENT_CAM(camera)->childCamIdx == camera->thisIdx) {
PARENT_CAM(camera)->childCamIdx = camera->childCamIdx;
}
if (camera->globalCtx->cameraPtrs[camera->parentCamIdx]->thisIdx == 0) {
camera->globalCtx->cameraPtrs[camera->parentCamIdx]->animState = 0;
if (PARENT_CAM(camera)->thisIdx == MAIN_CAM) {
PARENT_CAM(camera)->animState = 0;
}
camera->parentCamIdx = 0;
camera->childCamIdx = camera->parentCamIdx;
camera->childCamIdx = camera->parentCamIdx = SUBCAM_FREE;
camera->timer = -1;
camera->globalCtx->envCtx.unk_E1 = 0;
@@ -7744,7 +7733,7 @@ s32 Camera_CheckValidMode(Camera* camera, s16 mode) {
}
s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) {
if ((camera->unk_14A & 1) != 0) {
if (camera->unk_14A & 1) {
if ((u32)((u32)(sCameraSettings[camera->setting].unk_00 & 0xF000000) >> 0x18) >=
(u32)((u32)(sCameraSettings[setting].unk_00 & 0xF000000) >> 0x18)) {
camera->unk_14A |= 0x10;
@@ -7759,7 +7748,7 @@ s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) {
if (setting == CAM_SET_NONE || setting >= CAM_SET_MAX) {
osSyncPrintf(VT_COL(RED, WHITE) "camera: error: illegal camera set (%d) !!!!\n" VT_RST, setting);
return -0x63;
return -99;
}
if ((setting == camera->setting) && (!(flags & 1))) {
@@ -7771,7 +7760,7 @@ s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) {
}
camera->unk_14A |= 0x10;
if ((flags & 2) == 0) {
if (!(flags & 2)) {
camera->unk_14A |= 1;
}
@@ -7827,7 +7816,8 @@ s32 Camera_ChangeDataIdx(Camera* camera, s32 camDataIdx) {
camera->unk_14A |= 4;
Camera_CopyModeValuesToPREG(camera, camera->mode);
} else if (settingChangeSuccessful < -1) {
// @bug: This condition can never happen since settingChangeSuccesful is only ever 0 or 1.
// @bug: This is likely checking the wrong value. The actual return of Camera_ChangeSettingFlags or
// camDataIdx would make more sense.
osSyncPrintf(VT_COL(RED, WHITE) "camera: error: illegal camera ID (%d) !! (%d|%d|%d)\n" VT_RST, camDataIdx,
camera->thisIdx, 0x32, newCameraSetting);
}
@@ -7836,7 +7826,7 @@ s32 Camera_ChangeDataIdx(Camera* camera, s32 camDataIdx) {
}
Vec3s* Camera_GetInputDir(Vec3s* dst, Camera* camera) {
if (gDbgCamEnabled != 0) {
if (gDbgCamEnabled) {
*dst = D_8015BD80.unk_10C6;
return dst;
} else {
@@ -7860,7 +7850,7 @@ s16 Camera_GetInputDirYaw(Camera* camera) {
}
Vec3s* Camera_GetCamDir(Vec3s* dst, Camera* camera) {
if (gDbgCamEnabled != 0) {
if (gDbgCamEnabled) {
*dst = D_8015BD80.unk_10C6;
return dst;
} else {
@@ -8124,7 +8114,7 @@ s32 func_8005B198() {
s16 func_8005B1A4(Camera* camera) {
camera->unk_14C |= 0x8;
if ((camera->thisIdx == 0) && (camera->globalCtx->activeCamera != 0)) {
if ((camera->thisIdx == MAIN_CAM) && (camera->globalCtx->activeCamera != MAIN_CAM)) {
camera->globalCtx->cameraPtrs[camera->globalCtx->activeCamera]->unk_14C |= 0x8;
return camera->globalCtx->activeCamera;
}
+8 -8
View File
@@ -3445,7 +3445,7 @@ Vec3f D_8011D678[] = {
s32 sDemo5PrevSfxFrame = -200;
// target is player, far from eye
OnePointDemoFull D_8011D6AC[] = {
OnePointCsFull D_8011D6AC[] = {
{ // initflags & 0x00FF (at): 2, atTarget is view lookAt + atInit
// initFlags & 0xFF00 (eye): none
// action: 15, copy at, eye, roll, fov to camera
@@ -3487,14 +3487,14 @@ OnePointDemoFull D_8011D6AC[] = {
};
// target is player close to current eye
OnePointDemoFull D_8011D724[] = {
OnePointCsFull D_8011D724[] = {
{ 0x8F, 0xFF, 0x2424, 0x0001, 0x0000, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 10.0f, -20.0f } },
{ 0x81, 0xFF, 0x2121, 0x0013, 0x0000, 50.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 0.0f, 60.0f } },
{ 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
// target is close to player
OnePointDemoFull D_8011D79C[] = {
OnePointCsFull D_8011D79C[] = {
{ 0xCF, 0xFF, 0x0002, 0x0001, 0x0000, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0xC1, 0xFF, 0x0303, 0x0013, 0x0000, 45.0f, 1.0f, { 0.0f, -20.0f, 0.0f }, { 0.0f, -10.0f, 5.0f } },
{
@@ -3512,7 +3512,7 @@ OnePointDemoFull D_8011D79C[] = {
};
// target is within 300 units of eye, and player is within 30 units of eye
OnePointDemoFull D_8011D83C[] = {
OnePointCsFull D_8011D83C[] = {
{ 0x83, 0xFF, 0x2141, 0x0014, 0x0000, 45.0f, 0.2f, { 0.0f, 0.0f, 10.0f }, { 0.0f, 0.0f, 10.0f } },
{ 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
@@ -3520,20 +3520,20 @@ OnePointDemoFull D_8011D83C[] = {
// target is within 700 units of eye, angle between player/eye and target/eye is less than
// 76.9 degrees. The x/y coordinates of the target on screen is between (21, 41) and (300, 200),
// and the player is farther than 30 units of the eye
OnePointDemoFull D_8011D88C[] = {
OnePointCsFull D_8011D88C[] = {
{ 0x81, 0xFF, 0x0303, 0x0014, 0x0000, 45.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
// same as above, but the target is NOT within the screen area.
OnePointDemoFull D_8011D8DC[] = {
OnePointCsFull D_8011D8DC[] = {
{ 0x8F, 0xFF, 0x0404, 0x0014, 0x0001, 50.0f, 1.0f, { 0.0f, 5.0f, 10.0f }, { 0.0f, 10.0f, -80.0f } },
{ 0x82, 0xFF, 0x2121, 0x0005, 0x0000, 60.0f, 1.0f, { 0.0f, 5.0f, 0.0f }, { 5.0f, 5.0f, -200.0f } },
{ 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
// target is a door.
OnePointDemoFull D_8011D954[] = {
OnePointCsFull D_8011D954[] = {
{ 0x0F, 0xFF, 0xC1C1, 0x0014, 0x0000, 60.0f, 1.0f, { 0.0f, 0.0f, 50.0f }, { 0.0f, 0.0f, 250.0f } },
{ 0x83, 0xFF, 0x05B1, 0x0005, 0x0000, 60.0f, 0.1f, { 0.0f, 10.0f, 50.0f }, { 0.0f, 10.0f, 100.0f } },
{ 0x82, 0xFF, 0x2121, 0x0005, 0x0002, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 20.0f, -150.0f } },
@@ -3541,7 +3541,7 @@ OnePointDemoFull D_8011D954[] = {
};
// otherwise
OnePointDemoFull D_8011D9F4[] = {
OnePointCsFull D_8011D9F4[] = {
{ 0x8F, 0xFF, 0x0504, 0x0014, 0x0002, 60.0f, 1.0f, { 0.0f, 5.0f, 50.0f }, { 0.0f, 20.0f, 300.0f } },
{ 0x82, 0xFF, 0x2121, 0x0005, 0x0002, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 20.0f, -150.0f } },
{ 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
+8 -8
View File
@@ -106,7 +106,7 @@ void func_800645A0(GlobalContext* globalCtx, CutsceneContext* csCtx) {
}
if (CHECK_BTN_ALL(pad1->press.button, BTN_DUP) && (csCtx->state == CS_STATE_IDLE) &&
(gSaveContext.sceneSetupIndex >= 4) && (gDbgCamEnabled == 0)) {
(gSaveContext.sceneSetupIndex >= 4) && !gDbgCamEnabled) {
D_8015FCC8 = 1;
gSaveContext.cutsceneIndex = 0xFFFD;
gSaveContext.cutsceneTrigger = 1;
@@ -428,8 +428,8 @@ void func_80065134(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdDayTim
s16 temp2;
if (csCtx->frames == cmd->startFrame) {
temp1 = (cmd->hour * 60.0f) / 0.021972656f;
temp2 = (cmd->minute + 1) / 0.021972656f;
temp1 = (cmd->hour * 60.0f) / (360.0f / 0x4000);
temp2 = (cmd->minute + 1) / (360.0f / 0x4000);
gSaveContext.dayTime = temp1 + temp2;
gSaveContext.environmentTime = temp1 + temp2;
@@ -1301,7 +1301,7 @@ s32 Cutscene_Command_CameraPositions(GlobalContext* globalCtx, CutsceneContext*
}
while (shouldContinue) {
if (((CutsceneCameraPoint*)cmd)->continueFlag == -1) {
if (((CutsceneCameraPoint*)cmd)->continueFlag == CS_CMD_STOP) {
shouldContinue = 0;
}
cmd += 0x10;
@@ -1338,7 +1338,7 @@ s32 Cutscene_Command_CameraFocus(GlobalContext* globalCtx, CutsceneContext* csCt
}
while (shouldContinue) {
if (((CutsceneCameraPoint*)cmd)->continueFlag == -1) {
if (((CutsceneCameraPoint*)cmd)->continueFlag == CS_CMD_STOP) {
shouldContinue = 0;
}
cmd += 0x10;
@@ -1369,7 +1369,7 @@ s32 Cutscene_Command_07(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cm
if (D_8015FCC8 != 0) {
sp2C = Gameplay_GetCamera(globalCtx, csCtx->unk_14);
sp2C->player = NULL;
Gameplay_ChangeCameraStatus(globalCtx, 0, CAM_STAT_WAIT);
Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT);
Gameplay_ChangeCameraStatus(globalCtx, csCtx->unk_14, CAM_STAT_ACTIVE);
Gameplay_CameraChangeSetting(globalCtx, csCtx->unk_14, CAM_SET_FREE0);
sp28 = csCtx->cameraFocus->cameraRoll * 1.40625f;
@@ -1412,7 +1412,7 @@ s32 Cutscene_Command_08(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cm
if (D_8015FCC8 != 0) {
sp2C = Gameplay_GetCamera(globalCtx, csCtx->unk_14);
sp2C->player = NULL;
Gameplay_ChangeCameraStatus(globalCtx, 0, CAM_STAT_WAIT);
Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT);
Gameplay_ChangeCameraStatus(globalCtx, csCtx->unk_14, CAM_STAT_ACTIVE);
Gameplay_CameraChangeSetting(globalCtx, csCtx->unk_14, CAM_SET_FREE0);
sp3C.x = csCtx->cameraFocus->pos.x;
@@ -1914,7 +1914,7 @@ void func_80068DC0(GlobalContext* globalCtx, CutsceneContext* csCtx) {
Gameplay_CopyCamera(globalCtx, D_8015FCC6, csCtx->unk_14);
}
Gameplay_ChangeCameraStatus(globalCtx, D_8015FCC6, 7);
Gameplay_ChangeCameraStatus(globalCtx, D_8015FCC6, CAM_STAT_ACTIVE);
Gameplay_ClearCamera(globalCtx, csCtx->unk_14);
func_8005B1A4(globalCtx->cameraPtrs[D_8015FCC6]);
}
+1 -1
View File
@@ -211,7 +211,7 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
f32 temp;
SkinMatrix_SetTranslate(&spEC, elem->position.x, elem->position.y, elem->position.z);
temp = ((Rand_ZeroOne() * 2.5f) + 1.5f) * 0.015625f;
temp = ((Rand_ZeroOne() * 2.5f) + 1.5f) / 64.0f;
SkinMatrix_SetScale(&spAC, temp, temp, 1.0f);
SkinMatrix_MtxFMtxFMult(&spEC, &globalCtx->mf_11DA0, &sp6C);
SkinMatrix_MtxFMtxFMult(&sp6C, &spAC, &sp12C);
+1 -1
View File
@@ -849,7 +849,7 @@ void EffectSsIcePiece_SpawnBurst(GlobalContext* globalCtx, Vec3f* refPos, f32 sc
{ 0.0f, 20.0f, 20.0f },
{ 17.320474f, 20.0f, -9.999695f },
{ -17.320474f, 20.0f, -9.999695f },
};
}; // 17.320474 is approximately 10 * sqrt(3)
s32 i;
Vec3f velocity;
Vec3f pos;
+1348 -26
View File
File diff suppressed because it is too large Load Diff
+670
View File
@@ -0,0 +1,670 @@
#include "global.h"
static CutsceneCameraPoint D_8012013C[14] = {
{ CS_CMD_CONTINUE, 25, 40, 70.79991f, { -1814, 533, -1297 } },
{ CS_CMD_CONTINUE, 20, 40, 70.99991f, { -1805, 434, -1293 } },
{ CS_CMD_CONTINUE, 10, 30, 60.0f, { -1794, 323, -1280 } },
{ CS_CMD_CONTINUE, 5, 25, 60.0f, { -1817, 218, -1270 } },
{ CS_CMD_CONTINUE, 3, 20, 60.0f, { -1836, 168, -1243 } },
{ CS_CMD_CONTINUE, 0, 20, 60.0f, { -1905, 115, -1193 } },
{ CS_CMD_CONTINUE, 0, 30, 55.0f, { -1969, 58, -1212 } },
{ CS_CMD_CONTINUE, 0, 30, 55.0f, { -1969, 31, -1164 } },
{ CS_CMD_CONTINUE, 0, 30, 60.0f, { -1969, 54, -1209 } },
{ CS_CMD_CONTINUE, 0, 30, 60.0f, { -1973, 35, -1206 } },
{ CS_CMD_CONTINUE, 0, 50, 60.0f, { -1974, 12, -1179 } },
{ CS_CMD_CONTINUE, 0, 50, 60.0f, { -1974, 12, -1179 } },
{ CS_CMD_STOP, 0, 50, 60.0f, { -1974, 12, -1179 } },
{ CS_CMD_STOP, 0, 30, 60.0f, { -1974, 12, -1179 } },
};
static CutsceneCameraPoint D_8012021C[14] = {
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { -1751, 604, -1233 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { -1752, 516, -1233 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { -1751, 417, -1233 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { -1767, 306, -1219 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { -1776, 257, -1205 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { -1881, 147, -1149 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { -1969, 72, -1077 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { -1969, 7, -1048 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { -1969, 1, -1030 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { -1987, 17, -1076 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { -2007, 10, -1004 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { -2007, 10, -1004 } },
{ CS_CMD_STOP, 0, 0, 60.0f, { -2007, 10, -1004 } }, { CS_CMD_STOP, 0, 0, 60.0f, { -2007, 10, -1004 } },
};
static s16 D_801202FC = 13;
static s16 D_80120300 = 210;
static s16 D_80120304 = 0;
static CutsceneCameraPoint D_80120308[9] = {
{ CS_CMD_CONTINUE, 0, 10, 40.0f, { 0, 4, 0 } }, { CS_CMD_CONTINUE, 0, 10, 40.000004f, { 0, 4, 0 } },
{ CS_CMD_CONTINUE, 0, 10, 50.0f, { 0, 9, 0 } }, { CS_CMD_CONTINUE, 0, 12, 55.0f, { 0, 12, 0 } },
{ CS_CMD_CONTINUE, 0, 15, 61.0f, { 0, 18, 0 } }, { CS_CMD_CONTINUE, 0, 20, 65.0f, { 0, 29, 0 } },
{ CS_CMD_CONTINUE, 0, 40, 60.0f, { 0, 34, 0 } }, { CS_CMD_STOP, 0, 40, 60.0f, { 0, 34, 0 } },
{ CS_CMD_STOP, 0, 10, 60.0f, { 0, 34, 0 } },
};
static CutsceneCameraPoint D_80120398[9] = {
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 9, 45 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 8, 50 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 17, 58 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 21, 78 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 46, 109 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 58, 118 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 63, 119 } }, { CS_CMD_STOP, 0, 0, 60.0f, { 0, 62, 119 } },
{ CS_CMD_STOP, 0, 0, 60.0f, { 0, 62, 119 } },
};
static s16 D_80120428 = 9;
static s16 D_8012042C = 90;
static s16 D_80120430 = 1;
static CutsceneCameraPoint D_80120434[10] = {
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 9, -45 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 9, -45 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 8, -50 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 17, -58 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 21, -78 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 46, -109 } },
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 58, -118 } }, { CS_CMD_CONTINUE, 0, 0, 60.0f, { 0, 63, -119 } },
{ CS_CMD_STOP, 0, 0, 60.0f, { 0, 62, -119 } }, { CS_CMD_STOP, 0, 0, 60.0f, { 0, 62, -119 } },
};
static CutsceneCameraPoint D_801204D4[14] = {
{ CS_CMD_CONTINUE, -15, 40, 80.600006f, { -60, 332, 183 } },
{ CS_CMD_CONTINUE, -22, 30, 80.600006f, { -60, 332, 183 } },
{ CS_CMD_CONTINUE, -20, 38, 80.600006f, { -118, 344, 41 } },
{ CS_CMD_CONTINUE, -18, 32, 80.600006f, { -80, 251, -8 } },
{ CS_CMD_CONTINUE, -12, 28, 80.600006f, { -64, 259, -28 } },
{ CS_CMD_CONTINUE, -8, 22, 80.600006f, { -79, 200, -342 } },
{ CS_CMD_CONTINUE, -5, 10, 65.80005f, { -110, 140, -549 } },
{ CS_CMD_CONTINUE, -2, 8, 65.2f, { -74, 109, -507 } },
{ CS_CMD_CONTINUE, 0, 10, 65.80002f, { -32, 78, -680 } },
{ CS_CMD_CONTINUE, 0, 20, 85.199936f, { 25, 127, -950 } },
{ CS_CMD_CONTINUE, 0, 30, 85.199936f, { 25, 127, -950 } },
{ CS_CMD_CONTINUE, 0, 40, 85.199936f, { 25, 127, -950 } },
{ CS_CMD_STOP, 6, 30, 85.199936f, { 25, 127, -950 } },
{ CS_CMD_STOP, 0, 30, 85.199936f, { 25, 127, -950 } },
};
static CutsceneCameraPoint D_801205B4[14] = {
{ CS_CMD_CONTINUE, 0, 0, 60.0f, { -225, 785, -242 } },
{ CS_CMD_CONTINUE, -21, 0, 80.600006f, { -245, 784, -242 } },
{ CS_CMD_CONTINUE, -21, 0, 80.600006f, { -288, 485, -379 } },
{ CS_CMD_CONTINUE, -21, 0, 80.600006f, { -250, 244, -442 } },
{ CS_CMD_CONTINUE, -21, 0, 80.600006f, { -163, 21, -415 } },
{ CS_CMD_CONTINUE, -21, 0, 80.600006f, { -98, 86, -520 } },
{ CS_CMD_CONTINUE, -21, 0, 80.600006f, { -86, 31, -816 } },
{ CS_CMD_CONTINUE, -21, 0, 80.600006f, { -74, 18, -931 } },
{ CS_CMD_CONTINUE, 1, 0, 80.600006f, { -91, 80, -1220 } },
{ CS_CMD_CONTINUE, 0, 0, 85.199936f, { 14, 153, -1340 } },
{ CS_CMD_CONTINUE, 0, 0, 85.199936f, { 28, 125, -1340 } },
{ CS_CMD_CONTINUE, 0, 0, 85.199936f, { 48, 124, -1340 } },
{ CS_CMD_STOP, 0, 0, 85.199936f, { 48, 124, -1502 } },
{ CS_CMD_STOP, 0, 0, 85.199936f, { 48, 124, -1262 } },
};
static s16 D_80120694 = 14;
static s16 D_80120698 = 190;
static s16 D_8012069C = 8;
static CutsceneCameraPoint D_801206A0[12] = {
{ CS_CMD_CONTINUE, 6, 20, 80.0f, { -96, 40, 170 } }, { CS_CMD_CONTINUE, 6, 20, 80.0f, { -96, 40, 170 } },
{ CS_CMD_CONTINUE, 6, 20, 70.0f, { -70, 35, 150 } }, { CS_CMD_CONTINUE, 5, 10, 60.0f, { -57, 34, 133 } },
{ CS_CMD_CONTINUE, 4, 25, 65.0f, { -22, 32, 110 } }, { CS_CMD_CONTINUE, 3, 12, 60.0f, { -9, 33, 98 } },
{ CS_CMD_CONTINUE, 3, 5, 65.0f, { -3, 29, 87 } }, { CS_CMD_CONTINUE, 2, 10, 65.0f, { -1, 15, 84 } },
{ CS_CMD_CONTINUE, 1, 200, 65.0f, { 0, 17, 82 } }, { CS_CMD_CONTINUE, 1, 500, 65.0f, { 0, 18, 82 } },
{ CS_CMD_STOP, 8, 50, 65.0f, { 0, 18, 82 } }, { CS_CMD_STOP, 11, 60, 65.0f, { 0, 18, 82 } },
};
static CutsceneCameraPoint D_80120760[12] = {
{ CS_CMD_CONTINUE, 6, 0, 80.0f, { -50, 10, 180 } }, { CS_CMD_CONTINUE, 6, 0, 80.0f, { -50, 20, 180 } },
{ CS_CMD_CONTINUE, 6, 0, 70.0f, { -40, 30, 177 } }, { CS_CMD_CONTINUE, 5, 0, 65.0f, { 0, 35, 172 } },
{ CS_CMD_CONTINUE, 4, 0, 65.0f, { 34, 35, 162 } }, { CS_CMD_CONTINUE, 3, 0, 65.0f, { 61, 32, 147 } },
{ CS_CMD_CONTINUE, 3, 0, 65.0f, { 72, 30, 128 } }, { CS_CMD_CONTINUE, 2, 0, 65.0f, { 74, 20, 125 } },
{ CS_CMD_CONTINUE, 1, 0, 65.0f, { 75, 18, 123 } }, { CS_CMD_CONTINUE, 1, 0, 65.0f, { 75, 10, 123 } },
{ CS_CMD_STOP, 0, 0, 65.0f, { 75, 10, 122 } }, { CS_CMD_STOP, 0, 0, 65.0f, { 75, 10, 122 } },
};
static CutsceneCameraPoint D_80120820[12] = {
{ CS_CMD_CONTINUE, 6, 0, 80.0f, { 85, 5, 170 } }, { CS_CMD_CONTINUE, 6, 0, 80.0f, { 85, 10, 170 } },
{ CS_CMD_CONTINUE, 6, 0, 70.0f, { 80, 20, 167 } }, { CS_CMD_CONTINUE, 5, 0, 65.0f, { 74, 25, 165 } },
{ CS_CMD_CONTINUE, 4, 0, 65.0f, { 63, 30, 162 } }, { CS_CMD_CONTINUE, 3, 0, 65.0f, { 66, 34, 147 } },
{ CS_CMD_CONTINUE, 3, 0, 65.0f, { 72, 34, 128 } }, { CS_CMD_CONTINUE, 2, 0, 65.0f, { 74, 20, 125 } },
{ CS_CMD_CONTINUE, 1, 0, 65.0f, { 75, 18, 123 } }, { CS_CMD_CONTINUE, 1, 0, 65.0f, { 75, 10, 123 } },
{ CS_CMD_STOP, 0, 0, 65.0f, { 75, 10, 122 } }, { CS_CMD_STOP, 0, 0, 65.0f, { 75, 10, 122 } },
};
static s16 D_801208E0 = 12;
static s16 D_801208E4 = 90;
static s16 D_801208E8 = 8;
static OnePointCsFull D_801208EC[3] = {
{ 0x0F, 0x08, 0x0101, 1, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x81, 0xFF, 0x0101, 1, 0, 60.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 0.0f, 150.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80120964[2] = {
{ 0x8F, 0xFF, 0x0101, 1, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x81, 0xFF, 0xA121, 1, 0, 75.0f, 0.6f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 0.0f, 150.0f } },
};
static OnePointCsFull D_801209B4[4] = {
{ 0x8F, 0x08, 0x0101, 1, 0, 60.0f, 0.9f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x84, 0x01, 0x0100, 29, 0, 45.0f, 0.1f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 0.0f, 150.0f } },
{ 0x83, 0xFF, 0x0000, 10, 0, 60.0f, 0.2f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 0.0f, 150.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80120A54[3] = {
{ 0x8F, 0xFF, 0x2525, 1, 0, 75.0f, 0.1f, { 0.0f, 20.0f, -10.0f }, { 0.0f, 10.0f, -40.0f } },
{ 0x8F, 0xFF, 0x0000, 9, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x8B, 0xFF, 0x0022, 5000, 0, 75.0f, 0.005f, { 0.0f, 0.0f, -10.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80120ACC[5] = {
{ 0x8F, 0xFF, 0x0442, 10, 0, 40.0f, 1.0f, { -10.0f, 45.0f, 20.0f }, { 20.0f, 30.0f, 160.0f } },
{ 0x95, 0xFF, 0x0000, 1, 0, 40.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x8F, 0x01, 0x0442, 10, 0, 40.0f, 1.0f, { -10.0f, 45.0f, 20.0f }, { 20.0f, 30.0f, 160.0f } },
{ 0x95, 0xFF, 0x0000, 1, 0, 40.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80120B94[11] = {
{ 0x8F, 0x01, 0x2142, 1, 0, 40.0f, 1.0f, { 20.0f, 40.0f, 20.0f }, { -20.0f, 0.0f, -30.0f } },
{ 0x84, 0xFF, 0x0404, 19, 5, 70.0f, 0.01f, { 0.0f, 30.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x84, 0xFF, 0x0404, 20, 0, 60.0f, 0.01f, { 0.0f, 20.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x84, 0xFF, 0x0404, 40, -10, 50.0f, 0.02f, { 0.0f, 30.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x8F, 0xFF, 0x4141, 1, 0, 40.0f, 1.0f, { 0.0f, -10.0f, 20.0f }, { 0.0f, 20.0f, 50.0f } },
{ 0x84, 0xFF, 0x0404, 19, 0, 70.0f, 0.01f, { 0.0f, 30.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x84, 0xFF, 0x0404, 40, 10, 50.0f, 0.01f, { 0.0f, 20.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x84, 0xFF, 0x0404, 70, 0, 60.0f, 0.01f, { 0.0f, 30.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x8F, 0xFF, 0x4141, 1, 0, 50.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 80.0f, 20.0f, 60.0f } },
{ 0x8D, 0xFF, 0x4141, 150, 0, 50.0f, 1.0f, { 0.0f, 5.0f, 0.0f }, { 0.0f, 4.0f, 120.0f } },
{ 0x98, 0xFF, 0x0000, 1, 0, 50.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80120D4C[7] = {
{ 0x8F, 0x01, 0x2142, 1, 0, 40.0f, 1.0f, { 20.0f, 40.0f, 20.0f }, { -20.0f, 0.0f, -30.0f } },
{ 0x84, 0xFF, 0x0404, 19, 5, 70.0f, 0.01f, { 0.0f, 30.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x84, 0xFF, 0x0404, 20, 0, 60.0f, 0.01f, { 0.0f, 20.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x84, 0xFF, 0x0404, 40, -10, 50.0f, 0.02f, { 0.0f, 30.0f, 20.0f }, { 120.0f, 60.0f, 120.0f } },
{ 0x8F, 0xFF, 0x4141, 1, 0, 50.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 80.0f, 20.0f, 60.0f } },
{ 0x8D, 0xFF, 0x4141, 150, 0, 50.0f, 1.0f, { 0.0f, 5.0f, 0.0f }, { 0.0f, 4.0f, 120.0f } },
{ 0x98, 0xFF, 0x0000, 1, 0, 50.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80120E64[8] = {
{ 0x41, 0x01, 0x2142, 20, 0, 50.0f, 1.0f, { -25.0f, 20.0f, 0.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x4F, 0xFF, 0x0000, 80, 0, 50.0f, 1.0f, { -25.0f, 20.0f, 0.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x4B, 0xFF, 0x4242, 8, 0, 60.0f, 0.1f, { -25.0f, 20.0f, 0.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x4B, 0xFF, 0x4242, 15, 4, 55.0f, 0.05f, { -50.0f, 20.0f, 20.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x4B, 0xFF, 0x4242, 15, -4, 50.0f, 0.05f, { 0.0f, 20.0f, 0.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x4B, 0xFF, 0x4242, 15, 0, 50.0f, 0.1f, { -25.0f, 20.0f, 0.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x4F, 0xFF, 0x0000, 40, 0, 50.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80120FA4[6] = {
{ 0x8F, 0x01, 0x2143, 30, 0, 70.0f, 0.4f, { 0.0f, 40.0f, 50.0f }, { 30.0f, 10.0f, -50.0f } },
{ 0x95, 0xFF, 0x0000, 1, 0, 50.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x8F, 0xFF, 0x2222, 10, 0, 42.0f, 1.0f, { 0.0f, 40.0f, 0.0f }, { 0.0f, 85.0f, 45.0f } },
{ 0x90, 0xFF, 0x0000, 1, 0, 50.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x81, 0xFF, 0x2121, 10, 0, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 30.0f, 10.0f, -80.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121094[3] = {
{ 0x0F, 0x08, 0x2101, 20, 0, 50.0f, 1.0f, { 3840.0f, 10.0f, 950.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x01, 0x01, 0x2101, 50, 0, 55.0f, 1.0f, { 4000.0f, 50.0f, 1000.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012110C[3] = {
{ 0x4F, 0x05, 0x2142, 1, 0, 50.0f, 1.0f, { -25.0f, 20.0f, 0.0f }, { 0.0f, 0.0f, 5.0f } },
{ 0x41, 0xFF, 0x2121, 10, 0, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 10.0f, -80.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121184[2] = {
{ 0x83, 0x01, 0x0101, 40, 0, -1.0f, 0.1f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801211D4[2] = {
{ 0x8F, 0x08, 0x0101, 50, 0, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { -10.0f, 85.0f, 0.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121224[6] = {
{ 0x8F, 0x01, 0x4141, 2, 0, 60.0f, 1.0f, { 0.0f, 5.0f, 10.0f }, { 0.0f, 0.0f, 45.0f } },
{ 0x81, 0xFF, 0x4141, 18, 0, 45.0f, 1.0f, { 0.0f, 5.0f, 10.0f }, { 0.0f, -10.0f, 50.0f } },
{ 0x84, 0x34, 0x4104, 80, 0, 70.0f, 0.05f, { 0.0f, 0.0f, 60.0f }, { 0.0f, 250.0f, -50.0f } },
{ 0x8F, 0x01, 0x0000, 20, 0, 70.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x8F, 0xFF, 0x0421, 60, 0, 50.0f, 1.0f, { 0.0f, -30.0f, 20.0f }, { 10.0f, 5.0f, -50.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121314[1] = {
{ 0x8F, 0x08, 0x4141, 1000, 0, 75.0f, 0.6f, { 0.0f, 0.0f, 10.0f }, { 0.0f, 0.0f, 100.0f } },
};
static OnePointCsFull D_8012133C[3] = {
{ 0x8F, 0x01, 0x0141, 40, 0, 75.0f, 1.0f, { 0.0f, 60.0f, 0.0f }, { 0.0f, 0.0f, 100.0f } },
{ 0x83, 0xFF, 0x2121, 20, 0, 60.0f, 0.2f, { 0.0f, -10.0f, -10.0f }, { 0.0f, 10.0f, -100.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801213B4[5] = {
{ 0x8F, 0x08, 0xC2C2, 40, 0, 70.0f, 1.0f, { 80.0f, 0.0f, 20.0f }, { 20.0f, 0.0f, 80.0f } },
{ 0x8B, 0x01, 0xC2C2, 120, 0, 70.0f, 0.1f, { 80.0f, 0.0f, 20.0f }, { 20.0f, 0.0f, 80.0f } },
{ 0x8F, 0x53, 0xC2C2, 30, 0, 50.0f, 1.0f, { 60.0f, 0.0f, 20.0f }, { 60.0f, 0.0f, 60.0f } },
{ 0x84, 0x45, 0x4222, 30, 0, 60.0f, 0.1f, { 0.0f, 50.0f, 0.0f }, { 5.0f, 30.0f, 220.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 75.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012147C[4] = {
{ 0x8F, 0x01, 0x0101, 40, 0, 45.0f, 1.0f, { 820.0f, 1600.0f, -400.0f }, { 777.0f, 1577.0f, -577.0f } },
{ 0x8F, 0x01, 0x0142, 1, 0, 50.0f, 1.0f, { -50.0f, 80.0f, 0.0f }, { 900.0f, 1575.0f, 850.0f } },
{ 0x83, 0x08, 0x0142, 89, -4, 80.0f, 0.07f, { -50.0f, 70.0f, 0.0f }, { 975.0f, 1575.0f, 770.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012151C[2] = {
{ 0x0F, 0x01, 0x0101, 29, 0, 60.0f, 1.0f, { -700.0f, 875.0f, -100.0f }, { -550.0f, 920.0f, -150.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012156C[2] = {
{ 0x8F, 0x4D, 0x4242, 1, 0, 65.0f, 1.0f, { 60.0f, 30.0f, 0.0f }, { 50.0f, 20.0f, 150.0f } },
{ 0x81, 0xFF, 0x4242, -1, 0, 65.0f, 1.0f, { -50.0f, 60.0f, 0.0f }, { -60.0f, 40.0f, 150.0f } },
};
static OnePointCsFull D_801215BC[1] = {
{ 0x0F, 0xFF, 0x0101, 5, 0, 65.0f, 1.0f, { -1185.0f, 655.0f, 1185.0f }, { -1255.0f, 735.0f, 1255.0f } },
};
static OnePointCsFull D_801215E4[10] = {
{ 0x0F, 0x08, 0x4141, 20, 0, 30.0f, 1.0f, { 0.0f, 120.0f, 0.0f }, { -10.0f, 140.0f, -90.0f } },
{ 0x0F, 0x01, 0x0101, 1, 4, 75.0f, 1.0f, { -1360.0f, -940.0f, -3343.0f }, { -1060.0f, -980.0f, -3325.0f } },
{ 0x0B, 0xFF, 0x4141, 129, 0, 75.0f, 0.5f, { 0.0f, 50.0f, 0.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x03, 0xFF, 0x0303, 30, 0, 70.0f, 0.05f, { 0.0f, 80.0f, 0.0f }, { -10.0f, 120.0f, 10.0f } },
{ 0x0F, 0x09, 0x0101, 40, -5, 70.0f, 1.0f, { -973.0f, -924.0f, -3263.0f }, { -1190.0f, -1010.0f, -3365.0f } },
{ 0x0F, 0x01, 0x0101, 1, 0, 75.0f, 1.0f, { -1355.0f, -700.0f, -3340.0f }, { -1040.0f, -940.0f, -3345.0f } },
{ 0x02, 0xFF, 0x0101, 60, 0, 45.0f, 0.8f, { -1370.0f, -875.0f, -3345.0f }, { -1230.0f, -885.0f, -3345.0f } },
{ 0x01, 0xFF, 0x0101, 10, 0, 70.0f, 1.0f, { -1370.0f, -875.0f, -3345.0f }, { -1210.0f, -900.0f, -3420.0f } },
{ 0x0F, 0xFF, 0x0000, 20, 0, 70.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121774[4] = {
{ 0x0F, 0x08, 0x0101, 1, -2, 75.0f, 1.0f, { -1340.0f, -860.0f, -3345.0f }, { -1415.0f, -940.0f, -3520.0f } },
{ 0x01, 0x01, 0x0142, 39, 2, 70.0f, 1.0f, { 0.0f, -20.0f, 10.0f }, { -1140.0f, -1010.0f, -3560.0f } },
{ 0x01, 0x05, 0x0121, 20, 0, 60.0f, 1.0f, { 0.0f, -20.0f, 20.0f }, { -1220.0f, -1005.0f, -3660.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121814[4] = {
{ 0x0F, 0x4C, 0x0101, 5, 0, 40.0f, 1.0f, { -1400.0f, -540.0f, -3327.0f }, { -1254.0f, -20.0f, -3357.0f } },
{ 0x01, 0xFF, 0x0101, 70, 0, 75.0f, 0.75f, { -1327.0f, 100.0f, -3342.0f }, { -1320.0f, 350.0f, -3540.0f } },
{ 0x01, 0xFF, 0x2121, 10, 0, 60.0f, 0.75f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 20.0f, -150.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801218B4[2] = {
{ 0x0F, 0xFF, 0x0101, 60, 0, 65.0f, 1.0f, { 0.0f, 350.0f, -1520.0f }, { 0.0f, 715.0f, -885.0f } },
{ 0x03, 0xFF, 0x0101, 100, 0, 70.0f, 0.02f, { 0.0f, 75.0f, -1335.0f }, { 0.0f, 20.0f, -1190.0f } },
};
static OnePointCsFull D_80121904[2] = {
{ 0x0F, 0xFF, 0x0101, 50, 10, 65.0f, 1.0f, { 165.0f, 85.0f, -920.0f }, { 65.0f, -30.0f, -720.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121954[3][2] = {
{
{ 0x0F, 0xFF, 0x0101, 20, 5, 60.0f, 1.0f, { -700.0f, 940.0f, 300.0f }, { -765.0f, 1000.0f, 335.0f } },
{ 0x03, 0xFF, 0x0101, 80, -10, 70.0f, 0.1f, { -540.0f, 875.0f, 245.0f }, { -585.0f, 900.0f, 335.0f } },
},
{
{ 0x0F, 0xFF, 0x0101, 40, -30, 70.0f, 1.0f, { -80.0f, 115.0f, -180.0f }, { -5.0f, 240.0f, -190.0f } },
{ 0x0B, 0xFF, 0x0101, 60, 20, 70.0f, 0.1f, { -100.0f, 350.0f, -175.0f }, { -5.0f, 240.0f, -190.0f } },
},
{
{ 0x03, 0xFF, 0x0101, 80, 5, 70.0f, 0.2f, { 960.0f, 900.0f, 260.0f }, { 970.0f, 950.0f, 250.0f } },
{ 0x0F, 0xFF, 0x0101, 20, 5, 70.0f, 1.0f, { 960.0f, 900.0f, 260.0f }, { 970.0f, 950.0f, 250.0f } },
},
};
static OnePointCsFull D_80121A44[12] = {
{ 0x4F, 0x05, 0x2121, 10, 0, 60.0f, 1.0f, { 0.0f, -5.0f, 0.0f }, { 0.0f, 0.0f, -80.0f } },
{ 0x42, 0x01, 0x4242, 30, 0, 50.0f, 1.0f, { 0.0f, 45.0f, 0.0f }, { 0.0f, 45.0f, 50.0f } },
{ 0x55, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x4F, 0x05, 0x2222, 40, 5, 50.0f, 1.0f, { 0.0f, 50.0f, 0.0f }, { 0.0f, 50.0f, 50.0f } },
{ 0x4F, 0x01, 0x4242, 40, 5, 60.0f, 1.0f, { 30.0f, 30.0f, 15.0f }, { 70.0f, 30.0f, -40.0f } },
{ 0x55, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x4F, 0xFF, 0x4242, 30, -5, 50.0f, 1.0f, { 20.0f, 30.0f, -5.0f }, { 0.0f, 70.0f, 70.0f } },
{ 0x50, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x4F, 0x01, 0x2242, 40, 0, 45.0f, 1.0f, { 0.0f, 30.0f, 30.0f }, { 25.0f, 60.0f, -60.0f } },
{ 0x4B, 0x01, 0x22C2, 140, 0, 60.0f, 0.04f, { 0.0f, 0.0f, 30.0f }, { 25.0f, 60.0f, -60.0f } },
{ 0x49, 0xFF, 0x2222, 20, 0, 60.0f, 0.8f, { 0.0f, 50.0f, 0.0f }, { 0.0f, 60.0f, -60.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121C24[7] = {
{ 0x0F, 0x05, 0x0101, 1, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x03, 0xFF, 0x0101, 89, 0, 50.0f, 0.4f, { 125.0f, 320.0f, -1500.0f }, { 125.0f, 500.0f, -1150.0f } },
{ 0x0F, 0x08, 0x0101, 40, 4, 55.0f, 1.0f, { 0.0f, 375.0f, -1440.0f }, { 5.0f, 365.0f, -1315.0f } },
{ 0x0F, 0xFF, 0x0101, 40, -4, 55.0f, 1.0f, { 250.0f, 375.0f, -1440.0f }, { 235.0f, 365.0f, -1315.0f } },
{ 0x0F, 0xFF, 0x0101, 100, 0, 95.0f, 1.0f, { 125.0f, 345.0f, -1500.0f }, { 125.0f, 255.0f, -1350.0f } },
{ 0x02, 0xFF, 0x0101, 100, 0, 60.0f, 1.0f, { 125.0f, 325.0f, -1500.0f }, { 125.0f, 480.0f, -1000.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121D3C[3] = {
{ 0x0F, 0xFF, 0x0101, 1, 0, 60.0f, 1.0f, { 1023.0f, 738.0f, -2628.0f }, { 993.0f, 770.0f, -2740.0f } },
{ 0x02, 0xFF, 0x0101, 4, 0, 50.0f, 1.0f, { 1255.0f, 350.0f, -1870.0f }, { 1240.0f, 575.0f, -2100.0f } },
{ 0x0F, 0xFF, 0x0000, -1, 0, 75.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121DB4[9] = {
{ 0x0F, 0xFF, 0x0101, 40, 0, 70.0f, 1.0f, { 4290.0f, -1332.0f, -1900.0f }, { 4155.0f, -1360.0f, -1840.0f } },
{ 0x02, 0xFF, 0x0101, 60, 0, 70.0f, 1.0f, { 4215.0f, -975.0f, -2095.0f }, { 4070.0f, -1000.0f, -2025.0f } },
{ 0x0F, 0xFF, 0x0101, 5, 0, 70.0f, 1.0f, { 4215.0f, -975.0f, -2095.0f }, { 4070.0f, -1000.0f, -2025.0f } },
{ 0x0F, 0xFF, 0x0101, 80, 8, 75.0f, 1.0f, { 4010.0f, -1152.0f, -1728.0f }, { 3997.0f, -1194.0f, -1629.0f } },
{ 0x0F, 0x39, 0x2121, 1, 8, 75.0f, 1.0f, { 20.0f, 20.0f, 0.0f }, { 50.0f, 30.0f, 200.0f } },
{ 0x04, 0xFF, 0x2121, 99, 2, 70.0f, 0.02f, { -20.0f, 0.0f, 20.0f }, { 300.0f, 50.0f, -500.0f } },
{ 0x09, 0x38, 0x2121, 149, -20, 70.0f, 0.1f, { 100.0f, 50.0f, -100.0f }, { 5000.0f, 1055.0f, -2250.0f } },
{ 0x0F, 0xFF, 0x2121, 1, 0, 60.0f, 1.0f, { 0.0f, -20.0f, 0.0f }, { 0.0f, 20.0f, -150.0f } },
{ 0x12, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121F1C[4] = {
{ 0x0F, 0x08, 0x0101, 10, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x01, 0xFF, 0x2121, 10, 0, 50.0f, 0.5f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 150.0f } },
{ 0x01, 0x02, 0x2121, 23, 0, 50.0f, 0.5f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 150.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80121FBC[4] = {
{ 0x0F, 0xFF, 0x0101, 5, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x01, 0xFF, 0x0101, 10, 0, 30.0f, 1.0f, { -2130.0f, 2885.0f, -1055.0f }, { -2085.0f, 2875.0f, -1145.0f } },
{ 0x0F, 0xFF, 0x0000, 30, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x12, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012205C[3] = {
{ 0x0F, 0xFF, 0x42C2, 1, 0, 50.0f, 1.0f, { 0.0f, 220.0f, 0.0f }, { 0.0f, 220.0f, 240.0f } },
{ 0x0F, 0xFF, 0x0080, 29, 0, 50.0f, 1.0f, { 0.0f, 220.0f, 0.0f }, { 0.0f, 220.0f, 240.0f } },
{ 0x01, 0x01, 0x21A1, 10, 0, 60.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 10.0f, -200.0f } },
};
static OnePointCsFull D_801220D4[5] = {
{ 0x0F, 0x01, 0x0101, 5, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x01, 0xFF, 0x4141, 10, 5, 55.0f, 0.75f, { 400.0f, -50.0f, 800.0f }, { 600.0f, -60.0f, 800.0f } },
{ 0x01, 0xFF, 0x4141, 15, 10, 40.0f, 0.75f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 10.0f, 200.0f } },
{ 0x0F, 0xFF, 0x0000, 25, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012219C[7] = {
{ 0x0F, 0xFF, 0x2121, 5, 0, 60.0f, 1.0f, { 0.0f, -5.0f, 0.0f }, { 0.0f, 0.0f, -80.0f } },
{ 0x02, 0xFF, 0x4242, 15, 0, 40.0f, 0.4f, { 0.0f, 60.0f, -20.0f }, { 0.0f, 60.0f, 100.0f } },
{ 0x0F, 0xFF, 0x0000, 20, 0, 40.0f, 1.0f, { 0.0f, 60.0f, -20.0f }, { 0.0f, 60.0f, 100.0f } },
{ 0x01, 0xFF, 0x4242, 20, 0, 60.0f, 1.0f, { 20.0f, 60.0f, 20.0f }, { 40.0f, 60.0f, -80.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0F, 0xFF, 0x0000, 90, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801222B4[5] = {
{ 0x0F, 0xFF, 0x0101, 20, 10, 45.0f, 1.0f, { -1200.0f, 730.0f, -860.0f }, { -1100.0f, 500.0f, -1025.0f } },
{ 0x0B, 0xFF, 0x0101, 20, 10, 45.0f, 0.1f, { -880.0f, 480.0f, -860.0f }, { -1100.0f, 500.0f, -1025.0f } },
{ 0x0B, 0x81, 0x0101, 20, 10, 45.0f, 0.1f, { -880.0f, 500.0f, -860.0f }, { -1100.0f, 500.0f, -1025.0f } },
{ 0x0B, 0x8A, 0x0101, 5, 10, 45.0f, 0.1f, { -880.0f, 500.0f, -860.0f }, { -1100.0f, 500.0f, -1025.0f } },
{ 0x12, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012237C[2] = {
{ 0x0F, 0xFF, 0x0101, 20, -2, 65.0f, 1.0f, { -625.0f, 185.0f, -685.0f }, { -692.0f, 226.0f, -515.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801223CC[6] = {
{ 0x0F, 0xFF, 0x0101, 20, 0, 55.0f, 1.0f, { 60.0f, 1130.0f, -1430.0f }, { 60.0f, 1130.0f, -1190.0f } },
{ 0x0F, 0xFF, 0x0101, 18, -13, 68.0f, 1.0f, { 60.0f, 1130.0f, -1445.0f }, { 180.0f, 1170.0f, -1240.0f } },
{ 0x0F, 0xFF, 0x0101, 16, 18, 75.0f, 1.0f, { 42.0f, 1040.0f, -1400.0f }, { -20.0f, 940.0f, -1280.0f } },
{ 0x0F, 0xFF, 0x0101, 4, 0, 60.0f, 1.0f, { 60.0f, 1100.0f, -1465.0f }, { 60.0f, 1100.0f, -1180.0f } },
{ 0x02, 0xFF, 0x0101, 32, 0, 70.0f, 1.0f, { 60.0f, 1100.0f, -1030.0f }, { 60.0f, 1150.0f, -740.0f } },
{ 0x12, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801224BC[7] = {
{ 0x0F, 0xFF, 0x0101, 5, 0, 70.0f, 1.0f, { 60.0f, 1800.0f, -920.0f }, { 60.0f, 1860.0f, -800.0f } },
{ 0x03, 0xFF, 0x0101, 20, 0, 70.0f, 0.1f, { 60.0f, 1720.0f, -920.0f }, { 60.0f, 1780.0f, -800.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0F, 0xFF, 0x0142, 1, 0, 75.0f, 1.0f, { 0.0f, 70.0f, 0.0f }, { 60.0f, 990.0f, -690.0f } },
{ 0x03, 0xFF, 0x0142, 119, 0, 75.0f, 0.05f, { 0.0f, 70.0f, 0.0f }, { 60.0f, 990.0f, -690.0f } },
{ 0x03, 0xFF, 0x4242, 20, 0, 60.0f, 0.1f, { 0.0f, 70.0f, 0.0f }, { 0.0f, 100.0f, 200.0f } },
{ 0x12, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801225D4[5] = {
{ 0x0F, 0x08, 0x0101, 1, 0, 50.0f, 1.0f, { 4100.0f, 1200.0f, -1400.0f }, { 3900.0f, 1100.0f, -1400.0f } },
{ 0x01, 0x3B, 0x0101, 60, 4, 50.0f, 0.94f, { 4100.0f, 965.0f, -1385.0f }, { 3790.0f, 825.0f, -1325.0f } },
{ 0x03, 0xFF, 0x0101, 90, -5, 130.0f, 0.02f, { 4100.0f, 975.0f, -1375.0f }, { 3735.0f, 715.0f, -1325.0f } },
{ 0x0F, 0x08, 0x2323, 2, 0, 60.0f, 1.0f, { 0.0f, 60.0f, 0.0f }, { -10.0f, 15.0f, -200.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012269C[3] = {
{ 0x0F, 0xFF, 0x0101, 20, 2, 45.0f, 1.0f, { 975.0f, 225.0f, -1195.0f }, { 918.0f, 228.0f, -1228.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80122714[4] = {
{ 0x0F, 0xFF, 0x0101, 20, 0, 45.0f, 1.0f, { -915.0f, -2185.0f, 6335.0f }, { -915.0f, -2290.0f, 6165.0f } },
{ 0x02, 0xFF, 0x0101, -1, 0, 80.0f, 0.8f, { -920.0f, -2270.0f, 6140.0f }, { -920.0f, -2280.0f, 6070.0f } },
{ 0x02, 0xFF, 0x0101, 20, 0, 80.0f, 0.9f, { -920.0f, -2300.0f, 6140.0f }, { -920.0f, -2300.0f, 6070.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801227B4[6] = {
{ 0x0F, 0xFF, 0x0101, 30, 0, 60.0f, 1.0f, { 1400.0f, 100.0f, -170.0f }, { 1250.0f, 100.0f, -170.0f } },
{ 0x03, 0xFF, 0x4242, 130, 0, 60.0f, 0.2f, { 0.0f, -5.0f, 0.0f }, { -150.0f, -5.0f, 0.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x02, 0xFF, 0x0303, 69, 0, 85.0f, 1.0f, { -40.0f, 0.0f, 0.0f }, { -40.0f, 0.0f, 0.0f } },
{ 0x02, 0xFF, 0x0303, 20, 0, 60.0f, 1.0f, { 10.0f, 0.0f, 0.0f }, { 10.0f, 0.0f, 0.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801228A4[5] = {
{ 0x0F, 0x01, 0x0101, 20, 5, 30.0f, 1.0f, { 800.0f, -40.0f, 2170.0f }, { 512.0f, 142.0f, 2020.0f } },
{ 0x02, 0xFF, 0x0101, 20, -2, 70.0f, 0.8f, { 800.0f, -40.0f, 2170.0f }, { 512.0f, 142.0f, 2020.0f } },
{ 0x0F, 0x08, 0x0101, 90, 2, 62.0f, 1.0f, { 1140.0f, 125.0f, 1920.0f }, { 1255.0f, 150.0f, 1785.0f } },
{ 0x81, 0xFF, 0x2121, 10, 0, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 30.0f, 10.0f, -80.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012296C[4] = {
{ 0x0F, 0xFF, 0x0101, 20, -10, 70.0f, 1.0f, { -930.0f, 765.0f, -3075.0f }, { -700.0f, 700.0f, -3075.0f } },
{ 0x03, 0xFF, 0x0101, 80, -10, 70.0f, 0.05f, { -930.0f, 205.0f, -3075.0f }, { -700.0f, 140.0f, -3075.0f } },
{ 0x0F, 0xFF, 0x0000, 120, 0, 70.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80122A0C[2] = {
{ 0x0F, 0xFF, 0x0101, 60, 4, 50.0f, 1.0f, { 0.0f, 400.0f, -1000.0f }, { -200.0f, 500.0f, -850.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 50.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80122A5C[8] = {
{ 0x0F, 0xFF, 0x0101, 1, -15, 70.0f, 1.0f, { 230.0f, 3675.0f, -4230.0f }, { -45.0f, 3650.0f, -4415.0f } },
{ 0x15, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0F, 0xFF, 0x0101, 1, 0, 60.0f, 1.0f, { -120.0f, 2187.0f, -3286.0f }, { -110.0f, 2162.0f, -3262.0f } },
{ 0x15, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0F, 0xFF, 0x0101, 55, 0, 60.0f, 1.0f, { -38.0f, 1467.0f, -1102.0f }, { 64.0f, 1423.0f, -1188.0f } },
{ 0x0F, 0xFF, 0x0101, 1, -15, 70.0f, 1.0f, { 230.0f, 3675.0f, -4230.0f }, { -20.0f, 3650.0f, -4400.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80122B9C[3] = {
{ 0x0F, 0xFF, 0x0101, 60, 0, 65.0f, 1.0f, { 1095.0f, 2890.0f, -2980.0f }, { 1166.0f, 2695.0f, -2710.0f } },
{ 0x0F, 0xFF, 0x0101, 60, 15, 65.0f, 1.0f, { 566.0f, 4654.0f, -4550.0f }, { 606.0f, 5160.0f, -4740.0f } },
{ 0x11, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80122C14[1] = {
{ 0x0F, 0xFF, 0x0101, 999, 0, 85.0f, 1.0f, { -15.0f, 185.0f, 160.0f }, { -15.0f, 210.0f, 250.0f } },
};
static OnePointCsFull D_80122C3C[1] = {
{ 0x0F, 0xFF, 0x0101, 999, -2, 70.0f, 1.0f, { -62.0f, 60.0f, -315.0f }, { -115.0f, 30.0f, -445.0f } },
};
static OnePointCsFull D_80122C64[1] = {
{ 0x0F, 0xFF, 0x0101, 999, 3, 70.0f, 1.0f, { -40.0f, 80.0f, 375.0f }, { -85.0f, 45.0f, 485.0f } },
};
static OnePointCsFull D_80122C8C[1] = {
{ 0x0F, 0xFF, 0x0101, 999, 5, 60.0f, 1.0f, { -70.0f, 140.0f, 25.0f }, { 10.0f, 180.0f, 195.0f } },
};
static OnePointCsFull D_80122CB4[2] = {
{ 0x0F, 0xFF, 0x4242, 5, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 1000.0f }, { 0.0f, 0.0f, 1100.0f } },
{ 0x02, 0xFF, 0x4242, -1, 0, 60.0f, 1.0f, { 0.0f, 0.0f, -100.0f }, { 0.0f, 0.0f, 0.0f } },
};
static OnePointCsFull D_80122D04[2] = {
{ 0x0F, 0xFF, 0x4242, 10, 0, 60.0f, 1.0f, { 0.0f, 0.0f, -100.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x02, 0xFF, 0x4242, -1, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 1000.0f }, { 0.0f, 0.0f, 1100.0f } },
};
static OnePointCsFull D_80122D54[3] = {
{ 0x0F, 0xFF, 0x0101, 1, -4, 50.0f, 1.0f, { 230.0f, 65.0f, 300.0f }, { 50.0f, 50.0f, 225.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80122DCC[3] = {
{ 0x0F, 0xFF, 0x0101, 1, 0, 50.0f, 1.0f, { 0.0f, 5.0f, -145.0f }, { 0.0f, 55.0f, 55.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x11, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80122E44[2][7] = {
{
{ 0x83, 0xFF, 0x2222, 10, 5, 90.0f, 0.2f, { 50.0f, 100.0f, 140.0f }, { -30.0f, 10.0f, -20.0f } },
{ 0x8F, 0xFF, 0x0000, 20, 0, 90.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x03, 0xFF, 0x4343, 30, -5, 50.0f, 0.2f, { -10.0f, 80.0f, 10.0f }, { 20.0f, 20.0f, 120.0f } },
{ 0x10, 0xFF, 0x0000, 1, -5, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0B, 0x01, 0x4343, 160, 10, 80.0f, 0.005f, { -50.0f, 60.0f, 0.0f }, { -100.0f, 20.0f, 50.0f } },
{ 0x02, 0xFF, 0x0501, 50, 0, 60.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 10.0f, 80.0f } },
{ 0x13, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
},
{
{ 0x83, 0xFF, 0x2222, 10, -5, 90.0f, 0.2f, { -50.0f, 100.0f, 140.0f }, { 30.0f, 10.0f, -20.0f } },
{ 0x8F, 0xFF, 0x0000, 20, 0, 90.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x03, 0xFF, 0x4343, 30, 5, 50.0f, 0.2f, { 10.0f, 80.0f, 10.0f }, { -20.0f, 20.0f, 120.0f } },
{ 0x10, 0xFF, 0x0000, 1, 5, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0B, 0x01, 0x4343, 160, -10, 80.0f, 0.005f, { 50.0f, 60.0f, 0.0f }, { 100.0f, 20.0f, 50.0f } },
{ 0x02, 0xFF, 0x0501, 50, 0, 60.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 10.0f, 80.0f } },
{ 0x13, 0xFF, 0x0000, 1, -1, -1.0f, -1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
},
};
static OnePointCsFull D_80123074[5] = {
{ 0x8F, 0xFF, 0xA2A2, 2, 8, 70.0f, 1.0f, { -27.0f, -96.0f, 25.0f }, { 37.0f, -5.0f, 100.0f } },
{ 0x81, 0xFF, 0xA2A2, 38, 4, 60.0f, 1.0f, { 64.0f, -109.0f, 55.0f }, { 37.0f, 150.0f, 155.0f } },
{ 0x8F, 0xFF, 0xA2A2, 2, 8, 70.0f, 1.0f, { 45.0f, 123.0f, 45.0f }, { 70.0f, 5.0f, 125.0f } },
{ 0x81, 0xFF, 0xA2A2, 58, 4, 60.0f, 0.9f, { 82.0f, 95.0f, 55.0f }, { 25.0f, -175.0f, 180.0f } },
{ 0x92, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012313C[3] = {
{ 0x8F, 0xFF, 0xA2A2, 20, 8, 70.0f, 1.0f, { 65.0f, -150.0f, 50.0f }, { 30.0f, 10.0f, 90.0f } },
{ 0x81, 0xFF, 0xA2A2, 100, 0, 60.0f, 1.0f, { 70.0f, -160.0f, 50.0f }, { 25.0f, 180.0f, 180.0f } },
{ 0x92, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801231B4[4] = {
{ 0x8F, 0xC5, 0x4343, 1, 0, 50.0f, 1.0f, { 0.0f, 20.0f, 0.0f }, { 0.0f, 5.0f, -1.0f } },
{ 0x81, 0xC5, 0x4343, 48, 0, 50.0f, 0.75f, { 0.0f, 80.0f, 0.0f }, { 0.0f, 15.0f, -1.0f } },
{ 0x8F, 0xC5, 0x4343, 1, 5, 45.0f, 1.0f, { 0.0f, 0.0f, 30.0f }, { 30.0f, 120.0f, 60.0f } },
{ 0x81, 0xC5, 0x4343, -1, 0, -1.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80123254[2] = {
{ 0x0F, 0xFF, 0x0101, 1, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x03, 0xC5, 0x0101, 49, 0, 50.0f, 0.05f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
};
static OnePointCsFull D_801232A4[1] = {
{ 0x0F, 0x45, 0x0101, 9999, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
};
static OnePointCsFull D_801232CC[5] = {
{ 0x01, 0xFF, 0x0101, 45, -3, 65.0f, 1.0f, { -52.0f, 84.0f, -846.0f }, { -159.0f, 33.0f, -729.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0F, 0xFF, 0x0000, 10, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x01, 0xFF, 0x2121, 15, 0, 60.0f, 1.0f, { 10.0f, -5.0f, 0.0f }, { 0.0f, 0.0f, -150.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80123394[5] = {
{ 0x01, 0xFF, 0x0101, 45, 3, 65.0f, 1.0f, { -16.0f, 87.0f, -829.0f }, { 98.0f, 24.0f, -714.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0F, 0xFF, 0x0000, 10, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x01, 0xFF, 0x2121, 15, 0, 60.0f, 1.0f, { 10.0f, -5.0f, 0.0f }, { 0.0f, 0.0f, -150.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012345C[4] = {
{ 0x01, 0x01, 0x4242, 40, 0, 40.0f, 1.0f, { 0.0f, 50.0f, -40.0f }, { 0.0f, 60.0f, -160.0f } },
{ 0x04, 0x4D, 0x4242, 40, 0, 60.0f, 0.3f, { 0.0f, 90.0f, -40.0f }, { 0.0f, 60.0f, -160.0f } },
{ 0x04, 0x01, 0x2121, 10, 0, 60.0f, 0.2f, { 0.0f, -10.0f, 10.0f }, { 0.0f, 10.0f, -80.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801234FC[5] = {
{ 0x01, 0x05, 0x0441, 10, 0, 70.0f, 1.0f, { 0.0f, -10.0f, 20.0f }, { 0.0f, 0.0f, 120.0f } },
{ 0x03, 0xFF, 0x4141, 30, 0, 50.0f, 0.1f, { 0.0f, -10.0f, 20.0f }, { 0.0f, 10.0f, 80.0f } },
{ 0x10, 0x01, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x82, 0xFF, 0x2121, 10, 0, 60.0f, 0.9f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 10.0f, -80.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_801235C4[5] = {
{ 0x0F, 0x01, 0x4141, 1, 0, 50.0f, 1.0f, { 0.0f, -10.0f, 20.0f }, { 0.0f, 10.0f, 60.0f } },
{ 0x83, 0xFF, 0x0441, 39, 0, 70.0f, 0.1f, { 0.0f, -10.0f, 20.0f }, { 0.0f, 0.0f, 100.0f } },
{ 0x10, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x82, 0xFF, 0x2121, 15, 0, 60.0f, 0.9f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 10.0f, -80.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_8012368C[4] = {
{ 0x0F, 0xFF, 0x0101, 10, 0, 60.0f, 1.0f, { -1110.0f, -180.0f, -840.0f }, { -985.0f, -220.0f, -840.0f } },
{ 0x02, 0xFF, 0x0101, 70, -45, 75.0f, 1.0f, { -1060.0f, -160.0f, -840.0f }, { -1005.0f, -230.0f, -840.0f } },
{ 0x0F, 0xFF, 0x0000, 10, -45, 75.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x0F, 0xFF, 0x0101, 180, 9, 80.0f, 1.0f, { -1205.0f, -175.0f, -840.0f }, { -1305.0f, -230.0f, -828.0f } },
};
static OnePointCsFull D_8012372C[4] = {
{ 0x0F, 0xFF, 0x0142, 10, 0, 70.0f, 1.0f, { 0.0f, 80.0f, 0.0f }, { -1650.0f, 200.0f, -2920.0f } },
{ 0x02, 0xFF, 0x0142, 110, -2, 50.0f, 0.5f, { 0.0f, 150.0f, 0.0f }, { -1320.0f, 170.0f, -2900.0f } },
{ 0x0B, 0xFF, 0x4242, 100, 2, 70.0f, 0.1f, { 0.0f, 150.0f, 50.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x03, 0xFF, 0x4242, 60, 2, 45.0f, 0.01f, { 0.0f, 150.0f, 50.0f }, { 0.0f, 200.0f, -80.0f } },
};
static OnePointCsFull D_801237CC[5] = {
{ 0x8F, 0xFF, 0x4242, 20, 0, 50.0f, 1.0f, { 0.0f, 50.0f, -10.0f }, { 0.0f, 0.0f, 100.0f } },
{ 0x0A, 0xFF, 0x0101, 80, 0, 75.0f, 1.0f, { 2900.0f, 1300.0f, 530.0f }, { 2800.0f, 1190.0f, 540.0f } },
{ 0x0F, 0xFF, 0x0000, 10, 0, 75.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
{ 0x02, 0xFF, 0x0101, 55, 0, 75.0f, 1.0f, { 2900.0f, 1300.0f, 530.0f }, { 1500.0f, 1415.0f, 650.0f } },
{ 0x0F, 0xFF, 0x0000, 100, -45, 75.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
static OnePointCsFull D_80123894[3] = {
{ 0x0F, 0xFF, 0x0101, 60, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x0F, 0xFF, 0x4242, 30, 0, 50.0f, 1.0f, { 0.0f, 28.0f, 0.0f }, { 0.0f, 20.0f, 40.0f } },
{ 0x0D, 0xFF, 0x0000, 120, 0, 180.0f, 0.4f, { 0.0f, -5.0f, 0.0f }, { 0.0f, 2.0f, 40.0f } },
};
static OnePointCsFull D_8012390C[2] = {
{ 0x0F, 0xFF, 0x0101, 30, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x0F, 0xFF, 0x4242, 180, 0, 60.0f, 1.0f, { 0.0f, 78.0f, 0.0f }, { 0.0f, 78.0f, 200.0f } },
};
static OnePointCsFull D_8012395C[3] = {
{ 0x0F, 0xFF, 0x0101, 60, 0, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x0F, 0xFF, 0x4242, 30, 0, 50.0f, 1.0f, { 0.0f, 28.0f, 0.0f }, { 0.0f, 20.0f, -45.0f } },
{ 0x0D, 0xFF, 0x0000, 120, 0, 180.0f, 0.4f, { 0.0f, -5.0f, 0.0f }, { 0.0f, 2.0f, 45.0f } },
};
static OnePointCsFull D_801239D4[3] = {
{ 0x0F, 0xFF, 0x4242, 5, 0, 60.0f, 1.0f, { 0.0f, 20.0f, 0.0f }, { 0.0f, 40.0f, -120.0f } },
{ 0x09, 0xFF, 0x4242, 0, 0, 60.0f, 1.0f, { 0.0f, 20.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } },
{ 0x12, 0xFF, 0x0000, 1, 0, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } },
};
+4 -3
View File
@@ -2082,7 +2082,7 @@ void Interface_SetNaviCall(GlobalContext* globalCtx, u16 naviCallState) {
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
if (((naviCallState == 0x1D) || (naviCallState == 0x1E)) && !interfaceCtx->naviCalling &&
(globalCtx->csCtx.state == 0)) {
(globalCtx->csCtx.state == CS_STATE_IDLE)) {
// clang-format off
if (naviCallState == 0x1E) { Audio_PlaySoundGeneral(NA_SE_VO_NAVY_CALL, &D_801333D4, 4,
&D_801333E0, &D_801333E0, &D_801333E8); }
@@ -2722,7 +2722,7 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
}
if (interfaceCtx->naviCalling && (globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) &&
(globalCtx->csCtx.state == 0)) {
(globalCtx->csCtx.state == CS_STATE_IDLE)) {
if (!sCUpInvisible) {
// C-Up Button Texture, Color & Label (Navi Text)
gDPPipeSync(OVERLAY_DISP++);
@@ -4058,7 +4058,8 @@ void Interface_Update(GlobalContext* globalCtx) {
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.flag == 0) && (msgCtx->msgMode == 0) &&
(globalCtx->sceneLoadFlag == 0) && (globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(globalCtx->transitionMode == 0) && ((globalCtx->csCtx.state == 0) || !Player_InCsMode(globalCtx))) {
(globalCtx->transitionMode == 0) &&
((globalCtx->csCtx.state == CS_STATE_IDLE) || !Player_InCsMode(globalCtx))) {
if ((gSaveContext.magicAcquired != 0) && (gSaveContext.magicLevel == 0)) {
gSaveContext.magicLevel = gSaveContext.doubleMagic + 1;
gSaveContext.unk_13F0 = 8;
+56 -55
View File
@@ -219,12 +219,12 @@ void Gameplay_Init(GameState* thisx) {
for (i = 0; i < 3; i++) {
Camera_Init(&globalCtx->subCameras[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
Camera_ChangeStatus(&globalCtx->subCameras[i], 0x100);
Camera_ChangeStatus(&globalCtx->subCameras[i], CAM_STAT_UNK100);
}
globalCtx->cameraPtrs[0] = &globalCtx->mainCamera;
globalCtx->cameraPtrs[0]->uid = 0;
globalCtx->activeCamera = 0;
globalCtx->cameraPtrs[MAIN_CAM] = &globalCtx->mainCamera;
globalCtx->cameraPtrs[MAIN_CAM]->uid = 0;
globalCtx->activeCamera = MAIN_CAM;
func_8005AC48(&globalCtx->mainCamera, 0xFF);
Sram_Init(globalCtx, &globalCtx->sramCtx);
func_80112098(globalCtx);
@@ -428,7 +428,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
for (i = 0; i < gObjectTableSize; i++) {
s32 size = gObjectTable[i].vromEnd - gObjectTable[i].vromStart;
osSyncPrintf("%08x-%08x %08x(%8.3fKB)\n", gObjectTable[i].vromStart, gObjectTable[i].vromEnd, size,
size * 0.0009765625f);
size / 1024.0f);
}
osSyncPrintf("\n");
}
@@ -997,7 +997,7 @@ skip:
LOG_NUM("1", 1, "../z_play.c", 3801);
}
if ((sp80 == 0) || (gDbgCamEnabled != 0)) {
if ((sp80 == 0) || (gDbgCamEnabled)) {
s32 pad3[5];
s32 i;
@@ -1007,7 +1007,7 @@ skip:
LOG_NUM("1", 1, "../z_play.c", 3806);
}
for (i = 0; i < 4; i++) {
for (i = 0; i < NUM_CAMS; i++) {
if ((i != globalCtx->nextCamera) && (globalCtx->cameraPtrs[i] != NULL)) {
if (1 && HREG(63)) {
LOG_NUM("1", 1, "../z_play.c", 3809);
@@ -1104,6 +1104,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
if ((HREG(80) != 10) || (HREG(92) != 0)) {
Gfx* gfxP;
Gfx* sp1CC = POLY_OPA_DISP;
gfxP = Graph_GfxPlusOne(sp1CC);
gSPDisplayList(OVERLAY_DISP++, gfxP);
@@ -1134,6 +1135,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
if (gTrnsnUnkState == 3) {
Gfx* sp88 = POLY_OPA_DISP;
TransitionUnk_Draw(&sTrnsnUnk, &sp88);
POLY_OPA_DISP = sp88;
goto Gameplay_Draw_DrawOverlayElements;
@@ -1151,23 +1153,23 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
if (R_PAUSE_MENU_MODE == 3) {
Gfx* sp84 = POLY_OPA_DISP;
func_800C24BC(&globalCtx->preRenderCtx, &sp84);
POLY_OPA_DISP = sp84;
goto Gameplay_Draw_DrawOverlayElements;
} else {
s32 sp80;
if ((HREG(80) != 10) || (HREG(83) != 0)) {
if (globalCtx->skyboxId) {
if ((globalCtx->skyboxId != 0x1D) && !globalCtx->envCtx.skyDisabled) {
if ((globalCtx->skyboxId == 1) || (globalCtx->skyboxId == 5)) {
func_8006FC88(globalCtx->skyboxId, &globalCtx->envCtx, &globalCtx->skyboxCtx);
SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId,
globalCtx->envCtx.unk_13, globalCtx->view.eye.x, globalCtx->view.eye.y,
globalCtx->view.eye.z);
} else if (globalCtx->skyboxCtx.unk_140 == 0) {
SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, 0,
globalCtx->view.eye.x, globalCtx->view.eye.y, globalCtx->view.eye.z);
}
if (globalCtx->skyboxId && (globalCtx->skyboxId != 0x1D) && !globalCtx->envCtx.skyDisabled) {
if ((globalCtx->skyboxId == 1) || (globalCtx->skyboxId == 5)) {
func_8006FC88(globalCtx->skyboxId, &globalCtx->envCtx, &globalCtx->skyboxCtx);
SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId,
globalCtx->envCtx.unk_13, globalCtx->view.eye.x, globalCtx->view.eye.y,
globalCtx->view.eye.z);
} else if (globalCtx->skyboxCtx.unk_140 == 0) {
SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, 0,
globalCtx->view.eye.x, globalCtx->view.eye.y, globalCtx->view.eye.z);
}
}
}
@@ -1207,14 +1209,13 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
}
if ((HREG(80) != 10) || (HREG(83) != 0)) {
if (globalCtx->skyboxCtx.unk_140 != 0) {
if (ACTIVE_CAM->setting != 0x19) {
Vec3f sp74;
Camera_GetSkyboxOffset(&sp74, ACTIVE_CAM);
SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, 0,
globalCtx->view.eye.x + sp74.x, globalCtx->view.eye.y + sp74.y,
globalCtx->view.eye.z + sp74.z);
}
if ((globalCtx->skyboxCtx.unk_140 != 0) && (ACTIVE_CAM->setting != CAM_SET_PREREND0)) {
Vec3f sp74;
Camera_GetSkyboxOffset(&sp74, ACTIVE_CAM);
SkyboxDraw_Draw(&globalCtx->skyboxCtx, gfxCtx, globalCtx->skyboxId, 0,
globalCtx->view.eye.x + sp74.x, globalCtx->view.eye.y + sp74.y,
globalCtx->view.eye.z + sp74.z);
}
}
@@ -1268,6 +1269,7 @@ void Gameplay_Draw(GlobalContext* globalCtx) {
if ((R_PAUSE_MENU_MODE == 1) || (gTrnsnUnkState == 1)) {
Gfx* sp70 = OVERLAY_DISP;
s32 pad[4];
globalCtx->preRenderCtx.fbuf = gfxCtx->curFrameBuffer;
globalCtx->preRenderCtx.fbufSave = (u16*)gZBuffer;
func_800C1F20(&globalCtx->preRenderCtx, &sp70);
@@ -1351,7 +1353,7 @@ void Gameplay_Main(GameState* thisx) {
// original name: "Game_play_demo_mode_check"
s32 Gameplay_InCsMode(GlobalContext* globalCtx) {
return (globalCtx->csCtx.state != 0) || Player_InCsMode(globalCtx);
return (globalCtx->csCtx.state != CS_STATE_IDLE) || Player_InCsMode(globalCtx);
}
f32 func_800BFCB8(GlobalContext* globalCtx, MtxF* mf, Vec3f* vec) {
@@ -1463,7 +1465,7 @@ void Gameplay_SpawnScene(GlobalContext* globalCtx, s32 sceneNum, s32 spawn) {
globalCtx->sceneNum = sceneNum;
globalCtx->sceneConfig = scene->config;
osSyncPrintf("\nSCENE SIZE %fK\n", (scene->sceneFile.vromEnd - scene->sceneFile.vromStart) * 0.0009765625f);
osSyncPrintf("\nSCENE SIZE %fK\n", (scene->sceneFile.vromEnd - scene->sceneFile.vromStart) / 1024.0f);
globalCtx->sceneSegment = Gameplay_LoadFile(globalCtx, &scene->sceneFile);
scene->unk_13 = 0;
@@ -1474,7 +1476,7 @@ void Gameplay_SpawnScene(GlobalContext* globalCtx, s32 sceneNum, s32 spawn) {
Gameplay_InitScene(globalCtx, spawn);
osSyncPrintf("ROOM SIZE=%fK\n", func_80096FE8(globalCtx, &globalCtx->roomCtx) * 0.0009765625f);
osSyncPrintf("ROOM SIZE=%fK\n", func_80096FE8(globalCtx, &globalCtx->roomCtx) / 1024.0f);
}
void func_800C016C(GlobalContext* globalCtx, Vec3f* src, Vec3f* dest) {
@@ -1493,22 +1495,22 @@ void func_800C016C(GlobalContext* globalCtx, Vec3f* src, Vec3f* dest) {
s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx) {
s16 i;
for (i = 1; i < 4; i++) {
for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
if (globalCtx->cameraPtrs[i] == NULL) {
break;
}
}
if (i == 4) {
if (i == NUM_CAMS) {
osSyncPrintf(VT_COL(RED, WHITE) "camera control: error: fulled sub camera system area\n" VT_RST);
return -1;
return SUBCAM_NONE;
}
osSyncPrintf("camera control: " VT_BGCOL(CYAN) " " VT_COL(WHITE, BLUE) " create new sub camera [%d] " VT_BGCOL(
CYAN) " " VT_RST "\n",
i);
globalCtx->cameraPtrs[i] = &globalCtx->subCameras[i - 1];
globalCtx->cameraPtrs[i] = &globalCtx->subCameras[i - SUBCAM_FIRST];
Camera_Init(globalCtx->cameraPtrs[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
globalCtx->cameraPtrs[i]->thisIdx = i;
@@ -1520,9 +1522,9 @@ s16 Gameplay_GetActiveCamId(GlobalContext* globalCtx) {
}
s16 Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status) {
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
if (status == 7) {
if (status == CAM_STAT_ACTIVE) {
globalCtx->activeCamera = camIdx;
}
@@ -1530,14 +1532,14 @@ s16 Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status)
}
void Gameplay_ClearCamera(GlobalContext* globalCtx, s16 camId) {
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
if (camIdx == 0) {
if (camIdx == MAIN_CAM) {
osSyncPrintf(VT_COL(RED, WHITE) "camera control: error: never clear camera !!\n" VT_RST);
}
if (globalCtx->cameraPtrs[camIdx] != NULL) {
Camera_ChangeStatus(globalCtx->cameraPtrs[camIdx], 0x100);
Camera_ChangeStatus(globalCtx->cameraPtrs[camIdx], CAM_STAT_UNK100);
globalCtx->cameraPtrs[camIdx] = NULL;
osSyncPrintf("camera control: " VT_BGCOL(CYAN) " " VT_COL(WHITE, BLUE) " clear sub camera [%d] " VT_BGCOL(
CYAN) " " VT_RST "\n",
@@ -1550,24 +1552,24 @@ void Gameplay_ClearCamera(GlobalContext* globalCtx, s16 camId) {
void Gameplay_ClearAllSubCameras(GlobalContext* globalCtx) {
s16 i;
for (i = 1; i < 4; i++) {
for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
if (globalCtx->cameraPtrs[i] != NULL) {
Gameplay_ClearCamera(globalCtx, i);
}
}
globalCtx->activeCamera = 0;
globalCtx->activeCamera = MAIN_CAM;
}
Camera* Gameplay_GetCamera(GlobalContext* globalCtx, s16 camId) {
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
return globalCtx->cameraPtrs[camIdx];
}
s32 Gameplay_CameraSetAtEye(GlobalContext* globalCtx, s16 camId, Vec3f* at, Vec3f* eye) {
s32 ret = 0;
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
Camera* camera = globalCtx->cameraPtrs[camIdx];
Player* player;
@@ -1593,7 +1595,7 @@ s32 Gameplay_CameraSetAtEye(GlobalContext* globalCtx, s16 camId, Vec3f* at, Vec3
s32 Gameplay_CameraSetAtEyeUp(GlobalContext* globalCtx, s16 camId, Vec3f* at, Vec3f* eye, Vec3f* up) {
s32 ret = 0;
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
Camera* camera = globalCtx->cameraPtrs[camIdx];
Player* player;
@@ -1626,25 +1628,24 @@ s32 Gameplay_CameraSetFov(GlobalContext* globalCtx, s16 camId, f32 fov) {
}
s32 Gameplay_SetCameraRoll(GlobalContext* globalCtx, s16 camId, s16 roll) {
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
Camera* camera;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
Camera* camera = globalCtx->cameraPtrs[camIdx];
camera = globalCtx->cameraPtrs[camIdx];
camera->roll = roll;
return 1;
}
void Gameplay_CopyCamera(GlobalContext* globalCtx, s16 camId1, s16 camId2) {
s16 camIdx2 = (camId2 == -1) ? globalCtx->activeCamera : camId2;
s16 camIdx1 = (camId1 == -1) ? globalCtx->activeCamera : camId1;
s16 camIdx2 = (camId2 == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId2;
s16 camIdx1 = (camId1 == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId1;
Camera_Copy(globalCtx->cameraPtrs[camIdx1], globalCtx->cameraPtrs[camIdx2]);
}
s32 func_800C0808(GlobalContext* globalCtx, s16 camId, Player* player, s16 setting) {
Camera* camera;
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
camera = globalCtx->cameraPtrs[camIdx];
Camera_InitPlayerSettings(camera, player);
@@ -1656,12 +1657,12 @@ s32 Gameplay_CameraChangeSetting(GlobalContext* globalCtx, s16 camId, s16 settin
}
void func_800C08AC(GlobalContext* globalCtx, s16 camId, s16 arg2) {
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
s16 i;
Gameplay_ClearCamera(globalCtx, camIdx);
for (i = 1; i < 4; i++) {
for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
if (globalCtx->cameraPtrs[i] != NULL) {
osSyncPrintf(
VT_COL(RED, WHITE) "camera control: error: return to main, other camera left. %d cleared!!\n" VT_RST,
@@ -1671,10 +1672,10 @@ void func_800C08AC(GlobalContext* globalCtx, s16 camId, s16 arg2) {
}
if (arg2 <= 0) {
Gameplay_ChangeCameraStatus(globalCtx, 0, CAM_STAT_ACTIVE);
globalCtx->cameraPtrs[0]->childCamIdx = globalCtx->cameraPtrs[0]->parentCamIdx = 0;
Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_ACTIVE);
globalCtx->cameraPtrs[MAIN_CAM]->childCamIdx = globalCtx->cameraPtrs[MAIN_CAM]->parentCamIdx = SUBCAM_FREE;
} else {
func_800800F8(globalCtx, 1020, arg2, NULL, 0);
OnePointCutscene_Init(globalCtx, 1020, arg2, NULL, MAIN_CAM);
}
}
@@ -1695,7 +1696,7 @@ s16 func_800C09D8(GlobalContext* globalCtx, s16 camId, s16 arg2) {
return 0;
} else if (camera->uid != arg2) {
return 0;
} else if (camera->status != 7) {
} else if (camera->status != CAM_STAT_ACTIVE) {
return 2;
} else {
return 1;
+11 -11
View File
@@ -693,8 +693,8 @@ Vec3f D_80126038[] = {
};
f32 D_80126050[] = { 1265.0f, 826.0f };
f32 D_80126058[] = { 170.0415955f, 48.30249786f };
f32 D_80126060[] = { 10.019104f, -19.92510223f };
f32 D_80126058[] = { SQ(13.04f), SQ(6.95f) };
f32 D_80126060[] = { 10.019104f, -19.925102f };
f32 D_80126068[] = { 5.0f, 3.0f };
Vec3f D_80126070 = { 0.0f, -300.0f, 0.0f };
@@ -705,7 +705,7 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
Vec3f sp98;
Vec3f footprintPos;
CollisionPoly* sp88;
UNK_TYPE sp84;
s32 sp84;
f32 sp80;
f32 sp7C;
f32 sp78;
@@ -768,14 +768,14 @@ void func_8008F87C(GlobalContext* globalCtx, Player* this, SkelAnime* skelAnime,
sp50 = Math_FAtan2F(sp58, sp60);
temp1 = (M_PI - (Math_FAtan2F(sp5C, sp58) + ((M_PI / 2) - sp50))) * 10430.378f;
temp1 = (M_PI - (Math_FAtan2F(sp5C, sp58) + ((M_PI / 2) - sp50))) * (0x8000 / M_PI);
temp1 = temp1 - skelAnime->jointTable[shinLimbIndex].z;
if ((s16)(ABS(skelAnime->jointTable[shinLimbIndex].x) + ABS(skelAnime->jointTable[shinLimbIndex].y)) < 0) {
temp1 += 0x8000;
}
temp2 = (sp50 - sp54) * 10430.378f;
temp2 = (sp50 - sp54) * (0x8000 / M_PI);
rot->z -= temp2;
skelAnime->jointTable[thighLimbIndex].z = skelAnime->jointTable[thighLimbIndex].z - temp2;
@@ -815,7 +815,7 @@ s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
if (this->unk_6C2 != 0) {
Matrix_Translate(pos->x, ((Math_CosS(this->unk_6C2) - 1.0f) * 200.0f) + pos->y, pos->z, MTXMODE_APPLY);
Matrix_RotateX(this->unk_6C2 * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(this->unk_6C2 * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateRPY(rot->x, rot->y, rot->z, MTXMODE_APPLY);
pos->x = pos->y = pos->z = 0.0f;
rot->x = rot->y = rot->z = 0;
@@ -831,17 +831,17 @@ s32 func_8008FCC8(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p
rot->z += this->unk_6B6;
} else if (limbIndex == PLAYER_LIMB_UPPER) {
if (this->unk_6B0 != 0) {
Matrix_RotateZ(0.10546118f, MTXMODE_APPLY);
Matrix_RotateY(this->unk_6B0 * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateZ(0x44C * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateY(this->unk_6B0 * (M_PI / 0x8000), MTXMODE_APPLY);
}
if (this->unk_6BE != 0) {
Matrix_RotateY(this->unk_6BE * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateY(this->unk_6BE * (M_PI / 0x8000), MTXMODE_APPLY);
}
if (this->unk_6BC != 0) {
Matrix_RotateX(this->unk_6BC * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(this->unk_6BC * (M_PI / 0x8000), MTXMODE_APPLY);
}
if (this->unk_6C0 != 0) {
Matrix_RotateZ(this->unk_6C0 * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateZ(this->unk_6C0 * (M_PI / 0x8000), MTXMODE_APPLY);
}
} else if (limbIndex == PLAYER_LIMB_L_THIGH) {
func_8008F87C(globalCtx, this, &this->skelAnime, pos, rot, PLAYER_LIMB_L_THIGH, PLAYER_LIMB_L_SHIN,
+1 -1
View File
@@ -337,7 +337,7 @@ s16 Quake_Calc(Camera* camera, QuakeCamCalc* camData) {
for (idx = 0; idx < ARRAY_COUNT(sQuakeRequest); idx++) {
req = &sQuakeRequest[idx];
if (req->callbackIdx != 0) {
if (globalCtx->cameraPtrs[req->camPtrIdx] == 0) {
if (globalCtx->cameraPtrs[req->camPtrIdx] == NULL) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "quake: stopped! 'coz camera [%d] killed!!\n" VT_RST,
req->camPtrIdx);
Quake_Remove(req);
+3 -3
View File
@@ -332,7 +332,7 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 628);
camera = ACTIVE_CAM;
sp9C = (camera->setting == 25);
sp9C = (camera->setting == CAM_SET_PREREND0);
polygon1 = &room->mesh->polygon1;
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon1->dlist);
sp98 = (flags & 1) && sp9C && polygon1->single.source && !(SREG(25) & 1);
@@ -427,7 +427,7 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 752);
camera = ACTIVE_CAM;
sp98 = (camera->setting == 25);
sp98 = (camera->setting == CAM_SET_PREREND0);
polygon1 = &room->mesh->polygon1;
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon1->dlist);
bgImage = func_80096A74(polygon1, globalCtx);
@@ -533,7 +533,7 @@ u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx) {
osSyncPrintf(VT_FGCOL(YELLOW));
// Translates to: "ROOM BUFFER SIZE=%08x(%5.1fK)"
osSyncPrintf("部屋バッファサイズ=%08x(%5.1fK)\n", maxRoomSize, maxRoomSize * 0.0009765625f);
osSyncPrintf("部屋バッファサイズ=%08x(%5.1fK)\n", maxRoomSize, maxRoomSize / 1024.0f);
roomCtx->bufPtrs[0] = GameState_Alloc(&globalCtx->state, maxRoomSize, "../z_room.c", 946);
// Translates to: "ROOM BUFFER INITIAL POINTER=%08x"
osSyncPrintf("部屋バッファ開始ポインタ=%08x\n", roomCtx->bufPtrs[0]);
+1 -1
View File
@@ -364,7 +364,7 @@ void func_80098D80(GlobalContext* globalCtx, SceneCmd* cmd) {
if ((cmd->timeSettings.hour != 0xFF) && (cmd->timeSettings.min != 0xFF)) {
gSaveContext.environmentTime = gSaveContext.dayTime =
((cmd->timeSettings.hour + (cmd->timeSettings.min / 60.0f)) * 60.0f) / 0.021972656f;
((cmd->timeSettings.hour + (cmd->timeSettings.min / 60.0f)) * 60.0f) / (360.0f / 0x4000);
}
if (cmd->timeSettings.unk_06 != 0xFF) {
+3 -2
View File
@@ -2332,8 +2332,9 @@ void func_8009FE58(GlobalContext* globalCtx) {
D_8012A3A0 += 1820;
temp = 0.020000001f;
func_800AA76C(&globalCtx->view, 0.00009587531f * temp * Math_CosS(D_8012A39C),
0.00009587531f * temp * Math_SinS(D_8012A39C), 0.00009587531f * temp * Math_SinS(D_8012A3A0));
func_800AA76C(&globalCtx->view, ((360.00018f / 65535.0f) * (M_PI / 180.0f)) * temp * Math_CosS(D_8012A39C),
((360.00018f / 65535.0f) * (M_PI / 180.0f)) * temp * Math_SinS(D_8012A39C),
((360.00018f / 65535.0f) * (M_PI / 180.0f)) * temp * Math_SinS(D_8012A3A0));
func_800AA78C(&globalCtx->view, 1.f + (0.79999995f * temp * Math_SinS(D_8012A3A0)),
1.f + (0.39999998f * temp * Math_CosS(D_8012A3A0)), 1.f + (1 * temp * Math_CosS(D_8012A39C)));
func_800AA7AC(&globalCtx->view, 0.95f);
+75 -91
View File
@@ -85,13 +85,10 @@ void ArmsHook_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void ArmsHook_Wait(ArmsHook* this, GlobalContext* globalCtx) {
Player* player;
s32 length;
if (this->actor.parent == NULL) {
player = PLAYER;
Player* player = PLAYER;
// get correct timer length for hookshot or longshot
length = (player->heldItemActionParam == PLAYER_AP_HOOKSHOT) ? 13 : 26;
s32 length = (player->heldItemActionParam == PLAYER_AP_HOOKSHOT) ? 13 : 26;
ArmsHook_SetupAction(this, ArmsHook_Shoot);
func_8002D9A4(&this->actor, 20.0f);
@@ -125,6 +122,7 @@ void ArmsHook_DetachHookFromActor(ArmsHook* this) {
s32 ArmsHook_CheckForCancel(ArmsHook* this) {
Player* player = (Player*)this->actor.parent;
if (Player_HoldsHookshot(player)) {
if ((player->itemActionParam != player->heldItemActionParam) || ((player->actor.flags & 0x100)) ||
((player->stateFlags1 & 0x4000080))) {
@@ -174,40 +172,33 @@ void ArmsHook_Shoot(ArmsHook* this, GlobalContext* globalCtx) {
func_8002F8F0(&player->actor, NA_SE_IT_HOOKSHOT_CHAIN - SFX_FLAG);
ArmsHook_CheckForCancel(this);
if (this->timer != 0) {
if ((this->collider.base.atFlags & AT_HIT) && (this->collider.info.atHitInfo->elemType != ELEMTYPE_UNK4)) {
touchedActor = this->collider.base.at;
if ((touchedActor->update != NULL) && (touchedActor->flags & 0x600)) {
if (this->collider.info.atHitInfo->bumperFlags & BUMP_HOOKABLE) {
ArmsHook_AttachHookToActor(this, touchedActor);
if ((touchedActor->flags & 0x400) == 0x400) {
func_80865044(this);
}
if ((this->timer != 0) && (this->collider.base.atFlags & AT_HIT) &&
(this->collider.info.atHitInfo->elemType != ELEMTYPE_UNK4)) {
touchedActor = this->collider.base.at;
if ((touchedActor->update != NULL) && (touchedActor->flags & 0x600)) {
if (this->collider.info.atHitInfo->bumperFlags & BUMP_HOOKABLE) {
ArmsHook_AttachHookToActor(this, touchedActor);
if ((touchedActor->flags & 0x400) == 0x400) {
func_80865044(this);
}
}
this->timer = 0;
Audio_PlaySoundGeneral(NA_SE_IT_ARROW_STICK_CRE, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
return;
}
}
if (DECR(this->timer) == 0) {
this->timer = 0;
Audio_PlaySoundGeneral(NA_SE_IT_ARROW_STICK_CRE, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
} else if (DECR(this->timer) == 0) {
grabbed = this->grabbed;
if (grabbed != NULL) {
if ((grabbed->update == NULL) || (grabbed->flags & 0x2000) != 0x2000) {
grabbed = NULL;
this->grabbed = NULL;
} else {
if (this->actor.child != NULL) {
sp94 = Actor_WorldDistXYZToActor(&this->actor, grabbed);
sp90 =
sqrtf(SQ(this->grabbedDistDiff.x) + SQ(this->grabbedDistDiff.y) + SQ(this->grabbedDistDiff.z));
Math_Vec3f_Diff(&grabbed->world.pos, &this->grabbedDistDiff, &this->actor.world.pos);
if (50.0f < (sp94 - sp90)) {
ArmsHook_DetachHookFromActor(this);
grabbed = NULL;
}
} else if (this->actor.child != NULL) {
sp94 = Actor_WorldDistXYZToActor(&this->actor, grabbed);
sp90 = sqrtf(SQ(this->grabbedDistDiff.x) + SQ(this->grabbedDistDiff.y) + SQ(this->grabbedDistDiff.z));
Math_Vec3f_Diff(&grabbed->world.pos, &this->grabbedDistDiff, &this->actor.world.pos);
if (50.0f < (sp94 - sp90)) {
ArmsHook_DetachHookFromActor(this);
grabbed = NULL;
}
}
}
@@ -219,12 +210,10 @@ void ArmsHook_Shoot(ArmsHook* this, GlobalContext* globalCtx) {
} else {
if (this->actor.child != NULL) {
velocity = 30.0f;
} else if (grabbed != NULL) {
velocity = 50.0f;
} else {
if (grabbed != NULL) {
velocity = 50.0f;
} else {
velocity = 200.0f;
}
velocity = 200.0f;
}
phi_f16 = bodyDistDiff - velocity;
if (bodyDistDiff <= velocity) {
@@ -260,7 +249,6 @@ void ArmsHook_Shoot(ArmsHook* this, GlobalContext* globalCtx) {
if (ArmsHook_AttachToPlayer(this, player)) {
Math_Vec3f_Diff(&this->actor.world.pos, &player->actor.world.pos, &player->actor.velocity);
player->actor.velocity.y -= 20.0f;
return;
}
}
}
@@ -272,34 +260,32 @@ void ArmsHook_Shoot(ArmsHook* this, GlobalContext* globalCtx) {
sp60.x = this->unk_1F4.x - (this->unk_1E8.x - this->unk_1F4.x);
sp60.y = this->unk_1F4.y - (this->unk_1E8.y - this->unk_1F4.y);
sp60.z = this->unk_1F4.z - (this->unk_1E8.z - this->unk_1F4.z);
if (BgCheck_EntityLineTest1(&globalCtx->colCtx, &sp60, &this->unk_1E8, &sp78, &poly, 1, 1, 1, 1, &bgId) != 0) {
if (func_8002F9EC(globalCtx, &this->actor, poly, bgId, &sp78) == false) {
sp5C = COLPOLY_GET_NORMAL(poly->normal.x);
sp58 = COLPOLY_GET_NORMAL(poly->normal.z);
Math_Vec3f_Copy(&this->actor.world.pos, &sp78);
this->actor.world.pos.x += 10.0f * sp5C;
this->actor.world.pos.z += 10.0f * sp58;
this->timer = 0;
if (SurfaceType_IsHookshotSurface(&globalCtx->colCtx, poly, bgId) != 0) {
if (bgId != BGCHECK_SCENE) {
dynaPolyActor = DynaPoly_GetActor(&globalCtx->colCtx, bgId);
if (dynaPolyActor != NULL) {
ArmsHook_AttachHookToActor(this, &dynaPolyActor->actor);
}
if (BgCheck_EntityLineTest1(&globalCtx->colCtx, &sp60, &this->unk_1E8, &sp78, &poly, true, true, true, true,
&bgId) &&
!func_8002F9EC(globalCtx, &this->actor, poly, bgId, &sp78)) {
sp5C = COLPOLY_GET_NORMAL(poly->normal.x);
sp58 = COLPOLY_GET_NORMAL(poly->normal.z);
Math_Vec3f_Copy(&this->actor.world.pos, &sp78);
this->actor.world.pos.x += 10.0f * sp5C;
this->actor.world.pos.z += 10.0f * sp58;
this->timer = 0;
if (SurfaceType_IsHookshotSurface(&globalCtx->colCtx, poly, bgId)) {
if (bgId != BGCHECK_SCENE) {
dynaPolyActor = DynaPoly_GetActor(&globalCtx->colCtx, bgId);
if (dynaPolyActor != NULL) {
ArmsHook_AttachHookToActor(this, &dynaPolyActor->actor);
}
func_80865044(this);
Audio_PlaySoundGeneral(NA_SE_IT_HOOKSHOT_STICK_OBJ, &this->actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
return;
}
func_80865044(this);
Audio_PlaySoundGeneral(NA_SE_IT_HOOKSHOT_STICK_OBJ, &this->actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
} else {
CollisionCheck_SpawnShieldParticlesMetal(globalCtx, &this->actor.world.pos);
Audio_PlaySoundGeneral(NA_SE_IT_HOOKSHOT_REFLECT, &this->actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
return;
}
}
if ((CHECK_BTN_ANY(globalCtx->state.input[0].press.button,
(BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN)))) {
} else if ((CHECK_BTN_ANY(globalCtx->state.input[0].press.button,
(BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN)))) {
this->timer = 0;
}
}
@@ -313,8 +299,8 @@ void ArmsHook_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ArmsHook* this = THIS;
u32 pad3;
Player* player = PLAYER;
Vec3f sp78;
Vec3f sp6C;
@@ -322,38 +308,36 @@ void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) {
f32 sp5C;
f32 sp58;
if (player->actor.draw != NULL) {
if (player->rightHandType == 15) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 850);
if ((player->actor.draw != NULL) && (player->rightHandType == 15)) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 850);
if ((ArmsHook_Shoot != this->actionFunc) || (this->timer <= 0)) {
Matrix_MultVec3f(&D_80865B70, &this->unk_1E8);
Matrix_MultVec3f(&D_80865B88, &sp6C);
Matrix_MultVec3f(&D_80865B94, &sp60);
this->hookInfo.active = 0;
} else {
Matrix_MultVec3f(&D_80865B7C, &this->unk_1E8);
Matrix_MultVec3f(&D_80865BA0, &sp6C);
Matrix_MultVec3f(&D_80865BAC, &sp60);
}
func_80090480(globalCtx, &this->collider, &this->hookInfo, &sp6C, &sp60);
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 895),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_0602B288);
Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW);
Math_Vec3f_Diff(&player->unk_3C8, &this->actor.world.pos, &sp78);
sp58 = SQ(sp78.x) + SQ(sp78.z);
sp5C = sqrtf(sp58);
Matrix_RotateY(Math_FAtan2F(sp78.x, sp78.z), MTXMODE_APPLY);
Matrix_RotateX(Math_FAtan2F(-sp78.y, sp5C), MTXMODE_APPLY);
Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 910),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_0602AFF0);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 913);
if ((ArmsHook_Shoot != this->actionFunc) || (this->timer <= 0)) {
Matrix_MultVec3f(&D_80865B70, &this->unk_1E8);
Matrix_MultVec3f(&D_80865B88, &sp6C);
Matrix_MultVec3f(&D_80865B94, &sp60);
this->hookInfo.active = 0;
} else {
Matrix_MultVec3f(&D_80865B7C, &this->unk_1E8);
Matrix_MultVec3f(&D_80865BA0, &sp6C);
Matrix_MultVec3f(&D_80865BAC, &sp60);
}
func_80090480(globalCtx, &this->collider, &this->hookInfo, &sp6C, &sp60);
func_80093D18(globalCtx->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 895),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_0602B288);
Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW);
Math_Vec3f_Diff(&player->unk_3C8, &this->actor.world.pos, &sp78);
sp58 = SQ(sp78.x) + SQ(sp78.z);
sp5C = sqrtf(sp58);
Matrix_RotateY(Math_FAtan2F(sp78.x, sp78.z), MTXMODE_APPLY);
Matrix_RotateX(Math_FAtan2F(-sp78.y, sp5C), MTXMODE_APPLY);
Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 910),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_0602AFF0);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 913);
}
}
@@ -208,9 +208,9 @@ void ArrowFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618);
Matrix_Translate(tranform->world.pos.x, tranform->world.pos.y, tranform->world.pos.z, MTXMODE_NEW);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
// Draw red effect over the screen when arrow hits
@@ -209,9 +209,9 @@ void ArrowIce_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610);
Matrix_Translate(tranform->world.pos.x, tranform->world.pos.y, tranform->world.pos.z, MTXMODE_NEW);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
// Draw blue effect over the screen when arrow hits
@@ -209,9 +209,9 @@ void ArrowLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_arrow_light.c", 598);
Matrix_Translate(tranform->world.pos.x, tranform->world.pos.y, tranform->world.pos.z, MTXMODE_NEW);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateY(tranform->shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateX(tranform->shape.rot.x * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
// Draw yellow effect over the screen when arrow hits
@@ -184,7 +184,7 @@ void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->dyna.actor.xzDistToPlayer < 250.0f) {
BgBdanObjects_SetContactRu1(this, 1);
this->timer = 20;
func_800800F8(globalCtx, 0xBFE, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3070, -99, &this->dyna.actor, MAIN_CAM);
player->actor.world.pos.x = -1130.0f;
player->actor.world.pos.y = -1025.0f;
player->actor.world.pos.z = -3300.0f;
@@ -261,7 +261,7 @@ void func_8086C3D8(BgBdanObjects* this, GlobalContext* globalCtx) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_U);
this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + 140.0f;
this->actionFunc = func_8086C5BC;
func_800800F8(globalCtx, 0xC08, -0x63, this->dyna.actor.child, 0);
OnePointCutscene_Init(globalCtx, 3080, -99, this->dyna.actor.child, MAIN_CAM);
player->actor.world.pos.x = -1130.0f;
player->actor.world.pos.y = -1025.0f;
player->actor.world.pos.z = -3500.0f;
@@ -334,7 +334,7 @@ void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx) {
if (func_8004356C(&this->dyna)) {
if (this->dyna.actor.xzDistToPlayer < 120.0f) {
this->actionFunc = func_8086C7D0;
func_800800F8(globalCtx, 0xC12, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3090, -99, &this->dyna.actor, MAIN_CAM);
}
}
}
@@ -358,13 +358,13 @@ void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx) {
}
if (this->unk_168 == 0) {
if (func_8004356C(&this->dyna)) {
this->cameraSetting = globalCtx->cameraPtrs[0]->setting;
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_NORMAL2);
func_8005AD1C(globalCtx->cameraPtrs[0], 4);
this->unk_168 = 0xAU;
this->cameraSetting = globalCtx->cameraPtrs[MAIN_CAM]->setting;
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_NORMAL2);
func_8005AD1C(globalCtx->cameraPtrs[MAIN_CAM], 4);
this->unk_168 = 10;
}
} else {
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_NORMAL2);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_NORMAL2);
if (!func_8004356C(&this->dyna)) {
if (this->unk_168 != 0) {
this->unk_168--;
@@ -373,12 +373,12 @@ void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->unk_168 == 0) {
do {
} while (0);
Camera_ChangeSetting(globalCtx->cameraPtrs[0], this->cameraSetting);
func_8005ACFC(globalCtx->cameraPtrs[0], 4);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], this->cameraSetting);
func_8005ACFC(globalCtx->cameraPtrs[MAIN_CAM], 4);
}
}
this->dyna.actor.world.pos.y =
this->dyna.actor.home.pos.y - (sinf(this->timer * (M_PI / 256.0f)) * 471.239990234375f); // pi * 150
this->dyna.actor.home.pos.y - (sinf(this->timer * (M_PI / 256.0f)) * 471.24f); // pi * 150
if (this->timer == 0) {
this->timer = 512;
}
@@ -423,7 +423,7 @@ void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx) {
this->timer = 50;
this->actionFunc = func_8086CB8C;
this->dyna.actor.home.pos.y -= 200.0f;
func_800800F8(globalCtx, 0xC1C, 0x33, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3100, 51, &this->dyna.actor, MAIN_CAM);
}
}
@@ -437,7 +437,7 @@ void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx) {
if (this->timer == 0) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_U);
this->actionFunc = BgBdanObjects_DoNothing;
Gameplay_CopyCamera(globalCtx, 0, -1);
Gameplay_CopyCamera(globalCtx, MAIN_CAM, SUBCAM_ACTIVE);
} else {
func_8002F974(&this->dyna.actor, NA_SE_EV_BUYOSTAND_FALL - SFX_FLAG);
}
@@ -92,7 +92,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneDownward, 1200, ICHAIN_STOP),
};
static Vec3f D_8086E0E0 = { 0, 140.0f, 0 };
static Vec3f D_8086E0E0 = { 0.0f, 140.0f, 0.0f };
void func_8086D010(BgBdanSwitch* this, GlobalContext* globalCtx, CollisionHeader* collision, DynaPolyMoveFlag flag) {
s16 pad1;
@@ -125,7 +125,7 @@ void func_8086D0EC(BgBdanSwitch* this) {
case BLUE:
case YELLOW_HEAVY:
case YELLOW:
this->unk_1D4 = ((Math_CosS(this->unk_1CC) * 0.5f) + 8.833334f) * 0.012f;
this->unk_1D4 = ((Math_CosS(this->unk_1CC) * 0.5f) + (53.000004f / 6.0f)) * 0.012f;
this->unk_1D0 = ((Math_CosS(this->unk_1CC) * 0.5f) + 20.5f) * (this->unk_1C8 * 0.0050000004f);
this->dyna.actor.scale.y = this->unk_1C8 * 0.1f;
break;
@@ -227,9 +227,9 @@ void func_8086D4B4(BgBdanSwitch* this, GlobalContext* globalCtx) {
type = this->dyna.actor.params & 0xFF;
Flags_SetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0x3F);
if (type == BLUE || type == YELLOW_TALL_2) {
func_800806BC(globalCtx, &this->dyna.actor, NA_SE_SY_TRE_BOX_APPEAR);
OnePointCutscene_AttentionSetSfx(globalCtx, &this->dyna.actor, NA_SE_SY_TRE_BOX_APPEAR);
} else {
func_800806BC(globalCtx, &this->dyna.actor, NA_SE_SY_CORRECT_CHIME);
OnePointCutscene_AttentionSetSfx(globalCtx, &this->dyna.actor, NA_SE_SY_CORRECT_CHIME);
}
}
}
@@ -238,7 +238,7 @@ void func_8086D548(BgBdanSwitch* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0x3F)) {
Flags_UnsetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0x3F);
if ((this->dyna.actor.params & 0xFF) == YELLOW_TALL_2) {
func_800806BC(globalCtx, &this->dyna.actor, NA_SE_SY_TRE_BOX_APPEAR);
OnePointCutscene_AttentionSetSfx(globalCtx, &this->dyna.actor, NA_SE_SY_TRE_BOX_APPEAR);
}
}
}
@@ -95,7 +95,7 @@ void BgDdanJd_Idle(BgDdanJd* this, GlobalContext* globalCtx) {
this->state = STATE_GO_MIDDLE_FROM_BOTTOM;
this->idleTimer = 0;
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + MOVE_HEIGHT_MIDDLE;
func_800800F8(globalCtx, 0xBF4, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3060, -99, &this->dyna.actor, MAIN_CAM);
}
if (this->idleTimer == 0) {
this->idleTimer = IDLE_FRAMES;
@@ -164,7 +164,7 @@ void BgDdanJd_Move(BgDdanJd* this, GlobalContext* globalCtx) {
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + MOVE_HEIGHT_MIDDLE;
this->idleTimer = 0;
this->actionFunc = BgDdanJd_Idle;
func_800800F8(globalCtx, 0xBF4, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3060, -99, &this->dyna.actor, MAIN_CAM);
} else if (Math_StepToF(&this->dyna.actor.world.pos.y, this->targetY, this->ySpeed)) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_PILLAR_MOVE_STOP);
this->actionFunc = BgDdanJd_Idle;
@@ -106,7 +106,7 @@ void BgDdanKd_CheckForExplosions(BgDdanKd* this, GlobalContext* globalCtx) {
if ((explosive != NULL) && (this->prevExplosive != NULL) && (explosive != this->prevExplosive) &&
(Math_Vec3f_DistXZ(&this->prevExplosivePos, &explosive->world.pos) > 80.0f)) {
BgDdanKd_SetupAction(this, BgDdanKd_LowerStairs);
func_800800F8(globalCtx, 0xBEA, 0x3E7, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3050, 999, &this->dyna.actor, MAIN_CAM);
} else {
if (this->timer != 0) {
this->timer -= 1;
@@ -160,13 +160,13 @@ void func_80871CF4(BgDodoago* this, GlobalContext* globalCtx) {
this->unk_164 = 0;
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
BgDodoago_SetupAction(this, func_80871FB8);
func_800800F8(globalCtx, 0xD34, 0xA0, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3380, 160, &this->dyna.actor, MAIN_CAM);
} else if (globalCtx->unk_11D30[this->unk_164] == 0) {
func_800800F8(globalCtx, 0xBF9, 0x28, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3065, 40, &this->dyna.actor, MAIN_CAM);
BgDodoago_SetupAction(this, func_80872288);
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
} else {
func_800800F8(globalCtx, 0xBF9, 0x14, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3065, 20, &this->dyna.actor, MAIN_CAM);
Audio_PlaySoundGeneral(NA_SE_SY_ERROR, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
D_80872824 += 0x1E;
return;
@@ -191,7 +191,7 @@ void BgDyYoseizo_Bob(BgDyYoseizo* this, GlobalContext* globalCtx) {
Math_ApproachF(&this->actor.world.pos.y, this->targetHeight, 0.1f, 10.0f);
Math_ApproachF(&this->bobOffset, 10.0f, 0.1f, 0.5f);
if (globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
this->actor.velocity.y = Math_SinS(this->bobTimer);
} else {
this->actor.velocity.y = Math_SinS(this->bobTimer) * 0.4f;
@@ -313,9 +313,9 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) {
globalCtx->envCtx.unk_BF = 2;
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
func_800800F8(globalCtx, 0x219B, -99, NULL, 0);
OnePointCutscene_Init(globalCtx, 8603, -99, NULL, MAIN_CAM);
} else {
func_800800F8(globalCtx, 0x219C, -99, NULL, 0);
OnePointCutscene_Init(globalCtx, 8604, -99, NULL, MAIN_CAM);
};
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GREAT_FAIRY_APPEAR);
@@ -578,7 +578,7 @@ void BgDyYoseizo_Vanish(BgDyYoseizo* this, GlobalContext* globalCtx) {
}
void BgDyYoseizo_SetupSpinGrow_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
if ((globalCtx->csCtx.npcActions[0] != NULL) && (globalCtx->csCtx.npcActions[0]->action == 2)) {
this->actor.draw = BgDyYoseizo_Draw;
func_8002DF54(globalCtx, &this->actor, 1);
@@ -635,7 +635,7 @@ void BgDyYoseizo_SpinGrowSetupGive_Reward(BgDyYoseizo* this, GlobalContext* glob
this->animationChanged = true;
}
if ((globalCtx->csCtx.state != 0) &&
if ((globalCtx->csCtx.state != CS_STATE_IDLE) &&
((globalCtx->csCtx.npcActions[0] != NULL) && (globalCtx->csCtx.npcActions[0]->action == 3))) {
this->finishedSpinGrow = this->animationChanged = false;
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
@@ -821,7 +821,7 @@ void BgDyYoseizo_Update(Actor* thisx, GlobalContext* globalCtx2) {
this->actionFunc(this, globalCtx);
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
phi_v1 = 0;
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
if ((globalCtx->csCtx.frames == 32) || (globalCtx->csCtx.frames == 291) ||
@@ -86,7 +86,7 @@ void BgGjyoBridge_TriggerCutscene(BgGjyoBridge* this, GlobalContext* globalCtx)
}
void BgGjyoBridge_SpawnBridge(BgGjyoBridge* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[2] != NULL) &&
if ((globalCtx->csCtx.state != CS_STATE_IDLE) && (globalCtx->csCtx.npcActions[2] != NULL) &&
(globalCtx->csCtx.npcActions[2]->action == 2)) {
this->dyna.actor.draw = BgGjyoBridge_Draw;
func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
@@ -274,7 +274,7 @@ void BgHakaGate_FloorOpen(BgHakaGate* this, GlobalContext* globalCtx) {
void BgHakaGate_GateWait(BgHakaGate* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
this->actionFunc = BgHakaGate_GateOpen;
}
}
@@ -112,7 +112,7 @@ void BgHakaHuta_SpawnEnemies(BgHakaHuta* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params) && !Player_InCsMode(globalCtx)) {
this->counter = 25;
this->actionFunc = BgHakaHuta_Open;
func_800800F8(globalCtx, 0x1771, 0x3E7, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 6001, 999, &this->dyna.actor, MAIN_CAM);
if (this->unk_16A == 2) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_FIREFLY,
(this->dyna.actor.world.pos.x + (-25.0f) * Math_CosS(this->dyna.actor.shape.rot.y) +
@@ -175,7 +175,7 @@ void BgHakaHuta_SlideOpen(BgHakaHuta* this, GlobalContext* globalCtx) {
void func_8087D720(BgHakaHuta* this, GlobalContext* globalCtx) {
static Vec3f D_8087D958 = { 30.0f, 0.0f, 0.0f };
static Vec3f D_8087D964 = { 0.032579999f, 0.325800001f, -0.944899976f };
static Vec3f D_8087D964 = { 0.03258f, 0.3258f, -0.9449f };
MtxF mtx;
Vec3f vec;
s32 quakeIndex;
@@ -190,7 +190,7 @@ void func_8087E258(BgHakaMeganeBG* this, GlobalContext* globalCtx) {
void func_8087E288(BgHakaMeganeBG* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->unk_168)) {
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
this->actionFunc = func_8087E2D8;
}
}
@@ -101,7 +101,7 @@ void BgHakaShip_WaitForSong(BgHakaShip* this, GlobalContext* globalCtx) {
this->counter = 130;
this->actionFunc = BgHakaShip_CutsceneStationary;
osSyncPrintf("シーン 外輪船 ... アァクション!!\n");
func_800800F8(globalCtx, 0xD3E, 999, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3390, 999, &this->dyna.actor, MAIN_CAM);
}
}
}
@@ -441,7 +441,7 @@ void func_808809E4(BgHakaTrap* this, GlobalContext* globalCtx, s16 arg2) {
if ((fabsf(sp18.x) < 70.0f) && (fabsf(sp18.y) < 100.0f) && (sp18.z < 500.0f) &&
(PLAYER->currentBoots != PLAYER_BOOTS_IRON)) {
player->windSpeed = ((500.0f - sp18.z) * 0.06f + 5.0f) * arg2 * (1.0f / 14848.0f) * (2.0f / 3.0f);
player->windSpeed = ((500.0f - sp18.z) * 0.06f + 5.0f) * arg2 * (1.0f / 0x3A00) * (2.0f / 3.0f);
player->windDirection = this->dyna.actor.shape.rot.y;
}
}
@@ -230,7 +230,7 @@ void BgHakaTubo_DrawFlameCircle(BgHakaTubo* this, GlobalContext* globalCtx) {
func_80093D84(globalCtx->state.gfxCtx);
Matrix_Translate(this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y + 235.0f, this->dyna.actor.world.pos.z,
MTXMODE_NEW);
Matrix_RotateY(this->dyna.actor.shape.rot.y * 0.0000958738f, MTXMODE_APPLY);
Matrix_RotateY(this->dyna.actor.shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale(0.07f, 0.04f, 0.07f, MTXMODE_APPLY);
if (1) {}
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 0, 170, 255, 255);
@@ -77,8 +77,8 @@ extern CollisionHeader D_06006F70;
extern CollisionHeader D_06000C2C;
void BgHakaZou_Init(Actor* thisx, GlobalContext* globalCtx) {
BgHakaZou* this = THIS;
s32 pad;
BgHakaZou* this = THIS;
Actor_ProcessInitChain(thisx, sInitChain);
@@ -89,7 +89,7 @@ void BgHakaZou_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetScale(thisx, (Rand_ZeroOne() * 0.005f) + 0.025f);
thisx->speedXZ = Rand_ZeroOne();
thisx->world.rot.y = thisx->shape.rot.y * ((Rand_ZeroOne() < 0.5f) ? -1 : 1) + Rand_CenteredFloat(4096.0f);
thisx->world.rot.y = thisx->shape.rot.y * ((Rand_ZeroOne() < 0.5f) ? -1 : 1) + Rand_CenteredFloat(0x1000);
this->timer = 20;
thisx->world.rot.x = Rand_S16Offset(0x100, 0x300) * ((Rand_ZeroOne() < 0.5f) ? -1 : 1);
thisx->world.rot.z = Rand_S16Offset(0x400, 0x800) * ((Rand_ZeroOne() < 0.5f) ? -1 : 1);
@@ -169,38 +169,36 @@ void BgHakaZou_Wait(BgHakaZou* this, GlobalContext* globalCtx) {
if (this->dyna.actor.params == STA_UNKNOWN) {
this->actionFunc = func_80882BDC;
return;
}
Actor_SetObjectDependency(globalCtx, &this->dyna.actor);
colHeader = NULL;
if (this->dyna.actor.params == STA_GIANT_BIRD_STATUE) {
CollisionHeader_GetVirtual(&D_06006F70, &colHeader);
this->collider.dim.radius = 80;
this->collider.dim.height = 100;
this->collider.dim.yShift = -30;
this->collider.dim.pos.x -= 56;
this->collider.dim.pos.z += 56;
this->dyna.actor.uncullZoneScale = 1500.0f;
} else if (this->dyna.actor.params == STA_BOMBABLE_SKULL_WALL) {
CollisionHeader_GetVirtual(&D_06005E30, &colHeader);
this->collider.dim.yShift = -50;
} else {
CollisionHeader_GetVirtual(&D_06000C2C, &colHeader);
this->collider.dim.radius = 55;
this->collider.dim.height = 20;
Actor_SetObjectDependency(globalCtx, &this->dyna.actor);
colHeader = NULL;
if (this->dyna.actor.params == STA_GIANT_BIRD_STATUE) {
CollisionHeader_GetVirtual(&D_06006F70, &colHeader);
this->collider.dim.radius = 80;
this->collider.dim.height = 100;
this->collider.dim.yShift = -30;
this->collider.dim.pos.x -= 56;
this->collider.dim.pos.z += 56;
this->dyna.actor.uncullZoneScale = 1500.0f;
} else if (this->dyna.actor.params == STA_BOMBABLE_SKULL_WALL) {
CollisionHeader_GetVirtual(&D_06005E30, &colHeader);
this->collider.dim.yShift = -50;
} else {
CollisionHeader_GetVirtual(&D_06000C2C, &colHeader);
this->collider.dim.radius = 55;
this->collider.dim.height = 20;
}
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if ((this->dyna.actor.params == STA_GIANT_BIRD_STATUE) && Flags_GetSwitch(globalCtx, this->switchFlag)) {
this->actionFunc = BgHakaZou_DoNothing;
} else {
this->actionFunc = func_80883000;
}
}
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader);
if ((this->dyna.actor.params == STA_GIANT_BIRD_STATUE) && Flags_GetSwitch(globalCtx, this->switchFlag)) {
this->actionFunc = BgHakaZou_DoNothing;
return;
}
this->actionFunc = func_80883000;
}
}
void func_80882BDC(BgHakaZou* this, GlobalContext* globalCtx) {
@@ -214,7 +212,7 @@ void func_80882BDC(BgHakaZou* this, GlobalContext* globalCtx) {
if (this->dyna.actor.bgCheckFlags & 2) {
if (this->dyna.actor.velocity.y < -8.0f) {
this->dyna.actor.velocity.y *= -0.6f;
this->dyna.actor.velocity.y = (this->dyna.actor.velocity.y > 10.0f) ? 10.0f : this->dyna.actor.velocity.y;
this->dyna.actor.velocity.y = CLAMP_MAX(this->dyna.actor.velocity.y, 10.0f);
this->dyna.actor.bgCheckFlags &= ~3;
this->dyna.actor.speedXZ = 2.0f;
} else {
@@ -274,13 +272,13 @@ void func_80882E54(BgHakaZou* this, GlobalContext* globalCtx) {
}
void func_80883000(BgHakaZou* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & 2) {
if (this->collider.base.acFlags & AC_HIT) {
Flags_SetSwitch(globalCtx, this->switchFlag);
if (this->dyna.actor.params == STA_GIANT_BIRD_STATUE) {
this->timer = 20;
this->actionFunc = func_80883144;
func_800800F8(globalCtx, 3400, 999, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3400, 999, &this->dyna.actor, MAIN_CAM);
} else if (this->dyna.actor.params == 2) {
func_80882E54(this, globalCtx);
this->dyna.actor.draw = NULL;
@@ -342,7 +340,7 @@ void func_80883254(BgHakaZou* this, GlobalContext* globalCtx) {
if (this->timer == 0) {
this->timer = 60;
this->dyna.actor.world.rot.x = 0x0008;
this->dyna.actor.world.rot.x = 8;
this->actionFunc = func_80883328;
}
} else {
@@ -355,9 +353,9 @@ void func_80883328(BgHakaZou* this, GlobalContext* globalCtx) {
s32 i;
s32 j;
this->dyna.actor.world.rot.x += this->dyna.actor.world.rot.x * 0.125f;
this->dyna.actor.world.rot.x += this->dyna.actor.world.rot.x / 8.0f;
if (Math_ScaledStepToS(&this->dyna.actor.shape.rot.x, -0x4000, this->dyna.actor.world.rot.x) != 0) {
if (Math_ScaledStepToS(&this->dyna.actor.shape.rot.x, -0x4000, this->dyna.actor.world.rot.x)) {
effectPos.x = this->dyna.actor.world.pos.x;
effectPos.y = this->dyna.actor.world.pos.y;
@@ -385,7 +383,7 @@ void func_808834D8(BgHakaZou* this, GlobalContext* globalCtx) {
this->timer--;
}
moveDist = ((this->timer % 2) ? 15.0f : -15.0f);
moveDist = (this->timer % 2) ? 15.0f : -15.0f;
this->dyna.actor.world.pos.y += ((this->timer & 0xFE) * 0.04f * moveDist);
if (this->timer == 0) {
@@ -321,19 +321,19 @@ void BgHeavyBlock_SpawnPieces(BgHeavyBlock* this, GlobalContext* globalCtx) {
void BgHeavyBlock_Wait(BgHeavyBlock* this, GlobalContext* globalCtx) {
s32 quakeIndex;
// if block has a parent link has lifted it, start onepointdemo (cutscene) and quake
// if block has a parent link has lifted it, start one point cutscene and quake
if (Actor_HasParent(&this->dyna.actor, globalCtx)) {
this->timer = 0;
switch (this->dyna.actor.params & 0xFF) {
case HEAVYBLOCK_BREAKABLE:
func_800800F8(globalCtx, 0xFB4, 0x10E, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4020, 270, &this->dyna.actor, MAIN_CAM);
break;
case HEAVYBLOCK_UNBREAKABLE:
func_800800F8(globalCtx, 0xFB5, 0xDC, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4021, 220, &this->dyna.actor, MAIN_CAM);
break;
case HEAVYBLOCK_UNBREAKABLE_OUTSIDE_CASTLE:
func_800800F8(globalCtx, 0xFB6, 0xD2, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4022, 210, &this->dyna.actor, MAIN_CAM);
break;
}
@@ -129,11 +129,11 @@ void BgHidanCurtain_WaitForSwitchOn(BgHidanCurtain* this, GlobalContext* globalC
if (Flags_GetSwitch(globalCtx, this->actor.params)) {
if (this->type == 1) {
this->actionFunc = BgHidanCurtain_WaitForCutscene;
func_800800F8(globalCtx, 3350, -99, &this->actor, 0);
OnePointCutscene_Init(globalCtx, 3350, -99, &this->actor, MAIN_CAM);
this->timer = 50;
} else if (this->type == 3) {
this->actionFunc = BgHidanCurtain_WaitForCutscene;
func_800800F8(globalCtx, 3360, 60, &this->actor, 0);
OnePointCutscene_Init(globalCtx, 3360, 60, &this->actor, MAIN_CAM);
this->timer = 30;
} else {
this->actionFunc = BgHidanCurtain_TurnOff;
@@ -207,7 +207,8 @@ void BgHidanCurtain_Update(Actor* thisx, GlobalContext* globalCtx2) {
BgHidanCurtainParams* hcParams = &sHCParams[this->size];
f32 riseProgress;
if ((globalCtx->cameraPtrs[0]->setting == 0x28) || (globalCtx->cameraPtrs[0]->setting == 0x38)) {
if ((globalCtx->cameraPtrs[MAIN_CAM]->setting == CAM_SET_ITEM0) ||
(globalCtx->cameraPtrs[MAIN_CAM]->setting == CAM_SET_ITEM2)) {
this->collider.base.atFlags &= ~AT_HIT;
} else {
if (this->collider.base.atFlags & AT_HIT) {
@@ -131,10 +131,10 @@ void BgHidanFslift_Update(Actor* thisx, GlobalContext* globalCtx) {
if (this->unk_16A == 0) {
this->unk_16A = 3;
}
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_HIDAN1);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_HIDAN1);
} else if (!func_8004356C(&this->dyna)) {
if (this->unk_16A != 0) {
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_DUNGEON0);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
}
this->unk_16A = 0;
}
@@ -123,7 +123,7 @@ void BgHidanFwbig_UpdatePosition(BgHidanFwbig* this) {
void BgHidanFwbig_WaitForSwitch(BgHidanFwbig* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->actor.params)) {
this->actionFunc = BgHidanFwbig_WaitForCs;
func_800800F8(globalCtx, 0xD0C, -0x63, &this->actor, 0);
OnePointCutscene_Init(globalCtx, 3340, -99, &this->actor, MAIN_CAM);
this->timer = 35;
}
}
@@ -180,7 +180,7 @@ void BgHidanFwbig_WaitForPlayer(BgHidanFwbig* this, GlobalContext* globalCtx) {
if (player->actor.world.pos.x < 1150.0f) {
this->actionFunc = BgHidanFwbig_Rise;
func_800800F8(globalCtx, 0xCDA, -0x63, &this->actor, 0);
OnePointCutscene_Init(globalCtx, 3290, -99, &this->actor, MAIN_CAM);
}
}
@@ -280,7 +280,7 @@ void func_80888734(BgHidanHamstep* this) {
void func_808887C4(BgHidanHamstep* this, GlobalContext* globalCtx) {
if (this->collider.base.acFlags & AC_HIT) {
func_800800F8(globalCtx, 3310, 100, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3310, 100, &this->dyna.actor, MAIN_CAM);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_HAMMER_SWITCH);
this->collider.base.acFlags = AC_NONE;
BgHidanHamstep_SetupAction(this, 1);
@@ -108,7 +108,7 @@ void func_80889ACC(BgHidanKousi* this) {
void func_80889B5C(BgHidanKousi* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0xFF)) {
BgHidanKousi_SetupAction(this, func_80889BC0);
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
this->unk_168 = 0xC8;
}
}
@@ -266,10 +266,10 @@ void func_8088B79C(BgHidanRock* this, GlobalContext* globalCtx) {
if (this->unk_169 == 0) {
this->unk_169 = 3;
}
Camera_ChangeSetting(globalCtx->cameraPtrs[0], 0x30);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_HIDAN1);
} else if (!func_8004356C(&this->dyna)) {
if (this->unk_169 != 0) {
Camera_ChangeSetting(globalCtx->cameraPtrs[0], 3);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
}
this->unk_169 = 0;
}
@@ -277,7 +277,7 @@ void func_8088B79C(BgHidanRock* this, GlobalContext* globalCtx) {
}
void func_8088B90C(BgHidanRock* this, GlobalContext* globalCtx) {
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 1.0f) != 0) {
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 1.0f)) {
this->actionFunc = func_8088B634;
}
}
@@ -319,10 +319,10 @@ void func_8088B990(BgHidanRock* this, GlobalContext* globalCtx) {
if (this->unk_169 == 0) {
this->unk_169 = 3;
}
Camera_ChangeSetting(globalCtx->cameraPtrs[0], 0x30);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_HIDAN1);
} else if (!func_8004356C(&this->dyna)) {
if (this->unk_169 != 0) {
Camera_ChangeSetting(globalCtx->cameraPtrs[0], 3);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
}
this->unk_169 = 0;
}
@@ -121,7 +121,7 @@ void func_8088E518(BgHidanSima* this, GlobalContext* globalCtx) {
Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 3.4f);
if (func_8004356C(&this->dyna) && !(player->stateFlags1 & 0x6000)) {
this->timer = 20;
this->dyna.actor.world.rot.y = Camera_GetCamDirYaw(globalCtx->cameraPtrs[globalCtx->activeCamera]) + 0x4000;
this->dyna.actor.world.rot.y = Camera_GetCamDirYaw(ACTIVE_CAM) + 0x4000;
if (this->dyna.actor.home.pos.y <= this->dyna.actor.world.pos.y) {
this->actionFunc = func_8088E5D0;
} else {
@@ -114,10 +114,10 @@ void BgHidanSyoku_Update(Actor* thisx, GlobalContext* globalCtx) {
if (this->unk_168 == 0) {
this->unk_168 = 3;
}
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_HIDAN1);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_HIDAN1);
} else if (!func_8004356C(&this->dyna)) {
if (this->unk_168 != 0) {
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_DUNGEON0);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
}
this->unk_168 = 0;
}
@@ -104,7 +104,7 @@ void func_80891CF4(BgIceShutter* this, GlobalContext* globalCtx) {
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.world.pos, 30, NA_SE_EV_SLIDE_DOOR_OPEN);
this->actionFunc = func_80891DD4;
if (this->dyna.actor.shape.rot.x == 0) {
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
}
}
}
@@ -113,7 +113,7 @@ void func_80891D6C(BgIceShutter* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params)) {
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.world.pos, 30, NA_SE_EV_SLIDE_DOOR_OPEN);
this->actionFunc = func_80891DD4;
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
}
}
@@ -194,9 +194,9 @@ void BgJya1flift_Update(Actor* thisx, GlobalContext* globalCtx) {
tempIsRiding = func_8004356C(&this->dyna) ? true : false;
if ((this->actionFunc == BgJya1flift_Move) || (this->actionFunc == BgJya1flift_DelayMove)) {
if (tempIsRiding) {
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_HIDAN1);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_HIDAN1);
} else if (!tempIsRiding && this->isLinkRiding) {
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_DUNGEON0);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
}
}
this->isLinkRiding = tempIsRiding;
@@ -228,9 +228,7 @@ void BgJyaBigmirror_DrawLightBeam(Actor* thisx, GlobalContext* globalCtx) {
}
func_800D1694(this->actor.world.pos.x, this->actor.world.pos.y + 40.0f, this->actor.world.pos.z,
&this->actor.shape.rot);
// Second float seems to be either this or 1613/1280 + 0.13: both numerators relate to the lift height
Matrix_Scale(0.1f, (this->liftHeight * -(1.0f / 1280.0f)) + (973.0f / 1280.0f + 0.63f) /* 1.3901563f */, 0.1f,
MTXMODE_APPLY);
Matrix_Scale(0.1f, (this->liftHeight * -(1.0f / 1280.0f)) + (1779.4f / 1280.0f), 0.1f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_jya_bigmirror.c", 457),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_0600BC70);
@@ -151,7 +151,7 @@ void BgJyaBombchuiwa_SetupWaitForExplosion(BgJyaBombchuiwa* this, GlobalContext*
void BgJyaBombchuiwa_WaitForExplosion(BgJyaBombchuiwa* this, GlobalContext* globalCtx) {
if ((this->collider.base.acFlags & AC_HIT) || (this->timer > 0)) {
if (this->timer == 0) {
func_800800F8(globalCtx, 3410, -99, &this->actor, 0);
OnePointCutscene_Init(globalCtx, 3410, -99, &this->actor, MAIN_CAM);
}
this->timer++;
if (this->timer > 10) {
@@ -99,7 +99,7 @@ Vec3f D_808973A4[] = {
{ 17.2f, 70.0f, 0.6f },
{ 8.0f, 100.0f, 7.6f },
{ 0.0f, 70.0f, -11.3f },
{ 0.0f, 44.6000023f, -2.0f },
{ 0.0f, 44.600002f, -2.0f },
{ 0.0f, 15.0f, 10.6f },
{ 0.0f, 15.0f, 0.3f },
{ 0.0f, 26.0f, 11.6f },
@@ -109,8 +109,8 @@ Vec3f D_808973A4[] = {
};
Vec3f D_808974DC[] = {
{ 12.0f, 21.3000011f, -2.5f }, { 30.0f, 21.3000011f, -2.5f }, { -15.0f, 21.3000011f, -2.5f },
{ -30.0f, 21.3000011f, -2.5f }, { 12.0f, 21.3000011f, -2.5f },
{ 12.0f, 21.300001f, -2.5f }, { 30.0f, 21.300001f, -2.5f }, { -15.0f, 21.300001f, -2.5f },
{ -30.0f, 21.300001f, -2.5f }, { 12.0f, 21.300001f, -2.5f },
};
s32 D_80897518[] = { 0x80, 0xA0, 0xA0, 0x80 };
@@ -250,7 +250,7 @@ void func_80895C74(BgJyaCobra* this, GlobalContext* globalCtx) {
phi_v0 = this->dyna.actor.shape.rot.y - D_80897314[(params & 3)];
phi_v0 = ABS(phi_v0);
if (phi_v0 < 0x2000 && phi_v0 != -0x8000) {
this->unk_18C += ((phi_v0 - 0x2000) * 0.00018310547f);
this->unk_18C += (phi_v0 - 0x2000) * (3.0f / 0x4000);
if (this->unk_18C < 0.0f) {
this->unk_18C = 0.0f;
}
@@ -144,7 +144,7 @@ void func_80897B48(BgJyaGoroiwa* this, GlobalContext* globalCtx) {
} else {
tmpf2 = 1569.0f - thisx->world.pos.x;
tmpf1 = fabsf(tmpf2) - 103.0f;
thisx->world.pos.y = (0.38043478f * tmpf1) - 129.5f;
thisx->world.pos.y = ((35.0f / 92.0f) * tmpf1) - 129.5f;
}
if (this->collider.base.atFlags & AT_HIT) {
@@ -84,7 +84,7 @@ void func_80899880(BgJyaKanaami* this) {
void func_80899894(BgJyaKanaami* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F) || this->unk_16A > 0) {
if (this->dyna.actor.world.pos.x > -1000.0f && this->unk_16A == 0) {
func_800800F8(globalCtx, 0xD7A, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3450, -99, &this->dyna.actor, MAIN_CAM);
}
this->unk_16A += 1;
if (this->unk_16A >= 0xA) {
@@ -102,7 +102,7 @@ void BgJyaLift_DelayMove(BgJyaLift* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F) || (this->moveDelay > 0)) {
this->moveDelay++;
if (this->moveDelay >= 20) {
func_800800F8(globalCtx, 0xD66, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3430, -99, &this->dyna.actor, MAIN_CAM);
BgJyaLift_SetupMove(this);
}
}
@@ -143,10 +143,10 @@ void BgJyaLift_Update(Actor* thisx, GlobalContext* globalCtx) {
this->actionFunc(this, globalCtx);
}
if ((this->dyna.unk_160 & 4) && ((this->unk_16B & 4) == 0)) {
Camera_ChangeSetting(globalCtx2->cameraPtrs[0], CAM_SET_TEPPEN);
Camera_ChangeSetting(globalCtx2->cameraPtrs[MAIN_CAM], CAM_SET_TEPPEN);
} else if (((this->dyna.unk_160) & 4) == 0 && ((this->unk_16B & 4)) &&
(globalCtx2->cameraPtrs[0]->setting == 0x3F)) {
Camera_ChangeSetting(globalCtx2->cameraPtrs[0], CAM_SET_DUNGEON0);
(globalCtx2->cameraPtrs[MAIN_CAM]->setting == CAM_SET_TEPPEN)) {
Camera_ChangeSetting(globalCtx2->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
}
this->unk_16B = this->dyna.unk_160;
@@ -213,7 +213,7 @@ void BgJyaMegami_DetectLight(BgJyaMegami* this, GlobalContext* globalCtx) {
Flags_SetSwitch(globalCtx, this->dyna.actor.params & 0x3F);
BgJyaMegami_SetupExplode(this);
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.world.pos, 100, NA_SE_EV_FACE_EXPLOSION);
func_800800F8(globalCtx, 0xD70, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3440, -99, &this->dyna.actor, MAIN_CAM);
} else {
if (this->lightTimer < 8) {
this->crumbleIndex = 0;
@@ -331,8 +331,8 @@ void BgJyaMegami_DrawExplode(BgJyaMegami* this, GlobalContext* globalCtx) {
piece = &this->pieces[i];
Matrix_Translate(piece->pos.x + sPiecesInit[i].unk_00.x, piece->pos.y + sPiecesInit[i].unk_00.y,
piece->pos.z + sPiecesInit[i].unk_00.z, MTXMODE_NEW);
Matrix_RotateY(piece->rotVelY * 0.0000958738f, MTXMODE_APPLY);
Matrix_RotateX(piece->rotVelX * 0.0000958738f, MTXMODE_APPLY);
Matrix_RotateY(piece->rotVelY * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_RotateX(piece->rotVelX * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
Matrix_Translate(sPiecesInit[i].unk_00.x * -10.0f, sPiecesInit[i].unk_00.y * -10.0f,
sPiecesInit[i].unk_00.z * -10.0f, MTXMODE_APPLY);
@@ -88,9 +88,9 @@ void BgMizuShutter_Destroy(BgMizuShutter* thisx, GlobalContext* globalCtx) {
void BgMizuShutter_WaitForSwitch(BgMizuShutter* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, (u16)this->dyna.actor.params & 0x3F)) {
if (ABS(this->dyna.actor.world.rot.x) > 0x2C60) {
func_800800F8(globalCtx, 0x119E, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4510, -99, &this->dyna.actor, MAIN_CAM);
} else {
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
}
this->actionFunc = BgMizuShutter_WaitForCutscene;
this->timer = 30;
@@ -176,7 +176,7 @@ void BgMizuWater_WaitForAction(BgMizuWater* this, GlobalContext* globalCtx) {
waterLevelActionIndex = BgMizuWater_GetWaterLevelActionIndex(this->actor.params, globalCtx);
if (waterLevelActionIndex != 0) {
if (prevSwitchFlag != sWaterLevels[waterLevelActionIndex].switchFlag) {
func_800800F8(globalCtx, 0xC30, -0x64 - waterLevelActionIndex, 0, 0);
OnePointCutscene_Init(globalCtx, 3120, -100 - waterLevelActionIndex, NULL, MAIN_CAM);
this->actor.params = sWaterLevels[waterLevelActionIndex].switchFlag;
this->targetY = sWaterLevels[waterLevelActionIndex].yDiff + this->baseY;
}
@@ -151,7 +151,7 @@ void BgMoriBigst_StalfosFight(BgMoriBigst* this, GlobalContext* globalCtx) {
if ((this->dyna.actor.home.rot.z == 0) && ((this->dyna.actor.home.pos.y - 5.0f) <= PLAYER->actor.world.pos.y)) {
BgMoriBigst_SetupFall(this, globalCtx);
func_800800F8(globalCtx, 0xC94, 0x48, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3220, 72, &this->dyna.actor, MAIN_CAM);
}
}
@@ -165,7 +165,7 @@ void BgMoriBigst_Fall(BgMoriBigst* this, GlobalContext* globalCtx) {
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y;
BgMoriBigst_SetupLanding(this, globalCtx);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
func_800800F8(globalCtx, 0x3FC, 8, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 1020, 8, &this->dyna.actor, MAIN_CAM);
func_8002DF38(globalCtx, NULL, 0x3C);
}
}
@@ -172,8 +172,8 @@ void BgMoriElevator_MoveIntoGround(BgMoriElevator* this, GlobalContext* globalCt
void func_808A1CF4(BgMoriElevator* this, GlobalContext* globalCtx) {
this->actionFunc = BgMoriElevator_MoveAboveGround;
func_800800F8(globalCtx, 0xC9E, 0x46, &this->dyna.actor, 0);
func_800800F8(globalCtx, 0x3FC, 0xF, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3230, 70, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(globalCtx, 1020, 15, &this->dyna.actor, MAIN_CAM);
}
void BgMoriElevator_MoveAboveGround(BgMoriElevator* this, GlobalContext* globalCtx) {
@@ -140,7 +140,7 @@ void BgMoriHashira4_GateWait(BgMoriHashira4* this, GlobalContext* globalCtx) {
if (this->gateTimer > 30) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_METALDOOR_OPEN);
BgMoriHashira4_SetupAction(this, BgMoriHashira4_GateOpen);
func_800800F8(globalCtx, 0x177A, 0x14, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 6010, 20, &this->dyna.actor, MAIN_CAM);
sUnkTimer++;
}
}
@@ -23,7 +23,7 @@ void BgMoriHineri_SpawnBossKeyChest(BgMoriHineri* this, GlobalContext* globalCtx
void BgMoriHineri_DoNothing(BgMoriHineri* this, GlobalContext* globalCtx);
void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx);
static s16 D_808A43E0 = -1;
static s16 sNextCamIdx = SUBCAM_NONE;
const ActorInit Bg_Mori_Hineri_InitVars = {
ACTOR_BG_MORI_HINERI,
@@ -173,14 +173,14 @@ void func_808A3C8C(BgMoriHineri* this, GlobalContext* globalCtx) {
f0 = 1100.0f - (player->actor.world.pos.z - this->dyna.actor.world.pos.z);
this->dyna.actor.shape.rot.z = CLAMP(f0, 0.0f, 1000.0f) * 16.384f;
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_DUNGEON1);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON1);
if (this->dyna.actor.params != 0) {
this->dyna.actor.shape.rot.z = -this->dyna.actor.shape.rot.z;
}
}
void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx) {
s16 defaultCamChildIdx;
s16 mainCamChildIdx;
if ((Flags_GetSwitch(globalCtx, this->switchFlag) &&
(this->dyna.actor.params == 0 || this->dyna.actor.params == 2)) ||
@@ -189,33 +189,33 @@ void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx) {
this->dyna.actor.draw = BgMoriHineri_DrawHallAndRoom;
this->actionFunc = func_808A3E54;
defaultCamChildIdx = globalCtx->cameraPtrs[0]->childCamIdx;
if ((defaultCamChildIdx != 0) && (globalCtx->cameraPtrs[defaultCamChildIdx]->setting == CAM_SET_DEMO1)) {
func_800803F0(globalCtx, defaultCamChildIdx);
mainCamChildIdx = globalCtx->cameraPtrs[MAIN_CAM]->childCamIdx;
if ((mainCamChildIdx != SUBCAM_FREE) && (globalCtx->cameraPtrs[mainCamChildIdx]->setting == CAM_SET_DEMO1)) {
OnePointCutscene_EndCutscene(globalCtx, mainCamChildIdx);
}
func_800800F8(globalCtx, 0xCBC, 0x28, &this->dyna.actor, 0);
D_808A43E0 = func_800800F8(globalCtx, 0xCBD, 0x28, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3260, 40, &this->dyna.actor, MAIN_CAM);
sNextCamIdx = OnePointCutscene_Init(globalCtx, 3261, 40, &this->dyna.actor, MAIN_CAM);
}
}
void func_808A3E54(BgMoriHineri* this, GlobalContext* globalCtx) {
s8 objBankIndex;
if (globalCtx->activeCamera == D_808A43E0) {
if (D_808A43E0 != 0) {
if (globalCtx->activeCamera == sNextCamIdx) {
if (sNextCamIdx != MAIN_CAM) {
objBankIndex = this->dyna.actor.objBankIndex;
this->dyna.actor.objBankIndex = this->moriHineriObjIdx;
this->moriHineriObjIdx = objBankIndex;
this->dyna.actor.params ^= 1;
D_808A43E0 = 0;
sNextCamIdx = MAIN_CAM;
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
} else {
this->dyna.actor.draw = NULL;
this->actionFunc = func_808A3D58;
D_808A43E0 = -1;
sNextCamIdx = SUBCAM_NONE;
}
}
if ((D_808A43E0 > 0) && ((ACTIVE_CAM->eye.z - this->dyna.actor.world.pos.z) < 1100.0f)) {
if ((sNextCamIdx >= SUBCAM_FIRST) && ((ACTIVE_CAM->eye.z - this->dyna.actor.world.pos.z) < 1100.0f)) {
func_8002F948(&this->dyna.actor, NA_SE_EV_FLOOR_ROLLING - SFX_FLAG);
}
}
@@ -260,7 +260,7 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, &D_80116280[2]);
Matrix_Put(&mtx);
Matrix_Translate(147.0f, -245.0f, -453.0f, MTXMODE_APPLY);
Matrix_RotateY(1.5707964f, MTXMODE_APPLY);
Matrix_RotateY(M_PI / 2, MTXMODE_APPLY);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 689),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
@@ -268,7 +268,7 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Put(&mtx);
Matrix_Translate(167.0f, -218.0f, -453.0f, MTXMODE_APPLY);
if (Flags_GetTreasure(globalCtx, 0xE)) {
Matrix_RotateZ(1.3008157f, MTXMODE_APPLY);
Matrix_RotateZ(0x3500 * (M_PI / 0x8000), MTXMODE_APPLY);
} else {
Matrix_RotateZ(M_PI, MTXMODE_APPLY);
}
@@ -122,10 +122,10 @@ void BgMoriIdomizu_Main(BgMoriIdomizu* this, GlobalContext* globalCtx) {
this->targetWaterLevel = 184.0f;
}
if (switchFlagSet && !this->prevSwitchFlagSet) {
func_800800F8(globalCtx, 0xCA8, 0x46, thisx, 0);
OnePointCutscene_Init(globalCtx, 3240, 70, thisx, MAIN_CAM);
this->drainTimer = 90;
} else if (!switchFlagSet && this->prevSwitchFlagSet) {
func_800800F8(globalCtx, 0xCA8, 0x46, thisx, 0);
OnePointCutscene_Init(globalCtx, 3240, 70, thisx, MAIN_CAM);
this->drainTimer = 90;
thisx->world.pos.y = 0.0f;
}
@@ -208,15 +208,15 @@ void BgMoriRakkatenjo_Update(Actor* thisx, GlobalContext* globalCtx) {
}
this->actionFunc(this, globalCtx);
if (BgMoriRakkatenjo_IsLinkUnder(this, globalCtx)) {
if (sCamSetting == 0) {
if (sCamSetting == CAM_SET_NONE) {
osSyncPrintf("camera changed (mori rakka tenjyo) ... \n");
sCamSetting = globalCtx->cameraPtrs[0]->setting;
Camera_SetCameraData(globalCtx->cameraPtrs[0], 1, &this->dyna.actor, NULL, 0, 0, 0);
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_MORI1);
sCamSetting = globalCtx->cameraPtrs[MAIN_CAM]->setting;
Camera_SetCameraData(globalCtx->cameraPtrs[MAIN_CAM], 1, &this->dyna.actor, NULL, 0, 0, 0);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_MORI1);
}
} else if (sCamSetting != 0) {
} else if (sCamSetting != CAM_SET_NONE) {
osSyncPrintf("camera changed (previous) ... \n");
Camera_ChangeSetting(globalCtx->cameraPtrs[0], CAM_SET_DUNGEON1);
Camera_ChangeSetting(globalCtx->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON1);
sCamSetting = 0;
}
}
@@ -244,7 +244,7 @@ void BgPoEvent_BlockWait(BgPoEvent* this, GlobalContext* globalCtx) {
this->dyna.actor.world.pos.y = 833.0f;
if (sPuzzleState == 0x3F) {
if (this->type == 1) {
func_800800F8(globalCtx, 0xC4E, 0x41, NULL, 0);
OnePointCutscene_Init(globalCtx, 3150, 65, NULL, MAIN_CAM);
}
this->timer = 45;
this->actionFunc = BgPoEvent_BlockShake;
@@ -348,7 +348,7 @@ void BgPoEvent_BlockIdle(BgPoEvent* this, GlobalContext* globalCtx) {
this->dyna.actor.world.pos.y - 30.0f, this->dyna.actor.world.pos.z + 30.0f, 0,
this->dyna.actor.shape.rot.y, 0, this->dyna.actor.params + 0x300);
if (amy != NULL) {
func_800800F8(globalCtx, 0xC62, 0x1E, amy, 0);
OnePointCutscene_Init(globalCtx, 3170, 30, amy, MAIN_CAM);
}
func_80078884(NA_SE_SY_CORRECT_CHIME);
gSaveContext.timer1State = 0xA;
@@ -544,12 +544,12 @@ void BgPoEvent_PaintingPresent(BgPoEvent* this, GlobalContext* globalCtx) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_PO_SISTERS, thisx->world.pos.x,
thisx->world.pos.y - 40.0f, thisx->world.pos.z, 0, thisx->shape.rot.y, 0,
thisx->params + ((this->type - 1) << 8));
func_800800F8(globalCtx, 0xC58, 0x50, thisx, 0);
OnePointCutscene_Init(globalCtx, 3160, 80, thisx, MAIN_CAM);
func_80078884(NA_SE_SY_CORRECT_CHIME);
} else {
Audio_PlayActorSound2(thisx, NA_SE_EN_PO_LAUGH2);
func_800800F8(globalCtx, 0xC58, 0x23, thisx, 0);
OnePointCutscene_Init(globalCtx, 3160, 35, thisx, MAIN_CAM);
}
if (thisx->parent != NULL) {
thisx->parent->child = NULL;
@@ -150,7 +150,7 @@ void BgSpot01Idohashira_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
s32 BgSpot01Idohashira_NotInCsMode(GlobalContext* globalCtx) {
if (globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
return true;
}
return false;
@@ -80,7 +80,7 @@ void func_808ADEF0(BgSpot03Taki* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
this->state = WATERFALL_OPENING_ANIMATED;
this->timer = 40;
func_800800F8(globalCtx, 0x1004, -0x63, NULL, 0);
OnePointCutscene_Init(globalCtx, 4100, -99, NULL, MAIN_CAM);
}
} else if (this->state == WATERFALL_OPENING_IDLE) {
this->timer--;
@@ -84,7 +84,7 @@ void func_808AE5B4(BgSpot05Soko* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.world.pos, 30, NA_SE_EV_METALDOOR_CLOSE);
Actor_SetFocus(&this->dyna.actor, 50.0f);
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
this->actionFunc = func_808AE630;
this->dyna.actor.speedXZ = 0.5f;
}
@@ -323,7 +323,7 @@ void BgSpot06Objects_LockWait(BgSpot06Objects* this, GlobalContext* globalCtx) {
this->actionFunc = BgSpot06Objects_LockPullOutward;
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
Flags_SetSwitch(globalCtx, this->switchFlag);
func_800800F8(globalCtx, 0x1018, 170, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4120, 170, &this->dyna.actor, MAIN_CAM);
} else {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
@@ -128,7 +128,7 @@ void func_808B0324(BgSpot08Bakudankabe* this, GlobalContext* globalCtx) {
temp1 = (Rand_ZeroOne() - 0.5f) * 440.0f;
temp2 = (Rand_ZeroOne() - 0.5f) * 20.0f;
burstDepthY.x = this->dyna.actor.world.pos.x + temp2 * sinY + (temp1 * cosY);
burstDepthY.y = (this->dyna.actor.world.pos.y + 20.0f) + (i * 5.4166665f);
burstDepthY.y = (this->dyna.actor.world.pos.y + 20.0f) + (i * (65.0f / 12.0f));
burstDepthY.z = this->dyna.actor.world.pos.z + temp2 * cosY - (temp1 * sinY);
burstDepthX.y = (Rand_ZeroOne() - 0.2f) * 12.0f;
@@ -251,7 +251,7 @@ void BgSpot08Iceblock_Roll(BgSpot08Iceblock* this, GlobalContext* globalCtx) {
// Rotation by the angle between surfaceNormal and the vertical about rotationAxis
func_800D23FC(Math_FAcosF(Math3D_Cos(&sVerticalVector, &this->surfaceNormal)), &this->rotationAxis, MTXMODE_NEW);
Matrix_RotateY(this->dyna.actor.shape.rot.y * (M_PI / 32768), MTXMODE_APPLY);
Matrix_RotateY(this->dyna.actor.shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY);
Matrix_Get(&mtx);
func_800D20CC(&mtx, &this->dyna.actor.shape.rot, MTXMODE_NEW);
}
@@ -97,7 +97,7 @@ void func_808B2970(BgSpot11Oasis* this) {
void func_808B2980(BgSpot11Oasis* this, GlobalContext* globalCtx) {
if (Flags_GetEnv(globalCtx, 5) && func_808B280C(globalCtx)) {
func_800800F8(globalCtx, 0x1036, -99, &this->actor, 0);
OnePointCutscene_Init(globalCtx, 4150, -99, &this->actor, MAIN_CAM);
func_808B29E0(this);
}
}
@@ -88,7 +88,7 @@ void func_808B30C0(BgSpot12Gate* this) {
void func_808B30D8(BgSpot12Gate* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
func_808B3134(this);
func_800800F8(globalCtx, 0x1040, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4160, -99, &this->dyna.actor, MAIN_CAM);
}
}
@@ -87,7 +87,7 @@ void func_808B357C(BgSpot12Saku* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
func_808B35E4(this);
this->timer = 20;
func_800800F8(globalCtx, 0x104A, -0x63, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4170, -99, &this->dyna.actor, MAIN_CAM);
}
}
@@ -415,7 +415,7 @@ void func_808B57E0(BgSpot16Bombstone* this, GlobalContext* globalCtx) {
currentBomb = sPlayerBomb;
if (currentBomb->timer > 0) {
sTimer = currentBomb->timer + 20;
func_800800F8(globalCtx, 0x1054, sTimer, NULL, 0);
OnePointCutscene_Init(globalCtx, 4180, sTimer, NULL, MAIN_CAM);
}
}
} else if (player->stateFlags1 & 0x800) {
@@ -445,7 +445,7 @@ void func_808B5950(BgSpot16Bombstone* this, GlobalContext* globalCtx) {
func_808B561C(this, globalCtx);
func_800800F8(globalCtx, 0x1054, 0x32, NULL, 0);
OnePointCutscene_Init(globalCtx, 4180, 50, NULL, MAIN_CAM);
Flags_SetSwitch(globalCtx, this->switchFlag);
gSaveContext.eventChkInf[2] |= 8;
@@ -96,7 +96,7 @@ void BgSpot16Doughnut_Update(Actor* thisx, GlobalContext* globalCtx) {
} else {
this->envColorAlpha = 255;
}
} else if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[2] != NULL &&
} else if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[2] != NULL &&
globalCtx->csCtx.npcActions[2]->action == 2) {
if (this->envColorAlpha >= 6) {
this->envColorAlpha -= 5;
@@ -180,7 +180,7 @@ void func_808B7AEC(BgSpot18Basket* this) {
void func_808B7AFC(BgSpot18Basket* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, (this->dyna.actor.params >> 8) & 0x3F)) {
func_800800F8(globalCtx, 4220, 80, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4220, 80, &this->dyna.actor, MAIN_CAM);
func_808B7B58(this);
}
}
@@ -228,7 +228,7 @@ void func_808B7BCC(BgSpot18Basket* this, GlobalContext* globalCtx) {
if (positionDiff > 120.0f && positionDiff < 200.0f) {
if (Math3D_Dist2DSq(colliderBaseAc->world.pos.z, this->colliderJntSph.base.ac->world.pos.x,
this->dyna.actor.world.pos.z, this->dyna.actor.world.pos.x) < SQ(32.0f)) {
func_800800F8(globalCtx, 4210, 240, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4210, 240, &this->dyna.actor, MAIN_CAM);
func_808B7D38(this);
func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
}
@@ -91,7 +91,7 @@ void func_808B95AC(BgSpot18Shutter* this, GlobalContext* globalCtx) {
void func_808B95B8(BgSpot18Shutter* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->dyna.actor.params & 0x3F)) {
Actor_SetFocus(&this->dyna.actor, 70.0f);
func_80080480(globalCtx, &this->dyna.actor);
OnePointCutscene_Attention(globalCtx, &this->dyna.actor);
this->actionFunc = func_808B9698;
}
}
@@ -103,7 +103,7 @@ void func_808B9618(BgSpot18Shutter* this, GlobalContext* globalCtx) {
this->actionFunc = func_808B9698;
} else {
this->actionFunc = func_808B971C;
func_800800F8(globalCtx, 0x107D, 0x8C, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 4221, 140, &this->dyna.actor, MAIN_CAM);
}
}
}
@@ -93,7 +93,7 @@ void BgTreemouth_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void func_808BC65C(BgTreemouth* this, GlobalContext* globalCtx) {
CsCmdActorAction* npcAction;
if ((globalCtx->csCtx.state != 0)) {
if ((globalCtx->csCtx.state != CS_STATE_IDLE)) {
npcAction = globalCtx->csCtx.npcActions[0];
if (npcAction != NULL) {
if (npcAction->action == 2) {
@@ -166,7 +166,7 @@ void func_808BC8B8(BgTreemouth* this, GlobalContext* globalCtx) {
void func_808BC9EC(BgTreemouth* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (globalCtx->csCtx.state == 3) {
if (globalCtx->csCtx.state == CS_STATE_UNSKIPPABLE_INIT) {
if (func_8002E12C(&this->dyna.actor, 350.0f, 0x7530)) {
player->actor.world.pos.x = 3827.0f;
player->actor.world.pos.y = -161.0f;
@@ -180,7 +180,7 @@ void func_808BC9EC(BgTreemouth* this, GlobalContext* globalCtx) {
D_8015FCC4 = 0xFFFF;
globalCtx->csCtx.unk_1A = 0;
globalCtx->csCtx.unk_1B = 0;
globalCtx->csCtx.state = 2;
globalCtx->csCtx.state = CS_STATE_SKIPPABLE_EXEC;
if (globalCtx->msgCtx.choiceIndex == 0) {
globalCtx->csCtx.segment = D_808BD520;
@@ -197,7 +197,7 @@ void func_808BC9EC(BgTreemouth* this, GlobalContext* globalCtx) {
void func_808BCAF0(BgTreemouth* this, GlobalContext* globalCtx) {
CsCmdActorAction* npcAction;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
npcAction = globalCtx->csCtx.npcActions[0];
if (npcAction != NULL) {
if (npcAction->action == 2) {
@@ -7,40 +7,40 @@ CutsceneData D_808BCE20[] = {
CS_UNK_DATA_LIST(0x00000015, 1),
CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000),
CS_PLAYER_ACTION_LIST(2),
CS_PLAYER_ACTION(0x0002, 0, 33, 0x54B2, 0x0000, 0x0000, 2614, 0, -451, 2808, 0, -559, 5.878787994384766f, 0.0f, -5.878787994384766f),
CS_PLAYER_ACTION(0x0004, 33, 42, 0x5945, 0x0000, 0x0000, 2808, 0, -559, 2857, 0, -594, 5.44444465637207f, 0.0f, -5.44444465637207f),
CS_PLAYER_ACTION(0x0002, 0, 33, 0x54B2, 0x0000, 0x0000, 2614, 0, -451, 2808, 0, -559, 5.878788f, 0.0f, -5.878788f),
CS_PLAYER_ACTION(0x0004, 33, 42, 0x5945, 0x0000, 0x0000, 2808, 0, -559, 2857, 0, -594, 5.4444447f, 0.0f, -5.4444447f),
CS_CAM_POS_LIST(0, 1091),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x59A8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x20B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x6430),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x59A8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x20B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x6430),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 47.199955f, 2753, 46, -354, 0x0000),
CS_CAM_POS_LIST(60, 1271),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x44B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2753, 46, -354, 0x8080),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2705, 67, -302, 0x2D9A),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2596, 127, -195, 0x005E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2596, 127, -195, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2596, 127, -195, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199954986572266f, 2596, 127, -195, 0x5B80),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 47.199954986572266f, 2596, 127, -195, 0x7805),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x44B8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x8080),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2705, 67, -302, 0x2D9A),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0x005E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0x5B80),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 47.199955f, 2596, 127, -195, 0x7805),
CS_CAM_FOCUS_POINT_LIST(0, 1120),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2788, 23, -453, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2787, 23, -453, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 47.199954986572266f, 2787, 23, -453, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2787, 23, -453, 0x2D9A),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 47.199954986572266f, 2787, 23, -453, 0x005E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2788, 23, -453, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 47.199955f, 2787, 23, -453, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x2D9A),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 47.199955f, 2787, 23, -453, 0x005E),
CS_CAM_FOCUS_POINT_LIST(60, 1300),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2788, 23, -453, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2787, 23, -453, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2787, 23, -453, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2777, 72, -378, 0x2D9A),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2673, 127, -267, 0x005E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2673, 127, -267, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 47.199954986572266f, 2673, 127, -267, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199954986572266f, 2673, 127, -267, 0x5B80),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 47.199954986572266f, 2673, 127, -267, 0x7805),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2788, 23, -453, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x44B8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x8080),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2777, 72, -378, 0x2D9A),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2673, 127, -267, 0x005E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2673, 127, -267, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 47.199955f, 2673, 127, -267, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 47.199955f, 2673, 127, -267, 0x5B80),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 47.199955f, 2673, 127, -267, 0x7805),
CS_TEXT_LIST(4),
CS_TEXT_NONE(0, 40),
CS_TEXT_DISPLAY_TEXTBOX(0x107D, 40, 60, 0x0000, 0xFFFF, 0xFFFF),
@@ -52,8 +52,8 @@ CutsceneData D_808BCE20[] = {
CS_NPC_ACTION(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -41, -28, 0, -41, -28, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION_LIST(62, 4),
CS_NPC_ACTION(0x0001, 0, 1, 0x0000, 0x0000, 0x0000, 2668, 46, -490, 2668, 46, -490, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION(0x0004, 1, 50, 0x5479, 0x0000, 0x0000, 2668, 46, -490, 2890, 43, -612, 4.530612468719482f, -0.06122449040412903f, -4.530612468719482f),
CS_NPC_ACTION(0x0004, 50, 100, 0x505C, 0x0000, 0x0000, 2890, 43, -612, 3109, 121, -705, 4.380000114440918f, 1.559999942779541f, -4.380000114440918f),
CS_NPC_ACTION(0x0004, 1, 50, 0x5479, 0x0000, 0x0000, 2668, 46, -490, 2890, 43, -612, 4.5306125f, -0.06122449f, -4.5306125f),
CS_NPC_ACTION(0x0004, 50, 100, 0x505C, 0x0000, 0x0000, 2890, 43, -612, 3109, 121, -705, 4.38f, 1.56f, -4.38f),
CS_NPC_ACTION(0x0001, 100, 2084, 0x0000, 0x0000, 0x0000, 3109, 121, -705, 3109, 121, -705, 0.0f, 0.0f, 0.0f),
CS_PLAY_BGM_LIST(1),
CS_PLAY_BGM(0x004C, 140, 141, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFBA, 0x00000094, 0x00000000, 0xFFFFFFBA, 0x00000094),
@@ -72,10 +72,10 @@ CutsceneData D_808BD2A0[] = {
CS_NPC_ACTION(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -27, 26, 0, -27, 26, 0.0f, 0.0f, 0.0f),
CS_CAM_POS_LIST(0, 1091),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3740, -141, -530, 0x7065),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x6167),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x6D5D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0xF348),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x9D94),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x6167),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x6D5D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0xF348),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 40.999928f, 3740, -141, -530, 0x9D94),
CS_CAM_POS_PLAYER_LIST(60, 1151),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -4, 5, 49, 0x7065),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -4, 5, 49, 0x6167),
@@ -83,11 +83,11 @@ CutsceneData D_808BD2A0[] = {
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -4, 5, 49, 0xF348),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.0f, -4, 5, 49, 0x9D94),
CS_CAM_FOCUS_POINT_LIST(0, 1120),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3777, -89, -605, 0x7065),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3777, -89, -605, 0x6167),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 40.99992752075195f, 3776, -89, -605, 0x6D5D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3776, -89, -605, 0xF348),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 40.99992752075195f, 3776, -89, -604, 0x9D94),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x7065),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x6167),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 40.999928f, 3776, -89, -605, 0x6D5D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3776, -89, -605, 0xF348),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 40.999928f, 3776, -89, -604, 0x9D94),
CS_CAM_FOCUS_POINT_PLAYER_LIST(60, 1180),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 1, 35, -36, 0x7065),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 1, 35, -36, 0x6167),
@@ -111,20 +111,20 @@ CutsceneData D_808BD520[] = {
CS_NPC_ACTION(0x0003, 20, 357, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, 0.0f, 0.0f, 0.0f),
CS_CAM_POS_LIST(0, 1151),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3740, -141, -530, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x00FB),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x010C),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x0198),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x019A),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.99992752075195f, 3740, -141, -530, 0x01AB),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 40.99992752075195f, 3739, -141, -530, 0x01BC),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x00FB),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x010C),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x0198),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x019A),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x01AB),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 40.999928f, 3739, -141, -530, 0x01BC),
CS_CAM_FOCUS_POINT_LIST(0, 1180),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3777, -89, -605, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3777, -89, -605, 0x00FB),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3777, -89, -605, 0x010C),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3763, -126, -621, 0x0198),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 40.99992752075195f, 3763, -126, -621, 0x019A),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.99992752075195f, 3763, -126, -621, 0x01AB),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 40.99992752075195f, 3765, -118, -617, 0x01BC),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x00FB),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x010C),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3763, -126, -621, 0x0198),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 40.999928f, 3763, -126, -621, 0x019A),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.999928f, 3763, -126, -621, 0x01AB),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 40.999928f, 3765, -118, -617, 0x01BC),
CS_TEXT_LIST(2),
CS_TEXT_NONE(0, 20),
CS_TEXT_DISPLAY_TEXTBOX(0x1017, 20, 60, 0x0000, 0xFFFF, 0xFFFF),
@@ -144,17 +144,17 @@ CutsceneData D_808BD790[] = {
CS_NPC_ACTION_LIST(46, 1),
CS_NPC_ACTION(0x0001, 0, 119, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, 0.0f, 0.0f, 0.0f),
CS_CAM_POS_LIST(0, 1091),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59983825683594f, 3716, 790, -1171, 0x54EC),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59983825683594f, 3716, 790, -1171, 0x555C),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59983825683594f, 3716, 790, -1171, 0x55CC),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59983825683594f, 3716, 790, -1171, 0x563C),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 75.59983825683594f, 3716, 790, -1171, 0x56AC),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x54EC),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x555C),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x55CC),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x563C),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x56AC),
CS_CAM_FOCUS_POINT_LIST(0, 1120),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 75.59983825683594f, 3769, 718, -1186, 0x54EC),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 75.59983825683594f, 3769, 718, -1186, 0x555C),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 75.59983825683594f, 3769, 718, -1186, 0x55CC),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 75.59983825683594f, 3769, 718, -1186, 0x563C),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 75.59983825683594f, 3769, 718, -1186, 0x56AC),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x54EC),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x555C),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 75.59984f, 3769, 718, -1186, 0x55CC),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x563C),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x56AC),
CS_TEXT_LIST(2),
CS_TEXT_NONE(0, 20),
CS_TEXT_DISPLAY_TEXTBOX(0x1018, 20, 60, 0x0000, 0xFFFF, 0xFFFF),
@@ -19,7 +19,7 @@ void BgYdanHasi_Draw(Actor* thisx, GlobalContext* globalCtx);
void BgYdanHasi_InitWater(BgYdanHasi* this, GlobalContext* globalCtx);
void BgYdanHasi_UpdateFloatingBlock(BgYdanHasi* this, GlobalContext* globalCtx);
void BgYdanHasi_SetupThreeBlocks(BgYdanHasi* this, GlobalContext* globalCtx);
WaterBox* BgYdanHasi_MoveWater(BgYdanHasi* this, GlobalContext* globalCtx);
void BgYdanHasi_MoveWater(BgYdanHasi* this, GlobalContext* globalCtx);
void BgYdanHasi_DecWaterTimer(BgYdanHasi* this, GlobalContext* globalCtx);
void BgYdanHasi_UpdateThreeBlocks(BgYdanHasi* this, GlobalContext* globalCtx);
@@ -40,23 +40,19 @@ static InitChainEntry sInitChain[] = {
};
void BgYdanHasi_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad1;
s32 pad;
BgYdanHasi* this = THIS;
CollisionHeader* colHeader;
CollisionHeader* colHeader = NULL;
WaterBox* waterBox;
s32 pad2;
colHeader = NULL;
Actor_ProcessInitChain(thisx, sInitChain);
this->unk_168 = ((thisx->params >> 8) & 0x3F);
thisx->params = thisx->params & 0xFF;
waterBox = globalCtx->colCtx.colHeader->waterBoxes + 0x1;
waterBox = &globalCtx->colCtx.colHeader->waterBoxes[1];
DynaPolyActor_Init(&this->dyna, DPM_PLAYER);
if (thisx->params == 1) {
// Water the moving platform floats on in B1. Never runs in Master Quest
thisx->home.pos.y = (thisx->home.pos.y + -5.0f);
thisx->world.pos.y = thisx->home.pos.y;
waterBox->ySurface = thisx->home.pos.y;
waterBox->ySurface = thisx->world.pos.y = thisx->home.pos.y += -5.0f;
this->actionFunc = BgYdanHasi_InitWater;
} else {
if (thisx->params == 0) {
@@ -85,12 +81,10 @@ void BgYdanHasi_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void BgYdanHasi_UpdateFloatingBlock(BgYdanHasi* this, GlobalContext* globalCtx) {
s32 pad;
f32 framesAfterMath;
f32 posOffset;
WaterBox* waterBox;
f32 framesAfterMath;
framesAfterMath = sinf((globalCtx->gameplayFrames & 0xFF) * 0.024543693f) * 165.0f;
framesAfterMath = sinf((globalCtx->gameplayFrames & 0xFF) * (M_PI / 128)) * 165.0f;
this->dyna.actor.world.pos.x =
((Math_SinS(this->dyna.actor.world.rot.y) * framesAfterMath) + this->dyna.actor.home.pos.x);
this->dyna.actor.world.pos.z =
@@ -103,8 +97,7 @@ void BgYdanHasi_UpdateFloatingBlock(BgYdanHasi* this, GlobalContext* globalCtx)
if (this->timer == 0) {
this->timer = 50;
}
posOffset = sinf(this->timer * 0.12566371f);
this->dyna.actor.world.pos.y = (this->dyna.actor.world.pos.y + (posOffset + posOffset));
this->dyna.actor.world.pos.y += 2.0f * sinf(this->timer * (M_PI / 25));
}
void BgYdanHasi_InitWater(BgYdanHasi* this, GlobalContext* globalCtx) {
@@ -114,11 +107,11 @@ void BgYdanHasi_InitWater(BgYdanHasi* this, GlobalContext* globalCtx) {
}
}
WaterBox* BgYdanHasi_MoveWater(BgYdanHasi* this, GlobalContext* globalCtx) {
void BgYdanHasi_MoveWater(BgYdanHasi* this, GlobalContext* globalCtx) {
WaterBox* waterBox;
if (this->timer == 0) {
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 1.0f) != 0) {
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 1.0f)) {
Flags_UnsetSwitch(globalCtx, this->unk_168);
this->actionFunc = BgYdanHasi_InitWater;
}
@@ -129,10 +122,8 @@ WaterBox* BgYdanHasi_MoveWater(BgYdanHasi* this, GlobalContext* globalCtx) {
}
func_8002F948(&this->dyna.actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
}
waterBox = globalCtx->colCtx.colHeader->waterBoxes;
globalCtx->colCtx.colHeader->waterBoxes[1].ySurface = this->dyna.actor.world.pos.y;
if (1) {}
return waterBox + 0x1;
waterBox = &globalCtx->colCtx.colHeader->waterBoxes[1];
waterBox->ySurface = this->dyna.actor.world.pos.y;
}
void BgYdanHasi_DecWaterTimer(BgYdanHasi* this, GlobalContext* globalCtx) {
@@ -146,17 +137,15 @@ void BgYdanHasi_DecWaterTimer(BgYdanHasi* this, GlobalContext* globalCtx) {
}
void BgYdanHasi_SetupThreeBlocks(BgYdanHasi* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, this->unk_168) != 0) {
if (Flags_GetSwitch(globalCtx, this->unk_168)) {
this->timer = 260;
this->dyna.actor.draw = BgYdanHasi_Draw;
this->actionFunc = BgYdanHasi_UpdateThreeBlocks;
func_800800F8(globalCtx, 0xBE0, 0x1E, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3040, 30, &this->dyna.actor, MAIN_CAM);
}
}
void BgYdanHasi_UpdateThreeBlocks(BgYdanHasi* this, GlobalContext* globalCtx) {
s32 pad;
if (this->timer != 0) {
this->timer--;
}
@@ -165,16 +154,16 @@ void BgYdanHasi_UpdateThreeBlocks(BgYdanHasi* this, GlobalContext* globalCtx) {
Flags_UnsetSwitch(globalCtx, this->unk_168);
this->dyna.actor.draw = NULL;
this->actionFunc = BgYdanHasi_SetupThreeBlocks;
return;
} else {
func_8002F948(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE - SFX_FLAG);
}
} else {
if (!Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 120.0f, 3.0f)) {
func_8002F948(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE - SFX_FLAG);
} else {
func_8002F994(&this->dyna.actor, this->timer);
}
func_8002F948(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE - SFX_FLAG);
return;
}
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 120.0f, 3.0f) == 0) {
func_8002F948(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE - SFX_FLAG);
return;
}
func_8002F994(&this->dyna.actor, this->timer);
}
void BgYdanHasi_Update(Actor* thisx, GlobalContext* globalCtx) {
@@ -189,19 +178,18 @@ void BgYdanHasi_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->dyna.actor.params == 0 || this->dyna.actor.params == 2) {
Gfx_DrawDListOpa(globalCtx, dLists[this->dyna.actor.params]);
return;
} else {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 577);
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -globalCtx->gameplayFrames % 128,
globalCtx->gameplayFrames % 128, 0x20, 0x20, 1, globalCtx->gameplayFrames % 128,
globalCtx->gameplayFrames % 128, 0x20, 0x20));
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 592),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gDTWaterPlaneDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 597);
}
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 577);
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -globalCtx->gameplayFrames & 0x7F,
globalCtx->gameplayFrames & 0x7F, 0x20, 0x20, 1, globalCtx->gameplayFrames & 0x7F,
globalCtx->gameplayFrames & 0x7F, 0x20, 0x20));
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 592),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gDTWaterPlaneDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_ydan_hasi.c", 597);
}
@@ -152,7 +152,7 @@ void func_808BF078(BgYdanMaruta* this, GlobalContext* globalCtx) {
Flags_SetSwitch(globalCtx, this->unk_168);
func_80078884(NA_SE_SY_CORRECT_CHIME);
this->actionFunc = func_808BF108;
func_800800F8(globalCtx, 0xBC2, 0x32, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3010, 50, &this->dyna.actor, MAIN_CAM);
} else {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
@@ -406,7 +406,7 @@ void BgYdanSp_WallWebIdle(BgYdanSp* this, GlobalContext* globalCtx) {
} else if (player->heldItemActionParam == PLAYER_AP_STICK && player->unk_860 != 0) {
func_8002DBD0(&this->dyna.actor, &sp30, &player->swordInfo[0].tip);
if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) {
func_800800F8(globalCtx, 0xBCC, 0x28, &this->dyna.actor, 0);
OnePointCutscene_Init(globalCtx, 3020, 40, &this->dyna.actor, MAIN_CAM);
Math_Vec3f_Copy(&this->dyna.actor.home.pos, &player->swordInfo[0].tip);
BgYdanSp_BurnWeb(this, globalCtx);
}
@@ -959,9 +959,9 @@ void BossGanondrof_Death(BossGanondrof* this, GlobalContext* globalCtx) {
func_80064520(globalCtx, &globalCtx->csCtx);
func_8002DF54(globalCtx, &this->actor, 1);
this->deathCamera = Gameplay_CreateSubCamera(globalCtx);
Gameplay_ChangeCameraStatus(globalCtx, 0, 1);
Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT);
osSyncPrintf("7\n");
Gameplay_ChangeCameraStatus(globalCtx, this->deathCamera, 7);
Gameplay_ChangeCameraStatus(globalCtx, this->deathCamera, CAM_STAT_ACTIVE);
osSyncPrintf("8\n");
this->deathState = DEATH_THROES;
player->actor.speedXZ = 0.0f;
+13 -13
View File
@@ -81,7 +81,7 @@ void DemoDu_CsAfterGanon_Reset(DemoDu* this) {
void DemoDu_CsAfterGanon_CheckIfShouldReset(DemoDu* this, GlobalContext* globalCtx) {
static s32 D_8096CE94 = false;
if (globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
if (D_8096CE94) {
if (this->actor.params == DEMO_DU_CS_CHAMBER_AFTER_GANON) {
DemoDu_CsAfterGanon_Reset(this);
@@ -103,7 +103,7 @@ void DemoDu_UpdateBgCheckInfo(DemoDu* this, GlobalContext* globalCtx) {
}
CsCmdActorAction* DemoDu_GetNpcAction(GlobalContext* globalCtx, s32 idx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
return globalCtx->csCtx.npcActions[idx];
}
return NULL;
@@ -207,7 +207,7 @@ void DemoDu_CsFireMedallion_AdvanceTo01(DemoDu* this, GlobalContext* globalCtx)
}
void DemoDu_CsFireMedallion_AdvanceTo02(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 1)) {
@@ -226,7 +226,7 @@ void DemoDu_CsFireMedallion_AdvanceTo03(DemoDu* this) {
}
void DemoDu_CsFireMedallion_AdvanceTo04(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 2)) {
@@ -246,7 +246,7 @@ void DemoDu_CsFireMedallion_AdvanceTo05(DemoDu* this, s32 animFinished) {
}
void DemoDu_CsFireMedallion_AdvanceTo06(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[6];
if ((npcAction != NULL) && (npcAction->action == 2)) {
@@ -437,7 +437,7 @@ void DemoDu_CsGoronsRuby_DaruniaFalling(DemoDu* this, GlobalContext* globalCtx)
s32 pad;
CutsceneContext* csCtx = &globalCtx->csCtx;
if (csCtx->state != 0) {
if (csCtx->state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = csCtx->npcActions[2];
Vec3f startPos;
Vec3f endPos;
@@ -466,7 +466,7 @@ void DemoDu_CsGoronsRuby_AdvanceTo01(DemoDu* this, GlobalContext* globalCtx) {
}
void DemoDu_CsGoronsRuby_AdvanceTo02(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 1)) {
@@ -482,7 +482,7 @@ void DemoDu_CsGoronsRuby_AdvanceTo02(DemoDu* this, GlobalContext* globalCtx) {
void DemoDu_CsGoronsRuby_AdvanceTo03(DemoDu* this, GlobalContext* globalCtx) {
CutsceneContext* csCtx = &globalCtx->csCtx;
if (csCtx->state != 0) {
if (csCtx->state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = csCtx->npcActions[2];
if ((npcAction != NULL) && (csCtx->frames >= npcAction->endFrame)) {
@@ -493,7 +493,7 @@ void DemoDu_CsGoronsRuby_AdvanceTo03(DemoDu* this, GlobalContext* globalCtx) {
}
void DemoDu_CsGoronsRuby_AdvanceTo04(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 2)) {
@@ -511,7 +511,7 @@ void DemoDu_CsGoronsRuby_AdvanceTo05(DemoDu* this, s32 animFinished) {
}
void DemoDu_CsGoronsRuby_AdvanceTo06(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 3)) {
@@ -531,7 +531,7 @@ void DemoDu_CsGoronsRuby_AdvanceTo07(DemoDu* this, s32 animFinished) {
}
void DemoDu_CsGoronsRuby_AdvanceTo08(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 4)) {
@@ -559,7 +559,7 @@ void DemoDu_CsGoronsRuby_AdvanceTo10(DemoDu* this, s32 animFinished) {
}
void DemoDu_CsGoronsRuby_AdvanceTo11(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 5)) {
@@ -579,7 +579,7 @@ void DemoDu_CsGoronsRuby_AdvanceTo12(DemoDu* this, s32 animFinished) {
}
void DemoDu_CsGoronsRuby_AdvanceTo13(DemoDu* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
CsCmdActorAction* npcAction = globalCtx->csCtx.npcActions[2];
if ((npcAction != NULL) && (npcAction->action != 6)) {
@@ -10,7 +10,7 @@ static CutsceneData D_8096C1A4[] = {
CS_NPC_ACTION(0x0001, 0, 546, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION(0x0002, 546, 547, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION(0x0004, 547, 616, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, 0.0f, 0.0f, 0.0f),
CS_NPC_ACTION(0x0002, 616, 667, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 82, 0, 0.0f, -2.627450942993164f, 0.0f),
CS_NPC_ACTION(0x0002, 616, 667, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 82, 0, 0.0f, -2.627451f, 0.0f),
CS_NPC_ACTION(0x0003, 667, 2834, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f),
CS_PLAYER_ACTION_LIST(3),
CS_PLAYER_ACTION(0x000D, 0, 280, 0x0000, 0x6AAA, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 1.401298464324817e-45f),
@@ -49,53 +49,53 @@ static CutsceneData D_8096C1A4[] = {
CS_TEXT_NONE(805, 865),
CS_TEXT_DISPLAY_TEXTBOX(0x303D, 865, 875, 0x0000, 0x0000, 0x0000),
CS_CAM_POS_LIST(0, 1361),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, -85, 3211, 795, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, -85, 3211, 795, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, -85, 2925, 795, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, 70, 974, 497, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, 320, 268, 296, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, 312, 190, 150, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, 261, 61, -65, 0x013F),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, 261, 61, -65, 0x014E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.400001525878906f, 261, 61, -65, 0x015F),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.400001525878906f, 261, 61, -65, 0x0161),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, -85, 3211, 795, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, -85, 3211, 795, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, -85, 2925, 795, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, 70, 974, 497, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, 320, 268, 296, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, 312, 190, 150, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, 261, 61, -65, 0x013F),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, 261, 61, -65, 0x014E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4f, 261, 61, -65, 0x015F),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.4f, 261, 61, -65, 0x0161),
CS_CAM_POS_LIST(263, 509),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 29.399885177612305f, 89, 30, -103, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.20000076293945f, 89, 30, -103, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.20000076293945f, 89, 30, -103, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.20000076293945f, 89, 30, -103, 0x00E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.20000076293945f, 89, 30, -103, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 29.399885f, 89, 30, -103, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.2f, 89, 30, -103, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.2f, 89, 30, -103, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.2f, 89, 30, -103, 0x00E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.2f, 89, 30, -103, 0x00EA),
CS_CAM_POS_LIST(333, 1424),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.99994659423828f, 114, 50, -116, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.99994659423828f, 114, 50, -116, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.99994659423828f, 114, 50, -116, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.99994659423828f, 114, 50, -116, 0x00E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.99994659423828f, 114, 50, -116, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.999947f, 114, 50, -116, 0x00EA),
CS_CAM_POS_LIST(403, 1494),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, 26, 45, -10, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, 26, 45, -10, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, 26, 45, -10, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, 26, 45, -10, 0x00E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.599945068359375f, 26, 45, -10, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00E8),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.599945f, 26, 45, -10, 0x00EA),
CS_CAM_POS_LIST(443, 1624),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39994430541992f, 11, 23, -17, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39994430541992f, 11, 23, -17, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39994430541992f, 27, 31, -45, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39994430541992f, 45, 40, -76, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39994430541992f, 45, 40, -76, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39994430541992f, 45, 40, -76, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39994430541992f, 45, 40, -76, 0x013F),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.39994430541992f, 45, 40, -76, 0x002E),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 11, 23, -17, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 11, 23, -17, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 27, 31, -45, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x013F),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.399944f, 45, 40, -76, 0x002E),
CS_CAM_POS_LIST(473, 1604),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.19994354248047f, 192, 29, -246, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.19994354248047f, 192, 29, -246, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.19994354248047f, 192, 29, -246, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.19994354248047f, 192, 29, -246, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39991760253906f, 192, 278, -246, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39991760253906f, 192, 278, -246, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39991760253906f, 192, 278, -246, 0x013F),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39991760253906f, 192, 278, -246, 0x002E),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 70.39991760253906f, 192, 278, -246, 0x0063),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00C8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00D7),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00E8),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x00EA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x013D),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x013F),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x002E),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 70.39992f, 192, 278, -246, 0x0063),
CS_CAM_POS_LIST(539, 881),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x00C6),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0x00C8),
@@ -107,81 +107,81 @@ static CutsceneData D_8096C1A4[] = {
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0x002E),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x0063),
CS_CAM_POS_PLAYER_LIST(615, 1796),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 33, -27, 0x00C6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 33, -27, 0x00C8),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 68, -26, 0x00D7),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x00E8),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x00EA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x013D),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x013F),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x002E),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x00C6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x00C8),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0x00D7),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x00E8),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x00EA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x013D),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x013F),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0x002E),
CS_CAM_FOCUS_POINT_LIST(0, 1390),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.400001525878906f, -115, 3163, 585, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.400001525878906f, -115, 3163, 585, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.400001525878906f, -115, 2877, 585, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.400001525878906f, 27, 824, 348, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.400001525878906f, 197, 143, 174, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.400001525878906f, 147, 100, 55, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.400001525878906f, 55, 35, -65, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 60.400001525878906f, 55, 35, -65, 0x014E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.400001525878906f, 55, 35, -65, 0x015F),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.400001525878906f, 56, 35, -65, 0x0161),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.4f, -115, 3163, 585, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.4f, -115, 3163, 585, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.4f, -115, 2877, 585, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4f, 27, 824, 348, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.4f, 197, 143, 174, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.4f, 147, 100, 55, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.4f, 55, 35, -65, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 60.4f, 55, 35, -65, 0x014E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4f, 55, 35, -65, 0x015F),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.4f, 56, 35, -65, 0x0161),
CS_CAM_FOCUS_POINT_LIST(263, 538),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 78.99978637695312f, 87, 157, -391, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 82, 78.79978942871094f, 87, 157, -391, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 103, 70.79991149902344f, 87, 157, -391, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.20000076293945f, 87, 157, -391, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.20000076293945f, 87, 157, -391, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 78.99979f, 87, 157, -391, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 82, 78.79979f, 87, 157, -391, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 103, 70.79991f, 87, 157, -391, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.2f, 87, 157, -391, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.2f, 87, 157, -391, 0x00EA),
CS_CAM_FOCUS_POINT_LIST(333, 1453),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.99994659423828f, -52, 127, -309, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.99994659423828f, -52, 127, -309, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.99994659423828f, -52, 127, -309, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.99994659423828f, -52, 127, -309, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.99994659423828f, -52, 127, -309, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.999947f, -52, 127, -309, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.999947f, -52, 127, -309, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.999947f, -52, 127, -309, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.999947f, -52, 127, -309, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.999947f, -52, 127, -309, 0x00EA),
CS_CAM_FOCUS_POINT_LIST(403, 1523),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945068359375f, -269, 186, 13, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945068359375f, -269, 186, 13, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.599945068359375f, -269, 186, 13, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945068359375f, -269, 186, 13, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.599945068359375f, -269, 186, 13, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945f, -269, 186, 13, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945f, -269, 186, 13, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.599945f, -269, 186, 13, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945f, -269, 186, 13, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.599945f, -269, 186, 13, 0x00EA),
CS_CAM_FOCUS_POINT_LIST(443, 1653),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39994430541992f, 163, 70, -283, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39994430541992f, 163, 70, -283, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39994430541992f, 177, 74, -309, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39994430541992f, 193, 92, -337, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39994430541992f, 193, 92, -337, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.39994430541992f, 192, 91, -336, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39994430541992f, 192, 91, -336, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.39994430541992f, 192, 91, -336, 0x002E),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 163, 70, -283, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 163, 70, -283, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 177, 74, -309, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 193, 92, -337, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 193, 92, -337, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.399944f, 192, 91, -336, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 192, 91, -336, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.399944f, 192, 91, -336, 0x002E),
CS_CAM_FOCUS_POINT_LIST(473, 1633),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.19994354248047f, -9, 57, -53, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.19994354248047f, -9, 57, -53, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.19994354248047f, -9, 57, -54, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.99994659423828f, -8, 57, -54, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 70.39991760253906f, 149, 547, -205, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 70.39991760253906f, 149, 547, -205, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 70.39991760253906f, 149, 547, -205, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.39991760253906f, 149, 547, -205, 0x002E),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 70.39991760253906f, 149, 547, -205, 0x0063),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.199944f, -9, 57, -53, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.199944f, -9, 57, -53, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.199944f, -9, 57, -54, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 45.999947f, -8, 57, -54, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 70.39992f, 149, 547, -205, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 70.39992f, 149, 547, -205, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 70.39992f, 149, 547, -205, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.39992f, 149, 547, -205, 0x002E),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 70.39992f, 149, 547, -205, 0x0063),
CS_CAM_FOCUS_POINT_LIST(539, 930),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x00C6),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0x00C8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 50.99996566772461f, 3, 6, -6, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 20.599849700927734f, 3, 6, -6, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 51, 10.799838066101074f, 3, 6, -6, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.3998384475708f, 3, 6, -6, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.3998384475708f, 3, 6, -6, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.199838638305664f, 3, 6, -6, 0x002E),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 50, 10.999837875366211f, 3, 6, -6, 0x0063),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0x00D7),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x00E8),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x00EA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x013D),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x013F),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0x002E),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x0063),
CS_CAM_FOCUS_POINT_PLAYER_LIST(615, 1825),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 100, 5, 0x00C6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 101, 6, 0x00C8),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 1, 99, 41, 0x00D7),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0x00E8),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0x00EA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 68.59994506835938f, 0, 42, 16, 0x013D),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0x013F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0x002E),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x00C6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0x00C8),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0x00D7),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x00E8),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x00EA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0x013D),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x013F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0x002E),
CS_END(),
};
// clang-format on
+1 -1
View File
@@ -338,7 +338,7 @@ void DemoEc_UseAnimationObject(DemoEc* this, GlobalContext* globalCtx) {
}
CsCmdActorAction* DemoEc_GetNpcAction(GlobalContext* globalCtx, s32 actionIndex) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
return globalCtx->csCtx.npcActions[actionIndex];
} else {
return NULL;
@@ -615,7 +615,7 @@ void DemoEffect_MedalSparkle(DemoEffect* this, GlobalContext* globalCtx, s32 isS
void DemoEffect_UpdateGetItem(DemoEffect* this, GlobalContext* globalCtx) {
Actor* thisx = &this->actor;
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
if (this->getItem.isPositionInit) {
DemoEffect_MoveGetItem(this, globalCtx, this->csActionId, 0.1f);
} else {
@@ -828,7 +828,7 @@ void DemoEffect_InitTimeWarpTimeblock(DemoEffect* this, GlobalContext* globalCtx
void DemoEffect_UpdateTriforceSpot(DemoEffect* this, GlobalContext* globalCtx) {
this->triforceSpot.rotation += 0x03E8;
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
DemoEffect_MoveToCsEndpoint(this, globalCtx, this->csActionId, 0);
if (globalCtx->csCtx.npcActions[this->csActionId]->action == 2) {
@@ -913,7 +913,7 @@ void DemoEffect_UpdateLightRingTriforce(DemoEffect* this, GlobalContext* globalC
DemoEffect_UpdatePositionToParent(this, globalCtx);
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
if (globalCtx->csCtx.npcActions[this->csActionId] != NULL &&
globalCtx->csCtx.npcActions[this->csActionId]->action == 2) {
blueOrb = (DemoEffect*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_DEMO_EFFECT,
@@ -1039,7 +1039,7 @@ void DemoEffect_UpdateLightEffect(DemoEffect* this, GlobalContext* globalCtx) {
isLargeSize = ((this->actor.params & 0x0F00) >> 8);
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
DemoEffect_MoveToCsEndpoint(this, globalCtx, this->csActionId, 0);
switch (globalCtx->csCtx.npcActions[this->csActionId]->action) {
case 2:
@@ -1140,7 +1140,7 @@ void DemoEffect_UpdateLgtShower(DemoEffect* this, GlobalContext* globalCtx) {
void DemoEffect_UpdateGodLgtDin(DemoEffect* this, GlobalContext* globalCtx) {
DemoEffect* fireBall;
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
DemoEffect_MoveToCsEndpoint(this, globalCtx, this->csActionId, 1);
if (globalCtx->csCtx.npcActions[this->csActionId]->action == 3) {
@@ -1190,7 +1190,7 @@ void DemoEffect_UpdateGodLgtDin(DemoEffect* this, GlobalContext* globalCtx) {
void DemoEffect_UpdateGodLgtNayru(DemoEffect* this, GlobalContext* globalCtx) {
DemoEffect* lightRing;
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
DemoEffect_MoveToCsEndpoint(this, globalCtx, this->csActionId, 1);
if (globalCtx->csCtx.npcActions[this->csActionId]->action == 3) {
@@ -1251,7 +1251,7 @@ void DemoEffect_UpdateGodLgtNayru(DemoEffect* this, GlobalContext* globalCtx) {
void DemoEffect_UpdateGodLgtFarore(DemoEffect* this, GlobalContext* globalCtx) {
DemoEffect* lgtShower;
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL) {
DemoEffect_MoveToCsEndpoint(this, globalCtx, this->csActionId, 1);
if (globalCtx->csCtx.npcActions[this->csActionId]->action == 3) {
@@ -1620,7 +1620,7 @@ void DemoEffect_UpdateDust(DemoEffect* this, GlobalContext* globalCtx) {
Vec3f velocity;
Vec3f accel;
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL &&
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL &&
globalCtx->csCtx.npcActions[this->csActionId]->action == 2) {
pos = this->actor.world.pos;
@@ -1654,7 +1654,7 @@ void DemoEffect_Update(Actor* thisx, GlobalContext* globalCtx) {
* Check if the current cutscene action matches the passed in cutscene action ID.
*/
s32 DemoEffect_CheckCsAction(DemoEffect* this, GlobalContext* globalCtx, s32 csActionCompareId) {
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->csActionId] != NULL &&
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->csActionId] != NULL &&
globalCtx->csCtx.npcActions[this->csActionId]->action == csActionCompareId) {
return 1;
}
@@ -54,7 +54,7 @@ void DemoExt_PlayVortexSFX(DemoExt* this) {
}
CsCmdActorAction* DemoExt_GetNpcAction(GlobalContext* globalCtx, s32 npcActionIndex) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
return globalCtx->csCtx.npcActions[npcActionIndex];
}
return NULL;
+6 -5
View File
@@ -137,7 +137,7 @@ void func_8097CB0C(DemoGo* this, GlobalContext* globalCtx) {
Vec3f startPos;
Vec3f endPos;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
npcAction = csCtx->npcActions[func_8097C870(this)];
if (npcAction != NULL) {
temp_ret = func_8006F93C(npcAction->endFrame, npcAction->startFrame, csCtx->frames);
@@ -157,8 +157,9 @@ void func_8097CB0C(DemoGo* this, GlobalContext* globalCtx) {
void func_8097CC08(DemoGo* this) {
f32 something = this->unk_19C;
if (something < 8.0f) {
this->actor.speedXZ = (((kREG(15) * 0.01f) + 1.2f) * 0.125f) * something;
this->actor.speedXZ = (((kREG(15) * 0.01f) + 1.2f) / 8.0f) * something;
} else {
this->actor.speedXZ = (kREG(15) * 0.01f) + 1.2f;
}
@@ -176,7 +177,7 @@ void func_8097CCE0(DemoGo* this, GlobalContext* globalCtx) {
s32 newRotY;
s32 thisRotY;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
npcAction = globalCtx->csCtx.npcActions[func_8097C870(this)];
if (npcAction != NULL) {
thisRotY = thisx->world.rot.y;
@@ -202,7 +203,7 @@ s32 func_8097CDB0(DemoGo* this, GlobalContext* globalCtx, u16 npcAction) {
CutsceneContext* csCtx = &globalCtx->csCtx;
s32 actionIdx = func_8097C870(this);
if ((csCtx->state != 0) && (csCtx->npcActions[actionIdx] != NULL) &&
if ((csCtx->state != CS_STATE_IDLE) && (csCtx->npcActions[actionIdx] != NULL) &&
(csCtx->npcActions[actionIdx]->action == npcAction)) {
return 1;
}
@@ -226,7 +227,7 @@ void func_8097CE78(DemoGo* this, GlobalContext* globalCtx) {
CutsceneContext* csCtx = &globalCtx->csCtx;
CsCmdActorAction* npcAction;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
npcAction = csCtx->npcActions[func_8097C870(this)];
if (npcAction != NULL && csCtx->frames >= npcAction->endFrame) {
func_8097CA78(this, globalCtx);
+3 -3
View File
@@ -304,7 +304,7 @@ void func_8097E454(GlobalContext* globalCtx, Vec3f* spawnerPos, Vec3f* velocity,
}
u8 func_8097E69C(GlobalContext* globalCtx) {
if (globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
return true;
} else {
return false;
@@ -512,7 +512,7 @@ void func_8097EF40(DemoGt* this, GlobalContext* globalCtx) {
s32 pad1[3];
Vec3f dustPos;
Vec3f velocity = { 0.0f, -16.0f, 0.0f };
Vec3f accel = { 0.0f, 1.20000004768f, 0.0f };
Vec3f accel = { 0.0f, 1.2f, 0.0f };
Vec3f* pos = &this->dyna.actor.world.pos;
s32 pad;
@@ -1064,7 +1064,7 @@ void func_8098085C(DemoGt* this, GlobalContext* globalCtx) {
sp28.x = pos->x + 810.0f;
sp28.y = pos->y + 200.0f;
sp28.z = pos->z - 37.0f;
DemoGt_SpawnExplosionWithSound(globalCtx, &sp28, 0.899999976158f);
DemoGt_SpawnExplosionWithSound(globalCtx, &sp28, 0.9f);
} else if (frames == 90) {
sp28.x = pos->x - 220.0f;
sp28.y = pos->y + 1350.0f;
+1 -1
View File
@@ -56,7 +56,7 @@ s32 DemoIk_UpdateSkelAnime(DemoIk* this) {
}
CsCmdActorAction* DemoIk_GetCue(GlobalContext* globalCtx, s32 index) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
return globalCtx->csCtx.npcActions[index];
}
return NULL;
+5 -5
View File
@@ -142,7 +142,7 @@ void func_80984C68(DemoIm* this) {
void func_80984C8C(DemoIm* this, GlobalContext* globalCtx) {
u32* something = &D_8098783C;
if (globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
if (*something != 0) {
if (this->actor.params == 2) {
func_80984C68(this);
@@ -227,7 +227,7 @@ s32 func_80985060(DemoIm* this) {
}
s32 func_80985080(GlobalContext* globalCtx) {
if (globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
return 1;
}
return 0;
@@ -349,7 +349,7 @@ void func_8098544C(DemoIm* this, GlobalContext* globalCtx) {
}
void func_809854DC(DemoIm* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[5] != NULL) &&
if ((globalCtx->csCtx.state != CS_STATE_IDLE) && (globalCtx->csCtx.npcActions[5] != NULL) &&
(globalCtx->csCtx.npcActions[5]->action == 2)) {
Animation_Change(&this->skelAnime, &D_06001868, 1.0f, 0.0f, Animation_GetLastFrame(&D_06001868), ANIMMODE_LOOP,
0.0f);
@@ -367,7 +367,7 @@ void func_8098557C(DemoIm* this) {
}
void func_809855A8(DemoIm* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[5] != NULL) &&
if ((globalCtx->csCtx.state != CS_STATE_IDLE) && (globalCtx->csCtx.npcActions[5] != NULL) &&
(globalCtx->csCtx.npcActions[5]->action == 3)) {
Animation_Change(&this->skelAnime, &D_06000710, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000710), ANIMMODE_ONCE,
4.0f);
@@ -384,7 +384,7 @@ void func_80985640(DemoIm* this, s32 arg1) {
}
void func_809856AC(DemoIm* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[6] != NULL) &&
if ((globalCtx->csCtx.state != CS_STATE_IDLE) && (globalCtx->csCtx.npcActions[6] != NULL) &&
(globalCtx->csCtx.npcActions[6]->action == 2)) {
this->action = 6;
func_809853B4(this, globalCtx);
@@ -52,69 +52,69 @@ CutsceneData D_8098786C[] = {
CS_FADE_BGM_LIST(1),
CS_FADE_BGM(0x0004, 673, 723, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC1, 0x00000058, 0x00000000, 0xFFFFFFC1, 0x00000058),
CS_CAM_POS_LIST(0, 341),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 33, 225, -58, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 33, 225, -58, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 33, 225, -58, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 33, 106, -58, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 33, 23, -58, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 11, 10, -18, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 11, 10, -18, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, 11, 10, -18, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.60000228881836f, 11, 10, -18, 0x7C53),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 33, 225, -58, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 33, 225, -58, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 33, 225, -58, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 33, 106, -58, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 33, 23, -58, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 11, 10, -18, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 11, 10, -18, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 11, 10, -18, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.600002f, 11, 10, -18, 0x7C53),
CS_CAM_POS_LIST(263, 504),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626956939697266f, -49, 13, 158, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626956939697266f, -49, 13, 158, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626956939697266f, -49, 13, 158, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626956939697266f, -21, 22, 150, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.22699737548828f, -21, 22, 150, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.22699737548828f, -21, 22, 150, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.22699737548828f, -21, 22, 150, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.22699737548828f, -21, 22, 150, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 33.22699737548828f, -21, 22, 150, 0x7C53),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626957f, -49, 13, 158, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626957f, -49, 13, 158, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626957f, -49, 13, 158, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 22.626957f, -21, 22, 150, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 33.226997f, -21, 22, 150, 0x7C53),
CS_CAM_POS_LIST(363, 824),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, -67, 8, 117, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, -67, 8, 117, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, -67, 8, 117, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, -67, 8, 117, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, -67, 8, 117, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.60000228881836f, -67, 8, 117, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991149902344f, -67, 8, 117, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991149902344f, -67, 8, 117, 0xE6A0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991149902344f, -67, 8, 117, 0x7C53),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991149902344f, -67, 8, 117, 0x0000),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 70.79991149902344f, -67, 8, 117, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0xE6A0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0x7C53),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0x0000),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 70.79991f, -67, 8, 117, 0x0000),
CS_CAM_POS_PLAYER_LIST(413, 1504),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.999849319458008f, -53, 28, 45, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.999849319458008f, -53, 28, 45, 0xD5E0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.999849319458008f, -53, 28, 45, 0x0950),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.999849319458008f, -53, 28, 45, 0x7C50),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 19.999849319458008f, -53, 28, 45, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0xD5E0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0x0950),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0x7C50),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 19.99985f, -53, 28, 45, 0x0000),
CS_CAM_POS_LIST(483, 1684),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -67, 8, 117, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -67, 8, 117, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -67, 8, 117, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -71, 15, 124, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -73, 29, 131, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -78, 40, 140, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -78, 40, 140, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91905975341797f, -78, 40, 140, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 68.91905975341797f, -78, 40, 140, 0x7C53),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -67, 8, 117, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -67, 8, 117, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -67, 8, 117, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -71, 15, 124, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -73, 29, 131, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -78, 40, 140, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -78, 40, 140, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 68.91906f, -78, 40, 140, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 68.91906f, -78, 40, 140, 0x7C53),
CS_CAM_POS_LIST(553, 1644),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, -39, 34, 201, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, -39, 34, 201, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, -39, 34, 201, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945068359375f, -39, 34, 201, 0x7C50),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.599945068359375f, -39, 34, 201, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0x7C50),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.599945f, -39, 34, 201, 0x0000),
CS_CAM_POS_LIST(623, 819),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 9, 13, -17, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 9, 13, -17, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 9, 13, -17, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 9, 71, -17, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.99905395507812f, 9, 385, -17, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.99905395507812f, 9, 385, -17, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.99905395507812f, 9, 385, -17, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.99905395507812f, 9, 385, -17, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 126.99905395507812f, 9, 385, -17, 0x7C53),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 9, 13, -17, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 9, 13, -17, 0xD5E0),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 9, 13, -17, 0x0950),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 9, 71, -17, 0x7C50),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0xFFFF),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0x0000),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 126.999054f, 9, 385, -17, 0x7C53),
CS_CAM_POS_LIST(693, 1035),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x20BA),
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0xD5E0),
@@ -126,97 +126,97 @@ CutsceneData D_8098786C[] = {
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0xE6A0),
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x7C53),
CS_CAM_POS_PLAYER_LIST(769, 1950),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 33, -27, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 33, -27, 0xD5E0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 68, -26, 0x0950),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x7C50),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0xFFFF),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 68.59994506835938f, 0, 103, -26, 0xE6A0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0xD5E0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0x0950),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x7C50),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0xFFFF),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0xE6A0),
CS_CAM_FOCUS_POINT_LIST(0, 370),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.60000228881836f, -21, 21, 42, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.60000228881836f, -21, 21, 42, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.60000228881836f, -21, 21, 42, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.60000228881836f, -78, 86, 144, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.60000228881836f, -80, 21, 142, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.60000228881836f, -99, 31, 177, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.60000228881836f, -99, 31, 177, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.60000228881836f, -99, 31, 177, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.60000228881836f, -99, 31, 177, 0x7C53),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, -21, 21, 42, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.600002f, -21, 21, 42, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.600002f, -21, 21, 42, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.600002f, -78, 86, 144, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.600002f, -80, 21, 142, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.600002f, -99, 31, 177, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, -99, 31, 177, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, -99, 31, 177, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.600002f, -99, 31, 177, 0x7C53),
CS_CAM_FOCUS_POINT_LIST(263, 533),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 22.626956939697266f, -309, 11, 229, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 22.626956939697266f, -309, 11, 229, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 22.626956939697266f, -309, 11, 229, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.22699737548828f, -258, 133, 191, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.22699737548828f, -258, 133, 191, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.22699737548828f, -258, 133, 191, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.22699737548828f, -258, 133, 191, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.22699737548828f, -258, 133, 191, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 33.22699737548828f, -258, 133, 191, 0x7C53),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 22.626957f, -309, 11, 229, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 22.626957f, -309, 11, 229, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 22.626957f, -309, 11, 229, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 33.226997f, -258, 133, 191, 0x7C53),
CS_CAM_FOCUS_POINT_LIST(363, 853),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.79994201660156f, 68, 109, -103, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.99993896484375f, 68, 109, -103, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.79994201660156f, 67, 109, -103, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.59994506835938f, 189, 109, 92, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.59994506835938f, 57, 108, 341, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 70.79991149902344f, -186, 107, 341, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 70.79991149902344f, -186, 107, 341, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 70.79991149902344f, -186, 107, 341, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.79991149902344f, -186, 107, 341, 0x7C53),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.79991149902344f, -186, 107, 341, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 70.79991149902344f, -186, 107, 341, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.79994f, 68, 109, -103, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.99994f, 68, 109, -103, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.79994f, 67, 109, -103, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.599945f, 189, 109, 92, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 68.599945f, 57, 108, 341, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 70.79991f, -186, 107, 341, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 70.79991f, -186, 107, 341, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 70.79991f, -186, 107, 341, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.79991f, -186, 107, 341, 0x7C53),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.79991f, -186, 107, 341, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 70.79991f, -186, 107, 341, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER_LIST(413, 1533),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 19.999849319458008f, 171, 122, -106, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 19.999849319458008f, 171, 122, -106, 0xD5E0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 19.999849319458008f, 171, 122, -106, 0x0950),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 19.999849319458008f, 170, 122, -106, 0x7C50),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 19.999849319458008f, 170, 122, -106, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 19.99985f, 171, 122, -106, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 19.99985f, 171, 122, -106, 0xD5E0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 19.99985f, 171, 122, -106, 0x0950),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 19.99985f, 170, 122, -106, 0x7C50),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 19.99985f, 170, 122, -106, 0x0000),
CS_CAM_FOCUS_POINT_LIST(483, 1713),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x01, 20, 68.91905975341797f, -191, 132, 327, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 68.91905975341797f, -191, 132, 327, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0xFF, 30, 68.91905975341797f, -190, 131, 326, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 68.91905975341797f, -189, 154, 324, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x01, 30, 68.91905975341797f, -194, 162, 331, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 68.91905975341797f, -199, 172, 339, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 68.91905975341797f, -199, 172, 339, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 68.91905975341797f, -199, 172, 339, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 68.91905975341797f, -199, 172, 339, 0x7C53),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x01, 20, 68.91906f, -191, 132, 327, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 68.91906f, -191, 132, 327, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0xFF, 30, 68.91906f, -190, 131, 326, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 68.91906f, -189, 154, 324, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x01, 30, 68.91906f, -194, 162, 331, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 68.91906f, -199, 172, 339, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 68.91906f, -199, 172, 339, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 68.91906f, -199, 172, 339, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 68.91906f, -199, 172, 339, 0x7C53),
CS_CAM_FOCUS_POINT_LIST(553, 1673),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945068359375f, -234, 123, 37, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945068359375f, -234, 123, 37, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.599945068359375f, -234, 123, 37, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945068359375f, -234, 123, 37, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.599945068359375f, -233, 123, 37, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945f, -234, 123, 37, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945f, -234, 123, 37, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.599945f, -234, 123, 37, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.599945f, -234, 123, 37, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.599945f, -233, 123, 37, 0x0000),
CS_CAM_FOCUS_POINT_LIST(623, 848),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.59991455078125f, -52, 17, 91, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.59991455078125f, -52, 17, 91, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 70.59991455078125f, -52, 17, 91, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 70.59991455078125f, -52, 75, 91, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 126.99905395507812f, -5, 503, 9, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 126.99905395507812f, -5, 503, 9, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 126.99905395507812f, -5, 503, 9, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 126.99905395507812f, -5, 503, 9, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 126.99905395507812f, -5, 503, 9, 0x7C53),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.599915f, -52, 17, 91, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.599915f, -52, 17, 91, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 70.599915f, -52, 17, 91, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 70.599915f, -52, 75, 91, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 126.999054f, -5, 503, 9, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 126.999054f, -5, 503, 9, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 126.999054f, -5, 503, 9, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 126.999054f, -5, 503, 9, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 126.999054f, -5, 503, 9, 0x7C53),
CS_CAM_FOCUS_POINT_LIST(693, 1084),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x20BA),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0xD5E0),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 50.99996566772461f, 3, 6, -6, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 20.599849700927734f, 3, 6, -6, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 51, 10.799838066101074f, 3, 6, -6, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.3998384475708f, 3, 6, -6, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.3998384475708f, 3, 6, -6, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.199838638305664f, 3, 6, -6, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 50, 10.999837875366211f, 3, 6, -6, 0x7C53),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0x0950),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x7C50),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0xFFFF),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x0000),
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0xE6A0),
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x7C53),
CS_CAM_FOCUS_POINT_PLAYER_LIST(769, 1979),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 100, 5, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 101, 6, 0xD5E0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 1, 99, 41, 0x0950),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0x7C50),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 68.59994506835938f, 0, 42, 16, 0xFFFF),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 68.59994506835938f, 0, 42, 16, 0xE6A0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0xD5E0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0x0950),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x7C50),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0xFFFF),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0xE6A0),
CS_END(),
};
// clang-format on
@@ -397,7 +397,7 @@ void DemoKankyo_SetRockPos(DemoKankyo* this, GlobalContext* globalCtx, s32 param
}
void DemoKankyo_UpdateRock(DemoKankyo* this, GlobalContext* globalCtx) {
if (globalCtx->csCtx.state != 0 && globalCtx->csCtx.npcActions[this->actor.params - 2] != NULL) {
if (globalCtx->csCtx.state != CS_STATE_IDLE && globalCtx->csCtx.npcActions[this->actor.params - 2] != NULL) {
DemoKankyo_SetRockPos(this, globalCtx, this->actor.params - 2);
}
this->unk_150[0].unk_C.x += this->unk_150[0].unk_0.x;
@@ -447,11 +447,11 @@ void DemoKankyo_Draw(Actor* thisx, GlobalContext* globalCtx) {
break;
} else {
if (LINK_IS_CHILD) {
if (globalCtx->csCtx.frames < 170 || globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.frames < 170 || globalCtx->csCtx.state == CS_STATE_IDLE) {
break;
}
} else {
if (globalCtx->csCtx.frames < 120 || globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.frames < 120 || globalCtx->csCtx.state == CS_STATE_IDLE) {
break;
}
}
@@ -718,7 +718,7 @@ void DemoKankyo_DrawLightPlane(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_kankyo.c", 1514);
if (globalCtx->csCtx.state == 0 || gSaveContext.sceneSetupIndex >= 4) {
if (globalCtx->csCtx.state == CS_STATE_IDLE || gSaveContext.sceneSetupIndex >= 4) {
func_80093D84(globalCtx->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08,
@@ -825,7 +825,7 @@ void DemoKankyo_DrawWarpSparkles(Actor* thisx, GlobalContext* globalCtx) {
func_800776E4(globalCtx);
this->unk_150[i].unk_22++;
}
} else if (i + 1 == this->sparkleCounter && globalCtx->csCtx.state == 0) {
} else if (i + 1 == this->sparkleCounter && globalCtx->csCtx.state == CS_STATE_IDLE) {
func_80088AF0(globalCtx);
Actor_Kill(&this->actor);
}
@@ -941,7 +941,7 @@ void DemoKankyo_DrawSparkles(Actor* thisx, GlobalContext* globalCtx) {
DemoKankyo_Vec3fAddPosRot(&posRot, &camPos, &D_8098CFB8);
break;
case 2:
if (i + 1 == this->sparkleCounter && globalCtx->csCtx.state == 0) {
if (i + 1 == this->sparkleCounter && globalCtx->csCtx.state == CS_STATE_IDLE) {
Actor_Kill(&this->actor);
}
break;
@@ -5,21 +5,21 @@
CutsceneData gAdultWarpInCS[] = {
CS_BEGIN_CUTSCENE(2, 164),
CS_CAM_POS_PLAYER_LIST(0, 135),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 79, 59, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 78, 60, 0x0120),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 32, 78, 60, 0x0131),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 30, 79, 59, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 30, 78, 60, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 30, 78, 60, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.32485580444336f, 30, 78, 60, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 79, 59, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 78, 60, 0x0120),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 32, 78, 60, 0x0131),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 30, 79, 59, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 30, 78, 60, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 30, 78, 60, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.324856f, 30, 78, 60, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 164),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 11, 50, 23, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 11, 48, 22, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.32485580444336f, 11, 48, 22, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.32485580444336f, 57, 101, 21, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 57, 101, 21, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 57, 101, 21, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.32485580444336f, 57, 101, 21, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 11, 50, 23, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 11, 48, 22, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.324856f, 11, 48, 22, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.324856f, 57, 101, 21, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 57, 101, 21, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 57, 101, 21, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.324856f, 57, 101, 21, 0x0000),
CS_END(),
};
// clang-format on
@@ -5,23 +5,23 @@
CutsceneData gAdultWarpOutCS[] = {
CS_BEGIN_CUTSCENE(5, 1167),
CS_CAM_POS_PLAYER_LIST(0, 1138),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0xA1BC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0xA5E1),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0xA5CB),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0xA5EB),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0xA1BC),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.324859619140625f, 31, 82, 61, 0xA5E1),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA1BC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5E1),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5CB),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5EB),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0x20BA),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA1BC),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5E1),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 1167),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 55, 99, 31, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 55, 99, 31, 0xA1BC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 10, 60.324859619140625f, 55, 99, 31, 0xA5E1),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.324859619140625f, 17, 59, 31, 0xA5CB),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 17, 59, 31, 0xA5EB),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.324859619140625f, 17, 59, 31, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 17, 59, 31, 0xA1BC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.324859619140625f, 17, 59, 31, 0xA5E1),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 55, 99, 31, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 55, 99, 31, 0xA1BC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 10, 60.32486f, 55, 99, 31, 0xA5E1),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.32486f, 17, 59, 31, 0xA5CB),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 17, 59, 31, 0xA5EB),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.32486f, 17, 59, 31, 0x20BA),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 17, 59, 31, 0xA1BC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.32486f, 17, 59, 31, 0xA5E1),
CS_SCENE_TRANS_FX(0x0005, 36, 46),
CS_SCENE_TRANS_FX(0x0001, 30, 35),
CS_MISC_LIST(1),
@@ -5,21 +5,21 @@
CutsceneData gAdultWarpInToTCS[] = {
CS_BEGIN_CUTSCENE(2, 118),
CS_CAM_POS_PLAYER_LIST(0, 89),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 71.32476043701172f, 53, 53, 40, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 71.32476f, 53, 53, 40, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0120),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0131),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 58, 102, 48, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 58, 102, 48, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 58, 102, 48, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 70.59991455078125f, 58, 102, 48, 0x0047),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 58, 102, 48, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 58, 102, 48, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 58, 102, 48, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 70.599915f, 58, 102, 48, 0x0047),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 118),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.52477264404297f, 11, 29, 10, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.39991760253906f, 11, 29, 10, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.59991455078125f, 11, 29, 10, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.59991455078125f, 29, 71, 25, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.59991455078125f, 29, 71, 25, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.59991455078125f, 29, 71, 25, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 70.59991455078125f, 29, 71, 25, 0x0047),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.52477f, 11, 29, 10, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.39992f, 11, 29, 10, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.599915f, 11, 29, 10, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.599915f, 29, 71, 25, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.599915f, 29, 71, 25, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.599915f, 29, 71, 25, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 70.599915f, 29, 71, 25, 0x0047),
CS_END(),
};
// clang-format on
@@ -7,17 +7,17 @@ CutsceneData gAdultWarpOutToTCS[] = {
CS_SCENE_TRANS_FX(0x0005, 36, 46),
CS_SCENE_TRANS_FX(0x0001, 30, 35),
CS_CAM_POS_PLAYER_LIST(0, 1091),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.324859619140625f, 42, 89, 50, 0x29D0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.32486f, 42, 89, 50, 0x29D0),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 1120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.324859619140625f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.324859619140625f, 24, 66, 29, 0x29D0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.32486f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 24, 66, 29, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.32486f, 24, 66, 29, 0x29D0),
CS_MISC_LIST(1),
CS_MISC(0x000C, 95, 96, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFEE, 0xFFFFFFF3, 0x00000000, 0xFFFFFFEE, 0xFFFFFFF3, 0x00000000, 0x00000000, 0x00000000),
CS_END(),
@@ -5,23 +5,23 @@
CutsceneData gChildWarpInCS[] = {
CS_BEGIN_CUTSCENE(2, 1164),
CS_CAM_POS_PLAYER_LIST(0, 1135),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 68, 59, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 32, 68, 60, 0x0120),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 69, 59, 0x0131),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 64, 59, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 64, 59, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 64, 59, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32485580444336f, 31, 64, 59, 0xB46C),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.32485580444336f, 31, 64, 59, 0x05BC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 68, 59, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 32, 68, 60, 0x0120),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 69, 59, 0x0131),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0xB46C),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.324856f, 31, 64, 59, 0x05BC),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 1164),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 12, 40, 22, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 11, 38, 22, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.32485580444336f, 11, 39, 22, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.32485580444336f, 57, 86, 21, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 57, 86, 21, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.32485580444336f, 57, 86, 21, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32485580444336f, 57, 86, 21, 0xB46C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.32485580444336f, 57, 86, 21, 0x05BC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 12, 40, 22, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 11, 38, 22, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.324856f, 11, 39, 22, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.324856f, 57, 86, 21, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 57, 86, 21, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.324856f, 57, 86, 21, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324856f, 57, 86, 21, 0xB46C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.324856f, 57, 86, 21, 0x05BC),
CS_END(),
};
// clang-format on
@@ -7,23 +7,23 @@ CutsceneData gChildWarpOutCS[] = {
CS_SCENE_TRANS_FX(0x0005, 36, 46),
CS_SCENE_TRANS_FX(0x0001, 30, 35),
CS_CAM_POS_PLAYER_LIST(0, 1138),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 30, 63, 61, 0xA8A5),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 30, 63, 61, 0xA3D9),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324859619140625f, 30, 63, 61, 0xF3A5),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486343383789f, 29, 61, 59, 0xA5D5),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486343383789f, 29, 61, 59, 0xA5E7),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486343383789f, 29, 61, 59, 0xA5EC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486343383789f, 29, 61, 59, 0xBCA5),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.32486343383789f, 29, 61, 59, 0xEEC0),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 30, 63, 61, 0xA8A5),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 30, 63, 61, 0xA3D9),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.32486f, 30, 63, 61, 0xF3A5),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xA5D5),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xA5E7),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xA5EC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xBCA5),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.324863f, 29, 61, 59, 0xEEC0),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 1167),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 54, 79, 31, 0xA8A5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324859619140625f, 54, 80, 31, 0xA3D9),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 10, 60.324859619140625f, 54, 79, 31, 0xF3A5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.32486343383789f, 15, 42, 30, 0xA5D5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486343383789f, 15, 42, 30, 0xA5E7),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.32486343383789f, 15, 42, 30, 0xA5EC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486343383789f, 15, 42, 30, 0xBCA5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.32486343383789f, 15, 42, 30, 0xEEC0),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 54, 79, 31, 0xA8A5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.32486f, 54, 80, 31, 0xA3D9),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 10, 60.32486f, 54, 79, 31, 0xF3A5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 60.324863f, 15, 42, 30, 0xA5D5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324863f, 15, 42, 30, 0xA5E7),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.324863f, 15, 42, 30, 0xA5EC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324863f, 15, 42, 30, 0xBCA5),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.324863f, 15, 42, 30, 0xEEC0),
CS_MISC_LIST(1),
CS_MISC(0x000C, 95, 96, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFEF, 0xFFFFFFCD, 0x00000000, 0xFFFFFFEF, 0xFFFFFFCD, 0x00000000, 0x00000000, 0x00000000),
CS_END(),
@@ -5,23 +5,23 @@
CutsceneData gChildWarpInToTCS[] = {
CS_BEGIN_CUTSCENE(2, 1118),
CS_CAM_POS_PLAYER_LIST(0, 1089),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 71.32476043701172f, 53, 53, 40, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 71.32476f, 53, 53, 40, 0x010F),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0120),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0131),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 58, 89, 47, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 58, 89, 47, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 58, 89, 47, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.59991455078125f, 58, 89, 47, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 70.59991455078125f, 58, 89, 47, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x01F4),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x01F6),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x0207),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x0000),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 70.599915f, 58, 89, 47, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 1118),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.52477264404297f, 11, 29, 10, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.39991760253906f, 11, 29, 10, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.59991455078125f, 11, 29, 10, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.59991455078125f, 29, 58, 25, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.59991455078125f, 29, 58, 25, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 70.59991455078125f, 29, 58, 25, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.59991455078125f, 29, 58, 25, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 70.59991455078125f, 29, 58, 25, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.52477f, 11, 29, 10, 0x010F),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.39992f, 11, 29, 10, 0x0120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.599915f, 11, 29, 10, 0x0131),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 7, 70.599915f, 29, 58, 25, 0x01F4),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.599915f, 29, 58, 25, 0x01F6),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 70.599915f, 29, 58, 25, 0x0207),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 70.599915f, 29, 58, 25, 0x0000),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 70.599915f, 29, 58, 25, 0x0000),
CS_END(),
};
// clang-format on
@@ -7,17 +7,17 @@ CutsceneData gChildWarpOutToTCS[] = {
CS_SCENE_TRANS_FX(0x0005, 36, 46),
CS_SCENE_TRANS_FX(0x0001, 30, 35),
CS_CAM_POS_PLAYER_LIST(0, 1091),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867248535156f, 41, 75, 49, 0x1F1C),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867248535156f, 41, 75, 49, 0x1F8C),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867248535156f, 41, 75, 49, 0x1FFC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867248535156f, 41, 75, 49, 0x206C),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.324867248535156f, 41, 75, 49, 0x20DC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x1F1C),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x1F8C),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x1FFC),
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x206C),
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 60.324867f, 41, 75, 49, 0x20DC),
CS_CAM_FOCUS_POINT_PLAYER_LIST(0, 1120),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324867248535156f, 24, 52, 29, 0x1F1C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324867248535156f, 24, 52, 29, 0x1F8C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.324867248535156f, 24, 52, 29, 0x1FFC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324867248535156f, 24, 52, 29, 0x206C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.324867248535156f, 24, 52, 29, 0x20DC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324867f, 24, 52, 29, 0x1F1C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324867f, 24, 52, 29, 0x1F8C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 60.324867f, 24, 52, 29, 0x1FFC),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 60.324867f, 24, 52, 29, 0x206C),
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 60.324867f, 24, 52, 29, 0x20DC),
CS_MISC_LIST(1),
CS_MISC(0x000C, 95, 96, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFDF, 0x00000019, 0x00000000, 0xFFFFFFDF, 0x00000019, 0x00000000, 0x00000000, 0x00000000),
CS_END(),
@@ -158,7 +158,7 @@ void DemoKekkai_SpawnParticles(DemoKekkai* this, GlobalContext* globalCtx) {
}
void DemoKekkai_TowerBarrier(DemoKekkai* this, GlobalContext* globalCtx) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[0] != NULL) &&
if ((globalCtx->csCtx.state != CS_STATE_IDLE) && (globalCtx->csCtx.npcActions[0] != NULL) &&
(globalCtx->csCtx.npcActions[0]->action != 1) && (globalCtx->csCtx.npcActions[0]->action == 2)) {
if (!(this->sfxFlag & 1)) {
func_800F3F3C(0xC);
+5 -5
View File
@@ -135,7 +135,7 @@ void func_8098E530(DemoSa* this) {
void func_8098E554(DemoSa* this, GlobalContext* globalCtx) {
u32* something = &D_80990108;
if (globalCtx->csCtx.state == 0) {
if (globalCtx->csCtx.state == CS_STATE_IDLE) {
if (*something != 0) {
if (this->actor.params == 2) {
func_8098E530(this);
@@ -156,7 +156,7 @@ s32 DemoSa_FrameUpdateMatrix(DemoSa* this) {
}
CsCmdActorAction* DemoSa_GetNpcAction(GlobalContext* globalCtx, s32 idx) {
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
return globalCtx->csCtx.npcActions[idx];
}
return NULL;
@@ -259,7 +259,7 @@ void func_8098E960(DemoSa* this, GlobalContext* globalCtx) {
void func_8098E9EC(DemoSa* this, GlobalContext* globalCtx) {
CsCmdActorAction* npcAction;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
npcAction = globalCtx->csCtx.npcActions[4];
if ((npcAction != NULL) && (npcAction->action == 2)) {
this->action = 2;
@@ -279,7 +279,7 @@ void func_8098EA3C(DemoSa* this) {
void func_8098EA68(DemoSa* this, GlobalContext* globalCtx) {
CsCmdActorAction* npcAction;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
npcAction = globalCtx->csCtx.npcActions[4];
if ((npcAction != NULL) && (npcAction->action == 3)) {
Animation_Change(&this->skelAnime, &D_0600DF80, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600DF80),
@@ -300,7 +300,7 @@ void func_8098EB00(DemoSa* this, s32 arg1) {
void func_8098EB6C(DemoSa* this, GlobalContext* globalCtx) {
CsCmdActorAction* npcAction;
if (globalCtx->csCtx.state != 0) {
if (globalCtx->csCtx.state != CS_STATE_IDLE) {
npcAction = globalCtx->csCtx.npcActions[6];
if ((npcAction != NULL) && (npcAction->action == 2)) {
this->action = 6;

Some files were not shown because too many files have changed in this diff Show More