mirror of
https://github.com/pmret/papermario.git
synced 2024-11-19 01:12:28 +01:00
3315d6010f
* all non-world rodata migrated * data disasm * kinda working * updated yaml * bloop * linker header * configure 2.0 * bin * mass rename to remove code_ * pause rename * battle partner stuff * whew * more renames * more renames * more renaming * it builds! * updates * remove main prefix * one more thing * crc, yay0 * .data, .rodata, .bss * img * dead_atan2 * it buildsgit add -A * split battle/partner/6FAD10 * rm &s on sleepy_sheep syms * sha1sum ninja rule description * OK but commented out PaperMarioMapFS and PaperMarioNpcSprites * uncomment * fix mapfs * match func_8003CFB4 * . * clean up and name npc_iter_no_op * npc.c * enable cc warnings * name npc_find_near * use singular options.asset_path * smores * cc_dsl only when needed * kinda fix configure for splat refactor2 * ok! * new msg format * remove old msg format docs * slight bug fixes, splat adjustment * git subrepo pull (merge) --force tools/splat subrepo: subdir: "tools/splat" merged: "cfc140bb76" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "cfc140bb76" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * git subrepo pull (merge) --force tools/splat subrepo: subdir: "tools/splat" merged: "85349befcd" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "85349befcd" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Update symbol addrs * git subrepo pull tools/splat subrepo: subdir: "tools/splat" merged: "a44631e194" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "a44631e194" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" Co-authored-by: Alex Bates <hi@imalex.xyz>
256 lines
13 KiB
ArmAsm
256 lines
13 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80061060
|
|
/* 3C460 80061060 27BDFFB8 */ addiu $sp, $sp, -0x48
|
|
/* 3C464 80061064 AFB20030 */ sw $s2, 0x30($sp)
|
|
/* 3C468 80061068 00809021 */ addu $s2, $a0, $zero
|
|
/* 3C46C 8006106C AFB40038 */ sw $s4, 0x38($sp)
|
|
/* 3C470 80061070 24140002 */ addiu $s4, $zero, 2
|
|
/* 3C474 80061074 AFB5003C */ sw $s5, 0x3c($sp)
|
|
/* 3C478 80061078 24150001 */ addiu $s5, $zero, 1
|
|
/* 3C47C 8006107C AFBF0040 */ sw $ra, 0x40($sp)
|
|
/* 3C480 80061080 AFB30034 */ sw $s3, 0x34($sp)
|
|
/* 3C484 80061084 AFB1002C */ sw $s1, 0x2c($sp)
|
|
/* 3C488 80061088 AFB00028 */ sw $s0, 0x28($sp)
|
|
/* 3C48C 8006108C AFA00018 */ sw $zero, 0x18($sp)
|
|
.L80061090:
|
|
/* 3C490 80061090 8E440008 */ lw $a0, 8($s2)
|
|
/* 3C494 80061094 27A50018 */ addiu $a1, $sp, 0x18
|
|
/* 3C498 80061098 0C0195B0 */ jal func_800656C0
|
|
/* 3C49C 8006109C 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C4A0 800610A0 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C4A4 800610A4 8C500014 */ lw $s0, 0x14($v0)
|
|
/* 3C4A8 800610A8 1200007C */ beqz $s0, .L8006129C
|
|
/* 3C4AC 800610AC 00000000 */ nop
|
|
/* 3C4B0 800610B0 92020004 */ lbu $v0, 4($s0)
|
|
/* 3C4B4 800610B4 14540078 */ bne $v0, $s4, .L80061298
|
|
/* 3C4B8 800610B8 00000000 */ nop
|
|
/* 3C4BC 800610BC 8E020014 */ lw $v0, 0x14($s0)
|
|
/* 3C4C0 800610C0 2C420002 */ sltiu $v0, $v0, 2
|
|
/* 3C4C4 800610C4 10400074 */ beqz $v0, .L80061298
|
|
/* 3C4C8 800610C8 2402FFFF */ addiu $v0, $zero, -1
|
|
/* 3C4CC 800610CC 9603001A */ lhu $v1, 0x1a($s0)
|
|
/* 3C4D0 800610D0 AE02001C */ sw $v0, 0x1c($s0)
|
|
/* 3C4D4 800610D4 000310C0 */ sll $v0, $v1, 3
|
|
/* 3C4D8 800610D8 00431021 */ addu $v0, $v0, $v1
|
|
/* 3C4DC 800610DC 00021080 */ sll $v0, $v0, 2
|
|
/* 3C4E0 800610E0 02021021 */ addu $v0, $s0, $v0
|
|
/* 3C4E4 800610E4 96030018 */ lhu $v1, 0x18($s0)
|
|
/* 3C4E8 800610E8 2451002C */ addiu $s1, $v0, 0x2c
|
|
/* 3C4EC 800610EC 24020003 */ addiu $v0, $zero, 3
|
|
/* 3C4F0 800610F0 10620005 */ beq $v1, $v0, .L80061108
|
|
/* 3C4F4 800610F4 00000000 */ nop
|
|
/* 3C4F8 800610F8 8E220004 */ lw $v0, 4($s1)
|
|
/* 3C4FC 800610FC 8E23000C */ lw $v1, 0xc($s1)
|
|
/* 3C500 80061100 00431023 */ subu $v0, $v0, $v1
|
|
/* 3C504 80061104 AE220004 */ sw $v0, 4($s1)
|
|
.L80061108:
|
|
/* 3C508 80061108 96020018 */ lhu $v0, 0x18($s0)
|
|
/* 3C50C 8006110C 14540005 */ bne $v0, $s4, .L80061124
|
|
/* 3C510 80061110 00009821 */ addu $s3, $zero, $zero
|
|
/* 3C514 80061114 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C518 80061118 8C420014 */ lw $v0, 0x14($v0)
|
|
/* 3C51C 8006111C 8C420014 */ lw $v0, 0x14($v0)
|
|
/* 3C520 80061120 2C530001 */ sltiu $s3, $v0, 1
|
|
.L80061124:
|
|
/* 3C524 80061124 8E440010 */ lw $a0, 0x10($s2)
|
|
/* 3C528 80061128 27A5001C */ addiu $a1, $sp, 0x1c
|
|
/* 3C52C 8006112C 0C0195B0 */ jal func_800656C0
|
|
/* 3C530 80061130 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C534 80061134 3C040010 */ lui $a0, 0x10
|
|
/* 3C538 80061138 0C01AD04 */ jal func_8006B410
|
|
/* 3C53C 8006113C 34840401 */ ori $a0, $a0, 0x401
|
|
/* 3C540 80061140 3C050500 */ lui $a1, 0x500
|
|
/* 3C544 80061144 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C548 80061148 34A50510 */ ori $a1, $a1, 0x510
|
|
/* 3C54C 8006114C 8E030024 */ lw $v1, 0x24($s0)
|
|
/* 3C550 80061150 8C440014 */ lw $a0, 0x14($v0)
|
|
/* 3C554 80061154 3C068000 */ lui $a2, 0x8000
|
|
/* 3C558 80061158 0C01ADB0 */ jal func_8006B6C0
|
|
/* 3C55C 8006115C 00663025 */ or $a2, $v1, $a2
|
|
.L80061160:
|
|
/* 3C560 80061160 8E44000C */ lw $a0, 0xc($s2)
|
|
/* 3C564 80061164 27A50020 */ addiu $a1, $sp, 0x20
|
|
/* 3C568 80061168 0C0195B0 */ jal func_800656C0
|
|
/* 3C56C 8006116C 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C570 80061170 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C574 80061174 8C500014 */ lw $s0, 0x14($v0)
|
|
/* 3C578 80061178 9603001A */ lhu $v1, 0x1a($s0)
|
|
/* 3C57C 8006117C 000310C0 */ sll $v0, $v1, 3
|
|
/* 3C580 80061180 00431021 */ addu $v0, $v0, $v1
|
|
/* 3C584 80061184 00021080 */ sll $v0, $v0, 2
|
|
/* 3C588 80061188 02021021 */ addu $v0, $s0, $v0
|
|
/* 3C58C 8006118C 2451002C */ addiu $s1, $v0, 0x2c
|
|
/* 3C590 80061190 8E230000 */ lw $v1, ($s1)
|
|
/* 3C594 80061194 2402001D */ addiu $v0, $zero, 0x1d
|
|
/* 3C598 80061198 14620027 */ bne $v1, $v0, .L80061238
|
|
/* 3C59C 8006119C 02002021 */ addu $a0, $s0, $zero
|
|
/* 3C5A0 800611A0 3C050500 */ lui $a1, 0x500
|
|
/* 3C5A4 800611A4 8E020024 */ lw $v0, 0x24($s0)
|
|
/* 3C5A8 800611A8 34A50510 */ ori $a1, $a1, 0x510
|
|
/* 3C5AC 800611AC 3C061000 */ lui $a2, 0x1000
|
|
/* 3C5B0 800611B0 0C01ADB0 */ jal func_8006B6C0
|
|
/* 3C5B4 800611B4 00463025 */ or $a2, $v0, $a2
|
|
/* 3C5B8 800611B8 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C5BC 800611BC 8E060024 */ lw $a2, 0x24($s0)
|
|
/* 3C5C0 800611C0 8C440014 */ lw $a0, 0x14($v0)
|
|
/* 3C5C4 800611C4 3C050500 */ lui $a1, 0x500
|
|
/* 3C5C8 800611C8 0C01ADB0 */ jal func_8006B6C0
|
|
/* 3C5CC 800611CC 34A50510 */ ori $a1, $a1, 0x510
|
|
/* 3C5D0 800611D0 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C5D4 800611D4 3C050500 */ lui $a1, 0x500
|
|
/* 3C5D8 800611D8 8C440014 */ lw $a0, 0x14($v0)
|
|
/* 3C5DC 800611DC 34A50508 */ ori $a1, $a1, 0x508
|
|
/* 3C5E0 800611E0 0C01AD54 */ jal func_8006B550
|
|
/* 3C5E4 800611E4 27A60024 */ addiu $a2, $sp, 0x24
|
|
/* 3C5E8 800611E8 8FA20024 */ lw $v0, 0x24($sp)
|
|
/* 3C5EC 800611EC 3C030200 */ lui $v1, 0x200
|
|
/* 3C5F0 800611F0 00431024 */ and $v0, $v0, $v1
|
|
/* 3C5F4 800611F4 10400008 */ beqz $v0, .L80061218
|
|
/* 3C5F8 800611F8 3C050500 */ lui $a1, 0x500
|
|
/* 3C5FC 800611FC 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C600 80061200 34A50510 */ ori $a1, $a1, 0x510
|
|
/* 3C604 80061204 8E030024 */ lw $v1, 0x24($s0)
|
|
/* 3C608 80061208 8C440014 */ lw $a0, 0x14($v0)
|
|
/* 3C60C 8006120C 3C060100 */ lui $a2, 0x100
|
|
/* 3C610 80061210 0C01ADB0 */ jal func_8006B6C0
|
|
/* 3C614 80061214 00663025 */ or $a2, $v1, $a2
|
|
.L80061218:
|
|
/* 3C618 80061218 3C03A460 */ lui $v1, 0xa460
|
|
/* 3C61C 8006121C 34630010 */ ori $v1, $v1, 0x10
|
|
/* 3C620 80061220 3C040010 */ lui $a0, 0x10
|
|
/* 3C624 80061224 24020004 */ addiu $v0, $zero, 4
|
|
/* 3C628 80061228 AE220000 */ sw $v0, ($s1)
|
|
/* 3C62C 8006122C AC740000 */ sw $s4, ($v1)
|
|
/* 3C630 80061230 0C01ACF4 */ jal func_8006B3D0
|
|
/* 3C634 80061234 34840C01 */ ori $a0, $a0, 0xc01
|
|
.L80061238:
|
|
/* 3C638 80061238 8FA50018 */ lw $a1, 0x18($sp)
|
|
/* 3C63C 8006123C 8CA40004 */ lw $a0, 4($a1)
|
|
/* 3C640 80061240 0C0195FC */ jal func_800657F0
|
|
/* 3C644 80061244 00003021 */ addu $a2, $zero, $zero
|
|
/* 3C648 80061248 16750006 */ bne $s3, $s5, .L80061264
|
|
/* 3C64C 8006124C 00000000 */ nop
|
|
/* 3C650 80061250 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C654 80061254 8C420014 */ lw $v0, 0x14($v0)
|
|
/* 3C658 80061258 8C42002C */ lw $v0, 0x2c($v0)
|
|
/* 3C65C 8006125C 1040FFC0 */ beqz $v0, .L80061160
|
|
/* 3C660 80061260 00009821 */ addu $s3, $zero, $zero
|
|
.L80061264:
|
|
/* 3C664 80061264 8E440010 */ lw $a0, 0x10($s2)
|
|
/* 3C668 80061268 00002821 */ addu $a1, $zero, $zero
|
|
/* 3C66C 8006126C 0C0195FC */ jal func_800657F0
|
|
/* 3C670 80061270 00003021 */ addu $a2, $zero, $zero
|
|
/* 3C674 80061274 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C678 80061278 8C420014 */ lw $v0, 0x14($v0)
|
|
/* 3C67C 8006127C 9442001A */ lhu $v0, 0x1a($v0)
|
|
/* 3C680 80061280 1455FF83 */ bne $v0, $s5, .L80061090
|
|
/* 3C684 80061284 00000000 */ nop
|
|
/* 3C688 80061288 0C019884 */ jal func_80066210
|
|
/* 3C68C 8006128C 00000000 */ nop
|
|
/* 3C690 80061290 08018424 */ j .L80061090
|
|
/* 3C694 80061294 00000000 */ nop
|
|
.L80061298:
|
|
/* 3C698 80061298 8FA20018 */ lw $v0, 0x18($sp)
|
|
.L8006129C:
|
|
/* 3C69C 8006129C 94420000 */ lhu $v0, ($v0)
|
|
/* 3C6A0 800612A0 2443FFF6 */ addiu $v1, $v0, -0xa
|
|
/* 3C6A4 800612A4 2C620007 */ sltiu $v0, $v1, 7
|
|
/* 3C6A8 800612A8 10400042 */ beqz $v0, .L800613B4
|
|
/* 3C6AC 800612AC 00031080 */ sll $v0, $v1, 2
|
|
/* 3C6B0 800612B0 3C01800A */ lui $at, %hi(D_80099B00)
|
|
/* 3C6B4 800612B4 00220821 */ addu $at, $at, $v0
|
|
/* 3C6B8 800612B8 8C229B00 */ lw $v0, %lo(D_80099B00)($at)
|
|
/* 3C6BC 800612BC 00400008 */ jr $v0
|
|
/* 3C6C0 800612C0 00000000 */ nop
|
|
/* 3C6C4 800612C4 8E440010 */ lw $a0, 0x10($s2)
|
|
/* 3C6C8 800612C8 27A5001C */ addiu $a1, $sp, 0x1c
|
|
/* 3C6CC 800612CC 0C0195B0 */ jal func_800656C0
|
|
/* 3C6D0 800612D0 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C6D4 800612D4 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C6D8 800612D8 8C45000C */ lw $a1, 0xc($v0)
|
|
/* 3C6DC 800612DC 8C460008 */ lw $a2, 8($v0)
|
|
/* 3C6E0 800612E0 8C470010 */ lw $a3, 0x10($v0)
|
|
/* 3C6E4 800612E4 8E420014 */ lw $v0, 0x14($s2)
|
|
/* 3C6E8 800612E8 0040F809 */ jalr $v0
|
|
/* 3C6EC 800612EC 00002021 */ addu $a0, $zero, $zero
|
|
/* 3C6F0 800612F0 080184EE */ j .L800613B8
|
|
/* 3C6F4 800612F4 00000000 */ nop
|
|
/* 3C6F8 800612F8 8E440010 */ lw $a0, 0x10($s2)
|
|
/* 3C6FC 800612FC 27A5001C */ addiu $a1, $sp, 0x1c
|
|
/* 3C700 80061300 0C0195B0 */ jal func_800656C0
|
|
/* 3C704 80061304 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C708 80061308 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C70C 8006130C 8C45000C */ lw $a1, 0xc($v0)
|
|
/* 3C710 80061310 8C460008 */ lw $a2, 8($v0)
|
|
/* 3C714 80061314 8C470010 */ lw $a3, 0x10($v0)
|
|
/* 3C718 80061318 8E420014 */ lw $v0, 0x14($s2)
|
|
/* 3C71C 8006131C 0040F809 */ jalr $v0
|
|
/* 3C720 80061320 24040001 */ addiu $a0, $zero, 1
|
|
/* 3C724 80061324 080184EE */ j .L800613B8
|
|
/* 3C728 80061328 00000000 */ nop
|
|
/* 3C72C 8006132C 8E440010 */ lw $a0, 0x10($s2)
|
|
/* 3C730 80061330 27A5001C */ addiu $a1, $sp, 0x1c
|
|
/* 3C734 80061334 0C0195B0 */ jal func_800656C0
|
|
/* 3C738 80061338 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C73C 8006133C 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C740 80061340 8C430010 */ lw $v1, 0x10($v0)
|
|
/* 3C744 80061344 AFA30010 */ sw $v1, 0x10($sp)
|
|
/* 3C748 80061348 8C440014 */ lw $a0, 0x14($v0)
|
|
/* 3C74C 8006134C 8C46000C */ lw $a2, 0xc($v0)
|
|
/* 3C750 80061350 8C470008 */ lw $a3, 8($v0)
|
|
/* 3C754 80061354 8E420018 */ lw $v0, 0x18($s2)
|
|
/* 3C758 80061358 0040F809 */ jalr $v0
|
|
/* 3C75C 8006135C 00002821 */ addu $a1, $zero, $zero
|
|
/* 3C760 80061360 080184EE */ j .L800613B8
|
|
/* 3C764 80061364 00000000 */ nop
|
|
/* 3C768 80061368 8E440010 */ lw $a0, 0x10($s2)
|
|
/* 3C76C 8006136C 27A5001C */ addiu $a1, $sp, 0x1c
|
|
/* 3C770 80061370 0C0195B0 */ jal func_800656C0
|
|
/* 3C774 80061374 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C778 80061378 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 3C77C 8006137C 8C430010 */ lw $v1, 0x10($v0)
|
|
/* 3C780 80061380 AFA30010 */ sw $v1, 0x10($sp)
|
|
/* 3C784 80061384 8C440014 */ lw $a0, 0x14($v0)
|
|
/* 3C788 80061388 8C46000C */ lw $a2, 0xc($v0)
|
|
/* 3C78C 8006138C 8C470008 */ lw $a3, 8($v0)
|
|
/* 3C790 80061390 8E420018 */ lw $v0, 0x18($s2)
|
|
/* 3C794 80061394 0040F809 */ jalr $v0
|
|
/* 3C798 80061398 24050001 */ addiu $a1, $zero, 1
|
|
/* 3C79C 8006139C 080184EE */ j .L800613B8
|
|
/* 3C7A0 800613A0 00000000 */ nop
|
|
/* 3C7A4 800613A4 8FA50018 */ lw $a1, 0x18($sp)
|
|
/* 3C7A8 800613A8 8CA40004 */ lw $a0, 4($a1)
|
|
/* 3C7AC 800613AC 0C0195FC */ jal func_800657F0
|
|
/* 3C7B0 800613B0 00003021 */ addu $a2, $zero, $zero
|
|
.L800613B4:
|
|
/* 3C7B4 800613B4 2402FFFF */ addiu $v0, $zero, -1
|
|
.L800613B8:
|
|
/* 3C7B8 800613B8 1440FF35 */ bnez $v0, .L80061090
|
|
/* 3C7BC 800613BC 27A50020 */ addiu $a1, $sp, 0x20
|
|
/* 3C7C0 800613C0 8E44000C */ lw $a0, 0xc($s2)
|
|
/* 3C7C4 800613C4 0C0195B0 */ jal func_800656C0
|
|
/* 3C7C8 800613C8 24060001 */ addiu $a2, $zero, 1
|
|
/* 3C7CC 800613CC 8FA50018 */ lw $a1, 0x18($sp)
|
|
/* 3C7D0 800613D0 8CA40004 */ lw $a0, 4($a1)
|
|
/* 3C7D4 800613D4 0C0195FC */ jal func_800657F0
|
|
/* 3C7D8 800613D8 00003021 */ addu $a2, $zero, $zero
|
|
/* 3C7DC 800613DC 8E440010 */ lw $a0, 0x10($s2)
|
|
/* 3C7E0 800613E0 00002821 */ addu $a1, $zero, $zero
|
|
/* 3C7E4 800613E4 0C0195FC */ jal func_800657F0
|
|
/* 3C7E8 800613E8 00003021 */ addu $a2, $zero, $zero
|
|
/* 3C7EC 800613EC 08018424 */ j .L80061090
|
|
/* 3C7F0 800613F0 00000000 */ nop
|
|
/* 3C7F4 800613F4 8FBF0040 */ lw $ra, 0x40($sp)
|
|
/* 3C7F8 800613F8 8FB5003C */ lw $s5, 0x3c($sp)
|
|
/* 3C7FC 800613FC 8FB40038 */ lw $s4, 0x38($sp)
|
|
/* 3C800 80061400 8FB30034 */ lw $s3, 0x34($sp)
|
|
/* 3C804 80061404 8FB20030 */ lw $s2, 0x30($sp)
|
|
/* 3C808 80061408 8FB1002C */ lw $s1, 0x2c($sp)
|
|
/* 3C80C 8006140C 8FB00028 */ lw $s0, 0x28($sp)
|
|
/* 3C810 80061410 03E00008 */ jr $ra
|
|
/* 3C814 80061414 27BD0048 */ addiu $sp, $sp, 0x48
|
|
/* 3C818 80061418 00000000 */ nop
|
|
/* 3C81C 8006141C 00000000 */ nop
|