some work

This commit is contained in:
farisawan-2000 2020-08-29 22:31:51 -04:00
parent f69a6294cd
commit a0bfc28198
28 changed files with 603 additions and 537 deletions

View File

@ -8,7 +8,7 @@ glabel func_800A3058
/* 04B2C0 800A3070 24010002 */ li $at, 2
/* 04B2C4 800A3074 10410005 */ beq $v0, $at, .L800A308C_ovl1
/* 04B2C8 800A3078 00000000 */ nop
/* 04B2CC 800A307C 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B2CC 800A307C 0C029AC8 */ jal load_overlay
/* 04B2D0 800A3080 24040002 */ li $a0, 2
/* 04B2D4 800A3084 0C05473B */ jal func_80151CEC_ovl1
/* 04B2D8 800A3088 24040005 */ li $a0, 5
@ -29,7 +29,7 @@ glabel func_800A3058
/* 04B30C 800A30BC 8FBF0014 */ lw $ra, 0x14($sp)
/* 04B310 800A30C0 5444FFFC */ bnel $v0, $a0, .L800A30B4_ovl1
/* 04B314 800A30C4 804E0000 */ lb $t6, ($v0)
/* 04B318 800A30C8 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B318 800A30C8 0C029AC8 */ jal load_overlay
/* 04B31C 800A30CC 24040002 */ li $a0, 2
/* 04B320 800A30D0 0C05473B */ jal func_80151CEC_ovl1
/* 04B324 800A30D4 24040004 */ li $a0, 4

View File

@ -1,15 +1,15 @@
glabel func_800A30E8
/* 04B338 800A30E8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04B33C 800A30EC AFBF0014 */ sw $ra, 0x14($sp)
/* 04B340 800A30F0 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B340 800A30F0 0C029AC8 */ jal load_overlay
/* 04B344 800A30F4 24040013 */ li $a0, 19
/* 04B348 800A30F8 0C0C0000 */ jal func_80300000_ovl20
/* 04B348 800A30F8 0C0C0000 */ jal tamper_check_ovl20
/* 04B34C 800A30FC 00000000 */ nop
/* 04B350 800A3100 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B350 800A3100 0C029AC8 */ jal load_overlay
/* 04B354 800A3104 24040005 */ li $a0, 5
/* 04B358 800A3108 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B358 800A3108 0C029AC8 */ jal load_overlay
/* 04B35C 800A310C 24040006 */ li $a0, 6
/* 04B360 800A3110 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B360 800A3110 0C029AC8 */ jal load_overlay
/* 04B364 800A3114 24040011 */ li $a0, 17
/* 04B368 800A3118 8FBF0014 */ lw $ra, 0x14($sp)
/* 04B36C 800A311C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,9 +1,9 @@
glabel func_800A3128
/* 04B378 800A3128 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04B37C 800A312C AFBF0014 */ sw $ra, 0x14($sp)
/* 04B380 800A3130 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B380 800A3130 0C029AC8 */ jal load_overlay
/* 04B384 800A3134 24040002 */ li $a0, 2
/* 04B388 800A3138 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B388 800A3138 0C029AC8 */ jal load_overlay
/* 04B38C 800A313C 24040003 */ li $a0, 3
/* 04B390 800A3140 8FBF0014 */ lw $ra, 0x14($sp)
/* 04B394 800A3144 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -22,7 +22,7 @@ glabel func_800A3150
/* 04B3F0 800A31A0 00000000 */ nop
/* 04B3F4 800A31A4 0C028B5A */ jal func_800A2D68_ovl1
/* 04B3F8 800A31A8 00000000 */ nop
/* 04B3FC 800A31AC 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B3FC 800A31AC 0C029AC8 */ jal load_overlay
/* 04B400 800A31B0 24040012 */ li $a0, 18
/* 04B404 800A31B4 0C02EEE8 */ jal func_800BBBA0_ovl1
/* 04B408 800A31B8 00000000 */ nop

View File

@ -55,7 +55,7 @@ glabel func_800A3230
/* 04B550 800A3300 91E40002 */ lbu $a0, 2($t7)
/* 04B554 800A3304 0C02E714 */ jal func_800B9C50_ovl1
/* 04B558 800A3308 8E640000 */ lw $a0, ($s3)
/* 04B55C 800A330C 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B55C 800A330C 0C029AC8 */ jal load_overlay
/* 04B560 800A3310 24040004 */ li $a0, 4
/* 04B564 800A3314 8E580000 */ lw $t8, ($s2)
/* 04B568 800A3318 24050002 */ li $a1, 2

View File

@ -24,7 +24,7 @@ glabel func_800A336C
/* 04B614 800A33C4 3C04800D */ lui $a0, %hi(D_800D6B88) # $a0, 0x800d
/* 04B618 800A33C8 0C02E714 */ jal func_800B9C50_ovl1
/* 04B61C 800A33CC 8C846B88 */ lw $a0, %lo(D_800D6B88)($a0)
/* 04B620 800A33D0 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B620 800A33D0 0C029AC8 */ jal load_overlay
/* 04B624 800A33D4 24040004 */ li $a0, 4
/* 04B628 800A33D8 3C19800C */ lui $t9, %hi(D_800BE500) # $t9, 0x800c
/* 04B62C 800A33DC 8F39E500 */ lw $t9, %lo(D_800BE500)($t9)

View File

@ -12,7 +12,7 @@ glabel func_800A3408
/* 04B680 800A3430 8DEF6B94 */ lw $t7, %lo(D_800D6B94)($t7)
/* 04B684 800A3434 564F001F */ bnel $s2, $t7, .L800A34B4_ovl1
/* 04B688 800A3438 8FBF0024 */ lw $ra, 0x24($sp)
/* 04B68C 800A343C 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B68C 800A343C 0C029AC8 */ jal load_overlay
/* 04B690 800A3440 24040012 */ li $a0, 18
/* 04B694 800A3444 0C089CC2 */ jal func_80227308_ovl1
/* 04B698 800A3448 00002025 */ move $a0, $zero
@ -27,7 +27,7 @@ glabel func_800A3408
.L800A346C_ovl1:
/* 04B6BC 800A346C 0C028C54 */ jal func_800A3150_ovl1
/* 04B6C0 800A3470 24040004 */ li $a0, 4
/* 04B6C4 800A3474 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B6C4 800A3474 0C029AC8 */ jal load_overlay
/* 04B6C8 800A3478 24040012 */ li $a0, 18
/* 04B6CC 800A347C 0C089CC2 */ jal func_80227308_ovl1
/* 04B6D0 800A3480 02402025 */ move $a0, $s2

View File

@ -26,7 +26,7 @@ glabel func_800A36C0
/* 04B96C 800A371C ADD90000 */ sw $t9, ($t6)
/* 04B970 800A3720 ADD80004 */ sw $t8, 4($t6)
.L800A3724_ovl1:
/* 04B974 800A3724 0C029AC8 */ jal func_800A6B20_ovl1
/* 04B974 800A3724 0C029AC8 */ jal load_overlay
/* 04B978 800A3728 24040004 */ li $a0, 4
/* 04B97C 800A372C 8E040000 */ lw $a0, ($s0)
/* 04B980 800A3730 0C055358 */ jal func_80154D60_ovl1

View File

@ -18,7 +18,7 @@ glabel func_800A377C
/* 04BA0C 800A37BC 00000000 */ nop
/* 04BA10 800A37C0 0C029AC6 */ jal func_800A6B18_ovl1
/* 04BA14 800A37C4 00000000 */ nop
/* 04BA18 800A37C8 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BA18 800A37C8 0C029AC8 */ jal load_overlay
/* 04BA1C 800A37CC 24040001 */ li $a0, 1
/* 04BA20 800A37D0 0C028B20 */ jal func_800A2C80_ovl1
/* 04BA24 800A37D4 00000000 */ nop
@ -52,7 +52,7 @@ glabel func_800A377C
/* 04BA90 800A3840 8C2F5B64 */ lw $t7, %lo(D_800D5B64)($at)
/* 04BA94 800A3844 01E00008 */ jr $t7
/* 04BA98 800A3848 00000000 */ nop
/* 04BA9C 800A384C 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BA9C 800A384C 0C029AC8 */ jal load_overlay
/* 04BAA0 800A3850 24040002 */ li $a0, 2
/* 04BAA4 800A3854 0C05473B */ jal func_80151CEC_ovl1
/* 04BAA8 800A3858 00002025 */ move $a0, $zero
@ -62,7 +62,7 @@ glabel func_800A377C
/* 04BAB8 800A3868 8F186B74 */ lw $t8, %lo(D_800D6B74)($t8)
/* 04BABC 800A386C 56580007 */ bnel $s2, $t8, .L800A388C_ovl1
/* 04BAC0 800A3870 24190003 */ li $t9, 3
/* 04BAC4 800A3874 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BAC4 800A3874 0C029AC8 */ jal load_overlay
/* 04BAC8 800A3878 24040004 */ li $a0, 4
/* 04BACC 800A387C 00002025 */ move $a0, $zero
/* 04BAD0 800A3880 0C055358 */ jal func_80154D60_ovl1
@ -73,7 +73,7 @@ glabel func_800A377C
/* 04BAE0 800A3890 3C01800D */ lui $at, %hi(D_800D6B60) # $at, 0x800d
/* 04BAE4 800A3894 1000FFE0 */ b .L800A3818_ovl1
/* 04BAE8 800A3898 AC396B60 */ sw $t9, %lo(D_800D6B60)($at)
/* 04BAEC 800A389C 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BAEC 800A389C 0C029AC8 */ jal load_overlay
/* 04BAF0 800A38A0 24040002 */ li $a0, 2
/* 04BAF4 800A38A4 0C05473B */ jal func_80151CEC_ovl1
/* 04BAF8 800A38A8 02402025 */ move $a0, $s2
@ -95,7 +95,7 @@ glabel func_800A377C
/* 04BB34 800A38E4 3C01800D */ lui $at, %hi(D_800D6B60) # $at, 0x800d
/* 04BB38 800A38E8 1000FFCB */ b .L800A3818_ovl1
/* 04BB3C 800A38EC AC2B6B60 */ sw $t3, %lo(D_800D6B60)($at)
/* 04BB40 800A38F0 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BB40 800A38F0 0C029AC8 */ jal load_overlay
/* 04BB44 800A38F4 24040002 */ li $a0, 2
/* 04BB48 800A38F8 0C05473B */ jal func_80151CEC_ovl1
/* 04BB4C 800A38FC 02402025 */ move $a0, $s2
@ -117,7 +117,7 @@ glabel func_800A377C
/* 04BB88 800A3938 3C01800D */ lui $at, %hi(D_800D6B60) # $at, 0x800d
/* 04BB8C 800A393C 1000FFB6 */ b .L800A3818_ovl1
/* 04BB90 800A3940 AC2F6B60 */ sw $t7, %lo(D_800D6B60)($at)
/* 04BB94 800A3944 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BB94 800A3944 0C029AC8 */ jal load_overlay
/* 04BB98 800A3948 24040002 */ li $a0, 2
/* 04BB9C 800A394C 0C05473B */ jal func_80151CEC_ovl1
/* 04BBA0 800A3950 02402025 */ move $a0, $s2
@ -139,7 +139,7 @@ glabel func_800A377C
/* 04BBDC 800A398C 3C01800D */ lui $at, %hi(D_800D6B60) # $at, 0x800d
/* 04BBE0 800A3990 1000FFA1 */ b .L800A3818_ovl1
/* 04BBE4 800A3994 AC296B60 */ sw $t1, %lo(D_800D6B60)($at)
/* 04BBE8 800A3998 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BBE8 800A3998 0C029AC8 */ jal load_overlay
/* 04BBEC 800A399C 24040002 */ li $a0, 2
/* 04BBF0 800A39A0 0C05473B */ jal func_80151CEC_ovl1
/* 04BBF4 800A39A4 02402025 */ move $a0, $s2
@ -177,7 +177,7 @@ glabel func_800A377C
/* 04BC70 800A3A20 02402025 */ move $a0, $s2
/* 04BC74 800A3A24 1440000B */ bnez $v0, .L800A3A54_ovl1
/* 04BC78 800A3A28 00000000 */ nop
/* 04BC7C 800A3A2C 0C029AC8 */ jal func_800A6B20_ovl1
/* 04BC7C 800A3A2C 0C029AC8 */ jal load_overlay
/* 04BC80 800A3A30 24040004 */ li $a0, 4
/* 04BC84 800A3A34 02402025 */ move $a0, $s2
/* 04BC88 800A3A38 0C02E7E4 */ jal func_800B9F90_ovl1
@ -470,7 +470,7 @@ glabel func_800A377C
/* 04C0C8 800A3E78 AC400000 */ sw $zero, ($v0)
/* 04C0CC 800A3E7C 3C01800D */ lui $at, %hi(D_800D6B9C) # $at, 0x800d
/* 04C0D0 800A3E80 AC206B9C */ sw $zero, %lo(D_800D6B9C)($at)
/* 04C0D4 800A3E84 0C029AC8 */ jal func_800A6B20_ovl1
/* 04C0D4 800A3E84 0C029AC8 */ jal load_overlay
/* 04C0D8 800A3E88 24040004 */ li $a0, 4
/* 04C0DC 800A3E8C 2404000D */ li $a0, 13
/* 04C0E0 800A3E90 0C02E7E4 */ jal func_800B9F90_ovl1
@ -534,7 +534,7 @@ glabel func_800A377C
/* 04C1B8 800A3F68 00000000 */ nop
/* 04C1BC 800A3F6C 1000FE2A */ b .L800A3818_ovl1
/* 04C1C0 800A3F70 AE120000 */ sw $s2, ($s0)
/* 04C1C4 800A3F74 0C029AC8 */ jal func_800A6B20_ovl1
/* 04C1C4 800A3F74 0C029AC8 */ jal load_overlay
/* 04C1C8 800A3F78 24040004 */ li $a0, 4
/* 04C1CC 800A3F7C 3C04800D */ lui $a0, %hi(D_800D71E8) # $a0, 0x800d
/* 04C1D0 800A3F80 8C8471E8 */ lw $a0, %lo(D_800D71E8)($a0)
@ -549,7 +549,7 @@ glabel func_800A377C
/* 04C1F4 800A3FA4 00000000 */ nop
/* 04C1F8 800A3FA8 1000FE1B */ b .L800A3818_ovl1
/* 04C1FC 800A3FAC 00000000 */ nop
/* 04C200 800A3FB0 0C029AC8 */ jal func_800A6B20_ovl1
/* 04C200 800A3FB0 0C029AC8 */ jal load_overlay
/* 04C204 800A3FB4 24040004 */ li $a0, 4
/* 04C208 800A3FB8 24040011 */ li $a0, 17
/* 04C20C 800A3FBC 0C02E7E4 */ jal func_800B9F90_ovl1
@ -564,7 +564,7 @@ glabel func_800A377C
/* 04C230 800A3FE0 24050002 */ li $a1, 2
/* 04C234 800A3FE4 1000FE0C */ b .L800A3818_ovl1
/* 04C238 800A3FE8 AE120000 */ sw $s2, ($s0)
/* 04C23C 800A3FEC 0C029AC8 */ jal func_800A6B20_ovl1
/* 04C23C 800A3FEC 0C029AC8 */ jal load_overlay
/* 04C240 800A3FF0 24040004 */ li $a0, 4
/* 04C244 800A3FF4 2404000D */ li $a0, 13
/* 04C248 800A3FF8 0C02E7E4 */ jal func_800B9F90_ovl1

