summaryrefslogtreecommitdiff
path: root/src/engine/fox_demo.c
diff options
context:
space:
mode:
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;