summaryrefslogtreecommitdiff
path: root/src/overlays/ovl_i6/fox_sy.c
diff options
context:
space:
mode:
authorSonic Dreamcaster <alejandro.asenjo88@gmail.com>2025-05-06 10:31:07 -0300
committerSonic Dreamcaster <alejandro.asenjo88@gmail.com>2025-05-06 10:31:07 -0300
commitd02bae05950bedbb973cd35cfdc27636dbee9e74 (patch)
tree5784be7136287b5aaee924f2dab09408f1d789e0 /src/overlays/ovl_i6/fox_sy.c
parent3a21c8c5d6c0d564a417130c07dfef620c0de4bf (diff)
N64 Recorded Cutscene Timings for Corneria, Meteo, Macbeth and Sector Y Bosses
Diffstat (limited to 'src/overlays/ovl_i6/fox_sy.c')
-rw-r--r--src/overlays/ovl_i6/fox_sy.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/overlays/ovl_i6/fox_sy.c b/src/overlays/ovl_i6/fox_sy.c
index dd7b13fa..7eb32b89 100644
--- a/src/overlays/ovl_i6/fox_sy.c
+++ b/src/overlays/ovl_i6/fox_sy.c
@@ -6,6 +6,7 @@
#include "global.h"
#include "assets/ast_sector_y.h"
+#include "fox_record.h"
#define SHOGUN_SHIP (0)
@@ -29,6 +30,19 @@ void SectorY_801A0510(ActorCutscene*, s32);
void SectorY_ActorDebris_Setup(Actor*, f32, f32, f32, f32, f32, f32, s32);
void SectorY_ActorDebris_Spawn(f32, f32, f32, f32, f32, f32, s32);
+// SyRobot destroy cutscene timings recorded from a real N64
+u8 gSyRobotCutsceneRecord[158] = {
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02
+};
+
f32 D_i6_801A8440[3];
void SectorY_80197B30(ActorCutscene* this, s32 timer) {
@@ -475,6 +489,7 @@ void SectorY_80198F5C(SyShogun* this) {
this->vel.y = 0.0f;
this->vel.x = 0.0f;
+ // first and second robot explode
if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) {
this->timer_058 = 100;
gPlayer[0].state = PLAYERSTATE_STANDBY;
@@ -2090,6 +2105,8 @@ void SectorY_LevelComplete(Player* player) {
SyShogun* boss = &gBosses[0];
f32 temp_ft1;
+ UpdateVisPerFrameFromRecording(gSyRobotCutsceneRecord, ARRAY_COUNT(gSyRobotCutsceneRecord));
+
switch (player->csState) {
case 0:
gCsFrameCount = 0;