Some matches in in code_80086E70 (#384)

I really, really don't like a couple of the matches because of
 the handling of the `unk_80` member of the object struct. But
 if it matches it matches.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
Tyler McGavran 2023-08-25 23:37:59 -04:00 committed by GitHub
parent 965d1e85b4
commit a755428b20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 161 additions and 759 deletions

View File

@ -1,79 +0,0 @@
glabel func_80088364
/* 088F64 80088364 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 088F68 80088368 AFBF001C */ sw $ra, 0x1c($sp)
/* 088F6C 8008836C AFB00018 */ sw $s0, 0x18($sp)
/* 088F70 80088370 0C022039 */ jal func_800880E4
/* 088F74 80088374 00808025 */ move $s0, $a0
/* 088F78 80088378 02002025 */ move $a0, $s0
/* 088F7C 8008837C 0C02205E */ jal func_80088178
/* 088F80 80088380 24050001 */ li $a1, 1
/* 088F84 80088384 0C021DA8 */ jal func_800876A0
/* 088F88 80088388 02002025 */ move $a0, $s0
/* 088F8C 8008838C 02002025 */ move $a0, $s0
/* 088F90 80088390 0C0220AC */ jal func_800882B0
/* 088F94 80088394 2405000A */ li $a1, 10
/* 088F98 80088398 10400013 */ beqz $v0, .L800883E8
/* 088F9C 8008839C 001070C0 */ sll $t6, $s0, 3
/* 088FA0 800883A0 01D07023 */ subu $t6, $t6, $s0
/* 088FA4 800883A4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 088FA8 800883A8 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 088FAC 800883AC 000E7140 */ sll $t6, $t6, 5
/* 088FB0 800883B0 01CF1021 */ addu $v0, $t6, $t7
/* 088FB4 800883B4 94580096 */ lhu $t8, 0x96($v0)
/* 088FB8 800883B8 944A0094 */ lhu $t2, 0x94($v0)
/* 088FBC 800883BC 27190001 */ addiu $t9, $t8, 1
/* 088FC0 800883C0 3328FFFF */ andi $t0, $t9, 0xffff
/* 088FC4 800883C4 25090003 */ addiu $t1, $t0, 3
/* 088FC8 800883C8 152A0005 */ bne $t1, $t2, .L800883E0
/* 088FCC 800883CC A4590096 */ sh $t9, 0x96($v0)
/* 088FD0 800883D0 844B00AE */ lh $t3, 0xae($v0)
/* 088FD4 800883D4 256C0001 */ addiu $t4, $t3, 1
/* 088FD8 800883D8 10000003 */ b .L800883E8
/* 088FDC 800883DC A44C00AE */ sh $t4, 0xae($v0)
.L800883E0:
/* 088FE0 800883E0 0C022054 */ jal func_80088150
/* 088FE4 800883E4 02002025 */ move $a0, $s0
.L800883E8:
/* 088FE8 800883E8 8FBF001C */ lw $ra, 0x1c($sp)
/* 088FEC 800883EC 8FB00018 */ lw $s0, 0x18($sp)
/* 088FF0 800883F0 27BD0020 */ addiu $sp, $sp, 0x20
/* 088FF4 800883F4 03E00008 */ jr $ra
/* 088FF8 800883F8 00000000 */ nop
/* 088FFC 800883FC 000470C0 */ sll $t6, $a0, 3
/* 089000 80088400 01C47023 */ subu $t6, $t6, $a0
/* 089004 80088404 000E7140 */ sll $t6, $t6, 5
/* 089008 80088408 3C028016 */ lui $v0, %hi(D_80165CC6) # 0x8016
/* 08900C 8008840C 004E1021 */ addu $v0, $v0, $t6
/* 089010 80088410 84425CC6 */ lh $v0, %lo(D_80165CC6)($v0) # 0x5cc6($v0)
/* 089014 80088414 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 089018 80088418 AFBF0014 */ sw $ra, 0x14($sp)
/* 08901C 8008841C 10400013 */ beqz $v0, .L8008846C
/* 089020 80088420 24010001 */ li $at, 1
/* 089024 80088424 10410007 */ beq $v0, $at, .L80088444
/* 089028 80088428 24010002 */ li $at, 2
/* 08902C 8008842C 10410009 */ beq $v0, $at, .L80088454
/* 089030 80088430 24010003 */ li $at, 3
/* 089034 80088434 1041000B */ beq $v0, $at, .L80088464
/* 089038 80088438 00000000 */ nop
/* 08903C 8008843C 1000000C */ b .L80088470
/* 089040 80088440 8FBF0014 */ lw $ra, 0x14($sp)
.L80088444:
/* 089044 80088444 0C02208A */ jal func_80088228
/* 089048 80088448 00000000 */ nop
/* 08904C 8008844C 10000008 */ b .L80088470
/* 089050 80088450 8FBF0014 */ lw $ra, 0x14($sp)
.L80088454:
/* 089054 80088454 0C0220D9 */ jal func_80088364
/* 089058 80088458 00000000 */ nop
/* 08905C 8008845C 10000004 */ b .L80088470
/* 089060 80088460 8FBF0014 */ lw $ra, 0x14($sp)
.L80088464:
/* 089064 80088464 0C021BD8 */ jal func_80086F60
/* 089068 80088468 00000000 */ nop
.L8008846C:
/* 08906C 8008846C 8FBF0014 */ lw $ra, 0x14($sp)
.L80088470:
/* 089070 80088470 27BD0018 */ addiu $sp, $sp, 0x18
/* 089074 80088474 03E00008 */ jr $ra
/* 089078 80088478 00000000 */ nop

View File

@ -1,45 +0,0 @@
glabel func_8008B1D4
/* 08BDD4 8008B1D4 000470C0 */ sll $t6, $a0, 3
/* 08BDD8 8008B1D8 01C47023 */ subu $t6, $t6, $a0
/* 08BDDC 8008B1DC 000E7140 */ sll $t6, $t6, 5
/* 08BDE0 8008B1E0 3C028016 */ lui $v0, %hi(D_80165C94) # 0x8016
/* 08BDE4 8008B1E4 004E1021 */ addu $v0, $v0, $t6
/* 08BDE8 8008B1E8 8C425C94 */ lw $v0, %lo(D_80165C94)($v0) # 0x5c94($v0)
/* 08BDEC 8008B1EC 3C018016 */ lui $at, %hi(D_80165760) # $at, 0x8016
/* 08BDF0 8008B1F0 844F0000 */ lh $t7, ($v0)
/* 08BDF4 8008B1F4 24420018 */ addiu $v0, $v0, 0x18
/* 08BDF8 8008B1F8 A42F5760 */ sh $t7, %lo(D_80165760)($at)
/* 08BDFC 8008B1FC 8458FFEA */ lh $t8, -0x16($v0)
/* 08BE00 8008B200 3C018016 */ lui $at, %hi(D_80165770) # $at, 0x8016
/* 08BE04 8008B204 A4385770 */ sh $t8, %lo(D_80165770)($at)
/* 08BE08 8008B208 8459FFEC */ lh $t9, -0x14($v0)
/* 08BE0C 8008B20C 3C018016 */ lui $at, %hi(D_80165780) # $at, 0x8016
/* 08BE10 8008B210 A4395780 */ sh $t9, %lo(D_80165780)($at)
/* 08BE14 8008B214 8448FFF0 */ lh $t0, -0x10($v0)
/* 08BE18 8008B218 3C018016 */ lui $at, %hi(D_80165762) # $at, 0x8016
/* 08BE1C 8008B21C A4285762 */ sh $t0, %lo(D_80165762)($at)
/* 08BE20 8008B220 8449FFF2 */ lh $t1, -0xe($v0)
/* 08BE24 8008B224 3C018016 */ lui $at, %hi(D_80165772) # $at, 0x8016
/* 08BE28 8008B228 A4295772 */ sh $t1, %lo(D_80165772)($at)
/* 08BE2C 8008B22C 844AFFF4 */ lh $t2, -0xc($v0)
/* 08BE30 8008B230 3C018016 */ lui $at, %hi(D_80165782) # $at, 0x8016
/* 08BE34 8008B234 A42A5782 */ sh $t2, %lo(D_80165782)($at)
/* 08BE38 8008B238 844BFFF8 */ lh $t3, -8($v0)
/* 08BE3C 8008B23C 3C018016 */ lui $at, %hi(D_80165764) # $at, 0x8016
/* 08BE40 8008B240 A42B5764 */ sh $t3, %lo(D_80165764)($at)
/* 08BE44 8008B244 844CFFFA */ lh $t4, -6($v0)
/* 08BE48 8008B248 3C018016 */ lui $at, %hi(D_80165774) # $at, 0x8016
/* 08BE4C 8008B24C A42C5774 */ sh $t4, %lo(D_80165774)($at)
/* 08BE50 8008B250 844DFFFC */ lh $t5, -4($v0)
/* 08BE54 8008B254 3C018016 */ lui $at, %hi(D_80165784) # $at, 0x8016
/* 08BE58 8008B258 A42D5784 */ sh $t5, %lo(D_80165784)($at)
/* 08BE5C 8008B25C 844E0000 */ lh $t6, ($v0)
/* 08BE60 8008B260 3C018016 */ lui $at, %hi(D_80165766) # $at, 0x8016
/* 08BE64 8008B264 A42E5766 */ sh $t6, %lo(D_80165766)($at)
/* 08BE68 8008B268 844F0002 */ lh $t7, 2($v0)
/* 08BE6C 8008B26C 3C018016 */ lui $at, %hi(D_80165776) # $at, 0x8016
/* 08BE70 8008B270 A42F5776 */ sh $t7, %lo(D_80165776)($at)
/* 08BE74 8008B274 84580004 */ lh $t8, 4($v0)
/* 08BE78 8008B278 3C018016 */ lui $at, %hi(D_80165786) # 0x8016
/* 08BE7C 8008B27C 03E00008 */ jr $ra
/* 08BE80 8008B280 A4385786 */ sh $t8, %lo(D_80165786)($at) # 0x5786($at)

View File

@ -1,97 +0,0 @@
glabel func_8008B284
/* 08BE84 8008B284 000470C0 */ sll $t6, $a0, 3
/* 08BE88 8008B288 01C47023 */ subu $t6, $t6, $a0
/* 08BE8C 8008B28C 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 08BE90 8008B290 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 08BE94 8008B294 000E7140 */ sll $t6, $t6, 5
/* 08BE98 8008B298 01CF1821 */ addu $v1, $t6, $t7
/* 08BE9C 8008B29C 94660094 */ lhu $a2, 0x94($v1)
/* 08BEA0 8008B2A0 84650096 */ lh $a1, 0x96($v1)
/* 08BEA4 8008B2A4 27BDFFF8 */ addiu $sp, $sp, -8
/* 08BEA8 8008B2A8 24D8FFFC */ addiu $t8, $a2, -4
/* 08BEAC 8008B2AC 0305082A */ slt $at, $t8, $a1
/* 08BEB0 8008B2B0 14200004 */ bnez $at, .L8008B2C4
/* 08BEB4 8008B2B4 8C62007C */ lw $v0, 0x7c($v1)
/* 08BEB8 8008B2B8 24042710 */ li $a0, 10000
/* 08BEBC 8008B2BC 1000000F */ b .L8008B2FC
/* 08BEC0 8008B2C0 AFA40000 */ sw $a0, ($sp)
.L8008B2C4:
/* 08BEC4 8008B2C4 24B90003 */ addiu $t9, $a1, 3
/* 08BEC8 8008B2C8 17260004 */ bne $t9, $a2, .L8008B2DC
/* 08BECC 8008B2CC 24A80002 */ addiu $t0, $a1, 2
/* 08BED0 8008B2D0 24040002 */ li $a0, 2
/* 08BED4 8008B2D4 10000009 */ b .L8008B2FC
/* 08BED8 8008B2D8 AFA40000 */ sw $a0, ($sp)
.L8008B2DC:
/* 08BEDC 8008B2DC 15060004 */ bne $t0, $a2, .L8008B2F0
/* 08BEE0 8008B2E0 24A90001 */ addiu $t1, $a1, 1
/* 08BEE4 8008B2E4 24040001 */ li $a0, 1
/* 08BEE8 8008B2E8 10000004 */ b .L8008B2FC
/* 08BEEC 8008B2EC AFA40000 */ sw $a0, ($sp)
.L8008B2F0:
/* 08BEF0 8008B2F0 55260003 */ bnel $t1, $a2, .L8008B300
/* 08BEF4 8008B2F4 844A0000 */ lh $t2, ($v0)
/* 08BEF8 8008B2F8 AFA00000 */ sw $zero, ($sp)
.L8008B2FC:
/* 08BEFC 8008B2FC 844A0000 */ lh $t2, ($v0)
.L8008B300:
/* 08BF00 8008B300 3C018016 */ lui $at, %hi(D_80165760) # $at, 0x8016
/* 08BF04 8008B304 8FA40000 */ lw $a0, ($sp)
/* 08BF08 8008B308 A42A5760 */ sh $t2, %lo(D_80165760)($at)
/* 08BF0C 8008B30C 844B0002 */ lh $t3, 2($v0)
/* 08BF10 8008B310 3C018016 */ lui $at, %hi(D_80165770) # $at, 0x8016
/* 08BF14 8008B314 24420008 */ addiu $v0, $v0, 8
/* 08BF18 8008B318 A42B5770 */ sh $t3, %lo(D_80165770)($at)
/* 08BF1C 8008B31C 844CFFFC */ lh $t4, -4($v0)
/* 08BF20 8008B320 3C018016 */ lui $at, %hi(D_80165780) # $at, 0x8016
/* 08BF24 8008B324 14800004 */ bnez $a0, .L8008B338
/* 08BF28 8008B328 A42C5780 */ sh $t4, %lo(D_80165780)($at)
/* 08BF2C 8008B32C 8C620080 */ lw $v0, 0x80($v1)
/* 08BF30 8008B330 10000001 */ b .L8008B338
/* 08BF34 8008B334 24420002 */ addiu $v0, $v0, 2
.L8008B338:
/* 08BF38 8008B338 844D0000 */ lh $t5, ($v0)
/* 08BF3C 8008B33C 3C018016 */ lui $at, %hi(D_80165762) # $at, 0x8016
/* 08BF40 8008B340 24420008 */ addiu $v0, $v0, 8
/* 08BF44 8008B344 A42D5762 */ sh $t5, %lo(D_80165762)($at)
/* 08BF48 8008B348 844EFFFA */ lh $t6, -6($v0)
/* 08BF4C 8008B34C 3C018016 */ lui $at, %hi(D_80165772) # $at, 0x8016
/* 08BF50 8008B350 A42E5772 */ sh $t6, %lo(D_80165772)($at)
/* 08BF54 8008B354 844FFFFC */ lh $t7, -4($v0)
/* 08BF58 8008B358 3C018016 */ lui $at, %hi(D_80165782) # $at, 0x8016
/* 08BF5C 8008B35C A42F5782 */ sh $t7, %lo(D_80165782)($at)
/* 08BF60 8008B360 24010001 */ li $at, 1
/* 08BF64 8008B364 14810004 */ bne $a0, $at, .L8008B378
/* 08BF68 8008B368 00000000 */ nop
/* 08BF6C 8008B36C 8C620080 */ lw $v0, 0x80($v1)
/* 08BF70 8008B370 10000001 */ b .L8008B378
/* 08BF74 8008B374 24420002 */ addiu $v0, $v0, 2
.L8008B378:
/* 08BF78 8008B378 84580000 */ lh $t8, ($v0)
/* 08BF7C 8008B37C 3C018016 */ lui $at, %hi(D_80165764) # $at, 0x8016
/* 08BF80 8008B380 A4385764 */ sh $t8, %lo(D_80165764)($at)
/* 08BF84 8008B384 84590002 */ lh $t9, 2($v0)
/* 08BF88 8008B388 3C018016 */ lui $at, %hi(D_80165774) # $at, 0x8016
/* 08BF8C 8008B38C A4395774 */ sh $t9, %lo(D_80165774)($at)
/* 08BF90 8008B390 84480004 */ lh $t0, 4($v0)
/* 08BF94 8008B394 3C018016 */ lui $at, %hi(D_80165784) # $at, 0x8016
/* 08BF98 8008B398 A4285784 */ sh $t0, %lo(D_80165784)($at)
/* 08BF9C 8008B39C 24010002 */ li $at, 2
/* 08BFA0 8008B3A0 54810005 */ bnel $a0, $at, .L8008B3B8
/* 08BFA4 8008B3A4 24420008 */ addiu $v0, $v0, 8
/* 08BFA8 8008B3A8 8C620080 */ lw $v0, 0x80($v1)
/* 08BFAC 8008B3AC 10000002 */ b .L8008B3B8
/* 08BFB0 8008B3B0 24420002 */ addiu $v0, $v0, 2
/* 08BFB4 8008B3B4 24420008 */ addiu $v0, $v0, 8
.L8008B3B8:
/* 08BFB8 8008B3B8 84490000 */ lh $t1, ($v0)
/* 08BFBC 8008B3BC 3C018016 */ lui $at, %hi(D_80165766) # $at, 0x8016
/* 08BFC0 8008B3C0 A4295766 */ sh $t1, %lo(D_80165766)($at)
/* 08BFC4 8008B3C4 844A0002 */ lh $t2, 2($v0)
/* 08BFC8 8008B3C8 3C018016 */ lui $at, %hi(D_80165776) # $at, 0x8016
/* 08BFCC 8008B3CC A42A5776 */ sh $t2, %lo(D_80165776)($at)
/* 08BFD0 8008B3D0 844B0004 */ lh $t3, 4($v0)
/* 08BFD4 8008B3D4 3C018016 */ lui $at, %hi(D_80165786) # 0x8016
/* 08BFD8 8008B3D8 27BD0008 */ addiu $sp, $sp, 8
/* 08BFDC 8008B3DC 03E00008 */ jr $ra
/* 08BFE0 8008B3E0 A42B5786 */ sh $t3, %lo(D_80165786)($at) # 0x5786($at)

View File

@ -1,28 +0,0 @@
glabel func_8008B3E4
/* 08BFE4 8008B3E4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08BFE8 8008B3E8 AFBF0014 */ sw $ra, 0x14($sp)
/* 08BFEC 8008B3EC AFA40018 */ sw $a0, 0x18($sp)
/* 08BFF0 8008B3F0 0C01C89C */ jal func_80072270
/* 08BFF4 8008B3F4 24050008 */ li $a1, 8
/* 08BFF8 8008B3F8 10400010 */ beqz $v0, .L8008B43C
/* 08BFFC 8008B3FC 8FA40018 */ lw $a0, 0x18($sp)
/* 08C000 8008B400 000470C0 */ sll $t6, $a0, 3
/* 08C004 8008B404 01C47023 */ subu $t6, $t6, $a0
/* 08C008 8008B408 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 08C00C 8008B40C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 08C010 8008B410 000E7140 */ sll $t6, $t6, 5
/* 08C014 8008B414 01CF1021 */ addu $v0, $t6, $t7
/* 08C018 8008B418 8C430080 */ lw $v1, 0x80($v0)
/* 08C01C 8008B41C A4400096 */ sh $zero, 0x96($v0)
/* 08C020 8008B420 A4400098 */ sh $zero, 0x98($v0)
/* 08C024 8008B424 24630002 */ addiu $v1, $v1, 2
/* 08C028 8008B428 AC43007C */ sw $v1, 0x7c($v0)
/* 08C02C 8008B42C 8478FFFE */ lh $t8, -2($v1)
/* 08C030 8008B430 24050008 */ li $a1, 8
/* 08C034 8008B434 0C01C870 */ jal func_800721C0
/* 08C038 8008B438 A4580094 */ sh $t8, 0x94($v0)
.L8008B43C:
/* 08C03C 8008B43C 8FBF0014 */ lw $ra, 0x14($sp)
/* 08C040 8008B440 27BD0018 */ addiu $sp, $sp, 0x18
/* 08C044 8008B444 03E00008 */ jr $ra
/* 08C048 8008B448 00000000 */ nop

View File

@ -1,37 +0,0 @@
glabel func_8008B620
/* 08C220 8008B620 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08C224 8008B624 AFBF0014 */ sw $ra, 0x14($sp)
/* 08C228 8008B628 AFA40018 */ sw $a0, 0x18($sp)
/* 08C22C 8008B62C 0C022D1E */ jal func_8008B478
/* 08C230 8008B630 00002825 */ move $a1, $zero
/* 08C234 8008B634 8FA40018 */ lw $a0, 0x18($sp)
/* 08C238 8008B638 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 08C23C 8008B63C 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 08C240 8008B640 000470C0 */ sll $t6, $a0, 3
/* 08C244 8008B644 01C47023 */ subu $t6, $t6, $a0
/* 08C248 8008B648 000E7140 */ sll $t6, $t6, 5
/* 08C24C 8008B64C 01CF1021 */ addu $v0, $t6, $t7
/* 08C250 8008B650 94580098 */ lhu $t8, 0x98($v0)
/* 08C254 8008B654 2B012710 */ slti $at, $t8, 0x2710
/* 08C258 8008B658 5420000F */ bnel $at, $zero, .L8008B698
/* 08C25C 8008B65C 8FBF0014 */ lw $ra, 0x14($sp)
/* 08C260 8008B660 94590096 */ lhu $t9, 0x96($v0)
/* 08C264 8008B664 944B0094 */ lhu $t3, 0x94($v0)
/* 08C268 8008B668 27280001 */ addiu $t0, $t9, 1
/* 08C26C 8008B66C 3109FFFF */ andi $t1, $t0, 0xffff
/* 08C270 8008B670 252A0003 */ addiu $t2, $t1, 3
/* 08C274 8008B674 154B0005 */ bne $t2, $t3, .L8008B68C
/* 08C278 8008B678 A4480096 */ sh $t0, 0x96($v0)
/* 08C27C 8008B67C 844C00AE */ lh $t4, 0xae($v0)
/* 08C280 8008B680 258D0001 */ addiu $t5, $t4, 1
/* 08C284 8008B684 10000003 */ b .L8008B694
/* 08C288 8008B688 A44D00AE */ sh $t5, 0xae($v0)
.L8008B68C:
/* 08C28C 8008B68C 0C022D13 */ jal func_8008B44C
/* 08C290 8008B690 00000000 */ nop
.L8008B694:
/* 08C294 8008B694 8FBF0014 */ lw $ra, 0x14($sp)
.L8008B698:
/* 08C298 8008B698 27BD0018 */ addiu $sp, $sp, 0x18
/* 08C29C 8008B69C 03E00008 */ jr $ra
/* 08C2A0 8008B6A0 00000000 */ nop

View File

@ -1,35 +0,0 @@
glabel func_8008B6A4
/* 08C2A4 8008B6A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08C2A8 8008B6A8 AFBF0014 */ sw $ra, 0x14($sp)
/* 08C2AC 8008B6AC AFA40018 */ sw $a0, 0x18($sp)
/* 08C2B0 8008B6B0 0C022D1E */ jal func_8008B478
/* 08C2B4 8008B6B4 24050001 */ li $a1, 1
/* 08C2B8 8008B6B8 8FA40018 */ lw $a0, 0x18($sp)
/* 08C2BC 8008B6BC 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 08C2C0 8008B6C0 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 08C2C4 8008B6C4 000470C0 */ sll $t6, $a0, 3
/* 08C2C8 8008B6C8 01C47023 */ subu $t6, $t6, $a0
/* 08C2CC 8008B6CC 000E7140 */ sll $t6, $t6, 5
/* 08C2D0 8008B6D0 01CF1021 */ addu $v0, $t6, $t7
/* 08C2D4 8008B6D4 94580098 */ lhu $t8, 0x98($v0)
/* 08C2D8 8008B6D8 2B012710 */ slti $at, $t8, 0x2710
/* 08C2DC 8008B6DC 5420000E */ bnel $at, $zero, .L8008B718
/* 08C2E0 8008B6E0 8FBF0014 */ lw $ra, 0x14($sp)
/* 08C2E4 8008B6E4 94590096 */ lhu $t9, 0x96($v0)
/* 08C2E8 8008B6E8 944A0094 */ lhu $t2, 0x94($v0)
/* 08C2EC 8008B6EC 27280001 */ addiu $t0, $t9, 1
/* 08C2F0 8008B6F0 3109FFFF */ andi $t1, $t0, 0xffff
/* 08C2F4 8008B6F4 152A0005 */ bne $t1, $t2, .L8008B70C
/* 08C2F8 8008B6F8 A4480096 */ sh $t0, 0x96($v0)
/* 08C2FC 8008B6FC 0C01C87A */ jal func_800721E8
/* 08C300 8008B700 24050008 */ li $a1, 8
/* 08C304 8008B704 10000004 */ b .L8008B718
/* 08C308 8008B708 8FBF0014 */ lw $ra, 0x14($sp)
.L8008B70C:
/* 08C30C 8008B70C 0C022D13 */ jal func_8008B44C
/* 08C310 8008B710 00000000 */ nop
/* 08C314 8008B714 8FBF0014 */ lw $ra, 0x14($sp)
.L8008B718:
/* 08C318 8008B718 27BD0018 */ addiu $sp, $sp, 0x18
/* 08C31C 8008B71C 03E00008 */ jr $ra
/* 08C320 8008B720 00000000 */ nop

View File

@ -1,31 +0,0 @@
glabel func_8008B724
/* 08C324 8008B724 000470C0 */ sll $t6, $a0, 3
/* 08C328 8008B728 01C47023 */ subu $t6, $t6, $a0
/* 08C32C 8008B72C 000E7140 */ sll $t6, $t6, 5
/* 08C330 8008B730 3C028016 */ lui $v0, %hi(D_80165CC6) # 0x8016
/* 08C334 8008B734 004E1021 */ addu $v0, $v0, $t6
/* 08C338 8008B738 84425CC6 */ lh $v0, %lo(D_80165CC6)($v0) # 0x5cc6($v0)
/* 08C33C 8008B73C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08C340 8008B740 AFBF0014 */ sw $ra, 0x14($sp)
/* 08C344 8008B744 1040000D */ beqz $v0, .L8008B77C
/* 08C348 8008B748 24010001 */ li $at, 1
/* 08C34C 8008B74C 10410005 */ beq $v0, $at, .L8008B764
/* 08C350 8008B750 24010002 */ li $at, 2
/* 08C354 8008B754 10410007 */ beq $v0, $at, .L8008B774
/* 08C358 8008B758 00000000 */ nop
/* 08C35C 8008B75C 10000008 */ b .L8008B780
/* 08C360 8008B760 8FBF0014 */ lw $ra, 0x14($sp)
.L8008B764:
/* 08C364 8008B764 0C022D88 */ jal func_8008B620
/* 08C368 8008B768 00000000 */ nop
/* 08C36C 8008B76C 10000004 */ b .L8008B780
/* 08C370 8008B770 8FBF0014 */ lw $ra, 0x14($sp)
.L8008B774:
/* 08C374 8008B774 0C021BD8 */ jal func_80086F60
/* 08C378 8008B778 00000000 */ nop
.L8008B77C:
/* 08C37C 8008B77C 8FBF0014 */ lw $ra, 0x14($sp)
.L8008B780:
/* 08C380 8008B780 27BD0018 */ addiu $sp, $sp, 0x18
/* 08C384 8008B784 03E00008 */ jr $ra
/* 08C388 8008B788 00000000 */ nop

View File

@ -1,16 +0,0 @@
glabel func_8008BFC0
/* 08CBC0 8008BFC0 000470C0 */ sll $t6, $a0, 3
/* 08CBC4 8008BFC4 01C47023 */ subu $t6, $t6, $a0
/* 08CBC8 8008BFC8 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 08CBCC 8008BFCC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 08CBD0 8008BFD0 000E7140 */ sll $t6, $t6, 5
/* 08CBD4 8008BFD4 01CF1021 */ addu $v0, $t6, $t7
/* 08CBD8 8008BFD8 C4440004 */ lwc1 $f4, 4($v0)
/* 08CBDC 8008BFDC C4480008 */ lwc1 $f8, 8($v0)
/* 08CBE0 8008BFE0 4600218D */ trunc.w.s $f6, $f4
/* 08CBE4 8008BFE4 4600428D */ trunc.w.s $f10, $f8
/* 08CBE8 8008BFE8 44193000 */ mfc1 $t9, $f6
/* 08CBEC 8008BFEC 44095000 */ mfc1 $t1, $f10
/* 08CBF0 8008BFF0 A459009C */ sh $t9, 0x9c($v0)
/* 08CBF4 8008BFF4 03E00008 */ jr $ra
/* 08CBF8 8008BFF8 A449009E */ sh $t1, 0x9e($v0)

View File

@ -1,136 +0,0 @@
.section .late_rodata
glabel jpt_800EF518
.word L8008C1A8, L8008C040, L8008C060, L8008C088
.word L8008C0B0, L8008C0F8, L8008C140, L8008C168
.section .text
glabel func_8008BFFC
/* 08CBFC 8008BFFC 000470C0 */ sll $t6, $a0, 3
/* 08CC00 8008C000 01C47023 */ subu $t6, $t6, $a0
/* 08CC04 8008C004 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016
/* 08CC08 8008C008 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18
/* 08CC0C 8008C00C 000E7140 */ sll $t6, $t6, 5
/* 08CC10 8008C010 01CF1821 */ addu $v1, $t6, $t7
/* 08CC14 8008C014 907800DE */ lbu $t8, 0xde($v1)
/* 08CC18 8008C018 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08CC1C 8008C01C AFBF0014 */ sw $ra, 0x14($sp)
/* 08CC20 8008C020 2F010008 */ sltiu $at, $t8, 8
/* 08CC24 8008C024 10200060 */ beqz $at, .L8008C1A8
/* 08CC28 8008C028 0018C080 */ sll $t8, $t8, 2
/* 08CC2C 8008C02C 3C01800F */ lui $at, %hi(jpt_800EF518)
/* 08CC30 8008C030 00380821 */ addu $at, $at, $t8
/* 08CC34 8008C034 8C38F518 */ lw $t8, %lo(jpt_800EF518)($at)
/* 08CC38 8008C038 03000008 */ jr $t8
/* 08CC3C 8008C03C 00000000 */ nop
glabel L8008C040
/* 08CC40 8008C040 847900AE */ lh $t9, 0xae($v1)
/* 08CC44 8008C044 24010001 */ li $at, 1
/* 08CC48 8008C048 57210058 */ bnel $t9, $at, .L8008C1AC
/* 08CC4C 8008C04C 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CC50 8008C050 0C022D88 */ jal func_8008B620
/* 08CC54 8008C054 00000000 */ nop
/* 08CC58 8008C058 10000054 */ b .L8008C1AC
/* 08CC5C 8008C05C 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8008C060
/* 08CC60 8008C060 846200AE */ lh $v0, 0xae($v1)
/* 08CC64 8008C064 24010001 */ li $at, 1
/* 08CC68 8008C068 50400050 */ beql $v0, $zero, .L8008C1AC
/* 08CC6C 8008C06C 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CC70 8008C070 5441004E */ bnel $v0, $at, .L8008C1AC
/* 08CC74 8008C074 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CC78 8008C078 0C022DA9 */ jal func_8008B6A4
/* 08CC7C 8008C07C 00000000 */ nop
/* 08CC80 8008C080 1000004A */ b .L8008C1AC
/* 08CC84 8008C084 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8008C088
/* 08CC88 8008C088 846200AE */ lh $v0, 0xae($v1)
/* 08CC8C 8008C08C 24010001 */ li $at, 1
/* 08CC90 8008C090 50400046 */ beql $v0, $zero, .L8008C1AC
/* 08CC94 8008C094 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CC98 8008C098 54410044 */ bnel $v0, $at, .L8008C1AC
/* 08CC9C 8008C09C 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CCA0 8008C0A0 0C022D88 */ jal func_8008B620
/* 08CCA4 8008C0A4 00000000 */ nop
/* 08CCA8 8008C0A8 10000040 */ b .L8008C1AC
/* 08CCAC 8008C0AC 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8008C0B0
/* 08CCB0 8008C0B0 846200AE */ lh $v0, 0xae($v1)
/* 08CCB4 8008C0B4 24010001 */ li $at, 1
/* 08CCB8 8008C0B8 5040003C */ beql $v0, $zero, .L8008C1AC
/* 08CCBC 8008C0BC 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CCC0 8008C0C0 10410005 */ beq $v0, $at, .L8008C0D8
/* 08CCC4 8008C0C4 24010002 */ li $at, 2
/* 08CCC8 8008C0C8 10410007 */ beq $v0, $at, .L8008C0E8
/* 08CCCC 8008C0CC 00000000 */ nop
/* 08CCD0 8008C0D0 10000036 */ b .L8008C1AC
/* 08CCD4 8008C0D4 8FBF0014 */ lw $ra, 0x14($sp)
.L8008C0D8:
/* 08CCD8 8008C0D8 0C022D88 */ jal func_8008B620
/* 08CCDC 8008C0DC 00000000 */ nop
/* 08CCE0 8008C0E0 10000032 */ b .L8008C1AC
/* 08CCE4 8008C0E4 8FBF0014 */ lw $ra, 0x14($sp)
.L8008C0E8:
/* 08CCE8 8008C0E8 0C021BD8 */ jal func_80086F60
/* 08CCEC 8008C0EC 00000000 */ nop
/* 08CCF0 8008C0F0 1000002E */ b .L8008C1AC
/* 08CCF4 8008C0F4 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8008C0F8
/* 08CCF8 8008C0F8 846200AE */ lh $v0, 0xae($v1)
/* 08CCFC 8008C0FC 24010001 */ li $at, 1
/* 08CD00 8008C100 5040002A */ beql $v0, $zero, .L8008C1AC
/* 08CD04 8008C104 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CD08 8008C108 10410005 */ beq $v0, $at, .L8008C120
/* 08CD0C 8008C10C 24010002 */ li $at, 2
/* 08CD10 8008C110 10410007 */ beq $v0, $at, .L8008C130
/* 08CD14 8008C114 00000000 */ nop
/* 08CD18 8008C118 10000024 */ b .L8008C1AC
/* 08CD1C 8008C11C 8FBF0014 */ lw $ra, 0x14($sp)
.L8008C120:
/* 08CD20 8008C120 0C022D88 */ jal func_8008B620
/* 08CD24 8008C124 00000000 */ nop
/* 08CD28 8008C128 10000020 */ b .L8008C1AC
/* 08CD2C 8008C12C 8FBF0014 */ lw $ra, 0x14($sp)
.L8008C130:
/* 08CD30 8008C130 0C021BD8 */ jal func_80086F60
/* 08CD34 8008C134 00000000 */ nop
/* 08CD38 8008C138 1000001C */ b .L8008C1AC
/* 08CD3C 8008C13C 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8008C140
/* 08CD40 8008C140 846200AE */ lh $v0, 0xae($v1)
/* 08CD44 8008C144 24010001 */ li $at, 1
/* 08CD48 8008C148 50400018 */ beql $v0, $zero, .L8008C1AC
/* 08CD4C 8008C14C 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CD50 8008C150 54410016 */ bnel $v0, $at, .L8008C1AC
/* 08CD54 8008C154 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CD58 8008C158 0C022D88 */ jal func_8008B620
/* 08CD5C 8008C15C 00000000 */ nop
/* 08CD60 8008C160 10000012 */ b .L8008C1AC
/* 08CD64 8008C164 8FBF0014 */ lw $ra, 0x14($sp)
glabel L8008C168
/* 08CD68 8008C168 846200AE */ lh $v0, 0xae($v1)
/* 08CD6C 8008C16C 24010001 */ li $at, 1
/* 08CD70 8008C170 5040000E */ beql $v0, $zero, .L8008C1AC
/* 08CD74 8008C174 8FBF0014 */ lw $ra, 0x14($sp)
/* 08CD78 8008C178 10410005 */ beq $v0, $at, .L8008C190
/* 08CD7C 8008C17C 24010002 */ li $at, 2
/* 08CD80 8008C180 10410007 */ beq $v0, $at, .L8008C1A0
/* 08CD84 8008C184 00000000 */ nop
/* 08CD88 8008C188 10000008 */ b .L8008C1AC
/* 08CD8C 8008C18C 8FBF0014 */ lw $ra, 0x14($sp)
.L8008C190:
/* 08CD90 8008C190 0C02208A */ jal func_80088228
/* 08CD94 8008C194 00000000 */ nop
/* 08CD98 8008C198 10000004 */ b .L8008C1AC
/* 08CD9C 8008C19C 8FBF0014 */ lw $ra, 0x14($sp)
.L8008C1A0:
/* 08CDA0 8008C1A0 0C0220D9 */ jal func_80088364
/* 08CDA4 8008C1A4 00000000 */ nop
.L8008C1A8:
glabel L8008C1A8
/* 08CDA8 8008C1A8 8FBF0014 */ lw $ra, 0x14($sp)
.L8008C1AC:
/* 08CDAC 8008C1AC 27BD0018 */ addiu $sp, $sp, 0x18
/* 08CDB0 8008C1B0 03E00008 */ jr $ra
/* 08CDB4 8008C1B4 00000000 */ nop

View File

@ -435,8 +435,7 @@ void func_80088178(s32 objectIndex, s32 arg1) {
}
// if the code is too ugly for you, then go fix it without tampering with the register allocations
void func_80088228(s32 objectIndex)
{
void func_80088228(s32 objectIndex) {
s16 *temp_v1;
struct_80165C18_entry *temp_v0;
temp_v0 = &D_80165C18[objectIndex];
@ -468,10 +467,7 @@ s32 func_800882B0(s32 objectIndex, s32 arg1) {
return var_v1;
}
#ifdef MIPS_TO_C
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-09-2023
void func_80088364(s32 objectIndex) {
s16 temp_t9;
struct_80165C18_entry *temp_v0;
func_800880E4(objectIndex);
@ -479,18 +475,30 @@ void func_80088364(s32 objectIndex) {
func_800876A0(objectIndex);
if (func_800882B0(objectIndex, 0x0000000A) != 0) {
temp_v0 = &D_80165C18[objectIndex];
temp_t9 = (u16) temp_v0->unk_084[9] + 1;
temp_v0->unk_084[9] = temp_t9;
if (((temp_t9 & 0xFFFF) + 3) == (u16) temp_v0->unk_084[8]) {
temp_v0->unk_084[9] = (u16) temp_v0->unk_084[9] + 1;
if (((u16)temp_v0->unk_084[9] + 3) == (u16) temp_v0->unk_084[8]) {
temp_v0->unk_0AE += 1;
return;
} else {
func_80088150(objectIndex);
}
func_80088150(objectIndex);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088364.s")
#endif
void func_800883FC(s32 objectIndex) {
switch (D_80165C18[objectIndex].unk_0AE) {
case 0:
break;
case 1:
func_80088228(objectIndex);
break;
case 2:
func_80088364(objectIndex);
break;
case 3:
func_80086F60(objectIndex);
break;
}
}
s32 func_8008847C(s32 objectIndex) {
s32 sp2C;
@ -1501,71 +1509,29 @@ UNUSED void func_8008B1CC(void) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s16 D_80165760;
extern s16 D_80165762;
extern s16 D_80165764;
extern s16 D_80165766;
extern s16 D_80165770;
extern s16 D_80165772;
extern s16 D_80165774;
extern s16 D_80165776;
extern s16 D_80165780;
extern s16 D_80165782;
extern s16 D_80165784;
extern s16 D_80165786;
extern ? D_80165C94;
void func_8008B1D4(s32 objectIndex) {
s32 someIndex;
Vec4s *test;
void func_8008B1D4(s32 arg0) {
s16 *temp_v0;
void *temp_v0_2;
temp_v0 = *(&D_80165C94 + (arg0 * 0xE0));
temp_v0_2 = temp_v0 + 0x18;
D_80165760 = *temp_v0;
D_80165770 = temp_v0_2->unk-16;
D_80165780 = temp_v0_2->unk-14;
D_80165762 = temp_v0_2->unk-10;
D_80165772 = temp_v0_2->unk-E;
D_80165782 = temp_v0_2->unk-C;
D_80165764 = temp_v0_2->unk-8;
D_80165774 = temp_v0_2->unk-6;
D_80165784 = temp_v0_2->unk-4;
D_80165766 = temp_v0_2->unk0;
D_80165776 = temp_v0_2->unk2;
D_80165786 = temp_v0_2->unk4;
test = D_80165C18[objectIndex].unk_07C;
for (someIndex = 0; someIndex < 4; someIndex++) {
D_80165760[someIndex] = (*test)[0];
D_80165770[someIndex] = (*test)[1];
D_80165780[someIndex] = (*test)[2];
test++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B1D4.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-09-2023
extern s16 D_80165762;
extern s16 D_80165764;
extern s16 D_80165766;
extern s16 D_80165772;
extern s16 D_80165774;
extern s16 D_80165776;
extern s16 D_80165782;
extern s16 D_80165784;
extern s16 D_80165786;
void func_8008B284(s32 objectIndex) {
s32 someIndex;
s32 sp0;
s16 (*temp_v0)[4];
s16 (*var_v0)[4];
s16 (*var_v0_2)[4];
s16 *var_v0_3;
s16 temp_a1;
struct_80165C18_entry *temp_v1;
u16 temp_a2;
s32 temp_a1;
s32 temp_a2;
Vec4s *test;
temp_v1 = &D_80165C18[objectIndex];
temp_a2 = (u16) temp_v1->unk_084[8];
temp_a1 = temp_v1->unk_084[9];
temp_v0 = temp_v1->unk_07C;
test = D_80165C18[objectIndex].unk_07C;
temp_a1 = D_80165C18[objectIndex].unk_084[9];
temp_a2 = (u16) D_80165C18[objectIndex].unk_084[8];
if ((temp_a2 - 4) >= temp_a1) {
sp0 = 0x00002710;
} else if ((temp_a1 + 3) == temp_a2) {
@ -1575,55 +1541,34 @@ void func_8008B284(s32 objectIndex) {
} else if ((temp_a1 + 1) == temp_a2) {
sp0 = 0;
}
*D_80165760 = temp_v0[0][0];
var_v0 = temp_v0 + 8;
*D_80165770 = temp_v0[0][1];
*D_80165780 = var_v0->unk-4;
if (sp0 == 0) {
var_v0 = (s16 (*)[4]) &temp_v1->unk_080[0][1];
for (someIndex = 0; someIndex < 4; someIndex++) {
D_80165760[someIndex] = (*test)[0];
D_80165770[someIndex] = (*test)[1];
D_80165780[someIndex] = (*test)[2];
if (sp0 == someIndex) {
// Huh???????? This makes no sense
test = &D_80165C18[objectIndex].unk_080[0][1];
} else {
test++;
}
}
var_v0_2 = var_v0 + 8;
D_80165762 = var_v0[0][0];
D_80165772 = var_v0_2->unk-6;
D_80165782 = var_v0_2->unk-4;
if (sp0 == 1) {
var_v0_2 = (s16 (*)[4]) &temp_v1->unk_080[0][1];
}
D_80165764 = var_v0_2[0][0];
D_80165774 = var_v0_2[0][1];
D_80165784 = var_v0_2[0][2];
if (sp0 == 2) {
var_v0_3 = &temp_v1->unk_080[0][1];
} else {
var_v0_3 = *(var_v0_2 + 8);
}
D_80165766 = var_v0_3->unk0;
D_80165776 = var_v0_3->unk2;
D_80165786 = var_v0_3->unk4;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B284.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_8008B3E4(s32 objectIndex) {
s32 temp_v1;
Vec4s *test;
struct_80165C18_entry *temp_v0;
if (func_80072270(objectIndex, 8) != 0) {
temp_v0 = &D_80165C18[objectIndex];
temp_v0->unk_084[9] = 0;
temp_v0->unk_098 = 0;
temp_v1 = temp_v0->unk_080 + 2;
temp_v0->unk_07C = temp_v1;
temp_v0->unk_084[8] = temp_v1->unk-2;
temp_v0->unk_07C = &D_80165C18[objectIndex].unk_080[0][1];
// Huh????????? Negative array indexing is a near certain sign
// that something has gone wrong on our end.
temp_v0->unk_084[8] = temp_v0->unk_07C[0][-1];
func_800721C0(objectIndex, 8);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B3E4.s")
#endif
void func_8008B44C(s32 arg0) {
D_80165C18[arg0].unk_098 = 0;
@ -1631,11 +1576,7 @@ void func_8008B44C(s32 arg0) {
}
#ifdef MIPS_TO_C
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-09-2023
? func_8008B1D4(s32); /* extern */
? func_8008B284(s32); /* extern */
? func_8008B3E4(); /* extern */
//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-24-2023
void func_8008B478(s32 objectIndex, s32 arg1) {
f32 sp34;
struct_80165C18_entry *sp24;
@ -1647,7 +1588,7 @@ void func_8008B478(s32 objectIndex, s32 arg1) {
u16 temp_t9;
u32 temp_t3;
func_8008B3E4();
func_8008B3E4(objectIndex);
if (arg1 != 0) {
func_8008B284(objectIndex);
} else {
@ -1677,89 +1618,59 @@ void func_8008B478(s32 objectIndex, s32 arg1) {
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B478.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_8008B478(?); /* extern */
void func_8008B620(s32 objectIndex) {
s16 temp_t0;
struct_80165C18_entry *temp_v0;
func_8008B478(0);
func_8008B478(objectIndex, 0);
temp_v0 = &D_80165C18[objectIndex];
if ((s32) (u16) temp_v0->unk_098 >= 0x2710) {
temp_t0 = (u16) temp_v0->unk_084[9] + 1;
temp_v0->unk_084[9] = temp_t0;
if (((temp_t0 & 0xFFFF) + 3) == (u16) temp_v0->unk_084[8]) {
if (temp_v0->unk_098 >= 0x2710) {
// Have to do it this way due to the u16 cast
temp_v0->unk_084[9] = (u16) temp_v0->unk_084[9] + 1;
if (((u16) temp_v0->unk_084[9] + 3) == (u16) temp_v0->unk_084[8]) {
temp_v0->unk_0AE += 1;
return;
} else {
func_8008B44C(objectIndex);
}
func_8008B44C(objectIndex);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B620.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_8008B478(?); /* extern */
void func_8008B6A4(s32 objectIndex) {
s16 temp_t0;
struct_80165C18_entry *temp_v0;
func_8008B478(1);
func_8008B478(objectIndex, 1);
temp_v0 = &D_80165C18[objectIndex];
if ((s32) (u16) temp_v0->unk_098 >= 0x2710) {
temp_t0 = (u16) temp_v0->unk_084[9] + 1;
temp_v0->unk_084[9] = temp_t0;
if ((temp_t0 & 0xFFFF) == (u16) temp_v0->unk_084[8]) {
if (temp_v0->unk_098 >= 0x2710) {
// Have to do it this way due to the u16 cast
temp_v0->unk_084[9] = (u16) temp_v0->unk_084[9] + 1;
if ((u16)temp_v0->unk_084[9] == (u16)temp_v0->unk_084[8]) {
func_800721E8(objectIndex, 8);
return;
} else {
func_8008B44C(objectIndex);
}
func_8008B44C(objectIndex);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B6A4.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_8008B620(); /* extern */
extern ? D_80165CC6;
void func_8008B724(s32 objectIndex) {
s16 temp_v0;
temp_v0 = *(&D_80165CC6 + (objectIndex * 0xE0));
switch (temp_v0) { /* irregular */
switch (D_80165C18[objectIndex].unk_0AE) {
case 0:
break;
case 1:
func_8008B620();
return;
func_8008B620(objectIndex);
break;
case 2:
func_80086F60(objectIndex);
/* fallthrough */
case 0:
return;
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B724.s")
#endif
extern void func_8008B6A4(s32); /* extern */
typedef struct {
s16 a[0x70];
} asdf;
extern asdf D_80165CC6[0x70];
void func_8008B78C(s32 arg0) {
if ((D_80165CC6[arg0].a[0] != 0) && (D_80165CC6[arg0].a[0] == 1)) {
func_8008B6A4(arg0);
void func_8008B78C(s32 objectIndex) {
switch (D_80165C18[objectIndex].unk_0AE) {
case 0:
break;
case 1:
func_8008B6A4(objectIndex);
break;
}
}
@ -1908,95 +1819,84 @@ void func_8008BFC0(s32 objectIndex) {
D_80165C18[objectIndex].unk_09E = D_80165C18[objectIndex].pos[1];
}
#ifdef MIPS_TO_C
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
void func_80088228(); /* extern */
void func_80088364(); /* extern */
void func_8008B620(); /* extern */
void func_8008B6A4(); /* extern */
void func_8008BFFC(s32 objectIndex) {
s16 temp_v0;
s16 temp_v0_2;
s16 temp_v0_3;
s16 temp_v0_4;
s16 temp_v0_5;
s16 temp_v0_6;
struct_80165C18_entry *temp_v1;
u8 temp_t8;
temp_v1 = &D_80165C18[objectIndex];
temp_t8 = (u8) temp_v1->unk_0DE;
switch (temp_t8) {
switch (temp_v1->unk_0DE) {
case 1:
if (temp_v1->unk_0AE == 1) {
func_8008B620();
return;
func_8008B620(objectIndex);
}
default:
case 0: /* switch 1 */
case 0: /* switch 2 */
case 0: /* switch 3 */
return;
break;
case 2:
temp_v0 = temp_v1->unk_0AE;
if ((temp_v0 != 0) && (temp_v0 == 1)) {
func_8008B6A4();
return;
}
break;
case 3:
temp_v0_2 = temp_v1->unk_0AE;
if ((temp_v0_2 != 0) && (temp_v0_2 == 1)) {
func_8008B620();
return;
}
break;
case 4:
temp_v0_3 = temp_v1->unk_0AE;
switch (temp_v0_3) { /* switch 1; irregular */
case 1: /* switch 1 */
func_8008B620();
return;
case 2: /* switch 1 */
func_80086F60(objectIndex);
return;
}
break;
case 5:
temp_v0_4 = temp_v1->unk_0AE;
switch (temp_v0_4) { /* switch 2; irregular */
case 1: /* switch 2 */
func_8008B620();
return;
case 2: /* switch 2 */
func_80086F60(objectIndex);
return;
}
break;
case 6:
temp_v0_5 = temp_v1->unk_0AE;
if ((temp_v0_5 != 0) && (temp_v0_5 == 1)) {
func_8008B620();
return;
}
break;
case 7:
temp_v0_6 = temp_v1->unk_0AE;
switch (temp_v0_6) { /* switch 3; irregular */
case 1: /* switch 3 */
func_80088228();
return;
case 2: /* switch 3 */
func_80088364();
switch (temp_v1->unk_0AE) {
case 0:
break;
case 1:
func_8008B6A4(objectIndex);
break;
}
break;
case 3:
switch (temp_v1->unk_0AE) {
case 0:
break;
case 1:
func_8008B620(objectIndex);
break;
}
break;
case 4:
switch (temp_v1->unk_0AE) { /* switch 1; irregular */
case 0: /* switch 1 */
break;
case 1: /* switch 1 */
func_8008B620(objectIndex);
break;
case 2: /* switch 1 */
func_80086F60(objectIndex);
break;
}
break;
case 5:
switch (temp_v1->unk_0AE) { /* switch 2; irregular */
case 0: /* switch 2 */
break;
case 1: /* switch 2 */
func_8008B620(objectIndex);
break;
case 2: /* switch 2 */
func_80086F60(objectIndex);
break;
}
break;
case 6:
switch (temp_v1->unk_0AE) {
case 0:
break;
case 1:
func_8008B620(objectIndex);
break;
}
break;
case 7:
switch (temp_v1->unk_0AE) { /* switch 3; irregular */
case 0: /* switch 3 */
break;
case 1: /* switch 3 */
func_80088228(objectIndex);
break;
case 2: /* switch 3 */
func_80088364(objectIndex);
break;
}
break;
case 0:
default:
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BFFC.s")
#endif
UNUSED void func_8008C1B8(UNUSED s32 arg0) {

View File

@ -4,11 +4,6 @@
#include "common_structs.h"
#include "camera.h"
void func_8008BFFC(s32);
void func_8008B038(s32);
void func_8008AE9C(s32);
void func_8008AB10(s32);
void func_8008AA3C(s32);
void func_80086E70(s32);
void func_80086EAC(s32, s32, s16);
void func_80086EF0(s32);
@ -16,8 +11,6 @@ void func_80086F10(s32, s32, u16[][4]);
void func_80086F60(s32);
s32 func_80086FA4(s32);
void func_80086FD4(s32);
void func_8008B724(s32);
void func_8008B78C(s32);
void func_8008701C(s32, s32);
s32 func_80087060(s32, s32);
s32 func_80087104(s32, u16);
@ -57,7 +50,10 @@ void func_800880DC();
void func_800880E4(s32);
void func_80088150(s32);
void func_80088178(s32, s32);
void func_80088228(s32);
s32 func_800882B0(s32, s32);
void func_80088364(s32);
void func_800883FC(s32);
s32 func_8008847C(s32);
s32 func_80088538(s32);
s32 func_8008861C(s32);
@ -112,6 +108,7 @@ s32 func_8008A890(Camera*);
s32 func_8008A8B0(s16, s16);
void func_8008A920(s32);
void func_8008A9B8(s32);
void func_8008AA3C(s32);
void func_8008AB10(s32);
void func_8008ABC0(s32);
void func_8008AC40(s32);
@ -119,6 +116,7 @@ void func_8008ACC0();
void func_8008ACC8();
void func_8008ACD0();
void func_8008ACD8();
void func_8008ACE0(f32*,f32);
void func_8008ADC0();
void func_8008ADC8();
void func_8008AE8C();
@ -131,13 +129,20 @@ void func_8008B020();
void func_8008B028();
void func_8008B030();
void func_8008B038(s32);
void func_8008ACE0(f32*,f32);
void func_8008B17C(s32, f32);
void func_8008B1B4();
void func_8008B1BC();
void func_8008B1C4();
void func_8008B1CC();
void func_8008B1D4(s32);
void func_8008B284(s32);
void func_8008B3E4(s32);
void func_8008B44C(s32);
void func_8008B478(s32, s32);
void func_8008B620(s32);
void func_8008B6A4(s32);
void func_8008B724(s32);
void func_8008B78C(s32);
void func_8008B7D4(s32, f32, f32, f32);
void func_8008B80C(s32, f32, f32, f32);
void func_8008B844(s32);
@ -156,6 +161,7 @@ void func_8008BEA4(s32, u16, u16);
void func_8008BFC0(s32);
void func_8008BF18(s32);
void func_8008BF64(s32);
void func_8008BFFC(s32);
void func_8008C1B8();
void func_8008C1C0();