Attempt to decompile menuRenderBanner

This commit is contained in:
Ryan Dwyer
2022-01-24 21:44:50 +10:00
parent 769695adaa
commit 39e9768da4
8 changed files with 222 additions and 71 deletions
+7 -7
View File
@@ -1603,7 +1603,7 @@ void func0f14bdbc(s32 index)
if (value == 4 || value == 5) {
thing->unk0f4 = 6;
g_MpPlayerNum = index;
func0f0f0ca0(-1, false);
menuSetBanner(-1, false);
thing2 = func0f14a06c(-1);
thing2->unk3f4_00 = false;
@@ -1678,7 +1678,7 @@ void func0f14bec8(s32 index)
func0f14bc04();
pak0f11d478(func0f14a5a4());
g_MpPlayerNum = index;
func0f0f0ca0(-1, false);
menuSetBanner(-1, false);
func0f14a678();
thing2->unk3f4_00 = true;
g_MpPlayerNum = index;
@@ -1783,7 +1783,7 @@ void func0f14c4c0(s32 index)
var8007f8dc[index].unk0f4 = 4;
g_MpPlayerNum = index;
func0f0f0ca0(2, false);
menuSetBanner(MENUBANNER_DOWNLOADINGIMAGE, false);
}
GLOBAL_ASM(
@@ -2166,7 +2166,7 @@ glabel var7f1b734c
/* f14cf74: 3c018007 */ lui $at,%hi(g_MpPlayerNum)
/* f14cf78: ac201448 */ sw $zero,%lo(g_MpPlayerNum)($at)
/* f14cf7c: 2404ffff */ addiu $a0,$zero,-1
/* f14cf80: 0fc3c328 */ jal func0f0f0ca0
/* f14cf80: 0fc3c328 */ jal menuSetBanner
/* f14cf84: 00002825 */ or $a1,$zero,$zero
/* f14cf88: 0fc52969 */ jal func0f14a5a4
/* f14cf8c: 00000000 */ nop
@@ -2208,7 +2208,7 @@ glabel var7f1b734c
/* f14d01c: 3c018007 */ lui $at,%hi(g_MpPlayerNum)
/* f14d020: ac201448 */ sw $zero,%lo(g_MpPlayerNum)($at)
/* f14d024: 2404ffff */ addiu $a0,$zero,-1
/* f14d028: 0fc3c328 */ jal func0f0f0ca0
/* f14d028: 0fc3c328 */ jal menuSetBanner
/* f14d02c: 00002825 */ or $a1,$zero,$zero
.L0f14d030:
/* f14d030: 0fc52969 */ jal func0f14a5a4
@@ -2238,7 +2238,7 @@ void func0f14d064(s32 index, u8 *arg1)
thing->unk064 = 0x2000;
thing->unk060 = 6;
g_MpPlayerNum = index;
func0f0f0ca0(1, false);
menuSetBanner(MENUBANNER_CALIBRATINGCAMERA, false);
func0f14a16c(1);
pak0f1171b4(func0f14a5a4(), 1, 1);
thing->unk0f8 = 3;
@@ -2283,7 +2283,7 @@ void func0f14d064(s32 index, u8 *arg1)
thing->unk0f8 = 6;
thing->unk100 = thing->unk0fc;
g_MpPlayerNum = index;
func0f0f0ca0(-1, 0);
menuSetBanner(-1, false);
pak0f1171b4(func0f14a5a4(), 3, 0);
var8007f8dc[var800a45a0->unk000].unk0d4_04 = true;
thing->unk0f8 = 0;
+2 -2
View File
@@ -451,7 +451,7 @@ char *filemgrMenuTextFileType(struct menuitem *item)
void func0f10898c(void)
{
func0f0f0ca0(-1, false);
menuSetBanner(-1, false);
switch (g_Menus[g_MpPlayerNum].fm.fileop) {
case FILEOP_WRITE_GAME:
@@ -478,7 +478,7 @@ void func0f10898c(void)
void filemgrHandleSuccess(void)
{
func0f0f0ca0(-1, false);
menuSetBanner(-1, false);
switch (g_Menus[g_MpPlayerNum].fm.fileop) {
case FILEOP_WRITE_GAME:
+1 -1
View File
@@ -719,7 +719,7 @@ void menuTick(void)
|| g_MenuData.unk5d5_05
|| g_MenuData.unk5d4
|| g_Menus[mpindex].curdialog
|| g_MenuData.unk01b != -1) {
|| g_MenuData.bannernum != -1) {
g_Vars.players[i]->menuisactive = true;
} else {
g_Vars.players[i]->menuisactive = false;
+164 -25
View File
@@ -139,7 +139,6 @@ const struct menucolourpalette g_MenuColourPalettes3[] = {
};
#if VERSION >= VERSION_NTSC_1_0
const u32 var7f1b23e8[] = {0x544d0000};
char *g_StringPointer = g_CheatMarqueeString;
char *g_StringPointer2 = &g_CheatMarqueeString[PAL ? 150 : 125];
#endif
@@ -263,27 +262,19 @@ bool func0f0f0c68(void)
return true;
}
void func0f0f0ca0(s32 value, bool allplayers)
void menuSetBanner(s32 bannernum, bool allplayers)
{
if (allplayers) {
g_MenuData.unk01b = value;
g_MenuData.bannernum = bannernum;
return;
}
g_Menus[g_MpPlayerNum].unkdf8 = value;
g_Menus[g_MpPlayerNum].bannernum = bannernum;
}
u32 var8007144c = 0x51e451e5;
u32 var80071450 = 0x51e651e7;
u32 var80071454 = 0x51e851e9;
u32 var80071458 = 0x51ea51eb;
u32 var8007145c = 0x51ec51ed;
u32 var80071460 = 0x51ee0000;
u32 var80071464 = 0x00000000;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel menuRenderBannerMessages
glabel menuRenderBanner
/* f0f1408: 27bdff70 */ addiu $sp,$sp,-144
/* f0f140c: 8fae00a4 */ lw $t6,0xa4($sp)
/* f0f1410: afb10038 */ sw $s1,0x38($sp)
@@ -706,7 +697,7 @@ glabel menuRenderBannerMessages
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel menuRenderBannerMessages
glabel menuRenderBanner
/* f0f0ce8: 27bdff70 */ addiu $sp,$sp,-144
/* f0f0cec: 8fae00a4 */ lw $t6,0xa4($sp)
/* f0f0cf0: afb10038 */ sw $s1,0x38($sp)
@@ -1125,7 +1116,7 @@ glabel menuRenderBannerMessages
);
#else
GLOBAL_ASM(
glabel menuRenderBannerMessages
glabel menuRenderBanner
/* f0ed9ec: 27bdff68 */ addiu $sp,$sp,-152
/* f0ed9f0: 8fae00ac */ lw $t6,0xac($sp)
/* f0ed9f4: afb30040 */ sw $s3,0x40($sp)
@@ -1479,6 +1470,154 @@ glabel menuRenderBannerMessages
);
#endif
u32 var8007144c = 0x51e451e5;
u32 var80071450 = 0x51e651e7;
u32 var80071454 = 0x51e851e9;
u32 var80071458 = 0x51ea51eb;
u32 var8007145c = 0x51ec51ed;
u32 var80071460 = 0x51ee0000;
const char var7f1b23e8[] = "TM";
// Mismatch: Regalloc at first y calculation. Note that the calculation of tmp
// is postponed until later (tmp is eventually stored in a compiler-managed
// stack slot).
//#if VERSION >= VERSION_NTSC_1_0
//Gfx *menuRenderBanner(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, bool big, s32 msgnum, s32 arg7, s32 arg8)
//#else
//Gfx *menuRenderBanner(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, bool big, s32 msgnum)
//#endif
//{
// s32 tmp;
// s32 x; // 88
// s32 y; // 84
// s32 texttop; // 80
// s32 textheight; // 7c
// s32 textwidth; // 78
// s32 waitheight; // 74
// s32 waitwidth; // 70
// s32 bannertop; // 6c
// s32 bannerbottom; // 68
// struct fontchar *chars; // 64
// struct font *font; // 60
//
// static u16 msgs[] = {
// L_MPMENU_484, // "Searching for Camera!"
// L_MPMENU_485, // "Calibrating Camera"
// L_MPMENU_486, // "Downloading Image"
// L_MPMENU_487, // "Loading Image"
// L_MPMENU_488, // "Saving Image"
// L_MPMENU_489, // "Transferring Image"
// L_MPMENU_490, // "Uploading Segment"
// L_MPMENU_491, // "Checking Controller Pak"
// L_MPMENU_492, // "Getting PerfectHead"
// L_MPMENU_493, // "Saving PerfectHead"
// L_MPMENU_494, // "Auto Camera Adjustment"
// };
//
// chars = g_CharsHandelGothicSm;
// font = g_FontHandelGothicSm;
//
// if (big) {
//#if VERSION >= VERSION_PAL_FINAL
// if (g_CharsHandelGothicMd) {
// chars = g_CharsHandelGothicMd;
// font = g_FontHandelGothicMd;
// }
//#else
// chars = g_CharsHandelGothicMd;
// font = g_FontHandelGothicMd;
//#endif
// }
//
//#if VERSION >= VERSION_NTSC_1_0
// tmp = x1 + arg7 + x2 - arg8;
// tmp /= 2;
//#else
// tmp = x1 + x2;
// tmp /= 2;
//#endif
//
// y = y1 + y2;
// y /= 2;
//
// textMeasure(&textheight, &textwidth, langGet(msgs[msgnum]), chars, font, 0);
//
// // "Please Wait..."
// textMeasure(&waitheight, &waitwidth, langGet(L_MPMENU_495), chars, font, 0);
//
//#if VERSION >= VERSION_NTSC_1_0
// if (msgs[msgnum] == L_MPMENU_491) { // "Checking Controller Pak"
// // Add space for "TM"
// textwidth += 7;
// }
//#endif
//
// texttop = y - (textheight + waitheight) / 2;
// bannertop = texttop - 4;
// bannerbottom = texttop + textheight + waitheight + 7;
//
// y = texttop;
//
// // Black fill
// gdl = gfxSetPrimColour(gdl, 0x0000007f);
// gDPFillRectangleScaled(gdl++, x1, y1, x2, y2);
// gdl = func0f153838(gdl);
//
// // Dark blue fill
// gdl = gfxSetPrimColour(gdl, 0x00007f7f);
// gDPFillRectangleScaled(gdl++, x1, bannertop, x2, bannerbottom);
// gdl = func0f153838(gdl);
//
// // Top and bottom borders (light blue)
// gdl = gfxSetPrimColour(gdl, 0x7f7fff7f);
// gDPFillRectangleScaled(gdl++, x1, bannerbottom + 2, x2, bannerbottom + 4);
// gDPFillRectangleScaled(gdl++, x1, bannertop - 4, x2, bannertop - 2);
// gdl = func0f153838(gdl);
//
// gdl = func0f153628(gdl);
//
// // Render the selected message's shadow
// x = tmp - textwidth / 2 + 2;
// y += 2;
// gdl = textRenderProjected(gdl, &x, &y, langGet(msgs[msgnum]),
// chars, font, 0x000000ff, viGetWidth(), viGetWidth(), 0, 0);
//
// // Render "Please Wait..." shadow
// x = tmp - waitwidth / 2 + 2;
// y += 3;
// gdl = textRenderProjected(gdl, &x, &y, langGet(L_MPMENU_495),
// chars, font, 0x000000ff, viGetWidth(), viGetWidth(), 0, 0);
//
// // Render the selected message proper
// x = tmp - textwidth / 2;
// y = texttop;
// gdl = textRenderProjected(gdl, &x, &y, langGet(msgs[msgnum]),
// chars, font, 0xbfbfffff, viGetWidth(), viGetWidth(), 0, 0);
//
// // Render "Please Wait..." proper
// x = tmp - waitwidth / 2;
// y += 3;
// gdl = textRenderProjected(gdl, &x, &y, langGet(L_MPMENU_495),
// chars, font, 0xbfbfffff, viGetWidth(), viGetWidth(), 0, 0);
//
//#if VERSION >= VERSION_NTSC_1_0
// if (msgs[msgnum] == L_MPMENU_491) { // "Checking Controller Pak"
// // Render "TM"
// y = texttop - 1;
// x = textwidth / 2 + tmp - 7;
// gdl = textRenderProjected(gdl, &x, &y, "TM",
// g_CharsHandelGothicXs, g_FontHandelGothicXs, 0xbfbfffff, viGetWidth(), viGetWidth(), 0, 0);
// }
//#endif
//
// gdl = func0f153780(gdl);
//
// return gdl;
//}
u32 var80071464 = 0;
struct menudfc *func0f0f1338(struct menuitem *item)
{
s32 i;
@@ -14045,7 +14184,7 @@ Gfx *menuRenderDialogs(Gfx *gdl)
}
// Render banner messages
if (g_Menus[g_MpPlayerNum].unkdf8 != -1 && (g_Menus[g_MpPlayerNum].curdialog->definition->unk10 & 0x80) == 0) {
if (g_Menus[g_MpPlayerNum].bannernum != -1 && (g_Menus[g_MpPlayerNum].curdialog->definition->unk10 & 0x80) == 0) {
if (g_MenuData.count >= 2) {
s32 xmin;
s32 ymin;
@@ -14055,9 +14194,9 @@ Gfx *menuRenderDialogs(Gfx *gdl)
menuFindAvailableSize(&xmin, &ymin, &xmax, &ymax);
#if VERSION >= VERSION_NTSC_1_0
gdl = menuRenderBannerMessages(gdl, xmin, ymin, xmax, ymax, 0, g_Menus[g_MpPlayerNum].unkdf8, 0, 0);
gdl = menuRenderBanner(gdl, xmin, ymin, xmax, ymax, false, g_Menus[g_MpPlayerNum].bannernum, 0, 0);
#else
gdl = menuRenderBannerMessages(gdl, xmin, ymin, xmax, ymax, 0, g_Menus[g_MpPlayerNum].unkdf8);
gdl = menuRenderBanner(gdl, xmin, ymin, xmax, ymax, false, g_Menus[g_MpPlayerNum].bannernum);
#endif
} else {
s32 xmin = viGetViewLeft() / g_ScaleX;
@@ -14066,9 +14205,9 @@ Gfx *menuRenderDialogs(Gfx *gdl)
s32 ymax = viGetViewTop() + viGetViewHeight();
#if VERSION >= VERSION_NTSC_1_0
gdl = menuRenderBannerMessages(gdl, xmin, ymin, xmax, ymax, 1, g_Menus[g_MpPlayerNum].unkdf8, 0, 0);
gdl = menuRenderBanner(gdl, xmin, ymin, xmax, ymax, true, g_Menus[g_MpPlayerNum].bannernum, 0, 0);
#else
gdl = menuRenderBannerMessages(gdl, xmin, ymin, xmax, ymax, 1, g_Menus[g_MpPlayerNum].unkdf8);
gdl = menuRenderBanner(gdl, xmin, ymin, xmax, ymax, true, g_Menus[g_MpPlayerNum].bannernum);
#endif
}
}
@@ -14233,7 +14372,7 @@ void menuInit(void)
g_Menus[i].rowend = 0;
g_Menus[i].blockend = 0;
g_Menus[i].colend = 0;
g_Menus[i].unkdf8 = -1;
g_Menus[i].bannernum = -1;
g_Menus[i].fm.unke41 = 0;
g_Menus[i].fm.unke64 = 0;
g_Menus[i].fm.headtextures = NULL;
@@ -14248,7 +14387,7 @@ void menuInit(void)
g_MenuData.bg = 0;
g_MenuData.unk5d5_06 = false;
g_MenuData.nextbg = 255;
g_MenuData.unk01b = -1;
g_MenuData.bannernum = -1;
for (i = 0; i < 5; i++) {
g_MenuData.unk669[i] = 0xff;
@@ -22491,7 +22630,7 @@ Gfx *menuRender(Gfx *gdl)
// Render banner messages, such as "Please Wait...",
// "Checking Controller Pak" and some unused game boy camera texts.
if (g_MenuData.unk01b != -1) {
if (g_MenuData.bannernum != -1) {
s32 x1 = viGetViewLeft() / g_ScaleX;
s32 y1 = viGetViewTop();
s32 x2 = (viGetViewLeft() + viGetViewWidth()) / g_ScaleX;
@@ -22517,7 +22656,7 @@ Gfx *menuRender(Gfx *gdl)
}
}
gdl = menuRenderBannerMessages(gdl, x1, y1, x2, y2, PLAYERCOUNT() < 2, g_MenuData.unk01b, left, right);
gdl = menuRenderBanner(gdl, x1, y1, x2, y2, PLAYERCOUNT() < 2, g_MenuData.bannernum, left, right);
#else
if (PLAYERCOUNT() >= 3) {
if (g_Vars.currentplayernum == 1 || g_Vars.currentplayernum == 3) {
@@ -22535,7 +22674,7 @@ Gfx *menuRender(Gfx *gdl)
}
}
gdl = menuRenderBannerMessages(gdl, x1, y1, x2, y2, PLAYERCOUNT() < 2, g_MenuData.unk01b);
gdl = menuRenderBanner(gdl, x1, y1, x2, y2, PLAYERCOUNT() < 2, g_MenuData.bannernum);
#endif
}
+31 -31
View File
@@ -6841,7 +6841,7 @@ void pak0f11c54c(void)
if (g_Vars.unk0004e4) {
g_MpPlayerNum = 0;
func0f0f0ca0(7, true);
menuSetBanner(MENUBANNER_CHECKINGPAK, true);
var80075d14 = 0;
@@ -6874,7 +6874,7 @@ void pak0f11c54c(void)
joy000139c8();
}
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
var80075d14 = 1;
}
@@ -6897,7 +6897,7 @@ void pak0f11c6d0(void)
g_Paks[i].unk010 = PAK010_01;
var80075d10 &= ~(1 << i);
g_MpPlayerNum = i;
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
break;
}
}
@@ -8524,14 +8524,14 @@ void pak0f11df94(s8 device)
g_Paks[device].type = PAKTYPE_NONE;
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
func0f14aed0(device);
break;
case PAK010_02:
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
pakProbe(device);
@@ -8557,7 +8557,7 @@ void pak0f11df94(s8 device)
g_MpPlayerNum = device;
if (var80075d14) {
func0f0f0ca0(7, true);
menuSetBanner(MENUBANNER_CHECKINGPAK, true);
}
g_Paks[device].unk010 = PAK010_05;
@@ -8569,7 +8569,7 @@ void pak0f11df94(s8 device)
break;
case PAK010_06:
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
g_Paks[device].unk010 = PAK010_11;
@@ -8597,7 +8597,7 @@ void pak0f11df94(s8 device)
break;
case PAK010_15:
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
if ((g_Vars.paksconnected & (1 << device)) && func0f0fd1f4(device, 1)) {
func0f0fd320(device, 1);
@@ -8615,7 +8615,7 @@ void pak0f11df94(s8 device)
break;
case PAK010_14:
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
if (((g_Vars.paksconnected & (1 << device))) && func0f0fd1f4(device, 2)) {
func0f0fd320(device, 2);
@@ -8624,7 +8624,7 @@ void pak0f11df94(s8 device)
break;
case PAK010_16:
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
if ((g_Vars.paksconnected & (1 << device)) && func0f0fd1f4(device, 0)) {
func0f0fd320(device, 0);
@@ -8633,19 +8633,19 @@ void pak0f11df94(s8 device)
break;
case PAK010_21:
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
break;
case PAK010_22:
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
break;
}
if (g_Paks[device].unk2b8_07) {
if (var80075d14) {
func0f0f0ca0(-1, true);
menuSetBanner(-1, true);
}
if (func0f0fd1f4(device, 4)) {
@@ -8741,7 +8741,7 @@ glabel var7f1b4fd8
/* f11dd6c: 24050001 */ addiu $a1,$zero,0x1
/* f11dd70: 51400005 */ beqzl $t2,.L0f11dd88
/* f11dd74: 83a40023 */ lb $a0,0x23($sp)
/* f11dd78: 0fc3c320 */ jal func0f0f0ca0
/* f11dd78: 0fc3c320 */ jal menuSetBanner
/* f11dd7c: afa3001c */ sw $v1,0x1c($sp)
/* f11dd80: 8fa3001c */ lw $v1,0x1c($sp)
/* f11dd84: 83a40023 */ lb $a0,0x23($sp)
@@ -8779,7 +8779,7 @@ glabel var7f1b4fd8
/* f11ddfc: 13000004 */ beqz $t8,.L0f11de10
/* f11de00: ac600000 */ sw $zero,0x0($v1)
/* f11de04: 2404ffff */ addiu $a0,$zero,-1
/* f11de08: 0fc3c320 */ jal func0f0f0ca0
/* f11de08: 0fc3c320 */ jal menuSetBanner
/* f11de0c: 24050001 */ addiu $a1,$zero,0x1
.L0f11de10:
/* f11de10: 0fc52b28 */ jal func0f14aed0
@@ -8790,7 +8790,7 @@ glabel var7f1b4fd8
/* f11de24: 2404ffff */ addiu $a0,$zero,-1
/* f11de28: 13200003 */ beqz $t9,.L0f11de38
/* f11de2c: 00000000 */ sll $zero,$zero,0x0
/* f11de30: 0fc3c320 */ jal func0f0f0ca0
/* f11de30: 0fc3c320 */ jal menuSetBanner
/* f11de34: 24050001 */ addiu $a1,$zero,0x1
.L0f11de38:
/* f11de38: 0fc46a7f */ jal pakProbe
@@ -8838,7 +8838,7 @@ glabel var7f1b4fd8
/* f11ded8: 24050001 */ addiu $a1,$zero,0x1
/* f11dedc: 51c00005 */ beqzl $t6,.L0f11def4
/* f11dee0: 240f0005 */ addiu $t7,$zero,0x5
/* f11dee4: 0fc3c320 */ jal func0f0f0ca0
/* f11dee4: 0fc3c320 */ jal menuSetBanner
/* f11dee8: afa3001c */ sw $v1,0x1c($sp)
/* f11deec: 8fa3001c */ lw $v1,0x1c($sp)
/* f11def0: 240f0005 */ addiu $t7,$zero,0x5
@@ -8858,7 +8858,7 @@ glabel var7f1b4fd8
/* f11df24: 24050001 */ addiu $a1,$zero,0x1
/* f11df28: 53000005 */ beqzl $t8,.L0f11df40
/* f11df2c: 2409000b */ addiu $t1,$zero,0xb
/* f11df30: 0fc3c320 */ jal func0f0f0ca0
/* f11df30: 0fc3c320 */ jal menuSetBanner
/* f11df34: afa3001c */ sw $v1,0x1c($sp)
/* f11df38: 8fa3001c */ lw $v1,0x1c($sp)
/* f11df3c: 2409000b */ addiu $t1,$zero,0xb
@@ -8893,7 +8893,7 @@ glabel var7f1b4fd8
/* f11dfac: 11c00005 */ beqz $t6,.L0f11dfc4
/* f11dfb0: 2404ffff */ addiu $a0,$zero,-1
/* f11dfb4: 24050001 */ addiu $a1,$zero,0x1
/* f11dfb8: 0fc3c320 */ jal func0f0f0ca0
/* f11dfb8: 0fc3c320 */ jal menuSetBanner
/* f11dfbc: afa3001c */ sw $v1,0x1c($sp)
/* f11dfc0: 8fa3001c */ lw $v1,0x1c($sp)
.L0f11dfc4:
@@ -8940,7 +8940,7 @@ glabel var7f1b4fd8
/* f11e064: 24050001 */ addiu $a1,$zero,0x1
/* f11e068: 51a00005 */ beqzl $t5,.L0f11e080
/* f11e06c: 83a90023 */ lb $t1,0x23($sp)
/* f11e070: 0fc3c320 */ jal func0f0f0ca0
/* f11e070: 0fc3c320 */ jal menuSetBanner
/* f11e074: afa3001c */ sw $v1,0x1c($sp)
/* f11e078: 8fa3001c */ lw $v1,0x1c($sp)
/* f11e07c: 83a90023 */ lb $t1,0x23($sp)
@@ -8969,7 +8969,7 @@ glabel var7f1b4fd8
/* f11e0d4: 11000005 */ beqz $t0,.L0f11e0ec
/* f11e0d8: 2404ffff */ addiu $a0,$zero,-1
/* f11e0dc: 24050001 */ addiu $a1,$zero,0x1
/* f11e0e0: 0fc3c320 */ jal func0f0f0ca0
/* f11e0e0: 0fc3c320 */ jal menuSetBanner
/* f11e0e4: afa3001c */ sw $v1,0x1c($sp)
/* f11e0e8: 8fa3001c */ lw $v1,0x1c($sp)
.L0f11e0ec:
@@ -8997,7 +8997,7 @@ glabel var7f1b4fd8
/* f11e140: 8cd90000 */ lw $t9,0x0($a2)
/* f11e144: 1320000b */ beqz $t9,.L0f11e174
/* f11e148: 2404ffff */ addiu $a0,$zero,-1
/* f11e14c: 0fc3c320 */ jal func0f0f0ca0
/* f11e14c: 0fc3c320 */ jal menuSetBanner
/* f11e150: 24050001 */ addiu $a1,$zero,0x1
/* f11e154: 10000008 */ beqz $zero,.L0f11e178
/* f11e158: 8fbf0014 */ lw $ra,0x14($sp)
@@ -9005,7 +9005,7 @@ glabel var7f1b4fd8
/* f11e160: 2404ffff */ addiu $a0,$zero,-1
/* f11e164: 51200004 */ beqzl $t1,.L0f11e178
/* f11e168: 8fbf0014 */ lw $ra,0x14($sp)
/* f11e16c: 0fc3c320 */ jal func0f0f0ca0
/* f11e16c: 0fc3c320 */ jal menuSetBanner
/* f11e170: 24050001 */ addiu $a1,$zero,0x1
.L0f11e174:
/* f11e174: 8fbf0014 */ lw $ra,0x14($sp)
@@ -9103,7 +9103,7 @@ glabel var7f1af164nb
/* f117bf4: ac690264 */ sw $t1,0x264($v1)
/* f117bf8: 2404ffff */ addiu $a0,$zero,-1
/* f117bfc: 24050001 */ addiu $a1,$zero,0x1
/* f117c00: 0fc3b669 */ jal func0f0f0ca0
/* f117c00: 0fc3b669 */ jal menuSetBanner
/* f117c04: a3a6002b */ sb $a2,0x2b($sp)
/* f117c08: 0fc515a8 */ jal func0f14aed0
/* f117c0c: 83a4002b */ lb $a0,0x2b($sp)
@@ -9157,7 +9157,7 @@ glabel var7f1af164nb
/* f117cc4: ac263af0 */ sw $a2,0x3af0($at)
/* f117cc8: 24040007 */ addiu $a0,$zero,0x7
/* f117ccc: 24050001 */ addiu $a1,$zero,0x1
/* f117cd0: 0fc3b669 */ jal func0f0f0ca0
/* f117cd0: 0fc3b669 */ jal menuSetBanner
/* f117cd4: afa3001c */ sw $v1,0x1c($sp)
/* f117cd8: 8fa3001c */ lw $v1,0x1c($sp)
/* f117cdc: 24080005 */ addiu $t0,$zero,0x5
@@ -9171,7 +9171,7 @@ glabel var7f1af164nb
/* f117cfc: 8fbf0014 */ lw $ra,0x14($sp)
/* f117d00: 2404ffff */ addiu $a0,$zero,-1
/* f117d04: 24050001 */ addiu $a1,$zero,0x1
/* f117d08: 0fc3b669 */ jal func0f0f0ca0
/* f117d08: 0fc3b669 */ jal menuSetBanner
/* f117d0c: afa3001c */ sw $v1,0x1c($sp)
/* f117d10: 8fa3001c */ lw $v1,0x1c($sp)
/* f117d14: 240a000b */ addiu $t2,$zero,0xb
@@ -9272,7 +9272,7 @@ glabel var7f1af164nb
/* f117e80: 2404ffff */ addiu $a0,$zero,-1
/* f117e84: 24050001 */ addiu $a1,$zero,0x1
/* f117e88: afa3001c */ sw $v1,0x1c($sp)
/* f117e8c: 0fc3b669 */ jal func0f0f0ca0
/* f117e8c: 0fc3b669 */ jal menuSetBanner
/* f117e90: a3a6002b */ sb $a2,0x2b($sp)
/* f117e94: 83a4002b */ lb $a0,0x2b($sp)
/* f117e98: 0fc3e5ed */ jal func0f0fd1f4
@@ -9291,7 +9291,7 @@ glabel var7f1af164nb
/* f117ecc: 2404ffff */ addiu $a0,$zero,-1
/* f117ed0: 24050001 */ addiu $a1,$zero,0x1
/* f117ed4: afa3001c */ sw $v1,0x1c($sp)
/* f117ed8: 0fc3b669 */ jal func0f0f0ca0
/* f117ed8: 0fc3b669 */ jal menuSetBanner
/* f117edc: a3a6002b */ sb $a2,0x2b($sp)
/* f117ee0: 83a4002b */ lb $a0,0x2b($sp)
/* f117ee4: 0fc3e5ed */ jal func0f0fd1f4
@@ -9310,7 +9310,7 @@ glabel var7f1af164nb
/* f117f18: 2404ffff */ addiu $a0,$zero,-1
/* f117f1c: 24050001 */ addiu $a1,$zero,0x1
/* f117f20: afa3001c */ sw $v1,0x1c($sp)
/* f117f24: 0fc3b669 */ jal func0f0f0ca0
/* f117f24: 0fc3b669 */ jal menuSetBanner
/* f117f28: a3a6002b */ sb $a2,0x2b($sp)
/* f117f2c: 83a4002b */ lb $a0,0x2b($sp)
/* f117f30: 0fc3e5ed */ jal func0f0fd1f4
@@ -9327,12 +9327,12 @@ glabel var7f1af164nb
/* f117f5c: 10000009 */ beqz $zero,.NB0f117f84
/* f117f60: ac780010 */ sw $t8,0x10($v1)
/* f117f64: 2404ffff */ addiu $a0,$zero,-1
/* f117f68: 0fc3b669 */ jal func0f0f0ca0
/* f117f68: 0fc3b669 */ jal menuSetBanner
/* f117f6c: 24050001 */ addiu $a1,$zero,0x1
/* f117f70: 10000005 */ beqz $zero,.NB0f117f88
/* f117f74: 8fbf0014 */ lw $ra,0x14($sp)
/* f117f78: 2404ffff */ addiu $a0,$zero,-1
/* f117f7c: 0fc3b669 */ jal func0f0f0ca0
/* f117f7c: 0fc3b669 */ jal menuSetBanner
/* f117f80: 24050001 */ addiu $a1,$zero,0x1
.NB0f117f84:
/* f117f84: 8fbf0014 */ lw $ra,0x14($sp)
+12
View File
@@ -1423,6 +1423,18 @@
#define MEMPOOL_7 7
#define MEMPOOL_8 8
#define MENUBANNER_SEARCHINGFORCAMERA 0
#define MENUBANNER_CALIBRATINGCAMERA 1
#define MENUBANNER_DOWNLOADINGIMAGE 2
#define MENUBANNER_LOADINGIMAGE 3
#define MENUBANNER_SAVINGIMAGE 4
#define MENUBANNER_TRANSFERRINGIMAGE 5
#define MENUBANNER_UPLOADINGSEGMENT 6
#define MENUBANNER_CHECKINGPAK 7
#define MENUBANNER_GETTINGPERFECTHEAD 8
#define MENUBANNER_SAVINGPERFECTHEAD 9
#define MENUBANNER_AUTOADJUST 10
#define MENUBG_BLUR 1
#define MENUBG_BLACK 2 // solid black, unused?
#define MENUBG_FAILURE 3 // solo mission failure endscreen
+3 -3
View File
@@ -12,12 +12,12 @@ void menuPlaySound(s32 menusound);
bool menuIsSoloMissionOrMp(void);
bool currentPlayerIsMenuOpenInSoloOrMp(void);
bool func0f0f0c68(void);
void func0f0f0ca0(s32 value, bool allplayers);
void menuSetBanner(s32 bannernum, bool allplayers);
#if VERSION >= VERSION_NTSC_1_0
Gfx *menuRenderBannerMessages(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, bool arg5, s32 arg6, s32 arg7, s32 arg8);
Gfx *menuRenderBanner(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, bool big, s32 msgnum, s32 arg7, s32 arg8);
#else
Gfx *menuRenderBannerMessages(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, bool arg5, s32 arg6);
Gfx *menuRenderBanner(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, bool big, s32 msgnum);
#endif
struct menudfc *func0f0f1338(struct menuitem *item);
+2 -2
View File
@@ -4343,7 +4343,7 @@ struct menu {
/*0xdf0*/ u8 unkdf0;
/*0xdf1*/ u8 unkdf1 : 1;
/*0xdf4*/ struct modelpartvisibility *partvisibility;
/*0xdf8*/ s8 unkdf8;
/*0xdf8*/ s8 bannernum;
/*0xdfc*/ struct menudfc unkdfc[4];
union {
@@ -5149,7 +5149,7 @@ struct menudata {
/*0x015*/ u8 nextbg;
/*0x016*/ u8 unk016;
/*0x017*/ u8 playerjoinalpha[4];
/*0x01b*/ s8 unk01b;
/*0x01b*/ s8 bannernum;
/*0x01c*/ u8 unk01c;
/*0x020*/ u32 unk020;
/*0x024*/ u32 unk024;