View File

@ -1,4 +1,4 @@
glabel func_800A6B20
glabel load_overlay
/* 04ED70 800A6B20 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 04ED74 800A6B24 2C810014 */ sltiu $at, $a0, 0x14
/* 04ED78 800A6B28 AFBF0014 */ sw $ra, 0x14($sp)
@ -12,7 +12,7 @@ glabel func_800A6B20
/* 04ED90 800A6B40 00057080 */ sll $t6, $a1, 2
/* 04ED94 800A6B44 3C04800C */ lui $a0, %hi(D_800BE8A0)
/* 04ED98 800A6B48 008E2021 */ addu $a0, $a0, $t6
/* 04ED9C 800A6B4C 0C000B63 */ jal load_overlay
/* 04ED9C 800A6B4C 0C000B63 */ jal dma_overlay_load
/* 04EDA0 800A6B50 8C84E8A0 */ lw $a0, %lo(D_800BE8A0)($a0)
/* 04EDA4 800A6B54 8FBF0014 */ lw $ra, 0x14($sp)
/* 04EDA8 800A6B58 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,9 +1,9 @@
glabel func_800A9AA8
/* 051CF8 800A9AA8 00047402 */ srl $t6, $a0, 0x10
/* 051CFC 800A9AAC 000E7880 */ sll $t7, $t6, 2
/* 051D00 800A9AB0 3C02800D */ lui $v0, 0x800d
/* 051D00 800A9AB0 3C02800D */ lui $v0, %hi(D_800D0184)
/* 051D04 800A9AB4 004F1021 */ addu $v0, $v0, $t7
/* 051D08 800A9AB8 8C420184 */ lw $v0, 0x184($v0)
/* 051D08 800A9AB8 8C420184 */ lw $v0, %lo(D_800D0184)($v0)
/* 051D0C 800A9ABC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 051D10 800A9AC0 AFBF0014 */ sw $ra, 0x14($sp)
/* 051D14 800A9AC4 8C430018 */ lw $v1, 0x18($v0)

View File

@ -436,13 +436,13 @@ glabel func_800F78E4_ovl2
/* 0809D0 800F7F60 8C2D8738 */ lw $t5, -0x78c8($at)
/* 0809D4 800F7F64 01A00008 */ jr $t5
/* 0809D8 800F7F68 00000000 */ nop
/* 0809DC 800F7F6C 0C029AC8 */ jal func_800A6B20_ovl2
/* 0809DC 800F7F6C 0C029AC8 */ jal load_overlay
/* 0809E0 800F7F70 24040007 */ li $a0, 7
/* 0809E4 800F7F74 0C029AC8 */ jal func_800A6B20_ovl2
/* 0809E4 800F7F74 0C029AC8 */ jal load_overlay
/* 0809E8 800F7F78 24040010 */ li $a0, 16
/* 0809EC 800F7F7C 1000003B */ b .L800F806C_ovl2
/* 0809F0 800F7F80 8FBF0014 */ lw $ra, 0x14($sp)
/* 0809F4 800F7F84 0C029AC8 */ jal func_800A6B20_ovl2
/* 0809F4 800F7F84 0C029AC8 */ jal load_overlay
/* 0809F8 800F7F88 24040007 */ li $a0, 7
/* 0809FC 800F7F8C 3C0F800C */ lui $t7, %hi(D_800BE500) # $t7, 0x800c
/* 080A00 800F7F90 8DEFE500 */ lw $t7, %lo(D_800BE500)($t7)
@ -454,51 +454,51 @@ glabel func_800F78E4_ovl2
/* 080A18 800F7FA8 8C2F8760 */ lw $t7, -0x78a0($at)
/* 080A1C 800F7FAC 01E00008 */ jr $t7
/* 080A20 800F7FB0 00000000 */ nop
/* 080A24 800F7FB4 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A24 800F7FB4 0C029AC8 */ jal load_overlay
/* 080A28 800F7FB8 2404000A */ li $a0, 10
/* 080A2C 800F7FBC 1000002B */ b .L800F806C_ovl2
/* 080A30 800F7FC0 8FBF0014 */ lw $ra, 0x14($sp)
/* 080A34 800F7FC4 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A34 800F7FC4 0C029AC8 */ jal load_overlay
/* 080A38 800F7FC8 2404000B */ li $a0, 11
/* 080A3C 800F7FCC 10000027 */ b .L800F806C_ovl2
/* 080A40 800F7FD0 8FBF0014 */ lw $ra, 0x14($sp)
/* 080A44 800F7FD4 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A44 800F7FD4 0C029AC8 */ jal load_overlay
/* 080A48 800F7FD8 2404000C */ li $a0, 12
/* 080A4C 800F7FDC 10000023 */ b .L800F806C_ovl2
/* 080A50 800F7FE0 8FBF0014 */ lw $ra, 0x14($sp)
/* 080A54 800F7FE4 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A54 800F7FE4 0C029AC8 */ jal load_overlay
/* 080A58 800F7FE8 2404000D */ li $a0, 13
/* 080A5C 800F7FEC 1000001F */ b .L800F806C_ovl2
/* 080A60 800F7FF0 8FBF0014 */ lw $ra, 0x14($sp)
/* 080A64 800F7FF4 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A64 800F7FF4 0C029AC8 */ jal load_overlay
/* 080A68 800F7FF8 2404000E */ li $a0, 14
/* 080A6C 800F7FFC 1000001B */ b .L800F806C_ovl2
/* 080A70 800F8000 8FBF0014 */ lw $ra, 0x14($sp)
/* 080A74 800F8004 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A74 800F8004 0C029AC8 */ jal load_overlay
/* 080A78 800F8008 2404000F */ li $a0, 15
/* 080A7C 800F800C 10000017 */ b .L800F806C_ovl2
/* 080A80 800F8010 8FBF0014 */ lw $ra, 0x14($sp)
/* 080A84 800F8014 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A84 800F8014 0C029AC8 */ jal load_overlay
/* 080A88 800F8018 24040007 */ li $a0, 7
/* 080A8C 800F801C 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A8C 800F801C 0C029AC8 */ jal load_overlay
/* 080A90 800F8020 24040009 */ li $a0, 9
/* 080A94 800F8024 10000011 */ b .L800F806C_ovl2
/* 080A98 800F8028 8FBF0014 */ lw $ra, 0x14($sp)
/* 080A9C 800F802C 0C029AC8 */ jal func_800A6B20_ovl2
/* 080A9C 800F802C 0C029AC8 */ jal load_overlay
/* 080AA0 800F8030 24040008 */ li $a0, 8
/* 080AA4 800F8034 0C029AC8 */ jal func_800A6B20_ovl2
/* 080AA4 800F8034 0C029AC8 */ jal load_overlay
/* 080AA8 800F8038 24040012 */ li $a0, 18
/* 080AAC 800F803C 1000000B */ b .L800F806C_ovl2
/* 080AB0 800F8040 8FBF0014 */ lw $ra, 0x14($sp)
.L800F8044_ovl2:
/* 080AB4 800F8044 0C029AC8 */ jal func_800A6B20_ovl2
/* 080AB4 800F8044 0C029AC8 */ jal load_overlay
/* 080AB8 800F8048 24040008 */ li $a0, 8
/* 080ABC 800F804C 3C0E800D */ lui $t6, %hi(D_800D6F3C) # $t6, 0x800d
/* 080AC0 800F8050 8DCE6F3C */ lw $t6, %lo(D_800D6F3C)($t6)
/* 080AC4 800F8054 29C10003 */ slti $at, $t6, 3
/* 080AC8 800F8058 54200004 */ bnezl $at, .L800F806C_ovl2
/* 080ACC 800F805C 8FBF0014 */ lw $ra, 0x14($sp)
/* 080AD0 800F8060 0C029AC8 */ jal func_800A6B20_ovl2
/* 080AD0 800F8060 0C029AC8 */ jal load_overlay
/* 080AD4 800F8064 24040012 */ li $a0, 18
.L800F8068_ovl2:
/* 080AD8 800F8068 8FBF0014 */ lw $ra, 0x14($sp)

View File

