summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfig02 <fig02srl@gmail.com>2022-08-15 09:39:06 -0400
committerGitHub <noreply@github.com>2022-08-15 09:39:06 -0400
commitfec5cd84aff63ef1872587385c8f49e8c81faa0c (patch)
treec2fe8d7788a49a0586c1adac97695d810f3f8cec /src
parentdda78f9e2c05e0a982731fbc7254fcef68334142 (diff)
Doc shrink_window, rename system to Letterbox (#1341)
* docs * missed some hex * document Gfx_SetupFrame * review
Diffstat (limited to 'src')
-rw-r--r--src/code/db_camera.c6
-rw-r--r--src/code/shrink_window.c91
-rw-r--r--src/code/z_camera.c26
-rw-r--r--src/code/z_camera_data.c2
-rw-r--r--src/code/z_demo.c8
-rw-r--r--src/code/z_game_over.c2
-rw-r--r--src/code/z_kaleido_scope_call.c2
-rw-r--r--src/code/z_kaleido_setup.c4
-rw-r--r--src/code/z_play.c8
-rw-r--r--src/code/z_prenmi.c2
-rw-r--r--src/code/z_rcp.c34
-rw-r--r--src/code/z_sample.c2
-rw-r--r--src/code/z_view.c8
-rw-r--r--src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c2
-rw-r--r--src/overlays/actors/ovl_En_In/z_en_in.c4
-rw-r--r--src/overlays/actors/ovl_En_Zl1/z_en_zl1.c2
-rw-r--r--src/overlays/actors/ovl_En_Zl4/z_en_zl4.c4
-rw-r--r--src/overlays/actors/ovl_Fishing/z_fishing.c2
-rw-r--r--src/overlays/actors/ovl_player_actor/z_player.c2
-rw-r--r--src/overlays/gamestates/ovl_file_choose/z_file_choose.c4
-rw-r--r--src/overlays/gamestates/ovl_opening/z_opening.c2
-rw-r--r--src/overlays/gamestates/ovl_select/z_select.c6
-rw-r--r--src/overlays/gamestates/ovl_title/z_title.c2
23 files changed, 126 insertions, 99 deletions
diff --git a/src/code/db_camera.c b/src/code/db_camera.c
index 1ddb1a97c..3cb5ffa12 100644
--- a/src/code/db_camera.c
+++ b/src/code/db_camera.c
@@ -2135,14 +2135,14 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) {
} else if (CHECK_BTN_ALL(sPlay->state.input[2].press.button, BTN_CLEFT)) {
sDbCamAnim.unk_0A = 0;
Interface_ChangeAlpha(2);
- ShrinkWindow_SetVal(0);
+ Letterbox_SetSizeTarget(0);
D_8016110C = 0;
return 2;
}
if (func_800B91B0(cam, dbCamera) == 0) {
Interface_ChangeAlpha(2);
- ShrinkWindow_SetVal(0);
+ Letterbox_SetSizeTarget(0);
Audio_PlaySfxGeneral(NA_SE_SY_GET_RUPY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
}
@@ -2301,7 +2301,7 @@ s32 DbCamera_UpdateDemoControl(DbCamera* dbCamera, Camera* cam) {
sDbCamAnim.unk_0A = 1;
sDbCamAnim.unk_0C = 0;
Interface_ChangeAlpha(50);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
D_8016110C = 0;
Audio_PlaySfxGeneral(NA_SE_SY_HP_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
diff --git a/src/code/shrink_window.c b/src/code/shrink_window.c
index cc68129e2..8232ee838 100644
--- a/src/code/shrink_window.c
+++ b/src/code/shrink_window.c
@@ -1,79 +1,89 @@
#include "global.h"
-s32 D_8012CED0 = 0;
+typedef enum {
+ /* 0 */ LETTERBOX_STATE_IDLE,
+ /* 1 */ LETTERBOX_STATE_GROWING,
+ /* 2 */ LETTERBOX_STATE_SHRINKING
+} LetterboxState;
-s32 sShrinkWindowVal = 0;
-s32 sShrinkWindowCurrentVal = 0;
+s32 sLetterboxState = LETTERBOX_STATE_IDLE;
-void ShrinkWindow_SetVal(s32 value) {
+s32 sLetterboxSizeTarget = 0;
+s32 sLetterboxSize = 0;
+
+void Letterbox_SetSizeTarget(s32 target) {
if (HREG(80) == 0x13 && HREG(81) == 1) {
- osSyncPrintf("shrink_window_setval(%d)\n", value);
+ osSyncPrintf("shrink_window_setval(%d)\n", target);
}
- sShrinkWindowVal = value;
+
+ sLetterboxSizeTarget = target;
}
-u32 ShrinkWindow_GetVal(void) {
- return sShrinkWindowVal;
+u32 Letterbox_GetSizeTarget(void) {
+ return sLetterboxSizeTarget;
}
-void ShrinkWindow_SetCurrentVal(s32 currentVal) {
+void Letterbox_SetSize(s32 size) {
if (HREG(80) == 0x13 && HREG(81) == 1) {
- osSyncPrintf("shrink_window_setnowval(%d)\n", currentVal);
+ osSyncPrintf("shrink_window_setnowval(%d)\n", size);
}
- sShrinkWindowCurrentVal = currentVal;
+
+ sLetterboxSize = size;
}
-u32 ShrinkWindow_GetCurrentVal(void) {
- return sShrinkWindowCurrentVal;
+u32 Letterbox_GetSize(void) {
+ return sLetterboxSize;
}
-void ShrinkWindow_Init(void) {
+void Letterbox_Init(void) {
if (HREG(80) == 0x13 && HREG(81) == 1) {
osSyncPrintf("shrink_window_init()\n");
}
- D_8012CED0 = 0;
- sShrinkWindowVal = 0;
- sShrinkWindowCurrentVal = 0;
+
+ sLetterboxState = LETTERBOX_STATE_IDLE;
+ sLetterboxSizeTarget = 0;
+ sLetterboxSize = 0;
}
-void ShrinkWindow_Destroy(void) {
+void Letterbox_Destroy(void) {
if (HREG(80) == 0x13 && HREG(81) == 1) {
osSyncPrintf("shrink_window_cleanup()\n");
}
- sShrinkWindowCurrentVal = 0;
+
+ sLetterboxSize = 0;
}
-void ShrinkWindow_Update(s32 updateRate) {
- s32 off;
+void Letterbox_Update(s32 updateRate) {
+ s32 step;
if (updateRate == 3) {
- off = 10;
+ step = 10;
} else {
- off = 30 / updateRate;
+ step = 30 / updateRate;
}
- if (sShrinkWindowCurrentVal < sShrinkWindowVal) {
- if (D_8012CED0 != 1) {
- D_8012CED0 = 1;
+ if (sLetterboxSize < sLetterboxSizeTarget) {
+ if (sLetterboxState != LETTERBOX_STATE_GROWING) {
+ sLetterboxState = LETTERBOX_STATE_GROWING;
}
- if (sShrinkWindowCurrentVal + off < sShrinkWindowVal) {
- sShrinkWindowCurrentVal += off;
+ if (sLetterboxSize + step < sLetterboxSizeTarget) {
+ sLetterboxSize += step;
} else {
- sShrinkWindowCurrentVal = sShrinkWindowVal;
+ sLetterboxSize = sLetterboxSizeTarget;
}
- } else if (sShrinkWindowVal < sShrinkWindowCurrentVal) {
- if (D_8012CED0 != 2) {
- D_8012CED0 = 2;
+ } else if (sLetterboxSizeTarget < sLetterboxSize) {
+ if (sLetterboxState != LETTERBOX_STATE_SHRINKING) {
+ sLetterboxState = LETTERBOX_STATE_SHRINKING;
}
- if (sShrinkWindowVal < sShrinkWindowCurrentVal - off) {
- sShrinkWindowCurrentVal -= off;
+ if (sLetterboxSizeTarget < sLetterboxSize - step) {
+ sLetterboxSize -= step;
} else {
- sShrinkWindowCurrentVal = sShrinkWindowVal;
+ sLetterboxSize = sLetterboxSizeTarget;
}
} else {
- D_8012CED0 = 0;
+ sLetterboxState = LETTERBOX_STATE_IDLE;
}
if (HREG(80) == 0x13) {
@@ -89,9 +99,10 @@ void ShrinkWindow_Update(s32 updateRate) {
HREG(88) = 0;
HREG(89) = 0;
}
- HREG(83) = D_8012CED0;
- HREG(84) = sShrinkWindowCurrentVal;
- HREG(85) = sShrinkWindowVal;
- HREG(86) = off;
+
+ HREG(83) = sLetterboxState;
+ HREG(84) = sLetterboxSize;
+ HREG(85) = sLetterboxSizeTarget;
+ HREG(86) = step;
}
}
diff --git a/src/code/z_camera.c b/src/code/z_camera.c
index 950b67cde..ee0b45eb5 100644
--- a/src/code/z_camera.c
+++ b/src/code/z_camera.c
@@ -749,34 +749,34 @@ s32 Camera_CopyPREGToModeValues(Camera* camera) {
return true;
}
-#define SHRINKWIN_MASK (0xF000)
-#define SHRINKWINVAL_MASK (0x7000)
-#define SHRINKWIN_CURVAL (0x8000)
+#define LETTERBOX_MASK (0xF000)
+#define LETTERBOX_SIZE_MASK (0x7000)
+#define LETTERBOX_INSTANT (0x8000)
#define IFACE_ALPHA_MASK (0x0F00)
void Camera_UpdateInterface(s16 flags) {
s16 interfaceAlpha;
- if ((flags & SHRINKWIN_MASK) != SHRINKWIN_MASK) {
- switch (flags & SHRINKWINVAL_MASK) {
+ if ((flags & LETTERBOX_MASK) != LETTERBOX_MASK) {
+ switch (flags & LETTERBOX_SIZE_MASK) {
case 0x1000:
- sCameraShrinkWindowVal = 0x1A;
+ sCameraLetterboxSize = 26;
break;
case 0x2000:
- sCameraShrinkWindowVal = 0x1B;
+ sCameraLetterboxSize = 27;
break;
case 0x3000:
- sCameraShrinkWindowVal = 0x20;
+ sCameraLetterboxSize = 32;
break;
default:
- sCameraShrinkWindowVal = 0;
+ sCameraLetterboxSize = 0;
break;
}
- if (flags & SHRINKWIN_CURVAL) {
- ShrinkWindow_SetCurrentVal(sCameraShrinkWindowVal);
+ if (flags & LETTERBOX_INSTANT) {
+ Letterbox_SetSize(sCameraLetterboxSize);
} else {
- ShrinkWindow_SetVal(sCameraShrinkWindowVal);
+ Letterbox_SetSizeTarget(sCameraLetterboxSize);
}
}
@@ -6941,7 +6941,7 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, PlayState
camera->xzOffsetUpdateRate = CAM_DATA_SCALED(OREG(2));
camera->yOffsetUpdateRate = CAM_DATA_SCALED(OREG(3));
camera->fovUpdateRate = CAM_DATA_SCALED(OREG(4));
- sCameraShrinkWindowVal = 0x20;
+ sCameraLetterboxSize = 32;
sCameraInterfaceAlpha = 0;
camera->unk_14C = 0;
camera->setting = camera->prevSetting = CAM_SET_FREE0;
diff --git a/src/code/z_camera_data.c b/src/code/z_camera_data.c
index f7bd99549..1bc5b84b5 100644
--- a/src/code/z_camera_data.c
+++ b/src/code/z_camera_data.c
@@ -2227,7 +2227,7 @@ s16 sNextUID = 0;
s32 sCameraInterfaceFlags = 1;
s32 sCameraInterfaceAlpha = 0x02;
-s32 sCameraShrinkWindowVal = 0x20;
+s32 sCameraLetterboxSize = 32;
s32 D_8011D3AC = -1;
s16 D_8011D3B0[] = {
diff --git a/src/code/z_demo.c b/src/code/z_demo.c
index d25bd3ad3..c01ee8408 100644
--- a/src/code/z_demo.c
+++ b/src/code/z_demo.c
@@ -188,7 +188,7 @@ u32 func_8006472C(PlayState* play, CutsceneContext* csCtx, f32 target) {
void func_80064760(PlayState* play, CutsceneContext* csCtx) {
Interface_ChangeAlpha(1);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
if (func_8006472C(play, csCtx, 1.0f)) {
Audio_SetCutsceneFlag(1);
@@ -199,7 +199,7 @@ void func_80064760(PlayState* play, CutsceneContext* csCtx) {
void func_800647C0(PlayState* play, CutsceneContext* csCtx) {
func_80068C3C(play, csCtx);
Interface_ChangeAlpha(1);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
if (func_8006472C(play, csCtx, 1.0f)) {
Audio_SetCutsceneFlag(1);
@@ -2018,8 +2018,8 @@ void func_80068ECC(PlayState* play, CutsceneContext* csCtx) {
if (gSaveContext.cutsceneTrigger == 0) {
Interface_ChangeAlpha(1);
- ShrinkWindow_SetVal(0x20);
- ShrinkWindow_SetCurrentVal(0x20);
+ Letterbox_SetSizeTarget(32);
+ Letterbox_SetSize(32);
csCtx->state++;
}
diff --git a/src/code/z_game_over.c b/src/code/z_game_over.c
index a0551a91e..388b7ec29 100644
--- a/src/code/z_game_over.c
+++ b/src/code/z_game_over.c
@@ -102,7 +102,7 @@ void GameOver_Update(PlayState* play) {
gameOverCtx->state++;
gGameOverTimer = 0;
Environment_InitGameOverLights(play);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
return;
case GAMEOVER_REVIVE_RUMBLE:
diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c
index cb2fcf3d8..fc01930fc 100644
--- a/src/code/z_kaleido_scope_call.c
+++ b/src/code/z_kaleido_scope_call.c
@@ -58,7 +58,7 @@ void KaleidoScopeCall_Update(PlayState* play) {
if ((pauseCtx->state != 0) || (pauseCtx->debugState != 0)) {
if (pauseCtx->state == 1) {
- if (ShrinkWindow_GetCurrentVal() == 0) {
+ if (Letterbox_GetSize() == 0) {
HREG(80) = 7;
HREG(82) = 3;
R_PAUSE_MENU_MODE = 1;
diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c
index 2becd626f..242106db1 100644
--- a/src/code/z_kaleido_setup.c
+++ b/src/code/z_kaleido_setup.c
@@ -53,8 +53,8 @@ void KaleidoSetup_Update(PlayState* play) {
WREG(2) = -6240;
R_UPDATE_RATE = 2;
- if (ShrinkWindow_GetVal()) {
- ShrinkWindow_SetVal(0);
+ if (Letterbox_GetSizeTarget() != 0) {
+ Letterbox_SetSizeTarget(0);
}
func_800F64E0(1);
diff --git a/src/code/z_play.c b/src/code/z_play.c
index b0bce1622..cda37e5b8 100644
--- a/src/code/z_play.c
+++ b/src/code/z_play.c
@@ -196,7 +196,7 @@ void Play_Destroy(GameState* thisx) {
this->transitionMode = TRANS_MODE_OFF;
}
- ShrinkWindow_Destroy();
+ Letterbox_Destroy();
TransitionFade_Destroy(&this->transitionFade);
VisMono_Destroy(&D_80161498);
@@ -383,7 +383,7 @@ void Play_Init(GameState* thisx) {
this->transitionType = TRANS_TYPE_FADE_BLACK_SLOW;
}
- ShrinkWindow_Init();
+ Letterbox_Init();
TransitionFade_Init(&this->transitionFade);
TransitionFade_SetType(&this->transitionFade, 3);
TransitionFade_SetColor(&this->transitionFade, RGBA8(160, 160, 160, 255));
@@ -962,7 +962,7 @@ void Play_Update(PlayState* this) {
SfxSource_UpdateAll(this);
PLAY_LOG(3777);
- ShrinkWindow_Update(R_UPDATE_RATE);
+ Letterbox_Update(R_UPDATE_RATE);
PLAY_LOG(3783);
TransitionFade_Update(&this->transitionFade, R_UPDATE_RATE);
@@ -1044,7 +1044,7 @@ void Play_Draw(PlayState* this) {
gSPSegment(POLY_XLU_DISP++, 0x02, this->sceneSegment);
gSPSegment(OVERLAY_DISP++, 0x02, this->sceneSegment);
- func_80095248(gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(gfxCtx, 0, 0, 0);
if ((HREG(80) != 10) || (HREG(82) != 0)) {
POLY_OPA_DISP = Play_SetFog(this, POLY_OPA_DISP);
diff --git a/src/code/z_prenmi.c b/src/code/z_prenmi.c
index 1c7869ffa..82c72a944 100644
--- a/src/code/z_prenmi.c
+++ b/src/code/z_prenmi.c
@@ -33,7 +33,7 @@ void PreNMI_Draw(PreNMIState* this) {
OPEN_DISPS(gfxCtx, "../z_prenmi.c", 96);
gSPSegment(POLY_OPA_DISP++, 0x00, NULL);
- func_80095248(gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(gfxCtx, 0, 0, 0);
Gfx_SetupDL_36Opa(gfxCtx);
gDPSetFillColor(POLY_OPA_DISP++, (GPACK_RGBA5551(255, 255, 255, 1) << 16) | GPACK_RGBA5551(255, 255, 255, 1));
gDPFillRectangle(POLY_OPA_DISP++, 0, this->timer + 100, SCREEN_WIDTH - 1, this->timer + 100);
diff --git a/src/code/z_rcp.c b/src/code/z_rcp.c
index cac3ee7dd..0c6105649 100644
--- a/src/code/z_rcp.c
+++ b/src/code/z_rcp.c
@@ -1438,28 +1438,39 @@ Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a) {
return displayList;
}
-void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
+/**
+ * Sets up the frame for drawing.
+ * Initializes the scissor region to full screen.
+ * Set up the framebuffer and z-buffer.
+ * The whole screen is filled with the color supplied as arguments.
+ * Letterbox is also applied here, and will share the color of the screen base.
+ */
+void Gfx_SetupFrame(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
OPEN_DISPS(gfxCtx, "../z_rcp.c", 2386);
+ // Set up the RDP render state for rectangles in FILL mode
gSPDisplayList(POLY_OPA_DISP++, sFillSetupDL);
gSPDisplayList(POLY_XLU_DISP++, sFillSetupDL);
gSPDisplayList(OVERLAY_DISP++, sFillSetupDL);
+ // Set the scissor region to the full screen
gDPSetScissor(POLY_OPA_DISP++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth, gScreenHeight);
gDPSetScissor(POLY_XLU_DISP++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth, gScreenHeight);
gDPSetScissor(OVERLAY_DISP++, G_SC_NON_INTERLACE, 0, 0, gScreenWidth, gScreenHeight);
+ // Set up the framebuffer, primitives will be drawn here
gDPSetColorImage(POLY_OPA_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetColorImage(POLY_OPA_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetColorImage(POLY_XLU_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetColorImage(OVERLAY_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
+ // Set up the z-buffer
gDPSetDepthImage(POLY_OPA_DISP++, gZBuffer);
gDPSetDepthImage(POLY_XLU_DISP++, gZBuffer);
gDPSetDepthImage(OVERLAY_DISP++, gZBuffer);
if ((R_PAUSE_MENU_MODE < 2) && (gTrnsnUnkState < 2)) {
- s32 ret = ShrinkWindow_GetCurrentVal();
+ s32 letterboxSize = Letterbox_GetSize();
if (HREG(80) == 16) {
if (HREG(95) != 16) {
@@ -1481,7 +1492,7 @@ void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
}
if (HREG(81) & 1) {
- HREG(83) = ret;
+ HREG(83) = letterboxSize;
}
if (HREG(81) & 2) {
@@ -1491,7 +1502,7 @@ void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
}
if (HREG(82) & 1) {
- ret = HREG(83);
+ letterboxSize = HREG(83);
}
if (HREG(82) & 2) {
@@ -1501,27 +1512,32 @@ void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
}
}
+ // Set the whole z buffer to maximum depth
+ // Don't bother with pixels that are being covered by the letterbox
gDPSetColorImage(POLY_OPA_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gZBuffer);
gDPSetCycleType(POLY_OPA_DISP++, G_CYC_FILL);
gDPSetRenderMode(POLY_OPA_DISP++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(POLY_OPA_DISP++, (GPACK_ZDZ(G_MAXFBZ, 0) << 16) | GPACK_ZDZ(G_MAXFBZ, 0));
- gDPFillRectangle(POLY_OPA_DISP++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
+ gDPFillRectangle(POLY_OPA_DISP++, 0, letterboxSize, gScreenWidth - 1, gScreenHeight - letterboxSize - 1);
gDPPipeSync(POLY_OPA_DISP++);
+ // Fill the whole screen with the base color
+ // Don't bother with pixels that are being covered by the letterbox
gDPSetColorImage(POLY_OPA_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gfxCtx->curFrameBuffer);
gDPSetCycleType(POLY_OPA_DISP++, G_CYC_FILL);
gDPSetRenderMode(POLY_OPA_DISP++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(POLY_OPA_DISP++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1));
- gDPFillRectangle(POLY_OPA_DISP++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
+ gDPFillRectangle(POLY_OPA_DISP++, 0, letterboxSize, gScreenWidth - 1, gScreenHeight - letterboxSize - 1);
gDPPipeSync(POLY_OPA_DISP++);
- if (ret > 0) {
+ // Draw the letterbox if applicable (uses the same color as the screen base)
+ if (letterboxSize > 0) {
gDPPipeSync(OVERLAY_DISP++);
gDPSetCycleType(OVERLAY_DISP++, G_CYC_FILL);
gDPSetRenderMode(OVERLAY_DISP++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(OVERLAY_DISP++, (GPACK_RGBA5551(r, g, b, 1) << 16) | GPACK_RGBA5551(r, g, b, 1));
- gDPFillRectangle(OVERLAY_DISP++, 0, 0, gScreenWidth - 1, ret - 1);
- gDPFillRectangle(OVERLAY_DISP++, 0, gScreenHeight - ret, gScreenWidth - 1, gScreenHeight - 1);
+ gDPFillRectangle(OVERLAY_DISP++, 0, 0, gScreenWidth - 1, letterboxSize - 1);
+ gDPFillRectangle(OVERLAY_DISP++, 0, gScreenHeight - letterboxSize, gScreenWidth - 1, gScreenHeight - 1);
gDPPipeSync(OVERLAY_DISP++);
}
}
diff --git a/src/code/z_sample.c b/src/code/z_sample.c
index e0863c96e..d316652cb 100644
--- a/src/code/z_sample.c
+++ b/src/code/z_sample.c
@@ -16,7 +16,7 @@ void Sample_Draw(SampleState* this) {
gSPSegment(POLY_OPA_DISP++, 0x00, NULL);
gSPSegment(POLY_OPA_DISP++, 0x01, this->staticSegment);
- func_80095248(gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(gfxCtx, 0, 0, 0);
view->flags = VIEW_VIEWING | VIEW_VIEWPORT | VIEW_PROJECTION_PERSPECTIVE;
View_Apply(view, VIEW_ALL);
diff --git a/src/code/z_view.c b/src/code/z_view.c
index 0a847ef49..96c7b79d1 100644
--- a/src/code/z_view.c
+++ b/src/code/z_view.c
@@ -135,7 +135,7 @@ void View_GetViewport(View* view, Viewport* viewport) {
*viewport = view->viewport;
}
-void View_ApplyShrinkWindow(View* view) {
+void View_ApplyLetterbox(View* view) {
s32 varY;
s32 varX;
s32 pad;
@@ -145,7 +145,7 @@ void View_ApplyShrinkWindow(View* view) {
s32 lry;
GraphicsContext* gfxCtx = view->gfxCtx;
- varY = ShrinkWindow_GetCurrentVal();
+ varY = Letterbox_GetSize();
varX = -1; // The following is optimized to varX = 0 but affects codegen
@@ -296,7 +296,7 @@ s32 View_ApplyPerspective(View* view) {
View_ViewportToVp(vp, &view->viewport);
view->vp = *vp;
- View_ApplyShrinkWindow(view);
+ View_ApplyLetterbox(view);
gSPViewport(POLY_OPA_DISP++, vp);
gSPViewport(POLY_XLU_DISP++, vp);
@@ -398,7 +398,7 @@ s32 View_ApplyOrtho(View* view) {
View_ViewportToVp(vp, &view->viewport);
view->vp = *vp;
- View_ApplyShrinkWindow(view);
+ View_ApplyLetterbox(view);
gSPViewport(POLY_OPA_DISP++, vp);
gSPViewport(POLY_XLU_DISP++, vp);
diff --git a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c
index 948e2649b..bd26c167f 100644
--- a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c
+++ b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c
@@ -790,7 +790,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
tent_shake:
case MO_TENT_SHAKE:
if (this->timers[0] == 138) {
- ShrinkWindow_SetVal(0);
+ Letterbox_SetSizeTarget(0);
Interface_ChangeAlpha(0xB);
}
if ((this->timers[0] % 8) == 0) {
diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c
index 80d28c412..bb2ea36f3 100644
--- a/src/overlays/actors/ovl_En_In/z_en_in.c
+++ b/src/overlays/actors/ovl_En_In/z_en_in.c
@@ -470,7 +470,7 @@ void func_80A79C78(EnIn* this, PlayState* play) {
}
player->actor.freezeTimer = 10;
this->actor.flags &= ~ACTOR_FLAG_0;
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
Interface_ChangeAlpha(2);
}
@@ -791,7 +791,7 @@ void func_80A7AA40(EnIn* this, PlayState* play) {
this->unk_308.unk_00 = 1;
this->unk_1FC = 0;
play->csCtx.frames = 0;
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
Interface_ChangeAlpha(2);
this->actionFunc = func_80A7ABD4;
}
diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
index f29133b31..f27c48a46 100644
--- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
+++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
@@ -180,7 +180,7 @@ void func_80B4B010(EnZl1* this, PlayState* play) {
play->envCtx.fillScreen = true;
Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye);
Play_CameraSetFov(play, this->subCamId, 30.0f);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
Interface_ChangeAlpha(2);
player->actor.world.pos = playerPos;
player->actor.speedXZ = 0.0f;
diff --git a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
index 886e5c242..4e118e2ac 100644
--- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
+++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
@@ -329,7 +329,7 @@ s32 EnZl4_SetupFromLegendCs(EnZl4* this, PlayState* play) {
player->linearVelocity = playerx->speedXZ = 0.0f;
EnZl4_SetActiveCamMove(play, 5);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
Interface_ChangeAlpha(2);
this->talkTimer2 = 0;
return true;
@@ -1151,7 +1151,7 @@ void EnZl4_Cutscene(EnZl4* this, PlayState* play) {
Audio_PlayFanfare(NA_BGM_APPEAR);
EnZl4_SetActiveCamDir(play, 0);
Interface_ChangeAlpha(2);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
this->talkState = 0;
this->csState++;
break;
diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c
index e91e607d0..a1bd4e0b7 100644
--- a/src/overlays/actors/ovl_Fishing/z_fishing.c
+++ b/src/overlays/actors/ovl_Fishing/z_fishing.c
@@ -5246,7 +5246,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
}
case 2:
- ShrinkWindow_SetVal(0x1B);
+ Letterbox_SetSizeTarget(27);
spFC.x = sLurePos.x - player->actor.world.pos.x;
spFC.z = sLurePos.z - player->actor.world.pos.z;
diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c
index d2f3f7f14..d4b17efa6 100644
--- a/src/overlays/actors/ovl_player_actor/z_player.c
+++ b/src/overlays/actors/ovl_player_actor/z_player.c
@@ -2972,7 +2972,7 @@ void func_80836448(PlayState* play, Player* this, LinkAnimationHeader* anim) {
}
OnePointCutscene_Init(play, 9806, cond ? 120 : 60, &this->actor, CAM_ID_MAIN);
- ShrinkWindow_SetVal(0x20);
+ Letterbox_SetSizeTarget(32);
}
}
diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
index 58bd49fb9..b5c6636f9 100644
--- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
+++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c
@@ -1606,7 +1606,7 @@ void FileSelect_Main(GameState* thisx) {
gSPSegment(POLY_OPA_DISP++, 0x01, this->staticSegment);
gSPSegment(POLY_OPA_DISP++, 0x02, this->parameterSegment);
- func_80095248(this->state.gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(this->state.gfxCtx, 0, 0, 0);
this->stickRelX = input->rel.stick_x;
this->stickRelY = input->rel.stick_y;
@@ -1825,7 +1825,7 @@ void FileSelect_InitContext(GameState* thisx) {
this->unk_1CAD6[3] = 8;
this->unk_1CAD6[4] = 10;
- ShrinkWindow_SetVal(0);
+ Letterbox_SetSizeTarget(0);
gSaveContext.skyboxTime = CLOCK_TIME(0, 0);
gSaveContext.dayTime = CLOCK_TIME(0, 0);
diff --git a/src/overlays/gamestates/ovl_opening/z_opening.c b/src/overlays/gamestates/ovl_opening/z_opening.c
index 93bd1fe4e..e0d91871b 100644
--- a/src/overlays/gamestates/ovl_opening/z_opening.c
+++ b/src/overlays/gamestates/ovl_opening/z_opening.c
@@ -22,7 +22,7 @@ void func_80803C5C(TitleSetupState* this) {
void TitleSetup_Main(GameState* thisx) {
TitleSetupState* this = (TitleSetupState*)thisx;
- func_80095248(this->state.gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(this->state.gfxCtx, 0, 0, 0);
TitleSetup_SetupTitleScreen(this);
func_80803C5C(this);
}
diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c
index f34d0075f..7fa97d93d 100644
--- a/src/overlays/gamestates/ovl_select/z_select.c
+++ b/src/overlays/gamestates/ovl_select/z_select.c
@@ -650,7 +650,7 @@ void MapSelect_DrawMenu(MapSelectState* this) {
OPEN_DISPS(gfxCtx, "../z_select.c", 930);
gSPSegment(POLY_OPA_DISP++, 0x00, NULL);
- func_80095248(gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(gfxCtx, 0, 0, 0);
SET_FULLSCREEN_VIEWPORT(&this->view);
View_Apply(&this->view, VIEW_ALL);
Gfx_SetupDL_28Opa(gfxCtx);
@@ -674,7 +674,7 @@ void MapSelect_DrawLoadingScreen(MapSelectState* this) {
OPEN_DISPS(gfxCtx, "../z_select.c", 977);
gSPSegment(POLY_OPA_DISP++, 0x00, NULL);
- func_80095248(gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(gfxCtx, 0, 0, 0);
SET_FULLSCREEN_VIEWPORT(&this->view);
View_Apply(&this->view, VIEW_ALL);
Gfx_SetupDL_28Opa(gfxCtx);
@@ -695,7 +695,7 @@ void MapSelect_Draw(MapSelectState* this) {
OPEN_DISPS(gfxCtx, "../z_select.c", 1013);
gSPSegment(POLY_OPA_DISP++, 0x00, NULL);
- func_80095248(gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(gfxCtx, 0, 0, 0);
SET_FULLSCREEN_VIEWPORT(&this->view);
View_Apply(&this->view, VIEW_ALL);
diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c
index 8b1c0e006..43ff1281d 100644
--- a/src/overlays/gamestates/ovl_title/z_title.c
+++ b/src/overlays/gamestates/ovl_title/z_title.c
@@ -124,7 +124,7 @@ void ConsoleLogo_Main(GameState* thisx) {
gSPSegment(POLY_OPA_DISP++, 0, NULL);
gSPSegment(POLY_OPA_DISP++, 1, this->staticSegment);
- func_80095248(this->state.gfxCtx, 0, 0, 0);
+ Gfx_SetupFrame(this->state.gfxCtx, 0, 0, 0);
ConsoleLogo_Calc(this);
ConsoleLogo_Draw(this);