mirror of
https://github.com/pmret/papermario.git
synced 2024-11-15 07:22:29 +01:00
e4480c0f59
* Misc early code decomp * Make expected script * fix m2ctx * gOverrideFlags & set/unset macros * update symbol addrs * Cleanup and PR comments * oops * UnkNpcAIFunc16 * UnkNpcAIFunc17 * UnkNpcAIFunc18 * symbol_addrs * area_mac data/rodata disassembly * 16C8E0 segment rodata migration * delete_actor * 16F740 funcs * symbol_addrs
132 lines
6.2 KiB
ArmAsm
132 lines
6.2 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
.section .rodata
|
|
|
|
glabel D_8029D598
|
|
.double 1.2
|
|
|
|
.section .text
|
|
|
|
glabel func_80261DF4
|
|
/* 1906D4 80261DF4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 1906D8 80261DF8 AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 1906DC 80261DFC 0080882D */ daddu $s1, $a0, $zero
|
|
/* 1906E0 80261E00 AFBF0018 */ sw $ra, 0x18($sp)
|
|
/* 1906E4 80261E04 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 1906E8 80261E08 8E2400AC */ lw $a0, 0xac($s1)
|
|
/* 1906EC 80261E0C 0C04C3D6 */ jal get_item_entity
|
|
/* 1906F0 80261E10 00A0802D */ daddu $s0, $a1, $zero
|
|
/* 1906F4 80261E14 12000003 */ beqz $s0, .L80261E24
|
|
/* 1906F8 80261E18 0040202D */ daddu $a0, $v0, $zero
|
|
/* 1906FC 80261E1C AE200070 */ sw $zero, 0x70($s1)
|
|
/* 190700 80261E20 AE200074 */ sw $zero, 0x74($s1)
|
|
.L80261E24:
|
|
/* 190704 80261E24 8E230074 */ lw $v1, 0x74($s1)
|
|
/* 190708 80261E28 24050001 */ addiu $a1, $zero, 1
|
|
/* 19070C 80261E2C 10650020 */ beq $v1, $a1, .L80261EB0
|
|
/* 190710 80261E30 28620002 */ slti $v0, $v1, 2
|
|
/* 190714 80261E34 10400005 */ beqz $v0, .L80261E4C
|
|
/* 190718 80261E38 24020002 */ addiu $v0, $zero, 2
|
|
/* 19071C 80261E3C 10600009 */ beqz $v1, .L80261E64
|
|
/* 190720 80261E40 0000102D */ daddu $v0, $zero, $zero
|
|
/* 190724 80261E44 080987E8 */ j .L80261FA0
|
|
/* 190728 80261E48 00000000 */ nop
|
|
.L80261E4C:
|
|
/* 19072C 80261E4C 10620033 */ beq $v1, $v0, .L80261F1C
|
|
/* 190730 80261E50 24020003 */ addiu $v0, $zero, 3
|
|
/* 190734 80261E54 10620049 */ beq $v1, $v0, .L80261F7C
|
|
/* 190738 80261E58 0000102D */ daddu $v0, $zero, $zero
|
|
/* 19073C 80261E5C 080987E8 */ j .L80261FA0
|
|
/* 190740 80261E60 00000000 */ nop
|
|
.L80261E64:
|
|
/* 190744 80261E64 8E220070 */ lw $v0, 0x70($s1)
|
|
/* 190748 80261E68 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 19074C 80261E6C AE220070 */ sw $v0, 0x70($s1)
|
|
/* 190750 80261E70 C480000C */ lwc1 $f0, 0xc($a0)
|
|
/* 190754 80261E74 44821000 */ mtc1 $v0, $f2
|
|
/* 190758 80261E78 00000000 */ nop
|
|
/* 19075C 80261E7C 468010A0 */ cvt.s.w $f2, $f2
|
|
/* 190760 80261E80 46020000 */ add.s $f0, $f0, $f2
|
|
/* 190764 80261E84 44801000 */ mtc1 $zero, $f2
|
|
/* 190768 80261E88 00000000 */ nop
|
|
/* 19076C 80261E8C 4602003C */ c.lt.s $f0, $f2
|
|
/* 190770 80261E90 00000000 */ nop
|
|
/* 190774 80261E94 45000041 */ bc1f .L80261F9C
|
|
/* 190778 80261E98 E480000C */ swc1 $f0, 0xc($a0)
|
|
/* 19077C 80261E9C 24020008 */ addiu $v0, $zero, 8
|
|
/* 190780 80261EA0 E482000C */ swc1 $f2, 0xc($a0)
|
|
/* 190784 80261EA4 AE220070 */ sw $v0, 0x70($s1)
|
|
/* 190788 80261EA8 080987E7 */ j .L80261F9C
|
|
/* 19078C 80261EAC AE250074 */ sw $a1, 0x74($s1)
|
|
.L80261EB0:
|
|
/* 190790 80261EB0 8E220070 */ lw $v0, 0x70($s1)
|
|
/* 190794 80261EB4 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 190798 80261EB8 AE220070 */ sw $v0, 0x70($s1)
|
|
/* 19079C 80261EBC C480000C */ lwc1 $f0, 0xc($a0)
|
|
/* 1907A0 80261EC0 44821000 */ mtc1 $v0, $f2
|
|
/* 1907A4 80261EC4 00000000 */ nop
|
|
/* 1907A8 80261EC8 468010A0 */ cvt.s.w $f2, $f2
|
|
/* 1907AC 80261ECC 46020000 */ add.s $f0, $f0, $f2
|
|
/* 1907B0 80261ED0 44802000 */ mtc1 $zero, $f4
|
|
/* 1907B4 80261ED4 E480000C */ swc1 $f0, 0xc($a0)
|
|
/* 1907B8 80261ED8 C4800008 */ lwc1 $f0, 8($a0)
|
|
/* 1907BC 80261EDC 3C013FF8 */ lui $at, 0x3ff8
|
|
/* 1907C0 80261EE0 44811800 */ mtc1 $at, $f3
|
|
/* 1907C4 80261EE4 44801000 */ mtc1 $zero, $f2
|
|
/* 1907C8 80261EE8 46000021 */ cvt.d.s $f0, $f0
|
|
/* 1907CC 80261EEC 46220000 */ add.d $f0, $f0, $f2
|
|
/* 1907D0 80261EF0 C482000C */ lwc1 $f2, 0xc($a0)
|
|
/* 1907D4 80261EF4 4604103C */ c.lt.s $f2, $f4
|
|
/* 1907D8 80261EF8 46200020 */ cvt.s.d $f0, $f0
|
|
/* 1907DC 80261EFC 45000027 */ bc1f .L80261F9C
|
|
/* 1907E0 80261F00 E4800008 */ swc1 $f0, 8($a0)
|
|
/* 1907E4 80261F04 24020004 */ addiu $v0, $zero, 4
|
|
/* 1907E8 80261F08 E484000C */ swc1 $f4, 0xc($a0)
|
|
/* 1907EC 80261F0C AE220070 */ sw $v0, 0x70($s1)
|
|
/* 1907F0 80261F10 24020002 */ addiu $v0, $zero, 2
|
|
/* 1907F4 80261F14 080987E7 */ j .L80261F9C
|
|
/* 1907F8 80261F18 AE220074 */ sw $v0, 0x74($s1)
|
|
.L80261F1C:
|
|
/* 1907FC 80261F1C 8E220070 */ lw $v0, 0x70($s1)
|
|
/* 190800 80261F20 2442FFFF */ addiu $v0, $v0, -1
|
|
/* 190804 80261F24 AE220070 */ sw $v0, 0x70($s1)
|
|
/* 190808 80261F28 C480000C */ lwc1 $f0, 0xc($a0)
|
|
/* 19080C 80261F2C 44821000 */ mtc1 $v0, $f2
|
|
/* 190810 80261F30 00000000 */ nop
|
|
/* 190814 80261F34 468010A0 */ cvt.s.w $f2, $f2
|
|
/* 190818 80261F38 46020000 */ add.s $f0, $f0, $f2
|
|
/* 19081C 80261F3C 44802000 */ mtc1 $zero, $f4
|
|
/* 190820 80261F40 E480000C */ swc1 $f0, 0xc($a0)
|
|
/* 190824 80261F44 C4800008 */ lwc1 $f0, 8($a0)
|
|
/* 190828 80261F48 3C01802A */ lui $at, %hi(D_8029D598)
|
|
/* 19082C 80261F4C D422D598 */ ldc1 $f2, %lo(D_8029D598)($at)
|
|
/* 190830 80261F50 46000021 */ cvt.d.s $f0, $f0
|
|
/* 190834 80261F54 46220000 */ add.d $f0, $f0, $f2
|
|
/* 190838 80261F58 C482000C */ lwc1 $f2, 0xc($a0)
|
|
/* 19083C 80261F5C 4604103C */ c.lt.s $f2, $f4
|
|
/* 190840 80261F60 46200020 */ cvt.s.d $f0, $f0
|
|
/* 190844 80261F64 4500000D */ bc1f .L80261F9C
|
|
/* 190848 80261F68 E4800008 */ swc1 $f0, 8($a0)
|
|
/* 19084C 80261F6C 24020003 */ addiu $v0, $zero, 3
|
|
/* 190850 80261F70 E484000C */ swc1 $f4, 0xc($a0)
|
|
/* 190854 80261F74 080987E7 */ j .L80261F9C
|
|
/* 190858 80261F78 AE220074 */ sw $v0, 0x74($s1)
|
|
.L80261F7C:
|
|
/* 19085C 80261F7C 24020002 */ addiu $v0, $zero, 2
|
|
/* 190860 80261F80 3C04802A */ lui $a0, %hi(D_8029FBB0)
|
|
/* 190864 80261F84 2484FBB0 */ addiu $a0, $a0, %lo(D_8029FBB0)
|
|
/* 190868 80261F88 24030014 */ addiu $v1, $zero, 0x14
|
|
/* 19086C 80261F8C AC830000 */ sw $v1, ($a0)
|
|
/* 190870 80261F90 AC830004 */ sw $v1, 4($a0)
|
|
/* 190874 80261F94 080987E8 */ j .L80261FA0
|
|
/* 190878 80261F98 AC830008 */ sw $v1, 8($a0)
|
|
.L80261F9C:
|
|
/* 19087C 80261F9C 0000102D */ daddu $v0, $zero, $zero
|
|
.L80261FA0:
|
|
/* 190880 80261FA0 8FBF0018 */ lw $ra, 0x18($sp)
|
|
/* 190884 80261FA4 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 190888 80261FA8 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 19088C 80261FAC 03E00008 */ jr $ra
|
|
/* 190890 80261FB0 27BD0020 */ addiu $sp, $sp, 0x20
|