mirror of https://github.com/n64decomp/mk64.git
Turn D_802BFB80 into a union (#582)
* Turn D_802BFB80 into a union As much as I hate it, it does make more matches possible Got a few more, unrelated matches Signed-off-by: Taggerung <tyler.taggerung@email.com> * Update based on comment Signed-off-by: Taggerung <tyler.taggerung@email.com> * Update to address comment Signed-off-by: Taggerung <tyler.taggerung@email.com> --------- Signed-off-by: Taggerung <tyler.taggerung@email.com> Co-authored-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
parent
65f03934bb
commit
893ecbe838
|
@ -1,79 +0,0 @@
|
|||
glabel func_80099958
|
||||
/* 09A558 80099958 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 09A55C 8009995C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 09A560 80099960 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 09A564 80099964 00A08825 */ move $s1, $a1
|
||||
/* 09A568 80099968 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 09A56C 8009996C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 09A570 80099970 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09A574 80099974 AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* 09A578 80099978 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* 09A57C 8009997C 00408025 */ move $s0, $v0
|
||||
/* 09A580 80099980 8FAF0030 */ lw $t7, 0x30($sp)
|
||||
/* 09A584 80099984 11C00034 */ beqz $t6, .L80099A58
|
||||
/* 09A588 80099988 01C02025 */ move $a0, $t6
|
||||
/* 09A58C 8009998C 000FC400 */ sll $t8, $t7, 0x10
|
||||
/* 09A590 80099990 06210003 */ bgez $s1, .L800999A0
|
||||
/* 09A594 80099994 0011C843 */ sra $t9, $s1, 1
|
||||
/* 09A598 80099998 26210001 */ addiu $at, $s1, 1
|
||||
/* 09A59C 8009999C 0001C843 */ sra $t9, $at, 1
|
||||
.L800999A0:
|
||||
/* 09A5A0 800999A0 001943C0 */ sll $t0, $t9, 0xf
|
||||
/* 09A5A4 800999A4 03084821 */ addu $t1, $t8, $t0
|
||||
/* 09A5A8 800999A8 06210004 */ bgez $s1, .L800999BC
|
||||
/* 09A5AC 800999AC 322A0001 */ andi $t2, $s1, 1
|
||||
/* 09A5B0 800999B0 11400002 */ beqz $t2, .L800999BC
|
||||
/* 09A5B4 800999B4 00000000 */ nop
|
||||
/* 09A5B8 800999B8 254AFFFE */ addiu $t2, $t2, -2
|
||||
.L800999BC:
|
||||
/* 09A5BC 800999BC 000A5B40 */ sll $t3, $t2, 0xd
|
||||
/* 09A5C0 800999C0 012B6021 */ addu $t4, $t1, $t3
|
||||
/* 09A5C4 800999C4 3C0E802C */ lui $t6, %hi(D_802BFB80) # $t6, 0x802c
|
||||
/* 09A5C8 800999C8 25CEFB80 */ addiu $t6, %lo(D_802BFB80) # addiu $t6, $t6, -0x480
|
||||
/* 09A5CC 800999CC 258D4000 */ addiu $t5, $t4, 0x4000
|
||||
/* 09A5D0 800999D0 3C118019 */ lui $s1, %hi(D_8018D9B4) # $s1, 0x8019
|
||||
/* 09A5D4 800999D4 2631D9B4 */ addiu $s1, %lo(D_8018D9B4) # addiu $s1, $s1, -0x264c
|
||||
/* 09A5D8 800999D8 01AE9021 */ addu $s2, $t5, $t6
|
||||
/* 09A5DC 800999DC 96020010 */ lhu $v0, 0x10($s0)
|
||||
.L800999E0:
|
||||
/* 09A5E0 800999E0 24051400 */ li $a1, 5120
|
||||
/* 09A5E4 800999E4 10400003 */ beqz $v0, .L800999F4
|
||||
/* 09A5E8 800999E8 00000000 */ nop
|
||||
/* 09A5EC 800999EC 10000001 */ b .L800999F4
|
||||
/* 09A5F0 800999F0 3045FFFF */ andi $a1, $v0, 0xffff
|
||||
.L800999F4:
|
||||
/* 09A5F4 800999F4 00A01025 */ move $v0, $a1
|
||||
/* 09A5F8 800999F8 04410004 */ bgez $v0, .L80099A0C
|
||||
/* 09A5FC 800999FC 304F0007 */ andi $t7, $v0, 7
|
||||
/* 09A600 80099A00 11E00002 */ beqz $t7, .L80099A0C
|
||||
/* 09A604 80099A04 00000000 */ nop
|
||||
/* 09A608 80099A08 25EFFFF8 */ addiu $t7, $t7, -8
|
||||
.L80099A0C:
|
||||
/* 09A60C 80099A0C 11E00009 */ beqz $t7, .L80099A34
|
||||
/* 09A610 80099A10 00000000 */ nop
|
||||
/* 09A614 80099A14 04410003 */ bgez $v0, .L80099A24
|
||||
/* 09A618 80099A18 000228C3 */ sra $a1, $v0, 3
|
||||
/* 09A61C 80099A1C 24410007 */ addiu $at, $v0, 7
|
||||
/* 09A620 80099A20 000128C3 */ sra $a1, $at, 3
|
||||
.L80099A24:
|
||||
/* 09A624 80099A24 0005C8C0 */ sll $t9, $a1, 3
|
||||
/* 09A628 80099A28 27250008 */ addiu $a1, $t9, 8
|
||||
/* 09A62C 80099A2C 30B8FFFF */ andi $t8, $a1, 0xffff
|
||||
/* 09A630 80099A30 03002825 */ move $a1, $t8
|
||||
.L80099A34:
|
||||
/* 09A634 80099A34 0C026400 */ jal dma_copy_base_729a30
|
||||
/* 09A638 80099A38 8E260000 */ lw $a2, ($s1)
|
||||
/* 09A63C 80099A3C 8E240000 */ lw $a0, ($s1)
|
||||
/* 09A640 80099A40 0C010034 */ jal mio0decode
|
||||
/* 09A644 80099A44 02402825 */ move $a1, $s2
|
||||
/* 09A648 80099A48 8E040018 */ lw $a0, 0x18($s0)
|
||||
/* 09A64C 80099A4C 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 09A650 80099A50 5480FFE3 */ bnel $a0, $zero, .L800999E0
|
||||
/* 09A654 80099A54 96020010 */ lhu $v0, 0x10($s0)
|
||||
.L80099A58:
|
||||
/* 09A658 80099A58 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 09A65C 80099A5C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 09A660 80099A60 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 09A664 80099A64 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 09A668 80099A68 03E00008 */ jr $ra
|
||||
/* 09A66C 80099A6C 27BD0028 */ addiu $sp, $sp, 0x28
|
|
@ -242,77 +242,3 @@ glabel func_80099EC4
|
|||
/* 09AE2C 8009A22C 8FBE0048 */ lw $fp, 0x48($sp)
|
||||
/* 09AE30 8009A230 03E00008 */ jr $ra
|
||||
/* 09AE34 8009A234 27BD0090 */ addiu $sp, $sp, 0x90
|
||||
|
||||
/* 09AE38 8009A238 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 09AE3C 8009A23C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 09AE40 8009A240 8C980004 */ lw $t8, 4($a0)
|
||||
/* 09AE44 8009A244 3C0F8019 */ lui $t7, %hi(D_8018E118) # $t7, 0x8019
|
||||
/* 09AE48 8009A248 25EFE118 */ addiu $t7, %lo(D_8018E118) # addiu $t7, $t7, -0x1ee8
|
||||
/* 09AE4C 8009A24C AFB80024 */ sw $t8, 0x24($sp)
|
||||
/* 09AE50 8009A250 94870010 */ lhu $a3, 0x10($a0)
|
||||
/* 09AE54 8009A254 000570C0 */ sll $t6, $a1, 3
|
||||
/* 09AE58 8009A258 01CF1021 */ addu $v0, $t6, $t7
|
||||
/* 09AE5C 8009A25C 8C430004 */ lw $v1, 4($v0)
|
||||
/* 09AE60 8009A260 04E10004 */ bgez $a3, .L8009A274
|
||||
/* 09AE64 8009A264 30F90007 */ andi $t9, $a3, 7
|
||||
/* 09AE68 8009A268 13200002 */ beqz $t9, .L8009A274
|
||||
/* 09AE6C 8009A26C 00000000 */ nop
|
||||
/* 09AE70 8009A270 2739FFF8 */ addiu $t9, $t9, -8
|
||||
.L8009A274:
|
||||
/* 09AE74 8009A274 13200007 */ beqz $t9, .L8009A294
|
||||
/* 09AE78 8009A278 8FA40024 */ lw $a0, 0x24($sp)
|
||||
/* 09AE7C 8009A27C 04E10003 */ bgez $a3, .L8009A28C
|
||||
/* 09AE80 8009A280 000740C3 */ sra $t0, $a3, 3
|
||||
/* 09AE84 8009A284 24E10007 */ addiu $at, $a3, 7
|
||||
/* 09AE88 8009A288 000140C3 */ sra $t0, $at, 3
|
||||
.L8009A28C:
|
||||
/* 09AE8C 8009A28C 000848C0 */ sll $t1, $t0, 3
|
||||
/* 09AE90 8009A290 25270008 */ addiu $a3, $t1, 8
|
||||
.L8009A294:
|
||||
/* 09AE94 8009A294 3C068019 */ lui $a2, %hi(D_8018D9B4) # $a2, 0x8019
|
||||
/* 09AE98 8009A298 8CC6D9B4 */ lw $a2, %lo(D_8018D9B4)($a2)
|
||||
/* 09AE9C 8009A29C 00E02825 */ move $a1, $a3
|
||||
/* 09AEA0 8009A2A0 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 09AEA4 8009A2A4 0C026422 */ jal dma_copy_base_7fa3c0
|
||||
/* 09AEA8 8009A2A8 AFA30028 */ sw $v1, 0x28($sp)
|
||||
/* 09AEAC 8009A2AC 8FA30028 */ lw $v1, 0x28($sp)
|
||||
/* 09AEB0 8009A2B0 3C0B8019 */ lui $t3, %hi(D_8018D9B0) # $t3, 0x8019
|
||||
/* 09AEB4 8009A2B4 8D6BD9B0 */ lw $t3, %lo(D_8018D9B0)($t3)
|
||||
/* 09AEB8 8009A2B8 3C048019 */ lui $a0, %hi(D_8018D9B4) # $a0, 0x8019
|
||||
/* 09AEBC 8009A2BC 3C058019 */ lui $a1, %hi(D_8018D9B8) # $a1, 0x8019
|
||||
/* 09AEC0 8009A2C0 00035040 */ sll $t2, $v1, 1
|
||||
/* 09AEC4 8009A2C4 8CA5D9B8 */ lw $a1, %lo(D_8018D9B8)($a1)
|
||||
/* 09AEC8 8009A2C8 8C84D9B4 */ lw $a0, %lo(D_8018D9B4)($a0)
|
||||
/* 09AECC 8009A2CC 24070001 */ li $a3, 1
|
||||
/* 09AED0 8009A2D0 0C010174 */ jal tkmk00decode
|
||||
/* 09AED4 8009A2D4 014B3021 */ addu $a2, $t2, $t3
|
||||
/* 09AED8 8009A2D8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 09AEDC 8009A2DC 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 09AEE0 8009A2E0 8FAC0024 */ lw $t4, 0x24($sp)
|
||||
/* 09AEE4 8009A2E4 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* 09AEE8 8009A2E8 03E00008 */ jr $ra
|
||||
/* 09AEEC 8009A2EC AC4C0000 */ sw $t4, ($v0)
|
||||
|
||||
/* 09AEF0 8009A2F0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 09AEF4 8009A2F4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 09AEF8 8009A2F8 0C026455 */ jal segmented_to_virtual_dupe_2
|
||||
/* 09AEFC 8009A2FC AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 09AF00 8009A300 8C440000 */ lw $a0, ($v0)
|
||||
/* 09AF04 8009A304 00408025 */ move $s0, $v0
|
||||
/* 09AF08 8009A308 5080000A */ beql $a0, $zero, .L8009A334
|
||||
/* 09AF0C 8009A30C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8009A310:
|
||||
/* 09AF10 8009A310 50800008 */ beql $a0, $zero, .L8009A334
|
||||
/* 09AF14 8009A314 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 09AF18 8009A318 0C0265AF */ jal func_800996BC
|
||||
/* 09AF1C 8009A31C 00002825 */ move $a1, $zero
|
||||
/* 09AF20 8009A320 8E040008 */ lw $a0, 8($s0)
|
||||
/* 09AF24 8009A324 26100008 */ addiu $s0, $s0, 8
|
||||
/* 09AF28 8009A328 1480FFF9 */ bnez $a0, .L8009A310
|
||||
/* 09AF2C 8009A32C 00000000 */ nop
|
||||
/* 09AF30 8009A330 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L8009A334:
|
||||
/* 09AF34 8009A334 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 09AF38 8009A338 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 09AF3C 8009A33C 03E00008 */ jr $ra
|
||||
/* 09AF40 8009A340 00000000 */ nop
|
||||
|
|
|
@ -1,143 +0,0 @@
|
|||
glabel func_8009C708
|
||||
/* 09D308 8009C708 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* 09D30C 8009C70C AFBF005C */ sw $ra, 0x5c($sp)
|
||||
/* 09D310 8009C710 AFBE0058 */ sw $fp, 0x58($sp)
|
||||
/* 09D314 8009C714 AFB70054 */ sw $s7, 0x54($sp)
|
||||
/* 09D318 8009C718 AFB60050 */ sw $s6, 0x50($sp)
|
||||
/* 09D31C 8009C71C AFB5004C */ sw $s5, 0x4c($sp)
|
||||
/* 09D320 8009C720 AFB40048 */ sw $s4, 0x48($sp)
|
||||
/* 09D324 8009C724 AFB30044 */ sw $s3, 0x44($sp)
|
||||
/* 09D328 8009C728 AFB20040 */ sw $s2, 0x40($sp)
|
||||
/* 09D32C 8009C72C AFB1003C */ sw $s1, 0x3c($sp)
|
||||
/* 09D330 8009C730 AFB00038 */ sw $s0, 0x38($sp)
|
||||
/* 09D334 8009C734 AFA60068 */ sw $a2, 0x68($sp)
|
||||
/* 09D338 8009C738 AFA7006C */ sw $a3, 0x6c($sp)
|
||||
/* 09D33C 8009C73C 8CAF0004 */ lw $t7, 4($a1)
|
||||
/* 09D340 8009C740 8CAE0000 */ lw $t6, ($a1)
|
||||
/* 09D344 8009C744 00808025 */ move $s0, $a0
|
||||
/* 09D348 8009C748 000FC0C0 */ sll $t8, $t7, 3
|
||||
/* 09D34C 8009C74C 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* 09D350 8009C750 8F240000 */ lw $a0, ($t9)
|
||||
/* 09D354 8009C754 0C026449 */ jal segmented_to_virtual_dupe
|
||||
/* 09D358 8009C758 AFA50064 */ sw $a1, 0x64($sp)
|
||||
/* 09D35C 8009C75C 8C490004 */ lw $t1, 4($v0)
|
||||
/* 09D360 8009C760 00408825 */ move $s1, $v0
|
||||
/* 09D364 8009C764 241E0003 */ li $fp, 3
|
||||
/* 09D368 8009C768 1120005E */ beqz $t1, .L8009C8E4
|
||||
/* 09D36C 8009C76C 24170002 */ li $s7, 2
|
||||
/* 09D370 8009C770 3C150200 */ lui $s5, %hi(D_02007728) # $s5, 0x200
|
||||
/* 09D374 8009C774 26B57728 */ addiu $s5, %lo(D_02007728) # addiu $s5, $s5, 0x7728
|
||||
/* 09D378 8009C778 24160001 */ li $s6, 1
|
||||
/* 09D37C 8009C77C 8FB40070 */ lw $s4, 0x70($sp)
|
||||
/* 09D380 8009C780 8FB30074 */ lw $s3, 0x74($sp)
|
||||
/* 09D384 8009C784 3C120600 */ lui $s2, 0x600
|
||||
/* 09D388 8009C788 86220000 */ lh $v0, ($s1)
|
||||
.L8009C78C:
|
||||
/* 09D38C 8009C78C 3C0A0200 */ lui $t2, %hi(D_02007708) # $t2, 0x200
|
||||
/* 09D390 8009C790 00004025 */ move $t0, $zero
|
||||
/* 09D394 8009C794 1040000C */ beqz $v0, .L8009C7C8
|
||||
/* 09D398 8009C798 254A7708 */ addiu $t2, %lo(D_02007708) # addiu $t2, $t2, 0x7708
|
||||
/* 09D39C 8009C79C 50560010 */ beql $v0, $s6, .L8009C7E0
|
||||
/* 09D3A0 8009C7A0 02001025 */ move $v0, $s0
|
||||
/* 09D3A4 8009C7A4 10570012 */ beq $v0, $s7, .L8009C7F0
|
||||
/* 09D3A8 8009C7A8 3C0B0200 */ lui $t3, %hi(D_02007748) # $t3, 0x200
|
||||
/* 09D3AC 8009C7AC 105E0016 */ beq $v0, $fp, .L8009C808
|
||||
/* 09D3B0 8009C7B0 3C0C0200 */ lui $t4, %hi(D_02007768) # $t4, 0x200
|
||||
/* 09D3B4 8009C7B4 02001025 */ move $v0, $s0
|
||||
/* 09D3B8 8009C7B8 AC520000 */ sw $s2, ($v0)
|
||||
/* 09D3BC 8009C7BC AC550004 */ sw $s5, 4($v0)
|
||||
/* 09D3C0 8009C7C0 10000017 */ b .L8009C820
|
||||
/* 09D3C4 8009C7C4 26100008 */ addiu $s0, $s0, 8
|
||||
.L8009C7C8:
|
||||
/* 09D3C8 8009C7C8 02001025 */ move $v0, $s0
|
||||
/* 09D3CC 8009C7CC AC520000 */ sw $s2, ($v0)
|
||||
/* 09D3D0 8009C7D0 AC4A0004 */ sw $t2, 4($v0)
|
||||
/* 09D3D4 8009C7D4 10000012 */ b .L8009C820
|
||||
/* 09D3D8 8009C7D8 26100008 */ addiu $s0, $s0, 8
|
||||
/* 09D3DC 8009C7DC 02001025 */ move $v0, $s0
|
||||
.L8009C7E0:
|
||||
/* 09D3E0 8009C7E0 AC520000 */ sw $s2, ($v0)
|
||||
/* 09D3E4 8009C7E4 AC550004 */ sw $s5, 4($v0)
|
||||
/* 09D3E8 8009C7E8 1000000D */ b .L8009C820
|
||||
/* 09D3EC 8009C7EC 26100008 */ addiu $s0, $s0, 8
|
||||
.L8009C7F0:
|
||||
/* 09D3F0 8009C7F0 02001025 */ move $v0, $s0
|
||||
/* 09D3F4 8009C7F4 256B7748 */ addiu $t3, %lo(D_02007748) # addiu $t3, $t3, 0x7748
|
||||
/* 09D3F8 8009C7F8 AC4B0004 */ sw $t3, 4($v0)
|
||||
/* 09D3FC 8009C7FC AC520000 */ sw $s2, ($v0)
|
||||
/* 09D400 8009C800 10000007 */ b .L8009C820
|
||||
/* 09D404 8009C804 26100008 */ addiu $s0, $s0, 8
|
||||
.L8009C808:
|
||||
/* 09D408 8009C808 02001025 */ move $v0, $s0
|
||||
/* 09D40C 8009C80C 258C7768 */ addiu $t4, %lo(D_02007768) # addiu $t4, $t4, 0x7768
|
||||
/* 09D410 8009C810 AC4C0004 */ sw $t4, 4($v0)
|
||||
/* 09D414 8009C814 AC520000 */ sw $s2, ($v0)
|
||||
/* 09D418 8009C818 26100008 */ addiu $s0, $s0, 8
|
||||
/* 09D41C 8009C81C 03C04025 */ move $t0, $fp
|
||||
.L8009C820:
|
||||
/* 09D420 8009C820 0660002C */ bltz $s3, .L8009C8D4
|
||||
/* 09D424 8009C824 02002025 */ move $a0, $s0
|
||||
/* 09D428 8009C828 96220008 */ lhu $v0, 8($s1)
|
||||
/* 09D42C 8009C82C 8FAE0068 */ lw $t6, 0x68($sp)
|
||||
/* 09D430 8009C830 8FA9006C */ lw $t1, 0x6c($sp)
|
||||
/* 09D434 8009C834 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* 09D438 8009C838 9623000A */ lhu $v1, 0xa($s1)
|
||||
/* 09D43C 8009C83C 8FAB0064 */ lw $t3, 0x64($sp)
|
||||
/* 09D440 8009C840 00082E00 */ sll $a1, $t0, 0x18
|
||||
/* 09D444 8009C844 AFA30014 */ sw $v1, 0x14($sp)
|
||||
/* 09D448 8009C848 962F000C */ lhu $t7, 0xc($s1)
|
||||
/* 09D44C 8009C84C 00056E03 */ sra $t5, $a1, 0x18
|
||||
/* 09D450 8009C850 01A02825 */ move $a1, $t5
|
||||
/* 09D454 8009C854 01EEC021 */ addu $t8, $t7, $t6
|
||||
/* 09D458 8009C858 AFB80018 */ sw $t8, 0x18($sp)
|
||||
/* 09D45C 8009C85C 9639000E */ lhu $t9, 0xe($s1)
|
||||
/* 09D460 8009C860 00003025 */ move $a2, $zero
|
||||
/* 09D464 8009C864 00003825 */ move $a3, $zero
|
||||
/* 09D468 8009C868 03295021 */ addu $t2, $t9, $t1
|
||||
/* 09D46C 8009C86C AFAA001C */ sw $t2, 0x1c($sp)
|
||||
/* 09D470 8009C870 8D6C0014 */ lw $t4, 0x14($t3)
|
||||
/* 09D474 8009C874 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* 09D478 8009C878 AFA20024 */ sw $v0, 0x24($sp)
|
||||
/* 09D47C 8009C87C 000C6C00 */ sll $t5, $t4, 0x10
|
||||
/* 09D480 8009C880 06810003 */ bgez $s4, .L8009C890
|
||||
/* 09D484 8009C884 00147843 */ sra $t7, $s4, 1
|
||||
/* 09D488 8009C888 26810001 */ addiu $at, $s4, 1
|
||||
/* 09D48C 8009C88C 00017843 */ sra $t7, $at, 1
|
||||
.L8009C890:
|
||||
/* 09D490 8009C890 000F73C0 */ sll $t6, $t7, 0xf
|
||||
/* 09D494 8009C894 01AEC021 */ addu $t8, $t5, $t6
|
||||
/* 09D498 8009C898 06810004 */ bgez $s4, .L8009C8AC
|
||||
/* 09D49C 8009C89C 32990001 */ andi $t9, $s4, 1
|
||||
/* 09D4A0 8009C8A0 13200002 */ beqz $t9, .L8009C8AC
|
||||
/* 09D4A4 8009C8A4 00000000 */ nop
|
||||
/* 09D4A8 8009C8A8 2739FFFE */ addiu $t9, $t9, -2
|
||||
.L8009C8AC:
|
||||
/* 09D4AC 8009C8AC 00194B40 */ sll $t1, $t9, 0xd
|
||||
/* 09D4B0 8009C8B0 03095021 */ addu $t2, $t8, $t1
|
||||
/* 09D4B4 8009C8B4 3C0C802C */ lui $t4, %hi(D_802BFB80) # $t4, 0x802c
|
||||
/* 09D4B8 8009C8B8 258CFB80 */ addiu $t4, %lo(D_802BFB80) # addiu $t4, $t4, -0x480
|
||||
/* 09D4BC 8009C8BC 254B4000 */ addiu $t3, $t2, 0x4000
|
||||
/* 09D4C0 8009C8C0 016C7821 */ addu $t7, $t3, $t4
|
||||
/* 09D4C4 8009C8C4 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
/* 09D4C8 8009C8C8 0C025F96 */ jal func_80097E58
|
||||
/* 09D4CC 8009C8CC AFA30028 */ sw $v1, 0x28($sp)
|
||||
/* 09D4D0 8009C8D0 00408025 */ move $s0, $v0
|
||||
.L8009C8D4:
|
||||
/* 09D4D4 8009C8D4 8E2D0018 */ lw $t5, 0x18($s1)
|
||||
/* 09D4D8 8009C8D8 26310014 */ addiu $s1, $s1, 0x14
|
||||
/* 09D4DC 8009C8DC 55A0FFAB */ bnel $t5, $zero, .L8009C78C
|
||||
/* 09D4E0 8009C8E0 86220000 */ lh $v0, ($s1)
|
||||
.L8009C8E4:
|
||||
/* 09D4E4 8009C8E4 8FBF005C */ lw $ra, 0x5c($sp)
|
||||
/* 09D4E8 8009C8E8 02001025 */ move $v0, $s0
|
||||
/* 09D4EC 8009C8EC 8FB00038 */ lw $s0, 0x38($sp)
|
||||
/* 09D4F0 8009C8F0 8FB1003C */ lw $s1, 0x3c($sp)
|
||||
/* 09D4F4 8009C8F4 8FB20040 */ lw $s2, 0x40($sp)
|
||||
/* 09D4F8 8009C8F8 8FB30044 */ lw $s3, 0x44($sp)
|
||||
/* 09D4FC 8009C8FC 8FB40048 */ lw $s4, 0x48($sp)
|
||||
/* 09D500 8009C900 8FB5004C */ lw $s5, 0x4c($sp)
|
||||
/* 09D504 8009C904 8FB60050 */ lw $s6, 0x50($sp)
|
||||
/* 09D508 8009C908 8FB70054 */ lw $s7, 0x54($sp)
|
||||
/* 09D50C 8009C90C 8FBE0058 */ lw $fp, 0x58($sp)
|
||||
/* 09D510 8009C910 03E00008 */ jr $ra
|
||||
/* 09D514 8009C914 27BD0060 */ addiu $sp, $sp, 0x60
|
|
@ -1,172 +0,0 @@
|
|||
glabel func_800A0B80
|
||||
/* 0A1780 800A0B80 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0A1784 800A0B84 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
||||
/* 0A1788 800A0B88 8C630298 */ lw $v1, %lo(gDisplayListHead)($v1)
|
||||
/* 0A178C 800A0B8C AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 0A1790 800A0B90 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 0A1794 800A0B94 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 0A1798 800A0B98 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 0A179C 800A0B9C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0A17A0 800A0BA0 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015
|
||||
/* 0A17A4 800A0BA4 246E0008 */ addiu $t6, $v1, 8
|
||||
/* 0A17A8 800A0BA8 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 0A17AC 800A0BAC AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0A17B0 800A0BB0 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0A17B4 800A0BB4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0A17B8 800A0BB8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0A17BC 800A0BBC AC2E0298 */ sw $t6, %lo(gDisplayListHead)($at)
|
||||
/* 0A17C0 800A0BC0 3C0FFA00 */ lui $t7, 0xfa00
|
||||
/* 0A17C4 800A0BC4 241832FF */ li $t8, 13055
|
||||
/* 0A17C8 800A0BC8 3C16800F */ lui $s6, %hi(D_800E86C4) # $s6, 0x800f
|
||||
/* 0A17CC 800A0BCC 0080B825 */ move $s7, $a0
|
||||
/* 0A17D0 800A0BD0 26D686C4 */ addiu $s6, %lo(D_800E86C4) # addiu $s6, $s6, -0x793c
|
||||
/* 0A17D4 800A0BD4 2413000A */ li $s3, 10
|
||||
/* 0A17D8 800A0BD8 0000A825 */ move $s5, $zero
|
||||
/* 0A17DC 800A0BDC 241E0009 */ li $fp, 9
|
||||
/* 0A17E0 800A0BE0 AC780004 */ sw $t8, 4($v1)
|
||||
/* 0A17E4 800A0BE4 AC6F0000 */ sw $t7, ($v1)
|
||||
.L800A0BE8:
|
||||
/* 0A17E8 800A0BE8 82C20000 */ lb $v0, ($s6)
|
||||
/* 0A17EC 800A0BEC 00158880 */ sll $s1, $s5, 2
|
||||
/* 0A17F0 800A0BF0 02358821 */ addu $s1, $s1, $s5
|
||||
/* 0A17F4 800A0BF4 10400068 */ beqz $v0, .L800A0D98
|
||||
/* 0A17F8 800A0BF8 00408025 */ move $s0, $v0
|
||||
/* 0A17FC 800A0BFC 8EF90010 */ lw $t9, 0x10($s7)
|
||||
/* 0A1800 800A0C00 00118840 */ sll $s1, $s1, 1
|
||||
/* 0A1804 800A0C04 2841000A */ slti $at, $v0, 0xa
|
||||
/* 0A1808 800A0C08 03313021 */ addu $a2, $t9, $s1
|
||||
/* 0A180C 800A0C0C 10200008 */ beqz $at, .L800A0C30
|
||||
/* 0A1810 800A0C10 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 0A1814 800A0C14 26040010 */ addiu $a0, $s0, 0x10
|
||||
/* 0A1818 800A0C18 308800FF */ andi $t0, $a0, 0xff
|
||||
/* 0A181C 800A0C1C 01002025 */ move $a0, $t0
|
||||
/* 0A1820 800A0C20 0C028236 */ jal func_800A08D8
|
||||
/* 0A1824 800A0C24 24050032 */ li $a1, 50
|
||||
/* 0A1828 800A0C28 10000018 */ b .L800A0C8C
|
||||
/* 0A182C 800A0C2C 82C20000 */ lb $v0, ($s6)
|
||||
.L800A0C30:
|
||||
/* 0A1830 800A0C30 0213001A */ div $zero, $s0, $s3
|
||||
/* 0A1834 800A0C34 16600002 */ bnez $s3, .L800A0C40
|
||||
/* 0A1838 800A0C38 00000000 */ nop
|
||||
/* 0A183C 800A0C3C 0007000D */ break 7
|
||||
.L800A0C40:
|
||||
/* 0A1840 800A0C40 2401FFFF */ li $at, -1
|
||||
/* 0A1844 800A0C44 16610004 */ bne $s3, $at, .L800A0C58
|
||||
/* 0A1848 800A0C48 3C018000 */ lui $at, 0x8000
|
||||
/* 0A184C 800A0C4C 16010002 */ bne $s0, $at, .L800A0C58
|
||||
/* 0A1850 800A0C50 00000000 */ nop
|
||||
/* 0A1854 800A0C54 0006000D */ break 6
|
||||
.L800A0C58:
|
||||
/* 0A1858 800A0C58 00008010 */ mfhi $s0
|
||||
/* 0A185C 800A0C5C 26040010 */ addiu $a0, $s0, 0x10
|
||||
/* 0A1860 800A0C60 308900FF */ andi $t1, $a0, 0xff
|
||||
/* 0A1864 800A0C64 01202025 */ move $a0, $t1
|
||||
/* 0A1868 800A0C68 0C028236 */ jal func_800A08D8
|
||||
/* 0A186C 800A0C6C 24050035 */ li $a1, 53
|
||||
/* 0A1870 800A0C70 8EEA0010 */ lw $t2, 0x10($s7)
|
||||
/* 0A1874 800A0C74 24040011 */ li $a0, 17
|
||||
/* 0A1878 800A0C78 2405002F */ li $a1, 47
|
||||
/* 0A187C 800A0C7C 01513021 */ addu $a2, $t2, $s1
|
||||
/* 0A1880 800A0C80 0C028236 */ jal func_800A08D8
|
||||
/* 0A1884 800A0C84 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 0A1888 800A0C88 82C20000 */ lb $v0, ($s6)
|
||||
.L800A0C8C:
|
||||
/* 0A188C 800A0C8C 3C0D8019 */ lui $t5, %hi(pfsState+0x1FC) # 0x8019
|
||||
/* 0A1890 800A0C90 8EEB0010 */ lw $t3, 0x10($s7)
|
||||
/* 0A1894 800A0C94 00026080 */ sll $t4, $v0, 2
|
||||
/* 0A1898 800A0C98 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* 0A189C 800A0C9C 8DADEB34 */ lw $t5, %lo(pfsState+0x1FC)($t5) # -0x14cc($t5)
|
||||
/* 0A18A0 800A0CA0 01719021 */ addu $s2, $t3, $s1
|
||||
/* 0A18A4 800A0CA4 26520001 */ addiu $s2, $s2, 1
|
||||
/* 0A18A8 800A0CA8 15A0003B */ bnez $t5, .L800A0D98
|
||||
/* 0A18AC 800A0CAC 2406004F */ li $a2, 79
|
||||
/* 0A18B0 800A0CB0 00027140 */ sll $t6, $v0, 5
|
||||
/* 0A18B4 800A0CB4 3C188019 */ lui $t8, %hi(pfsState) # $t8, 0x8019
|
||||
/* 0A18B8 800A0CB8 2718E938 */ addiu $t8, %lo(pfsState) # addiu $t8, $t8, -0x16c8
|
||||
/* 0A18BC 800A0CBC 25CFFFE0 */ addiu $t7, $t6, -0x20
|
||||
/* 0A18C0 800A0CC0 01F8A021 */ addu $s4, $t7, $t8
|
||||
/* 0A18C4 800A0CC4 2684000E */ addiu $a0, $s4, 0xe
|
||||
/* 0A18C8 800A0CC8 24050010 */ li $a1, 16
|
||||
/* 0A18CC 800A0CCC 0C028257 */ jal func_800A095C
|
||||
/* 0A18D0 800A0CD0 02403825 */ move $a3, $s2
|
||||
/* 0A18D4 800A0CD4 8299000A */ lb $t9, 0xa($s4)
|
||||
/* 0A18D8 800A0CD8 00408025 */ move $s0, $v0
|
||||
/* 0A18DC 800A0CDC 001088C0 */ sll $s1, $s0, 3
|
||||
/* 0A18E0 800A0CE0 5320000A */ beql $t9, $zero, .L800A0D0C
|
||||
/* 0A18E4 800A0CE4 8E900000 */ lw $s0, ($s4)
|
||||
/* 0A18E8 800A0CE8 2404003C */ li $a0, 60
|
||||
/* 0A18EC 800A0CEC 2625004F */ addiu $a1, $s1, 0x4f
|
||||
/* 0A18F0 800A0CF0 0C028236 */ jal func_800A08D8
|
||||
/* 0A18F4 800A0CF4 02403025 */ move $a2, $s2
|
||||
/* 0A18F8 800A0CF8 9284000A */ lbu $a0, 0xa($s4)
|
||||
/* 0A18FC 800A0CFC 26250057 */ addiu $a1, $s1, 0x57
|
||||
/* 0A1900 800A0D00 0C028236 */ jal func_800A08D8
|
||||
/* 0A1904 800A0D04 02403025 */ move $a2, $s2
|
||||
/* 0A1908 800A0D08 8E900000 */ lw $s0, ($s4)
|
||||
.L800A0D0C:
|
||||
/* 0A190C 800A0D0C 24110010 */ li $s1, 16
|
||||
/* 0A1910 800A0D10 261000FF */ addiu $s0, $s0, 0xff
|
||||
/* 0A1914 800A0D14 00104202 */ srl $t0, $s0, 8
|
||||
/* 0A1918 800A0D18 01008025 */ move $s0, $t0
|
||||
.L800A0D1C:
|
||||
/* 0A191C 800A0D1C 0213001A */ div $zero, $s0, $s3
|
||||
/* 0A1920 800A0D20 00002010 */ mfhi $a0
|
||||
/* 0A1924 800A0D24 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* 0A1928 800A0D28 308900FF */ andi $t1, $a0, 0xff
|
||||
/* 0A192C 800A0D2C 16600002 */ bnez $s3, .L800A0D38
|
||||
/* 0A1930 800A0D30 00000000 */ nop
|
||||
/* 0A1934 800A0D34 0007000D */ break 7
|
||||
.L800A0D38:
|
||||
/* 0A1938 800A0D38 2401FFFF */ li $at, -1
|
||||
/* 0A193C 800A0D3C 16610004 */ bne $s3, $at, .L800A0D50
|
||||
/* 0A1940 800A0D40 3C018000 */ lui $at, 0x8000
|
||||
/* 0A1944 800A0D44 16010002 */ bne $s0, $at, .L800A0D50
|
||||
/* 0A1948 800A0D48 00000000 */ nop
|
||||
/* 0A194C 800A0D4C 0006000D */ break 6
|
||||
.L800A0D50:
|
||||
/* 0A1950 800A0D50 01202025 */ move $a0, $t1
|
||||
/* 0A1954 800A0D54 262500FD */ addiu $a1, $s1, 0xfd
|
||||
/* 0A1958 800A0D58 0C028236 */ jal func_800A08D8
|
||||
/* 0A195C 800A0D5C 02403025 */ move $a2, $s2
|
||||
/* 0A1960 800A0D60 0213001A */ div $zero, $s0, $s3
|
||||
/* 0A1964 800A0D64 16600002 */ bnez $s3, .L800A0D70
|
||||
/* 0A1968 800A0D68 00000000 */ nop
|
||||
/* 0A196C 800A0D6C 0007000D */ break 7
|
||||
.L800A0D70:
|
||||
/* 0A1970 800A0D70 2401FFFF */ li $at, -1
|
||||
/* 0A1974 800A0D74 16610004 */ bne $s3, $at, .L800A0D88
|
||||
/* 0A1978 800A0D78 3C018000 */ lui $at, 0x8000
|
||||
/* 0A197C 800A0D7C 16010002 */ bne $s0, $at, .L800A0D88
|
||||
/* 0A1980 800A0D80 00000000 */ nop
|
||||
/* 0A1984 800A0D84 0006000D */ break 6
|
||||
.L800A0D88:
|
||||
/* 0A1988 800A0D88 00008012 */ mflo $s0
|
||||
/* 0A198C 800A0D8C 2631FFF8 */ addiu $s1, $s1, -8
|
||||
/* 0A1990 800A0D90 1600FFE2 */ bnez $s0, .L800A0D1C
|
||||
/* 0A1994 800A0D94 00000000 */ nop
|
||||
.L800A0D98:
|
||||
/* 0A1998 800A0D98 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 0A199C 800A0D9C 16BEFF92 */ bne $s5, $fp, .L800A0BE8
|
||||
/* 0A19A0 800A0DA0 26D60001 */ addiu $s6, $s6, 1
|
||||
/* 0A19A4 800A0DA4 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
||||
/* 0A19A8 800A0DA8 8C630298 */ lw $v1, %lo(gDisplayListHead)($v1)
|
||||
/* 0A19AC 800A0DAC 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015
|
||||
/* 0A19B0 800A0DB0 3C0C004F */ lui $t4, (0x004FC3BC >> 16) # lui $t4, 0x4f
|
||||
/* 0A19B4 800A0DB4 246A0008 */ addiu $t2, $v1, 8
|
||||
/* 0A19B8 800A0DB8 AC2A0298 */ sw $t2, %lo(gDisplayListHead)($at)
|
||||
/* 0A19BC 800A0DBC 358CC3BC */ ori $t4, (0x004FC3BC & 0xFFFF) # ori $t4, $t4, 0xc3bc
|
||||
/* 0A19C0 800A0DC0 3C0BED00 */ lui $t3, 0xed00
|
||||
/* 0A19C4 800A0DC4 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 0A19C8 800A0DC8 AC6C0004 */ sw $t4, 4($v1)
|
||||
/* 0A19CC 800A0DCC 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 0A19D0 800A0DD0 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 0A19D4 800A0DD4 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 0A19D8 800A0DD8 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 0A19DC 800A0DDC 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 0A19E0 800A0DE0 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 0A19E4 800A0DE4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 0A19E8 800A0DE8 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 0A19EC 800A0DEC 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 0A19F0 800A0DF0 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0A19F4 800A0DF4 03E00008 */ jr $ra
|
||||
/* 0A19F8 800A0DF8 27BD0040 */ addiu $sp, $sp, 0x40
|
|
@ -1,154 +0,0 @@
|
|||
glabel func_800A54EC
|
||||
/* 0A60EC 800A54EC 3C0B800E */ lui $t3, %hi(gIsGamePaused) # $t3, 0x800e
|
||||
/* 0A60F0 800A54F0 256BC5FC */ addiu $t3, %lo(gIsGamePaused) # addiu $t3, $t3, -0x3a04
|
||||
/* 0A60F4 800A54F4 956E0000 */ lhu $t6, ($t3)
|
||||
/* 0A60F8 800A54F8 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* 0A60FC 800A54FC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 0A6100 800A5500 11C00089 */ beqz $t6, .L800A5728
|
||||
/* 0A6104 800A5504 3C0A800E */ lui $t2, %hi(gModeSelection) # $t2, 0x800e
|
||||
/* 0A6108 800A5508 8D4AC53C */ lw $t2, %lo(gModeSelection)($t2)
|
||||
/* 0A610C 800A550C 240400C7 */ li $a0, 199
|
||||
/* 0A6110 800A5510 0C02ABCC */ jal find_8018D9E0_entry
|
||||
/* 0A6114 800A5514 AFAA0040 */ sw $t2, 0x40($sp)
|
||||
/* 0A6118 800A5518 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015
|
||||
/* 0A611C 800A551C 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298
|
||||
/* 0A6120 800A5520 8D030000 */ lw $v1, ($t0)
|
||||
/* 0A6124 800A5524 3C19802C */ lui $t9, %hi(D_802B8880) # $t9, 0x802c
|
||||
/* 0A6128 800A5528 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
|
||||
/* 0A612C 800A552C 246F0008 */ addiu $t7, $v1, 8
|
||||
/* 0A6130 800A5530 8FAA0040 */ lw $t2, 0x40($sp)
|
||||
/* 0A6134 800A5534 AFA20048 */ sw $v0, 0x48($sp)
|
||||
/* 0A6138 800A5538 AD0F0000 */ sw $t7, ($t0)
|
||||
/* 0A613C 800A553C 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 0A6140 800A5540 27398880 */ addiu $t9, %lo(D_802B8880) # addiu $t9, $t9, -0x7780
|
||||
/* 0A6144 800A5544 3C180380 */ lui $t8, (0x03800010 >> 16) # lui $t8, 0x380
|
||||
/* 0A6148 800A5548 3C098016 */ lui $t1, %hi(gMatrixEffectCount) # $t1, 0x8016
|
||||
/* 0A614C 800A554C 37180010 */ ori $t8, (0x03800010 & 0xFFFF) # ori $t8, $t8, 0x10
|
||||
/* 0A6150 800A5550 03216024 */ and $t4, $t9, $at
|
||||
/* 0A6154 800A5554 25294AF0 */ addiu $t1, %lo(gMatrixEffectCount) # addiu $t1, $t1, 0x4af0
|
||||
/* 0A6158 800A5558 AC6C0004 */ sw $t4, 4($v1)
|
||||
/* 0A615C 800A555C AC780000 */ sw $t8, ($v1)
|
||||
/* 0A6160 800A5560 852E0000 */ lh $t6, ($t1)
|
||||
/* 0A6164 800A5564 3C0D8015 */ lui $t5, %hi(gGfxPool) # $t5, 0x8015
|
||||
/* 0A6168 800A5568 8DADEF40 */ lw $t5, %lo(gGfxPool)($t5)
|
||||
/* 0A616C 800A556C 000E7980 */ sll $t7, $t6, 6
|
||||
/* 0A6170 800A5570 3401FAC0 */ li $at, 64192
|
||||
/* 0A6174 800A5574 01AF2021 */ addu $a0, $t5, $t7
|
||||
/* 0A6178 800A5578 00812021 */ addu $a0, $a0, $at
|
||||
/* 0A617C 800A557C 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000
|
||||
/* 0A6180 800A5580 44812000 */ mtc1 $at, $f4
|
||||
/* 0A6184 800A5584 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
||||
/* 0A6188 800A5588 44800000 */ mtc1 $zero, $f0
|
||||
/* 0A618C 800A558C 44813000 */ mtc1 $at, $f6
|
||||
/* 0A6190 800A5590 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0A6194 800A5594 44814000 */ mtc1 $at, $f8
|
||||
/* 0A6198 800A5598 3C06439F */ lui $a2, (0x439F8000 >> 16) # lui $a2, 0x439f
|
||||
/* 0A619C 800A559C 44050000 */ mfc1 $a1, $f0
|
||||
/* 0A61A0 800A55A0 34C68000 */ ori $a2, (0x439F8000 & 0xFFFF) # ori $a2, $a2, 0x8000
|
||||
/* 0A61A4 800A55A4 3C07436F */ lui $a3, 0x436f
|
||||
/* 0A61A8 800A55A8 AFAA0040 */ sw $t2, 0x40($sp)
|
||||
/* 0A61AC 800A55AC E7A40014 */ swc1 $f4, 0x14($sp)
|
||||
/* 0A61B0 800A55B0 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0A61B4 800A55B4 E7A60018 */ swc1 $f6, 0x18($sp)
|
||||
/* 0A61B8 800A55B8 0C0338A9 */ jal guOrtho
|
||||
/* 0A61BC 800A55BC E7A8001C */ swc1 $f8, 0x1c($sp)
|
||||
/* 0A61C0 800A55C0 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015
|
||||
/* 0A61C4 800A55C4 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298
|
||||
/* 0A61C8 800A55C8 8D030000 */ lw $v1, ($t0)
|
||||
/* 0A61CC 800A55CC 3C190103 */ lui $t9, (0x01030040 >> 16) # lui $t9, 0x103
|
||||
/* 0A61D0 800A55D0 8FAA0040 */ lw $t2, 0x40($sp)
|
||||
/* 0A61D4 800A55D4 24780008 */ addiu $t8, $v1, 8
|
||||
/* 0A61D8 800A55D8 8FA40048 */ lw $a0, 0x48($sp)
|
||||
/* 0A61DC 800A55DC 3C098016 */ lui $t1, %hi(gMatrixEffectCount) # $t1, 0x8016
|
||||
/* 0A61E0 800A55E0 AD180000 */ sw $t8, ($t0)
|
||||
/* 0A61E4 800A55E4 37390040 */ ori $t9, (0x01030040 & 0xFFFF) # ori $t9, $t9, 0x40
|
||||
/* 0A61E8 800A55E8 25294AF0 */ addiu $t1, %lo(gMatrixEffectCount) # addiu $t1, $t1, 0x4af0
|
||||
/* 0A61EC 800A55EC AC790000 */ sw $t9, ($v1)
|
||||
/* 0A61F0 800A55F0 852E0000 */ lh $t6, ($t1)
|
||||
/* 0A61F4 800A55F4 3C0C8015 */ lui $t4, %hi(gGfxPool) # $t4, 0x8015
|
||||
/* 0A61F8 800A55F8 8D8CEF40 */ lw $t4, %lo(gGfxPool)($t4)
|
||||
/* 0A61FC 800A55FC 000E6980 */ sll $t5, $t6, 6
|
||||
/* 0A6200 800A5600 3401FAC0 */ li $at, 64192
|
||||
/* 0A6204 800A5604 018D7821 */ addu $t7, $t4, $t5
|
||||
/* 0A6208 800A5608 01E1C021 */ addu $t8, $t7, $at
|
||||
/* 0A620C 800A560C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
|
||||
/* 0A6210 800A5610 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 0A6214 800A5614 0301C824 */ and $t9, $t8, $at
|
||||
/* 0A6218 800A5618 AC790004 */ sw $t9, 4($v1)
|
||||
/* 0A621C 800A561C 852E0000 */ lh $t6, ($t1)
|
||||
/* 0A6220 800A5620 3C0B800E */ lui $t3, %hi(gIsGamePaused) # $t3, 0x800e
|
||||
/* 0A6224 800A5624 256BC5FC */ addiu $t3, %lo(gIsGamePaused) # addiu $t3, $t3, -0x3a04
|
||||
/* 0A6228 800A5628 25CC0001 */ addiu $t4, $t6, 1
|
||||
/* 0A622C 800A562C 11400018 */ beqz $t2, .L800A5690
|
||||
/* 0A6230 800A5630 A52C0000 */ sh $t4, ($t1)
|
||||
/* 0A6234 800A5634 24010001 */ li $at, 1
|
||||
/* 0A6238 800A5638 11410009 */ beq $t2, $at, .L800A5660
|
||||
/* 0A623C 800A563C 3C03800F */ lui $v1, %hi(D_800E8538) # 0x800f
|
||||
/* 0A6240 800A5640 24010002 */ li $at, 2
|
||||
/* 0A6244 800A5644 11410008 */ beq $t2, $at, .L800A5668
|
||||
/* 0A6248 800A5648 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e
|
||||
/* 0A624C 800A564C 24010003 */ li $at, 3
|
||||
/* 0A6250 800A5650 1141001A */ beq $t2, $at, .L800A56BC
|
||||
/* 0A6254 800A5654 3C0C800E */ lui $t4, %hi(gScreenModeSelection)
|
||||
/* 0A6258 800A5658 10000021 */ b .L800A56E0
|
||||
/* 0A625C 800A565C 8FA3004C */ lw $v1, 0x4c($sp)
|
||||
.L800A5660:
|
||||
/* 0A6260 800A5660 1000001F */ b .L800A56E0
|
||||
/* 0A6264 800A5664 24638538 */ addiu $v1, $v1, %lo(D_800E8538) # -0x7ac8
|
||||
.L800A5668:
|
||||
/* 0A6268 800A5668 8DAFC530 */ lw $t7, %lo(gScreenModeSelection)($t5)
|
||||
/* 0A626C 800A566C 95790000 */ lhu $t9, ($t3)
|
||||
/* 0A6270 800A5670 000FC140 */ sll $t8, $t7, 5
|
||||
/* 0A6274 800A5674 001970C0 */ sll $t6, $t9, 3
|
||||
/* 0A6278 800A5678 030E6021 */ addu $t4, $t8, $t6
|
||||
/* 0A627C 800A567C 3C0F800F */ lui $t7, %hi(D_800E8540) # $t7, 0x800f
|
||||
/* 0A6280 800A5680 25EF8540 */ addiu $t7, %lo(D_800E8540) # addiu $t7, $t7, -0x7ac0
|
||||
/* 0A6284 800A5684 258DFFF8 */ addiu $t5, $t4, -8
|
||||
/* 0A6288 800A5688 10000015 */ b .L800A56E0
|
||||
/* 0A628C 800A568C 01AF1821 */ addu $v1, $t5, $t7
|
||||
.L800A5690:
|
||||
/* 0A6290 800A5690 3C19800E */ lui $t9, %hi(gScreenModeSelection) # $t9, 0x800e
|
||||
/* 0A6294 800A5694 8F38C530 */ lw $t8, %lo(gScreenModeSelection)($t9)
|
||||
/* 0A6298 800A5698 956C0000 */ lhu $t4, ($t3)
|
||||
/* 0A629C 800A569C 00187140 */ sll $t6, $t8, 5
|
||||
/* 0A62A0 800A56A0 000C68C0 */ sll $t5, $t4, 3
|
||||
/* 0A62A4 800A56A4 01CD7821 */ addu $t7, $t6, $t5
|
||||
/* 0A62A8 800A56A8 3C18800F */ lui $t8, %hi(D_800E85C0) # $t8, 0x800f
|
||||
/* 0A62AC 800A56AC 271885C0 */ addiu $t8, %lo(D_800E85C0) # addiu $t8, $t8, -0x7a40
|
||||
/* 0A62B0 800A56B0 25F9FFF8 */ addiu $t9, $t7, -8
|
||||
/* 0A62B4 800A56B4 1000000A */ b .L800A56E0
|
||||
/* 0A62B8 800A56B8 03381821 */ addu $v1, $t9, $t8
|
||||
.L800A56BC:
|
||||
/* 0A62BC 800A56BC 8D8EC530 */ lw $t6, %lo(gScreenModeSelection)($t4)
|
||||
/* 0A62C0 800A56C0 956F0000 */ lhu $t7, ($t3)
|
||||
/* 0A62C4 800A56C4 000E6940 */ sll $t5, $t6, 5
|
||||
/* 0A62C8 800A56C8 000FC8C0 */ sll $t9, $t7, 3
|
||||
/* 0A62CC 800A56CC 01B9C021 */ addu $t8, $t5, $t9
|
||||
/* 0A62D0 800A56D0 3C0E800F */ lui $t6, %hi(D_800E8600) # $t6, 0x800f
|
||||
/* 0A62D4 800A56D4 25CE8600 */ addiu $t6, %lo(D_800E8600) # addiu $t6, $t6, -0x7a00
|
||||
/* 0A62D8 800A56D8 270CFFF8 */ addiu $t4, $t8, -8
|
||||
/* 0A62DC 800A56DC 018E1821 */ addu $v1, $t4, $t6
|
||||
.L800A56E0:
|
||||
/* 0A62E0 800A56E0 846F0000 */ lh $t7, ($v1)
|
||||
/* 0A62E4 800A56E4 3C02800F */ lui $v0, %hi(D_800F0B50) # 0x800f
|
||||
/* 0A62E8 800A56E8 004A1021 */ addu $v0, $v0, $t2
|
||||
/* 0A62EC 800A56EC 25EDFFF8 */ addiu $t5, $t7, -8
|
||||
/* 0A62F0 800A56F0 A7AD0050 */ sh $t5, 0x50($sp)
|
||||
/* 0A62F4 800A56F4 80420B50 */ lb $v0, %lo(D_800F0B50)($v0) # 0xb50($v0)
|
||||
/* 0A62F8 800A56F8 8C980004 */ lw $t8, 4($a0)
|
||||
/* 0A62FC 800A56FC 84790002 */ lh $t9, 2($v1)
|
||||
/* 0A6300 800A5700 27A50050 */ addiu $a1, $sp, 0x50
|
||||
/* 0A6304 800A5704 03026023 */ subu $t4, $t8, $v0
|
||||
/* 0A6308 800A5708 000C7080 */ sll $t6, $t4, 2
|
||||
/* 0A630C 800A570C 01CC7023 */ subu $t6, $t6, $t4
|
||||
/* 0A6310 800A5710 000E7080 */ sll $t6, $t6, 2
|
||||
/* 0A6314 800A5714 01CC7021 */ addu $t6, $t6, $t4
|
||||
/* 0A6318 800A5718 032E7821 */ addu $t7, $t9, $t6
|
||||
/* 0A631C 800A571C 25EDFFF8 */ addiu $t5, $t7, -8
|
||||
/* 0A6320 800A5720 0C0299AA */ jal func_800A66A8
|
||||
/* 0A6324 800A5724 A7AD0052 */ sh $t5, 0x52($sp)
|
||||
.L800A5728:
|
||||
/* 0A6328 800A5728 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 0A632C 800A572C 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
/* 0A6330 800A5730 03E00008 */ jr $ra
|
||||
/* 0A6334 800A5734 00000000 */ nop
|
|
@ -1,678 +0,0 @@
|
|||
.section .rodata
|
||||
|
||||
glabel D_800F0C6C
|
||||
.asciiz "'"
|
||||
.balign 4
|
||||
|
||||
glabel D_800F0C70
|
||||
.asciiz "\""
|
||||
.balign 4
|
||||
|
||||
glabel D_800F0C74
|
||||
.asciiz "'"
|
||||
.balign 4
|
||||
|
||||
glabel D_800F0C78
|
||||
.asciiz "\""
|
||||
.balign 4
|
||||
|
||||
.section .late_rodata
|
||||
|
||||
glabel D_800F1DD8
|
||||
.float 0.8
|
||||
|
||||
glabel jpt_800F1DDC
|
||||
.word L800A5940, L800A5F90, L800A5F90, L800A5F90
|
||||
.word L800A5F90, L800A5F90, L800A5F90, L800A5F90
|
||||
.word L800A5F90, L800A5F90, L800A5940, L800A5940
|
||||
.word L800A5940, L800A5940, L800A5940, L800A5940
|
||||
.word L800A5F90, L800A5F90, L800A5F90, L800A5F90
|
||||
.word L800A5BA8, L800A5BA8, L800A5BA8, L800A5BA8
|
||||
.word L800A5BA8, L800A5BA8, L800A5F90, L800A5F90
|
||||
.word L800A5F90, L800A5C18, L800A5C18, L800A5DA0
|
||||
.word L800A5F90, L800A5F90, L800A5E00, L800A5E00
|
||||
.word L800A5F90, L800A5F90, L800A5F90, L800A5ED4
|
||||
.word L800A5F34
|
||||
|
||||
glabel D_800F1E80
|
||||
.float 0.8
|
||||
|
||||
glabel D_800F1E84
|
||||
.float 0.8
|
||||
|
||||
glabel D_800F1E88
|
||||
.float 0.8
|
||||
|
||||
glabel D_800F1E8C
|
||||
.float 0.8
|
||||
|
||||
glabel D_800F1E90
|
||||
.float 0.8
|
||||
|
||||
glabel D_800F1E94
|
||||
.float 0.8
|
||||
|
||||
glabel D_800F1E98
|
||||
.float 0.8
|
||||
|
||||
glabel jpt_800F1E9C
|
||||
.word L800A5FB4, L800A5FB4, L800A5FB4, L800A5FB4
|
||||
.word L800A5FB4, L800A5FB4, L800A6014, L800A6014
|
||||
.word L800A6014, L800A6014, L800A6014, L800A6014
|
||||
.word L800A6014, L800A6014, L800A6014, L800A6014
|
||||
.word L800A6014, L800A6014, L800A6014, L800A5FCC
|
||||
.word L800A5FCC, L800A6014, L800A6014, L800A6014
|
||||
.word L800A5FE4, L800A5FE4
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_800A5738
|
||||
/* 0A6338 800A5738 27BDFF60 */ addiu $sp, $sp, -0xa0
|
||||
/* 0A633C 800A573C AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* 0A6340 800A5740 AFB30040 */ sw $s3, 0x40($sp)
|
||||
/* 0A6344 800A5744 AFB2003C */ sw $s2, 0x3c($sp)
|
||||
/* 0A6348 800A5748 AFB10038 */ sw $s1, 0x38($sp)
|
||||
/* 0A634C 800A574C AFB00034 */ sw $s0, 0x34($sp)
|
||||
/* 0A6350 800A5750 F7B40028 */ sdc1 $f20, 0x28($sp)
|
||||
/* 0A6354 800A5754 8C830004 */ lw $v1, 4($a0)
|
||||
/* 0A6358 800A5758 00809825 */ move $s3, $a0
|
||||
/* 0A635C 800A575C 24010001 */ li $at, 1
|
||||
/* 0A6360 800A5760 14600037 */ bnez $v1, .L800A5840
|
||||
/* 0A6364 800A5764 3C108015 */ lui $s0, %hi(gDisplayListHead) # 0x8015
|
||||
/* 0A6368 800A5768 8C8E001C */ lw $t6, 0x1c($a0)
|
||||
/* 0A636C 800A576C 3C0F800E */ lui $t7, %hi(gGlobalTimer) # $t7, 0x800e
|
||||
/* 0A6370 800A5770 29C1001E */ slti $at, $t6, 0x1e
|
||||
/* 0A6374 800A5774 54200228 */ bnel $at, $zero, .L800A6018
|
||||
/* 0A6378 800A5778 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 0A637C 800A577C 8DEFC54C */ lw $t7, %lo(gGlobalTimer)($t7)
|
||||
/* 0A6380 800A5780 3C11800E */ lui $s1, %hi(gTextPauseButton) # $s1, 0x800e
|
||||
/* 0A6384 800A5784 2631775C */ addiu $s1, %lo(gTextPauseButton) # addiu $s1, $s1, 0x775c
|
||||
/* 0A6388 800A5788 05E10003 */ bgez $t7, .L800A5798
|
||||
/* 0A638C 800A578C 000FC103 */ sra $t8, $t7, 4
|
||||
/* 0A6390 800A5790 25E1000F */ addiu $at, $t7, 0xf
|
||||
/* 0A6394 800A5794 0001C103 */ sra $t8, $at, 4
|
||||
.L800A5798:
|
||||
/* 0A6398 800A5798 07010004 */ bgez $t8, .L800A57AC
|
||||
/* 0A639C 800A579C 33190001 */ andi $t9, $t8, 1
|
||||
/* 0A63A0 800A57A0 13200002 */ beqz $t9, .L800A57AC
|
||||
/* 0A63A4 800A57A4 00000000 */ nop
|
||||
/* 0A63A8 800A57A8 2739FFFE */ addiu $t9, $t9, -2
|
||||
.L800A57AC:
|
||||
/* 0A63AC 800A57AC 5320021A */ beql $t9, $zero, .L800A6018
|
||||
/* 0A63B0 800A57B0 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* 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
|
||||
/* 0A63C4 800A57C4 C4341DD8 */ lwc1 $f20, %lo(D_800F1DD8)($at)
|
||||
/* 0A63C8 800A57C8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0A63CC 800A57CC 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015
|
||||
/* 0A63D0 800A57D0 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298
|
||||
/* 0A63D4 800A57D4 24090032 */ li $t1, 50
|
||||
/* 0A63D8 800A57D8 240A0096 */ li $t2, 150
|
||||
/* 0A63DC 800A57DC AFAA0020 */ sw $t2, 0x20($sp)
|
||||
/* 0A63E0 800A57E0 46143202 */ mul.s $f8, $f6, $f20
|
||||
/* 0A63E4 800A57E4 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 0A63E8 800A57E8 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A63EC 800A57EC 240500C0 */ li $a1, 192
|
||||
/* 0A63F0 800A57F0 24060021 */ li $a2, 33
|
||||
/* 0A63F4 800A57F4 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 0A63F8 800A57F8 AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* 0A63FC 800A57FC 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 0A6400 800A5800 AFA0001C */ sw $zero, 0x1c($sp)
|
||||
/* 0A6404 800A5804 44075000 */ mfc1 $a3, $f10
|
||||
/* 0A6408 800A5808 0C02637E */ jal draw_box
|
||||
/* 0A640C 800A580C 24E700C6 */ addiu $a3, $a3, 0xc6
|
||||
/* 0A6410 800A5810 AE020000 */ sw $v0, ($s0)
|
||||
/* 0A6414 800A5814 0C024C36 */ jal set_text_color
|
||||
/* 0A6418 800A5818 24040001 */ li $a0, 1
|
||||
/* 0A641C 800A581C 240400BF */ li $a0, 191
|
||||
/* 0A6420 800A5820 24050030 */ li $a1, 48
|
||||
/* 0A6424 800A5824 8E260014 */ lw $a2, 0x14($s1)
|
||||
/* 0A6428 800A5828 00003825 */ move $a3, $zero
|
||||
/* 0A642C 800A582C E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6430 800A5830 0C024CC9 */ jal func_80093324
|
||||
/* 0A6434 800A5834 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6438 800A5838 100001F7 */ b .L800A6018
|
||||
/* 0A643C 800A583C 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L800A5840:
|
||||
/* 0A6440 800A5840 14610009 */ bne $v1, $at, .L800A5868
|
||||
/* 0A6444 800A5844 26100298 */ addiu $s0, $s0, %lo(gDisplayListHead) # 0x298
|
||||
/* 0A6448 800A5848 8E71001C */ lw $s1, 0x1c($s3)
|
||||
/* 0A644C 800A584C 2401008C */ li $at, 140
|
||||
/* 0A6450 800A5850 00119200 */ sll $s2, $s1, 8
|
||||
/* 0A6454 800A5854 02519023 */ subu $s2, $s2, $s1
|
||||
/* 0A6458 800A5858 0241001A */ div $zero, $s2, $at
|
||||
/* 0A645C 800A585C 00009012 */ mflo $s2
|
||||
/* 0A6460 800A5860 10000004 */ b .L800A5874
|
||||
/* 0A6464 800A5864 240C00EF */ li $t4, 239
|
||||
.L800A5868:
|
||||
/* 0A6468 800A5868 2411008C */ li $s1, 140
|
||||
/* 0A646C 800A586C 241200FF */ li $s2, 255
|
||||
/* 0A6470 800A5870 240C00EF */ li $t4, 239
|
||||
.L800A5874:
|
||||
/* 0A6474 800A5874 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 0A6478 800A5878 8E040000 */ lw $a0, ($s0)
|
||||
/* 0A647C 800A587C 00002825 */ move $a1, $zero
|
||||
/* 0A6480 800A5880 00003025 */ move $a2, $zero
|
||||
/* 0A6484 800A5884 2407013F */ li $a3, 319
|
||||
/* 0A6488 800A5888 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 0A648C 800A588C AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* 0A6490 800A5890 AFA0001C */ sw $zero, 0x1c($sp)
|
||||
/* 0A6494 800A5894 0C02637E */ jal draw_box
|
||||
/* 0A6498 800A5898 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* 0A649C 800A589C AE020000 */ sw $v0, ($s0)
|
||||
/* 0A64A0 800A58A0 244D0008 */ addiu $t5, $v0, 8
|
||||
/* 0A64A4 800A58A4 AE0D0000 */ sw $t5, ($s0)
|
||||
/* 0A64A8 800A58A8 3C0EFA00 */ lui $t6, 0xfa00
|
||||
/* 0A64AC 800A58AC 324F00FF */ andi $t7, $s2, 0xff
|
||||
/* 0A64B0 800A58B0 AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 0A64B4 800A58B4 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 0A64B8 800A58B8 0C024C36 */ jal set_text_color
|
||||
/* 0A64BC 800A58BC 24040003 */ li $a0, 3
|
||||
/* 0A64C0 800A58C0 3C188019 */ lui $t8, %hi(gCupSelection) # $t8, 0x8019
|
||||
/* 0A64C4 800A58C4 3C088019 */ lui $t0, %hi(gCupCourseSelection) # $t0, 0x8019
|
||||
/* 0A64C8 800A58C8 8108EE0B */ lb $t0, %lo(gCupCourseSelection)($t0)
|
||||
/* 0A64CC 800A58CC 8318EE09 */ lb $t8, %lo(gCupSelection)($t8)
|
||||
/* 0A64D0 800A58D0 3C0B800F */ lui $t3, %hi(gCupCourseOrder)
|
||||
/* 0A64D4 800A58D4 00084840 */ sll $t1, $t0, 1
|
||||
/* 0A64D8 800A58D8 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 0A64DC 800A58DC 03295021 */ addu $t2, $t9, $t1
|
||||
/* 0A64E0 800A58E0 016A5821 */ addu $t3, $t3, $t2
|
||||
/* 0A64E4 800A58E4 856B2BB4 */ lh $t3, %lo(gCupCourseOrder)($t3)
|
||||
/* 0A64E8 800A58E8 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0A64EC 800A58EC 44810000 */ mtc1 $at, $f0
|
||||
/* 0A64F0 800A58F0 3C06800E */ lui $a2, %hi(D_800E7574)
|
||||
/* 0A64F4 800A58F4 000B6080 */ sll $t4, $t3, 2
|
||||
/* 0A64F8 800A58F8 00CC3021 */ addu $a2, $a2, $t4
|
||||
/* 0A64FC 800A58FC 8CC67574 */ lw $a2, %lo(D_800E7574)($a2)
|
||||
/* 0A6500 800A5900 240400A0 */ li $a0, 160
|
||||
/* 0A6504 800A5904 24050050 */ li $a1, 80
|
||||
/* 0A6508 800A5908 00003825 */ move $a3, $zero
|
||||
/* 0A650C 800A590C E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* 0A6510 800A5910 0C024DD5 */ jal func_80093754
|
||||
/* 0A6514 800A5914 E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* 0A6518 800A5918 8E630004 */ lw $v1, 4($s3)
|
||||
/* 0A651C 800A591C 246DFFFF */ addiu $t5, $v1, -1
|
||||
/* 0A6520 800A5920 2DA10029 */ sltiu $at, $t5, 0x29
|
||||
/* 0A6524 800A5924 1020019A */ beqz $at, .L800A5F90
|
||||
/* 0A6528 800A5928 000D6880 */ sll $t5, $t5, 2
|
||||
/* 0A652C 800A592C 3C01800F */ lui $at, %hi(jpt_800F1DDC)
|
||||
/* 0A6530 800A5930 002D0821 */ addu $at, $at, $t5
|
||||
/* 0A6534 800A5934 8C2D1DDC */ lw $t5, %lo(jpt_800F1DDC)($at)
|
||||
/* 0A6538 800A5938 01A00008 */ jr $t5
|
||||
/* 0A653C 800A593C 00000000 */ nop
|
||||
glabel L800A5940
|
||||
/* 0A6540 800A5940 0C024C36 */ jal set_text_color
|
||||
/* 0A6544 800A5944 24040002 */ li $a0, 2
|
||||
/* 0A6548 800A5948 3C01800F */ lui $at, %hi(D_800F1E80) # $at, 0x800f
|
||||
/* 0A654C 800A594C C4341E80 */ lwc1 $f20, %lo(D_800F1E80)($at)
|
||||
/* 0A6550 800A5950 3C12800E */ lui $s2, %hi(D_800E7728) # $s2, 0x800e
|
||||
/* 0A6554 800A5954 26527728 */ addiu $s2, %lo(D_800E7728) # addiu $s2, $s2, 0x7728
|
||||
/* 0A6558 800A5958 8E460000 */ lw $a2, ($s2)
|
||||
/* 0A655C 800A595C 2404009D */ li $a0, 157
|
||||
/* 0A6560 800A5960 24050060 */ li $a1, 96
|
||||
/* 0A6564 800A5964 00003825 */ move $a3, $zero
|
||||
/* 0A6568 800A5968 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A656C 800A596C 0C024DD5 */ jal func_80093754
|
||||
/* 0A6570 800A5970 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6574 800A5974 0C02D389 */ jal func_800B4E24
|
||||
/* 0A6578 800A5978 00002025 */ move $a0, $zero
|
||||
/* 0A657C 800A597C 3C01000F */ lui $at, (0x000FFFFF >> 16) # lui $at, 0xf
|
||||
/* 0A6580 800A5980 3421FFFF */ ori $at, (0x000FFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 0A6584 800A5984 27B00084 */ addiu $s0, $sp, 0x84
|
||||
/* 0A6588 800A5988 00412024 */ and $a0, $v0, $at
|
||||
/* 0A658C 800A598C 00808825 */ move $s1, $a0
|
||||
/* 0A6590 800A5990 0C029E3D */ jal get_time_record_minutes
|
||||
/* 0A6594 800A5994 02002825 */ move $a1, $s0
|
||||
/* 0A6598 800A5998 2404007F */ li $a0, 127
|
||||
/* 0A659C 800A599C 2405006D */ li $a1, 109
|
||||
/* 0A65A0 800A59A0 02003025 */ move $a2, $s0
|
||||
/* 0A65A4 800A59A4 00003825 */ move $a3, $zero
|
||||
/* 0A65A8 800A59A8 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A65AC 800A59AC 0C024E7F */ jal text_draw
|
||||
/* 0A65B0 800A59B0 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A65B4 800A59B4 3C06800F */ lui $a2, %hi(D_800F0C6C) # $a2, 0x800f
|
||||
/* 0A65B8 800A59B8 24C60C6C */ addiu $a2, %lo(D_800F0C6C) # addiu $a2, $a2, 0xc6c
|
||||
/* 0A65BC 800A59BC 2404008E */ li $a0, 142
|
||||
/* 0A65C0 800A59C0 2405006D */ li $a1, 109
|
||||
/* 0A65C4 800A59C4 00003825 */ move $a3, $zero
|
||||
/* 0A65C8 800A59C8 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A65CC 800A59CC 0C024CD6 */ jal func_80093358
|
||||
/* 0A65D0 800A59D0 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A65D4 800A59D4 02202025 */ move $a0, $s1
|
||||
/* 0A65D8 800A59D8 0C029E51 */ jal get_time_record_seconds
|
||||
/* 0A65DC 800A59DC 02002825 */ move $a1, $s0
|
||||
/* 0A65E0 800A59E0 24040098 */ li $a0, 152
|
||||
/* 0A65E4 800A59E4 2405006D */ li $a1, 109
|
||||
/* 0A65E8 800A59E8 02003025 */ move $a2, $s0
|
||||
/* 0A65EC 800A59EC 00003825 */ move $a3, $zero
|
||||
/* 0A65F0 800A59F0 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A65F4 800A59F4 0C024E7F */ jal text_draw
|
||||
/* 0A65F8 800A59F8 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A65FC 800A59FC 3C06800F */ lui $a2, %hi(D_800F0C70) # $a2, 0x800f
|
||||
/* 0A6600 800A5A00 24C60C70 */ addiu $a2, %lo(D_800F0C70) # addiu $a2, $a2, 0xc70
|
||||
/* 0A6604 800A5A04 240400A7 */ li $a0, 167
|
||||
/* 0A6608 800A5A08 2405006D */ li $a1, 109
|
||||
/* 0A660C 800A5A0C 00003825 */ move $a3, $zero
|
||||
/* 0A6610 800A5A10 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6614 800A5A14 0C024CD6 */ jal func_80093358
|
||||
/* 0A6618 800A5A18 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A661C 800A5A1C 02202025 */ move $a0, $s1
|
||||
/* 0A6620 800A5A20 0C029E69 */ jal get_time_record_centiseconds
|
||||
/* 0A6624 800A5A24 02002825 */ move $a1, $s0
|
||||
/* 0A6628 800A5A28 240400B3 */ li $a0, 179
|
||||
/* 0A662C 800A5A2C 2405006D */ li $a1, 109
|
||||
/* 0A6630 800A5A30 02003025 */ move $a2, $s0
|
||||
/* 0A6634 800A5A34 00003825 */ move $a3, $zero
|
||||
/* 0A6638 800A5A38 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A663C 800A5A3C 0C024E7F */ jal text_draw
|
||||
/* 0A6640 800A5A40 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6644 800A5A44 2404009D */ li $a0, 157
|
||||
/* 0A6648 800A5A48 2405007C */ li $a1, 124
|
||||
/* 0A664C 800A5A4C 8E460004 */ lw $a2, 4($s2)
|
||||
/* 0A6650 800A5A50 00003825 */ move $a3, $zero
|
||||
/* 0A6654 800A5A54 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6658 800A5A58 0C024DD5 */ jal func_80093754
|
||||
/* 0A665C 800A5A5C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6660 800A5A60 0C02D3CB */ jal func_800B4F2C
|
||||
/* 0A6664 800A5A64 00000000 */ nop
|
||||
/* 0A6668 800A5A68 3C01000F */ lui $at, (0x000FFFFF >> 16) # lui $at, 0xf
|
||||
/* 0A666C 800A5A6C 3421FFFF */ ori $at, (0x000FFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* 0A6670 800A5A70 00412024 */ and $a0, $v0, $at
|
||||
/* 0A6674 800A5A74 00808825 */ move $s1, $a0
|
||||
/* 0A6678 800A5A78 0C029E3D */ jal get_time_record_minutes
|
||||
/* 0A667C 800A5A7C 02002825 */ move $a1, $s0
|
||||
/* 0A6680 800A5A80 2404007F */ li $a0, 127
|
||||
/* 0A6684 800A5A84 24050089 */ li $a1, 137
|
||||
/* 0A6688 800A5A88 02003025 */ move $a2, $s0
|
||||
/* 0A668C 800A5A8C 00003825 */ move $a3, $zero
|
||||
/* 0A6690 800A5A90 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6694 800A5A94 0C024E7F */ jal text_draw
|
||||
/* 0A6698 800A5A98 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A669C 800A5A9C 3C06800F */ lui $a2, %hi(D_800F0C74) # $a2, 0x800f
|
||||
/* 0A66A0 800A5AA0 24C60C74 */ addiu $a2, %lo(D_800F0C74) # addiu $a2, $a2, 0xc74
|
||||
/* 0A66A4 800A5AA4 2404008E */ li $a0, 142
|
||||
/* 0A66A8 800A5AA8 24050089 */ li $a1, 137
|
||||
/* 0A66AC 800A5AAC 00003825 */ move $a3, $zero
|
||||
/* 0A66B0 800A5AB0 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A66B4 800A5AB4 0C024CD6 */ jal func_80093358
|
||||
/* 0A66B8 800A5AB8 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A66BC 800A5ABC 02202025 */ move $a0, $s1
|
||||
/* 0A66C0 800A5AC0 0C029E51 */ jal get_time_record_seconds
|
||||
/* 0A66C4 800A5AC4 02002825 */ move $a1, $s0
|
||||
/* 0A66C8 800A5AC8 24040098 */ li $a0, 152
|
||||
/* 0A66CC 800A5ACC 24050089 */ li $a1, 137
|
||||
/* 0A66D0 800A5AD0 02003025 */ move $a2, $s0
|
||||
/* 0A66D4 800A5AD4 00003825 */ move $a3, $zero
|
||||
/* 0A66D8 800A5AD8 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A66DC 800A5ADC 0C024E7F */ jal text_draw
|
||||
/* 0A66E0 800A5AE0 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A66E4 800A5AE4 3C06800F */ lui $a2, %hi(D_800F0C78) # $a2, 0x800f
|
||||
/* 0A66E8 800A5AE8 24C60C78 */ addiu $a2, %lo(D_800F0C78) # addiu $a2, $a2, 0xc78
|
||||
/* 0A66EC 800A5AEC 240400A7 */ li $a0, 167
|
||||
/* 0A66F0 800A5AF0 24050089 */ li $a1, 137
|
||||
/* 0A66F4 800A5AF4 00003825 */ move $a3, $zero
|
||||
/* 0A66F8 800A5AF8 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A66FC 800A5AFC 0C024CD6 */ jal func_80093358
|
||||
/* 0A6700 800A5B00 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6704 800A5B04 02202025 */ move $a0, $s1
|
||||
/* 0A6708 800A5B08 0C029E69 */ jal get_time_record_centiseconds
|
||||
/* 0A670C 800A5B0C 02002825 */ move $a1, $s0
|
||||
/* 0A6710 800A5B10 240400B3 */ li $a0, 179
|
||||
/* 0A6714 800A5B14 24050089 */ li $a1, 137
|
||||
/* 0A6718 800A5B18 02003025 */ move $a2, $s0
|
||||
/* 0A671C 800A5B1C 00003825 */ move $a3, $zero
|
||||
/* 0A6720 800A5B20 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6724 800A5B24 0C024E7F */ jal text_draw
|
||||
/* 0A6728 800A5B28 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A672C 800A5B2C 3C013F40 */ li $at, 0x3F400000 # 0.750000
|
||||
/* 0A6730 800A5B30 3C02800E */ lui $v0, %hi(gTextPauseButton) # $v0, 0x800e
|
||||
/* 0A6734 800A5B34 4481A000 */ mtc1 $at, $f20
|
||||
/* 0A6738 800A5B38 2442775C */ addiu $v0, %lo(gTextPauseButton) # addiu $v0, $v0, 0x775c
|
||||
/* 0A673C 800A5B3C 00008825 */ move $s1, $zero
|
||||
/* 0A6740 800A5B40 00008025 */ move $s0, $zero
|
||||
/* 0A6744 800A5B44 24120006 */ li $s2, 6
|
||||
.L800A5B48:
|
||||
/* 0A6748 800A5B48 8E640004 */ lw $a0, 4($s3)
|
||||
/* 0A674C 800A5B4C AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A6750 800A5B50 02202825 */ move $a1, $s1
|
||||
/* 0A6754 800A5B54 24060001 */ li $a2, 1
|
||||
/* 0A6758 800A5B58 0C024870 */ jal text_rainbow_effect
|
||||
/* 0A675C 800A5B5C 2484FFF5 */ addiu $a0, $a0, -0xb
|
||||
/* 0A6760 800A5B60 3C0E800F */ lui $t6, %hi(D_800E8538 + 2) # $t6, 0x800f
|
||||
/* 0A6764 800A5B64 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6768 800A5B68 85CE853A */ lh $t6, %lo(D_800E8538 + 2)($t6)
|
||||
/* 0A676C 800A5B6C 3C04800F */ lui $a0, %hi(D_800E8538) # $a0, 0x800f
|
||||
/* 0A6770 800A5B70 84848538 */ lh $a0, %lo(D_800E8538)($a0)
|
||||
/* 0A6774 800A5B74 00003825 */ move $a3, $zero
|
||||
/* 0A6778 800A5B78 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A677C 800A5B7C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6780 800A5B80 8C460004 */ lw $a2, 4($v0)
|
||||
/* 0A6784 800A5B84 0C024CD6 */ jal func_80093358
|
||||
/* 0A6788 800A5B88 01D02821 */ addu $a1, $t6, $s0
|
||||
/* 0A678C 800A5B8C 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6790 800A5B90 26310001 */ addiu $s1, $s1, 1
|
||||
/* 0A6794 800A5B94 2610000D */ addiu $s0, $s0, 0xd
|
||||
/* 0A6798 800A5B98 1632FFEB */ bne $s1, $s2, .L800A5B48
|
||||
/* 0A679C 800A5B9C 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A67A0 800A5BA0 100000FB */ b .L800A5F90
|
||||
/* 0A67A4 800A5BA4 8E630004 */ lw $v1, 4($s3)
|
||||
glabel L800A5BA8
|
||||
/* 0A67A8 800A5BA8 0C024C36 */ jal set_text_color
|
||||
/* 0A67AC 800A5BAC 24040003 */ li $a0, 3
|
||||
/* 0A67B0 800A5BB0 8E630004 */ lw $v1, 4($s3)
|
||||
/* 0A67B4 800A5BB4 3C08800E */ lui $t0, %hi(D_800E798C) # $t0, 0x800e
|
||||
/* 0A67B8 800A5BB8 2508798C */ addiu $t0, %lo(D_800E798C) # addiu $t0, $t0, 0x798c
|
||||
/* 0A67BC 800A5BBC 2463FFEB */ addiu $v1, $v1, -0x15
|
||||
/* 0A67C0 800A5BC0 000378C0 */ sll $t7, $v1, 3
|
||||
/* 0A67C4 800A5BC4 01E37823 */ subu $t7, $t7, $v1
|
||||
/* 0A67C8 800A5BC8 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0A67CC 800A5BCC 3C01800F */ lui $at, %hi(D_800F1E84) # $at, 0x800f
|
||||
/* 0A67D0 800A5BD0 C4341E84 */ lwc1 $f20, %lo(D_800F1E84)($at)
|
||||
/* 0A67D4 800A5BD4 03081021 */ addu $v0, $t8, $t0
|
||||
/* 0A67D8 800A5BD8 2410006E */ li $s0, 110
|
||||
/* 0A67DC 800A5BDC 241100C9 */ li $s1, 201
|
||||
.L800A5BE0:
|
||||
/* 0A67E0 800A5BE0 2404004D */ li $a0, 77
|
||||
/* 0A67E4 800A5BE4 02002825 */ move $a1, $s0
|
||||
/* 0A67E8 800A5BE8 8C460000 */ lw $a2, ($v0)
|
||||
/* 0A67EC 800A5BEC 00003825 */ move $a3, $zero
|
||||
/* 0A67F0 800A5BF0 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A67F4 800A5BF4 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A67F8 800A5BF8 0C024CC9 */ jal func_80093324
|
||||
/* 0A67FC 800A5BFC AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A6800 800A5C00 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6804 800A5C04 2610000D */ addiu $s0, $s0, 0xd
|
||||
/* 0A6808 800A5C08 1611FFF5 */ bne $s0, $s1, .L800A5BE0
|
||||
/* 0A680C 800A5C0C 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A6810 800A5C10 100000DF */ b .L800A5F90
|
||||
/* 0A6814 800A5C14 8E630004 */ lw $v1, 4($s3)
|
||||
glabel L800A5C18
|
||||
/* 0A6818 800A5C18 0C024C36 */ jal set_text_color
|
||||
/* 0A681C 800A5C1C 24040001 */ li $a0, 1
|
||||
/* 0A6820 800A5C20 3C02800E */ lui $v0, %hi(D_800E7A3C) # $v0, 0x800e
|
||||
/* 0A6824 800A5C24 3C01800F */ lui $at, %hi(D_800F1E88) # $at, 0x800f
|
||||
/* 0A6828 800A5C28 3C11800E */ lui $s1, %hi(D_800E7A44) # $s1, 0x800e
|
||||
/* 0A682C 800A5C2C 26317A44 */ addiu $s1, %lo(D_800E7A44) # addiu $s1, $s1, 0x7a44
|
||||
/* 0A6830 800A5C30 C4341E88 */ lwc1 $f20, %lo(D_800F1E88)($at)
|
||||
/* 0A6834 800A5C34 24427A3C */ addiu $v0, %lo(D_800E7A3C) # addiu $v0, $v0, 0x7a3c
|
||||
/* 0A6838 800A5C38 00008025 */ move $s0, $zero
|
||||
/* 0A683C 800A5C3C 8E790010 */ lw $t9, 0x10($s3)
|
||||
.L800A5C40:
|
||||
/* 0A6840 800A5C40 AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A6844 800A5C44 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6848 800A5C48 03302821 */ addu $a1, $t9, $s0
|
||||
/* 0A684C 800A5C4C 24A5006E */ addiu $a1, $a1, 0x6e
|
||||
/* 0A6850 800A5C50 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6854 800A5C54 2404005A */ li $a0, 90
|
||||
/* 0A6858 800A5C58 8C460000 */ lw $a2, ($v0)
|
||||
/* 0A685C 800A5C5C 0C024CC9 */ jal func_80093324
|
||||
/* 0A6860 800A5C60 00003825 */ move $a3, $zero
|
||||
/* 0A6864 800A5C64 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6868 800A5C68 2610000D */ addiu $s0, $s0, 0xd
|
||||
/* 0A686C 800A5C6C 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A6870 800A5C70 0051082B */ sltu $at, $v0, $s1
|
||||
/* 0A6874 800A5C74 5420FFF2 */ bnel $at, $zero, .L800A5C40
|
||||
/* 0A6878 800A5C78 8E790010 */ lw $t9, 0x10($s3)
|
||||
/* 0A687C 800A5C7C 3C013F40 */ li $at, 0x3F400000 # 0.750000
|
||||
/* 0A6880 800A5C80 3C128019 */ lui $s2, %hi(D_8018EE10) # $s2, 0x8019
|
||||
/* 0A6884 800A5C84 4481A000 */ mtc1 $at, $f20
|
||||
/* 0A6888 800A5C88 2652EE10 */ addiu $s2, %lo(D_8018EE10) # addiu $s2, $s2, -0x11f0
|
||||
/* 0A688C 800A5C8C 00008825 */ move $s1, $zero
|
||||
/* 0A6890 800A5C90 24100096 */ li $s0, 150
|
||||
.L800A5C94:
|
||||
/* 0A6894 800A5C94 8E640004 */ lw $a0, 4($s3)
|
||||
/* 0A6898 800A5C98 02202825 */ move $a1, $s1
|
||||
/* 0A689C 800A5C9C 24060001 */ li $a2, 1
|
||||
/* 0A68A0 800A5CA0 0C024870 */ jal text_rainbow_effect
|
||||
/* 0A68A4 800A5CA4 2484FFE2 */ addiu $a0, $a0, -0x1e
|
||||
/* 0A68A8 800A5CA8 26240001 */ addiu $a0, $s1, 1
|
||||
/* 0A68AC 800A5CAC AFA40054 */ sw $a0, 0x54($sp)
|
||||
/* 0A68B0 800A5CB0 0C029E25 */ jal convert_number_to_ascii
|
||||
/* 0A68B4 800A5CB4 27A5005C */ addiu $a1, $sp, 0x5c
|
||||
/* 0A68B8 800A5CB8 8E69000C */ lw $t1, 0xc($s3)
|
||||
/* 0A68BC 800A5CBC 240A005A */ li $t2, 90
|
||||
/* 0A68C0 800A5CC0 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A68C4 800A5CC4 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A68C8 800A5CC8 02002825 */ move $a1, $s0
|
||||
/* 0A68CC 800A5CCC 27A6005D */ addiu $a2, $sp, 0x5d
|
||||
/* 0A68D0 800A5CD0 00003825 */ move $a3, $zero
|
||||
/* 0A68D4 800A5CD4 0C024CC9 */ jal func_80093324
|
||||
/* 0A68D8 800A5CD8 01492023 */ subu $a0, $t2, $t1
|
||||
/* 0A68DC 800A5CDC 924B0004 */ lbu $t3, 4($s2)
|
||||
/* 0A68E0 800A5CE0 240F0069 */ li $t7, 105
|
||||
/* 0A68E4 800A5CE4 02002825 */ move $a1, $s0
|
||||
/* 0A68E8 800A5CE8 1560000D */ bnez $t3, .L800A5D20
|
||||
/* 0A68EC 800A5CEC 3C06800E */ lui $a2, %hi(D_800E75C4)
|
||||
/* 0A68F0 800A5CF0 8E6C000C */ lw $t4, 0xc($s3)
|
||||
/* 0A68F4 800A5CF4 240D0069 */ li $t5, 105
|
||||
/* 0A68F8 800A5CF8 3C06800E */ lui $a2, %hi(D_800E7A44) # $a2, 0x800e
|
||||
/* 0A68FC 800A5CFC 8CC67A44 */ lw $a2, %lo(D_800E7A44)($a2)
|
||||
/* 0A6900 800A5D00 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6904 800A5D04 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6908 800A5D08 02002825 */ move $a1, $s0
|
||||
/* 0A690C 800A5D0C 00003825 */ move $a3, $zero
|
||||
/* 0A6910 800A5D10 0C024CC9 */ jal func_80093324
|
||||
/* 0A6914 800A5D14 01AC2023 */ subu $a0, $t5, $t4
|
||||
/* 0A6918 800A5D18 1000001B */ b .L800A5D88
|
||||
/* 0A691C 800A5D1C 8FB10054 */ lw $s1, 0x54($sp)
|
||||
.L800A5D20:
|
||||
/* 0A6920 800A5D20 82420005 */ lb $v0, 5($s2)
|
||||
/* 0A6924 800A5D24 3C0B800F */ lui $t3, %hi(gCupCourseOrder)
|
||||
/* 0A6928 800A5D28 8E6E000C */ lw $t6, 0xc($s3)
|
||||
/* 0A692C 800A5D2C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6930 800A5D30 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6934 800A5D34 00003825 */ move $a3, $zero
|
||||
/* 0A6938 800A5D38 01EE2023 */ subu $a0, $t7, $t6
|
||||
/* 0A693C 800A5D3C 04410003 */ bgez $v0, .L800A5D4C
|
||||
/* 0A6940 800A5D40 0002C083 */ sra $t8, $v0, 2
|
||||
/* 0A6944 800A5D44 24410003 */ addiu $at, $v0, 3
|
||||
/* 0A6948 800A5D48 0001C083 */ sra $t8, $at, 2
|
||||
.L800A5D4C:
|
||||
/* 0A694C 800A5D4C 001840C0 */ sll $t0, $t8, 3
|
||||
/* 0A6950 800A5D50 04410004 */ bgez $v0, .L800A5D64
|
||||
/* 0A6954 800A5D54 30590003 */ andi $t9, $v0, 3
|
||||
/* 0A6958 800A5D58 13200002 */ beqz $t9, .L800A5D64
|
||||
/* 0A695C 800A5D5C 00000000 */ nop
|
||||
/* 0A6960 800A5D60 2739FFFC */ addiu $t9, $t9, -4
|
||||
.L800A5D64:
|
||||
/* 0A6964 800A5D64 00195040 */ sll $t2, $t9, 1
|
||||
/* 0A6968 800A5D68 010A4821 */ addu $t1, $t0, $t2
|
||||
/* 0A696C 800A5D6C 01695821 */ addu $t3, $t3, $t1
|
||||
/* 0A6970 800A5D70 856B2BB4 */ lh $t3, %lo(gCupCourseOrder)($t3)
|
||||
/* 0A6974 800A5D74 000B6880 */ sll $t5, $t3, 2
|
||||
/* 0A6978 800A5D78 00CD3021 */ addu $a2, $a2, $t5
|
||||
/* 0A697C 800A5D7C 0C024CC9 */ jal func_80093324
|
||||
/* 0A6980 800A5D80 8CC675C4 */ lw $a2, %lo(D_800E75C4)($a2)
|
||||
/* 0A6984 800A5D84 8FB10054 */ lw $s1, 0x54($sp)
|
||||
.L800A5D88:
|
||||
/* 0A6988 800A5D88 24010002 */ li $at, 2
|
||||
/* 0A698C 800A5D8C 26100014 */ addiu $s0, $s0, 0x14
|
||||
/* 0A6990 800A5D90 1621FFC0 */ bne $s1, $at, .L800A5C94
|
||||
/* 0A6994 800A5D94 26520080 */ addiu $s2, $s2, 0x80
|
||||
/* 0A6998 800A5D98 1000007D */ b .L800A5F90
|
||||
/* 0A699C 800A5D9C 8E630004 */ lw $v1, 4($s3)
|
||||
glabel L800A5DA0
|
||||
/* 0A69A0 800A5DA0 0C024C36 */ jal set_text_color
|
||||
/* 0A69A4 800A5DA4 24040003 */ li $a0, 3
|
||||
/* 0A69A8 800A5DA8 3C02800E */ lui $v0, %hi(D_800E7A48) # $v0, 0x800e
|
||||
/* 0A69AC 800A5DAC 3C01800F */ lui $at, %hi(D_800F1E8C) # $at, 0x800f
|
||||
/* 0A69B0 800A5DB0 3C11800E */ lui $s1, %hi(D_800E7A54) # $s1, 0x800e
|
||||
/* 0A69B4 800A5DB4 26317A54 */ addiu $s1, %lo(D_800E7A54) # addiu $s1, $s1, 0x7a54
|
||||
/* 0A69B8 800A5DB8 C4341E8C */ lwc1 $f20, %lo(D_800F1E8C)($at)
|
||||
/* 0A69BC 800A5DBC 24427A48 */ addiu $v0, %lo(D_800E7A48) # addiu $v0, $v0, 0x7a48
|
||||
/* 0A69C0 800A5DC0 2410006E */ li $s0, 110
|
||||
/* 0A69C4 800A5DC4 24040064 */ li $a0, 100
|
||||
.L800A5DC8:
|
||||
/* 0A69C8 800A5DC8 02002825 */ move $a1, $s0
|
||||
/* 0A69CC 800A5DCC 8C460000 */ lw $a2, ($v0)
|
||||
/* 0A69D0 800A5DD0 00003825 */ move $a3, $zero
|
||||
/* 0A69D4 800A5DD4 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A69D8 800A5DD8 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A69DC 800A5DDC 0C024CC9 */ jal func_80093324
|
||||
/* 0A69E0 800A5DE0 AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A69E4 800A5DE4 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A69E8 800A5DE8 2610000D */ addiu $s0, $s0, 0xd
|
||||
/* 0A69EC 800A5DEC 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A69F0 800A5DF0 5451FFF5 */ bnel $v0, $s1, .L800A5DC8
|
||||
/* 0A69F4 800A5DF4 24040064 */ li $a0, 100
|
||||
/* 0A69F8 800A5DF8 10000065 */ b .L800A5F90
|
||||
/* 0A69FC 800A5DFC 8E630004 */ lw $v1, 4($s3)
|
||||
glabel L800A5E00
|
||||
/* 0A6A00 800A5E00 0C024C36 */ jal set_text_color
|
||||
/* 0A6A04 800A5E04 24040003 */ li $a0, 3
|
||||
/* 0A6A08 800A5E08 3C02800E */ lui $v0, %hi(D_800E7A60) # $v0, 0x800e
|
||||
/* 0A6A0C 800A5E0C 3C01800F */ lui $at, %hi(D_800F1E90) # $at, 0x800f
|
||||
/* 0A6A10 800A5E10 3C11800E */ lui $s1, %hi(D_800E7A6C) # $s1, 0x800e
|
||||
/* 0A6A14 800A5E14 26317A6C */ addiu $s1, %lo(D_800E7A6C) # addiu $s1, $s1, 0x7a6c
|
||||
/* 0A6A18 800A5E18 C4341E90 */ lwc1 $f20, %lo(D_800F1E90)($at)
|
||||
/* 0A6A1C 800A5E1C 24427A60 */ addiu $v0, %lo(D_800E7A60) # addiu $v0, $v0, 0x7a60
|
||||
/* 0A6A20 800A5E20 00008025 */ move $s0, $zero
|
||||
/* 0A6A24 800A5E24 8E6C0010 */ lw $t4, 0x10($s3)
|
||||
.L800A5E28:
|
||||
/* 0A6A28 800A5E28 AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A6A2C 800A5E2C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6A30 800A5E30 01902821 */ addu $a1, $t4, $s0
|
||||
/* 0A6A34 800A5E34 24A5006E */ addiu $a1, $a1, 0x6e
|
||||
/* 0A6A38 800A5E38 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6A3C 800A5E3C 24040055 */ li $a0, 85
|
||||
/* 0A6A40 800A5E40 8C460000 */ lw $a2, ($v0)
|
||||
/* 0A6A44 800A5E44 0C024CC9 */ jal func_80093324
|
||||
/* 0A6A48 800A5E48 00003825 */ move $a3, $zero
|
||||
/* 0A6A4C 800A5E4C 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6A50 800A5E50 2610000D */ addiu $s0, $s0, 0xd
|
||||
/* 0A6A54 800A5E54 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A6A58 800A5E58 0051082B */ sltu $at, $v0, $s1
|
||||
/* 0A6A5C 800A5E5C 5420FFF2 */ bnel $at, $zero, .L800A5E28
|
||||
/* 0A6A60 800A5E60 8E6C0010 */ lw $t4, 0x10($s3)
|
||||
/* 0A6A64 800A5E64 3C02800E */ lui $v0, %hi(D_800E7A6C) # $v0, 0x800e
|
||||
/* 0A6A68 800A5E68 24427A6C */ addiu $v0, %lo(D_800E7A6C) # addiu $v0, $v0, 0x7a6c
|
||||
/* 0A6A6C 800A5E6C 00008825 */ move $s1, $zero
|
||||
/* 0A6A70 800A5E70 2410009B */ li $s0, 155
|
||||
/* 0A6A74 800A5E74 2412007D */ li $s2, 125
|
||||
.L800A5E78:
|
||||
/* 0A6A78 800A5E78 8E640004 */ lw $a0, 4($s3)
|
||||
/* 0A6A7C 800A5E7C AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A6A80 800A5E80 02202825 */ move $a1, $s1
|
||||
/* 0A6A84 800A5E84 24060001 */ li $a2, 1
|
||||
/* 0A6A88 800A5E88 0C024870 */ jal text_rainbow_effect
|
||||
/* 0A6A8C 800A5E8C 2484FFDD */ addiu $a0, $a0, -0x23
|
||||
/* 0A6A90 800A5E90 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6A94 800A5E94 8E6F000C */ lw $t7, 0xc($s3)
|
||||
/* 0A6A98 800A5E98 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6A9C 800A5E9C E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6AA0 800A5EA0 02002825 */ move $a1, $s0
|
||||
/* 0A6AA4 800A5EA4 00003825 */ move $a3, $zero
|
||||
/* 0A6AA8 800A5EA8 8C460000 */ lw $a2, ($v0)
|
||||
/* 0A6AAC 800A5EAC 0C024CC9 */ jal func_80093324
|
||||
/* 0A6AB0 800A5EB0 024F2023 */ subu $a0, $s2, $t7
|
||||
/* 0A6AB4 800A5EB4 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6AB8 800A5EB8 26310001 */ addiu $s1, $s1, 1
|
||||
/* 0A6ABC 800A5EBC 24010002 */ li $at, 2
|
||||
/* 0A6AC0 800A5EC0 2610000F */ addiu $s0, $s0, 0xf
|
||||
/* 0A6AC4 800A5EC4 1621FFEC */ bne $s1, $at, .L800A5E78
|
||||
/* 0A6AC8 800A5EC8 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A6ACC 800A5ECC 10000030 */ b .L800A5F90
|
||||
/* 0A6AD0 800A5ED0 8E630004 */ lw $v1, 4($s3)
|
||||
glabel L800A5ED4
|
||||
/* 0A6AD4 800A5ED4 0C024C36 */ jal set_text_color
|
||||
/* 0A6AD8 800A5ED8 24040003 */ li $a0, 3
|
||||
/* 0A6ADC 800A5EDC 3C02800E */ lui $v0, %hi(D_800E7A74) # $v0, 0x800e
|
||||
/* 0A6AE0 800A5EE0 3C01800F */ lui $at, %hi(D_800F1E94) # $at, 0x800f
|
||||
/* 0A6AE4 800A5EE4 3C11800E */ lui $s1, %hi(D_800E7A80) # $s1, 0x800e
|
||||
/* 0A6AE8 800A5EE8 26317A80 */ addiu $s1, %lo(D_800E7A80) # addiu $s1, $s1, 0x7a80
|
||||
/* 0A6AEC 800A5EEC C4341E94 */ lwc1 $f20, %lo(D_800F1E94)($at)
|
||||
/* 0A6AF0 800A5EF0 24427A74 */ addiu $v0, %lo(D_800E7A74) # addiu $v0, $v0, 0x7a74
|
||||
/* 0A6AF4 800A5EF4 2410006E */ li $s0, 110
|
||||
/* 0A6AF8 800A5EF8 24040055 */ li $a0, 85
|
||||
.L800A5EFC:
|
||||
/* 0A6AFC 800A5EFC 02002825 */ move $a1, $s0
|
||||
/* 0A6B00 800A5F00 8C460000 */ lw $a2, ($v0)
|
||||
/* 0A6B04 800A5F04 00003825 */ move $a3, $zero
|
||||
/* 0A6B08 800A5F08 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6B0C 800A5F0C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6B10 800A5F10 0C024CC9 */ jal func_80093324
|
||||
/* 0A6B14 800A5F14 AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A6B18 800A5F18 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6B1C 800A5F1C 2610000D */ addiu $s0, $s0, 0xd
|
||||
/* 0A6B20 800A5F20 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A6B24 800A5F24 5451FFF5 */ bnel $v0, $s1, .L800A5EFC
|
||||
/* 0A6B28 800A5F28 24040055 */ li $a0, 85
|
||||
/* 0A6B2C 800A5F2C 10000018 */ b .L800A5F90
|
||||
/* 0A6B30 800A5F30 8E630004 */ lw $v1, 4($s3)
|
||||
glabel L800A5F34
|
||||
/* 0A6B34 800A5F34 0C024C36 */ jal set_text_color
|
||||
/* 0A6B38 800A5F38 24040003 */ li $a0, 3
|
||||
/* 0A6B3C 800A5F3C 3C02800E */ lui $v0, %hi(D_800E7A80) # $v0, 0x800e
|
||||
/* 0A6B40 800A5F40 3C01800F */ lui $at, %hi(D_800F1E98) # $at, 0x800f
|
||||
/* 0A6B44 800A5F44 3C11800E */ lui $s1, %hi(D_800E7A88) # $s1, 0x800e
|
||||
/* 0A6B48 800A5F48 26317A88 */ addiu $s1, %lo(D_800E7A88) # addiu $s1, $s1, 0x7a88
|
||||
/* 0A6B4C 800A5F4C C4341E98 */ lwc1 $f20, %lo(D_800F1E98)($at)
|
||||
/* 0A6B50 800A5F50 24427A80 */ addiu $v0, %lo(D_800E7A80) # addiu $v0, $v0, 0x7a80
|
||||
/* 0A6B54 800A5F54 2410006E */ li $s0, 110
|
||||
/* 0A6B58 800A5F58 2404005D */ li $a0, 93
|
||||
.L800A5F5C:
|
||||
/* 0A6B5C 800A5F5C 02002825 */ move $a1, $s0
|
||||
/* 0A6B60 800A5F60 8C460000 */ lw $a2, ($v0)
|
||||
/* 0A6B64 800A5F64 00003825 */ move $a3, $zero
|
||||
/* 0A6B68 800A5F68 E7B40010 */ swc1 $f20, 0x10($sp)
|
||||
/* 0A6B6C 800A5F6C E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A6B70 800A5F70 0C024CC9 */ jal func_80093324
|
||||
/* 0A6B74 800A5F74 AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* 0A6B78 800A5F78 8FA20050 */ lw $v0, 0x50($sp)
|
||||
/* 0A6B7C 800A5F7C 2610000D */ addiu $s0, $s0, 0xd
|
||||
/* 0A6B80 800A5F80 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0A6B84 800A5F84 5451FFF5 */ bnel $v0, $s1, .L800A5F5C
|
||||
/* 0A6B88 800A5F88 2404005D */ li $a0, 93
|
||||
/* 0A6B8C 800A5F8C 8E630004 */ lw $v1, 4($s3)
|
||||
.L800A5F90:
|
||||
glabel L800A5F90
|
||||
/* 0A6B90 800A5F90 246EFFF5 */ addiu $t6, $v1, -0xb
|
||||
/* 0A6B94 800A5F94 2DC1001A */ sltiu $at, $t6, 0x1a
|
||||
/* 0A6B98 800A5F98 1020001E */ beqz $at, .L800A6014
|
||||
/* 0A6B9C 800A5F9C 000E7080 */ sll $t6, $t6, 2
|
||||
/* 0A6BA0 800A5FA0 3C01800F */ lui $at, %hi(jpt_800F1E9C)
|
||||
/* 0A6BA4 800A5FA4 002E0821 */ addu $at, $at, $t6
|
||||
/* 0A6BA8 800A5FA8 8C2E1E9C */ lw $t6, %lo(jpt_800F1E9C)($at)
|
||||
/* 0A6BAC 800A5FAC 01C00008 */ jr $t6
|
||||
/* 0A6BB0 800A5FB0 00000000 */ nop
|
||||
glabel L800A5FB4
|
||||
/* 0A6BB4 800A5FB4 0003C0C0 */ sll $t8, $v1, 3
|
||||
/* 0A6BB8 800A5FB8 3C08800E */ lui $t0, %hi(D_800E73E0) # $t0, 0x800e
|
||||
/* 0A6BBC 800A5FBC 250873E0 */ addiu $t0, %lo(D_800E73E0) # addiu $t0, $t0, 0x73e0
|
||||
/* 0A6BC0 800A5FC0 2719FFA8 */ addiu $t9, $t8, -0x58
|
||||
/* 0A6BC4 800A5FC4 1000000C */ b .L800A5FF8
|
||||
/* 0A6BC8 800A5FC8 03281021 */ addu $v0, $t9, $t0
|
||||
glabel L800A5FCC
|
||||
/* 0A6BCC 800A5FCC 000350C0 */ sll $t2, $v1, 3
|
||||
/* 0A6BD0 800A5FD0 3C0B800E */ lui $t3, %hi(D_800E7410) # $t3, 0x800e
|
||||
/* 0A6BD4 800A5FD4 256B7410 */ addiu $t3, %lo(D_800E7410) # addiu $t3, $t3, 0x7410
|
||||
/* 0A6BD8 800A5FD8 2549FF10 */ addiu $t1, $t2, -0xf0
|
||||
/* 0A6BDC 800A5FDC 10000006 */ b .L800A5FF8
|
||||
/* 0A6BE0 800A5FE0 012B1021 */ addu $v0, $t1, $t3
|
||||
glabel L800A5FE4
|
||||
/* 0A6BE4 800A5FE4 000368C0 */ sll $t5, $v1, 3
|
||||
/* 0A6BE8 800A5FE8 3C0F800E */ lui $t7, %hi(D_800E7420) # $t7, 0x800e
|
||||
/* 0A6BEC 800A5FEC 25EF7420 */ addiu $t7, %lo(D_800E7420) # addiu $t7, $t7, 0x7420
|
||||
/* 0A6BF0 800A5FF0 25ACFEE8 */ addiu $t4, $t5, -0x118
|
||||
/* 0A6BF4 800A5FF4 018F1021 */ addu $v0, $t4, $t7
|
||||
.L800A5FF8:
|
||||
/* 0A6BF8 800A5FF8 844E0000 */ lh $t6, ($v0)
|
||||
/* 0A6BFC 800A5FFC 02602025 */ move $a0, $s3
|
||||
/* 0A6C00 800A6000 27A50098 */ addiu $a1, $sp, 0x98
|
||||
/* 0A6C04 800A6004 A7AE0098 */ sh $t6, 0x98($sp)
|
||||
/* 0A6C08 800A6008 84580002 */ lh $t8, 2($v0)
|
||||
/* 0A6C0C 800A600C 0C0299AA */ jal func_800A66A8
|
||||
/* 0A6C10 800A6010 A7B8009A */ sh $t8, 0x9a($sp)
|
||||
.L800A6014:
|
||||
glabel L800A6014
|
||||
/* 0A6C14 800A6014 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L800A6018:
|
||||
/* 0A6C18 800A6018 D7B40028 */ ldc1 $f20, 0x28($sp)
|
||||
/* 0A6C1C 800A601C 8FB00034 */ lw $s0, 0x34($sp)
|
||||
/* 0A6C20 800A6020 8FB10038 */ lw $s1, 0x38($sp)
|
||||
/* 0A6C24 800A6024 8FB2003C */ lw $s2, 0x3c($sp)
|
||||
/* 0A6C28 800A6028 8FB30040 */ lw $s3, 0x40($sp)
|
||||
/* 0A6C2C 800A602C 03E00008 */ jr $ra
|
||||
/* 0A6C30 800A6030 27BD00A0 */ addiu $sp, $sp, 0xa0
|
|
@ -4,7 +4,7 @@
|
|||
compiler_type = "ido"
|
||||
|
||||
[decompme.compilers]
|
||||
"tools/ido5.3_recomp/cc" = "ido5.3"
|
||||
"tools/ido-recomp/linux/cc" = "ido5.3"
|
||||
|
||||
[preserve_macros]
|
||||
"gs?DP.*" = "void"
|
||||
|
|
|
@ -15,7 +15,21 @@
|
|||
*/
|
||||
typedef struct {
|
||||
u8 pixel_index_array[0x1000];
|
||||
} struct_D_802BFB80; // size = 0x1000
|
||||
} struct_D_802BFB80_8; // size = 0x1000
|
||||
|
||||
typedef struct {
|
||||
u8 pixel_index_array[0x2000];
|
||||
} struct_D_802BFB80_4; // size = 0x1000
|
||||
|
||||
/*
|
||||
* In render_player, spawn_players, and staff_ghosts D_802BFB80 is the arraySize8 entry
|
||||
* But in code_80091750 its the arraySize4 entry
|
||||
* The only way to unify those 2 things is to use a union
|
||||
*/
|
||||
typedef union {
|
||||
struct_D_802BFB80_4 arraySize4[2][2][4];
|
||||
struct_D_802BFB80_8 arraySize8[2][2][8];
|
||||
} union_D_802BFB80;
|
||||
|
||||
/*
|
||||
* Texture prior to be being decoded via mio0decode
|
||||
|
@ -55,7 +69,7 @@ typedef struct {
|
|||
|
||||
extern u16 gRandomSeed16;
|
||||
extern u8 randomSeedPadding[216];
|
||||
extern struct_D_802BFB80 D_802BFB80[][2][8];
|
||||
extern union_D_802BFB80 D_802BFB80;
|
||||
extern struct_D_802DFB80 D_802DFB80[][2][8];
|
||||
|
||||
/**
|
||||
|
|
|
@ -95,10 +95,11 @@ SaveData gSaveData;
|
|||
u8 D_8018ED90;
|
||||
u8 D_8018ED91;
|
||||
s32 s8018ED94;
|
||||
|
||||
f32 D_8018ED98; // Rotation
|
||||
f32 D_8018ED9C; // Rotation
|
||||
|
||||
f32 D_8018EDA0; // Rotation
|
||||
|
||||
f32 D_8018EDA4;
|
||||
f32 D_8018EDA8;
|
||||
f32 D_8018EDAC;
|
||||
|
@ -4867,13 +4868,6 @@ void func_800996BC(MkTexture *arg0, s32 arg1) {
|
|||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800996BC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
// Note that as it stands this function is NOT functionally identical
|
||||
// However the diff is tiny and there's not really much left to be done
|
||||
// A potential match found by Vetri: https://decomp.me/scratch/fnW6S
|
||||
// The only problem with it is that it requires modifying D_802BFB80's dimesnions
|
||||
// and that seems really really wrong. But a match is a match, so it demands
|
||||
// more investigation.
|
||||
void func_80099958(MkTexture *arg0, s32 arg1, s32 arg2) {
|
||||
u16 var_a1;
|
||||
u8 *thing;
|
||||
|
@ -4891,14 +4885,10 @@ void func_80099958(MkTexture *arg0, s32 arg1, s32 arg2) {
|
|||
var_a1 = ((var_a1 / 8) * 8) + 8;
|
||||
}
|
||||
dma_copy_base_729a30(temp_v0->textureData, var_a1, D_8018D9B4);
|
||||
// `arg1 % 2` needs to be multiplied by 2, but doing that causes a large diff
|
||||
mio0decode(D_8018D9B4, D_802BFB80[arg2][arg1 / 2][(arg1 % 2) + 4].pixel_index_array);
|
||||
mio0decode(D_8018D9B4, D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array);
|
||||
temp_v0++;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099958.s")
|
||||
#endif
|
||||
|
||||
// Possibly a debug print function?
|
||||
void func_80099A70(void) {
|
||||
|
@ -4918,94 +4908,89 @@ void func_80099A94(MkTexture *arg0, s32 arg1) {
|
|||
var_v1->unk_4 = arg1;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit a39b70e85329b0bcaeb4350510ddb23dc9840dce on Feb-04-2024
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/rxEoi
|
||||
// Something's up with the handling of `_textures_0aSegmentRomStart`, I don't know how to fix it
|
||||
void func_80099AEC(void) {
|
||||
OSIoMesg sp6C;
|
||||
void *sp68;
|
||||
s8 var_s4;
|
||||
s32 var_s0;
|
||||
s32 stackPadding0;
|
||||
s32 stackPadding1;
|
||||
s32 huh;
|
||||
OSIoMesg sp68;
|
||||
OSMesg sp64;
|
||||
u8 *test;
|
||||
s32 sp60;
|
||||
u8 *sp58;
|
||||
MkTexture *temp_s2;
|
||||
s32 temp_t7;
|
||||
s8 var_s5;
|
||||
struct_8018E060_entry *temp_s1;
|
||||
struct_8018E060_entry *var_s1;
|
||||
u16 temp_v1;
|
||||
u16 temp_v1_2;
|
||||
u16 temp_v1_3;
|
||||
u16 var_s0;
|
||||
u16 var_s0_2;
|
||||
u16 var_s0_3;
|
||||
void *temp_v0;
|
||||
void *temp_v0_2;
|
||||
|
||||
if (gGamestate == 4) {
|
||||
sp60 = 0x00000500;
|
||||
} else {
|
||||
sp60 = 0x00001000;
|
||||
}
|
||||
|
||||
var_s4 = 0;
|
||||
var_s1 = D_8018E060;
|
||||
temp_s2 = D_8018E060->texture;
|
||||
var_s5 = 0;
|
||||
if (temp_s2 != NULL) {
|
||||
temp_v1 = temp_s2->size;
|
||||
temp_s2 = var_s1->texture;
|
||||
|
||||
if (temp_s2 == NULL) return;
|
||||
|
||||
huh = temp_s2->size;
|
||||
if (huh != 0) {
|
||||
var_s0 = huh;
|
||||
} else {
|
||||
var_s0 = 0x1400;
|
||||
if (temp_v1 != 0) {
|
||||
var_s0 = temp_v1;
|
||||
}
|
||||
if (((s32) var_s0 % 8) != 0) {
|
||||
var_s0 = (((s32) var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, (u32) var_s0);
|
||||
sp58 = _textures_0aSegmentRomStart;
|
||||
osPiStartDma(&sp6C, 0, 0, (u32) &_textures_0aSegmentRomStart[(s32) temp_s2->textureData & 0xFFFFFF], D_8018D9B4, (u32) var_s0, &gDmaMesgQueue);
|
||||
osRecvMesg(&gDmaMesgQueue, &sp68, 1);
|
||||
loop_9:
|
||||
temp_v0 = var_s1->unk8;
|
||||
if (temp_v0 == NULL) {
|
||||
var_s5 += 1;
|
||||
}
|
||||
if (var_s0 % 8) {
|
||||
var_s0 = ((var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, var_s0);
|
||||
osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4, var_s0, &gDmaMesgQueue);
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
while (1) {
|
||||
if ((var_s1 + 1)->texture == NULL) {
|
||||
var_s4 += 1;
|
||||
} else {
|
||||
temp_v1_2 = temp_v0->unk10;
|
||||
temp_t7 = sp60 * 4;
|
||||
if (temp_v1_2 != 0) {
|
||||
var_s0_2 = temp_v1_2;
|
||||
temp_s2 = (var_s1 + 1)->texture;
|
||||
huh = (var_s1 + 1)->texture->size;
|
||||
if (huh != 0) {
|
||||
var_s0 = huh;
|
||||
} else {
|
||||
var_s0_2 = 0x1400;
|
||||
var_s0 = 0x1400;
|
||||
}
|
||||
if (((s32) var_s0_2 % 8) != 0) {
|
||||
var_s0_2 = (((s32) var_s0_2 / 8) * 8) + 8;
|
||||
if (var_s0 % 8) {
|
||||
var_s0 = ((var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(temp_t7 + D_8018D9B4, (u32) var_s0_2);
|
||||
osPiStartDma(&sp6C, 0, 0, (u32) &sp58[temp_v0->unk4 & 0xFFFFFF], temp_t7 + D_8018D9B4, (u32) var_s0_2, &gDmaMesgQueue);
|
||||
osInvalDCache(D_8018D9B4 + sp60*4, var_s0);
|
||||
osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4 + sp60*4, var_s0, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(D_8018D9B4, (u8 *) &D_8018D9B0[D_8018E118[var_s1->unk_4].offset]);
|
||||
mio0decode(D_8018D9B4, &D_8018D9B0[D_8018E118[var_s1->unk_4].offset]);
|
||||
var_s1->texture = NULL;
|
||||
temp_s1 = var_s1 + 8;
|
||||
if (var_s5 == 0) {
|
||||
osRecvMesg(&gDmaMesgQueue, &sp68, 1);
|
||||
temp_v0_2 = temp_s1->unk8;
|
||||
if (temp_v0_2 == NULL) {
|
||||
var_s5 += 1;
|
||||
var_s1++;
|
||||
if (var_s4 != 0) break;
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
if ((var_s1 + 1)->texture == NULL) {
|
||||
var_s4 += 1;
|
||||
} else {
|
||||
temp_s2 = (var_s1 + 1)->texture;
|
||||
huh = (var_s1 + 1)->texture->size;
|
||||
if (huh != 0) {
|
||||
var_s0 = huh;
|
||||
} else {
|
||||
temp_v1_3 = temp_v0_2->unk10;
|
||||
var_s0_3 = 0x1400;
|
||||
if (temp_v1_3 != 0) {
|
||||
var_s0_3 = temp_v1_3;
|
||||
}
|
||||
if (((s32) var_s0_3 % 8) != 0) {
|
||||
var_s0_3 = (((s32) var_s0_3 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, (u32) var_s0_3);
|
||||
osPiStartDma(&sp6C, 0, 0, (u32) &sp58[temp_v0_2->unk4 & 0xFFFFFF], D_8018D9B4, (u32) var_s0_3, &gDmaMesgQueue);
|
||||
var_s0 = 0x1400;
|
||||
}
|
||||
mio0decode((sp60 * 4) + D_8018D9B4, (u8 *) &D_8018D9B0[D_8018E118[temp_s1->unk_4].offset]);
|
||||
temp_s1->texture = NULL;
|
||||
var_s1 = temp_s1 + 8;
|
||||
if (var_s5 == 0) {
|
||||
osRecvMesg(&gDmaMesgQueue, &sp68, 1);
|
||||
goto loop_9;
|
||||
if (var_s0 % 8) {
|
||||
var_s0 = ((var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, var_s0);
|
||||
osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4, var_s0, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(D_8018D9B4 + sp60*4, &D_8018D9B0[D_8018E118[var_s1->unk_4].offset]);
|
||||
var_s1->texture = NULL;
|
||||
var_s1++;
|
||||
if (var_s4 != 0) break;
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
@ -5028,93 +5013,124 @@ void func_80099E60(MkTexture *arg0, s32 arg1, s32 arg2) {
|
|||
var_v1->unk6 = arg2;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit a39b70e85329b0bcaeb4350510ddb23dc9840dce on Feb-04-2024
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/rUXbD
|
||||
// Some fakematch nonsense, may or may not be necessary
|
||||
// Issue is with instruction ordering near the first `osPiStartDma` call
|
||||
void func_80099EC4(void) {
|
||||
OSIoMesg sp68;
|
||||
void *sp64;
|
||||
MkTexture *temp_s2;
|
||||
s16 temp_v0_2;
|
||||
s16 temp_v0_4;
|
||||
s8 var_s4;
|
||||
struct_8018E0E8_entry *temp_s1;
|
||||
s32 var_s0;
|
||||
s32 stackPadding0;
|
||||
s32 stackPadding1;
|
||||
OSIoMesg sp68;
|
||||
OSMesg sp64;
|
||||
s32 huh;
|
||||
u8 *test;
|
||||
MkTexture *temp_s2;
|
||||
struct_8018E0E8_entry *var_s1;
|
||||
u16 temp_v1;
|
||||
u16 temp_v1_2;
|
||||
u16 temp_v1_3;
|
||||
u16 var_s0;
|
||||
u16 var_s0_2;
|
||||
u16 var_s0_3;
|
||||
void *temp_v0;
|
||||
void *temp_v0_3;
|
||||
|
||||
var_s1 = D_8018E0E8;
|
||||
temp_s2 = D_8018E0E8->mk64Texture;
|
||||
var_s4 = 0;
|
||||
if (temp_s2 != NULL) {
|
||||
temp_v1 = temp_s2->size;
|
||||
var_s1 = D_8018E0E8;
|
||||
temp_s2 = var_s1->mk64Texture;
|
||||
|
||||
if (temp_s2 == NULL) return;
|
||||
|
||||
huh = temp_s2->size;
|
||||
if (huh != 0) {
|
||||
var_s0 = huh;
|
||||
} else {
|
||||
var_s0 = 0x1400;
|
||||
if (temp_v1 != 0) {
|
||||
var_s0 = temp_v1;
|
||||
}
|
||||
if (((s32) var_s0 % 8) != 0) {
|
||||
var_s0 = (((s32) var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, (u32) var_s0);
|
||||
osPiStartDma(&sp68, 0, 0, (u32) &_textures_0aSegmentRomStart[(s32) temp_s2->textureData & 0xFFFFFF], D_8018D9B4, (u32) var_s0, &gDmaMesgQueue);
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
loop_6:
|
||||
temp_v0 = var_s1->unk8;
|
||||
if (temp_v0 == NULL) {
|
||||
}
|
||||
if (var_s0 % 8) {
|
||||
var_s0 = ((var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, var_s0);
|
||||
test = &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)];
|
||||
osPiStartDma(&sp68, 0, 0, test, D_8018D9B4, var_s0, &gDmaMesgQueue);
|
||||
if ((var_s0 && var_s0) && var_s0) {}
|
||||
// osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4, var_s0, &gDmaMesgQueue);
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
while (1) {
|
||||
if ((var_s1 + 1)->mk64Texture == NULL) {
|
||||
var_s4 += 1;
|
||||
} else {
|
||||
temp_v1_2 = temp_v0->unk10;
|
||||
var_s0_2 = 0x1400;
|
||||
if (temp_v1_2 != 0) {
|
||||
var_s0_2 = temp_v1_2;
|
||||
}
|
||||
if (((s32) var_s0_2 % 8) != 0) {
|
||||
var_s0_2 = (((s32) var_s0_2 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4 + 0x1400, (u32) var_s0_2);
|
||||
osPiStartDma(&sp68, 0, 0, (u32) &_textures_0aSegmentRomStart[temp_v0->unk4 & 0xFFFFFF], D_8018D9B4 + 0x1400, (u32) var_s0_2, &gDmaMesgQueue);
|
||||
}
|
||||
temp_v0_2 = var_s1->unk4;
|
||||
mio0decode(D_8018D9B4, D_802BFB80[var_s1->unk6][temp_v0_2 / 2] + ((temp_v0_2 % 2) << 0xD) + 0x4000);
|
||||
var_s1->mk64Texture = NULL;
|
||||
temp_s1 = var_s1 + 8;
|
||||
if (var_s4 == 0) {
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
temp_v0_3 = temp_s1->unk8;
|
||||
if (temp_v0_3 == NULL) {
|
||||
var_s4 += 1;
|
||||
temp_s2 = (var_s1 + 1)->mk64Texture;
|
||||
huh = (var_s1 + 1)->mk64Texture->size;
|
||||
if (huh != 0) {
|
||||
var_s0 = huh;
|
||||
} else {
|
||||
temp_v1_3 = temp_v0_3->unk10;
|
||||
var_s0_3 = 0x1400;
|
||||
if (temp_v1_3 != 0) {
|
||||
var_s0_3 = temp_v1_3;
|
||||
}
|
||||
if (((s32) var_s0_3 % 8) != 0) {
|
||||
var_s0_3 = (((s32) var_s0_3 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, (u32) var_s0_3);
|
||||
osPiStartDma(&sp68, 0, 0, (u32) &_textures_0aSegmentRomStart[temp_v0_3->unk4 & 0xFFFFFF], D_8018D9B4, (u32) var_s0_3, &gDmaMesgQueue);
|
||||
var_s0 = 0x1400;
|
||||
}
|
||||
temp_v0_4 = temp_s1->unk4;
|
||||
mio0decode(D_8018D9B4 + 0x1400, D_802BFB80[temp_s1->unk6][temp_v0_4 / 2] + ((temp_v0_4 % 2) << 0xD) + 0x4000);
|
||||
temp_s1->mk64Texture = NULL;
|
||||
var_s1 = temp_s1 + 8;
|
||||
if (var_s4 == 0) {
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
goto loop_6;
|
||||
if (var_s0 % 8) {
|
||||
var_s0 = ((var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4 + 0x1400, var_s0);
|
||||
osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4 + 0x1400, var_s0, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(D_8018D9B4, D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
|
||||
var_s1->mk64Texture = NULL;
|
||||
var_s1++;
|
||||
if (var_s4 != 0) break;
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
if ((var_s1 + 1)->mk64Texture == NULL) {
|
||||
var_s4 += 1;
|
||||
} else {
|
||||
temp_s2 = (var_s1 + 1)->mk64Texture;
|
||||
huh = (var_s1 + 1)->mk64Texture->size;
|
||||
if (huh != 0) {
|
||||
var_s0 = huh;
|
||||
} else {
|
||||
var_s0 = 0x1400;
|
||||
}
|
||||
if (var_s0 % 8) {
|
||||
var_s0 = ((var_s0 / 8) * 8) + 8;
|
||||
}
|
||||
osInvalDCache(D_8018D9B4, var_s0);
|
||||
osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4, var_s0, &gDmaMesgQueue);
|
||||
}
|
||||
mio0decode(D_8018D9B4 + 0x1400, D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
|
||||
var_s1->mk64Texture = NULL;
|
||||
var_s1++;
|
||||
if (var_s4 != 0) break;
|
||||
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099EC4.s")
|
||||
#endif
|
||||
|
||||
void func_8009A238(MkTexture *arg0, s32 arg1) {
|
||||
s32 var_a3;
|
||||
s32 temp_v1;
|
||||
u64 *sp24;
|
||||
struct_8018E118_entry *temp_v0;
|
||||
|
||||
temp_v1 = D_8018E118[arg1].offset;
|
||||
sp24 = arg0->textureData;
|
||||
var_a3 = arg0->size;
|
||||
if (var_a3 % 8) {
|
||||
var_a3 = ((var_a3 / 8) * 8) + 8;
|
||||
}
|
||||
dma_copy_base_7fa3c0(sp24, var_a3, D_8018D9B4);
|
||||
tkmk00decode(D_8018D9B4, D_8018D9B8, &D_8018D9B0[temp_v1], 1);
|
||||
D_8018E118[arg1].textureData = sp24;
|
||||
}
|
||||
|
||||
void func_8009A2F0(struct_8018E0E8_entry *arg0) {
|
||||
MkTexture *var_a0;
|
||||
struct_8018E0E8_entry *temp_v0;
|
||||
|
||||
temp_v0 = segmented_to_virtual_dupe_2(arg0);
|
||||
var_a0 = temp_v0->mk64Texture;
|
||||
while (var_a0 != NULL) {
|
||||
if (var_a0 == NULL) break;
|
||||
func_800996BC(var_a0, 0);
|
||||
if (1) {}
|
||||
temp_v0++;
|
||||
var_a0 = temp_v0->mk64Texture;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8009A344(void) {
|
||||
s32 index;
|
||||
for(index = 0; index < D_8018DEE0_SIZE; index++) {
|
||||
|
@ -5732,9 +5748,6 @@ Gfx *func_8009C434(Gfx *arg0, struct_8018DEE0_entry *arg1, s32 arg2, s32 arg3, s
|
|||
return arg0;
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/TK1UV
|
||||
// Some register allocation differences when accessing `D_802BFB80`
|
||||
Gfx *func_8009C708(Gfx *arg0, struct_8018DEE0_entry *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
|
||||
s32 var_t0;
|
||||
s32 thing;
|
||||
|
@ -5764,15 +5777,12 @@ Gfx *func_8009C708(Gfx *arg0, struct_8018DEE0_entry *arg1, s32 arg2, s32 arg3, s
|
|||
break;
|
||||
}
|
||||
if (arg5 >= 0) {
|
||||
arg0 = func_80097E58(arg0, var_t0, 0, 0U, var_s1->width, var_s1->height, var_s1->dX + arg2, var_s1->dY + arg3, D_802BFB80[arg1->unk14][arg4 / 2][((arg4 % 2) + 2) * 2].pixel_index_array, var_s1->width, var_s1->height, (u32) arg5);
|
||||
arg0 = func_80097E58(arg0, var_t0, 0, 0U, var_s1->width, var_s1->height, var_s1->dX + arg2, var_s1->dY + arg3, D_802BFB80.arraySize4[arg1->unk14][arg4 / 2][(arg4 % 2) + 2].pixel_index_array, var_s1->width, var_s1->height, (u32) arg5);
|
||||
}
|
||||
var_s1++;
|
||||
}
|
||||
return arg0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009C708.s")
|
||||
#endif
|
||||
|
||||
void func_8009C918(void) {
|
||||
s32 someIndex;
|
||||
|
@ -7596,10 +7606,6 @@ void func_800A0AD0(UNUSED struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// There's something going on with the accessing of D_800E86C4 that's causing lots of issues
|
||||
// Also, the `(D_800E86C4[var_s5] % 10) + 0x10` stuff is doing something weird with the %,
|
||||
// lots of instruction ordering issues
|
||||
void func_800A0B80(struct_8018D9E0_entry *arg0) {
|
||||
s32 temp_a2;
|
||||
s32 temp_s1;
|
||||
|
@ -7614,19 +7620,21 @@ void func_800A0B80(struct_8018D9E0_entry *arg0) {
|
|||
if (D_800E86C4[var_s5] == 0) continue;
|
||||
|
||||
temp_s1 = var_s5 * 0xA;
|
||||
if (D_800E86C4[var_s5] < 0xA) {
|
||||
func_800A08D8((D_800E86C4[var_s5] + 0x10), 0x00000032, arg0->row + temp_s1 + 1);
|
||||
var_s0 = D_800E86C4[var_s5];
|
||||
if (var_s0 < 0xA) {
|
||||
func_800A08D8(var_s0 + 0x10, 0x00000032, arg0->row + temp_s1 + 1);
|
||||
} else {
|
||||
func_800A08D8(((D_800E86C4[var_s5] % 10) + 0x10), 0x00000035, arg0->row + temp_s1 + 1);
|
||||
var_s0 %= 10;
|
||||
func_800A08D8(var_s0 + 0x10, 0x00000035, arg0->row + temp_s1 + 1);
|
||||
func_800A08D8(0x11U, 0x0000002F, arg0->row + temp_s1 + 1);
|
||||
}
|
||||
temp_s2 = arg0->row + temp_s1 + 1;
|
||||
if (pfsError[D_800E86C4[var_s5] - 1] == 0) {
|
||||
temp_s4 = &pfsState[D_800E86C4[var_s5] - 1];
|
||||
temp_s1 = func_800A095C(temp_s4->game_name, 0x00000010, 0x0000004F, temp_s2) * 8;
|
||||
var_s0 = func_800A095C(temp_s4->game_name, 0x00000010, 0x0000004F, temp_s2);
|
||||
if (temp_s4->ext_name[0] != 0) {
|
||||
func_800A08D8(0x3CU, temp_s1 + 0x4F, temp_s2);
|
||||
func_800A08D8(temp_s4->ext_name[0], temp_s1 + 0x57, temp_s2);
|
||||
func_800A08D8(0x3CU, (var_s0 * 8) + 0x4F, temp_s2);
|
||||
func_800A08D8(temp_s4->ext_name[0], (var_s0 * 8) + 0x57, temp_s2);
|
||||
}
|
||||
var_s1 = 0x10;
|
||||
var_s0 = (temp_s4->file_size + 0xFF) >> 8;
|
||||
|
@ -7640,9 +7648,6 @@ void func_800A0B80(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 319, 239);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A0B80.s")
|
||||
#endif
|
||||
|
||||
void func_800A0DFC(void) {
|
||||
s32 temp_t6;
|
||||
|
@ -8918,20 +8923,19 @@ void render_pause_battle(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Pretty big diff honestly. Mostly register allocation stuff though
|
||||
void func_800A54EC(void) {
|
||||
Unk_D_800E70A0 sp50;
|
||||
s32 why;
|
||||
s32 whyTheSequel;
|
||||
Unk_D_800E70A0 *huh;
|
||||
Unk_D_800E70A0 *var_v1;
|
||||
struct_8018D9E0_entry *sp48;
|
||||
s32 whyTheSequel;
|
||||
s32 why;
|
||||
Unk_D_800E70A0 *huh;
|
||||
|
||||
if (gIsGamePaused == 0) return;
|
||||
|
||||
why = gModeSelection;
|
||||
sp48 = find_8018D9E0_entry(0x000000C7);
|
||||
if (why) {} // ?????
|
||||
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880));
|
||||
guOrtho(&gGfxPool->mtxEffect[gMatrixEffectCount], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount++]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
@ -8942,13 +8946,13 @@ void func_800A54EC(void) {
|
|||
var_v1 = &D_800E8538[0];
|
||||
break;
|
||||
case 2:
|
||||
var_v1 = &D_800E8540[(gIsGamePaused - 1) + (gScreenModeSelection * 4)];
|
||||
var_v1 = &D_800E8540[(gScreenModeSelection * 4) + (gIsGamePaused - 1)];
|
||||
break;
|
||||
case 0:
|
||||
var_v1 = &D_800E85C0[(gIsGamePaused - 1) + (gScreenModeSelection * 4)];
|
||||
var_v1 = &D_800E85C0[(gScreenModeSelection * 4) + (gIsGamePaused - 1)];
|
||||
break;
|
||||
case 3:
|
||||
var_v1 = &D_800E8600[(gIsGamePaused - 1) + (gScreenModeSelection * 4)];
|
||||
var_v1 = &D_800E8600[(gScreenModeSelection * 4) + (gIsGamePaused - 1)];
|
||||
break;
|
||||
}
|
||||
whyTheSequel = D_800F0B50[why];
|
||||
|
@ -8956,39 +8960,34 @@ void func_800A54EC(void) {
|
|||
sp50.row = (var_v1->row + ((sp48->cursor - whyTheSequel) * 0xD)) - 8;
|
||||
func_800A66A8(sp48, &sp50);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A54EC.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/esKnl
|
||||
// `var_v1` is ending up in `v0` instead of `v1`. For some reason :(
|
||||
void func_800A5738(struct_8018D9E0_entry *arg0) {
|
||||
Unk_D_800E70A0 sp98;
|
||||
char **stackPadding0;
|
||||
s32 stackPadding0;
|
||||
s32 stackPadding1;
|
||||
s32 stackPadding2;
|
||||
s32 stackPadding3;
|
||||
f32 why;
|
||||
char sp84[3];
|
||||
s32 stackPadding3;
|
||||
s32 stackPadding4;
|
||||
Unk_D_800E70A0 *var_v0_9;
|
||||
s32 temp_a0;
|
||||
s32 var_v1;
|
||||
s32 var_s1;
|
||||
s32 var_s2;
|
||||
s32 temp_v0;
|
||||
s32 zero = 0;
|
||||
Unk_D_800E70A0 *var_v0_9;
|
||||
char sp5C[3];
|
||||
|
||||
var_v1 = arg0->cursor;
|
||||
if (var_v1 == 0) {
|
||||
if (arg0->cursor == 0) {
|
||||
if ((arg0->unk1C >= 0x1E) && ((gGlobalTimer / 16) % 2)) {
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0x000000C0, 0x00000021, (s32) (get_string_width(gTextPauseButton[5]) * 0.8f) + 0xC6, 0x00000032, 0, 0, 0, 0x00000096);
|
||||
why = get_string_width(gTextPauseButton[5]) * 0.8f;
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0x000000C0, 0x00000021, (s32) (why) + 0xC6, 0x00000032, 0, 0, 0, 0x00000096);
|
||||
set_text_color(1);
|
||||
func_80093324(0x000000BF, 0x00000030, gTextPauseButton[5], 0, 0.8f, 0.8f);
|
||||
}
|
||||
} else {
|
||||
if (var_v1 == 1) {
|
||||
if (arg0->cursor == 1) {
|
||||
var_s1 = arg0->unk1C;
|
||||
var_s2 = (s32) (arg0->unk1C * 0xFF) / 140;
|
||||
} else {
|
||||
|
@ -9109,6 +9108,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) {
|
|||
break;
|
||||
case 35: /* switch 2 */
|
||||
case 36: /* switch 2 */
|
||||
if (0) { } // wtf?
|
||||
var_v0_9 = &D_800E7420[arg0->cursor - 35];
|
||||
break;
|
||||
default:
|
||||
|
@ -9119,9 +9119,6 @@ void func_800A5738(struct_8018D9E0_entry *arg0) {
|
|||
func_800A66A8(arg0, &sp98);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A5738.s")
|
||||
#endif
|
||||
|
||||
void func_800A6034(struct_8018D9E0_entry *arg0) {
|
||||
char *text;
|
||||
|
@ -9223,77 +9220,47 @@ void func_800A638C(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-01-2023
|
||||
// ? guMtxCatL(Mtx *, Mtx *, Mtx *); /* extern */
|
||||
|
||||
void func_800A66A8(struct_8018D9E0_entry *arg0, s16 *arg1) {
|
||||
Gfx *temp_v0;
|
||||
Gfx *temp_v0_2;
|
||||
Gfx *temp_v0_3;
|
||||
Gfx *temp_v0_4;
|
||||
Gfx *temp_v0_5;
|
||||
Gfx *temp_v0_6;
|
||||
#ifdef NON_MATCHING
|
||||
// https://decomp.me/scratch/GUqCE
|
||||
// All the math stuff at the top is messed up
|
||||
void func_800A66A8(struct_8018D9E0_entry *arg0, Unk_D_800E70A0 *arg1) {
|
||||
Mtx *temp_s0;
|
||||
Mtx *temp_s1;
|
||||
f32 temp_f0_2;
|
||||
f32 temp_f2;
|
||||
f32 temp_f12;
|
||||
f32 temp_f14;
|
||||
f32 temp_f2;
|
||||
f64 temp_f0;
|
||||
|
||||
temp_s1 = &gGfxPool->mtxEffect[gMatrixEffectCount];
|
||||
temp_f0 = (f64) arg0->unk24;
|
||||
if (temp_f0 > 1.5) {
|
||||
arg0->unk24 = (f32) (temp_f0 * 0.95);
|
||||
if (arg0->unk24 > 1.5) {
|
||||
arg0->unk24 *= 0.95;
|
||||
} else {
|
||||
arg0->unk24 = 1.5f;
|
||||
}
|
||||
temp_f0_2 = arg0->unk24;
|
||||
temp_f2 = temp_f0_2 * 3.0f * (f32) arg0->unk8;
|
||||
temp_f12 = temp_f0_2 * 4.0f;
|
||||
temp_f14 = temp_f0_2 * 2.0f;
|
||||
D_8018EDA0 += temp_f14;
|
||||
temp_f2 = arg0->unk24 * 3.0f * arg0->unk8;
|
||||
temp_f12 = arg0->unk24 * 4.0f;
|
||||
temp_f14 = arg0->unk24 * 2.0f;
|
||||
D_8018EDA4 = temp_f2;
|
||||
D_8018EDA8 = temp_f12;
|
||||
D_8018EDAC = temp_f14;
|
||||
D_8018ED98 += temp_f2;
|
||||
D_8018ED9C += temp_f12;
|
||||
D_8018ED98 += D_8018EDA4;
|
||||
D_8018ED9C += D_8018EDA8;
|
||||
D_8018EDA0 += D_8018EDAC;
|
||||
guScale(temp_s1, 1.2f, 1.2f, 1.2f);
|
||||
temp_s0 = temp_s1 + 0x40;
|
||||
temp_s0 = temp_s1 + 1;
|
||||
guRotate(temp_s0, D_8018ED9C, 0.0f, 1.0f, 0.0f);
|
||||
guMtxCatL(temp_s1, temp_s0, temp_s1);
|
||||
guRotate(temp_s0, D_8018EDA0, 0.0f, 0.0f, 1.0f);
|
||||
guMtxCatL(temp_s1, temp_s0, temp_s1);
|
||||
guRotate(temp_s0, D_8018ED98, 1.0f, 0.0f, 0.0f);
|
||||
guMtxCatL(temp_s1, temp_s0, temp_s1);
|
||||
guTranslate(temp_s0, (f32) arg1->unk0, (f32) arg1->unk2, 0.0f);
|
||||
guTranslate(temp_s0, arg1->column, arg1->row, 0.0f);
|
||||
guMtxCatL(temp_s1, temp_s0, temp_s1);
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->words.w0 = 0x01020040;
|
||||
temp_v0->words.w1 = (s32) (&gGfxPool->mtxEffect[gMatrixEffectCount]) & 0x1FFFFFFF;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gMatrixEffectCount += 1;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->words.w0 = 0xB6000000;
|
||||
temp_v0_2->words.w1 = 0x00020000;
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->words.w1 = 0xFF33FFFF;
|
||||
temp_v0_3->words.w0 = 0xFC121824;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->words.w1 = 0;
|
||||
temp_v0_4->words.w0 = 0xC0000000;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->words.w1 = 0x00504340;
|
||||
temp_v0_5->words.w0 = 0xB900031D;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->words.w0 = 0x06000000;
|
||||
temp_v0_6->words.w1 = (u32) D_0D003090;
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
|
||||
gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
gDPNoOp(gDisplayListHead++);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D003090);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A66A8.s")
|
||||
|
|
|
@ -171,6 +171,8 @@ void func_80099EC4(void);
|
|||
void func_80099A70(void);
|
||||
void func_80099A94(MkTexture *, s32);
|
||||
void func_80099AEC(void);
|
||||
void func_8009A238(MkTexture*, s32);
|
||||
void func_8009A2F0(struct_8018E0E8_entry*);
|
||||
void func_8009A344(void);
|
||||
s32 func_8009A374(MkAnimation*);
|
||||
s32 func_8009A478(MkAnimation*, s32);
|
||||
|
@ -599,4 +601,12 @@ extern s32 gControllerPak1NumPagesFree;
|
|||
extern s32 gControllerPak1FileNote;
|
||||
extern s32 gControllerPak2FileNote;
|
||||
|
||||
extern f32 D_8018ED98;
|
||||
extern f32 D_8018ED9C;
|
||||
extern f32 D_8018EDA0;
|
||||
|
||||
extern f32 D_8018EDA4;
|
||||
extern f32 D_8018EDA8;
|
||||
extern f32 D_8018EDAC;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -13,7 +13,7 @@ u8 frameBufferPadding[0x5750];
|
|||
u8 frameBufferPadding[0x5810];
|
||||
#endif
|
||||
|
||||
struct_D_802BFB80 D_802BFB80[2][2][8];
|
||||
union_D_802BFB80 D_802BFB80;
|
||||
struct_D_802DFB80 D_802DFB80[2][2][8];
|
||||
#ifdef AVOID_UB
|
||||
struct_D_802F1F80 D_802F1F80[2][4][8];
|
||||
|
|
|
@ -265,12 +265,12 @@ void func_80020524(void) {
|
|||
func_80027560(D_80164AD0[i], D_80164AB0[i], D_80164AC0[i], D_80164AC0[i], D_801651D0[D_80164AC0[i]][D_80164AB0[i]]);
|
||||
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[i - 1]][D_80164AB0[i - 1]]][D_80164AC0[i - 1]][D_80164AB0[i - 1]].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[i - 1]][D_80164AB0[i - 1]]][D_80164AC0[i - 1]][D_80164AB0[i - 1]].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[i - 1]][D_80164AB0[i - 1]]][D_80164AC0[i - 1]][D_80164AB0[i - 1]].pixel_index_array);
|
||||
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
|
||||
}
|
||||
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
|
||||
}
|
||||
|
||||
void func_8002088C(void) {
|
||||
|
@ -291,11 +291,11 @@ void func_8002088C(void) {
|
|||
for (var_s0 = 1; var_s0 < gPlayersToRenderCount; var_s0++) {
|
||||
func_80027560(D_80164AD0[var_s0], D_80164AB0[var_s0], D_80164AC0[var_s0], D_80164AC0[var_s0], D_801651D0[D_80164AC0[var_s0]][D_80164AB0[var_s0]]);
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]].pixel_index_array);
|
||||
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
|
||||
}
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]].pixel_index_array);
|
||||
}
|
||||
|
||||
void func_80020BF4(void) {
|
||||
|
@ -310,11 +310,11 @@ void func_80020BF4(void) {
|
|||
for (var_s0 = 1; var_s0 < gPlayersToRenderCount; var_s0++) {
|
||||
func_80027560(D_80164AD0[var_s0], D_80164AB0[var_s0] + 4, D_80164AC0[var_s0], D_80164AC0[var_s0] - 2, D_801651D0[D_80164AC0[var_s0]][D_80164AB0[var_s0]]);
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].pixel_index_array);
|
||||
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
|
||||
}
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
|
||||
}
|
||||
|
||||
void func_80020F1C(void) {
|
||||
|
@ -329,11 +329,11 @@ void func_80020F1C(void) {
|
|||
for (var_s0 = 1; var_s0 < gPlayersToRenderCount; var_s0++) {
|
||||
func_80027560(D_80164AD0[var_s0], D_80164AB0[var_s0] + 4, D_80164AC0[var_s0], D_80164AC0[var_s0] - 2, D_801651D0[D_80164AC0[var_s0]][D_80164AB0[var_s0]]);
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[var_s0 - 1]][D_80164AB0[var_s0 - 1]]][D_80164AC0[var_s0 - 1] - 2][D_80164AB0[var_s0 - 1] + 4].pixel_index_array);
|
||||
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
|
||||
}
|
||||
mio0decode(D_802DFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].unk_00,
|
||||
D_802BFB80[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
|
||||
D_802BFB80.arraySize8[D_801651D0[D_80164AC0[gPlayersToRenderCount-1]][D_80164AB0[gPlayersToRenderCount-1]]][D_80164AC0[gPlayersToRenderCount-1] - 2][D_80164AB0[gPlayersToRenderCount-1] + 4].pixel_index_array);
|
||||
}
|
||||
|
||||
void try_render_player(Player *player, s8 playerId, s8 arg2) {
|
||||
|
@ -1392,11 +1392,11 @@ void kart_render(Player *player, s8 playerId, s8 arg2, s8 arg3) {
|
|||
gPlayerPalette = &D_802F1F80[D_801651D0[arg2][playerId]][arg2][playerId * 0x100];
|
||||
#endif
|
||||
if ((arg2 == 0) || (arg2 == 1)) {
|
||||
D_80164B08 = &D_802BFB80[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0x7C0];
|
||||
D_80164B08 = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0x7C0];
|
||||
} else {
|
||||
D_80164B08 = &D_802BFB80[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0x7C0];
|
||||
D_80164B08 = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0x7C0];
|
||||
}
|
||||
mtxf_translate_rotate(sp1A4, sp154, sp14C);
|
||||
mtxf_scale2(sp1A4, gCharacterSize[player->characterId] * player->size);
|
||||
|
@ -1510,11 +1510,11 @@ void ghost_render(Player *player, s8 playerId, s8 arg2, s8 arg3) {
|
|||
gPlayerPalette = &D_802F1F80[D_801651D0[arg2][playerId]][arg2][playerId * 0x100];
|
||||
#endif
|
||||
if ((arg2 == 0) || (arg2 == 1)) {
|
||||
D_80164B08 = &D_802BFB80[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0x7C0];
|
||||
D_80164B08 = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2][playerId].pixel_index_array[0x7C0];
|
||||
} else {
|
||||
D_80164B08 = &D_802BFB80[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0x7C0];
|
||||
D_80164B08 = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0];
|
||||
D_80164B0C = &D_802BFB80.arraySize8[D_801651D0[arg2][playerId]][arg2 - 1][playerId - 4].pixel_index_array[0x7C0];
|
||||
}
|
||||
|
||||
mtxf_translate_rotate(sp12C, spDC, spD4);
|
||||
|
|
|
@ -1078,12 +1078,12 @@ void func_8003CD98(Player *player, Camera *camera, s8 playerId, s8 arg3) {
|
|||
load_kart_palette(player, playerId, arg3, 0);
|
||||
load_kart_palette(player, playerId, arg3, 1);
|
||||
load_kart_texture(player, playerId, arg3, arg3, 0);
|
||||
mio0decode((u8 *) &D_802DFB80[0][arg3][playerId], (u8 *) &D_802BFB80[0][arg3][playerId]);
|
||||
mio0decode((u8 *) &D_802DFB80[0][arg3][playerId], (u8 *) &D_802BFB80.arraySize8[0][arg3][playerId]);
|
||||
} else {
|
||||
load_kart_palette(player, playerId, arg3, 0);
|
||||
load_kart_palette(player, playerId, arg3, 1);
|
||||
load_kart_texture(player, (s8) (playerId + 4), arg3, (s8) (arg3 - 2), 0);
|
||||
mio0decode((u8 *) &D_802DFB80[0][arg3 - 2][playerId + 4], (u8 *) &D_802BFB80[0][arg3 - 2][playerId + 4]);
|
||||
mio0decode((u8 *) &D_802DFB80[0][arg3 - 2][playerId + 4], (u8 *) &D_802BFB80.arraySize8[0][arg3 - 2][playerId + 4]);
|
||||
}
|
||||
|
||||
D_801650D0[arg3][playerId] = player->animFrameSelector[arg3];
|
||||
|
|
|
@ -58,8 +58,8 @@ s32 D_80162DFC;
|
|||
|
||||
s32 D_80162E00;
|
||||
|
||||
u32 *D_800DC710 = (u32 *) &D_802BFB80[0][2][3];
|
||||
u32 *D_800DC714 = (u32 *) &D_802BFB80[1][1][3];
|
||||
u32 *D_800DC710 = (u32 *) &D_802BFB80.arraySize8[0][2][3];
|
||||
u32 *D_800DC714 = (u32 *) &D_802BFB80.arraySize8[1][1][3];
|
||||
|
||||
extern u8 _kart_texturesSegmentRomStart;
|
||||
|
||||
|
@ -70,7 +70,7 @@ extern StaffGhost *d_royal_raceway_staff_ghost;
|
|||
extern StaffGhost *d_luigi_raceway_staff_ghost;
|
||||
|
||||
void func_80004EF0(void) {
|
||||
D_80162DA4 = (u32 *) &D_802BFB80[0][2][3];
|
||||
D_80162DA4 = (u32 *) &D_802BFB80.arraySize8[0][2][3];
|
||||
osInvalDCache(&D_80162DA4[0], 0x4000);
|
||||
osPiStartDma(&gDmaIoMesg, 0, 0, (uintptr_t) ((D_80162DC4 & 0xFFFFFF) + &_kart_texturesSegmentRomStart), D_80162DA4, 0x4000, &gDmaMesgQueue);
|
||||
osRecvMesg(&gDmaMesgQueue, &gMainReceivedMesg, OS_MESG_BLOCK);
|
||||
|
@ -79,13 +79,13 @@ void func_80004EF0(void) {
|
|||
}
|
||||
|
||||
void func_80004FB0(void) {
|
||||
D_80162DB4 = (u32 *) &D_802BFB80[0][D_80162DD0][3];
|
||||
D_80162DB4 = (u32 *) &D_802BFB80.arraySize8[0][D_80162DD0][3];
|
||||
D_80162DAC = *D_80162DB4 & 0xFF0000;
|
||||
D_80162DB0 = 0;
|
||||
}
|
||||
|
||||
void func_80004FF8(void) {
|
||||
D_80162D94 = (u32 *) &D_802BFB80[0][D_80162DC8][3];
|
||||
D_80162D94 = (u32 *) &D_802BFB80.arraySize8[0][D_80162DC8][3];
|
||||
D_80162D8C = (s32) *D_80162D94 & 0xFF0000;
|
||||
D_80162D90 = 0;
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ s32 func_800051C4(void) {
|
|||
}
|
||||
|
||||
void func_8000522C(void) {
|
||||
D_80162D94 = (u32 *) &D_802BFB80[0][D_80162DC8][3];
|
||||
D_80162D94 = (u32 *) &D_802BFB80.arraySize8[0][D_80162DC8][3];
|
||||
mio0decode((u8 *) D_800DC714, (u8 *) D_80162D94);
|
||||
D_80162D8C = (s32) (*D_80162D94 & 0xFF0000);
|
||||
D_80162D90 = 0;
|
||||
|
@ -180,7 +180,7 @@ void func_800052A4(void) {
|
|||
D_80162DCC = 0;
|
||||
}
|
||||
temp_v0 = D_80162DB8;
|
||||
D_80162D80 = (void *) &D_802BFB80[0][D_80162DC8][3];
|
||||
D_80162D80 = (void *) &D_802BFB80.arraySize8[0][D_80162DC8][3];
|
||||
D_80162D84 = temp_v0;
|
||||
D_80162D86 = temp_v0;
|
||||
}
|
||||
|
@ -213,7 +213,7 @@ void func_80005310(void) {
|
|||
} else {
|
||||
|
||||
D_80162DD8 = 1U;
|
||||
D_80162DBC = (u32 *) &D_802BFB80[0][D_80162DCC][3];
|
||||
D_80162DBC = (u32 *) &D_802BFB80.arraySize8[0][D_80162DCC][3];
|
||||
D_80162DBC[0] = -1;
|
||||
D_80162DB8 = 0;
|
||||
D_80162DDC = 0;
|
||||
|
@ -498,7 +498,7 @@ void func_80005B18(void) {
|
|||
func_80005AE8(gPlayerTwo);
|
||||
func_80005AE8(gPlayerThree);
|
||||
} else {
|
||||
D_80162D80 = D_802BFB80[0][D_80162DC8][3].pixel_index_array;
|
||||
D_80162D80 = D_802BFB80.arraySize8[0][D_80162DC8][3].pixel_index_array;
|
||||
D_80162D84 = D_80162D86;
|
||||
D_80162DD0 = D_80162DCC;
|
||||
D_80162DE8 = gPlayerOne->characterId;
|
||||
|
@ -510,7 +510,7 @@ void func_80005B18(void) {
|
|||
}
|
||||
} else {
|
||||
if ((gLapCountByPlayerId[0] == 3) && (D_80162DDC == 0) && (D_80162DF8 == 1)) {
|
||||
D_80162D80 = D_802BFB80[0][D_80162DC8][3].pixel_index_array;
|
||||
D_80162D80 = D_802BFB80.arraySize8[0][D_80162DC8][3].pixel_index_array;
|
||||
D_80162D84 = D_80162D86;
|
||||
D_80162DDC = 1;
|
||||
}
|
||||
|
|
|
@ -1939,6 +1939,8 @@ Variable Name | Memory Address
|
|||
[func_80099E54](@ref func_80099E54) | 0x80099E54
|
||||
[func_80099E60](@ref func_80099E60) | 0x80099E60
|
||||
[func_80099EC4](@ref func_80099EC4) | 0x80099EC4
|
||||
[func_8009A238](@ref func_8009A238) | 0x8009A238
|
||||
[func_8009A2F0](@ref func_8009A2F0) | 0x8009A2F0
|
||||
[func_8009A344](@ref func_8009A344) | 0x8009A344
|
||||
[func_8009A374](@ref func_8009A374) | 0x8009A374
|
||||
[func_8009A478](@ref func_8009A478) | 0x8009A478
|
||||
|
@ -3640,10 +3642,6 @@ Variable Name | Memory Address
|
|||
[D_800F0C18](@ref D_800F0C18) | 0x800F0C18
|
||||
[D_800F0C54](@ref D_800F0C54) | 0x800F0C54
|
||||
[D_800F0C58](@ref D_800F0C58) | 0x800F0C58
|
||||
[D_800F0C6C](@ref D_800F0C6C) | 0x800F0C6C
|
||||
[D_800F0C70](@ref D_800F0C70) | 0x800F0C70
|
||||
[D_800F0C74](@ref D_800F0C74) | 0x800F0C74
|
||||
[D_800F0C78](@ref D_800F0C78) | 0x800F0C78
|
||||
[D_800F0CA0](@ref D_800F0CA0) | 0x800F0CA0
|
||||
[D_800F0CD0](@ref D_800F0CD0) | 0x800F0CD0
|
||||
[D_800F15E0](@ref D_800F15E0) | 0x800F15E0
|
||||
|
@ -3662,14 +3660,6 @@ Variable Name | Memory Address
|
|||
[D_800F1C40](@ref D_800F1C40) | 0x800F1C40
|
||||
[D_800F1C44](@ref D_800F1C44) | 0x800F1C44
|
||||
[D_800F1DC8](@ref D_800F1DC8) | 0x800F1DC8
|
||||
[D_800F1DD8](@ref D_800F1DD8) | 0x800F1DD8
|
||||
[D_800F1E80](@ref D_800F1E80) | 0x800F1E80
|
||||
[D_800F1E84](@ref D_800F1E84) | 0x800F1E84
|
||||
[D_800F1E88](@ref D_800F1E88) | 0x800F1E88
|
||||
[D_800F1E8C](@ref D_800F1E8C) | 0x800F1E8C
|
||||
[D_800F1E90](@ref D_800F1E90) | 0x800F1E90
|
||||
[D_800F1E94](@ref D_800F1E94) | 0x800F1E94
|
||||
[D_800F1E98](@ref D_800F1E98) | 0x800F1E98
|
||||
[D_800F1F18](@ref D_800F1F18) | 0x800F1F18
|
||||
[D_800F1F20](@ref D_800F1F20) | 0x800F1F20
|
||||
[D_800F2B38](@ref D_800F2B38) | 0x800F2B38
|
||||
|
|
Loading…
Reference in New Issue