summaryrefslogtreecommitdiff
path: root/src/engine/fox_demo.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/engine/fox_demo.c
parent3a21c8c5d6c0d564a417130c07dfef620c0de4bf (diff)
N64 Recorded Cutscene Timings for Corneria, Meteo, Macbeth and Sector Y Bosses
Diffstat (limited to 'src/engine/fox_demo.c')
-rw-r--r--src/engine/fox_demo.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/engine/fox_demo.c b/src/engine/fox_demo.c
index 40506dbb..c3315a63 100644
--- a/src/engine/fox_demo.c
+++ b/src/engine/fox_demo.c
@@ -19,6 +19,28 @@
#include "assets/ast_katina.h"
#include "assets/ast_allies.h"
#include "port/hooks/Events.h"
+#include "fox_co.h"
+#include "fox_record.h"
+
+void UpdateVisPerFrameFromRecording(u8* record, s32 maxFrames) {
+ if (gCsFrameCount < maxFrames) {
+ gVIsPerFrame = record[gCsFrameCount];
+ }
+}
+
+void UpdateVisPerFrameFromRecording2(Record* record, s32 maxFrames) {
+ int i;
+
+ if (gCsFrameCount > record[maxFrames - 1].frame) {
+ return;
+ }
+
+ for (i = 0; i < maxFrames; i++) {
+ if (gCsFrameCount == record[i].frame) {
+ gVIsPerFrame = record[i].vis;
+ }
+ }
+}
void func_demo_80048AC0(TeamId teamId) {
s32 teamShield;
@@ -925,6 +947,8 @@ void Cutscene_CoComplete2(Player* player) {
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 5.0f, 0.01f);
+ UpdateVisPerFrameFromRecording(gCarrierCutsceneRecord, ARRAY_COUNT(gCarrierCutsceneRecord));
+
switch (player->csState) {
case 10:
D_ctx_80177A48[2] = 0.0f;