You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Use FillRectangle for shade_screen (#611)
This commit is contained in:
@@ -2328,6 +2328,23 @@ const Gfx dl_rgba16_text_end[] = {
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
const Gfx dl_shade_screen_begin[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsDPSetPrimColor(0, 0, 0, 0, 0, 127),
|
||||
gsDPSetCombineMode(G_CC_PRIMITIVE, G_CC_PRIMITIVE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
const Gfx dl_shade_screen_end[] = {
|
||||
gsDPPipeSync(),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
|
||||
gsDPSetPrimColor(0, 0, 255, 255, 255, 255),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
// 0x0200EDA8 - 0x0200EDE8
|
||||
static const Vtx vertex_text_bg_box[] = {
|
||||
{{{ 0, -80, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||
|
||||
@@ -1468,20 +1468,14 @@ void change_dialog_camera_angle(void) {
|
||||
}
|
||||
|
||||
void shade_screen(void) {
|
||||
create_dl_translation_matrix(MENU_MTX_PUSH, GFX_DIMENSIONS_FROM_LEFT_EDGE(0), SCREEN_HEIGHT, 0);
|
||||
Gfx* dlHead = gDisplayListHead;
|
||||
|
||||
// This is a bit weird. It reuses the dialog text box (width 130, height -80),
|
||||
// so scale to at least fit the screen.
|
||||
#ifdef WIDESCREEN
|
||||
create_dl_scale_matrix(MENU_MTX_NOPUSH,
|
||||
GFX_DIMENSIONS_ASPECT_RATIO * SCREEN_HEIGHT / 130.0f, 3.0f, 1.0f);
|
||||
#else
|
||||
create_dl_scale_matrix(MENU_MTX_NOPUSH, 2.6f, 3.4f, 1.0f);
|
||||
#endif
|
||||
gSPDisplayList(dlHead++, dl_shade_screen_begin);
|
||||
gDPFillRectangle(dlHead++, GFX_DIMENSIONS_RECT_FROM_LEFT_EDGE(0), gBorderHeight,
|
||||
(GFX_DIMENSIONS_RECT_FROM_RIGHT_EDGE(0) - 1), ((SCREEN_HEIGHT - gBorderHeight) - 1));
|
||||
gSPDisplayList(dlHead++, dl_shade_screen_end);
|
||||
|
||||
gDPSetEnvColor(gDisplayListHead++, 0, 0, 0, 110);
|
||||
gSPDisplayList(gDisplayListHead++, dl_draw_text_bg_box);
|
||||
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
||||
gDisplayListHead = dlHead;
|
||||
}
|
||||
|
||||
void print_animated_red_coin(s16 x, s16 y) {
|
||||
|
||||
@@ -54,6 +54,8 @@ extern Gfx dl_ia_text_tex_settings[];
|
||||
extern Gfx dl_rgba16_load_tex_block[];
|
||||
extern void *main_credits_font_lut[];
|
||||
extern Texture *main_hud_camera_lut[6];
|
||||
extern Gfx dl_shade_screen_begin[];
|
||||
extern Gfx dl_shade_screen_end[];
|
||||
extern Gfx dl_draw_text_bg_box[];
|
||||
extern Gfx dl_draw_triangle[];
|
||||
extern void *seg2_dialog_table[];
|
||||
|
||||
Reference in New Issue
Block a user