Assorted matches (#346)

Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
Tyler McGavran
2023-07-17 20:06:10 -04:00
committed by GitHub
parent 4bb7fa372c
commit ce15ceac10
11 changed files with 307 additions and 1312 deletions
+4
View File
@@ -1761,6 +1761,8 @@ glabel D_8018D9D9
glabel D_8018D9E0
.skip 1280
# The size of D_8018DEE0 should be
# 384, D_8018DEE4 is fake
glabel D_8018DEE0
.skip 4
@@ -1776,6 +1778,8 @@ glabel D_8018E0E8
glabel gD_8018E118TotalSize
.skip 8
# The size of D_8018E118 should be
# 1600, D_8018E11C and D_8018E124 are fake
glabel D_8018E118
.skip 4
@@ -1,231 +0,0 @@
glabel func_800942D0
/* 094ED0 800942D0 27BDFF38 */ addiu $sp, $sp, -0xc8
/* 094ED4 800942D4 AFB00040 */ sw $s0, 0x40($sp)
/* 094ED8 800942D8 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015
/* 094EDC 800942DC 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298
/* 094EE0 800942E0 8E020000 */ lw $v0, ($s0)
/* 094EE4 800942E4 3C098015 */ lui $t1, %hi(gGfxPool) # $t1, 0x8015
/* 094EE8 800942E8 2529EF40 */ addiu $t1, %lo(gGfxPool) # addiu $t1, $t1, -0x10c0
/* 094EEC 800942EC AFB10044 */ sw $s1, 0x44($sp)
/* 094EF0 800942F0 3C0F0103 */ lui $t7, (0x01030040 >> 16) # lui $t7, 0x103
/* 094EF4 800942F4 244E0008 */ addiu $t6, $v0, 8
/* 094EF8 800942F8 8D310000 */ lw $s1, ($t1)
/* 094EFC 800942FC AFBF0064 */ sw $ra, 0x64($sp)
/* 094F00 80094300 AFBE0060 */ sw $fp, 0x60($sp)
/* 094F04 80094304 AFB7005C */ sw $s7, 0x5c($sp)
/* 094F08 80094308 AFB60058 */ sw $s6, 0x58($sp)
/* 094F0C 8009430C AFB50054 */ sw $s5, 0x54($sp)
/* 094F10 80094310 AFB40050 */ sw $s4, 0x50($sp)
/* 094F14 80094314 AFB3004C */ sw $s3, 0x4c($sp)
/* 094F18 80094318 AFB20048 */ sw $s2, 0x48($sp)
/* 094F1C 8009431C F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 094F20 80094320 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 094F24 80094324 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 094F28 80094328 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 094F2C 8009432C AE0E0000 */ sw $t6, ($s0)
/* 094F30 80094330 35EF0040 */ ori $t7, (0x01030040 & 0xFFFF) # ori $t7, $t7, 0x40
/* 094F34 80094334 AC4F0000 */ sw $t7, ($v0)
/* 094F38 80094338 8D380000 */ lw $t8, ($t1)
/* 094F3C 8009433C 3C0A0102 */ lui $t2, (0x01020040 >> 16) # lui $t2, 0x102
/* 094F40 80094340 354A0040 */ ori $t2, (0x01020040 & 0xFFFF) # ori $t2, $t2, 0x40
/* 094F44 80094344 AC580004 */ sw $t8, 4($v0)
/* 094F48 80094348 8E020000 */ lw $v0, ($s0)
/* 094F4C 8009434C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 094F50 80094350 4481B000 */ mtc1 $at, $f22
/* 094F54 80094354 24590008 */ addiu $t9, $v0, 8
/* 094F58 80094358 AE190000 */ sw $t9, ($s0)
/* 094F5C 8009435C AC4A0000 */ sw $t2, ($v0)
/* 094F60 80094360 8D2B0000 */ lw $t3, ($t1)
/* 094F64 80094364 4480A000 */ mtc1 $zero, $f20
/* 094F68 80094368 3401CAC0 */ li $at, 51904
/* 094F6C 8009436C 256C01C0 */ addiu $t4, $t3, 0x1c0
/* 094F70 80094370 3C058019 */ lui $a1, %hi(D_8018EDC8) # $a1, 0x8019
/* 094F74 80094374 02218821 */ addu $s1, $s1, $at
/* 094F78 80094378 AC4C0004 */ sw $t4, 4($v0)
/* 094F7C 8009437C 4406B000 */ mfc1 $a2, $f22
/* 094F80 80094380 4407A000 */ mfc1 $a3, $f20
/* 094F84 80094384 8CA5EDC8 */ lw $a1, %lo(D_8018EDC8)($a1)
/* 094F88 80094388 02202025 */ move $a0, $s1
/* 094F8C 8009438C 0C033C01 */ jal guRotate
/* 094F90 80094390 E7B40010 */ swc1 $f20, 0x10($sp)
/* 094F94 80094394 26340040 */ addiu $s4, $s1, 0x40
/* 094F98 80094398 3C058019 */ lui $a1, %hi(D_8018EDCC) # $a1, 0x8019
/* 094F9C 8009439C 4406A000 */ mfc1 $a2, $f20
/* 094FA0 800943A0 4407B000 */ mfc1 $a3, $f22
/* 094FA4 800943A4 8CA5EDCC */ lw $a1, %lo(D_8018EDCC)($a1)
/* 094FA8 800943A8 02802025 */ move $a0, $s4
/* 094FAC 800943AC 0C033C01 */ jal guRotate
/* 094FB0 800943B0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 094FB4 800943B4 4405B000 */ mfc1 $a1, $f22
/* 094FB8 800943B8 4406B000 */ mfc1 $a2, $f22
/* 094FBC 800943BC 3C078019 */ lui $a3, %hi(D_8018EDC4) # $a3, 0x8019
/* 094FC0 800943C0 8CE7EDC4 */ lw $a3, %lo(D_8018EDC4)($a3)
/* 094FC4 800943C4 0C033C2D */ jal guScale
/* 094FC8 800943C8 26240080 */ addiu $a0, $s1, 0x80
/* 094FCC 800943CC 8E020000 */ lw $v0, ($s0)
/* 094FD0 800943D0 3C160100 */ lui $s6, (0x01000040 >> 16) # lui $s6, 0x100
/* 094FD4 800943D4 36D60040 */ ori $s6, (0x01000040 & 0xFFFF) # ori $s6, $s6, 0x40
/* 094FD8 800943D8 244D0008 */ addiu $t5, $v0, 8
/* 094FDC 800943DC AE0D0000 */ sw $t5, ($s0)
/* 094FE0 800943E0 AC510004 */ sw $s1, 4($v0)
/* 094FE4 800943E4 AC560000 */ sw $s6, ($v0)
/* 094FE8 800943E8 8E020000 */ lw $v0, ($s0)
/* 094FEC 800943EC 3C180104 */ lui $t8, (0x01040040 >> 16) # lui $t8, 0x104
/* 094FF0 800943F0 26910040 */ addiu $s1, $s4, 0x40
/* 094FF4 800943F4 244E0008 */ addiu $t6, $v0, 8
/* 094FF8 800943F8 AE0E0000 */ sw $t6, ($s0)
/* 094FFC 800943FC AC540004 */ sw $s4, 4($v0)
/* 095000 80094400 AC560000 */ sw $s6, ($v0)
/* 095004 80094404 8E020000 */ lw $v0, ($s0)
/* 095008 80094408 37180040 */ ori $t8, (0x01040040 & 0xFFFF) # ori $t8, $t8, 0x40
/* 09500C 8009440C 3C0AB900 */ lui $t2, (0xB900031D >> 16) # lui $t2, 0xb900
/* 095010 80094410 244F0008 */ addiu $t7, $v0, 8
/* 095014 80094414 AE0F0000 */ sw $t7, ($s0)
/* 095018 80094418 AC510004 */ sw $s1, 4($v0)
/* 09501C 8009441C AC580000 */ sw $t8, ($v0)
/* 095020 80094420 8E020000 */ lw $v0, ($s0)
/* 095024 80094424 3C0B0055 */ lui $t3, (0x00552078 >> 16) # lui $t3, 0x55
/* 095028 80094428 356B2078 */ ori $t3, (0x00552078 & 0xFFFF) # ori $t3, $t3, 0x2078
/* 09502C 8009442C 24590008 */ addiu $t9, $v0, 8
/* 095030 80094430 AE190000 */ sw $t9, ($s0)
/* 095034 80094434 354A031D */ ori $t2, (0xB900031D & 0xFFFF) # ori $t2, $t2, 0x31d
/* 095038 80094438 AC4A0000 */ sw $t2, ($v0)
/* 09503C 8009443C AC4B0004 */ sw $t3, 4($v0)
/* 095040 80094440 8E020000 */ lw $v0, ($s0)
/* 095044 80094444 3C0DFB00 */ lui $t5, 0xfb00
/* 095048 80094448 3C180200 */ lui $t8, %hi(D_02007F60) # $t8, 0x200
/* 09504C 8009444C 244C0008 */ addiu $t4, $v0, 8
/* 095050 80094450 AE0C0000 */ sw $t4, ($s0)
/* 095054 80094454 AC400004 */ sw $zero, 4($v0)
/* 095058 80094458 AC4D0000 */ sw $t5, ($v0)
/* 09505C 8009445C 8E020000 */ lw $v0, ($s0)
/* 095060 80094460 27187F60 */ addiu $t8, %lo(D_02007F60) # addiu $t8, $t8, 0x7f60
/* 095064 80094464 3C0F0600 */ lui $t7, 0x600
/* 095068 80094468 244E0008 */ addiu $t6, $v0, 8
/* 09506C 8009446C AE0E0000 */ sw $t6, ($s0)
/* 095070 80094470 AC580004 */ sw $t8, 4($v0)
/* 095074 80094474 AC4F0000 */ sw $t7, ($v0)
/* 095078 80094478 8E020000 */ lw $v0, ($s0)
/* 09507C 8009447C 3C0ABD00 */ lui $t2, 0xbd00
/* 095080 80094480 3C01800F */ lui $at, %hi(D_800E8530) # $at, 0x800f
/* 095084 80094484 24590008 */ addiu $t9, $v0, 8
/* 095088 80094488 AE190000 */ sw $t9, ($s0)
/* 09508C 8009448C AC400004 */ sw $zero, 4($v0)
/* 095090 80094490 AC4A0000 */ sw $t2, ($v0)
/* 095094 80094494 C4268530 */ lwc1 $f6, %lo(D_800E8530)($at)
/* 095098 80094498 44802000 */ mtc1 $zero, $f4
/* 09509C 8009449C 3C0B0601 */ lui $t3, %hi(D_06009410) # $t3, 0x601
/* 0950A0 800944A0 26310040 */ addiu $s1, $s1, 0x40
/* 0950A4 800944A4 4606203C */ c.lt.s $f4, $f6
/* 0950A8 800944A8 3C014120 */ li $at, 0x41200000 # 10.000000
/* 0950AC 800944AC 256B9410 */ addiu $t3, %lo(D_06009410) # addiu $t3, $t3, -0x6bf0
/* 0950B0 800944B0 00009025 */ move $s2, $zero
/* 0950B4 800944B4 4500005A */ bc1f .L80094620
/* 0950B8 800944B8 241500C0 */ li $s5, 192
/* 0950BC 800944BC 44810000 */ mtc1 $at, $f0
/* 0950C0 800944C0 3C01800F */ lui $at, %hi(D_800E8534) # $at, 0x800f
/* 0950C4 800944C4 C43A8534 */ lwc1 $f26, %lo(D_800E8534)($at)
/* 0950C8 800944C8 3C014000 */ li $at, 0x40000000 # 2.000000
/* 0950CC 800944CC 4481C000 */ mtc1 $at, $f24
/* 0950D0 800944D0 461A003C */ c.lt.s $f0, $f26
/* 0950D4 800944D4 3C170050 */ lui $s7, (0x005049D8 >> 16) # lui $s7, 0x50
/* 0950D8 800944D8 36F749D8 */ ori $s7, (0x005049D8 & 0xFFFF) # ori $s7, $s7, 0x49d8
/* 0950DC 800944DC 241E000C */ li $fp, 12
/* 0950E0 800944E0 45020003 */ bc1fl .L800944F0
/* 0950E4 800944E4 AFAB006C */ sw $t3, 0x6c($sp)
/* 0950E8 800944E8 46000686 */ mov.s $f26, $f0
/* 0950EC 800944EC AFAB006C */ sw $t3, 0x6c($sp)
.L800944F0:
/* 0950F0 800944F0 4405A000 */ mfc1 $a1, $f20
/* 0950F4 800944F4 4406B000 */ mfc1 $a2, $f22
/* 0950F8 800944F8 4407A000 */ mfc1 $a3, $f20
/* 0950FC 800944FC 02202025 */ move $a0, $s1
/* 095100 80094500 0C033C01 */ jal guRotate
/* 095104 80094504 E7B40010 */ swc1 $f20, 0x10($sp)
/* 095108 80094508 26530001 */ addiu $s3, $s2, 1
/* 09510C 8009450C 44934000 */ mtc1 $s3, $f8
/* 095110 80094510 3C01800F */ lui $at, %hi(D_800E8530) # $at, 0x800f
/* 095114 80094514 C4308530 */ lwc1 $f16, %lo(D_800E8530)($at)
/* 095118 80094518 468042A0 */ cvt.s.w $f10, $f8
/* 09511C 8009451C 26340040 */ addiu $s4, $s1, 0x40
/* 095120 80094520 4406A000 */ mfc1 $a2, $f20
/* 095124 80094524 4407B000 */ mfc1 $a3, $f22
/* 095128 80094528 02802025 */ move $a0, $s4
/* 09512C 8009452C E7B40010 */ swc1 $f20, 0x10($sp)
/* 095130 80094530 46105482 */ mul.s $f18, $f10, $f16
/* 095134 80094534 00000000 */ nop
/* 095138 80094538 461A9102 */ mul.s $f4, $f18, $f26
/* 09513C 8009453C 44052000 */ mfc1 $a1, $f4
/* 095140 80094540 0C033C01 */ jal guRotate
/* 095144 80094544 00000000 */ nop
/* 095148 80094548 4405B000 */ mfc1 $a1, $f22
/* 09514C 8009454C 4406B000 */ mfc1 $a2, $f22
/* 095150 80094550 4407C000 */ mfc1 $a3, $f24
/* 095154 80094554 0C033C2D */ jal guScale
/* 095158 80094558 26240080 */ addiu $a0, $s1, 0x80
/* 09515C 8009455C 8E020000 */ lw $v0, ($s0)
/* 095160 80094560 3C0D0104 */ lui $t5, (0x01040040 >> 16) # lui $t5, 0x104
/* 095164 80094564 35AD0040 */ ori $t5, (0x01040040 & 0xFFFF) # ori $t5, $t5, 0x40
/* 095168 80094568 244C0008 */ addiu $t4, $v0, 8
/* 09516C 8009456C AE0C0000 */ sw $t4, ($s0)
/* 095170 80094570 AC510004 */ sw $s1, 4($v0)
/* 095174 80094574 AC4D0000 */ sw $t5, ($v0)
/* 095178 80094578 8E020000 */ lw $v0, ($s0)
/* 09517C 8009457C 26910040 */ addiu $s1, $s4, 0x40
/* 095180 80094580 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900
/* 095184 80094584 244E0008 */ addiu $t6, $v0, 8
/* 095188 80094588 AE0E0000 */ sw $t6, ($s0)
/* 09518C 8009458C AC540004 */ sw $s4, 4($v0)
/* 095190 80094590 AC560000 */ sw $s6, ($v0)
/* 095194 80094594 8E020000 */ lw $v0, ($s0)
/* 095198 80094598 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d
/* 09519C 8009459C 32AC00FF */ andi $t4, $s5, 0xff
/* 0951A0 800945A0 244F0008 */ addiu $t7, $v0, 8
/* 0951A4 800945A4 AE0F0000 */ sw $t7, ($s0)
/* 0951A8 800945A8 AC510004 */ sw $s1, 4($v0)
/* 0951AC 800945AC AC560000 */ sw $s6, ($v0)
/* 0951B0 800945B0 8E020000 */ lw $v0, ($s0)
/* 0951B4 800945B4 3C0BFB00 */ lui $t3, 0xfb00
/* 0951B8 800945B8 3C0E0600 */ lui $t6, 0x600
/* 0951BC 800945BC 24580008 */ addiu $t8, $v0, 8
/* 0951C0 800945C0 AE180000 */ sw $t8, ($s0)
/* 0951C4 800945C4 AC570004 */ sw $s7, 4($v0)
/* 0951C8 800945C8 AC590000 */ sw $t9, ($v0)
/* 0951CC 800945CC 8E020000 */ lw $v0, ($s0)
/* 0951D0 800945D0 3C19BD00 */ lui $t9, 0xbd00
/* 0951D4 800945D4 26B5FFF0 */ addiu $s5, $s5, -0x10
/* 0951D8 800945D8 244A0008 */ addiu $t2, $v0, 8
/* 0951DC 800945DC AE0A0000 */ sw $t2, ($s0)
/* 0951E0 800945E0 AC4C0004 */ sw $t4, 4($v0)
/* 0951E4 800945E4 AC4B0000 */ sw $t3, ($v0)
/* 0951E8 800945E8 8E020000 */ lw $v0, ($s0)
/* 0951EC 800945EC 02609025 */ move $s2, $s3
/* 0951F0 800945F0 26310040 */ addiu $s1, $s1, 0x40
/* 0951F4 800945F4 244D0008 */ addiu $t5, $v0, 8
/* 0951F8 800945F8 AE0D0000 */ sw $t5, ($s0)
/* 0951FC 800945FC AC4E0000 */ sw $t6, ($v0)
/* 095200 80094600 8FAF006C */ lw $t7, 0x6c($sp)
/* 095204 80094604 AC4F0004 */ sw $t7, 4($v0)
/* 095208 80094608 8E020000 */ lw $v0, ($s0)
/* 09520C 8009460C 24580008 */ addiu $t8, $v0, 8
/* 095210 80094610 AE180000 */ sw $t8, ($s0)
/* 095214 80094614 AC400004 */ sw $zero, 4($v0)
/* 095218 80094618 167EFFB5 */ bne $s3, $fp, .L800944F0
/* 09521C 8009461C AC590000 */ sw $t9, ($v0)
.L80094620:
/* 095220 80094620 8FBF0064 */ lw $ra, 0x64($sp)
/* 095224 80094624 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 095228 80094628 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 09522C 8009462C D7B80030 */ ldc1 $f24, 0x30($sp)
/* 095230 80094630 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 095234 80094634 8FB00040 */ lw $s0, 0x40($sp)
/* 095238 80094638 8FB10044 */ lw $s1, 0x44($sp)
/* 09523C 8009463C 8FB20048 */ lw $s2, 0x48($sp)
/* 095240 80094640 8FB3004C */ lw $s3, 0x4c($sp)
/* 095244 80094644 8FB40050 */ lw $s4, 0x50($sp)
/* 095248 80094648 8FB50054 */ lw $s5, 0x54($sp)
/* 09524C 8009464C 8FB60058 */ lw $s6, 0x58($sp)
/* 095250 80094650 8FB7005C */ lw $s7, 0x5c($sp)
/* 095254 80094654 8FBE0060 */ lw $fp, 0x60($sp)
/* 095258 80094658 03E00008 */ jr $ra
/* 09525C 8009465C 27BD00C8 */ addiu $sp, $sp, 0xc8
@@ -1,275 +0,0 @@
.section .late_rodata
glabel D_802B9E00
.float 1859.0
glabel D_802B9E04
.float 1549.0
glabel D_802B9E08
.float -1102.0
glabel D_802B9E0C
.float -1402.0
glabel D_802B9E10
.float 2405.0
glabel D_802B9E14
.float 2233.0
glabel D_802B9E18
.float 0.8
glabel D_802B9E1C
.float -475.0
glabel D_802B9E20
.float -33.9
glabel D_802B9E24
.float -838.0
glabel D_802B9E28
.float -475.0
glabel D_802B9E2C
.float -475.0
glabel D_802B9E30
.float -993.0
glabel D_802B9E34
.float -33.9
glabel D_802B9E38
.float -475.0
glabel D_802B9E3C
.float -33.9
glabel D_802B9E40
.float -475.0
glabel D_802B9E44
.float -33.9
.section .text
glabel func_802AAB4C
/* 11415C 802AAB4C 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
/* 114160 802AAB50 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
/* 114164 802AAB54 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 114168 802AAB58 AFBF0014 */ sw $ra, 0x14($sp)
/* 11416C 802AAB5C 24010002 */ li $at, 2
/* 114170 802AAB60 00802825 */ move $a1, $a0
/* 114174 802AAB64 C4800014 */ lwc1 $f0, 0x14($a0)
/* 114178 802AAB68 1041000A */ beq $v0, $at, .L802AAB94
/* 11417C 802AAB6C C482001C */ lwc1 $f2, 0x1c($a0)
/* 114180 802AAB70 24010006 */ li $at, 6
/* 114184 802AAB74 1041002F */ beq $v0, $at, .L802AAC34
/* 114188 802AAB78 2401000C */ li $at, 12
/* 11418C 802AAB7C 10410054 */ beq $v0, $at, .L802AACD0
/* 114190 802AAB80 24010012 */ li $at, 18
/* 114194 802AAB84 50410061 */ beql $v0, $at, .L802AAD0C
/* 114198 802AAB88 94A4011A */ lhu $a0, 0x11a($a1)
/* 11419C 802AAB8C 100000AA */ b .L802AAE38
/* 1141A0 802AAB90 3C018016 */ lui $at, %hi(D_8015F8E4)
.L802AAB94:
/* 1141A4 802AAB94 3C01802C */ lui $at, %hi(D_802B9E00) # $at, 0x802c
/* 1141A8 802AAB98 C4249E00 */ lwc1 $f4, %lo(D_802B9E00)($at)
/* 1141AC 802AAB9C 3C01802C */ lui $at, %hi(D_802B9E04)
/* 1141B0 802AABA0 4600203C */ c.lt.s $f4, $f0
/* 1141B4 802AABA4 00000000 */ nop
/* 1141B8 802AABA8 45000004 */ bc1f .L802AABBC
/* 1141BC 802AABAC 00000000 */ nop
/* 1141C0 802AABB0 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
/* 1141C4 802AABB4 100000A1 */ b .L802AAE3C
/* 1141C8 802AABB8 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
.L802AABBC:
/* 1141CC 802AABBC C4269E04 */ lwc1 $f6, %lo(D_802B9E04)($at)
/* 1141D0 802AABC0 3C01802C */ lui $at, %hi(D_802B9E08)
/* 1141D4 802AABC4 4606003C */ c.lt.s $f0, $f6
/* 1141D8 802AABC8 00000000 */ nop
/* 1141DC 802AABCC 45000004 */ bc1f .L802AABE0
/* 1141E0 802AABD0 00000000 */ nop
/* 1141E4 802AABD4 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
/* 1141E8 802AABD8 10000098 */ b .L802AAE3C
/* 1141EC 802AABDC C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
.L802AABE0:
/* 1141F0 802AABE0 C4289E08 */ lwc1 $f8, %lo(D_802B9E08)($at)
/* 1141F4 802AABE4 3C01802C */ lui $at, %hi(D_802B9E0C)
/* 1141F8 802AABE8 4602403C */ c.lt.s $f8, $f2
/* 1141FC 802AABEC 00000000 */ nop
/* 114200 802AABF0 45000004 */ bc1f .L802AAC04
/* 114204 802AABF4 00000000 */ nop
/* 114208 802AABF8 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
/* 11420C 802AABFC 1000008F */ b .L802AAE3C
/* 114210 802AAC00 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
.L802AAC04:
/* 114214 802AAC04 C42A9E0C */ lwc1 $f10, %lo(D_802B9E0C)($at)
/* 114218 802AAC08 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 11421C 802AAC0C 460A103C */ c.lt.s $f2, $f10
/* 114220 802AAC10 00000000 */ nop
/* 114224 802AAC14 45020005 */ bc1fl .L802AAC2C
/* 114228 802AAC18 44810000 */ mtc1 $at, $f0
/* 11422C 802AAC1C 3C018016 */ lui $at, %hi(D_8015F8E4)
/* 114230 802AAC20 10000086 */ b .L802AAE3C
/* 114234 802AAC24 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
/* 114238 802AAC28 44810000 */ mtc1 $at, $f0
.L802AAC2C:
/* 11423C 802AAC2C 10000084 */ b .L802AAE40
/* 114240 802AAC30 8FBF0014 */ lw $ra, 0x14($sp)
.L802AAC34:
/* 114244 802AAC34 3C01436F */ li $at, 0x436F0000 # 239.000000
/* 114248 802AAC38 44818000 */ mtc1 $at, $f16
/* 11424C 802AAC3C 3C014286 */ li $at, 0x42860000 # 67.000000
/* 114250 802AAC40 4600803C */ c.lt.s $f16, $f0
/* 114254 802AAC44 00000000 */ nop
/* 114258 802AAC48 45020005 */ bc1fl .L802AAC60
/* 11425C 802AAC4C 44819000 */ mtc1 $at, $f18
/* 114260 802AAC50 3C018016 */ lui $at, %hi(D_8015F8E4)
/* 114264 802AAC54 10000079 */ b .L802AAE3C
/* 114268 802AAC58 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
/* 11426C 802AAC5C 44819000 */ mtc1 $at, $f18
.L802AAC60:
/* 114270 802AAC60 3C01802C */ lui $at, %hi(D_802B9E10)
/* 114274 802AAC64 4612003C */ c.lt.s $f0, $f18
/* 114278 802AAC68 00000000 */ nop
/* 11427C 802AAC6C 45000004 */ bc1f .L802AAC80
/* 114280 802AAC70 00000000 */ nop
/* 114284 802AAC74 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
/* 114288 802AAC78 10000070 */ b .L802AAE3C
/* 11428C 802AAC7C C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
.L802AAC80:
/* 114290 802AAC80 C4249E10 */ lwc1 $f4, %lo(D_802B9E10)($at)
/* 114294 802AAC84 3C01802C */ lui $at, %hi(D_802B9E14)
/* 114298 802AAC88 4602203C */ c.lt.s $f4, $f2
/* 11429C 802AAC8C 00000000 */ nop
/* 1142A0 802AAC90 45000004 */ bc1f .L802AACA4
/* 1142A4 802AAC94 00000000 */ nop
/* 1142A8 802AAC98 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
/* 1142AC 802AAC9C 10000067 */ b .L802AAE3C
/* 1142B0 802AACA0 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
.L802AACA4:
/* 1142B4 802AACA4 C4269E14 */ lwc1 $f6, %lo(D_802B9E14)($at)
/* 1142B8 802AACA8 3C01802C */ lui $at, %hi(D_802B9E18)
/* 1142BC 802AACAC 4606103C */ c.lt.s $f2, $f6
/* 1142C0 802AACB0 00000000 */ nop
/* 1142C4 802AACB4 45000004 */ bc1f .L802AACC8
/* 1142C8 802AACB8 00000000 */ nop
/* 1142CC 802AACBC 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
/* 1142D0 802AACC0 1000005E */ b .L802AAE3C
/* 1142D4 802AACC4 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
.L802AACC8:
/* 1142D8 802AACC8 1000005C */ b .L802AAE3C
/* 1142DC 802AACCC C4209E18 */ lwc1 $f0, %lo(D_802B9E18)($at)
.L802AACD0:
/* 1142E0 802AACD0 0C0AAF44 */ jal func_802ABD10
/* 1142E4 802AACD4 94A4011A */ lhu $a0, 0x11a($a1)
/* 1142E8 802AACD8 304E00FF */ andi $t6, $v0, 0xff
/* 1142EC 802AACDC 24010005 */ li $at, 5
/* 1142F0 802AACE0 15C10006 */ bne $t6, $at, .L802AACFC
/* 1142F4 802AACE4 3C0F8016 */ lui $t7, %hi(D_8015F6EE) # $t7, 0x8016
/* 1142F8 802AACE8 85EFF6EE */ lh $t7, %lo(D_8015F6EE)($t7)
/* 1142FC 802AACEC 25F8FFF6 */ addiu $t8, $t7, -0xa
/* 114300 802AACF0 44984000 */ mtc1 $t8, $f8
/* 114304 802AACF4 10000051 */ b .L802AAE3C
/* 114308 802AACF8 46804020 */ cvt.s.w $f0, $f8
.L802AACFC:
/* 11430C 802AACFC 3C018016 */ lui $at, %hi(D_8015F8E4) # $at, 0x8016
/* 114310 802AAD00 1000004E */ b .L802AAE3C
/* 114314 802AAD04 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
/* 114318 802AAD08 94A4011A */ lhu $a0, 0x11a($a1)
.L802AAD0C:
/* 11431C 802AAD0C E7A20018 */ swc1 $f2, 0x18($sp)
/* 114320 802AAD10 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 114324 802AAD14 0C0AAF50 */ jal func_802ABD40
/* 114328 802AAD18 AFA50020 */ sw $a1, 0x20($sp)
/* 11432C 802AAD1C 304300FF */ andi $v1, $v0, 0xff
/* 114330 802AAD20 240100FF */ li $at, 255
/* 114334 802AAD24 8FA50020 */ lw $a1, 0x20($sp)
/* 114338 802AAD28 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 11433C 802AAD2C 1461003A */ bne $v1, $at, .L802AAE18
/* 114340 802AAD30 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 114344 802AAD34 94A4011A */ lhu $a0, 0x11a($a1)
/* 114348 802AAD38 E7A20018 */ swc1 $f2, 0x18($sp)
/* 11434C 802AAD3C 0C0AAF44 */ jal func_802ABD10
/* 114350 802AAD40 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 114354 802AAD44 305900FF */ andi $t9, $v0, 0xff
/* 114358 802AAD48 2401000F */ li $at, 15
/* 11435C 802AAD4C C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 114360 802AAD50 17210004 */ bne $t9, $at, .L802AAD64
/* 114364 802AAD54 C7A20018 */ lwc1 $f2, 0x18($sp)
/* 114368 802AAD58 3C01802C */ lui $at, %hi(D_802B9E1C) # $at, 0x802c
/* 11436C 802AAD5C 10000037 */ b .L802AAE3C
/* 114370 802AAD60 C4209E1C */ lwc1 $f0, %lo(D_802B9E1C)($at)
.L802AAD64:
/* 114374 802AAD64 3C01C3EF */ li $at, 0xC3EF0000 # -478.000000
/* 114378 802AAD68 44815000 */ mtc1 $at, $f10
/* 11437C 802AAD6C 3C01802C */ lui $at, %hi(D_802B9E24)
/* 114380 802AAD70 4600503C */ c.lt.s $f10, $f0
/* 114384 802AAD74 00000000 */ nop
/* 114388 802AAD78 45000004 */ bc1f .L802AAD8C
/* 11438C 802AAD7C 00000000 */ nop
/* 114390 802AAD80 3C01802C */ lui $at, %hi(D_802B9E20) # $at, 0x802c
/* 114394 802AAD84 1000002D */ b .L802AAE3C
/* 114398 802AAD88 C4209E20 */ lwc1 $f0, %lo(D_802B9E20)($at)
.L802AAD8C:
/* 11439C 802AAD8C C4309E24 */ lwc1 $f16, %lo(D_802B9E24)($at)
/* 1143A0 802AAD90 3C01C3DA */ li $at, 0xC3DA0000 # -436.000000
/* 1143A4 802AAD94 4610003C */ c.lt.s $f0, $f16
/* 1143A8 802AAD98 00000000 */ nop
/* 1143AC 802AAD9C 45020005 */ bc1fl .L802AADB4
/* 1143B0 802AADA0 44819000 */ mtc1 $at, $f18
/* 1143B4 802AADA4 3C01802C */ lui $at, %hi(D_802B9E28)
/* 1143B8 802AADA8 10000024 */ b .L802AAE3C
/* 1143BC 802AADAC C4209E28 */ lwc1 $f0, %lo(D_802B9E28)($at)
/* 1143C0 802AADB0 44819000 */ mtc1 $at, $f18
.L802AADB4:
/* 1143C4 802AADB4 3C01802C */ lui $at, %hi(D_802B9E30)
/* 1143C8 802AADB8 4602903C */ c.lt.s $f18, $f2
/* 1143CC 802AADBC 00000000 */ nop
/* 1143D0 802AADC0 45000004 */ bc1f .L802AADD4
/* 1143D4 802AADC4 00000000 */ nop
/* 1143D8 802AADC8 3C01802C */ lui $at, %hi(D_802B9E2C) # $at, 0x802c
/* 1143DC 802AADCC 1000001B */ b .L802AAE3C
/* 1143E0 802AADD0 C4209E2C */ lwc1 $f0, %lo(D_802B9E2C)($at)
.L802AADD4:
/* 1143E4 802AADD4 C4249E30 */ lwc1 $f4, %lo(D_802B9E30)($at)
/* 1143E8 802AADD8 3C01802C */ lui $at, %hi(D_802B9E34) # $at, 0x802c
/* 1143EC 802AADDC 4604103C */ c.lt.s $f2, $f4
/* 1143F0 802AADE0 00000000 */ nop
/* 1143F4 802AADE4 45020004 */ bc1fl .L802AADF8
/* 1143F8 802AADE8 4600103C */ c.lt.s $f2, $f0
/* 1143FC 802AADEC 10000013 */ b .L802AAE3C
/* 114400 802AADF0 C4209E34 */ lwc1 $f0, %lo(D_802B9E34)($at)
/* 114404 802AADF4 4600103C */ c.lt.s $f2, $f0
.L802AADF8:
/* 114408 802AADF8 3C01802C */ lui $at, %hi(D_802B9E3C)
/* 11440C 802AADFC 45000004 */ bc1f .L802AAE10
/* 114410 802AAE00 00000000 */ nop
/* 114414 802AAE04 3C01802C */ lui $at, %hi(D_802B9E38) # $at, 0x802c
/* 114418 802AAE08 1000000C */ b .L802AAE3C
/* 11441C 802AAE0C C4209E38 */ lwc1 $f0, %lo(D_802B9E38)($at)
.L802AAE10:
/* 114420 802AAE10 1000000A */ b .L802AAE3C
/* 114424 802AAE14 C4209E3C */ lwc1 $f0, %lo(D_802B9E3C)($at)
.L802AAE18:
/* 114428 802AAE18 28610014 */ slti $at, $v1, 0x14
/* 11442C 802AAE1C 14200003 */ bnez $at, .L802AAE2C
/* 114430 802AAE20 3C01802C */ lui $at, %hi(D_802B9E40) # $at, 0x802c
/* 114434 802AAE24 10000005 */ b .L802AAE3C
/* 114438 802AAE28 C4209E40 */ lwc1 $f0, %lo(D_802B9E40)($at)
.L802AAE2C:
/* 11443C 802AAE2C 3C01802C */ lui $at, %hi(D_802B9E44) # $at, 0x802c
/* 114440 802AAE30 10000002 */ b .L802AAE3C
/* 114444 802AAE34 C4209E44 */ lwc1 $f0, %lo(D_802B9E44)($at)
.L802AAE38:
/* 114448 802AAE38 C420F8E4 */ lwc1 $f0, %lo(D_8015F8E4)($at)
.L802AAE3C:
/* 11444C 802AAE3C 8FBF0014 */ lw $ra, 0x14($sp)
.L802AAE40:
/* 114450 802AAE40 27BD0020 */ addiu $sp, $sp, 0x20
/* 114454 802AAE44 03E00008 */ jr $ra
/* 114458 802AAE48 00000000 */ nop
@@ -1,49 +0,0 @@
glabel func_802AED6C
/* 11837C 802AED6C 00047602 */ srl $t6, $a0, 0x18
/* 118380 802AED70 000E7880 */ sll $t7, $t6, 2
/* 118384 802AED74 3C188015 */ lui $t8, %hi(gSegmentTable)
/* 118388 802AED78 030FC021 */ addu $t8, $t8, $t7
/* 11838C 802AED7C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* 118390 802AED80 8F180258 */ lw $t8, %lo(gSegmentTable)($t8)
/* 118394 802AED84 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 118398 802AED88 0081C824 */ and $t9, $a0, $at
/* 11839C 802AED8C 3C018000 */ lui $at, 0x8000
/* 1183A0 802AED90 03191021 */ addu $v0, $t8, $t9
/* 1183A4 802AED94 00411021 */ addu $v0, $v0, $at
/* 1183A8 802AED98 10A0001E */ beqz $a1, .L802AEE14
/* 1183AC 802AED9C 00001825 */ move $v1, $zero
/* 1183B0 802AEDA0 30A80003 */ andi $t0, $a1, 3
/* 1183B4 802AEDA4 1100000C */ beqz $t0, .L802AEDD8
/* 1183B8 802AEDA8 01003825 */ move $a3, $t0
/* 1183BC 802AEDAC 3C0A8016 */ lui $t2, %hi(D_8015F668) # $t2, 0x8016
/* 1183C0 802AEDB0 254AF668 */ addiu $t2, %lo(D_8015F668) # addiu $t2, $t2, -0x998
/* 1183C4 802AEDB4 00064880 */ sll $t1, $a2, 2
/* 1183C8 802AEDB8 012A2021 */ addu $a0, $t1, $t2
.L802AEDBC:
/* 1183CC 802AEDBC AC820000 */ sw $v0, ($a0)
/* 1183D0 802AEDC0 24630001 */ addiu $v1, $v1, 1
/* 1183D4 802AEDC4 24420010 */ addiu $v0, $v0, 0x10
/* 1183D8 802AEDC8 24C60001 */ addiu $a2, $a2, 1
/* 1183DC 802AEDCC 14E3FFFB */ bne $a3, $v1, .L802AEDBC
/* 1183E0 802AEDD0 24840004 */ addiu $a0, $a0, 4
/* 1183E4 802AEDD4 1065000F */ beq $v1, $a1, .L802AEE14
.L802AEDD8:
/* 1183E8 802AEDD8 3C0C8016 */ lui $t4, %hi(D_8015F668) # $t4, 0x8016
/* 1183EC 802AEDDC 258CF668 */ addiu $t4, %lo(D_8015F668) # addiu $t4, $t4, -0x998
/* 1183F0 802AEDE0 00065880 */ sll $t3, $a2, 2
/* 1183F4 802AEDE4 016C2021 */ addu $a0, $t3, $t4
.L802AEDE8:
/* 1183F8 802AEDE8 AC820000 */ sw $v0, ($a0)
/* 1183FC 802AEDEC 24420010 */ addiu $v0, $v0, 0x10
/* 118400 802AEDF0 AC820004 */ sw $v0, 4($a0)
/* 118404 802AEDF4 24420010 */ addiu $v0, $v0, 0x10
/* 118408 802AEDF8 AC820008 */ sw $v0, 8($a0)
/* 11840C 802AEDFC 24420010 */ addiu $v0, $v0, 0x10
/* 118410 802AEE00 AC82000C */ sw $v0, 0xc($a0)
/* 118414 802AEE04 24630004 */ addiu $v1, $v1, 4
/* 118418 802AEE08 24420010 */ addiu $v0, $v0, 0x10
/* 11841C 802AEE0C 1465FFF6 */ bne $v1, $a1, .L802AEDE8
/* 118420 802AEE10 24840010 */ addiu $a0, $a0, 0x10
.L802AEE14:
/* 118424 802AEE14 03E00008 */ jr $ra
/* 118428 802AEE18 00000000 */ nop
@@ -1,36 +0,0 @@
glabel func_802AF83C
/* 118E4C 802AF83C 0004C602 */ srl $t8, $a0, 0x18
/* 118E50 802AF840 0018C880 */ sll $t9, $t8, 2
/* 118E54 802AF844 3C098015 */ lui $t1, %hi(gSegmentTable)
/* 118E58 802AF848 01394821 */ addu $t1, $t1, $t9
/* 118E5C 802AF84C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* 118E60 802AF850 8D290258 */ lw $t1, %lo(gSegmentTable)($t1)
/* 118E64 802AF854 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 118E68 802AF858 00815024 */ and $t2, $a0, $at
/* 118E6C 802AF85C 00077600 */ sll $t6, $a3, 0x18
/* 118E70 802AF860 3C018000 */ lui $at, 0x8000
/* 118E74 802AF864 012A1021 */ addu $v0, $t1, $t2
/* 118E78 802AF868 000E7E03 */ sra $t7, $t6, 0x18
/* 118E7C 802AF86C AFA60008 */ sw $a2, 8($sp)
/* 118E80 802AF870 AFA7000C */ sw $a3, 0xc($sp)
/* 118E84 802AF874 00411021 */ addu $v0, $v0, $at
/* 118E88 802AF878 10A0000E */ beqz $a1, .L802AF8B4
/* 118E8C 802AF87C 00001825 */ move $v1, $zero
/* 118E90 802AF880 01E04025 */ move $t0, $t7
/* 118E94 802AF884 93A7001B */ lbu $a3, 0x1b($sp)
/* 118E98 802AF888 93A60017 */ lbu $a2, 0x17($sp)
/* 118E9C 802AF88C 93A40013 */ lbu $a0, 0x13($sp)
.L802AF890:
/* 118EA0 802AF890 10800004 */ beqz $a0, .L802AF8A4
/* 118EA4 802AF894 24630001 */ addiu $v1, $v1, 1
/* 118EA8 802AF898 A044000C */ sb $a0, 0xc($v0)
/* 118EAC 802AF89C A046000D */ sb $a2, 0xd($v0)
/* 118EB0 802AF8A0 A047000E */ sb $a3, 0xe($v0)
.L802AF8A4:
/* 118EB4 802AF8A4 0065082B */ sltu $at, $v1, $a1
/* 118EB8 802AF8A8 A048000F */ sb $t0, 0xf($v0)
/* 118EBC 802AF8AC 1420FFF8 */ bnez $at, .L802AF890
/* 118EC0 802AF8B0 24420010 */ addiu $v0, $v0, 0x10
.L802AF8B4:
/* 118EC4 802AF8B4 03E00008 */ jr $ra
/* 118EC8 802AF8B8 00000000 */ nop
@@ -1,82 +0,0 @@
glabel func_802AF8BC
/* 118ECC 802AF8BC 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 118ED0 802AF8C0 00047E02 */ srl $t7, $a0, 0x18
/* 118ED4 802AF8C4 000FC080 */ sll $t8, $t7, 2
/* 118ED8 802AF8C8 3C198015 */ lui $t9, %hi(gSegmentTable)
/* 118EDC 802AF8CC 0338C821 */ addu $t9, $t9, $t8
/* 118EE0 802AF8D0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* 118EE4 802AF8D4 8F390258 */ lw $t9, %lo(gSegmentTable)($t9)
/* 118EE8 802AF8D8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 118EEC 802AF8DC AFB1002C */ sw $s1, 0x2c($sp)
/* 118EF0 802AF8E0 00814024 */ and $t0, $a0, $at
/* 118EF4 802AF8E4 00058E00 */ sll $s1, $a1, 0x18
/* 118EF8 802AF8E8 AFB00028 */ sw $s0, 0x28($sp)
/* 118EFC 802AF8EC 00117603 */ sra $t6, $s1, 0x18
/* 118F00 802AF8F0 AFBE0048 */ sw $fp, 0x48($sp)
/* 118F04 802AF8F4 AFB70044 */ sw $s7, 0x44($sp)
/* 118F08 802AF8F8 AFB60040 */ sw $s6, 0x40($sp)
/* 118F0C 802AF8FC AFB5003C */ sw $s5, 0x3c($sp)
/* 118F10 802AF900 AFB40038 */ sw $s4, 0x38($sp)
/* 118F14 802AF904 AFB30034 */ sw $s3, 0x34($sp)
/* 118F18 802AF908 AFB20030 */ sw $s2, 0x30($sp)
/* 118F1C 802AF90C 3C018000 */ lui $at, 0x8000
/* 118F20 802AF910 03288021 */ addu $s0, $t9, $t0
/* 118F24 802AF914 30D200FF */ andi $s2, $a2, 0xff
/* 118F28 802AF918 30F300FF */ andi $s3, $a3, 0xff
/* 118F2C 802AF91C 01C08825 */ move $s1, $t6
/* 118F30 802AF920 AFBF004C */ sw $ra, 0x4c($sp)
/* 118F34 802AF924 AFA50054 */ sw $a1, 0x54($sp)
/* 118F38 802AF928 AFA60058 */ sw $a2, 0x58($sp)
/* 118F3C 802AF92C AFA7005C */ sw $a3, 0x5c($sp)
/* 118F40 802AF930 02018021 */ addu $s0, $s0, $at
/* 118F44 802AF934 93B40063 */ lbu $s4, 0x63($sp)
/* 118F48 802AF938 3C15B800 */ lui $s5, 0xb800
/* 118F4C 802AF93C 3C16FF00 */ lui $s6, 0xff00
/* 118F50 802AF940 3C170600 */ lui $s7, 0x600
/* 118F54 802AF944 3C1E0400 */ lui $fp, 0x400
.L802AF948:
/* 118F58 802AF948 8E020000 */ lw $v0, ($s0)
/* 118F5C 802AF94C 00112E00 */ sll $a1, $s1, 0x18
/* 118F60 802AF950 8E040004 */ lw $a0, 4($s0)
/* 118F64 802AF954 00561824 */ and $v1, $v0, $s6
/* 118F68 802AF958 12A30019 */ beq $s5, $v1, .L802AF9C0
/* 118F6C 802AF95C 00054E03 */ sra $t1, $a1, 0x18
/* 118F70 802AF960 14770007 */ bne $v1, $s7, .L802AF980
/* 118F74 802AF964 01202825 */ move $a1, $t1
/* 118F78 802AF968 324600FF */ andi $a2, $s2, 0xff
/* 118F7C 802AF96C 326700FF */ andi $a3, $s3, 0xff
/* 118F80 802AF970 0C0ABE2F */ jal func_802AF8BC
/* 118F84 802AF974 AFB40010 */ sw $s4, 0x10($sp)
/* 118F88 802AF978 1000FFF3 */ b .L802AF948
/* 118F8C 802AF97C 26100008 */ addiu $s0, $s0, 8
.L802AF980:
/* 118F90 802AF980 147E000D */ bne $v1, $fp, .L802AF9B8
/* 118F94 802AF984 00022A82 */ srl $a1, $v0, 0xa
/* 118F98 802AF988 00023402 */ srl $a2, $v0, 0x10
/* 118F9C 802AF98C 00113E00 */ sll $a3, $s1, 0x18
/* 118FA0 802AF990 00076E03 */ sra $t5, $a3, 0x18
/* 118FA4 802AF994 30CB00FF */ andi $t3, $a2, 0xff
/* 118FA8 802AF998 30AA003F */ andi $t2, $a1, 0x3f
/* 118FAC 802AF99C 01402825 */ move $a1, $t2
/* 118FB0 802AF9A0 000B3042 */ srl $a2, $t3, 1
/* 118FB4 802AF9A4 01A03825 */ move $a3, $t5
/* 118FB8 802AF9A8 AFB20010 */ sw $s2, 0x10($sp)
/* 118FBC 802AF9AC AFB30014 */ sw $s3, 0x14($sp)
/* 118FC0 802AF9B0 0C0ABE0F */ jal func_802AF83C
/* 118FC4 802AF9B4 AFB40018 */ sw $s4, 0x18($sp)
.L802AF9B8:
/* 118FC8 802AF9B8 1000FFE3 */ b .L802AF948
/* 118FCC 802AF9BC 26100008 */ addiu $s0, $s0, 8
.L802AF9C0:
/* 118FD0 802AF9C0 8FBF004C */ lw $ra, 0x4c($sp)
/* 118FD4 802AF9C4 8FB00028 */ lw $s0, 0x28($sp)
/* 118FD8 802AF9C8 8FB1002C */ lw $s1, 0x2c($sp)
/* 118FDC 802AF9CC 8FB20030 */ lw $s2, 0x30($sp)
/* 118FE0 802AF9D0 8FB30034 */ lw $s3, 0x34($sp)
/* 118FE4 802AF9D4 8FB40038 */ lw $s4, 0x38($sp)
/* 118FE8 802AF9D8 8FB5003C */ lw $s5, 0x3c($sp)
/* 118FEC 802AF9DC 8FB60040 */ lw $s6, 0x40($sp)
/* 118FF0 802AF9E0 8FB70044 */ lw $s7, 0x44($sp)
/* 118FF4 802AF9E4 8FBE0048 */ lw $fp, 0x48($sp)
/* 118FF8 802AF9E8 03E00008 */ jr $ra
/* 118FFC 802AF9EC 27BD0050 */ addiu $sp, $sp, 0x50
+4
View File
@@ -2446,6 +2446,7 @@ glabel jpt_800F2688
.word L800AC78C, L800AC7CC, L800AC878, L800AC8A0
.word L800AC8E0, L800AC968
# begin func_800ACA14
glabel D_800F26C0
.double 4.2
@@ -2454,7 +2455,9 @@ glabel D_800F26C8
glabel D_800F26D0
.double 4.2
# end func_800ACA14
# begin func_800ACC50
glabel jpt_800F26D8
.word L800ACC84, L800ACCF4, L800ACD20, L800ACF2C
.word L800ACF2C, L800ACF2C, L800ACF2C, L800ACF2C
@@ -2469,6 +2472,7 @@ glabel D_800F2718
glabel D_800F2720
.double 4.2
# end func_800ACC50
glabel jpt_800F2728
.word L800ACF94, L800ACFB8, L800AD01C, L800AD128
+199 -430
View File
@@ -1231,137 +1231,43 @@ void func_800940EC(s32 arg0) {
func_80057CE4();
}
#ifdef MIPS_TO_C
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
f32 D_800E8530 = 0.0f;
f32 D_800E8534 = 3.0f;
void func_800942D0(void) {
Gfx *sp6C;
Gfx *temp_v0;
Gfx *temp_v0_10;
Gfx *temp_v0_11;
Gfx *temp_v0_12;
Gfx *temp_v0_13;
Gfx *temp_v0_14;
Gfx *temp_v0_15;
Gfx *temp_v0_16;
Gfx *temp_v0_2;
Gfx *temp_v0_3;
Gfx *temp_v0_4;
Gfx *temp_v0_5;
Gfx *temp_v0_6;
Gfx *temp_v0_7;
Gfx *temp_v0_8;
Gfx *temp_v0_9;
Mtx *temp_s1;
Mtx *temp_s1_2;
Mtx *temp_s1_3;
Mtx *temp_s4;
Mtx *temp_s4_2;
Mtx *var_s1;
Mtx *test;
f32 var_f26;
s32 temp_s3;
s32 var_s2;
s32 var_s5;
u32 temp_t4;
temp_v0 = gDisplayListHead;
gDisplayListHead = temp_v0 + 8;
temp_v0->words.w0 = 0x01030040;
temp_v0->words.w1 = (u32) gGfxPool;
temp_v0_2 = gDisplayListHead;
gDisplayListHead = temp_v0_2 + 8;
temp_v0_2->words.w0 = 0x01020040;
temp_s1 = &gGfxPool->mtxPool[0x32B];
temp_v0_2->words.w1 = (u32) &gGfxPool->mtxPool[7];
guRotate(temp_s1, D_8018EDC8, 1.0f, 0.0f, 0.0f);
temp_s4 = temp_s1 + 0x40;
guRotate(temp_s4, D_8018EDCC, 0.0f, 1.0f, 0.0f);
guScale(temp_s1 + 0x80, 1.0f, 1.0f, D_8018EDC4);
temp_v0_3 = gDisplayListHead;
gDisplayListHead = temp_v0_3 + 8;
temp_v0_3->words.w1 = (u32) temp_s1;
temp_v0_3->words.w0 = 0x01000040;
temp_v0_4 = gDisplayListHead;
temp_s1_2 = temp_s4 + 0x40;
gDisplayListHead = temp_v0_4 + 8;
temp_v0_4->words.w1 = (u32) temp_s4;
temp_v0_4->words.w0 = 0x01000040;
temp_v0_5 = gDisplayListHead;
gDisplayListHead = temp_v0_5 + 8;
temp_v0_5->words.w1 = (u32) temp_s1_2;
temp_v0_5->words.w0 = 0x01040040;
temp_v0_6 = gDisplayListHead;
gDisplayListHead = temp_v0_6 + 8;
temp_v0_6->words.w0 = 0xB900031D;
temp_v0_6->words.w1 = 0x00552078;
temp_v0_7 = gDisplayListHead;
gDisplayListHead = temp_v0_7 + 8;
temp_v0_7->words.w1 = 0;
temp_v0_7->words.w0 = 0xFB000000;
temp_v0_8 = gDisplayListHead;
gDisplayListHead = temp_v0_8 + 8;
temp_v0_8->words.w1 = (u32) D_02007F60;
temp_v0_8->words.w0 = 0x06000000;
temp_v0_9 = gDisplayListHead;
gDisplayListHead = temp_v0_9 + 8;
temp_v0_9->words.w1 = 0;
temp_v0_9->words.w0 = 0xBD000000;
var_s1 = temp_s1_2 + 0x40;
var_s2 = 0;
var_s5 = 0xC0;
if (D_800E8530 > 0.0f) {
s32 thing;
test = &gGfxPool->mtxPool[0x32B];
gSPMatrix(gDisplayListHead++, &gGfxPool->mtxPool[0], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gDisplayListHead++, &gGfxPool->mtxPool[7], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
guRotate(test, D_8018EDC8, 1.0f, 0.0f, 0.0f);
guRotate(test + 1, D_8018EDCC, 0.0f, 1.0f, 0.0f);
guScale( test + 2, 1.0f, 1.0f, D_8018EDC4);
gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, test++, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetEnvColor(gDisplayListHead++, 0x00, 0x00, 0x00, 0x00);
gSPDisplayList(gDisplayListHead++, D_02007F60);
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
if (D_800E8530 > 0) {
var_f26 = D_800E8534;
if (var_f26 > 10.0f) {
var_f26 = 10.0f;
}
sp6C = D_06009410;
do {
guRotate(var_s1, 0.0f, 1.0f, 0.0f, 0.0f);
temp_s3 = var_s2 + 1;
temp_s4_2 = var_s1 + 0x40;
guRotate(temp_s4_2, (f32) temp_s3 * D_800E8530 * var_f26, 0.0f, 1.0f, 0.0f);
guScale(var_s1 + 0x80, 1.0f, 1.0f, 2.0f);
temp_v0_10 = gDisplayListHead;
gDisplayListHead = temp_v0_10 + 8;
temp_v0_10->words.w1 = (u32) var_s1;
temp_v0_10->words.w0 = 0x01040040;
temp_v0_11 = gDisplayListHead;
temp_s1_3 = temp_s4_2 + 0x40;
gDisplayListHead = temp_v0_11 + 8;
temp_v0_11->words.w1 = (u32) temp_s4_2;
temp_v0_11->words.w0 = 0x01000040;
temp_v0_12 = gDisplayListHead;
temp_t4 = var_s5 & 0xFF;
gDisplayListHead = temp_v0_12 + 8;
temp_v0_12->words.w1 = (u32) temp_s1_3;
temp_v0_12->words.w0 = 0x01000040;
temp_v0_13 = gDisplayListHead;
gDisplayListHead = temp_v0_13 + 8;
temp_v0_13->words.w1 = 0x005049D8;
temp_v0_13->words.w0 = 0xB900031D;
temp_v0_14 = gDisplayListHead;
var_s5 -= 0x10;
gDisplayListHead = temp_v0_14 + 8;
temp_v0_14->words.w1 = temp_t4;
temp_v0_14->words.w0 = 0xFB000000;
temp_v0_15 = gDisplayListHead;
var_s2 = temp_s3;
var_s1 = temp_s1_3 + 0x40;
gDisplayListHead = temp_v0_15 + 8;
temp_v0_15->words.w0 = 0x06000000;
temp_v0_15->words.w1 = (u32) sp6C;
temp_v0_16 = gDisplayListHead;
gDisplayListHead = temp_v0_16 + 8;
temp_v0_16->words.w1 = 0;
temp_v0_16->words.w0 = 0xBD000000;
} while (temp_s3 != 0xC);
for (var_s2 = 0, thing = 0xC0; var_s2 < 0xC; var_s2++, thing -= 0x10) {
guRotate(test, 0.0f, 1.0f, 0.0f, 0.0f);
guRotate(test + 1, (var_s2 + 1) * D_800E8530 * var_f26, 0.0f, 1.0f, 0.0f);
guScale( test + 2, 1.0f, 1.0f, 2.0f);
gSPMatrix(gDisplayListHead++, test++, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2);
gDPSetEnvColor(gDisplayListHead++, 0x00, 0x00, 0x00, thing);
gSPDisplayList(gDisplayListHead++, D_06009410);
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800942D0.s")
#endif
void func_80094660(struct GfxPool *arg0, UNUSED s32 arg1) {
u16 perspNorm;
@@ -12951,31 +12857,15 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AA280.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
s32 check_for_controller_pak(?); /* extern */
extern s8 D_800E86AC;
extern u16 gCompanyCode;
extern u32 gGameCode;
extern s8 gControllerPak1State;
extern u8 gGameName;
extern u8 gExtCode;
extern OSPfs gControllerPak1FileHandle;
extern s32 gControllerPak1NumFilesUsed;
extern s32 gControllerPak1MaxWriteableFiles;
extern s32 gControllerPak1FileNote;
extern s8 gMainMenuSelectionDepth;
//generated by m2c commit b52d92c2340f6f4ba1aafb464188bb698752fbb0 on Jul-16-2023
void func_800AA2EC(struct_8018D9E0_entry *arg0) {
s32 sp20;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s32 var_t1;
s8 temp_t6;
s8 temp_v0;
temp_t6 = gMainMenuSelectionDepth;
var_t1 = 0;
switch (temp_t6) {
switch (gMainMenuSelectionDepth) {
case OPTIONS_SELECTION:
case DATA_SELECTION:
case PLAYER_NUM_SELECTION:
@@ -12986,12 +12876,12 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) {
case CONFIRM_OK_SELECTION:
case CONFIRM_OK_SELECTION_FROM_BACK_OUT:
case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT:
if ((arg0->unk4 == 0) && (temp_v0 = D_8018EDF3, (temp_v0 == 1)) && (*(&D_800E86AC - 1 + temp_v0) == 1)) {
if ((arg0->unk4 == 0) && (D_8018EDF3 == 1) && ((D_800E86AC - 1)[D_8018EDF3] == 1)) {
if (gControllerPak1State != 0) {
sp20 = 0;
temp_v0_2 = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, &gGameName, &gExtCode, &gControllerPak1FileNote);
temp_v0 = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote);
var_t1 = 0;
switch (temp_v0_2) { /* switch 1; irregular */
switch (temp_v0) { /* switch 1; irregular */
case 5: /* switch 1 */
break;
case 0: /* switch 1 */
@@ -13010,12 +12900,12 @@ void func_800AA2EC(struct_8018D9E0_entry *arg0) {
arg0->unk4 = 2;
return;
}
temp_v0_3 = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0);
if (temp_v0_3 != 0) {
if (temp_v0_3 != 1) {
if (temp_v0_3 != 4) {
if (temp_v0_3 != 0x0000000A) {
if (temp_v0_3 == 0x0000000B) {
temp_v0_2 = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0);
if (temp_v0_2 != 0) {
if (temp_v0_2 != 1) {
if (temp_v0_2 != 4) {
if (temp_v0_2 != 0x0000000A) {
if (temp_v0_2 == 0x0000000B) {
goto block_22;
}
goto block_24;
@@ -13032,7 +12922,7 @@ block_22:
return;
}
gControllerPak1State = 1;
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, &gGameName, &gExtCode, &gControllerPak1FileNote) == 0) {
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) {
arg0->unk4 = 1;
return;
}
@@ -13692,90 +13582,50 @@ void func_800AB290(struct_8018D9E0_entry *arg0) {
}
#ifdef MIPS_TO_C
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
// Decent work has been done, but not quite right
// https://decomp.me/scratch/YLbkC
void func_800AB314(struct_8018D9E0_entry *arg0) {
s32 sp3C;
void *sp24;
void **sp1C;
s32 temp_t2;
s32 temp_t5;
s32 temp_t7;
s32 var_a1;
s32 var_v0;
s8 var_a1_2;
struct_8018D9E0_entry *temp_v0;
void **var_v1;
void **var_v1_2;
void *temp_t7_2;
s32 one;
u32 var_v0;
struct_8018D9E0_entry *sp24[4];
var_v1 = &sp24;
var_a1 = 0;
do {
sp1C = var_v1;
sp3C = var_a1;
temp_v0 = find_8018D9E0_entry_dupe(var_a1 + 0x5F);
var_a1 += 1;
var_v1 += 4;
var_v1->unk-4 = temp_v0;
} while (var_a1 < 4);
if (gModeSelection != GRAND_PRIX) {
if (D_8018EDEC != 1) {
for (var_a1 = 0; var_a1 < 4; var_a1++) {
sp24[var_a1] = find_8018D9E0_entry_dupe(var_a1 + 0x5F);
}
if (gModeSelection != 0) {
if (D_8018EDEC != 1U) {
arg0->unk4 = 0;
arg0->unk20 = 0;
if (gCupCourseSelection == 0) {
sp24->unk15 = 1;
if (arg0->unk1C != 0) {
arg0->unk1C = 0;
for (var_a1 = 0; var_a1 < 4; var_a1++) {
if (gCupCourseSelection == var_a1) {
sp24[var_a1]->visible = 1;
if (arg0->unk1C != var_a1) {
arg0->unk1C = var_a1;
}
}
} else {
sp24->unk15 = 0;
}
if (gCupCourseSelection == 1) {
sp28->unk15 = 1;
if (arg0->unk1C != 1) {
arg0->unk1C = (s32) 1;
else {
sp24[var_a1]->visible = 0;
}
} else {
sp28->unk15 = 0;
}
if (gCupCourseSelection == 2) {
sp2C->unk15 = 1;
if (arg0->unk1C != 2) {
arg0->unk1C = 2;
}
} else {
sp2C->unk15 = 0;
}
if (gCupCourseSelection == 3) {
sp30->unk15 = 1;
if (arg0->unk1C != 3) {
arg0->unk1C = 3;
}
} else {
sp30->unk15 = 0;
}
} else {
arg0->unk4 = 3;
sp24->unk15 = 1;
sp24->unk14 = 6;
sp28->unk15 = 1;
sp28->unk14 = 6;
sp2C->unk15 = 1;
sp2C->unk14 = 6;
sp30->unk15 = 1;
sp30->unk14 = 6;
for (var_a1 = 0; var_a1 < 4; var_a1++) {
sp24[var_a1]->visible = 1;
sp24[var_a1]->priority = 6;
}
}
} else {
var_v0 = arg0->unk4;
switch (var_v0) { /* irregular */
case 0:
if (((s32) arg0->unk1C / 4) == gCupSelection) {
temp_t5 = arg0->unk20 + 1;
arg0->unk20 = temp_t5;
if (temp_t5 >= 0x33) {
if ((arg0->unk1C / 4) == gCupSelection) {
arg0->unk20++;
if (arg0->unk20 >= 0x33) {
arg0->unk4 = 1;
arg0->unk20 = 0;
arg0->unk1C = (gCupSelection * 4) + 1;
arg0->unk1C = (gCupSelection * 4);
arg0->unk1C++;
}
} else {
arg0->unk20 = 0;
@@ -13788,18 +13638,17 @@ void func_800AB314(struct_8018D9E0_entry *arg0) {
var_v0 = arg0->unk4;
break;
case 1:
var_v0 = 0;
if (((s32) arg0->unk1C / 4) != gCupSelection) {
if ((arg0->unk1C / 4) != gCupSelection) {
arg0->unk4 = 0;
var_v0 = 0;
arg0->unk20 = 0;
arg0->unk1C = 0;
} else {
temp_t2 = arg0->unk20 + 1;
arg0->unk20 = temp_t2;
if (temp_t2 >= 0x1F) {
arg0->unk20++;
if (arg0->unk20 >= 0x1F) {
arg0->unk20 = 0;
arg0->unk1C = (gCupSelection * 4) + (((arg0->unk1C % 4) + 1) % 4);
var_v0 = arg0->unk4;
arg0->unk1C = (gCupSelection * 4) + ((s32) (((s32) arg0->unk1C % 4) + 1) % 4);
} else {
if (D_8018EDEC == 3) {
arg0->unk4 = 2;
@@ -13810,9 +13659,8 @@ void func_800AB314(struct_8018D9E0_entry *arg0) {
}
break;
case 2:
temp_t7 = arg0->unk20 + 1;
arg0->unk20 = temp_t7;
if (temp_t7 >= 0x1A) {
arg0->unk20++;
if (arg0->unk20 >= 0x1A) {
arg0->unk4 = 3;
arg0->unk20 = 0;
}
@@ -13832,70 +13680,39 @@ void func_800AB314(struct_8018D9E0_entry *arg0) {
}
break;
}
if ((var_v0 != 0) && (var_v0 != (s32) 1)) {
var_a1_2 = 0;
if (var_v0 != 2) {
if (var_v0 != (s32) 3) {
return;
switch (var_v0) {
case 0:
case 1:
for (var_a1 = 0; var_a1 < 4; var_a1++) {
if ((arg0->unk1C % 4) == var_a1) {
sp24[var_a1]->visible = 1;
} else {
sp24[var_a1]->visible = 0;
}
sp24->unk15 = 1;
sp24->unk14 = 6;
sp28->unk15 = 1;
sp28->unk14 = 6;
sp2C->unk15 = 1;
sp2C->unk14 = 6;
sp30->unk15 = 1;
sp30->unk14 = 6;
return;
sp24[var_a1]->priority = 6;
}
var_v1_2 = &sp24;
do {
if (var_a1_2 == ((s32) arg0->unk1C % 4)) {
var_v1_2->unk0->unk14 = 6;
} else if (arg0->unk20 < (var_a1_2 * 5)) {
var_v1_2->unk0->unk14 = 4;
break;
case 2:
for (var_a1 = 0; var_a1 < 4; var_a1++) {
if (var_a1 == (arg0->unk1C % 4)) {
sp24[var_a1]->priority = 6;
} else if(arg0->unk20 < (var_a1 * 5)) {
sp24[var_a1]->priority = 4;
} else {
var_v1_2->unk0->unk14 = 8;
sp24[var_a1]->priority = 8;
}
var_v1_2->unk0->unk15 = 1;
if ((var_a1_2 + 1) == ((s32) arg0->unk1C % 4)) {
var_v1_2->unk4->unk14 = 6;
} else if (arg0->unk20 < ((var_a1_2 * 5) + 5)) {
var_v1_2->unk4->unk14 = 4;
} else {
var_v1_2->unk4->unk14 = 8;
}
temp_t7_2 = var_v1_2->unk4;
var_a1_2 += 2;
var_v1_2 += 8;
temp_t7_2->unk15 = 1;
} while (var_a1_2 != 4);
return;
sp24[var_a1]->visible = 1;
}
break;
case 3:
for (var_a1 = 0; var_a1 < 4; var_a1++) {
sp24[var_a1]->visible = 1;
sp24[var_a1]->priority = 6;
}
break;
default:
break;
}
if (!(arg0->unk1C & 3)) {
sp24->unk15 = 1;
} else {
sp24->unk15 = 0;
}
sp24->unk14 = 6;
if (((s32) arg0->unk1C % 4) == 1) {
sp28->unk15 = 1;
} else {
sp28->unk15 = 0;
}
sp28->unk14 = 6;
if (((s32) arg0->unk1C % 4) == 2) {
sp2C->unk15 = 1;
} else {
sp2C->unk15 = 0;
}
sp2C->unk14 = 6;
if (((s32) arg0->unk1C % 4) == 3) {
sp30->unk15 = 1;
} else {
sp30->unk15 = 0;
}
sp30->unk14 = 6;
}
}
#else
@@ -14270,17 +14087,15 @@ void func_800AC324(struct_8018D9E0_entry *arg0) {
}
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-12-2022
? func_800B536C(s32, s32, s32, struct_8018D9E0_entry *); /* extern */
//generated by m2c commit b52d92c2340f6f4ba1aafb464188bb698752fbb0 on Jul-16-2023
extern ? D_80164478;
extern void *D_8018D9BC;
s32 D_800DDB24 = 1;
static s8 gGP1stPlaceReward = 9; /* const */
static s8 gGP2ndPlaceReward = 6; /* const */
static s8 gGP3rdPlaceReward = 3; /* const */
static s8 gGP4thPlaceReward = 1; /* const */
s32 D_800DDB24 = 1;
void func_800AC458(struct_8018D9E0_entry *arg0) {
void func_800AC458(void *arg0) {
s32 sp1C;
s32 sp18;
s32 temp_a1;
@@ -14293,32 +14108,32 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
s32 temp_t5;
s32 temp_t7;
s32 temp_t8;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s32 var_a0;
s32 var_a1;
s32 var_t1;
s8 *temp_v1;
s8 *var_v0;
u32 temp_v0;
u32 temp_v0_3;
u8 *temp_a2_2;
u8 temp_t0;
temp_v0 = arg0->unk4;
switch (temp_v0) {
case 0:
arg0->column = -0x000000A0;
arg0->unk4 = 1;
arg0->unkC = -0x000000A0;
arg0->unk4 = 1U;
D_8018D9BC->unk0 = (s8) gGP1stPlaceReward;
D_8018D9BC->unk1 = (s8) gGP2ndPlaceReward;
D_8018D9BC->unk2 = (s8) gGP3rdPlaceReward;
D_8018D9BC->unk3 = (s8) gGP4thPlaceReward;
arg0->unk20 = arg0->column;
arg0->unk20 = (s32) arg0->unkC;
return;
case 1:
temp_a1 = arg0->unk20;
var_a0 = 0x10;
arg0->column = temp_a1;
arg0->unkC = temp_a1;
if (D_8018D9D8 != 0) {
var_a0 = 0x20;
}
@@ -14330,18 +14145,18 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
return;
}
arg0->unk20 = 0;
arg0->column = 0;
arg0->unk4 = 2;
arg0->unkC = 0;
arg0->unk4 = 2U;
arg0->unk1C = 0;
D_800DC5EC->screenStartX = 0x00F0;
D_800DC5F0->screenStartX = 0x0050;
return;
case 2:
arg0->column = 0;
arg0->unkC = 0;
temp_t5 = arg0->unk1C + 1;
arg0->unk1C = temp_t5;
if (((D_8018D9D8 != 0) || (temp_t5 >= 0x1F)) && (D_800DDB24 != 0)) {
arg0->unk4 = 3;
arg0->unk4 = 3U;
arg0->unk1C = 0;
arg0->unk20 = 0;
return;
@@ -14380,11 +14195,11 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
temp_v0_3 = arg0->unk4;
arg0->unk20 = 0;
arg0->unk1C = 0;
if (temp_v0_3 < 6) {
arg0->unk4 = temp_v0_3 + 1;
if ((s32) temp_v0_3 < 6) {
arg0->unk4 = (u32) (temp_v0_3 + 1);
return;
}
arg0->unk4 = 7;
arg0->unk4 = 7U;
return;
}
break;
@@ -14392,7 +14207,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
temp_t2 = arg0->unk1C + 1;
arg0->unk1C = temp_t2;
if ((((D_8018D9D8 != 0) && (temp_t2 >= 0xB)) || (arg0->unk1C >= 0x3D)) && (D_800DDB24 != 0)) {
arg0->unk4 = 8;
arg0->unk4 = 8U;
arg0->unk1C = 0;
return;
}
@@ -14401,10 +14216,10 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
temp_t8 = arg0->unk1C + 1;
arg0->unk1C = temp_t8;
if (D_8018D9D8 != 0) {
arg0->unk1C = temp_t8 + 5;
arg0->unk1C = (s32) (temp_t8 + 5);
}
if (arg0->unk1C >= 0x29) {
arg0->unk4 = 9;
arg0->unk4 = 9U;
return;
}
break;
@@ -14412,17 +14227,17 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
temp_t7 = arg0->unk1C - 1;
arg0->unk1C = temp_t7;
if (D_8018D9D8 != 0) {
arg0->unk1C = temp_t7 - 5;
arg0->unk1C = (s32) (temp_t7 - 5);
}
if (arg0->unk1C <= 0) {
arg0->unk4 = 0x0000000A;
arg0->unk4 = 0x0000000AU;
arg0->unk1C = 0;
var_a1 = 0;
if (gCupCourseSelection == 3) {
var_v0 = gCharacterIdByGPOverallRank;
loop_41:
if (*(&D_80164478 + (*var_v0 * 2)) < D_8018EDF3) {
func_800B536C(var_a1, var_a1, 8, arg0);
func_800B536C(var_a1);
return;
}
var_a1 += 1;
@@ -14438,7 +14253,7 @@ loop_41:
temp_t3_2 = arg0->unk1C + 1;
arg0->unk1C = temp_t3_2;
if (temp_t3_2 > 0) {
arg0->unk4 = 0x0000000B;
arg0->unk4 = 0x0000000BU;
arg0->unk1C = 0;
func_800921B4();
return;
@@ -14446,23 +14261,23 @@ loop_41:
break;
case 11:
if ((D_8018D9D8 != 0) && (D_800DDB24 != 0)) {
arg0->unk4 = 0x0000000C;
arg0->unk20 = arg0->row;
arg0->unk4 = 0x0000000CU;
arg0->unk20 = (s32) arg0->unk10;
play_sound2(0x49008015);
return;
}
break;
case 12:
temp_a1_3 = arg0->unk20;
arg0->row = temp_a1_3;
arg0->unk10 = temp_a1_3;
if (temp_a1_3 < 0xF0) {
arg0->unk20 = temp_a1_3 + 0x10;
arg0->unk20 = (s32) (temp_a1_3 + 0x10);
D_800DC5EC->screenStartY += 0x10;
D_800DC5F0->screenStartY -= 0x10;
return;
}
arg0->unk20 = 0;
arg0->unk4 = 0x0000000D;
arg0->unk4 = 0x0000000DU;
arg0->unk1C = 0;
D_800DC5EC->screenStartY = 0x012C;
D_800DC5F0->screenStartY = -0x003C;
@@ -14498,23 +14313,13 @@ void func_800AC978(struct_8018D9E0_entry *arg0) {
}
}
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-12-2022
#ifdef NEEDS_RODATA
// rodata_code_80091750
extern f64 D_800F26C0 = 4.2;
extern f64 D_800F26C8 = 4.2;
extern f64 D_800F26D0 = 4.2;
void func_800ACA14(struct_8018D9E0_entry *arg0) {
f64 temp_f0;
f64 temp_f0_2;
f64 temp_f0_3;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s32 var_a0;
s32 var_v0;
u16 var_v1;
switch (arg0->unk4) { /* irregular */
default:
var_v0 = arg0->unk20;
break;
case 0:
if (arg0->unk20 >= 0xB) {
arg0->unk1C += 3;
@@ -14523,114 +14328,86 @@ void func_800ACA14(struct_8018D9E0_entry *arg0) {
arg0->unk4 = 0x0000000B;
arg0->unk1C = 0;
}
var_v0 = arg0->unk20;
break;
case 11:
case 12:
if (func_800B4520() != 0) {
// Wut?
} else {
var_v1 = gControllerFive->buttonPressed;
var_a0 = var_v1 | gControllerFive->stickPressed;
if (var_a0 & 0x800) {
temp_v0_2 = arg0->unk4;
if (temp_v0_2 >= 0xC) {
arg0->unk4 = temp_v0_2 - 1;
play_sound2(0x49008000);
temp_f0 = (f64) arg0->unk24;
if (temp_f0 < 4.2) {
arg0->unk24 = (f32) (temp_f0 + 4.0);
}
arg0->unk8 = -1;
var_v1 = gControllerFive->buttonPressed;
var_a0 = var_v1 | gControllerFive->stickPressed;
}
}
if (var_a0 & 0x400) {
temp_v0_3 = arg0->unk4;
if (temp_v0_3 < 0xC) {
arg0->unk4 = temp_v0_3 + 1;
play_sound2(0x49008000);
temp_f0_2 = (f64) arg0->unk24;
if (temp_f0_2 < 4.2) {
arg0->unk24 = (f32) (temp_f0_2 + 4.0);
}
arg0->unk8 = 1;
var_v1 = gControllerFive->buttonPressed;
}
}
if (var_v1 & 0x9000) {
func_8009DFE0(0x0000001E);
func_800CA330(0x19U);
play_sound2(0x4900801B);
temp_f0_3 = (f64) arg0->unk24;
if (temp_f0_3 < 4.2) {
arg0->unk24 = (f32) (temp_f0_3 + 4.0);
if (func_800B4520()) break;
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) {
if (arg0->unk4 >= 0xC) {
arg0->unk4--;
play_sound2(0x49008000);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
arg0->unk8 = -1;
}
}
var_v0 = arg0->unk20;
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) {
if (arg0->unk4 < 0xC) {
arg0->unk4++;
play_sound2(0x49008000);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
arg0->unk8 = 1;
}
}
if (gControllerFive->buttonPressed & 0x9000) {
func_8009DFE0(0x0000001E);
func_800CA330(0x19U);
play_sound2(0x4900801B);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
}
break;
default:
break;
}
if (var_v0 < 0x28) {
arg0->unk20 = var_v0 + 1;
if (arg0->unk20 < 0x28) {
arg0->unk20++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ACA14.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-12-2022
void func_800ACC50(struct_8018D9E0_entry *arg0) {
f64 temp_f0;
f64 temp_f0_2;
f64 temp_f0_3;
s32 temp_t6;
s32 temp_t8;
s32 temp_t9;
s32 temp_v0;
s32 temp_v0_2;
s32 var_a0;
s32 var_s0;
u16 var_v1;
#ifdef NEEDS_RODATA
// rodata_code_80091750
// jpt_800F26D8
extern f64 D_800F2710 = 4.2;
extern f64 D_800F2718 = 4.2;
extern f64 D_800F2720 = 4.2;
temp_t6 = arg0->unk4;
switch (temp_t6) {
void func_800ACC50(struct_8018D9E0_entry *arg0) {
s32 var_s0;
switch (arg0->unk4) {
case 0:
temp_t8 = arg0->unk1C + 3;
arg0->unk1C = temp_t8;
if (temp_t8 >= 0x65) {
arg0->unk1C += 3;
if (arg0->unk1C >= 0x65) {
arg0->unk4 = 1;
arg0->unk1C = 0;
var_s0 = 0;
if (D_8018EDF3 > 0) {
do {
add_8018D9E0_entry(var_s0 + 0xB1, 0, 0, (s8) (5 - var_s0));
var_s0 += 1;
} while (var_s0 < D_8018EDF3);
return;
for (var_s0 = 0; var_s0 < D_8018EDF3; var_s0++) {
add_8018D9E0_entry(var_s0 + 0xB1, 0, 0, (s8) (5 - var_s0));
}
}
default:
return;
break;
case 1:
if (find_8018D9E0_entry_dupe(0x000000B1)->unk4 >= 2) {
arg0->unk4 = 2;
return;
}
break;
case 2:
temp_t9 = arg0->unk1C + 0x20;
arg0->unk1C = temp_t9;
if (temp_t9 >= 0x100) {
arg0->unk1C += 0x20;
if (arg0->unk1C >= 0x100) {
if (gModeSelection == 2) {
arg0->unk4 = (s32) D_8018EDF4;
} else {
arg0->unk4 = (s32) D_8018EDF6;
}
arg0->unk1C = 0;
return;
}
break;
case 10:
@@ -14638,36 +14415,27 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) {
case 12:
case 13:
if (func_800B4520() == 0) {
var_v1 = gControllerFive->buttonPressed;
var_a0 = var_v1 | gControllerFive->stickPressed;
if (var_a0 & 0x800) {
temp_v0 = arg0->unk4;
if (temp_v0 >= 0xB) {
arg0->unk4 = temp_v0 - 1;
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) {
if (arg0->unk4 >= 0xB) {
arg0->unk4--;
play_sound2(0x49008000);
temp_f0 = (f64) arg0->unk24;
if (temp_f0 < 4.2) {
arg0->unk24 = (f32) (temp_f0 + 4.0);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
arg0->unk8 = -1;
var_v1 = gControllerFive->buttonPressed;
var_a0 = var_v1 | gControllerFive->stickPressed;
}
}
if (var_a0 & 0x400) {
temp_v0_2 = arg0->unk4;
if (temp_v0_2 < 0xD) {
arg0->unk4 = temp_v0_2 + 1;
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) {
if (arg0->unk4 < 0xD) {
arg0->unk4++;
play_sound2(0x49008000);
temp_f0_2 = (f64) arg0->unk24;
if (temp_f0_2 < 4.2) {
arg0->unk24 = (f32) (temp_f0_2 + 4.0);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
arg0->unk8 = 1;
var_v1 = gControllerFive->buttonPressed;
}
}
if (var_v1 & 0x9000) {
if (gControllerFive->buttonPressed & 0x9000) {
func_8009DFE0(0x0000001E);
play_sound2(0x49008016);
if (gModeSelection == 2) {
@@ -14675,13 +14443,14 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) {
} else {
D_8018EDF6 = (s8) arg0->unk4;
}
temp_f0_3 = (f64) arg0->unk24;
if (temp_f0_3 < 4.2) {
arg0->unk24 = (f32) (temp_f0_3 + 4.0);
if (arg0->unk24 < 4.2) {
arg0->unk24 += 4.0;
}
}
}
break;
default:
break;
}
}
#else
+2
View File
@@ -265,6 +265,8 @@ void func_800AC128(struct_8018D9E0_entry*);
void func_800AC300(struct_8018D9E0_entry*);
void func_800AC324(struct_8018D9E0_entry*);
void func_800AC978(struct_8018D9E0_entry*);
void func_800ACA14(struct_8018D9E0_entry*);
void func_800ACC50(struct_8018D9E0_entry*);
void func_800AD1A4(struct_8018D9E0_entry*);
void func_800ADF48(struct_8018D9E0_entry*);
void func_800AEC54(struct_8018D9E0_entry*);
+91 -208
View File
@@ -30,112 +30,78 @@ void func_802AAAAC(UnkActorInner *arg0) {
vec3f_set(arg0->unk60, 0.0f, 1.0f, 0.0f);
}
#ifdef MIPS_TO_C
//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b
extern f32 D_8015F8E4;
static f32 D_802B9E00 = 1859.0f;
static f32 D_802B9E04 = 1549.0f;
static f32 D_802B9E08 = -1102.0f;
static f32 D_802B9E0C = -1402.0f;
static f32 D_802B9E10 = 2405.0f;
static f32 D_802B9E14 = 2233.0f;
static f32 D_802B9E18 = 0.8f;
static f32 D_802B9E1C = -475.0f;
static f32 D_802B9E20 = -33.9f;
static f32 D_802B9E24 = -838.0f;
static f32 D_802B9E28 = -475.0f;
static f32 D_802B9E2C = -475.0f;
static f32 D_802B9E30 = -993.0f;
static f32 D_802B9E34 = -33.9f;
static f32 D_802B9E38 = -475.0f;
static f32 D_802B9E3C = -33.9f;
static f32 D_802B9E40 = -475.0f;
static f32 D_802B9E44 = -33.9f;
s16 gCurrentCourseId; /* unable to generate initializer */
f32 func_802AAB4C(Player *player) {
f32 sp1C;
f32 sp18;
f32 temp_f0;
f32 temp_f2;
s16 temp_v0;
f32 playerX;
f32 playerZ;
s32 temp_v1;
temp_v0 = gCurrentCourseId;
temp_f0 = player->pos[0];
temp_f2 = player->pos[2];
switch (temp_v0) { /* irregular */
case 2:
if (D_802B9E00 < temp_f0) {
goto block_43;
playerX = player->pos[0];
playerZ = player->pos[2];
switch (gCurrentCourseId) { /* irregular */
case COURSE_BOWSER_CASTLE:
if (playerX > 1859.0f) {
return D_8015F8E4;
}
if (temp_f0 < D_802B9E04) {
goto block_43;
if (playerX < 1549.0f) {
return D_8015F8E4;
}
if (D_802B9E08 < temp_f2) {
goto block_43;
if (playerZ > -1102.0f) {
return D_8015F8E4;
}
if (temp_f2 < D_802B9E0C) {
block_43:
default:
if (playerZ < -1402.0f) {
return D_8015F8E4;
}
return 20.0f;
case 6:
if (temp_f0 > 239.0f) {
goto block_43;
case COURSE_KOOPA_BEACH:
if (playerX > 239.0f) {
return D_8015F8E4;
}
if (temp_f0 < 67.0f) {
goto block_43;
if (playerX < 67.0f) {
return D_8015F8E4;
}
if (D_802B9E10 < temp_f2) {
goto block_43;
if (playerZ > 2405.0f) {
return D_8015F8E4;
}
if (temp_f2 < D_802B9E14) {
goto block_43;
if (playerZ < 2233.0f) {
return D_8015F8E4;
}
return D_802B9E18;
case 12:
return 0.8f;
case COURSE_SHERBET_LAND:
if ((func_802ABD10(player->unk_110.unk3A) & 0xFF) == 5) {
return (f32) (D_8015F6EE - 0xA);
}
goto block_43;
case 18:
sp18 = temp_f2;
sp1C = temp_f0;
return D_8015F8E4;
case COURSE_DK_JUNGLE:
temp_v1 = func_802ABD40(player->unk_110.unk3A) & 0xFF;
if (temp_v1 == 0xFF) {
sp18 = temp_f2;
sp1C = temp_f0;
if ((func_802ABD10(player->unk_110.unk3A) & 0xFF) == 0xF) {
return D_802B9E1C;
return -475.0f;
}
if (temp_f0 > -478.0f) {
return D_802B9E20;
if (playerX > -478.0f) {
return -33.9f;
}
if (temp_f0 < D_802B9E24) {
return D_802B9E28;
if (playerX < -838.0f) {
return -475.0f;
}
if (temp_f2 > -436.0f) {
return D_802B9E2C;
if (playerZ > -436.0f) {
return -475.0f;
}
if (temp_f2 < D_802B9E30) {
return D_802B9E34;
if (playerZ < -993.0f) {
return -33.9f;
}
if (temp_f2 < temp_f0) {
return D_802B9E38;
if (playerZ < playerX) {
return -475.0f;
}
return D_802B9E3C;
return -33.9f;
}
if (temp_v1 >= 0x14) {
return D_802B9E40;
return -475.0f;
}
return D_802B9E44;
return -33.9f;
default:
return D_8015F8E4;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AAB4C.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
@@ -2163,79 +2129,17 @@ void func_802AECA0(s32 arg0, s8 arg1, u16 arg2) {
GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AECA0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_8015F668;
extern uintptr_t gSegmentTable;
void func_802AED6C(u32 arg0, s32 arg1, s32 arg2) {
s32 temp_a2;
s32 temp_t0;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_v0_3;
s32 temp_v0_4;
s32 temp_v0_5;
s32 temp_v1;
s32 temp_v1_2;
s32 phi_v0;
s32 *phi_a0;
s32 phi_v1;
s32 phi_v0_2;
void *phi_a0_2;
s32 phi_v1_2;
s32 phi_a2;
s32 phi_a2_2;
temp_v0 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000;
phi_v0 = temp_v0;
phi_v1 = 0;
phi_v0_2 = temp_v0;
phi_a2 = arg2;
phi_v1_2 = 0;
phi_a2_2 = arg2;
if (arg1 != 0) {
temp_t0 = arg1 & 3;
if (temp_t0 != 0) {
phi_a0 = (arg2 * 4) + &D_8015F668;
do {
*phi_a0 = phi_v0;
temp_v1 = phi_v1 + 1;
temp_v0_2 = phi_v0 + 0x10;
temp_a2 = phi_a2_2 + 1;
phi_v0 = temp_v0_2;
phi_a0 += 4;
phi_v1 = temp_v1;
phi_v0_2 = temp_v0_2;
phi_a2 = temp_a2;
phi_v1_2 = temp_v1;
phi_a2_2 = temp_a2;
} while (temp_t0 != temp_v1);
if (temp_v1 != arg1) {
goto block_5;
}
} else {
block_5:
phi_a0_2 = (phi_a2 * 4) + &D_8015F668;
do {
phi_a0_2->unk0 = phi_v0_2;
temp_v0_3 = phi_v0_2 + 0x10;
phi_a0_2->unk4 = temp_v0_3;
temp_v0_4 = temp_v0_3 + 0x10;
phi_a0_2->unk8 = temp_v0_4;
temp_v0_5 = temp_v0_4 + 0x10;
phi_a0_2->unkC = temp_v0_5;
temp_v1_2 = phi_v1_2 + 4;
phi_v0_2 = temp_v0_5 + 0x10;
phi_a0_2 += 0x10;
phi_v1_2 = temp_v1_2;
} while (temp_v1_2 != arg1);
}
void func_802AED6C(Vtx *arg0, s32 arg1, s32 arg2) {
Vtx *var_v0;
s32 var_v1;
s32 segment = SEGMENT_NUMBER2(arg0);
s32 offset = SEGMENT_OFFSET(arg0);
var_v0 = (Vtx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
for (var_v1 = 0; var_v1 != arg1; var_v1++)
{
D_8015F668[arg2++] = var_v0++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AED6C.s")
#endif
s32 func_802AEE1C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s16 arg6, s16 arg7) {
f32 temp_f0;
@@ -2515,71 +2419,50 @@ void func_802AF7B4(uintptr_t addr, s32 uls, s32 ult) {
}
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern uintptr_t gSegmentTable;
void func_802AF83C(Vtx *arg0, u32 vertexCount, s32 arg2, s8 arg3, u8 arg4, u8 arg5, u8 arg6) {
s32 segment = SEGMENT_NUMBER2(arg0);
s32 offset = SEGMENT_OFFSET(arg0);
Vtx *phi_v0 = (Vtx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
u32 var_v1 = 0;
void func_802AF83C(u32 arg0, u32 arg1, ? arg2, s8 arg3, u8 arg4, u8 arg5, u8 arg6) {
u32 temp_v1;
void *phi_v0;
u32 phi_v1;
phi_v0 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000;
phi_v1 = 0;
if (arg1 != 0) {
do {
temp_v1 = phi_v1 + 1;
phi_v1 = temp_v1;
if (arg4 != 0) {
phi_v0->unkC = arg4;
phi_v0->unkD = arg5;
phi_v0->unkE = arg6;
}
phi_v0->unkF = arg3;
phi_v0 += 0x10;
} while (temp_v1 < arg1);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AF83C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_802AF83C(u32, s32, u32, s8, s32, s32, s32); // extern
extern uintptr_t gSegmentTable;
void func_802AF8BC(u32 arg0, s8 arg1, s32 arg2, s32 arg3, u8 arg4) {
s32 temp_s2;
s32 temp_s3;
s32 temp_v1;
u32 temp_a0;
u32 temp_v0;
void *phi_s0;
temp_s2 = arg2 & 0xFF;
temp_s3 = arg3 & 0xFF;
phi_s0 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000;
loop_1:
temp_v0 = phi_s0->unk0;
temp_a0 = phi_s0->unk4;
temp_v1 = temp_v0 & 0xFF000000;
if (temp_v1 != 0xB8000000) {
if (temp_v1 == 0x6000000) {
func_802AF8BC(temp_a0, arg1, temp_s2 & 0xFF, temp_s3 & 0xFF, arg4);
phi_s0 += 8;
} else {
if (temp_v1 == 0x4000000) {
func_802AF83C(temp_a0, (temp_v0 >> 0xA) & 0x3F, ((temp_v0 >> 0x10) & 0xFF) >> 1, arg1, temp_s2, temp_s3, arg4);
}
phi_s0 += 8;
// For some, unholy reason this can't be a for loop
// I just want to turn this into
// for (var_v1 = 0; var_v1 < vertexCount; var_v1++)
// phi_v0[var_v1].n.n[0] ...
if(1){}
while (var_v1 < vertexCount) {
if (arg4) {
phi_v0->n.n[0] = arg4;
phi_v0->n.n[1] = arg5;
phi_v0->n.n[2] = arg6;
}
goto loop_1;
phi_v0->n.a = arg3;
var_v1++;
phi_v0++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_802AAA70/func_802AF8BC.s")
#endif
void func_802AF8BC(Gfx *displayList, s8 arg1, u8 arg2, u8 arg3, u8 arg4) {
uintptr_t upperWord;
uintptr_t lowerWord;
s32 command;
s32 segment = SEGMENT_NUMBER2(displayList);
s32 offset = SEGMENT_OFFSET(displayList);
Gfx *phi_v0 = (Gfx *) VIRTUAL_TO_PHYSICAL2(gSegmentTable[segment] + offset);
do {
upperWord = phi_v0->words.w0;
lowerWord = phi_v0->words.w1;
command = upperWord & 0xFF000000;
if (command == (G_ENDDL << 24)) break;
if (command == (G_DL << 24)) {
func_802AF8BC(lowerWord, arg1, arg2, arg3, arg4);
} else if (command == (G_VTX << 24)) {
func_802AF83C(lowerWord, (upperWord >> 0xA) & 0x3F, ((upperWord >> 0x10) & 0xFF) >> 1, arg1, arg2, arg3, arg4);
}
phi_v0++;
} while(1);
}
void func_802AF9F0(Vec3f arg0, f32 arg1, Vec3f arg2) {
arg2[0] -= arg0[0] * arg1;
+7 -1
View File
@@ -19,6 +19,7 @@ void func_802AC114(Vec3f, f32, Vec3f, f32);
void func_802AD950(UnkActorInner*, f32, f32, f32, f32, f32, f32, f32);
s32 func_802ADDC8(UnkActorInner*, f32, f32, f32, f32);
f32 func_802AE1C0(f32, f32, f32);
void func_802AED6C(Vtx*, s32, s32);
s32 func_802AEE1C(s16, s16, s16, s16, s16, s16, s16, s16);
s32 func_802AF0FC(s16, s16, s16, s16, u16);
void func_802AF314();
@@ -26,7 +27,12 @@ void func_802AF588(s32);
void func_802AF5AC(s32, s8);
void func_802AF5D8(u32, s8, u16);
void func_802AF7B4(uintptr_t, s32, s32);
void func_802AF8BC(uintptr_t, s8, u8, u8, u8);
void func_802AF83C(Vtx*, u32, s32, s8, u8, u8, u8);
void func_802AF8BC(Gfx*, s8, u8, u8, u8);
void func_802AF9F0(Vec3f, f32, Vec3f);
extern Vtx *D_8015F668[];
extern s16 D_8015F6EE;
extern f32 D_8015F8E4;
#endif