@ -1,315 +1,314 @@
.set noat
.set noreorder
.set gp=64
.include "macros.inc"
.section .text, "ax"
glabel func_800BBBA0
/* 063DF0 800BBBA0 3C03800D */ lui $v1, %hi(D_800D6F3C) # $v1, 0x800d
/* 063DF4 800BBBA4 24636F3C */ addiu $v1, %lo(D_800D6F3C) # addiu $v1, $v1, 0x6f3c
/* 063DF8 800BBBA8 8C620000 */ lw $v0, ($v1)
/* 063DFC 800BBBAC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 063E00 800BBBB0 AFBF0014 */ sw $ra, 0x14($sp)
/* 063E04 800BBBB4 04400003 */ bltz $v0, .L800BBBC4_ovl1
/* 063E08 800BBBB8 28410007 */ slti $at, $v0, 7
/* 063E0C 800BBBBC 54200004 */ bnezl $at, .L800BBBD0_ovl1
/* 063E10 800BBBC0 2C410007 */ sltiu $at, $v0, 7
.L800BBBC4_ovl1:
/* 063E14 800BBBC4 AC600000 */ sw $zero, ($v1)
/* 063E18 800BBBC8 00001025 */ move $v0, $zero
/* 063E1C 800BBBCC 2C410007 */ sltiu $at, $v0, 7
.L800BBBD0_ovl1:
/* 063E20 800BBBD0 10200022 */ beqz $at, .L800BBC5C_ovl1
/* 063E24 800BBBD4 00027080 */ sll $t6, $v0, 2
/* 063E28 800BBBD8 3C01800D */ lui $at, 0x800d
/* 063E2C 800BBBDC 002E0821 */ addu $at, $at, $t6
/* 063E30 800BBBE0 8C2E6980 */ lw $t6, 0x6980($at)
/* 063E34 800BBBE4 01C00008 */ jr $t6
/* 063E38 800BBBE8 00000000 */ nop
/* 063E3C 800BBBEC 3C01800F */ lui $at, %hi(D_800ED4EC) # $at, 0x800f
/* 063E40 800BBBF0 1000001A */ b .L800BBC5C_ovl1
/* 063E44 800BBBF4 AC20D4EC */ sw $zero, %lo(D_800ED4EC)($at)
/* 063E48 800BBBF8 3C0F8023 */ lui $t7, %hi(D_8022B7C0) # $t7, 0x8023
/* 063E4C 800BBBFC 25EFB7C0 */ addiu $t7, %lo(D_8022B7C0) # addiu $t7, $t7, -0x4840
/* 063E50 800BBC00 3C01800F */ lui $at, %hi(D_800ED4E0) # $at, 0x800f
/* 063E54 800BBC04 0C02EF1B */ jal func_800BBC6C_ovl1
/* 063E58 800BBC08 AC2FD4E0 */ sw $t7, %lo(D_800ED4E0)($at)
/* 063E5C 800BBC0C 0C02ED10 */ jal func_800BB440_ovl1
/* 063E60 800BBC10 00000000 */ nop
/* 063E64 800BBC14 10000012 */ b .L800BBC60_ovl1
/* 063E68 800BBC18 8FBF0014 */ lw $ra, 0x14($sp)
/* 063E6C 800BBC1C 3C188023 */ lui $t8, %hi(D_8022AED8) # $t8, 0x8023
/* 063E70 800BBC20 2718AED8 */ addiu $t8, %lo(D_8022AED8) # addiu $t8, $t8, -0x5128
/* 063E74 800BBC24 3C01800F */ lui $at, %hi(D_800ED4E0) # $at, 0x800f
/* 063E78 800BBC28 0C02EF1B */ jal func_800BBC6C_ovl1
/* 063E7C 800BBC2C AC38D4E0 */ sw $t8, %lo(D_800ED4E0)($at)
/* 063E80 800BBC30 0C02ED10 */ jal func_800BB440_ovl1
/* 063E84 800BBC34 00000000 */ nop
/* 063E88 800BBC38 10000009 */ b .L800BBC60_ovl1
/* 063E8C 800BBC3C 8FBF0014 */ lw $ra, 0x14($sp)
/* 063E90 800BBC40 3C198023 */ lui $t9, %hi(D_8022B428) # $t9, 0x8023
/* 063E94 800BBC44 2739B428 */ addiu $t9, %lo(D_8022B428) # addiu $t9, $t9, -0x4bd8
/* 063E98 800BBC48 3C01800F */ lui $at, %hi(D_800ED4E0) # $at, 0x800f
/* 063E9C 800BBC4C 0C02EF1B */ jal func_800BBC6C_ovl1
/* 063EA0 800BBC50 AC39D4E0 */ sw $t9, %lo(D_800ED4E0)($at)
/* 063EA4 800BBC54 0C02ED10 */ jal func_800BB440_ovl1
/* 063EA8 800BBC58 00000000 */ nop
.L800BBC5C_ovl1:
/* 063EAC 800BBC5C 8FBF0014 */ lw $ra, 0x14($sp)
.L800BBC60_ovl1:
/* 063EB0 800BBC60 27BD0018 */ addiu $sp, $sp, 0x18
/* 063EB4 800BBC64 03E00008 */ jr $ra
/* 063EB8 800BBC68 00000000 */ nop
glabel func_800BBC6C
/* 063EBC 800BBC6C 3C01800F */ lui $at, %hi(D_800ED4EC) # $at, 0x800f
/* 063EC0 800BBC70 AC20D4EC */ sw $zero, %lo(D_800ED4EC)($at)
/* 063EC4 800BBC74 3C0E800F */ lui $t6, %hi(D_800ED4E0) # $t6, 0x800f
/* 063EC8 800BBC78 8DCED4E0 */ lw $t6, %lo(D_800ED4E0)($t6)
/* 063ECC 800BBC7C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 063ED0 800BBC80 3C01800F */ lui $at, %hi(D_800ED4F4) # $at, 0x800f
/* 063ED4 800BBC84 AFBF0014 */ sw $ra, 0x14($sp)
/* 063ED8 800BBC88 AC20D4F4 */ sw $zero, %lo(D_800ED4F4)($at)
/* 063EDC 800BBC8C 0C0062A5 */ jal func_80018A94_ovl1
/* 063EE0 800BBC90 8DC40000 */ lw $a0, ($t6)
/* 063EE4 800BBC94 3C05800F */ lui $a1, %hi(D_800ED4E0) # $a1, 0x800f
/* 063EE8 800BBC98 8CA5D4E0 */ lw $a1, %lo(D_800ED4E0)($a1)
/* 063EEC 800BBC9C 3C01800C */ lui $at, %hi(D_800BE4EC) # $at, 0x800c
/* 063EF0 800BBCA0 3C02800C */ lui $v0, %hi(D_800BE52C) # $v0, 0x800c
/* 063EF4 800BBCA4 8CAF0004 */ lw $t7, 4($a1)
/* 063EF8 800BBCA8 2442E52C */ addiu $v0, %lo(D_800BE52C) # addiu $v0, $v0, -0x1ad4
/* 063EFC 800BBCAC 3C03800C */ lui $v1, %hi(D_800BE530) # $v1, 0x800c
/* 063F00 800BBCB0 AC2FE4EC */ sw $t7, %lo(D_800BE4EC)($at)
/* 063F04 800BBCB4 8CB80008 */ lw $t8, 8($a1)
/* 063F08 800BBCB8 3C01800C */ lui $at, %hi(D_800BE500) # $at, 0x800c
/* 063F0C 800BBCBC 2463E530 */ addiu $v1, %lo(D_800BE530) # addiu $v1, $v1, -0x1ad0
/* 063F10 800BBCC0 AC580000 */ sw $t8, ($v0)
/* 063F14 800BBCC4 AC38E500 */ sw $t8, %lo(D_800BE500)($at)
/* 063F18 800BBCC8 8CA8000C */ lw $t0, 0xc($a1)
/* 063F1C 800BBCCC 3C01800C */ lui $at, %hi(D_800BE504) # $at, 0x800c
/* 063F20 800BBCD0 3C06800C */ lui $a2, %hi(D_800BE534) # $a2, 0x800c
/* 063F24 800BBCD4 AC680000 */ sw $t0, ($v1)
/* 063F28 800BBCD8 AC28E504 */ sw $t0, %lo(D_800BE504)($at)
/* 063F2C 800BBCDC 8CAA0010 */ lw $t2, 0x10($a1)
/* 063F30 800BBCE0 24C6E534 */ addiu $a2, %lo(D_800BE534) # addiu $a2, $a2, -0x1acc
/* 063F34 800BBCE4 3C01800C */ lui $at, %hi(D_800BE508) # $at, 0x800c
/* 063F38 800BBCE8 ACCA0000 */ sw $t2, ($a2)
/* 063F3C 800BBCEC AC2AE508 */ sw $t2, %lo(D_800BE508)($at)
/* 063F40 800BBCF0 8CAC0014 */ lw $t4, 0x14($a1)
/* 063F44 800BBCF4 3C07800C */ lui $a3, %hi(D_800BE538) # $a3, 0x800c
/* 063F48 800BBCF8 24E7E538 */ addiu $a3, %lo(D_800BE538) # addiu $a3, $a3, -0x1ac8
/* 063F4C 800BBCFC 3C01800C */ lui $at, %hi(D_800BE50C) # $at, 0x800c
/* 063F50 800BBD00 ACEC0000 */ sw $t4, ($a3)
/* 063F54 800BBD04 AC2CE50C */ sw $t4, %lo(D_800BE50C)($at)
/* 063F58 800BBD08 8CAE001C */ lw $t6, 0x1c($a1)
/* 063F5C 800BBD0C 3C01800C */ lui $at, %hi(D_800BE4FC) # $at, 0x800c
/* 063F60 800BBD10 AC2EE4FC */ sw $t6, %lo(D_800BE4FC)($at)
/* 063F64 800BBD14 8CAF0020 */ lw $t7, 0x20($a1)
/* 063F68 800BBD18 3C01800D */ lui $at, %hi(D_800D6E4C) # $at, 0x800d
/* 063F6C 800BBD1C AC2F6E4C */ sw $t7, %lo(D_800D6E4C)($at)
/* 063F70 800BBD20 C4A40024 */ lwc1 $f4, 0x24($a1)
/* 063F74 800BBD24 3C01800D */ lui $at, %hi(D_800D6E50) # $at, 0x800d
/* 063F78 800BBD28 E4246E50 */ swc1 $f4, %lo(D_800D6E50)($at)
/* 063F7C 800BBD2C 8CB80028 */ lw $t8, 0x28($a1)
/* 063F80 800BBD30 3C01800D */ lui $at, %hi(D_800D6E54) # $at, 0x800d
/* 063F84 800BBD34 AC386E54 */ sw $t8, %lo(D_800D6E54)($at)
/* 063F88 800BBD38 8CB9002C */ lw $t9, 0x2c($a1)
/* 063F8C 800BBD3C 3C01800D */ lui $at, %hi(D_800D6E60) # $at, 0x800d
/* 063F90 800BBD40 AC396E60 */ sw $t9, %lo(D_800D6E60)($at)
/* 063F94 800BBD44 8CA80030 */ lw $t0, 0x30($a1)
/* 063F98 800BBD48 3C01800D */ lui $at, %hi(D_800D6E64) # $at, 0x800d
/* 063F9C 800BBD4C AC286E64 */ sw $t0, %lo(D_800D6E64)($at)
/* 063FA0 800BBD50 8CA90034 */ lw $t1, 0x34($a1)
/* 063FA4 800BBD54 3C01800D */ lui $at, %hi(D_800D6BB0) # $at, 0x800d
/* 063FA8 800BBD58 AC296BB0 */ sw $t1, %lo(D_800D6BB0)($at)
/* 063FAC 800BBD5C 0C006266 */ jal func_80018998_ovl1
/* 063FB0 800BBD60 8CA40038 */ lw $a0, 0x38($a1)
/* 063FB4 800BBD64 3C05800F */ lui $a1, %hi(D_800ED4E0) # $a1, 0x800f
/* 063FB8 800BBD68 8CA5D4E0 */ lw $a1, %lo(D_800ED4E0)($a1)
/* 063FBC 800BBD6C 3C02800D */ lui $v0, %hi(D_800D6E20) # $v0, 0x800d
/* 063FC0 800BBD70 3C04800D */ lui $a0, %hi(D_800D6E30) # $a0, 0x800d
/* 063FC4 800BBD74 24846E30 */ addiu $a0, %lo(D_800D6E30) # addiu $a0, $a0, 0x6e30
/* 063FC8 800BBD78 24426E20 */ addiu $v0, %lo(D_800D6E20) # addiu $v0, $v0, 0x6e20
/* 063FCC 800BBD7C 00A01825 */ move $v1, $a1
.L800BBD80_ovl1:
/* 063FD0 800BBD80 906A0040 */ lbu $t2, 0x40($v1)
/* 063FD4 800BBD84 24420004 */ addiu $v0, $v0, 4
/* 063FD8 800BBD88 24630004 */ addiu $v1, $v1, 4
/* 063FDC 800BBD8C A04AFFFC */ sb $t2, -4($v0)
/* 063FE0 800BBD90 906B003D */ lbu $t3, 0x3d($v1)
/* 063FE4 800BBD94 A04BFFFD */ sb $t3, -3($v0)
/* 063FE8 800BBD98 906C003E */ lbu $t4, 0x3e($v1)
/* 063FEC 800BBD9C A04CFFFE */ sb $t4, -2($v0)
/* 063FF0 800BBDA0 906D003F */ lbu $t5, 0x3f($v1)
/* 063FF4 800BBDA4 1444FFF6 */ bne $v0, $a0, .L800BBD80_ovl1
/* 063FF8 800BBDA8 A04DFFFF */ sb $t5, -1($v0)
/* 063FFC 800BBDAC 8FBF0014 */ lw $ra, 0x14($sp)
/* 064000 800BBDB0 8CAE003C */ lw $t6, 0x3c($a1)
/* 064004 800BBDB4 3C01800D */ lui $at, 0x800d
/* 064008 800BBDB8 27BD0018 */ addiu $sp, $sp, 0x18
/* 06400C 800BBDBC 03E00008 */ jr $ra
/* 064010 800BBDC0 AC2E6F38 */ sw $t6, 0x6f38($at)
glabel func_800BBDC4
/* 064014 800BBDC4 3C06800F */ lui $a2, %hi(D_800ED4EC) # $a2, 0x800f
/* 064018 800BBDC8 24C6D4EC */ addiu $a2, %lo(D_800ED4EC) # addiu $a2, $a2, -0x2b14
/* 06401C 800BBDCC 8CC30000 */ lw $v1, ($a2)
/* 064020 800BBDD0 3C098005 */ lui $t1, %hi(D_80048F20) # $t1, 0x8005
/* 064024 800BBDD4 25298F20 */ addiu $t1, %lo(D_80048F20) # addiu $t1, $t1, -0x70e0
/* 064028 800BBDD8 A5200004 */ sh $zero, 4($t1)
/* 06402C 800BBDDC A5200002 */ sh $zero, 2($t1)
/* 064030 800BBDE0 04610007 */ bgez $v1, .L800BBE00_ovl1
/* 064034 800BBDE4 A5200000 */ sh $zero, ($t1)
/* 064038 800BBDE8 240E0002 */ li $t6, 2
/* 06403C 800BBDEC 3C01800C */ lui $at, %hi(D_800BE4F8) # $at, 0x800c
/* 064040 800BBDF0 AC2EE4F8 */ sw $t6, %lo(D_800BE4F8)($at)
/* 064044 800BBDF4 3C01800D */ lui $at, 0x800d
/* 064048 800BBDF8 03E00008 */ jr $ra
/* 06404C 800BBDFC AC206F38 */ sw $zero, 0x6f38($at)
.L800BBE00_ovl1:
/* 064050 800BBE00 3C07800F */ lui $a3, %hi(D_800ED4F4) # $a3, 0x800f
/* 064054 800BBE04 24E7D4F4 */ addiu $a3, %lo(D_800ED4F4) # addiu $a3, $a3, -0x2b0c
/* 064058 800BBE08 8CEF0000 */ lw $t7, ($a3)
/* 06405C 800BBE0C 3C04800F */ lui $a0, %hi(D_800ED4E0) # $a0, 0x800f
/* 064060 800BBE10 25F8FFFF */ addiu $t8, $t7, -1
/* 064064 800BBE14 1F000021 */ bgtz $t8, .L800BBE9C_ovl1
/* 064068 800BBE18 ACF80000 */ sw $t8, ($a3)
/* 06406C 800BBE1C 8C84D4E0 */ lw $a0, %lo(D_800ED4E0)($a0)
/* 064070 800BBE20 00035040 */ sll $t2, $v1, 1
/* 064074 800BBE24 246C0001 */ addiu $t4, $v1, 1
/* 064078 800BBE28 008A5821 */ addu $t3, $a0, $t2
/* 06407C 800BBE2C 95650100 */ lhu $a1, 0x100($t3)
/* 064080 800BBE30 ACCC0000 */ sw $t4, ($a2)
/* 064084 800BBE34 258F0001 */ addiu $t7, $t4, 1
/* 064088 800BBE38 30ADE000 */ andi $t5, $a1, 0xe000
/* 06408C 800BBE3C 11A00002 */ beqz $t5, .L800BBE48_ovl1
/* 064090 800BBE40 30B81C00 */ andi $t8, $a1, 0x1c00
/* 064094 800BBE44 ACCF0000 */ sw $t7, ($a2)
.L800BBE48_ovl1:
/* 064098 800BBE48 13000004 */ beqz $t8, .L800BBE5C_ovl1
/* 06409C 800BBE4C 30AB0380 */ andi $t3, $a1, 0x380
/* 0640A0 800BBE50 8CD90000 */ lw $t9, ($a2)
/* 0640A4 800BBE54 272A0001 */ addiu $t2, $t9, 1
/* 0640A8 800BBE58 ACCA0000 */ sw $t2, ($a2)
.L800BBE5C_ovl1:
/* 0640AC 800BBE5C 11600004 */ beqz $t3, .L800BBE70_ovl1
/* 0640B0 800BBE60 2418FFFF */ li $t8, -1
/* 0640B4 800BBE64 8CCC0000 */ lw $t4, ($a2)
/* 0640B8 800BBE68 258D0001 */ addiu $t5, $t4, 1
/* 0640BC 800BBE6C ACCD0000 */ sw $t5, ($a2)
.L800BBE70_ovl1:
/* 0640C0 800BBE70 8CC30000 */ lw $v1, ($a2)
/* 0640C4 800BBE74 3401FFFF */ li $at, 65535
/* 0640C8 800BBE78 00037040 */ sll $t6, $v1, 1
/* 0640CC 800BBE7C 008E7821 */ addu $t7, $a0, $t6
/* 0640D0 800BBE80 95E50100 */ lhu $a1, 0x100($t7)
/* 0640D4 800BBE84 54A10004 */ bnel $a1, $at, .L800BBE98_ovl1
/* 0640D8 800BBE88 30B9007F */ andi $t9, $a1, 0x7f
/* 0640DC 800BBE8C 03E00008 */ jr $ra
/* 0640E0 800BBE90 ACD80000 */ sw $t8, ($a2)
glabel func_800BBE94
/* 0640E4 800BBE94 30B9007F */ andi $t9, $a1, 0x7f
.L800BBE98_ovl1:
/* 0640E8 800BBE98 ACF90000 */ sw $t9, ($a3)
.L800BBE9C_ovl1:
/* 0640EC 800BBE9C 3C0A800F */ lui $t2, %hi(D_800ED4E0) # $t2, 0x800f
/* 0640F0 800BBEA0 8D4AD4E0 */ lw $t2, %lo(D_800ED4E0)($t2)
/* 0640F4 800BBEA4 00035840 */ sll $t3, $v1, 1
/* 0640F8 800BBEA8 00003025 */ move $a2, $zero
/* 0640FC 800BBEAC 014B2021 */ addu $a0, $t2, $t3
/* 064100 800BBEB0 94850100 */ lhu $a1, 0x100($a0)
/* 064104 800BBEB4 00003825 */ move $a3, $zero
/* 064108 800BBEB8 00004025 */ move $t0, $zero
/* 06410C 800BBEBC 30AC8000 */ andi $t4, $a1, 0x8000
/* 064110 800BBEC0 11800002 */ beqz $t4, .L800BBECC_ovl1
/* 064114 800BBEC4 30AD4000 */ andi $t5, $a1, 0x4000
/* 064118 800BBEC8 94880102 */ lhu $t0, 0x102($a0)
.L800BBECC_ovl1:
/* 06411C 800BBECC 11A00002 */ beqz $t5, .L800BBED8_ovl1
/* 064120 800BBED0 30AE2000 */ andi $t6, $a1, 0x2000
/* 064124 800BBED4 94870102 */ lhu $a3, 0x102($a0)
.L800BBED8_ovl1:
/* 064128 800BBED8 11C00002 */ beqz $t6, .L800BBEE4_ovl1
/* 06412C 800BBEDC 30AF1000 */ andi $t7, $a1, 0x1000
/* 064130 800BBEE0 94860102 */ lhu $a2, 0x102($a0)
.L800BBEE4_ovl1:
/* 064134 800BBEE4 11E00002 */ beqz $t7, .L800BBEF0_ovl1
/* 064138 800BBEE8 30B80800 */ andi $t8, $a1, 0x800
/* 06413C 800BBEEC 94880104 */ lhu $t0, 0x104($a0)
.L800BBEF0_ovl1:
/* 064140 800BBEF0 13000002 */ beqz $t8, .L800BBEFC_ovl1
/* 064144 800BBEF4 30B90400 */ andi $t9, $a1, 0x400
/* 064148 800BBEF8 94870104 */ lhu $a3, 0x104($a0)
.L800BBEFC_ovl1:
/* 06414C 800BBEFC 13200002 */ beqz $t9, .L800BBF08_ovl1
/* 064150 800BBF00 30AA0200 */ andi $t2, $a1, 0x200
/* 064154 800BBF04 94860104 */ lhu $a2, 0x104($a0)
.L800BBF08_ovl1:
/* 064158 800BBF08 11400002 */ beqz $t2, .L800BBF14_ovl1
/* 06415C 800BBF0C 30AB0100 */ andi $t3, $a1, 0x100
/* 064160 800BBF10 94880106 */ lhu $t0, 0x106($a0)
.L800BBF14_ovl1:
/* 064164 800BBF14 11600002 */ beqz $t3, .L800BBF20_ovl1
/* 064168 800BBF18 30AC0080 */ andi $t4, $a1, 0x80
/* 06416C 800BBF1C 94870106 */ lhu $a3, 0x106($a0)
.L800BBF20_ovl1:
/* 064170 800BBF20 11800002 */ beqz $t4, .L800BBF2C_ovl1
/* 064174 800BBF24 01001025 */ move $v0, $t0
/* 064178 800BBF28 94860106 */ lhu $a2, 0x106($a0)
.L800BBF2C_ovl1:
/* 06417C 800BBF2C 310D0080 */ andi $t5, $t0, 0x80
/* 064180 800BBF30 A5280000 */ sh $t0, ($t1)
/* 064184 800BBF34 A5270002 */ sh $a3, 2($t1)
/* 064188 800BBF38 11A00003 */ beqz $t5, .L800BBF48_ovl1
/* 06418C 800BBF3C A5260004 */ sh $a2, 4($t1)
/* 064190 800BBF40 240E0040 */ li $t6, 64
/* 064194 800BBF44 A12E0009 */ sb $t6, 9($t1)
.L800BBF48_ovl1:
/* 064198 800BBF48 304F0040 */ andi $t7, $v0, 0x40
/* 06419C 800BBF4C 11E00002 */ beqz $t7, .L800BBF58_ovl1
/* 0641A0 800BBF50 2418FFC0 */ li $t8, -64
/* 0641A4 800BBF54 A1380009 */ sb $t8, 9($t1)
.L800BBF58_ovl1:
/* 0641A8 800BBF58 03E00008 */ jr $ra
/* 0641AC 800BBF5C 00000000 */ nop
glabel func_800BBF60
/* 0641B0 800BBF60 3C0E800D */ lui $t6, %hi(D_800D6F3C) # $t6, 0x800d
/* 0641B4 800BBF64 8DCE6F3C */ lw $t6, %lo(D_800D6F3C)($t6)
/* 0641B8 800BBF68 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0641BC 800BBF6C AFBF0014 */ sw $ra, 0x14($sp)
/* 0641C0 800BBF70 2DC10007 */ sltiu $at, $t6, 7
/* 0641C4 800BBF74 10200010 */ beqz $at, .L800BBFB8_ovl1
/* 0641C8 800BBF78 000E7080 */ sll $t6, $t6, 2
/* 0641CC 800BBF7C 3C01800D */ lui $at, 0x800d
/* 0641D0 800BBF80 002E0821 */ addu $at, $at, $t6
/* 0641D4 800BBF84 8C2E699C */ lw $t6, 0x699c($at)
/* 0641D8 800BBF88 01C00008 */ jr $t6
/* 0641DC 800BBF8C 00000000 */ nop
/* 0641E0 800BBF90 0C02EF71 */ jal func_800BBDC4_ovl1
/* 0641E4 800BBF94 00000000 */ nop
/* 0641E8 800BBF98 10000008 */ b .L800BBFBC_ovl1
/* 0641EC 800BBF9C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0641F0 800BBFA0 0C02EF71 */ jal func_800BBDC4_ovl1
/* 0641F4 800BBFA4 00000000 */ nop
/* 0641F8 800BBFA8 10000004 */ b .L800BBFBC_ovl1
/* 0641FC 800BBFAC 8FBF0014 */ lw $ra, 0x14($sp)
/* 064200 800BBFB0 0C02EF71 */ jal func_800BBDC4_ovl1
/* 064204 800BBFB4 00000000 */ nop
.L800BBFB8_ovl1:
/* 064208 800BBFB8 8FBF0014 */ lw $ra, 0x14($sp)
.L800BBFBC_ovl1:
/* 06420C 800BBFBC 27BD0018 */ addiu $sp, $sp, 0x18
/* 064210 800BBFC0 03E00008 */ jr $ra
/* 064214 800BBFC4 00000000 */ nop
/* 064218 800BBFC8 00000000 */ nop
/* 06421C 800BBFCC 00000000 */ nop
/* 064220 800BBFD0 00000000 */ nop
/* 064224 800BBFD4 00000000 */ nop
/* 064228 800BBFD8 00000000 */ nop
/* 06422C 800BBFDC 00000000 */ nop
.set noat
.set noreorder
.set gp=64
.include "macros.inc"
.section .text, "ax"
glabel func_800BBBA0
/* 063DF0 800BBBA0 3C03800D */ lui $v1, %hi(D_800D6F3C) # $v1, 0x800d
/* 063DF4 800BBBA4 24636F3C */ addiu $v1, %lo(D_800D6F3C) # addiu $v1, $v1, 0x6f3c
/* 063DF8 800BBBA8 8C620000 */ lw $v0, ($v1)
/* 063DFC 800BBBAC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 063E00 800BBBB0 AFBF0014 */ sw $ra, 0x14($sp)
/* 063E04 800BBBB4 04400003 */ bltz $v0, .L800BBBC4_ovl1
/* 063E08 800BBBB8 28410007 */ slti $at, $v0, 7
/* 063E0C 800BBBBC 54200004 */ bnezl $at, .L800BBBD0_ovl1
/* 063E10 800BBBC0 2C410007 */ sltiu $at, $v0, 7
.L800BBBC4_ovl1:
/* 063E14 800BBBC4 AC600000 */ sw $zero, ($v1)
/* 063E18 800BBBC8 00001025 */ move $v0, $zero
/* 063E1C 800BBBCC 2C410007 */ sltiu $at, $v0, 7
.L800BBBD0_ovl1:
/* 063E20 800BBBD0 10200022 */ beqz $at, .L800BBC5C_ovl1
/* 063E24 800BBBD4 00027080 */ sll $t6, $v0, 2
/* 063E28 800BBBD8 3C01800D */ lui $at, %hi(D_800D6980)
/* 063E2C 800BBBDC 002E0821 */ addu $at, $at, $t6
/* 063E30 800BBBE0 8C2E6980 */ lw $t6, %lo(D_800D6980)($at)
/* 063E34 800BBBE4 01C00008 */ jr $t6
/* 063E38 800BBBE8 00000000 */ nop
/* 063E3C 800BBBEC 3C01800F */ lui $at, %hi(D_800ED4EC) # $at, 0x800f
/* 063E40 800BBBF0 1000001A */ b .L800BBC5C_ovl1
/* 063E44 800BBBF4 AC20D4EC */ sw $zero, %lo(D_800ED4EC)($at)
/* 063E48 800BBBF8 3C0F8023 */ lui $t7, %hi(D_8022B7C0) # $t7, 0x8023
/* 063E4C 800BBBFC 25EFB7C0 */ addiu $t7, %lo(D_8022B7C0) # addiu $t7, $t7, -0x4840
/* 063E50 800BBC00 3C01800F */ lui $at, %hi(D_800ED4E0) # $at, 0x800f
/* 063E54 800BBC04 0C02EF1B */ jal func_800BBC6C_ovl1
/* 063E58 800BBC08 AC2FD4E0 */ sw $t7, %lo(D_800ED4E0)($at)
/* 063E5C 800BBC0C 0C02ED10 */ jal func_800BB440_ovl1
/* 063E60 800BBC10 00000000 */ nop
/* 063E64 800BBC14 10000012 */ b .L800BBC60_ovl1
/* 063E68 800BBC18 8FBF0014 */ lw $ra, 0x14($sp)
/* 063E6C 800BBC1C 3C188023 */ lui $t8, %hi(D_8022AED8) # $t8, 0x8023
/* 063E70 800BBC20 2718AED8 */ addiu $t8, %lo(D_8022AED8) # addiu $t8, $t8, -0x5128
/* 063E74 800BBC24 3C01800F */ lui $at, %hi(D_800ED4E0) # $at, 0x800f
/* 063E78 800BBC28 0C02EF1B */ jal func_800BBC6C_ovl1
/* 063E7C 800BBC2C AC38D4E0 */ sw $t8, %lo(D_800ED4E0)($at)
/* 063E80 800BBC30 0C02ED10 */ jal func_800BB440_ovl1
/* 063E84 800BBC34 00000000 */ nop
/* 063E88 800BBC38 10000009 */ b .L800BBC60_ovl1
/* 063E8C 800BBC3C 8FBF0014 */ lw $ra, 0x14($sp)
/* 063E90 800BBC40 3C198023 */ lui $t9, %hi(D_8022B428) # $t9, 0x8023
/* 063E94 800BBC44 2739B428 */ addiu $t9, %lo(D_8022B428) # addiu $t9, $t9, -0x4bd8
/* 063E98 800BBC48 3C01800F */ lui $at, %hi(D_800ED4E0) # $at, 0x800f
/* 063E9C 800BBC4C 0C02EF1B */ jal func_800BBC6C_ovl1
/* 063EA0 800BBC50 AC39D4E0 */ sw $t9, %lo(D_800ED4E0)($at)
/* 063EA4 800BBC54 0C02ED10 */ jal func_800BB440_ovl1
/* 063EA8 800BBC58 00000000 */ nop
.L800BBC5C_ovl1:
/* 063EAC 800BBC5C 8FBF0014 */ lw $ra, 0x14($sp)
.L800BBC60_ovl1:
/* 063EB0 800BBC60 27BD0018 */ addiu $sp, $sp, 0x18
/* 063EB4 800BBC64 03E00008 */ jr $ra
/* 063EB8 800BBC68 00000000 */ nop
glabel func_800BBC6C
/* 063EBC 800BBC6C 3C01800F */ lui $at, %hi(D_800ED4EC) # $at, 0x800f
/* 063EC0 800BBC70 AC20D4EC */ sw $zero, %lo(D_800ED4EC)($at)
/* 063EC4 800BBC74 3C0E800F */ lui $t6, %hi(D_800ED4E0) # $t6, 0x800f
/* 063EC8 800BBC78 8DCED4E0 */ lw $t6, %lo(D_800ED4E0)($t6)
/* 063ECC 800BBC7C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 063ED0 800BBC80 3C01800F */ lui $at, %hi(D_800ED4F4) # $at, 0x800f
/* 063ED4 800BBC84 AFBF0014 */ sw $ra, 0x14($sp)
/* 063ED8 800BBC88 AC20D4F4 */ sw $zero, %lo(D_800ED4F4)($at)
/* 063EDC 800BBC8C 0C0062A5 */ jal func_80018A94_ovl1
/* 063EE0 800BBC90 8DC40000 */ lw $a0, ($t6)
/* 063EE4 800BBC94 3C05800F */ lui $a1, %hi(D_800ED4E0) # $a1, 0x800f
/* 063EE8 800BBC98 8CA5D4E0 */ lw $a1, %lo(D_800ED4E0)($a1)
/* 063EEC 800BBC9C 3C01800C */ lui $at, %hi(D_800BE4EC) # $at, 0x800c
/* 063EF0 800BBCA0 3C02800C */ lui $v0, %hi(D_800BE52C) # $v0, 0x800c
/* 063EF4 800BBCA4 8CAF0004 */ lw $t7, 4($a1)
/* 063EF8 800BBCA8 2442E52C */ addiu $v0, %lo(D_800BE52C) # addiu $v0, $v0, -0x1ad4
/* 063EFC 800BBCAC 3C03800C */ lui $v1, %hi(D_800BE530) # $v1, 0x800c
/* 063F00 800BBCB0 AC2FE4EC */ sw $t7, %lo(D_800BE4EC)($at)
/* 063F04 800BBCB4 8CB80008 */ lw $t8, 8($a1)
/* 063F08 800BBCB8 3C01800C */ lui $at, %hi(D_800BE500) # $at, 0x800c
/* 063F0C 800BBCBC 2463E530 */ addiu $v1, %lo(D_800BE530) # addiu $v1, $v1, -0x1ad0
/* 063F10 800BBCC0 AC580000 */ sw $t8, ($v0)
/* 063F14 800BBCC4 AC38E500 */ sw $t8, %lo(D_800BE500)($at)
/* 063F18 800BBCC8 8CA8000C */ lw $t0, 0xc($a1)
/* 063F1C 800BBCCC 3C01800C */ lui $at, %hi(D_800BE504) # $at, 0x800c
/* 063F20 800BBCD0 3C06800C */ lui $a2, %hi(D_800BE534) # $a2, 0x800c
/* 063F24 800BBCD4 AC680000 */ sw $t0, ($v1)
/* 063F28 800BBCD8 AC28E504 */ sw $t0, %lo(D_800BE504)($at)
/* 063F2C 800BBCDC 8CAA0010 */ lw $t2, 0x10($a1)
/* 063F30 800BBCE0 24C6E534 */ addiu $a2, %lo(D_800BE534) # addiu $a2, $a2, -0x1acc
/* 063F34 800BBCE4 3C01800C */ lui $at, %hi(D_800BE508) # $at, 0x800c
/* 063F38 800BBCE8 ACCA0000 */ sw $t2, ($a2)
/* 063F3C 800BBCEC AC2AE508 */ sw $t2, %lo(D_800BE508)($at)
/* 063F40 800BBCF0 8CAC0014 */ lw $t4, 0x14($a1)
/* 063F44 800BBCF4 3C07800C */ lui $a3, %hi(D_800BE538) # $a3, 0x800c
/* 063F48 800BBCF8 24E7E538 */ addiu $a3, %lo(D_800BE538) # addiu $a3, $a3, -0x1ac8
/* 063F4C 800BBCFC 3C01800C */ lui $at, %hi(D_800BE50C) # $at, 0x800c
/* 063F50 800BBD00 ACEC0000 */ sw $t4, ($a3)
/* 063F54 800BBD04 AC2CE50C */ sw $t4, %lo(D_800BE50C)($at)
/* 063F58 800BBD08 8CAE001C */ lw $t6, 0x1c($a1)
/* 063F5C 800BBD0C 3C01800C */ lui $at, %hi(D_800BE4FC) # $at, 0x800c
/* 063F60 800BBD10 AC2EE4FC */ sw $t6, %lo(D_800BE4FC)($at)
/* 063F64 800BBD14 8CAF0020 */ lw $t7, 0x20($a1)
/* 063F68 800BBD18 3C01800D */ lui $at, %hi(D_800D6E4C) # $at, 0x800d
/* 063F6C 800BBD1C AC2F6E4C */ sw $t7, %lo(D_800D6E4C)($at)
/* 063F70 800BBD20 C4A40024 */ lwc1 $f4, 0x24($a1)
/* 063F74 800BBD24 3C01800D */ lui $at, %hi(D_800D6E50) # $at, 0x800d
/* 063F78 800BBD28 E4246E50 */ swc1 $f4, %lo(D_800D6E50)($at)
/* 063F7C 800BBD2C 8CB80028 */ lw $t8, 0x28($a1)
/* 063F80 800BBD30 3C01800D */ lui $at, %hi(D_800D6E54) # $at, 0x800d
/* 063F84 800BBD34 AC386E54 */ sw $t8, %lo(D_800D6E54)($at)
/* 063F88 800BBD38 8CB9002C */ lw $t9, 0x2c($a1)
/* 063F8C 800BBD3C 3C01800D */ lui $at, %hi(D_800D6E60) # $at, 0x800d
/* 063F90 800BBD40 AC396E60 */ sw $t9, %lo(D_800D6E60)($at)
/* 063F94 800BBD44 8CA80030 */ lw $t0, 0x30($a1)
/* 063F98 800BBD48 3C01800D */ lui $at, %hi(D_800D6E64) # $at, 0x800d
/* 063F9C 800BBD4C AC286E64 */ sw $t0, %lo(D_800D6E64)($at)
/* 063FA0 800BBD50 8CA90034 */ lw $t1, 0x34($a1)
/* 063FA4 800BBD54 3C01800D */ lui $at, %hi(D_800D6BB0) # $at, 0x800d
/* 063FA8 800BBD58 AC296BB0 */ sw $t1, %lo(D_800D6BB0)($at)
/* 063FAC 800BBD5C 0C006266 */ jal func_80018998_ovl1
/* 063FB0 800BBD60 8CA40038 */ lw $a0, 0x38($a1)
/* 063FB4 800BBD64 3C05800F */ lui $a1, %hi(D_800ED4E0) # $a1, 0x800f
/* 063FB8 800BBD68 8CA5D4E0 */ lw $a1, %lo(D_800ED4E0)($a1)
/* 063FBC 800BBD6C 3C02800D */ lui $v0, %hi(D_800D6E20) # $v0, 0x800d
/* 063FC0 800BBD70 3C04800D */ lui $a0, %hi(D_800D6E30) # $a0, 0x800d
/* 063FC4 800BBD74 24846E30 */ addiu $a0, %lo(D_800D6E30) # addiu $a0, $a0, 0x6e30
/* 063FC8 800BBD78 24426E20 */ addiu $v0, %lo(D_800D6E20) # addiu $v0, $v0, 0x6e20
/* 063FCC 800BBD7C 00A01825 */ move $v1, $a1
.L800BBD80_ovl1:
/* 063FD0 800BBD80 906A0040 */ lbu $t2, 0x40($v1)
/* 063FD4 800BBD84 24420004 */ addiu $v0, $v0, 4
/* 063FD8 800BBD88 24630004 */ addiu $v1, $v1, 4
/* 063FDC 800BBD8C A04AFFFC */ sb $t2, -4($v0)
/* 063FE0 800BBD90 906B003D */ lbu $t3, 0x3d($v1)
/* 063FE4 800BBD94 A04BFFFD */ sb $t3, -3($v0)
/* 063FE8 800BBD98 906C003E */ lbu $t4, 0x3e($v1)
/* 063FEC 800BBD9C A04CFFFE */ sb $t4, -2($v0)
/* 063FF0 800BBDA0 906D003F */ lbu $t5, 0x3f($v1)
/* 063FF4 800BBDA4 1444FFF6 */ bne $v0, $a0, .L800BBD80_ovl1
/* 063FF8 800BBDA8 A04DFFFF */ sb $t5, -1($v0)
/* 063FFC 800BBDAC 8FBF0014 */ lw $ra, 0x14($sp)
/* 064000 800BBDB0 8CAE003C */ lw $t6, 0x3c($a1)
/* 064004 800BBDB4 3C01800D */ lui $at, %hi(D_800D6F38)
/* 064008 800BBDB8 27BD0018 */ addiu $sp, $sp, 0x18
/* 06400C 800BBDBC 03E00008 */ jr $ra
/* 064010 800BBDC0 AC2E6F38 */ sw $t6, %lo(D_800D6F38)($at)
glabel func_800BBDC4
/* 064014 800BBDC4 3C06800F */ lui $a2, %hi(D_800ED4EC) # $a2, 0x800f
/* 064018 800BBDC8 24C6D4EC */ addiu $a2, %lo(D_800ED4EC) # addiu $a2, $a2, -0x2b14
/* 06401C 800BBDCC 8CC30000 */ lw $v1, ($a2)
/* 064020 800BBDD0 3C098005 */ lui $t1, %hi(D_80048F20) # $t1, 0x8005
/* 064024 800BBDD4 25298F20 */ addiu $t1, %lo(D_80048F20) # addiu $t1, $t1, -0x70e0
/* 064028 800BBDD8 A5200004 */ sh $zero, 4($t1)
/* 06402C 800BBDDC A5200002 */ sh $zero, 2($t1)
/* 064030 800BBDE0 04610007 */ bgez $v1, .L800BBE00_ovl1
/* 064034 800BBDE4 A5200000 */ sh $zero, ($t1)
/* 064038 800BBDE8 240E0002 */ li $t6, 2
/* 06403C 800BBDEC 3C01800C */ lui $at, %hi(D_800BE4F8) # $at, 0x800c
/* 064040 800BBDF0 AC2EE4F8 */ sw $t6, %lo(D_800BE4F8)($at)
/* 064044 800BBDF4 3C01800D */ lui $at, %hi(D_800D6F38)
/* 064048 800BBDF8 03E00008 */ jr $ra
/* 06404C 800BBDFC AC206F38 */ sw $zero, %lo(D_800D6F38)($at)
.L800BBE00_ovl1:
/* 064050 800BBE00 3C07800F */ lui $a3, %hi(D_800ED4F4) # $a3, 0x800f
/* 064054 800BBE04 24E7D4F4 */ addiu $a3, %lo(D_800ED4F4) # addiu $a3, $a3, -0x2b0c
/* 064058 800BBE08 8CEF0000 */ lw $t7, ($a3)
/* 06405C 800BBE0C 3C04800F */ lui $a0, %hi(D_800ED4E0) # $a0, 0x800f
/* 064060 800BBE10 25F8FFFF */ addiu $t8, $t7, -1
/* 064064 800BBE14 1F000021 */ bgtz $t8, .L800BBE9C_ovl1
/* 064068 800BBE18 ACF80000 */ sw $t8, ($a3)
/* 06406C 800BBE1C 8C84D4E0 */ lw $a0, %lo(D_800ED4E0)($a0)
/* 064070 800BBE20 00035040 */ sll $t2, $v1, 1
/* 064074 800BBE24 246C0001 */ addiu $t4, $v1, 1
/* 064078 800BBE28 008A5821 */ addu $t3, $a0, $t2
/* 06407C 800BBE2C 95650100 */ lhu $a1, 0x100($t3)
/* 064080 800BBE30 ACCC0000 */ sw $t4, ($a2)
/* 064084 800BBE34 258F0001 */ addiu $t7, $t4, 1
/* 064088 800BBE38 30ADE000 */ andi $t5, $a1, 0xe000
/* 06408C 800BBE3C 11A00002 */ beqz $t5, .L800BBE48_ovl1
/* 064090 800BBE40 30B81C00 */ andi $t8, $a1, 0x1c00
/* 064094 800BBE44 ACCF0000 */ sw $t7, ($a2)
.L800BBE48_ovl1:
/* 064098 800BBE48 13000004 */ beqz $t8, .L800BBE5C_ovl1
/* 06409C 800BBE4C 30AB0380 */ andi $t3, $a1, 0x380
/* 0640A0 800BBE50 8CD90000 */ lw $t9, ($a2)
/* 0640A4 800BBE54 272A0001 */ addiu $t2, $t9, 1
/* 0640A8 800BBE58 ACCA0000 */ sw $t2, ($a2)
.L800BBE5C_ovl1:
/* 0640AC 800BBE5C 11600004 */ beqz $t3, .L800BBE70_ovl1
/* 0640B0 800BBE60 2418FFFF */ li $t8, -1
/* 0640B4 800BBE64 8CCC0000 */ lw $t4, ($a2)
/* 0640B8 800BBE68 258D0001 */ addiu $t5, $t4, 1
/* 0640BC 800BBE6C ACCD0000 */ sw $t5, ($a2)
.L800BBE70_ovl1:
/* 0640C0 800BBE70 8CC30000 */ lw $v1, ($a2)
/* 0640C4 800BBE74 3401FFFF */ li $at, 65535
/* 0640C8 800BBE78 00037040 */ sll $t6, $v1, 1
/* 0640CC 800BBE7C 008E7821 */ addu $t7, $a0, $t6
/* 0640D0 800BBE80 95E50100 */ lhu $a1, 0x100($t7)
/* 0640D4 800BBE84 54A10004 */ bnel $a1, $at, .L800BBE98_ovl1
/* 0640D8 800BBE88 30B9007F */ andi $t9, $a1, 0x7f
/* 0640DC 800BBE8C 03E00008 */ jr $ra
/* 0640E0 800BBE90 ACD80000 */ sw $t8, ($a2)
/* 0640E4 800BBE94 30B9007F */ andi $t9, $a1, 0x7f
.L800BBE98_ovl1:
/* 0640E8 800BBE98 ACF90000 */ sw $t9, ($a3)
.L800BBE9C_ovl1:
/* 0640EC 800BBE9C 3C0A800F */ lui $t2, %hi(D_800ED4E0) # $t2, 0x800f
/* 0640F0 800BBEA0 8D4AD4E0 */ lw $t2, %lo(D_800ED4E0)($t2)
/* 0640F4 800BBEA4 00035840 */ sll $t3, $v1, 1
/* 0640F8 800BBEA8 00003025 */ move $a2, $zero
/* 0640FC 800BBEAC 014B2021 */ addu $a0, $t2, $t3
/* 064100 800BBEB0 94850100 */ lhu $a1, 0x100($a0)
/* 064104 800BBEB4 00003825 */ move $a3, $zero
/* 064108 800BBEB8 00004025 */ move $t0, $zero
/* 06410C 800BBEBC 30AC8000 */ andi $t4, $a1, 0x8000
/* 064110 800BBEC0 11800002 */ beqz $t4, .L800BBECC_ovl1
/* 064114 800BBEC4 30AD4000 */ andi $t5, $a1, 0x4000
/* 064118 800BBEC8 94880102 */ lhu $t0, 0x102($a0)
.L800BBECC_ovl1:
/* 06411C 800BBECC 11A00002 */ beqz $t5, .L800BBED8_ovl1
/* 064120 800BBED0 30AE2000 */ andi $t6, $a1, 0x2000
/* 064124 800BBED4 94870102 */ lhu $a3, 0x102($a0)
.L800BBED8_ovl1:
/* 064128 800BBED8 11C00002 */ beqz $t6, .L800BBEE4_ovl1
/* 06412C 800BBEDC 30AF1000 */ andi $t7, $a1, 0x1000
/* 064130 800BBEE0 94860102 */ lhu $a2, 0x102($a0)
.L800BBEE4_ovl1:
/* 064134 800BBEE4 11E00002 */ beqz $t7, .L800BBEF0_ovl1
/* 064138 800BBEE8 30B80800 */ andi $t8, $a1, 0x800
/* 06413C 800BBEEC 94880104 */ lhu $t0, 0x104($a0)
.L800BBEF0_ovl1:
/* 064140 800BBEF0 13000002 */ beqz $t8, .L800BBEFC_ovl1
/* 064144 800BBEF4 30B90400 */ andi $t9, $a1, 0x400
/* 064148 800BBEF8 94870104 */ lhu $a3, 0x104($a0)
.L800BBEFC_ovl1:
/* 06414C 800BBEFC 13200002 */ beqz $t9, .L800BBF08_ovl1
/* 064150 800BBF00 30AA0200 */ andi $t2, $a1, 0x200
/* 064154 800BBF04 94860104 */ lhu $a2, 0x104($a0)
.L800BBF08_ovl1:
/* 064158 800BBF08 11400002 */ beqz $t2, .L800BBF14_ovl1
/* 06415C 800BBF0C 30AB0100 */ andi $t3, $a1, 0x100
/* 064160 800BBF10 94880106 */ lhu $t0, 0x106($a0)
.L800BBF14_ovl1:
/* 064164 800BBF14 11600002 */ beqz $t3, .L800BBF20_ovl1
/* 064168 800BBF18 30AC0080 */ andi $t4, $a1, 0x80
/* 06416C 800BBF1C 94870106 */ lhu $a3, 0x106($a0)
.L800BBF20_ovl1:
/* 064170 800BBF20 11800002 */ beqz $t4, .L800BBF2C_ovl1
/* 064174 800BBF24 01001025 */ move $v0, $t0
/* 064178 800BBF28 94860106 */ lhu $a2, 0x106($a0)
.L800BBF2C_ovl1:
/* 06417C 800BBF2C 310D0080 */ andi $t5, $t0, 0x80
/* 064180 800BBF30 A5280000 */ sh $t0, ($t1)
/* 064184 800BBF34 A5270002 */ sh $a3, 2($t1)
/* 064188 800BBF38 11A00003 */ beqz $t5, .L800BBF48_ovl1
/* 06418C 800BBF3C A5260004 */ sh $a2, 4($t1)
/* 064190 800BBF40 240E0040 */ li $t6, 64
/* 064194 800BBF44 A12E0009 */ sb $t6, 9($t1)
.L800BBF48_ovl1:
/* 064198 800BBF48 304F0040 */ andi $t7, $v0, 0x40
/* 06419C 800BBF4C 11E00002 */ beqz $t7, .L800BBF58_ovl1
/* 0641A0 800BBF50 2418FFC0 */ li $t8, -64
/* 0641A4 800BBF54 A1380009 */ sb $t8, 9($t1)
.L800BBF58_ovl1:
/* 0641A8 800BBF58 03E00008 */ jr $ra
/* 0641AC 800BBF5C 00000000 */ nop
glabel func_800BBF60
/* 0641B0 800BBF60 3C0E800D */ lui $t6, %hi(D_800D6F3C) # $t6, 0x800d
/* 0641B4 800BBF64 8DCE6F3C */ lw $t6, %lo(D_800D6F3C)($t6)
/* 0641B8 800BBF68 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0641BC 800BBF6C AFBF0014 */ sw $ra, 0x14($sp)
/* 0641C0 800BBF70 2DC10007 */ sltiu $at, $t6, 7
/* 0641C4 800BBF74 10200010 */ beqz $at, .L800BBFB8_ovl1
/* 0641C8 800BBF78 000E7080 */ sll $t6, $t6, 2
/* 0641CC 800BBF7C 3C01800D */ lui $at, %hi(D_800D699C)
/* 0641D0 800BBF80 002E0821 */ addu $at, $at, $t6
/* 0641D4 800BBF84 8C2E699C */ lw $t6, %lo(D_800D699C)($at)
/* 0641D8 800BBF88 01C00008 */ jr $t6
/* 0641DC 800BBF8C 00000000 */ nop
/* 0641E0 800BBF90 0C02EF71 */ jal func_800BBDC4_ovl1
/* 0641E4 800BBF94 00000000 */ nop
/* 0641E8 800BBF98 10000008 */ b .L800BBFBC_ovl1
/* 0641EC 800BBF9C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0641F0 800BBFA0 0C02EF71 */ jal func_800BBDC4_ovl1
/* 0641F4 800BBFA4 00000000 */ nop
/* 0641F8 800BBFA8 10000004 */ b .L800BBFBC_ovl1
/* 0641FC 800BBFAC 8FBF0014 */ lw $ra, 0x14($sp)
/* 064200 800BBFB0 0C02EF71 */ jal func_800BBDC4_ovl1
/* 064204 800BBFB4 00000000 */ nop
.L800BBFB8_ovl1:
/* 064208 800BBFB8 8FBF0014 */ lw $ra, 0x14($sp)
.L800BBFBC_ovl1:
/* 06420C 800BBFBC 27BD0018 */ addiu $sp, $sp, 0x18
/* 064210 800BBFC0 03E00008 */ jr $ra
/* 064214 800BBFC4 00000000 */ nop
/* 064218 800BBFC8 00000000 */ nop
/* 06421C 800BBFCC 00000000 */ nop
/* 064220 800BBFD0 00000000 */ nop
/* 064224 800BBFD4 00000000 */ nop
/* 064228 800BBFD8 00000000 */ nop
/* 06422C 800BBFDC 00000000 */ nop

