N64 Recorded Cutscene Timings for Corneria, Meteo, Macbeth and Sector Y Bosses

This commit is contained in:
Sonic Dreamcaster
2025-05-06 10:31:07 -03:00
parent 3a21c8c5d6
commit d02bae0595
8 changed files with 170 additions and 12 deletions
+24
View File
@@ -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;
+13 -2
View File
@@ -148,7 +148,8 @@ void Display_DrawHelpAlert(void) {
RCP_SetupDL(&gMasterDisp, SETUPDL_76_OPTIONAL);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
if (sp78 < 0.0f) {
Graphics_DisplaySmallText(OTRGetRectDimensionFromLeftEdgeOverride(38.0f), 106, 1.0f, 1.0f, "HELP!!");
Graphics_DisplaySmallText(OTRGetRectDimensionFromLeftEdgeOverride(38.0f), 106, 1.0f, 1.0f,
"HELP!!");
} else {
Graphics_DisplaySmallText(OTRGetRectDimensionFromRightEdgeOverride(248), 106, 1.0f, 1.0f, "HELP!!");
}
@@ -1138,7 +1139,7 @@ void Display_ArwingLaserCharge(Player* player) {
// @port: Tag the transform.
FrameInterpolation_RecordOpenChild("ArwingMuzzleFlash", 0);
Matrix_Translate(gGfxMatrix, sp94.x, sp94.y, sp94.z, MTXF_NEW);
Matrix_Scale(gGfxMatrix, gMuzzleFlashScale[player->num], gMuzzleFlashScale[player->num], 1.0f,
MTXF_APPLY);
@@ -2049,6 +2050,16 @@ void Display_Update(void) {
if (gInputPress->stick_y < 0) Graphics_DisplaySmallText(110, 220, 1.0f, 1.0f, "NEG:");
#endif
// For debugging cutscene timings
#if 0
RCP_SetupDL(&gMasterDisp, SETUPDL_83);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
Graphics_DisplaySmallText(10 + 210, 190, 1.0f, 1.0f, "CSFMS:");
Graphics_DisplaySmallNumber(60 + 210, 190, (int) gCsFrameCount);
Graphics_DisplaySmallText(10 + 210, 200, 1.0f, 1.0f, "PLTIM:");
Graphics_DisplaySmallNumber(60 + 210, 200, (int) gPlayer->csTimer);
#endif
// @port: @event: Call DisplayPostUpdateEvent
CALL_EVENT(DisplayPostUpdateEvent);
}