diff --git a/asm/nonmatchings/code_163400/pause_set_cursor_opacity.s b/asm/nonmatchings/code_163400/pause_set_cursor_opacity.s new file mode 100644 index 0000000000..1bdc6dad6c --- /dev/null +++ b/asm/nonmatchings/code_163400/pause_set_cursor_opacity.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel pause_set_cursor_opacity +/* 163400 80242BA0 2882F581 */ slti $v0, $a0, -0xa7f +/* 163404 80242BA4 8FA90014 */ lw $t1, 0x14($sp) +/* 163408 80242BA8 8FAA0018 */ lw $t2, 0x18($sp) +/* 16340C 80242BAC 8FAB001C */ lw $t3, 0x1c($sp) +/* 163410 80242BB0 8FAC0020 */ lw $t4, 0x20($sp) +/* 163414 80242BB4 14400075 */ bnez $v0, .L80242D8C +/* 163418 80242BB8 28A2F581 */ slti $v0, $a1, -0xa7f +/* 16341C 80242BBC 14400073 */ bnez $v0, .L80242D8C +/* 163420 80242BC0 00000000 */ nop +/* 163424 80242BC4 18C00071 */ blez $a2, .L80242D8C +/* 163428 80242BC8 00000000 */ nop +/* 16342C 80242BCC 18E0006F */ blez $a3, .L80242D8C +/* 163430 80242BD0 28820500 */ slti $v0, $a0, 0x500 +/* 163434 80242BD4 1040006D */ beqz $v0, .L80242D8C +/* 163438 80242BD8 28A203C0 */ slti $v0, $a1, 0x3c0 +/* 16343C 80242BDC 1040006B */ beqz $v0, .L80242D8C +/* 163440 80242BE0 28C20A80 */ slti $v0, $a2, 0xa80 +/* 163444 80242BE4 10400069 */ beqz $v0, .L80242D8C +/* 163448 80242BE8 28E20A80 */ slti $v0, $a3, 0xa80 +/* 16344C 80242BEC 10400067 */ beqz $v0, .L80242D8C +/* 163450 80242BF0 00000000 */ nop +/* 163454 80242BF4 3C02800A */ lui $v0, %hi(D_8009A66C) +/* 163458 80242BF8 2442A66C */ addiu $v0, $v0, %lo(D_8009A66C) +/* 16345C 80242BFC 8C480000 */ lw $t0, ($v0) +/* 163460 80242C00 25030008 */ addiu $v1, $t0, 8 +/* 163464 80242C04 AC430000 */ sw $v1, ($v0) +/* 163468 80242C08 00061400 */ sll $v0, $a2, 0x10 +/* 16346C 80242C0C 00021403 */ sra $v0, $v0, 0x10 +/* 163470 80242C10 18400005 */ blez $v0, .L80242C28 +/* 163474 80242C14 30420FFF */ andi $v0, $v0, 0xfff +/* 163478 80242C18 00021300 */ sll $v0, $v0, 0xc +/* 16347C 80242C1C 3C03E400 */ lui $v1, 0xe400 +/* 163480 80242C20 08090B0B */ j .L80242C2C +/* 163484 80242C24 00431825 */ or $v1, $v0, $v1 +.L80242C28: +/* 163488 80242C28 3C03E400 */ lui $v1, 0xe400 +.L80242C2C: +/* 16348C 80242C2C 00071400 */ sll $v0, $a3, 0x10 +/* 163490 80242C30 00021403 */ sra $v0, $v0, 0x10 +/* 163494 80242C34 18400004 */ blez $v0, .L80242C48 +/* 163498 80242C38 AD030000 */ sw $v1, ($t0) +/* 16349C 80242C3C 30420FFF */ andi $v0, $v0, 0xfff +/* 1634A0 80242C40 00621025 */ or $v0, $v1, $v0 +/* 1634A4 80242C44 AD020000 */ sw $v0, ($t0) +.L80242C48: +/* 1634A8 80242C48 8FA20010 */ lw $v0, 0x10($sp) +/* 1634AC 80242C4C 30420007 */ andi $v0, $v0, 7 +/* 1634B0 80242C50 00021E00 */ sll $v1, $v0, 0x18 +/* 1634B4 80242C54 00041400 */ sll $v0, $a0, 0x10 +/* 1634B8 80242C58 00023403 */ sra $a2, $v0, 0x10 +/* 1634BC 80242C5C 18C00003 */ blez $a2, .L80242C6C +/* 1634C0 80242C60 30C20FFF */ andi $v0, $a2, 0xfff +/* 1634C4 80242C64 00021300 */ sll $v0, $v0, 0xc +/* 1634C8 80242C68 00621825 */ or $v1, $v1, $v0 +.L80242C6C: +/* 1634CC 80242C6C 00051400 */ sll $v0, $a1, 0x10 +/* 1634D0 80242C70 00021403 */ sra $v0, $v0, 0x10 +/* 1634D4 80242C74 18400004 */ blez $v0, .L80242C88 +/* 1634D8 80242C78 AD030004 */ sw $v1, 4($t0) +/* 1634DC 80242C7C 30420FFF */ andi $v0, $v0, 0xfff +/* 1634E0 80242C80 00621025 */ or $v0, $v1, $v0 +/* 1634E4 80242C84 AD020004 */ sw $v0, 4($t0) +.L80242C88: +/* 1634E8 80242C88 3C03800A */ lui $v1, %hi(D_8009A66C) +/* 1634EC 80242C8C 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) +/* 1634F0 80242C90 8C620000 */ lw $v0, ($v1) +/* 1634F4 80242C94 0040202D */ daddu $a0, $v0, $zero +/* 1634F8 80242C98 24420008 */ addiu $v0, $v0, 8 +/* 1634FC 80242C9C AC620000 */ sw $v0, ($v1) +/* 163500 80242CA0 3C02E100 */ lui $v0, 0xe100 +/* 163504 80242CA4 AC820000 */ sw $v0, ($a0) +/* 163508 80242CA8 04C10012 */ bgez $a2, .L80242CF4 +/* 16350C 80242CAC 24840004 */ addiu $a0, $a0, 4 +/* 163510 80242CB0 000B1400 */ sll $v0, $t3, 0x10 +/* 163514 80242CB4 00021403 */ sra $v0, $v0, 0x10 +/* 163518 80242CB8 04410007 */ bgez $v0, .L80242CD8 +/* 16351C 80242CBC 00C20018 */ mult $a2, $v0 +/* 163520 80242CC0 00006812 */ mflo $t5 +/* 163524 80242CC4 000D11C3 */ sra $v0, $t5, 7 +/* 163528 80242CC8 04410008 */ bgez $v0, .L80242CEC +/* 16352C 80242CCC 01221023 */ subu $v0, $t1, $v0 +/* 163530 80242CD0 08090B3A */ j .L80242CE8 +/* 163534 80242CD4 0000102D */ daddu $v0, $zero, $zero +.L80242CD8: +/* 163538 80242CD8 00006812 */ mflo $t5 +/* 16353C 80242CDC 000D11C3 */ sra $v0, $t5, 7 +/* 163540 80242CE0 5C400001 */ bgtzl $v0, .L80242CE8 +/* 163544 80242CE4 0000102D */ daddu $v0, $zero, $zero +.L80242CE8: +/* 163548 80242CE8 01221023 */ subu $v0, $t1, $v0 +.L80242CEC: +/* 16354C 80242CEC 08090B3E */ j .L80242CF8 +/* 163550 80242CF0 00023400 */ sll $a2, $v0, 0x10 +.L80242CF4: +/* 163554 80242CF4 00093400 */ sll $a2, $t1, 0x10 +.L80242CF8: +/* 163558 80242CF8 04A10016 */ bgez $a1, .L80242D54 +/* 16355C 80242CFC 3142FFFF */ andi $v0, $t2, 0xffff +/* 163560 80242D00 000C1400 */ sll $v0, $t4, 0x10 +/* 163564 80242D04 00021C03 */ sra $v1, $v0, 0x10 +/* 163568 80242D08 0461000A */ bgez $v1, .L80242D34 +/* 16356C 80242D0C 00051400 */ sll $v0, $a1, 0x10 +/* 163570 80242D10 00021403 */ sra $v0, $v0, 0x10 +/* 163574 80242D14 00430018 */ mult $v0, $v1 +/* 163578 80242D18 00006812 */ mflo $t5 +/* 16357C 80242D1C 000D11C3 */ sra $v0, $t5, 7 +/* 163580 80242D20 04420001 */ bltzl $v0, .L80242D28 +/* 163584 80242D24 0000102D */ daddu $v0, $zero, $zero +.L80242D28: +/* 163588 80242D28 01421023 */ subu $v0, $t2, $v0 +/* 16358C 80242D2C 08090B55 */ j .L80242D54 +/* 163590 80242D30 3042FFFF */ andi $v0, $v0, 0xffff +.L80242D34: +/* 163594 80242D34 00021403 */ sra $v0, $v0, 0x10 +/* 163598 80242D38 00430018 */ mult $v0, $v1 +/* 16359C 80242D3C 00006812 */ mflo $t5 +/* 1635A0 80242D40 000D11C3 */ sra $v0, $t5, 7 +/* 1635A4 80242D44 5C400001 */ bgtzl $v0, .L80242D4C +/* 1635A8 80242D48 0000102D */ daddu $v0, $zero, $zero +.L80242D4C: +/* 1635AC 80242D4C 01421023 */ subu $v0, $t2, $v0 +/* 1635B0 80242D50 3042FFFF */ andi $v0, $v0, 0xffff +.L80242D54: +/* 1635B4 80242D54 00C21025 */ or $v0, $a2, $v0 +/* 1635B8 80242D58 AC820000 */ sw $v0, ($a0) +/* 1635BC 80242D5C 3C03800A */ lui $v1, %hi(D_8009A66C) +/* 1635C0 80242D60 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) +/* 1635C4 80242D64 8C620000 */ lw $v0, ($v1) +/* 1635C8 80242D68 0040202D */ daddu $a0, $v0, $zero +/* 1635CC 80242D6C 24420008 */ addiu $v0, $v0, 8 +/* 1635D0 80242D70 AC620000 */ sw $v0, ($v1) +/* 1635D4 80242D74 3C02F100 */ lui $v0, 0xf100 +/* 1635D8 80242D78 AC820000 */ sw $v0, ($a0) +/* 1635DC 80242D7C 000B1400 */ sll $v0, $t3, 0x10 +/* 1635E0 80242D80 3183FFFF */ andi $v1, $t4, 0xffff +/* 1635E4 80242D84 00431025 */ or $v0, $v0, $v1 +/* 1635E8 80242D88 AC820004 */ sw $v0, 4($a0) +.L80242D8C: +/* 1635EC 80242D8C 03E00008 */ jr $ra +/* 1635F0 80242D90 00000000 */ nop diff --git a/asm/nonmatchings/code_16c8e0/func_8023ED5C.s b/asm/nonmatchings/code_16c8e0/func_8023ED5C.s index 9bc698294f..a623318e40 100644 --- a/asm/nonmatchings/code_16c8e0/func_8023ED5C.s +++ b/asm/nonmatchings/code_16c8e0/func_8023ED5C.s @@ -19,19 +19,19 @@ glabel func_8023ED5C /* 16D674 8023ED94 104000A7 */ beqz $v0, .L8023F034 /* 16D678 8023ED98 AFB10024 */ sw $s1, 0x24($sp) /* 16D67C 8023ED9C 0C093BAA */ jal func_8024EEA8 -/* 16D680 8023EDA0 00000000 */ nop +/* 16D680 8023EDA0 00000000 */ nop /* 16D684 8023EDA4 8E8200B8 */ lw $v0, 0xb8($s4) /* 16D688 8023EDA8 10400003 */ beqz $v0, .L8023EDB8 -/* 16D68C 8023EDAC 00000000 */ nop +/* 16D68C 8023EDAC 00000000 */ nop /* 16D690 8023EDB0 0040F809 */ jalr $v0 -/* 16D694 8023EDB4 00000000 */ nop +/* 16D694 8023EDB4 00000000 */ nop .L8023EDB8: /* 16D698 8023EDB8 8E820000 */ lw $v0, ($s4) /* 16D69C 8023EDBC 30420001 */ andi $v0, $v0, 1 /* 16D6A0 8023EDC0 1040009C */ beqz $v0, .L8023F034 -/* 16D6A4 8023EDC4 00000000 */ nop +/* 16D6A4 8023EDC4 00000000 */ nop /* 16D6A8 8023EDC8 0C0957F6 */ jal func_80255FD8 -/* 16D6AC 8023EDCC 00000000 */ nop +/* 16D6AC 8023EDCC 00000000 */ nop /* 16D6B0 8023EDD0 3C02800A */ lui $v0, %hi(D_8009A634) /* 16D6B4 8023EDD4 9442A634 */ lhu $v0, %lo(D_8009A634)($v0) /* 16D6B8 8023EDD8 2442FFFF */ addiu $v0, $v0, -1 @@ -96,7 +96,7 @@ glabel func_8023ED5C /* 16D798 8023EEB8 26730004 */ addiu $s3, $s3, 4 /* 16D79C 8023EEBC 8E9100DC */ lw $s1, 0xdc($s4) /* 16D7A0 8023EEC0 1220002D */ beqz $s1, .L8023EF78 -/* 16D7A4 8023EEC4 00000000 */ nop +/* 16D7A4 8023EEC4 00000000 */ nop /* 16D7A8 8023EEC8 8E220000 */ lw $v0, ($s1) /* 16D7AC 8023EECC 30420001 */ andi $v0, $v0, 1 /* 16D7B0 8023EED0 14400029 */ bnez $v0, .L8023EF78 @@ -115,7 +115,7 @@ glabel func_8023ED5C /* 16D7E4 8023EF04 3C031000 */ lui $v1, 0x1000 /* 16D7E8 8023EF08 00431024 */ and $v0, $v0, $v1 /* 16D7EC 8023EF0C 1040000C */ beqz $v0, .L8023EF40 -/* 16D7F0 8023EF10 00000000 */ nop +/* 16D7F0 8023EF10 00000000 */ nop /* 16D7F4 8023EF14 3C028025 */ lui $v0, %hi(D_8025599C) /* 16D7F8 8023EF18 2442599C */ addiu $v0, $v0, %lo(D_8025599C) /* 16D7FC 8023EF1C AE110008 */ sw $s1, 8($s0) @@ -145,7 +145,7 @@ glabel func_8023ED5C .L8023EF78: /* 16D858 8023EF78 8E9100D8 */ lw $s1, 0xd8($s4) /* 16D85C 8023EF7C 1220002D */ beqz $s1, .L8023F034 -/* 16D860 8023EF80 00000000 */ nop +/* 16D860 8023EF80 00000000 */ nop /* 16D864 8023EF84 8E220000 */ lw $v0, ($s1) /* 16D868 8023EF88 30420001 */ andi $v0, $v0, 1 /* 16D86C 8023EF8C 14400029 */ bnez $v0, .L8023F034 @@ -164,7 +164,7 @@ glabel func_8023ED5C /* 16D8A0 8023EFC0 3C031000 */ lui $v1, 0x1000 /* 16D8A4 8023EFC4 00431024 */ and $v0, $v0, $v1 /* 16D8A8 8023EFC8 1040000C */ beqz $v0, .L8023EFFC -/* 16D8AC 8023EFCC 00000000 */ nop +/* 16D8AC 8023EFCC 00000000 */ nop /* 16D8B0 8023EFD0 3C028025 */ lui $v0, %hi(D_80254C50) /* 16D8B4 8023EFD4 24424C50 */ addiu $v0, $v0, %lo(D_80254C50) /* 16D8B8 8023EFD8 AE110008 */ sw $s1, 8($s0) diff --git a/asm/nonmatchings/code_32C7A0/func_E0010000.s b/asm/nonmatchings/code_32C7A0/func_E0010000.s new file mode 100644 index 0000000000..3ca8498a9c --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E0010000.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0010000 +/* 32C7A0 E0010000 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 32C7A4 E0010004 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* 32C7A8 E0010008 4480A000 */ mtc1 $zero, $f20 +/* 32C7AC E001000C F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* 32C7B0 E0010010 3C013F80 */ lui $at, 0x3f80 +/* 32C7B4 E0010014 4481B000 */ mtc1 $at, $f22 +/* 32C7B8 E0010018 AFB1009C */ sw $s1, 0x9c($sp) +/* 32C7BC E001001C 0080882D */ daddu $s1, $a0, $zero +/* 32C7C0 E0010020 AFBF00A0 */ sw $ra, 0xa0($sp) +/* 32C7C4 E0010024 AFB00098 */ sw $s0, 0x98($sp) +/* 32C7C8 E0010028 E7B40010 */ swc1 $f20, 0x10($sp) +/* 32C7CC E001002C 8E250024 */ lw $a1, 0x24($s1) +/* 32C7D0 E0010030 4406B000 */ mfc1 $a2, $f22 +/* 32C7D4 E0010034 4407A000 */ mfc1 $a3, $f20 +/* 32C7D8 E0010038 0C080104 */ jal func_E0200410 +/* 32C7DC E001003C 27A40018 */ addiu $a0, $sp, 0x18 +/* 32C7E0 E0010040 27B00058 */ addiu $s0, $sp, 0x58 +/* 32C7E4 E0010044 E7B60010 */ swc1 $f22, 0x10($sp) +/* 32C7E8 E0010048 8E25002C */ lw $a1, 0x2c($s1) +/* 32C7EC E001004C 4406A000 */ mfc1 $a2, $f20 +/* 32C7F0 E0010050 4407A000 */ mfc1 $a3, $f20 +/* 32C7F4 E0010054 0C080104 */ jal func_E0200410 +/* 32C7F8 E0010058 0200202D */ daddu $a0, $s0, $zero +/* 32C7FC E001005C 0200202D */ daddu $a0, $s0, $zero +/* 32C800 E0010060 27A50018 */ addiu $a1, $sp, 0x18 +/* 32C804 E0010064 0C080114 */ jal func_E0200450 +/* 32C808 E0010068 00A0302D */ daddu $a2, $a1, $zero +/* 32C80C E001006C E7B40010 */ swc1 $f20, 0x10($sp) +/* 32C810 E0010070 8E250028 */ lw $a1, 0x28($s1) +/* 32C814 E0010074 4406A000 */ mfc1 $a2, $f20 +/* 32C818 E0010078 4407B000 */ mfc1 $a3, $f22 +/* 32C81C E001007C 0C080104 */ jal func_E0200410 +/* 32C820 E0010080 0200202D */ daddu $a0, $s0, $zero +/* 32C824 E0010084 27A40018 */ addiu $a0, $sp, 0x18 +/* 32C828 E0010088 0200282D */ daddu $a1, $s0, $zero +/* 32C82C E001008C 0C080114 */ jal func_E0200450 +/* 32C830 E0010090 0080302D */ daddu $a2, $a0, $zero +/* 32C834 E0010094 8E250018 */ lw $a1, 0x18($s1) +/* 32C838 E0010098 8E26001C */ lw $a2, 0x1c($s1) +/* 32C83C E001009C 8E270020 */ lw $a3, 0x20($s1) +/* 32C840 E00100A0 0C080110 */ jal func_E0200440 +/* 32C844 E00100A4 0200202D */ daddu $a0, $s0, $zero +/* 32C848 E00100A8 0200202D */ daddu $a0, $s0, $zero +/* 32C84C E00100AC 27A50018 */ addiu $a1, $sp, 0x18 +/* 32C850 E00100B0 0C080114 */ jal func_E0200450 +/* 32C854 E00100B4 00A0302D */ daddu $a2, $a1, $zero +/* 32C858 E00100B8 8E25000C */ lw $a1, 0xc($s1) +/* 32C85C E00100BC 8E260010 */ lw $a2, 0x10($s1) +/* 32C860 E00100C0 8E270014 */ lw $a3, 0x14($s1) +/* 32C864 E00100C4 0C080108 */ jal func_E0200420 +/* 32C868 E00100C8 0200202D */ daddu $a0, $s0, $zero +/* 32C86C E00100CC 27A40018 */ addiu $a0, $sp, 0x18 +/* 32C870 E00100D0 0200282D */ daddu $a1, $s0, $zero +/* 32C874 E00100D4 0C080114 */ jal func_E0200450 +/* 32C878 E00100D8 0080302D */ daddu $a2, $a0, $zero +/* 32C87C E00100DC 27A40018 */ addiu $a0, $sp, 0x18 +/* 32C880 E00100E0 0C080118 */ jal func_E0200460 +/* 32C884 E00100E4 26250030 */ addiu $a1, $s1, 0x30 +/* 32C888 E00100E8 8FBF00A0 */ lw $ra, 0xa0($sp) +/* 32C88C E00100EC 8FB1009C */ lw $s1, 0x9c($sp) +/* 32C890 E00100F0 8FB00098 */ lw $s0, 0x98($sp) +/* 32C894 E00100F4 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* 32C898 E00100F8 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* 32C89C E00100FC 03E00008 */ jr $ra +/* 32C8A0 E0010100 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/code_32C7A0/func_E0010104.s b/asm/nonmatchings/code_32C7A0/func_E0010104.s new file mode 100644 index 0000000000..496db02be4 --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E0010104.s @@ -0,0 +1,63 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0010104 +/* 32C8A4 E0010104 C4800070 */ lwc1 $f0, 0x70($a0) +/* 32C8A8 E0010108 3C01E001 */ lui $at, %hi(D_E0010710) +/* 32C8AC E001010C D4220710 */ ldc1 $f2, %lo(D_E0010710)($at) +/* 32C8B0 E0010110 46000021 */ cvt.d.s $f0, $f0 +/* 32C8B4 E0010114 46220002 */ mul.d $f0, $f0, $f2 +/* 32C8B8 E0010118 00000000 */ nop +/* 32C8BC E001011C C48A0090 */ lwc1 $f10, 0x90($a0) +/* 32C8C0 E0010120 46200020 */ cvt.s.d $f0, $f0 +/* 32C8C4 E0010124 460A0282 */ mul.s $f10, $f0, $f10 +/* 32C8C8 E0010128 00000000 */ nop +/* 32C8CC E001012C E4800070 */ swc1 $f0, 0x70($a0) +/* 32C8D0 E0010130 46000306 */ mov.s $f12, $f0 +/* 32C8D4 E0010134 C4800094 */ lwc1 $f0, 0x94($a0) +/* 32C8D8 E0010138 46006302 */ mul.s $f12, $f12, $f0 +/* 32C8DC E001013C 00000000 */ nop +/* 32C8E0 E0010140 C4820088 */ lwc1 $f2, 0x88($a0) +/* 32C8E4 E0010144 C480008C */ lwc1 $f0, 0x8c($a0) +/* 32C8E8 E0010148 46001080 */ add.s $f2, $f2, $f0 +/* 32C8EC E001014C C4800084 */ lwc1 $f0, 0x84($a0) +/* 32C8F0 E0010150 46020000 */ add.s $f0, $f0, $f2 +/* 32C8F4 E0010154 C488000C */ lwc1 $f8, 0xc($a0) +/* 32C8F8 E0010158 460A4200 */ add.s $f8, $f8, $f10 +/* 32C8FC E001015C C4840080 */ lwc1 $f4, 0x80($a0) +/* 32C900 E0010160 46002100 */ add.s $f4, $f4, $f0 +/* 32C904 E0010164 E4800084 */ swc1 $f0, 0x84($a0) +/* 32C908 E0010168 C4800014 */ lwc1 $f0, 0x14($a0) +/* 32C90C E001016C C4860010 */ lwc1 $f6, 0x10($a0) +/* 32C910 E0010170 460C0000 */ add.s $f0, $f0, $f12 +/* 32C914 E0010174 E4820088 */ swc1 $f2, 0x88($a0) +/* 32C918 E0010178 44801000 */ mtc1 $zero, $f2 +/* 32C91C E001017C 46043180 */ add.s $f6, $f6, $f4 +/* 32C920 E0010180 E488000C */ swc1 $f8, 0xc($a0) +/* 32C924 E0010184 4602203C */ c.lt.s $f4, $f2 +/* 32C928 E0010188 E4840080 */ swc1 $f4, 0x80($a0) +/* 32C92C E001018C E4800014 */ swc1 $f0, 0x14($a0) +/* 32C930 E0010190 45000006 */ bc1f .LE00101AC +/* 32C934 E0010194 E4860010 */ swc1 $f6, 0x10($a0) +/* 32C938 E0010198 3C013B83 */ lui $at, 0x3b83 +/* 32C93C E001019C 3421126F */ ori $at, $at, 0x126f +/* 32C940 E00101A0 44810000 */ mtc1 $at, $f0 +/* 32C944 E00101A4 00000000 */ nop +/* 32C948 E00101A8 E4800088 */ swc1 $f0, 0x88($a0) +.LE00101AC: +/* 32C94C E00101AC C4800024 */ lwc1 $f0, 0x24($a0) +/* 32C950 E00101B0 3C013F80 */ lui $at, 0x3f80 +/* 32C954 E00101B4 44811000 */ mtc1 $at, $f2 +/* 32C958 E00101B8 00000000 */ nop +/* 32C95C E00101BC 46020001 */ sub.s $f0, $f0, $f2 +/* 32C960 E00101C0 3C01C2C8 */ lui $at, 0xc2c8 +/* 32C964 E00101C4 44811000 */ mtc1 $at, $f2 +/* 32C968 E00101C8 00000000 */ nop +/* 32C96C E00101CC 4602003C */ c.lt.s $f0, $f2 +/* 32C970 E00101D0 00000000 */ nop +/* 32C974 E00101D4 45000002 */ bc1f .LE00101E0 +/* 32C978 E00101D8 E4800024 */ swc1 $f0, 0x24($a0) +/* 32C97C E00101DC E4820024 */ swc1 $f2, 0x24($a0) +.LE00101E0: +/* 32C980 E00101E0 03E00008 */ jr $ra +/* 32C984 E00101E4 00000000 */ nop diff --git a/asm/nonmatchings/code_32C7A0/func_E00101E8.s b/asm/nonmatchings/code_32C7A0/func_E00101E8.s new file mode 100644 index 0000000000..f2ac30534c --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E00101E8.s @@ -0,0 +1,137 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00101E8 +/* 32C988 E00101E8 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 32C98C E00101EC F7BA0068 */ sdc1 $f26, 0x68($sp) +/* 32C990 E00101F0 46006686 */ mov.s $f26, $f12 +/* 32C994 E00101F4 F7BC0070 */ sdc1 $f28, 0x70($sp) +/* 32C998 E00101F8 46007706 */ mov.s $f28, $f14 +/* 32C99C E00101FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 32C9A0 E0010200 F7BE0078 */ sdc1 $f30, 0x78($sp) +/* 32C9A4 E0010204 4486F000 */ mtc1 $a2, $f30 +/* 32C9A8 E0010208 3C02E001 */ lui $v0, %hi(func_E00103EC) +/* 32C9AC E001020C 244203EC */ addiu $v0, $v0, %lo(func_E00103EC) +/* 32C9B0 E0010210 AFA20018 */ sw $v0, 0x18($sp) +/* 32C9B4 E0010214 3C02E001 */ lui $v0, %hi(func_E00103F4) +/* 32C9B8 E0010218 244203F4 */ addiu $v0, $v0, %lo(func_E00103F4) +/* 32C9BC E001021C AFA2001C */ sw $v0, 0x1c($sp) +/* 32C9C0 E0010220 3C02E001 */ lui $v0, %hi(func_E00104B0) +/* 32C9C4 E0010224 244204B0 */ addiu $v0, $v0, %lo(func_E00104B0) +/* 32C9C8 E0010228 AFA20020 */ sw $v0, 0x20($sp) +/* 32C9CC E001022C 24020008 */ addiu $v0, $zero, 8 +/* 32C9D0 E0010230 AFBF0048 */ sw $ra, 0x48($sp) +/* 32C9D4 E0010234 AFB70044 */ sw $s7, 0x44($sp) +/* 32C9D8 E0010238 AFB60040 */ sw $s6, 0x40($sp) +/* 32C9DC E001023C AFB5003C */ sw $s5, 0x3c($sp) +/* 32C9E0 E0010240 AFB40038 */ sw $s4, 0x38($sp) +/* 32C9E4 E0010244 AFB30034 */ sw $s3, 0x34($sp) +/* 32C9E8 E0010248 AFB20030 */ sw $s2, 0x30($sp) +/* 32C9EC E001024C AFB1002C */ sw $s1, 0x2c($sp) +/* 32C9F0 E0010250 AFB00028 */ sw $s0, 0x28($sp) +/* 32C9F4 E0010254 F7B80060 */ sdc1 $f24, 0x60($sp) +/* 32C9F8 E0010258 F7B60058 */ sdc1 $f22, 0x58($sp) +/* 32C9FC E001025C F7B40050 */ sdc1 $f20, 0x50($sp) +/* 32CA00 E0010260 AFA7008C */ sw $a3, 0x8c($sp) +/* 32CA04 E0010264 AFA00010 */ sw $zero, 0x10($sp) +/* 32CA08 E0010268 AFA00024 */ sw $zero, 0x24($sp) +/* 32CA0C E001026C 0C080124 */ jal func_E0200490 +/* 32CA10 E0010270 AFA20014 */ sw $v0, 0x14($sp) +/* 32CA14 E0010274 240402F8 */ addiu $a0, $zero, 0x2f8 +/* 32CA18 E0010278 24140005 */ addiu $s4, $zero, 5 +/* 32CA1C E001027C 0040802D */ daddu $s0, $v0, $zero +/* 32CA20 E0010280 0C08012C */ jal func_E02004B0 +/* 32CA24 E0010284 AE140008 */ sw $s4, 8($s0) +/* 32CA28 E0010288 0040882D */ daddu $s1, $v0, $zero +/* 32CA2C E001028C 16200003 */ bnez $s1, .LE001029C +/* 32CA30 E0010290 AE11000C */ sw $s1, 0xc($s0) +.LE0010294: +/* 32CA34 E0010294 080040A5 */ j .LE0010294 +/* 32CA38 E0010298 00000000 */ nop +.LE001029C: +/* 32CA3C E001029C 0220202D */ daddu $a0, $s1, $zero +/* 32CA40 E00102A0 00142880 */ sll $a1, $s4, 2 +/* 32CA44 E00102A4 00B42821 */ addu $a1, $a1, $s4 +/* 32CA48 E00102A8 00052880 */ sll $a1, $a1, 2 +/* 32CA4C E00102AC 00B42823 */ subu $a1, $a1, $s4 +/* 32CA50 E00102B0 0C080130 */ jal func_E02004C0 +/* 32CA54 E00102B4 000528C0 */ sll $a1, $a1, 3 +/* 32CA58 E00102B8 1280003B */ beqz $s4, .LE00103A8 +/* 32CA5C E00102BC 0000902D */ daddu $s2, $zero, $zero +/* 32CA60 E00102C0 24170001 */ addiu $s7, $zero, 1 +/* 32CA64 E00102C4 241600FF */ addiu $s6, $zero, 0xff +/* 32CA68 E00102C8 2415003C */ addiu $s5, $zero, 0x3c +/* 32CA6C E00102CC 26300094 */ addiu $s0, $s1, 0x94 +/* 32CA70 E00102D0 0240982D */ daddu $s3, $s2, $zero +/* 32CA74 E00102D4 3C013E99 */ lui $at, 0x3e99 +/* 32CA78 E00102D8 34219999 */ ori $at, $at, 0x9999 +/* 32CA7C E00102DC 4481C000 */ mtc1 $at, $f24 +/* 32CA80 E00102E0 3C013F80 */ lui $at, 0x3f80 +/* 32CA84 E00102E4 4481B000 */ mtc1 $at, $f22 +.LE00102E8: +/* 32CA88 E00102E8 44930000 */ mtc1 $s3, $f0 +/* 32CA8C E00102EC 00000000 */ nop +/* 32CA90 E00102F0 46800020 */ cvt.s.w $f0, $f0 +/* 32CA94 E00102F4 26730048 */ addiu $s3, $s3, 0x48 +/* 32CA98 E00102F8 C7A6008C */ lwc1 $f6, 0x8c($sp) +/* 32CA9C E00102FC 3C01BDA3 */ lui $at, 0xbda3 +/* 32CAA0 E0010300 3421D70A */ ori $at, $at, 0xd70a +/* 32CAA4 E0010304 44811000 */ mtc1 $at, $f2 +/* 32CAA8 E0010308 3C01C079 */ lui $at, 0xc079 +/* 32CAAC E001030C 3421999A */ ori $at, $at, 0x999a +/* 32CAB0 E0010310 44812000 */ mtc1 $at, $f4 +/* 32CAB4 E0010314 46003000 */ add.s $f0, $f6, $f0 +/* 32CAB8 E0010318 26520001 */ addiu $s2, $s2, 1 +/* 32CABC E001031C AE370000 */ sw $s7, ($s1) +/* 32CAC0 E0010320 E600FF94 */ swc1 $f0, -0x6c($s0) +/* 32CAC4 E0010324 46000306 */ mov.s $f12, $f0 +/* 32CAC8 E0010328 3C013FE0 */ lui $at, 0x3fe0 +/* 32CACC E001032C 44810000 */ mtc1 $at, $f0 +/* 32CAD0 E0010330 26310098 */ addiu $s1, $s1, 0x98 +/* 32CAD4 E0010334 E618FFE0 */ swc1 $f24, -0x20($s0) +/* 32CAD8 E0010338 AE00FFE4 */ sw $zero, -0x1c($s0) +/* 32CADC E001033C AE00FFE8 */ sw $zero, -0x18($s0) +/* 32CAE0 E0010340 E61AFF78 */ swc1 $f26, -0x88($s0) +/* 32CAE4 E0010344 E61CFF7C */ swc1 $f28, -0x84($s0) +/* 32CAE8 E0010348 E61EFF80 */ swc1 $f30, -0x80($s0) +/* 32CAEC E001034C E616FF84 */ swc1 $f22, -0x7c($s0) +/* 32CAF0 E0010350 E616FF88 */ swc1 $f22, -0x78($s0) +/* 32CAF4 E0010354 E616FF8C */ swc1 $f22, -0x74($s0) +/* 32CAF8 E0010358 A216FF74 */ sb $s6, -0x8c($s0) +/* 32CAFC E001035C A615FF72 */ sh $s5, -0x8e($s0) +/* 32CB00 E0010360 AE00FF90 */ sw $zero, -0x70($s0) +/* 32CB04 E0010364 AE00FF98 */ sw $zero, -0x68($s0) +/* 32CB08 E0010368 AE00FFF4 */ sw $zero, -0xc($s0) +/* 32CB0C E001036C AE00FFF8 */ sw $zero, -8($s0) +/* 32CB10 E0010370 E602FFF0 */ swc1 $f2, -0x10($s0) +/* 32CB14 E0010374 E604FFDC */ swc1 $f4, -0x24($s0) +/* 32CB18 E0010378 0C08013C */ jal func_E02004F0 +/* 32CB1C E001037C E600FFEC */ swc1 $f0, -0x14($s0) +/* 32CB20 E0010380 46000506 */ mov.s $f20, $f0 +/* 32CB24 E0010384 0C080140 */ jal func_E0200500 +/* 32CB28 E0010388 4600A306 */ mov.s $f12, $f20 +/* 32CB2C E001038C 4600A306 */ mov.s $f12, $f20 +/* 32CB30 E0010390 0C080144 */ jal func_E0200510 +/* 32CB34 E0010394 E600FFFC */ swc1 $f0, -4($s0) +/* 32CB38 E0010398 E6000000 */ swc1 $f0, ($s0) +/* 32CB3C E001039C 0254102A */ slt $v0, $s2, $s4 +/* 32CB40 E00103A0 1440FFD1 */ bnez $v0, .LE00102E8 +/* 32CB44 E00103A4 26100098 */ addiu $s0, $s0, 0x98 +.LE00103A8: +/* 32CB48 E00103A8 8FBF0048 */ lw $ra, 0x48($sp) +/* 32CB4C E00103AC 8FB70044 */ lw $s7, 0x44($sp) +/* 32CB50 E00103B0 8FB60040 */ lw $s6, 0x40($sp) +/* 32CB54 E00103B4 8FB5003C */ lw $s5, 0x3c($sp) +/* 32CB58 E00103B8 8FB40038 */ lw $s4, 0x38($sp) +/* 32CB5C E00103BC 8FB30034 */ lw $s3, 0x34($sp) +/* 32CB60 E00103C0 8FB20030 */ lw $s2, 0x30($sp) +/* 32CB64 E00103C4 8FB1002C */ lw $s1, 0x2c($sp) +/* 32CB68 E00103C8 8FB00028 */ lw $s0, 0x28($sp) +/* 32CB6C E00103CC D7BE0078 */ ldc1 $f30, 0x78($sp) +/* 32CB70 E00103D0 D7BC0070 */ ldc1 $f28, 0x70($sp) +/* 32CB74 E00103D4 D7BA0068 */ ldc1 $f26, 0x68($sp) +/* 32CB78 E00103D8 D7B80060 */ ldc1 $f24, 0x60($sp) +/* 32CB7C E00103DC D7B60058 */ ldc1 $f22, 0x58($sp) +/* 32CB80 E00103E0 D7B40050 */ ldc1 $f20, 0x50($sp) +/* 32CB84 E00103E4 03E00008 */ jr $ra +/* 32CB88 E00103E8 27BD0080 */ addiu $sp, $sp, 0x80 diff --git a/asm/nonmatchings/code_32C7A0/func_E00103EC.s b/asm/nonmatchings/code_32C7A0/func_E00103EC.s new file mode 100644 index 0000000000..66332adb5d --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E00103EC.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00103EC +/* 32CB8C E00103EC 03E00008 */ jr $ra +/* 32CB90 E00103F0 00000000 */ nop diff --git a/asm/nonmatchings/code_32C7A0/func_E00103F4.s b/asm/nonmatchings/code_32C7A0/func_E00103F4.s new file mode 100644 index 0000000000..8eb13a8e20 --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E00103F4.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00103F4 +/* 32CB94 E00103F4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32CB98 E00103F8 AFB40020 */ sw $s4, 0x20($sp) +/* 32CB9C E00103FC 0080A02D */ daddu $s4, $a0, $zero +/* 32CBA0 E0010400 AFB20018 */ sw $s2, 0x18($sp) +/* 32CBA4 E0010404 0000902D */ daddu $s2, $zero, $zero +/* 32CBA8 E0010408 AFB3001C */ sw $s3, 0x1c($sp) +/* 32CBAC E001040C AFBF0024 */ sw $ra, 0x24($sp) +/* 32CBB0 E0010410 AFB10014 */ sw $s1, 0x14($sp) +/* 32CBB4 E0010414 AFB00010 */ sw $s0, 0x10($sp) +/* 32CBB8 E0010418 8E820008 */ lw $v0, 8($s4) +/* 32CBBC E001041C 8E90000C */ lw $s0, 0xc($s4) +/* 32CBC0 E0010420 18400017 */ blez $v0, .LE0010480 +/* 32CBC4 E0010424 0240982D */ daddu $s3, $s2, $zero +/* 32CBC8 E0010428 26110006 */ addiu $s1, $s0, 6 +.LE001042C: +/* 32CBCC E001042C 8E020000 */ lw $v0, ($s0) +/* 32CBD0 E0010430 5040000E */ beql $v0, $zero, .LE001046C +/* 32CBD4 E0010434 26520001 */ addiu $s2, $s2, 1 +/* 32CBD8 E0010438 96220000 */ lhu $v0, ($s1) +/* 32CBDC E001043C 2442FFFF */ addiu $v0, $v0, -1 +/* 32CBE0 E0010440 A6220000 */ sh $v0, ($s1) +/* 32CBE4 E0010444 00021400 */ sll $v0, $v0, 0x10 +/* 32CBE8 E0010448 5C400003 */ bgtzl $v0, .LE0010458 +/* 32CBEC E001044C 24130001 */ addiu $s3, $zero, 1 +/* 32CBF0 E0010450 0800411A */ j .LE0010468 +/* 32CBF4 E0010454 AE000000 */ sw $zero, ($s0) +.LE0010458: +/* 32CBF8 E0010458 0C004041 */ jal func_E0010104 +/* 32CBFC E001045C 0200202D */ daddu $a0, $s0, $zero +/* 32CC00 E0010460 0C004000 */ jal func_E0010000 +/* 32CC04 E0010464 0200202D */ daddu $a0, $s0, $zero +.LE0010468: +/* 32CC08 E0010468 26520001 */ addiu $s2, $s2, 1 +.LE001046C: +/* 32CC0C E001046C 26310098 */ addiu $s1, $s1, 0x98 +/* 32CC10 E0010470 8E820008 */ lw $v0, 8($s4) +/* 32CC14 E0010474 0242102A */ slt $v0, $s2, $v0 +/* 32CC18 E0010478 1440FFEC */ bnez $v0, .LE001042C +/* 32CC1C E001047C 26100098 */ addiu $s0, $s0, 0x98 +.LE0010480: +/* 32CC20 E0010480 16600003 */ bnez $s3, .LE0010490 +/* 32CC24 E0010484 00000000 */ nop +/* 32CC28 E0010488 0C080128 */ jal func_E02004A0 +/* 32CC2C E001048C 0280202D */ daddu $a0, $s4, $zero +.LE0010490: +/* 32CC30 E0010490 8FBF0024 */ lw $ra, 0x24($sp) +/* 32CC34 E0010494 8FB40020 */ lw $s4, 0x20($sp) +/* 32CC38 E0010498 8FB3001C */ lw $s3, 0x1c($sp) +/* 32CC3C E001049C 8FB20018 */ lw $s2, 0x18($sp) +/* 32CC40 E00104A0 8FB10014 */ lw $s1, 0x14($sp) +/* 32CC44 E00104A4 8FB00010 */ lw $s0, 0x10($sp) +/* 32CC48 E00104A8 03E00008 */ jr $ra +/* 32CC4C E00104AC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_32C7A0/func_E00104B0.s b/asm/nonmatchings/code_32C7A0/func_E00104B0.s new file mode 100644 index 0000000000..494bda8da2 --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E00104B0.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00104B0 +/* 32CC50 E00104B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32CC54 E00104B4 3C02E001 */ lui $v0, %hi(func_E0010510) +/* 32CC58 E00104B8 24420510 */ addiu $v0, $v0, %lo(func_E0010510) +/* 32CC5C E00104BC AFA2001C */ sw $v0, 0x1c($sp) +/* 32CC60 E00104C0 24020028 */ addiu $v0, $zero, 0x28 +/* 32CC64 E00104C4 AFA40018 */ sw $a0, 0x18($sp) +/* 32CC68 E00104C8 27A40010 */ addiu $a0, $sp, 0x10 +/* 32CC6C E00104CC AFBF0020 */ sw $ra, 0x20($sp) +/* 32CC70 E00104D0 AFA00014 */ sw $zero, 0x14($sp) +/* 32CC74 E00104D4 0C080120 */ jal func_E0200480 +/* 32CC78 E00104D8 AFA20010 */ sw $v0, 0x10($sp) +/* 32CC7C E00104DC 8C430000 */ lw $v1, ($v0) +/* 32CC80 E00104E0 34630002 */ ori $v1, $v1, 2 +/* 32CC84 E00104E4 AC430000 */ sw $v1, ($v0) +/* 32CC88 E00104E8 8FBF0020 */ lw $ra, 0x20($sp) +/* 32CC8C E00104EC 03E00008 */ jr $ra +/* 32CC90 E00104F0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_32C7A0/func_E00104F4.s b/asm/nonmatchings/code_32C7A0/func_E00104F4.s new file mode 100644 index 0000000000..d3c3cc59eb --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E00104F4.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00104F4 +/* 32CC94 E00104F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32CC98 E00104F8 AFBF0010 */ sw $ra, 0x10($sp) +/* 32CC9C E00104FC 0C080128 */ jal func_E02004A0 +/* 32CCA0 E0010500 00000000 */ nop +/* 32CCA4 E0010504 8FBF0010 */ lw $ra, 0x10($sp) +/* 32CCA8 E0010508 03E00008 */ jr $ra +/* 32CCAC E001050C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_32C7A0/func_E0010510.s b/asm/nonmatchings/code_32C7A0/func_E0010510.s new file mode 100644 index 0000000000..ca0f20306f --- /dev/null +++ b/asm/nonmatchings/code_32C7A0/func_E0010510.s @@ -0,0 +1,136 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0010510 +/* 32CCB0 E0010510 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32CCB4 E0010514 0080602D */ daddu $t4, $a0, $zero +/* 32CCB8 E0010518 3C05DB06 */ lui $a1, 0xdb06 +/* 32CCBC E001051C 34A50024 */ ori $a1, $a1, 0x24 +/* 32CCC0 E0010520 3C06800A */ lui $a2, %hi(D_8009A66C) +/* 32CCC4 E0010524 24C6A66C */ addiu $a2, $a2, %lo(D_8009A66C) +/* 32CCC8 E0010528 3C02E700 */ lui $v0, 0xe700 +/* 32CCCC E001052C AFB7001C */ sw $s7, 0x1c($sp) +/* 32CCD0 E0010530 AFB60018 */ sw $s6, 0x18($sp) +/* 32CCD4 E0010534 AFB50014 */ sw $s5, 0x14($sp) +/* 32CCD8 E0010538 AFB40010 */ sw $s4, 0x10($sp) +/* 32CCDC E001053C AFB3000C */ sw $s3, 0xc($sp) +/* 32CCE0 E0010540 AFB20008 */ sw $s2, 8($sp) +/* 32CCE4 E0010544 AFB10004 */ sw $s1, 4($sp) +/* 32CCE8 E0010548 AFB00000 */ sw $s0, ($sp) +/* 32CCEC E001054C 8CC40000 */ lw $a0, ($a2) +/* 32CCF0 E0010550 8D88000C */ lw $t0, 0xc($t4) +/* 32CCF4 E0010554 0080182D */ daddu $v1, $a0, $zero +/* 32CCF8 E0010558 24840008 */ addiu $a0, $a0, 8 +/* 32CCFC E001055C AC620000 */ sw $v0, ($v1) +/* 32CD00 E0010560 AC600004 */ sw $zero, 4($v1) +/* 32CD04 E0010564 AC850000 */ sw $a1, ($a0) +/* 32CD08 E0010568 8D820010 */ lw $v0, 0x10($t4) +/* 32CD0C E001056C 0000482D */ daddu $t1, $zero, $zero +/* 32CD10 E0010570 ACC40000 */ sw $a0, ($a2) +/* 32CD14 E0010574 8C42001C */ lw $v0, 0x1c($v0) +/* 32CD18 E0010578 3C038000 */ lui $v1, 0x8000 +/* 32CD1C E001057C 00431021 */ addu $v0, $v0, $v1 +/* 32CD20 E0010580 AC820004 */ sw $v0, 4($a0) +/* 32CD24 E0010584 8D820008 */ lw $v0, 8($t4) +/* 32CD28 E0010588 24840008 */ addiu $a0, $a0, 8 +/* 32CD2C E001058C 1840004A */ blez $v0, .LE00106B8 +/* 32CD30 E0010590 ACC40000 */ sw $a0, ($a2) +/* 32CD34 E0010594 3C0F800A */ lui $t7, %hi(D_8009A674) +/* 32CD38 E0010598 25EFA674 */ addiu $t7, $t7, %lo(D_8009A674) +/* 32CD3C E001059C 3C0D8007 */ lui $t5, %hi(D_800741F0) +/* 32CD40 E00105A0 25AD41F0 */ addiu $t5, $t5, %lo(D_800741F0) +/* 32CD44 E00105A4 3C0B0001 */ lui $t3, 1 +/* 32CD48 E00105A8 356B1630 */ ori $t3, $t3, 0x1630 +/* 32CD4C E00105AC 00C0502D */ daddu $t2, $a2, $zero +/* 32CD50 E00105B0 3C13FA00 */ lui $s3, 0xfa00 +/* 32CD54 E00105B4 3C197060 */ lui $t9, 0x7060 +/* 32CD58 E00105B8 37391800 */ ori $t9, $t9, 0x1800 +/* 32CD5C E00105BC 3C12DA38 */ lui $s2, 0xda38 +/* 32CD60 E00105C0 3C11DE00 */ lui $s1, 0xde00 +/* 32CD64 E00105C4 3C18D838 */ lui $t8, 0xd838 +/* 32CD68 E00105C8 37180002 */ ori $t8, $t8, 2 +/* 32CD6C E00105CC 24100040 */ addiu $s0, $zero, 0x40 +/* 32CD70 E00105D0 25070070 */ addiu $a3, $t0, 0x70 +.LE00105D4: +/* 32CD74 E00105D4 8D020000 */ lw $v0, ($t0) +/* 32CD78 E00105D8 50400032 */ beql $v0, $zero, .LE00106A4 +/* 32CD7C E00105DC 25290001 */ addiu $t1, $t1, 1 +/* 32CD80 E00105E0 3C0E0900 */ lui $t6, 0x900 +/* 32CD84 E00105E4 25CE0E08 */ addiu $t6, $t6, 0xe08 +/* 32CD88 E00105E8 25040030 */ addiu $a0, $t0, 0x30 +/* 32CD8C E00105EC 00E0282D */ daddu $a1, $a3, $zero +/* 32CD90 E00105F0 95A20000 */ lhu $v0, ($t5) +/* 32CD94 E00105F4 8DE30000 */ lw $v1, ($t7) +/* 32CD98 E00105F8 00021180 */ sll $v0, $v0, 6 +/* 32CD9C E00105FC 00621821 */ addu $v1, $v1, $v0 +/* 32CDA0 E0010600 006B1821 */ addu $v1, $v1, $t3 +.LE0010604: +/* 32CDA4 E0010604 8C940000 */ lw $s4, ($a0) +/* 32CDA8 E0010608 8C950004 */ lw $s5, 4($a0) +/* 32CDAC E001060C 8C960008 */ lw $s6, 8($a0) +/* 32CDB0 E0010610 8C97000C */ lw $s7, 0xc($a0) +/* 32CDB4 E0010614 AC740000 */ sw $s4, ($v1) +/* 32CDB8 E0010618 AC750004 */ sw $s5, 4($v1) +/* 32CDBC E001061C AC760008 */ sw $s6, 8($v1) +/* 32CDC0 E0010620 AC77000C */ sw $s7, 0xc($v1) +/* 32CDC4 E0010624 24840010 */ addiu $a0, $a0, 0x10 +/* 32CDC8 E0010628 1485FFF6 */ bne $a0, $a1, .LE0010604 +/* 32CDCC E001062C 24630010 */ addiu $v1, $v1, 0x10 +/* 32CDD0 E0010630 8D440000 */ lw $a0, ($t2) +/* 32CDD4 E0010634 0080302D */ daddu $a2, $a0, $zero +/* 32CDD8 E0010638 24840008 */ addiu $a0, $a0, 8 +/* 32CDDC E001063C AD440000 */ sw $a0, ($t2) +/* 32CDE0 E0010640 ACD30000 */ sw $s3, ($a2) +/* 32CDE4 E0010644 90E5FF98 */ lbu $a1, -0x68($a3) +/* 32CDE8 E0010648 95A30000 */ lhu $v1, ($t5) +/* 32CDEC E001064C 24820008 */ addiu $v0, $a0, 8 +/* 32CDF0 E0010650 AD420000 */ sw $v0, ($t2) +/* 32CDF4 E0010654 24620001 */ addiu $v0, $v1, 1 +/* 32CDF8 E0010658 A5A20000 */ sh $v0, ($t5) +/* 32CDFC E001065C 24820010 */ addiu $v0, $a0, 0x10 +/* 32CE00 E0010660 AD420000 */ sw $v0, ($t2) +/* 32CE04 E0010664 24820018 */ addiu $v0, $a0, 0x18 +/* 32CE08 E0010668 00B92825 */ or $a1, $a1, $t9 +/* 32CE0C E001066C 3063FFFF */ andi $v1, $v1, 0xffff +/* 32CE10 E0010670 00031980 */ sll $v1, $v1, 6 +/* 32CE14 E0010674 AD420000 */ sw $v0, ($t2) +/* 32CE18 E0010678 ACC50004 */ sw $a1, 4($a2) +/* 32CE1C E001067C AC920000 */ sw $s2, ($a0) +/* 32CE20 E0010680 8DE20000 */ lw $v0, ($t7) +/* 32CE24 E0010684 006B1821 */ addu $v1, $v1, $t3 +/* 32CE28 E0010688 AC910008 */ sw $s1, 8($a0) +/* 32CE2C E001068C AC8E000C */ sw $t6, 0xc($a0) +/* 32CE30 E0010690 AC980010 */ sw $t8, 0x10($a0) +/* 32CE34 E0010694 AC900014 */ sw $s0, 0x14($a0) +/* 32CE38 E0010698 00431021 */ addu $v0, $v0, $v1 +/* 32CE3C E001069C AC820004 */ sw $v0, 4($a0) +/* 32CE40 E00106A0 25290001 */ addiu $t1, $t1, 1 +.LE00106A4: +/* 32CE44 E00106A4 24E70098 */ addiu $a3, $a3, 0x98 +/* 32CE48 E00106A8 8D820008 */ lw $v0, 8($t4) +/* 32CE4C E00106AC 0122102A */ slt $v0, $t1, $v0 +/* 32CE50 E00106B0 1440FFC8 */ bnez $v0, .LE00105D4 +/* 32CE54 E00106B4 25080098 */ addiu $t0, $t0, 0x98 +.LE00106B8: +/* 32CE58 E00106B8 3C03800A */ lui $v1, %hi(D_8009A66C) +/* 32CE5C E00106BC 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) +/* 32CE60 E00106C0 8C620000 */ lw $v0, ($v1) +/* 32CE64 E00106C4 0040202D */ daddu $a0, $v0, $zero +/* 32CE68 E00106C8 24420008 */ addiu $v0, $v0, 8 +/* 32CE6C E00106CC AC620000 */ sw $v0, ($v1) +/* 32CE70 E00106D0 3C02E700 */ lui $v0, 0xe700 +/* 32CE74 E00106D4 AC820000 */ sw $v0, ($a0) +/* 32CE78 E00106D8 AC800004 */ sw $zero, 4($a0) +/* 32CE7C E00106DC 8FB7001C */ lw $s7, 0x1c($sp) +/* 32CE80 E00106E0 8FB60018 */ lw $s6, 0x18($sp) +/* 32CE84 E00106E4 8FB50014 */ lw $s5, 0x14($sp) +/* 32CE88 E00106E8 8FB40010 */ lw $s4, 0x10($sp) +/* 32CE8C E00106EC 8FB3000C */ lw $s3, 0xc($sp) +/* 32CE90 E00106F0 8FB20008 */ lw $s2, 8($sp) +/* 32CE94 E00106F4 8FB10004 */ lw $s1, 4($sp) +/* 32CE98 E00106F8 8FB00000 */ lw $s0, ($sp) +/* 32CE9C E00106FC 03E00008 */ jr $ra +/* 32CEA0 E0010700 27BD0020 */ addiu $sp, $sp, 0x20 +/* 32CEA4 E0010704 00000000 */ nop +/* 32CEA8 E0010708 00000000 */ nop +/* 32CEAC E001070C 00000000 */ nop diff --git a/asm/nonmatchings/code_32DD10/func_E0012000.s b/asm/nonmatchings/code_32DD10/func_E0012000.s new file mode 100644 index 0000000000..e8baf6c620 --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012000.s @@ -0,0 +1,69 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012000 +/* 32DD10 E0012000 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 32DD14 E0012004 F7B400A8 */ sdc1 $f20, 0xa8($sp) +/* 32DD18 E0012008 4480A000 */ mtc1 $zero, $f20 +/* 32DD1C E001200C F7B600B0 */ sdc1 $f22, 0xb0($sp) +/* 32DD20 E0012010 3C013F80 */ lui $at, 0x3f80 +/* 32DD24 E0012014 4481B000 */ mtc1 $at, $f22 +/* 32DD28 E0012018 AFB1009C */ sw $s1, 0x9c($sp) +/* 32DD2C E001201C 0080882D */ daddu $s1, $a0, $zero +/* 32DD30 E0012020 AFBF00A0 */ sw $ra, 0xa0($sp) +/* 32DD34 E0012024 AFB00098 */ sw $s0, 0x98($sp) +/* 32DD38 E0012028 E7B40010 */ swc1 $f20, 0x10($sp) +/* 32DD3C E001202C 8E250024 */ lw $a1, 0x24($s1) +/* 32DD40 E0012030 4406B000 */ mfc1 $a2, $f22 +/* 32DD44 E0012034 4407A000 */ mfc1 $a3, $f20 +/* 32DD48 E0012038 0C080104 */ jal func_E0200410 +/* 32DD4C E001203C 27A40018 */ addiu $a0, $sp, 0x18 +/* 32DD50 E0012040 27B00058 */ addiu $s0, $sp, 0x58 +/* 32DD54 E0012044 E7B60010 */ swc1 $f22, 0x10($sp) +/* 32DD58 E0012048 8E25002C */ lw $a1, 0x2c($s1) +/* 32DD5C E001204C 4406A000 */ mfc1 $a2, $f20 +/* 32DD60 E0012050 4407A000 */ mfc1 $a3, $f20 +/* 32DD64 E0012054 0C080104 */ jal func_E0200410 +/* 32DD68 E0012058 0200202D */ daddu $a0, $s0, $zero +/* 32DD6C E001205C 0200202D */ daddu $a0, $s0, $zero +/* 32DD70 E0012060 27A50018 */ addiu $a1, $sp, 0x18 +/* 32DD74 E0012064 0C080114 */ jal func_E0200450 +/* 32DD78 E0012068 00A0302D */ daddu $a2, $a1, $zero +/* 32DD7C E001206C E7B40010 */ swc1 $f20, 0x10($sp) +/* 32DD80 E0012070 8E250028 */ lw $a1, 0x28($s1) +/* 32DD84 E0012074 4406A000 */ mfc1 $a2, $f20 +/* 32DD88 E0012078 4407B000 */ mfc1 $a3, $f22 +/* 32DD8C E001207C 0C080104 */ jal func_E0200410 +/* 32DD90 E0012080 0200202D */ daddu $a0, $s0, $zero +/* 32DD94 E0012084 27A40018 */ addiu $a0, $sp, 0x18 +/* 32DD98 E0012088 0200282D */ daddu $a1, $s0, $zero +/* 32DD9C E001208C 0C080114 */ jal func_E0200450 +/* 32DDA0 E0012090 0080302D */ daddu $a2, $a0, $zero +/* 32DDA4 E0012094 8E250018 */ lw $a1, 0x18($s1) +/* 32DDA8 E0012098 8E26001C */ lw $a2, 0x1c($s1) +/* 32DDAC E001209C 8E270020 */ lw $a3, 0x20($s1) +/* 32DDB0 E00120A0 0C080110 */ jal func_E0200440 +/* 32DDB4 E00120A4 0200202D */ daddu $a0, $s0, $zero +/* 32DDB8 E00120A8 0200202D */ daddu $a0, $s0, $zero +/* 32DDBC E00120AC 27A50018 */ addiu $a1, $sp, 0x18 +/* 32DDC0 E00120B0 0C080114 */ jal func_E0200450 +/* 32DDC4 E00120B4 00A0302D */ daddu $a2, $a1, $zero +/* 32DDC8 E00120B8 8E25000C */ lw $a1, 0xc($s1) +/* 32DDCC E00120BC 8E260010 */ lw $a2, 0x10($s1) +/* 32DDD0 E00120C0 8E270014 */ lw $a3, 0x14($s1) +/* 32DDD4 E00120C4 0C080108 */ jal func_E0200420 +/* 32DDD8 E00120C8 0200202D */ daddu $a0, $s0, $zero +/* 32DDDC E00120CC 27A40018 */ addiu $a0, $sp, 0x18 +/* 32DDE0 E00120D0 0200282D */ daddu $a1, $s0, $zero +/* 32DDE4 E00120D4 0C080114 */ jal func_E0200450 +/* 32DDE8 E00120D8 0080302D */ daddu $a2, $a0, $zero +/* 32DDEC E00120DC 27A40018 */ addiu $a0, $sp, 0x18 +/* 32DDF0 E00120E0 0C080118 */ jal func_E0200460 +/* 32DDF4 E00120E4 26250030 */ addiu $a1, $s1, 0x30 +/* 32DDF8 E00120E8 8FBF00A0 */ lw $ra, 0xa0($sp) +/* 32DDFC E00120EC 8FB1009C */ lw $s1, 0x9c($sp) +/* 32DE00 E00120F0 8FB00098 */ lw $s0, 0x98($sp) +/* 32DE04 E00120F4 D7B600B0 */ ldc1 $f22, 0xb0($sp) +/* 32DE08 E00120F8 D7B400A8 */ ldc1 $f20, 0xa8($sp) +/* 32DE0C E00120FC 03E00008 */ jr $ra +/* 32DE10 E0012100 27BD00B8 */ addiu $sp, $sp, 0xb8 diff --git a/asm/nonmatchings/code_32DD10/func_E0012104.s b/asm/nonmatchings/code_32DD10/func_E0012104.s new file mode 100644 index 0000000000..97122477ed --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012104.s @@ -0,0 +1,70 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012104 +/* 32DE14 E0012104 94820004 */ lhu $v0, 4($a0) +/* 32DE18 E0012108 14400010 */ bnez $v0, .LE001214C +/* 32DE1C E001210C 00000000 */ nop +/* 32DE20 E0012110 C4820078 */ lwc1 $f2, 0x78($a0) +/* 32DE24 E0012114 44800000 */ mtc1 $zero, $f0 +/* 32DE28 E0012118 00000000 */ nop +/* 32DE2C E001211C 46001032 */ c.eq.s $f2, $f0 +/* 32DE30 E0012120 00000000 */ nop +/* 32DE34 E0012124 45010009 */ bc1t .LE001214C +/* 32DE38 E0012128 00000000 */ nop +/* 32DE3C E001212C 3C028011 */ lui $v0, %hi(gPlayerActionState) +/* 32DE40 E0012130 8042F07C */ lb $v0, %lo(gPlayerActionState)($v0) +/* 32DE44 E0012134 14400005 */ bnez $v0, .LE001214C +/* 32DE48 E0012138 00000000 */ nop +/* 32DE4C E001213C 94820006 */ lhu $v0, 6($a0) +/* 32DE50 E0012140 24420001 */ addiu $v0, $v0, 1 +/* 32DE54 E0012144 03E00008 */ jr $ra +/* 32DE58 E0012148 A4820006 */ sh $v0, 6($a0) +.LE001214C: +/* 32DE5C E001214C C48E0088 */ lwc1 $f14, 0x88($a0) +/* 32DE60 E0012150 C480008C */ lwc1 $f0, 0x8c($a0) +/* 32DE64 E0012154 46007380 */ add.s $f14, $f14, $f0 +/* 32DE68 E0012158 C48C0084 */ lwc1 $f12, 0x84($a0) +/* 32DE6C E001215C 460E6300 */ add.s $f12, $f12, $f14 +/* 32DE70 E0012160 C4800080 */ lwc1 $f0, 0x80($a0) +/* 32DE74 E0012164 460C0000 */ add.s $f0, $f0, $f12 +/* 32DE78 E0012168 C48A0070 */ lwc1 $f10, 0x70($a0) +/* 32DE7C E001216C 460A0282 */ mul.s $f10, $f0, $f10 +/* 32DE80 E0012170 00000000 */ nop +/* 32DE84 E0012174 E4800080 */ swc1 $f0, 0x80($a0) +/* 32DE88 E0012178 46000186 */ mov.s $f6, $f0 +/* 32DE8C E001217C C4800074 */ lwc1 $f0, 0x74($a0) +/* 32DE90 E0012180 46003182 */ mul.s $f6, $f6, $f0 +/* 32DE94 E0012184 00000000 */ nop +/* 32DE98 E0012188 C4800090 */ lwc1 $f0, 0x90($a0) +/* 32DE9C E001218C 46003182 */ mul.s $f6, $f6, $f0 +/* 32DEA0 E0012190 00000000 */ nop +/* 32DEA4 E0012194 C4880080 */ lwc1 $f8, 0x80($a0) +/* 32DEA8 E0012198 C4800074 */ lwc1 $f0, 0x74($a0) +/* 32DEAC E001219C 46004202 */ mul.s $f8, $f8, $f0 +/* 32DEB0 E00121A0 00000000 */ nop +/* 32DEB4 E00121A4 C4800094 */ lwc1 $f0, 0x94($a0) +/* 32DEB8 E00121A8 90820008 */ lbu $v0, 8($a0) +/* 32DEBC E00121AC 46004202 */ mul.s $f8, $f8, $f0 +/* 32DEC0 E00121B0 00000000 */ nop +/* 32DEC4 E00121B4 C482002C */ lwc1 $f2, 0x2c($a0) +/* 32DEC8 E00121B8 C484000C */ lwc1 $f4, 0xc($a0) +/* 32DECC E00121BC 2442FFF4 */ addiu $v0, $v0, -0xc +/* 32DED0 E00121C0 A0820008 */ sb $v0, 8($a0) +/* 32DED4 E00121C4 460A1080 */ add.s $f2, $f2, $f10 +/* 32DED8 E00121C8 E48E0088 */ swc1 $f14, 0x88($a0) +/* 32DEDC E00121CC 44805000 */ mtc1 $zero, $f10 +/* 32DEE0 E00121D0 46062101 */ sub.s $f4, $f4, $f6 +/* 32DEE4 E00121D4 C4800014 */ lwc1 $f0, 0x14($a0) +/* 32DEE8 E00121D8 C4860080 */ lwc1 $f6, 0x80($a0) +/* 32DEEC E00121DC 46080001 */ sub.s $f0, $f0, $f8 +/* 32DEF0 E00121E0 E48C0084 */ swc1 $f12, 0x84($a0) +/* 32DEF4 E00121E4 E482002C */ swc1 $f2, 0x2c($a0) +/* 32DEF8 E00121E8 460A303C */ c.lt.s $f6, $f10 +/* 32DEFC E00121EC E484000C */ swc1 $f4, 0xc($a0) +/* 32DF00 E00121F0 45000002 */ bc1f .LE00121FC +/* 32DF04 E00121F4 E4800014 */ swc1 $f0, 0x14($a0) +/* 32DF08 E00121F8 E48A0078 */ swc1 $f10, 0x78($a0) +.LE00121FC: +/* 32DF0C E00121FC 03E00008 */ jr $ra +/* 32DF10 E0012200 00000000 */ nop diff --git a/asm/nonmatchings/code_32DD10/func_E0012204.s b/asm/nonmatchings/code_32DD10/func_E0012204.s new file mode 100644 index 0000000000..41a6d37f3d --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012204.s @@ -0,0 +1,154 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012204 +/* 32DF14 E0012204 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 32DF18 E0012208 F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 32DF1C E001220C 4485F000 */ mtc1 $a1, $f30 +/* 32DF20 E0012210 AFB40038 */ sw $s4, 0x38($sp) +/* 32DF24 E0012214 0080A02D */ daddu $s4, $a0, $zero +/* 32DF28 E0012218 F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 32DF2C E001221C C7BA0080 */ lwc1 $f26, 0x80($sp) +/* 32DF30 E0012220 27A40010 */ addiu $a0, $sp, 0x10 +/* 32DF34 E0012224 F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 32DF38 E0012228 C7BC0084 */ lwc1 $f28, 0x84($sp) +/* 32DF3C E001222C 3C02E001 */ lui $v0, %hi(func_E0012440) +/* 32DF40 E0012230 24422440 */ addiu $v0, $v0, %lo(func_E0012440) +/* 32DF44 E0012234 AFA20018 */ sw $v0, 0x18($sp) +/* 32DF48 E0012238 3C02E001 */ lui $v0, %hi(func_E0012448) +/* 32DF4C E001223C 24422448 */ addiu $v0, $v0, %lo(func_E0012448) +/* 32DF50 E0012240 AFA2001C */ sw $v0, 0x1c($sp) +/* 32DF54 E0012244 3C02E001 */ lui $v0, %hi(func_E0012504) +/* 32DF58 E0012248 24422504 */ addiu $v0, $v0, %lo(func_E0012504) +/* 32DF5C E001224C AFA20020 */ sw $v0, 0x20($sp) +/* 32DF60 E0012250 24020009 */ addiu $v0, $zero, 9 +/* 32DF64 E0012254 AFBF003C */ sw $ra, 0x3c($sp) +/* 32DF68 E0012258 AFB30034 */ sw $s3, 0x34($sp) +/* 32DF6C E001225C AFB20030 */ sw $s2, 0x30($sp) +/* 32DF70 E0012260 AFB1002C */ sw $s1, 0x2c($sp) +/* 32DF74 E0012264 AFB00028 */ sw $s0, 0x28($sp) +/* 32DF78 E0012268 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 32DF7C E001226C F7B60048 */ sdc1 $f22, 0x48($sp) +/* 32DF80 E0012270 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 32DF84 E0012274 AFA60078 */ sw $a2, 0x78($sp) +/* 32DF88 E0012278 AFA7007C */ sw $a3, 0x7c($sp) +/* 32DF8C E001227C AFA00010 */ sw $zero, 0x10($sp) +/* 32DF90 E0012280 AFA00024 */ sw $zero, 0x24($sp) +/* 32DF94 E0012284 0C080124 */ jal func_E0200490 +/* 32DF98 E0012288 AFA20014 */ sw $v0, 0x14($sp) +/* 32DF9C E001228C 24040098 */ addiu $a0, $zero, 0x98 +/* 32DFA0 E0012290 24130001 */ addiu $s3, $zero, 1 +/* 32DFA4 E0012294 0040802D */ daddu $s0, $v0, $zero +/* 32DFA8 E0012298 0C08012C */ jal func_E02004B0 +/* 32DFAC E001229C AE130008 */ sw $s3, 8($s0) +/* 32DFB0 E00122A0 0040882D */ daddu $s1, $v0, $zero +/* 32DFB4 E00122A4 16200003 */ bnez $s1, .LE00122B4 +/* 32DFB8 E00122A8 AE11000C */ sw $s1, 0xc($s0) +.LE00122AC: +/* 32DFBC E00122AC 080048AB */ j .LE00122AC +/* 32DFC0 E00122B0 00000000 */ nop +.LE00122B4: +/* 32DFC4 E00122B4 0220202D */ daddu $a0, $s1, $zero +/* 32DFC8 E00122B8 00132880 */ sll $a1, $s3, 2 +/* 32DFCC E00122BC 00B32821 */ addu $a1, $a1, $s3 +/* 32DFD0 E00122C0 00052880 */ sll $a1, $a1, 2 +/* 32DFD4 E00122C4 00B32823 */ subu $a1, $a1, $s3 +/* 32DFD8 E00122C8 0C080130 */ jal func_E02004C0 +/* 32DFDC E00122CC 000528C0 */ sll $a1, $a1, 3 +/* 32DFE0 E00122D0 0000902D */ daddu $s2, $zero, $zero +/* 32DFE4 E00122D4 0253102A */ slt $v0, $s2, $s3 +/* 32DFE8 E00122D8 1040004B */ beqz $v0, .LE0012408 +/* 32DFEC E00122DC 26300094 */ addiu $s0, $s1, 0x94 +/* 32DFF0 E00122E0 3C013F80 */ lui $at, 0x3f80 +/* 32DFF4 E00122E4 4481B000 */ mtc1 $at, $f22 +/* 32DFF8 E00122E8 4480C000 */ mtc1 $zero, $f24 +.LE00122EC: +/* 32DFFC E00122EC 24020001 */ addiu $v0, $zero, 1 +/* 32E000 E00122F0 AE220000 */ sw $v0, ($s1) +/* 32E004 E00122F4 A614FF70 */ sh $s4, -0x90($s0) +/* 32E008 E00122F8 AE00FFE8 */ sw $zero, -0x18($s0) +/* 32E00C E00122FC E61EFF78 */ swc1 $f30, -0x88($s0) +/* 32E010 E0012300 C7A60078 */ lwc1 $f6, 0x78($sp) +/* 32E014 E0012304 3C0140AC */ lui $at, 0x40ac +/* 32E018 E0012308 3421CCCD */ ori $at, $at, 0xcccd +/* 32E01C E001230C 44810000 */ mtc1 $at, $f0 +/* 32E020 E0012310 240200FF */ addiu $v0, $zero, 0xff +/* 32E024 E0012314 E606FF7C */ swc1 $f6, -0x84($s0) +/* 32E028 E0012318 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 32E02C E001231C 4618E032 */ c.eq.s $f28, $f24 +/* 32E030 E0012320 E616FF84 */ swc1 $f22, -0x7c($s0) +/* 32E034 E0012324 E616FF88 */ swc1 $f22, -0x78($s0) +/* 32E038 E0012328 E616FF8C */ swc1 $f22, -0x74($s0) +/* 32E03C E001232C A202FF74 */ sb $v0, -0x8c($s0) +/* 32E040 E0012330 E616FFE4 */ swc1 $f22, -0x1c($s0) +/* 32E044 E0012334 E600FFE0 */ swc1 $f0, -0x20($s0) +/* 32E048 E0012338 45010005 */ bc1t .LE0012350 +/* 32E04C E001233C E606FF80 */ swc1 $f6, -0x80($s0) +/* 32E050 E0012340 3C01C120 */ lui $at, 0xc120 +/* 32E054 E0012344 44810000 */ mtc1 $at, $f0 +/* 32E058 E0012348 080048D8 */ j .LE0012360 +/* 32E05C E001234C E600FFDC */ swc1 $f0, -0x24($s0) +.LE0012350: +/* 32E060 E0012350 3C014120 */ lui $at, 0x4120 +/* 32E064 E0012354 44810000 */ mtc1 $at, $f0 +/* 32E068 E0012358 00000000 */ nop +/* 32E06C E001235C E600FFDC */ swc1 $f0, -0x24($s0) +.LE0012360: +/* 32E070 E0012360 24040064 */ addiu $a0, $zero, 0x64 +/* 32E074 E0012364 3C013F00 */ lui $at, 0x3f00 +/* 32E078 E0012368 44810000 */ mtc1 $at, $f0 +/* 32E07C E001236C 3C01BD8F */ lui $at, 0xbd8f +/* 32E080 E0012370 34215C29 */ ori $at, $at, 0x5c29 +/* 32E084 E0012374 44811000 */ mtc1 $at, $f2 +/* 32E088 E0012378 3C013B44 */ lui $at, 0x3b44 +/* 32E08C E001237C 34219BA6 */ ori $at, $at, 0x9ba6 +/* 32E090 E0012380 44812000 */ mtc1 $at, $f4 +/* 32E094 E0012384 2402000F */ addiu $v0, $zero, 0xf +/* 32E098 E0012388 AE00FFF8 */ sw $zero, -8($s0) +/* 32E09C E001238C A602FF72 */ sh $v0, -0x8e($s0) +/* 32E0A0 E0012390 E61AFF94 */ swc1 $f26, -0x6c($s0) +/* 32E0A4 E0012394 AE00FF90 */ sw $zero, -0x70($s0) +/* 32E0A8 E0012398 AE00FF98 */ sw $zero, -0x68($s0) +/* 32E0AC E001239C E600FFEC */ swc1 $f0, -0x14($s0) +/* 32E0B0 E00123A0 E602FFF0 */ swc1 $f2, -0x10($s0) +/* 32E0B4 E00123A4 0C080138 */ jal func_E02004E0 +/* 32E0B8 E00123A8 E604FFF4 */ swc1 $f4, -0xc($s0) +/* 32E0BC E00123AC 00021103 */ sra $v0, $v0, 4 +/* 32E0C0 E00123B0 30420001 */ andi $v0, $v0, 1 +/* 32E0C4 E00123B4 4618E032 */ c.eq.s $f28, $f24 +/* 32E0C8 E00123B8 3C0142B4 */ lui $at, 0x42b4 +/* 32E0CC E00123BC 44810000 */ mtc1 $at, $f0 +/* 32E0D0 E00123C0 45010003 */ bc1t .LE00123D0 +/* 32E0D4 E00123C4 A202FF75 */ sb $v0, -0x8b($s0) +/* 32E0D8 E00123C8 3C01C2B4 */ lui $at, 0xc2b4 +/* 32E0DC E00123CC 44810000 */ mtc1 $at, $f0 +.LE00123D0: +/* 32E0E0 E00123D0 0C08013C */ jal func_E02004F0 +/* 32E0E4 E00123D4 4600D300 */ add.s $f12, $f26, $f0 +/* 32E0E8 E00123D8 46000506 */ mov.s $f20, $f0 +/* 32E0EC E00123DC 0C080140 */ jal func_E0200500 +/* 32E0F0 E00123E0 4600A306 */ mov.s $f12, $f20 +/* 32E0F4 E00123E4 4600A306 */ mov.s $f12, $f20 +/* 32E0F8 E00123E8 0C080144 */ jal func_E0200510 +/* 32E0FC E00123EC E600FFFC */ swc1 $f0, -4($s0) +/* 32E100 E00123F0 26520001 */ addiu $s2, $s2, 1 +/* 32E104 E00123F4 E6000000 */ swc1 $f0, ($s0) +/* 32E108 E00123F8 26100098 */ addiu $s0, $s0, 0x98 +/* 32E10C E00123FC 0253102A */ slt $v0, $s2, $s3 +/* 32E110 E0012400 1440FFBA */ bnez $v0, .LE00122EC +/* 32E114 E0012404 26310098 */ addiu $s1, $s1, 0x98 +.LE0012408: +/* 32E118 E0012408 8FBF003C */ lw $ra, 0x3c($sp) +/* 32E11C E001240C 8FB40038 */ lw $s4, 0x38($sp) +/* 32E120 E0012410 8FB30034 */ lw $s3, 0x34($sp) +/* 32E124 E0012414 8FB20030 */ lw $s2, 0x30($sp) +/* 32E128 E0012418 8FB1002C */ lw $s1, 0x2c($sp) +/* 32E12C E001241C 8FB00028 */ lw $s0, 0x28($sp) +/* 32E130 E0012420 D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 32E134 E0012424 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 32E138 E0012428 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 32E13C E001242C D7B80050 */ ldc1 $f24, 0x50($sp) +/* 32E140 E0012430 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 32E144 E0012434 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 32E148 E0012438 03E00008 */ jr $ra +/* 32E14C E001243C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_32DD10/func_E0012440.s b/asm/nonmatchings/code_32DD10/func_E0012440.s new file mode 100644 index 0000000000..89d906cd35 --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012440.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012440 +/* 32E150 E0012440 03E00008 */ jr $ra +/* 32E154 E0012444 00000000 */ nop diff --git a/asm/nonmatchings/code_32DD10/func_E0012448.s b/asm/nonmatchings/code_32DD10/func_E0012448.s new file mode 100644 index 0000000000..52b2aef96b --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012448.s @@ -0,0 +1,57 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012448 +/* 32E158 E0012448 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32E15C E001244C AFB40020 */ sw $s4, 0x20($sp) +/* 32E160 E0012450 0080A02D */ daddu $s4, $a0, $zero +/* 32E164 E0012454 AFB20018 */ sw $s2, 0x18($sp) +/* 32E168 E0012458 0000902D */ daddu $s2, $zero, $zero +/* 32E16C E001245C AFB3001C */ sw $s3, 0x1c($sp) +/* 32E170 E0012460 AFBF0024 */ sw $ra, 0x24($sp) +/* 32E174 E0012464 AFB10014 */ sw $s1, 0x14($sp) +/* 32E178 E0012468 AFB00010 */ sw $s0, 0x10($sp) +/* 32E17C E001246C 8E820008 */ lw $v0, 8($s4) +/* 32E180 E0012470 8E90000C */ lw $s0, 0xc($s4) +/* 32E184 E0012474 18400017 */ blez $v0, .LE00124D4 +/* 32E188 E0012478 0240982D */ daddu $s3, $s2, $zero +/* 32E18C E001247C 26110006 */ addiu $s1, $s0, 6 +.LE0012480: +/* 32E190 E0012480 8E020000 */ lw $v0, ($s0) +/* 32E194 E0012484 5040000E */ beql $v0, $zero, .LE00124C0 +/* 32E198 E0012488 26520001 */ addiu $s2, $s2, 1 +/* 32E19C E001248C 96220000 */ lhu $v0, ($s1) +/* 32E1A0 E0012490 2442FFFF */ addiu $v0, $v0, -1 +/* 32E1A4 E0012494 A6220000 */ sh $v0, ($s1) +/* 32E1A8 E0012498 00021400 */ sll $v0, $v0, 0x10 +/* 32E1AC E001249C 5C400003 */ bgtzl $v0, .LE00124AC +/* 32E1B0 E00124A0 24130001 */ addiu $s3, $zero, 1 +/* 32E1B4 E00124A4 0800492F */ j .LE00124BC +/* 32E1B8 E00124A8 AE000000 */ sw $zero, ($s0) +.LE00124AC: +/* 32E1BC E00124AC 0C004841 */ jal func_E0012104 +/* 32E1C0 E00124B0 0200202D */ daddu $a0, $s0, $zero +/* 32E1C4 E00124B4 0C004800 */ jal func_E0012000 +/* 32E1C8 E00124B8 0200202D */ daddu $a0, $s0, $zero +.LE00124BC: +/* 32E1CC E00124BC 26520001 */ addiu $s2, $s2, 1 +.LE00124C0: +/* 32E1D0 E00124C0 26310098 */ addiu $s1, $s1, 0x98 +/* 32E1D4 E00124C4 8E820008 */ lw $v0, 8($s4) +/* 32E1D8 E00124C8 0242102A */ slt $v0, $s2, $v0 +/* 32E1DC E00124CC 1440FFEC */ bnez $v0, .LE0012480 +/* 32E1E0 E00124D0 26100098 */ addiu $s0, $s0, 0x98 +.LE00124D4: +/* 32E1E4 E00124D4 16600003 */ bnez $s3, .LE00124E4 +/* 32E1E8 E00124D8 00000000 */ nop +/* 32E1EC E00124DC 0C080128 */ jal func_E02004A0 +/* 32E1F0 E00124E0 0280202D */ daddu $a0, $s4, $zero +.LE00124E4: +/* 32E1F4 E00124E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 32E1F8 E00124E8 8FB40020 */ lw $s4, 0x20($sp) +/* 32E1FC E00124EC 8FB3001C */ lw $s3, 0x1c($sp) +/* 32E200 E00124F0 8FB20018 */ lw $s2, 0x18($sp) +/* 32E204 E00124F4 8FB10014 */ lw $s1, 0x14($sp) +/* 32E208 E00124F8 8FB00010 */ lw $s0, 0x10($sp) +/* 32E20C E00124FC 03E00008 */ jr $ra +/* 32E210 E0012500 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_32DD10/func_E0012504.s b/asm/nonmatchings/code_32DD10/func_E0012504.s new file mode 100644 index 0000000000..7d0f3ef594 --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012504.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012504 +/* 32E214 E0012504 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32E218 E0012508 3C02E001 */ lui $v0, %hi(func_E0012564) +/* 32E21C E001250C 24422564 */ addiu $v0, $v0, %lo(func_E0012564) +/* 32E220 E0012510 AFA2001C */ sw $v0, 0x1c($sp) +/* 32E224 E0012514 24020028 */ addiu $v0, $zero, 0x28 +/* 32E228 E0012518 AFA40018 */ sw $a0, 0x18($sp) +/* 32E22C E001251C 27A40010 */ addiu $a0, $sp, 0x10 +/* 32E230 E0012520 AFBF0020 */ sw $ra, 0x20($sp) +/* 32E234 E0012524 AFA00014 */ sw $zero, 0x14($sp) +/* 32E238 E0012528 0C080120 */ jal func_E0200480 +/* 32E23C E001252C AFA20010 */ sw $v0, 0x10($sp) +/* 32E240 E0012530 8C430000 */ lw $v1, ($v0) +/* 32E244 E0012534 34630002 */ ori $v1, $v1, 2 +/* 32E248 E0012538 AC430000 */ sw $v1, ($v0) +/* 32E24C E001253C 8FBF0020 */ lw $ra, 0x20($sp) +/* 32E250 E0012540 03E00008 */ jr $ra +/* 32E254 E0012544 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_32DD10/func_E0012548.s b/asm/nonmatchings/code_32DD10/func_E0012548.s new file mode 100644 index 0000000000..9eac0789e6 --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012548.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012548 +/* 32E258 E0012548 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32E25C E001254C AFBF0010 */ sw $ra, 0x10($sp) +/* 32E260 E0012550 0C080128 */ jal func_E02004A0 +/* 32E264 E0012554 00000000 */ nop +/* 32E268 E0012558 8FBF0010 */ lw $ra, 0x10($sp) +/* 32E26C E001255C 03E00008 */ jr $ra +/* 32E270 E0012560 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_32DD10/func_E0012564.s b/asm/nonmatchings/code_32DD10/func_E0012564.s new file mode 100644 index 0000000000..5dafc05f30 --- /dev/null +++ b/asm/nonmatchings/code_32DD10/func_E0012564.s @@ -0,0 +1,144 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0012564 +/* 32E274 E0012564 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32E278 E0012568 0080602D */ daddu $t4, $a0, $zero +/* 32E27C E001256C 3C05DB06 */ lui $a1, 0xdb06 +/* 32E280 E0012570 34A50024 */ ori $a1, $a1, 0x24 +/* 32E284 E0012574 3C06800A */ lui $a2, %hi(D_8009A66C) +/* 32E288 E0012578 24C6A66C */ addiu $a2, $a2, %lo(D_8009A66C) +/* 32E28C E001257C 3C02E700 */ lui $v0, 0xe700 +/* 32E290 E0012580 AFB7001C */ sw $s7, 0x1c($sp) +/* 32E294 E0012584 AFB60018 */ sw $s6, 0x18($sp) +/* 32E298 E0012588 AFB50014 */ sw $s5, 0x14($sp) +/* 32E29C E001258C AFB40010 */ sw $s4, 0x10($sp) +/* 32E2A0 E0012590 AFB3000C */ sw $s3, 0xc($sp) +/* 32E2A4 E0012594 AFB20008 */ sw $s2, 8($sp) +/* 32E2A8 E0012598 AFB10004 */ sw $s1, 4($sp) +/* 32E2AC E001259C AFB00000 */ sw $s0, ($sp) +/* 32E2B0 E00125A0 8CC40000 */ lw $a0, ($a2) +/* 32E2B4 E00125A4 8D87000C */ lw $a3, 0xc($t4) +/* 32E2B8 E00125A8 0080182D */ daddu $v1, $a0, $zero +/* 32E2BC E00125AC 24840008 */ addiu $a0, $a0, 8 +/* 32E2C0 E00125B0 AC620000 */ sw $v0, ($v1) +/* 32E2C4 E00125B4 AC600004 */ sw $zero, 4($v1) +/* 32E2C8 E00125B8 AC850000 */ sw $a1, ($a0) +/* 32E2CC E00125BC 8D820010 */ lw $v0, 0x10($t4) +/* 32E2D0 E00125C0 0000482D */ daddu $t1, $zero, $zero +/* 32E2D4 E00125C4 ACC40000 */ sw $a0, ($a2) +/* 32E2D8 E00125C8 8C42001C */ lw $v0, 0x1c($v0) +/* 32E2DC E00125CC 3C038000 */ lui $v1, 0x8000 +/* 32E2E0 E00125D0 00431021 */ addu $v0, $v0, $v1 +/* 32E2E4 E00125D4 AC820004 */ sw $v0, 4($a0) +/* 32E2E8 E00125D8 8D820008 */ lw $v0, 8($t4) +/* 32E2EC E00125DC 24840008 */ addiu $a0, $a0, 8 +/* 32E2F0 E00125E0 18400053 */ blez $v0, .LE0012730 +/* 32E2F4 E00125E4 ACC40000 */ sw $a0, ($a2) +/* 32E2F8 E00125E8 3C0E800A */ lui $t6, %hi(D_8009A674) +/* 32E2FC E00125EC 25CEA674 */ addiu $t6, $t6, %lo(D_8009A674) +/* 32E300 E00125F0 3C0D8007 */ lui $t5, %hi(D_800741F0) +/* 32E304 E00125F4 25AD41F0 */ addiu $t5, $t5, %lo(D_800741F0) +/* 32E308 E00125F8 3C0B0001 */ lui $t3, 1 +/* 32E30C E00125FC 356B1630 */ ori $t3, $t3, 0x1630 +/* 32E310 E0012600 00C0502D */ daddu $t2, $a2, $zero +/* 32E314 E0012604 3C13E700 */ lui $s3, 0xe700 +/* 32E318 E0012608 3C12FA00 */ lui $s2, 0xfa00 +/* 32E31C E001260C 3C187060 */ lui $t8, 0x7060 +/* 32E320 E0012610 37181800 */ ori $t8, $t8, 0x1800 +/* 32E324 E0012614 3C11DA38 */ lui $s1, 0xda38 +/* 32E328 E0012618 3C10DE00 */ lui $s0, 0xde00 +/* 32E32C E001261C 3C0FD838 */ lui $t7, 0xd838 +/* 32E330 E0012620 35EF0002 */ ori $t7, $t7, 2 +/* 32E334 E0012624 24190040 */ addiu $t9, $zero, 0x40 +/* 32E338 E0012628 24E60008 */ addiu $a2, $a3, 8 +.LE001262C: +/* 32E33C E001262C 8CE20000 */ lw $v0, ($a3) +/* 32E340 E0012630 5040003A */ beql $v0, $zero, .LE001271C +/* 32E344 E0012634 25290001 */ addiu $t1, $t1, 1 +/* 32E348 E0012638 80C20001 */ lb $v0, 1($a2) +/* 32E34C E001263C 3C080900 */ lui $t0, 0x900 +/* 32E350 E0012640 25080E38 */ addiu $t0, $t0, 0xe38 +/* 32E354 E0012644 10400003 */ beqz $v0, .LE0012654 +/* 32E358 E0012648 24E40030 */ addiu $a0, $a3, 0x30 +/* 32E35C E001264C 3C080900 */ lui $t0, 0x900 +/* 32E360 E0012650 25080E20 */ addiu $t0, $t0, 0xe20 +.LE0012654: +/* 32E364 E0012654 24E50070 */ addiu $a1, $a3, 0x70 +/* 32E368 E0012658 95A20000 */ lhu $v0, ($t5) +/* 32E36C E001265C 8DC30000 */ lw $v1, ($t6) +/* 32E370 E0012660 00021180 */ sll $v0, $v0, 6 +/* 32E374 E0012664 00621821 */ addu $v1, $v1, $v0 +/* 32E378 E0012668 006B1821 */ addu $v1, $v1, $t3 +.LE001266C: +/* 32E37C E001266C 8C940000 */ lw $s4, ($a0) +/* 32E380 E0012670 8C950004 */ lw $s5, 4($a0) +/* 32E384 E0012674 8C960008 */ lw $s6, 8($a0) +/* 32E388 E0012678 8C97000C */ lw $s7, 0xc($a0) +/* 32E38C E001267C AC740000 */ sw $s4, ($v1) +/* 32E390 E0012680 AC750004 */ sw $s5, 4($v1) +/* 32E394 E0012684 AC760008 */ sw $s6, 8($v1) +/* 32E398 E0012688 AC77000C */ sw $s7, 0xc($v1) +/* 32E39C E001268C 24840010 */ addiu $a0, $a0, 0x10 +/* 32E3A0 E0012690 1485FFF6 */ bne $a0, $a1, .LE001266C +/* 32E3A4 E0012694 24630010 */ addiu $v1, $v1, 0x10 +/* 32E3A8 E0012698 8D440000 */ lw $a0, ($t2) +/* 32E3AC E001269C 0080102D */ daddu $v0, $a0, $zero +/* 32E3B0 E00126A0 24840008 */ addiu $a0, $a0, 8 +/* 32E3B4 E00126A4 AD440000 */ sw $a0, ($t2) +/* 32E3B8 E00126A8 AC530000 */ sw $s3, ($v0) +/* 32E3BC E00126AC AC400004 */ sw $zero, 4($v0) +/* 32E3C0 E00126B0 24820008 */ addiu $v0, $a0, 8 +/* 32E3C4 E00126B4 AD420000 */ sw $v0, ($t2) +/* 32E3C8 E00126B8 AC920000 */ sw $s2, ($a0) +/* 32E3CC E00126BC 90C50000 */ lbu $a1, ($a2) +/* 32E3D0 E00126C0 95A30000 */ lhu $v1, ($t5) +/* 32E3D4 E00126C4 24820010 */ addiu $v0, $a0, 0x10 +/* 32E3D8 E00126C8 AD420000 */ sw $v0, ($t2) +/* 32E3DC E00126CC AC910008 */ sw $s1, 8($a0) +/* 32E3E0 E00126D0 24620001 */ addiu $v0, $v1, 1 +/* 32E3E4 E00126D4 3063FFFF */ andi $v1, $v1, 0xffff +/* 32E3E8 E00126D8 00031980 */ sll $v1, $v1, 6 +/* 32E3EC E00126DC 006B1821 */ addu $v1, $v1, $t3 +/* 32E3F0 E00126E0 A5A20000 */ sh $v0, ($t5) +/* 32E3F4 E00126E4 8DC20000 */ lw $v0, ($t6) +/* 32E3F8 E00126E8 00B82825 */ or $a1, $a1, $t8 +/* 32E3FC E00126EC 00431021 */ addu $v0, $v0, $v1 +/* 32E400 E00126F0 AC82000C */ sw $v0, 0xc($a0) +/* 32E404 E00126F4 24820018 */ addiu $v0, $a0, 0x18 +/* 32E408 E00126F8 AD420000 */ sw $v0, ($t2) +/* 32E40C E00126FC 24820020 */ addiu $v0, $a0, 0x20 +/* 32E410 E0012700 AC900010 */ sw $s0, 0x10($a0) +/* 32E414 E0012704 AC880014 */ sw $t0, 0x14($a0) +/* 32E418 E0012708 AD420000 */ sw $v0, ($t2) +/* 32E41C E001270C AC8F0018 */ sw $t7, 0x18($a0) +/* 32E420 E0012710 AC99001C */ sw $t9, 0x1c($a0) +/* 32E424 E0012714 AC850004 */ sw $a1, 4($a0) +/* 32E428 E0012718 25290001 */ addiu $t1, $t1, 1 +.LE001271C: +/* 32E42C E001271C 24C60098 */ addiu $a2, $a2, 0x98 +/* 32E430 E0012720 8D820008 */ lw $v0, 8($t4) +/* 32E434 E0012724 0122102A */ slt $v0, $t1, $v0 +/* 32E438 E0012728 1440FFC0 */ bnez $v0, .LE001262C +/* 32E43C E001272C 24E70098 */ addiu $a3, $a3, 0x98 +.LE0012730: +/* 32E440 E0012730 3C03800A */ lui $v1, %hi(D_8009A66C) +/* 32E444 E0012734 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) +/* 32E448 E0012738 8C620000 */ lw $v0, ($v1) +/* 32E44C E001273C 0040202D */ daddu $a0, $v0, $zero +/* 32E450 E0012740 24420008 */ addiu $v0, $v0, 8 +/* 32E454 E0012744 AC620000 */ sw $v0, ($v1) +/* 32E458 E0012748 3C02E700 */ lui $v0, 0xe700 +/* 32E45C E001274C AC820000 */ sw $v0, ($a0) +/* 32E460 E0012750 AC800004 */ sw $zero, 4($a0) +/* 32E464 E0012754 8FB7001C */ lw $s7, 0x1c($sp) +/* 32E468 E0012758 8FB60018 */ lw $s6, 0x18($sp) +/* 32E46C E001275C 8FB50014 */ lw $s5, 0x14($sp) +/* 32E470 E0012760 8FB40010 */ lw $s4, 0x10($sp) +/* 32E474 E0012764 8FB3000C */ lw $s3, 0xc($sp) +/* 32E478 E0012768 8FB20008 */ lw $s2, 8($sp) +/* 32E47C E001276C 8FB10004 */ lw $s1, 4($sp) +/* 32E480 E0012770 8FB00000 */ lw $s0, ($sp) +/* 32E484 E0012774 03E00008 */ jr $ra +/* 32E488 E0012778 27BD0020 */ addiu $sp, $sp, 0x20 +/* 32E48C E001277C 00000000 */ nop diff --git a/asm/nonmatchings/code_32F580/func_E0018000.s b/asm/nonmatchings/code_32F580/func_E0018000.s new file mode 100644 index 0000000000..7ae8a074a3 --- /dev/null +++ b/asm/nonmatchings/code_32F580/func_E0018000.s @@ -0,0 +1,34 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0018000 +/* 32F580 E0018000 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 32F584 E0018004 AFB00098 */ sw $s0, 0x98($sp) +/* 32F588 E0018008 0080802D */ daddu $s0, $a0, $zero +/* 32F58C E001800C AFBF00A0 */ sw $ra, 0xa0($sp) +/* 32F590 E0018010 AFB1009C */ sw $s1, 0x9c($sp) +/* 32F594 E0018014 8E05000C */ lw $a1, 0xc($s0) +/* 32F598 E0018018 8E060010 */ lw $a2, 0x10($s0) +/* 32F59C E001801C 8E070014 */ lw $a3, 0x14($s0) +/* 32F5A0 E0018020 0C080108 */ jal func_E0200420 +/* 32F5A4 E0018024 27A40018 */ addiu $a0, $sp, 0x18 +/* 32F5A8 E0018028 3C073F80 */ lui $a3, 0x3f80 +/* 32F5AC E001802C 44800000 */ mtc1 $zero, $f0 +/* 32F5B0 E0018030 27B10058 */ addiu $s1, $sp, 0x58 +/* 32F5B4 E0018034 E7A00010 */ swc1 $f0, 0x10($sp) +/* 32F5B8 E0018038 8E050028 */ lw $a1, 0x28($s0) +/* 32F5BC E001803C 44060000 */ mfc1 $a2, $f0 +/* 32F5C0 E0018040 0C080104 */ jal func_E0200410 +/* 32F5C4 E0018044 0220202D */ daddu $a0, $s1, $zero +/* 32F5C8 E0018048 0220202D */ daddu $a0, $s1, $zero +/* 32F5CC E001804C 27A50018 */ addiu $a1, $sp, 0x18 +/* 32F5D0 E0018050 0C080114 */ jal func_E0200450 +/* 32F5D4 E0018054 00A0302D */ daddu $a2, $a1, $zero +/* 32F5D8 E0018058 27A40018 */ addiu $a0, $sp, 0x18 +/* 32F5DC E001805C 0C080118 */ jal func_E0200460 +/* 32F5E0 E0018060 26050030 */ addiu $a1, $s0, 0x30 +/* 32F5E4 E0018064 8FBF00A0 */ lw $ra, 0xa0($sp) +/* 32F5E8 E0018068 8FB1009C */ lw $s1, 0x9c($sp) +/* 32F5EC E001806C 8FB00098 */ lw $s0, 0x98($sp) +/* 32F5F0 E0018070 03E00008 */ jr $ra +/* 32F5F4 E0018074 27BD00A8 */ addiu $sp, $sp, 0xa8 diff --git a/asm/nonmatchings/code_32F580/func_E0018078.s b/asm/nonmatchings/code_32F580/func_E0018078.s new file mode 100644 index 0000000000..f381472f54 --- /dev/null +++ b/asm/nonmatchings/code_32F580/func_E0018078.s @@ -0,0 +1,149 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0018078 +/* 32F5F8 E0018078 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 32F5FC E001807C F7BC0060 */ sdc1 $f28, 0x60($sp) +/* 32F600 E0018080 4487E000 */ mtc1 $a3, $f28 +/* 32F604 E0018084 27A40010 */ addiu $a0, $sp, 0x10 +/* 32F608 E0018088 F7BE0068 */ sdc1 $f30, 0x68($sp) +/* 32F60C E001808C C7BE0080 */ lwc1 $f30, 0x80($sp) +/* 32F610 E0018090 3C02E002 */ lui $v0, %hi(func_E00182AC) +/* 32F614 E0018094 244282AC */ addiu $v0, $v0, %lo(func_E00182AC) +/* 32F618 E0018098 AFA20018 */ sw $v0, 0x18($sp) +/* 32F61C E001809C 3C02E002 */ lui $v0, %hi(func_E00182B4) +/* 32F620 E00180A0 244282B4 */ addiu $v0, $v0, %lo(func_E00182B4) +/* 32F624 E00180A4 AFA2001C */ sw $v0, 0x1c($sp) +/* 32F628 E00180A8 3C02E002 */ lui $v0, %hi(func_E0018378) +/* 32F62C E00180AC 24428378 */ addiu $v0, $v0, %lo(func_E0018378) +/* 32F630 E00180B0 AFA20020 */ sw $v0, 0x20($sp) +/* 32F634 E00180B4 2402000C */ addiu $v0, $zero, 0xc +/* 32F638 E00180B8 AFBF0038 */ sw $ra, 0x38($sp) +/* 32F63C E00180BC AFB30034 */ sw $s3, 0x34($sp) +/* 32F640 E00180C0 AFB20030 */ sw $s2, 0x30($sp) +/* 32F644 E00180C4 AFB1002C */ sw $s1, 0x2c($sp) +/* 32F648 E00180C8 AFB00028 */ sw $s0, 0x28($sp) +/* 32F64C E00180CC F7BA0058 */ sdc1 $f26, 0x58($sp) +/* 32F650 E00180D0 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 32F654 E00180D4 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 32F658 E00180D8 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 32F65C E00180DC E7AC0070 */ swc1 $f12, 0x70($sp) +/* 32F660 E00180E0 E7AE0074 */ swc1 $f14, 0x74($sp) +/* 32F664 E00180E4 AFA60078 */ sw $a2, 0x78($sp) +/* 32F668 E00180E8 AFA00010 */ sw $zero, 0x10($sp) +/* 32F66C E00180EC AFA00024 */ sw $zero, 0x24($sp) +/* 32F670 E00180F0 0C080124 */ jal func_E0200490 +/* 32F674 E00180F4 AFA20014 */ sw $v0, 0x14($sp) +/* 32F678 E00180F8 24040098 */ addiu $a0, $zero, 0x98 +/* 32F67C E00180FC 24130001 */ addiu $s3, $zero, 1 +/* 32F680 E0018100 0040802D */ daddu $s0, $v0, $zero +/* 32F684 E0018104 0C08012C */ jal func_E02004B0 +/* 32F688 E0018108 AE130008 */ sw $s3, 8($s0) +/* 32F68C E001810C 0040882D */ daddu $s1, $v0, $zero +/* 32F690 E0018110 16200003 */ bnez $s1, .LE0018120 +/* 32F694 E0018114 AE11000C */ sw $s1, 0xc($s0) +.LE0018118: +/* 32F698 E0018118 08006046 */ j .LE0018118 +/* 32F69C E001811C 00000000 */ nop +.LE0018120: +/* 32F6A0 E0018120 0220202D */ daddu $a0, $s1, $zero +/* 32F6A4 E0018124 00132880 */ sll $a1, $s3, 2 +/* 32F6A8 E0018128 00B32821 */ addu $a1, $a1, $s3 +/* 32F6AC E001812C 00052880 */ sll $a1, $a1, 2 +/* 32F6B0 E0018130 00B32823 */ subu $a1, $a1, $s3 +/* 32F6B4 E0018134 0C080130 */ jal func_E02004C0 +/* 32F6B8 E0018138 000528C0 */ sll $a1, $a1, 3 +/* 32F6BC E001813C 0000902D */ daddu $s2, $zero, $zero +/* 32F6C0 E0018140 0253102A */ slt $v0, $s2, $s3 +/* 32F6C4 E0018144 1040004C */ beqz $v0, .LE0018278 +/* 32F6C8 E0018148 26300008 */ addiu $s0, $s1, 8 +/* 32F6CC E001814C 3C0141F0 */ lui $at, 0x41f0 +/* 32F6D0 E0018150 44810000 */ mtc1 $at, $f0 +/* 32F6D4 E0018154 00000000 */ nop +/* 32F6D8 E0018158 4600F002 */ mul.s $f0, $f30, $f0 +/* 32F6DC E001815C 00000000 */ nop +/* 32F6E0 E0018160 3C013F80 */ lui $at, 0x3f80 +/* 32F6E4 E0018164 4481B000 */ mtc1 $at, $f22 +/* 32F6E8 E0018168 4600E000 */ add.s $f0, $f28, $f0 +/* 32F6EC E001816C 3C014170 */ lui $at, 0x4170 +/* 32F6F0 E0018170 44811000 */ mtc1 $at, $f2 +/* 32F6F4 E0018174 3C0140A0 */ lui $at, 0x40a0 +/* 32F6F8 E0018178 4481C000 */ mtc1 $at, $f24 +/* 32F6FC E001817C 46020681 */ sub.s $f26, $f0, $f2 +.LE0018180: +/* 32F700 E0018180 24020001 */ addiu $v0, $zero, 1 +/* 32F704 E0018184 AE220000 */ sw $v0, ($s1) +/* 32F708 E0018188 AE000074 */ sw $zero, 0x74($s0) +/* 32F70C E001818C C7A60070 */ lwc1 $f6, 0x70($sp) +/* 32F710 E0018190 E6060004 */ swc1 $f6, 4($s0) +/* 32F714 E0018194 C7A60074 */ lwc1 $f6, 0x74($sp) +/* 32F718 E0018198 4600E306 */ mov.s $f12, $f28 +/* 32F71C E001819C E6060008 */ swc1 $f6, 8($s0) +/* 32F720 E00181A0 C7A60078 */ lwc1 $f6, 0x78($sp) +/* 32F724 E00181A4 240200FF */ addiu $v0, $zero, 0xff +/* 32F728 E00181A8 A2020000 */ sb $v0, ($s0) +/* 32F72C E00181AC 24020064 */ addiu $v0, $zero, 0x64 +/* 32F730 E00181B0 E6160010 */ swc1 $f22, 0x10($s0) +/* 32F734 E00181B4 E6160014 */ swc1 $f22, 0x14($s0) +/* 32F738 E00181B8 E6160018 */ swc1 $f22, 0x18($s0) +/* 32F73C E00181BC AE000068 */ sw $zero, 0x68($s0) +/* 32F740 E00181C0 AE000078 */ sw $zero, 0x78($s0) +/* 32F744 E00181C4 AE00007C */ sw $zero, 0x7c($s0) +/* 32F748 E00181C8 A602FFFE */ sh $v0, -2($s0) +/* 32F74C E00181CC AE00001C */ sw $zero, 0x1c($s0) +/* 32F750 E00181D0 E61A0020 */ swc1 $f26, 0x20($s0) +/* 32F754 E00181D4 AE000024 */ sw $zero, 0x24($s0) +/* 32F758 E00181D8 0C08013C */ jal func_E02004F0 +/* 32F75C E00181DC E606000C */ swc1 $f6, 0xc($s0) +/* 32F760 E00181E0 46000506 */ mov.s $f20, $f0 +/* 32F764 E00181E4 0C080140 */ jal func_E0200500 +/* 32F768 E00181E8 4600A306 */ mov.s $f12, $f20 +/* 32F76C E00181EC 4600A306 */ mov.s $f12, $f20 +/* 32F770 E00181F0 0C080144 */ jal func_E0200510 +/* 32F774 E00181F4 E6000088 */ swc1 $f0, 0x88($s0) +/* 32F778 E00181F8 3C014334 */ lui $at, 0x4334 +/* 32F77C E00181FC 44812000 */ mtc1 $at, $f4 +/* 32F780 E0018200 00000000 */ nop +/* 32F784 E0018204 4604F102 */ mul.s $f4, $f30, $f4 +/* 32F788 E0018208 00000000 */ nop +/* 32F78C E001820C 3C014234 */ lui $at, 0x4234 +/* 32F790 E0018210 44811000 */ mtc1 $at, $f2 +/* 32F794 E0018214 00000000 */ nop +/* 32F798 E0018218 4602A500 */ add.s $f20, $f20, $f2 +/* 32F79C E001821C 4604A501 */ sub.s $f20, $f20, $f4 +/* 32F7A0 E0018220 E600008C */ swc1 $f0, 0x8c($s0) +/* 32F7A4 E0018224 0C080140 */ jal func_E0200500 +/* 32F7A8 E0018228 4600A306 */ mov.s $f12, $f20 +/* 32F7AC E001822C 46180002 */ mul.s $f0, $f0, $f24 +/* 32F7B0 E0018230 00000000 */ nop +/* 32F7B4 E0018234 C6020004 */ lwc1 $f2, 4($s0) +/* 32F7B8 E0018238 46001080 */ add.s $f2, $f2, $f0 +/* 32F7BC E001823C 4600A306 */ mov.s $f12, $f20 +/* 32F7C0 E0018240 0C080144 */ jal func_E0200510 +/* 32F7C4 E0018244 E6020004 */ swc1 $f2, 4($s0) +/* 32F7C8 E0018248 46180002 */ mul.s $f0, $f0, $f24 +/* 32F7CC E001824C 00000000 */ nop +/* 32F7D0 E0018250 26520001 */ addiu $s2, $s2, 1 +/* 32F7D4 E0018254 26310098 */ addiu $s1, $s1, 0x98 +/* 32F7D8 E0018258 C602000C */ lwc1 $f2, 0xc($s0) +/* 32F7DC E001825C 240200C8 */ addiu $v0, $zero, 0xc8 +/* 32F7E0 E0018260 46001080 */ add.s $f2, $f2, $f0 +/* 32F7E4 E0018264 A2020000 */ sb $v0, ($s0) +/* 32F7E8 E0018268 0253102A */ slt $v0, $s2, $s3 +/* 32F7EC E001826C E602000C */ swc1 $f2, 0xc($s0) +/* 32F7F0 E0018270 1440FFC3 */ bnez $v0, .LE0018180 +/* 32F7F4 E0018274 26100098 */ addiu $s0, $s0, 0x98 +.LE0018278: +/* 32F7F8 E0018278 8FBF0038 */ lw $ra, 0x38($sp) +/* 32F7FC E001827C 8FB30034 */ lw $s3, 0x34($sp) +/* 32F800 E0018280 8FB20030 */ lw $s2, 0x30($sp) +/* 32F804 E0018284 8FB1002C */ lw $s1, 0x2c($sp) +/* 32F808 E0018288 8FB00028 */ lw $s0, 0x28($sp) +/* 32F80C E001828C D7BE0068 */ ldc1 $f30, 0x68($sp) +/* 32F810 E0018290 D7BC0060 */ ldc1 $f28, 0x60($sp) +/* 32F814 E0018294 D7BA0058 */ ldc1 $f26, 0x58($sp) +/* 32F818 E0018298 D7B80050 */ ldc1 $f24, 0x50($sp) +/* 32F81C E001829C D7B60048 */ ldc1 $f22, 0x48($sp) +/* 32F820 E00182A0 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 32F824 E00182A4 03E00008 */ jr $ra +/* 32F828 E00182A8 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/nonmatchings/code_32F580/func_E00182AC.s b/asm/nonmatchings/code_32F580/func_E00182AC.s new file mode 100644 index 0000000000..c417dc01e4 --- /dev/null +++ b/asm/nonmatchings/code_32F580/func_E00182AC.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00182AC +/* 32F82C E00182AC 03E00008 */ jr $ra +/* 32F830 E00182B0 00000000 */ nop diff --git a/asm/nonmatchings/code_32F580/func_E00182B4.s b/asm/nonmatchings/code_32F580/func_E00182B4.s new file mode 100644 index 0000000000..3e88bc9503 --- /dev/null +++ b/asm/nonmatchings/code_32F580/func_E00182B4.s @@ -0,0 +1,59 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00182B4 +/* 32F834 E00182B4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32F838 E00182B8 AFB40020 */ sw $s4, 0x20($sp) +/* 32F83C E00182BC 0080A02D */ daddu $s4, $a0, $zero +/* 32F840 E00182C0 AFB20018 */ sw $s2, 0x18($sp) +/* 32F844 E00182C4 0000902D */ daddu $s2, $zero, $zero +/* 32F848 E00182C8 AFB3001C */ sw $s3, 0x1c($sp) +/* 32F84C E00182CC AFBF0024 */ sw $ra, 0x24($sp) +/* 32F850 E00182D0 AFB10014 */ sw $s1, 0x14($sp) +/* 32F854 E00182D4 AFB00010 */ sw $s0, 0x10($sp) +/* 32F858 E00182D8 8E820008 */ lw $v0, 8($s4) +/* 32F85C E00182DC 8E91000C */ lw $s1, 0xc($s4) +/* 32F860 E00182E0 18400019 */ blez $v0, .LE0018348 +/* 32F864 E00182E4 0240982D */ daddu $s3, $s2, $zero +/* 32F868 E00182E8 26300008 */ addiu $s0, $s1, 8 +.LE00182EC: +/* 32F86C E00182EC 8E220000 */ lw $v0, ($s1) +/* 32F870 E00182F0 50400010 */ beql $v0, $zero, .LE0018334 +/* 32F874 E00182F4 26520001 */ addiu $s2, $s2, 1 +/* 32F878 E00182F8 9602FFFE */ lhu $v0, -2($s0) +/* 32F87C E00182FC 2442FFFF */ addiu $v0, $v0, -1 +/* 32F880 E0018300 A602FFFE */ sh $v0, -2($s0) +/* 32F884 E0018304 00021400 */ sll $v0, $v0, 0x10 +/* 32F888 E0018308 1C400003 */ bgtz $v0, .LE0018318 +/* 32F88C E001830C 00000000 */ nop +/* 32F890 E0018310 080060CC */ j .LE0018330 +/* 32F894 E0018314 AE200000 */ sw $zero, ($s1) +.LE0018318: +/* 32F898 E0018318 0C006000 */ jal func_E0018000 +/* 32F89C E001831C 0220202D */ daddu $a0, $s1, $zero +/* 32F8A0 E0018320 92020000 */ lbu $v0, ($s0) +/* 32F8A4 E0018324 24130001 */ addiu $s3, $zero, 1 +/* 32F8A8 E0018328 2442FFFE */ addiu $v0, $v0, -2 +/* 32F8AC E001832C A2020000 */ sb $v0, ($s0) +.LE0018330: +/* 32F8B0 E0018330 26520001 */ addiu $s2, $s2, 1 +.LE0018334: +/* 32F8B4 E0018334 26100098 */ addiu $s0, $s0, 0x98 +/* 32F8B8 E0018338 8E820008 */ lw $v0, 8($s4) +/* 32F8BC E001833C 0242102A */ slt $v0, $s2, $v0 +/* 32F8C0 E0018340 1440FFEA */ bnez $v0, .LE00182EC +/* 32F8C4 E0018344 26310098 */ addiu $s1, $s1, 0x98 +.LE0018348: +/* 32F8C8 E0018348 16600003 */ bnez $s3, .LE0018358 +/* 32F8CC E001834C 00000000 */ nop +/* 32F8D0 E0018350 0C080128 */ jal func_E02004A0 +/* 32F8D4 E0018354 0280202D */ daddu $a0, $s4, $zero +.LE0018358: +/* 32F8D8 E0018358 8FBF0024 */ lw $ra, 0x24($sp) +/* 32F8DC E001835C 8FB40020 */ lw $s4, 0x20($sp) +/* 32F8E0 E0018360 8FB3001C */ lw $s3, 0x1c($sp) +/* 32F8E4 E0018364 8FB20018 */ lw $s2, 0x18($sp) +/* 32F8E8 E0018368 8FB10014 */ lw $s1, 0x14($sp) +/* 32F8EC E001836C 8FB00010 */ lw $s0, 0x10($sp) +/* 32F8F0 E0018370 03E00008 */ jr $ra +/* 32F8F4 E0018374 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_32F580/func_E0018378.s b/asm/nonmatchings/code_32F580/func_E0018378.s new file mode 100644 index 0000000000..b2fc32e4b6 --- /dev/null +++ b/asm/nonmatchings/code_32F580/func_E0018378.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E0018378 +/* 32F8F8 E0018378 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32F8FC E001837C 3C02E002 */ lui $v0, %hi(func_E00183D8) +/* 32F900 E0018380 244283D8 */ addiu $v0, $v0, %lo(func_E00183D8) +/* 32F904 E0018384 AFA2001C */ sw $v0, 0x1c($sp) +/* 32F908 E0018388 24020028 */ addiu $v0, $zero, 0x28 +/* 32F90C E001838C AFA40018 */ sw $a0, 0x18($sp) +/* 32F910 E0018390 27A40010 */ addiu $a0, $sp, 0x10 +/* 32F914 E0018394 AFBF0020 */ sw $ra, 0x20($sp) +/* 32F918 E0018398 AFA00014 */ sw $zero, 0x14($sp) +/* 32F91C E001839C 0C080120 */ jal func_E0200480 +/* 32F920 E00183A0 AFA20010 */ sw $v0, 0x10($sp) +/* 32F924 E00183A4 8C430000 */ lw $v1, ($v0) +/* 32F928 E00183A8 34630002 */ ori $v1, $v1, 2 +/* 32F92C E00183AC AC430000 */ sw $v1, ($v0) +/* 32F930 E00183B0 8FBF0020 */ lw $ra, 0x20($sp) +/* 32F934 E00183B4 03E00008 */ jr $ra +/* 32F938 E00183B8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_32F580/func_E00183BC.s b/asm/nonmatchings/code_32F580/func_E00183BC.s new file mode 100644 index 0000000000..e669f3efc8 --- /dev/null +++ b/asm/nonmatchings/code_32F580/func_E00183BC.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00183BC +/* 32F93C E00183BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32F940 E00183C0 AFBF0010 */ sw $ra, 0x10($sp) +/* 32F944 E00183C4 0C080128 */ jal func_E02004A0 +/* 32F948 E00183C8 00000000 */ nop +/* 32F94C E00183CC 8FBF0010 */ lw $ra, 0x10($sp) +/* 32F950 E00183D0 03E00008 */ jr $ra +/* 32F954 E00183D4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_32F580/func_E00183D8.s b/asm/nonmatchings/code_32F580/func_E00183D8.s new file mode 100644 index 0000000000..57b9d0e2bd --- /dev/null +++ b/asm/nonmatchings/code_32F580/func_E00183D8.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E00183D8 +/* 32F958 E00183D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32F95C E00183DC 0080602D */ daddu $t4, $a0, $zero +/* 32F960 E00183E0 3C05DB06 */ lui $a1, 0xdb06 +/* 32F964 E00183E4 34A50024 */ ori $a1, $a1, 0x24 +/* 32F968 E00183E8 3C06800A */ lui $a2, %hi(D_8009A66C) +/* 32F96C E00183EC 24C6A66C */ addiu $a2, $a2, %lo(D_8009A66C) +/* 32F970 E00183F0 3C02E700 */ lui $v0, 0xe700 +/* 32F974 E00183F4 AFB7001C */ sw $s7, 0x1c($sp) +/* 32F978 E00183F8 AFB60018 */ sw $s6, 0x18($sp) +/* 32F97C E00183FC AFB50014 */ sw $s5, 0x14($sp) +/* 32F980 E0018400 AFB40010 */ sw $s4, 0x10($sp) +/* 32F984 E0018404 AFB3000C */ sw $s3, 0xc($sp) +/* 32F988 E0018408 AFB20008 */ sw $s2, 8($sp) +/* 32F98C E001840C AFB10004 */ sw $s1, 4($sp) +/* 32F990 E0018410 AFB00000 */ sw $s0, ($sp) +/* 32F994 E0018414 8CC40000 */ lw $a0, ($a2) +/* 32F998 E0018418 8D88000C */ lw $t0, 0xc($t4) +/* 32F99C E001841C 0080182D */ daddu $v1, $a0, $zero +/* 32F9A0 E0018420 24840008 */ addiu $a0, $a0, 8 +/* 32F9A4 E0018424 AC620000 */ sw $v0, ($v1) +/* 32F9A8 E0018428 AC600004 */ sw $zero, 4($v1) +/* 32F9AC E001842C AC850000 */ sw $a1, ($a0) +/* 32F9B0 E0018430 8D820010 */ lw $v0, 0x10($t4) +/* 32F9B4 E0018434 0000482D */ daddu $t1, $zero, $zero +/* 32F9B8 E0018438 ACC40000 */ sw $a0, ($a2) +/* 32F9BC E001843C 8C42001C */ lw $v0, 0x1c($v0) +/* 32F9C0 E0018440 3C038000 */ lui $v1, 0x8000 +/* 32F9C4 E0018444 00431021 */ addu $v0, $v0, $v1 +/* 32F9C8 E0018448 AC820004 */ sw $v0, 4($a0) +/* 32F9CC E001844C 8D820008 */ lw $v0, 8($t4) +/* 32F9D0 E0018450 24840008 */ addiu $a0, $a0, 8 +/* 32F9D4 E0018454 1840004A */ blez $v0, .LE0018580 +/* 32F9D8 E0018458 ACC40000 */ sw $a0, ($a2) +/* 32F9DC E001845C 3C0F800A */ lui $t7, %hi(D_8009A674) +/* 32F9E0 E0018460 25EFA674 */ addiu $t7, $t7, %lo(D_8009A674) +/* 32F9E4 E0018464 3C0D8007 */ lui $t5, %hi(D_800741F0) +/* 32F9E8 E0018468 25AD41F0 */ addiu $t5, $t5, %lo(D_800741F0) +/* 32F9EC E001846C 3C0B0001 */ lui $t3, 1 +/* 32F9F0 E0018470 356B1630 */ ori $t3, $t3, 0x1630 +/* 32F9F4 E0018474 00C0502D */ daddu $t2, $a2, $zero +/* 32F9F8 E0018478 3C13FA00 */ lui $s3, 0xfa00 +/* 32F9FC E001847C 3C197060 */ lui $t9, 0x7060 +/* 32FA00 E0018480 37391800 */ ori $t9, $t9, 0x1800 +/* 32FA04 E0018484 3C12DA38 */ lui $s2, 0xda38 +/* 32FA08 E0018488 3C11DE00 */ lui $s1, 0xde00 +/* 32FA0C E001848C 3C18D838 */ lui $t8, 0xd838 +/* 32FA10 E0018490 37180002 */ ori $t8, $t8, 2 +/* 32FA14 E0018494 24100040 */ addiu $s0, $zero, 0x40 +/* 32FA18 E0018498 25070070 */ addiu $a3, $t0, 0x70 +.LE001849C: +/* 32FA1C E001849C 8D020000 */ lw $v0, ($t0) +/* 32FA20 E00184A0 50400032 */ beql $v0, $zero, .LE001856C +/* 32FA24 E00184A4 25290001 */ addiu $t1, $t1, 1 +/* 32FA28 E00184A8 3C0E0900 */ lui $t6, 0x900 +/* 32FA2C E00184AC 25CE0240 */ addiu $t6, $t6, 0x240 +/* 32FA30 E00184B0 25040030 */ addiu $a0, $t0, 0x30 +/* 32FA34 E00184B4 00E0282D */ daddu $a1, $a3, $zero +/* 32FA38 E00184B8 95A20000 */ lhu $v0, ($t5) +/* 32FA3C E00184BC 8DE30000 */ lw $v1, ($t7) +/* 32FA40 E00184C0 00021180 */ sll $v0, $v0, 6 +/* 32FA44 E00184C4 00621821 */ addu $v1, $v1, $v0 +/* 32FA48 E00184C8 006B1821 */ addu $v1, $v1, $t3 +.LE00184CC: +/* 32FA4C E00184CC 8C940000 */ lw $s4, ($a0) +/* 32FA50 E00184D0 8C950004 */ lw $s5, 4($a0) +/* 32FA54 E00184D4 8C960008 */ lw $s6, 8($a0) +/* 32FA58 E00184D8 8C97000C */ lw $s7, 0xc($a0) +/* 32FA5C E00184DC AC740000 */ sw $s4, ($v1) +/* 32FA60 E00184E0 AC750004 */ sw $s5, 4($v1) +/* 32FA64 E00184E4 AC760008 */ sw $s6, 8($v1) +/* 32FA68 E00184E8 AC77000C */ sw $s7, 0xc($v1) +/* 32FA6C E00184EC 24840010 */ addiu $a0, $a0, 0x10 +/* 32FA70 E00184F0 1485FFF6 */ bne $a0, $a1, .LE00184CC +/* 32FA74 E00184F4 24630010 */ addiu $v1, $v1, 0x10 +/* 32FA78 E00184F8 8D440000 */ lw $a0, ($t2) +/* 32FA7C E00184FC 0080302D */ daddu $a2, $a0, $zero +/* 32FA80 E0018500 24840008 */ addiu $a0, $a0, 8 +/* 32FA84 E0018504 AD440000 */ sw $a0, ($t2) +/* 32FA88 E0018508 ACD30000 */ sw $s3, ($a2) +/* 32FA8C E001850C 90E5FF98 */ lbu $a1, -0x68($a3) +/* 32FA90 E0018510 95A30000 */ lhu $v1, ($t5) +/* 32FA94 E0018514 24820008 */ addiu $v0, $a0, 8 +/* 32FA98 E0018518 AD420000 */ sw $v0, ($t2) +/* 32FA9C E001851C 24620001 */ addiu $v0, $v1, 1 +/* 32FAA0 E0018520 A5A20000 */ sh $v0, ($t5) +/* 32FAA4 E0018524 24820010 */ addiu $v0, $a0, 0x10 +/* 32FAA8 E0018528 AD420000 */ sw $v0, ($t2) +/* 32FAAC E001852C 24820018 */ addiu $v0, $a0, 0x18 +/* 32FAB0 E0018530 00B92825 */ or $a1, $a1, $t9 +/* 32FAB4 E0018534 3063FFFF */ andi $v1, $v1, 0xffff +/* 32FAB8 E0018538 00031980 */ sll $v1, $v1, 6 +/* 32FABC E001853C AD420000 */ sw $v0, ($t2) +/* 32FAC0 E0018540 ACC50004 */ sw $a1, 4($a2) +/* 32FAC4 E0018544 AC920000 */ sw $s2, ($a0) +/* 32FAC8 E0018548 8DE20000 */ lw $v0, ($t7) +/* 32FACC E001854C 006B1821 */ addu $v1, $v1, $t3 +/* 32FAD0 E0018550 AC910008 */ sw $s1, 8($a0) +/* 32FAD4 E0018554 AC8E000C */ sw $t6, 0xc($a0) +/* 32FAD8 E0018558 AC980010 */ sw $t8, 0x10($a0) +/* 32FADC E001855C AC900014 */ sw $s0, 0x14($a0) +/* 32FAE0 E0018560 00431021 */ addu $v0, $v0, $v1 +/* 32FAE4 E0018564 AC820004 */ sw $v0, 4($a0) +/* 32FAE8 E0018568 25290001 */ addiu $t1, $t1, 1 +.LE001856C: +/* 32FAEC E001856C 24E70098 */ addiu $a3, $a3, 0x98 +/* 32FAF0 E0018570 8D820008 */ lw $v0, 8($t4) +/* 32FAF4 E0018574 0122102A */ slt $v0, $t1, $v0 +/* 32FAF8 E0018578 1440FFC8 */ bnez $v0, .LE001849C +/* 32FAFC E001857C 25080098 */ addiu $t0, $t0, 0x98 +.LE0018580: +/* 32FB00 E0018580 3C03800A */ lui $v1, %hi(D_8009A66C) +/* 32FB04 E0018584 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) +/* 32FB08 E0018588 8C620000 */ lw $v0, ($v1) +/* 32FB0C E001858C 0040202D */ daddu $a0, $v0, $zero +/* 32FB10 E0018590 24420008 */ addiu $v0, $v0, 8 +/* 32FB14 E0018594 AC620000 */ sw $v0, ($v1) +/* 32FB18 E0018598 3C02E700 */ lui $v0, 0xe700 +/* 32FB1C E001859C AC820000 */ sw $v0, ($a0) +/* 32FB20 E00185A0 AC800004 */ sw $zero, 4($a0) +/* 32FB24 E00185A4 8FB7001C */ lw $s7, 0x1c($sp) +/* 32FB28 E00185A8 8FB60018 */ lw $s6, 0x18($sp) +/* 32FB2C E00185AC 8FB50014 */ lw $s5, 0x14($sp) +/* 32FB30 E00185B0 8FB40010 */ lw $s4, 0x10($sp) +/* 32FB34 E00185B4 8FB3000C */ lw $s3, 0xc($sp) +/* 32FB38 E00185B8 8FB20008 */ lw $s2, 8($sp) +/* 32FB3C E00185BC 8FB10004 */ lw $s1, 4($sp) +/* 32FB40 E00185C0 8FB00000 */ lw $s0, ($sp) +/* 32FB44 E00185C4 03E00008 */ jr $ra +/* 32FB48 E00185C8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 32FB4C E00185CC 00000000 */ nop diff --git a/asm/nonmatchings/code_37F720/func_E007E204.s b/asm/nonmatchings/code_37F720/func_E007E204.s index 165454a858..9e56984d1e 100644 --- a/asm/nonmatchings/code_37F720/func_E007E204.s +++ b/asm/nonmatchings/code_37F720/func_E007E204.s @@ -18,9 +18,9 @@ glabel func_E007E204 /* 37F958 E007E238 14A20005 */ bne $a1, $v0, .LE007E250 /* 37F95C E007E23C AE030040 */ sw $v1, 0x40($s0) /* 37F960 E007E240 0C080128 */ jal func_E02004A0 -/* 37F964 E007E244 00000000 */ nop +/* 37F964 E007E244 00000000 */ nop /* 37F968 E007E248 0801F93D */ j .LE007E4F4 -/* 37F96C E007E24C 00000000 */ nop +/* 37F96C E007E24C 00000000 */ nop .LE007E250: /* 37F970 E007E250 2CA20007 */ sltiu $v0, $a1, 7 /* 37F974 E007E254 10400075 */ beqz $v0, .LE007E42C @@ -29,7 +29,7 @@ glabel func_E007E204 /* 37F980 E007E260 00220821 */ addu $at, $at, $v0 /* 37F984 E007E264 8C22EC48 */ lw $v0, %lo(D_E007EC48)($at) /* 37F988 E007E268 00400008 */ jr $v0 -/* 37F98C E007E26C 00000000 */ nop +/* 37F98C E007E26C 00000000 */ nop /* 37F990 E007E270 0C080150 */ jal func_E0200540 /* 37F994 E007E274 2404002D */ addiu $a0, $zero, 0x2d /* 37F998 E007E278 C6020008 */ lwc1 $f2, 8($s0) @@ -52,7 +52,7 @@ glabel func_E007E204 /* 37F9DC E007E2BC AE000040 */ sw $zero, 0x40($s0) /* 37F9E0 E007E2C0 28620008 */ slti $v0, $v1, 8 /* 37F9E4 E007E2C4 14400004 */ bnez $v0, .LE007E2D8 -/* 37F9E8 E007E2C8 00000000 */ nop +/* 37F9E8 E007E2C8 00000000 */ nop /* 37F9EC E007E2CC 8E020004 */ lw $v0, 4($s0) /* 37F9F0 E007E2D0 0801F909 */ j .LE007E424 /* 37F9F4 E007E2D4 AE000040 */ sw $zero, 0x40($s0) @@ -63,10 +63,10 @@ glabel func_E007E204 /* 37FA04 E007E2E4 3C01E008 */ lui $at, %hi(D_E007EC68) /* 37FA08 E007E2E8 D422EC68 */ ldc1 $f2, %lo(D_E007EC68)($at) /* 37FA0C E007E2EC 44820000 */ mtc1 $v0, $f0 -/* 37FA10 E007E2F0 00000000 */ nop +/* 37FA10 E007E2F0 00000000 */ nop /* 37FA14 E007E2F4 46800021 */ cvt.d.w $f0, $f0 /* 37FA18 E007E2F8 46220002 */ mul.d $f0, $f0, $f2 -/* 37FA1C E007E2FC 00000000 */ nop +/* 37FA1C E007E2FC 00000000 */ nop /* 37FA20 E007E300 AE000034 */ sw $zero, 0x34($s0) /* 37FA24 E007E304 AE000038 */ sw $zero, 0x38($s0) /* 37FA28 E007E308 46200020 */ cvt.s.d $f0, $f0 @@ -125,14 +125,14 @@ glabel func_E007E204 /* 37FAE8 E007E3C8 C6040028 */ lwc1 $f4, 0x28($s0) /* 37FAEC E007E3CC 3C014210 */ lui $at, 0x4210 /* 37FAF0 E007E3D0 44810000 */ mtc1 $at, $f0 -/* 37FAF4 E007E3D4 00000000 */ nop +/* 37FAF4 E007E3D4 00000000 */ nop /* 37FAF8 E007E3D8 46002100 */ add.s $f4, $f4, $f0 /* 37FAFC E007E3DC 3C01E008 */ lui $at, %hi(D_E007EC70) /* 37FB00 E007E3E0 D422EC70 */ ldc1 $f2, %lo(D_E007EC70)($at) /* 37FB04 E007E3E4 C600003C */ lwc1 $f0, 0x3c($s0) /* 37FB08 E007E3E8 46800021 */ cvt.d.w $f0, $f0 /* 37FB0C E007E3EC 46220002 */ mul.d $f0, $f0, $f2 -/* 37FB10 E007E3F0 00000000 */ nop +/* 37FB10 E007E3F0 00000000 */ nop /* 37FB14 E007E3F4 E6040028 */ swc1 $f4, 0x28($s0) /* 37FB18 E007E3F8 46002086 */ mov.s $f2, $f4 /* 37FB1C E007E3FC 3C014434 */ lui $at, 0x4434 @@ -142,7 +142,7 @@ glabel func_E007E204 /* 37FB2C E007E40C 4620028D */ trunc.w.d $f10, $f0 /* 37FB30 E007E410 E60A003C */ swc1 $f10, 0x3c($s0) /* 37FB34 E007E414 45000005 */ bc1f .LE007E42C -/* 37FB38 E007E418 00000000 */ nop +/* 37FB38 E007E418 00000000 */ nop /* 37FB3C E007E41C 8E020004 */ lw $v0, 4($s0) /* 37FB40 E007E420 E6040028 */ swc1 $f4, 0x28($s0) .LE007E424: @@ -158,7 +158,7 @@ glabel func_E007E204 /* 37FB64 E007E444 24040001 */ addiu $a0, $zero, 1 /* 37FB68 E007E448 0082102A */ slt $v0, $a0, $v0 /* 37FB6C E007E44C 10400029 */ beqz $v0, .LE007E4F4 -/* 37FB70 E007E450 00000000 */ nop +/* 37FB70 E007E450 00000000 */ nop /* 37FB74 E007E454 24060004 */ addiu $a2, $zero, 4 /* 37FB78 E007E458 3C014348 */ lui $at, 0x4348 /* 37FB7C E007E45C 44814000 */ mtc1 $at, $f8 @@ -189,7 +189,7 @@ glabel func_E007E204 /* 37FBD8 E007E4B8 E462FFFC */ swc1 $f2, -4($v1) /* 37FBDC E007E4BC 46003006 */ mov.s $f0, $f6 /* 37FBE0 E007E4C0 4600403C */ c.lt.s $f8, $f0 -/* 37FBE4 E007E4C4 00000000 */ nop +/* 37FBE4 E007E4C4 00000000 */ nop /* 37FBE8 E007E4C8 45020006 */ bc1fl .LE007E4E4 /* 37FBEC E007E4CC 24840001 */ addiu $a0, $a0, 1 /* 37FBF0 E007E4D0 AC60FFF8 */ sw $zero, -8($v1) diff --git a/asm/nonmatchings/code_38C5F0/func_E008A000.s b/asm/nonmatchings/code_38C5F0/func_E008A000.s new file mode 100644 index 0000000000..70d17885ed --- /dev/null +++ b/asm/nonmatchings/code_38C5F0/func_E008A000.s @@ -0,0 +1,102 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008A000 +/* 38C5F0 E008A000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 38C5F4 E008A004 AFB10014 */ sw $s1, 0x14($sp) +/* 38C5F8 E008A008 0080882D */ daddu $s1, $a0, $zero +/* 38C5FC E008A00C 240407D0 */ addiu $a0, $zero, 0x7d0 +/* 38C600 E008A010 3C028007 */ lui $v0, %hi(gCurrentCameraID) +/* 38C604 E008A014 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) +/* 38C608 E008A018 3C03800B */ lui $v1, %hi(gCameras) +/* 38C60C E008A01C 24631D80 */ addiu $v1, $v1, %lo(gCameras) +/* 38C610 E008A020 AFBF0018 */ sw $ra, 0x18($sp) +/* 38C614 E008A024 AFB00010 */ sw $s0, 0x10($sp) +/* 38C618 E008A028 F7B60028 */ sdc1 $f22, 0x28($sp) +/* 38C61C E008A02C F7B40020 */ sdc1 $f20, 0x20($sp) +/* 38C620 E008A030 00028080 */ sll $s0, $v0, 2 +/* 38C624 E008A034 02028021 */ addu $s0, $s0, $v0 +/* 38C628 E008A038 00108080 */ sll $s0, $s0, 2 +/* 38C62C E008A03C 02028023 */ subu $s0, $s0, $v0 +/* 38C630 E008A040 001010C0 */ sll $v0, $s0, 3 +/* 38C634 E008A044 02028021 */ addu $s0, $s0, $v0 +/* 38C638 E008A048 001080C0 */ sll $s0, $s0, 3 +/* 38C63C E008A04C 0C080000 */ jal func_E0200000 +/* 38C640 E008A050 02038021 */ addu $s0, $s0, $v1 +/* 38C644 E008A054 C600003C */ lwc1 $f0, 0x3c($s0) +/* 38C648 E008A058 44821000 */ mtc1 $v0, $f2 +/* 38C64C E008A05C 00000000 */ nop +/* 38C650 E008A060 468010A0 */ cvt.s.w $f2, $f2 +/* 38C654 E008A064 46020000 */ add.s $f0, $f0, $f2 +/* 38C658 E008A068 3C01447A */ lui $at, 0x447a +/* 38C65C E008A06C 4481A000 */ mtc1 $at, $f20 +/* 38C660 E008A070 00000000 */ nop +/* 38C664 E008A074 46140001 */ sub.s $f0, $f0, $f20 +/* 38C668 E008A078 240407D0 */ addiu $a0, $zero, 0x7d0 +/* 38C66C E008A07C 0C080000 */ jal func_E0200000 +/* 38C670 E008A080 E6200008 */ swc1 $f0, 8($s1) +/* 38C674 E008A084 C6000040 */ lwc1 $f0, 0x40($s0) +/* 38C678 E008A088 44821000 */ mtc1 $v0, $f2 +/* 38C67C E008A08C 00000000 */ nop +/* 38C680 E008A090 468010A0 */ cvt.s.w $f2, $f2 +/* 38C684 E008A094 46020000 */ add.s $f0, $f0, $f2 +/* 38C688 E008A098 46140001 */ sub.s $f0, $f0, $f20 +/* 38C68C E008A09C 240407D0 */ addiu $a0, $zero, 0x7d0 +/* 38C690 E008A0A0 0C080000 */ jal func_E0200000 +/* 38C694 E008A0A4 E620000C */ swc1 $f0, 0xc($s1) +/* 38C698 E008A0A8 C6000044 */ lwc1 $f0, 0x44($s0) +/* 38C69C E008A0AC 44821000 */ mtc1 $v0, $f2 +/* 38C6A0 E008A0B0 00000000 */ nop +/* 38C6A4 E008A0B4 468010A0 */ cvt.s.w $f2, $f2 +/* 38C6A8 E008A0B8 46020000 */ add.s $f0, $f0, $f2 +/* 38C6AC E008A0BC 46140001 */ sub.s $f0, $f0, $f20 +/* 38C6B0 E008A0C0 24040014 */ addiu $a0, $zero, 0x14 +/* 38C6B4 E008A0C4 0C080000 */ jal func_E0200000 +/* 38C6B8 E008A0C8 E6200010 */ swc1 $f0, 0x10($s1) +/* 38C6BC E008A0CC 3C014120 */ lui $at, 0x4120 +/* 38C6C0 E008A0D0 4481B000 */ mtc1 $at, $f22 +/* 38C6C4 E008A0D4 44820000 */ mtc1 $v0, $f0 +/* 38C6C8 E008A0D8 00000000 */ nop +/* 38C6CC E008A0DC 46800020 */ cvt.s.w $f0, $f0 +/* 38C6D0 E008A0E0 46160001 */ sub.s $f0, $f0, $f22 +/* 38C6D4 E008A0E4 3C01E009 */ lui $at, %hi(D_E008AA60) +/* 38C6D8 E008A0E8 D434AA60 */ ldc1 $f20, %lo(D_E008AA60)($at) +/* 38C6DC E008A0EC 46000021 */ cvt.d.s $f0, $f0 +/* 38C6E0 E008A0F0 46340002 */ mul.d $f0, $f0, $f20 +/* 38C6E4 E008A0F4 00000000 */ nop +/* 38C6E8 E008A0F8 24040050 */ addiu $a0, $zero, 0x50 +/* 38C6EC E008A0FC 46200020 */ cvt.s.d $f0, $f0 +/* 38C6F0 E008A100 0C080000 */ jal func_E0200000 +/* 38C6F4 E008A104 E6200014 */ swc1 $f0, 0x14($s1) +/* 38C6F8 E008A108 3C01E009 */ lui $at, %hi(D_E008AA68) +/* 38C6FC E008A10C D420AA68 */ ldc1 $f0, %lo(D_E008AA68)($at) +/* 38C700 E008A110 44821000 */ mtc1 $v0, $f2 +/* 38C704 E008A114 00000000 */ nop +/* 38C708 E008A118 468010A1 */ cvt.d.w $f2, $f2 +/* 38C70C E008A11C 46201082 */ mul.d $f2, $f2, $f0 +/* 38C710 E008A120 00000000 */ nop +/* 38C714 E008A124 3C01E009 */ lui $at, %hi(D_E008AA70) +/* 38C718 E008A128 D420AA70 */ ldc1 $f0, %lo(D_E008AA70)($at) +/* 38C71C E008A12C 46220001 */ sub.d $f0, $f0, $f2 +/* 38C720 E008A130 24040014 */ addiu $a0, $zero, 0x14 +/* 38C724 E008A134 46200020 */ cvt.s.d $f0, $f0 +/* 38C728 E008A138 0C080000 */ jal func_E0200000 +/* 38C72C E008A13C E6200018 */ swc1 $f0, 0x18($s1) +/* 38C730 E008A140 44820000 */ mtc1 $v0, $f0 +/* 38C734 E008A144 00000000 */ nop +/* 38C738 E008A148 46800020 */ cvt.s.w $f0, $f0 +/* 38C73C E008A14C 46160001 */ sub.s $f0, $f0, $f22 +/* 38C740 E008A150 46000021 */ cvt.d.s $f0, $f0 +/* 38C744 E008A154 46340002 */ mul.d $f0, $f0, $f20 +/* 38C748 E008A158 00000000 */ nop +/* 38C74C E008A15C 240200FF */ addiu $v0, $zero, 0xff +/* 38C750 E008A160 AE220028 */ sw $v0, 0x28($s1) +/* 38C754 E008A164 46200020 */ cvt.s.d $f0, $f0 +/* 38C758 E008A168 E620001C */ swc1 $f0, 0x1c($s1) +/* 38C75C E008A16C 8FBF0018 */ lw $ra, 0x18($sp) +/* 38C760 E008A170 8FB10014 */ lw $s1, 0x14($sp) +/* 38C764 E008A174 8FB00010 */ lw $s0, 0x10($sp) +/* 38C768 E008A178 D7B60028 */ ldc1 $f22, 0x28($sp) +/* 38C76C E008A17C D7B40020 */ ldc1 $f20, 0x20($sp) +/* 38C770 E008A180 03E00008 */ jr $ra +/* 38C774 E008A184 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_38C5F0/func_E008A188.s b/asm/nonmatchings/code_38C5F0/func_E008A188.s new file mode 100644 index 0000000000..880096abbb --- /dev/null +++ b/asm/nonmatchings/code_38C5F0/func_E008A188.s @@ -0,0 +1,72 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008A188 +/* 38C778 E008A188 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 38C77C E008A18C AFB1002C */ sw $s1, 0x2c($sp) +/* 38C780 E008A190 0080882D */ daddu $s1, $a0, $zero +/* 38C784 E008A194 AFB30034 */ sw $s3, 0x34($sp) +/* 38C788 E008A198 00A0982D */ daddu $s3, $a1, $zero +/* 38C78C E008A19C 27A40010 */ addiu $a0, $sp, 0x10 +/* 38C790 E008A1A0 3C02E009 */ lui $v0, %hi(func_E008A288) +/* 38C794 E008A1A4 2442A288 */ addiu $v0, $v0, %lo(func_E008A288) +/* 38C798 E008A1A8 AFA20018 */ sw $v0, 0x18($sp) +/* 38C79C E008A1AC 3C02E009 */ lui $v0, %hi(func_E008A53C) +/* 38C7A0 E008A1B0 2442A53C */ addiu $v0, $v0, %lo(func_E008A53C) +/* 38C7A4 E008A1B4 AFA2001C */ sw $v0, 0x1c($sp) +/* 38C7A8 E008A1B8 3C02E009 */ lui $v0, %hi(func_E008A6E4) +/* 38C7AC E008A1BC 2442A6E4 */ addiu $v0, $v0, %lo(func_E008A6E4) +/* 38C7B0 E008A1C0 AFA20020 */ sw $v0, 0x20($sp) +/* 38C7B4 E008A1C4 24020045 */ addiu $v0, $zero, 0x45 +/* 38C7B8 E008A1C8 AFB00028 */ sw $s0, 0x28($sp) +/* 38C7BC E008A1CC 26700001 */ addiu $s0, $s3, 1 +/* 38C7C0 E008A1D0 AFBF0038 */ sw $ra, 0x38($sp) +/* 38C7C4 E008A1D4 AFB20030 */ sw $s2, 0x30($sp) +/* 38C7C8 E008A1D8 AFA00010 */ sw $zero, 0x10($sp) +/* 38C7CC E008A1DC AFA00024 */ sw $zero, 0x24($sp) +/* 38C7D0 E008A1E0 0C080124 */ jal func_E0200490 +/* 38C7D4 E008A1E4 AFA20014 */ sw $v0, 0x14($sp) +/* 38C7D8 E008A1E8 00102040 */ sll $a0, $s0, 1 +/* 38C7DC E008A1EC 00902021 */ addu $a0, $a0, $s0 +/* 38C7E0 E008A1F0 00042080 */ sll $a0, $a0, 2 +/* 38C7E4 E008A1F4 00902021 */ addu $a0, $a0, $s0 +/* 38C7E8 E008A1F8 00042080 */ sll $a0, $a0, 2 +/* 38C7EC E008A1FC 0040902D */ daddu $s2, $v0, $zero +/* 38C7F0 E008A200 0C08012C */ jal func_E02004B0 +/* 38C7F4 E008A204 AE500008 */ sw $s0, 8($s2) +/* 38C7F8 E008A208 0040802D */ daddu $s0, $v0, $zero +/* 38C7FC E008A20C 16000003 */ bnez $s0, .LE008A21C +/* 38C800 E008A210 AE50000C */ sw $s0, 0xc($s2) +.LE008A214: +/* 38C804 E008A214 08022885 */ j .LE008A214 +/* 38C808 E008A218 00000000 */ nop +.LE008A21C: +/* 38C80C E008A21C 24020064 */ addiu $v0, $zero, 0x64 +/* 38C810 E008A220 AE020020 */ sw $v0, 0x20($s0) +/* 38C814 E008A224 240200FF */ addiu $v0, $zero, 0xff +/* 38C818 E008A228 AE020028 */ sw $v0, 0x28($s0) +/* 38C81C E008A22C 24020001 */ addiu $v0, $zero, 1 +/* 38C820 E008A230 AE000024 */ sw $zero, 0x24($s0) +/* 38C824 E008A234 AE110004 */ sw $s1, 4($s0) +/* 38C828 E008A238 AE13002C */ sw $s3, 0x2c($s0) +/* 38C82C E008A23C AE020000 */ sw $v0, ($s0) +/* 38C830 E008A240 26100034 */ addiu $s0, $s0, 0x34 +/* 38C834 E008A244 1A600008 */ blez $s3, .LE008A268 +/* 38C838 E008A248 0000882D */ daddu $s1, $zero, $zero +.LE008A24C: +/* 38C83C E008A24C 0C022800 */ jal func_E008A000 +/* 38C840 E008A250 0200202D */ daddu $a0, $s0, $zero +/* 38C844 E008A254 AE000030 */ sw $zero, 0x30($s0) +/* 38C848 E008A258 26310001 */ addiu $s1, $s1, 1 +/* 38C84C E008A25C 0233102A */ slt $v0, $s1, $s3 +/* 38C850 E008A260 1440FFFA */ bnez $v0, .LE008A24C +/* 38C854 E008A264 26100034 */ addiu $s0, $s0, 0x34 +.LE008A268: +/* 38C858 E008A268 0240102D */ daddu $v0, $s2, $zero +/* 38C85C E008A26C 8FBF0038 */ lw $ra, 0x38($sp) +/* 38C860 E008A270 8FB30034 */ lw $s3, 0x34($sp) +/* 38C864 E008A274 8FB20030 */ lw $s2, 0x30($sp) +/* 38C868 E008A278 8FB1002C */ lw $s1, 0x2c($sp) +/* 38C86C E008A27C 8FB00028 */ lw $s0, 0x28($sp) +/* 38C870 E008A280 03E00008 */ jr $ra +/* 38C874 E008A284 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/nonmatchings/code_38C5F0/func_E008A288.s b/asm/nonmatchings/code_38C5F0/func_E008A288.s new file mode 100644 index 0000000000..09f634aa3d --- /dev/null +++ b/asm/nonmatchings/code_38C5F0/func_E008A288.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008A288 +/* 38C878 E008A288 03E00008 */ jr $ra +/* 38C87C E008A28C 00000000 */ nop diff --git a/asm/nonmatchings/code_38C5F0/func_E008A290.s b/asm/nonmatchings/code_38C5F0/func_E008A290.s new file mode 100644 index 0000000000..813ce3aec5 --- /dev/null +++ b/asm/nonmatchings/code_38C5F0/func_E008A290.s @@ -0,0 +1,196 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008A290 +/* 38C880 E008A290 0080402D */ daddu $t0, $a0, $zero +/* 38C884 E008A294 3C04800B */ lui $a0, %hi(gCameras) +/* 38C888 E008A298 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* 38C88C E008A29C 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 38C890 E008A2A0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 38C894 E008A2A4 C5000008 */ lwc1 $f0, 8($t0) +/* 38C898 E008A2A8 C508000C */ lwc1 $f8, 0xc($t0) +/* 38C89C E008A2AC 00031080 */ sll $v0, $v1, 2 +/* 38C8A0 E008A2B0 00431021 */ addu $v0, $v0, $v1 +/* 38C8A4 E008A2B4 00021080 */ sll $v0, $v0, 2 +/* 38C8A8 E008A2B8 00431023 */ subu $v0, $v0, $v1 +/* 38C8AC E008A2BC 000218C0 */ sll $v1, $v0, 3 +/* 38C8B0 E008A2C0 00431021 */ addu $v0, $v0, $v1 +/* 38C8B4 E008A2C4 000210C0 */ sll $v0, $v0, 3 +/* 38C8B8 E008A2C8 00441021 */ addu $v0, $v0, $a0 +/* 38C8BC E008A2CC C4420048 */ lwc1 $f2, 0x48($v0) +/* 38C8C0 E008A2D0 C50A0010 */ lwc1 $f10, 0x10($t0) +/* 38C8C4 E008A2D4 46020001 */ sub.s $f0, $f0, $f2 +/* 38C8C8 E008A2D8 C444004C */ lwc1 $f4, 0x4c($v0) +/* 38C8CC E008A2DC C4460050 */ lwc1 $f6, 0x50($v0) +/* 38C8D0 E008A2E0 4600030D */ trunc.w.s $f12, $f0 +/* 38C8D4 E008A2E4 44046000 */ mfc1 $a0, $f12 +/* 38C8D8 E008A2E8 00000000 */ nop +/* 38C8DC E008A2EC 00A4182A */ slt $v1, $a1, $a0 +/* 38C8E0 E008A2F0 10600014 */ beqz $v1, .LE008A344 +/* 38C8E4 E008A2F4 00051023 */ negu $v0, $a1 +/* 38C8E8 E008A2F8 14A00002 */ bnez $a1, .LE008A304 +/* 38C8EC E008A2FC 0085001A */ div $zero, $a0, $a1 +/* 38C8F0 E008A300 0007000D */ break 7 +.LE008A304: +/* 38C8F4 E008A304 2401FFFF */ addiu $at, $zero, -1 +/* 38C8F8 E008A308 14A10004 */ bne $a1, $at, .LE008A31C +/* 38C8FC E008A30C 3C018000 */ lui $at, 0x8000 +/* 38C900 E008A310 14810002 */ bne $a0, $at, .LE008A31C +/* 38C904 E008A314 00000000 */ nop +/* 38C908 E008A318 0006000D */ break 6 +.LE008A31C: +/* 38C90C E008A31C 00002010 */ mfhi $a0 +/* 38C910 E008A320 44850000 */ mtc1 $a1, $f0 +/* 38C914 E008A324 00000000 */ nop +/* 38C918 E008A328 46800020 */ cvt.s.w $f0, $f0 +/* 38C91C E008A32C 46001001 */ sub.s $f0, $f2, $f0 +/* 38C920 E008A330 44841000 */ mtc1 $a0, $f2 +/* 38C924 E008A334 00000000 */ nop +/* 38C928 E008A338 468010A0 */ cvt.s.w $f2, $f2 +/* 38C92C E008A33C 080228E6 */ j .LE008A398 +/* 38C930 E008A340 46020000 */ add.s $f0, $f0, $f2 +.LE008A344: +/* 38C934 E008A344 0082102A */ slt $v0, $a0, $v0 +/* 38C938 E008A348 10400014 */ beqz $v0, .LE008A39C +/* 38C93C E008A34C 00042023 */ negu $a0, $a0 +/* 38C940 E008A350 14A00002 */ bnez $a1, .LE008A35C +/* 38C944 E008A354 0085001A */ div $zero, $a0, $a1 +/* 38C948 E008A358 0007000D */ break 7 +.LE008A35C: +/* 38C94C E008A35C 2401FFFF */ addiu $at, $zero, -1 +/* 38C950 E008A360 14A10004 */ bne $a1, $at, .LE008A374 +/* 38C954 E008A364 3C018000 */ lui $at, 0x8000 +/* 38C958 E008A368 14810002 */ bne $a0, $at, .LE008A374 +/* 38C95C E008A36C 00000000 */ nop +/* 38C960 E008A370 0006000D */ break 6 +.LE008A374: +/* 38C964 E008A374 00002010 */ mfhi $a0 +/* 38C968 E008A378 44850000 */ mtc1 $a1, $f0 +/* 38C96C E008A37C 00000000 */ nop +/* 38C970 E008A380 46800020 */ cvt.s.w $f0, $f0 +/* 38C974 E008A384 46001000 */ add.s $f0, $f2, $f0 +/* 38C978 E008A388 44841000 */ mtc1 $a0, $f2 +/* 38C97C E008A38C 00000000 */ nop +/* 38C980 E008A390 468010A0 */ cvt.s.w $f2, $f2 +/* 38C984 E008A394 46020001 */ sub.s $f0, $f0, $f2 +.LE008A398: +/* 38C988 E008A398 E5000008 */ swc1 $f0, 8($t0) +.LE008A39C: +/* 38C98C E008A39C 46044001 */ sub.s $f0, $f8, $f4 +/* 38C990 E008A3A0 4600030D */ trunc.w.s $f12, $f0 +/* 38C994 E008A3A4 44036000 */ mfc1 $v1, $f12 +/* 38C998 E008A3A8 00000000 */ nop +/* 38C99C E008A3AC 00C3102A */ slt $v0, $a2, $v1 +/* 38C9A0 E008A3B0 10400014 */ beqz $v0, .LE008A404 +/* 38C9A4 E008A3B4 00061023 */ negu $v0, $a2 +/* 38C9A8 E008A3B8 14C00002 */ bnez $a2, .LE008A3C4 +/* 38C9AC E008A3BC 0066001A */ div $zero, $v1, $a2 +/* 38C9B0 E008A3C0 0007000D */ break 7 +.LE008A3C4: +/* 38C9B4 E008A3C4 2401FFFF */ addiu $at, $zero, -1 +/* 38C9B8 E008A3C8 14C10004 */ bne $a2, $at, .LE008A3DC +/* 38C9BC E008A3CC 3C018000 */ lui $at, 0x8000 +/* 38C9C0 E008A3D0 14610002 */ bne $v1, $at, .LE008A3DC +/* 38C9C4 E008A3D4 00000000 */ nop +/* 38C9C8 E008A3D8 0006000D */ break 6 +.LE008A3DC: +/* 38C9CC E008A3DC 00001810 */ mfhi $v1 +/* 38C9D0 E008A3E0 44860000 */ mtc1 $a2, $f0 +/* 38C9D4 E008A3E4 00000000 */ nop +/* 38C9D8 E008A3E8 46800020 */ cvt.s.w $f0, $f0 +/* 38C9DC E008A3EC 46002001 */ sub.s $f0, $f4, $f0 +/* 38C9E0 E008A3F0 44831000 */ mtc1 $v1, $f2 +/* 38C9E4 E008A3F4 00000000 */ nop +/* 38C9E8 E008A3F8 468010A0 */ cvt.s.w $f2, $f2 +/* 38C9EC E008A3FC 0802291B */ j .LE008A46C +/* 38C9F0 E008A400 46020000 */ add.s $f0, $f0, $f2 +.LE008A404: +/* 38C9F4 E008A404 0062102A */ slt $v0, $v1, $v0 +/* 38C9F8 E008A408 10400019 */ beqz $v0, .LE008A470 +/* 38C9FC E008A40C 28E20064 */ slti $v0, $a3, 0x64 +/* 38CA00 E008A410 10400004 */ beqz $v0, .LE008A424 +/* 38CA04 E008A414 00031823 */ negu $v1, $v1 +/* 38CA08 E008A418 AD000018 */ sw $zero, 0x18($t0) +/* 38CA0C E008A41C 0802291C */ j .LE008A470 +/* 38CA10 E008A420 AD000028 */ sw $zero, 0x28($t0) +.LE008A424: +/* 38CA14 E008A424 14C00002 */ bnez $a2, .LE008A430 +/* 38CA18 E008A428 0066001A */ div $zero, $v1, $a2 +/* 38CA1C E008A42C 0007000D */ break 7 +.LE008A430: +/* 38CA20 E008A430 2401FFFF */ addiu $at, $zero, -1 +/* 38CA24 E008A434 14C10004 */ bne $a2, $at, .LE008A448 +/* 38CA28 E008A438 3C018000 */ lui $at, 0x8000 +/* 38CA2C E008A43C 14610002 */ bne $v1, $at, .LE008A448 +/* 38CA30 E008A440 00000000 */ nop +/* 38CA34 E008A444 0006000D */ break 6 +.LE008A448: +/* 38CA38 E008A448 00001810 */ mfhi $v1 +/* 38CA3C E008A44C 44860000 */ mtc1 $a2, $f0 +/* 38CA40 E008A450 00000000 */ nop +/* 38CA44 E008A454 46800020 */ cvt.s.w $f0, $f0 +/* 38CA48 E008A458 46002000 */ add.s $f0, $f4, $f0 +/* 38CA4C E008A45C 44831000 */ mtc1 $v1, $f2 +/* 38CA50 E008A460 00000000 */ nop +/* 38CA54 E008A464 468010A0 */ cvt.s.w $f2, $f2 +/* 38CA58 E008A468 46020001 */ sub.s $f0, $f0, $f2 +.LE008A46C: +/* 38CA5C E008A46C E500000C */ swc1 $f0, 0xc($t0) +.LE008A470: +/* 38CA60 E008A470 46065001 */ sub.s $f0, $f10, $f6 +/* 38CA64 E008A474 4600030D */ trunc.w.s $f12, $f0 +/* 38CA68 E008A478 44036000 */ mfc1 $v1, $f12 +/* 38CA6C E008A47C 00000000 */ nop +/* 38CA70 E008A480 00A3102A */ slt $v0, $a1, $v1 +/* 38CA74 E008A484 10400015 */ beqz $v0, .LE008A4DC +/* 38CA78 E008A488 00051023 */ negu $v0, $a1 +/* 38CA7C E008A48C 14A00002 */ bnez $a1, .LE008A498 +/* 38CA80 E008A490 0065001A */ div $zero, $v1, $a1 +/* 38CA84 E008A494 0007000D */ break 7 +.LE008A498: +/* 38CA88 E008A498 2401FFFF */ addiu $at, $zero, -1 +/* 38CA8C E008A49C 14A10004 */ bne $a1, $at, .LE008A4B0 +/* 38CA90 E008A4A0 3C018000 */ lui $at, 0x8000 +/* 38CA94 E008A4A4 14610002 */ bne $v1, $at, .LE008A4B0 +/* 38CA98 E008A4A8 00000000 */ nop +/* 38CA9C E008A4AC 0006000D */ break 6 +.LE008A4B0: +/* 38CAA0 E008A4B0 00001810 */ mfhi $v1 +/* 38CAA4 E008A4B4 44850000 */ mtc1 $a1, $f0 +/* 38CAA8 E008A4B8 00000000 */ nop +/* 38CAAC E008A4BC 46800020 */ cvt.s.w $f0, $f0 +/* 38CAB0 E008A4C0 46003001 */ sub.s $f0, $f6, $f0 +/* 38CAB4 E008A4C4 44831000 */ mtc1 $v1, $f2 +/* 38CAB8 E008A4C8 00000000 */ nop +/* 38CABC E008A4CC 468010A0 */ cvt.s.w $f2, $f2 +/* 38CAC0 E008A4D0 46020000 */ add.s $f0, $f0, $f2 +/* 38CAC4 E008A4D4 03E00008 */ jr $ra +/* 38CAC8 E008A4D8 E5000010 */ swc1 $f0, 0x10($t0) +.LE008A4DC: +/* 38CACC E008A4DC 0062102A */ slt $v0, $v1, $v0 +/* 38CAD0 E008A4E0 10400014 */ beqz $v0, .LE008A534 +/* 38CAD4 E008A4E4 00031823 */ negu $v1, $v1 +/* 38CAD8 E008A4E8 14A00002 */ bnez $a1, .LE008A4F4 +/* 38CADC E008A4EC 0065001A */ div $zero, $v1, $a1 +/* 38CAE0 E008A4F0 0007000D */ break 7 +.LE008A4F4: +/* 38CAE4 E008A4F4 2401FFFF */ addiu $at, $zero, -1 +/* 38CAE8 E008A4F8 14A10004 */ bne $a1, $at, .LE008A50C +/* 38CAEC E008A4FC 3C018000 */ lui $at, 0x8000 +/* 38CAF0 E008A500 14610002 */ bne $v1, $at, .LE008A50C +/* 38CAF4 E008A504 00000000 */ nop +/* 38CAF8 E008A508 0006000D */ break 6 +.LE008A50C: +/* 38CAFC E008A50C 00001810 */ mfhi $v1 +/* 38CB00 E008A510 44850000 */ mtc1 $a1, $f0 +/* 38CB04 E008A514 00000000 */ nop +/* 38CB08 E008A518 46800020 */ cvt.s.w $f0, $f0 +/* 38CB0C E008A51C 46003000 */ add.s $f0, $f6, $f0 +/* 38CB10 E008A520 44831000 */ mtc1 $v1, $f2 +/* 38CB14 E008A524 00000000 */ nop +/* 38CB18 E008A528 468010A0 */ cvt.s.w $f2, $f2 +/* 38CB1C E008A52C 46020001 */ sub.s $f0, $f0, $f2 +/* 38CB20 E008A530 E5000010 */ swc1 $f0, 0x10($t0) +.LE008A534: +/* 38CB24 E008A534 03E00008 */ jr $ra +/* 38CB28 E008A538 00000000 */ nop diff --git a/asm/nonmatchings/code_38C5F0/func_E008A53C.s b/asm/nonmatchings/code_38C5F0/func_E008A53C.s new file mode 100644 index 0000000000..e149e8ee2a --- /dev/null +++ b/asm/nonmatchings/code_38C5F0/func_E008A53C.s @@ -0,0 +1,117 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008A53C +/* 38CB2C E008A53C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 38CB30 E008A540 0080282D */ daddu $a1, $a0, $zero +/* 38CB34 E008A544 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 38CB38 E008A548 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 38CB3C E008A54C 3C04800B */ lui $a0, %hi(gCameras) +/* 38CB40 E008A550 24841D80 */ addiu $a0, $a0, %lo(gCameras) +/* 38CB44 E008A554 AFBF002C */ sw $ra, 0x2c($sp) +/* 38CB48 E008A558 AFB60028 */ sw $s6, 0x28($sp) +/* 38CB4C E008A55C AFB50024 */ sw $s5, 0x24($sp) +/* 38CB50 E008A560 AFB40020 */ sw $s4, 0x20($sp) +/* 38CB54 E008A564 AFB3001C */ sw $s3, 0x1c($sp) +/* 38CB58 E008A568 AFB20018 */ sw $s2, 0x18($sp) +/* 38CB5C E008A56C AFB10014 */ sw $s1, 0x14($sp) +/* 38CB60 E008A570 AFB00010 */ sw $s0, 0x10($sp) +/* 38CB64 E008A574 8CB1000C */ lw $s1, 0xc($a1) +/* 38CB68 E008A578 00031080 */ sll $v0, $v1, 2 +/* 38CB6C E008A57C 00431021 */ addu $v0, $v0, $v1 +/* 38CB70 E008A580 00021080 */ sll $v0, $v0, 2 +/* 38CB74 E008A584 00431023 */ subu $v0, $v0, $v1 +/* 38CB78 E008A588 000218C0 */ sll $v1, $v0, 3 +/* 38CB7C E008A58C 00431021 */ addu $v0, $v0, $v1 +/* 38CB80 E008A590 000210C0 */ sll $v0, $v0, 3 +/* 38CB84 E008A594 8E230020 */ lw $v1, 0x20($s1) +/* 38CB88 E008A598 00442021 */ addu $a0, $v0, $a0 +/* 38CB8C E008A59C 28620064 */ slti $v0, $v1, 0x64 +/* 38CB90 E008A5A0 10400002 */ beqz $v0, .LE008A5AC +/* 38CB94 E008A5A4 2462FFFF */ addiu $v0, $v1, -1 +/* 38CB98 E008A5A8 AE220020 */ sw $v0, 0x20($s1) +.LE008A5AC: +/* 38CB9C E008A5AC 8E220020 */ lw $v0, 0x20($s1) +/* 38CBA0 E008A5B0 04410005 */ bgez $v0, .LE008A5C8 +/* 38CBA4 E008A5B4 00000000 */ nop +/* 38CBA8 E008A5B8 0C080128 */ jal func_E02004A0 +/* 38CBAC E008A5BC 00A0202D */ daddu $a0, $a1, $zero +/* 38CBB0 E008A5C0 080229AF */ j .LE008A6BC +/* 38CBB4 E008A5C4 00000000 */ nop +.LE008A5C8: +/* 38CBB8 E008A5C8 8E220024 */ lw $v0, 0x24($s1) +/* 38CBBC E008A5CC 8E330020 */ lw $s3, 0x20($s1) +/* 38CBC0 E008A5D0 8E35002C */ lw $s5, 0x2c($s1) +/* 38CBC4 E008A5D4 24420001 */ addiu $v0, $v0, 1 +/* 38CBC8 E008A5D8 AE220024 */ sw $v0, 0x24($s1) +/* 38CBCC E008A5DC 2A62000A */ slti $v0, $s3, 0xa +/* 38CBD0 E008A5E0 10400005 */ beqz $v0, .LE008A5F8 +/* 38CBD4 E008A5E4 00131040 */ sll $v0, $s3, 1 +/* 38CBD8 E008A5E8 00531021 */ addu $v0, $v0, $s3 +/* 38CBDC E008A5EC 000210C0 */ sll $v0, $v0, 3 +/* 38CBE0 E008A5F0 00531021 */ addu $v0, $v0, $s3 +/* 38CBE4 E008A5F4 AE220028 */ sw $v0, 0x28($s1) +.LE008A5F8: +/* 38CBE8 E008A5F8 C4800078 */ lwc1 $f0, 0x78($a0) +/* 38CBEC E008A5FC 3C01E009 */ lui $at, %hi(D_E008AA78) +/* 38CBF0 E008A600 D422AA78 */ ldc1 $f2, %lo(D_E008AA78)($at) +/* 38CBF4 E008A604 4600020D */ trunc.w.s $f8, $f0 +/* 38CBF8 E008A608 44144000 */ mfc1 $s4, $f8 +/* 38CBFC E008A60C 00000000 */ nop +/* 38CC00 E008A610 44940000 */ mtc1 $s4, $f0 +/* 38CC04 E008A614 00000000 */ nop +/* 38CC08 E008A618 46800021 */ cvt.d.w $f0, $f0 +/* 38CC0C E008A61C 46220002 */ mul.d $f0, $f0, $f2 +/* 38CC10 E008A620 00000000 */ nop +/* 38CC14 E008A624 3C013FF0 */ lui $at, 0x3ff0 +/* 38CC18 E008A628 44811800 */ mtc1 $at, $f3 +/* 38CC1C E008A62C 44801000 */ mtc1 $zero, $f2 +/* 38CC20 E008A630 00000000 */ nop +/* 38CC24 E008A634 46220000 */ add.d $f0, $f0, $f2 +/* 38CC28 E008A638 26310034 */ addiu $s1, $s1, 0x34 +/* 38CC2C E008A63C 4620020D */ trunc.w.d $f8, $f0 +/* 38CC30 E008A640 44164000 */ mfc1 $s6, $f8 +/* 38CC34 E008A644 1AA0001D */ blez $s5, .LE008A6BC +/* 38CC38 E008A648 0000902D */ daddu $s2, $zero, $zero +/* 38CC3C E008A64C 26300010 */ addiu $s0, $s1, 0x10 +.LE008A650: +/* 38CC40 E008A650 8E020020 */ lw $v0, 0x20($s0) +/* 38CC44 E008A654 18400003 */ blez $v0, .LE008A664 +/* 38CC48 E008A658 2442FFFF */ addiu $v0, $v0, -1 +/* 38CC4C E008A65C 1C400012 */ bgtz $v0, .LE008A6A8 +/* 38CC50 E008A660 AE020020 */ sw $v0, 0x20($s0) +.LE008A664: +/* 38CC54 E008A664 0220202D */ daddu $a0, $s1, $zero +/* 38CC58 E008A668 0280282D */ daddu $a1, $s4, $zero +/* 38CC5C E008A66C 02C0302D */ daddu $a2, $s6, $zero +/* 38CC60 E008A670 C606FFF8 */ lwc1 $f6, -8($s0) +/* 38CC64 E008A674 C6000004 */ lwc1 $f0, 4($s0) +/* 38CC68 E008A678 C604FFFC */ lwc1 $f4, -4($s0) +/* 38CC6C E008A67C 46003180 */ add.s $f6, $f6, $f0 +/* 38CC70 E008A680 C6000008 */ lwc1 $f0, 8($s0) +/* 38CC74 E008A684 C602000C */ lwc1 $f2, 0xc($s0) +/* 38CC78 E008A688 46002100 */ add.s $f4, $f4, $f0 +/* 38CC7C E008A68C C6000000 */ lwc1 $f0, ($s0) +/* 38CC80 E008A690 0260382D */ daddu $a3, $s3, $zero +/* 38CC84 E008A694 46020000 */ add.s $f0, $f0, $f2 +/* 38CC88 E008A698 E606FFF8 */ swc1 $f6, -8($s0) +/* 38CC8C E008A69C E604FFFC */ swc1 $f4, -4($s0) +/* 38CC90 E008A6A0 0C0228A4 */ jal func_E008A290 +/* 38CC94 E008A6A4 E6000000 */ swc1 $f0, ($s0) +.LE008A6A8: +/* 38CC98 E008A6A8 26520001 */ addiu $s2, $s2, 1 +/* 38CC9C E008A6AC 26100034 */ addiu $s0, $s0, 0x34 +/* 38CCA0 E008A6B0 0255102A */ slt $v0, $s2, $s5 +/* 38CCA4 E008A6B4 1440FFE6 */ bnez $v0, .LE008A650 +/* 38CCA8 E008A6B8 26310034 */ addiu $s1, $s1, 0x34 +.LE008A6BC: +/* 38CCAC E008A6BC 8FBF002C */ lw $ra, 0x2c($sp) +/* 38CCB0 E008A6C0 8FB60028 */ lw $s6, 0x28($sp) +/* 38CCB4 E008A6C4 8FB50024 */ lw $s5, 0x24($sp) +/* 38CCB8 E008A6C8 8FB40020 */ lw $s4, 0x20($sp) +/* 38CCBC E008A6CC 8FB3001C */ lw $s3, 0x1c($sp) +/* 38CCC0 E008A6D0 8FB20018 */ lw $s2, 0x18($sp) +/* 38CCC4 E008A6D4 8FB10014 */ lw $s1, 0x14($sp) +/* 38CCC8 E008A6D8 8FB00010 */ lw $s0, 0x10($sp) +/* 38CCCC E008A6DC 03E00008 */ jr $ra +/* 38CCD0 E008A6E0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_38C5F0/func_E008A6E4.s b/asm/nonmatchings/code_38C5F0/func_E008A6E4.s new file mode 100644 index 0000000000..6b4fa1ba4c --- /dev/null +++ b/asm/nonmatchings/code_38C5F0/func_E008A6E4.s @@ -0,0 +1,21 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008A6E4 +/* 38CCD4 E008A6E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 38CCD8 E008A6E8 3C02E009 */ lui $v0, %hi(func_E008A728) +/* 38CCDC E008A6EC 2442A728 */ addiu $v0, $v0, %lo(func_E008A728) +/* 38CCE0 E008A6F0 AFA2001C */ sw $v0, 0x1c($sp) +/* 38CCE4 E008A6F4 2402002D */ addiu $v0, $zero, 0x2d +/* 38CCE8 E008A6F8 AFA40018 */ sw $a0, 0x18($sp) +/* 38CCEC E008A6FC 27A40010 */ addiu $a0, $sp, 0x10 +/* 38CCF0 E008A700 AFBF0020 */ sw $ra, 0x20($sp) +/* 38CCF4 E008A704 AFA00014 */ sw $zero, 0x14($sp) +/* 38CCF8 E008A708 0C080120 */ jal func_E0200480 +/* 38CCFC E008A70C AFA20010 */ sw $v0, 0x10($sp) +/* 38CD00 E008A710 8C430000 */ lw $v1, ($v0) +/* 38CD04 E008A714 34630002 */ ori $v1, $v1, 2 +/* 38CD08 E008A718 AC430000 */ sw $v1, ($v0) +/* 38CD0C E008A71C 8FBF0020 */ lw $ra, 0x20($sp) +/* 38CD10 E008A720 03E00008 */ jr $ra +/* 38CD14 E008A724 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_38C5F0/func_E008A728.s b/asm/nonmatchings/code_38C5F0/func_E008A728.s new file mode 100644 index 0000000000..0e9bf6df29 --- /dev/null +++ b/asm/nonmatchings/code_38C5F0/func_E008A728.s @@ -0,0 +1,211 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E008A728 +/* 38CD18 E008A728 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 38CD1C E008A72C AFB1006C */ sw $s1, 0x6c($sp) +/* 38CD20 E008A730 0080882D */ daddu $s1, $a0, $zero +/* 38CD24 E008A734 AFBF008C */ sw $ra, 0x8c($sp) +/* 38CD28 E008A738 AFBE0088 */ sw $fp, 0x88($sp) +/* 38CD2C E008A73C AFB70084 */ sw $s7, 0x84($sp) +/* 38CD30 E008A740 AFB60080 */ sw $s6, 0x80($sp) +/* 38CD34 E008A744 AFB5007C */ sw $s5, 0x7c($sp) +/* 38CD38 E008A748 AFB40078 */ sw $s4, 0x78($sp) +/* 38CD3C E008A74C AFB30074 */ sw $s3, 0x74($sp) +/* 38CD40 E008A750 AFB20070 */ sw $s2, 0x70($sp) +/* 38CD44 E008A754 AFB00068 */ sw $s0, 0x68($sp) +/* 38CD48 E008A758 8E33000C */ lw $s3, 0xc($s1) +/* 38CD4C E008A75C 8E620000 */ lw $v0, ($s3) +/* 38CD50 E008A760 104000AF */ beqz $v0, .LE008AA20 +/* 38CD54 E008A764 240200FF */ addiu $v0, $zero, 0xff +/* 38CD58 E008A768 8E690028 */ lw $t1, 0x28($s3) +/* 38CD5C E008A76C 8E630004 */ lw $v1, 4($s3) +/* 38CD60 E008A770 A3A20059 */ sb $v0, 0x59($sp) +/* 38CD64 E008A774 3C028015 */ lui $v0, %hi(D_801512F0) +/* 38CD68 E008A778 8C4212F0 */ lw $v0, %lo(D_801512F0)($v0) +/* 38CD6C E008A77C 8E7E002C */ lw $fp, 0x2c($s3) +/* 38CD70 E008A780 00031880 */ sll $v1, $v1, 2 +/* 38CD74 E008A784 90420000 */ lbu $v0, ($v0) +/* 38CD78 E008A788 3C01E009 */ lui $at, %hi(D_E008AA50) +/* 38CD7C E008A78C 00230821 */ addu $at, $at, $v1 +/* 38CD80 E008A790 8C23AA50 */ lw $v1, %lo(D_E008AA50)($at) +/* 38CD84 E008A794 24040001 */ addiu $a0, $zero, 1 +/* 38CD88 E008A798 14440009 */ bne $v0, $a0, .LE008A7C0 +/* 38CD8C E008A79C AFA3005C */ sw $v1, 0x5c($sp) +/* 38CD90 E008A7A0 27A40058 */ addiu $a0, $sp, 0x58 +/* 38CD94 E008A7A4 0080282D */ daddu $a1, $a0, $zero +/* 38CD98 E008A7A8 0080302D */ daddu $a2, $a0, $zero +/* 38CD9C E008A7AC 0C08019C */ jal func_E0200670 +/* 38CDA0 E008A7B0 27A70059 */ addiu $a3, $sp, 0x59 +/* 38CDA4 E008A7B4 93A30059 */ lbu $v1, 0x59($sp) +/* 38CDA8 E008A7B8 240200FF */ addiu $v0, $zero, 0xff +/* 38CDAC E008A7BC 00434823 */ subu $t1, $v0, $v1 +.LE008A7C0: +/* 38CDB0 E008A7C0 11200097 */ beqz $t1, .LE008AA20 +/* 38CDB4 E008A7C4 3C08DB06 */ lui $t0, 0xdb06 +/* 38CDB8 E008A7C8 35080024 */ ori $t0, $t0, 0x24 +/* 38CDBC E008A7CC 27A40018 */ addiu $a0, $sp, 0x18 +/* 38CDC0 E008A7D0 3C100001 */ lui $s0, 1 +/* 38CDC4 E008A7D4 36101630 */ ori $s0, $s0, 0x1630 +/* 38CDC8 E008A7D8 3C16800A */ lui $s6, %hi(D_8009A66C) +/* 38CDCC E008A7DC 26D6A66C */ addiu $s6, $s6, %lo(D_8009A66C) +/* 38CDD0 E008A7E0 3C02E700 */ lui $v0, 0xe700 +/* 38CDD4 E008A7E4 8EC50000 */ lw $a1, ($s6) +/* 38CDD8 E008A7E8 44800000 */ mtc1 $zero, $f0 +/* 38CDDC E008A7EC 3C073F80 */ lui $a3, 0x3f80 +/* 38CDE0 E008A7F0 00A0182D */ daddu $v1, $a1, $zero +/* 38CDE4 E008A7F4 44060000 */ mfc1 $a2, $f0 +/* 38CDE8 E008A7F8 24A50008 */ addiu $a1, $a1, 8 +/* 38CDEC E008A7FC AEC50000 */ sw $a1, ($s6) +/* 38CDF0 E008A800 AC620000 */ sw $v0, ($v1) +/* 38CDF4 E008A804 24A20008 */ addiu $v0, $a1, 8 +/* 38CDF8 E008A808 AC600004 */ sw $zero, 4($v1) +/* 38CDFC E008A80C AEC20000 */ sw $v0, ($s6) +/* 38CE00 E008A810 ACA80000 */ sw $t0, ($a1) +/* 38CE04 E008A814 8E230010 */ lw $v1, 0x10($s1) +/* 38CE08 E008A818 24A20010 */ addiu $v0, $a1, 0x10 +/* 38CE0C E008A81C AEC20000 */ sw $v0, ($s6) +/* 38CE10 E008A820 8C68001C */ lw $t0, 0x1c($v1) +/* 38CE14 E008A824 3C02DE00 */ lui $v0, 0xde00 +/* 38CE18 E008A828 ACA20008 */ sw $v0, 8($a1) +/* 38CE1C E008A82C 3C020900 */ lui $v0, 0x900 +/* 38CE20 E008A830 24420C00 */ addiu $v0, $v0, 0xc00 +/* 38CE24 E008A834 ACA2000C */ sw $v0, 0xc($a1) +/* 38CE28 E008A838 3C02FA00 */ lui $v0, 0xfa00 +/* 38CE2C E008A83C ACA20010 */ sw $v0, 0x10($a1) +/* 38CE30 E008A840 2402FF00 */ addiu $v0, $zero, -0x100 +/* 38CE34 E008A844 01221025 */ or $v0, $t1, $v0 +/* 38CE38 E008A848 ACA20014 */ sw $v0, 0x14($a1) +/* 38CE3C E008A84C 3C028000 */ lui $v0, 0x8000 +/* 38CE40 E008A850 3C038007 */ lui $v1, %hi(gCurrentCameraID) +/* 38CE44 E008A854 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) +/* 38CE48 E008A858 01024021 */ addu $t0, $t0, $v0 +/* 38CE4C E008A85C 00031080 */ sll $v0, $v1, 2 +/* 38CE50 E008A860 00431021 */ addu $v0, $v0, $v1 +/* 38CE54 E008A864 00021080 */ sll $v0, $v0, 2 +/* 38CE58 E008A868 00431023 */ subu $v0, $v0, $v1 +/* 38CE5C E008A86C 000218C0 */ sll $v1, $v0, 3 +/* 38CE60 E008A870 00431021 */ addu $v0, $v0, $v1 +/* 38CE64 E008A874 000210C0 */ sll $v0, $v0, 3 +/* 38CE68 E008A878 ACA80004 */ sw $t0, 4($a1) +/* 38CE6C E008A87C 3C01800B */ lui $at, %hi(D_800B1DEC) +/* 38CE70 E008A880 00220821 */ addu $at, $at, $v0 +/* 38CE74 E008A884 C4201DEC */ lwc1 $f0, %lo(D_800B1DEC)($at) +/* 38CE78 E008A888 24A50018 */ addiu $a1, $a1, 0x18 +/* 38CE7C E008A88C AEC50000 */ sw $a1, ($s6) +/* 38CE80 E008A890 46000007 */ neg.s $f0, $f0 +/* 38CE84 E008A894 44050000 */ mfc1 $a1, $f0 +/* 38CE88 E008A898 26730034 */ addiu $s3, $s3, 0x34 +/* 38CE8C E008A89C 0C080104 */ jal func_E0200410 +/* 38CE90 E008A8A0 AFA60010 */ sw $a2, 0x10($sp) +/* 38CE94 E008A8A4 27A40018 */ addiu $a0, $sp, 0x18 +/* 38CE98 E008A8A8 3C128007 */ lui $s2, %hi(D_800741F0) +/* 38CE9C E008A8AC 265241F0 */ addiu $s2, $s2, %lo(D_800741F0) +/* 38CEA0 E008A8B0 3C14800A */ lui $s4, %hi(D_8009A674) +/* 38CEA4 E008A8B4 2694A674 */ addiu $s4, $s4, %lo(D_8009A674) +/* 38CEA8 E008A8B8 96450000 */ lhu $a1, ($s2) +/* 38CEAC E008A8BC 8E820000 */ lw $v0, ($s4) +/* 38CEB0 E008A8C0 00052980 */ sll $a1, $a1, 6 +/* 38CEB4 E008A8C4 00B02821 */ addu $a1, $a1, $s0 +/* 38CEB8 E008A8C8 0C080118 */ jal func_E0200460 +/* 38CEBC E008A8CC 00452821 */ addu $a1, $v0, $a1 +/* 38CEC0 E008A8D0 96420000 */ lhu $v0, ($s2) +/* 38CEC4 E008A8D4 0000882D */ daddu $s1, $zero, $zero +/* 38CEC8 E008A8D8 24430001 */ addiu $v1, $v0, 1 +/* 38CECC E008A8DC 3042FFFF */ andi $v0, $v0, 0xffff +/* 38CED0 E008A8E0 00021180 */ sll $v0, $v0, 6 +/* 38CED4 E008A8E4 A6430000 */ sh $v1, ($s2) +/* 38CED8 E008A8E8 8E830000 */ lw $v1, ($s4) +/* 38CEDC E008A8EC 00501021 */ addu $v0, $v0, $s0 +/* 38CEE0 E008A8F0 00621821 */ addu $v1, $v1, $v0 +/* 38CEE4 E008A8F4 1BC00041 */ blez $fp, .LE008A9FC +/* 38CEE8 E008A8F8 AFA30060 */ sw $v1, 0x60($sp) +/* 38CEEC E008A8FC 0280B82D */ daddu $s7, $s4, $zero +/* 38CEF0 E008A900 0240A82D */ daddu $s5, $s2, $zero +/* 38CEF4 E008A904 3C140001 */ lui $s4, 1 +/* 38CEF8 E008A908 36941630 */ ori $s4, $s4, 0x1630 +/* 38CEFC E008A90C 02C0902D */ daddu $s2, $s6, $zero +/* 38CF00 E008A910 26700010 */ addiu $s0, $s3, 0x10 +.LE008A914: +/* 38CF04 E008A914 8E020020 */ lw $v0, 0x20($s0) +/* 38CF08 E008A918 5C400035 */ bgtzl $v0, .LE008A9F0 +/* 38CF0C E008A91C 26310001 */ addiu $s1, $s1, 1 +/* 38CF10 E008A920 8E020018 */ lw $v0, 0x18($s0) +/* 38CF14 E008A924 50400032 */ beql $v0, $zero, .LE008A9F0 +/* 38CF18 E008A928 26310001 */ addiu $s1, $s1, 1 +/* 38CF1C E008A92C 8E05FFF8 */ lw $a1, -8($s0) +/* 38CF20 E008A930 8E06FFFC */ lw $a2, -4($s0) +/* 38CF24 E008A934 8E070000 */ lw $a3, ($s0) +/* 38CF28 E008A938 0C080108 */ jal func_E0200420 +/* 38CF2C E008A93C 27A40018 */ addiu $a0, $sp, 0x18 +/* 38CF30 E008A940 27A40018 */ addiu $a0, $sp, 0x18 +/* 38CF34 E008A944 96A50000 */ lhu $a1, ($s5) +/* 38CF38 E008A948 8EE20000 */ lw $v0, ($s7) +/* 38CF3C E008A94C 00052980 */ sll $a1, $a1, 6 +/* 38CF40 E008A950 00B42821 */ addu $a1, $a1, $s4 +/* 38CF44 E008A954 0C080118 */ jal func_E0200460 +/* 38CF48 E008A958 00452821 */ addu $a1, $v0, $a1 +/* 38CF4C E008A95C 3C02DA38 */ lui $v0, 0xda38 +/* 38CF50 E008A960 34420002 */ ori $v0, $v0, 2 +/* 38CF54 E008A964 3C06DA38 */ lui $a2, 0xda38 +/* 38CF58 E008A968 34C60001 */ ori $a2, $a2, 1 +/* 38CF5C E008A96C 3C07D838 */ lui $a3, 0xd838 +/* 38CF60 E008A970 34E70002 */ ori $a3, $a3, 2 +/* 38CF64 E008A974 8E440000 */ lw $a0, ($s2) +/* 38CF68 E008A978 96A30000 */ lhu $v1, ($s5) +/* 38CF6C E008A97C 0080282D */ daddu $a1, $a0, $zero +/* 38CF70 E008A980 24840008 */ addiu $a0, $a0, 8 +/* 38CF74 E008A984 AE440000 */ sw $a0, ($s2) +/* 38CF78 E008A988 ACA20000 */ sw $v0, ($a1) +/* 38CF7C E008A98C 24620001 */ addiu $v0, $v1, 1 +/* 38CF80 E008A990 3063FFFF */ andi $v1, $v1, 0xffff +/* 38CF84 E008A994 00031980 */ sll $v1, $v1, 6 +/* 38CF88 E008A998 A6A20000 */ sh $v0, ($s5) +/* 38CF8C E008A99C 8EE20000 */ lw $v0, ($s7) +/* 38CF90 E008A9A0 00741821 */ addu $v1, $v1, $s4 +/* 38CF94 E008A9A4 00431021 */ addu $v0, $v0, $v1 +/* 38CF98 E008A9A8 ACA20004 */ sw $v0, 4($a1) +/* 38CF9C E008A9AC 24820008 */ addiu $v0, $a0, 8 +/* 38CFA0 E008A9B0 AE420000 */ sw $v0, ($s2) +/* 38CFA4 E008A9B4 AC860000 */ sw $a2, ($a0) +/* 38CFA8 E008A9B8 8FAA0060 */ lw $t2, 0x60($sp) +/* 38CFAC E008A9BC 24820010 */ addiu $v0, $a0, 0x10 +/* 38CFB0 E008A9C0 AC8A0004 */ sw $t2, 4($a0) +/* 38CFB4 E008A9C4 AE420000 */ sw $v0, ($s2) +/* 38CFB8 E008A9C8 3C02DE00 */ lui $v0, 0xde00 +/* 38CFBC E008A9CC AC820008 */ sw $v0, 8($a0) +/* 38CFC0 E008A9D0 8FAA005C */ lw $t2, 0x5c($sp) +/* 38CFC4 E008A9D4 24820018 */ addiu $v0, $a0, 0x18 +/* 38CFC8 E008A9D8 AC8A000C */ sw $t2, 0xc($a0) +/* 38CFCC E008A9DC AE420000 */ sw $v0, ($s2) +/* 38CFD0 E008A9E0 24020040 */ addiu $v0, $zero, 0x40 +/* 38CFD4 E008A9E4 AC870010 */ sw $a3, 0x10($a0) +/* 38CFD8 E008A9E8 AC820014 */ sw $v0, 0x14($a0) +/* 38CFDC E008A9EC 26310001 */ addiu $s1, $s1, 1 +.LE008A9F0: +/* 38CFE0 E008A9F0 023E102A */ slt $v0, $s1, $fp +/* 38CFE4 E008A9F4 1440FFC7 */ bnez $v0, .LE008A914 +/* 38CFE8 E008A9F8 26100034 */ addiu $s0, $s0, 0x34 +.LE008A9FC: +/* 38CFEC E008A9FC 3C03800A */ lui $v1, %hi(D_8009A66C) +/* 38CFF0 E008AA00 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) +/* 38CFF4 E008AA04 8C620000 */ lw $v0, ($v1) +/* 38CFF8 E008AA08 0040202D */ daddu $a0, $v0, $zero +/* 38CFFC E008AA0C 24420008 */ addiu $v0, $v0, 8 +/* 38D000 E008AA10 AC620000 */ sw $v0, ($v1) +/* 38D004 E008AA14 3C02E700 */ lui $v0, 0xe700 +/* 38D008 E008AA18 AC820000 */ sw $v0, ($a0) +/* 38D00C E008AA1C AC800004 */ sw $zero, 4($a0) +.LE008AA20: +/* 38D010 E008AA20 8FBF008C */ lw $ra, 0x8c($sp) +/* 38D014 E008AA24 8FBE0088 */ lw $fp, 0x88($sp) +/* 38D018 E008AA28 8FB70084 */ lw $s7, 0x84($sp) +/* 38D01C E008AA2C 8FB60080 */ lw $s6, 0x80($sp) +/* 38D020 E008AA30 8FB5007C */ lw $s5, 0x7c($sp) +/* 38D024 E008AA34 8FB40078 */ lw $s4, 0x78($sp) +/* 38D028 E008AA38 8FB30074 */ lw $s3, 0x74($sp) +/* 38D02C E008AA3C 8FB20070 */ lw $s2, 0x70($sp) +/* 38D030 E008AA40 8FB1006C */ lw $s1, 0x6c($sp) +/* 38D034 E008AA44 8FB00068 */ lw $s0, 0x68($sp) +/* 38D038 E008AA48 03E00008 */ jr $ra +/* 38D03C E008AA4C 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/nonmatchings/code_3EB4E0/func_E010E000.s b/asm/nonmatchings/code_3EB4E0/func_E010E000.s new file mode 100644 index 0000000000..34891d2324 --- /dev/null +++ b/asm/nonmatchings/code_3EB4E0/func_E010E000.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E010E000 +/* 3EB4E0 E010E000 14A00004 */ bnez $a1, .LE010E014 +/* 3EB4E4 E010E004 8C83001C */ lw $v1, 0x1c($a0) +/* 3EB4E8 E010E008 C4860004 */ lwc1 $f6, 4($a0) +/* 3EB4EC E010E00C 08043807 */ j .LE010E01C +/* 3EB4F0 E010E010 C4840008 */ lwc1 $f4, 8($a0) +.LE010E014: +/* 3EB4F4 E010E014 C4860010 */ lwc1 $f6, 0x10($a0) +/* 3EB4F8 E010E018 C4840014 */ lwc1 $f4, 0x14($a0) +.LE010E01C: +/* 3EB4FC E010E01C 10C000C1 */ beqz $a2, .LE010E324 +/* 3EB500 E010E020 00000000 */ nop +/* 3EB504 E010E024 8CC20000 */ lw $v0, ($a2) +/* 3EB508 E010E028 104000B5 */ beqz $v0, .LE010E300 +/* 3EB50C E010E02C 00035080 */ sll $t2, $v1, 2 +/* 3EB510 E010E030 3C08800A */ lui $t0, %hi(D_8009A66C) +/* 3EB514 E010E034 2508A66C */ addiu $t0, $t0, %lo(D_8009A66C) +/* 3EB518 E010E038 3C014080 */ lui $at, 0x4080 +/* 3EB51C E010E03C 44814000 */ mtc1 $at, $f8 +/* 3EB520 E010E040 24C70006 */ addiu $a3, $a2, 6 +.LE010E044: +/* 3EB524 E010E044 8D040000 */ lw $a0, ($t0) +/* 3EB528 E010E048 3C02DE00 */ lui $v0, 0xde00 +/* 3EB52C E010E04C 0080182D */ daddu $v1, $a0, $zero +/* 3EB530 E010E050 AC620000 */ sw $v0, ($v1) +/* 3EB534 E010E054 8CC20000 */ lw $v0, ($a2) +/* 3EB538 E010E058 24840008 */ addiu $a0, $a0, 8 +/* 3EB53C E010E05C AC620004 */ sw $v0, 4($v1) +/* 3EB540 E010E060 84E2FFFE */ lh $v0, -2($a3) +/* 3EB544 E010E064 3C03F200 */ lui $v1, 0xf200 +/* 3EB548 E010E068 2442FE80 */ addiu $v0, $v0, -0x180 +/* 3EB54C E010E06C 01421023 */ subu $v0, $t2, $v0 +/* 3EB550 E010E070 00021080 */ sll $v0, $v0, 2 +/* 3EB554 E010E074 30420FFF */ andi $v0, $v0, 0xfff +/* 3EB558 E010E078 00021300 */ sll $v0, $v0, 0xc +/* 3EB55C E010E07C 00431025 */ or $v0, $v0, $v1 +/* 3EB560 E010E080 AC820000 */ sw $v0, ($a0) +/* 3EB564 E010E084 84E2FFFE */ lh $v0, -2($a3) +/* 3EB568 E010E088 3C030100 */ lui $v1, 0x100 +/* 3EB56C E010E08C 01421023 */ subu $v0, $t2, $v0 +/* 3EB570 E010E090 244201FF */ addiu $v0, $v0, 0x1ff +/* 3EB574 E010E094 00021080 */ sll $v0, $v0, 2 +/* 3EB578 E010E098 30420FFF */ andi $v0, $v0, 0xfff +/* 3EB57C E010E09C 00021300 */ sll $v0, $v0, 0xc +/* 3EB580 E010E0A0 00431025 */ or $v0, $v0, $v1 +/* 3EB584 E010E0A4 AC820004 */ sw $v0, 4($a0) +/* 3EB588 E010E0A8 84E2FFFE */ lh $v0, -2($a3) +/* 3EB58C E010E0AC 44821000 */ mtc1 $v0, $f2 +/* 3EB590 E010E0B0 00000000 */ nop +/* 3EB594 E010E0B4 468010A0 */ cvt.s.w $f2, $f2 +/* 3EB598 E010E0B8 46023080 */ add.s $f2, $f6, $f2 +/* 3EB59C E010E0BC 84E20002 */ lh $v0, 2($a3) +/* 3EB5A0 E010E0C0 44820000 */ mtc1 $v0, $f0 +/* 3EB5A4 E010E0C4 00000000 */ nop +/* 3EB5A8 E010E0C8 46800020 */ cvt.s.w $f0, $f0 +/* 3EB5AC E010E0CC 46001080 */ add.s $f2, $f2, $f0 +/* 3EB5B0 E010E0D0 AD040000 */ sw $a0, ($t0) +/* 3EB5B4 E010E0D4 24820008 */ addiu $v0, $a0, 8 +/* 3EB5B8 E010E0D8 46081082 */ mul.s $f2, $f2, $f8 +/* 3EB5BC E010E0DC 00000000 */ nop +/* 3EB5C0 E010E0E0 24840010 */ addiu $a0, $a0, 0x10 +/* 3EB5C4 E010E0E4 AD020000 */ sw $v0, ($t0) +/* 3EB5C8 E010E0E8 AD040000 */ sw $a0, ($t0) +/* 3EB5CC E010E0EC 0040202D */ daddu $a0, $v0, $zero +/* 3EB5D0 E010E0F0 4600128D */ trunc.w.s $f10, $f2 +/* 3EB5D4 E010E0F4 44025000 */ mfc1 $v0, $f10 +/* 3EB5D8 E010E0F8 00000000 */ nop +/* 3EB5DC E010E0FC 00021400 */ sll $v0, $v0, 0x10 +/* 3EB5E0 E010E100 00021403 */ sra $v0, $v0, 0x10 +/* 3EB5E4 E010E104 18400005 */ blez $v0, .LE010E11C +/* 3EB5E8 E010E108 30420FFF */ andi $v0, $v0, 0xfff +/* 3EB5EC E010E10C 00021300 */ sll $v0, $v0, 0xc +/* 3EB5F0 E010E110 3C03E400 */ lui $v1, 0xe400 +/* 3EB5F4 E010E114 08043848 */ j .LE010E120 +/* 3EB5F8 E010E118 00431825 */ or $v1, $v0, $v1 +.LE010E11C: +/* 3EB5FC E010E11C 3C03E400 */ lui $v1, 0xe400 +.LE010E120: +/* 3EB600 E010E120 84E20000 */ lh $v0, ($a3) +/* 3EB604 E010E124 44820000 */ mtc1 $v0, $f0 +/* 3EB608 E010E128 00000000 */ nop +/* 3EB60C E010E12C 46800020 */ cvt.s.w $f0, $f0 +/* 3EB610 E010E130 84E20004 */ lh $v0, 4($a3) +/* 3EB614 E010E134 46002000 */ add.s $f0, $f4, $f0 +/* 3EB618 E010E138 44821000 */ mtc1 $v0, $f2 +/* 3EB61C E010E13C 00000000 */ nop +/* 3EB620 E010E140 468010A0 */ cvt.s.w $f2, $f2 +/* 3EB624 E010E144 46020000 */ add.s $f0, $f0, $f2 +/* 3EB628 E010E148 46080002 */ mul.s $f0, $f0, $f8 +/* 3EB62C E010E14C 00000000 */ nop +/* 3EB630 E010E150 4600028D */ trunc.w.s $f10, $f0 +/* 3EB634 E010E154 44025000 */ mfc1 $v0, $f10 +/* 3EB638 E010E158 00000000 */ nop +/* 3EB63C E010E15C 00021400 */ sll $v0, $v0, 0x10 +/* 3EB640 E010E160 00021403 */ sra $v0, $v0, 0x10 +/* 3EB644 E010E164 18400002 */ blez $v0, .LE010E170 +/* 3EB648 E010E168 30420FFF */ andi $v0, $v0, 0xfff +/* 3EB64C E010E16C 00621825 */ or $v1, $v1, $v0 +.LE010E170: +/* 3EB650 E010E170 AC830000 */ sw $v1, ($a0) +/* 3EB654 E010E174 84E2FFFE */ lh $v0, -2($a3) +/* 3EB658 E010E178 44820000 */ mtc1 $v0, $f0 +/* 3EB65C E010E17C 00000000 */ nop +/* 3EB660 E010E180 46800020 */ cvt.s.w $f0, $f0 +/* 3EB664 E010E184 46003000 */ add.s $f0, $f6, $f0 +/* 3EB668 E010E188 46080002 */ mul.s $f0, $f0, $f8 +/* 3EB66C E010E18C 00000000 */ nop +/* 3EB670 E010E190 4600028D */ trunc.w.s $f10, $f0 +/* 3EB674 E010E194 44025000 */ mfc1 $v0, $f10 +/* 3EB678 E010E198 00000000 */ nop +/* 3EB67C E010E19C 00021400 */ sll $v0, $v0, 0x10 +/* 3EB680 E010E1A0 00021403 */ sra $v0, $v0, 0x10 +/* 3EB684 E010E1A4 18400004 */ blez $v0, .LE010E1B8 +/* 3EB688 E010E1A8 24850004 */ addiu $a1, $a0, 4 +/* 3EB68C E010E1AC 30420FFF */ andi $v0, $v0, 0xfff +/* 3EB690 E010E1B0 0804386F */ j .LE010E1BC +/* 3EB694 E010E1B4 00021B00 */ sll $v1, $v0, 0xc +.LE010E1B8: +/* 3EB698 E010E1B8 0000182D */ daddu $v1, $zero, $zero +.LE010E1BC: +/* 3EB69C E010E1BC 84E20000 */ lh $v0, ($a3) +/* 3EB6A0 E010E1C0 44820000 */ mtc1 $v0, $f0 +/* 3EB6A4 E010E1C4 00000000 */ nop +/* 3EB6A8 E010E1C8 46800020 */ cvt.s.w $f0, $f0 +/* 3EB6AC E010E1CC 46002000 */ add.s $f0, $f4, $f0 +/* 3EB6B0 E010E1D0 46080002 */ mul.s $f0, $f0, $f8 +/* 3EB6B4 E010E1D4 00000000 */ nop +/* 3EB6B8 E010E1D8 4600028D */ trunc.w.s $f10, $f0 +/* 3EB6BC E010E1DC 44025000 */ mfc1 $v0, $f10 +/* 3EB6C0 E010E1E0 00000000 */ nop +/* 3EB6C4 E010E1E4 00021400 */ sll $v0, $v0, 0x10 +/* 3EB6C8 E010E1E8 00021403 */ sra $v0, $v0, 0x10 +/* 3EB6CC E010E1EC 18400003 */ blez $v0, .LE010E1FC +/* 3EB6D0 E010E1F0 0060202D */ daddu $a0, $v1, $zero +/* 3EB6D4 E010E1F4 30420FFF */ andi $v0, $v0, 0xfff +/* 3EB6D8 E010E1F8 00822025 */ or $a0, $a0, $v0 +.LE010E1FC: +/* 3EB6DC E010E1FC 8D030000 */ lw $v1, ($t0) +/* 3EB6E0 E010E200 3C02E100 */ lui $v0, 0xe100 +/* 3EB6E4 E010E204 ACA40000 */ sw $a0, ($a1) +/* 3EB6E8 E010E208 0060202D */ daddu $a0, $v1, $zero +/* 3EB6EC E010E20C AC820000 */ sw $v0, ($a0) +/* 3EB6F0 E010E210 84E2FFFE */ lh $v0, -2($a3) +/* 3EB6F4 E010E214 44820000 */ mtc1 $v0, $f0 +/* 3EB6F8 E010E218 00000000 */ nop +/* 3EB6FC E010E21C 46800020 */ cvt.s.w $f0, $f0 +/* 3EB700 E010E220 46003000 */ add.s $f0, $f6, $f0 +/* 3EB704 E010E224 46080002 */ mul.s $f0, $f0, $f8 +/* 3EB708 E010E228 00000000 */ nop +/* 3EB70C E010E22C 24630008 */ addiu $v1, $v1, 8 +/* 3EB710 E010E230 24890004 */ addiu $t1, $a0, 4 +/* 3EB714 E010E234 4600028D */ trunc.w.s $f10, $f0 +/* 3EB718 E010E238 44025000 */ mfc1 $v0, $f10 +/* 3EB71C E010E23C 00000000 */ nop +/* 3EB720 E010E240 00021400 */ sll $v0, $v0, 0x10 +/* 3EB724 E010E244 00021403 */ sra $v0, $v0, 0x10 +/* 3EB728 E010E248 04410007 */ bgez $v0, .LE010E268 +/* 3EB72C E010E24C AD030000 */ sw $v1, ($t0) +/* 3EB730 E010E250 000210C0 */ sll $v0, $v0, 3 +/* 3EB734 E010E254 5C400001 */ bgtzl $v0, .LE010E25C +/* 3EB738 E010E258 0000102D */ daddu $v0, $zero, $zero +.LE010E25C: +/* 3EB73C E010E25C 00021023 */ negu $v0, $v0 +/* 3EB740 E010E260 0804389B */ j .LE010E26C +/* 3EB744 E010E264 00021C00 */ sll $v1, $v0, 0x10 +.LE010E268: +/* 3EB748 E010E268 0000182D */ daddu $v1, $zero, $zero +.LE010E26C: +/* 3EB74C E010E26C 84E20000 */ lh $v0, ($a3) +/* 3EB750 E010E270 44820000 */ mtc1 $v0, $f0 +/* 3EB754 E010E274 00000000 */ nop +/* 3EB758 E010E278 46800020 */ cvt.s.w $f0, $f0 +/* 3EB75C E010E27C 46002000 */ add.s $f0, $f4, $f0 +/* 3EB760 E010E280 46080082 */ mul.s $f2, $f0, $f8 +/* 3EB764 E010E284 00000000 */ nop +/* 3EB768 E010E288 44800000 */ mtc1 $zero, $f0 +/* 3EB76C E010E28C 00000000 */ nop +/* 3EB770 E010E290 4600103C */ c.lt.s $f2, $f0 +/* 3EB774 E010E294 00000000 */ nop +/* 3EB778 E010E298 4500000C */ bc1f .LE010E2CC +/* 3EB77C E010E29C 3C050400 */ lui $a1, 0x400 +/* 3EB780 E010E2A0 4600128D */ trunc.w.s $f10, $f2 +/* 3EB784 E010E2A4 44025000 */ mfc1 $v0, $f10 +/* 3EB788 E010E2A8 00000000 */ nop +/* 3EB78C E010E2AC 00021400 */ sll $v0, $v0, 0x10 +/* 3EB790 E010E2B0 00021343 */ sra $v0, $v0, 0xd +/* 3EB794 E010E2B4 5C400001 */ bgtzl $v0, .LE010E2BC +/* 3EB798 E010E2B8 0000102D */ daddu $v0, $zero, $zero +.LE010E2BC: +/* 3EB79C E010E2BC 00021023 */ negu $v0, $v0 +/* 3EB7A0 E010E2C0 3042FFFF */ andi $v0, $v0, 0xffff +/* 3EB7A4 E010E2C4 00621825 */ or $v1, $v1, $v0 +/* 3EB7A8 E010E2C8 3C050400 */ lui $a1, 0x400 +.LE010E2CC: +/* 3EB7AC E010E2CC 34A50400 */ ori $a1, $a1, 0x400 +/* 3EB7B0 E010E2D0 24E7000C */ addiu $a3, $a3, 0xc +/* 3EB7B4 E010E2D4 24C6000C */ addiu $a2, $a2, 0xc +/* 3EB7B8 E010E2D8 8D040000 */ lw $a0, ($t0) +/* 3EB7BC E010E2DC 3C02F100 */ lui $v0, 0xf100 +/* 3EB7C0 E010E2E0 AD230000 */ sw $v1, ($t1) +/* 3EB7C4 E010E2E4 0080182D */ daddu $v1, $a0, $zero +/* 3EB7C8 E010E2E8 AC620000 */ sw $v0, ($v1) +/* 3EB7CC E010E2EC AC650004 */ sw $a1, 4($v1) +/* 3EB7D0 E010E2F0 8CC20000 */ lw $v0, ($a2) +/* 3EB7D4 E010E2F4 24840008 */ addiu $a0, $a0, 8 +/* 3EB7D8 E010E2F8 1440FF52 */ bnez $v0, .LE010E044 +/* 3EB7DC E010E2FC AD040000 */ sw $a0, ($t0) +.LE010E300: +/* 3EB7E0 E010E300 3C03800A */ lui $v1, %hi(D_8009A66C) +/* 3EB7E4 E010E304 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) +/* 3EB7E8 E010E308 8C620000 */ lw $v0, ($v1) +/* 3EB7EC E010E30C 0040202D */ daddu $a0, $v0, $zero +/* 3EB7F0 E010E310 24420008 */ addiu $v0, $v0, 8 +/* 3EB7F4 E010E314 AC620000 */ sw $v0, ($v1) +/* 3EB7F8 E010E318 3C02E700 */ lui $v0, 0xe700 +/* 3EB7FC E010E31C AC820000 */ sw $v0, ($a0) +/* 3EB800 E010E320 AC800004 */ sw $zero, 4($a0) +.LE010E324: +/* 3EB804 E010E324 03E00008 */ jr $ra +/* 3EB808 E010E328 00000000 */ nop diff --git a/asm/nonmatchings/code_3EB4E0/func_E010E32C.s b/asm/nonmatchings/code_3EB4E0/func_E010E32C.s new file mode 100644 index 0000000000..a3c2f5dfc3 --- /dev/null +++ b/asm/nonmatchings/code_3EB4E0/func_E010E32C.s @@ -0,0 +1,104 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E010E32C +/* 3EB80C E010E32C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 3EB810 E010E330 F7B40040 */ sdc1 $f20, 0x40($sp) +/* 3EB814 E010E334 4485A000 */ mtc1 $a1, $f20 +/* 3EB818 E010E338 F7B60048 */ sdc1 $f22, 0x48($sp) +/* 3EB81C E010E33C 4486B000 */ mtc1 $a2, $f22 +/* 3EB820 E010E340 AFB20030 */ sw $s2, 0x30($sp) +/* 3EB824 E010E344 0080902D */ daddu $s2, $a0, $zero +/* 3EB828 E010E348 F7B80050 */ sdc1 $f24, 0x50($sp) +/* 3EB82C E010E34C 4487C000 */ mtc1 $a3, $f24 +/* 3EB830 E010E350 27A40010 */ addiu $a0, $sp, 0x10 +/* 3EB834 E010E354 AFB30034 */ sw $s3, 0x34($sp) +/* 3EB838 E010E358 8FB3006C */ lw $s3, 0x6c($sp) +/* 3EB83C E010E35C 3C02E011 */ lui $v0, %hi(func_E010E4A0) +/* 3EB840 E010E360 2442E4A0 */ addiu $v0, $v0, %lo(func_E010E4A0) +/* 3EB844 E010E364 AFA20018 */ sw $v0, 0x18($sp) +/* 3EB848 E010E368 3C02E011 */ lui $v0, %hi(func_E010E4A8) +/* 3EB84C E010E36C 2442E4A8 */ addiu $v0, $v0, %lo(func_E010E4A8) +/* 3EB850 E010E370 AFA2001C */ sw $v0, 0x1c($sp) +/* 3EB854 E010E374 3C02E011 */ lui $v0, %hi(func_E010E510) +/* 3EB858 E010E378 2442E510 */ addiu $v0, $v0, %lo(func_E010E510) +/* 3EB85C E010E37C AFA20020 */ sw $v0, 0x20($sp) +/* 3EB860 E010E380 24020079 */ addiu $v0, $zero, 0x79 +/* 3EB864 E010E384 AFBF0038 */ sw $ra, 0x38($sp) +/* 3EB868 E010E388 AFB1002C */ sw $s1, 0x2c($sp) +/* 3EB86C E010E38C AFB00028 */ sw $s0, 0x28($sp) +/* 3EB870 E010E390 AFA00010 */ sw $zero, 0x10($sp) +/* 3EB874 E010E394 AFA00024 */ sw $zero, 0x24($sp) +/* 3EB878 E010E398 0C080124 */ jal func_E0200490 +/* 3EB87C E010E39C AFA20014 */ sw $v0, 0x14($sp) +/* 3EB880 E010E3A0 24040058 */ addiu $a0, $zero, 0x58 +/* 3EB884 E010E3A4 24030001 */ addiu $v1, $zero, 1 +/* 3EB888 E010E3A8 0040882D */ daddu $s1, $v0, $zero +/* 3EB88C E010E3AC 0C08012C */ jal func_E02004B0 +/* 3EB890 E010E3B0 AE230008 */ sw $v1, 8($s1) +/* 3EB894 E010E3B4 0040802D */ daddu $s0, $v0, $zero +/* 3EB898 E010E3B8 16000003 */ bnez $s0, .LE010E3C8 +/* 3EB89C E010E3BC AE22000C */ sw $v0, 0xc($s1) +.LE010E3C0: +/* 3EB8A0 E010E3C0 080438F0 */ j .LE010E3C0 +/* 3EB8A4 E010E3C4 00000000 */ nop +.LE010E3C8: +/* 3EB8A8 E010E3C8 AE120000 */ sw $s2, ($s0) +/* 3EB8AC E010E3CC 1E600004 */ bgtz $s3, .LE010E3E0 +/* 3EB8B0 E010E3D0 AE00001C */ sw $zero, 0x1c($s0) +/* 3EB8B4 E010E3D4 240203E8 */ addiu $v0, $zero, 0x3e8 +/* 3EB8B8 E010E3D8 080438F9 */ j .LE010E3E4 +/* 3EB8BC E010E3DC AE020018 */ sw $v0, 0x18($s0) +.LE010E3E0: +/* 3EB8C0 E010E3E0 AE130018 */ sw $s3, 0x18($s0) +.LE010E3E4: +/* 3EB8C4 E010E3E4 E6140010 */ swc1 $f20, 0x10($s0) +/* 3EB8C8 E010E3E8 E6140004 */ swc1 $f20, 4($s0) +/* 3EB8CC E010E3EC E6160014 */ swc1 $f22, 0x14($s0) +/* 3EB8D0 E010E3F0 E6160008 */ swc1 $f22, 8($s0) +/* 3EB8D4 E010E3F4 E618000C */ swc1 $f24, 0xc($s0) +/* 3EB8D8 E010E3F8 C7A00068 */ lwc1 $f0, 0x68($sp) +/* 3EB8DC E010E3FC 240300FF */ addiu $v1, $zero, 0xff +/* 3EB8E0 E010E400 AE030020 */ sw $v1, 0x20($s0) +/* 3EB8E4 E010E404 AE030024 */ sw $v1, 0x24($s0) +/* 3EB8E8 E010E408 AE030028 */ sw $v1, 0x28($s0) +/* 3EB8EC E010E40C AE03002C */ sw $v1, 0x2c($s0) +/* 3EB8F0 E010E410 AE000030 */ sw $zero, 0x30($s0) +/* 3EB8F4 E010E414 AE000034 */ sw $zero, 0x34($s0) +/* 3EB8F8 E010E418 AE000038 */ sw $zero, 0x38($s0) +/* 3EB8FC E010E41C 12400005 */ beqz $s2, .LE010E434 +/* 3EB900 E010E420 E6000050 */ swc1 $f0, 0x50($s0) +/* 3EB904 E010E424 2642FFF6 */ addiu $v0, $s2, -0xa +/* 3EB908 E010E428 2C420009 */ sltiu $v0, $v0, 9 +/* 3EB90C E010E42C 50400002 */ beql $v0, $zero, .LE010E438 +/* 3EB910 E010E430 AE03003C */ sw $v1, 0x3c($s0) +.LE010E434: +/* 3EB914 E010E434 AE00003C */ sw $zero, 0x3c($s0) +.LE010E438: +/* 3EB918 E010E438 00121080 */ sll $v0, $s2, 2 +/* 3EB91C E010E43C 3C01E011 */ lui $at, %hi(D_E010E750) +/* 3EB920 E010E440 00220821 */ addu $at, $at, $v0 +/* 3EB924 E010E444 8C22E750 */ lw $v0, %lo(D_E010E750)($at) +/* 3EB928 E010E448 0440000A */ bltz $v0, .LE010E474 +/* 3EB92C E010E44C AE020054 */ sw $v0, 0x54($s0) +/* 3EB930 E010E450 0040202D */ daddu $a0, $v0, $zero +/* 3EB934 E010E454 240200A0 */ addiu $v0, $zero, 0xa0 +/* 3EB938 E010E458 0000282D */ daddu $a1, $zero, $zero +/* 3EB93C E010E45C AE020040 */ sw $v0, 0x40($s0) +/* 3EB940 E010E460 0C080198 */ jal func_E0200660 +/* 3EB944 E010E464 AE020044 */ sw $v0, 0x44($s0) +/* 3EB948 E010E468 AE020048 */ sw $v0, 0x48($s0) +/* 3EB94C E010E46C 24020018 */ addiu $v0, $zero, 0x18 +/* 3EB950 E010E470 AE02004C */ sw $v0, 0x4c($s0) +.LE010E474: +/* 3EB954 E010E474 0220102D */ daddu $v0, $s1, $zero +/* 3EB958 E010E478 8FBF0038 */ lw $ra, 0x38($sp) +/* 3EB95C E010E47C 8FB30034 */ lw $s3, 0x34($sp) +/* 3EB960 E010E480 8FB20030 */ lw $s2, 0x30($sp) +/* 3EB964 E010E484 8FB1002C */ lw $s1, 0x2c($sp) +/* 3EB968 E010E488 8FB00028 */ lw $s0, 0x28($sp) +/* 3EB96C E010E48C D7B80050 */ ldc1 $f24, 0x50($sp) +/* 3EB970 E010E490 D7B60048 */ ldc1 $f22, 0x48($sp) +/* 3EB974 E010E494 D7B40040 */ ldc1 $f20, 0x40($sp) +/* 3EB978 E010E498 03E00008 */ jr $ra +/* 3EB97C E010E49C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/nonmatchings/code_3EB4E0/func_E010E4A0.s b/asm/nonmatchings/code_3EB4E0/func_E010E4A0.s new file mode 100644 index 0000000000..568aeaf33c --- /dev/null +++ b/asm/nonmatchings/code_3EB4E0/func_E010E4A0.s @@ -0,0 +1,6 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E010E4A0 +/* 3EB980 E010E4A0 03E00008 */ jr $ra +/* 3EB984 E010E4A4 00000000 */ nop diff --git a/asm/nonmatchings/code_3EB4E0/func_E010E4A8.s b/asm/nonmatchings/code_3EB4E0/func_E010E4A8.s new file mode 100644 index 0000000000..652be943a2 --- /dev/null +++ b/asm/nonmatchings/code_3EB4E0/func_E010E4A8.s @@ -0,0 +1,33 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E010E4A8 +/* 3EB988 E010E4A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 3EB98C E010E4AC AFBF0010 */ sw $ra, 0x10($sp) +/* 3EB990 E010E4B0 8C830000 */ lw $v1, ($a0) +/* 3EB994 E010E4B4 8C85000C */ lw $a1, 0xc($a0) +/* 3EB998 E010E4B8 30620010 */ andi $v0, $v1, 0x10 +/* 3EB99C E010E4BC 10400005 */ beqz $v0, .LE010E4D4 +/* 3EB9A0 E010E4C0 2402FFEF */ addiu $v0, $zero, -0x11 +/* 3EB9A4 E010E4C4 00621024 */ and $v0, $v1, $v0 +/* 3EB9A8 E010E4C8 AC820000 */ sw $v0, ($a0) +/* 3EB9AC E010E4CC 24020010 */ addiu $v0, $zero, 0x10 +/* 3EB9B0 E010E4D0 ACA20018 */ sw $v0, 0x18($a1) +.LE010E4D4: +/* 3EB9B4 E010E4D4 8CA30018 */ lw $v1, 0x18($a1) +/* 3EB9B8 E010E4D8 286203E8 */ slti $v0, $v1, 0x3e8 +/* 3EB9BC E010E4DC 10400002 */ beqz $v0, .LE010E4E8 +/* 3EB9C0 E010E4E0 2462FFFF */ addiu $v0, $v1, -1 +/* 3EB9C4 E010E4E4 ACA20018 */ sw $v0, 0x18($a1) +.LE010E4E8: +/* 3EB9C8 E010E4E8 8CA2001C */ lw $v0, 0x1c($a1) +/* 3EB9CC E010E4EC 8CA30018 */ lw $v1, 0x18($a1) +/* 3EB9D0 E010E4F0 24420001 */ addiu $v0, $v0, 1 +/* 3EB9D4 E010E4F4 04610003 */ bgez $v1, .LE010E504 +/* 3EB9D8 E010E4F8 ACA2001C */ sw $v0, 0x1c($a1) +/* 3EB9DC E010E4FC 0C080128 */ jal func_E02004A0 +/* 3EB9E0 E010E500 00000000 */ nop +.LE010E504: +/* 3EB9E4 E010E504 8FBF0010 */ lw $ra, 0x10($sp) +/* 3EB9E8 E010E508 03E00008 */ jr $ra +/* 3EB9EC E010E50C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_3EB4E0/func_E010E510.s b/asm/nonmatchings/code_3EB4E0/func_E010E510.s new file mode 100644 index 0000000000..04868d030a --- /dev/null +++ b/asm/nonmatchings/code_3EB4E0/func_E010E510.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E010E510 +/* 3EB9F0 E010E510 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3EB9F4 E010E514 3C02E011 */ lui $v0, %hi(func_E010E558) +/* 3EB9F8 E010E518 2442E558 */ addiu $v0, $v0, %lo(func_E010E558) +/* 3EB9FC E010E51C AFA2001C */ sw $v0, 0x1c($sp) +/* 3EBA00 E010E520 2402000A */ addiu $v0, $zero, 0xa +/* 3EBA04 E010E524 AFA20014 */ sw $v0, 0x14($sp) +/* 3EBA08 E010E528 2402002D */ addiu $v0, $zero, 0x2d +/* 3EBA0C E010E52C AFA40018 */ sw $a0, 0x18($sp) +/* 3EBA10 E010E530 27A40010 */ addiu $a0, $sp, 0x10 +/* 3EBA14 E010E534 AFBF0020 */ sw $ra, 0x20($sp) +/* 3EBA18 E010E538 0C080120 */ jal func_E0200480 +/* 3EBA1C E010E53C AFA20010 */ sw $v0, 0x10($sp) +/* 3EBA20 E010E540 8C430000 */ lw $v1, ($v0) +/* 3EBA24 E010E544 34630002 */ ori $v1, $v1, 2 +/* 3EBA28 E010E548 AC430000 */ sw $v1, ($v0) +/* 3EBA2C E010E54C 8FBF0020 */ lw $ra, 0x20($sp) +/* 3EBA30 E010E550 03E00008 */ jr $ra +/* 3EBA34 E010E554 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_3EB4E0/func_E010E558.s b/asm/nonmatchings/code_3EB4E0/func_E010E558.s new file mode 100644 index 0000000000..573f3f2168 --- /dev/null +++ b/asm/nonmatchings/code_3EB4E0/func_E010E558.s @@ -0,0 +1,134 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_E010E558 +/* 3EBA38 E010E558 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3EBA3C E010E55C 3C07DB06 */ lui $a3, 0xdb06 +/* 3EBA40 E010E560 3C06800A */ lui $a2, %hi(D_8009A66C) +/* 3EBA44 E010E564 24C6A66C */ addiu $a2, $a2, %lo(D_8009A66C) +/* 3EBA48 E010E568 34E70024 */ ori $a3, $a3, 0x24 +/* 3EBA4C E010E56C AFBF0024 */ sw $ra, 0x24($sp) +/* 3EBA50 E010E570 AFB20020 */ sw $s2, 0x20($sp) +/* 3EBA54 E010E574 AFB1001C */ sw $s1, 0x1c($sp) +/* 3EBA58 E010E578 AFB00018 */ sw $s0, 0x18($sp) +/* 3EBA5C E010E57C 8CC50000 */ lw $a1, ($a2) +/* 3EBA60 E010E580 8C90000C */ lw $s0, 0xc($a0) +/* 3EBA64 E010E584 00A0182D */ daddu $v1, $a1, $zero +/* 3EBA68 E010E588 24A50008 */ addiu $a1, $a1, 8 +/* 3EBA6C E010E58C ACC50000 */ sw $a1, ($a2) +/* 3EBA70 E010E590 8E0B002C */ lw $t3, 0x2c($s0) +/* 3EBA74 E010E594 8E080000 */ lw $t0, ($s0) +/* 3EBA78 E010E598 3C02E700 */ lui $v0, 0xe700 +/* 3EBA7C E010E59C AC620000 */ sw $v0, ($v1) +/* 3EBA80 E010E5A0 AC600004 */ sw $zero, 4($v1) +/* 3EBA84 E010E5A4 ACA70000 */ sw $a3, ($a1) +/* 3EBA88 E010E5A8 8C830010 */ lw $v1, 0x10($a0) +/* 3EBA8C E010E5AC 24A20008 */ addiu $v0, $a1, 8 +/* 3EBA90 E010E5B0 ACC20000 */ sw $v0, ($a2) +/* 3EBA94 E010E5B4 8C62001C */ lw $v0, 0x1c($v1) +/* 3EBA98 E010E5B8 3C038000 */ lui $v1, 0x8000 +/* 3EBA9C E010E5BC 00431021 */ addu $v0, $v0, $v1 +/* 3EBAA0 E010E5C0 ACA20004 */ sw $v0, 4($a1) +/* 3EBAA4 E010E5C4 2D020013 */ sltiu $v0, $t0, 0x13 +/* 3EBAA8 E010E5C8 1040001A */ beqz $v0, .LE010E634 +/* 3EBAAC E010E5CC 00081080 */ sll $v0, $t0, 2 +/* 3EBAB0 E010E5D0 3C01E011 */ lui $at, %hi(D_E010E930) +/* 3EBAB4 E010E5D4 00220821 */ addu $at, $at, $v0 +/* 3EBAB8 E010E5D8 8C22E930 */ lw $v0, %lo(D_E010E930)($at) +/* 3EBABC E010E5DC 00400008 */ jr $v0 +/* 3EBAC0 E010E5E0 00000000 */ nop +/* 3EBAC4 E010E5E4 3C06E011 */ lui $a2, %hi(D_E010E7FC) +/* 3EBAC8 E010E5E8 24C6E7FC */ addiu $a2, $a2, %lo(D_E010E7FC) +/* 3EBACC E010E5EC 3C04E011 */ lui $a0, %hi(D_E010E868) +/* 3EBAD0 E010E5F0 2484E868 */ addiu $a0, $a0, %lo(D_E010E868) +/* 3EBAD4 E010E5F4 2503FFFF */ addiu $v1, $t0, -1 +/* 3EBAD8 E010E5F8 00031040 */ sll $v0, $v1, 1 +/* 3EBADC E010E5FC 00431021 */ addu $v0, $v0, $v1 +/* 3EBAE0 E010E600 000210C0 */ sll $v0, $v0, 3 +/* 3EBAE4 E010E604 0804398F */ j .LE010E63C +/* 3EBAE8 E010E608 00448821 */ addu $s1, $v0, $a0 +/* 3EBAEC E010E60C 3C06E011 */ lui $a2, %hi(D_E010E7D8) +/* 3EBAF0 E010E610 24C6E7D8 */ addiu $a2, $a2, %lo(D_E010E7D8) +/* 3EBAF4 E010E614 0804398F */ j .LE010E63C +/* 3EBAF8 E010E618 0000882D */ daddu $s1, $zero, $zero +/* 3EBAFC E010E61C 3C06E011 */ lui $a2, %hi(D_E010E79C) +/* 3EBB00 E010E620 24C6E79C */ addiu $a2, $a2, %lo(D_E010E79C) +/* 3EBB04 E010E624 3C11E011 */ lui $s1, %hi(D_E010E838) +/* 3EBB08 E010E628 2631E838 */ addiu $s1, $s1, %lo(D_E010E838) +/* 3EBB0C E010E62C 08043990 */ j .LE010E640 +/* 3EBB10 E010E630 0200202D */ daddu $a0, $s0, $zero +.LE010E634: +/* 3EBB14 E010E634 0000882D */ daddu $s1, $zero, $zero +/* 3EBB18 E010E638 0220302D */ daddu $a2, $s1, $zero +.LE010E63C: +/* 3EBB1C E010E63C 0200202D */ daddu $a0, $s0, $zero +.LE010E640: +/* 3EBB20 E010E640 0000282D */ daddu $a1, $zero, $zero +/* 3EBB24 E010E644 3C12800A */ lui $s2, %hi(D_8009A66C) +/* 3EBB28 E010E648 2652A66C */ addiu $s2, $s2, %lo(D_8009A66C) +/* 3EBB2C E010E64C 8E490000 */ lw $t1, ($s2) +/* 3EBB30 E010E650 3C02FA00 */ lui $v0, 0xfa00 +/* 3EBB34 E010E654 0120502D */ daddu $t2, $t1, $zero +/* 3EBB38 E010E658 25290008 */ addiu $t1, $t1, 8 +/* 3EBB3C E010E65C AE490000 */ sw $t1, ($s2) +/* 3EBB40 E010E660 AD420000 */ sw $v0, ($t2) +/* 3EBB44 E010E664 92020023 */ lbu $v0, 0x23($s0) +/* 3EBB48 E010E668 92070027 */ lbu $a3, 0x27($s0) +/* 3EBB4C E010E66C 9208002B */ lbu $t0, 0x2b($s0) +/* 3EBB50 E010E670 25230008 */ addiu $v1, $t1, 8 +/* 3EBB54 E010E674 AE430000 */ sw $v1, ($s2) +/* 3EBB58 E010E678 316300FF */ andi $v1, $t3, 0xff +/* 3EBB5C E010E67C 00021600 */ sll $v0, $v0, 0x18 +/* 3EBB60 E010E680 00073C00 */ sll $a3, $a3, 0x10 +/* 3EBB64 E010E684 00471025 */ or $v0, $v0, $a3 +/* 3EBB68 E010E688 00084200 */ sll $t0, $t0, 8 +/* 3EBB6C E010E68C 00481025 */ or $v0, $v0, $t0 +/* 3EBB70 E010E690 00431025 */ or $v0, $v0, $v1 +/* 3EBB74 E010E694 AD420004 */ sw $v0, 4($t2) +/* 3EBB78 E010E698 3C02FB00 */ lui $v0, 0xfb00 +/* 3EBB7C E010E69C AD220000 */ sw $v0, ($t1) +/* 3EBB80 E010E6A0 92020033 */ lbu $v0, 0x33($s0) +/* 3EBB84 E010E6A4 92030037 */ lbu $v1, 0x37($s0) +/* 3EBB88 E010E6A8 9207003B */ lbu $a3, 0x3b($s0) +/* 3EBB8C E010E6AC 00021600 */ sll $v0, $v0, 0x18 +/* 3EBB90 E010E6B0 00031C00 */ sll $v1, $v1, 0x10 +/* 3EBB94 E010E6B4 00431025 */ or $v0, $v0, $v1 +/* 3EBB98 E010E6B8 00073A00 */ sll $a3, $a3, 8 +/* 3EBB9C E010E6BC 9203003F */ lbu $v1, 0x3f($s0) +/* 3EBBA0 E010E6C0 00471025 */ or $v0, $v0, $a3 +/* 3EBBA4 E010E6C4 00431025 */ or $v0, $v0, $v1 +/* 3EBBA8 E010E6C8 0C043800 */ jal func_E010E000 +/* 3EBBAC E010E6CC AD220004 */ sw $v0, 4($t1) +/* 3EBBB0 E010E6D0 0200202D */ daddu $a0, $s0, $zero +/* 3EBBB4 E010E6D4 24050001 */ addiu $a1, $zero, 1 +/* 3EBBB8 E010E6D8 0C043800 */ jal func_E010E000 +/* 3EBBBC E010E6DC 0220302D */ daddu $a2, $s1, $zero +/* 3EBBC0 E010E6E0 8E020054 */ lw $v0, 0x54($s0) +/* 3EBBC4 E010E6E4 0440000A */ bltz $v0, .LE010E710 +/* 3EBBC8 E010E6E8 24020015 */ addiu $v0, $zero, 0x15 +/* 3EBBCC E010E6EC 8E030040 */ lw $v1, 0x40($s0) +/* 3EBBD0 E010E6F0 8E050048 */ lw $a1, 0x48($s0) +/* 3EBBD4 E010E6F4 240700FF */ addiu $a3, $zero, 0xff +/* 3EBBD8 E010E6F8 AFA20010 */ sw $v0, 0x10($sp) +/* 3EBBDC E010E6FC AFA00014 */ sw $zero, 0x14($sp) +/* 3EBBE0 E010E700 8E040054 */ lw $a0, 0x54($s0) +/* 3EBBE4 E010E704 8E060044 */ lw $a2, 0x44($s0) +/* 3EBBE8 E010E708 0C080194 */ jal func_E0200650 +/* 3EBBEC E010E70C 00652823 */ subu $a1, $v1, $a1 +.LE010E710: +/* 3EBBF0 E010E710 8E420000 */ lw $v0, ($s2) +/* 3EBBF4 E010E714 0040182D */ daddu $v1, $v0, $zero +/* 3EBBF8 E010E718 24420008 */ addiu $v0, $v0, 8 +/* 3EBBFC E010E71C AE420000 */ sw $v0, ($s2) +/* 3EBC00 E010E720 3C02E700 */ lui $v0, 0xe700 +/* 3EBC04 E010E724 AC620000 */ sw $v0, ($v1) +/* 3EBC08 E010E728 AC600004 */ sw $zero, 4($v1) +/* 3EBC0C E010E72C 8FBF0024 */ lw $ra, 0x24($sp) +/* 3EBC10 E010E730 8FB20020 */ lw $s2, 0x20($sp) +/* 3EBC14 E010E734 8FB1001C */ lw $s1, 0x1c($sp) +/* 3EBC18 E010E738 8FB00018 */ lw $s0, 0x18($sp) +/* 3EBC1C E010E73C 03E00008 */ jr $ra +/* 3EBC20 E010E740 27BD0028 */ addiu $sp, $sp, 0x28 +/* 3EBC24 E010E744 00000000 */ nop +/* 3EBC28 E010E748 00000000 */ nop +/* 3EBC2C E010E74C 00000000 */ nop diff --git a/asm/nonmatchings/code_4219F0/func_802A9000.s b/asm/nonmatchings/code_4219F0/func_802A9000.s new file mode 100644 index 0000000000..87bc12e865 --- /dev/null +++ b/asm/nonmatchings/code_4219F0/func_802A9000.s @@ -0,0 +1,78 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802A9000 +/* 4219F0 802A9000 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 4219F4 802A9004 3C03800E */ lui $v1, %hi(gBattleStatus) +/* 4219F8 802A9008 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus) +/* 4219FC 802A900C 24020001 */ addiu $v0, $zero, 1 +/* 421A00 802A9010 AFBF0018 */ sw $ra, 0x18($sp) +/* 421A04 802A9014 AFB10014 */ sw $s1, 0x14($sp) +/* 421A08 802A9018 AFB00010 */ sw $s0, 0x10($sp) +/* 421A0C 802A901C A0620082 */ sb $v0, 0x82($v1) +/* 421A10 802A9020 3C028029 */ lui $v0, %hi(D_802941C0) +/* 421A14 802A9024 244241C0 */ addiu $v0, $v0, %lo(D_802941C0) +/* 421A18 802A9028 AC620434 */ sw $v0, 0x434($v1) +/* 421A1C 802A902C 80620083 */ lb $v0, 0x83($v1) +/* 421A20 802A9030 3C11802A */ lui $s1, %hi(D_8029FBE0) +/* 421A24 802A9034 2631FBE0 */ addiu $s1, $s1, %lo(D_8029FBE0) +/* 421A28 802A9038 10400032 */ beqz $v0, .L802A9104 +/* 421A2C 802A903C A0600086 */ sb $zero, 0x86($v1) +/* 421A30 802A9040 0C09A216 */ jal func_80268858 +/* 421A34 802A9044 00000000 */ nop +/* 421A38 802A9048 3C048011 */ lui $a0, %hi(D_80108B28) +/* 421A3C 802A904C 24848B28 */ addiu $a0, $a0, %lo(D_80108B28) +/* 421A40 802A9050 24020001 */ addiu $v0, $zero, 1 +/* 421A44 802A9054 A622004A */ sh $v0, 0x4a($s1) +/* 421A48 802A9058 2402FFD0 */ addiu $v0, $zero, -0x30 +/* 421A4C 802A905C A6220056 */ sh $v0, 0x56($s1) +/* 421A50 802A9060 24020050 */ addiu $v0, $zero, 0x50 +/* 421A54 802A9064 A620004C */ sh $zero, 0x4c($s1) +/* 421A58 802A9068 A2200060 */ sb $zero, 0x60($s1) +/* 421A5C 802A906C 0C050529 */ jal create_icon +/* 421A60 802A9070 A6220058 */ sh $v0, 0x58($s1) +/* 421A64 802A9074 0040802D */ daddu $s0, $v0, $zero +/* 421A68 802A9078 0200202D */ daddu $a0, $s0, $zero +/* 421A6C 802A907C 24050082 */ addiu $a1, $zero, 0x82 +/* 421A70 802A9080 0C051280 */ jal set_icon_flags +/* 421A74 802A9084 AE300004 */ sw $s0, 4($s1) +/* 421A78 802A9088 86250056 */ lh $a1, 0x56($s1) +/* 421A7C 802A908C 86260058 */ lh $a2, 0x58($s1) +/* 421A80 802A9090 0C051261 */ jal set_icon_render_pos +/* 421A84 802A9094 0200202D */ daddu $a0, $s0, $zero +/* 421A88 802A9098 0200202D */ daddu $a0, $s0, $zero +/* 421A8C 802A909C 0C051277 */ jal func_801449DC +/* 421A90 802A90A0 0000282D */ daddu $a1, $zero, $zero +/* 421A94 802A90A4 0200202D */ daddu $a0, $s0, $zero +/* 421A98 802A90A8 0C0513AC */ jal icon_set_opacity +/* 421A9C 802A90AC 240500FF */ addiu $a1, $zero, 0xff +/* 421AA0 802A90B0 3C048029 */ lui $a0, %hi(D_80292A2C) +/* 421AA4 802A90B4 24842A2C */ addiu $a0, $a0, %lo(D_80292A2C) +/* 421AA8 802A90B8 0C050529 */ jal create_icon +/* 421AAC 802A90BC 00000000 */ nop +/* 421AB0 802A90C0 0040802D */ daddu $s0, $v0, $zero +/* 421AB4 802A90C4 0200202D */ daddu $a0, $s0, $zero +/* 421AB8 802A90C8 24050082 */ addiu $a1, $zero, 0x82 +/* 421ABC 802A90CC 0C051280 */ jal set_icon_flags +/* 421AC0 802A90D0 AE300008 */ sw $s0, 8($s1) +/* 421AC4 802A90D4 86250056 */ lh $a1, 0x56($s1) +/* 421AC8 802A90D8 86260058 */ lh $a2, 0x58($s1) +/* 421ACC 802A90DC 0C051261 */ jal set_icon_render_pos +/* 421AD0 802A90E0 0200202D */ daddu $a0, $s0, $zero +/* 421AD4 802A90E4 0200202D */ daddu $a0, $s0, $zero +/* 421AD8 802A90E8 0C051277 */ jal func_801449DC +/* 421ADC 802A90EC 0000282D */ daddu $a1, $zero, $zero +/* 421AE0 802A90F0 0200202D */ daddu $a0, $s0, $zero +/* 421AE4 802A90F4 0C0513AC */ jal icon_set_opacity +/* 421AE8 802A90F8 240500FF */ addiu $a1, $zero, 0xff +/* 421AEC 802A90FC 080AA443 */ j .L802A910C +/* 421AF0 802A9100 24020002 */ addiu $v0, $zero, 2 +.L802A9104: +/* 421AF4 802A9104 A0600081 */ sb $zero, 0x81($v1) +/* 421AF8 802A9108 24020002 */ addiu $v0, $zero, 2 +.L802A910C: +/* 421AFC 802A910C 8FBF0018 */ lw $ra, 0x18($sp) +/* 421B00 802A9110 8FB10014 */ lw $s1, 0x14($sp) +/* 421B04 802A9114 8FB00010 */ lw $s0, 0x10($sp) +/* 421B08 802A9118 03E00008 */ jr $ra +/* 421B0C 802A911C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_4219F0/func_802A9120.s b/asm/nonmatchings/code_4219F0/func_802A9120.s new file mode 100644 index 0000000000..c6ec3cea7e --- /dev/null +++ b/asm/nonmatchings/code_4219F0/func_802A9120.s @@ -0,0 +1,76 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802A9120 +/* 421B10 802A9120 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 421B14 802A9124 AFB20018 */ sw $s2, 0x18($sp) +/* 421B18 802A9128 0080902D */ daddu $s2, $a0, $zero +/* 421B1C 802A912C AFB10014 */ sw $s1, 0x14($sp) +/* 421B20 802A9130 3C11802A */ lui $s1, %hi(D_8029FBE0) +/* 421B24 802A9134 2631FBE0 */ addiu $s1, $s1, %lo(D_8029FBE0) +/* 421B28 802A9138 AFB40020 */ sw $s4, 0x20($sp) +/* 421B2C 802A913C 0220A02D */ daddu $s4, $s1, $zero +/* 421B30 802A9140 3C03800E */ lui $v1, %hi(gBattleStatus) +/* 421B34 802A9144 2463C070 */ addiu $v1, $v1, %lo(gBattleStatus) +/* 421B38 802A9148 AFB3001C */ sw $s3, 0x1c($sp) +/* 421B3C 802A914C AFBF0024 */ sw $ra, 0x24($sp) +/* 421B40 802A9150 AFB00010 */ sw $s0, 0x10($sp) +/* 421B44 802A9154 80620083 */ lb $v0, 0x83($v1) +/* 421B48 802A9158 8E50000C */ lw $s0, 0xc($s2) +/* 421B4C 802A915C 14400003 */ bnez $v0, .L802A916C +/* 421B50 802A9160 0060982D */ daddu $s3, $v1, $zero +/* 421B54 802A9164 080AA484 */ j .L802A9210 +/* 421B58 802A9168 A0600081 */ sb $zero, 0x81($v1) +.L802A916C: +/* 421B5C 802A916C 0C09A216 */ jal func_80268858 +/* 421B60 802A9170 00000000 */ nop +/* 421B64 802A9174 8E050000 */ lw $a1, ($s0) +/* 421B68 802A9178 26100004 */ addiu $s0, $s0, 4 +/* 421B6C 802A917C 0C0B1EAF */ jal get_variable +/* 421B70 802A9180 0240202D */ daddu $a0, $s2, $zero +/* 421B74 802A9184 A622004E */ sh $v0, 0x4e($s1) +/* 421B78 802A9188 8E050000 */ lw $a1, ($s0) +/* 421B7C 802A918C 0C0B1EAF */ jal get_variable +/* 421B80 802A9190 0240202D */ daddu $a0, $s2, $zero +/* 421B84 802A9194 00022400 */ sll $a0, $v0, 0x10 +/* 421B88 802A9198 00042403 */ sra $a0, $a0, 0x10 +/* 421B8C 802A919C 0C09A089 */ jal func_80268224 +/* 421B90 802A91A0 A6220050 */ sh $v0, 0x50($s1) +/* 421B94 802A91A4 3C03FFFF */ lui $v1, 0xffff +/* 421B98 802A91A8 34637FFF */ ori $v1, $v1, 0x7fff +/* 421B9C 802A91AC 24050032 */ addiu $a1, $zero, 0x32 +/* 421BA0 802A91B0 A6220050 */ sh $v0, 0x50($s1) +/* 421BA4 802A91B4 A2200060 */ sb $zero, 0x60($s1) +/* 421BA8 802A91B8 A2600081 */ sb $zero, 0x81($s3) +/* 421BAC 802A91BC 8E300004 */ lw $s0, 4($s1) +/* 421BB0 802A91C0 00A0102D */ daddu $v0, $a1, $zero +/* 421BB4 802A91C4 A6220056 */ sh $v0, 0x56($s1) +/* 421BB8 802A91C8 8E620000 */ lw $v0, ($s3) +/* 421BBC 802A91CC 86260058 */ lh $a2, 0x58($s1) +/* 421BC0 802A91D0 0200202D */ daddu $a0, $s0, $zero +/* 421BC4 802A91D4 00431024 */ and $v0, $v0, $v1 +/* 421BC8 802A91D8 2403DFFF */ addiu $v1, $zero, -0x2001 +/* 421BCC 802A91DC 00431024 */ and $v0, $v0, $v1 +/* 421BD0 802A91E0 0C051261 */ jal set_icon_render_pos +/* 421BD4 802A91E4 AE620000 */ sw $v0, ($s3) +/* 421BD8 802A91E8 82220061 */ lb $v0, 0x61($s1) +/* 421BDC 802A91EC 10400003 */ beqz $v0, .L802A91FC +/* 421BE0 802A91F0 0200202D */ daddu $a0, $s0, $zero +/* 421BE4 802A91F4 0C05128B */ jal clear_icon_flags +/* 421BE8 802A91F8 24050002 */ addiu $a1, $zero, 2 +.L802A91FC: +/* 421BEC 802A91FC 2402000A */ addiu $v0, $zero, 0xa +/* 421BF0 802A9200 0C09A446 */ jal func_80269118 +/* 421BF4 802A9204 A682004C */ sh $v0, 0x4c($s4) +/* 421BF8 802A9208 0C093EB1 */ jal set_popup_duration +/* 421BFC 802A920C 2404000A */ addiu $a0, $zero, 0xa +.L802A9210: +/* 421C00 802A9210 24020002 */ addiu $v0, $zero, 2 +/* 421C04 802A9214 8FBF0024 */ lw $ra, 0x24($sp) +/* 421C08 802A9218 8FB40020 */ lw $s4, 0x20($sp) +/* 421C0C 802A921C 8FB3001C */ lw $s3, 0x1c($sp) +/* 421C10 802A9220 8FB20018 */ lw $s2, 0x18($sp) +/* 421C14 802A9224 8FB10014 */ lw $s1, 0x14($sp) +/* 421C18 802A9228 8FB00010 */ lw $s0, 0x10($sp) +/* 421C1C 802A922C 03E00008 */ jr $ra +/* 421C20 802A9230 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_4219F0/func_802A9234.s b/asm/nonmatchings/code_4219F0/func_802A9234.s new file mode 100644 index 0000000000..30862647c8 --- /dev/null +++ b/asm/nonmatchings/code_4219F0/func_802A9234.s @@ -0,0 +1,220 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802A9234 +/* 421C24 802A9234 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 421C28 802A9238 AFB10014 */ sw $s1, 0x14($sp) +/* 421C2C 802A923C 3C11802A */ lui $s1, %hi(D_8029FBE0) +/* 421C30 802A9240 2631FBE0 */ addiu $s1, $s1, %lo(D_8029FBE0) +/* 421C34 802A9244 AFBF001C */ sw $ra, 0x1c($sp) +/* 421C38 802A9248 AFB20018 */ sw $s2, 0x18($sp) +/* 421C3C 802A924C AFB00010 */ sw $s0, 0x10($sp) +/* 421C40 802A9250 8623004C */ lh $v1, 0x4c($s1) +/* 421C44 802A9254 3C12800E */ lui $s2, %hi(gBattleStatus) +/* 421C48 802A9258 2652C070 */ addiu $s2, $s2, %lo(gBattleStatus) +/* 421C4C 802A925C 2C62000D */ sltiu $v0, $v1, 0xd +/* 421C50 802A9260 104000B2 */ beqz $v0, .L802A952C +/* 421C54 802A9264 00031080 */ sll $v0, $v1, 2 +/* 421C58 802A9268 3C01802B */ lui $at, %hi(D_802A95D0) +/* 421C5C 802A926C 00220821 */ addu $at, $at, $v0 +/* 421C60 802A9270 8C2295D0 */ lw $v0, %lo(D_802A95D0)($at) +/* 421C64 802A9274 00400008 */ jr $v0 +/* 421C68 802A9278 00000000 */ nop +/* 421C6C 802A927C 82430083 */ lb $v1, 0x83($s2) +/* 421C70 802A9280 24020002 */ addiu $v0, $zero, 2 +/* 421C74 802A9284 14620004 */ bne $v1, $v0, .L802A9298 +/* 421C78 802A9288 24020001 */ addiu $v0, $zero, 1 +/* 421C7C 802A928C 0C093EB1 */ jal set_popup_duration +/* 421C80 802A9290 24040063 */ addiu $a0, $zero, 0x63 +/* 421C84 802A9294 24020001 */ addiu $v0, $zero, 1 +.L802A9298: +/* 421C88 802A9298 080AA54B */ j .L802A952C +/* 421C8C 802A929C A622004C */ sh $v0, 0x4c($s1) +/* 421C90 802A92A0 82430083 */ lb $v1, 0x83($s2) +/* 421C94 802A92A4 24020002 */ addiu $v0, $zero, 2 +/* 421C98 802A92A8 14620003 */ bne $v1, $v0, .L802A92B8 +/* 421C9C 802A92AC 00000000 */ nop +/* 421CA0 802A92B0 0C093EB1 */ jal set_popup_duration +/* 421CA4 802A92B4 24040063 */ addiu $a0, $zero, 0x63 +.L802A92B8: +/* 421CA8 802A92B8 96220056 */ lhu $v0, 0x56($s1) +/* 421CAC 802A92BC 24420014 */ addiu $v0, $v0, 0x14 +/* 421CB0 802A92C0 A6220056 */ sh $v0, 0x56($s1) +/* 421CB4 802A92C4 00021400 */ sll $v0, $v0, 0x10 +/* 421CB8 802A92C8 00021403 */ sra $v0, $v0, 0x10 +/* 421CBC 802A92CC 28420033 */ slti $v0, $v0, 0x33 +/* 421CC0 802A92D0 14400002 */ bnez $v0, .L802A92DC +/* 421CC4 802A92D4 24020032 */ addiu $v0, $zero, 0x32 +/* 421CC8 802A92D8 A6220056 */ sh $v0, 0x56($s1) +.L802A92DC: +/* 421CCC 802A92DC 8E300004 */ lw $s0, 4($s1) +/* 421CD0 802A92E0 86250056 */ lh $a1, 0x56($s1) +/* 421CD4 802A92E4 86260058 */ lh $a2, 0x58($s1) +/* 421CD8 802A92E8 0C051261 */ jal set_icon_render_pos +/* 421CDC 802A92EC 0200202D */ daddu $a0, $s0, $zero +/* 421CE0 802A92F0 82220061 */ lb $v0, 0x61($s1) +/* 421CE4 802A92F4 10400003 */ beqz $v0, .L802A9304 +/* 421CE8 802A92F8 0200202D */ daddu $a0, $s0, $zero +/* 421CEC 802A92FC 0C05128B */ jal clear_icon_flags +/* 421CF0 802A9300 24050002 */ addiu $a1, $zero, 2 +.L802A9304: +/* 421CF4 802A9304 8222005E */ lb $v0, 0x5e($s1) +/* 421CF8 802A9308 10400088 */ beqz $v0, .L802A952C +/* 421CFC 802A930C 00000000 */ nop +/* 421D00 802A9310 8E300008 */ lw $s0, 8($s1) +/* 421D04 802A9314 86260058 */ lh $a2, 0x58($s1) +/* 421D08 802A9318 86250056 */ lh $a1, 0x56($s1) +/* 421D0C 802A931C 0200202D */ daddu $a0, $s0, $zero +/* 421D10 802A9320 0C051261 */ jal set_icon_render_pos +/* 421D14 802A9324 24A50032 */ addiu $a1, $a1, 0x32 +/* 421D18 802A9328 82220061 */ lb $v0, 0x61($s1) +/* 421D1C 802A932C 1040007F */ beqz $v0, .L802A952C +/* 421D20 802A9330 0200202D */ daddu $a0, $s0, $zero +/* 421D24 802A9334 0C05128B */ jal clear_icon_flags +/* 421D28 802A9338 24050002 */ addiu $a1, $zero, 2 +/* 421D2C 802A933C 080AA54B */ j .L802A952C +/* 421D30 802A9340 00000000 */ nop +/* 421D34 802A9344 82430083 */ lb $v1, 0x83($s2) +/* 421D38 802A9348 24020002 */ addiu $v0, $zero, 2 +/* 421D3C 802A934C 14620003 */ bne $v1, $v0, .L802A935C +/* 421D40 802A9350 00000000 */ nop +/* 421D44 802A9354 0C093EB1 */ jal set_popup_duration +/* 421D48 802A9358 24040063 */ addiu $a0, $zero, 0x63 +.L802A935C: +/* 421D4C 802A935C 86220050 */ lh $v0, 0x50($s1) +/* 421D50 802A9360 8E430434 */ lw $v1, 0x434($s2) +/* 421D54 802A9364 00021080 */ sll $v0, $v0, 2 +/* 421D58 802A9368 00431021 */ addu $v0, $v0, $v1 +/* 421D5C 802A936C 8C500000 */ lw $s0, ($v0) +/* 421D60 802A9370 8622004E */ lh $v0, 0x4e($s1) +/* 421D64 802A9374 00501023 */ subu $v0, $v0, $s0 +/* 421D68 802A9378 2442FFFE */ addiu $v0, $v0, -2 +/* 421D6C 802A937C 1C400006 */ bgtz $v0, .L802A9398 +/* 421D70 802A9380 00000000 */ nop +/* 421D74 802A9384 8E240004 */ lw $a0, 4($s1) +/* 421D78 802A9388 3C058011 */ lui $a1, %hi(D_80108B54) +/* 421D7C 802A938C 24A58B54 */ addiu $a1, $a1, %lo(D_80108B54) +/* 421D80 802A9390 0C0511FF */ jal set_menu_icon_script +/* 421D84 802A9394 00000000 */ nop +.L802A9398: +/* 421D88 802A9398 8E420214 */ lw $v0, 0x214($s2) +/* 421D8C 802A939C 30428000 */ andi $v0, $v0, 0x8000 +/* 421D90 802A93A0 10400007 */ beqz $v0, .L802A93C0 +/* 421D94 802A93A4 00000000 */ nop +/* 421D98 802A93A8 8222005E */ lb $v0, 0x5e($s1) +/* 421D9C 802A93AC 14400004 */ bnez $v0, .L802A93C0 +/* 421DA0 802A93B0 24020001 */ addiu $v0, $zero, 1 +/* 421DA4 802A93B4 A2220060 */ sb $v0, 0x60($s1) +/* 421DA8 802A93B8 2402FFFF */ addiu $v0, $zero, -1 +/* 421DAC 802A93BC A2420086 */ sb $v0, 0x86($s2) +.L802A93C0: +/* 421DB0 802A93C0 8622004E */ lh $v0, 0x4e($s1) +/* 421DB4 802A93C4 9623004E */ lhu $v1, 0x4e($s1) +/* 421DB8 802A93C8 00501023 */ subu $v0, $v0, $s0 +/* 421DBC 802A93CC 18400003 */ blez $v0, .L802A93DC +/* 421DC0 802A93D0 2462FFFF */ addiu $v0, $v1, -1 +/* 421DC4 802A93D4 080AA54B */ j .L802A952C +/* 421DC8 802A93D8 A622004E */ sh $v0, 0x4e($s1) +.L802A93DC: +/* 421DCC 802A93DC 86220050 */ lh $v0, 0x50($s1) +/* 421DD0 802A93E0 8E430434 */ lw $v1, 0x434($s2) +/* 421DD4 802A93E4 00021080 */ sll $v0, $v0, 2 +/* 421DD8 802A93E8 00431021 */ addu $v0, $v0, $v1 +/* 421DDC 802A93EC 94430002 */ lhu $v1, 2($v0) +/* 421DE0 802A93F0 2402FFFF */ addiu $v0, $zero, -1 +/* 421DE4 802A93F4 A2420081 */ sb $v0, 0x81($s2) +/* 421DE8 802A93F8 2402000B */ addiu $v0, $zero, 0xb +/* 421DEC 802A93FC A622004C */ sh $v0, 0x4c($s1) +/* 421DF0 802A9400 A6230054 */ sh $v1, 0x54($s1) +/* 421DF4 802A9404 82430083 */ lb $v1, 0x83($s2) +/* 421DF8 802A9408 24020002 */ addiu $v0, $zero, 2 +/* 421DFC 802A940C 14620003 */ bne $v1, $v0, .L802A941C +/* 421E00 802A9410 00000000 */ nop +/* 421E04 802A9414 0C093EB1 */ jal set_popup_duration +/* 421E08 802A9418 24040063 */ addiu $a0, $zero, 0x63 +.L802A941C: +/* 421E0C 802A941C 82420083 */ lb $v0, 0x83($s2) +/* 421E10 802A9420 28420002 */ slti $v0, $v0, 2 +/* 421E14 802A9424 14400006 */ bnez $v0, .L802A9440 +/* 421E18 802A9428 00000000 */ nop +/* 421E1C 802A942C 86220054 */ lh $v0, 0x54($s1) +/* 421E20 802A9430 1040003E */ beqz $v0, .L802A952C +/* 421E24 802A9434 00000000 */ nop +/* 421E28 802A9438 080AA519 */ j .L802A9464 +/* 421E2C 802A943C 00000000 */ nop +.L802A9440: +/* 421E30 802A9440 82420081 */ lb $v0, 0x81($s2) +/* 421E34 802A9444 0440000A */ bltz $v0, .L802A9470 +/* 421E38 802A9448 00000000 */ nop +/* 421E3C 802A944C 82220061 */ lb $v0, 0x61($s1) +/* 421E40 802A9450 8E300004 */ lw $s0, 4($s1) +/* 421E44 802A9454 10400003 */ beqz $v0, .L802A9464 +/* 421E48 802A9458 0200202D */ daddu $a0, $s0, $zero +/* 421E4C 802A945C 0C051280 */ jal set_icon_flags +/* 421E50 802A9460 24050002 */ addiu $a1, $zero, 2 +.L802A9464: +/* 421E54 802A9464 82420081 */ lb $v0, 0x81($s2) +/* 421E58 802A9468 04410013 */ bgez $v0, .L802A94B8 +/* 421E5C 802A946C 00000000 */ nop +.L802A9470: +/* 421E60 802A9470 8E420214 */ lw $v0, 0x214($s2) +/* 421E64 802A9474 30428000 */ andi $v0, $v0, 0x8000 +/* 421E68 802A9478 10400004 */ beqz $v0, .L802A948C +/* 421E6C 802A947C 00000000 */ nop +/* 421E70 802A9480 82220060 */ lb $v0, 0x60($s1) +/* 421E74 802A9484 10400004 */ beqz $v0, .L802A9498 +/* 421E78 802A9488 00000000 */ nop +.L802A948C: +/* 421E7C 802A948C 8222005E */ lb $v0, 0x5e($s1) +/* 421E80 802A9490 10400009 */ beqz $v0, .L802A94B8 +/* 421E84 802A9494 00000000 */ nop +.L802A9498: +/* 421E88 802A9498 3C02800E */ lui $v0, %hi(gBattleStatus) +/* 421E8C 802A949C 2442C070 */ addiu $v0, $v0, %lo(gBattleStatus) +/* 421E90 802A94A0 8C430000 */ lw $v1, ($v0) +/* 421E94 802A94A4 24040001 */ addiu $a0, $zero, 1 +/* 421E98 802A94A8 A2440081 */ sb $a0, 0x81($s2) +/* 421E9C 802A94AC A2440086 */ sb $a0, 0x86($s2) +/* 421EA0 802A94B0 34632000 */ ori $v1, $v1, 0x2000 +/* 421EA4 802A94B4 AC430000 */ sw $v1, ($v0) +.L802A94B8: +/* 421EA8 802A94B8 86220054 */ lh $v0, 0x54($s1) +/* 421EAC 802A94BC 96230054 */ lhu $v1, 0x54($s1) +/* 421EB0 802A94C0 14400016 */ bnez $v0, .L802A951C +/* 421EB4 802A94C4 2462FFFF */ addiu $v0, $v1, -1 +/* 421EB8 802A94C8 82430081 */ lb $v1, 0x81($s2) +/* 421EBC 802A94CC 24020001 */ addiu $v0, $zero, 1 +/* 421EC0 802A94D0 14620003 */ bne $v1, $v0, .L802A94E0 +/* 421EC4 802A94D4 00000000 */ nop +/* 421EC8 802A94D8 0C09A458 */ jal func_80269160 +/* 421ECC 802A94DC 00000000 */ nop +.L802A94E0: +/* 421ED0 802A94E0 82430083 */ lb $v1, 0x83($s2) +/* 421ED4 802A94E4 24020002 */ addiu $v0, $zero, 2 +/* 421ED8 802A94E8 14620004 */ bne $v1, $v0, .L802A94FC +/* 421EDC 802A94EC 24020005 */ addiu $v0, $zero, 5 +/* 421EE0 802A94F0 0C093EB1 */ jal set_popup_duration +/* 421EE4 802A94F4 0000202D */ daddu $a0, $zero, $zero +/* 421EE8 802A94F8 24020005 */ addiu $v0, $zero, 5 +.L802A94FC: +/* 421EEC 802A94FC A6220054 */ sh $v0, 0x54($s1) +/* 421EF0 802A9500 2402000C */ addiu $v0, $zero, 0xc +/* 421EF4 802A9504 080AA54B */ j .L802A952C +/* 421EF8 802A9508 A622004C */ sh $v0, 0x4c($s1) +/* 421EFC 802A950C 86220054 */ lh $v0, 0x54($s1) +/* 421F00 802A9510 96230054 */ lhu $v1, 0x54($s1) +/* 421F04 802A9514 10400003 */ beqz $v0, .L802A9524 +/* 421F08 802A9518 2462FFFF */ addiu $v0, $v1, -1 +.L802A951C: +/* 421F0C 802A951C 080AA54B */ j .L802A952C +/* 421F10 802A9520 A6220054 */ sh $v0, 0x54($s1) +.L802A9524: +/* 421F14 802A9524 0C09A327 */ jal func_80268C9C +/* 421F18 802A9528 00000000 */ nop +.L802A952C: +/* 421F1C 802A952C 8FBF001C */ lw $ra, 0x1c($sp) +/* 421F20 802A9530 8FB20018 */ lw $s2, 0x18($sp) +/* 421F24 802A9534 8FB10014 */ lw $s1, 0x14($sp) +/* 421F28 802A9538 8FB00010 */ lw $s0, 0x10($sp) +/* 421F2C 802A953C 03E00008 */ jr $ra +/* 421F30 802A9540 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_4219F0/func_802A9544.s b/asm/nonmatchings/code_4219F0/func_802A9544.s new file mode 100644 index 0000000000..33ff51c536 --- /dev/null +++ b/asm/nonmatchings/code_4219F0/func_802A9544.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802A9544 +/* 421F34 802A9544 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 421F38 802A9548 AFB00010 */ sw $s0, 0x10($sp) +/* 421F3C 802A954C 3C10802A */ lui $s0, %hi(D_8029FBE0) +/* 421F40 802A9550 2610FBE0 */ addiu $s0, $s0, %lo(D_8029FBE0) +/* 421F44 802A9554 AFBF0014 */ sw $ra, 0x14($sp) +/* 421F48 802A9558 0C0511EA */ jal draw_icon_0 +/* 421F4C 802A955C 8E040004 */ lw $a0, 4($s0) +/* 421F50 802A9560 3C028007 */ lui $v0, %hi(gGameStatusPtr) +/* 421F54 802A9564 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) +/* 421F58 802A9568 904200AA */ lbu $v0, 0xaa($v0) +/* 421F5C 802A956C 30420001 */ andi $v0, $v0, 1 +/* 421F60 802A9570 14400003 */ bnez $v0, .L802A9580 +/* 421F64 802A9574 00000000 */ nop +/* 421F68 802A9578 0C0511EA */ jal draw_icon_0 +/* 421F6C 802A957C 8E040008 */ lw $a0, 8($s0) +.L802A9580: +/* 421F70 802A9580 8FBF0014 */ lw $ra, 0x14($sp) +/* 421F74 802A9584 8FB00010 */ lw $s0, 0x10($sp) +/* 421F78 802A9588 03E00008 */ jr $ra +/* 421F7C 802A958C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_4219F0/func_802A9590.s b/asm/nonmatchings/code_4219F0/func_802A9590.s new file mode 100644 index 0000000000..73a84d593d --- /dev/null +++ b/asm/nonmatchings/code_4219F0/func_802A9590.s @@ -0,0 +1,20 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_802A9590 +/* 421F80 802A9590 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 421F84 802A9594 AFB00010 */ sw $s0, 0x10($sp) +/* 421F88 802A9598 3C10802A */ lui $s0, %hi(D_8029FBE0) +/* 421F8C 802A959C 2610FBE0 */ addiu $s0, $s0, %lo(D_8029FBE0) +/* 421F90 802A95A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 421F94 802A95A4 0C05123D */ jal free_icon +/* 421F98 802A95A8 8E040004 */ lw $a0, 4($s0) +/* 421F9C 802A95AC 0C05123D */ jal free_icon +/* 421FA0 802A95B0 8E040008 */ lw $a0, 8($s0) +/* 421FA4 802A95B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 421FA8 802A95B8 8FB00010 */ lw $s0, 0x10($sp) +/* 421FAC 802A95BC 03E00008 */ jr $ra +/* 421FB0 802A95C0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 421FB4 802A95C4 00000000 */ nop +/* 421FB8 802A95C8 00000000 */ nop +/* 421FBC 802A95CC 00000000 */ nop diff --git a/src/code_32C7A0.c b/src/code_32C7A0.c new file mode 100644 index 0000000000..9de0477251 --- /dev/null +++ b/src/code_32C7A0.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_32C7A0", func_E0010000); + +INCLUDE_ASM(s32, "code_32C7A0", func_E0010104); + +INCLUDE_ASM(s32, "code_32C7A0", func_E00101E8); + +INCLUDE_ASM(s32, "code_32C7A0", func_E00103EC); + +INCLUDE_ASM(s32, "code_32C7A0", func_E00103F4); + +INCLUDE_ASM(s32, "code_32C7A0", func_E00104B0); + +INCLUDE_ASM(s32, "code_32C7A0", func_E00104F4); + +INCLUDE_ASM(s32, "code_32C7A0", func_E0010510); diff --git a/src/code_32DD10.c b/src/code_32DD10.c new file mode 100644 index 0000000000..80d8b51a59 --- /dev/null +++ b/src/code_32DD10.c @@ -0,0 +1,17 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_32DD10", func_E0012000); + +INCLUDE_ASM(s32, "code_32DD10", func_E0012104); + +INCLUDE_ASM(s32, "code_32DD10", func_E0012204); + +INCLUDE_ASM(s32, "code_32DD10", func_E0012440); + +INCLUDE_ASM(s32, "code_32DD10", func_E0012448); + +INCLUDE_ASM(s32, "code_32DD10", func_E0012504); + +INCLUDE_ASM(s32, "code_32DD10", func_E0012548); + +INCLUDE_ASM(s32, "code_32DD10", func_E0012564); diff --git a/src/code_32F580.c b/src/code_32F580.c new file mode 100644 index 0000000000..f14a0c9e6d --- /dev/null +++ b/src/code_32F580.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_32F580", func_E0018000); + +INCLUDE_ASM(s32, "code_32F580", func_E0018078); + +INCLUDE_ASM(s32, "code_32F580", func_E00182AC); + +INCLUDE_ASM(s32, "code_32F580", func_E00182B4); + +INCLUDE_ASM(s32, "code_32F580", func_E0018378); + +INCLUDE_ASM(s32, "code_32F580", func_E00183BC); + +INCLUDE_ASM(s32, "code_32F580", func_E00183D8); diff --git a/src/code_38C5F0.c b/src/code_38C5F0.c new file mode 100644 index 0000000000..93b2bf40c5 --- /dev/null +++ b/src/code_38C5F0.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_38C5F0", func_E008A000); + +INCLUDE_ASM(s32, "code_38C5F0", func_E008A188); + +INCLUDE_ASM(s32, "code_38C5F0", func_E008A288); + +INCLUDE_ASM(s32, "code_38C5F0", func_E008A290); + +INCLUDE_ASM(s32, "code_38C5F0", func_E008A53C); + +INCLUDE_ASM(s32, "code_38C5F0", func_E008A6E4); + +INCLUDE_ASM(s32, "code_38C5F0", func_E008A728); diff --git a/src/code_3EB4E0.c b/src/code_3EB4E0.c new file mode 100644 index 0000000000..bfcb099c82 --- /dev/null +++ b/src/code_3EB4E0.c @@ -0,0 +1,13 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_3EB4E0", func_E010E000); + +INCLUDE_ASM(s32, "code_3EB4E0", func_E010E32C); + +INCLUDE_ASM(s32, "code_3EB4E0", func_E010E4A0); + +INCLUDE_ASM(s32, "code_3EB4E0", func_E010E4A8); + +INCLUDE_ASM(s32, "code_3EB4E0", func_E010E510); + +INCLUDE_ASM(s32, "code_3EB4E0", func_E010E558); diff --git a/src/code_4219F0.c b/src/code_4219F0.c new file mode 100644 index 0000000000..1f7560491f --- /dev/null +++ b/src/code_4219F0.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_4219F0", func_802A9000); + +INCLUDE_ASM(s32, "code_4219F0", func_802A9120); + +INCLUDE_ASM(s32, "code_4219F0", func_802A9234); + +INCLUDE_ASM(s32, "code_4219F0", func_802A9544); + +INCLUDE_ASM(s32, "code_4219F0", func_802A9590); diff --git a/tools/splat.yaml b/tools/splat.yaml index 44842ae94f..b35bcac568 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -546,17 +546,17 @@ segments: files: - [0x32C110, c] - [0x32c770, bin] - # - type: code # Weird VRAM address offset - # start: 0x32C7A0 - # vram: 0xE00101E8 - # files: - # - [0x32C7A0, c] - # - [0x32CEB0, bin] - # - type: code # Weird VRAM address offset - # start: 0x32DD10 - # vram: 0xE0012204 - # files: - # - [0x32DD10, c] + - type: code + start: 0x32C7A0 + vram: 0xE0010000 + files: + - [0x32C7A0, c] + - [0x32CEB0, bin] + - type: code + start: 0x32DD10 + vram: 0xE0012000 + files: + - [0x32DD10, c] - type: code start: 0x32E490 vram: 0xE0014000 @@ -569,11 +569,11 @@ segments: files: - [0x32EE30, c] - [0x32F550, bin] - # - type: code # Weird VRAM address offset - # start: 0x32F580 - # vram: 0xE0018078 - # files: - # - [0x32F580, c] + - type: code + start: 0x32F580 + vram: 0xE0018000 + files: + - [0x32F580, c] - [0x32fb50, bin] # data/rodata section for above. - type: code start: 0x32FE30 @@ -937,12 +937,12 @@ segments: - [0x38ADF0, c] - [0x38bab0, bin] - [0x38BBA0, bin] - # - type: code # Weird VRAM address offset - # start: 0x38C5F0 - # vram: 0xE008A188 - # files: - # - [0x38C5F0, c] - # - [0x38D040, bin] + - type: code + start: 0x38C5F0 + vram: 0xE008A000 + files: + - [0x38C5F0, c] + - [0x38D040, bin] - type: code start: 0x38DE00 vram: 0xE008C000 @@ -1255,12 +1255,12 @@ segments: files: - [0x3E54C0, c] - [0x3E5ED0, bin] - # - type: code # current issue with labels, probably because this starts at a non-0x10 ram offset? - # start: 0x3EB4E0 - # vram: 0xE010E32C - # files: - # - [0x3EB4E0, c] - # - [0x3EBC30, bin] + - type: code + start: 0x3EB4E0 + vram: 0xE010E000 + files: + - [0x3EB4E0, c] + - [0x3EBC30, bin] - [0x3ED4E0, ia8, world/text_chapter, 128, 38] - [0x3EE7E0, bin] - type: code @@ -1299,11 +1299,11 @@ segments: files: - [0x404220, c] - [0x404E40, bin] - # - type: code - # start: 0x406B40 - # vram: 0xE011C000 - # files: - # - [0x406B40, c] + - type: code + start: 0x406B40 + vram: 0xE011C000 + files: + - [0x406B40, bin] - type: code start: 0x409990 vram: 0xE011E000 @@ -1345,7 +1345,13 @@ segments: vram: 0x802A1000 files: - [0x415D90, c] - - [0x4200C0, bin] # todo split this further + - [0x4200C0, bin] + - type: code + start: 0x4219F0 + vram: 0x802A9000 + files: + - [0x4219F0, c] + - [0x421FC0, bin] # todo split this further - name: battle/area_kmr_part_1/ type: code start: 0x4309A0 diff --git a/undefined_syms_auto.txt b/undefined_syms_auto.txt index d60422f4b8..2b3e450687 100644 --- a/undefined_syms_auto.txt +++ b/undefined_syms_auto.txt @@ -1723,8 +1723,8 @@ D_802417D8 = 0x802417D8; D_802417E4 = 0x802417E4; D_802417E8 = 0x802417E8; func_802417EC_C5BF2C = 0x802417EC; -D_80241800 = 0x80241800; func_80241800_8B1870 = 0x80241800; +D_80241800 = 0x80241800; D_80241810 = 0x80241810; D_80241820 = 0x80241820; func_80241850_A2BA90 = 0x80241850; @@ -1740,8 +1740,8 @@ D_80241A00 = 0x80241A00; func_80241A78_BA61F8 = 0x80241A78; func_80241AC8_D2D7F8 = 0x80241AC8; func_80241AD4_B4C544 = 0x80241AD4; -func_80241AE0_9F6520 = 0x80241AE0; func_80241AE0_DCE7B0 = 0x80241AE0; +func_80241AE0_9F6520 = 0x80241AE0; D_80241AE8 = 0x80241AE8; func_80241AEC_80236C = 0x80241AEC; func_80241AF0_A6FED0 = 0x80241AF0; @@ -1820,8 +1820,8 @@ D_80242000 = 0x80242000; func_80242000_C48BE0 = 0x80242000; D_80242008 = 0x80242008; D_80242010 = 0x80242010; -D_80242030 = 0x80242030; func_80242030_8EDE50 = 0x80242030; +D_80242030 = 0x80242030; D_80242038 = 0x80242038; func_80242040_8B20B0 = 0x80242040; D_80242048 = 0x80242048; @@ -1886,8 +1886,8 @@ D_80242518 = 0x80242518; D_80242520 = 0x80242520; D_80242528 = 0x80242528; D_80242530 = 0x80242530; -func_80242538_D223C8 = 0x80242538; D_80242538 = 0x80242538; +func_80242538_D223C8 = 0x80242538; D_8024253C = 0x8024253C; func_80242540_A09440 = 0x80242540; func_80242558_A1D658 = 0x80242558; @@ -1955,8 +1955,8 @@ D_80242AC4 = 0x80242AC4; D_80242ACC = 0x80242ACC; D_80242AD0 = 0x80242AD0; D_80242B7E = 0x80242B7E; -func_80242B90_803410 = 0x80242B90; func_80242B90_A1DC90 = 0x80242B90; +func_80242B90_803410 = 0x80242B90; D_80242B98 = 0x80242B98; D_80242B9C = 0x80242B9C; pause_set_cursor_opacity = 0x80242BA0; @@ -2032,8 +2032,8 @@ D_80243078 = 0x80243078; D_80243080 = 0x80243080; func_80243088_8551F8 = 0x80243088; D_8024308C = 0x8024308C; -func_80243090_8B3100 = 0x80243090; func_80243090_C395C0 = 0x80243090; +func_80243090_8B3100 = 0x80243090; D_80243098 = 0x80243098; func_8024309C_95E29C = 0x8024309C; D_802430A0 = 0x802430A0; @@ -2113,11 +2113,11 @@ func_802435C8_96C788 = 0x802435C8; func_802435D0_CC6DE0 = 0x802435D0; func_802435D8_C43388 = 0x802435D8; D_802435E0 = 0x802435E0; -func_802435E8_DD02B8 = 0x802435E8; D_802435E8 = 0x802435E8; +func_802435E8_DD02B8 = 0x802435E8; D_802435EC = 0x802435EC; -D_802435F0 = 0x802435F0; func_802435F0_C7A2D0 = 0x802435F0; +D_802435F0 = 0x802435F0; D_80243600 = 0x80243600; D_80243608 = 0x80243608; D_80243610 = 0x80243610; @@ -3835,6 +3835,7 @@ D_80292688 = 0x80292688; D_802926C4 = 0x802926C4; D_80292788 = 0x80292788; D_802927B4 = 0x802927B4; +D_80292A2C = 0x80292A2C; D_80292BD8 = 0x80292BD8; D_80292C00 = 0x80292C00; D_80292C28 = 0x80292C28; @@ -3864,6 +3865,7 @@ gMoveScriptTable = 0x80293E80; D_80294190 = 0x80294190; D_802941A0 = 0x802941A0; D_802941B0 = 0x802941B0; +D_802941C0 = 0x802941C0; D_802944C0 = 0x802944C0; DoSleepHit = 0x802945E0; DoDizzyHit = 0x802945FC; @@ -4112,6 +4114,7 @@ D_8029FC2A = 0x8029FC2A; D_8029FC3E = 0x8029FC3E; D_8029FC4C = 0x8029FC4C; D_802A1000 = 0x802A1000; +D_802A95D0 = 0x802A95D0; D_802A9F0C = 0x802A9F0C; D_802A9F34 = 0x802A9F34; D_802A9F5C = 0x802A9F5C; @@ -4681,6 +4684,7 @@ D_E000CD40 = 0xE000CD40; D_E000CD58 = 0xE000CD58; D_E000CD70 = 0xE000CD70; D_E000E684 = 0xE000E684; +D_E0010710 = 0xE0010710; D_E0014780 = 0xE0014780; D_E0014788 = 0xE0014788; D_E0014790 = 0xE0014790; @@ -5027,6 +5031,11 @@ D_E0088D70 = 0xE0088D70; D_E0088D90 = 0xE0088D90; D_E0088D98 = 0xE0088D98; D_E0088DA0 = 0xE0088DA0; +D_E008AA50 = 0xE008AA50; +D_E008AA60 = 0xE008AA60; +D_E008AA68 = 0xE008AA68; +D_E008AA70 = 0xE008AA70; +D_E008AA78 = 0xE008AA78; D_E008CB14 = 0xE008CB14; D_E008CB18 = 0xE008CB18; D_E008CB1C = 0xE008CB1C; @@ -5278,6 +5287,13 @@ D_E010CA18 = 0xE010CA18; D_E010CA38 = 0xE010CA38; D_E010CA60 = 0xE010CA60; D_E010CA68 = 0xE010CA68; +D_E010E750 = 0xE010E750; +D_E010E79C = 0xE010E79C; +D_E010E7D8 = 0xE010E7D8; +D_E010E7FC = 0xE010E7FC; +D_E010E838 = 0xE010E838; +D_E010E868 = 0xE010E868; +D_E010E930 = 0xE010E930; D_E01108B0 = 0xE01108B0; D_E01108B4 = 0xE01108B4; D_E01108C0 = 0xE01108C0;