This commit is contained in:
Mittenz
2020-08-19 01:57:06 -05:00
6 changed files with 261 additions and 509 deletions
@@ -1,221 +0,0 @@
glabel func_8000BF8C
/* 00CB8C 8000BF8C 3C01800E */ lui $at, %hi(D_800E514C) # $at, 0x800e
/* 00CB90 8000BF90 C42C514C */ lwc1 $f12, %lo(D_800E514C)($at)
/* 00CB94 8000BF94 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00CB98 8000BF98 3C01800E */ lui $at, %hi(D_800E5150) # $at, 0x800e
/* 00CB9C 8000BF9C AFBF001C */ sw $ra, 0x1c($sp)
/* 00CBA0 8000BFA0 C42E5150 */ lwc1 $f14, %lo(D_800E5150)($at)
/* 00CBA4 8000BFA4 AFA00010 */ sw $zero, 0x10($sp)
/* 00CBA8 8000BFA8 00003025 */ move $a2, $zero
/* 00CBAC 8000BFAC 0C007496 */ jal func_8001D258
/* 00CBB0 8000BFB0 2407E000 */ li $a3, -8192
/* 00CBB4 8000BFB4 3C040001 */ lui $a0, (0x00015800 >> 16) # lui $a0, 1
/* 00CBB8 8000BFB8 34845800 */ ori $a0, (0x00015800 & 0xFFFF) # ori $a0, $a0, 0x5800
/* 00CBBC 8000BFBC 0C01C2DE */ jal func_80070B78
/* 00CBC0 8000BFC0 24050200 */ li $a1, 512
/* 00CBC4 8000BFC4 3C018012 */ lui $at, %hi(D_8011AE68) # $at, 0x8012
/* 00CBC8 8000BFC8 AC22AE68 */ sw $v0, %lo(D_8011AE68)($at)
/* 00CBCC 8000BFCC 24040320 */ li $a0, 800
/* 00CBD0 8000BFD0 0C01C327 */ jal func_80070C9C
/* 00CBD4 8000BFD4 3405FFFF */ li $a1, 65535
/* 00CBD8 8000BFD8 3C018012 */ lui $at, %hi(D_8011AEC4) # $at, 0x8012
/* 00CBDC 8000BFDC AC22AEC4 */ sw $v0, %lo(D_8011AEC4)($at)
/* 00CBE0 8000BFE0 24040050 */ li $a0, 80
/* 00CBE4 8000BFE4 0C01C327 */ jal func_80070C9C
/* 00CBE8 8000BFE8 3405FFFF */ li $a1, 65535
/* 00CBEC 8000BFEC 3C018012 */ lui $at, %hi(D_8011AE6C) # $at, 0x8012
/* 00CBF0 8000BFF0 AC22AE6C */ sw $v0, %lo(D_8011AE6C)($at)
/* 00CBF4 8000BFF4 24040200 */ li $a0, 512
/* 00CBF8 8000BFF8 0C01C327 */ jal func_80070C9C
/* 00CBFC 8000BFFC 3405FFFF */ li $a1, 65535
/* 00CC00 8000C000 3C018012 */ lui $at, %hi(D_8011AE74) # $at, 0x8012
/* 00CC04 8000C004 AC22AE74 */ sw $v0, %lo(D_8011AE74)($at)
/* 00CC08 8000C008 24040E10 */ li $a0, 3600
/* 00CC0C 8000C00C 0C01C327 */ jal func_80070C9C
/* 00CC10 8000C010 3405FFFF */ li $a1, 65535
/* 00CC14 8000C014 3C018012 */ lui $at, %hi(D_8011AECC) # $at, 0x8012
/* 00CC18 8000C018 AC22AECC */ sw $v0, %lo(D_8011AECC)($at)
/* 00CC1C 8000C01C 24040050 */ li $a0, 80
/* 00CC20 8000C020 0C01C327 */ jal func_80070C9C
/* 00CC24 8000C024 3405FFFF */ li $a1, 65535
/* 00CC28 8000C028 3C018012 */ lui $at, %hi(D_8011AEDC) # $at, 0x8012
/* 00CC2C 8000C02C AC22AEDC */ sw $v0, %lo(D_8011AEDC)($at)
/* 00CC30 8000C030 24040028 */ li $a0, 40
/* 00CC34 8000C034 0C01C327 */ jal func_80070C9C
/* 00CC38 8000C038 3405FFFF */ li $a1, 65535
/* 00CC3C 8000C03C 3C018012 */ lui $at, %hi(D_8011AEE4) # $at, 0x8012
/* 00CC40 8000C040 AC22AEE4 */ sw $v0, %lo(D_8011AEE4)($at)
/* 00CC44 8000C044 24040028 */ li $a0, 40
/* 00CC48 8000C048 0C01C327 */ jal func_80070C9C
/* 00CC4C 8000C04C 3405FFFF */ li $a1, 65535
/* 00CC50 8000C050 3C018012 */ lui $at, %hi(D_8011AEEC) # $at, 0x8012
/* 00CC54 8000C054 AC22AEEC */ sw $v0, %lo(D_8011AEEC)($at)
/* 00CC58 8000C058 24040028 */ li $a0, 40
/* 00CC5C 8000C05C 0C01C327 */ jal func_80070C9C
/* 00CC60 8000C060 3405FFFF */ li $a1, 65535
/* 00CC64 8000C064 3C018012 */ lui $at, %hi(D_8011AEE8) # $at, 0x8012
/* 00CC68 8000C068 AC22AEE8 */ sw $v0, %lo(D_8011AEE8)($at)
/* 00CC6C 8000C06C 24040200 */ li $a0, 512
/* 00CC70 8000C070 0C01C327 */ jal func_80070C9C
/* 00CC74 8000C074 3405FFFF */ li $a1, 65535
/* 00CC78 8000C078 3C018012 */ lui $at, %hi(D_8011AF04) # $at, 0x8012
/* 00CC7C 8000C07C AC22AF04 */ sw $v0, %lo(D_8011AF04)($at)
/* 00CC80 8000C080 24040008 */ li $a0, 8
/* 00CC84 8000C084 0C01C327 */ jal func_80070C9C
/* 00CC88 8000C088 3405FFFF */ li $a1, 65535
/* 00CC8C 8000C08C 3C018012 */ lui $at, %hi(D_8011ADCC) # $at, 0x8012
/* 00CC90 8000C090 AC22ADCC */ sw $v0, %lo(D_8011ADCC)($at)
/* 00CC94 8000C094 24040400 */ li $a0, 1024
/* 00CC98 8000C098 0C01C327 */ jal func_80070C9C
/* 00CC9C 8000C09C 3405FFFF */ li $a1, 65535
/* 00CCA0 8000C0A0 3C018012 */ lui $at, %hi(D_8011AFF4) # $at, 0x8012
/* 00CCA4 8000C0A4 AC22AFF4 */ sw $v0, %lo(D_8011AFF4)($at)
/* 00CCA8 8000C0A8 0C01DB16 */ jal func_80076C58
/* 00CCAC 8000C0AC 24040023 */ li $a0, 35
/* 00CCB0 8000C0B0 3C018012 */ lui $at, %hi(D_8011AEB8) # $at, 0x8012
/* 00CCB4 8000C0B4 AC22AEB8 */ sw $v0, %lo(D_8011AEB8)($at)
/* 00CCB8 8000C0B8 0C01DBCC */ jal func_80076F30
/* 00CCBC 8000C0BC 24040023 */ li $a0, 35
/* 00CCC0 8000C0C0 3C048012 */ lui $a0, %hi(D_8011AEBC) # $a0, 0x8012
/* 00CCC4 8000C0C4 00027043 */ sra $t6, $v0, 1
/* 00CCC8 8000C0C8 25C3FFFF */ addiu $v1, $t6, -1
/* 00CCCC 8000C0CC 2484AEBC */ addiu $a0, %lo(D_8011AEBC) # addiu $a0, $a0, -0x5144
/* 00CCD0 8000C0D0 AC830000 */ sw $v1, ($a0)
/* 00CCD4 8000C0D4 3C058012 */ lui $a1, %hi(D_8011AEB8) # $a1, 0x8012
/* 00CCD8 8000C0D8 8CA5AEB8 */ lw $a1, %lo(D_8011AEB8)($a1)
/* 00CCDC 8000C0DC 0003C040 */ sll $t8, $v1, 1
/* 00CCE0 8000C0E0 00B8C821 */ addu $t9, $a1, $t8
/* 00CCE4 8000C0E4 87280000 */ lh $t0, ($t9)
/* 00CCE8 8000C0E8 00000000 */ nop
/* 00CCEC 8000C0EC 15000008 */ bnez $t0, .L8000C110
/* 00CCF0 8000C0F0 2469FFFF */ addiu $t1, $v1, -1
.L8000C0F4:
/* 00CCF4 8000C0F4 00095040 */ sll $t2, $t1, 1
/* 00CCF8 8000C0F8 00AA5821 */ addu $t3, $a1, $t2
/* 00CCFC 8000C0FC AC890000 */ sw $t1, ($a0)
/* 00CD00 8000C100 856C0000 */ lh $t4, ($t3)
/* 00CD04 8000C104 01201825 */ move $v1, $t1
/* 00CD08 8000C108 1180FFFA */ beqz $t4, .L8000C0F4
/* 00CD0C 8000C10C 2469FFFF */ addiu $t1, $v1, -1
.L8000C110:
/* 00CD10 8000C110 24040800 */ li $a0, 2048
/* 00CD14 8000C114 0C01C327 */ jal func_80070C9C
/* 00CD18 8000C118 3405FFFF */ li $a1, 65535
/* 00CD1C 8000C11C 3C018012 */ lui $at, %hi(D_8011AD58) # $at, 0x8012
/* 00CD20 8000C120 AC22AD58 */ sw $v0, %lo(D_8011AD58)($at)
/* 00CD24 8000C124 0C01DB16 */ jal func_80076C58
/* 00CD28 8000C128 24040021 */ li $a0, 33
/* 00CD2C 8000C12C 3C058012 */ lui $a1, %hi(D_8011AD64) # $a1, 0x8012
/* 00CD30 8000C130 3C068012 */ lui $a2, %hi(D_8011AD68) # $a2, 0x8012
/* 00CD34 8000C134 24C6AD68 */ addiu $a2, %lo(D_8011AD68) # addiu $a2, $a2, -0x5298
/* 00CD38 8000C138 24A5AD64 */ addiu $a1, %lo(D_8011AD64) # addiu $a1, $a1, -0x529c
/* 00CD3C 8000C13C 00006880 */ sll $t5, $zero, 2
/* 00CD40 8000C140 ACA20000 */ sw $v0, ($a1)
/* 00CD44 8000C144 ACC00000 */ sw $zero, ($a2)
/* 00CD48 8000C148 004D7021 */ addu $t6, $v0, $t5
/* 00CD4C 8000C14C 8DCF0000 */ lw $t7, ($t6)
/* 00CD50 8000C150 2407FFFF */ li $a3, -1
/* 00CD54 8000C154 00402025 */ move $a0, $v0
/* 00CD58 8000C158 10EF0009 */ beq $a3, $t7, .L8000C180
/* 00CD5C 8000C15C 00001825 */ move $v1, $zero
/* 00CD60 8000C160 24780001 */ addiu $t8, $v1, 1
.L8000C164:
/* 00CD64 8000C164 0018C880 */ sll $t9, $t8, 2
/* 00CD68 8000C168 00994021 */ addu $t0, $a0, $t9
/* 00CD6C 8000C16C ACD80000 */ sw $t8, ($a2)
/* 00CD70 8000C170 8D090000 */ lw $t1, ($t0)
/* 00CD74 8000C174 03001825 */ move $v1, $t8
/* 00CD78 8000C178 14E9FFFA */ bne $a3, $t1, .L8000C164
/* 00CD7C 8000C17C 24780001 */ addiu $t8, $v1, 1
.L8000C180:
/* 00CD80 8000C180 246AFFFF */ addiu $t2, $v1, -1
/* 00CD84 8000C184 ACCA0000 */ sw $t2, ($a2)
/* 00CD88 8000C188 000A2080 */ sll $a0, $t2, 2
/* 00CD8C 8000C18C 0C01C327 */ jal func_80070C9C
/* 00CD90 8000C190 2405FFFF */ li $a1, -1
/* 00CD94 8000C194 3C068012 */ lui $a2, %hi(D_8011AD68) # $a2, 0x8012
/* 00CD98 8000C198 3C018012 */ lui $at, %hi(D_8011AE48) # $at, 0x8012
/* 00CD9C 8000C19C AC22AE48 */ sw $v0, %lo(D_8011AE48)($at)
/* 00CDA0 8000C1A0 24C6AD68 */ addiu $a2, %lo(D_8011AD68) # addiu $a2, $a2, -0x5298
/* 00CDA4 8000C1A4 8CC40000 */ lw $a0, ($a2)
/* 00CDA8 8000C1A8 0C01C327 */ jal func_80070C9C
/* 00CDAC 8000C1AC 2405FFFF */ li $a1, -1
/* 00CDB0 8000C1B0 3C068012 */ lui $a2, %hi(D_8011AD68) # $a2, 0x8012
/* 00CDB4 8000C1B4 24C6AD68 */ addiu $a2, %lo(D_8011AD68) # addiu $a2, $a2, -0x5298
/* 00CDB8 8000C1B8 8CCC0000 */ lw $t4, ($a2)
/* 00CDBC 8000C1BC 3C048012 */ lui $a0, %hi(D_8011AE4C) # $a0, 0x8012
/* 00CDC0 8000C1C0 2484AE4C */ addiu $a0, %lo(D_8011AE4C) # addiu $a0, $a0, -0x51b4
/* 00CDC4 8000C1C4 AC820000 */ sw $v0, ($a0)
/* 00CDC8 8000C1C8 1980000A */ blez $t4, .L8000C1F4
/* 00CDCC 8000C1CC 00001825 */ move $v1, $zero
.L8000C1D0:
/* 00CDD0 8000C1D0 8C8D0000 */ lw $t5, ($a0)
/* 00CDD4 8000C1D4 00000000 */ nop
/* 00CDD8 8000C1D8 01A37021 */ addu $t6, $t5, $v1
/* 00CDDC 8000C1DC A1C00000 */ sb $zero, ($t6)
/* 00CDE0 8000C1E0 8CCF0000 */ lw $t7, ($a2)
/* 00CDE4 8000C1E4 24630001 */ addiu $v1, $v1, 1
/* 00CDE8 8000C1E8 006F082A */ slt $at, $v1, $t7
/* 00CDEC 8000C1EC 1420FFF8 */ bnez $at, .L8000C1D0
/* 00CDF0 8000C1F0 00000000 */ nop
.L8000C1F4:
/* 00CDF4 8000C1F4 0C01DB16 */ jal func_80076C58
/* 00CDF8 8000C1F8 2404000F */ li $a0, 15
/* 00CDFC 8000C1FC 3C018012 */ lui $at, %hi(D_8011AD6C) # $at, 0x8012
/* 00CE00 8000C200 AC22AD6C */ sw $v0, %lo(D_8011AD6C)($at)
/* 00CE04 8000C204 0C01DB16 */ jal func_80076C58
/* 00CE08 8000C208 24040010 */ li $a0, 16
/* 00CE0C 8000C20C 3C048012 */ lui $a0, %hi(D_8011ADA0) # $a0, 0x8012
/* 00CE10 8000C210 3C058012 */ lui $a1, %hi(D_8011AD70) # $a1, 0x8012
/* 00CE14 8000C214 24A5AD70 */ addiu $a1, %lo(D_8011AD70) # addiu $a1, $a1, -0x5290
/* 00CE18 8000C218 2484ADA0 */ addiu $a0, %lo(D_8011ADA0) # addiu $a0, $a0, -0x5260
/* 00CE1C 8000C21C 0000C080 */ sll $t8, $zero, 2
/* 00CE20 8000C220 ACA20000 */ sw $v0, ($a1)
/* 00CE24 8000C224 AC800000 */ sw $zero, ($a0)
/* 00CE28 8000C228 0058C821 */ addu $t9, $v0, $t8
/* 00CE2C 8000C22C 8F280000 */ lw $t0, ($t9)
/* 00CE30 8000C230 2407FFFF */ li $a3, -1
/* 00CE34 8000C234 00403025 */ move $a2, $v0
/* 00CE38 8000C238 10E80009 */ beq $a3, $t0, .L8000C260
/* 00CE3C 8000C23C 00001825 */ move $v1, $zero
/* 00CE40 8000C240 24690001 */ addiu $t1, $v1, 1
.L8000C244:
/* 00CE44 8000C244 00095080 */ sll $t2, $t1, 2
/* 00CE48 8000C248 00CA5821 */ addu $t3, $a2, $t2
/* 00CE4C 8000C24C AC890000 */ sw $t1, ($a0)
/* 00CE50 8000C250 8D6C0000 */ lw $t4, ($t3)
/* 00CE54 8000C254 01201825 */ move $v1, $t1
/* 00CE58 8000C258 14ECFFFA */ bne $a3, $t4, .L8000C244
/* 00CE5C 8000C25C 24690001 */ addiu $t1, $v1, 1
.L8000C260:
/* 00CE60 8000C260 8CC20104 */ lw $v0, 0x104($a2)
/* 00CE64 8000C264 8CCF0108 */ lw $t7, 0x108($a2)
/* 00CE68 8000C268 3C0E8012 */ lui $t6, %hi(D_8011AD6C) # $t6, 0x8012
/* 00CE6C 8000C26C 8DCEAD6C */ lw $t6, %lo(D_8011AD6C)($t6)
/* 00CE70 8000C270 01E22823 */ subu $a1, $t7, $v0
/* 00CE74 8000C274 0005C080 */ sll $t8, $a1, 2
/* 00CE78 8000C278 00026880 */ sll $t5, $v0, 2
/* 00CE7C 8000C27C 03002825 */ move $a1, $t8
/* 00CE80 8000C280 0C0030B6 */ jal func_8000C2D8
/* 00CE84 8000C284 01AE2021 */ addu $a0, $t5, $t6
/* 00CE88 8000C288 24040800 */ li $a0, 2048
/* 00CE8C 8000C28C 0C01C327 */ jal func_80070C9C
/* 00CE90 8000C290 3405FFFF */ li $a1, 65535
/* 00CE94 8000C294 3C018012 */ lui $at, %hi(D_8011AE58) # $at, 0x8012
/* 00CE98 8000C298 AC22AE58 */ sw $v0, %lo(D_8011AE58)($at)
/* 00CE9C 8000C29C 3C018012 */ lui $at, %hi(D_8011ADC4) # $at, 0x8012
/* 00CEA0 8000C2A0 A020ADC4 */ sb $zero, %lo(D_8011ADC4)($at)
/* 00CEA4 8000C2A4 3C018012 */ lui $at, %hi(D_8011AEF4) # $at, 0x8012
/* 00CEA8 8000C2A8 A020AEF4 */ sb $zero, %lo(D_8011AEF4)($at)
/* 00CEAC 8000C2AC 3C018012 */ lui $at, %hi(D_8011AEF5) # $at, 0x8012
/* 00CEB0 8000C2B0 A020AEF5 */ sb $zero, %lo(D_8011AEF5)($at)
/* 00CEB4 8000C2B4 3C014000 */ li $at, 0x40000000 # 2.000000
/* 00CEB8 8000C2B8 44812000 */ mtc1 $at, $f4
/* 00CEBC 8000C2BC 3C018012 */ lui $at, %hi(D_8011ADA8) # $at, 0x8012
/* 00CEC0 8000C2C0 0C003118 */ jal func_8000C460
/* 00CEC4 8000C2C4 E424ADA8 */ swc1 $f4, %lo(D_8011ADA8)($at)
/* 00CEC8 8000C2C8 8FBF001C */ lw $ra, 0x1c($sp)
/* 00CECC 8000C2CC 27BD0020 */ addiu $sp, $sp, 0x20
/* 00CED0 8000C2D0 03E00008 */ jr $ra
/* 00CED4 8000C2D4 00000000 */ nop
@@ -1,110 +0,0 @@
glabel func_8000C460
/* 00D060 8000C460 24020001 */ li $v0, 1
/* 00D064 8000C464 3C018012 */ lui $at, %hi(D_8011AD26) # $at, 0x8012
/* 00D068 8000C468 A022AD26 */ sb $v0, %lo(D_8011AD26)($at)
/* 00D06C 8000C46C 3C018012 */ lui $at, %hi(D_8011AD5C) # $at, 0x8012
/* 00D070 8000C470 AC20AD5C */ sw $zero, %lo(D_8011AD5C)($at)
/* 00D074 8000C474 3C018012 */ lui $at, %hi(D_8011AD60) # $at, 0x8012
/* 00D078 8000C478 AC20AD60 */ sw $zero, %lo(D_8011AD60)($at)
/* 00D07C 8000C47C 3C018012 */ lui $at, %hi(D_8011AEC8) # $at, 0x8012
/* 00D080 8000C480 AC20AEC8 */ sw $zero, %lo(D_8011AEC8)($at)
/* 00D084 8000C484 3C018012 */ lui $at, %hi(D_8011AE70) # $at, 0x8012
/* 00D088 8000C488 AC20AE70 */ sw $zero, %lo(D_8011AE70)($at)
/* 00D08C 8000C48C 3C018012 */ lui $at, %hi(D_8011AED0) # $at, 0x8012
/* 00D090 8000C490 AC20AED0 */ sw $zero, %lo(D_8011AED0)($at)
/* 00D094 8000C494 3C018012 */ lui $at, %hi(D_8011AED4) # $at, 0x8012
/* 00D098 8000C498 AC20AED4 */ sw $zero, %lo(D_8011AED4)($at)
/* 00D09C 8000C49C 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012
/* 00D0A0 8000C4A0 AC20AEF0 */ sw $zero, %lo(D_8011AEF0)($at)
/* 00D0A4 8000C4A4 3C018012 */ lui $at, %hi(D_8011AE78) # $at, 0x8012
/* 00D0A8 8000C4A8 A420AE78 */ sh $zero, %lo(D_8011AE78)($at)
/* 00D0AC 8000C4AC 3C058012 */ lui $a1, %hi(D_8011AD22) # $a1, 0x8012
/* 00D0B0 8000C4B0 3C018012 */ lui $at, %hi(D_8011AD21) # $at, 0x8012
/* 00D0B4 8000C4B4 24A5AD22 */ addiu $a1, %lo(D_8011AD22) # addiu $a1, $a1, -0x52de
/* 00D0B8 8000C4B8 A020AD21 */ sb $zero, %lo(D_8011AD21)($at)
/* 00D0BC 8000C4BC 3C038012 */ lui $v1, %hi(D_8011AF04) # $v1, 0x8012
/* 00D0C0 8000C4C0 A0A00000 */ sb $zero, ($a1)
/* 00D0C4 8000C4C4 A0A00001 */ sb $zero, 1($a1)
/* 00D0C8 8000C4C8 2463AF04 */ addiu $v1, %lo(D_8011AF04) # addiu $v1, $v1, -0x50fc
/* 00D0CC 8000C4CC 00002025 */ move $a0, $zero
.L8000C4D0:
/* 00D0D0 8000C4D0 8C6E0000 */ lw $t6, ($v1)
/* 00D0D4 8000C4D4 00000000 */ nop
/* 00D0D8 8000C4D8 01C47821 */ addu $t7, $t6, $a0
/* 00D0DC 8000C4DC 24840004 */ addiu $a0, $a0, 4
/* 00D0E0 8000C4E0 28810200 */ slti $at, $a0, 0x200
/* 00D0E4 8000C4E4 1420FFFA */ bnez $at, .L8000C4D0
/* 00D0E8 8000C4E8 ADE00000 */ sw $zero, ($t7)
/* 00D0EC 8000C4EC 3C048012 */ lui $a0, %hi(D_8011ADCC) # $a0, 0x8012
/* 00D0F0 8000C4F0 2484ADCC */ addiu $a0, %lo(D_8011ADCC) # addiu $a0, $a0, -0x5234
/* 00D0F4 8000C4F4 00001825 */ move $v1, $zero
.L8000C4F8:
/* 00D0F8 8000C4F8 8C980000 */ lw $t8, ($a0)
/* 00D0FC 8000C4FC 00000000 */ nop
/* 00D100 8000C500 0303C821 */ addu $t9, $t8, $v1
/* 00D104 8000C504 24630001 */ addiu $v1, $v1, 1
/* 00D108 8000C508 28610008 */ slti $at, $v1, 8
/* 00D10C 8000C50C 1420FFFA */ bnez $at, .L8000C4F8
/* 00D110 8000C510 A3200000 */ sb $zero, ($t9)
/* 00D114 8000C514 3C038012 */ lui $v1, %hi(D_8011AFF4) # $v1, 0x8012
/* 00D118 8000C518 2463AFF4 */ addiu $v1, %lo(D_8011AFF4) # addiu $v1, $v1, -0x500c
/* 00D11C 8000C51C 00002025 */ move $a0, $zero
/* 00D120 8000C520 24050400 */ li $a1, 1024
.L8000C524:
/* 00D124 8000C524 8C680000 */ lw $t0, ($v1)
/* 00D128 8000C528 00000000 */ nop
/* 00D12C 8000C52C 01044821 */ addu $t1, $t0, $a0
/* 00D130 8000C530 AD200000 */ sw $zero, ($t1)
/* 00D134 8000C534 8C6A0000 */ lw $t2, ($v1)
/* 00D138 8000C538 00000000 */ nop
/* 00D13C 8000C53C 01445821 */ addu $t3, $t2, $a0
/* 00D140 8000C540 AD600040 */ sw $zero, 0x40($t3)
/* 00D144 8000C544 8C6C0000 */ lw $t4, ($v1)
/* 00D148 8000C548 00000000 */ nop
/* 00D14C 8000C54C 01846821 */ addu $t5, $t4, $a0
/* 00D150 8000C550 ADA00080 */ sw $zero, 0x80($t5)
/* 00D154 8000C554 8C6E0000 */ lw $t6, ($v1)
/* 00D158 8000C558 00000000 */ nop
/* 00D15C 8000C55C 01C47821 */ addu $t7, $t6, $a0
/* 00D160 8000C560 24840100 */ addiu $a0, $a0, 0x100
/* 00D164 8000C564 1485FFEF */ bne $a0, $a1, .L8000C524
/* 00D168 8000C568 ADE000C0 */ sw $zero, 0xc0($t7)
/* 00D16C 8000C56C 3C038012 */ lui $v1, %hi(D_8011AF08) # $v1, 0x8012
/* 00D170 8000C570 2463AF08 */ addiu $v1, %lo(D_8011AF08) # addiu $v1, $v1, -0x50f8
/* 00D174 8000C574 240400FF */ li $a0, 255
/* 00D178 8000C578 AC640000 */ sw $a0, ($v1)
/* 00D17C 8000C57C AC640004 */ sw $a0, 4($v1)
/* 00D180 8000C580 3C018012 */ lui $at, %hi(D_8011AE5C) # $at, 0x8012
/* 00D184 8000C584 AC20AE5C */ sw $zero, %lo(D_8011AE5C)($at)
/* 00D188 8000C588 3C018012 */ lui $at, %hi(D_8011AE60) # $at, 0x8012
/* 00D18C 8000C58C AC20AE60 */ sw $zero, %lo(D_8011AE60)($at)
/* 00D190 8000C590 3C018012 */ lui $at, %hi(D_8011AE64) # $at, 0x8012
/* 00D194 8000C594 AC20AE64 */ sw $zero, %lo(D_8011AE64)($at)
/* 00D198 8000C598 3C018012 */ lui $at, %hi(D_8011AE88) # $at, 0x8012
/* 00D19C 8000C59C AC20AE88 */ sw $zero, %lo(D_8011AE88)($at)
/* 00D1A0 8000C5A0 3C018012 */ lui $at, %hi(D_8011ADD4) # $at, 0x8012
/* 00D1A4 8000C5A4 A020ADD4 */ sb $zero, %lo(D_8011ADD4)($at)
/* 00D1A8 8000C5A8 3C018012 */ lui $at, %hi(D_8011AE7A) # $at, 0x8012
/* 00D1AC 8000C5AC A420AE7A */ sh $zero, %lo(D_8011AE7A)($at)
/* 00D1B0 8000C5B0 3C018012 */ lui $at, %hi(D_8011AE7E) # $at, 0x8012
/* 00D1B4 8000C5B4 A022AE7E */ sb $v0, %lo(D_8011AE7E)($at)
/* 00D1B8 8000C5B8 3C018012 */ lui $at, %hi(D_8011AE7C) # $at, 0x8012
/* 00D1BC 8000C5BC A420AE7C */ sh $zero, %lo(D_8011AE7C)($at)
/* 00D1C0 8000C5C0 3C018012 */ lui $at, %hi(D_8011AD44) # $at, 0x8012
/* 00D1C4 8000C5C4 A020AD44 */ sb $zero, %lo(D_8011AD44)($at)
/* 00D1C8 8000C5C8 3C018012 */ lui $at, %hi(D_8011AEF6) # $at, 0x8012
/* 00D1CC 8000C5CC A020AEF6 */ sb $zero, %lo(D_8011AEF6)($at)
/* 00D1D0 8000C5D0 3C018012 */ lui $at, %hi(D_8011AEF7) # $at, 0x8012
/* 00D1D4 8000C5D4 A020AEF7 */ sb $zero, %lo(D_8011AEF7)($at)
/* 00D1D8 8000C5D8 3C018012 */ lui $at, %hi(D_8011AF60) # $at, 0x8012
/* 00D1DC 8000C5DC AC20AF60 */ sw $zero, %lo(D_8011AF60)($at)
/* 00D1E0 8000C5E0 3C018012 */ lui $at, %hi(D_8011AE00) # $at, 0x8012
/* 00D1E4 8000C5E4 A020AE00 */ sb $zero, %lo(D_8011AE00)($at)
/* 00D1E8 8000C5E8 3C018012 */ lui $at, %hi(D_8011AE01) # $at, 0x8012
/* 00D1EC 8000C5EC A022AE01 */ sb $v0, %lo(D_8011AE01)($at)
/* 00D1F0 8000C5F0 3C018012 */ lui $at, %hi(D_8011AD53) # $at, 0x8012
/* 00D1F4 8000C5F4 A020AD53 */ sb $zero, %lo(D_8011AD53)($at)
/* 00D1F8 8000C5F8 3C018012 */ lui $at, 0x8012
/* 00D1FC 8000C5FC 03E00008 */ jr $ra
/* 00D200 8000C600 A020ADD5 */ sb $zero, -0x522b($at)
@@ -1,75 +0,0 @@
glabel func_8000C604
/* 00D204 8000C604 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 00D208 8000C608 AFBF0024 */ sw $ra, 0x24($sp)
/* 00D20C 8000C60C AFB30020 */ sw $s3, 0x20($sp)
/* 00D210 8000C610 AFB2001C */ sw $s2, 0x1c($sp)
/* 00D214 8000C614 AFB10018 */ sw $s1, 0x18($sp)
/* 00D218 8000C618 0C0166D3 */ jal func_80059B4C
/* 00D21C 8000C61C AFB00014 */ sw $s0, 0x14($sp)
/* 00D220 8000C620 3C10800E */ lui $s0, %hi(D_800DC71C) # $s0, 0x800e
/* 00D224 8000C624 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e
/* 00D228 8000C628 2610C71C */ addiu $s0, %lo(D_800DC71C) # addiu $s0, $s0, -0x38e4
/* 00D22C 8000C62C A020C748 */ sb $zero, %lo(D_800DC748)($at)
/* 00D230 8000C630 820E0000 */ lb $t6, ($s0)
/* 00D234 8000C634 00000000 */ nop
/* 00D238 8000C638 11C00003 */ beqz $t6, .L8000C648
/* 00D23C 8000C63C 00000000 */ nop
/* 00D240 8000C640 0C01C8A6 */ jal func_80072298
/* 00D244 8000C644 24040001 */ li $a0, 1
.L8000C648:
/* 00D248 8000C648 3C11800E */ lui $s1, %hi(D_800DC744) # $s1, 0x800e
/* 00D24C 8000C64C 2631C744 */ addiu $s1, %lo(D_800DC744) # addiu $s1, $s1, -0x38bc
/* 00D250 8000C650 822F0000 */ lb $t7, ($s1)
/* 00D254 8000C654 A2000000 */ sb $zero, ($s0)
/* 00D258 8000C658 11E00007 */ beqz $t7, .L8000C678
/* 00D25C 8000C65C 00000000 */ nop
/* 00D260 8000C660 0C027B20 */ jal is_in_two_player_adventure
/* 00D264 8000C664 00000000 */ nop
/* 00D268 8000C668 10400003 */ beqz $v0, .L8000C678
/* 00D26C 8000C66C 00000000 */ nop
/* 00D270 8000C670 0C01BCE6 */ jal func_8006F398
/* 00D274 8000C674 A2200000 */ sb $zero, ($s1)
.L8000C678:
/* 00D278 8000C678 0C004013 */ jal func_8001004C
/* 00D27C 8000C67C 00000000 */ nop
/* 00D280 8000C680 3C128012 */ lui $s2, %hi(D_8011AE5C) # $s2, 0x8012
/* 00D284 8000C684 8E52AE5C */ lw $s2, %lo(D_8011AE5C)($s2)
/* 00D288 8000C688 00008025 */ move $s0, $zero
/* 00D28C 8000C68C 1A40000C */ blez $s2, .L8000C6C0
/* 00D290 8000C690 00008825 */ move $s1, $zero
/* 00D294 8000C694 3C138012 */ lui $s3, %hi(D_8011AE58) # $s3, 0x8012
/* 00D298 8000C698 2673AE58 */ addiu $s3, %lo(D_8011AE58) # addiu $s3, $s3, -0x51a8
.L8000C69C:
/* 00D29C 8000C69C 8E780000 */ lw $t8, ($s3)
/* 00D2A0 8000C6A0 24050001 */ li $a1, 1
/* 00D2A4 8000C6A4 0311C821 */ addu $t9, $t8, $s1
/* 00D2A8 8000C6A8 8F240000 */ lw $a0, ($t9)
/* 00D2AC 8000C6AC 0C00406B */ jal func_800101AC
/* 00D2B0 8000C6B0 00000000 */ nop
/* 00D2B4 8000C6B4 26100001 */ addiu $s0, $s0, 1
/* 00D2B8 8000C6B8 1612FFF8 */ bne $s0, $s2, .L8000C69C
/* 00D2BC 8000C6BC 26310004 */ addiu $s1, $s1, 4
.L8000C6C0:
/* 00D2C0 8000C6C0 3C018012 */ lui $at, %hi(D_8011AEC8) # $at, 0x8012
/* 00D2C4 8000C6C4 AC20AEC8 */ sw $zero, %lo(D_8011AEC8)($at)
/* 00D2C8 8000C6C8 3C018012 */ lui $at, %hi(D_8011AE5C) # $at, 0x8012
/* 00D2CC 8000C6CC AC20AE5C */ sw $zero, %lo(D_8011AE5C)($at)
/* 00D2D0 8000C6D0 3C018012 */ lui $at, %hi(D_8011AE60) # $at, 0x8012
/* 00D2D4 8000C6D4 0C003118 */ jal func_8000C460
/* 00D2D8 8000C6D8 AC20AE60 */ sw $zero, %lo(D_8011AE60)($at)
/* 00D2DC 8000C6DC 3C108012 */ lui $s0, %hi(D_8011AEB0) # $s0, 0x8012
/* 00D2E0 8000C6E0 2610AEB0 */ addiu $s0, %lo(D_8011AEB0) # addiu $s0, $s0, -0x5150
/* 00D2E4 8000C6E4 8E040000 */ lw $a0, ($s0)
/* 00D2E8 8000C6E8 0C01C450 */ jal func_80071140
/* 00D2EC 8000C6EC 00000000 */ nop
/* 00D2F0 8000C6F0 8E040004 */ lw $a0, 4($s0)
/* 00D2F4 8000C6F4 0C01C450 */ jal func_80071140
/* 00D2F8 8000C6F8 00000000 */ nop
/* 00D2FC 8000C6FC 8FBF0024 */ lw $ra, 0x24($sp)
/* 00D300 8000C700 8FB00014 */ lw $s0, 0x14($sp)
/* 00D304 8000C704 8FB10018 */ lw $s1, 0x18($sp)
/* 00D308 8000C708 8FB2001C */ lw $s2, 0x1c($sp)
/* 00D30C 8000C70C 8FB30020 */ lw $s3, 0x20($sp)
/* 00D310 8000C710 03E00008 */ jr $ra
/* 00D314 8000C714 27BD0028 */ addiu $sp, $sp, 0x28
@@ -1,28 +0,0 @@
glabel func_8000CC20
/* 00D820 8000CC20 3C058012 */ lui $a1, %hi(D_8011AE08) # $a1, 0x8012
/* 00D824 8000CC24 2403FFFF */ li $v1, -1
/* 00D828 8000CC28 24A5AE08 */ addiu $a1, %lo(D_8011AE08) # addiu $a1, $a1, -0x51f8
/* 00D82C 8000CC2C 00001025 */ move $v0, $zero
/* 00D830 8000CC30 00027080 */ sll $t6, $v0, 2
.L8000CC34:
/* 00D834 8000CC34 00AE7821 */ addu $t7, $a1, $t6
/* 00D838 8000CC38 8DF80000 */ lw $t8, ($t7)
/* 00D83C 8000CC3C 00000000 */ nop
/* 00D840 8000CC40 17000003 */ bnez $t8, .L8000CC50
/* 00D844 8000CC44 00000000 */ nop
/* 00D848 8000CC48 00401825 */ move $v1, $v0
/* 00D84C 8000CC4C 24020010 */ li $v0, 16
.L8000CC50:
/* 00D850 8000CC50 24420001 */ addiu $v0, $v0, 1
/* 00D854 8000CC54 28410010 */ slti $at, $v0, 0x10
/* 00D858 8000CC58 1420FFF6 */ bnez $at, .L8000CC34
/* 00D85C 8000CC5C 00027080 */ sll $t6, $v0, 2
/* 00D860 8000CC60 2401FFFF */ li $at, -1
/* 00D864 8000CC64 10610003 */ beq $v1, $at, .L8000CC74
/* 00D868 8000CC68 0003C880 */ sll $t9, $v1, 2
/* 00D86C 8000CC6C 00B94021 */ addu $t0, $a1, $t9
/* 00D870 8000CC70 AD040000 */ sw $a0, ($t0)
.L8000CC74:
/* 00D874 8000CC74 03E00008 */ jr $ra
/* 00D878 8000CC78 00601025 */ move $v0, $v1
@@ -1,52 +0,0 @@
glabel func_8000E1EC
/* 00EDEC 8000E1EC 3C018012 */ lui $at, %hi(D_8011AD40) # $at, 0x8012
/* 00EDF0 8000E1F0 AC24AD40 */ sw $a0, %lo(D_8011AD40)($at)
/* 00EDF4 8000E1F4 3C018012 */ lui $at, %hi(D_8011AD44) # $at, 0x8012
/* 00EDF8 8000E1F8 240E0004 */ li $t6, 4
/* 00EDFC 8000E1FC A02EAD44 */ sb $t6, %lo(D_8011AD44)($at)
/* 00EE00 8000E200 444FF800 */ cfc1 $t7, $31
/* 00EE04 8000E204 3C018012 */ lui $at, %hi(D_8011AD45) # $at, 0x8012
/* 00EE08 8000E208 A025AD45 */ sb $a1, %lo(D_8011AD45)($at)
/* 00EE0C 8000E20C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 00EE10 8000E210 35E10003 */ ori $at, $t7, 3
/* 00EE14 8000E214 AFBF0014 */ sw $ra, 0x14($sp)
/* 00EE18 8000E218 38210002 */ xori $at, $at, 2
/* 00EE1C 8000E21C 44C1F800 */ ctc1 $at, $31
/* 00EE20 8000E220 C484000C */ lwc1 $f4, 0xc($a0)
/* 00EE24 8000E224 3C018012 */ lui $at, %hi(D_8011AD46) # $at, 0x8012
/* 00EE28 8000E228 460021A4 */ cvt.w.s $f6, $f4
/* 00EE2C 8000E22C 44CFF800 */ ctc1 $t7, $31
/* 00EE30 8000E230 44183000 */ mfc1 $t8, $f6
/* 00EE34 8000E234 00000000 */ nop
/* 00EE38 8000E238 4459F800 */ cfc1 $t9, $31
/* 00EE3C 8000E23C A438AD46 */ sh $t8, %lo(D_8011AD46)($at)
/* 00EE40 8000E240 37210003 */ ori $at, $t9, 3
/* 00EE44 8000E244 38210002 */ xori $at, $at, 2
/* 00EE48 8000E248 44C1F800 */ ctc1 $at, $31
/* 00EE4C 8000E24C C4880010 */ lwc1 $f8, 0x10($a0)
/* 00EE50 8000E250 3C018012 */ lui $at, %hi(D_8011AD48) # $at, 0x8012
/* 00EE54 8000E254 460042A4 */ cvt.w.s $f10, $f8
/* 00EE58 8000E258 44D9F800 */ ctc1 $t9, $31
/* 00EE5C 8000E25C 44085000 */ mfc1 $t0, $f10
/* 00EE60 8000E260 00000000 */ nop
/* 00EE64 8000E264 4449F800 */ cfc1 $t1, $31
/* 00EE68 8000E268 A428AD48 */ sh $t0, %lo(D_8011AD48)($at)
/* 00EE6C 8000E26C 35210003 */ ori $at, $t1, 3
/* 00EE70 8000E270 38210002 */ xori $at, $at, 2
/* 00EE74 8000E274 44C1F800 */ ctc1 $at, $31
/* 00EE78 8000E278 C4900014 */ lwc1 $f16, 0x14($a0)
/* 00EE7C 8000E27C 3C018012 */ lui $at, %hi(D_8011AD4A) # $at, 0x8012
/* 00EE80 8000E280 460084A4 */ cvt.w.s $f18, $f16
/* 00EE84 8000E284 440A9000 */ mfc1 $t2, $f18
/* 00EE88 8000E288 44C9F800 */ ctc1 $t1, $31
/* 00EE8C 8000E28C A42AAD4A */ sh $t2, %lo(D_8011AD4A)($at)
/* 00EE90 8000E290 848B0000 */ lh $t3, ($a0)
/* 00EE94 8000E294 3C018012 */ lui $at, %hi(D_8011AD4C) # $at, 0x8012
/* 00EE98 8000E298 0C003FEE */ jal func_8000FFB8
/* 00EE9C 8000E29C A42BAD4C */ sh $t3, %lo(D_8011AD4C)($at)
/* 00EEA0 8000E2A0 8FBF0014 */ lw $ra, 0x14($sp)
/* 00EEA4 8000E2A4 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012
/* 00EEA8 8000E2A8 AC20AEF0 */ sw $zero, %lo(D_8011AEF0)($at)
/* 00EEAC 8000E2AC 03E00008 */ jr $ra
/* 00EEB0 8000E2B0 27BD0018 */ addiu $sp, $sp, 0x18
+261 -23
View File
@@ -17,51 +17,91 @@ extern u8 D_800DC730;
extern u8 D_800DC738;
extern s8 D_800DC73C;
extern s8 D_800DC740;
extern s8 D_800DC744;
extern s8 D_800DC748;
extern s32 D_800DC760;
extern s8 D_800DC848;
extern f32 D_800E514C;
extern f32 D_800E5150;
extern s16 D_8011AC20[12];
extern s16 D_8011AD4E;
extern s8 D_8011AD20[4];
extern s8 D_8011AD21;
extern s8 D_8011AD22;
extern s8 D_8011AD22[2];
extern s8 D_8011AD25;
extern s8 D_8011AD26;
extern s32 D_8011AD34;
extern s8 D_8011AD3C;
extern s8 D_8011AD3D;
typedef struct unk8011AD40 {
s16 unk0;
s8 pad2[0xA];
f32 unkC;
f32 unk10;
f32 unk14;
} unk8011AD40;
extern unk8011AD40 *D_8011AD40;
extern s8 D_8011AD44;
extern s8 D_8011AD45;
extern s16 D_8011AD46;
extern s16 D_8011AD48;
extern s16 D_8011AD4A;
extern s16 D_8011AD4C;
extern s8 D_8011AD50;
extern s8 D_8011AD51;
extern s8 D_8011AD52;
extern s8 D_8011AD53;
extern s32 *D_8011AD58;
extern s32 D_8011AD5C;
extern s32 D_8011AD60;
extern s32 *D_8011AD64;
extern s32 D_8011AD68;
extern s32 *D_8011AD6C;
extern s32 *D_8011AD70;
extern Gfx *D_8011AD78[9];
extern s32 D_8011ADA0;
extern s16 D_8011ADA4;
extern f32 D_8011ADA8;
extern s32 D_8011ADAC;
extern s32 D_8011ADB0;
extern s32 D_8011ADB8;
extern s32 D_8011ADBC;
extern u8 D_8011ADC4;
extern s32 D_8011ADC8;
extern s8 *D_8011ADCC[8];
extern s8 (*D_8011ADCC)[8];
extern f32 D_8011ADD0;
extern s8 D_8011ADD4;
extern s8 D_8011ADD5;
extern s8 D_8011AE00;
extern s8 D_8011AE01;
extern s8 D_8011AE02;
extern s8 D_8011AE03;
u32 *D_8011AE08[16];
extern s32 (*D_8011AE48)[8]; // Unknown number of entries.
extern u8 (*D_8011AE4C)[8]; // Unknown number of entries.
extern u32 *D_8011AE58[64]; // Not sure about the number of elements
extern u32 (*D_8011AE58)[64]; // Not sure about the number of elements
extern s32 D_8011AE5C;
extern s32 D_8011AE60;
extern s32 D_8011AE64;
extern s32 *D_8011AE68;
extern s32 *D_8011AE6C;
extern s32 D_8011AE70;
extern s32 *D_8011AE74;
extern s16 D_8011AE78;
extern s16 D_8011AE7A;
extern u8 D_8011AE7E;
extern s16 D_8011AE7C;
extern s8 D_8011AE7E;
extern s16 D_8011AE82;
extern u8 D_8011AEF7;
extern s32 D_8011AE88;
extern s32 D_8011AEB0[2];
extern s16 *D_8011AEB8;
extern s32 D_8011AEBC;
extern s32 *D_8011AEC4;
extern s32 D_8011AEC8;
/* Size: 0x3C bytes */
typedef struct unknown8011AECC {
@@ -72,22 +112,26 @@ typedef struct unknown8011AECC {
extern unknown8011AECC* D_8011AECC; // Array of structs, unknown number of members
extern s32 D_8011AED0;
extern s32 D_8011AED4;
extern s16 D_8011AED8;
extern u32 *D_8011AEDC[64]; // Not sure about the number of elements
extern u32 (*D_8011AEDC)[64]; // Not sure about the number of elements
extern s32 D_8011AEE0;
extern Player *(*D_8011AEE4)[8];
extern s32 D_8011AEE8;
extern s32 D_8011AEEC;
extern s32 *D_8011AEE8;
extern s32 *D_8011AEEC;
extern s32 D_8011AEF0;
extern u8 D_8011AEF4;
extern u8 D_8011AEF5;
extern u8 D_8011AEF6;
extern u32* D_8011AF04[64]; // Not sure about the number of elements
extern u8 D_8011AEF7;
extern u32 (*D_8011AF04)[64]; // Not sure about the number of elements
extern s32 D_8011AF08[2];
extern s32 D_8011AF10;
extern s32 D_8011AF60;
/* Size: 0x40 bytes */
typedef struct unk800179D0 {
s32 unk00;
s32 unk0;
u32* unk04;
u32* unk08;
f32 unk0C[12];
@@ -96,7 +140,7 @@ typedef struct unk800179D0 {
/* Unknown Size */
typedef struct unk800179D0_2 {
unk800179D0* unk00;
unk800179D0* unk0;
s32 unk04;
} unk800179D0_2;
@@ -107,6 +151,12 @@ extern s16 D_8011D5AC;
extern s32 osTvType;
void func_8000C460(void);
void *func_80070B78(s32, u32);
void *func_80070C9C(s32, u32);
s32 *func_80076C58(s32);
void func_8001D258(f32, f32, s32, s32, s32);
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000B020.s")
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000B290.s")
@@ -124,10 +174,156 @@ u32* func_8000BF44(s32 arg0) {
return D_8011B020[arg0];
}
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000BF8C.s")
void func_8000C2D8(u8 *arg0, s32 length);
void func_8000BF8C(void) {
s32 i;
func_8001D258(D_800E514C, D_800E5150, 0, -0x2000, 0);
D_8011AE68 = (s32*)func_80070B78(0x15800, 0x200);
D_8011AEC4 = (s32*)func_80070C9C(0x320, 0xFFFF);
D_8011AE6C = (s32*)func_80070C9C(0x50, 0xFFFF);
D_8011AE74 = (s32*)func_80070C9C(0x200, 0xFFFF);
D_8011AECC = (unknown8011AECC*)func_80070C9C(0xE10, 0xFFFF);
D_8011AEDC = (s32*)func_80070C9C(0x50, 0xFFFF);
D_8011AEE4 = (s32*)func_80070C9C(0x28, 0xFFFF);
D_8011AEEC = (s32*)func_80070C9C(0x28, 0xFFFF);
D_8011AEE8 = (s32*)func_80070C9C(0x28, 0xFFFF);
D_8011AF04 = (s32*)func_80070C9C(0x200, 0xFFFF);
D_8011ADCC = (s32*)func_80070C9C(8, 0xFFFF);
D_8011AFF4.unk0 = (s32*)func_80070C9C(0x400, 0xFFFF);
D_8011AEB8 = (s32*)func_80076C58(0x23);
D_8011AEBC = (func_80076F30(0x23) >> 1) - 1;
while (D_8011AEB8[D_8011AEBC] == 0) {
D_8011AEBC--;
}
D_8011AD58 = (s32*)func_80070C9C(0x800, 0xFFFF);
D_8011AD64 = func_80076C58(0x21);
D_8011AD68 = 0;
while (-1 != D_8011AD64[D_8011AD68]) {
D_8011AD68++;
}
D_8011AD68--;
D_8011AE48 = (s32*)func_80070C9C(D_8011AD68 << 2, 0xFFFFFFFF);
D_8011AE4C = (s32*)func_80070C9C(D_8011AD68, 0xFFFFFFFF);
for (i = 0; i < D_8011AD68; i++) {
(*D_8011AE4C)[i] = 0;
}
D_8011AD6C = func_80076C58(0xF);
D_8011AD70 = func_80076C58(0x10);
D_8011ADA0 = 0;
while (-1 != D_8011AD70[D_8011ADA0]) {
D_8011ADA0++;
}
func_8000C2D8(&D_8011AD6C[D_8011AD70[65]], (D_8011AD70[66] - D_8011AD70[65]) * 4);
D_8011AE58 = (u32**)func_80070C9C(0x800, 0xFFFF);
D_8011ADC4 = 0;
D_8011AEF4 = 0;
D_8011AEF5 = 0;
D_8011ADA8 = 2.0f;
func_8000C460();
}
#if 1
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000C2D8.s")
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000C460.s")
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000C604.s")
#else
// Decrypts cheats
void func_8000C2D8(u8 *arg0, s32 length) {
u8 sp3;
u8 sp2;
u8 sp1;
u8 sp0;
//s32 numWords;
s32 i;
//numWords = length / 4;
for (i = 0; i < length; i++) {
sp0 = ((arg0[i + 3] & 0xC0) >> 6) | (arg0[i + 0] & 0xC0) | ((arg0[i + 1] & 0xC0) >> 2) | ((arg0[i + 2] & 0xC0) >> 4);
sp1 = ((arg0[i + 3] & 0x30) >> 4) | ((arg0[i + 0] & 0x30) << 2) | (arg0[i + 1] & 0x30) | ((arg0[i + 2] & 0x30) >> 2);
sp2 = ((arg0[i + 3] & 0xC) >> 2) | ((arg0[i + 0] & 0xC) << 4) | ((arg0[i + 1] & 0xC) << 2) | (arg0[i + 2] & 0xC);
sp3 = (arg0[i + 3] & 3) | (arg0[i + 0] << 6) | ((arg0[i + 1] & 3) << 4) | ((arg0[i + 2] & 3) << 2);
arg0[i + 0] = ((sp0 & 0x55) << 1) | ((sp0 & 0xAA) >> 1);
arg0[i + 1] = ((sp1 & 0x55) << 1) | ((sp1 & 0xAA) >> 1);
arg0[i + 2] = ((sp2 & 0x55) << 1) | ((sp2 & 0xAA) >> 1);
arg0[i + 3] = ((sp3 & 0x55) << 1) | ((sp3 & 0xAA) >> 1);
}
}
#endif
void func_8000C460(void) {
s32 i;
D_8011AD26 = 1;
D_8011AD5C = 0;
D_8011AD60 = 0;
D_8011AEC8 = 0;
D_8011AE70 = 0;
D_8011AED0 = 0;
D_8011AED4 = 0;
D_8011AEF0 = 0;
D_8011AE78 = 0;
D_8011AD21 = 0;
D_8011AD22[0] = 0;
D_8011AD22[1] = 0;
for (i = 0; i < 0x80; i++) {
(*D_8011AF04)[i] = 0;
}
for (i = 0; i < 8; i++) {
(*D_8011ADCC)[i] = 0;
}
for (i = 0; i < 0x10; i++) {
D_8011AFF4.unk0[i].unk0 = 0;
}
D_8011AF08[0] = 0xFF;
D_8011AF08[1] = 0xFF;
D_8011AE5C = 0;
D_8011AE60 = 0;
D_8011AE64 = 0;
D_8011AE88 = 0;
D_8011ADD4 = 0;
D_8011AE7A = 0;
D_8011AE7E = 1;
D_8011AE7C = 0;
D_8011AD44 = 0;
D_8011AEF6 = 0;
D_8011AEF7 = 0;
D_8011AF60 = 0;
D_8011AE00 = 0;
D_8011AE01 = 1;
D_8011AD53 = 0;
D_8011ADD5 = 0;
}
void func_8000C604(void) {
s32 i, len;
func_80059B4C();
D_800DC748 = 0;
if (D_800DC71C != 0) {
func_80072298(1);
}
D_800DC71C = 0;
if (D_800DC744 && is_in_two_player_adventure()) {
D_800DC744 = 0;
func_8006F398();
}
func_8001004C();
len = D_8011AE5C;
for (i = 0; i < len; i++) {
func_800101AC((*D_8011AE58)[i], 1);
}
D_8011AEC8 = 0;
D_8011AE5C = 0;
D_8011AE60 = 0;
func_8000C460();
func_80071140(D_8011AEB0[0]);
func_80071140(D_8011AEB0[1]);
}
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000C718.s")
void func_8000C844(s32 arg0) {
@@ -173,8 +369,27 @@ void func_8000CBF0(u32 *arg0, s32 arg1) {
}
#endif
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000CC20.s")
s32 func_8000CC20(u32 *arg0) {
s32 i;
s32 phi_v1;
phi_v1 = -1;
for(i = 0; i < 0x10; i++){
if (D_8011AE08[i] == 0) {
phi_v1 = i;
i = 0x10;
}
}
if (phi_v1 != -1) {
D_8011AE08[phi_v1] = arg0;
}
return phi_v1;
}
// Has a jump table
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000CC7C.s")
// Has a jump table
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000E0B0.s")
void func_8000E128(void) {
@@ -220,7 +435,18 @@ s8 func_8000E1DC() {
return D_8011AE03;
}
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000E1EC.s")
void func_8000E1EC(unk8011AD40 *arg0, s32 arg1) {
D_8011AD40 = arg0;
D_8011AD44 = 4;
D_8011AD45 = arg1;
D_8011AD46 = arg0->unkC;
D_8011AD48 = arg0->unk10;
D_8011AD4A = arg0->unk14;
D_8011AD4C = arg0->unk0;
func_8000FFB8();
D_8011AEF0 = 0;
}
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000E2B4.s")
void func_8000E4BC(s32 arg0) {
@@ -237,13 +463,13 @@ u32 func_8000E948(s32 arg0) {
if (arg0 < 0 || arg0 >= D_8011AE5C) {
return 0;
}
return D_8011AE58[0][arg0];
return (*D_8011AE58)[arg0];
}
u32 *func_8000E988(s32 *arg0, s32 *arg1) {
*arg0 = D_8011AE60;
*arg1 = D_8011AE5C;
return D_8011AE58[0];
return *D_8011AE58;
}
// Unused?
@@ -404,9 +630,9 @@ GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_80017978.s")
u32 func_800179D0(void) {
s16 i = 0;
while(i < 16) {
unk800179D0* temp = &D_8011AFF4.unk00[i];
if (temp->unk00 != 0) {
temp->unk00--;
unk800179D0* temp = &D_8011AFF4.unk0[i];
if (temp->unk0 != 0) {
temp->unk0--;
}
i++;
}
@@ -523,12 +749,12 @@ Player **func_8001BA74(s32 *arg0) {
return *D_8011AEE4;
}
s32 func_8001BA90(s32 *arg0) {
s32 *func_8001BA90(s32 *arg0) {
*arg0 = D_8011AEF0;
return D_8011AEEC;
}
s32 func_8001BAAC(s32 *arg0) {
s32 *func_8001BAAC(s32 *arg0) {
*arg0 = D_8011AEF0;
return D_8011AEE8;
}
@@ -705,7 +931,19 @@ f32 func_80022888(f32 *arg0, u32 arg1, f32 arg2) {
return result;
}
#if 1
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_800228B0.s")
#else
f32 func_800228B0(f32 *arg0, u32 arg1, f32 arg2, f32 *arg3) {
f32 temp_f12;
f32 temp_f2;
// regalloc issues
temp_f2 = (arg0[arg1 + 2] - arg0[arg1 + 1]) * arg2;
temp_f12 = arg0[arg1 + 1];
*arg3 = arg0[arg1 + 2] - arg0[arg1 + 1];
return temp_f12 + temp_f2;
}
#endif
// Unused?
void func_800228DC(s32 arg0, s32 arg1, s32 arg2) {