Fixed some widescreen issues including clearing framebuffer

This commit is contained in:
KiritoDv
2026-01-11 19:37:21 -06:00
parent 1af883db1f
commit f0ecd0eb05
2 changed files with 13 additions and 5 deletions
+8
View File
@@ -357,6 +357,14 @@ void select_gfx_pool(void) {
gGfxSPTask = &gGfxPool->spTask;
gDisplayListHead = gGfxPool->buffer;
gGfxPoolEnd = (u8 *) (gGfxPool->buffer + GFX_POOL_SIZE);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCycleType(gDisplayListHead++, G_CYC_FILL);
gDPSetFillColor(gDisplayListHead++, 0x0001);
gDPFillWideRectangle(gDisplayListHead++,
GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), BORDER_HEIGHT,
GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, SCREEN_HEIGHT - BORDER_HEIGHT - 1);
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE);
}
/**
+5 -5
View File
@@ -527,7 +527,7 @@ void print_hud_lut_string(s8 hudLUT, s16 x, s16 y, const u8 *str) {
}
gSPDisplayList(gDisplayListHead++, dl_rgba16_load_tex_block);
gSPTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 16) << 2,
gSPWideTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 16) << 2,
(curY + 16) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
curX += xStride;
@@ -545,7 +545,7 @@ void print_hud_lut_string(s8 hudLUT, s16 x, s16 y, const u8 *str) {
}
gSPDisplayList(gDisplayListHead++, dl_rgba16_load_tex_block);
gSPTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 16) << 2,
gSPWideTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 16) << 2,
(curY + 16) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
curX += xStride;
@@ -607,7 +607,7 @@ void print_menu_generic_string(s16 x, s16 y, const u8 *str) {
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_8b, 1, fontLUT[str[strPos]]);
gDPLoadSync(gDisplayListHead++);
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_8b_BYTES));
gSPTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 8) << 2,
gSPWideTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 8) << 2,
(curY + 8) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
#ifndef VERSION_EU
@@ -615,7 +615,7 @@ void print_menu_generic_string(s16 x, s16 y, const u8 *str) {
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_IA, G_IM_SIZ_8b, 1, fontLUT[DIALOG_CHAR_MARK_START + mark]);
gDPLoadSync(gDisplayListHead++);
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_8b_BYTES));
gSPTextureRectangle(gDisplayListHead++, (curX + 6) << 2, (curY - 7) << 2,
gSPWideTextureRectangle(gDisplayListHead++, (curX + 6) << 2, (curY - 7) << 2,
(curX + 6 + 8) << 2, (curY - 7 + 8) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
mark = DIALOG_MARK_NONE;
@@ -651,7 +651,7 @@ void print_credits_string(s16 x, s16 y, const u8 *str) {
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, fontLUT[str[strPos]]);
gDPLoadSync(gDisplayListHead++);
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_16b_BYTES));
gSPTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 8) << 2,
gSPWideTextureRectangle(gDisplayListHead++, curX << 2, curY << 2, (curX + 8) << 2,
(curY + 8) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
curX += 7;
break;