From f091f5981d6c16bb462f8f0808aa6a65c04a1ac3 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 15 Sep 2020 08:05:54 +1000 Subject: [PATCH] Decompile menuRenderItemSeparator --- src/game/game_0dcdb0.c | 8 +- src/game/game_0e0770.c | 18 +- src/game/game_0e5ce0.c | 381 +++++++++++++++------------------ src/game/game_0f09f0.c | 111 +++++----- src/game/game_1a3340.c | 2 +- src/include/game/game_0e0770.h | 2 +- src/include/game/game_0e5ce0.h | 4 +- src/include/game/game_0f09f0.h | 2 + src/include/types.h | 49 +++++ 9 files changed, 288 insertions(+), 289 deletions(-) diff --git a/src/game/game_0dcdb0.c b/src/game/game_0dcdb0.c index 3f302ac76..27107b08b 100644 --- a/src/game/game_0dcdb0.c +++ b/src/game/game_0dcdb0.c @@ -1283,7 +1283,7 @@ glabel var7f1adeac /* f0dd930: 02603025 */ or $a2,$s3,$zero /* f0dd934: 02403825 */ or $a3,$s2,$zero /* f0dd938: afb00014 */ sw $s0,0x14($sp) -/* f0dd93c: 0fc38bd7 */ jal func0f0e2f5c +/* f0dd93c: 0fc38bd7 */ jal renderFilledRect /* f0dd940: afb00018 */ sw $s0,0x18($sp) /* f0dd944: 8fa60080 */ lw $a2,0x80($sp) /* f0dd948: 00402025 */ or $a0,$v0,$zero @@ -1293,7 +1293,7 @@ glabel var7f1adeac /* f0dd958: afa30054 */ sw $v1,0x54($sp) /* f0dd95c: 02403825 */ or $a3,$s2,$zero /* f0dd960: afb00014 */ sw $s0,0x14($sp) -/* f0dd964: 0fc38bd7 */ jal func0f0e2f5c +/* f0dd964: 0fc38bd7 */ jal renderFilledRect /* f0dd968: afb00018 */ sw $s0,0x18($sp) /* f0dd96c: 8fa80080 */ lw $t0,0x80($sp) /* f0dd970: 00402025 */ or $a0,$v0,$zero @@ -1302,7 +1302,7 @@ glabel var7f1adeac /* f0dd97c: 26270001 */ addiu $a3,$s1,0x1 /* f0dd980: afb00014 */ sw $s0,0x14($sp) /* f0dd984: afb00018 */ sw $s0,0x18($sp) -/* f0dd988: 0fc38bd7 */ jal func0f0e2f5c +/* f0dd988: 0fc38bd7 */ jal renderFilledRect /* f0dd98c: afa80010 */ sw $t0,0x10($sp) /* f0dd990: 8fa90054 */ lw $t1,0x54($sp) /* f0dd994: 00402025 */ or $a0,$v0,$zero @@ -1311,7 +1311,7 @@ glabel var7f1adeac /* f0dd9a0: 26470001 */ addiu $a3,$s2,0x1 /* f0dd9a4: afb00014 */ sw $s0,0x14($sp) /* f0dd9a8: afb00018 */ sw $s0,0x18($sp) -/* f0dd9ac: 0fc38bd7 */ jal func0f0e2f5c +/* f0dd9ac: 0fc38bd7 */ jal renderFilledRect /* f0dd9b0: afa90010 */ sw $t1,0x10($sp) /* f0dd9b4: 0fc35272 */ jal func0f0d49c8 /* f0dd9b8: 00402025 */ or $a0,$v0,$zero diff --git a/src/game/game_0e0770.c b/src/game/game_0e0770.c index 1112da216..5c970a757 100644 --- a/src/game/game_0e0770.c +++ b/src/game/game_0e0770.c @@ -528,8 +528,8 @@ glabel func0f0e0dac /* f0e0e50: 4502000b */ bc1fl .L0f0e0e80 /* f0e0e54: 9069003d */ lbu $t1,0x3d($v1) /* f0e0e58: 906f003c */ lbu $t7,0x3c($v1) -/* f0e0e5c: 3c197f1b */ lui $t9,%hi(var7f1b1fb0) -/* f0e0e60: 27391fb0 */ addiu $t9,$t9,%lo(var7f1b1fb0) +/* f0e0e5c: 3c197f1b */ lui $t9,%hi(g_MenuColourPalettes) +/* f0e0e60: 27391fb0 */ addiu $t9,$t9,%lo(g_MenuColourPalettes) /* f0e0e64: 000fc100 */ sll $t8,$t7,0x4 /* f0e0e68: 030fc023 */ subu $t8,$t8,$t7 /* f0e0e6c: 0018c080 */ sll $t8,$t8,0x2 @@ -541,8 +541,8 @@ glabel func0f0e0dac /* f0e0e80: 2407003c */ addiu $a3,$zero,0x3c /* f0e0e84: 906b003c */ lbu $t3,0x3c($v1) /* f0e0e88: 01270019 */ multu $t1,$a3 -/* f0e0e8c: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0e0e90: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0e0e8c: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0e0e90: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0e0e94: 8c660044 */ lw $a2,0x44($v1) /* f0e0e98: 00006012 */ mflo $t4 /* f0e0e9c: 004c5021 */ addu $t2,$v0,$t4 @@ -553,8 +553,8 @@ glabel func0f0e0dac /* f0e0eb0: 0fc01a40 */ jal colourBlend /* f0e0eb4: 8dc50000 */ lw $a1,0x0($t6) /* f0e0eb8: 8fa3004c */ lw $v1,0x4c($sp) -/* f0e0ebc: 3c197f1b */ lui $t9,%hi(var7f1b1fb0) -/* f0e0ec0: 27391fb0 */ addiu $t9,$t9,%lo(var7f1b1fb0) +/* f0e0ebc: 3c197f1b */ lui $t9,%hi(g_MenuColourPalettes) +/* f0e0ec0: 27391fb0 */ addiu $t9,$t9,%lo(g_MenuColourPalettes) /* f0e0ec4: 906f003c */ lbu $t7,0x3c($v1) /* f0e0ec8: 00404025 */ or $t0,$v0,$zero /* f0e0ecc: c4600040 */ lwc1 $f0,0x40($v1) @@ -564,7 +564,7 @@ glabel func0f0e0dac /* f0e0edc: 03193821 */ addu $a3,$t8,$t9 .L0f0e0ee0: /* f0e0ee0: 44803000 */ mtc1 $zero,$f6 -/* f0e0ee4: 3c047f1b */ lui $a0,%hi(var7f1b1fb8) +/* f0e0ee4: 3c047f1b */ lui $a0,%hi(g_MenuColourPalettes+0x8) /* f0e0ee8: 4606003c */ c.lt.s $f0,$f6 /* f0e0eec: 00000000 */ nop /* f0e0ef0: 45020004 */ bc1fl .L0f0e0f04 @@ -579,7 +579,7 @@ glabel func0f0e0dac /* f0e0f10: 01896023 */ subu $t4,$t4,$t1 /* f0e0f14: 000c6080 */ sll $t4,$t4,0x2 /* f0e0f18: 008c2021 */ addu $a0,$a0,$t4 -/* f0e0f1c: 8c841fb8 */ lw $a0,%lo(var7f1b1fb8)($a0) +/* f0e0f1c: 8c841fb8 */ lw $a0,%lo(g_MenuColourPalettes+0x8)($a0) /* f0e0f20: 0fc01a40 */ jal colourBlend /* f0e0f24: 8ce50008 */ lw $a1,0x8($a3) /* f0e0f28: 8fa80030 */ lw $t0,0x30($sp) @@ -2750,7 +2750,7 @@ glabel func0f0e2ee8 ); GLOBAL_ASM( -glabel func0f0e2f5c +glabel renderFilledRect /* f0e2f5c: 27bdffd0 */ addiu $sp,$sp,-48 /* f0e2f60: afbf002c */ sw $ra,0x2c($sp) /* f0e2f64: afa50034 */ sw $a1,0x34($sp) diff --git a/src/game/game_0e5ce0.c b/src/game/game_0e5ce0.c index aed7777f1..7d6d9ae51 100644 --- a/src/game/game_0e5ce0.c +++ b/src/game/game_0e5ce0.c @@ -4416,20 +4416,20 @@ glabel func0f0e6038 /* f0e6058: afa7005c */ sw $a3,0x5c($sp) /* f0e605c: 44803000 */ mtc1 $zero,$f6 /* f0e6060: c6240040 */ lwc1 $f4,0x40($s1) -/* f0e6064: 3c087f1b */ lui $t0,%hi(var7f1b1fb0) -/* f0e6068: 25081fb0 */ addiu $t0,$t0,%lo(var7f1b1fb0) +/* f0e6064: 3c087f1b */ lui $t0,%hi(g_MenuColourPalettes) +/* f0e6068: 25081fb0 */ addiu $t0,$t0,%lo(g_MenuColourPalettes) /* f0e606c: 4606203c */ c.lt.s $f4,$f6 /* f0e6070: 00000000 */ nop /* f0e6074: 4502000a */ bc1fl .L0f0e60a0 /* f0e6078: 9238003d */ lbu $t8,0x3d($s1) /* f0e607c: 922e003c */ lbu $t6,0x3c($s1) -/* f0e6080: 3c107f1b */ lui $s0,%hi(var7f1b1fdc) +/* f0e6080: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x2c) /* f0e6084: 000e7900 */ sll $t7,$t6,0x4 /* f0e6088: 01ee7823 */ subu $t7,$t7,$t6 /* f0e608c: 000f7880 */ sll $t7,$t7,0x2 /* f0e6090: 020f8021 */ addu $s0,$s0,$t7 /* f0e6094: 10000010 */ b .L0f0e60d8 -/* f0e6098: 8e101fdc */ lw $s0,%lo(var7f1b1fdc)($s0) +/* f0e6098: 8e101fdc */ lw $s0,%lo(g_MenuColourPalettes+0x2c)($s0) /* f0e609c: 9238003d */ lbu $t8,0x3d($s1) .L0f0e60a0: /* f0e60a0: 922a003c */ lbu $t2,0x3c($s1) @@ -4486,20 +4486,20 @@ glabel func0f0e6038 /* f0e6164: afb90048 */ sw $t9,0x48($sp) /* f0e6168: c6280040 */ lwc1 $f8,0x40($s1) /* f0e616c: 44805000 */ mtc1 $zero,$f10 -/* f0e6170: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0e6174: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0e6170: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0e6174: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0e6178: 460a403c */ c.lt.s $f8,$f10 /* f0e617c: 00000000 */ nop /* f0e6180: 4502000a */ bc1fl .L0f0e61ac /* f0e6184: 922a003d */ lbu $t2,0x3d($s1) /* f0e6188: 9238003c */ lbu $t8,0x3c($s1) -/* f0e618c: 3c107f1b */ lui $s0,%hi(var7f1b1fe0) +/* f0e618c: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x30) /* f0e6190: 00184900 */ sll $t1,$t8,0x4 /* f0e6194: 01384823 */ subu $t1,$t1,$t8 /* f0e6198: 00094880 */ sll $t1,$t1,0x2 /* f0e619c: 02098021 */ addu $s0,$s0,$t1 /* f0e61a0: 10000010 */ b .L0f0e61e4 -/* f0e61a4: 8e101fe0 */ lw $s0,%lo(var7f1b1fe0)($s0) +/* f0e61a4: 8e101fe0 */ lw $s0,%lo(g_MenuColourPalettes+0x30)($s0) /* f0e61a8: 922a003d */ lbu $t2,0x3d($s1) .L0f0e61ac: /* f0e61ac: 922c003c */ lbu $t4,0x3c($s1) @@ -5092,8 +5092,8 @@ glabel menuRenderItemCustom .L0f0e6a48: /* f0e6a48: 8faa00fc */ lw $t2,0xfc($sp) .L0f0e6a4c: -/* f0e6a4c: 3c167f1b */ lui $s6,%hi(var7f1b1fb0) -/* f0e6a50: 26d61fb0 */ addiu $s6,$s6,%lo(var7f1b1fb0) +/* f0e6a4c: 3c167f1b */ lui $s6,%hi(g_MenuColourPalettes) +/* f0e6a50: 26d61fb0 */ addiu $s6,$s6,%lo(g_MenuColourPalettes) /* f0e6a54: 56aa0003 */ bnel $s5,$t2,.L0f0e6a64 /* f0e6a58: 2415003c */ addiu $s5,$zero,0x3c /* f0e6a5c: 2694fff5 */ addiu $s4,$s4,-11 @@ -5786,9 +5786,9 @@ glabel menuRenderItemCustom /* f0e7440: 9078003d */ lbu $t8,0x3d($v1) /* f0e7444: 906e003c */ lbu $t6,0x3c($v1) /* f0e7448: 2415003c */ addiu $s5,$zero,0x3c -/* f0e744c: 3c167f1b */ lui $s6,%hi(var7f1b1fb0) +/* f0e744c: 3c167f1b */ lui $s6,%hi(g_MenuColourPalettes) /* f0e7450: 01d50019 */ multu $t6,$s5 -/* f0e7454: 26d61fb0 */ addiu $s6,$s6,%lo(var7f1b1fb0) +/* f0e7454: 26d61fb0 */ addiu $s6,$s6,%lo(g_MenuColourPalettes) /* f0e7458: 00005012 */ mflo $t2 /* f0e745c: 02ca6821 */ addu $t5,$s6,$t2 /* f0e7460: 10000012 */ b .L0f0e74ac @@ -5798,8 +5798,8 @@ glabel menuRenderItemCustom /* f0e746c: 2415003c */ addiu $s5,$zero,0x3c /* f0e7470: 906f003c */ lbu $t7,0x3c($v1) /* f0e7474: 03150019 */ multu $t8,$s5 -/* f0e7478: 3c167f1b */ lui $s6,%hi(var7f1b1fb0) -/* f0e747c: 26d61fb0 */ addiu $s6,$s6,%lo(var7f1b1fb0) +/* f0e7478: 3c167f1b */ lui $s6,%hi(g_MenuColourPalettes) +/* f0e747c: 26d61fb0 */ addiu $s6,$s6,%lo(g_MenuColourPalettes) /* f0e7480: 8c660044 */ lw $a2,0x44($v1) /* f0e7484: 00005812 */ mflo $t3 /* f0e7488: 02cbc821 */ addu $t9,$s6,$t3 @@ -6260,20 +6260,20 @@ glabel menuRenderItemDropdown /* f0e7ad4: 4502000a */ bc1fl .L0f0e7b00 /* f0e7ad8: 9068003d */ lbu $t0,0x3d($v1) /* f0e7adc: 9078003c */ lbu $t8,0x3c($v1) -/* f0e7ae0: 3c117f1b */ lui $s1,%hi(var7f1b1fc8) +/* f0e7ae0: 3c117f1b */ lui $s1,%hi(g_MenuColourPalettes+0x18) /* f0e7ae4: 0018c900 */ sll $t9,$t8,0x4 /* f0e7ae8: 0338c823 */ subu $t9,$t9,$t8 /* f0e7aec: 0019c880 */ sll $t9,$t9,0x2 /* f0e7af0: 02398821 */ addu $s1,$s1,$t9 /* f0e7af4: 10000013 */ b .L0f0e7b44 -/* f0e7af8: 8e311fc8 */ lw $s1,%lo(var7f1b1fc8)($s1) +/* f0e7af8: 8e311fc8 */ lw $s1,%lo(g_MenuColourPalettes+0x18)($s1) /* f0e7afc: 9068003d */ lbu $t0,0x3d($v1) .L0f0e7b00: /* f0e7b00: 906c003c */ lbu $t4,0x3c($v1) -/* f0e7b04: 3c0a7f1b */ lui $t2,%hi(var7f1b1fb0) +/* f0e7b04: 3c0a7f1b */ lui $t2,%hi(g_MenuColourPalettes) /* f0e7b08: 00084900 */ sll $t1,$t0,0x4 /* f0e7b0c: 000c6900 */ sll $t5,$t4,0x4 -/* f0e7b10: 254a1fb0 */ addiu $t2,$t2,%lo(var7f1b1fb0) +/* f0e7b10: 254a1fb0 */ addiu $t2,$t2,%lo(g_MenuColourPalettes) /* f0e7b14: 01284823 */ subu $t1,$t1,$t0 /* f0e7b18: 01ac6823 */ subu $t5,$t5,$t4 /* f0e7b1c: 000d6880 */ sll $t5,$t5,0x2 @@ -6311,9 +6311,9 @@ glabel menuRenderItemDropdown /* f0e7b94: 3c01437f */ lui $at,0x437f /* f0e7b98: 44814000 */ mtc1 $at,$f8 /* f0e7b9c: 240b0001 */ addiu $t3,$zero,0x1 -/* f0e7ba0: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0e7ba0: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0e7ba4: 46080282 */ mul.s $f10,$f0,$f8 -/* f0e7ba8: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0e7ba8: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0e7bac: 3c014f00 */ lui $at,0x4f00 /* f0e7bb0: 4449f800 */ cfc1 $t1,$31 /* f0e7bb4: 44cbf800 */ ctc1 $t3,$31 @@ -6358,13 +6358,13 @@ glabel menuRenderItemDropdown /* f0e7c44: 4502000a */ bc1fl .L0f0e7c70 /* f0e7c48: 906a003d */ lbu $t2,0x3d($v1) /* f0e7c4c: 906c003c */ lbu $t4,0x3c($v1) -/* f0e7c50: 3c077f1b */ lui $a3,%hi(var7f1b1fd0) +/* f0e7c50: 3c077f1b */ lui $a3,%hi(g_MenuColourPalettes+0x20) /* f0e7c54: 000c6900 */ sll $t5,$t4,0x4 /* f0e7c58: 01ac6823 */ subu $t5,$t5,$t4 /* f0e7c5c: 000d6880 */ sll $t5,$t5,0x2 /* f0e7c60: 00ed3821 */ addu $a3,$a3,$t5 /* f0e7c64: 10000010 */ b .L0f0e7ca8 -/* f0e7c68: 8ce71fd0 */ lw $a3,%lo(var7f1b1fd0)($a3) +/* f0e7c68: 8ce71fd0 */ lw $a3,%lo(g_MenuColourPalettes+0x20)($a3) /* f0e7c6c: 906a003d */ lbu $t2,0x3d($v1) .L0f0e7c70: /* f0e7c70: 9078003c */ lbu $t8,0x3c($v1) @@ -6400,9 +6400,9 @@ glabel menuRenderItemDropdown /* f0e7ce0: 3c01437f */ lui $at,0x437f /* f0e7ce4: 44813000 */ mtc1 $at,$f6 /* f0e7ce8: 240b0001 */ addiu $t3,$zero,0x1 -/* f0e7cec: 3c0f7f1b */ lui $t7,%hi(var7f1b1fb0) +/* f0e7cec: 3c0f7f1b */ lui $t7,%hi(g_MenuColourPalettes) /* f0e7cf0: 46060202 */ mul.s $f8,$f0,$f6 -/* f0e7cf4: 25ef1fb0 */ addiu $t7,$t7,%lo(var7f1b1fb0) +/* f0e7cf4: 25ef1fb0 */ addiu $t7,$t7,%lo(g_MenuColourPalettes) /* f0e7cf8: 3c014f00 */ lui $at,0x4f00 /* f0e7cfc: 4449f800 */ cfc1 $t1,$31 /* f0e7d00: 44cbf800 */ ctc1 $t3,$31 @@ -6447,13 +6447,13 @@ glabel menuRenderItemDropdown /* f0e7d90: 4502000a */ bc1fl .L0f0e7dbc /* f0e7d94: 906a003d */ lbu $t2,0x3d($v1) /* f0e7d98: 906c003c */ lbu $t4,0x3c($v1) -/* f0e7d9c: 3c077f1b */ lui $a3,%hi(var7f1b1fd0) +/* f0e7d9c: 3c077f1b */ lui $a3,%hi(g_MenuColourPalettes+0x20) /* f0e7da0: 000c6900 */ sll $t5,$t4,0x4 /* f0e7da4: 01ac6823 */ subu $t5,$t5,$t4 /* f0e7da8: 000d6880 */ sll $t5,$t5,0x2 /* f0e7dac: 00ed3821 */ addu $a3,$a3,$t5 /* f0e7db0: 10000010 */ b .L0f0e7df4 -/* f0e7db4: 8ce71fd0 */ lw $a3,%lo(var7f1b1fd0)($a3) +/* f0e7db4: 8ce71fd0 */ lw $a3,%lo(g_MenuColourPalettes+0x20)($a3) /* f0e7db8: 906a003d */ lbu $t2,0x3d($v1) .L0f0e7dbc: /* f0e7dbc: 9079003c */ lbu $t9,0x3c($v1) @@ -6523,20 +6523,20 @@ glabel menuRenderItemDropdown /* f0e7eac: 4502000a */ bc1fl .L0f0e7ed8 /* f0e7eb0: 9079003d */ lbu $t9,0x3d($v1) /* f0e7eb4: 906e003c */ lbu $t6,0x3c($v1) -/* f0e7eb8: 3c117f1b */ lui $s1,%hi(var7f1b1fcc) +/* f0e7eb8: 3c117f1b */ lui $s1,%hi(g_MenuColourPalettes+0x1c) /* f0e7ebc: 000ec100 */ sll $t8,$t6,0x4 /* f0e7ec0: 030ec023 */ subu $t8,$t8,$t6 /* f0e7ec4: 0018c080 */ sll $t8,$t8,0x2 /* f0e7ec8: 02388821 */ addu $s1,$s1,$t8 /* f0e7ecc: 10000012 */ b .L0f0e7f18 -/* f0e7ed0: 8e311fcc */ lw $s1,%lo(var7f1b1fcc)($s1) +/* f0e7ed0: 8e311fcc */ lw $s1,%lo(g_MenuColourPalettes+0x1c)($s1) /* f0e7ed4: 9079003d */ lbu $t9,0x3d($v1) .L0f0e7ed8: /* f0e7ed8: 2407003c */ addiu $a3,$zero,0x3c /* f0e7edc: 9069003c */ lbu $t1,0x3c($v1) /* f0e7ee0: 03270019 */ multu $t9,$a3 -/* f0e7ee4: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0e7ee8: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0e7ee4: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0e7ee8: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0e7eec: 8c660044 */ lw $a2,0x44($v1) /* f0e7ef0: 00004012 */ mflo $t0 /* f0e7ef4: 00487821 */ addu $t7,$v0,$t0 @@ -7204,8 +7204,8 @@ glabel menuRenderItemKeyboard /* f0e887c: 4502000a */ bc1fl .L0f0e88a8 /* f0e8880: 920c003d */ lbu $t4,0x3d($s0) /* f0e8884: 9218003c */ lbu $t8,0x3c($s0) -/* f0e8888: 3c1e7f1b */ lui $s8,%hi(var7f1b1fb0) -/* f0e888c: 27de1fb0 */ addiu $s8,$s8,%lo(var7f1b1fb0) +/* f0e8888: 3c1e7f1b */ lui $s8,%hi(g_MenuColourPalettes) +/* f0e888c: 27de1fb0 */ addiu $s8,$s8,%lo(g_MenuColourPalettes) /* f0e8890: 03150019 */ multu $t8,$s5 /* f0e8894: 0000c812 */ mflo $t9 /* f0e8898: 03d95821 */ addu $t3,$s8,$t9 @@ -7214,9 +7214,9 @@ glabel menuRenderItemKeyboard /* f0e88a4: 920c003d */ lbu $t4,0x3d($s0) .L0f0e88a8: /* f0e88a8: 920e003c */ lbu $t6,0x3c($s0) -/* f0e88ac: 3c1e7f1b */ lui $s8,%hi(var7f1b1fb0) +/* f0e88ac: 3c1e7f1b */ lui $s8,%hi(g_MenuColourPalettes) /* f0e88b0: 01950019 */ multu $t4,$s5 -/* f0e88b4: 27de1fb0 */ addiu $s8,$s8,%lo(var7f1b1fb0) +/* f0e88b4: 27de1fb0 */ addiu $s8,$s8,%lo(g_MenuColourPalettes) /* f0e88b8: 8e060044 */ lw $a2,0x44($s0) /* f0e88bc: 00005012 */ mflo $t2 /* f0e88c0: 03ca6821 */ addu $t5,$s8,$t2 @@ -7284,7 +7284,7 @@ glabel menuRenderItemKeyboard /* f0e89b0: 2466000d */ addiu $a2,$v1,0xd /* f0e89b4: afb00014 */ sw $s0,0x14($sp) /* f0e89b8: 24450004 */ addiu $a1,$v0,0x4 -/* f0e89bc: 0fc38bd7 */ jal func0f0e2f5c +/* f0e89bc: 0fc38bd7 */ jal renderFilledRect /* f0e89c0: 2447007c */ addiu $a3,$v0,0x7c /* f0e89c4: 8fa30088 */ lw $v1,0x88($sp) /* f0e89c8: afa200f8 */ sw $v0,0xf8($sp) @@ -7332,7 +7332,7 @@ glabel menuRenderItemKeyboard /* f0e8a60: afa80084 */ sw $t0,0x84($sp) /* f0e8a64: afb00018 */ sw $s0,0x18($sp) /* f0e8a68: afb00014 */ sw $s0,0x14($sp) -/* f0e8a6c: 0fc38bd7 */ jal func0f0e2f5c +/* f0e8a6c: 0fc38bd7 */ jal renderFilledRect /* f0e8a70: 2446000d */ addiu $a2,$v0,0xd /* f0e8a74: 8fae0084 */ lw $t6,0x84($sp) /* f0e8a78: afa200f8 */ sw $v0,0xf8($sp) @@ -8278,66 +8278,26 @@ glabel func0f0e9744 /* f0e97cc: 00000000 */ nop ); -GLOBAL_ASM( -glabel menuRenderItemSeparator -/* f0e97d0: 27bdffd8 */ addiu $sp,$sp,-40 -/* f0e97d4: afbf0024 */ sw $ra,0x24($sp) -/* f0e97d8: afa40028 */ sw $a0,0x28($sp) -/* f0e97dc: afa5002c */ sw $a1,0x2c($sp) -/* f0e97e0: 8ca20010 */ lw $v0,0x10($a1) -/* f0e97e4: 44803000 */ mtc1 $zero,$f6 -/* f0e97e8: c4440040 */ lwc1 $f4,0x40($v0) -/* f0e97ec: 4606203c */ c.lt.s $f4,$f6 -/* f0e97f0: 00000000 */ nop -/* f0e97f4: 4502000b */ bc1fl .L0f0e9824 -/* f0e97f8: 9049003d */ lbu $t1,0x3d($v0) -/* f0e97fc: 904f003c */ lbu $t7,0x3c($v0) -/* f0e9800: 2408003c */ addiu $t0,$zero,0x3c -/* f0e9804: 3c077f1b */ lui $a3,%hi(var7f1b1fb0) -/* f0e9808: 01e80019 */ multu $t7,$t0 -/* f0e980c: 24e71fb0 */ addiu $a3,$a3,%lo(var7f1b1fb0) -/* f0e9810: 0000c012 */ mflo $t8 -/* f0e9814: 00f8c821 */ addu $t9,$a3,$t8 -/* f0e9818: 10000011 */ b .L0f0e9860 -/* f0e981c: 8f230018 */ lw $v1,0x18($t9) -/* f0e9820: 9049003d */ lbu $t1,0x3d($v0) -.L0f0e9824: -/* f0e9824: 2408003c */ addiu $t0,$zero,0x3c -/* f0e9828: 904c003c */ lbu $t4,0x3c($v0) -/* f0e982c: 01280019 */ multu $t1,$t0 -/* f0e9830: 3c077f1b */ lui $a3,%hi(var7f1b1fb0) -/* f0e9834: 24e71fb0 */ addiu $a3,$a3,%lo(var7f1b1fb0) -/* f0e9838: 8c460044 */ lw $a2,0x44($v0) -/* f0e983c: 00005012 */ mflo $t2 -/* f0e9840: 00ea5821 */ addu $t3,$a3,$t2 -/* f0e9844: 8d640018 */ lw $a0,0x18($t3) -/* f0e9848: 01880019 */ multu $t4,$t0 -/* f0e984c: 00006812 */ mflo $t5 -/* f0e9850: 00ed7021 */ addu $t6,$a3,$t5 -/* f0e9854: 0fc01a40 */ jal colourBlend -/* f0e9858: 8dc50018 */ lw $a1,0x18($t6) -/* f0e985c: 00401825 */ or $v1,$v0,$zero -.L0f0e9860: -/* f0e9860: 8fb9002c */ lw $t9,0x2c($sp) -/* f0e9864: 2401ff00 */ addiu $at,$zero,-256 -/* f0e9868: 00617824 */ and $t7,$v1,$at -/* f0e986c: 87220002 */ lh $v0,0x2($t9) -/* f0e9870: 87250000 */ lh $a1,0x0($t9) -/* f0e9874: 87290004 */ lh $t1,0x4($t9) -/* f0e9878: 35f8003f */ ori $t8,$t7,0x3f -/* f0e987c: 244a0003 */ addiu $t2,$v0,0x3 -/* f0e9880: afaa0010 */ sw $t2,0x10($sp) -/* f0e9884: afb80014 */ sw $t8,0x14($sp) -/* f0e9888: afb80018 */ sw $t8,0x18($sp) -/* f0e988c: 8fa40028 */ lw $a0,0x28($sp) -/* f0e9890: 24460002 */ addiu $a2,$v0,0x2 -/* f0e9894: 0fc38bd7 */ jal func0f0e2f5c -/* f0e9898: 00a93821 */ addu $a3,$a1,$t1 -/* f0e989c: 8fbf0024 */ lw $ra,0x24($sp) -/* f0e98a0: 27bd0028 */ addiu $sp,$sp,0x28 -/* f0e98a4: 03e00008 */ jr $ra -/* f0e98a8: 00000000 */ nop -); +Gfx *menuRenderItemSeparator(Gfx *gdl, struct menurenderthing *thing) +{ + struct menurenderthing10 *thing10 = thing->unk10; + u32 colour; + + if (thing10->unk40 < 0) { + colour = g_MenuColourPalettes[thing10->colour1index].unk18; + } else { + colour = colourBlend( + g_MenuColourPalettes[thing10->colour2index].unk18, + g_MenuColourPalettes[thing10->colour1index].unk18, + thing10->colourweight); + } + + colour = (colour & 0xffffff00) | 0x3f; + + return renderFilledRect(gdl, + thing->x, thing->y + 2, thing->x + thing->width, thing->y + 3, + colour, colour); +} GLOBAL_ASM( glabel func0f0e98ac @@ -8377,11 +8337,11 @@ glabel func0f0e98ac /* f0e992c: 906c003d */ lbu $t4,0x3d($v1) /* f0e9930: 9069003c */ lbu $t1,0x3c($v1) /* f0e9934: 2410003c */ addiu $s0,$zero,0x3c -/* f0e9938: 3c0b7f1b */ lui $t3,%hi(var7f1b1fc8) +/* f0e9938: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes+0x18) /* f0e993c: 01300019 */ multu $t1,$s0 /* f0e9940: 00005012 */ mflo $t2 /* f0e9944: 016a5821 */ addu $t3,$t3,$t2 -/* f0e9948: 8d6b1fc8 */ lw $t3,%lo(var7f1b1fc8)($t3) +/* f0e9948: 8d6b1fc8 */ lw $t3,%lo(g_MenuColourPalettes+0x18)($t3) /* f0e994c: 10000012 */ b .L0f0e9998 /* f0e9950: afab012c */ sw $t3,0x12c($sp) /* f0e9954: 906c003d */ lbu $t4,0x3d($v1) @@ -8389,8 +8349,8 @@ glabel func0f0e98ac /* f0e9958: 2410003c */ addiu $s0,$zero,0x3c /* f0e995c: 9078003c */ lbu $t8,0x3c($v1) /* f0e9960: 01900019 */ multu $t4,$s0 -/* f0e9964: 3c0e7f1b */ lui $t6,%hi(var7f1b1fb0) -/* f0e9968: 25ce1fb0 */ addiu $t6,$t6,%lo(var7f1b1fb0) +/* f0e9964: 3c0e7f1b */ lui $t6,%hi(g_MenuColourPalettes) +/* f0e9968: 25ce1fb0 */ addiu $t6,$t6,%lo(g_MenuColourPalettes) /* f0e996c: 8c660044 */ lw $a2,0x44($v1) /* f0e9970: 00006812 */ mflo $t5 /* f0e9974: 01ae7821 */ addu $t7,$t5,$t6 @@ -8591,8 +8551,8 @@ glabel func0f0e98ac /* f0e9c60: 27a500c4 */ addiu $a1,$sp,0xc4 /* f0e9c64: 11cc0004 */ beq $t6,$t4,.L0f0e9c78 /* f0e9c68: 3c078008 */ lui $a3,%hi(var8007fb08) -/* f0e9c6c: 3c0b7f1b */ lui $t3,%hi(var7f1b1fc8) -/* f0e9c70: 8d6b1fc8 */ lw $t3,%lo(var7f1b1fc8)($t3) +/* f0e9c6c: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes+0x18) +/* f0e9c70: 8d6b1fc8 */ lw $t3,%lo(g_MenuColourPalettes+0x18)($t3) /* f0e9c74: afab00c8 */ sw $t3,0xc8($sp) .L0f0e9c78: /* f0e9c78: 3c0d8008 */ lui $t5,%hi(var8007fb04) @@ -9108,9 +9068,9 @@ glabel menuRenderItemModel /* f0ea42c: 904f003d */ lbu $t7,0x3d($v0) /* f0ea430: 904b003c */ lbu $t3,0x3c($v0) /* f0ea434: 2408003c */ addiu $t0,$zero,0x3c -/* f0ea438: 3c037f1b */ lui $v1,%hi(var7f1b1fb0) +/* f0ea438: 3c037f1b */ lui $v1,%hi(g_MenuColourPalettes) /* f0ea43c: 01680019 */ multu $t3,$t0 -/* f0ea440: 24631fb0 */ addiu $v1,$v1,%lo(var7f1b1fb0) +/* f0ea440: 24631fb0 */ addiu $v1,$v1,%lo(g_MenuColourPalettes) /* f0ea444: 00006012 */ mflo $t4 /* f0ea448: 006c6821 */ addu $t5,$v1,$t4 /* f0ea44c: 8dae0020 */ lw $t6,0x20($t5) @@ -9121,8 +9081,8 @@ glabel menuRenderItemModel /* f0ea45c: 2408003c */ addiu $t0,$zero,0x3c /* f0ea460: 9049003c */ lbu $t1,0x3c($v0) /* f0ea464: 01e80019 */ multu $t7,$t0 -/* f0ea468: 3c037f1b */ lui $v1,%hi(var7f1b1fb0) -/* f0ea46c: 24631fb0 */ addiu $v1,$v1,%lo(var7f1b1fb0) +/* f0ea468: 3c037f1b */ lui $v1,%hi(g_MenuColourPalettes) +/* f0ea46c: 24631fb0 */ addiu $v1,$v1,%lo(g_MenuColourPalettes) /* f0ea470: 8c460044 */ lw $a2,0x44($v0) /* f0ea474: 0000c012 */ mflo $t8 /* f0ea478: 0078c821 */ addu $t9,$v1,$t8 @@ -9260,21 +9220,21 @@ glabel menuRenderItemLabel /* f0ea658: 8e030010 */ lw $v1,0x10($s0) /* f0ea65c: 8e030010 */ lw $v1,0x10($s0) /* f0ea660: 44803000 */ mtc1 $zero,$f6 -/* f0ea664: 3c187f1b */ lui $t8,%hi(var7f1b1fb0) +/* f0ea664: 3c187f1b */ lui $t8,%hi(g_MenuColourPalettes) /* f0ea668: c4640040 */ lwc1 $f4,0x40($v1) -/* f0ea66c: 27181fb0 */ addiu $t8,$t8,%lo(var7f1b1fb0) +/* f0ea66c: 27181fb0 */ addiu $t8,$t8,%lo(g_MenuColourPalettes) /* f0ea670: 4606203c */ c.lt.s $f4,$f6 /* f0ea674: 00000000 */ nop /* f0ea678: 4502000a */ bc1fl .L0f0ea6a4 /* f0ea67c: 906e003d */ lbu $t6,0x3d($v1) /* f0ea680: 906c003c */ lbu $t4,0x3c($v1) -/* f0ea684: 3c117f1b */ lui $s1,%hi(var7f1b1fd4) +/* f0ea684: 3c117f1b */ lui $s1,%hi(g_MenuColourPalettes+0x24) /* f0ea688: 000c6900 */ sll $t5,$t4,0x4 /* f0ea68c: 01ac6823 */ subu $t5,$t5,$t4 /* f0ea690: 000d6880 */ sll $t5,$t5,0x2 /* f0ea694: 022d8821 */ addu $s1,$s1,$t5 /* f0ea698: 10000011 */ b .L0f0ea6e0 -/* f0ea69c: 8e311fd4 */ lw $s1,%lo(var7f1b1fd4)($s1) +/* f0ea69c: 8e311fd4 */ lw $s1,%lo(g_MenuColourPalettes+0x24)($s1) /* f0ea6a0: 906e003d */ lbu $t6,0x3d($v1) .L0f0ea6a4: /* f0ea6a4: 9079003c */ lbu $t9,0x3c($v1) @@ -9322,21 +9282,21 @@ glabel menuRenderItemLabel /* f0ea744: 8e030010 */ lw $v1,0x10($s0) .L0f0ea748: /* f0ea748: 44805000 */ mtc1 $zero,$f10 -/* f0ea74c: 3c187f1b */ lui $t8,%hi(var7f1b1fb0) +/* f0ea74c: 3c187f1b */ lui $t8,%hi(g_MenuColourPalettes) /* f0ea750: c4680040 */ lwc1 $f8,0x40($v1) -/* f0ea754: 27181fb0 */ addiu $t8,$t8,%lo(var7f1b1fb0) +/* f0ea754: 27181fb0 */ addiu $t8,$t8,%lo(g_MenuColourPalettes) /* f0ea758: 460a403c */ c.lt.s $f8,$f10 /* f0ea75c: 00000000 */ nop /* f0ea760: 4502000a */ bc1fl .L0f0ea78c /* f0ea764: 9079003d */ lbu $t9,0x3d($v1) /* f0ea768: 906f003c */ lbu $t7,0x3c($v1) -/* f0ea76c: 3c117f1b */ lui $s1,%hi(var7f1b1fc8) +/* f0ea76c: 3c117f1b */ lui $s1,%hi(g_MenuColourPalettes+0x18) /* f0ea770: 000f4100 */ sll $t0,$t7,0x4 /* f0ea774: 010f4023 */ subu $t0,$t0,$t7 /* f0ea778: 00084080 */ sll $t0,$t0,0x2 /* f0ea77c: 02288821 */ addu $s1,$s1,$t0 /* f0ea780: 10000011 */ b .L0f0ea7c8 -/* f0ea784: 8e311fc8 */ lw $s1,%lo(var7f1b1fc8)($s1) +/* f0ea784: 8e311fc8 */ lw $s1,%lo(g_MenuColourPalettes+0x18)($s1) /* f0ea788: 9079003d */ lbu $t9,0x3d($v1) .L0f0ea78c: /* f0ea78c: 906b003c */ lbu $t3,0x3c($v1) @@ -9393,20 +9353,20 @@ glabel menuRenderItemLabel /* f0ea84c: 4502000a */ bc1fl .L0f0ea878 /* f0ea850: 906b003d */ lbu $t3,0x3d($v1) /* f0ea854: 9069003c */ lbu $t1,0x3c($v1) -/* f0ea858: 3c117f1b */ lui $s1,%hi(var7f1b1fcc) +/* f0ea858: 3c117f1b */ lui $s1,%hi(g_MenuColourPalettes+0x1c) /* f0ea85c: 00095100 */ sll $t2,$t1,0x4 /* f0ea860: 01495023 */ subu $t2,$t2,$t1 /* f0ea864: 000a5080 */ sll $t2,$t2,0x2 /* f0ea868: 022a8821 */ addu $s1,$s1,$t2 /* f0ea86c: 10000012 */ b .L0f0ea8b8 -/* f0ea870: 8e311fcc */ lw $s1,%lo(var7f1b1fcc)($s1) +/* f0ea870: 8e311fcc */ lw $s1,%lo(g_MenuColourPalettes+0x1c)($s1) /* f0ea874: 906b003d */ lbu $t3,0x3d($v1) .L0f0ea878: /* f0ea878: 2407003c */ addiu $a3,$zero,0x3c /* f0ea87c: 906d003c */ lbu $t5,0x3c($v1) /* f0ea880: 01670019 */ multu $t3,$a3 -/* f0ea884: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0ea888: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ea884: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0ea888: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ea88c: 8c660044 */ lw $a2,0x44($v1) /* f0ea890: 00006012 */ mflo $t4 /* f0ea894: 004cc021 */ addu $t8,$v0,$t4 @@ -9666,9 +9626,9 @@ glabel menuRenderItem15 /* f0eac48: 9079003d */ lbu $t9,0x3d($v1) /* f0eac4c: 906e003c */ lbu $t6,0x3c($v1) /* f0eac50: 2408003c */ addiu $t0,$zero,0x3c -/* f0eac54: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0eac54: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0eac58: 01c80019 */ multu $t6,$t0 -/* f0eac5c: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0eac5c: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0eac60: 00007812 */ mflo $t7 /* f0eac64: 004fc021 */ addu $t8,$v0,$t7 /* f0eac68: 10000012 */ b .L0f0eacb4 @@ -9678,8 +9638,8 @@ glabel menuRenderItem15 /* f0eac74: 2408003c */ addiu $t0,$zero,0x3c /* f0eac78: 906b003c */ lbu $t3,0x3c($v1) /* f0eac7c: 03280019 */ multu $t9,$t0 -/* f0eac80: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0eac84: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0eac80: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0eac84: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0eac88: 8c660044 */ lw $a2,0x44($v1) /* f0eac8c: 00004812 */ mflo $t1 /* f0eac90: 00495021 */ addu $t2,$v0,$t1 @@ -9874,20 +9834,20 @@ glabel menuRenderItemSelectable /* f0eaf60: 4502000a */ bc1fl .L0f0eaf8c /* f0eaf64: 906e003d */ lbu $t6,0x3d($v1) /* f0eaf68: 906c003c */ lbu $t4,0x3c($v1) -/* f0eaf6c: 3c117f1b */ lui $s1,%hi(var7f1b1fc8) +/* f0eaf6c: 3c117f1b */ lui $s1,%hi(g_MenuColourPalettes+0x18) /* f0eaf70: 000c6900 */ sll $t5,$t4,0x4 /* f0eaf74: 01ac6823 */ subu $t5,$t5,$t4 /* f0eaf78: 000d6880 */ sll $t5,$t5,0x2 /* f0eaf7c: 022d8821 */ addu $s1,$s1,$t5 /* f0eaf80: 10000013 */ b .L0f0eafd0 -/* f0eaf84: 8e311fc8 */ lw $s1,%lo(var7f1b1fc8)($s1) +/* f0eaf84: 8e311fc8 */ lw $s1,%lo(g_MenuColourPalettes+0x18)($s1) /* f0eaf88: 906e003d */ lbu $t6,0x3d($v1) .L0f0eaf8c: /* f0eaf8c: 9068003c */ lbu $t0,0x3c($v1) -/* f0eaf90: 3c187f1b */ lui $t8,%hi(var7f1b1fb0) +/* f0eaf90: 3c187f1b */ lui $t8,%hi(g_MenuColourPalettes) /* f0eaf94: 000e7900 */ sll $t7,$t6,0x4 /* f0eaf98: 00084900 */ sll $t1,$t0,0x4 -/* f0eaf9c: 27181fb0 */ addiu $t8,$t8,%lo(var7f1b1fb0) +/* f0eaf9c: 27181fb0 */ addiu $t8,$t8,%lo(g_MenuColourPalettes) /* f0eafa0: 01ee7823 */ subu $t7,$t7,$t6 /* f0eafa4: 01284823 */ subu $t1,$t1,$t0 /* f0eafa8: 00094880 */ sll $t1,$t1,0x2 @@ -9924,9 +9884,9 @@ glabel menuRenderItemSelectable /* f0eb01c: 3c01437f */ lui $at,0x437f /* f0eb020: 44814000 */ mtc1 $at,$f8 /* f0eb024: 24190001 */ addiu $t9,$zero,0x1 -/* f0eb028: 3c0b7f1b */ lui $t3,%hi(var7f1b1fb0) +/* f0eb028: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes) /* f0eb02c: 46080282 */ mul.s $f10,$f0,$f8 -/* f0eb030: 256b1fb0 */ addiu $t3,$t3,%lo(var7f1b1fb0) +/* f0eb030: 256b1fb0 */ addiu $t3,$t3,%lo(g_MenuColourPalettes) /* f0eb034: 3c014f00 */ lui $at,0x4f00 /* f0eb038: 444ff800 */ cfc1 $t7,$31 /* f0eb03c: 44d9f800 */ ctc1 $t9,$31 @@ -9971,13 +9931,13 @@ glabel menuRenderItemSelectable /* f0eb0cc: 4502000a */ bc1fl .L0f0eb0f8 /* f0eb0d0: 9078003d */ lbu $t8,0x3d($v1) /* f0eb0d4: 9068003c */ lbu $t0,0x3c($v1) -/* f0eb0d8: 3c077f1b */ lui $a3,%hi(var7f1b1fd0) +/* f0eb0d8: 3c077f1b */ lui $a3,%hi(g_MenuColourPalettes+0x20) /* f0eb0dc: 00084900 */ sll $t1,$t0,0x4 /* f0eb0e0: 01284823 */ subu $t1,$t1,$t0 /* f0eb0e4: 00094880 */ sll $t1,$t1,0x2 /* f0eb0e8: 00e93821 */ addu $a3,$a3,$t1 /* f0eb0ec: 10000010 */ b .L0f0eb130 -/* f0eb0f0: 8ce71fd0 */ lw $a3,%lo(var7f1b1fd0)($a3) +/* f0eb0f0: 8ce71fd0 */ lw $a3,%lo(g_MenuColourPalettes+0x20)($a3) /* f0eb0f4: 9078003d */ lbu $t8,0x3d($v1) .L0f0eb0f8: /* f0eb0f8: 906d003c */ lbu $t5,0x3c($v1) @@ -10040,21 +10000,21 @@ glabel menuRenderItemSelectable /* f0eb1d0: 8e0d0008 */ lw $t5,0x8($s0) /* f0eb1d4: 8e030010 */ lw $v1,0x10($s0) /* f0eb1d8: 44804000 */ mtc1 $zero,$f8 -/* f0eb1dc: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0eb1dc: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0eb1e0: c4660040 */ lwc1 $f6,0x40($v1) -/* f0eb1e4: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0eb1e4: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0eb1e8: 4608303c */ c.lt.s $f6,$f8 /* f0eb1ec: 00000000 */ nop /* f0eb1f0: 4502000a */ bc1fl .L0f0eb21c /* f0eb1f4: 906d003d */ lbu $t5,0x3d($v1) /* f0eb1f8: 906a003c */ lbu $t2,0x3c($v1) -/* f0eb1fc: 3c117f1b */ lui $s1,%hi(var7f1b1fcc) +/* f0eb1fc: 3c117f1b */ lui $s1,%hi(g_MenuColourPalettes+0x1c) /* f0eb200: 000a6100 */ sll $t4,$t2,0x4 /* f0eb204: 018a6023 */ subu $t4,$t4,$t2 /* f0eb208: 000c6080 */ sll $t4,$t4,0x2 /* f0eb20c: 022c8821 */ addu $s1,$s1,$t4 /* f0eb210: 10000011 */ b .L0f0eb258 -/* f0eb214: 8e311fcc */ lw $s1,%lo(var7f1b1fcc)($s1) +/* f0eb214: 8e311fcc */ lw $s1,%lo(g_MenuColourPalettes+0x1c)($s1) /* f0eb218: 906d003d */ lbu $t5,0x3d($v1) .L0f0eb21c: /* f0eb21c: 906f003c */ lbu $t7,0x3c($v1) @@ -10351,19 +10311,19 @@ glabel menuRenderItemSlider /* f0eb640: 906c003d */ lbu $t4,0x3d($v1) /* f0eb644: 9069003c */ lbu $t1,0x3c($v1) /* f0eb648: 2412003c */ addiu $s2,$zero,0x3c -/* f0eb64c: 3c107f1b */ lui $s0,%hi(var7f1b1fc8) +/* f0eb64c: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x18) /* f0eb650: 01320019 */ multu $t1,$s2 /* f0eb654: 00005012 */ mflo $t2 /* f0eb658: 020a8021 */ addu $s0,$s0,$t2 /* f0eb65c: 10000012 */ b .L0f0eb6a8 -/* f0eb660: 8e101fc8 */ lw $s0,%lo(var7f1b1fc8)($s0) +/* f0eb660: 8e101fc8 */ lw $s0,%lo(g_MenuColourPalettes+0x18)($s0) /* f0eb664: 906c003d */ lbu $t4,0x3d($v1) .L0f0eb668: /* f0eb668: 2412003c */ addiu $s2,$zero,0x3c /* f0eb66c: 906b003c */ lbu $t3,0x3c($v1) /* f0eb670: 01920019 */ multu $t4,$s2 -/* f0eb674: 3c0d7f1b */ lui $t5,%hi(var7f1b1fb0) -/* f0eb678: 25ad1fb0 */ addiu $t5,$t5,%lo(var7f1b1fb0) +/* f0eb674: 3c0d7f1b */ lui $t5,%hi(g_MenuColourPalettes) +/* f0eb678: 25ad1fb0 */ addiu $t5,$t5,%lo(g_MenuColourPalettes) /* f0eb67c: 8c660044 */ lw $a2,0x44($v1) /* f0eb680: 00007012 */ mflo $t6 /* f0eb684: 01cd7821 */ addu $t7,$t6,$t5 @@ -10444,18 +10404,18 @@ glabel menuRenderItemSlider /* f0eb79c: 45020009 */ bc1fl .L0f0eb7c4 /* f0eb7a0: 906d003d */ lbu $t5,0x3d($v1) /* f0eb7a4: 906b003c */ lbu $t3,0x3c($v1) -/* f0eb7a8: 3c077f1b */ lui $a3,%hi(var7f1b1fd0) +/* f0eb7a8: 3c077f1b */ lui $a3,%hi(g_MenuColourPalettes+0x20) /* f0eb7ac: 01720019 */ multu $t3,$s2 /* f0eb7b0: 0000c012 */ mflo $t8 /* f0eb7b4: 00f83821 */ addu $a3,$a3,$t8 /* f0eb7b8: 10000010 */ b .L0f0eb7fc -/* f0eb7bc: 8ce71fd0 */ lw $a3,%lo(var7f1b1fd0)($a3) +/* f0eb7bc: 8ce71fd0 */ lw $a3,%lo(g_MenuColourPalettes+0x20)($a3) /* f0eb7c0: 906d003d */ lbu $t5,0x3d($v1) .L0f0eb7c4: /* f0eb7c4: 906a003c */ lbu $t2,0x3c($v1) -/* f0eb7c8: 3c087f1b */ lui $t0,%hi(var7f1b1fb0) +/* f0eb7c8: 3c087f1b */ lui $t0,%hi(g_MenuColourPalettes) /* f0eb7cc: 01b20019 */ multu $t5,$s2 -/* f0eb7d0: 25081fb0 */ addiu $t0,$t0,%lo(var7f1b1fb0) +/* f0eb7d0: 25081fb0 */ addiu $t0,$t0,%lo(g_MenuColourPalettes) /* f0eb7d4: 8c660044 */ lw $a2,0x44($v1) /* f0eb7d8: 0000c812 */ mflo $t9 /* f0eb7dc: 03284821 */ addu $t1,$t9,$t0 @@ -10529,18 +10489,18 @@ glabel menuRenderItemSlider /* f0eb8dc: 45020009 */ bc1fl .L0f0eb904 /* f0eb8e0: 9078003d */ lbu $t8,0x3d($v1) /* f0eb8e4: 906f003c */ lbu $t7,0x3c($v1) -/* f0eb8e8: 3c107f1b */ lui $s0,%hi(var7f1b1fc8) +/* f0eb8e8: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x18) /* f0eb8ec: 01f20019 */ multu $t7,$s2 /* f0eb8f0: 00005812 */ mflo $t3 /* f0eb8f4: 020b8021 */ addu $s0,$s0,$t3 /* f0eb8f8: 10000011 */ b .L0f0eb940 -/* f0eb8fc: 8e101fc8 */ lw $s0,%lo(var7f1b1fc8)($s0) +/* f0eb8fc: 8e101fc8 */ lw $s0,%lo(g_MenuColourPalettes+0x18)($s0) /* f0eb900: 9078003d */ lbu $t8,0x3d($v1) .L0f0eb904: /* f0eb904: 906a003c */ lbu $t2,0x3c($v1) -/* f0eb908: 3c197f1b */ lui $t9,%hi(var7f1b1fb0) +/* f0eb908: 3c197f1b */ lui $t9,%hi(g_MenuColourPalettes) /* f0eb90c: 03120019 */ multu $t8,$s2 -/* f0eb910: 27391fb0 */ addiu $t9,$t9,%lo(var7f1b1fb0) +/* f0eb910: 27391fb0 */ addiu $t9,$t9,%lo(g_MenuColourPalettes) /* f0eb914: 8c660044 */ lw $a2,0x44($v1) /* f0eb918: 00006812 */ mflo $t5 /* f0eb91c: 01b94821 */ addu $t1,$t5,$t9 @@ -10622,18 +10582,18 @@ glabel menuRenderItemSlider /* f0eba38: 45020009 */ bc1fl .L0f0eba60 /* f0eba3c: 9079003d */ lbu $t9,0x3d($v1) /* f0eba40: 906a003c */ lbu $t2,0x3c($v1) -/* f0eba44: 3c077f1b */ lui $a3,%hi(var7f1b1fd0) +/* f0eba44: 3c077f1b */ lui $a3,%hi(g_MenuColourPalettes+0x20) /* f0eba48: 01520019 */ multu $t2,$s2 /* f0eba4c: 00006012 */ mflo $t4 /* f0eba50: 00ec3821 */ addu $a3,$a3,$t4 /* f0eba54: 10000010 */ b .L0f0eba98 -/* f0eba58: 8ce71fd0 */ lw $a3,%lo(var7f1b1fd0)($a3) +/* f0eba58: 8ce71fd0 */ lw $a3,%lo(g_MenuColourPalettes+0x20)($a3) /* f0eba5c: 9079003d */ lbu $t9,0x3d($v1) .L0f0eba60: /* f0eba60: 906b003c */ lbu $t3,0x3c($v1) -/* f0eba64: 3c0e7f1b */ lui $t6,%hi(var7f1b1fb0) +/* f0eba64: 3c0e7f1b */ lui $t6,%hi(g_MenuColourPalettes) /* f0eba68: 03320019 */ multu $t9,$s2 -/* f0eba6c: 25ce1fb0 */ addiu $t6,$t6,%lo(var7f1b1fb0) +/* f0eba6c: 25ce1fb0 */ addiu $t6,$t6,%lo(g_MenuColourPalettes) /* f0eba70: 8c660044 */ lw $a2,0x44($v1) /* f0eba74: 00004012 */ mflo $t0 /* f0eba78: 010e7821 */ addu $t7,$t0,$t6 @@ -10708,18 +10668,18 @@ glabel menuRenderItemSlider /* f0ebb78: 45020009 */ bc1fl .L0f0ebba0 /* f0ebb7c: 9068003d */ lbu $t0,0x3d($v1) /* f0ebb80: 906c003c */ lbu $t4,0x3c($v1) -/* f0ebb84: 3c077f1b */ lui $a3,%hi(var7f1b1fd0) +/* f0ebb84: 3c077f1b */ lui $a3,%hi(g_MenuColourPalettes+0x20) /* f0ebb88: 01920019 */ multu $t4,$s2 /* f0ebb8c: 0000c812 */ mflo $t9 /* f0ebb90: 00f93821 */ addu $a3,$a3,$t9 /* f0ebb94: 10000010 */ b .L0f0ebbd8 -/* f0ebb98: 8ce71fd0 */ lw $a3,%lo(var7f1b1fd0)($a3) +/* f0ebb98: 8ce71fd0 */ lw $a3,%lo(g_MenuColourPalettes+0x20)($a3) /* f0ebb9c: 9068003d */ lbu $t0,0x3d($v1) .L0f0ebba0: /* f0ebba0: 906e003c */ lbu $t6,0x3c($v1) -/* f0ebba4: 3c0b7f1b */ lui $t3,%hi(var7f1b1fb0) +/* f0ebba4: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes) /* f0ebba8: 01120019 */ multu $t0,$s2 -/* f0ebbac: 256b1fb0 */ addiu $t3,$t3,%lo(var7f1b1fb0) +/* f0ebbac: 256b1fb0 */ addiu $t3,$t3,%lo(g_MenuColourPalettes) /* f0ebbb0: 8c660044 */ lw $a2,0x44($v1) /* f0ebbb4: 00007812 */ mflo $t7 /* f0ebbb8: 01ebc021 */ addu $t8,$t7,$t3 @@ -10847,18 +10807,18 @@ glabel menuRenderItemSlider /* f0ebd8c: 45020009 */ bc1fl .L0f0ebdb4 /* f0ebd90: 906e003d */ lbu $t6,0x3d($v1) /* f0ebd94: 9079003c */ lbu $t9,0x3c($v1) -/* f0ebd98: 3c107f1b */ lui $s0,%hi(var7f1b1fc8) +/* f0ebd98: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x18) /* f0ebd9c: 03320019 */ multu $t9,$s2 /* f0ebda0: 0000c012 */ mflo $t8 /* f0ebda4: 02188021 */ addu $s0,$s0,$t8 /* f0ebda8: 10000011 */ b .L0f0ebdf0 -/* f0ebdac: 8e101fc8 */ lw $s0,%lo(var7f1b1fc8)($s0) +/* f0ebdac: 8e101fc8 */ lw $s0,%lo(g_MenuColourPalettes+0x18)($s0) /* f0ebdb0: 906e003d */ lbu $t6,0x3d($v1) .L0f0ebdb4: /* f0ebdb4: 9069003c */ lbu $t1,0x3c($v1) -/* f0ebdb8: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0ebdb8: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0ebdbc: 01d20019 */ multu $t6,$s2 -/* f0ebdc0: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ebdc0: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ebdc4: 8c660044 */ lw $a2,0x44($v1) /* f0ebdc8: 00006812 */ mflo $t5 /* f0ebdcc: 004d5821 */ addu $t3,$v0,$t5 @@ -11234,9 +11194,9 @@ glabel menuRenderItemCarousel /* f0ec308: 904b003d */ lbu $t3,0x3d($v0) /* f0ec30c: 9059003c */ lbu $t9,0x3c($v0) /* f0ec310: 2408003c */ addiu $t0,$zero,0x3c -/* f0ec314: 3c037f1b */ lui $v1,%hi(var7f1b1fb0) +/* f0ec314: 3c037f1b */ lui $v1,%hi(g_MenuColourPalettes) /* f0ec318: 03280019 */ multu $t9,$t0 -/* f0ec31c: 24631fb0 */ addiu $v1,$v1,%lo(var7f1b1fb0) +/* f0ec31c: 24631fb0 */ addiu $v1,$v1,%lo(g_MenuColourPalettes) /* f0ec320: 00004812 */ mflo $t1 /* f0ec324: 00695021 */ addu $t2,$v1,$t1 /* f0ec328: 10000011 */ b .L0f0ec370 @@ -11246,8 +11206,8 @@ glabel menuRenderItemCarousel /* f0ec334: 2408003c */ addiu $t0,$zero,0x3c /* f0ec338: 904e003c */ lbu $t6,0x3c($v0) /* f0ec33c: 01680019 */ multu $t3,$t0 -/* f0ec340: 3c037f1b */ lui $v1,%hi(var7f1b1fb0) -/* f0ec344: 24631fb0 */ addiu $v1,$v1,%lo(var7f1b1fb0) +/* f0ec340: 3c037f1b */ lui $v1,%hi(g_MenuColourPalettes) +/* f0ec344: 24631fb0 */ addiu $v1,$v1,%lo(g_MenuColourPalettes) /* f0ec348: 8c460044 */ lw $a2,0x44($v0) /* f0ec34c: 00006012 */ mflo $t4 /* f0ec350: 006c6821 */ addu $t5,$v1,$t4 @@ -11513,21 +11473,21 @@ glabel menuRenderItemCheckbox /* f0ec6f4: afaa0060 */ sw $t2,0x60($sp) /* f0ec6f8: 8e270010 */ lw $a3,0x10($s1) /* f0ec6fc: 44803000 */ mtc1 $zero,$f6 -/* f0ec700: 3c0f7f1b */ lui $t7,%hi(var7f1b1fb0) +/* f0ec700: 3c0f7f1b */ lui $t7,%hi(g_MenuColourPalettes) /* f0ec704: c4e40040 */ lwc1 $f4,0x40($a3) -/* f0ec708: 25ef1fb0 */ addiu $t7,$t7,%lo(var7f1b1fb0) +/* f0ec708: 25ef1fb0 */ addiu $t7,$t7,%lo(g_MenuColourPalettes) /* f0ec70c: 4606203c */ c.lt.s $f4,$f6 /* f0ec710: 00000000 */ nop /* f0ec714: 4502000a */ bc1fl .L0f0ec740 /* f0ec718: 90ed003d */ lbu $t5,0x3d($a3) /* f0ec71c: 90eb003c */ lbu $t3,0x3c($a3) -/* f0ec720: 3c107f1b */ lui $s0,%hi(var7f1b1fd4) +/* f0ec720: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x24) /* f0ec724: 000b6100 */ sll $t4,$t3,0x4 /* f0ec728: 018b6023 */ subu $t4,$t4,$t3 /* f0ec72c: 000c6080 */ sll $t4,$t4,0x2 /* f0ec730: 020c8021 */ addu $s0,$s0,$t4 /* f0ec734: 10000011 */ b .L0f0ec77c -/* f0ec738: 8e101fd4 */ lw $s0,%lo(var7f1b1fd4)($s0) +/* f0ec738: 8e101fd4 */ lw $s0,%lo(g_MenuColourPalettes+0x24)($s0) /* f0ec73c: 90ed003d */ lbu $t5,0x3d($a3) .L0f0ec740: /* f0ec740: 90f9003c */ lbu $t9,0x3c($a3) @@ -11576,21 +11536,21 @@ glabel menuRenderItemCheckbox /* f0ec7e0: 8e270010 */ lw $a3,0x10($s1) .L0f0ec7e4: /* f0ec7e4: 44805000 */ mtc1 $zero,$f10 -/* f0ec7e8: 3c0f7f1b */ lui $t7,%hi(var7f1b1fb0) +/* f0ec7e8: 3c0f7f1b */ lui $t7,%hi(g_MenuColourPalettes) /* f0ec7ec: c4e80040 */ lwc1 $f8,0x40($a3) -/* f0ec7f0: 25ef1fb0 */ addiu $t7,$t7,%lo(var7f1b1fb0) +/* f0ec7f0: 25ef1fb0 */ addiu $t7,$t7,%lo(g_MenuColourPalettes) /* f0ec7f4: 460a403c */ c.lt.s $f8,$f10 /* f0ec7f8: 00000000 */ nop /* f0ec7fc: 4502000a */ bc1fl .L0f0ec828 /* f0ec800: 90f9003d */ lbu $t9,0x3d($a3) /* f0ec804: 90ee003c */ lbu $t6,0x3c($a3) -/* f0ec808: 3c107f1b */ lui $s0,%hi(var7f1b1fc8) +/* f0ec808: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x18) /* f0ec80c: 000ec100 */ sll $t8,$t6,0x4 /* f0ec810: 030ec023 */ subu $t8,$t8,$t6 /* f0ec814: 0018c080 */ sll $t8,$t8,0x2 /* f0ec818: 02188021 */ addu $s0,$s0,$t8 /* f0ec81c: 10000011 */ b .L0f0ec864 -/* f0ec820: 8e101fc8 */ lw $s0,%lo(var7f1b1fc8)($s0) +/* f0ec820: 8e101fc8 */ lw $s0,%lo(g_MenuColourPalettes+0x18)($s0) /* f0ec824: 90f9003d */ lbu $t9,0x3d($a3) .L0f0ec828: /* f0ec828: 90ea003c */ lbu $t2,0x3c($a3) @@ -11647,9 +11607,9 @@ glabel menuRenderItemCheckbox /* f0ec8e8: 3c01437f */ lui $at,0x437f /* f0ec8ec: 44818000 */ mtc1 $at,$f16 /* f0ec8f0: 240a0001 */ addiu $t2,$zero,0x1 -/* f0ec8f4: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0ec8f4: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0ec8f8: 46100482 */ mul.s $f18,$f0,$f16 -/* f0ec8fc: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ec8fc: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ec900: 3c014f00 */ lui $at,0x4f00 /* f0ec904: 4449f800 */ cfc1 $t1,$31 /* f0ec908: 44caf800 */ ctc1 $t2,$31 @@ -11694,12 +11654,12 @@ glabel menuRenderItemCheckbox /* f0ec998: 4502000b */ bc1fl .L0f0ec9c8 /* f0ec99c: 90ed003d */ lbu $t5,0x3d($a3) /* f0ec9a0: 90eb003c */ lbu $t3,0x3c($a3) -/* f0ec9a4: 3c0c7f1b */ lui $t4,%hi(var7f1b1fd0) +/* f0ec9a4: 3c0c7f1b */ lui $t4,%hi(g_MenuColourPalettes+0x20) /* f0ec9a8: 000b7900 */ sll $t7,$t3,0x4 /* f0ec9ac: 01eb7823 */ subu $t7,$t7,$t3 /* f0ec9b0: 000f7880 */ sll $t7,$t7,0x2 /* f0ec9b4: 018f6021 */ addu $t4,$t4,$t7 -/* f0ec9b8: 8d8c1fd0 */ lw $t4,%lo(var7f1b1fd0)($t4) +/* f0ec9b8: 8d8c1fd0 */ lw $t4,%lo(g_MenuColourPalettes+0x20)($t4) /* f0ec9bc: 10000010 */ b .L0f0eca00 /* f0ec9c0: afac0050 */ sw $t4,0x50($sp) /* f0ec9c4: 90ed003d */ lbu $t5,0x3d($a3) @@ -11754,20 +11714,20 @@ glabel menuRenderItemCheckbox /* f0eca7c: 4502000a */ bc1fl .L0f0ecaa8 /* f0eca80: 90ed003d */ lbu $t5,0x3d($a3) /* f0eca84: 90ef003c */ lbu $t7,0x3c($a3) -/* f0eca88: 3c107f1b */ lui $s0,%hi(var7f1b1fcc) +/* f0eca88: 3c107f1b */ lui $s0,%hi(g_MenuColourPalettes+0x1c) /* f0eca8c: 000f6100 */ sll $t4,$t7,0x4 /* f0eca90: 018f6023 */ subu $t4,$t4,$t7 /* f0eca94: 000c6080 */ sll $t4,$t4,0x2 /* f0eca98: 020c8021 */ addu $s0,$s0,$t4 /* f0eca9c: 10000012 */ b .L0f0ecae8 -/* f0ecaa0: 8e101fcc */ lw $s0,%lo(var7f1b1fcc)($s0) +/* f0ecaa0: 8e101fcc */ lw $s0,%lo(g_MenuColourPalettes+0x1c)($s0) /* f0ecaa4: 90ed003d */ lbu $t5,0x3d($a3) .L0f0ecaa8: /* f0ecaa8: 2403003c */ addiu $v1,$zero,0x3c /* f0ecaac: 90f9003c */ lbu $t9,0x3c($a3) /* f0ecab0: 01a30019 */ multu $t5,$v1 -/* f0ecab4: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0ecab8: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ecab4: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0ecab8: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ecabc: 8ce60044 */ lw $a2,0x44($a3) /* f0ecac0: 00007012 */ mflo $t6 /* f0ecac4: 004ec021 */ addu $t8,$v0,$t6 @@ -12033,10 +11993,10 @@ glabel menuRenderItemScrollable .L0f0ecf9c: /* f0ecf9c: 8faf006c */ lw $t7,0x6c($sp) /* f0ecfa0: 44803000 */ mtc1 $zero,$f6 -/* f0ecfa4: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0ecfa4: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0ecfa8: a1e00000 */ sb $zero,0x0($t7) /* f0ecfac: 8fab0070 */ lw $t3,0x70($sp) -/* f0ecfb0: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ecfb0: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ecfb4: a1600000 */ sb $zero,0x0($t3) /* f0ecfb8: 860c0000 */ lh $t4,0x0($s0) /* f0ecfbc: 258d0002 */ addiu $t5,$t4,0x2 @@ -12051,8 +12011,8 @@ glabel menuRenderItemScrollable /* f0ecfe0: 4502000c */ bc1fl .L0f0ed014 /* f0ecfe4: 906c003d */ lbu $t4,0x3d($v1) /* f0ecfe8: 9078003c */ lbu $t8,0x3c($v1) -/* f0ecfec: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0ecff0: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ecfec: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0ecff0: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ecff4: 00185100 */ sll $t2,$t8,0x4 /* f0ecff8: 01585023 */ subu $t2,$t2,$t8 /* f0ecffc: 000a5080 */ sll $t2,$t2,0x2 @@ -12465,9 +12425,9 @@ glabel menuRenderItemMarquee /* f0ed5d0: 9079003d */ lbu $t9,0x3d($v1) /* f0ed5d4: 906d003c */ lbu $t5,0x3c($v1) /* f0ed5d8: 2407003c */ addiu $a3,$zero,0x3c -/* f0ed5dc: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0ed5dc: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0ed5e0: 01a70019 */ multu $t5,$a3 -/* f0ed5e4: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ed5e4: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ed5e8: 00007012 */ mflo $t6 /* f0ed5ec: 004e7821 */ addu $t7,$v0,$t6 /* f0ed5f0: 8df80018 */ lw $t8,0x18($t7) @@ -12478,8 +12438,8 @@ glabel menuRenderItemMarquee /* f0ed600: 2407003c */ addiu $a3,$zero,0x3c /* f0ed604: 906a003c */ lbu $t2,0x3c($v1) /* f0ed608: 03270019 */ multu $t9,$a3 -/* f0ed60c: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0ed610: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0ed60c: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0ed610: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0ed614: 8c660044 */ lw $a2,0x44($v1) /* f0ed618: 00004012 */ mflo $t0 /* f0ed61c: 00484821 */ addu $t1,$v0,$t0 @@ -12925,9 +12885,9 @@ glabel menuRenderItemRanking /* f0edc40: 9238003d */ lbu $t8,0x3d($s1) /* f0edc44: 922d003c */ lbu $t5,0x3c($s1) /* f0edc48: 2414003c */ addiu $s4,$zero,0x3c -/* f0edc4c: 3c137f1b */ lui $s3,%hi(var7f1b1fb0) +/* f0edc4c: 3c137f1b */ lui $s3,%hi(g_MenuColourPalettes) /* f0edc50: 01b40019 */ multu $t5,$s4 -/* f0edc54: 26731fb0 */ addiu $s3,$s3,%lo(var7f1b1fb0) +/* f0edc54: 26731fb0 */ addiu $s3,$s3,%lo(g_MenuColourPalettes) /* f0edc58: 00007012 */ mflo $t6 /* f0edc5c: 026e7821 */ addu $t7,$s3,$t6 /* f0edc60: 10000012 */ b .L0f0edcac @@ -12937,8 +12897,8 @@ glabel menuRenderItemRanking /* f0edc6c: 2414003c */ addiu $s4,$zero,0x3c /* f0edc70: 9229003c */ lbu $t1,0x3c($s1) /* f0edc74: 03140019 */ multu $t8,$s4 -/* f0edc78: 3c137f1b */ lui $s3,%hi(var7f1b1fb0) -/* f0edc7c: 26731fb0 */ addiu $s3,$s3,%lo(var7f1b1fb0) +/* f0edc78: 3c137f1b */ lui $s3,%hi(g_MenuColourPalettes) +/* f0edc7c: 26731fb0 */ addiu $s3,$s3,%lo(g_MenuColourPalettes) /* f0edc80: 8e260044 */ lw $a2,0x44($s1) /* f0edc84: 0000c812 */ mflo $t9 /* f0edc88: 02794021 */ addu $t0,$s3,$t9 @@ -13143,7 +13103,7 @@ glabel menuRenderItemRanking /* f0edf80: afb20014 */ sw $s2,0x14($sp) /* f0edf84: 8fa401b0 */ lw $a0,0x1b0($sp) /* f0edf88: 24660009 */ addiu $a2,$v1,0x9 -/* f0edf8c: 0fc38bd7 */ jal func0f0e2f5c +/* f0edf8c: 0fc38bd7 */ jal renderFilledRect /* f0edf90: 00ac3821 */ addu $a3,$a1,$t4 /* f0edf94: 244d0008 */ addiu $t5,$v0,0x8 /* f0edf98: afad01b0 */ sw $t5,0x1b0($sp) @@ -13707,20 +13667,20 @@ glabel menuRenderItemPlayerStats /* f0ee7b0: 4502000a */ bc1fl .L0f0ee7dc /* f0ee7b4: 9219003d */ lbu $t9,0x3d($s0) /* f0ee7b8: 920f003c */ lbu $t7,0x3c($s0) -/* f0ee7bc: 3c127f1b */ lui $s2,%hi(var7f1b1fd0) +/* f0ee7bc: 3c127f1b */ lui $s2,%hi(g_MenuColourPalettes+0x20) /* f0ee7c0: 000fc100 */ sll $t8,$t7,0x4 /* f0ee7c4: 030fc023 */ subu $t8,$t8,$t7 /* f0ee7c8: 0018c080 */ sll $t8,$t8,0x2 /* f0ee7cc: 02589021 */ addu $s2,$s2,$t8 /* f0ee7d0: 10000012 */ b .L0f0ee81c -/* f0ee7d4: 8e521fd0 */ lw $s2,%lo(var7f1b1fd0)($s2) +/* f0ee7d4: 8e521fd0 */ lw $s2,%lo(g_MenuColourPalettes+0x20)($s2) /* f0ee7d8: 9219003d */ lbu $t9,0x3d($s0) .L0f0ee7dc: /* f0ee7dc: 920b003c */ lbu $t3,0x3c($s0) -/* f0ee7e0: 3c097f1b */ lui $t1,%hi(var7f1b1fb0) +/* f0ee7e0: 3c097f1b */ lui $t1,%hi(g_MenuColourPalettes) /* f0ee7e4: 00194100 */ sll $t0,$t9,0x4 /* f0ee7e8: 000b6100 */ sll $t4,$t3,0x4 -/* f0ee7ec: 25291fb0 */ addiu $t1,$t1,%lo(var7f1b1fb0) +/* f0ee7ec: 25291fb0 */ addiu $t1,$t1,%lo(g_MenuColourPalettes) /* f0ee7f0: 01194023 */ subu $t0,$t0,$t9 /* f0ee7f4: 018b6023 */ subu $t4,$t4,$t3 /* f0ee7f8: 000c6080 */ sll $t4,$t4,0x2 @@ -13778,21 +13738,21 @@ glabel menuRenderItemPlayerStats /* f0ee8c4: 4502000b */ bc1fl .L0f0ee8f4 /* f0ee8c8: 920f003d */ lbu $t7,0x3d($s0) /* f0ee8cc: 9209003c */ lbu $t1,0x3c($s0) -/* f0ee8d0: 3c0e7f1b */ lui $t6,%hi(var7f1b1fc8) +/* f0ee8d0: 3c0e7f1b */ lui $t6,%hi(g_MenuColourPalettes+0x18) /* f0ee8d4: 00096900 */ sll $t5,$t1,0x4 /* f0ee8d8: 01a96823 */ subu $t5,$t5,$t1 /* f0ee8dc: 000d6880 */ sll $t5,$t5,0x2 /* f0ee8e0: 01cd7021 */ addu $t6,$t6,$t5 -/* f0ee8e4: 8dce1fc8 */ lw $t6,%lo(var7f1b1fc8)($t6) +/* f0ee8e4: 8dce1fc8 */ lw $t6,%lo(g_MenuColourPalettes+0x18)($t6) /* f0ee8e8: 10000013 */ b .L0f0ee938 /* f0ee8ec: afae00b8 */ sw $t6,0xb8($sp) /* f0ee8f0: 920f003d */ lbu $t7,0x3d($s0) .L0f0ee8f4: /* f0ee8f4: 920a003c */ lbu $t2,0x3c($s0) -/* f0ee8f8: 3c197f1b */ lui $t9,%hi(var7f1b1fb0) +/* f0ee8f8: 3c197f1b */ lui $t9,%hi(g_MenuColourPalettes) /* f0ee8fc: 000fc100 */ sll $t8,$t7,0x4 /* f0ee900: 000a5900 */ sll $t3,$t2,0x4 -/* f0ee904: 27391fb0 */ addiu $t9,$t9,%lo(var7f1b1fb0) +/* f0ee904: 27391fb0 */ addiu $t9,$t9,%lo(g_MenuColourPalettes) /* f0ee908: 030fc023 */ subu $t8,$t8,$t7 /* f0ee90c: 016a5823 */ subu $t3,$t3,$t2 /* f0ee910: 000b5880 */ sll $t3,$t3,0x2 @@ -13926,12 +13886,12 @@ glabel menuRenderItemPlayerStats /* f0eeb08: 4502000b */ bc1fl .L0f0eeb38 /* f0eeb0c: 9208003d */ lbu $t0,0x3d($s0) /* f0eeb10: 920e003c */ lbu $t6,0x3c($s0) -/* f0eeb14: 3c187f1b */ lui $t8,%hi(var7f1b1fc8) +/* f0eeb14: 3c187f1b */ lui $t8,%hi(g_MenuColourPalettes+0x18) /* f0eeb18: 000e7900 */ sll $t7,$t6,0x4 /* f0eeb1c: 01ee7823 */ subu $t7,$t7,$t6 /* f0eeb20: 000f7880 */ sll $t7,$t7,0x2 /* f0eeb24: 030fc021 */ addu $t8,$t8,$t7 -/* f0eeb28: 8f181fc8 */ lw $t8,%lo(var7f1b1fc8)($t8) +/* f0eeb28: 8f181fc8 */ lw $t8,%lo(g_MenuColourPalettes+0x18)($t8) /* f0eeb2c: 10000012 */ b .L0f0eeb78 /* f0eeb30: afb800b8 */ sw $t8,0xb8($sp) /* f0eeb34: 9208003d */ lbu $t0,0x3d($s0) @@ -13939,8 +13899,8 @@ glabel menuRenderItemPlayerStats /* f0eeb38: 2403003c */ addiu $v1,$zero,0x3c /* f0eeb3c: 9219003c */ lbu $t9,0x3c($s0) /* f0eeb40: 01030019 */ multu $t0,$v1 -/* f0eeb44: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0eeb48: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0eeb44: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0eeb48: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0eeb4c: 8e060044 */ lw $a2,0x44($s0) /* f0eeb50: 00005012 */ mflo $t2 /* f0eeb54: 004a5821 */ addu $t3,$v0,$t2 @@ -15405,8 +15365,8 @@ glabel menuRenderItemController /* f0f0100: 4502000c */ bc1fl .L0f0f0134 /* f0f0104: 90ec003d */ lbu $t4,0x3d($a3) /* f0f0108: 90f9003c */ lbu $t9,0x3c($a3) -/* f0f010c: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) -/* f0f0110: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0f010c: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) +/* f0f0110: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0f0114: 00194900 */ sll $t1,$t9,0x4 /* f0f0118: 01394823 */ subu $t1,$t1,$t9 /* f0f011c: 00094880 */ sll $t1,$t1,0x2 @@ -15417,10 +15377,10 @@ glabel menuRenderItemController /* f0f0130: 90ec003d */ lbu $t4,0x3d($a3) .L0f0f0134: /* f0f0134: 90ef003c */ lbu $t7,0x3c($a3) -/* f0f0138: 3c027f1b */ lui $v0,%hi(var7f1b1fb0) +/* f0f0138: 3c027f1b */ lui $v0,%hi(g_MenuColourPalettes) /* f0f013c: 000c6900 */ sll $t5,$t4,0x4 /* f0f0140: 000fc100 */ sll $t8,$t7,0x4 -/* f0f0144: 24421fb0 */ addiu $v0,$v0,%lo(var7f1b1fb0) +/* f0f0144: 24421fb0 */ addiu $v0,$v0,%lo(g_MenuColourPalettes) /* f0f0148: 01ac6823 */ subu $t5,$t5,$t4 /* f0f014c: 030fc023 */ subu $t8,$t8,$t7 /* f0f0150: 0018c080 */ sll $t8,$t8,0x2 @@ -15710,10 +15670,9 @@ glabel func0f0f057c /* f0f0598: a08e0004 */ sb $t6,0x4($a0) ); -Gfx *menuRenderItem(Gfx *gdl, struct menuframe *frame) +Gfx *menuRenderItem(Gfx *gdl, struct menurenderthing *thing) { - - switch (frame->focuseditem->type) { + switch (thing->item->type) { case MENUITEMTYPE_CUSTOM: return menuRenderItemCustom(gdl); case MENUITEMTYPE_SELECTABLE: return menuRenderItemSelectable(gdl); case MENUITEMTYPE_SLIDER: return menuRenderItemSlider(gdl); @@ -15722,7 +15681,7 @@ Gfx *menuRenderItem(Gfx *gdl, struct menuframe *frame) case MENUITEMTYPE_MARQUEE: return menuRenderItemMarquee(gdl); case MENUITEMTYPE_LABEL: return menuRenderItemLabel(gdl); case MENUITEMTYPE_15: return menuRenderItem15(gdl); - case MENUITEMTYPE_SEPARATOR: return menuRenderItemSeparator(gdl); + case MENUITEMTYPE_SEPARATOR: return menuRenderItemSeparator(gdl, thing); case MENUITEMTYPE_OBJECTIVES: return menuRenderItemObjectives(gdl); case MENUITEMTYPE_07: return menuRenderItem07(gdl); case MENUITEMTYPE_DROPDOWN: return menuRenderItemDropdown(gdl); diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index aef78d728..b8672406b 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -55,21 +55,10 @@ #include "lib/lib_4b480.h" #include "types.h" -const u32 var7f1b1fb0[] = {0x20202000}; -const u32 var7f1b1fb4[] = {0x20202000}; -const u32 var7f1b1fb8[] = {0x20202000}; -const u32 var7f1b1fbc[] = {0x4f4f4f00}; -const u32 var7f1b1fc0[] = {0x00000000}; -const u32 var7f1b1fc4[] = {0x00000000}; -const u32 var7f1b1fc8[] = {0x4f4f4f00}; -const u32 var7f1b1fcc[] = {0x4f4f4f00}; -const u32 var7f1b1fd0[] = {0x4f4f4f00}; -const u32 var7f1b1fd4[] = {0x4f4f4f00}; -const u32 var7f1b1fd8[] = {0x00000000}; -const u32 var7f1b1fdc[] = {0x00000000}; -const u32 var7f1b1fe0[] = {0x4f4f4f00}; -const u32 var7f1b1fe4[] = {0x00000000}; -const u32 var7f1b1fe8[] = {0x00000000}; +const struct menucolourpalette g_MenuColourPalettes[] = { + { 0x20202000, 0x20202000, 0x20202000, 0x4f4f4f00, 0x00000000, 0x00000000, 0x4f4f4f00, 0x4f4f4f00, 0x4f4f4f00, 0x4f4f4f00, 0x00000000, 0x00000000, 0x4f4f4f00, 0x00000000, 0x00000000 }, +}; + const u32 var7f1b1fec[] = {0x0060bf7f}; const u32 var7f1b1ff0[] = {0x0000507f}; const u32 var7f1b1ff4[] = {0x00f0ff7f}; @@ -5381,21 +5370,21 @@ glabel func0f0f5360 /* f0f5400: 8fb001ec */ lw $s0,0x1ec($sp) .L0f0f5404: /* f0f5404: 4480a000 */ mtc1 $zero,$f20 -/* f0f5408: 3c197f1b */ lui $t9,%hi(var7f1b1fb0) +/* f0f5408: 3c197f1b */ lui $t9,%hi(g_MenuColourPalettes) /* f0f540c: c6040040 */ lwc1 $f4,0x40($s0) -/* f0f5410: 27391fb0 */ addiu $t9,$t9,%lo(var7f1b1fb0) +/* f0f5410: 27391fb0 */ addiu $t9,$t9,%lo(g_MenuColourPalettes) /* f0f5414: 4614203c */ c.lt.s $f4,$f20 /* f0f5418: 00000000 */ nop /* f0f541c: 4502000c */ bc1fl .L0f0f5450 /* f0f5420: 920f003d */ lbu $t7,0x3d($s0) /* f0f5424: 920c003c */ lbu $t4,0x3c($s0) -/* f0f5428: 3c0e7f1b */ lui $t6,%hi(var7f1b1fd8) +/* f0f5428: 3c0e7f1b */ lui $t6,%hi(g_MenuColourPalettes+0x28) /* f0f542c: afb001ec */ sw $s0,0x1ec($sp) /* f0f5430: 000c6900 */ sll $t5,$t4,0x4 /* f0f5434: 01ac6823 */ subu $t5,$t5,$t4 /* f0f5438: 000d6880 */ sll $t5,$t5,0x2 /* f0f543c: 01cd7021 */ addu $t6,$t6,$t5 -/* f0f5440: 8dce1fd8 */ lw $t6,%lo(var7f1b1fd8)($t6) +/* f0f5440: 8dce1fd8 */ lw $t6,%lo(g_MenuColourPalettes+0x28)($t6) /* f0f5444: 10000011 */ b .L0f0f548c /* f0f5448: afae01bc */ sw $t6,0x1bc($sp) /* f0f544c: 920f003d */ lbu $t7,0x3d($s0) @@ -5550,9 +5539,9 @@ glabel func0f0f5360 /* f0f5680: 90eb003d */ lbu $t3,0x3d($a3) /* f0f5684: 90f9003c */ lbu $t9,0x3c($a3) /* f0f5688: 2408003c */ addiu $t0,$zero,0x3c -/* f0f568c: 3c097f1b */ lui $t1,%hi(var7f1b1fb0) +/* f0f568c: 3c097f1b */ lui $t1,%hi(g_MenuColourPalettes) /* f0f5690: 03280019 */ multu $t9,$t0 -/* f0f5694: 25291fb0 */ addiu $t1,$t1,%lo(var7f1b1fb0) +/* f0f5694: 25291fb0 */ addiu $t1,$t1,%lo(g_MenuColourPalettes) /* f0f5698: 00007012 */ mflo $t6 /* f0f569c: 012e7821 */ addu $t7,$t1,$t6 /* f0f56a0: 8df80000 */ lw $t8,0x0($t7) @@ -5561,10 +5550,10 @@ glabel func0f0f5360 /* f0f56ac: 90eb003d */ lbu $t3,0x3d($a3) .L0f0f56b0: /* f0f56b0: 90ee003c */ lbu $t6,0x3c($a3) -/* f0f56b4: 3c0d7f1b */ lui $t5,%hi(var7f1b1fb0) +/* f0f56b4: 3c0d7f1b */ lui $t5,%hi(g_MenuColourPalettes) /* f0f56b8: 000b6100 */ sll $t4,$t3,0x4 /* f0f56bc: 000e7900 */ sll $t7,$t6,0x4 -/* f0f56c0: 25ad1fb0 */ addiu $t5,$t5,%lo(var7f1b1fb0) +/* f0f56c0: 25ad1fb0 */ addiu $t5,$t5,%lo(g_MenuColourPalettes) /* f0f56c4: 018b6023 */ subu $t4,$t4,$t3 /* f0f56c8: 01ee7823 */ subu $t7,$t7,$t6 /* f0f56cc: 000f7880 */ sll $t7,$t7,0x2 @@ -5575,8 +5564,8 @@ glabel func0f0f5360 /* f0f56e0: 8f240000 */ lw $a0,0x0($t9) /* f0f56e4: 0fc01a40 */ jal colourBlend /* f0f56e8: 8ce60044 */ lw $a2,0x44($a3) -/* f0f56ec: 3c097f1b */ lui $t1,%hi(var7f1b1fb0) -/* f0f56f0: 25291fb0 */ addiu $t1,$t1,%lo(var7f1b1fb0) +/* f0f56ec: 3c097f1b */ lui $t1,%hi(g_MenuColourPalettes) +/* f0f56f0: 25291fb0 */ addiu $t1,$t1,%lo(g_MenuColourPalettes) /* f0f56f4: afa201bc */ sw $v0,0x1bc($sp) /* f0f56f8: 2408003c */ addiu $t0,$zero,0x3c /* f0f56fc: 8fa701ec */ lw $a3,0x1ec($sp) @@ -5606,8 +5595,8 @@ glabel func0f0f5360 /* f0f5754: 012cc821 */ addu $t9,$t1,$t4 /* f0f5758: 0fc01a40 */ jal colourBlend /* f0f575c: 8f250004 */ lw $a1,0x4($t9) -/* f0f5760: 3c097f1b */ lui $t1,%hi(var7f1b1fb0) -/* f0f5764: 25291fb0 */ addiu $t1,$t1,%lo(var7f1b1fb0) +/* f0f5760: 3c097f1b */ lui $t1,%hi(g_MenuColourPalettes) +/* f0f5764: 25291fb0 */ addiu $t1,$t1,%lo(g_MenuColourPalettes) /* f0f5768: afa201b8 */ sw $v0,0x1b8($sp) /* f0f576c: 2408003c */ addiu $t0,$zero,0x3c /* f0f5770: 8fa701ec */ lw $a3,0x1ec($sp) @@ -5881,8 +5870,8 @@ glabel func0f0f5360 /* f0f5b70: 8dc10008 */ lw $at,0x8($t6) /* f0f5b74: ae810008 */ sw $at,0x8($s4) /* f0f5b78: 8dd9000c */ lw $t9,0xc($t6) -/* f0f5b7c: 3c0e7f1b */ lui $t6,%hi(var7f1b1fb0) -/* f0f5b80: 25ce1fb0 */ addiu $t6,$t6,%lo(var7f1b1fb0) +/* f0f5b7c: 3c0e7f1b */ lui $t6,%hi(g_MenuColourPalettes) +/* f0f5b80: 25ce1fb0 */ addiu $t6,$t6,%lo(g_MenuColourPalettes) /* f0f5b84: ae99000c */ sw $t9,0xc($s4) /* f0f5b88: c4680040 */ lwc1 $f8,0x40($v1) /* f0f5b8c: 4614403c */ c.lt.s $f8,$f20 @@ -5890,12 +5879,12 @@ glabel func0f0f5360 /* f0f5b94: 4502000b */ bc1fl .L0f0f5bc4 /* f0f5b98: 906c003d */ lbu $t4,0x3d($v1) /* f0f5b9c: 906f003c */ lbu $t7,0x3c($v1) -/* f0f5ba0: 3c0b7f1b */ lui $t3,%hi(var7f1b1fbc) +/* f0f5ba0: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes+0xc) /* f0f5ba4: 000f6900 */ sll $t5,$t7,0x4 /* f0f5ba8: 01af6823 */ subu $t5,$t5,$t7 /* f0f5bac: 000d6880 */ sll $t5,$t5,0x2 /* f0f5bb0: 016d5821 */ addu $t3,$t3,$t5 -/* f0f5bb4: 8d6b1fbc */ lw $t3,%lo(var7f1b1fbc)($t3) +/* f0f5bb4: 8d6b1fbc */ lw $t3,%lo(g_MenuColourPalettes+0xc)($t3) /* f0f5bb8: 10000011 */ b .L0f0f5c00 /* f0f5bbc: afab01bc */ sw $t3,0x1bc($sp) /* f0f5bc0: 906c003d */ lbu $t4,0x3d($v1) @@ -6066,8 +6055,8 @@ glabel func0f0f5360 .L0f0f5e34: /* f0f5e34: 8fac0084 */ lw $t4,0x84($sp) .L0f0f5e38: -/* f0f5e38: 3c0b7f1b */ lui $t3,%hi(var7f1b1fb0) -/* f0f5e3c: 256b1fb0 */ addiu $t3,$t3,%lo(var7f1b1fb0) +/* f0f5e38: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes) +/* f0f5e3c: 256b1fb0 */ addiu $t3,$t3,%lo(g_MenuColourPalettes) /* f0f5e40: 0195082a */ slt $at,$t4,$s5 /* f0f5e44: 50200003 */ beqzl $at,.L0f0f5e54 /* f0f5e48: c44a0040 */ lwc1 $f10,0x40($v0) @@ -6079,12 +6068,12 @@ glabel func0f0f5360 /* f0f5e5c: 4502000b */ bc1fl .L0f0f5e8c /* f0f5e60: 904d003d */ lbu $t5,0x3d($v0) /* f0f5e64: 9058003c */ lbu $t8,0x3c($v0) -/* f0f5e68: 3c0f7f1b */ lui $t7,%hi(var7f1b1fc0) +/* f0f5e68: 3c0f7f1b */ lui $t7,%hi(g_MenuColourPalettes+0x10) /* f0f5e6c: 0018c900 */ sll $t9,$t8,0x4 /* f0f5e70: 0338c823 */ subu $t9,$t9,$t8 /* f0f5e74: 0019c880 */ sll $t9,$t9,0x2 /* f0f5e78: 01f97821 */ addu $t7,$t7,$t9 -/* f0f5e7c: 8def1fc0 */ lw $t7,%lo(var7f1b1fc0)($t7) +/* f0f5e7c: 8def1fc0 */ lw $t7,%lo(g_MenuColourPalettes+0x10)($t7) /* f0f5e80: 10000011 */ b .L0f0f5ec8 /* f0f5e84: afaf01bc */ sw $t7,0x1bc($sp) /* f0f5e88: 904d003d */ lbu $t5,0x3d($v0) @@ -6121,19 +6110,19 @@ glabel func0f0f5360 /* f0f5efc: 8fa201ec */ lw $v0,0x1ec($sp) /* f0f5f00: c4500040 */ lwc1 $f16,0x40($v0) .L0f0f5f04: -/* f0f5f04: 3c187f1b */ lui $t8,%hi(var7f1b1fb0) -/* f0f5f08: 27181fb0 */ addiu $t8,$t8,%lo(var7f1b1fb0) +/* f0f5f04: 3c187f1b */ lui $t8,%hi(g_MenuColourPalettes) +/* f0f5f08: 27181fb0 */ addiu $t8,$t8,%lo(g_MenuColourPalettes) /* f0f5f0c: 4614803c */ c.lt.s $f16,$f20 /* f0f5f10: 00000000 */ nop /* f0f5f14: 4502000b */ bc1fl .L0f0f5f44 /* f0f5f18: 904c003d */ lbu $t4,0x3d($v0) /* f0f5f1c: 904b003c */ lbu $t3,0x3c($v0) -/* f0f5f20: 3c0d7f1b */ lui $t5,%hi(var7f1b1fc4) +/* f0f5f20: 3c0d7f1b */ lui $t5,%hi(g_MenuColourPalettes+0x14) /* f0f5f24: 000b7900 */ sll $t7,$t3,0x4 /* f0f5f28: 01eb7823 */ subu $t7,$t7,$t3 /* f0f5f2c: 000f7880 */ sll $t7,$t7,0x2 /* f0f5f30: 01af6821 */ addu $t5,$t5,$t7 -/* f0f5f34: 8dad1fc4 */ lw $t5,%lo(var7f1b1fc4)($t5) +/* f0f5f34: 8dad1fc4 */ lw $t5,%lo(g_MenuColourPalettes+0x14)($t5) /* f0f5f38: 10000011 */ b .L0f0f5f80 /* f0f5f3c: afad01b8 */ sw $t5,0x1b8($sp) /* f0f5f40: 904c003d */ lbu $t4,0x3d($v0) @@ -6235,8 +6224,8 @@ glabel func0f0f5360 /* f0f60ac: 4502000b */ bc1fl .L0f0f60dc /* f0f60b0: 904b003d */ lbu $t3,0x3d($v0) /* f0f60b4: 904c003c */ lbu $t4,0x3c($v0) -/* f0f60b8: 3c197f1b */ lui $t9,%hi(var7f1b1fb0) -/* f0f60bc: 27391fb0 */ addiu $t9,$t9,%lo(var7f1b1fb0) +/* f0f60b8: 3c197f1b */ lui $t9,%hi(g_MenuColourPalettes) +/* f0f60bc: 27391fb0 */ addiu $t9,$t9,%lo(g_MenuColourPalettes) /* f0f60c0: 000c7100 */ sll $t6,$t4,0x4 /* f0f60c4: 01cc7023 */ subu $t6,$t6,$t4 /* f0f60c8: 000e7080 */ sll $t6,$t6,0x2 @@ -6246,10 +6235,10 @@ glabel func0f0f5360 /* f0f60d8: 904b003d */ lbu $t3,0x3d($v0) .L0f0f60dc: /* f0f60dc: 904c003c */ lbu $t4,0x3c($v0) -/* f0f60e0: 3c187f1b */ lui $t8,%hi(var7f1b1fb0) +/* f0f60e0: 3c187f1b */ lui $t8,%hi(g_MenuColourPalettes) /* f0f60e4: 000b7900 */ sll $t7,$t3,0x4 /* f0f60e8: 000c7100 */ sll $t6,$t4,0x4 -/* f0f60ec: 27181fb0 */ addiu $t8,$t8,%lo(var7f1b1fb0) +/* f0f60ec: 27181fb0 */ addiu $t8,$t8,%lo(g_MenuColourPalettes) /* f0f60f0: 01eb7823 */ subu $t7,$t7,$t3 /* f0f60f4: 01cc7023 */ subu $t6,$t6,$t4 /* f0f60f8: 000e7080 */ sll $t6,$t6,0x2 @@ -6262,8 +6251,8 @@ glabel func0f0f5360 /* f0f6114: 8c460044 */ lw $a2,0x44($v0) /* f0f6118: 00409025 */ or $s2,$v0,$zero /* f0f611c: 8fa201ec */ lw $v0,0x1ec($sp) -/* f0f6120: 3c0c7f1b */ lui $t4,%hi(var7f1b1fb0) -/* f0f6124: 258c1fb0 */ addiu $t4,$t4,%lo(var7f1b1fb0) +/* f0f6120: 3c0c7f1b */ lui $t4,%hi(g_MenuColourPalettes) +/* f0f6124: 258c1fb0 */ addiu $t4,$t4,%lo(g_MenuColourPalettes) /* f0f6128: 904f003c */ lbu $t7,0x3c($v0) /* f0f612c: c4400040 */ lwc1 $f0,0x40($v0) /* f0f6130: 000f6900 */ sll $t5,$t7,0x4 @@ -6272,7 +6261,7 @@ glabel func0f0f5360 /* f0f613c: 01ac1821 */ addu $v1,$t5,$t4 .L0f0f6140: /* f0f6140: 4614003c */ c.lt.s $f0,$f20 -/* f0f6144: 3c047f1b */ lui $a0,%hi(var7f1b1fb8) +/* f0f6144: 3c047f1b */ lui $a0,%hi(g_MenuColourPalettes+0x8) /* f0f6148: 45020004 */ bc1fl .L0f0f615c /* f0f614c: 904e003d */ lbu $t6,0x3d($v0) /* f0f6150: 1000000b */ b .L0f0f6180 @@ -6286,7 +6275,7 @@ glabel func0f0f5360 /* f0f616c: 0018c080 */ sll $t8,$t8,0x2 /* f0f6170: 00982021 */ addu $a0,$a0,$t8 /* f0f6174: 0fc01a40 */ jal colourBlend -/* f0f6178: 8c841fb8 */ lw $a0,%lo(var7f1b1fb8)($a0) +/* f0f6178: 8c841fb8 */ lw $a0,%lo(g_MenuColourPalettes+0x8)($a0) /* f0f617c: 00404025 */ or $t0,$v0,$zero .L0f0f6180: /* f0f6180: 8fb901dc */ lw $t9,0x1dc($sp) @@ -6522,7 +6511,7 @@ glabel func0f0f5360 .L0f0f64d4: /* f0f64d4: 8fa201ec */ lw $v0,0x1ec($sp) /* f0f64d8: 8fad01dc */ lw $t5,0x1dc($sp) -/* f0f64dc: 3c057f1b */ lui $a1,%hi(var7f1b1fc8) +/* f0f64dc: 3c057f1b */ lui $a1,%hi(g_MenuColourPalettes+0x18) /* f0f64e0: 8c4c0064 */ lw $t4,0x64($v0) /* f0f64e4: afa00128 */ sw $zero,0x128($sp) /* f0f64e8: 01ac5821 */ addu $t3,$t5,$t4 @@ -6536,7 +6525,7 @@ glabel func0f0f5360 /* f0f6508: 4614503c */ c.lt.s $f10,$f20 /* f0f650c: 0019c880 */ sll $t9,$t9,0x2 /* f0f6510: 00b92821 */ addu $a1,$a1,$t9 -/* f0f6514: 8ca51fc8 */ lw $a1,%lo(var7f1b1fc8)($a1) +/* f0f6514: 8ca51fc8 */ lw $a1,%lo(g_MenuColourPalettes+0x18)($a1) /* f0f6518: 45020005 */ bc1fl .L0f0f6530 /* f0f651c: 904f003d */ lbu $t7,0x3d($v0) /* f0f6520: afa50120 */ sw $a1,0x120($sp) @@ -6544,14 +6533,14 @@ glabel func0f0f5360 /* f0f6528: 90430004 */ lbu $v1,0x4($v0) /* f0f652c: 904f003d */ lbu $t7,0x3d($v0) .L0f0f6530: -/* f0f6530: 3c047f1b */ lui $a0,%hi(var7f1b1fc8) +/* f0f6530: 3c047f1b */ lui $a0,%hi(g_MenuColourPalettes+0x18) /* f0f6534: 8c460044 */ lw $a2,0x44($v0) /* f0f6538: 000f6900 */ sll $t5,$t7,0x4 /* f0f653c: 01af6823 */ subu $t5,$t5,$t7 /* f0f6540: 000d6880 */ sll $t5,$t5,0x2 /* f0f6544: 008d2021 */ addu $a0,$a0,$t5 /* f0f6548: 0fc01a40 */ jal colourBlend -/* f0f654c: 8c841fc8 */ lw $a0,%lo(var7f1b1fc8)($a0) +/* f0f654c: 8c841fc8 */ lw $a0,%lo(g_MenuColourPalettes+0x18)($a0) /* f0f6550: afa20120 */ sw $v0,0x120($sp) /* f0f6554: 8fa201ec */ lw $v0,0x1ec($sp) /* f0f6558: 90430004 */ lbu $v1,0x4($v0) @@ -6576,7 +6565,7 @@ glabel func0f0f5360 /* f0f65a0: 8fab01d4 */ lw $t3,0x1d4($sp) /* f0f65a4: afb80014 */ sw $t8,0x14($sp) /* f0f65a8: afb80018 */ sw $t8,0x18($sp) -/* f0f65ac: 0fc38bd7 */ jal func0f0e2f5c +/* f0f65ac: 0fc38bd7 */ jal renderFilledRect /* f0f65b0: afab0010 */ sw $t3,0x10($sp) /* f0f65b4: afa201e8 */ sw $v0,0x1e8($sp) .L0f0f65b8: @@ -6703,7 +6692,7 @@ glabel func0f0f5360 /* f0f677c: afa30014 */ sw $v1,0x14($sp) /* f0f6780: afa30018 */ sw $v1,0x18($sp) /* f0f6784: 02002825 */ or $a1,$s0,$zero -/* f0f6788: 0fc38bd7 */ jal func0f0e2f5c +/* f0f6788: 0fc38bd7 */ jal renderFilledRect /* f0f678c: 020e3821 */ addu $a3,$s0,$t6 /* f0f6790: afa201e8 */ sw $v0,0x1e8($sp) .L0f0f6794: @@ -6726,20 +6715,20 @@ glabel func0f0f5360 /* f0f67d4: 45000009 */ bc1f .L0f0f67fc /* f0f67d8: 03319821 */ addu $s3,$t9,$s1 /* f0f67dc: 91af003c */ lbu $t7,0x3c($t5) -/* f0f67e0: 3c047f1b */ lui $a0,%hi(var7f1b1fd8) +/* f0f67e0: 3c047f1b */ lui $a0,%hi(g_MenuColourPalettes+0x28) /* f0f67e4: 000fc100 */ sll $t8,$t7,0x4 /* f0f67e8: 030fc023 */ subu $t8,$t8,$t7 /* f0f67ec: 0018c080 */ sll $t8,$t8,0x2 /* f0f67f0: 00982021 */ addu $a0,$a0,$t8 /* f0f67f4: 10000011 */ b .L0f0f683c -/* f0f67f8: 8c841fd8 */ lw $a0,%lo(var7f1b1fd8)($a0) +/* f0f67f8: 8c841fd8 */ lw $a0,%lo(g_MenuColourPalettes+0x28)($a0) .L0f0f67fc: /* f0f67fc: 91cc003d */ lbu $t4,0x3d($t6) /* f0f6800: 2402003c */ addiu $v0,$zero,0x3c /* f0f6804: 91cd003c */ lbu $t5,0x3c($t6) /* f0f6808: 01820019 */ multu $t4,$v0 -/* f0f680c: 3c037f1b */ lui $v1,%hi(var7f1b1fb0) -/* f0f6810: 24631fb0 */ addiu $v1,$v1,%lo(var7f1b1fb0) +/* f0f680c: 3c037f1b */ lui $v1,%hi(g_MenuColourPalettes) +/* f0f6810: 24631fb0 */ addiu $v1,$v1,%lo(g_MenuColourPalettes) /* f0f6814: 8dc60044 */ lw $a2,0x44($t6) /* f0f6818: 0000c812 */ mflo $t9 /* f0f681c: 00795821 */ addu $t3,$v1,$t9 @@ -7351,20 +7340,20 @@ glabel func0f0f5360 /* f0f7128: 4502000a */ bc1fl .L0f0f7154 /* f0f712c: 91ed003d */ lbu $t5,0x3d($t7) /* f0f7130: 9178003c */ lbu $t8,0x3c($t3) -/* f0f7134: 3c057f1b */ lui $a1,%hi(var7f1b1fb0) +/* f0f7134: 3c057f1b */ lui $a1,%hi(g_MenuColourPalettes) /* f0f7138: 00186100 */ sll $t4,$t8,0x4 /* f0f713c: 01986023 */ subu $t4,$t4,$t8 /* f0f7140: 000c6080 */ sll $t4,$t4,0x2 /* f0f7144: 00ac2821 */ addu $a1,$a1,$t4 /* f0f7148: 10000011 */ b .L0f0f7190 -/* f0f714c: 8ca51fb0 */ lw $a1,%lo(var7f1b1fb0)($a1) +/* f0f714c: 8ca51fb0 */ lw $a1,%lo(g_MenuColourPalettes)($a1) /* f0f7150: 91ed003d */ lbu $t5,0x3d($t7) .L0f0f7154: /* f0f7154: 2402003c */ addiu $v0,$zero,0x3c /* f0f7158: 91eb003c */ lbu $t3,0x3c($t7) /* f0f715c: 01a20019 */ multu $t5,$v0 -/* f0f7160: 3c037f1b */ lui $v1,%hi(var7f1b1fb0) -/* f0f7164: 24631fb0 */ addiu $v1,$v1,%lo(var7f1b1fb0) +/* f0f7160: 3c037f1b */ lui $v1,%hi(g_MenuColourPalettes) +/* f0f7164: 24631fb0 */ addiu $v1,$v1,%lo(g_MenuColourPalettes) /* f0f7168: 8de60044 */ lw $a2,0x44($t7) /* f0f716c: 0000c812 */ mflo $t9 /* f0f7170: 00797021 */ addu $t6,$v1,$t9 diff --git a/src/game/game_1a3340.c b/src/game/game_1a3340.c index c965be1cc..a728bebca 100644 --- a/src/game/game_1a3340.c +++ b/src/game/game_1a3340.c @@ -2274,7 +2274,7 @@ glabel menuhandler001a44c0 /* f1a5ad0: 2465002d */ addiu $a1,$v1,0x2d /* f1a5ad4: 24670051 */ addiu $a3,$v1,0x51 /* f1a5ad8: afb90014 */ sw $t9,0x14($sp) -/* f1a5adc: 0fc38bd7 */ jal func0f0e2f5c +/* f1a5adc: 0fc38bd7 */ jal renderFilledRect /* f1a5ae0: afac0018 */ sw $t4,0x18($sp) /* f1a5ae4: afa2015c */ sw $v0,0x15c($sp) /* f1a5ae8: 8e080004 */ lw $t0,0x4($s0) diff --git a/src/include/game/game_0e0770.h b/src/include/game/game_0e0770.h index 72189a250..b95c3bc1f 100644 --- a/src/include/game/game_0e0770.h +++ b/src/include/game/game_0e0770.h @@ -17,7 +17,7 @@ u32 func0f0e26ec(void); u32 func0f0e2744(void); u32 func0f0e2aa4(void); u32 func0f0e2ee8(void); -u32 func0f0e2f5c(void); +Gfx *renderFilledRect(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, u32 colourleft, u32 colourright); u32 func0f0e2fe4(void); u32 func0f0e3324(void); u32 func0f0e37b0(void); diff --git a/src/include/game/game_0e5ce0.h b/src/include/game/game_0e5ce0.h index 6188d8cbe..1f9f50051 100644 --- a/src/include/game/game_0e5ce0.h +++ b/src/include/game/game_0e5ce0.h @@ -17,7 +17,7 @@ u32 func0f0e855c(void); Gfx *menuRenderItemKeyboard(Gfx *gdl); u32 func0f0e91d0(void); void func0f0e9744(struct menuitem *item, u16 *arg1); -Gfx *menuRenderItemSeparator(Gfx *gdl); +Gfx *menuRenderItemSeparator(Gfx *gdl, struct menurenderthing *thing); u32 func0f0e98ac(void); Gfx *menuRenderItemObjectives(Gfx *gdl); Gfx *menuRenderItemModel(Gfx *gdl); @@ -55,7 +55,7 @@ u32 func0f0efbb4(void); u32 func0f0efe30(void); Gfx *menuRenderItemController(Gfx *gdl); void func0f0f057c(u16 *arg0); -Gfx *menuRenderItem(Gfx *gdl, struct menuframe *frame); +Gfx *menuRenderItem(Gfx *gdl, struct menurenderthing *thing); u32 func0f0f0704(void); void func0f0f0860(struct menuitem *ite, u16 *arg1); u32 func0f0f0918(void); diff --git a/src/include/game/game_0f09f0.h b/src/include/game/game_0f09f0.h index 7ef192990..c2dbfc55d 100644 --- a/src/include/game/game_0f09f0.h +++ b/src/include/game/game_0f09f0.h @@ -3,6 +3,8 @@ #include #include "types.h" +extern const struct menucolourpalette g_MenuColourPalettes[]; + void func0f0f09f0(s32 arg0); bool menuIsSoloMissionOrMp(void); bool currentPlayerIsMenuOpenInSoloOrMp(void); diff --git a/src/include/types.h b/src/include/types.h index 6525cb21a..f539c0c16 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -6764,4 +6764,53 @@ struct splat { /*0x440*/ u32 unk440; }; +struct menurenderthing10 { + /*0x00*/ u32 unk00; + /*0x04*/ u32 unk04; + /*0x08*/ u32 unk08; + /*0x0c*/ u32 unk0c; + /*0x10*/ u32 unk10; + /*0x14*/ u32 unk14; + /*0x18*/ u32 unk18; + /*0x1c*/ u32 unk1c; + /*0x20*/ u32 unk20; + /*0x24*/ u32 unk24; + /*0x28*/ u32 unk28; + /*0x2c*/ u32 unk2c; + /*0x30*/ u32 unk30; + /*0x34*/ u32 unk34; + /*0x38*/ u32 unk38; + /*0x3c*/ u8 colour1index; + /*0x3c*/ u8 colour2index; + /*0x40*/ f32 unk40; + /*0x44*/ u32 colourweight; +}; + +struct menurenderthing { + s16 x; + s16 y; + s16 width; + struct menuitem *item; + u32 unk0c; + struct menurenderthing10 *unk10; +}; + +struct menucolourpalette { + /*0x00*/ u32 unk00; + /*0x04*/ u32 unk04; + /*0x08*/ u32 unk08; + /*0x0c*/ u32 unk0c; + /*0x10*/ u32 unk10; + /*0x14*/ u32 unk14; + /*0x18*/ u32 unk18; + /*0x1c*/ u32 unk1c; + /*0x20*/ u32 unk20; + /*0x24*/ u32 unk24; + /*0x28*/ u32 unk28; + /*0x2c*/ u32 unk2c; + /*0x30*/ u32 unk30; + /*0x34*/ u32 unk34; + /*0x38*/ u32 unk38; +}; + #endif