mirror of
https://github.com/n64decomp/mk64
synced 2026-08-14 12:23:49 -04:00
Match some functions related to printing text on screen (#80)
* Match some functions related to printing text on screen Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
@@ -1,28 +0,0 @@
|
||||
glabel draw_text
|
||||
/* 0942EC 800936EC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0942F0 800936F0 C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 0942F4 800936F4 C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 0942F8 800936F8 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 0942FC 800936FC 240E0002 */ li $t6, 2
|
||||
/* 094300 80093700 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 094304 80093704 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 094308 80093708 0C024CE3 */ jal print_text1
|
||||
/* 09430C 8009370C E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 094310 80093710 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 094314 80093714 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 094318 80093718 03E00008 */ jr $ra
|
||||
/* 09431C 8009371C 00000000 */ nop
|
||||
|
||||
/* 094320 80093720 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 094324 80093724 C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 094328 80093728 C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 09432C 8009372C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 094330 80093730 240E0003 */ li $t6, 3
|
||||
/* 094334 80093734 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 094338 80093738 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 09433C 8009373C 0C024CE3 */ jal print_text1
|
||||
/* 094340 80093740 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 094344 80093744 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 094348 80093748 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 09434C 8009374C 03E00008 */ jr $ra
|
||||
/* 094350 80093750 00000000 */ nop
|
||||
@@ -1,117 +0,0 @@
|
||||
glabel func_80092C90
|
||||
/* 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
|
||||
@@ -1,14 +0,0 @@
|
||||
glabel func_80093324
|
||||
/* 093F24 80093324 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 093F28 80093328 C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 093F2C 8009332C C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 093F30 80093330 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 093F34 80093334 240E0001 */ li $t6, 1
|
||||
/* 093F38 80093338 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 093F3C 8009333C E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 093F40 80093340 0C024C4D */ jal print_text0
|
||||
/* 093F44 80093344 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 093F48 80093348 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 093F4C 8009334C 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 093F50 80093350 03E00008 */ jr $ra
|
||||
/* 093F54 80093354 00000000 */ nop
|
||||
@@ -1,14 +0,0 @@
|
||||
glabel func_80093358
|
||||
/* 093F58 80093358 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 093F5C 8009335C C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 093F60 80093360 C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 093F64 80093364 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 093F68 80093368 240E0002 */ li $t6, 2
|
||||
/* 093F6C 8009336C AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 093F70 80093370 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 093F74 80093374 0C024C4D */ jal print_text0
|
||||
/* 093F78 80093378 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 093F7C 8009337C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 093F80 80093380 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 093F84 80093384 03E00008 */ jr $ra
|
||||
/* 093F88 80093388 00000000 */ nop
|
||||
@@ -1,14 +0,0 @@
|
||||
glabel func_800936B8
|
||||
/* 0942B8 800936B8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0942BC 800936BC C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 0942C0 800936C0 C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 0942C4 800936C4 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 0942C8 800936C8 240E0001 */ li $t6, 1
|
||||
/* 0942CC 800936CC AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 0942D0 800936D0 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 0942D4 800936D4 0C024CE3 */ jal print_text1
|
||||
/* 0942D8 800936D8 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 0942DC 800936DC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 0942E0 800936E0 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 0942E4 800936E4 03E00008 */ jr $ra
|
||||
/* 0942E8 800936E8 00000000 */ nop
|
||||
@@ -1,14 +0,0 @@
|
||||
glabel func_80093754
|
||||
/* 094354 80093754 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 094358 80093758 C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 09435C 8009375C C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 094360 80093760 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 094364 80093764 240E0004 */ li $t6, 4
|
||||
/* 094368 80093768 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 09436C 8009376C E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 094370 80093770 0C024CE3 */ jal print_text1
|
||||
/* 094374 80093774 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 094378 80093778 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 09437C 8009377C 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 094380 80093780 03E00008 */ jr $ra
|
||||
/* 094384 80093784 00000000 */ nop
|
||||
@@ -1,14 +0,0 @@
|
||||
glabel func_800939C8
|
||||
/* 0945C8 800939C8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 0945CC 800939CC C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 0945D0 800939D0 C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 0945D4 800939D4 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 0945D8 800939D8 240E0001 */ li $t6, 1
|
||||
/* 0945DC 800939DC AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 0945E0 800939E0 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 0945E4 800939E4 0C024DE2 */ jal print_text2
|
||||
/* 0945E8 800939E8 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 0945EC 800939EC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 0945F0 800939F0 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 0945F4 800939F4 03E00008 */ jr $ra
|
||||
/* 0945F8 800939F8 00000000 */ nop
|
||||
@@ -1,133 +0,0 @@
|
||||
glabel print_text0
|
||||
/* 093D34 80093134 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* 093D38 80093138 AFB40058 */ sw $s4, 0x58($sp)
|
||||
/* 093D3C 8009313C 3C148015 */ lui $s4, %hi(gDisplayListHead) # $s4, 0x8015
|
||||
/* 093D40 80093140 26940298 */ addiu $s4, %lo(gDisplayListHead) # addiu $s4, $s4, 0x298
|
||||
/* 093D44 80093144 8E820000 */ lw $v0, ($s4)
|
||||
/* 093D48 80093148 AFBF006C */ sw $ra, 0x6c($sp)
|
||||
/* 093D4C 8009314C AFBE0068 */ sw $fp, 0x68($sp)
|
||||
/* 093D50 80093150 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 093D54 80093154 AFB70064 */ sw $s7, 0x64($sp)
|
||||
/* 093D58 80093158 AFB60060 */ sw $s6, 0x60($sp)
|
||||
/* 093D5C 8009315C AFB5005C */ sw $s5, 0x5c($sp)
|
||||
/* 093D60 80093160 AFB30054 */ sw $s3, 0x54($sp)
|
||||
/* 093D64 80093164 AFB20050 */ sw $s2, 0x50($sp)
|
||||
/* 093D68 80093168 AFB1004C */ sw $s1, 0x4c($sp)
|
||||
/* 093D6C 8009316C AFB00048 */ sw $s0, 0x48($sp)
|
||||
/* 093D70 80093170 F7BA0040 */ sdc1 $f26, 0x40($sp)
|
||||
/* 093D74 80093174 F7B80038 */ sdc1 $f24, 0x38($sp)
|
||||
/* 093D78 80093178 F7B60030 */ sdc1 $f22, 0x30($sp)
|
||||
/* 093D7C 8009317C F7B40028 */ sdc1 $f20, 0x28($sp)
|
||||
/* 093D80 80093180 AE8E0000 */ sw $t6, ($s4)
|
||||
/* 093D84 80093184 3C180200 */ lui $t8, %hi(D_020077A8) # $t8, 0x200
|
||||
/* 093D88 80093188 271877A8 */ addiu $t8, %lo(D_020077A8) # addiu $t8, $t8, 0x77a8
|
||||
/* 093D8C 8009318C 3C0F0600 */ lui $t7, 0x600
|
||||
/* 093D90 80093190 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 093D94 80093194 AC580004 */ sw $t8, 4($v0)
|
||||
/* 093D98 80093198 80D90000 */ lb $t9, ($a2)
|
||||
/* 093D9C 8009319C 00C08825 */ move $s1, $a2
|
||||
/* 093DA0 800931A0 00E0A825 */ move $s5, $a3
|
||||
/* 093DA4 800931A4 0080B025 */ move $s6, $a0
|
||||
/* 093DA8 800931A8 00A0B825 */ move $s7, $a1
|
||||
/* 093DAC 800931AC 13200045 */ beqz $t9, .L800932C4
|
||||
/* 093DB0 800931B0 00009025 */ move $s2, $zero
|
||||
/* 093DB4 800931B4 C7BA0084 */ lwc1 $f26, 0x84($sp)
|
||||
/* 093DB8 800931B8 C7B80080 */ lwc1 $f24, 0x80($sp)
|
||||
/* 093DBC 800931BC 8FBE0088 */ lw $fp, 0x88($sp)
|
||||
.L800931C0:
|
||||
/* 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
|
||||
/* 093DD0 800931D0 3C09800E */ lui $t1, %hi(D_800E7E84) # $t1, 0x800e
|
||||
/* 093DD4 800931D4 44962000 */ mtc1 $s6, $f4
|
||||
/* 093DD8 800931D8 44973000 */ mtc1 $s7, $f6
|
||||
/* 093DDC 800931DC 25297E84 */ addiu $t1, %lo(D_800E7E84) # addiu $t1, $t1, 0x7e84
|
||||
/* 093DE0 800931E0 00134080 */ sll $t0, $s3, 2
|
||||
/* 093DE4 800931E4 01098021 */ addu $s0, $t0, $t1
|
||||
/* 093DE8 800931E8 8E040000 */ lw $a0, ($s0)
|
||||
/* 093DEC 800931EC 46802520 */ cvt.s.w $f20, $f4
|
||||
/* 093DF0 800931F0 0C026449 */ jal segmented_to_virtual
|
||||
/* 093DF4 800931F4 468035A0 */ cvt.s.w $f22, $f6
|
||||
/* 093DF8 800931F8 0C026461 */ jal func_80099184
|
||||
/* 093DFC 800931FC 00402025 */ move $a0, $v0
|
||||
/* 093E00 80093200 0C026449 */ jal segmented_to_virtual
|
||||
/* 093E04 80093204 8E040000 */ lw $a0, ($s0)
|
||||
/* 093E08 80093208 44924000 */ mtc1 $s2, $f8
|
||||
/* 093E0C 8009320C 4407B000 */ mfc1 $a3, $f22
|
||||
/* 093E10 80093210 8E840000 */ lw $a0, ($s4)
|
||||
/* 093E14 80093214 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 093E18 80093218 00402825 */ move $a1, $v0
|
||||
/* 093E1C 8009321C AFBE0010 */ sw $fp, 0x10($sp)
|
||||
/* 093E20 80093220 E7B80014 */ swc1 $f24, 0x14($sp)
|
||||
/* 093E24 80093224 E7BA0018 */ swc1 $f26, 0x18($sp)
|
||||
/* 093E28 80093228 46185402 */ mul.s $f16, $f10, $f24
|
||||
/* 093E2C 8009322C 4610A480 */ add.s $f18, $f20, $f16
|
||||
/* 093E30 80093230 44069000 */ mfc1 $a2, $f18
|
||||
/* 093E34 80093234 0C026FBC */ jal func_8009BEF0
|
||||
/* 093E38 80093238 00000000 */ nop
|
||||
/* 093E3C 8009323C 00135040 */ sll $t2, $s3, 1
|
||||
/* 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(gCharacterWidthMap)($t3) # -0x970($t3)
|
||||
/* 093E50 80093250 024B6021 */ addu $t4, $s2, $t3
|
||||
/* 093E54 80093254 10000012 */ b .L800932A0
|
||||
/* 093E58 80093258 01959021 */ addu $s2, $t4, $s5
|
||||
.L8009325C:
|
||||
/* 093E5C 8009325C 2401FFFE */ li $at, -2
|
||||
/* 093E60 80093260 10410006 */ beq $v0, $at, .L8009327C
|
||||
/* 093E64 80093264 02559021 */ addu $s2, $s2, $s5
|
||||
/* 093E68 80093268 2401FFFF */ li $at, -1
|
||||
/* 093E6C 8009326C 54410004 */ bnel $v0, $at, .L80093280
|
||||
/* 093E70 80093270 8E820000 */ lw $v0, ($s4)
|
||||
/* 093E74 80093274 1000000A */ b .L800932A0
|
||||
/* 093E78 80093278 26520007 */ addiu $s2, $s2, 7
|
||||
.L8009327C:
|
||||
/* 093E7C 8009327C 8E820000 */ lw $v0, ($s4)
|
||||
.L80093280:
|
||||
/* 093E80 80093280 3C0F0200 */ lui $t7, %hi(D_020077D8) # $t7, 0x200
|
||||
/* 093E84 80093284 25EF77D8 */ addiu $t7, %lo(D_020077D8) # addiu $t7, $t7, 0x77d8
|
||||
/* 093E88 80093288 244D0008 */ addiu $t5, $v0, 8
|
||||
/* 093E8C 8009328C AE8D0000 */ sw $t5, ($s4)
|
||||
/* 093E90 80093290 3C0E0600 */ lui $t6, 0x600
|
||||
/* 093E94 80093294 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 093E98 80093298 10000012 */ b .L800932E4
|
||||
/* 093E9C 8009329C AC4F0004 */ sw $t7, 4($v0)
|
||||
.L800932A0:
|
||||
/* 093EA0 800932A0 2A610030 */ slti $at, $s3, 0x30
|
||||
/* 093EA4 800932A4 54200004 */ bnel $at, $zero, .L800932B8
|
||||
/* 093EA8 800932A8 26310001 */ addiu $s1, $s1, 1
|
||||
/* 093EAC 800932AC 10000002 */ b .L800932B8
|
||||
/* 093EB0 800932B0 26310002 */ addiu $s1, $s1, 2
|
||||
/* 093EB4 800932B4 26310001 */ addiu $s1, $s1, 1
|
||||
.L800932B8:
|
||||
/* 093EB8 800932B8 82380000 */ lb $t8, ($s1)
|
||||
/* 093EBC 800932BC 1700FFC0 */ bnez $t8, .L800931C0
|
||||
/* 093EC0 800932C0 00000000 */ nop
|
||||
.L800932C4:
|
||||
/* 093EC4 800932C4 8E820000 */ lw $v0, ($s4)
|
||||
/* 093EC8 800932C8 3C090200 */ lui $t1, %hi(D_020077D8) # $t1, 0x200
|
||||
/* 093ECC 800932CC 252977D8 */ addiu $t1, %lo(D_020077D8) # addiu $t1, $t1, 0x77d8
|
||||
/* 093ED0 800932D0 24590008 */ addiu $t9, $v0, 8
|
||||
/* 093ED4 800932D4 AE990000 */ sw $t9, ($s4)
|
||||
/* 093ED8 800932D8 3C080600 */ lui $t0, 0x600
|
||||
/* 093EDC 800932DC AC480000 */ sw $t0, ($v0)
|
||||
/* 093EE0 800932E0 AC490004 */ sw $t1, 4($v0)
|
||||
.L800932E4:
|
||||
/* 093EE4 800932E4 8FBF006C */ lw $ra, 0x6c($sp)
|
||||
/* 093EE8 800932E8 D7B40028 */ ldc1 $f20, 0x28($sp)
|
||||
/* 093EEC 800932EC D7B60030 */ ldc1 $f22, 0x30($sp)
|
||||
/* 093EF0 800932F0 D7B80038 */ ldc1 $f24, 0x38($sp)
|
||||
/* 093EF4 800932F4 D7BA0040 */ ldc1 $f26, 0x40($sp)
|
||||
/* 093EF8 800932F8 8FB00048 */ lw $s0, 0x48($sp)
|
||||
/* 093EFC 800932FC 8FB1004C */ lw $s1, 0x4c($sp)
|
||||
/* 093F00 80093300 8FB20050 */ lw $s2, 0x50($sp)
|
||||
/* 093F04 80093304 8FB30054 */ lw $s3, 0x54($sp)
|
||||
/* 093F08 80093308 8FB40058 */ lw $s4, 0x58($sp)
|
||||
/* 093F0C 8009330C 8FB5005C */ lw $s5, 0x5c($sp)
|
||||
/* 093F10 80093310 8FB60060 */ lw $s6, 0x60($sp)
|
||||
/* 093F14 80093314 8FB70064 */ lw $s7, 0x64($sp)
|
||||
/* 093F18 80093318 8FBE0068 */ lw $fp, 0x68($sp)
|
||||
/* 093F1C 8009331C 03E00008 */ jr $ra
|
||||
/* 093F20 80093320 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
@@ -1,156 +0,0 @@
|
||||
glabel print_text2
|
||||
/* 094388 80093788 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* 09438C 8009378C AFB40050 */ sw $s4, 0x50($sp)
|
||||
/* 094390 80093790 3C148015 */ lui $s4, %hi(gDisplayListHead) # $s4, 0x8015
|
||||
/* 094394 80093794 26940298 */ addiu $s4, %lo(gDisplayListHead) # addiu $s4, $s4, 0x298
|
||||
/* 094398 80093798 8E820000 */ lw $v0, ($s4)
|
||||
/* 09439C 8009379C AFBF0064 */ sw $ra, 0x64($sp)
|
||||
/* 0943A0 800937A0 AFBE0060 */ sw $fp, 0x60($sp)
|
||||
/* 0943A4 800937A4 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 0943A8 800937A8 AFB7005C */ sw $s7, 0x5c($sp)
|
||||
/* 0943AC 800937AC AFB60058 */ sw $s6, 0x58($sp)
|
||||
/* 0943B0 800937B0 AFB50054 */ sw $s5, 0x54($sp)
|
||||
/* 0943B4 800937B4 AFB3004C */ sw $s3, 0x4c($sp)
|
||||
/* 0943B8 800937B8 AFB20048 */ sw $s2, 0x48($sp)
|
||||
/* 0943BC 800937BC AFB10044 */ sw $s1, 0x44($sp)
|
||||
/* 0943C0 800937C0 AFB00040 */ sw $s0, 0x40($sp)
|
||||
/* 0943C4 800937C4 F7B80038 */ sdc1 $f24, 0x38($sp)
|
||||
/* 0943C8 800937C8 F7B60030 */ sdc1 $f22, 0x30($sp)
|
||||
/* 0943CC 800937CC F7B40028 */ sdc1 $f20, 0x28($sp)
|
||||
/* 0943D0 800937D0 AFA5006C */ sw $a1, 0x6c($sp)
|
||||
/* 0943D4 800937D4 AE8E0000 */ sw $t6, ($s4)
|
||||
/* 0943D8 800937D8 3C180200 */ lui $t8, %hi(D_020077A8) # $t8, 0x200
|
||||
/* 0943DC 800937DC 271877A8 */ addiu $t8, %lo(D_020077A8) # addiu $t8, $t8, 0x77a8
|
||||
/* 0943E0 800937E0 3C0F0600 */ lui $t7, 0x600
|
||||
/* 0943E4 800937E4 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 0943E8 800937E8 AC580004 */ sw $t8, 4($v0)
|
||||
/* 0943EC 800937EC 80D90000 */ lb $t9, ($a2)
|
||||
/* 0943F0 800937F0 00C08825 */ move $s1, $a2
|
||||
/* 0943F4 800937F4 00809825 */ move $s3, $a0
|
||||
/* 0943F8 800937F8 1320005C */ beqz $t9, .L8009396C
|
||||
/* 0943FC 800937FC 00E0A825 */ move $s5, $a3
|
||||
/* 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(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 get_ascii_char_width_index
|
||||
/* 094420 80093820 02202025 */ move $a0, $s1
|
||||
/* 094424 80093824 04400031 */ bltz $v0, .L800938EC
|
||||
/* 094428 80093828 00408025 */ move $s0, $v0
|
||||
/* 09442C 8009382C 8FAA006C */ lw $t2, 0x6c($sp)
|
||||
/* 094430 80093830 00104080 */ sll $t0, $s0, 2
|
||||
/* 094434 80093834 02E84821 */ addu $t1, $s7, $t0
|
||||
/* 094438 80093838 448A2000 */ mtc1 $t2, $f4
|
||||
/* 09443C 8009383C 8D240000 */ lw $a0, ($t1)
|
||||
/* 094440 80093840 0C026449 */ jal segmented_to_virtual
|
||||
/* 094444 80093844 46802520 */ cvt.s.w $f20, $f4
|
||||
/* 094448 80093848 00409025 */ move $s2, $v0
|
||||
/* 09444C 8009384C 0C026461 */ jal func_80099184
|
||||
/* 094450 80093850 00402025 */ move $a0, $v0
|
||||
/* 094454 80093854 00105840 */ sll $t3, $s0, 1
|
||||
/* 094458 80093858 03CB6021 */ addu $t4, $fp, $t3
|
||||
/* 09445C 8009385C 858D0000 */ lh $t5, ($t4)
|
||||
/* 094460 80093860 4407A000 */ mfc1 $a3, $f20
|
||||
/* 094464 80093864 E7B80018 */ swc1 $f24, 0x18($sp)
|
||||
/* 094468 80093868 E7B60014 */ swc1 $f22, 0x14($sp)
|
||||
/* 09446C 8009386C AFB60010 */ sw $s6, 0x10($sp)
|
||||
/* 094470 80093870 8E840000 */ lw $a0, ($s4)
|
||||
/* 094474 80093874 02402825 */ move $a1, $s2
|
||||
/* 094478 80093878 05A10003 */ bgez $t5, .L80093888
|
||||
/* 09447C 8009387C 000D7043 */ sra $t6, $t5, 1
|
||||
/* 094480 80093880 25A10001 */ addiu $at, $t5, 1
|
||||
/* 094484 80093884 00017043 */ sra $t6, $at, 1
|
||||
.L80093888:
|
||||
/* 094488 80093888 026E7823 */ subu $t7, $s3, $t6
|
||||
/* 09448C 8009388C 448F3000 */ mtc1 $t7, $f6
|
||||
/* 094490 80093890 00000000 */ nop
|
||||
/* 094494 80093894 468031A0 */ cvt.s.w $f6, $f6
|
||||
/* 094498 80093898 44063000 */ mfc1 $a2, $f6
|
||||
/* 09449C 8009389C 0C026FBC */ jal func_8009BEF0
|
||||
/* 0944A0 800938A0 00000000 */ nop
|
||||
/* 0944A4 800938A4 2A0100D5 */ slti $at, $s0, 0xd5
|
||||
/* 0944A8 800938A8 14200006 */ bnez $at, .L800938C4
|
||||
/* 0944AC 800938AC AE820000 */ sw $v0, ($s4)
|
||||
/* 0944B0 800938B0 2A0100E0 */ slti $at, $s0, 0xe0
|
||||
/* 0944B4 800938B4 50200004 */ beql $at, $zero, .L800938C8
|
||||
/* 0944B8 800938B8 2402000C */ li $v0, 12
|
||||
/* 0944BC 800938BC 10000002 */ b .L800938C8
|
||||
/* 0944C0 800938C0 24020020 */ li $v0, 32
|
||||
.L800938C4:
|
||||
/* 0944C4 800938C4 2402000C */ li $v0, 12
|
||||
.L800938C8:
|
||||
/* 0944C8 800938C8 0055C021 */ addu $t8, $v0, $s5
|
||||
/* 0944CC 800938CC 44984000 */ mtc1 $t8, $f8
|
||||
/* 0944D0 800938D0 00000000 */ nop
|
||||
/* 0944D4 800938D4 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0944D8 800938D8 46165402 */ mul.s $f16, $f10, $f22
|
||||
/* 0944DC 800938DC 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 0944E0 800938E0 44089000 */ mfc1 $t0, $f18
|
||||
/* 0944E4 800938E4 10000018 */ b .L80093948
|
||||
/* 0944E8 800938E8 01139821 */ addu $s3, $t0, $s3
|
||||
.L800938EC:
|
||||
/* 0944EC 800938EC 2401FFFE */ li $at, -2
|
||||
/* 0944F0 800938F0 1041000C */ beq $v0, $at, .L80093924
|
||||
/* 0944F4 800938F4 26A90007 */ addiu $t1, $s5, 7
|
||||
/* 0944F8 800938F8 2401FFFF */ li $at, -1
|
||||
/* 0944FC 800938FC 5441000A */ bnel $v0, $at, .L80093928
|
||||
/* 094500 80093900 8E820000 */ lw $v0, ($s4)
|
||||
/* 094504 80093904 44892000 */ mtc1 $t1, $f4
|
||||
/* 094508 80093908 00000000 */ nop
|
||||
/* 09450C 8009390C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 094510 80093910 46163202 */ mul.s $f8, $f6, $f22
|
||||
/* 094514 80093914 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 094518 80093918 440B5000 */ mfc1 $t3, $f10
|
||||
/* 09451C 8009391C 1000000A */ b .L80093948
|
||||
/* 094520 80093920 01739821 */ addu $s3, $t3, $s3
|
||||
.L80093924:
|
||||
/* 094524 80093924 8E820000 */ lw $v0, ($s4)
|
||||
.L80093928:
|
||||
/* 094528 80093928 3C0E0200 */ lui $t6, %hi(D_020077D8) # $t6, 0x200
|
||||
/* 09452C 8009392C 25CE77D8 */ addiu $t6, %lo(D_020077D8) # addiu $t6, $t6, 0x77d8
|
||||
/* 094530 80093930 244C0008 */ addiu $t4, $v0, 8
|
||||
/* 094534 80093934 AE8C0000 */ sw $t4, ($s4)
|
||||
/* 094538 80093938 3C0D0600 */ lui $t5, 0x600
|
||||
/* 09453C 8009393C AC4D0000 */ sw $t5, ($v0)
|
||||
/* 094540 80093940 10000012 */ b .L8009398C
|
||||
/* 094544 80093944 AC4E0004 */ sw $t6, 4($v0)
|
||||
.L80093948:
|
||||
/* 094548 80093948 2A010030 */ slti $at, $s0, 0x30
|
||||
/* 09454C 8009394C 54200004 */ bnel $at, $zero, .L80093960
|
||||
/* 094550 80093950 26310001 */ addiu $s1, $s1, 1
|
||||
/* 094554 80093954 10000002 */ b .L80093960
|
||||
/* 094558 80093958 26310002 */ addiu $s1, $s1, 2
|
||||
/* 09455C 8009395C 26310001 */ addiu $s1, $s1, 1
|
||||
.L80093960:
|
||||
/* 094560 80093960 822F0000 */ lb $t7, ($s1)
|
||||
/* 094564 80093964 15E0FFAD */ bnez $t7, .L8009381C
|
||||
/* 094568 80093968 00000000 */ nop
|
||||
.L8009396C:
|
||||
/* 09456C 8009396C 8E820000 */ lw $v0, ($s4)
|
||||
/* 094570 80093970 3C080200 */ lui $t0, %hi(D_020077D8) # $t0, 0x200
|
||||
/* 094574 80093974 250877D8 */ addiu $t0, %lo(D_020077D8) # addiu $t0, $t0, 0x77d8
|
||||
/* 094578 80093978 24580008 */ addiu $t8, $v0, 8
|
||||
/* 09457C 8009397C AE980000 */ sw $t8, ($s4)
|
||||
/* 094580 80093980 3C190600 */ lui $t9, 0x600
|
||||
/* 094584 80093984 AC590000 */ sw $t9, ($v0)
|
||||
/* 094588 80093988 AC480004 */ sw $t0, 4($v0)
|
||||
.L8009398C:
|
||||
/* 09458C 8009398C 8FBF0064 */ lw $ra, 0x64($sp)
|
||||
/* 094590 80093990 D7B40028 */ ldc1 $f20, 0x28($sp)
|
||||
/* 094594 80093994 D7B60030 */ ldc1 $f22, 0x30($sp)
|
||||
/* 094598 80093998 D7B80038 */ ldc1 $f24, 0x38($sp)
|
||||
/* 09459C 8009399C 8FB00040 */ lw $s0, 0x40($sp)
|
||||
/* 0945A0 800939A0 8FB10044 */ lw $s1, 0x44($sp)
|
||||
/* 0945A4 800939A4 8FB20048 */ lw $s2, 0x48($sp)
|
||||
/* 0945A8 800939A8 8FB3004C */ lw $s3, 0x4c($sp)
|
||||
/* 0945AC 800939AC 8FB40050 */ lw $s4, 0x50($sp)
|
||||
/* 0945B0 800939B0 8FB50054 */ lw $s5, 0x54($sp)
|
||||
/* 0945B4 800939B4 8FB60058 */ lw $s6, 0x58($sp)
|
||||
/* 0945B8 800939B8 8FB7005C */ lw $s7, 0x5c($sp)
|
||||
/* 0945BC 800939BC 8FBE0060 */ lw $fp, 0x60($sp)
|
||||
/* 0945C0 800939C0 03E00008 */ jr $ra
|
||||
/* 0945C4 800939C4 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
@@ -1,14 +0,0 @@
|
||||
glabel text_draw
|
||||
/* 0945FC 800939FC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 094600 80093A00 C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* 094604 80093A04 C7A6003C */ lwc1 $f6, 0x3c($sp)
|
||||
/* 094608 80093A08 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 09460C 80093A0C 240E0002 */ li $t6, 2
|
||||
/* 094610 80093A10 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 094614 80093A14 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* 094618 80093A18 0C024DE2 */ jal print_text2
|
||||
/* 09461C 80093A1C E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* 094620 80093A20 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 094624 80093A24 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 094628 80093A28 03E00008 */ jr $ra
|
||||
/* 09462C 80093A2C 00000000 */ nop
|
||||
@@ -1,39 +0,0 @@
|
||||
glabel func_800B4E24
|
||||
/* 0B5A24 800B4E24 3C0E8019 */ lui $t6, %hi(gCupSelection) # $t6, 0x8019
|
||||
/* 0B5A28 800B4E28 81CEEE09 */ lb $t6, %lo(gCupSelection)($t6)
|
||||
/* 0B5A2C 800B4E2C 3C188019 */ lui $t8, %hi(gCourseSelection) # $t8, 0x8019
|
||||
/* 0B5A30 800B4E30 8318EE0B */ lb $t8, %lo(gCourseSelection)($t8)
|
||||
/* 0B5A34 800B4E34 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0B5A38 800B4E38 00802825 */ move $a1, $a0
|
||||
/* 0B5A3C 800B4E3C 01F81021 */ addu $v0, $t7, $t8
|
||||
/* 0B5A40 800B4E40 00056080 */ sll $t4, $a1, 2
|
||||
/* 0B5A44 800B4E44 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0B5A48 800B4E48 01856023 */ subu $t4, $t4, $a1
|
||||
/* 0B5A4C 800B4E4C 3C0E8019 */ lui $t6, %hi(D_8018EB90) # $t6, 0x8019
|
||||
/* 0B5A50 800B4E50 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0B5A54 800B4E54 04410003 */ bgez $v0, .L800B4E64
|
||||
/* 0B5A58 800B4E58 0002C883 */ sra $t9, $v0, 2
|
||||
/* 0B5A5C 800B4E5C 24410003 */ addiu $at, $v0, 3
|
||||
/* 0B5A60 800B4E60 0001C883 */ sra $t9, $at, 2
|
||||
.L800B4E64:
|
||||
/* 0B5A64 800B4E64 00194080 */ sll $t0, $t9, 2
|
||||
/* 0B5A68 800B4E68 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0B5A6C 800B4E6C 00084140 */ sll $t0, $t0, 5
|
||||
/* 0B5A70 800B4E70 04410004 */ bgez $v0, .L800B4E84
|
||||
/* 0B5A74 800B4E74 30490003 */ andi $t1, $v0, 3
|
||||
/* 0B5A78 800B4E78 11200002 */ beqz $t1, .L800B4E84
|
||||
/* 0B5A7C 800B4E7C 00000000 */ nop
|
||||
/* 0B5A80 800B4E80 2529FFFC */ addiu $t1, $t1, -4
|
||||
.L800B4E84:
|
||||
/* 0B5A84 800B4E84 00095080 */ sll $t2, $t1, 2
|
||||
/* 0B5A88 800B4E88 01495023 */ subu $t2, $t2, $t1
|
||||
/* 0B5A8C 800B4E8C 000A50C0 */ sll $t2, $t2, 3
|
||||
/* 0B5A90 800B4E90 010A5821 */ addu $t3, $t0, $t2
|
||||
/* 0B5A94 800B4E94 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 0B5A98 800B4E98 25CEEB90 */ addiu $t6, %lo(D_8018EB90) # addiu $t6, $t6, -0x1470
|
||||
/* 0B5A9C 800B4E9C 0C02D37D */ jal func_800B4DF4
|
||||
/* 0B5AA0 800B4EA0 01AE2021 */ addu $a0, $t5, $t6
|
||||
/* 0B5AA4 800B4EA4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0B5AA8 800B4EA8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0B5AAC 800B4EAC 03E00008 */ jr $ra
|
||||
/* 0B5AB0 800B4EB0 00000000 */ nop
|
||||
@@ -1,33 +0,0 @@
|
||||
glabel func_800B4EB4
|
||||
/* 0B5AB4 800B4EB4 00803025 */ move $a2, $a0
|
||||
/* 0B5AB8 800B4EB8 00064880 */ sll $t1, $a2, 2
|
||||
/* 0B5ABC 800B4EBC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0B5AC0 800B4EC0 01264823 */ subu $t1, $t1, $a2
|
||||
/* 0B5AC4 800B4EC4 3C0B8019 */ lui $t3, %hi(D_8018EB90) # $t3, 0x8019
|
||||
/* 0B5AC8 800B4EC8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0B5ACC 800B4ECC 04A10003 */ bgez $a1, .L800B4EDC
|
||||
/* 0B5AD0 800B4ED0 00057083 */ sra $t6, $a1, 2
|
||||
/* 0B5AD4 800B4ED4 24A10003 */ addiu $at, $a1, 3
|
||||
/* 0B5AD8 800B4ED8 00017083 */ sra $t6, $at, 2
|
||||
.L800B4EDC:
|
||||
/* 0B5ADC 800B4EDC 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0B5AE0 800B4EE0 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0B5AE4 800B4EE4 000F7940 */ sll $t7, $t7, 5
|
||||
/* 0B5AE8 800B4EE8 04A10004 */ bgez $a1, .L800B4EFC
|
||||
/* 0B5AEC 800B4EEC 30B80003 */ andi $t8, $a1, 3
|
||||
/* 0B5AF0 800B4EF0 13000002 */ beqz $t8, .L800B4EFC
|
||||
/* 0B5AF4 800B4EF4 00000000 */ nop
|
||||
/* 0B5AF8 800B4EF8 2718FFFC */ addiu $t8, $t8, -4
|
||||
.L800B4EFC:
|
||||
/* 0B5AFC 800B4EFC 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0B5B00 800B4F00 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0B5B04 800B4F04 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 0B5B08 800B4F08 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 0B5B0C 800B4F0C 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0B5B10 800B4F10 256BEB90 */ addiu $t3, %lo(D_8018EB90) # addiu $t3, $t3, -0x1470
|
||||
/* 0B5B14 800B4F14 0C02D37D */ jal func_800B4DF4
|
||||
/* 0B5B18 800B4F18 014B2021 */ addu $a0, $t2, $t3
|
||||
/* 0B5B1C 800B4F1C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0B5B20 800B4F20 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0B5B24 800B4F24 03E00008 */ jr $ra
|
||||
/* 0B5B28 800B4F28 00000000 */ nop
|
||||
@@ -1,36 +0,0 @@
|
||||
glabel func_800B4F2C
|
||||
/* 0B5B2C 800B4F2C 3C0E8019 */ lui $t6, %hi(gCupSelection) # $t6, 0x8019
|
||||
/* 0B5B30 800B4F30 81CEEE09 */ lb $t6, %lo(gCupSelection)($t6)
|
||||
/* 0B5B34 800B4F34 3C188019 */ lui $t8, %hi(gCourseSelection) # $t8, 0x8019
|
||||
/* 0B5B38 800B4F38 8318EE0B */ lb $t8, %lo(gCourseSelection)($t8)
|
||||
/* 0B5B3C 800B4F3C 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0B5B40 800B4F40 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0B5B44 800B4F44 01F81021 */ addu $v0, $t7, $t8
|
||||
/* 0B5B48 800B4F48 3C0D8019 */ lui $t5, %hi(D_8018EB90) # $t5, 0x8019
|
||||
/* 0B5B4C 800B4F4C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0B5B50 800B4F50 04410003 */ bgez $v0, .L800B4F60
|
||||
/* 0B5B54 800B4F54 0002C883 */ sra $t9, $v0, 2
|
||||
/* 0B5B58 800B4F58 24410003 */ addiu $at, $v0, 3
|
||||
/* 0B5B5C 800B4F5C 0001C883 */ sra $t9, $at, 2
|
||||
.L800B4F60:
|
||||
/* 0B5B60 800B4F60 00194080 */ sll $t0, $t9, 2
|
||||
/* 0B5B64 800B4F64 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0B5B68 800B4F68 00084140 */ sll $t0, $t0, 5
|
||||
/* 0B5B6C 800B4F6C 04410004 */ bgez $v0, .L800B4F80
|
||||
/* 0B5B70 800B4F70 30490003 */ andi $t1, $v0, 3
|
||||
/* 0B5B74 800B4F74 11200002 */ beqz $t1, .L800B4F80
|
||||
/* 0B5B78 800B4F78 00000000 */ nop
|
||||
/* 0B5B7C 800B4F7C 2529FFFC */ addiu $t1, $t1, -4
|
||||
.L800B4F80:
|
||||
/* 0B5B80 800B4F80 00095080 */ sll $t2, $t1, 2
|
||||
/* 0B5B84 800B4F84 01495023 */ subu $t2, $t2, $t1
|
||||
/* 0B5B88 800B4F88 000A50C0 */ sll $t2, $t2, 3
|
||||
/* 0B5B8C 800B4F8C 010A5821 */ addu $t3, $t0, $t2
|
||||
/* 0B5B90 800B4F90 256C000F */ addiu $t4, $t3, 0xf
|
||||
/* 0B5B94 800B4F94 25ADEB90 */ addiu $t5, %lo(D_8018EB90) # addiu $t5, $t5, -0x1470
|
||||
/* 0B5B98 800B4F98 0C02D37D */ jal func_800B4DF4
|
||||
/* 0B5B9C 800B4F9C 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 0B5BA0 800B4FA0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0B5BA4 800B4FA4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0B5BA8 800B4FA8 03E00008 */ jr $ra
|
||||
/* 0B5BAC 800B4FAC 00000000 */ nop
|
||||
@@ -1,31 +0,0 @@
|
||||
glabel func_800B4FB0
|
||||
/* 0B5BB0 800B4FB0 00802825 */ move $a1, $a0
|
||||
/* 0B5BB4 800B4FB4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0B5BB8 800B4FB8 3C0A8019 */ lui $t2, %hi(D_8018EB90) # $t2, 0x8019
|
||||
/* 0B5BBC 800B4FBC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0B5BC0 800B4FC0 04A10003 */ bgez $a1, .L800B4FD0
|
||||
/* 0B5BC4 800B4FC4 00057083 */ sra $t6, $a1, 2
|
||||
/* 0B5BC8 800B4FC8 24A10003 */ addiu $at, $a1, 3
|
||||
/* 0B5BCC 800B4FCC 00017083 */ sra $t6, $at, 2
|
||||
.L800B4FD0:
|
||||
/* 0B5BD0 800B4FD0 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0B5BD4 800B4FD4 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0B5BD8 800B4FD8 000F7940 */ sll $t7, $t7, 5
|
||||
/* 0B5BDC 800B4FDC 04A10004 */ bgez $a1, .L800B4FF0
|
||||
/* 0B5BE0 800B4FE0 30B80003 */ andi $t8, $a1, 3
|
||||
/* 0B5BE4 800B4FE4 13000002 */ beqz $t8, .L800B4FF0
|
||||
/* 0B5BE8 800B4FE8 00000000 */ nop
|
||||
/* 0B5BEC 800B4FEC 2718FFFC */ addiu $t8, $t8, -4
|
||||
.L800B4FF0:
|
||||
/* 0B5BF0 800B4FF0 0018C880 */ sll $t9, $t8, 2
|
||||
/* 0B5BF4 800B4FF4 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0B5BF8 800B4FF8 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 0B5BFC 800B4FFC 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 0B5C00 800B5000 2509000F */ addiu $t1, $t0, 0xf
|
||||
/* 0B5C04 800B5004 254AEB90 */ addiu $t2, %lo(D_8018EB90) # addiu $t2, $t2, -0x1470
|
||||
/* 0B5C08 800B5008 0C02D37D */ jal func_800B4DF4
|
||||
/* 0B5C0C 800B500C 012A2021 */ addu $a0, $t1, $t2
|
||||
/* 0B5C10 800B5010 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0B5C14 800B5014 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0B5C18 800B5018 03E00008 */ jr $ra
|
||||
/* 0B5C1C 800B501C 00000000 */ nop
|
||||
+150
-311
@@ -839,8 +839,7 @@ void func_80092C80(void) {
|
||||
D_8018ED91 = 1;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
#ifdef NON_MATCHING
|
||||
// Originally func_80092C90
|
||||
// Some kind of lookup function, seems to return an index to be used
|
||||
// to get a character's width in pixels
|
||||
@@ -1079,361 +1078,201 @@ extern s8 gTextColor;
|
||||
void set_text_color(s32 arg0) {
|
||||
gTextColor = arg0;
|
||||
}
|
||||
void func_80093324(s32, s32, s32, s32, f32, f32);
|
||||
|
||||
void func_80093324(s32, s32, char*, s32, f32, f32);
|
||||
UNUSED void func_800930E4(s32 arg0, s32 arg1, s32 *arg2) {
|
||||
set_text_color(TEXT_BLUE);
|
||||
func_80093324(arg0, arg1, arg2, 0, 1.0, 1.0);
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
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 ? gCharacterWidthMap;
|
||||
extern void *gDisplayListHead;
|
||||
void func_80099184(s32);
|
||||
s32 segmented_to_virtual(u32*);
|
||||
Gfx *func_8009BEF0(Gfx*, s32, f32, f32, s32, f32,f32);
|
||||
void print_text1(s32, s32, char*, s32, f32, f32, s32);
|
||||
void print_text2(s32, s32, char*, s32, f32, f32, s32);
|
||||
extern Gfx D_020077A8[];
|
||||
extern Gfx D_020077D8[];
|
||||
extern s32 D_800E7E84[];
|
||||
extern Gfx *gDisplayListHead;
|
||||
|
||||
void print_text0(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 arg6) {
|
||||
s32 *temp_s0;
|
||||
s32 temp_v0_2;
|
||||
void *temp_v0;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_4;
|
||||
s8 *phi_s1;
|
||||
s32 phi_s2;
|
||||
s8 *phi_s1_2;
|
||||
// "tracking" is a uniform spacing between all characters in a given word
|
||||
void print_text0(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale, s32 arg6) {
|
||||
s32 stringWidth = 0;
|
||||
s32 characterWidthIndex;
|
||||
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk0 = 0x6000000;
|
||||
temp_v0->unk4 = &D_020077A8;
|
||||
phi_s1 = arg2;
|
||||
phi_s2 = 0;
|
||||
if (*arg2 != 0) {
|
||||
loop_2:
|
||||
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 + *(&gCharacterWidthMap + (temp_v0_2 * 2)) + arg3;
|
||||
goto block_8;
|
||||
}
|
||||
if ((temp_v0_2 != -2) && (temp_v0_2 == -1)) {
|
||||
phi_s2 = phi_s2 + arg3 + 7;
|
||||
block_8:
|
||||
if (temp_v0_2 >= 0x30) {
|
||||
phi_s1_2 = phi_s1 + 2;
|
||||
gSPDisplayList(gDisplayListHead++, D_020077A8);
|
||||
if (*text != 0) {
|
||||
do{
|
||||
characterWidthIndex = get_ascii_char_width_index(text);
|
||||
if (characterWidthIndex >= 0) {
|
||||
func_80099184(segmented_to_virtual(D_800E7E84[characterWidthIndex]));
|
||||
gDisplayListHead = func_8009BEF0(gDisplayListHead, segmented_to_virtual(D_800E7E84[characterWidthIndex]), column + (stringWidth * x_scale), row, arg6, x_scale, y_scale);
|
||||
stringWidth += gCharacterWidthMap[characterWidthIndex] + tracking;
|
||||
}
|
||||
else if ((characterWidthIndex != -2) && (characterWidthIndex == -1)) {
|
||||
stringWidth += tracking + 7;
|
||||
}
|
||||
else{
|
||||
gSPDisplayList(gDisplayListHead++, D_020077D8);
|
||||
return;
|
||||
}
|
||||
if (characterWidthIndex >= 0x30) {
|
||||
text += 2;
|
||||
} else {
|
||||
phi_s1_2 = phi_s1 + 1;
|
||||
text += 1;
|
||||
}
|
||||
phi_s1 = phi_s1_2;
|
||||
if (*phi_s1_2 == 0) {
|
||||
goto block_12;
|
||||
}
|
||||
goto loop_2;
|
||||
}
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->unk0 = 0x6000000;
|
||||
temp_v0_3->unk4 = &D_020077D8;
|
||||
return;
|
||||
} while(*text != 0);
|
||||
}
|
||||
block_12:
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk0 = 0x6000000;
|
||||
temp_v0_4->unk4 = &D_020077D8;
|
||||
gSPDisplayList(gDisplayListHead++, D_020077D8);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/print_text0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void print_text0(s32, s32, s32, s32, f32, f32, s32); // extern
|
||||
|
||||
void func_80093324(s32 arg0, s32 arg1, s32 *arg2, s32 arg3, f32 arg4, f32 arg5) {
|
||||
print_text0(arg0, arg1, arg2, arg3, arg4, arg5, 1);
|
||||
void func_80093324(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text0(column, row, text, tracking, x_scale, y_scale, 1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093324.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? print_text0(f32, f32, s32); // extern
|
||||
|
||||
void func_80093358(f32 arg4, f32 arg5) {
|
||||
print_text0(arg4, arg5, 2);
|
||||
void func_80093358(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text0(column, row, text, tracking, x_scale, y_scale, 2);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093358.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
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 ? gCharacterWidthMap;
|
||||
extern void *gDisplayListHead;
|
||||
#ifdef NON_MATCHING
|
||||
// "tracking" is a uniform spacing between all characters in a given word
|
||||
void print_text1(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale, s32 arg6) {
|
||||
char *temp_string = text;
|
||||
s32 stringWidth = 0;
|
||||
s32 characterWidthIndex;
|
||||
|
||||
void print_text1(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 arg6) {
|
||||
s32 sp60;
|
||||
s32 *temp_s0;
|
||||
s32 temp_v0;
|
||||
s32 temp_v0_3;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
s8 *phi_s0;
|
||||
s8 *phi_s0_2;
|
||||
s8 *phi_s2;
|
||||
s32 phi_s3;
|
||||
s8 *phi_s2_2;
|
||||
s32 phi_s1;
|
||||
s32 phi_s1_2;
|
||||
s32 phi_s1_3;
|
||||
|
||||
phi_s0 = arg2;
|
||||
phi_s2 = arg2;
|
||||
phi_s3 = arg0;
|
||||
phi_s1 = 0;
|
||||
phi_s1_3 = 0;
|
||||
if (*arg2 != 0) {
|
||||
loop_2:
|
||||
temp_v0 = get_ascii_char_width_index(phi_s0);
|
||||
if (temp_v0 >= 0) {
|
||||
phi_s1_2 = phi_s1_3 + ((*(&gCharacterWidthMap + (temp_v0 * 2)) + arg3) * arg4);
|
||||
goto block_7;
|
||||
}
|
||||
if ((temp_v0 != -2) && (temp_v0 == -1)) {
|
||||
phi_s1_2 = phi_s1_3 + ((arg3 + 7) * arg4);
|
||||
block_7:
|
||||
phi_s1 = phi_s1_2;
|
||||
phi_s1_3 = phi_s1_2;
|
||||
if (temp_v0 >= 0x30) {
|
||||
phi_s0_2 = phi_s0 + 2;
|
||||
if (*temp_string != 0) {
|
||||
do{
|
||||
characterWidthIndex = get_ascii_char_width_index(temp_string);
|
||||
if (characterWidthIndex >= 0) {
|
||||
stringWidth += ((gCharacterWidthMap[characterWidthIndex] + tracking) * x_scale);
|
||||
}
|
||||
else if ((characterWidthIndex != -2) && (characterWidthIndex == -1)) {
|
||||
stringWidth += ((tracking + 7) * x_scale);
|
||||
}
|
||||
else{
|
||||
return;
|
||||
}
|
||||
if (characterWidthIndex >= 0x30) {
|
||||
temp_string += 2;
|
||||
} else {
|
||||
phi_s0_2 = phi_s0 + 1;
|
||||
temp_string += 1;
|
||||
}
|
||||
phi_s0 = phi_s0_2;
|
||||
if (*phi_s0_2 == 0) {
|
||||
goto block_11;
|
||||
}
|
||||
goto loop_2;
|
||||
}
|
||||
// Duplicate return node #33. Try simplifying control flow for better match
|
||||
return;
|
||||
} while(*temp_string != 0);
|
||||
}
|
||||
block_11:
|
||||
if (arg6 != 1) {
|
||||
if (arg6 != 2) {
|
||||
if (arg6 != 3) {
|
||||
if (arg6 != 4) {
|
||||
|
||||
} else {
|
||||
goto block_17;
|
||||
}
|
||||
switch(arg6) {
|
||||
case 1:
|
||||
case 3:
|
||||
column -= stringWidth;
|
||||
break;
|
||||
case 2:
|
||||
case 4:
|
||||
column -= stringWidth / 2;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (arg6 < 3){
|
||||
arg6 = 1;
|
||||
}
|
||||
else{
|
||||
arg6 = 2;
|
||||
}
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_020077A8);
|
||||
if (*text != 0) {
|
||||
do{
|
||||
characterWidthIndex = get_ascii_char_width_index(text);
|
||||
if (characterWidthIndex >= 0) {
|
||||
func_80099184(segmented_to_virtual(D_800E7E84[characterWidthIndex]));
|
||||
gDisplayListHead = func_8009BEF0(gDisplayListHead, segmented_to_virtual(D_800E7E84[characterWidthIndex]), column, row, arg6, x_scale, y_scale);
|
||||
column += (gCharacterWidthMap[characterWidthIndex] + tracking);
|
||||
column *= x_scale;
|
||||
}
|
||||
else if ((characterWidthIndex != -2) && (characterWidthIndex == -1)) {
|
||||
column += (tracking + 7);
|
||||
column *= x_scale;
|
||||
}
|
||||
else{
|
||||
gSPDisplayList(gDisplayListHead++, D_020077D8);
|
||||
return;
|
||||
}
|
||||
if (characterWidthIndex >= 0x30) {
|
||||
text += 2;
|
||||
} else {
|
||||
goto block_16;
|
||||
text += 1;
|
||||
}
|
||||
} else {
|
||||
block_17:
|
||||
phi_s3 = arg0 - (phi_s1 / 2);
|
||||
}
|
||||
} else {
|
||||
block_16:
|
||||
phi_s3 = arg0 - phi_s1;
|
||||
} while(*text != 0);
|
||||
}
|
||||
if (arg6 < 3) {
|
||||
sp60 = 1;
|
||||
} else {
|
||||
sp60 = 2;
|
||||
}
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->unk0 = 0x6000000;
|
||||
temp_v0_2->unk4 = &D_020077A8;
|
||||
if (*arg2 != 0) {
|
||||
loop_22:
|
||||
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 += (*(&gCharacterWidthMap + (temp_v0_3 * 2)) + arg3) * arg4;
|
||||
goto block_28;
|
||||
}
|
||||
if ((temp_v0_3 != -2) && (temp_v0_3 == -1)) {
|
||||
phi_s3 += (arg3 + 7) * arg4;
|
||||
block_28:
|
||||
if (temp_v0_3 >= 0x30) {
|
||||
phi_s2_2 = phi_s2 + 2;
|
||||
} else {
|
||||
phi_s2_2 = phi_s2 + 1;
|
||||
}
|
||||
phi_s2 = phi_s2_2;
|
||||
if (*phi_s2_2 == 0) {
|
||||
goto block_32;
|
||||
}
|
||||
goto loop_22;
|
||||
}
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk0 = 0x6000000;
|
||||
temp_v0_4->unk4 = &D_020077D8;
|
||||
return;
|
||||
}
|
||||
block_32:
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk0 = 0x6000000;
|
||||
temp_v0_5->unk4 = &D_020077D8;
|
||||
gSPDisplayList(gDisplayListHead++, D_020077D8);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/print_text1.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? print_text1(f32, f32, s32); // extern
|
||||
|
||||
void func_800936B8(f32 arg4, f32 arg5) {
|
||||
print_text1(arg4, arg5, 1);
|
||||
void func_800936B8(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text1(column, row, text, tracking, x_scale, y_scale, 1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800936B8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? print_text1(f32, f32, s32); // extern
|
||||
|
||||
void draw_text(f32 arg4, f32 arg5) {
|
||||
print_text1(arg4, arg5, 2);
|
||||
void draw_text(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text1(column, row, text, tracking, x_scale, y_scale, 2);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/draw_text.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? print_text1(f32, f32, s32); // extern
|
||||
|
||||
void func_80093754(f32 arg4, f32 arg5) {
|
||||
print_text1(arg4, arg5, 4);
|
||||
void func_80093720(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text1(column, row, text, tracking, x_scale, y_scale, 3);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80093754.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
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 ? gCharacterWidthMap;
|
||||
extern void *gDisplayListHead;
|
||||
void func_80093754(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text1(column, row, text, tracking, x_scale, y_scale, 4);
|
||||
}
|
||||
|
||||
void print_text2(s32 arg0, s32 arg1, s8 *arg2, s32 arg3, f32 arg4, f32 arg5, s32 arg6) {
|
||||
s32 temp_s2;
|
||||
s32 temp_v0_2;
|
||||
void print_text2(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale, s32 arg6) {
|
||||
s32 temp_v0_3;
|
||||
void *temp_v0;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_5;
|
||||
s8 *phi_s1;
|
||||
s32 phi_s3;
|
||||
s8 *phi_s1_2;
|
||||
s32 phi_v0;
|
||||
s32 characterWidth;
|
||||
s32 characterWidthIndex;
|
||||
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->unk0 = 0x6000000;
|
||||
temp_v0->unk4 = &D_020077A8;
|
||||
phi_s1 = arg2;
|
||||
phi_s3 = arg0;
|
||||
if (*arg2 != 0) {
|
||||
loop_2:
|
||||
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 - (*(&gCharacterWidthMap + (temp_v0_2 * 2)) / 2), arg1, arg6, arg4, arg5);
|
||||
if ((temp_v0_2 >= 0xD5) && (temp_v0_2 < 0xE0)) {
|
||||
phi_v0 = 0x20;
|
||||
gSPDisplayList(gDisplayListHead++, D_020077A8);
|
||||
if (*text != 0) {
|
||||
do {
|
||||
characterWidthIndex = get_ascii_char_width_index(text);
|
||||
if (characterWidthIndex >= 0) {
|
||||
temp_v0_3 = segmented_to_virtual(D_800E7E84[characterWidthIndex]);
|
||||
func_80099184(temp_v0_3);
|
||||
gDisplayListHead = func_8009BEF0(gDisplayListHead, temp_v0_3, column - (gCharacterWidthMap[characterWidthIndex] / 2), row, arg6, x_scale, y_scale);
|
||||
if ((characterWidthIndex >= 0xD5) && (characterWidthIndex < 0xE0)) {
|
||||
characterWidth = 0x20;
|
||||
} else {
|
||||
characterWidth = 0xC;
|
||||
}
|
||||
column = column + (s32)((characterWidth + tracking) * x_scale);
|
||||
}
|
||||
else if ((characterWidthIndex != -2) && (characterWidthIndex == -1)) {
|
||||
column = column + (s32)((tracking + 7) * x_scale);
|
||||
}
|
||||
else{
|
||||
gSPDisplayList(gDisplayListHead++, D_020077D8);
|
||||
return;
|
||||
}
|
||||
if (characterWidthIndex >= 0x30) {
|
||||
text += 2;
|
||||
} else {
|
||||
phi_v0 = 0xC;
|
||||
text += 1;
|
||||
}
|
||||
phi_s3 += (phi_v0 + arg3) * arg4;
|
||||
goto block_12;
|
||||
}
|
||||
if ((temp_v0_2 != -2) && (temp_v0_2 == -1)) {
|
||||
phi_s3 += (arg3 + 7) * arg4;
|
||||
block_12:
|
||||
if (temp_v0_2 >= 0x30) {
|
||||
phi_s1_2 = phi_s1 + 2;
|
||||
} else {
|
||||
phi_s1_2 = phi_s1 + 1;
|
||||
}
|
||||
phi_s1 = phi_s1_2;
|
||||
if (*phi_s1_2 == 0) {
|
||||
goto block_16;
|
||||
}
|
||||
goto loop_2;
|
||||
}
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->unk0 = 0x6000000;
|
||||
temp_v0_4->unk4 = &D_020077D8;
|
||||
return;
|
||||
} while(*text != 0);
|
||||
}
|
||||
block_16:
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->unk0 = 0x6000000;
|
||||
temp_v0_5->unk4 = &D_020077D8;
|
||||
|
||||
gSPDisplayList(gDisplayListHead++, D_020077D8);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/print_text2.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? print_text2(f32, f32, s32); // extern
|
||||
|
||||
void func_800939C8(f32 arg4, f32 arg5) {
|
||||
print_text2(arg4, arg5, 1);
|
||||
void func_800939C8(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text2(column, row, text, tracking, x_scale, y_scale, 1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800939C8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
? print_text2(f32, f32, s32); // extern
|
||||
|
||||
void text_draw(f32 arg4, f32 arg5) {
|
||||
print_text2(arg4, arg5, 2);
|
||||
void text_draw(s32 column, s32 row, char *text, s32 tracking, f32 x_scale, f32 y_scale) {
|
||||
print_text2(column, row, text, tracking, x_scale, y_scale, 2);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/text_draw.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
|
||||
+3
-24
@@ -3214,18 +3214,15 @@ void func_800B4DCC(void *arg0, u32 arg1, s32 arg2) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4DCC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
// Convert time trial record from its little-endian form to big-endian
|
||||
#ifdef NON_MATCHING
|
||||
//generated by mips_to_c commit 99fec197b8c557ea7cc0d78f1b263a0de6e59168
|
||||
s32 func_800B4DF4(u8 *arg0) {
|
||||
return (arg0[0] + (arg0[1] << 8) + (arg0[2] << 0x10)) & 0xFFFFFF;
|
||||
return ((arg0[1] << 8) + arg0[0] + (arg0[2] << 0x10)) & 0xFFFFFF;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4DF4.s")
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
// Get a time trial record, infer course index
|
||||
s32 func_800B4E24(s32 recordIndex) {
|
||||
return func_800B4DF4(
|
||||
@@ -3235,12 +3232,7 @@ s32 func_800B4E24(s32 recordIndex) {
|
||||
.records[recordIndex]
|
||||
);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4E24.s")
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
// Get a time trial record, but take the course index as an argument
|
||||
s32 func_800B4EB4(s32 recordIndex, s32 courseIndex) {
|
||||
return func_800B4DF4(
|
||||
@@ -3250,12 +3242,7 @@ s32 func_800B4EB4(s32 recordIndex, s32 courseIndex) {
|
||||
.records[recordIndex]
|
||||
);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4EB4.s")
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
// Get Best Lap record of the inferred course index
|
||||
s32 func_800B4F2C(void) {
|
||||
return func_800B4DF4(
|
||||
@@ -3265,12 +3252,7 @@ s32 func_800B4F2C(void) {
|
||||
.records[TIME_TRIAL_1LAP_RECORD]
|
||||
);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4F2C.s")
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
// Get the best single lap time record of the given course index
|
||||
s32 func_800B4FB0(s32 courseIndex) {
|
||||
return func_800B4DF4(
|
||||
@@ -3280,9 +3262,6 @@ s32 func_800B4FB0(s32 courseIndex) {
|
||||
.records[TIME_TRIAL_1LAP_RECORD]
|
||||
);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4FB0.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
|
||||
Reference in New Issue
Block a user