#include #include "constants.h" #include "game/data/data_000000.h" #include "game/data/data_0083d0.h" #include "game/data/data_00e460.h" #include "game/data/data_0160b0.h" #include "game/data/data_01a3a0.h" #include "game/data/data_020df0.h" #include "game/data/data_02da90.h" #include "gvars/gvars.h" #include "lib/lib_05e40.h" #include "lib/lib_4ad80.h" #include "lib/lib_4b170.h" #include "lib/lib_4b480.h" #include "lib/lib_4b500.h" #include "lib/lib_4b550.h" #include "lib/lib_4b5e0.h" #include "types.h" GLOBAL_ASM( glabel func00005e40 /* 5e40: 27bdffe8 */ addiu $sp,$sp,-24 /* 5e44: afbf0014 */ sw $ra,0x14($sp) /* 5e48: 3c058009 */ lui $a1,%hi(var80090a70) /* 5e4c: 24a50a70 */ addiu $a1,$a1,%lo(var80090a70) /* 5e50: 0c012c5c */ jal alCopy /* 5e54: 24060040 */ addiu $a2,$zero,0x40 /* 5e58: 3c048009 */ lui $a0,%hi(var80090a80) /* 5e5c: 8c840a80 */ lw $a0,%lo(var80090a80)($a0) /* 5e60: 10800005 */ beqz $a0,.L00005e78 /* 5e64: 00000000 */ nop /* 5e68: 0c012d20 */ jal osVirtualToPhysical /* 5e6c: 00000000 */ nop /* 5e70: 3c018009 */ lui $at,%hi(var80090a80) /* 5e74: ac220a80 */ sw $v0,%lo(var80090a80)($at) .L00005e78: /* 5e78: 3c048009 */ lui $a0,%hi(var80090a88) /* 5e7c: 8c840a88 */ lw $a0,%lo(var80090a88)($a0) /* 5e80: 10800005 */ beqz $a0,.L00005e98 /* 5e84: 00000000 */ nop /* 5e88: 0c012d20 */ jal osVirtualToPhysical /* 5e8c: 00000000 */ nop /* 5e90: 3c018009 */ lui $at,%hi(var80090a88) /* 5e94: ac220a88 */ sw $v0,%lo(var80090a88)($at) .L00005e98: /* 5e98: 3c048009 */ lui $a0,%hi(var80090a90) /* 5e9c: 8c840a90 */ lw $a0,%lo(var80090a90)($a0) /* 5ea0: 10800005 */ beqz $a0,.L00005eb8 /* 5ea4: 00000000 */ nop /* 5ea8: 0c012d20 */ jal osVirtualToPhysical /* 5eac: 00000000 */ nop /* 5eb0: 3c018009 */ lui $at,%hi(var80090a90) /* 5eb4: ac220a90 */ sw $v0,%lo(var80090a90)($at) .L00005eb8: /* 5eb8: 3c048009 */ lui $a0,%hi(var80090a98) /* 5ebc: 8c840a98 */ lw $a0,%lo(var80090a98)($a0) /* 5ec0: 10800005 */ beqz $a0,.L00005ed8 /* 5ec4: 00000000 */ nop /* 5ec8: 0c012d20 */ jal osVirtualToPhysical /* 5ecc: 00000000 */ nop /* 5ed0: 3c018009 */ lui $at,%hi(var80090a98) /* 5ed4: ac220a98 */ sw $v0,%lo(var80090a98)($at) .L00005ed8: /* 5ed8: 3c048009 */ lui $a0,%hi(var80090a9c) /* 5edc: 8c840a9c */ lw $a0,%lo(var80090a9c)($a0) /* 5ee0: 10800005 */ beqz $a0,.L00005ef8 /* 5ee4: 00000000 */ nop /* 5ee8: 0c012d20 */ jal osVirtualToPhysical /* 5eec: 00000000 */ nop /* 5ef0: 3c018009 */ lui $at,%hi(var80090a9c) /* 5ef4: ac220a9c */ sw $v0,%lo(var80090a9c)($at) .L00005ef8: /* 5ef8: 3c048009 */ lui $a0,%hi(var80090aa0) /* 5efc: 8c840aa0 */ lw $a0,%lo(var80090aa0)($a0) /* 5f00: 10800005 */ beqz $a0,.L00005f18 /* 5f04: 00000000 */ nop /* 5f08: 0c012d20 */ jal osVirtualToPhysical /* 5f0c: 00000000 */ nop /* 5f10: 3c018009 */ lui $at,%hi(var80090aa0) /* 5f14: ac220aa0 */ sw $v0,%lo(var80090aa0)($at) .L00005f18: /* 5f18: 3c048009 */ lui $a0,%hi(var80090aa8) /* 5f1c: 8c840aa8 */ lw $a0,%lo(var80090aa8)($a0) /* 5f20: 50800006 */ beqzl $a0,.L00005f3c /* 5f24: 8fbf0014 */ lw $ra,0x14($sp) /* 5f28: 0c012d20 */ jal osVirtualToPhysical /* 5f2c: 00000000 */ nop /* 5f30: 3c018009 */ lui $at,%hi(var80090aa8) /* 5f34: ac220aa8 */ sw $v0,%lo(var80090aa8)($at) /* 5f38: 8fbf0014 */ lw $ra,0x14($sp) .L00005f3c: /* 5f3c: 3c028009 */ lui $v0,%hi(var80090a70) /* 5f40: 24420a70 */ addiu $v0,$v0,%lo(var80090a70) /* 5f44: 03e00008 */ jr $ra /* 5f48: 27bd0018 */ addiu $sp,$sp,0x18 ); GLOBAL_ASM( glabel func00005f4c /* 5f4c: 27bdffd8 */ addiu $sp,$sp,-40 /* 5f50: afbf0024 */ sw $ra,0x24($sp) /* 5f54: afb00014 */ sw $s0,0x14($sp) /* 5f58: 00808025 */ or $s0,$a0,$zero /* 5f5c: afb30020 */ sw $s3,0x20($sp) /* 5f60: afb2001c */ sw $s2,0x1c($sp) /* 5f64: 0c001790 */ jal func00005e40 /* 5f68: afb10018 */ sw $s1,0x18($sp) /* 5f6c: 8c4e0004 */ lw $t6,0x4($v0) /* 5f70: 00409025 */ or $s2,$v0,$zero /* 5f74: 02402025 */ or $a0,$s2,$zero /* 5f78: 31cf0001 */ andi $t7,$t6,0x1 /* 5f7c: 11e00013 */ beqz $t7,.L00005fcc /* 5f80: 00000000 */ nop /* 5f84: 8c580038 */ lw $t8,0x38($v0) /* 5f88: 8c59003c */ lw $t9,0x3c($v0) /* 5f8c: 2401fffe */ addiu $at,$zero,-2 /* 5f90: ac580018 */ sw $t8,0x18($v0) /* 5f94: ac59001c */ sw $t9,0x1c($v0) /* 5f98: 8e080004 */ lw $t0,0x4($s0) /* 5f9c: 01014824 */ and $t1,$t0,$at /* 5fa0: ae090004 */ sw $t1,0x4($s0) /* 5fa4: 8c4a0004 */ lw $t2,0x4($v0) /* 5fa8: 314b0004 */ andi $t3,$t2,0x4 /* 5fac: 11600007 */ beqz $t3,.L00005fcc /* 5fb0: 00000000 */ nop /* 5fb4: 8e0c0038 */ lw $t4,0x38($s0) /* 5fb8: 3c01a000 */ lui $at,0xa000 /* 5fbc: 258d0bfc */ addiu $t5,$t4,0xbfc /* 5fc0: 01a17025 */ or $t6,$t5,$at /* 5fc4: 8dcf0000 */ lw $t7,0x0($t6) /* 5fc8: ac4f0010 */ sw $t7,0x10($v0) .L00005fcc: /* 5fcc: 0c012b60 */ jal osWritebackDCache /* 5fd0: 24050040 */ addiu $a1,$zero,0x40 /* 5fd4: 0c012d40 */ jal func0004b500 /* 5fd8: 24042b00 */ addiu $a0,$zero,0x2b00 /* 5fdc: 3c130400 */ lui $s3,0x400 /* 5fe0: 36731000 */ ori $s3,$s3,0x1000 /* 5fe4: 0c012d44 */ jal func0004b510 /* 5fe8: 02602025 */ or $a0,$s3,$zero /* 5fec: 2411ffff */ addiu $s1,$zero,-1 /* 5ff0: 54510006 */ bnel $v0,$s1,.L0000600c /* 5ff4: 3c100400 */ lui $s0,0x400 .L00005ff8: /* 5ff8: 0c012d44 */ jal func0004b510 /* 5ffc: 02602025 */ or $a0,$s3,$zero /* 6000: 1051fffd */ beq $v0,$s1,.L00005ff8 /* 6004: 00000000 */ nop /* 6008: 3c100400 */ lui $s0,0x400 .L0000600c: /* 600c: 36100fc0 */ ori $s0,$s0,0xfc0 /* 6010: 02002825 */ or $a1,$s0,$zero /* 6014: 24040001 */ addiu $a0,$zero,0x1 /* 6018: 02403025 */ or $a2,$s2,$zero /* 601c: 0c012d54 */ jal func0004b550 /* 6020: 24070040 */ addiu $a3,$zero,0x40 /* 6024: 14510007 */ bne $v0,$s1,.L00006044 /* 6028: 24040001 */ addiu $a0,$zero,0x1 .L0000602c: /* 602c: 02002825 */ or $a1,$s0,$zero /* 6030: 02403025 */ or $a2,$s2,$zero /* 6034: 0c012d54 */ jal func0004b550 /* 6038: 24070040 */ addiu $a3,$zero,0x40 /* 603c: 5051fffb */ beql $v0,$s1,.L0000602c /* 6040: 24040001 */ addiu $a0,$zero,0x1 .L00006044: /* 6044: 0c012d78 */ jal func0004b5e0 /* 6048: 00000000 */ nop /* 604c: 50400006 */ beqzl $v0,.L00006068 /* 6050: 24040001 */ addiu $a0,$zero,0x1 .L00006054: /* 6054: 0c012d78 */ jal func0004b5e0 /* 6058: 00000000 */ nop /* 605c: 1440fffd */ bnez $v0,.L00006054 /* 6060: 00000000 */ nop /* 6064: 24040001 */ addiu $a0,$zero,0x1 .L00006068: /* 6068: 02602825 */ or $a1,$s3,$zero /* 606c: 8e460008 */ lw $a2,0x8($s2) /* 6070: 0c012d54 */ jal func0004b550 /* 6074: 8e47000c */ lw $a3,0xc($s2) /* 6078: 14510007 */ bne $v0,$s1,.L00006098 /* 607c: 24040001 */ addiu $a0,$zero,0x1 .L00006080: /* 6080: 02602825 */ or $a1,$s3,$zero /* 6084: 8e460008 */ lw $a2,0x8($s2) /* 6088: 0c012d54 */ jal func0004b550 /* 608c: 8e47000c */ lw $a3,0xc($s2) /* 6090: 5051fffb */ beql $v0,$s1,.L00006080 /* 6094: 24040001 */ addiu $a0,$zero,0x1 .L00006098: /* 6098: 8fbf0024 */ lw $ra,0x24($sp) /* 609c: 8fb00014 */ lw $s0,0x14($sp) /* 60a0: 8fb10018 */ lw $s1,0x18($sp) /* 60a4: 8fb2001c */ lw $s2,0x1c($sp) /* 60a8: 8fb30020 */ lw $s3,0x20($sp) /* 60ac: 03e00008 */ jr $ra /* 60b0: 27bd0028 */ addiu $sp,$sp,0x28 ); GLOBAL_ASM( glabel func000060b4 /* 60b4: 27bdffe8 */ addiu $sp,$sp,-24 /* 60b8: afbf0014 */ sw $ra,0x14($sp) /* 60bc: 0c012d78 */ jal func0004b5e0 /* 60c0: afa40018 */ sw $a0,0x18($sp) /* 60c4: 10400005 */ beqz $v0,.L000060dc /* 60c8: 00000000 */ nop .L000060cc: /* 60cc: 0c012d78 */ jal func0004b5e0 /* 60d0: 00000000 */ nop /* 60d4: 1440fffd */ bnez $v0,.L000060cc /* 60d8: 00000000 */ nop .L000060dc: /* 60dc: 0c012d40 */ jal func0004b500 /* 60e0: 24040125 */ addiu $a0,$zero,0x125 /* 60e4: 8fbf0014 */ lw $ra,0x14($sp) /* 60e8: 27bd0018 */ addiu $sp,$sp,0x18 /* 60ec: 03e00008 */ jr $ra /* 60f0: 00000000 */ nop /* 60f4: 00000000 */ nop /* 60f8: 00000000 */ nop /* 60fc: 00000000 */ nop );