View File

@ -33,21 +33,17 @@ u32 D_800D00FC = 0x00000127;
u32 D_800D0100 = 0x000000D3;
u32 D_800D0104 = 0x800D8FD0;
u32 D_800D0104[] = {
0x800D8FD0,
0x800D9040,
0x800D9E70,
0x800DA298,
0x800DB2C0,
0x800DBDC8,
0x800DC2B0,
0x800DC538,
}
u32 D_800D0108 = 0x800D9040;
u32 D_800D010C = 0x800D9E70;
u32 D_800D0110 = 0x800DA298;
u32 D_800D0114 = 0x800DB2C0;
u32 D_800D0118 = 0x800DBDC8;
u32 D_800D011C = 0x800DC2B0;
u32 D_800D0120 = 0x800DC538;
u32 D_800D0124 = 0x0000001C;
@ -97,21 +93,16 @@ u32 D_800D017C = 0x00000115;
u32 D_800D0180 = 0x000000F0;
u32 D_800D0184 = 0x800C47D4;
u32 D_800D0188 = 0x800C7824;
u32 D_800D018C = 0x800C9090;
u32 D_800D0190 = 0x800CAED0;
u32 D_800D0194 = 0x800CC794;
u32 D_800D0198 = 0x800CCCB4;
u32 D_800D019C = 0x800CE220;
u32 D_800D01A0 = 0x800D00A4;
u32 D_800D0184[8] = {
D_800C47D4,
D_800C7824,
D_800C9090,
D_800CAED0,
D_800CC794,
D_800CCCB4,
D_800CE220,
D_800D00A4,
}
extern char D_800D5E00[];
struct StageArea D_800D01A4[0xD5] = {

View File

@ -1,13 +1,40 @@
#ifndef D_H
#define D_H
#include "types.h"
typedef union {
u32 asU32;
u16 asU16[2];
} hiLo; // TODO: confirm that this is actually what unk0 is
struct UnkStruct8004A7C4_3C {
u32 unk0;
u32 unk4;
u32 unk8;
u32 unkC;
u32 unk10;
u32 unk14;
u32 unk18;
Vector unk1C;
u32 unk28;
u32 unk2C;
Vector unk30;
u32 unk3C;
Vector unk40;
u32 unk4C;
};
struct UnkStruct8004A7C4 {
u32 unk0;
u8 filler[0x38];
struct UnkStruct8004A7C4_3C *unk3C;
};
extern struct UnkStruct8004A7C4 *D_8004A7C4;
#endif

View File

@ -3,15 +3,16 @@
#include <ultra64.h>
// technically everything in this struct is a void *, but it's so much easier this way
struct BankHeader {
void *geoBlockAddr;
void *geoROMOffset;
void *imageBlockAddr;
void *imageROMOffset;
void *animBlockAddr;
void *animROMOffset;
void *miscBlockAddr;
void *miscROMOffset;
/* 0x0 */ u32 *geoBlockTable;
/* 0x4 */ u32 *geoROMOffset;
/* 0x8 */ u32 *imageBlockTable;
/* 0xC */ u32 *imageROMOffset;
/* 0x10 */ u32 *animBlockTable;
/* 0x14 */ u32 *animROMOffset;
/* 0x18 */ u32 *miscBlockTable;
/* 0x1C */ u32 *miscROMOffset;
};

View File

@ -133,7 +133,7 @@ void thread5_main(void *arg0) {
D_80048138[0] = STACK_TOP_MAGIC; osStartThread(&D_80047F50);
osRecvMesg(&D_80048A08, 0, 1);
func_800076D0();
load_overlay(&mainSegOverlay);
dma_overlay_load(&mainSegOverlay);
func_800A377C(0);
}

View File

@ -58,7 +58,7 @@ GLOBAL_ASM("asm/non_matchings/ovl0_1/func_80002BD0.s")
extern OSPiHandle *D_80048CF0;
#include "main.h"
void load_overlay(Overlay *ovl) {
void dma_overlay_load(Overlay *ovl) {
if ((s32) ovl->textEnd - (s32) ovl->textStart != 0) {
osInvalICache((s32) ovl->textStart, (s32) ovl->textEnd - (s32) ovl->textStart);
osInvalDCache((s32) ovl->textStart, (s32) ovl->textEnd - (s32) ovl->textStart);
@ -75,8 +75,8 @@ void load_overlay(Overlay *ovl) {
}
}
void func_80002E48(void *arg0, void *arg1, u32 arg2) {
dma_copy(D_80048CF0, arg0, arg1, arg2, 0);
void func_80002E48(void *physAddr, void *vAddr, u32 size) {
dma_copy(D_80048CF0, physAddr, vAddr, size, 0);
}
void func_80002E84(void *arg0, void *arg1, u32 arg2) {

View File

@ -3,6 +3,8 @@
#include "D_8004A7C4.h"
#include "types.h"
void load_overlay(u32 ovl);
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
void func_800A28C0(void *arg0) {
@ -257,7 +259,7 @@ void *func_800A3058(void) {
temp_v0 = D_80000300;
if (temp_v0 != 1) {
if (temp_v0 != 2) {
func_800A6B20_ovl1(2);
load_overlay(2);
func_80151CEC_ovl1(5);
}
}
@ -272,7 +274,7 @@ loop_4:
if (temp_v0_2 != &D_80048EA0) {
goto loop_4;
}
func_800A6B20_ovl1(2);
load_overlay(2);
phi_return = func_80151CEC_ovl1(4);
}
return phi_return;
@ -281,28 +283,18 @@ loop_4:
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_1/func_800A3058.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
void func_800A30E8(void) {
func_800A6B20_ovl1(0x13);
func_80300000_ovl20();
func_800A6B20_ovl1(5);
func_800A6B20_ovl1(6);
func_800A6B20_ovl1(0x11);
load_overlay(19);
tamper_check_ovl20();
load_overlay(5);
load_overlay(6);
load_overlay(17);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_1/func_800A30E8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
void func_800A3128(void) {
func_800A6B20_ovl1(2);
func_800A6B20_ovl1(3);
load_overlay(2);
load_overlay(3);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_1/func_800A3128.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
@ -315,17 +307,13 @@ void func_800A3150(s32 arg0) {
func_800A2CE4_ovl1();
func_800A2D5C_ovl1();
func_800A2D68_ovl1();
func_800A6B20_ovl1(0x12);
load_overlay(0x12);
func_800BBBA0_ovl1();
loop_1:
func_800A30E8_ovl1();
func_800A2E98_ovl1();
func_800F6AD4_ovl1(1);
if (D_800D6F38 != 0) {
if (D_800BE4F8 != 0) {
func_80020C88_ovl1();
goto loop_1;
}
while (D_800D6F38 != 0 && D_800BE4F8 != 0) {
func_800A30E8_ovl1();
func_800A2E98_ovl1();
func_800F6AD4_ovl1(1);
func_80020C88_ovl1();
}
D_800D6B88 = D_800D6B8C;
}
@ -359,7 +347,7 @@ loop_2:
func_800A74D8_ovl1();
func_800B9F90_ovl1(((&D_800BE400 + (D_800BE504 * 6)) + phi_s0)->unk2, D_800D6B88);
func_800B9C50_ovl1(D_800D6B88);
func_800A6B20_ovl1(4);
load_overlay(4);
func_80154D60_ovl1(((&D_800BE400 + (D_800BE504 * 6)) + phi_s0)->unk2, 2);
}
}
@ -392,7 +380,7 @@ s32 func_800A336C(void) {
if (temp_ret == 0) {
func_800B9F90_ovl1(*(&D_800BE414 + (D_800BE500 * 4)), D_800D6B88);
func_800B9C50_ovl1(D_800D6B88);
func_800A6B20_ovl1(4);
load_overlay(4);
phi_return = func_80154D60_ovl1(*(&D_800BE414 + (D_800BE500 * 4)), 2);
}
}
@ -408,13 +396,13 @@ GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_1/func_800A336C.s")
void func_800A3408(void) {
if (1 == D_800D6B90) {
if (1 == D_800D6B94) {
func_800A6B20_ovl1(0x12);
load_overlay(0x12);
if (func_80227308_ovl1(0) != 0) {
D_800BE4F4 = D_800BE4F0;
loop_4:
D_800BE4F0 = 0xE;
func_800A3150_ovl1(4);
func_800A6B20_ovl1(0x12);
load_overlay(0x12);
if (func_80227308_ovl1(1) == 1) {
goto loop_4;
}
@ -521,7 +509,7 @@ loop_1:
temp_t6->unk4 = temp_t7->unk4;
phi_s0 = &sp2C;
loop_3:
func_800A6B20_ovl1(4);
load_overlay(4);
temp_s0 = phi_s0 + 4;
if (func_80154D60_ovl1(*phi_s0, 0x15) != 3) {
phi_s0 = temp_s0;
@ -2239,11 +2227,11 @@ GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_1/func_800A6B18.s")
#endif
extern void *D_800BE8A0[];
void func_800A6B20(u32 arg0) {
void load_overlay(u32 arg0) {
while (arg0 >= 0x14) {
// ...were they going to do anything to remedy this issue?
}
load_overlay(D_800BE8A0[arg0]);
dma_overlay_load(D_800BE8A0[arg0]);
}
#ifdef MIPS_TO_C

View File

@ -35,10 +35,10 @@ void *func_800A6E64(void) {
phi_a1 = &D_800D7A08;
phi_a2 = &D_800BF8F8;
loop_1:
phi_v1->unk0 = 0;
phi_a0->unk0 = 0;
phi_a1->unk0 = 0;
*phi_a2->unk0 = 0;
phi_v1[0] = 0;
phi_a0[0] = 0;
phi_a1[0] = 0;
*phi_a2[0] = 0;
phi_a1->unk4 = 0;
phi_a0->unk4 = 0;
phi_v1->unk4 = 0;
@ -393,14 +393,10 @@ GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_2/func_800A7704.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
? func_800A7740(s32 arg0) {
if (arg0 < 0) {
block_2:
s32 func_800A7740(u32 arg0) {
if (arg0 < 0 || arg0 >= D_800D6B4C) {
return -1;
}
if ((u32) arg0 >= (u32) D_800D6B4C) {
goto block_2;
}
return func_800A7704_ovl1((arg0 * 0x18) + &D_800C0534, arg0);
}
#else
@ -654,8 +650,8 @@ GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_2/func_800A7E7C.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
void *func_800A7EB4(void) {
D_800D6FB4->unk44 = (s32) (D_800D6FB4->unk44 | 0xFFFF0000);
D_800D6FB8->unk44 = (s32) (D_800D6FB8->unk44 | 0xFFFF0000);
D_800D6FB4->unk44 |= 0xFFFF0000;
D_800D6FB8->unk44 |= 0xFFFF0000;
return D_800D6FB4;
}
#else

View File

@ -1,5 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include "D_8004A7C4.h"
struct UnkWhat {
u32 unk0;
@ -10,7 +11,6 @@ struct UnkWhat {
};
extern f32 D_800D5DD8;
extern u32 D_800E02D0[];
extern u32 *D_8004A7C4;
extern u32 D_800DF4D0[];
extern struct UnkWhat D_800D00C4[][1];
@ -23,7 +23,7 @@ void *func_800A82C0(void) {
D_800D7BB4 = temp_t8;
D_800D7BB0 = temp_t8;
D_800D7BB8 = (s32) (D_8004A408.unk8 - temp_t8);
*(void *)0x800D7C10 = 0x80400000;
D_800D7C10 = 0x80400000;
return &D_800D7BB4;
}
#else
@ -572,15 +572,15 @@ GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800A8B0C.s")
#ifdef MIPS_TO_C
// generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
s32 func_800A8BAC(u32 arg0) {
void *sp1C;
u32 *sp1C;
s32 sp18;
s32 temp_a2;
s32 temp_a3;
s32 temp_t7;
void *temp_v1;
u32 *temp_v1;
u32 temp_t6;
temp_t7 = (arg0 >> 0x10) * 4;
temp_v1 = temp_t7 + &D_800D0104;
temp_t6 = arg0 >> 0x10;
temp_v1 = &D_800D0104[temp_t6];
temp_a3 = arg0 & 0xFFFF;
temp_a3 = temp_a3 * 4;
temp_a2 = *(*temp_v1 + temp_a3);
@ -593,7 +593,7 @@ s32 func_800A8BAC(u32 arg0) {
sp18 = temp_a3;
*(*temp_v1 + temp_a3) = func_800A8B0C_ovl1(3, temp_a2, temp_a3);
}
return *(*(temp_t7 + &D_800D0104) + (temp_a3 * 4));
return *(D_800D0104[temp_t6] + (temp_a3 * 4));
}
#else
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800A8BAC.s")
@ -887,7 +887,7 @@ loop_6:
phi_a2 = (void *)0x800D6E78;
if ((void *)0x800D6E78->unk8 != 0) {
arg0 = temp_a3;
func_800A8D64_ovl1((void *)0x800D6E78->unk8, 3, (void *)0x800D6E78, temp_a3);
func_800A8D64_ovl1(D_800D6E78->unk8, 3, D_800D6E78, temp_a3);
phi_a3 = arg0;
phi_a2 = &D_800D6E78;
}
@ -1161,30 +1161,24 @@ void *func_800A9A2C(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800A9A2C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
s32 func_800A9AA8(u32 arg0, s32 arg1) {
s32 sp24;
s32 sp20;
void *sp1C;
s32 sp18;
s32 temp_a2;
#include "banks.h"
extern struct BankHeader *D_800D0184[];
#ifdef NON_MATCHING
// AAAAAAAAAAA just match already!
s32 func_800A9AA8(u32 bankIndex, u32 arg1) {
u32 *sp18;
s32 temp_a3;
s32 temp_v0_2;
void *temp_v0;
void *temp_v1;
s32 temp_v0;
// struct BankHeader *header;
u32 *temp_v1;
temp_v0 = ((arg0 >> 0x10) * 4) + 0x800D0000;
temp_a2 = arg0 & 0xFFFF;
temp_v1 = temp_v0->unk184->unk18 + (temp_a2 * 4);
sp18 = temp_v0->unk184->unk1C;
temp_a3 = ((temp_v1->unk4 - temp_v1->unk0) + 3) & 0xFFFFFC;
sp24 = temp_a3;
sp1C = temp_v1;
temp_v0_2 = func_800A8358_ovl1(temp_a3 | arg1, temp_a2, temp_a3);
sp20 = temp_v0_2;
func_80002E48_ovl1(temp_v1->unk0 + sp18, temp_v0_2, temp_a3 & 0xFFFFFC, temp_a3);
return temp_v0_2;
// header = D_800D0184[bankIndex >> 0x10];
temp_v1 = &D_800D0184[bankIndex >> 0x10]->miscBlockTable[bankIndex & 0xFFFF];
sp18 = D_800D0184[bankIndex >> 0x10]->miscROMOffset;
temp_a3 = ((temp_v1[1] - temp_v1[0]) + 3) & 0xFFFFFC;
temp_v0 = func_800A8358(temp_a3 | arg1);
func_80002E48_ovl1(temp_v1[0] + sp18, temp_v0, temp_a3 & 0xFFFFFC);
return temp_v0;
}
#else
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800A9AA8.s")
@ -1447,23 +1441,26 @@ void func_800AA154(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800AA154.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
void *func_800AA174(void) {
D_8004A7C4->unk3C->unk1C = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk25D0;
D_8004A7C4->unk3C->unk20 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk2790;
D_8004A7C4->unk3C->unk24 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk2950;
D_8004A7C4->unk3C->unk30 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk4010;
D_8004A7C4->unk3C->unk34 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk41D0;
D_8004A7C4->unk3C->unk38 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk4390;
D_8004A7C4->unk3C->unk40 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk4550;
D_8004A7C4->unk3C->unk44 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk4710;
D_8004A7C4->unk3C->unk48 = (f32) ((D_8004A7C4->unk0 * 4) + 0x800E0000)->unk48D0;
return D_8004A7C4;
#include "ovl18/ovl18_1.h"
#include "ovl18/ovl18_3.h"
#include "ovl18/ovl18_5.h"
extern f32 D_800E4390[];
extern f32 D_800E4010[];
void func_800AA174(void) {
D_8004A7C4->unk3C->unk1C.x = D_800E25D0[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk1C.y = D_800E2790[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk1C.z = D_800E2950[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk30.x = D_800E4010[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk30.y = D_800E41D0[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk30.z = D_800E4390[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk40.x = D_800E4550[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk40.y = D_800E4710[D_8004A7C4->unk0];
D_8004A7C4->unk3C->unk40.z = D_800E48D0[D_8004A7C4->unk0];
}
#else
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800AA174.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
@ -2056,18 +2053,10 @@ GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800AB120.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
void func_800AB174(void *arg0) {
void *temp_a2;
void *temp_v1;
gSPSegment(gDisplayListHeads[0]++, 0x04, D_800DF4D0[*arg0]);
gSPSegment(gDisplayListHeads[1]++, 0x04, D_800DF4D0[*arg0]);
temp_v1 = gDisplayListHeads.unk0;
gDisplayListHeads.unk0 = (void *) (temp_v1 + 8);
temp_v1->unk0 = 0xDB060010;
temp_v1->unk4 = (s32) *(&D_800DF4D0 + (*arg0 * 4));
temp_a2 = gDisplayListHeads.unk4;
gDisplayListHeads.unk4 = (void *) (temp_a2 + 8);
temp_a2->unk0 = 0xDB060010;
temp_a2->unk4 = (s32) *(&D_800DF4D0 + (*arg0 * 4));
func_80014768_ovl1(temp_a2, &gDisplayListHeads);
func_80014768_ovl1(gDisplayListHeads[0], gDisplayListHeads[1]);
}
#else
GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_3/func_800AB174.s")

View File

@ -302,7 +302,7 @@ GLOBAL_ASM("asm/non_matchings/ovl1/ovl1_9/func_800B8C08.s")
#endif
extern void calc_file_checksum(u32 fileNum);
extern u16 D_800D5150[];
extern u8 D_800D5150[]; // TODO: get correct type for this
#ifdef MIPS_TO_C
void init_save_file_maybe(u32 fileNum) {
s32 i;
@ -313,8 +313,8 @@ void init_save_file_maybe(u32 fileNum) {
gSaveBuffer1.files[fileNum].data8 = 0;
gSaveBuffer1.files[fileNum].cutscenesWatched = 1;
gSaveBuffer1.files[fileNum].percentComplete = 0;
gSaveBuffer1.files[fileNum].data11 = 1;
gSaveBuffer1.files[fileNum].data12 = 0;
gSaveBuffer1.files[fileNum].soundSetting = 1;
gSaveBuffer1.files[fileNum].hudDisplay = 0;
gSaveBuffer1.files[fileNum].data13 = 0;
gSaveBuffer1.files[fileNum].data14 = 0;
gSaveBuffer1.files[fileNum].data15 = 0;

View File

@ -4,8 +4,8 @@ typedef struct {
/* 0x8; */ u32 data8;
/* 0xC; */ u32 cutscenesWatched;
/* 0x10 */ u8 percentComplete;
u8 data11;
u8 data12;
u8 soundSetting;
u8 hudDisplay;
u8 data13;
/* 0x14 */ u8 data14;

View File

@ -2,6 +2,7 @@
#include <macros.h>
#include "D_8004A7C4.h"
#include "ovl18_1.h"
#include "types.h"
#include "ovl18_3.h"
#include "ovl18_5.h"
@ -73,13 +74,24 @@ void func_802248D0_ovl18(s32 arg0) {
func_800AFA14_ovl18();
}
extern s32 D_8022A4E4;
// regalloc moment
#ifdef MIPS_TO_C
//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6
void func_802249D8_ovl18(s32 arg0) {
s32 sp28;
struct {
s32 unk0;
s32 unk4;
s32 unk8;
s32 unkC;
s32 unk10;
s32 unk14;
s32 unk18;
s32 unk1C;
s32 unk20;
} sp28;
if (D_800E9C60[D_8004A7C4->unk0] == 1) {
func_80111550_ovl18(D_8004A7C4->unk0);
func_80111550_ovl18(D_8004A7C4);
func_80111ECC_ovl18(func_80111C88_ovl18(&D_8022A4E4, D_8004A7C4->unk0));
if (func_80110B00_ovl18(&sp28) == 0) {
if (func_80110FD4_ovl18(&sp28) == 0) {
@ -301,10 +313,9 @@ void func_80225650_ovl18(s32 arg0) {
func_800AFA14_ovl18();
}
// regalloc moment
#ifdef NON_MATCHING
void func_80225724_ovl18(s32 arg0) {
if (D_800E9720[D_8004A7C4->unk0] == 0) {
if (D_800E9720[D_8004A7C4->unk0]-- == 0) {
D_800DDC50[D_8004A7C4->unk0] = 1;
func_800B1EC8_ovl18(D_800DE510[D_8004A7C4->unk0], &func_80225478_ovl18);
} else D_800E9720[D_8004A7C4->unk0]--;

View File

@ -8274,6 +8274,80 @@ GLOBAL_ASM("asm/non_matchings/ovl2_6/func_8010E2B8_ovl2.s")
#ifdef MIPS_TO_C
// generated by mips_to_c commit 09d006c9da5d6bbcd31ac6ca5c9165c1a8533a83
void func_8010E324(s32 arg0, void *arg1) {
? spC0;
? sp80;
u32 sp7C;
u32 sp78;
f32 sp70;
void *sp50;
f32 sp18;
Gfx *temp_v0;
Gfx *temp_v0_2;
Gfx *temp_v1;
Gfx *temp_v1_2;
Gfx *temp_v1_3;
Gfx *temp_v1_4;
f32 temp_f0;
f32 temp_f12;
f32 temp_f14;
f32 temp_f18;
f32 temp_f2;
u32 temp_t0;
u32 temp_t0_2;
void *temp_t5;
temp_t0 = D_8004A3F8.unkC;
D_8004A3F8.unkC = temp_t0 + 0x40;
sp7C = temp_t0;
temp_f14 = arg1->unk20;
temp_f12 = arg1->unk1C;
temp_f2 = arg1->unk18;
temp_f0 = arg1->unk14;
temp_f18 = (temp_f12 - temp_f14) / 40.0f;
sp18 = temp_f18;
sp70 = temp_f18;
func_8010E2B8_ovl2(temp_f12, temp_f14, &spC0, 0.0f, (temp_f0 + temp_f2) * 0.5f, (temp_f12 + temp_f14) * 0.5f, 1.0f, (temp_f0 - temp_f2) / 40.0f);
sp18 = 0.0f;
func_8001BF88_ovl2(&sp80, arg1->unk4, arg1->unk8, arg1->unkC, 0.0f, arg1->unk24);
guMtxCatF(&spC0, &sp80, &sp80);
func_80019A30_ovl2(&sp80, sp7C);
temp_v0 = gDisplayListHeads->unk0;
gDisplayListHeads->unk0 = temp_v0 + 8;
temp_v0->words.w0 = 0xDA380000;
temp_v0->words.w1 = sp7C;
temp_v0_2 = gDisplayListHeads->unk0;
gDisplayListHeads->unk0 = temp_v0_2 + 8;
temp_v0_2->words.w1 = &D_801248B0;
temp_v0_2->words.w0 = 0xDE000000;
temp_v1 = gDisplayListHeads[2];
gDisplayListHeads[2] = temp_v1 + 8;
temp_v1->words.w0 = 0xDA380000;
temp_v1->words.w1 = sp7C;
temp_v1_2 = gDisplayListHeads[2];
temp_t5 = arg1 + 0x10;
gDisplayListHeads[2] = temp_v1_2 + 8;
temp_v1_2->words.w1 = &D_80124908;
temp_v1_2->words.w0 = 0xDE000000;
temp_t0_2 = D_8004A404;
D_8004A404 = temp_t0_2 + 0x40;
sp78 = temp_t0_2;
sp50 = temp_t5;
sp18 = sp70;
func_8010E2B8_ovl2(&spC0, 0.0f, 0.0f, (temp_t5->unkC + temp_t5->unk10) * 0.5f, 1.0f, 1.0f);
sp18 = 0.0f;
func_8001BF88_ovl2(&sp80, arg1->unk4, (bitwise f32) arg1->unk8 + temp_t5->unk0, arg1->unkC, 0.0f, arg1->unk24);
guMtxCatF(&spC0, &sp80, &sp80);
func_80019A30_ovl2(&sp80, sp78);
temp_v1_3 = gDisplayListHeads[2];
gDisplayListHeads[2] = temp_v1_3 + 8;
temp_v1_3->words.w0 = 0xDA380000;
temp_v1_3->words.w1 = sp78;
temp_v1_4 = gDisplayListHeads[2];
gDisplayListHeads[2] = temp_v1_4 + 8;
temp_v1_4->words.w1 = &D_80124948;
temp_v1_4->words.w0 = 0xDE000000;
}
#else
GLOBAL_ASM("asm/non_matchings/ovl2_6/func_8010E324.s")
#endif
@ -8344,14 +8418,10 @@ GLOBAL_ASM("asm/non_matchings/ovl2_6/func_8010E5B0_ovl2.s")
#ifdef MIPS_TO_C
// generated by mips_to_c commit 09d006c9da5d6bbcd31ac6ca5c9165c1a8533a83
s32 func_8010E6F0(void *arg0, s32 arg1) {
s32 temp_v0;
temp_v0 = arg1 * 4;
arg0->unk0 = (f32)(arg0->unk0 + (temp_v0 + 0x800E0000)->unk25D0);
arg0->unk4 = (f32)(arg0->unk4 + (temp_v0 + 0x800E0000)->unk2790);
arg0->unk8 = (f32)(arg0->unk8 + (temp_v0 + 0x800E0000)->unk2950);
return temp_v0;
void func_8010E6F0(Vector *arg0, s32 arg1) {
arg0->x += D_800E25D0[arg1];
arg0->y += D_800E2790[arg1];
arg0->z += D_800E2950[arg1];
}
#else
GLOBAL_ASM("asm/non_matchings/ovl2_6/func_8010E6F0.s")

View File

@ -24,7 +24,7 @@ extern u32 func_80300170(void);
// deobfuscates the function directly after this one and calls it
// potentially as a piracy/tamper check
void func_80300000_ovl20(void) {
void tamper_check_ovl20(void) {
u32 i;
for (i = 0; i < ARRAY_COUNT(D_80300170); i++) {
D_80300170[i] = D_803000E0[i] ^ ASM_DEOBFUSCATOR;

View File

@ -978,10 +978,7 @@ void *func_8015392C(void *arg0) {
temp_t7 = arg0->unk3C->unk80->unk5B;
temp_v0 = arg0->unk3C->unk80 + 8;
if (temp_t7 != 0) {
temp_a0 = gDisplayListHeads.unk4;
gDisplayListHeads.unk4 = (void *) (temp_a0 + 8);
temp_a0->unk4 = 0;
temp_a0->unk0 = 0xE7000000;
gDPPipeSync(gDisplayListHeads[1]++);
temp_a0_2 = gDisplayListHeads.unk4;
gDisplayListHeads.unk4 = (void *) (temp_a0_2 + 8);
temp_a0_2->unk4 = 0xFFFDF6FB;
@ -998,10 +995,7 @@ void *func_8015392C(void *arg0) {
gDisplayListHeads.unk4 = (void *) (temp_a0_5 + 8);
temp_a0_5->unk4 = 0x28028;
temp_a0_5->unk0 = 0xF64D8398;
temp_a0_6 = gDisplayListHeads.unk4;
gDisplayListHeads.unk4 = (void *) (temp_a0_6 + 8);
temp_a0_6->unk4 = 0;
temp_a0_6->unk0 = 0xE7000000;
gDPPipeSync(gDisplayListHeads[1]++);
temp_a0_7 = gDisplayListHeads.unk4;
gDisplayListHeads.unk4 = (void *) (temp_a0_7 + 8);
temp_a0_7->unk4 = 0x5049D8;

View File

@ -1172,7 +1172,7 @@ func_80004674_ovl1 = 0x80004674;
func_800BB418_ovl1 = 0x800BB418;
func_8011C87C_ovl1 = 0x8011C87C;
func_8011C8D0_ovl1 = 0x8011C8D0;
func_800A6B20_ovl1 = 0x800A6B20;
load_overlay = 0x800A6B20;
func_80151CEC_ovl1 = 0x80151CEC;
D_80004624_ovl1 = 0x80004624;
func_800A2C80_ovl1 = 0x800A2C80;
@ -1673,7 +1673,7 @@ D_80129130 = 0x80129130;
D_8012B9B8 = 0x8012B9B8;
func_800A7A70_ovl2 = 0x800A7A70;
func_800A7BF4_ovl2 = 0x800A7BF4;
func_800A6B20_ovl2 = 0x800A6B20;
load_overlay = 0x800A6B20;
func_800AEC08_ovl2 = 0x800AEC08;
D_801290D4 = 0x801290D4;
func_8010137C_ovl2 = 0x8010137C;