diff --git a/asm/non_matchings/code_80091750/func_80093034.s b/asm/non_matchings/code_80091750/func_80093034.s deleted file mode 100644 index 280ae8987..000000000 --- a/asm/non_matchings/code_80091750/func_80093034.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel func_80093034 -/* 093C34 80093034 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 093C38 80093038 AFBF0024 */ sw $ra, 0x24($sp) -/* 093C3C 8009303C AFB30020 */ sw $s3, 0x20($sp) -/* 093C40 80093040 AFB2001C */ sw $s2, 0x1c($sp) -/* 093C44 80093044 AFB10018 */ sw $s1, 0x18($sp) -/* 093C48 80093048 AFB00014 */ sw $s0, 0x14($sp) -/* 093C4C 8009304C 808E0000 */ lb $t6, ($a0) -/* 093C50 80093050 00808025 */ move $s0, $a0 -/* 093C54 80093054 00008825 */ move $s1, $zero -/* 093C58 80093058 11C00017 */ beqz $t6, .L800930B8 -/* 093C5C 8009305C 2413FFFF */ li $s3, -1 -/* 093C60 80093060 3C12800F */ lui $s2, %hi(D_800EF690) # $s2, 0x800f -/* 093C64 80093064 2652F690 */ addiu $s2, %lo(D_800EF690) # addiu $s2, $s2, -0x970 -.L80093068: -/* 093C68 80093068 0C024B24 */ jal func_80092C90 -/* 093C6C 8009306C 02002025 */ move $a0, $s0 -/* 093C70 80093070 04400006 */ bltz $v0, .L8009308C -/* 093C74 80093074 28410030 */ slti $at, $v0, 0x30 -/* 093C78 80093078 00027840 */ sll $t7, $v0, 1 -/* 093C7C 8009307C 024FC021 */ addu $t8, $s2, $t7 -/* 093C80 80093080 87190000 */ lh $t9, ($t8) -/* 093C84 80093084 10000004 */ b .L80093098 -/* 093C88 80093088 02398821 */ addu $s1, $s1, $t9 -.L8009308C: -/* 093C8C 8009308C 14530002 */ bne $v0, $s3, .L80093098 -/* 093C90 80093090 00000000 */ nop -/* 093C94 80093094 26310007 */ addiu $s1, $s1, 7 -.L80093098: -/* 093C98 80093098 54200004 */ bnel $at, $zero, .L800930AC -/* 093C9C 8009309C 26100001 */ addiu $s0, $s0, 1 -/* 093CA0 800930A0 10000002 */ b .L800930AC -/* 093CA4 800930A4 26100002 */ addiu $s0, $s0, 2 -/* 093CA8 800930A8 26100001 */ addiu $s0, $s0, 1 -.L800930AC: -/* 093CAC 800930AC 82080000 */ lb $t0, ($s0) -/* 093CB0 800930B0 1500FFED */ bnez $t0, .L80093068 -/* 093CB4 800930B4 00000000 */ nop -.L800930B8: -/* 093CB8 800930B8 8FBF0024 */ lw $ra, 0x24($sp) -/* 093CBC 800930BC 02201025 */ move $v0, $s1 -/* 093CC0 800930C0 8FB10018 */ lw $s1, 0x18($sp) -/* 093CC4 800930C4 8FB00014 */ lw $s0, 0x14($sp) -/* 093CC8 800930C8 8FB2001C */ lw $s2, 0x1c($sp) -/* 093CCC 800930CC 8FB30020 */ lw $s3, 0x20($sp) -/* 093CD0 800930D0 03E00008 */ jr $ra -/* 093CD4 800930D4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/non_matchings/code_80091750/func_8009F5E0.s b/asm/non_matchings/code_80091750/func_8009F5E0.s index 294f1bf0f..cd5a5e940 100644 --- a/asm/non_matchings/code_80091750/func_8009F5E0.s +++ b/asm/non_matchings/code_80091750/func_8009F5E0.s @@ -219,7 +219,7 @@ glabel L8009F8B8 glabel L8009F904 /* 0A0504 8009F904 3C11800E */ lui $s1, %hi(D_800E7574) # $s1, 0x800e /* 0A0508 8009F908 26317574 */ addiu $s1, %lo(D_800E7574) # addiu $s1, $s1, 0x7574 -/* 0A050C 8009F90C 0C024C0D */ jal func_80093034 +/* 0A050C 8009F90C 0C024C0D */ jal get_string_width /* 0A0510 8009F910 8E240000 */ lw $a0, ($s1) /* 0A0514 8009F914 244A0005 */ addiu $t2, $v0, 5 /* 0A0518 8009F918 448A2000 */ mtc1 $t2, $f4 @@ -361,10 +361,10 @@ glabel L8009F904 glabel L8009FB24 /* 0A0724 8009FB24 3C11800E */ lui $s1, %hi(D_800E77A0) # $s1, 0x800e /* 0A0728 8009FB28 263177A0 */ addiu $s1, %lo(D_800E77A0) # addiu $s1, $s1, 0x77a0 -/* 0A072C 8009FB2C 0C024C0D */ jal func_80093034 +/* 0A072C 8009FB2C 0C024C0D */ jal get_string_width /* 0A0730 8009FB30 8E240000 */ lw $a0, ($s1) /* 0A0734 8009FB34 8E240004 */ lw $a0, 4($s1) -/* 0A0738 8009FB38 0C024C0D */ jal func_80093034 +/* 0A0738 8009FB38 0C024C0D */ jal get_string_width /* 0A073C 8009FB3C AFA20058 */ sw $v0, 0x58($sp) /* 0A0740 8009FB40 8FA80058 */ lw $t0, 0x58($sp) /* 0A0744 8009FB44 0102082A */ slt $at, $t0, $v0 diff --git a/asm/non_matchings/code_80091750/func_800A2EB8.s b/asm/non_matchings/code_80091750/func_800A2EB8.s index 09e43bd65..b409f44bc 100644 --- a/asm/non_matchings/code_80091750/func_800A2EB8.s +++ b/asm/non_matchings/code_80091750/func_800A2EB8.s @@ -178,7 +178,7 @@ glabel func_800A2EB8 /* 0A3D54 800A3154 26317500 */ addiu $s1, %lo(D_800E7500) # addiu $s1, $s1, 0x7500 /* 0A3D58 800A3158 00194080 */ sll $t0, $t9, 2 /* 0A3D5C 800A315C 02284821 */ addu $t1, $s1, $t0 -/* 0A3D60 800A3160 0C024C0D */ jal func_80093034 +/* 0A3D60 800A3160 0C024C0D */ jal get_string_width /* 0A3D64 800A3164 8D240000 */ lw $a0, ($t1) /* 0A3D68 800A3168 244A0008 */ addiu $t2, $v0, 8 /* 0A3D6C 800A316C 448A2000 */ mtc1 $t2, $f4 @@ -198,7 +198,7 @@ glabel func_800A2EB8 /* 0A3DA4 800A31A4 460A4403 */ div.s $f16, $f8, $f10 /* 0A3DA8 800A31A8 4600848D */ trunc.w.s $f18, $f16 /* 0A3DAC 800A31AC 44109000 */ mfc1 $s0, $f18 -/* 0A3DB0 800A31B0 0C024C0D */ jal func_80093034 +/* 0A3DB0 800A31B0 0C024C0D */ jal get_string_width /* 0A3DB4 800A31B4 00000000 */ nop /* 0A3DB8 800A31B8 244F0008 */ addiu $t7, $v0, 8 /* 0A3DBC 800A31BC 448F2000 */ mtc1 $t7, $f4 diff --git a/asm/non_matchings/code_80091750/func_800A34A8.s b/asm/non_matchings/code_80091750/func_800A34A8.s index 3ae915358..468c2e845 100644 --- a/asm/non_matchings/code_80091750/func_800A34A8.s +++ b/asm/non_matchings/code_80091750/func_800A34A8.s @@ -282,7 +282,7 @@ glabel func_800A34A8 /* 0A44AC 800A38AC 26317500 */ addiu $s1, %lo(D_800E7500) # addiu $s1, $s1, 0x7500 /* 0A44B0 800A38B0 000A6880 */ sll $t5, $t2, 2 /* 0A44B4 800A38B4 022D6021 */ addu $t4, $s1, $t5 -/* 0A44B8 800A38B8 0C024C0D */ jal func_80093034 +/* 0A44B8 800A38B8 0C024C0D */ jal get_string_width /* 0A44BC 800A38BC 8D840000 */ lw $a0, ($t4) /* 0A44C0 800A38C0 244F0008 */ addiu $t7, $v0, 8 /* 0A44C4 800A38C4 448F2000 */ mtc1 $t7, $f4 @@ -302,7 +302,7 @@ glabel func_800A34A8 /* 0A44FC 800A38FC 460A4403 */ div.s $f16, $f8, $f10 /* 0A4500 800A3900 4600848D */ trunc.w.s $f18, $f16 /* 0A4504 800A3904 44109000 */ mfc1 $s0, $f18 -/* 0A4508 800A3908 0C024C0D */ jal func_80093034 +/* 0A4508 800A3908 0C024C0D */ jal get_string_width /* 0A450C 800A390C 00000000 */ nop /* 0A4510 800A3910 24490008 */ addiu $t1, $v0, 8 /* 0A4514 800A3914 44892000 */ mtc1 $t1, $f4 diff --git a/asm/non_matchings/code_80091750/func_800A4A24.s b/asm/non_matchings/code_80091750/func_800A4A24.s index 8c7f8e3ad..3536ccbf5 100644 --- a/asm/non_matchings/code_80091750/func_800A4A24.s +++ b/asm/non_matchings/code_80091750/func_800A4A24.s @@ -10,7 +10,7 @@ glabel func_800A4A24 /* 0A5644 800A4A44 AFA80038 */ sw $t0, 0x38($sp) /* 0A5648 800A4A48 24847780 */ addiu $a0, %lo(D_800E7780) # addiu $a0, $a0, 0x7780 /* 0A564C 800A4A4C AFA50040 */ sw $a1, 0x40($sp) -/* 0A5650 800A4A50 0C024C0D */ jal func_80093034 +/* 0A5650 800A4A50 0C024C0D */ jal get_string_width /* 0A5654 800A4A54 AFA90034 */ sw $t1, 0x34($sp) /* 0A5658 800A4A58 24580008 */ addiu $t8, $v0, 8 /* 0A565C 800A4A5C 44982000 */ mtc1 $t8, $f4 diff --git a/asm/non_matchings/code_80091750/func_800A5084.s b/asm/non_matchings/code_80091750/func_800A5084.s index 5e2e6903f..4733c252d 100644 --- a/asm/non_matchings/code_80091750/func_800A5084.s +++ b/asm/non_matchings/code_80091750/func_800A5084.s @@ -64,7 +64,7 @@ glabel func_800A5084 /* 0A5D74 800A5174 25AEFFF8 */ addiu $t6, $t5, -8 /* 0A5D78 800A5178 028BC821 */ addu $t9, $s4, $t3 /* 0A5D7C 800A517C 01CF9821 */ addu $s3, $t6, $t7 -/* 0A5D80 800A5180 0C024C0D */ jal func_80093034 +/* 0A5D80 800A5180 0C024C0D */ jal get_string_width /* 0A5D84 800A5184 8F240000 */ lw $a0, ($t9) /* 0A5D88 800A5188 44822000 */ mtc1 $v0, $f4 /* 0A5D8C 800A518C 3C013F80 */ li $at, 0x3F800000 # 1.000000 @@ -85,7 +85,7 @@ glabel func_800A5084 /* 0A5DC8 800A51C8 46128103 */ div.s $f4, $f16, $f18 /* 0A5DCC 800A51CC 4600218D */ trunc.w.s $f6, $f4 /* 0A5DD0 800A51D0 44103000 */ mfc1 $s0, $f6 -/* 0A5DD4 800A51D4 0C024C0D */ jal func_80093034 +/* 0A5DD4 800A51D4 0C024C0D */ jal get_string_width /* 0A5DD8 800A51D8 00000000 */ nop /* 0A5DDC 800A51DC 44824000 */ mtc1 $v0, $f8 /* 0A5DE0 800A51E0 3C014120 */ li $at, 0x41200000 # 10.000000 diff --git a/asm/non_matchings/code_80091750/func_800A5738.s b/asm/non_matchings/code_80091750/func_800A5738.s index 2c4b77c26..17ad583c0 100644 --- a/asm/non_matchings/code_80091750/func_800A5738.s +++ b/asm/non_matchings/code_80091750/func_800A5738.s @@ -32,7 +32,7 @@ glabel func_800A5738 .L800A57AC: /* 0A63AC 800A57AC 5320021A */ beql $t9, $zero, .L800A6018 /* 0A63B0 800A57B0 8FBF0044 */ lw $ra, 0x44($sp) -/* 0A63B4 800A57B4 0C024C0D */ jal func_80093034 +/* 0A63B4 800A57B4 0C024C0D */ jal get_string_width /* 0A63B8 800A57B8 8E240014 */ lw $a0, 0x14($s1) /* 0A63BC 800A57BC 44822000 */ mtc1 $v0, $f4 /* 0A63C0 800A57C0 3C01800F */ lui $at, %hi(D_800F1DD8) # $at, 0x800f diff --git a/asm/non_matchings/code_80091750/func_800A70E8.s b/asm/non_matchings/code_80091750/func_800A70E8.s index a5688e2cc..7e3189e8f 100644 --- a/asm/non_matchings/code_80091750/func_800A70E8.s +++ b/asm/non_matchings/code_80091750/func_800A70E8.s @@ -11,7 +11,7 @@ glabel func_800A70E8 /* 0A7D0C 800A710C 15C1004B */ bne $t6, $at, .L800A723C /* 0A7D10 800A7110 3C11800E */ lui $s1, %hi(D_800E7A34) # $s1, 0x800e /* 0A7D14 800A7114 26317A34 */ addiu $s1, %lo(D_800E7A34) # addiu $s1, $s1, 0x7a34 -/* 0A7D18 800A7118 0C024C0D */ jal func_80093034 +/* 0A7D18 800A7118 0C024C0D */ jal get_string_width /* 0A7D1C 800A711C 8E240000 */ lw $a0, ($s1) /* 0A7D20 800A7120 44822000 */ mtc1 $v0, $f4 /* 0A7D24 800A7124 3C01800F */ lui $at, %hi(D_800F1F2C) # $at, 0x800f @@ -21,7 +21,7 @@ glabel func_800A70E8 /* 0A7D34 800A7134 46143202 */ mul.s $f8, $f6, $f20 /* 0A7D38 800A7138 4600428D */ trunc.w.s $f10, $f8 /* 0A7D3C 800A713C 44105000 */ mfc1 $s0, $f10 -/* 0A7D40 800A7140 0C024C0D */ jal func_80093034 +/* 0A7D40 800A7140 0C024C0D */ jal get_string_width /* 0A7D44 800A7144 00000000 */ nop /* 0A7D48 800A7148 44828000 */ mtc1 $v0, $f16 /* 0A7D4C 800A714C 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 diff --git a/asm/non_matchings/code_80091750/func_800A72FC.s b/asm/non_matchings/code_80091750/func_800A72FC.s index 95169d165..aaa547cfa 100644 --- a/asm/non_matchings/code_80091750/func_800A72FC.s +++ b/asm/non_matchings/code_80091750/func_800A72FC.s @@ -8,7 +8,7 @@ glabel func_800A72FC /* 0A7F14 800A7314 AFBF0024 */ sw $ra, 0x24($sp) /* 0A7F18 800A7318 008F2021 */ addu $a0, $a0, $t7 /* 0A7F1C 800A731C F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0A7F20 800A7320 0C024C0D */ jal func_80093034 +/* 0A7F20 800A7320 0C024C0D */ jal get_string_width /* 0A7F24 800A7324 8C847500 */ lw $a0, %lo(D_800E7500)($a0) /* 0A7F28 800A7328 44822000 */ mtc1 $v0, $f4 /* 0A7F2C 800A732C 3C013F80 */ li $at, 0x3F800000 # 1.000000 @@ -29,7 +29,7 @@ glabel func_800A72FC /* 0A7F68 800A7368 46128103 */ div.s $f4, $f16, $f18 /* 0A7F6C 800A736C 4600218D */ trunc.w.s $f6, $f4 /* 0A7F70 800A7370 44193000 */ mfc1 $t9, $f6 -/* 0A7F74 800A7374 0C024C0D */ jal func_80093034 +/* 0A7F74 800A7374 0C024C0D */ jal get_string_width /* 0A7F78 800A7378 AFB90030 */ sw $t9, 0x30($sp) /* 0A7F7C 800A737C 44824000 */ mtc1 $v0, $f8 /* 0A7F80 800A7380 3C014120 */ li $at, 0x41200000 # 10.000000 diff --git a/asm/non_matchings/code_80091750/func_800A7448.s b/asm/non_matchings/code_80091750/func_800A7448.s index 712767a89..038a20bc9 100644 --- a/asm/non_matchings/code_80091750/func_800A7448.s +++ b/asm/non_matchings/code_80091750/func_800A7448.s @@ -25,7 +25,7 @@ glabel func_800A7448 .L800A74A4: /* 0A80A4 800A74A4 3C04800E */ lui $a0, %hi(D_800E7A88) # $a0, 0x800e /* 0A80A8 800A74A8 8C847A88 */ lw $a0, %lo(D_800E7A88)($a0) -/* 0A80AC 800A74AC 0C024C0D */ jal func_80093034 +/* 0A80AC 800A74AC 0C024C0D */ jal get_string_width /* 0A80B0 800A74B0 AFA30038 */ sw $v1, 0x38($sp) /* 0A80B4 800A74B4 244E0005 */ addiu $t6, $v0, 5 /* 0A80B8 800A74B8 448E2000 */ mtc1 $t6, $f4 @@ -45,7 +45,7 @@ glabel func_800A7448 /* 0A80F0 800A74F0 460A4403 */ div.s $f16, $f8, $f10 /* 0A80F4 800A74F4 4600848D */ trunc.w.s $f18, $f16 /* 0A80F8 800A74F8 44189000 */ mfc1 $t8, $f18 -/* 0A80FC 800A74FC 0C024C0D */ jal func_80093034 +/* 0A80FC 800A74FC 0C024C0D */ jal get_string_width /* 0A8100 800A7500 AFB80040 */ sw $t8, 0x40($sp) /* 0A8104 800A7504 24490005 */ addiu $t1, $v0, 5 /* 0A8108 800A7508 44892000 */ mtc1 $t1, $f4 diff --git a/asm/non_matchings/code_80091750/func_800A761C.s b/asm/non_matchings/code_80091750/func_800A761C.s index 0a067ef2a..f8078a9ae 100644 --- a/asm/non_matchings/code_80091750/func_800A761C.s +++ b/asm/non_matchings/code_80091750/func_800A761C.s @@ -11,7 +11,7 @@ glabel func_800A761C /* 0A8240 800A7640 0C029E7D */ jal func_800A79F4 /* 0A8244 800A7644 27A5003C */ addiu $a1, $sp, 0x3c /* 0A8248 800A7648 3C04800E */ lui $a0, %hi(D_800E7AA4) # $a0, 0x800e -/* 0A824C 800A764C 0C024C0D */ jal func_80093034 +/* 0A824C 800A764C 0C024C0D */ jal get_string_width /* 0A8250 800A7650 8C847AA4 */ lw $a0, %lo(D_800E7AA4)($a0) /* 0A8254 800A7654 244E0005 */ addiu $t6, $v0, 5 /* 0A8258 800A7658 448E2000 */ mtc1 $t6, $f4 @@ -31,7 +31,7 @@ glabel func_800A761C /* 0A8290 800A7690 460A4403 */ div.s $f16, $f8, $f10 /* 0A8294 800A7694 4600848D */ trunc.w.s $f18, $f16 /* 0A8298 800A7698 44189000 */ mfc1 $t8, $f18 -/* 0A829C 800A769C 0C024C0D */ jal func_80093034 +/* 0A829C 800A769C 0C024C0D */ jal get_string_width /* 0A82A0 800A76A0 AFB80048 */ sw $t8, 0x48($sp) /* 0A82A4 800A76A4 244A0005 */ addiu $t2, $v0, 5 /* 0A82A8 800A76A8 448A2000 */ mtc1 $t2, $f4 diff --git a/asm/non_matchings/code_80091750/func_800ABCF4.s b/asm/non_matchings/code_80091750/func_800ABCF4.s index afbc4c785..f9301b232 100644 --- a/asm/non_matchings/code_80091750/func_800ABCF4.s +++ b/asm/non_matchings/code_80091750/func_800ABCF4.s @@ -21,7 +21,7 @@ glabel func_800ABCF4 /* 0AC93C 800ABD3C 3C04800E */ lui $a0, %hi(D_800E7500) /* 0AC940 800ABD40 000FC080 */ sll $t8, $t7, 2 /* 0AC944 800ABD44 00982021 */ addu $a0, $a0, $t8 -/* 0AC948 800ABD48 0C024C0D */ jal func_80093034 +/* 0AC948 800ABD48 0C024C0D */ jal get_string_width /* 0AC94C 800ABD4C 8C847500 */ lw $a0, %lo(D_800E7500)($a0) /* 0AC950 800ABD50 04410003 */ bgez $v0, .L800ABD60 /* 0AC954 800ABD54 0002C843 */ sra $t9, $v0, 1 diff --git a/asm/non_matchings/code_80091750/func_800ABF68.s b/asm/non_matchings/code_80091750/func_800ABF68.s index b5f16f9c0..ea3b6bace 100644 --- a/asm/non_matchings/code_80091750/func_800ABF68.s +++ b/asm/non_matchings/code_80091750/func_800ABF68.s @@ -22,7 +22,7 @@ glabel func_800ABF68 /* 0ACBB4 800ABFB4 3C04800E */ lui $a0, %hi(D_800E7524) /* 0ACBB8 800ABFB8 0018C880 */ sll $t9, $t8, 2 /* 0ACBBC 800ABFBC 00992021 */ addu $a0, $a0, $t9 -/* 0ACBC0 800ABFC0 0C024C0D */ jal func_80093034 +/* 0ACBC0 800ABFC0 0C024C0D */ jal get_string_width /* 0ACBC4 800ABFC4 8C847524 */ lw $a0, %lo(D_800E7524)($a0) /* 0ACBC8 800ABFC8 04410003 */ bgez $v0, .L800ABFD8 /* 0ACBCC 800ABFCC 00024043 */ sra $t0, $v0, 1 diff --git a/asm/non_matchings/code_80091750/func_800AEC54.s b/asm/non_matchings/code_80091750/func_800AEC54.s index 844f56ada..9ea1fe4e2 100644 --- a/asm/non_matchings/code_80091750/func_800AEC54.s +++ b/asm/non_matchings/code_80091750/func_800AEC54.s @@ -14,7 +14,7 @@ glabel func_800AEC54 /* 0AF884 800AEC84 00000000 */ nop glabel L800AEC88 /* 0AF888 800AEC88 3C04800E */ lui $a0, %hi(D_800E7780) # $a0, 0x800e -/* 0AF88C 800AEC8C 0C024C0D */ jal func_80093034 +/* 0AF88C 800AEC8C 0C024C0D */ jal get_string_width /* 0AF890 800AEC90 24847780 */ addiu $a0, %lo(D_800E7780) # addiu $a0, $a0, 0x7780 /* 0AF894 800AEC94 04410003 */ bgez $v0, .L800AECA4 /* 0AF898 800AEC98 00027843 */ sra $t7, $v0, 1 @@ -74,7 +74,7 @@ glabel L800AED50 /* 0AF958 800AED58 0C02A532 */ jal func_800A94C8 /* 0AF95C 800AED5C 2406FFFF */ li $a2, -1 /* 0AF960 800AED60 3C04800E */ lui $a0, %hi(D_800E7780) # $a0, 0x800e -/* 0AF964 800AED64 0C024C0D */ jal func_80093034 +/* 0AF964 800AED64 0C024C0D */ jal get_string_width /* 0AF968 800AED68 24847780 */ addiu $a0, %lo(D_800E7780) # addiu $a0, $a0, 0x7780 /* 0AF96C 800AED6C 8E09000C */ lw $t1, 0xc($s0) /* 0AF970 800AED70 252A0014 */ addiu $t2, $t1, 0x14 diff --git a/asm/non_matchings/code_80091750/func_800AF4DC.s b/asm/non_matchings/code_80091750/func_800AF4DC.s index d8c86db75..ba1be90f5 100644 --- a/asm/non_matchings/code_80091750/func_800AF4DC.s +++ b/asm/non_matchings/code_80091750/func_800AF4DC.s @@ -29,7 +29,7 @@ glabel L800AF530 /* 0B0144 800AF544 008A2021 */ addu $a0, $a0, $t2 /* 0B0148 800AF548 AE08000C */ sw $t0, 0xc($s0) /* 0B014C 800AF54C AFA30020 */ sw $v1, 0x20($sp) -/* 0B0150 800AF550 0C024C0D */ jal func_80093034 +/* 0B0150 800AF550 0C024C0D */ jal get_string_width /* 0B0154 800AF554 8C8454B0 */ lw $a0, %lo(D_802854B0)($a0) # 0x54b0($a0) /* 0B0158 800AF558 44822000 */ mtc1 $v0, $f4 /* 0B015C 800AF55C 8FA30020 */ lw $v1, 0x20($sp) diff --git a/asm/non_matchings/code_80091750/func_800AF740.s b/asm/non_matchings/code_80091750/func_800AF740.s index d97ca82ec..fe0e09e6e 100644 --- a/asm/non_matchings/code_80091750/func_800AF740.s +++ b/asm/non_matchings/code_80091750/func_800AF740.s @@ -29,7 +29,7 @@ glabel L800AF794 /* 0B03A8 800AF7A8 008A2021 */ addu $a0, $a0, $t2 /* 0B03AC 800AF7AC AE08000C */ sw $t0, 0xc($s0) /* 0B03B0 800AF7B0 AFA30020 */ sw $v1, 0x20($sp) -/* 0B03B4 800AF7B4 0C024C0D */ jal func_80093034 +/* 0B03B4 800AF7B4 0C024C0D */ jal get_string_width /* 0B03B8 800AF7B8 8C8454B0 */ lw $a0, %lo(D_802854B0)($a0) # 0x54b0($a0) /* 0B03BC 800AF7BC 44822000 */ mtc1 $v0, $f4 /* 0B03C0 800AF7C0 8FA30020 */ lw $v1, 0x20($sp) diff --git a/asm/non_matchings/code_80091750/get_ascii_char_width_index.s b/asm/non_matchings/code_80091750/get_ascii_char_width_index.s new file mode 100644 index 000000000..e90a538ae --- /dev/null +++ b/asm/non_matchings/code_80091750/get_ascii_char_width_index.s @@ -0,0 +1,118 @@ +/* Originally func_80092C90 */ +glabel get_ascii_char_width_index +/* 093890 80092C90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 093894 80092C94 AFBF0014 */ sw $ra, 0x14($sp) +/* 093898 80092C98 80820000 */ lb $v0, ($a0) +/* 09389C 80092C9C 00802825 */ move $a1, $a0 +/* 0938A0 80092CA0 24030001 */ li $v1, 1 +/* 0938A4 80092CA4 28410061 */ slti $at, $v0, 0x61 +/* 0938A8 80092CA8 14200005 */ bnez $at, .L80092CC0 +/* 0938AC 80092CAC 2841007B */ slti $at, $v0, 0x7b +/* 0938B0 80092CB0 50200004 */ beql $at, $zero, .L80092CC4 +/* 0938B4 80092CB4 28410041 */ slti $at, $v0, 0x41 +/* 0938B8 80092CB8 1000004A */ b .L80092DE4 +/* 0938BC 80092CBC 2443FF9F */ addiu $v1, $v0, -0x61 +.L80092CC0: +/* 0938C0 80092CC0 28410041 */ slti $at, $v0, 0x41 +.L80092CC4: +/* 0938C4 80092CC4 14200005 */ bnez $at, .L80092CDC +/* 0938C8 80092CC8 2841005B */ slti $at, $v0, 0x5b +/* 0938CC 80092CCC 50200004 */ beql $at, $zero, .L80092CE0 +/* 0938D0 80092CD0 28410030 */ slti $at, $v0, 0x30 +/* 0938D4 80092CD4 10000043 */ b .L80092DE4 +/* 0938D8 80092CD8 2443FFBF */ addiu $v1, $v0, -0x41 +.L80092CDC: +/* 0938DC 80092CDC 28410030 */ slti $at, $v0, 0x30 +.L80092CE0: +/* 0938E0 80092CE0 14200005 */ bnez $at, .L80092CF8 +/* 0938E4 80092CE4 2841003A */ slti $at, $v0, 0x3a +/* 0938E8 80092CE8 50200004 */ beql $at, $zero, .L80092CFC +/* 0938EC 80092CEC 24010020 */ li $at, 32 +/* 0938F0 80092CF0 1000003C */ b .L80092DE4 +/* 0938F4 80092CF4 2443FFF0 */ addiu $v1, $v0, -0x10 +.L80092CF8: +/* 0938F8 80092CF8 24010020 */ li $at, 32 +.L80092CFC: +/* 0938FC 80092CFC 14410003 */ bne $v0, $at, .L80092D0C +/* 093900 80092D00 00000000 */ nop +/* 093904 80092D04 10000037 */ b .L80092DE4 +/* 093908 80092D08 2403FFFF */ li $v1, -1 +.L80092D0C: +/* 09390C 80092D0C 04410016 */ bgez $v0, .L80092D68 +/* 093910 80092D10 244FFFDF */ addiu $t7, $v0, -0x21 +/* 093914 80092D14 244E005F */ addiu $t6, $v0, 0x5f +/* 093918 80092D18 2DC1000B */ sltiu $at, $t6, 0xb +/* 09391C 80092D1C 10200031 */ beqz $at, .L80092DE4 +/* 093920 80092D20 000E7080 */ sll $t6, $t6, 2 +/* 093924 80092D24 3C01800F */ lui $at, %hi(jpt_800F0D24) +/* 093928 80092D28 002E0821 */ addu $at, $at, $t6 +/* 09392C 80092D2C 8C2E0D24 */ lw $t6, %lo(jpt_800F0D24)($at) +/* 093930 80092D30 01C00008 */ jr $t6 +/* 093934 80092D34 00000000 */ nop +glabel L80092D38 +/* 093938 80092D38 0C024B87 */ jal func_80092E1C +/* 09393C 80092D3C 24A40001 */ addiu $a0, $a1, 1 +/* 093940 80092D40 10000028 */ b .L80092DE4 +/* 093944 80092D44 00401825 */ move $v1, $v0 +glabel L80092D48 +/* 093948 80092D48 0C024B7E */ jal func_80092DF8 +/* 09394C 80092D4C 24A40001 */ addiu $a0, $a1, 1 +/* 093950 80092D50 10000024 */ b .L80092DE4 +/* 093954 80092D54 00401825 */ move $v1, $v0 +glabel L80092D58 +/* 093958 80092D58 0C024BB9 */ jal func_80092EE4 +/* 09395C 80092D5C 00A02025 */ move $a0, $a1 +/* 093960 80092D60 10000020 */ b .L80092DE4 +/* 093964 80092D64 00401825 */ move $v1, $v0 +.L80092D68: +/* 093968 80092D68 2DE1001F */ sltiu $at, $t7, 0x1f +/* 09396C 80092D6C 1020001C */ beqz $at, .L80092DE0 +/* 093970 80092D70 000F7880 */ sll $t7, $t7, 2 +/* 093974 80092D74 3C01800F */ lui $at, %hi(jpt_800F0D50) +/* 093978 80092D78 002F0821 */ addu $at, $at, $t7 +/* 09397C 80092D7C 8C2F0D50 */ lw $t7, %lo(jpt_800F0D50)($at) +/* 093980 80092D80 01E00008 */ jr $t7 +/* 093984 80092D84 00000000 */ nop +glabel L80092D88 +/* 093988 80092D88 10000016 */ b .L80092DE4 +/* 09398C 80092D8C 2403001A */ li $v1, 26 +glabel L80092D90 +/* 093990 80092D90 10000014 */ b .L80092DE4 +/* 093994 80092D94 2403001B */ li $v1, 27 +glabel L80092D98 +/* 093998 80092D98 10000012 */ b .L80092DE4 +/* 09399C 80092D9C 2403001C */ li $v1, 28 +glabel L80092DA0 +/* 0939A0 80092DA0 10000010 */ b .L80092DE4 +/* 0939A4 80092DA4 2403001D */ li $v1, 29 +glabel L80092DA8 +/* 0939A8 80092DA8 1000000E */ b .L80092DE4 +/* 0939AC 80092DAC 2403001E */ li $v1, 30 +glabel L80092DB0 +/* 0939B0 80092DB0 1000000C */ b .L80092DE4 +/* 0939B4 80092DB4 2403001F */ li $v1, 31 +glabel L80092DB8 +/* 0939B8 80092DB8 1000000A */ b .L80092DE4 +/* 0939BC 80092DBC 2403002A */ li $v1, 42 +glabel L80092DC0 +/* 0939C0 80092DC0 10000008 */ b .L80092DE4 +/* 0939C4 80092DC4 2403002B */ li $v1, 43 +glabel L80092DC8 +/* 0939C8 80092DC8 10000006 */ b .L80092DE4 +/* 0939CC 80092DCC 2403002C */ li $v1, 44 +glabel L80092DD0 +/* 0939D0 80092DD0 10000004 */ b .L80092DE4 +/* 0939D4 80092DD4 2403002D */ li $v1, 45 +glabel L80092DD8 +/* 0939D8 80092DD8 10000002 */ b .L80092DE4 +/* 0939DC 80092DDC 2403002E */ li $v1, 46 +.L80092DE0: +glabel L80092DE0 +/* 0939E0 80092DE0 2403FFFE */ li $v1, -2 +.L80092DE4: +glabel L80092DE4 +/* 0939E4 80092DE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0939E8 80092DE8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0939EC 80092DEC 00601025 */ move $v0, $v1 +/* 0939F0 80092DF0 03E00008 */ jr $ra +/* 0939F4 80092DF4 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/print_text0.s b/asm/non_matchings/code_80091750/print_text0.s index 982b41259..3713ea2b1 100644 --- a/asm/non_matchings/code_80091750/print_text0.s +++ b/asm/non_matchings/code_80091750/print_text0.s @@ -35,7 +35,7 @@ glabel print_text0 /* 093DB8 800931B8 C7B80080 */ lwc1 $f24, 0x80($sp) /* 093DBC 800931BC 8FBE0088 */ lw $fp, 0x88($sp) .L800931C0: -/* 093DC0 800931C0 0C024B24 */ jal func_80092C90 +/* 093DC0 800931C0 0C024B24 */ jal get_ascii_char_width_index /* 093DC4 800931C4 02202025 */ move $a0, $s1 /* 093DC8 800931C8 04400024 */ bltz $v0, .L8009325C /* 093DCC 800931CC 00409825 */ move $s3, $v0 @@ -67,10 +67,10 @@ glabel print_text0 /* 093E34 80093234 0C026FBC */ jal func_8009BEF0 /* 093E38 80093238 00000000 */ nop /* 093E3C 8009323C 00135040 */ sll $t2, $s3, 1 -/* 093E40 80093240 3C0B800F */ lui $t3, %hi(D_800EF690) # 0x800f +/* 093E40 80093240 3C0B800F */ lui $t3, %hi(gCharacterWidthMap) # 0x800f /* 093E44 80093244 AE820000 */ sw $v0, ($s4) /* 093E48 80093248 016A5821 */ addu $t3, $t3, $t2 -/* 093E4C 8009324C 856BF690 */ lh $t3, %lo(D_800EF690)($t3) # -0x970($t3) +/* 093E4C 8009324C 856BF690 */ lh $t3, %lo(gCharacterWidthMap)($t3) # -0x970($t3) /* 093E50 80093250 024B6021 */ addu $t4, $s2, $t3 /* 093E54 80093254 10000012 */ b .L800932A0 /* 093E58 80093258 01959021 */ addu $s2, $t4, $s5 diff --git a/asm/non_matchings/code_80091750/print_text1.s b/asm/non_matchings/code_80091750/print_text1.s index 1e81a5114..46babad6b 100644 --- a/asm/non_matchings/code_80091750/print_text1.s +++ b/asm/non_matchings/code_80091750/print_text1.s @@ -20,13 +20,13 @@ glabel print_text1 /* 093FD4 800933D4 00C08025 */ move $s0, $a2 /* 093FD8 800933D8 11C0002D */ beqz $t6, .L80093490 /* 093FDC 800933DC 00008825 */ move $s1, $zero -/* 093FE0 800933E0 3C16800F */ lui $s6, %hi(D_800EF690) # $s6, 0x800f -/* 093FE4 800933E4 26D6F690 */ addiu $s6, %lo(D_800EF690) # addiu $s6, $s6, -0x970 +/* 093FE0 800933E0 3C16800F */ lui $s6, %hi(gCharacterWidthMap) # $s6, 0x800f +/* 093FE4 800933E4 26D6F690 */ addiu $s6, %lo(gCharacterWidthMap) # addiu $s6, $s6, -0x970 /* 093FE8 800933E8 C7B60080 */ lwc1 $f22, 0x80($sp) /* 093FEC 800933EC 241EFFFF */ li $fp, -1 /* 093FF0 800933F0 2417FFFE */ li $s7, -2 .L800933F4: -/* 093FF4 800933F4 0C024B24 */ jal func_80092C90 +/* 093FF4 800933F4 0C024B24 */ jal get_ascii_char_width_index /* 093FF8 800933F8 02002025 */ move $a0, $s0 /* 093FFC 800933FC 0440000F */ bltz $v0, .L8009343C /* 094000 80093400 28410030 */ slti $at, $v0, 0x30 @@ -70,9 +70,9 @@ glabel print_text1 /* 09408C 8009348C 00000000 */ nop .L80093490: /* 094090 80093490 8FA20088 */ lw $v0, 0x88($sp) -/* 094094 80093494 3C16800F */ lui $s6, %hi(D_800EF690) # $s6, 0x800f +/* 094094 80093494 3C16800F */ lui $s6, %hi(gCharacterWidthMap) # $s6, 0x800f /* 094098 80093498 24010001 */ li $at, 1 -/* 09409C 8009349C 26D6F690 */ addiu $s6, %lo(D_800EF690) # addiu $s6, $s6, -0x970 +/* 09409C 8009349C 26D6F690 */ addiu $s6, %lo(gCharacterWidthMap) # addiu $s6, $s6, -0x970 /* 0940A0 800934A0 2417FFFE */ li $s7, -2 /* 0940A4 800934A4 241EFFFF */ li $fp, -1 /* 0940A8 800934A8 1041000A */ beq $v0, $at, .L800934D4 @@ -121,7 +121,7 @@ glabel print_text1 /* 094138 80093538 5120004A */ beql $t1, $zero, .L80093664 /* 09413C 8009353C 8E820000 */ lw $v0, ($s4) .L80093540: -/* 094140 80093540 0C024B24 */ jal func_80092C90 +/* 094140 80093540 0C024B24 */ jal get_ascii_char_width_index /* 094144 80093544 02402025 */ move $a0, $s2 /* 094148 80093548 04400027 */ bltz $v0, .L800935E8 /* 09414C 8009354C 00408825 */ move $s1, $v0 diff --git a/asm/non_matchings/code_80091750/print_text2.s b/asm/non_matchings/code_80091750/print_text2.s index 3c0569871..f65991177 100644 --- a/asm/non_matchings/code_80091750/print_text2.s +++ b/asm/non_matchings/code_80091750/print_text2.s @@ -29,15 +29,15 @@ glabel print_text2 /* 0943F4 800937F4 00809825 */ move $s3, $a0 /* 0943F8 800937F8 1320005C */ beqz $t9, .L8009396C /* 0943FC 800937FC 00E0A825 */ move $s5, $a3 -/* 094400 80093800 3C1E800F */ lui $fp, %hi(D_800EF690) # $fp, 0x800f +/* 094400 80093800 3C1E800F */ lui $fp, %hi(gCharacterWidthMap) # $fp, 0x800f /* 094404 80093804 3C17800E */ lui $s7, %hi(D_800E7E84) # $s7, 0x800e /* 094408 80093808 26F77E84 */ addiu $s7, %lo(D_800E7E84) # addiu $s7, $s7, 0x7e84 -/* 09440C 8009380C 27DEF690 */ addiu $fp, %lo(D_800EF690) # addiu $fp, $fp, -0x970 +/* 09440C 8009380C 27DEF690 */ addiu $fp, %lo(gCharacterWidthMap) # addiu $fp, $fp, -0x970 /* 094410 80093810 C7B8007C */ lwc1 $f24, 0x7c($sp) /* 094414 80093814 C7B60078 */ lwc1 $f22, 0x78($sp) /* 094418 80093818 8FB60080 */ lw $s6, 0x80($sp) .L8009381C: -/* 09441C 8009381C 0C024B24 */ jal func_80092C90 +/* 09441C 8009381C 0C024B24 */ jal get_ascii_char_width_index /* 094420 80093820 02202025 */ move $a0, $s1 /* 094424 80093824 04400031 */ bltz $v0, .L800938EC /* 094428 80093828 00408025 */ move $s0, $v0 diff --git a/data/data_0DD0A0_3.s b/data/data_0DD0A0_3.s index ab105c114..d7bc75bcb 100644 --- a/data/data_0DD0A0_3.s +++ b/data/data_0DD0A0_3.s @@ -3956,7 +3956,7 @@ glabel D_800EF680 .double 1.08 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 #balign 64 instead ? -glabel D_800EF690 +glabel gCharacterWidthMap .hword 0x000c, 0x000d, 0x000b, 0x000b, 0x000a, 0x000b, 0x000b, 0x000d .hword 0x0007, 0x000a, 0x000c, 0x000a, 0x0012, 0x000d, 0x000c, 0x000c .hword 0x000c, 0x000c, 0x000b, 0x000d, 0x000c, 0x000c, 0x0012, 0x000d diff --git a/src/code_80091750.c b/src/code_80091750.c index 5e55c98a1..cd94d255e 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -841,82 +841,100 @@ void func_80092C80(void) { #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -s32 func_80092C90(s8 *arg0) { - s8 temp_v0; - s32 phi_v1; +// Originally func_80092C90 +// Some kind of lookup function, seems to return an index to be used +// to get a character's width in pixels +// This technically matches, but due to linker alignment shenanigans actually +// matching will have to wait +s32 get_ascii_char_width_index(char *character) { + s32 index = 1; - temp_v0 = *arg0; - phi_v1 = 1; - if ((temp_v0 >= 0x61) && (temp_v0 < 0x7B)) { - phi_v1 = temp_v0 - 0x61; - } else if ((temp_v0 >= 0x41) && (temp_v0 < 0x5B)) { - phi_v1 = temp_v0 - 0x41; - } else if ((temp_v0 >= 0x30) && (temp_v0 < 0x3A)) { - phi_v1 = temp_v0 - 0x10; - } else if (temp_v0 == 0x20) { - phi_v1 = -1; - } else if (temp_v0 < 0) { - switch (temp_v0) { /* switch 1 */ + // Uppercase Letters + if ((*character >= 0x61) && (*character < 0x7B)) { + index = *character - 0x61; + // Lowercase Letters + } else if ((*character >= 0x41) && (*character < 0x5B)) { + index = *character - 0x41; + // Numbers + } else if ((*character >= 0x30) && (*character < 0x3A)) { + index = *character - 0x10; + // Space + } else if (*character == 0x20) { + index = -1; + // Interpreting characters as signed numbers, so check if the character is "negative" + } else if (*character < 0) { + switch (*character) { /* switch 1 */ case -92: /* switch 1 */ - phi_v1 = func_80092E1C(arg0 + 1, arg0); + // WARNING: Not sure about the arguments to the following 3 functions, its not clear + // what they exepct + index = func_80092E1C(character + 1); break; case -91: /* switch 1 */ - phi_v1 = func_80092DF8(arg0 + 1, arg0); + index = func_80092DF8(character + 1); break; - case -95: /* switch 1 */ - case -93: /* switch 1 */ case -85: /* switch 1 */ - phi_v1 = func_80092EE4(arg0, arg0); + case -93: /* switch 1 */ + case -95: /* switch 1 */ + index = func_80092EE4(character); break; } } else { - switch (temp_v0) { /* switch 2 */ + switch (*character) { /* switch 2 */ + // ! case 0x21: /* switch 2 */ - phi_v1 = 0x1A; + index = 0x1A; break; + // - case 0x2D: /* switch 2 */ - phi_v1 = 0x1B; + index = 0x1B; break; + // ? case 0x3F: /* switch 2 */ - phi_v1 = 0x1C; + index = 0x1C; break; + // ' case 0x27: /* switch 2 */ - phi_v1 = 0x1D; + index = 0x1D; break; + // $ case 0x24: /* switch 2 */ - phi_v1 = 0x1E; + index = 0x1E; break; + // . case 0x2E: /* switch 2 */ - phi_v1 = 0x1F; + index = 0x1F; break; + // " case 0x22: /* switch 2 */ - phi_v1 = 0x2A; + index = 0x2A; break; + // * case 0x2A: /* switch 2 */ - phi_v1 = 0x2B; + index = 0x2B; break; + // + case 0x2B: /* switch 2 */ - phi_v1 = 0x2C; + index = 0x2C; break; + // ( case 0x28: /* switch 2 */ - phi_v1 = 0x2D; + index = 0x2D; break; + // , case 0x2C: /* switch 2 */ - phi_v1 = 0x2E; + index = 0x2E; break; default: /* switch 2 */ - phi_v1 = -2; + index = -2; break; } } - return phi_v1; + return index; } #else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092C90.s") +GLOBAL_ASM("asm/non_matchings/code_80091750/get_ascii_char_width_index.s") #endif -s32 func_80092E1C(); // extern - s32 func_80092DF8(void) { return func_80092E1C() + 0x50; } @@ -1031,46 +1049,30 @@ s32 func_80092EE4(void *arg0) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092EE4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80092C90(s8 *); // extern -extern ? D_800EF690; +extern s16 gCharacterWidthMap[]; // D_800EF690 -s32 func_80093034(s8 *arg0) { - s32 temp_v0; - s8 *phi_s0; - s8 *phi_s0_2; - s32 phi_s1; - s32 phi_s1_2; - s32 phi_s1_3; +//Originally func_80093034 +s32 get_string_width(char *buffer) { + s32 width_index; + s32 stringWidth = 0; - phi_s0 = arg0; - phi_s1 = 0; - phi_s1_3 = 0; - if (*arg0 != 0) { + if (*buffer != 0) { do { - temp_v0 = func_80092C90(phi_s0); - phi_s1_2 = phi_s1_3; - if (temp_v0 >= 0) { - phi_s1_2 = phi_s1_3 + *(&D_800EF690 + (temp_v0 * 2)); - } else if (temp_v0 == -1) { - phi_s1_2 = phi_s1_3 + 7; + width_index = get_ascii_char_width_index(buffer); + if (width_index >= 0) { + stringWidth += gCharacterWidthMap[width_index]; + } else if (width_index == -1) { + stringWidth += 7; } - phi_s1 = phi_s1_2; - phi_s1_3 = phi_s1_2; - if (temp_v0 >= 0x30) { - phi_s0_2 = phi_s0 + 2; + if (width_index >= 0x30) { + buffer += 2; } else { - phi_s0_2 = phi_s0 + 1; + buffer += 1; } - phi_s0 = phi_s0_2; - } while (*phi_s0_2 != 0); + } while (*buffer != 0); } - return phi_s1; + return stringWidth; } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093034.s") -#endif extern s8 gTextColor; @@ -1085,14 +1087,14 @@ UNUSED void func_800930E4(s32 arg0, s32 arg1, s32 *arg2) { #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80092C90(s8 *); // extern +s32 get_ascii_char_width_index(s8 *); // extern ? func_80099184(s32); // extern void *func_8009BEF0(void *, s32, f32, f32, s32, f32, f32); // extern s32 segmented_to_virtual(s32); // extern extern ? D_020077A8; extern ? D_020077D8; extern ? D_800E7E84; -extern ? D_800EF690; +extern ? gCharacterWidthMap; extern void *gDisplayListHead; void print_text0(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 arg6) { @@ -1113,12 +1115,12 @@ void print_text0(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 phi_s2 = 0; if (*arg2 != 0) { loop_2: - temp_v0_2 = func_80092C90(phi_s1); + temp_v0_2 = get_ascii_char_width_index(phi_s1); if (temp_v0_2 >= 0) { temp_s0 = (temp_v0_2 * 4) + &D_800E7E84; func_80099184(segmented_to_virtual(*temp_s0)); gDisplayListHead = func_8009BEF0(gDisplayListHead, segmented_to_virtual(*temp_s0), arg0 + (phi_s2 * arg4), arg1, arg6, arg4, arg5); - phi_s2 = phi_s2 + *(&D_800EF690 + (temp_v0_2 * 2)) + arg3; + phi_s2 = phi_s2 + *(&gCharacterWidthMap + (temp_v0_2 * 2)) + arg3; goto block_8; } if ((temp_v0_2 != -2) && (temp_v0_2 == -1)) { @@ -1175,14 +1177,14 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093358.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80092C90(s8 *); // extern +s32 get_ascii_char_width_index(s8 *); // extern ? func_80099184(s32); // extern void *func_8009BEF0(void *, s32, f32, f32, s32, f32, f32); // extern s32 segmented_to_virtual(s32); // extern extern ? D_020077A8; extern ? D_020077D8; extern ? D_800E7E84; -extern ? D_800EF690; +extern ? gCharacterWidthMap; extern void *gDisplayListHead; void print_text1(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 arg6) { @@ -1209,9 +1211,9 @@ void print_text1(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 phi_s1_3 = 0; if (*arg2 != 0) { loop_2: - temp_v0 = func_80092C90(phi_s0); + temp_v0 = get_ascii_char_width_index(phi_s0); if (temp_v0 >= 0) { - phi_s1_2 = phi_s1_3 + ((*(&D_800EF690 + (temp_v0 * 2)) + arg3) * arg4); + phi_s1_2 = phi_s1_3 + ((*(&gCharacterWidthMap + (temp_v0 * 2)) + arg3) * arg4); goto block_7; } if ((temp_v0 != -2) && (temp_v0 == -1)) { @@ -1264,12 +1266,12 @@ block_16: temp_v0_2->unk4 = &D_020077A8; if (*arg2 != 0) { loop_22: - temp_v0_3 = func_80092C90(phi_s2); + temp_v0_3 = get_ascii_char_width_index(phi_s2); if (temp_v0_3 >= 0) { temp_s0 = (temp_v0_3 * 4) + &D_800E7E84; func_80099184(segmented_to_virtual(*temp_s0)); gDisplayListHead = func_8009BEF0(gDisplayListHead, segmented_to_virtual(*temp_s0), phi_s3, arg1, sp60, arg4, arg5); - phi_s3 += (*(&D_800EF690 + (temp_v0_3 * 2)) + arg3) * arg4; + phi_s3 += (*(&gCharacterWidthMap + (temp_v0_3 * 2)) + arg3) * arg4; goto block_28; } if ((temp_v0_3 != -2) && (temp_v0_3 == -1)) { @@ -1337,14 +1339,14 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093754.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80092C90(s8 *); // extern +s32 get_ascii_char_width_index(s8 *); // extern ? func_80099184(s32); // extern void *func_8009BEF0(void *, s32, f32, f32, s32, f32, f32); // extern s32 segmented_to_virtual(s32); // extern extern ? D_020077A8; extern ? D_020077D8; extern ? D_800E7E84; -extern ? D_800EF690; +extern ? gCharacterWidthMap; extern void *gDisplayListHead; void print_text2(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 arg6) { @@ -1367,12 +1369,12 @@ void print_text2(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 phi_s3 = arg0; if (*arg2 != 0) { loop_2: - temp_v0_2 = func_80092C90(phi_s1); + temp_v0_2 = get_ascii_char_width_index(phi_s1); if (temp_v0_2 >= 0) { temp_v0_3 = segmented_to_virtual(*(&D_800E7E84 + (temp_v0_2 * 4))); temp_s2 = temp_v0_3; func_80099184(temp_v0_3); - gDisplayListHead = func_8009BEF0(gDisplayListHead, temp_s2, phi_s3 - (*(&D_800EF690 + (temp_v0_2 * 2)) / 2), arg1, arg6, arg4, arg5); + gDisplayListHead = func_8009BEF0(gDisplayListHead, temp_s2, phi_s3 - (*(&gCharacterWidthMap + (temp_v0_2 * 2)) / 2), arg1, arg6, arg4, arg5); if ((temp_v0_2 >= 0xD5) && (temp_v0_2 < 0xE0)) { phi_v0 = 0x20; } else { @@ -8616,7 +8618,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009E650.s") void *draw_box(void *, s32, s32, s32, s32, s32, s32, s32, s32); /* extern */ ? draw_text(s32, s32, ? *, ?, f32, f32); /* extern */ ? func_8004C8D4(s16, s16); /* extern */ -s32 func_80093034(? *); /* extern */ +s32 get_string_width(? *); /* extern */ ? func_80093324(s32, s32, ? *, s32, f32, f32); /* extern */ ? func_800936B8(s32, s32, ? *, s32, f32, f32); /* extern */ ? func_800939C8(?, ?, ? *, ?, f32, f32); /* extern */ @@ -9117,7 +9119,7 @@ void func_8009F5E0(void *arg0) { /* Duplicate return node #135. Try simplifying control flow for better match */ return; case 0x5: /* switch 4 */ - temp_t4 = ((func_80093034(*D_800E7574) + 5) * 0.9f) / 2; + temp_t4 = ((get_string_width(*D_800E7574) + 5) * 0.9f) / 2; gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - temp_t4, 0x7B, temp_t4 + 0xA0, 0xA4, 0, 0, 0, 0x96); set_text_color(TEXT_GREEN); draw_text(0x9B, 0x8C, *D_800E7574, 0, 0.9f, 0.9f); @@ -9139,8 +9141,8 @@ void func_8009F5E0(void *arg0) { func_800939C8(0xB4, 0xA0, &sp80, 0, 1.0f, 1.0f); return; case 0x4: /* switch 4 */ - sp58 = func_80093034(D_800E77A0->unk0); - temp_v0_7 = func_80093034(D_800E77A0->unk4); + sp58 = get_string_width(D_800E77A0->unk0); + temp_v0_7 = get_string_width(D_800E77A0->unk4); phi_t0 = sp58; if (sp58 < temp_v0_7) { phi_t0 = temp_v0_7; @@ -10607,7 +10609,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A2D1C.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? draw_text(s32, s32, s32, ?, f32, f32); // extern -s32 func_80093034(s32); // extern +s32 get_string_width(s32); // extern ? func_80093324(s32, s32, ? *, ?, f32, f32); // extern ? func_800A32B4(s32, s32, s8, s32); // extern ? convert_number_to_ascii(s32, ? *); // extern @@ -10720,10 +10722,10 @@ void func_800A2EB8(void *arg0) { } while (temp_s2_2 != 8); // Print Cup name set_text_color(5); - temp_s0_2 = ((func_80093034(*(&D_800E7500 + (gCupSelection * 4))) + 8) * D_800F1C98) / 2.0f; + temp_s0_2 = ((get_string_width(*(&D_800E7500 + (gCupSelection * 4))) + 8) * D_800F1C98) / 2.0f; temp_f0_3 = D_800F1C9C; // Some very complicated way to print the cup name and CC mode - draw_text((-(((func_80093034(*(&D_800E76CC + (gCCSelection * 4))) + 8) * temp_f0_3) / 2.0f) - arg0->unkC) + 0xF5, arg0->unk10 + 0xE1, *(&D_800E7500 + (D_800DC540 * 4)), 0, temp_f0_3, temp_f0_3); + draw_text((-(((get_string_width(*(&D_800E76CC + (gCCSelection * 4))) + 8) * temp_f0_3) / 2.0f) - arg0->unkC) + 0xF5, arg0->unk10 + 0xE1, *(&D_800E7500 + (D_800DC540 * 4)), 0, temp_f0_3, temp_f0_3); temp_v0 = D_8018EDF3; temp_f0_4 = D_800F1CA0; // Print CC mode again? @@ -10794,7 +10796,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A32B4.s") #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 ? draw_text(s32, s32, s32, ?, f32, f32); /* extern */ -s32 func_80093034(s32); /* extern */ +s32 get_string_width(s32); /* extern */ ? func_80093324(s32, s32, ? *, ?, f32, f32); /* extern */ ? func_800A3A10(s8 *); /* extern */ ? func_800A3ADC(void *, s32, s32, s8, s32, s8 *); /* extern */ @@ -10927,8 +10929,8 @@ void func_800A34A8(void *arg0) { phi_s1_2 = temp_s1_2; } while (temp_s1_2 != 8); set_text_color(5); - temp_s0_2 = ((func_80093034(*(&D_800E7500 + (gCupSelection * 4))) + 8) * 0.6f) / 2.0f; - draw_text((-(((func_80093034(*(&D_800E76CC + (gCCSelection * 4))) + 8) * 0.6f) / 2.0f) - arg0->unkC) + 0xE6, arg0->unk10 + 0xE1, *(&D_800E7500 + (D_800DC540 * 4)), 0, 0.6f, 0.6f); + temp_s0_2 = ((get_string_width(*(&D_800E7500 + (gCupSelection * 4))) + 8) * 0.6f) / 2.0f; + draw_text((-(((get_string_width(*(&D_800E76CC + (gCCSelection * 4))) + 8) * 0.6f) / 2.0f) - arg0->unkC) + 0xE6, arg0->unk10 + 0xE1, *(&D_800E7500 + (D_800DC540 * 4)), 0, 0.6f, 0.6f); temp_v0 = D_8018EDF3; draw_text((temp_s0_2 - arg0->unkC) + 0xE6, arg0->unk10 + 0xE1, *(&D_800E76CC + (*(&D_800E86AD + ((temp_v0 * 3) + *(&D_800E86AB + temp_v0))) * 4)), 0, 0.6f, 0.6f); } @@ -11571,7 +11573,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A474C.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 draw_box(s32, s32, s32, s32, s32, s32, s32, s32, s32); // extern ? draw_text(s32, s32, ? *, ?, f32, f32); // extern -s32 func_80093034(? *, void *); // extern +s32 get_string_width(? *, void *); // extern ? set_text_color(?); // extern extern ? D_800E7780; extern f32 D_800F1DCC; @@ -11595,7 +11597,7 @@ void func_800A4A24(void *arg0) { arg0 = temp_a1; sp34 = temp_t1; temp_f0 = D_800F1DCC; - temp_t2 = ((func_80093034(&D_800E7780, temp_a1) + 8) * temp_f0) / 2; + temp_t2 = ((get_string_width(&D_800E7780, temp_a1) + 8) * temp_f0) / 2; gDisplayListHead = draw_box(gDisplayListHead, temp_t0 - temp_t2, (temp_t1 - (24.0f * temp_f0)) + 4, temp_t2 + temp_t0, temp_t1 + 4, 0, 0, 0, 0x64); set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); temp_f0_2 = D_800F1DD0; @@ -11792,7 +11794,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A4EF8.s") s32 draw_box(s32, s32, s32, s32, s32, s32, s32, s32, s32); // extern ? draw_text(s32, s32, s32, ?, f32, f32); // extern ? func_800921C0(s32, s32, ?); // extern -s32 func_80093034(s32); // extern +s32 get_string_width(s32); // extern ? func_80093324(s16, s32, s32, ?, f32, f32); // extern ? set_text_color(?); // extern extern u16 D_800DC5FC; @@ -11827,8 +11829,8 @@ void func_800A5084(void *arg0) { temp_t4 = temp_v0->unk2E / 2; gDisplayListHead = draw_box(gDisplayListHead, temp_v1 - temp_t3, temp_t0 - temp_t4, temp_v1 + temp_t3, temp_t0 + temp_t4, 0, 0, 0, 0x8C); temp_s3 = ((D_800DC530 << 5) + (D_800DC5FC * 8)) - 8 + &D_800E85C0; - temp_s0 = ((func_80093034(*(&D_800E7500 + (gCupSelection * 4))) * 1.0f) + 10.0f) / 2.0f; - temp_s1 = ((func_80093034(*(&D_800E76CC + (gCCSelection * 4))) * 1.0f) + 10.0f) / 2.0f; + temp_s0 = ((get_string_width(*(&D_800E7500 + (gCupSelection * 4))) * 1.0f) + 10.0f) / 2.0f; + temp_s1 = ((get_string_width(*(&D_800E76CC + (gCCSelection * 4))) * 1.0f) + 10.0f) / 2.0f; set_text_color(TEXT_YELLOW); draw_text(0xA0 - temp_s1, temp_s3->unk2 - 0x32, *(&D_800E7500 + (gCupSelection * 4)), 0, 1.0f, 1.0f); set_text_color(TEXT_YELLOW); @@ -11972,7 +11974,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A54EC.s") //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 Gfx *draw_box(Gfx *, ?, ?, s32, s32, s32, s32, s32, s32); /* extern */ ? func_800921C0(s32, s32, ?); /* extern */ -s32 func_80093034(? *); /* extern */ +s32 get_string_width(? *); /* extern */ ? func_80093324(s32, s32, ? *, ?, f32, f32); /* extern */ ? func_80093358(s16, s32, ? *, ?, f32, f32); /* extern */ ? func_80093754(?, ?, s32, ?, f32, f32); /* extern */ @@ -12069,7 +12071,7 @@ void func_800A5738(void *arg0) { temp_v1 = arg0->unk4; if (temp_v1 == 0) { if ((arg0->unk1C >= 0x1E) && (((gGlobalTimer / 16) % 2) != 0)) { - gDisplayListHead = draw_box(gDisplayListHead, 0xC0, 0x21, (func_80093034(D_800E775C->unk14) * 0.8f) + 0xC6, 0x32, 0, 0, 0, 0x96); + gDisplayListHead = draw_box(gDisplayListHead, 0xC0, 0x21, (get_string_width(D_800E775C->unk14) * 0.8f) + 0xC6, 0x32, 0, 0, 0, 0x96); set_text_color(TEXT_GREEN); func_80093324(0xBF, 0x30, D_800E775C->unk14, 0, 0.8f, 0.8f); return; @@ -12820,7 +12822,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A6E94.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 void *draw_box(void *, ?, ?, s32, s32, s32, s32, s32, s32); // extern -s32 func_80093034(s32); // extern +s32 get_string_width(s32); // extern ? func_80093358(?, s32, s32, ?, f32, f32); // extern ? set_text_color(?, s32); // extern extern s32 D_800E7A34; @@ -12841,8 +12843,8 @@ void func_800A70E8(void *arg0) { if (arg0->unk4 == 1) { temp_f20 = D_800F1F2C; - temp_s0 = func_80093034(D_800E7A34.unk0) * temp_f20; - temp_f6 = func_80093034(D_800E7A34.unk4) * temp_f20; + temp_s0 = get_string_width(D_800E7A34.unk0) * temp_f20; + temp_f6 = get_string_width(D_800E7A34.unk4) * temp_f20; phi_s0 = temp_s0; if (temp_s0 < temp_f6) { phi_s0 = temp_f6; @@ -12894,7 +12896,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A7258.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? draw_text(s32, s32, s32, ?, f32, f32); // extern -s32 func_80093034(s32); // extern +s32 get_string_width(s32); // extern ? set_text_color(?); // extern extern ? D_800E7500; extern ? D_800E76CC; @@ -12905,8 +12907,8 @@ void func_800A72FC(void *arg0) { s32 sp30; s32 sp2C; - sp30 = ((func_80093034(*(&D_800E7500 + (gCupSelection * 4))) * 1.0f) + 10.0f) / 2.0f; - sp2C = ((func_80093034(*(&D_800E76CC + (gCCSelection * 4))) * 1.0f) + 10.0f) / 2.0f; + sp30 = ((get_string_width(*(&D_800E7500 + (gCupSelection * 4))) * 1.0f) + 10.0f) / 2.0f; + sp2C = ((get_string_width(*(&D_800E76CC + (gCCSelection * 4))) * 1.0f) + 10.0f) / 2.0f; set_text_color(TEXT_YELLOW); draw_text(arg0->unkC - sp2C, arg0->unk10, *(&D_800E7500 + (gCupSelection * 4)), 0, 1.0f, 1.0f); set_text_color(TEXT_YELLOW); @@ -12919,7 +12921,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A72FC.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? draw_text(s32, s32, s32, ?, f32, f32); // extern -s32 func_80093034(s32, void *); // extern +s32 get_string_width(s32, void *); // extern ? set_text_color(?); // extern extern s32 D_800E7A88; extern s32 D_800E7A98; @@ -12941,11 +12943,11 @@ void func_800A7448(void *arg0) { return; } sp38 = temp_v1; - temp_f8 = (func_80093034(D_800E7A88) + 5) * 0.75f; + temp_f8 = (get_string_width(D_800E7A88) + 5) * 0.75f; temp_a1 = (temp_v1 * 4) + &D_800E7A88; sp34 = temp_a1; sp40 = temp_f8 / 2.0f; - sp3C = ((func_80093034(temp_a1->unk4, temp_a1) + 5) * 0.75f) / 2.0f; + sp3C = ((get_string_width(temp_a1->unk4, temp_a1) + 5) * 0.75f) / 2.0f; set_text_color(TEXT_YELLOW); draw_text(arg0->unkC - sp3C, arg0->unk10, D_800E7A88, 0, 0.75f, 0.75f); set_text_color(TEXT_YELLOW); @@ -12985,7 +12987,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A75A0.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? draw_text(s32, s32, s32, ?, f32, f32); // extern -s32 func_80093034(s32); // extern +s32 get_string_width(s32); // extern ? func_800939C8(s32, s32, ? *, ?, f32, f32); // extern ? convert_number_to_ascii(s32, ? *); // extern ? func_800A79F4(s32, ? *); // extern @@ -13011,11 +13013,11 @@ void func_800A761C(void *arg0) { sp38 = temp_a0; func_800A79F4(temp_a0, &sp3C); temp_f20 = D_800F1F34; - temp_f8 = (func_80093034(D_800E7AA4) + 5) * temp_f20; + temp_f8 = (get_string_width(D_800E7AA4) + 5) * temp_f20; temp_v1 = (sp38 * 4) + &D_800E7AA4; sp34 = temp_v1; sp48 = temp_f8 / 2.0f; - sp44 = ((func_80093034(*temp_v1) + 5) * temp_f20) / 2.0f; + sp44 = ((get_string_width(*temp_v1) + 5) * temp_f20) / 2.0f; set_text_color(5); draw_text(arg0->unkC - sp44, arg0->unk10, D_800E7AA4, 0, temp_f20, temp_f20); set_text_color(gGlobalTimer % 3); @@ -16182,7 +16184,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ABC38.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80093034(s32); // extern +s32 get_string_width(s32); // extern ? func_800A9208(void *, s32); // extern extern s32 D_800DC540; extern ? D_800E7500; @@ -16218,7 +16220,7 @@ void func_800ABCF4(void *arg0) { } arg0->unkC = 0; arg0->unk4 = 1; - arg0->unk20 = (func_80093034(*(&D_800E7500 + (D_800DC540 * 4))) / 2) + 0xA0; + arg0->unk20 = (get_string_width(*(&D_800E7500 + (D_800DC540 * 4))) / 2) + 0xA0; block_5: func_800A9208(arg0, arg0->unk20); temp_t1_2 = (arg0->unk20 - arg0->unkC) / 4; @@ -16277,7 +16279,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ABEAC.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_80093034(s32); // extern +s32 get_string_width(s32); // extern ? func_800A9208(void *, s32); // extern extern ? D_800E7524; extern f64 D_800F2648; @@ -16312,7 +16314,7 @@ void func_800ABF68(void *arg0) { } arg0->unkC = 0x140; arg0->unk4 = 1; - arg0->unk20 = 0xA0 - (func_80093034(*(&D_800E7524 + (gCurrentCourseId * 4))) / 2); + arg0->unk20 = 0xA0 - (get_string_width(*(&D_800E7524 + (gCurrentCourseId * 4))) / 2); block_5: func_800A9208(arg0, arg0->unk20); temp_t3_2 = (arg0->unkC - arg0->unk20) / 4; @@ -17927,7 +17929,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AE218.s") #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -s32 func_80093034(? *); /* extern */ +s32 get_string_width(? *); /* extern */ ? func_800A9208(void *, ?); /* extern */ ? func_800A94C8(void *, ?, ?); /* extern */ ? func_800C90F4(?, s32); /* extern */ @@ -17940,7 +17942,7 @@ void func_800AEC54(void *arg0) { temp_t6 = arg0->unk4; switch (temp_t6) { case 0: - arg0->unkC = (func_80093034("NOW-MEET THE COURSE GHOST!!!") / 2) + 0x140; + arg0->unkC = (get_string_width("NOW-MEET THE COURSE GHOST!!!") / 2) + 0x140; arg0->unk10 = 0xDA; arg0->unk4 = 1; func_800C90F4(0, (D_80162DE4 * 0x10) + 0x29008001); @@ -17973,7 +17975,7 @@ void func_800AEC54(void *arg0) { } case 3: func_800A94C8(arg0, 0xA0, -1); - if (((arg0->unkC + 0x14) == -(func_80093034("NOW-MEET THE COURSE GHOST!!!") / 2)) && (arg0->unk4 == 3)) { + if (((arg0->unkC + 0x14) == -(get_string_width("NOW-MEET THE COURSE GHOST!!!") / 2)) && (arg0->unk4 == 3)) { arg0->unk4 = 4; } /* Duplicate return node #12. Try simplifying control flow for better match */ @@ -18366,7 +18368,7 @@ void func_800AF4DC(void *arg0) { arg0->unk4 = 1; arg0->unkC = temp_v1->unk4; sp20 = temp_v1; - arg0->unk20 = ((func_80093034(*(&D_802854B0 + (temp_v0 * 4))) * temp_v1->unk0) / 2.0f) + temp_v1->unk8; + arg0->unk20 = ((get_string_width(*(&D_802854B0 + (temp_v0 * 4))) * temp_v1->unk0) / 2.0f) + temp_v1->unk8; /* fallthrough */ case 1: func_800A9208(arg0, arg0->unk20); @@ -18442,7 +18444,7 @@ void func_800AF740(void *arg0) { arg0->unk4 = 1; arg0->unkC = temp_v1->unk4; sp20 = temp_v1; - arg0->unk20 = temp_v1->unk8 - ((func_80093034(*(&D_802854B0 + (temp_v0 * 4))) * temp_v1->unk0) / 2.0f); + arg0->unk20 = temp_v1->unk8 - ((get_string_width(*(&D_802854B0 + (temp_v0 * 4))) * temp_v1->unk0) / 2.0f); /* fallthrough */ case 1: func_800A9208(arg0, arg0->unk20);