From 6ffaa4b0211ef5814c1804e59c2c31f2e821c8f0 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 24 Jun 2022 19:32:24 +1000 Subject: [PATCH] pal-beta and jpn-final: Decompile titleRenderLegal --- src/game/game_1531a0.c | 6 +- src/game/title.c | 1021 ++-------------------------------------- src/include/data.h | 4 +- 3 files changed, 50 insertions(+), 981 deletions(-) diff --git a/src/game/game_1531a0.c b/src/game/game_1531a0.c index 5033bbb4e..9aa511d29 100644 --- a/src/game/game_1531a0.c +++ b/src/game/game_1531a0.c @@ -51,14 +51,14 @@ u32 var80080104jf = 0; s32 var8007fac4 = 0; bool g_TextRotated90 = false; u32 var8007facc = 0; -u32 var8007fad0 = 1; -u32 var80080108jf = 1; +s32 var8007fad0 = 1; +s32 var80080108jf = 1; #else s32 g_ScaleX = 1; s32 var8007fac4 = 0; bool g_TextRotated90 = false; u32 var8007facc = 0; -u32 var8007fad0 = 1; +s32 var8007fad0 = 1; #endif u32 var8007fad4 = 0xffffffff; diff --git a/src/game/title.c b/src/game/title.c index 5ff13148d..0bd5582c9 100644 --- a/src/game/title.c +++ b/src/game/title.c @@ -17,6 +17,7 @@ #include "game/modeldef.h" #include "game/lang.h" #include "game/propobj.h" +#include "game/savebuffer.h" #include "bss.h" #include "lib/crash.h" #include "lib/joy.h" @@ -334,980 +335,9 @@ struct legalelement g_LegalElements[] = { #endif }; -#if VERSION >= VERSION_JPN_FINAL -struct modelrenderdata var80063dacpb = { NULL, true, 3 }; - -GLOBAL_ASM( -glabel titleRenderLegal -.late_rodata -glabel var7f1a84fcjf -.word 0x7f016828 -.word 0x7f01683c -.word 0x7f016850 -.word 0x7f0168d8 -.word 0x7f0168d8 -.word 0x7f016864 -.word 0x7f0168c0 -.text -/* f01673c: 27bdfed0 */ addiu $sp,$sp,-304 -/* f016740: 3c0f8006 */ lui $t7,0x8006 -/* f016744: afb60050 */ sw $s6,0x50($sp) -/* f016748: 25ef2624 */ addiu $t7,$t7,0x2624 -/* f01674c: afbf005c */ sw $ra,0x5c($sp) -/* f016750: afbe0058 */ sw $s8,0x58($sp) -/* f016754: afb70054 */ sw $s7,0x54($sp) -/* f016758: afb5004c */ sw $s5,0x4c($sp) -/* f01675c: afb40048 */ sw $s4,0x48($sp) -/* f016760: afb30044 */ sw $s3,0x44($sp) -/* f016764: afb20040 */ sw $s2,0x40($sp) -/* f016768: afb1003c */ sw $s1,0x3c($sp) -/* f01676c: afb00038 */ sw $s0,0x38($sp) -/* f016770: afa40130 */ sw $a0,0x130($sp) -/* f016774: 0000b025 */ move $s6,$zero -/* f016778: 25eb003c */ addiu $t3,$t7,0x3c -/* f01677c: 27ae00e4 */ addiu $t6,$sp,0xe4 -.JF0f016780: -/* f016780: 8de10000 */ lw $at,0x0($t7) -/* f016784: 25ef000c */ addiu $t7,$t7,0xc -/* f016788: 25ce000c */ addiu $t6,$t6,0xc -/* f01678c: adc1fff4 */ sw $at,-0xc($t6) -/* f016790: 8de1fff8 */ lw $at,-0x8($t7) -/* f016794: adc1fff8 */ sw $at,-0x8($t6) -/* f016798: 8de1fffc */ lw $at,-0x4($t7) -/* f01679c: 15ebfff8 */ bne $t7,$t3,.JF0f016780 -/* f0167a0: adc1fffc */ sw $at,-0x4($t6) -/* f0167a4: 8de10000 */ lw $at,0x0($t7) -/* f0167a8: 3c0c8006 */ lui $t4,0x8006 -/* f0167ac: adc10000 */ sw $at,0x0($t6) -/* f0167b0: 8d8c2664 */ lw $t4,0x2664($t4) -/* f0167b4: 518001c9 */ beqzl $t4,.JF0f016edc -/* f0167b8: 8fbf005c */ lw $ra,0x5c($sp) -/* f0167bc: 0fc07058 */ jal titleClear -/* f0167c0: 8fa40130 */ lw $a0,0x130($sp) -/* f0167c4: afa20130 */ sw $v0,0x130($sp) -/* f0167c8: 0fc35617 */ jal func0f0d479c -/* f0167cc: 00402025 */ move $a0,$v0 -/* f0167d0: afa20130 */ sw $v0,0x130($sp) -/* f0167d4: 0fc54b55 */ jal func0f153628 -/* f0167d8: 00402025 */ move $a0,$v0 -/* f0167dc: 3c0d8006 */ lui $t5,0x8006 -/* f0167e0: 3c128006 */ lui $s2,0x8006 -/* f0167e4: 25ad2624 */ addiu $t5,$t5,0x2624 -/* f0167e8: afa20130 */ sw $v0,0x130($sp) -/* f0167ec: 26522528 */ addiu $s2,$s2,0x2528 -/* f0167f0: afad0124 */ sw $t5,0x124($sp) -/* f0167f4: 27be00e0 */ addiu $s8,$sp,0xe0 -/* f0167f8: 2417ffff */ li $s7,-1 -/* f0167fc: 86420008 */ lh $v0,0x8($s2) -.JF0f016800: -/* f016800: 3c157f7f */ lui $s5,0x7f7f -/* f016804: 36b5ffff */ ori $s5,$s5,0xffff -/* f016808: 2c410007 */ sltiu $at,$v0,0x7 -/* f01680c: 10200032 */ beqz $at,.JF0f0168d8 -/* f016810: 0002c880 */ sll $t9,$v0,0x2 -/* f016814: 3c017f1b */ lui $at,0x7f1b -/* f016818: 00390821 */ addu $at,$at,$t9 -/* f01681c: 8c398f4c */ lw $t9,-0x70b4($at) -/* f016820: 03200008 */ jr $t9 -/* f016824: 00000000 */ nop -/* f016828: 3c138008 */ lui $s3,0x8008 -/* f01682c: 3c148008 */ lui $s4,0x8008 -/* f016830: 8e73014c */ lw $s3,0x14c($s3) -/* f016834: 1000002c */ b .JF0f0168e8 -/* f016838: 8e940148 */ lw $s4,0x148($s4) -/* f01683c: 3c138008 */ lui $s3,0x8008 -/* f016840: 3c148008 */ lui $s4,0x8008 -/* f016844: 8e730154 */ lw $s3,0x154($s3) -/* f016848: 10000027 */ b .JF0f0168e8 -/* f01684c: 8e940150 */ lw $s4,0x150($s4) -/* f016850: 3c138008 */ lui $s3,0x8008 -/* f016854: 3c148008 */ lui $s4,0x8008 -/* f016858: 8e73015c */ lw $s3,0x15c($s3) -/* f01685c: 10000022 */ b .JF0f0168e8 -/* f016860: 8e940158 */ lw $s4,0x158($s4) -/* f016864: 9643000a */ lhu $v1,0xa($s2) -/* f016868: 3c138008 */ lui $s3,0x8008 -/* f01686c: 3c148008 */ lui $s4,0x8008 -/* f016870: 2401564a */ li $at,0x564a -/* f016874: 8e73015c */ lw $s3,0x15c($s3) -/* f016878: 8e940158 */ lw $s4,0x158($s4) -/* f01687c: 10610003 */ beq $v1,$at,.JF0f01688c -/* f016880: 2415ffff */ li $s5,-1 -/* f016884: 24015649 */ li $at,0x5649 -/* f016888: 14610017 */ bne $v1,$at,.JF0f0168e8 -.JF0f01688c: -/* f01688c: 3c188009 */ lui $t8,0x8009 -/* f016890: 93181160 */ lbu $t8,0x1160($t8) -/* f016894: 24010001 */ li $at,0x1 -/* f016898: 26d6000a */ addiu $s6,$s6,0xa -/* f01689c: 17010005 */ bne $t8,$at,.JF0f0168b4 -/* f0168a0: 240f5649 */ li $t7,0x5649 -/* f0168a4: 240b564a */ li $t3,0x564a -/* f0168a8: a64b000a */ sh $t3,0xa($s2) -/* f0168ac: 1000000e */ b .JF0f0168e8 -/* f0168b0: 86420008 */ lh $v0,0x8($s2) -.JF0f0168b4: -/* f0168b4: a64f000a */ sh $t7,0xa($s2) -/* f0168b8: 1000000b */ b .JF0f0168e8 -/* f0168bc: 86420008 */ lh $v0,0x8($s2) -/* f0168c0: 3c138008 */ lui $s3,0x8008 -/* f0168c4: 3c148008 */ lui $s4,0x8008 -/* f0168c8: 8e73014c */ lw $s3,0x14c($s3) -/* f0168cc: 8e940148 */ lw $s4,0x148($s4) -/* f0168d0: 10000005 */ b .JF0f0168e8 -/* f0168d4: 2415ffff */ li $s5,-1 -.JF0f0168d8: -/* f0168d8: 3c138008 */ lui $s3,0x8008 -/* f0168dc: 3c148008 */ lui $s4,0x8008 -/* f0168e0: 8e73015c */ lw $s3,0x15c($s3) -/* f0168e4: 8e940158 */ lw $s4,0x158($s4) -.JF0f0168e8: -/* f0168e8: 24010003 */ li $at,0x3 -/* f0168ec: 54410016 */ bnel $v0,$at,.JF0f016948 -/* f0168f0: 24010004 */ li $at,0x4 -/* f0168f4: 0fc54bb7 */ jal func0f153780 -/* f0168f8: 8fa40130 */ lw $a0,0x130($sp) -/* f0168fc: 0c002eeb */ jal viGetWidth -/* f016900: afa20130 */ sw $v0,0x130($sp) -/* f016904: 86430002 */ lh $v1,0x2($s2) -/* f016908: 3c0c7f7f */ lui $t4,0x7f7f -/* f01690c: 358cff7f */ ori $t4,$t4,0xff7f -/* f016910: 86450000 */ lh $a1,0x0($s2) -/* f016914: 246e0001 */ addiu $t6,$v1,0x1 -/* f016918: afae0010 */ sw $t6,0x10($sp) -/* f01691c: afac0014 */ sw $t4,0x14($sp) -/* f016920: 8fa40130 */ lw $a0,0x130($sp) -/* f016924: 00403825 */ move $a3,$v0 -/* f016928: 0fc54c68 */ jal func0f153a34 -/* f01692c: 2466ffff */ addiu $a2,$v1,-1 -/* f016930: afa20130 */ sw $v0,0x130($sp) -/* f016934: 0fc54b55 */ jal func0f153628 -/* f016938: 00402025 */ move $a0,$v0 -/* f01693c: 1000015e */ b .JF0f016eb8 -/* f016940: afa20130 */ sw $v0,0x130($sp) -/* f016944: 24010004 */ li $at,0x4 -.JF0f016948: -/* f016948: 54410075 */ bnel $v0,$at,.JF0f016b20 -/* f01694c: 24010007 */ li $at,0x7 -/* f016950: 0fc54bb7 */ jal func0f153780 -/* f016954: 8fa40130 */ lw $a0,0x130($sp) -/* f016958: 244d0008 */ addiu $t5,$v0,0x8 -/* f01695c: afad0130 */ sw $t5,0x130($sp) -/* f016960: 3c19e700 */ lui $t9,0xe700 -/* f016964: ac590000 */ sw $t9,0x0($v0) -/* f016968: ac400004 */ sw $zero,0x4($v0) -/* f01696c: 8fb80130 */ lw $t8,0x130($sp) -/* f016970: 3c0fba00 */ lui $t7,0xba00 -/* f016974: 35ef1301 */ ori $t7,$t7,0x1301 -/* f016978: 270b0008 */ addiu $t3,$t8,0x8 -/* f01697c: afab0130 */ sw $t3,0x130($sp) -/* f016980: af000004 */ sw $zero,0x4($t8) -/* f016984: af0f0000 */ sw $t7,0x0($t8) -/* f016988: 8fae0130 */ lw $t6,0x130($sp) -/* f01698c: 3c0db900 */ lui $t5,0xb900 -/* f016990: 35ad0002 */ ori $t5,$t5,0x2 -/* f016994: 25cc0008 */ addiu $t4,$t6,0x8 -/* f016998: afac0130 */ sw $t4,0x130($sp) -/* f01699c: adc00004 */ sw $zero,0x4($t6) -/* f0169a0: adcd0000 */ sw $t5,0x0($t6) -/* f0169a4: 8fb90130 */ lw $t9,0x130($sp) -/* f0169a8: 3c0bba00 */ lui $t3,0xba00 -/* f0169ac: 356b1001 */ ori $t3,$t3,0x1001 -/* f0169b0: 27380008 */ addiu $t8,$t9,0x8 -/* f0169b4: afb80130 */ sw $t8,0x130($sp) -/* f0169b8: af200004 */ sw $zero,0x4($t9) -/* f0169bc: af2b0000 */ sw $t3,0x0($t9) -/* f0169c0: 8faf0130 */ lw $t7,0x130($sp) -/* f0169c4: 3c0cba00 */ lui $t4,0xba00 -/* f0169c8: 358c0903 */ ori $t4,$t4,0x903 -/* f0169cc: 25ee0008 */ addiu $t6,$t7,0x8 -/* f0169d0: afae0130 */ sw $t6,0x130($sp) -/* f0169d4: 240d0c00 */ li $t5,0xc00 -/* f0169d8: 3c05800b */ lui $a1,0x800b -/* f0169dc: aded0004 */ sw $t5,0x4($t7) -/* f0169e0: adec0000 */ sw $t4,0x0($t7) -/* f0169e4: 8ca5bf98 */ lw $a1,-0x4068($a1) -/* f0169e8: 24190002 */ li $t9,0x2 -/* f0169ec: 24180001 */ li $t8,0x1 -/* f0169f0: afb80014 */ sw $t8,0x14($sp) -/* f0169f4: afb90010 */ sw $t9,0x10($sp) -/* f0169f8: afa00018 */ sw $zero,0x18($sp) -/* f0169fc: 27a40130 */ addiu $a0,$sp,0x130 -/* f016a00: 24060001 */ li $a2,0x1 -/* f016a04: 00003825 */ move $a3,$zero -/* f016a08: 0fc2d290 */ jal texSelect -/* f016a0c: 24a50234 */ addiu $a1,$a1,0x234 -/* f016a10: 8fab0130 */ lw $t3,0x130($sp) -/* f016a14: 3c0eba00 */ lui $t6,0xba00 -/* f016a18: 35ce1402 */ ori $t6,$t6,0x1402 -/* f016a1c: 256f0008 */ addiu $t7,$t3,0x8 -/* f016a20: afaf0130 */ sw $t7,0x130($sp) -/* f016a24: ad600004 */ sw $zero,0x4($t3) -/* f016a28: ad6e0000 */ sw $t6,0x0($t3) -/* f016a2c: 8fac0130 */ lw $t4,0x130($sp) -/* f016a30: 3c19fcff */ lui $t9,0xfcff -/* f016a34: 3c18fffc */ lui $t8,0xfffc -/* f016a38: 258d0008 */ addiu $t5,$t4,0x8 -/* f016a3c: afad0130 */ sw $t5,0x130($sp) -/* f016a40: 3718f279 */ ori $t8,$t8,0xf279 -/* f016a44: 3739ffff */ ori $t9,$t9,0xffff -/* f016a48: ad990000 */ sw $t9,0x0($t4) -/* f016a4c: ad980004 */ sw $t8,0x4($t4) -/* f016a50: 8fab0130 */ lw $t3,0x130($sp) -/* f016a54: 3c0eba00 */ lui $t6,0xba00 -/* f016a58: 35ce0c02 */ ori $t6,$t6,0xc02 -/* f016a5c: 256f0008 */ addiu $t7,$t3,0x8 -/* f016a60: afaf0130 */ sw $t7,0x130($sp) -/* f016a64: ad600004 */ sw $zero,0x4($t3) -/* f016a68: ad6e0000 */ sw $t6,0x0($t3) -/* f016a6c: 8fa50130 */ lw $a1,0x130($sp) -/* f016a70: 3c01e400 */ lui $at,0xe400 -/* f016a74: 24ad0008 */ addiu $t5,$a1,0x8 -/* f016a78: afad0130 */ sw $t5,0x130($sp) -/* f016a7c: 86590000 */ lh $t9,0x0($s2) -/* f016a80: 864d0002 */ lh $t5,0x2($s2) -/* f016a84: 27380040 */ addiu $t8,$t9,0x40 -/* f016a88: 00185880 */ sll $t3,$t8,0x2 -/* f016a8c: 316f0fff */ andi $t7,$t3,0xfff -/* f016a90: 25b90018 */ addiu $t9,$t5,0x18 -/* f016a94: 0019c080 */ sll $t8,$t9,0x2 -/* f016a98: 000f7300 */ sll $t6,$t7,0xc -/* f016a9c: 01c16025 */ or $t4,$t6,$at -/* f016aa0: 330b0fff */ andi $t3,$t8,0xfff -/* f016aa4: 018b7825 */ or $t7,$t4,$t3 -/* f016aa8: acaf0000 */ sw $t7,0x0($a1) -/* f016aac: 864e0000 */ lh $t6,0x0($s2) -/* f016ab0: 864c0002 */ lh $t4,0x2($s2) -/* f016ab4: 000e6880 */ sll $t5,$t6,0x2 -/* f016ab8: 31b90fff */ andi $t9,$t5,0xfff -/* f016abc: 000c5880 */ sll $t3,$t4,0x2 -/* f016ac0: 316f0fff */ andi $t7,$t3,0xfff -/* f016ac4: 0019c300 */ sll $t8,$t9,0xc -/* f016ac8: 030f7025 */ or $t6,$t8,$t7 -/* f016acc: acae0004 */ sw $t6,0x4($a1) -/* f016ad0: 8fad0130 */ lw $t5,0x130($sp) -/* f016ad4: 240b0300 */ li $t3,0x300 -/* f016ad8: 3c0cb400 */ lui $t4,0xb400 -/* f016adc: 25b90008 */ addiu $t9,$t5,0x8 -/* f016ae0: afb90130 */ sw $t9,0x130($sp) -/* f016ae4: adab0004 */ sw $t3,0x4($t5) -/* f016ae8: adac0000 */ sw $t4,0x0($t5) -/* f016aec: 8fb80130 */ lw $t8,0x130($sp) -/* f016af0: 3c0d0400 */ lui $t5,0x400 -/* f016af4: 35adfc00 */ ori $t5,$t5,0xfc00 -/* f016af8: 270f0008 */ addiu $t7,$t8,0x8 -/* f016afc: afaf0130 */ sw $t7,0x130($sp) -/* f016b00: 3c0eb300 */ lui $t6,0xb300 -/* f016b04: af0e0000 */ sw $t6,0x0($t8) -/* f016b08: af0d0004 */ sw $t5,0x4($t8) -/* f016b0c: 0fc54b55 */ jal func0f153628 -/* f016b10: 8fa40130 */ lw $a0,0x130($sp) -/* f016b14: 100000e8 */ b .JF0f016eb8 -/* f016b18: afa20130 */ sw $v0,0x130($sp) -/* f016b1c: 24010007 */ li $at,0x7 -.JF0f016b20: -/* f016b20: 54410075 */ bnel $v0,$at,.JF0f016cf8 -/* f016b24: 86430000 */ lh $v1,0x0($s2) -/* f016b28: 0fc54bb7 */ jal func0f153780 -/* f016b2c: 8fa40130 */ lw $a0,0x130($sp) -/* f016b30: 24590008 */ addiu $t9,$v0,0x8 -/* f016b34: afb90130 */ sw $t9,0x130($sp) -/* f016b38: 3c0ce700 */ lui $t4,0xe700 -/* f016b3c: ac4c0000 */ sw $t4,0x0($v0) -/* f016b40: ac400004 */ sw $zero,0x4($v0) -/* f016b44: 8fab0130 */ lw $t3,0x130($sp) -/* f016b48: 3c0fba00 */ lui $t7,0xba00 -/* f016b4c: 35ef1301 */ ori $t7,$t7,0x1301 -/* f016b50: 25780008 */ addiu $t8,$t3,0x8 -/* f016b54: afb80130 */ sw $t8,0x130($sp) -/* f016b58: ad600004 */ sw $zero,0x4($t3) -/* f016b5c: ad6f0000 */ sw $t7,0x0($t3) -/* f016b60: 8fae0130 */ lw $t6,0x130($sp) -/* f016b64: 3c19b900 */ lui $t9,0xb900 -/* f016b68: 37390002 */ ori $t9,$t9,0x2 -/* f016b6c: 25cd0008 */ addiu $t5,$t6,0x8 -/* f016b70: afad0130 */ sw $t5,0x130($sp) -/* f016b74: adc00004 */ sw $zero,0x4($t6) -/* f016b78: add90000 */ sw $t9,0x0($t6) -/* f016b7c: 8fac0130 */ lw $t4,0x130($sp) -/* f016b80: 3c18ba00 */ lui $t8,0xba00 -/* f016b84: 37181001 */ ori $t8,$t8,0x1001 -/* f016b88: 258b0008 */ addiu $t3,$t4,0x8 -/* f016b8c: afab0130 */ sw $t3,0x130($sp) -/* f016b90: ad800004 */ sw $zero,0x4($t4) -/* f016b94: ad980000 */ sw $t8,0x0($t4) -/* f016b98: 8faf0130 */ lw $t7,0x130($sp) -/* f016b9c: 3c0dba00 */ lui $t5,0xba00 -/* f016ba0: 35ad0903 */ ori $t5,$t5,0x903 -/* f016ba4: 25ee0008 */ addiu $t6,$t7,0x8 -/* f016ba8: afae0130 */ sw $t6,0x130($sp) -/* f016bac: 24190c00 */ li $t9,0xc00 -/* f016bb0: 3c05800b */ lui $a1,0x800b -/* f016bb4: adf90004 */ sw $t9,0x4($t7) -/* f016bb8: aded0000 */ sw $t5,0x0($t7) -/* f016bbc: 8ca5bf98 */ lw $a1,-0x4068($a1) -/* f016bc0: 240c0002 */ li $t4,0x2 -/* f016bc4: 240b0001 */ li $t3,0x1 -/* f016bc8: afab0014 */ sw $t3,0x14($sp) -/* f016bcc: afac0010 */ sw $t4,0x10($sp) -/* f016bd0: afa00018 */ sw $zero,0x18($sp) -/* f016bd4: 27a40130 */ addiu $a0,$sp,0x130 -/* f016bd8: 24060001 */ li $a2,0x1 -/* f016bdc: 00003825 */ move $a3,$zero -/* f016be0: 0fc2d290 */ jal texSelect -/* f016be4: 24a5024c */ addiu $a1,$a1,0x24c -/* f016be8: 8fb80130 */ lw $t8,0x130($sp) -/* f016bec: 3c0eba00 */ lui $t6,0xba00 -/* f016bf0: 35ce1402 */ ori $t6,$t6,0x1402 -/* f016bf4: 270f0008 */ addiu $t7,$t8,0x8 -/* f016bf8: afaf0130 */ sw $t7,0x130($sp) -/* f016bfc: af000004 */ sw $zero,0x4($t8) -/* f016c00: af0e0000 */ sw $t6,0x0($t8) -/* f016c04: 8fad0130 */ lw $t5,0x130($sp) -/* f016c08: 3c0cfcff */ lui $t4,0xfcff -/* f016c0c: 3c0bfffc */ lui $t3,0xfffc -/* f016c10: 25b90008 */ addiu $t9,$t5,0x8 -/* f016c14: afb90130 */ sw $t9,0x130($sp) -/* f016c18: 356bf279 */ ori $t3,$t3,0xf279 -/* f016c1c: 358cffff */ ori $t4,$t4,0xffff -/* f016c20: adac0000 */ sw $t4,0x0($t5) -/* f016c24: adab0004 */ sw $t3,0x4($t5) -/* f016c28: 8fb80130 */ lw $t8,0x130($sp) -/* f016c2c: 3c0eba00 */ lui $t6,0xba00 -/* f016c30: 35ce0c02 */ ori $t6,$t6,0xc02 -/* f016c34: 270f0008 */ addiu $t7,$t8,0x8 -/* f016c38: afaf0130 */ sw $t7,0x130($sp) -/* f016c3c: af000004 */ sw $zero,0x4($t8) -/* f016c40: af0e0000 */ sw $t6,0x0($t8) -/* f016c44: 8fa50130 */ lw $a1,0x130($sp) -/* f016c48: 3c01e400 */ lui $at,0xe400 -/* f016c4c: 24b90008 */ addiu $t9,$a1,0x8 -/* f016c50: afb90130 */ sw $t9,0x130($sp) -/* f016c54: 864c0000 */ lh $t4,0x0($s2) -/* f016c58: 86590002 */ lh $t9,0x2($s2) -/* f016c5c: 258b0020 */ addiu $t3,$t4,0x20 -/* f016c60: 000bc080 */ sll $t8,$t3,0x2 -/* f016c64: 330f0fff */ andi $t7,$t8,0xfff -/* f016c68: 272c002a */ addiu $t4,$t9,0x2a -/* f016c6c: 000c5880 */ sll $t3,$t4,0x2 -/* f016c70: 000f7300 */ sll $t6,$t7,0xc -/* f016c74: 01c16825 */ or $t5,$t6,$at -/* f016c78: 31780fff */ andi $t8,$t3,0xfff -/* f016c7c: 01b87825 */ or $t7,$t5,$t8 -/* f016c80: acaf0000 */ sw $t7,0x0($a1) -/* f016c84: 864e0000 */ lh $t6,0x0($s2) -/* f016c88: 864d0002 */ lh $t5,0x2($s2) -/* f016c8c: 000ec880 */ sll $t9,$t6,0x2 -/* f016c90: 332c0fff */ andi $t4,$t9,0xfff -/* f016c94: 000dc080 */ sll $t8,$t5,0x2 -/* f016c98: 330f0fff */ andi $t7,$t8,0xfff -/* f016c9c: 000c5b00 */ sll $t3,$t4,0xc -/* f016ca0: 016f7025 */ or $t6,$t3,$t7 -/* f016ca4: acae0004 */ sw $t6,0x4($a1) -/* f016ca8: 8fb90130 */ lw $t9,0x130($sp) -/* f016cac: 24180540 */ li $t8,0x540 -/* f016cb0: 3c0db400 */ lui $t5,0xb400 -/* f016cb4: 272c0008 */ addiu $t4,$t9,0x8 -/* f016cb8: afac0130 */ sw $t4,0x130($sp) -/* f016cbc: af380004 */ sw $t8,0x4($t9) -/* f016cc0: af2d0000 */ sw $t5,0x0($t9) -/* f016cc4: 8fab0130 */ lw $t3,0x130($sp) -/* f016cc8: 3c190400 */ lui $t9,0x400 -/* f016ccc: 3739fc00 */ ori $t9,$t9,0xfc00 -/* f016cd0: 256f0008 */ addiu $t7,$t3,0x8 -/* f016cd4: afaf0130 */ sw $t7,0x130($sp) -/* f016cd8: 3c0eb300 */ lui $t6,0xb300 -/* f016cdc: ad6e0000 */ sw $t6,0x0($t3) -/* f016ce0: ad790004 */ sw $t9,0x4($t3) -/* f016ce4: 0fc54b55 */ jal func0f153628 -/* f016ce8: 8fa40130 */ lw $a0,0x130($sp) -/* f016cec: 10000072 */ b .JF0f016eb8 -/* f016cf0: afa20130 */ sw $v0,0x130($sp) -/* f016cf4: 86430000 */ lh $v1,0x0($s2) -.JF0f016cf8: -/* f016cf8: 56e30004 */ bnel $s7,$v1,.JF0f016d0c -/* f016cfc: afa300e0 */ sw $v1,0xe0($sp) -/* f016d00: 10000002 */ b .JF0f016d0c -/* f016d04: afb600e0 */ sw $s6,0xe0($sp) -/* f016d08: afa300e0 */ sw $v1,0xe0($sp) -.JF0f016d0c: -/* f016d0c: 864c0002 */ lh $t4,0x2($s2) -/* f016d10: 24010005 */ li $at,0x5 -/* f016d14: 258dffff */ addiu $t5,$t4,-1 -/* f016d18: afad00dc */ sw $t5,0xdc($sp) -/* f016d1c: 86420008 */ lh $v0,0x8($s2) -/* f016d20: 8fb800dc */ lw $t8,0xdc($sp) -/* f016d24: 10410003 */ beq $v0,$at,.JF0f016d34 -/* f016d28: 270bfffd */ addiu $t3,$t8,-3 -/* f016d2c: 24010006 */ li $at,0x6 -/* f016d30: 14410026 */ bne $v0,$at,.JF0f016dcc -.JF0f016d34: -/* f016d34: 24020002 */ li $v0,0x2 -/* f016d38: 3c018008 */ lui $at,0x8008 -/* f016d3c: ac220108 */ sw $v0,0x108($at) -/* f016d40: 3c018008 */ lui $at,0x8008 -/* f016d44: afab00dc */ sw $t3,0xdc($sp) -/* f016d48: ac22010c */ sw $v0,0x10c($at) -/* f016d4c: 864f0000 */ lh $t7,0x0($s2) -/* f016d50: 8fae00e0 */ lw $t6,0xe0($sp) -/* f016d54: 16ef0002 */ bne $s7,$t7,.JF0f016d60 -/* f016d58: 25d90018 */ addiu $t9,$t6,0x18 -/* f016d5c: afb900e0 */ sw $t9,0xe0($sp) -.JF0f016d60: -/* f016d60: 0fc5baa5 */ jal langGet -/* f016d64: 9644000a */ lhu $a0,0xa($s2) -/* f016d68: 0c002eeb */ jal viGetWidth -/* f016d6c: 00408025 */ move $s0,$v0 -/* f016d70: 00028c00 */ sll $s1,$v0,0x10 -/* f016d74: 00116403 */ sra $t4,$s1,0x10 -/* f016d78: 0c002eef */ jal viGetHeight -/* f016d7c: 01808825 */ move $s1,$t4 -/* f016d80: 8fa40130 */ lw $a0,0x130($sp) -/* f016d84: 03c02825 */ move $a1,$s8 -/* f016d88: 27a600dc */ addiu $a2,$sp,0xdc -/* f016d8c: 02003825 */ move $a3,$s0 -/* f016d90: afb30010 */ sw $s3,0x10($sp) -/* f016d94: afb40014 */ sw $s4,0x14($sp) -/* f016d98: afb50018 */ sw $s5,0x18($sp) -/* f016d9c: afb1001c */ sw $s1,0x1c($sp) -/* f016da0: afa20020 */ sw $v0,0x20($sp) -/* f016da4: afa00024 */ sw $zero,0x24($sp) -/* f016da8: 0fc55886 */ jal textRenderProjected -/* f016dac: afa00028 */ sw $zero,0x28($sp) -/* f016db0: 24030001 */ li $v1,0x1 -/* f016db4: 3c018008 */ lui $at,0x8008 -/* f016db8: ac230108 */ sw $v1,0x108($at) -/* f016dbc: 3c018008 */ lui $at,0x8008 -/* f016dc0: afa20130 */ sw $v0,0x130($sp) -/* f016dc4: 1000003c */ b .JF0f016eb8 -/* f016dc8: ac23010c */ sw $v1,0x10c($at) -.JF0f016dcc: -/* f016dcc: 0fc5baa5 */ jal langGet -/* f016dd0: 9644000a */ lhu $a0,0xa($s2) -/* f016dd4: 0c002eeb */ jal viGetWidth -/* f016dd8: 00408025 */ move $s0,$v0 -/* f016ddc: 00028c00 */ sll $s1,$v0,0x10 -/* f016de0: 00116c03 */ sra $t5,$s1,0x10 -/* f016de4: 0c002eef */ jal viGetHeight -/* f016de8: 01a08825 */ move $s1,$t5 -/* f016dec: 2401ff00 */ li $at,-256 -/* f016df0: 02a1c024 */ and $t8,$s5,$at -/* f016df4: 32ab00ff */ andi $t3,$s5,0xff -/* f016df8: 000b7840 */ sll $t7,$t3,0x1 -/* f016dfc: 24010003 */ li $at,0x3 -/* f016e00: 01e1001b */ divu $zero,$t7,$at -/* f016e04: 00007012 */ mflo $t6 -/* f016e08: 030ec825 */ or $t9,$t8,$t6 -/* f016e0c: afb90018 */ sw $t9,0x18($sp) -/* f016e10: 8fa40130 */ lw $a0,0x130($sp) -/* f016e14: 03c02825 */ move $a1,$s8 -/* f016e18: 27a600dc */ addiu $a2,$sp,0xdc -/* f016e1c: 02003825 */ move $a3,$s0 -/* f016e20: afb30010 */ sw $s3,0x10($sp) -/* f016e24: afb40014 */ sw $s4,0x14($sp) -/* f016e28: afb1001c */ sw $s1,0x1c($sp) -/* f016e2c: afa20020 */ sw $v0,0x20($sp) -/* f016e30: afa00024 */ sw $zero,0x24($sp) -/* f016e34: 0fc55886 */ jal textRenderProjected -/* f016e38: afa00028 */ sw $zero,0x28($sp) -/* f016e3c: afa20130 */ sw $v0,0x130($sp) -/* f016e40: 86430000 */ lh $v1,0x0($s2) -/* f016e44: 56e30004 */ bnel $s7,$v1,.JF0f016e58 -/* f016e48: afa300e0 */ sw $v1,0xe0($sp) -/* f016e4c: 10000002 */ b .JF0f016e58 -/* f016e50: afb600e0 */ sw $s6,0xe0($sp) -/* f016e54: afa300e0 */ sw $v1,0xe0($sp) -.JF0f016e58: -/* f016e58: 864c0002 */ lh $t4,0x2($s2) -/* f016e5c: afac00dc */ sw $t4,0xdc($sp) -/* f016e60: 0fc5baa5 */ jal langGet -/* f016e64: 9644000a */ lhu $a0,0xa($s2) -/* f016e68: 0c002eeb */ jal viGetWidth -/* f016e6c: 00408025 */ move $s0,$v0 -/* f016e70: 00028c00 */ sll $s1,$v0,0x10 -/* f016e74: 00116c03 */ sra $t5,$s1,0x10 -/* f016e78: 0c002eef */ jal viGetHeight -/* f016e7c: 01a08825 */ move $s1,$t5 -/* f016e80: 8fa40130 */ lw $a0,0x130($sp) -/* f016e84: 03c02825 */ move $a1,$s8 -/* f016e88: 27a600dc */ addiu $a2,$sp,0xdc -/* f016e8c: 02003825 */ move $a3,$s0 -/* f016e90: afb30010 */ sw $s3,0x10($sp) -/* f016e94: afb40014 */ sw $s4,0x14($sp) -/* f016e98: afb50018 */ sw $s5,0x18($sp) -/* f016e9c: afb1001c */ sw $s1,0x1c($sp) -/* f016ea0: afa20020 */ sw $v0,0x20($sp) -/* f016ea4: afa00024 */ sw $zero,0x24($sp) -/* f016ea8: 0fc55886 */ jal textRenderProjected -/* f016eac: afa00028 */ sw $zero,0x28($sp) -/* f016eb0: afa20130 */ sw $v0,0x130($sp) -/* f016eb4: 8fb600e0 */ lw $s6,0xe0($sp) -.JF0f016eb8: -/* f016eb8: 8fab0124 */ lw $t3,0x124($sp) -/* f016ebc: 2652000c */ addiu $s2,$s2,0xc -/* f016ec0: 024b082b */ sltu $at,$s2,$t3 -/* f016ec4: 5420fe4e */ bnezl $at,.JF0f016800 -/* f016ec8: 86420008 */ lh $v0,0x8($s2) -/* f016ecc: 0fc54bb7 */ jal func0f153780 -/* f016ed0: 8fa40130 */ lw $a0,0x130($sp) -/* f016ed4: afa20130 */ sw $v0,0x130($sp) -/* f016ed8: 8fbf005c */ lw $ra,0x5c($sp) -.JF0f016edc: -/* f016edc: 8fa20130 */ lw $v0,0x130($sp) -/* f016ee0: 8fb00038 */ lw $s0,0x38($sp) -/* f016ee4: 8fb1003c */ lw $s1,0x3c($sp) -/* f016ee8: 8fb20040 */ lw $s2,0x40($sp) -/* f016eec: 8fb30044 */ lw $s3,0x44($sp) -/* f016ef0: 8fb40048 */ lw $s4,0x48($sp) -/* f016ef4: 8fb5004c */ lw $s5,0x4c($sp) -/* f016ef8: 8fb60050 */ lw $s6,0x50($sp) -/* f016efc: 8fb70054 */ lw $s7,0x54($sp) -/* f016f00: 8fbe0058 */ lw $s8,0x58($sp) -/* f016f04: 03e00008 */ jr $ra -/* f016f08: 27bd0130 */ addiu $sp,$sp,0x130 -); -#elif VERSION == VERSION_PAL_BETA -struct modelrenderdata var80063dacpb = { NULL, true, 3 }; - -GLOBAL_ASM( -glabel titleRenderLegal -.late_rodata -glabel var7f1aa08cnb -.word 0x7f016848 -.word 0x7f016858 -.word 0x7f01686c -.word 0x7f0168e0 -.word 0x7f0168e0 -.word 0x7f016878 -.word 0x7f0168cc -.text -/* f016758: 27bdfed8 */ addiu $sp,$sp,-296 -/* f01675c: 3c0f8006 */ lui $t7,0x8006 -/* f016760: afb30044 */ sw $s3,0x44($sp) -/* f016764: 25ef3dac */ addiu $t7,$t7,0x3dac -/* f016768: afbf005c */ sw $ra,0x5c($sp) -/* f01676c: afbe0058 */ sw $s8,0x58($sp) -/* f016770: afb70054 */ sw $s7,0x54($sp) -/* f016774: afb60050 */ sw $s6,0x50($sp) -/* f016778: afb5004c */ sw $s5,0x4c($sp) -/* f01677c: afb40048 */ sw $s4,0x48($sp) -/* f016780: afb20040 */ sw $s2,0x40($sp) -/* f016784: afb1003c */ sw $s1,0x3c($sp) -/* f016788: afb00038 */ sw $s0,0x38($sp) -/* f01678c: afa40128 */ sw $a0,0x128($sp) -/* f016790: 00009825 */ move $s3,$zero -/* f016794: 25eb003c */ addiu $t3,$t7,0x3c -/* f016798: 27ae00dc */ addiu $t6,$sp,0xdc -.PB0f01679c: -/* f01679c: 8de10000 */ lw $at,0x0($t7) -/* f0167a0: 25ef000c */ addiu $t7,$t7,0xc -/* f0167a4: 25ce000c */ addiu $t6,$t6,0xc -/* f0167a8: adc1fff4 */ sw $at,-0xc($t6) -/* f0167ac: 8de1fff8 */ lw $at,-0x8($t7) -/* f0167b0: adc1fff8 */ sw $at,-0x8($t6) -/* f0167b4: 8de1fffc */ lw $at,-0x4($t7) -/* f0167b8: 15ebfff8 */ bne $t7,$t3,.PB0f01679c -/* f0167bc: adc1fffc */ sw $at,-0x4($t6) -/* f0167c0: 8de10000 */ lw $at,0x0($t7) -/* f0167c4: 3c0c8006 */ lui $t4,0x8006 -/* f0167c8: adc10000 */ sw $at,0x0($t6) -/* f0167cc: 8d8c3dec */ lw $t4,0x3dec($t4) -/* f0167d0: 5180016f */ beqzl $t4,.PB0f016d90 -/* f0167d4: 8fbf005c */ lw $ra,0x5c($sp) -/* f0167d8: 0fc06c14 */ jal titleClear -/* f0167dc: 8fa40128 */ lw $a0,0x128($sp) -/* f0167e0: afa20128 */ sw $v0,0x128($sp) -/* f0167e4: 0fc5528f */ jal func0f153628 -/* f0167e8: 00402025 */ move $a0,$v0 -/* f0167ec: 3c0d8006 */ lui $t5,0x8006 -/* f0167f0: 3c108006 */ lui $s0,0x8006 -/* f0167f4: 25ad3dac */ addiu $t5,$t5,0x3dac -/* f0167f8: 3c1e8008 */ lui $s8,0x8008 -/* f0167fc: 3c178008 */ lui $s7,0x8008 -/* f016800: 3c168008 */ lui $s6,0x8008 -/* f016804: afa20128 */ sw $v0,0x128($sp) -/* f016808: 26103cb0 */ addiu $s0,$s0,0x3cb0 -/* f01680c: afad011c */ sw $t5,0x11c($sp) -/* f016810: 26d61ff0 */ addiu $s6,$s6,0x1ff0 -/* f016814: 26f71fec */ addiu $s7,$s7,0x1fec -/* f016818: 27de1fe0 */ addiu $s8,$s8,0x1fe0 -/* f01681c: 86030008 */ lh $v1,0x8($s0) -.PB0f016820: -/* f016820: 3c157f7f */ lui $s5,0x7f7f -/* f016824: 36b5ffff */ ori $s5,$s5,0xffff -/* f016828: 2c610007 */ sltiu $at,$v1,0x7 -/* f01682c: 1020002c */ beqz $at,.PB0f0168e0 -/* f016830: 0003c880 */ sll $t9,$v1,0x2 -/* f016834: 3c017f1b */ lui $at,0x7f1b -/* f016838: 00390821 */ addu $at,$at,$t9 -/* f01683c: 8c39a08c */ lw $t9,-0x5f74($at) -/* f016840: 03200008 */ jr $t9 -/* f016844: 00000000 */ nop -/* f016848: 3c128008 */ lui $s2,0x8008 -/* f01684c: 8fd10000 */ lw $s1,0x0($s8) -/* f016850: 10000025 */ b .PB0f0168e8 -/* f016854: 8e521fdc */ lw $s2,0x1fdc($s2) -/* f016858: 3c118008 */ lui $s1,0x8008 -/* f01685c: 3c128008 */ lui $s2,0x8008 -/* f016860: 8e311fe8 */ lw $s1,0x1fe8($s1) -/* f016864: 10000020 */ b .PB0f0168e8 -/* f016868: 8e521fe4 */ lw $s2,0x1fe4($s2) -/* f01686c: 8ed10000 */ lw $s1,0x0($s6) -/* f016870: 1000001d */ b .PB0f0168e8 -/* f016874: 8ef20000 */ lw $s2,0x0($s7) -/* f016878: 9602000a */ lhu $v0,0xa($s0) -/* f01687c: 2401564a */ li $at,0x564a -/* f016880: 8ed10000 */ lw $s1,0x0($s6) -/* f016884: 8ef20000 */ lw $s2,0x0($s7) -/* f016888: 10410003 */ beq $v0,$at,.PB0f016898 -/* f01688c: 2415ffff */ li $s5,-1 -/* f016890: 24015649 */ li $at,0x5649 -/* f016894: 14410014 */ bne $v0,$at,.PB0f0168e8 -.PB0f016898: -/* f016898: 3c188009 */ lui $t8,0x8009 -/* f01689c: 93182fd0 */ lbu $t8,0x2fd0($t8) -/* f0168a0: 24010001 */ li $at,0x1 -/* f0168a4: 2673000a */ addiu $s3,$s3,0xa -/* f0168a8: 17010005 */ bne $t8,$at,.PB0f0168c0 -/* f0168ac: 240f5649 */ li $t7,0x5649 -/* f0168b0: 240b564a */ li $t3,0x564a -/* f0168b4: a60b000a */ sh $t3,0xa($s0) -/* f0168b8: 1000000b */ b .PB0f0168e8 -/* f0168bc: 86030008 */ lh $v1,0x8($s0) -.PB0f0168c0: -/* f0168c0: a60f000a */ sh $t7,0xa($s0) -/* f0168c4: 10000008 */ b .PB0f0168e8 -/* f0168c8: 86030008 */ lh $v1,0x8($s0) -/* f0168cc: 3c128008 */ lui $s2,0x8008 -/* f0168d0: 8fd10000 */ lw $s1,0x0($s8) -/* f0168d4: 8e521fdc */ lw $s2,0x1fdc($s2) -/* f0168d8: 10000003 */ b .PB0f0168e8 -/* f0168dc: 2415ffff */ li $s5,-1 -.PB0f0168e0: -/* f0168e0: 8ed10000 */ lw $s1,0x0($s6) -/* f0168e4: 8ef20000 */ lw $s2,0x0($s7) -.PB0f0168e8: -/* f0168e8: 24010003 */ li $at,0x3 -/* f0168ec: 54610015 */ bnel $v1,$at,.PB0f016944 -/* f0168f0: 24010004 */ li $at,0x4 -/* f0168f4: 0fc552e5 */ jal func0f153780 -/* f0168f8: 8fa40128 */ lw $a0,0x128($sp) -/* f0168fc: 0c002e4d */ jal viGetWidth -/* f016900: afa20128 */ sw $v0,0x128($sp) -/* f016904: 86060002 */ lh $a2,0x2($s0) -/* f016908: 3c0c7f7f */ lui $t4,0x7f7f -/* f01690c: 358cff7f */ ori $t4,$t4,0xff7f -/* f016910: 86050000 */ lh $a1,0x0($s0) -/* f016914: 24ce0002 */ addiu $t6,$a2,0x2 -/* f016918: afae0010 */ sw $t6,0x10($sp) -/* f01691c: afac0014 */ sw $t4,0x14($sp) -/* f016920: 8fa40128 */ lw $a0,0x128($sp) -/* f016924: 0fc55392 */ jal func0f153a34 -/* f016928: 00403825 */ move $a3,$v0 -/* f01692c: afa20128 */ sw $v0,0x128($sp) -/* f016930: 0fc5528f */ jal func0f153628 -/* f016934: 00402025 */ move $a0,$v0 -/* f016938: 1000010c */ b .PB0f016d6c -/* f01693c: afa20128 */ sw $v0,0x128($sp) -/* f016940: 24010004 */ li $at,0x4 -.PB0f016944: -/* f016944: 54610075 */ bnel $v1,$at,.PB0f016b1c -/* f016948: 24010007 */ li $at,0x7 -/* f01694c: 0fc552e5 */ jal func0f153780 -/* f016950: 8fa40128 */ lw $a0,0x128($sp) -/* f016954: 244d0008 */ addiu $t5,$v0,0x8 -/* f016958: afad0128 */ sw $t5,0x128($sp) -/* f01695c: 3c19e700 */ lui $t9,0xe700 -/* f016960: ac590000 */ sw $t9,0x0($v0) -/* f016964: ac400004 */ sw $zero,0x4($v0) -/* f016968: 8fb80128 */ lw $t8,0x128($sp) -/* f01696c: 3c0fba00 */ lui $t7,0xba00 -/* f016970: 35ef1301 */ ori $t7,$t7,0x1301 -/* f016974: 270b0008 */ addiu $t3,$t8,0x8 -/* f016978: afab0128 */ sw $t3,0x128($sp) -/* f01697c: af000004 */ sw $zero,0x4($t8) -/* f016980: af0f0000 */ sw $t7,0x0($t8) -/* f016984: 8fae0128 */ lw $t6,0x128($sp) -/* f016988: 3c0db900 */ lui $t5,0xb900 -/* f01698c: 35ad0002 */ ori $t5,$t5,0x2 -/* f016990: 25cc0008 */ addiu $t4,$t6,0x8 -/* f016994: afac0128 */ sw $t4,0x128($sp) -/* f016998: adc00004 */ sw $zero,0x4($t6) -/* f01699c: adcd0000 */ sw $t5,0x0($t6) -/* f0169a0: 8fb90128 */ lw $t9,0x128($sp) -/* f0169a4: 3c0bba00 */ lui $t3,0xba00 -/* f0169a8: 356b1001 */ ori $t3,$t3,0x1001 -/* f0169ac: 27380008 */ addiu $t8,$t9,0x8 -/* f0169b0: afb80128 */ sw $t8,0x128($sp) -/* f0169b4: af200004 */ sw $zero,0x4($t9) -/* f0169b8: af2b0000 */ sw $t3,0x0($t9) -/* f0169bc: 8faf0128 */ lw $t7,0x128($sp) -/* f0169c0: 3c0cba00 */ lui $t4,0xba00 -/* f0169c4: 358c0903 */ ori $t4,$t4,0x903 -/* f0169c8: 25ee0008 */ addiu $t6,$t7,0x8 -/* f0169cc: afae0128 */ sw $t6,0x128($sp) -/* f0169d0: 240d0c00 */ li $t5,0xc00 -/* f0169d4: 3c05800b */ lui $a1,0x800b -/* f0169d8: aded0004 */ sw $t5,0x4($t7) -/* f0169dc: adec0000 */ sw $t4,0x0($t7) -/* f0169e0: 8ca5fbc8 */ lw $a1,-0x438($a1) -/* f0169e4: 24190002 */ li $t9,0x2 -/* f0169e8: 24180001 */ li $t8,0x1 -/* f0169ec: afb80014 */ sw $t8,0x14($sp) -/* f0169f0: afb90010 */ sw $t9,0x10($sp) -/* f0169f4: afa00018 */ sw $zero,0x18($sp) -/* f0169f8: 27a40128 */ addiu $a0,$sp,0x128 -/* f0169fc: 24060001 */ li $a2,0x1 -/* f016a00: 00003825 */ move $a3,$zero -/* f016a04: 0fc2cf74 */ jal texSelect -/* f016a08: 24a50234 */ addiu $a1,$a1,0x234 -/* f016a0c: 8fab0128 */ lw $t3,0x128($sp) -/* f016a10: 3c0eba00 */ lui $t6,0xba00 -/* f016a14: 35ce1402 */ ori $t6,$t6,0x1402 -/* f016a18: 256f0008 */ addiu $t7,$t3,0x8 -/* f016a1c: afaf0128 */ sw $t7,0x128($sp) -/* f016a20: ad600004 */ sw $zero,0x4($t3) -/* f016a24: ad6e0000 */ sw $t6,0x0($t3) -/* f016a28: 8fac0128 */ lw $t4,0x128($sp) -/* f016a2c: 3c19fcff */ lui $t9,0xfcff -/* f016a30: 3c18fffc */ lui $t8,0xfffc -/* f016a34: 258d0008 */ addiu $t5,$t4,0x8 -/* f016a38: afad0128 */ sw $t5,0x128($sp) -/* f016a3c: 3718f279 */ ori $t8,$t8,0xf279 -/* f016a40: 3739ffff */ ori $t9,$t9,0xffff -/* f016a44: ad990000 */ sw $t9,0x0($t4) -/* f016a48: ad980004 */ sw $t8,0x4($t4) -/* f016a4c: 8fab0128 */ lw $t3,0x128($sp) -/* f016a50: 3c0eba00 */ lui $t6,0xba00 -/* f016a54: 35ce0c02 */ ori $t6,$t6,0xc02 -/* f016a58: 256f0008 */ addiu $t7,$t3,0x8 -/* f016a5c: afaf0128 */ sw $t7,0x128($sp) -/* f016a60: ad600004 */ sw $zero,0x4($t3) -/* f016a64: ad6e0000 */ sw $t6,0x0($t3) -/* f016a68: 8fa50128 */ lw $a1,0x128($sp) -/* f016a6c: 3c01e400 */ lui $at,0xe400 -/* f016a70: 24ad0008 */ addiu $t5,$a1,0x8 -/* f016a74: afad0128 */ sw $t5,0x128($sp) -/* f016a78: 86190000 */ lh $t9,0x0($s0) -/* f016a7c: 860d0002 */ lh $t5,0x2($s0) -/* f016a80: 27380040 */ addiu $t8,$t9,0x40 -/* f016a84: 00185880 */ sll $t3,$t8,0x2 -/* f016a88: 316f0fff */ andi $t7,$t3,0xfff -/* f016a8c: 25b90018 */ addiu $t9,$t5,0x18 -/* f016a90: 0019c080 */ sll $t8,$t9,0x2 -/* f016a94: 000f7300 */ sll $t6,$t7,0xc -/* f016a98: 01c16025 */ or $t4,$t6,$at -/* f016a9c: 330b0fff */ andi $t3,$t8,0xfff -/* f016aa0: 018b7825 */ or $t7,$t4,$t3 -/* f016aa4: acaf0000 */ sw $t7,0x0($a1) -/* f016aa8: 860e0000 */ lh $t6,0x0($s0) -/* f016aac: 860c0002 */ lh $t4,0x2($s0) -/* f016ab0: 000e6880 */ sll $t5,$t6,0x2 -/* f016ab4: 31b90fff */ andi $t9,$t5,0xfff -/* f016ab8: 000c5880 */ sll $t3,$t4,0x2 -/* f016abc: 316f0fff */ andi $t7,$t3,0xfff -/* f016ac0: 0019c300 */ sll $t8,$t9,0xc -/* f016ac4: 030f7025 */ or $t6,$t8,$t7 -/* f016ac8: acae0004 */ sw $t6,0x4($a1) -/* f016acc: 8fad0128 */ lw $t5,0x128($sp) -/* f016ad0: 240b0300 */ li $t3,0x300 -/* f016ad4: 3c0cb400 */ lui $t4,0xb400 -/* f016ad8: 25b90008 */ addiu $t9,$t5,0x8 -/* f016adc: afb90128 */ sw $t9,0x128($sp) -/* f016ae0: adab0004 */ sw $t3,0x4($t5) -/* f016ae4: adac0000 */ sw $t4,0x0($t5) -/* f016ae8: 8fb80128 */ lw $t8,0x128($sp) -/* f016aec: 3c0d0400 */ lui $t5,0x400 -/* f016af0: 35adfc00 */ ori $t5,$t5,0xfc00 -/* f016af4: 270f0008 */ addiu $t7,$t8,0x8 -/* f016af8: afaf0128 */ sw $t7,0x128($sp) -/* f016afc: 3c0eb300 */ lui $t6,0xb300 -/* f016b00: af0e0000 */ sw $t6,0x0($t8) -/* f016b04: af0d0004 */ sw $t5,0x4($t8) -/* f016b08: 0fc5528f */ jal func0f153628 -/* f016b0c: 8fa40128 */ lw $a0,0x128($sp) -/* f016b10: 10000096 */ b .PB0f016d6c -/* f016b14: afa20128 */ sw $v0,0x128($sp) -/* f016b18: 24010007 */ li $at,0x7 -.PB0f016b1c: -/* f016b1c: 54610075 */ bnel $v1,$at,.PB0f016cf4 -/* f016b20: 86020000 */ lh $v0,0x0($s0) -/* f016b24: 0fc552e5 */ jal func0f153780 -/* f016b28: 8fa40128 */ lw $a0,0x128($sp) -/* f016b2c: 24590008 */ addiu $t9,$v0,0x8 -/* f016b30: afb90128 */ sw $t9,0x128($sp) -/* f016b34: 3c0ce700 */ lui $t4,0xe700 -/* f016b38: ac4c0000 */ sw $t4,0x0($v0) -/* f016b3c: ac400004 */ sw $zero,0x4($v0) -/* f016b40: 8fab0128 */ lw $t3,0x128($sp) -/* f016b44: 3c0fba00 */ lui $t7,0xba00 -/* f016b48: 35ef1301 */ ori $t7,$t7,0x1301 -/* f016b4c: 25780008 */ addiu $t8,$t3,0x8 -/* f016b50: afb80128 */ sw $t8,0x128($sp) -/* f016b54: ad600004 */ sw $zero,0x4($t3) -/* f016b58: ad6f0000 */ sw $t7,0x0($t3) -/* f016b5c: 8fae0128 */ lw $t6,0x128($sp) -/* f016b60: 3c19b900 */ lui $t9,0xb900 -/* f016b64: 37390002 */ ori $t9,$t9,0x2 -/* f016b68: 25cd0008 */ addiu $t5,$t6,0x8 -/* f016b6c: afad0128 */ sw $t5,0x128($sp) -/* f016b70: adc00004 */ sw $zero,0x4($t6) -/* f016b74: add90000 */ sw $t9,0x0($t6) -/* f016b78: 8fac0128 */ lw $t4,0x128($sp) -/* f016b7c: 3c18ba00 */ lui $t8,0xba00 -/* f016b80: 37181001 */ ori $t8,$t8,0x1001 -/* f016b84: 258b0008 */ addiu $t3,$t4,0x8 -/* f016b88: afab0128 */ sw $t3,0x128($sp) -/* f016b8c: ad800004 */ sw $zero,0x4($t4) -/* f016b90: ad980000 */ sw $t8,0x0($t4) -/* f016b94: 8faf0128 */ lw $t7,0x128($sp) -/* f016b98: 3c0dba00 */ lui $t5,0xba00 -/* f016b9c: 35ad0903 */ ori $t5,$t5,0x903 -/* f016ba0: 25ee0008 */ addiu $t6,$t7,0x8 -/* f016ba4: afae0128 */ sw $t6,0x128($sp) -/* f016ba8: 24190c00 */ li $t9,0xc00 -/* f016bac: 3c05800b */ lui $a1,0x800b -/* f016bb0: adf90004 */ sw $t9,0x4($t7) -/* f016bb4: aded0000 */ sw $t5,0x0($t7) -/* f016bb8: 8ca5fbc8 */ lw $a1,-0x438($a1) -/* f016bbc: 240c0002 */ li $t4,0x2 -/* f016bc0: 240b0001 */ li $t3,0x1 -/* f016bc4: afab0014 */ sw $t3,0x14($sp) -/* f016bc8: afac0010 */ sw $t4,0x10($sp) -/* f016bcc: afa00018 */ sw $zero,0x18($sp) -/* f016bd0: 27a40128 */ addiu $a0,$sp,0x128 -/* f016bd4: 24060001 */ li $a2,0x1 -/* f016bd8: 00003825 */ move $a3,$zero -/* f016bdc: 0fc2cf74 */ jal texSelect -/* f016be0: 24a5024c */ addiu $a1,$a1,0x24c -/* f016be4: 8fb80128 */ lw $t8,0x128($sp) -/* f016be8: 3c0eba00 */ lui $t6,0xba00 -/* f016bec: 35ce1402 */ ori $t6,$t6,0x1402 -/* f016bf0: 270f0008 */ addiu $t7,$t8,0x8 -/* f016bf4: afaf0128 */ sw $t7,0x128($sp) -/* f016bf8: af000004 */ sw $zero,0x4($t8) -/* f016bfc: af0e0000 */ sw $t6,0x0($t8) -/* f016c00: 8fad0128 */ lw $t5,0x128($sp) -/* f016c04: 3c0cfcff */ lui $t4,0xfcff -/* f016c08: 3c0bfffc */ lui $t3,0xfffc -/* f016c0c: 25b90008 */ addiu $t9,$t5,0x8 -/* f016c10: afb90128 */ sw $t9,0x128($sp) -/* f016c14: 356bf279 */ ori $t3,$t3,0xf279 -/* f016c18: 358cffff */ ori $t4,$t4,0xffff -/* f016c1c: adac0000 */ sw $t4,0x0($t5) -/* f016c20: adab0004 */ sw $t3,0x4($t5) -/* f016c24: 8fb80128 */ lw $t8,0x128($sp) -/* f016c28: 3c0eba00 */ lui $t6,0xba00 -/* f016c2c: 35ce0c02 */ ori $t6,$t6,0xc02 -/* f016c30: 270f0008 */ addiu $t7,$t8,0x8 -/* f016c34: afaf0128 */ sw $t7,0x128($sp) -/* f016c38: af000004 */ sw $zero,0x4($t8) -/* f016c3c: af0e0000 */ sw $t6,0x0($t8) -/* f016c40: 8fa50128 */ lw $a1,0x128($sp) -/* f016c44: 3c01e400 */ lui $at,0xe400 -/* f016c48: 24b90008 */ addiu $t9,$a1,0x8 -/* f016c4c: afb90128 */ sw $t9,0x128($sp) -/* f016c50: 860c0000 */ lh $t4,0x0($s0) -/* f016c54: 86190002 */ lh $t9,0x2($s0) -/* f016c58: 258b0020 */ addiu $t3,$t4,0x20 -/* f016c5c: 000bc080 */ sll $t8,$t3,0x2 -/* f016c60: 330f0fff */ andi $t7,$t8,0xfff -/* f016c64: 272c002a */ addiu $t4,$t9,0x2a -/* f016c68: 000c5880 */ sll $t3,$t4,0x2 -/* f016c6c: 000f7300 */ sll $t6,$t7,0xc -/* f016c70: 01c16825 */ or $t5,$t6,$at -/* f016c74: 31780fff */ andi $t8,$t3,0xfff -/* f016c78: 01b87825 */ or $t7,$t5,$t8 -/* f016c7c: acaf0000 */ sw $t7,0x0($a1) -/* f016c80: 860e0000 */ lh $t6,0x0($s0) -/* f016c84: 860d0002 */ lh $t5,0x2($s0) -/* f016c88: 000ec880 */ sll $t9,$t6,0x2 -/* f016c8c: 332c0fff */ andi $t4,$t9,0xfff -/* f016c90: 000dc080 */ sll $t8,$t5,0x2 -/* f016c94: 330f0fff */ andi $t7,$t8,0xfff -/* f016c98: 000c5b00 */ sll $t3,$t4,0xc -/* f016c9c: 016f7025 */ or $t6,$t3,$t7 -/* f016ca0: acae0004 */ sw $t6,0x4($a1) -/* f016ca4: 8fb90128 */ lw $t9,0x128($sp) -/* f016ca8: 24180540 */ li $t8,0x540 -/* f016cac: 3c0db400 */ lui $t5,0xb400 -/* f016cb0: 272c0008 */ addiu $t4,$t9,0x8 -/* f016cb4: afac0128 */ sw $t4,0x128($sp) -/* f016cb8: af380004 */ sw $t8,0x4($t9) -/* f016cbc: af2d0000 */ sw $t5,0x0($t9) -/* f016cc0: 8fab0128 */ lw $t3,0x128($sp) -/* f016cc4: 3c190400 */ lui $t9,0x400 -/* f016cc8: 3739fc00 */ ori $t9,$t9,0xfc00 -/* f016ccc: 256f0008 */ addiu $t7,$t3,0x8 -/* f016cd0: afaf0128 */ sw $t7,0x128($sp) -/* f016cd4: 3c0eb300 */ lui $t6,0xb300 -/* f016cd8: ad6e0000 */ sw $t6,0x0($t3) -/* f016cdc: ad790004 */ sw $t9,0x4($t3) -/* f016ce0: 0fc5528f */ jal func0f153628 -/* f016ce4: 8fa40128 */ lw $a0,0x128($sp) -/* f016ce8: 10000020 */ b .PB0f016d6c -/* f016cec: afa20128 */ sw $v0,0x128($sp) -/* f016cf0: 86020000 */ lh $v0,0x0($s0) -.PB0f016cf4: -/* f016cf4: 2401ffff */ li $at,-1 -/* f016cf8: 54410004 */ bnel $v0,$at,.PB0f016d0c -/* f016cfc: afa200d8 */ sw $v0,0xd8($sp) -/* f016d00: 10000002 */ b .PB0f016d0c -/* f016d04: afb300d8 */ sw $s3,0xd8($sp) -/* f016d08: afa200d8 */ sw $v0,0xd8($sp) -.PB0f016d0c: -/* f016d0c: 860c0002 */ lh $t4,0x2($s0) -/* f016d10: afac00d4 */ sw $t4,0xd4($sp) -/* f016d14: 0fc5c06a */ jal langGet -/* f016d18: 9604000a */ lhu $a0,0xa($s0) -/* f016d1c: 0c002e4d */ jal viGetWidth -/* f016d20: 00409825 */ move $s3,$v0 -/* f016d24: 0002a400 */ sll $s4,$v0,0x10 -/* f016d28: 00146c03 */ sra $t5,$s4,0x10 -/* f016d2c: 0c002e51 */ jal viGetHeight -/* f016d30: 01a0a025 */ move $s4,$t5 -/* f016d34: 8fa40128 */ lw $a0,0x128($sp) -/* f016d38: 27a500d8 */ addiu $a1,$sp,0xd8 -/* f016d3c: 27a600d4 */ addiu $a2,$sp,0xd4 -/* f016d40: 02603825 */ move $a3,$s3 -/* f016d44: afb10010 */ sw $s1,0x10($sp) -/* f016d48: afb20014 */ sw $s2,0x14($sp) -/* f016d4c: afb50018 */ sw $s5,0x18($sp) -/* f016d50: afb4001c */ sw $s4,0x1c($sp) -/* f016d54: afa20020 */ sw $v0,0x20($sp) -/* f016d58: afa00024 */ sw $zero,0x24($sp) -/* f016d5c: 0fc55e10 */ jal textRenderProjected -/* f016d60: afa00028 */ sw $zero,0x28($sp) -/* f016d64: afa20128 */ sw $v0,0x128($sp) -/* f016d68: 8fb300d8 */ lw $s3,0xd8($sp) -.PB0f016d6c: -/* f016d6c: 8fb8011c */ lw $t8,0x11c($sp) -/* f016d70: 2610000c */ addiu $s0,$s0,0xc -/* f016d74: 0218082b */ sltu $at,$s0,$t8 -/* f016d78: 5420fea9 */ bnezl $at,.PB0f016820 -/* f016d7c: 86030008 */ lh $v1,0x8($s0) -/* f016d80: 0fc552e5 */ jal func0f153780 -/* f016d84: 8fa40128 */ lw $a0,0x128($sp) -/* f016d88: afa20128 */ sw $v0,0x128($sp) -/* f016d8c: 8fbf005c */ lw $ra,0x5c($sp) -.PB0f016d90: -/* f016d90: 8fa20128 */ lw $v0,0x128($sp) -/* f016d94: 8fb00038 */ lw $s0,0x38($sp) -/* f016d98: 8fb1003c */ lw $s1,0x3c($sp) -/* f016d9c: 8fb20040 */ lw $s2,0x40($sp) -/* f016da0: 8fb30044 */ lw $s3,0x44($sp) -/* f016da4: 8fb40048 */ lw $s4,0x48($sp) -/* f016da8: 8fb5004c */ lw $s5,0x4c($sp) -/* f016dac: 8fb60050 */ lw $s6,0x50($sp) -/* f016db0: 8fb70054 */ lw $s7,0x54($sp) -/* f016db4: 8fbe0058 */ lw $s8,0x58($sp) -/* f016db8: 03e00008 */ jr $ra -/* f016dbc: 27bd0128 */ addiu $sp,$sp,0x128 -); -#else Gfx *titleRenderLegal(Gfx *gdl) { -#if VERSION >= VERSION_PAL_FINAL +#if VERSION >= VERSION_PAL_BETA s32 prevx = 0; #endif struct legalelement *elem; @@ -1320,6 +350,9 @@ Gfx *titleRenderLegal(Gfx *gdl) if (g_LegalEnabled) { gdl = titleClear(gdl); +#if VERSION == VERSION_JPN_FINAL + gdl = func0f0d479c(gdl); +#endif gdl = func0f153628(gdl); elem = g_LegalElements; @@ -1347,8 +380,7 @@ Gfx *titleRenderLegal(Gfx *gdl) colour = 0xffffffff; if (elem->textid == L_OPTIONS_074 || elem->textid == L_OPTIONS_073) { -#if VERSION >= VERSION_PAL_FINAL - s32 stack; +#if VERSION >= VERSION_PAL_BETA prevx += 10; #endif @@ -1372,7 +404,11 @@ Gfx *titleRenderLegal(Gfx *gdl) if (elem->type == LEGALELEMENTTYPE_LINE) { gdl = func0f153780(gdl); +#if VERSION == VERSION_JPN_FINAL + gdl = func0f153a34(gdl, elem->x, elem->y - 1, viGetWidth(), elem->y + 1, 0x7f7fff7f); +#else gdl = func0f153a34(gdl, elem->x, elem->y, viGetWidth(), elem->y + 2, 0x7f7fff7f); +#endif gdl = func0f153628(gdl); } else if (elem->type == LEGALELEMENTTYPE_DOLBYLOGO) { gdl = func0f153780(gdl); @@ -1421,7 +457,36 @@ Gfx *titleRenderLegal(Gfx *gdl) gdl = func0f153628(gdl); } else { -#if VERSION >= VERSION_PAL_FINAL +#if VERSION == VERSION_JPN_FINAL + u32 stack; + x = elem->x == -1 ? prevx : elem->x; + y = elem->y - 1; + + if (elem->type == LEGALELEMENTTYPE_WHITETEXTLG || elem->type == LEGALELEMENTTYPE_WHITETEXTSM) { + y -= 3; + + var8007fad0 = 2; + var80080108jf = 2; + + if (elem->x == -1) { + x += 24; + } + + gdl = textRenderProjected(gdl, &x, &y, langGet(elem->textid), font1, font2, colour, viGetWidth(), viGetHeight(), 0, 0); + + var8007fad0 = 1; + var80080108jf = 1; + } else { + gdl = textRenderProjected(gdl, &x, &y, langGet(elem->textid), font1, font2, (colour & 0xffffff00) | ((colour & 0xff) * 2 / 3), viGetWidth(), viGetHeight(), 0, 0); + + x = elem->x == -1 ? prevx : elem->x; + y = elem->y; + gdl = textRenderProjected(gdl, &x, &y, langGet(elem->textid), font1, font2, colour, viGetWidth(), viGetHeight(), 0, 0); + + prevx = x; + } +#elif VERSION >= VERSION_PAL_FINAL + u32 stack; // Render a darker copy of the text one pixel above x = elem->x == -1 ? prevx : elem->x; y = elem->y - 1; @@ -1432,6 +497,11 @@ Gfx *titleRenderLegal(Gfx *gdl) y = elem->y; gdl = textRenderProjected(gdl, &x, &y, langGet(elem->textid), font1, font2, colour, viGetWidth(), viGetHeight(), 0, 0); + prevx = x; +#elif VERSION >= VERSION_PAL_BETA + x = elem->x == -1 ? prevx : elem->x; + y = elem->y; + gdl = textRenderProjected(gdl, &x, &y, langGet(elem->textid), font1, font2, colour, viGetWidth(), viGetHeight(), 0, 0); prevx = x; #else x = elem->x; @@ -1446,7 +516,6 @@ Gfx *titleRenderLegal(Gfx *gdl) return gdl; } -#endif bool g_LegalEnabled = true; bool g_PdLogoIsFirstTick = true; diff --git a/src/include/data.h b/src/include/data.h index 065b23e6f..bdf7ac857 100644 --- a/src/include/data.h +++ b/src/include/data.h @@ -425,8 +425,8 @@ extern s32 g_NextShardNum; extern bool g_ShardsActive; extern u32 var800800f0jf; extern s32 g_ScaleX; -extern u32 var80080108jf; -extern u32 var8007fad0; +extern s32 var80080108jf; +extern s32 var8007fad0; extern struct font *g_FontNumeric; extern struct fontchar *g_CharsNumeric; extern struct font *g_FontHandelGothicXs;