summaryrefslogtreecommitdiff
path: root/src/overlays/ovl_menu/fox_title.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/overlays/ovl_menu/fox_title.c')
-rw-r--r--src/overlays/ovl_menu/fox_title.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/overlays/ovl_menu/fox_title.c b/src/overlays/ovl_menu/fox_title.c
index 216263fe..5b879175 100644
--- a/src/overlays/ovl_menu/fox_title.c
+++ b/src/overlays/ovl_menu/fox_title.c
@@ -273,7 +273,23 @@ void Title_UpdateEntry(void) {
Title_NextState_Check();
}
+static bool sSkipInterpolation = false;
+
void Title_Draw(void) {
+ static s32 camSkipTimes;
+
+ if (sSkipInterpolation) {
+ // @port Skip interpolation
+ FrameInterpolation_ShouldInterpolateFrame(false);
+ printf("CAMERA 1 SKIPED: %d\n", camSkipTimes++);
+ gCamera1Skipped = true;
+ sSkipInterpolation = false;
+ } else {
+ FrameInterpolation_RecordOpenChild("TitleCam", 0);
+ FrameInterpolation_RecordMarker(__FILE__, __LINE__);
+ gCamera1Skipped = false;
+ }
+
switch (sCutsceneState) {
case TITLE_RANKING:
Title_Ranking_Draw();
@@ -353,6 +369,14 @@ void Title_Draw(void) {
gFillScreenBlue = 0;
Wipe_Draw(WIPE_VERTICAL, sWipeHeight);
}
+
+ if (sSkipInterpolation) {
+ // @port Re-enable Interpolation if it was skipped
+ FrameInterpolation_ShouldInterpolateFrame(true);
+ } else {
+ FrameInterpolation_RecordCloseChild();
+ }
+
#if 0
// @decomp Debug:
RCP_SetupDL(&gMasterDisp, SETUPDL_83);
@@ -1793,6 +1817,7 @@ void Title_CsTakeOff_Update(void) {
gAmbientB = 46;
sSceneState++;
+ sSkipInterpolation = true;
}
sTimer3++;
break;
@@ -1893,6 +1918,7 @@ void Title_CsTakeOff_Update(void) {
Audio_SetEnvSfxReverb(0);
sSceneState = 0;
sCutsceneState = 5; // TITLE_TAKE_OFF_SPACE
+ sSkipInterpolation = true;
}
sTimer3++;
}