gDisplayListHead++ -> MASTERDL

This commit is contained in:
a
2025-07-04 15:11:00 -04:00
parent 363c64acc4
commit 147c92fd0e
12 changed files with 437 additions and 436 deletions

View File

@@ -370,18 +370,18 @@ void render_game(void) {
if (gCurrentArea != NULL && !gWarpTransition.pauseRendering) { if (gCurrentArea != NULL && !gWarpTransition.pauseRendering) {
geo_process_root(gCurrentArea->unk04, D_8032CE74, D_8032CE78, gFBSetColor); geo_process_root(gCurrentArea->unk04, D_8032CE74, D_8032CE78, gFBSetColor);
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_8032CF00)); gSPViewport(MASTERDL, VIRTUAL_TO_PHYSICAL(&D_8032CF00));
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH, gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT); SCREEN_HEIGHT - BORDER_HEIGHT);
render_hud(); render_hud();
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
render_text_labels(); render_text_labels();
do_cutscene_handler(); do_cutscene_handler();
print_displaying_credits_entry(); print_displaying_credits_entry();
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH, gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT); SCREEN_HEIGHT - BORDER_HEIGHT);
gMenuOptSelectIndex = render_menus_and_dialogs(); gMenuOptSelectIndex = render_menus_and_dialogs();
if (gMenuOptSelectIndex != MENU_OPT_NONE) { if (gMenuOptSelectIndex != MENU_OPT_NONE) {
@@ -391,7 +391,7 @@ void render_game(void) {
if (D_8032CE78 != NULL) { if (D_8032CE78 != NULL) {
make_viewport_clip_rect(D_8032CE78); make_viewport_clip_rect(D_8032CE78);
} else { } else {
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH, gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT); SCREEN_HEIGHT - BORDER_HEIGHT);
} }

View File

@@ -85,47 +85,47 @@ struct DemoInput gRecordedDemoInput = { 0 };
* Sets the initial RDP (Reality Display Processor) rendering settings. * Sets the initial RDP (Reality Display Processor) rendering settings.
*/ */
void init_rdp(void) { void init_rdp(void) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPPipelineMode(gDisplayListHead++, G_PM_1PRIMITIVE); gDPPipelineMode(MASTERDL, G_PM_1PRIMITIVE);
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); gDPSetCombineMode(MASTERDL, G_CC_SHADE, G_CC_SHADE);
gDPSetTextureLOD(gDisplayListHead++, G_TL_TILE); gDPSetTextureLOD(MASTERDL, G_TL_TILE);
gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gDPSetTextureLUT(MASTERDL, G_TT_NONE);
gDPSetTextureDetail(gDisplayListHead++, G_TD_CLAMP); gDPSetTextureDetail(MASTERDL, G_TD_CLAMP);
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP); gDPSetTexturePersp(MASTERDL, G_TP_PERSP);
gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP); gDPSetTextureFilter(MASTERDL, G_TF_BILERP);
gDPSetTextureConvert(gDisplayListHead++, G_TC_FILT); gDPSetTextureConvert(MASTERDL, G_TC_FILT);
gDPSetCombineKey(gDisplayListHead++, G_CK_NONE); gDPSetCombineKey(MASTERDL, G_CK_NONE);
gDPSetAlphaCompare(gDisplayListHead++, G_AC_NONE); gDPSetAlphaCompare(MASTERDL, G_AC_NONE);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); gDPSetRenderMode(MASTERDL, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetColorDither(gDisplayListHead++, G_CD_MAGICSQ); gDPSetColorDither(MASTERDL, G_CD_MAGICSQ);
gDPSetCycleType(gDisplayListHead++, G_CYC_FILL); gDPSetCycleType(MASTERDL, G_CYC_FILL);
#if defined(VERSION_SH) || defined(VERSION_CN) #if defined(VERSION_SH) || defined(VERSION_CN)
gDPSetAlphaDither(gDisplayListHead++, G_AD_PATTERN); gDPSetAlphaDither(MASTERDL, G_AD_PATTERN);
#endif #endif
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
} }
/** /**
* Sets the initial RSP (Reality Signal Processor) settings. * Sets the initial RSP (Reality Signal Processor) settings.
*/ */
void init_rsp(void) { void init_rsp(void) {
gSPClearGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CULL_BOTH | G_FOG gSPClearGeometryMode(MASTERDL, G_SHADE | G_SHADING_SMOOTH | G_CULL_BOTH | G_FOG
| G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD); | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD);
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CULL_BACK | G_LIGHTING); gSPSetGeometryMode(MASTERDL, G_SHADE | G_SHADING_SMOOTH | G_CULL_BACK | G_LIGHTING);
gSPNumLights(gDisplayListHead++, NUMLIGHTS_1); gSPNumLights(MASTERDL, NUMLIGHTS_1);
gSPTexture(gDisplayListHead++, 0, 0, 0, G_TX_RENDERTILE, G_OFF); gSPTexture(MASTERDL, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
// @bug Failing to set the clip ratio will result in warped triangles in F3DEX2 // @bug Failing to set the clip ratio will result in warped triangles in F3DEX2
// without this change: https://jrra.zone/n64/doc/n64man/gsp/gSPClipRatio.htm // without this change: https://jrra.zone/n64/doc/n64man/gsp/gSPClipRatio.htm
#ifdef F3DEX_GBI_2 #ifdef F3DEX_GBI_2
gSPClipRatio(gDisplayListHead++, FRUSTRATIO_1); gSPClipRatio(MASTERDL, FRUSTRATIO_1);
#endif #endif
} }
@@ -133,16 +133,16 @@ void init_rsp(void) {
* Initialize the z buffer for the current frame. * Initialize the z buffer for the current frame.
*/ */
void init_z_buffer(void) { void init_z_buffer(void) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetDepthSource(gDisplayListHead++, G_ZS_PIXEL); gDPSetDepthSource(MASTERDL, G_ZS_PIXEL);
gDPSetDepthImage(gDisplayListHead++, gPhysicalZBuffer); gDPSetDepthImage(MASTERDL, gPhysicalZBuffer);
gDPSetColorImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gPhysicalZBuffer); gDPSetColorImage(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gPhysicalZBuffer);
gDPSetFillColor(gDisplayListHead++, gDPSetFillColor(MASTERDL,
GPACK_ZDZ(G_MAXFBZ, 0) << 16 | GPACK_ZDZ(G_MAXFBZ, 0)); GPACK_ZDZ(G_MAXFBZ, 0) << 16 | GPACK_ZDZ(G_MAXFBZ, 0));
gDPFillRectangle(gDisplayListHead++, 0, BORDER_HEIGHT, SCREEN_WIDTH - 1, gDPFillRectangle(MASTERDL, 0, BORDER_HEIGHT, SCREEN_WIDTH - 1,
SCREEN_HEIGHT - 1 - BORDER_HEIGHT); SCREEN_HEIGHT - 1 - BORDER_HEIGHT);
} }
@@ -150,12 +150,12 @@ void init_z_buffer(void) {
* Tells the RDP which of the three framebuffers it shall draw to. * Tells the RDP which of the three framebuffers it shall draw to.
*/ */
void select_framebuffer(void) { void select_framebuffer(void) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); gDPSetCycleType(MASTERDL, G_CYC_1CYCLE);
gDPSetColorImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, gDPSetColorImage(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
gPhysicalFramebuffers[sRenderingFramebuffer]); gPhysicalFramebuffers[sRenderingFramebuffer]);
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH, gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT); SCREEN_HEIGHT - BORDER_HEIGHT);
} }
@@ -164,19 +164,19 @@ void select_framebuffer(void) {
* Information about the color argument: https://jrra.zone/n64/doc/n64man/gdp/gDPSetFillColor.htm * Information about the color argument: https://jrra.zone/n64/doc/n64man/gdp/gDPSetFillColor.htm
*/ */
void clear_framebuffer(s32 color) { void clear_framebuffer(s32 color) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); gDPSetRenderMode(MASTERDL, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCycleType(gDisplayListHead++, G_CYC_FILL); gDPSetCycleType(MASTERDL, G_CYC_FILL);
gDPSetFillColor(gDisplayListHead++, color); gDPSetFillColor(MASTERDL, color);
gDPFillRectangle(gDisplayListHead++, gDPFillRectangle(MASTERDL,
GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), BORDER_HEIGHT, GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), BORDER_HEIGHT,
GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, SCREEN_HEIGHT - BORDER_HEIGHT - 1); GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, SCREEN_HEIGHT - BORDER_HEIGHT - 1);
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); gDPSetCycleType(MASTERDL, G_CYC_1CYCLE);
} }
/** /**
@@ -193,35 +193,35 @@ void clear_viewport(Vp *viewport, s32 color) {
vpLrx = GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(SCREEN_WIDTH - vpLrx); vpLrx = GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(SCREEN_WIDTH - vpLrx);
#endif #endif
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); gDPSetRenderMode(MASTERDL, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCycleType(gDisplayListHead++, G_CYC_FILL); gDPSetCycleType(MASTERDL, G_CYC_FILL);
gDPSetFillColor(gDisplayListHead++, color); gDPSetFillColor(MASTERDL, color);
gDPFillRectangle(gDisplayListHead++, vpUlx, vpUly, vpLrx, vpLry); gDPFillRectangle(MASTERDL, vpUlx, vpUly, vpLrx, vpLry);
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); gDPSetCycleType(MASTERDL, G_CYC_1CYCLE);
} }
/** /**
* Draw the horizontal screen borders. * Draw the horizontal screen borders.
*/ */
void draw_screen_borders(void) { void draw_screen_borders(void) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); gDPSetRenderMode(MASTERDL, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCycleType(gDisplayListHead++, G_CYC_FILL); gDPSetCycleType(MASTERDL, G_CYC_FILL);
gDPSetFillColor(gDisplayListHead++, GPACK_RGBA5551(0, 0, 0, 0) << 16 | GPACK_RGBA5551(0, 0, 0, 0)); gDPSetFillColor(MASTERDL, GPACK_RGBA5551(0, 0, 0, 0) << 16 | GPACK_RGBA5551(0, 0, 0, 0));
#if BORDER_HEIGHT != 0 #if BORDER_HEIGHT != 0
gDPFillRectangle(gDisplayListHead++, GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), 0, gDPFillRectangle(MASTERDL, GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), 0,
GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, BORDER_HEIGHT - 1); GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, BORDER_HEIGHT - 1);
gDPFillRectangle(gDisplayListHead++, gDPFillRectangle(MASTERDL,
GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), SCREEN_HEIGHT - BORDER_HEIGHT, GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), SCREEN_HEIGHT - BORDER_HEIGHT,
GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, SCREEN_HEIGHT - 1); GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1, SCREEN_HEIGHT - 1);
#endif #endif
@@ -237,7 +237,7 @@ void make_viewport_clip_rect(Vp *viewport) {
s16 vpLrx = (viewport->vp.vtrans[0] + viewport->vp.vscale[0]) / 4 - 1; s16 vpLrx = (viewport->vp.vtrans[0] + viewport->vp.vscale[0]) / 4 - 1;
s16 vpLry = (viewport->vp.vtrans[1] + viewport->vp.vscale[1]) / 4 - 1; s16 vpLry = (viewport->vp.vtrans[1] + viewport->vp.vscale[1]) / 4 - 1;
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, vpUlx, vpPly, vpLrx, vpLry); gDPSetScissor(MASTERDL, G_SC_NON_INTERLACE, vpUlx, vpPly, vpLrx, vpLry);
} }
/** /**
@@ -288,8 +288,8 @@ void end_master_display_list(void) {
draw_profiler(); draw_profiler();
} }
gDPFullSync(gDisplayListHead++); gDPFullSync(MASTERDL);
gSPEndDisplayList(gDisplayListHead++); gSPEndDisplayList(MASTERDL);
create_gfx_task_structure(); create_gfx_task_structure();
} }

View File

@@ -10,6 +10,7 @@
#include "init/memory.h" #include "init/memory.h"
#define GFX_POOL_SIZE 6400 // Size of how large the master display list (gDisplayListHead) can be #define GFX_POOL_SIZE 6400 // Size of how large the master display list (gDisplayListHead) can be
#define MASTERDL gDisplayListHead++
struct GfxPool { struct GfxPool {
Gfx buffer[GFX_POOL_SIZE]; Gfx buffer[GFX_POOL_SIZE];

View File

@@ -57,10 +57,10 @@ static s16 sCameraHUDStatus = CAM_STATUS_NONE;
* Renders a rgba16 16x16 glyph texture from a table list. * Renders a rgba16 16x16 glyph texture from a table list.
*/ */
void render_hud_tex_lut(s32 x, s32 y, u8 *texture) { void render_hud_tex_lut(s32 x, s32 y, u8 *texture) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture); gDPSetTextureImage(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture);
gSPDisplayList(gDisplayListHead++, &dl_hud_img_load_tex_block); gSPDisplayList(MASTERDL, &dl_hud_img_load_tex_block);
gSPTextureRectangle(gDisplayListHead++, x << 2, y << 2, (x + 15) << 2, (y + 15) << 2, gSPTextureRectangle(MASTERDL, x << 2, y << 2, (x + 15) << 2, (y + 15) << 2,
G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10); G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10);
} }
@@ -68,17 +68,17 @@ void render_hud_tex_lut(s32 x, s32 y, u8 *texture) {
* Renders a rgba16 8x8 glyph texture from a table list. * Renders a rgba16 8x8 glyph texture from a table list.
*/ */
void render_hud_small_tex_lut(s32 x, s32 y, u8 *texture) { void render_hud_small_tex_lut(s32 x, s32 y, u8 *texture) {
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, gDPSetTile(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0,
G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD); G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD);
gDPTileSync(gDisplayListHead++); gDPTileSync(MASTERDL);
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 2, 0, G_TX_RENDERTILE, 0, gDPSetTile(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, 2, 0, G_TX_RENDERTILE, 0,
G_TX_CLAMP, 3, G_TX_NOLOD, G_TX_CLAMP, 3, G_TX_NOLOD); G_TX_CLAMP, 3, G_TX_NOLOD, G_TX_CLAMP, 3, G_TX_NOLOD);
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, (8 - 1) << G_TEXTURE_IMAGE_FRAC, (8 - 1) << G_TEXTURE_IMAGE_FRAC); gDPSetTileSize(MASTERDL, G_TX_RENDERTILE, 0, 0, (8 - 1) << G_TEXTURE_IMAGE_FRAC, (8 - 1) << G_TEXTURE_IMAGE_FRAC);
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture); gDPSetTextureImage(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture);
gDPLoadSync(gDisplayListHead++); gDPLoadSync(MASTERDL);
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_16b_BYTES)); gDPLoadBlock(MASTERDL, G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_16b_BYTES));
gSPTextureRectangle(gDisplayListHead++, x << 2, y << 2, (x + 7) << 2, (y + 7) << 2, G_TX_RENDERTILE, gSPTextureRectangle(MASTERDL, x << 2, y << 2, (x + 7) << 2, (y + 7) << 2, G_TX_RENDERTILE,
0, 0, 4 << 10, 1 << 10); 0, 0, 4 << 10, 1 << 10);
} }
@@ -88,13 +88,13 @@ void render_hud_small_tex_lut(s32 x, s32 y, u8 *texture) {
void render_power_meter_health_segment(s16 numHealthWedges) { void render_power_meter_health_segment(s16 numHealthWedges) {
u8 *(*healthLUT)[] = segmented_to_virtual(&power_meter_health_segments_lut); u8 *(*healthLUT)[] = segmented_to_virtual(&power_meter_health_segments_lut);
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, gDPSetTextureImage(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1,
(*healthLUT)[numHealthWedges - 1]); (*healthLUT)[numHealthWedges - 1]);
gDPLoadSync(gDisplayListHead++); gDPLoadSync(MASTERDL);
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)); gDPLoadBlock(MASTERDL, G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES));
gSP1Triangle(gDisplayListHead++, 0, 1, 2, 0); gSP1Triangle(MASTERDL, 0, 1, 2, 0);
gSP1Triangle(gDisplayListHead++, 0, 2, 3, 0); gSP1Triangle(MASTERDL, 0, 2, 3, 0);
} }
/** /**
@@ -110,17 +110,17 @@ void render_dl_power_meter(s16 numHealthWedges) {
guTranslate(mtx, (f32) sPowerMeterHUD.x, (f32) sPowerMeterHUD.y, 0); guTranslate(mtx, (f32) sPowerMeterHUD.x, (f32) sPowerMeterHUD.y, 0);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(mtx++), gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(mtx++),
G_MTX_MODELVIEW | G_MTX_MUL | G_MTX_PUSH); G_MTX_MODELVIEW | G_MTX_MUL | G_MTX_PUSH);
gSPDisplayList(gDisplayListHead++, &dl_power_meter_base); gSPDisplayList(MASTERDL, &dl_power_meter_base);
if (numHealthWedges != 0) { if (numHealthWedges != 0) {
gSPDisplayList(gDisplayListHead++, &dl_power_meter_health_segments_begin); gSPDisplayList(MASTERDL, &dl_power_meter_health_segments_begin);
render_power_meter_health_segment(numHealthWedges); render_power_meter_health_segment(numHealthWedges);
gSPDisplayList(gDisplayListHead++, &dl_power_meter_health_segments_end); gSPDisplayList(MASTERDL, &dl_power_meter_health_segments_end);
} }
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); gSPPopMatrix(MASTERDL, G_MTX_MODELVIEW);
} }
/** /**
@@ -350,10 +350,10 @@ void render_hud_timer(void) {
print_text_fmt_int(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(71), 185, "%02d", timerSecs); print_text_fmt_int(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(71), 185, "%02d", timerSecs);
print_text_fmt_int(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(37), 185, "%d", timerFracSecs); print_text_fmt_int(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(37), 185, "%d", timerFracSecs);
gSPDisplayList(gDisplayListHead++, dl_hud_img_begin); gSPDisplayList(MASTERDL, dl_hud_img_begin);
render_hud_tex_lut(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(81), 32, (*hudLUT)[GLYPH_APOSTROPHE]); render_hud_tex_lut(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(81), 32, (*hudLUT)[GLYPH_APOSTROPHE]);
render_hud_tex_lut(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(46), 32, (*hudLUT)[GLYPH_DOUBLE_QUOTE]); render_hud_tex_lut(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(46), 32, (*hudLUT)[GLYPH_DOUBLE_QUOTE]);
gSPDisplayList(gDisplayListHead++, dl_hud_img_end); gSPDisplayList(MASTERDL, dl_hud_img_end);
} }
/** /**
@@ -377,7 +377,7 @@ void render_hud_camera_status(void) {
return; return;
} }
gSPDisplayList(gDisplayListHead++, dl_hud_img_begin); gSPDisplayList(MASTERDL, dl_hud_img_begin);
render_hud_tex_lut(x, y, (*cameraLUT)[GLYPH_CAM_CAMERA]); render_hud_tex_lut(x, y, (*cameraLUT)[GLYPH_CAM_CAMERA]);
switch (sCameraHUDStatus & CAM_STATUS_MODE_GROUP) { switch (sCameraHUDStatus & CAM_STATUS_MODE_GROUP) {
@@ -401,7 +401,7 @@ void render_hud_camera_status(void) {
break; break;
} }
gSPDisplayList(gDisplayListHead++, dl_hud_img_end); gSPDisplayList(MASTERDL, dl_hud_img_end);
} }
/** /**
@@ -426,8 +426,8 @@ void render_hud(void) {
create_dl_identity_matrix(); create_dl_identity_matrix();
guOrtho(mtx, -16.0f, SCREEN_WIDTH + 16, 0, SCREEN_HEIGHT, -10.0f, 10.0f, 1.0f); guOrtho(mtx, -16.0f, SCREEN_WIDTH + 16, 0, SCREEN_HEIGHT, -10.0f, 10.0f, 1.0f);
gSPPerspNormalize(gDisplayListHead++, 0xFFFF); gSPPerspNormalize(MASTERDL, 0xFFFF);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(mtx), gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(mtx),
G_MTX_PROJECTION | G_MTX_MUL | G_MTX_NOPUSH); G_MTX_PROJECTION | G_MTX_MUL | G_MTX_NOPUSH);
#else #else
create_dl_ortho_matrix(); create_dl_ortho_matrix();

File diff suppressed because it is too large Load Diff

View File

@@ -366,13 +366,13 @@ s8 char_to_glyph_index(char c) {
void add_glyph_texture(s8 glyphIndex) { void add_glyph_texture(s8 glyphIndex) {
const u8 *const *glyphs = segmented_to_virtual(main_hud_lut); const u8 *const *glyphs = segmented_to_virtual(main_hud_lut);
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
#ifdef VERSION_CN #ifdef VERSION_CN
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, glyphs[(u8) glyphIndex]); gDPSetTextureImage(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, glyphs[(u8) glyphIndex]);
#else #else
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, glyphs[glyphIndex]); gDPSetTextureImage(MASTERDL, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, glyphs[glyphIndex]);
#endif #endif
gSPDisplayList(gDisplayListHead++, dl_hud_img_load_tex_block); gSPDisplayList(MASTERDL, dl_hud_img_load_tex_block);
} }
#ifndef WIDESCREEN #ifndef WIDESCREEN
@@ -418,7 +418,7 @@ void render_textrect(s32 x, s32 y, s32 pos) {
#endif #endif
rectX = rectBaseX; rectX = rectBaseX;
rectY = rectBaseY; rectY = rectBaseY;
gSPTextureRectangle(gDisplayListHead++, rectX << 2, rectY << 2, (rectX + 15) << 2, gSPTextureRectangle(MASTERDL, rectX << 2, rectY << 2, (rectX + 15) << 2,
(rectY + 15) << 2, G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10); (rectY + 15) << 2, G_TX_RENDERTILE, 0, 0, 4 << 10, 1 << 10);
} }
@@ -444,9 +444,9 @@ void render_text_labels(void) {
} }
guOrtho(mtx, 0.0f, SCREEN_WIDTH, 0.0f, SCREEN_HEIGHT, -10.0f, 10.0f, 1.0f); guOrtho(mtx, 0.0f, SCREEN_WIDTH, 0.0f, SCREEN_HEIGHT, -10.0f, 10.0f, 1.0f);
gSPPerspNormalize((Gfx *) (gDisplayListHead++), 0xFFFF); gSPPerspNormalize((Gfx *) (MASTERDL), 0xFFFF);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(mtx), G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH); gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(mtx), G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH);
gSPDisplayList(gDisplayListHead++, dl_hud_img_begin); gSPDisplayList(MASTERDL, dl_hud_img_begin);
for (i = 0; i < sTextLabelsCount; i++) { for (i = 0; i < sTextLabelsCount; i++) {
for (j = 0; j < sTextLabels[i]->length; j++) { for (j = 0; j < sTextLabels[i]->length; j++) {
@@ -519,7 +519,7 @@ void render_text_labels(void) {
mem_pool_free(gEffectsMemoryPool, sTextLabels[i]); mem_pool_free(gEffectsMemoryPool, sTextLabels[i]);
} }
gSPDisplayList(gDisplayListHead++, dl_hud_img_end); gSPDisplayList(MASTERDL, dl_hud_img_end);
sTextLabelsCount = 0; sTextLabelsCount = 0;
} }

View File

@@ -88,9 +88,9 @@ void draw_profiler_bar(OSTime clockBase, OSTime clockStart, OSTime clockEnd, s16
// perform the render if start is less than end. in most cases, it should be. // perform the render if start is less than end. in most cases, it should be.
if (rectX1 < rectX2) { if (rectX1 < rectX2) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetFillColor(gDisplayListHead++, color << 16 | color); gDPSetFillColor(MASTERDL, color << 16 | color);
gDPFillRectangle(gDisplayListHead++, rectX1, posY, rectX2, posY + 2); gDPFillRectangle(MASTERDL, rectX1, posY, rectX2, posY + 2);
} }
} }
@@ -98,28 +98,28 @@ void draw_reference_profiler_bars(void) {
// Draws the reference "max" bars underneath the real thing. // Draws the reference "max" bars underneath the real thing.
// Blue // Blue
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetFillColor(gDisplayListHead++, gDPSetFillColor(MASTERDL,
GPACK_RGBA5551(40, 80, 255, 1) << 16 | GPACK_RGBA5551(40, 80, 255, 1)); GPACK_RGBA5551(40, 80, 255, 1) << 16 | GPACK_RGBA5551(40, 80, 255, 1));
gDPFillRectangle(gDisplayListHead++, 30, 220, 79, 222); gDPFillRectangle(MASTERDL, 30, 220, 79, 222);
// Yellow // Yellow
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetFillColor(gDisplayListHead++, gDPSetFillColor(MASTERDL,
GPACK_RGBA5551(255, 255, 40, 1) << 16 | GPACK_RGBA5551(255, 255, 40, 1)); GPACK_RGBA5551(255, 255, 40, 1) << 16 | GPACK_RGBA5551(255, 255, 40, 1));
gDPFillRectangle(gDisplayListHead++, 79, 220, 128, 222); gDPFillRectangle(MASTERDL, 79, 220, 128, 222);
// Orange // Orange
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetFillColor(gDisplayListHead++, gDPSetFillColor(MASTERDL,
GPACK_RGBA5551(255, 120, 40, 1) << 16 | GPACK_RGBA5551(255, 120, 40, 1)); GPACK_RGBA5551(255, 120, 40, 1) << 16 | GPACK_RGBA5551(255, 120, 40, 1));
gDPFillRectangle(gDisplayListHead++, 128, 220, 177, 222); gDPFillRectangle(MASTERDL, 128, 220, 177, 222);
// Red // Red
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetFillColor(gDisplayListHead++, gDPSetFillColor(MASTERDL,
GPACK_RGBA5551(255, 40, 40, 1) << 16 | GPACK_RGBA5551(255, 40, 40, 1)); GPACK_RGBA5551(255, 40, 40, 1) << 16 | GPACK_RGBA5551(255, 40, 40, 1));
gDPFillRectangle(gDisplayListHead++, 177, 220, 226, 222); gDPFillRectangle(MASTERDL, 177, 220, 226, 222);
} }
/* /*

View File

@@ -148,24 +148,24 @@ static void geo_process_master_list_sub(struct GraphNodeMasterList *node) {
#endif #endif
if (enableZBuffer != 0) { if (enableZBuffer != 0) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER); gSPSetGeometryMode(MASTERDL, G_ZBUFFER);
} }
for (i = 0; i < GFX_NUM_MASTER_LISTS; i++) { for (i = 0; i < GFX_NUM_MASTER_LISTS; i++) {
if ((currList = node->listHeads[i]) != NULL) { if ((currList = node->listHeads[i]) != NULL) {
gDPSetRenderMode(gDisplayListHead++, modeList->modes[i], mode2List->modes[i]); gDPSetRenderMode(MASTERDL, modeList->modes[i], mode2List->modes[i]);
while (currList != NULL) { while (currList != NULL) {
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(currList->transform), gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(currList->transform),
G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH);
gSPDisplayList(gDisplayListHead++, currList->displayList); gSPDisplayList(MASTERDL, currList->displayList);
currList = currList->next; currList = currList->next;
} }
} }
} }
if (enableZBuffer != 0) { if (enableZBuffer != 0) {
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER); gSPClearGeometryMode(MASTERDL, G_ZBUFFER);
} }
} }
@@ -177,7 +177,7 @@ static void geo_process_master_list_sub(struct GraphNodeMasterList *node) {
static void geo_append_display_list(void *displayList, s16 layer) { static void geo_append_display_list(void *displayList, s16 layer) {
#ifdef F3DEX_GBI_2 #ifdef F3DEX_GBI_2
gSPLookAt(gDisplayListHead++, &lookAt); gSPLookAt(MASTERDL, &lookAt);
#endif #endif
if (gCurGraphNodeMasterList != 0) { if (gCurGraphNodeMasterList != 0) {
struct DisplayListNode *listNode = struct DisplayListNode *listNode =
@@ -225,8 +225,8 @@ static void geo_process_ortho_projection(struct GraphNodeOrthoProjection *node)
f32 bottom = (gCurGraphNodeRoot->y + gCurGraphNodeRoot->height) / 2.0f * node->scale; f32 bottom = (gCurGraphNodeRoot->y + gCurGraphNodeRoot->height) / 2.0f * node->scale;
guOrtho(mtx, left, right, bottom, top, -2.0f, 2.0f, 1.0f); guOrtho(mtx, left, right, bottom, top, -2.0f, 2.0f, 1.0f);
gSPPerspNormalize(gDisplayListHead++, 0xFFFF); gSPPerspNormalize(MASTERDL, 0xFFFF);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(mtx), G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH); gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(mtx), G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH);
geo_process_node_and_siblings(node->node.children); geo_process_node_and_siblings(node->node.children);
} }
@@ -250,9 +250,9 @@ static void geo_process_perspective(struct GraphNodePerspective *node) {
#endif #endif
guPerspective(mtx, &perspNorm, node->fov, aspect, node->near, node->far, 1.0f); guPerspective(mtx, &perspNorm, node->fov, aspect, node->near, node->far, 1.0f);
gSPPerspNormalize(gDisplayListHead++, perspNorm); gSPPerspNormalize(MASTERDL, perspNorm);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(mtx), G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH); gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(mtx), G_MTX_PROJECTION | G_MTX_LOAD | G_MTX_NOPUSH);
gCurGraphNodeCamFrustum = node; gCurGraphNodeCamFrustum = node;
geo_process_node_and_siblings(node->fnNode.node.children); geo_process_node_and_siblings(node->fnNode.node.children);
@@ -317,7 +317,7 @@ static void geo_process_camera(struct GraphNodeCamera *node) {
} }
mtxf_rotate_xy(rollMtx, node->rollScreen); mtxf_rotate_xy(rollMtx, node->rollScreen);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(rollMtx), G_MTX_PROJECTION | G_MTX_MUL | G_MTX_NOPUSH); gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(rollMtx), G_MTX_PROJECTION | G_MTX_MUL | G_MTX_NOPUSH);
mtxf_lookat(cameraTransform, node->pos, node->focus, node->roll); mtxf_lookat(cameraTransform, node->pos, node->focus, node->roll);
mtxf_mul(gMatStack[gMatStackIndex + 1], cameraTransform, gMatStack[gMatStackIndex]); mtxf_mul(gMatStack[gMatStackIndex + 1], cameraTransform, gMatStack[gMatStackIndex]);
@@ -880,7 +880,7 @@ void geo_process_held_object(struct GraphNodeHeldObject *node) {
Mtx *mtx = alloc_display_list(sizeof(*mtx)); Mtx *mtx = alloc_display_list(sizeof(*mtx));
#ifdef F3DEX_GBI_2 #ifdef F3DEX_GBI_2
gSPLookAt(gDisplayListHead++, &lookAt); gSPLookAt(MASTERDL, &lookAt);
#endif #endif
if (node->fnNode.func != NULL) { if (node->fnNode.func != NULL) {
@@ -1071,8 +1071,8 @@ void geo_process_root(struct GraphNodeRoot *node, Vp *b, Vp *c, s32 clearColor)
mtxf_identity(gMatStack[gMatStackIndex]); mtxf_identity(gMatStack[gMatStackIndex]);
mtxf_to_mtx(initialMatrix, gMatStack[gMatStackIndex]); mtxf_to_mtx(initialMatrix, gMatStack[gMatStackIndex]);
gMatStackFixed[gMatStackIndex] = initialMatrix; gMatStackFixed[gMatStackIndex] = initialMatrix;
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(viewport)); gSPViewport(MASTERDL, VIRTUAL_TO_PHYSICAL(viewport));
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(gMatStackFixed[gMatStackIndex]), gSPMatrix(MASTERDL, VIRTUAL_TO_PHYSICAL(gMatStackFixed[gMatStackIndex]),
G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH);
gCurGraphNodeRoot = node; gCurGraphNodeRoot = node;
if (node->node.children != NULL) { if (node->node.children != NULL) {

View File

@@ -63,12 +63,12 @@ s32 dl_transition_color(s8 fadeTimer, u8 transTime, struct WarpTransitionData *t
Vtx *verts = vertex_transition_color(transData, alpha); Vtx *verts = vertex_transition_color(transData, alpha);
if (verts != NULL) { if (verts != NULL) {
gSPDisplayList(gDisplayListHead++, dl_proj_mtx_fullscreen); gSPDisplayList(MASTERDL, dl_proj_mtx_fullscreen);
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); gDPSetCombineMode(MASTERDL, G_CC_SHADE, G_CC_SHADE);
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2); gDPSetRenderMode(MASTERDL, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
gSPVertex(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(verts), 4, 0); gSPVertex(MASTERDL, VIRTUAL_TO_PHYSICAL(verts), 4, 0);
gSPDisplayList(gDisplayListHead++, dl_draw_quad_verts_0123); gSPDisplayList(MASTERDL, dl_draw_quad_verts_0123);
gSPDisplayList(gDisplayListHead++, dl_screen_transition_end); gSPDisplayList(MASTERDL, dl_screen_transition_end);
} }
return set_and_reset_transition_fade_timer(fadeTimer, transTime); return set_and_reset_transition_fade_timer(fadeTimer, transTime);
} }
@@ -176,30 +176,30 @@ s32 render_textured_transition(s8 fadeTimer, s8 transTime, struct WarpTransition
if (verts != NULL) { if (verts != NULL) {
load_tex_transition_vertex(verts, fadeTimer, transData, centerTransX, centerTransY, texTransRadius, transTexType); load_tex_transition_vertex(verts, fadeTimer, transData, centerTransX, centerTransY, texTransRadius, transTexType);
gSPDisplayList(gDisplayListHead++, dl_proj_mtx_fullscreen) gSPDisplayList(MASTERDL, dl_proj_mtx_fullscreen)
gDPSetCombineMode(gDisplayListHead++, G_CC_SHADE, G_CC_SHADE); gDPSetCombineMode(MASTERDL, G_CC_SHADE, G_CC_SHADE);
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_OPA_SURF, G_RM_AA_OPA_SURF2); gDPSetRenderMode(MASTERDL, G_RM_AA_OPA_SURF, G_RM_AA_OPA_SURF2);
gSPVertex(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(verts), 8, 0); gSPVertex(MASTERDL, VIRTUAL_TO_PHYSICAL(verts), 8, 0);
gSPDisplayList(gDisplayListHead++, dl_transition_draw_filled_region); gSPDisplayList(MASTERDL, dl_transition_draw_filled_region);
gDPPipeSync(gDisplayListHead++); gDPPipeSync(MASTERDL);
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); gDPSetCombineMode(MASTERDL, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2); gDPSetRenderMode(MASTERDL, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP); gDPSetTextureFilter(MASTERDL, G_TF_BILERP);
switch (transTexType) { switch (transTexType) {
case TRANS_TYPE_MIRROR: case TRANS_TYPE_MIRROR:
gDPLoadTextureBlock(gDisplayListHead++, sTextureTransitionID[texID], G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, gDPLoadTextureBlock(MASTERDL, sTextureTransitionID[texID], G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0,
G_TX_WRAP | G_TX_MIRROR, G_TX_WRAP | G_TX_MIRROR, 5, 6, G_TX_NOLOD, G_TX_NOLOD); G_TX_WRAP | G_TX_MIRROR, G_TX_WRAP | G_TX_MIRROR, 5, 6, G_TX_NOLOD, G_TX_NOLOD);
break; break;
case TRANS_TYPE_CLAMP: case TRANS_TYPE_CLAMP:
gDPLoadTextureBlock(gDisplayListHead++, sTextureTransitionID[texID], G_IM_FMT_IA, G_IM_SIZ_8b, 64, 64, 0, gDPLoadTextureBlock(MASTERDL, sTextureTransitionID[texID], G_IM_FMT_IA, G_IM_SIZ_8b, 64, 64, 0,
G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD); G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD);
break; break;
} }
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPTexture(MASTERDL, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gSPVertex(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(verts), 4, 0); gSPVertex(MASTERDL, VIRTUAL_TO_PHYSICAL(verts), 4, 0);
gSPDisplayList(gDisplayListHead++, dl_draw_quad_verts_0123); gSPDisplayList(MASTERDL, dl_draw_quad_verts_0123);
gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF); gSPTexture(MASTERDL, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF);
gSPDisplayList(gDisplayListHead++, dl_screen_transition_end); gSPDisplayList(MASTERDL, dl_screen_transition_end);
sTransitionTextureFadeCount[fadeTimer] += transData->texTimer; sTransitionTextureFadeCount[fadeTimer] += transData->texTimer;
} else { } else {
} }

View File

@@ -93,7 +93,7 @@ void move_segment_table_to_dmem(void) {
s32 i; s32 i;
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {
gSPSegment(gDisplayListHead++, i, sSegmentTable[i]); gSPSegment(MASTERDL, i, sSegmentTable[i]);
} }
} }
#else #else

View File

@@ -1722,13 +1722,13 @@ void print_menu_cursor(void) {
// Get the right graphic to use for the cursor. // Get the right graphic to use for the cursor.
if (sCursorClickingTimer == 0) { if (sCursorClickingTimer == 0) {
// Idle // Idle
gSPDisplayList(gDisplayListHead++, dl_menu_idle_hand); gSPDisplayList(MASTERDL, dl_menu_idle_hand);
} }
if (sCursorClickingTimer != 0) { if (sCursorClickingTimer != 0) {
// Grabbing // Grabbing
gSPDisplayList(gDisplayListHead++, dl_menu_grabbing_hand); gSPDisplayList(MASTERDL, dl_menu_grabbing_hand);
} }
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); gSPPopMatrix(MASTERDL, G_MTX_MODELVIEW);
if (sCursorClickingTimer != 0) { if (sCursorClickingTimer != 0) {
sCursorClickingTimer++; // This is a very strange way to implement a timer? It counts up and sCursorClickingTimer++; // This is a very strange way to implement a timer? It counts up and
// then resets to 0 instead of just counting down to 0. // then resets to 0 instead of just counting down to 0.
@@ -1742,20 +1742,20 @@ void print_menu_cursor(void) {
* Prints a hud string depending of the hud table list defined with text fade properties. * Prints a hud string depending of the hud table list defined with text fade properties.
*/ */
void print_hud_lut_string_fade(s8 hudLUT, s16 x, s16 y, const u8 *text) { void print_hud_lut_string_fade(s8 hudLUT, s16 x, s16 y, const u8 *text) {
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha - sTextFadeAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha - sTextFadeAlpha);
print_hud_lut_string(hudLUT, x, y, text); print_hud_lut_string(hudLUT, x, y, text);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
} }
/** /**
* Prints a generic white string with text fade properties. * Prints a generic white string with text fade properties.
*/ */
void print_generic_string_fade(s16 x, s16 y, const u8 *text) { void print_generic_string_fade(s16 x, s16 y, const u8 *text) {
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha - sTextFadeAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha - sTextFadeAlpha);
print_generic_string(x, y, text); print_generic_string(x, y, text);
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
} }
/** /**
@@ -1873,8 +1873,8 @@ void print_main_menu_strings(void) {
static s16 sSoundTextX; // TODO: There should be a way to make this match on both US and Shindou. static s16 sSoundTextX; // TODO: There should be a way to make this match on both US and Shindou.
#endif #endif
// Print "SELECT FILE" text // Print "SELECT FILE" text
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
#ifndef VERSION_EU #ifndef VERSION_EU
print_hud_lut_string(HUD_LUT_DIFF2, SELECT_FILE_X, SELECT_FILE_Y, textSelectFile); print_hud_lut_string(HUD_LUT_DIFF2, SELECT_FILE_X, SELECT_FILE_Y, textSelectFile);
#endif #endif
@@ -1883,11 +1883,11 @@ void print_main_menu_strings(void) {
print_save_file_star_count(SAVE_FILE_B, SAVEFILE_X2, 78); print_save_file_star_count(SAVE_FILE_B, SAVEFILE_X2, 78);
print_save_file_star_count(SAVE_FILE_C, SAVEFILE_X1, 118); print_save_file_star_count(SAVE_FILE_C, SAVEFILE_X1, 118);
print_save_file_star_count(SAVE_FILE_D, SAVEFILE_X2, 118); print_save_file_star_count(SAVE_FILE_D, SAVEFILE_X2, 118);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
#ifndef VERSION_EU #ifndef VERSION_EU
// Print menu names // Print menu names
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
print_generic_string(SCORE_X, 39, textScore); print_generic_string(SCORE_X, 39, textScore);
print_generic_string(COPY_X, 39, textCopy); print_generic_string(COPY_X, 39, textCopy);
print_generic_string(ERASE_X, 39, textErase); print_generic_string(ERASE_X, 39, textErase);
@@ -1895,17 +1895,17 @@ void print_main_menu_strings(void) {
sSoundTextX = get_str_x_pos_from_center(254, textSoundModes[sSoundMode], 10.0f); sSoundTextX = get_str_x_pos_from_center(254, textSoundModes[sSoundMode], 10.0f);
#endif #endif
print_generic_string(SOUNDMODE_X1, 39, textSoundModes[sSoundMode]); print_generic_string(SOUNDMODE_X1, 39, textSoundModes[sSoundMode]);
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
#endif #endif
// Print file names // Print file names
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_BEGIN); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_BEGIN);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
FILE_SELECT_PRINT_STRING(MARIOTEXT_X1, MARIOTEXT_Y1, textMarioA); FILE_SELECT_PRINT_STRING(MARIOTEXT_X1, MARIOTEXT_Y1, textMarioA);
FILE_SELECT_PRINT_STRING(MARIOTEXT_X2, MARIOTEXT_Y1, textMarioB); FILE_SELECT_PRINT_STRING(MARIOTEXT_X2, MARIOTEXT_Y1, textMarioB);
FILE_SELECT_PRINT_STRING(MARIOTEXT_X1, MARIOTEXT_Y2, textMarioC); FILE_SELECT_PRINT_STRING(MARIOTEXT_X1, MARIOTEXT_Y2, textMarioC);
FILE_SELECT_PRINT_STRING(MARIOTEXT_X2, MARIOTEXT_Y2, textMarioD); FILE_SELECT_PRINT_STRING(MARIOTEXT_X2, MARIOTEXT_Y2, textMarioD);
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_END); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_END);
} }
#ifdef VERSION_EU #ifdef VERSION_EU
@@ -1918,15 +1918,15 @@ void print_main_lang_strings(void) {
static s16 centeredX; static s16 centeredX;
// Print "SELECT FILE" text // Print "SELECT FILE" text
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
centeredX = get_str_x_pos_from_center_scale(160, textSelectFile[sLanguageMode], 12.0f); centeredX = get_str_x_pos_from_center_scale(160, textSelectFile[sLanguageMode], 12.0f);
print_hud_lut_string(HUD_LUT_GLOBAL, centeredX, 35, textSelectFile[sLanguageMode]); print_hud_lut_string(HUD_LUT_GLOBAL, centeredX, 35, textSelectFile[sLanguageMode]);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
// Print menu names // Print menu names
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
centeredX = get_str_x_pos_from_center(76, textScore[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(76, textScore[sLanguageMode], 10.0f);
print_generic_string(centeredX, 39, textScore[sLanguageMode]); print_generic_string(centeredX, 39, textScore[sLanguageMode]);
centeredX = get_str_x_pos_from_center(131, textCopy[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(131, textCopy[sLanguageMode], 10.0f);
@@ -1935,7 +1935,7 @@ void print_main_lang_strings(void) {
print_generic_string(centeredX, 39, textErase[sLanguageMode]); print_generic_string(centeredX, 39, textErase[sLanguageMode]);
centeredX = get_str_x_pos_from_center(245, textOption[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(245, textOption[sLanguageMode], 10.0f);
print_generic_string(centeredX, 39, textOption[sLanguageMode]); print_generic_string(centeredX, 39, textOption[sLanguageMode]);
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
print_main_menu_strings(); print_main_menu_strings();
} }
@@ -2043,18 +2043,18 @@ void print_score_menu_strings(void) {
#ifndef VERSION_EU #ifndef VERSION_EU
// Print file star counts // Print file star counts
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
print_save_file_star_count(SAVE_FILE_A, 90, 76); print_save_file_star_count(SAVE_FILE_A, 90, 76);
print_save_file_star_count(SAVE_FILE_B, 211, 76); print_save_file_star_count(SAVE_FILE_B, 211, 76);
print_save_file_star_count(SAVE_FILE_C, 90, 119); print_save_file_star_count(SAVE_FILE_C, 90, 119);
print_save_file_star_count(SAVE_FILE_D, 211, 119); print_save_file_star_count(SAVE_FILE_D, 211, 119);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
#endif #endif
// Print menu names // Print menu names
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
#ifdef VERSION_EU #ifdef VERSION_EU
centeredX = get_str_x_pos_from_center(69, textReturn[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(69, textReturn[sLanguageMode], 10.0f);
#endif #endif
@@ -2067,19 +2067,19 @@ void print_score_menu_strings(void) {
centeredX = get_str_x_pos_from_center(249, textEraseFileButton[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(249, textEraseFileButton[sLanguageMode], 10.0f);
#endif #endif
print_generic_string(ERASEFILE_X1, 35, LANGUAGE_ARRAY(textEraseFileButton)); print_generic_string(ERASEFILE_X1, 35, LANGUAGE_ARRAY(textEraseFileButton));
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
// Print file names // Print file names
#ifdef VERSION_EU #ifdef VERSION_EU
print_main_menu_strings(); print_main_menu_strings();
#else #else
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_BEGIN); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_BEGIN);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
FILE_SELECT_PRINT_STRING(89, SCORE_FILE_Y1, textMarioA); FILE_SELECT_PRINT_STRING(89, SCORE_FILE_Y1, textMarioA);
FILE_SELECT_PRINT_STRING(211, SCORE_FILE_Y1, textMarioB); FILE_SELECT_PRINT_STRING(211, SCORE_FILE_Y1, textMarioB);
FILE_SELECT_PRINT_STRING(89, SCORE_FILE_Y2, textMarioC); FILE_SELECT_PRINT_STRING(89, SCORE_FILE_Y2, textMarioC);
FILE_SELECT_PRINT_STRING(211, SCORE_FILE_Y2, textMarioD); FILE_SELECT_PRINT_STRING(211, SCORE_FILE_Y2, textMarioD);
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_END); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_END);
#endif #endif
} }
@@ -2252,17 +2252,17 @@ void print_copy_menu_strings(void) {
copy_menu_display_message(sStatusMessageID); copy_menu_display_message(sStatusMessageID);
#ifndef VERSION_EU #ifndef VERSION_EU
// Print file star counts // Print file star counts
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
print_save_file_star_count(SAVE_FILE_A, 90, 76); print_save_file_star_count(SAVE_FILE_A, 90, 76);
print_save_file_star_count(SAVE_FILE_B, 211, 76); print_save_file_star_count(SAVE_FILE_B, 211, 76);
print_save_file_star_count(SAVE_FILE_C, 90, 119); print_save_file_star_count(SAVE_FILE_C, 90, 119);
print_save_file_star_count(SAVE_FILE_D, 211, 119); print_save_file_star_count(SAVE_FILE_D, 211, 119);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
#endif #endif
// Print menu names // Print menu names
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
#ifdef VERSION_EU #ifdef VERSION_EU
centeredX = get_str_x_pos_from_center(69, textReturn[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(69, textReturn[sLanguageMode], 10.0f);
#endif #endif
@@ -2275,19 +2275,19 @@ void print_copy_menu_strings(void) {
centeredX = get_str_x_pos_from_center(249, textEraseFileButton[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(249, textEraseFileButton[sLanguageMode], 10.0f);
#endif #endif
print_generic_string(ERASEFILE_X2, 35, LANGUAGE_ARRAY(textEraseFileButton)); print_generic_string(ERASEFILE_X2, 35, LANGUAGE_ARRAY(textEraseFileButton));
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
// Print file names // Print file names
#ifdef VERSION_EU #ifdef VERSION_EU
print_main_menu_strings(); print_main_menu_strings();
#else #else
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_BEGIN); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_BEGIN);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
FILE_SELECT_PRINT_STRING(89, COPY_FILE_Y1, textMarioA); FILE_SELECT_PRINT_STRING(89, COPY_FILE_Y1, textMarioA);
FILE_SELECT_PRINT_STRING(211, COPY_FILE_Y1, textMarioB); FILE_SELECT_PRINT_STRING(211, COPY_FILE_Y1, textMarioB);
FILE_SELECT_PRINT_STRING(89, COPY_FILE_Y2, textMarioC); FILE_SELECT_PRINT_STRING(89, COPY_FILE_Y2, textMarioC);
FILE_SELECT_PRINT_STRING(211, COPY_FILE_Y2, textMarioD); FILE_SELECT_PRINT_STRING(211, COPY_FILE_Y2, textMarioD);
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_END); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_END);
#endif #endif
} }
@@ -2400,12 +2400,12 @@ void print_erase_menu_prompt(s16 x, s16 y) {
} }
// Print "YES NO" strings // Print "YES NO" strings
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, sYesNoColor[0], sYesNoColor[0], sYesNoColor[0], sTextBaseAlpha); gDPSetEnvColor(MASTERDL, sYesNoColor[0], sYesNoColor[0], sYesNoColor[0], sTextBaseAlpha);
print_generic_string(x + MENU_ERASE_YES_X_OFFSET, y, LANGUAGE_ARRAY(textYes)); print_generic_string(x + MENU_ERASE_YES_X_OFFSET, y, LANGUAGE_ARRAY(textYes));
gDPSetEnvColor(gDisplayListHead++, sYesNoColor[1], sYesNoColor[1], sYesNoColor[1], sTextBaseAlpha); gDPSetEnvColor(MASTERDL, sYesNoColor[1], sYesNoColor[1], sYesNoColor[1], sTextBaseAlpha);
print_generic_string(x + 98, y, LANGUAGE_ARRAY(textNo)); print_generic_string(x + 98, y, LANGUAGE_ARRAY(textNo));
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
} }
// MARIO_ERASED_VAR is the value there the letter "A" is, it works like this: // MARIO_ERASED_VAR is the value there the letter "A" is, it works like this:
@@ -2570,18 +2570,18 @@ void print_erase_menu_strings(void) {
#ifndef VERSION_EU #ifndef VERSION_EU
// Print file star counts // Print file star counts
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
print_save_file_star_count(SAVE_FILE_A, 90, 76); print_save_file_star_count(SAVE_FILE_A, 90, 76);
print_save_file_star_count(SAVE_FILE_B, 211, 76); print_save_file_star_count(SAVE_FILE_B, 211, 76);
print_save_file_star_count(SAVE_FILE_C, 90, 119); print_save_file_star_count(SAVE_FILE_C, 90, 119);
print_save_file_star_count(SAVE_FILE_D, 211, 119); print_save_file_star_count(SAVE_FILE_D, 211, 119);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
#endif #endif
// Print menu names // Print menu names
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
#ifdef VERSION_EU #ifdef VERSION_EU
centeredX = get_str_x_pos_from_center(69, textReturn[sLanguageMode], 10.0f); centeredX = get_str_x_pos_from_center(69, textReturn[sLanguageMode], 10.0f);
@@ -2595,19 +2595,19 @@ void print_erase_menu_strings(void) {
print_generic_string(VIEWSCORE_X2, 35, textViewScore); print_generic_string(VIEWSCORE_X2, 35, textViewScore);
print_generic_string(COPYFILE_X2, 35, textCopyFileButton); print_generic_string(COPYFILE_X2, 35, textCopyFileButton);
#endif #endif
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
// Print file names // Print file names
#ifdef VERSION_EU #ifdef VERSION_EU
print_main_menu_strings(); print_main_menu_strings();
#else #else
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_BEGIN); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_BEGIN);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
FILE_SELECT_PRINT_STRING(89, ERASE_FILE_Y1, textMarioA); FILE_SELECT_PRINT_STRING(89, ERASE_FILE_Y1, textMarioA);
FILE_SELECT_PRINT_STRING(211, ERASE_FILE_Y1, textMarioB); FILE_SELECT_PRINT_STRING(211, ERASE_FILE_Y1, textMarioB);
FILE_SELECT_PRINT_STRING(89, ERASE_FILE_Y2, textMarioC); FILE_SELECT_PRINT_STRING(89, ERASE_FILE_Y2, textMarioC);
FILE_SELECT_PRINT_STRING(211, ERASE_FILE_Y2, textMarioD); FILE_SELECT_PRINT_STRING(211, ERASE_FILE_Y2, textMarioD);
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_END); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_END);
#endif #endif
} }
@@ -2641,8 +2641,8 @@ void print_sound_mode_menu_strings(void) {
#endif #endif
// Print "SOUND SELECT" text // Print "SOUND SELECT" text
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
#ifdef VERSION_EU #ifdef VERSION_EU
print_hud_lut_string(HUD_LUT_DIFF, 47, 32, textSoundSelect[sLanguageMode]); print_hud_lut_string(HUD_LUT_DIFF, 47, 32, textSoundSelect[sLanguageMode]);
@@ -2651,17 +2651,17 @@ void print_sound_mode_menu_strings(void) {
print_hud_lut_string(HUD_LUT_DIFF, SOUND_HUD_X, SOUND_HUD_Y, textSoundSelect); print_hud_lut_string(HUD_LUT_DIFF, SOUND_HUD_X, SOUND_HUD_Y, textSoundSelect);
#endif #endif
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
#ifdef VERSION_EU // In EU their X position get increased each string #ifdef VERSION_EU // In EU their X position get increased each string
// Print sound mode names // Print sound mode names
for (mode = 0, textX = 90; mode < 3; textX += 70, mode++) { for (mode = 0, textX = 90; mode < 3; textX += 70, mode++) {
if (mode == sSoundMode) { if (mode == sSoundMode) {
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
} else { } else {
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 0, 0, 0, sTextBaseAlpha);
} }
print_generic_string( print_generic_string(
get_str_x_pos_from_center(textX, textSoundModes[sLanguageMode * 3 + mode], 10.0f), get_str_x_pos_from_center(textX, textSoundModes[sLanguageMode * 3 + mode], 10.0f),
@@ -2671,9 +2671,9 @@ void print_sound_mode_menu_strings(void) {
// In EU, print language mode names // In EU, print language mode names
for (mode = 0, textX = 90; mode < 3; textX += 70, mode++) { for (mode = 0, textX = 90; mode < 3; textX += 70, mode++) {
if (mode == sLanguageMode) { if (mode == sLanguageMode) {
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
} else { } else {
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 0, 0, 0, sTextBaseAlpha);
} }
print_generic_string( print_generic_string(
get_str_x_pos_from_center(textX, textLanguage[mode], 10.0f), get_str_x_pos_from_center(textX, textLanguage[mode], 10.0f),
@@ -2683,9 +2683,9 @@ void print_sound_mode_menu_strings(void) {
// Print sound mode names // Print sound mode names
for (mode = 0; mode < 3; mode++) { for (mode = 0; mode < 3; mode++) {
if (sSoundMode == mode) { if (sSoundMode == mode) {
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
} else { } else {
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 0, 0, 0, sTextBaseAlpha);
} }
#ifndef VERSION_JP #ifndef VERSION_JP
// Mode names are centered correctly on US and Shindou // Mode names are centered correctly on US and Shindou
@@ -2698,11 +2698,11 @@ void print_sound_mode_menu_strings(void) {
#endif #endif
#ifdef VERSION_EU #ifdef VERSION_EU
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
print_generic_string(182, 29, textReturn[sLanguageMode]); print_generic_string(182, 29, textReturn[sLanguageMode]);
#endif #endif
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
} }
#ifndef VERSION_CN #ifndef VERSION_CN
@@ -2946,18 +2946,18 @@ void print_save_file_scores(s8 fileIndex) {
textFileLetter[0] = fileIndex + ASCII_TO_DIALOG('A'); // get letter of file selected textFileLetter[0] = fileIndex + ASCII_TO_DIALOG('A'); // get letter of file selected
// Print file name at top // Print file name at top
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
print_hud_lut_string(HUD_LUT_DIFF, MARIO_X, MARIO_Y, textMario); print_hud_lut_string(HUD_LUT_DIFF, MARIO_X, MARIO_Y, textMario);
print_hud_lut_string(HUD_LUT_GLOBAL, FILE_LETTER_X, 15, textFileLetter); print_hud_lut_string(HUD_LUT_GLOBAL, FILE_LETTER_X, 15, textFileLetter);
// Print save file star count at top // Print save file star count at top
print_save_file_star_count(fileIndex, 124, 15); print_save_file_star_count(fileIndex, 124, 15);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
// Print course scores // Print course scores
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_BEGIN); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_BEGIN);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, sTextBaseAlpha); gDPSetEnvColor(MASTERDL, 255, 255, 255, sTextBaseAlpha);
//! Huge print list, for loops exist for a reason! //! Huge print list, for loops exist for a reason!
#ifdef VERSION_CN #ifdef VERSION_CN
@@ -3041,7 +3041,7 @@ void print_save_file_scores(s8 fileIndex) {
FILE_SELECT_PRINT_STRING(270, 17, textRArrow); FILE_SELECT_PRINT_STRING(270, 17, textRArrow);
#endif #endif
gSPDisplayList(gDisplayListHead++, FILE_SELECT_TEXT_DL_END); gSPDisplayList(MASTERDL, FILE_SELECT_TEXT_DL_END);
} }
#undef PRINT_COURSE_NAME_CN #undef PRINT_COURSE_NAME_CN

View File

@@ -214,28 +214,28 @@ void print_course_number(void) {
create_dl_translation_matrix(MENU_MTX_PUSH, 158.0f, 81.0f, 0.0f); create_dl_translation_matrix(MENU_MTX_PUSH, 158.0f, 81.0f, 0.0f);
// Full wood texture in JP & US, lower part of it on EU // Full wood texture in JP & US, lower part of it on EU
gSPDisplayList(gDisplayListHead++, dl_menu_rgba16_wood_course); gSPDisplayList(MASTERDL, dl_menu_rgba16_wood_course);
#ifdef VERSION_EU #ifdef VERSION_EU
// Change upper part of the wood texture depending of the language defined // Change upper part of the wood texture depending of the language defined
switch (language) { switch (language) {
case LANGUAGE_ENGLISH: case LANGUAGE_ENGLISH:
gSPDisplayList(gDisplayListHead++, dl_menu_texture_course_upper); gSPDisplayList(MASTERDL, dl_menu_texture_course_upper);
break; break;
case LANGUAGE_FRENCH: case LANGUAGE_FRENCH:
gSPDisplayList(gDisplayListHead++, dl_menu_texture_niveau_upper); gSPDisplayList(MASTERDL, dl_menu_texture_niveau_upper);
break; break;
case LANGUAGE_GERMAN: case LANGUAGE_GERMAN:
gSPDisplayList(gDisplayListHead++, dl_menu_texture_kurs_upper); gSPDisplayList(MASTERDL, dl_menu_texture_kurs_upper);
break; break;
} }
gSPDisplayList(gDisplayListHead++, dl_menu_rgba16_wood_course_end); gSPDisplayList(MASTERDL, dl_menu_rgba16_wood_course_end);
#endif #endif
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); gSPPopMatrix(MASTERDL, G_MTX_MODELVIEW);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, 255); gDPSetEnvColor(MASTERDL, 255, 255, 255, 255);
int_to_str(gCurrCourseNum, courseNum); int_to_str(gCurrCourseNum, courseNum);
@@ -245,7 +245,7 @@ void print_course_number(void) {
print_hud_lut_string(HUD_LUT_GLOBAL, 143, 158, courseNum); print_hud_lut_string(HUD_LUT_GLOBAL, 143, 158, courseNum);
} }
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
} }
#ifdef VERSION_JP #ifdef VERSION_JP
@@ -304,13 +304,13 @@ void print_act_selector_strings(void) {
#endif #endif
// Print the coin highscore. // Print the coin highscore.
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_begin); gSPDisplayList(MASTERDL, dl_rgba16_text_begin);
gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, 255); gDPSetEnvColor(MASTERDL, 255, 255, 255, 255);
print_hud_my_score_coins(1, gCurrSaveFileNum - 1, COURSE_NUM_TO_INDEX(gCurrCourseNum), 155, 106); print_hud_my_score_coins(1, gCurrSaveFileNum - 1, COURSE_NUM_TO_INDEX(gCurrCourseNum), 155, 106);
gSPDisplayList(gDisplayListHead++, dl_rgba16_text_end); gSPDisplayList(MASTERDL, dl_rgba16_text_end);
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, 255); gDPSetEnvColor(MASTERDL, 0, 0, 0, 255);
// Print the "MY SCORE" text if the coin score is more than 0 // Print the "MY SCORE" text if the coin score is more than 0
if (save_file_get_course_coin_score(gCurrSaveFileNum - 1, COURSE_NUM_TO_INDEX(gCurrCourseNum)) != 0) { if (save_file_get_course_coin_score(gCurrSaveFileNum - 1, COURSE_NUM_TO_INDEX(gCurrCourseNum)) != 0) {
// TODO: Macros for all these hardcoded positions would be nice // TODO: Macros for all these hardcoded positions would be nice
@@ -331,7 +331,7 @@ void print_act_selector_strings(void) {
print_generic_string(lvlNameX, 33, currLevelName + 3); print_generic_string(lvlNameX, 33, currLevelName + 3);
#endif #endif
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
#ifdef VERSION_EU #ifdef VERSION_EU
print_course_number(language); print_course_number(language);
@@ -340,11 +340,11 @@ void print_act_selector_strings(void) {
#endif #endif
#ifdef VERSION_CN #ifdef VERSION_CN
gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gSPDisplayList(MASTERDL, dl_ia_text_begin);
#else #else
gSPDisplayList(gDisplayListHead++, dl_menu_ia8_text_begin); gSPDisplayList(MASTERDL, dl_menu_ia8_text_begin);
#endif #endif
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, 255); gDPSetEnvColor(MASTERDL, 0, 0, 0, 255);
// Print the name of the selected act. // Print the name of the selected act.
if (sVisibleStars != 0) { if (sVisibleStars != 0) {
@@ -360,10 +360,10 @@ void print_act_selector_strings(void) {
} }
#ifdef VERSION_CN #ifdef VERSION_CN
gSPDisplayList(gDisplayListHead++, dl_ia_text_end); gSPDisplayList(MASTERDL, dl_ia_text_end);
gSPDisplayList(gDisplayListHead++, dl_menu_ia8_text_begin); gSPDisplayList(MASTERDL, dl_menu_ia8_text_begin);
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, 255); gDPSetEnvColor(MASTERDL, 0, 0, 0, 255);
#endif #endif
// Print the numbers above each star. // Print the numbers above each star.
@@ -376,7 +376,7 @@ void print_act_selector_strings(void) {
#endif #endif
} }
gSPDisplayList(gDisplayListHead++, dl_menu_ia8_text_end); gSPDisplayList(MASTERDL, dl_menu_ia8_text_end);
} }
/** /**