mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +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>
166 lines
8.2 KiB
ArmAsm
166 lines
8.2 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80067F24
|
|
/* 43324 80067F24 27BDFF88 */ addiu $sp, $sp, -0x78
|
|
/* 43328 80067F28 AFB00060 */ sw $s0, 0x60($sp)
|
|
/* 4332C 80067F2C 00808021 */ addu $s0, $a0, $zero
|
|
/* 43330 80067F30 AFB20068 */ sw $s2, 0x68($sp)
|
|
/* 43334 80067F34 00A09021 */ addu $s2, $a1, $zero
|
|
/* 43338 80067F38 AFB10064 */ sw $s1, 0x64($sp)
|
|
/* 4333C 80067F3C 00C08821 */ addu $s1, $a2, $zero
|
|
/* 43340 80067F40 02402021 */ addu $a0, $s2, $zero
|
|
/* 43344 80067F44 240500FE */ addiu $a1, $zero, 0xfe
|
|
/* 43348 80067F48 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 4334C 80067F4C AFBF0070 */ sw $ra, 0x70($sp)
|
|
/* 43350 80067F50 AFB3006C */ sw $s3, 0x6c($sp)
|
|
/* 43354 80067F54 AE500004 */ sw $s0, 4($s2)
|
|
/* 43358 80067F58 AE510008 */ sw $s1, 8($s2)
|
|
/* 4335C 80067F5C A2420065 */ sb $v0, 0x65($s2)
|
|
/* 43360 80067F60 0C01A5AC */ jal func_800696B0
|
|
/* 43364 80067F64 AE400000 */ sw $zero, ($s2)
|
|
/* 43368 80067F68 24130002 */ addiu $s3, $zero, 2
|
|
/* 4336C 80067F6C 14530003 */ bne $v0, $s3, .L80067F7C
|
|
/* 43370 80067F70 02402021 */ addu $a0, $s2, $zero
|
|
/* 43374 80067F74 0C01A5AC */ jal func_800696B0
|
|
/* 43378 80067F78 24050080 */ addiu $a1, $zero, 0x80
|
|
.L80067F7C:
|
|
/* 4337C 80067F7C 14400074 */ bnez $v0, .L80068150
|
|
/* 43380 80067F80 02002021 */ addu $a0, $s0, $zero
|
|
/* 43384 80067F84 02202821 */ addu $a1, $s1, $zero
|
|
/* 43388 80067F88 24060400 */ addiu $a2, $zero, 0x400
|
|
/* 4338C 80067F8C 0C01A86C */ jal func_8006A1B0
|
|
/* 43390 80067F90 27A70010 */ addiu $a3, $sp, 0x10
|
|
/* 43394 80067F94 50530001 */ beql $v0, $s3, .L80067F9C
|
|
/* 43398 80067F98 24020004 */ addiu $v0, $zero, 4
|
|
.L80067F9C:
|
|
/* 4339C 80067F9C 1440006C */ bnez $v0, .L80068150
|
|
/* 433A0 80067FA0 00000000 */ nop
|
|
/* 433A4 80067FA4 93A3002F */ lbu $v1, 0x2f($sp)
|
|
/* 433A8 80067FA8 240200FE */ addiu $v0, $zero, 0xfe
|
|
/* 433AC 80067FAC 10620013 */ beq $v1, $v0, .L80067FFC
|
|
/* 433B0 80067FB0 02402021 */ addu $a0, $s2, $zero
|
|
/* 433B4 80067FB4 0C01A5AC */ jal func_800696B0
|
|
/* 433B8 80067FB8 24050080 */ addiu $a1, $zero, 0x80
|
|
/* 433BC 80067FBC 50530001 */ beql $v0, $s3, .L80067FC4
|
|
/* 433C0 80067FC0 24020004 */ addiu $v0, $zero, 4
|
|
.L80067FC4:
|
|
/* 433C4 80067FC4 14400062 */ bnez $v0, .L80068150
|
|
/* 433C8 80067FC8 02002021 */ addu $a0, $s0, $zero
|
|
/* 433CC 80067FCC 02202821 */ addu $a1, $s1, $zero
|
|
/* 433D0 80067FD0 24060400 */ addiu $a2, $zero, 0x400
|
|
/* 433D4 80067FD4 0C01A86C */ jal func_8006A1B0
|
|
/* 433D8 80067FD8 27A70010 */ addiu $a3, $sp, 0x10
|
|
/* 433DC 80067FDC 50530001 */ beql $v0, $s3, .L80067FE4
|
|
/* 433E0 80067FE0 24020004 */ addiu $v0, $zero, 4
|
|
.L80067FE4:
|
|
/* 433E4 80067FE4 1440005A */ bnez $v0, .L80068150
|
|
/* 433E8 80067FE8 00000000 */ nop
|
|
/* 433EC 80067FEC 93A3002F */ lbu $v1, 0x2f($sp)
|
|
/* 433F0 80067FF0 24020080 */ addiu $v0, $zero, 0x80
|
|
/* 433F4 80067FF4 10620003 */ beq $v1, $v0, .L80068004
|
|
/* 433F8 80067FF8 00000000 */ nop
|
|
.L80067FFC:
|
|
/* 433FC 80067FFC 0801A054 */ j .L80068150
|
|
/* 43400 80068000 2402000B */ addiu $v0, $zero, 0xb
|
|
.L80068004:
|
|
/* 43404 80068004 8E420000 */ lw $v0, ($s2)
|
|
/* 43408 80068008 30420008 */ andi $v0, $v0, 8
|
|
/* 4340C 8006800C 1440004E */ bnez $v0, .L80068148
|
|
/* 43410 80068010 24020008 */ addiu $v0, $zero, 8
|
|
/* 43414 80068014 00111980 */ sll $v1, $s1, 6
|
|
/* 43418 80068018 3C02800B */ lui $v0, %hi(D_800B0B10)
|
|
/* 4341C 8006801C 24420B10 */ addiu $v0, $v0, %lo(D_800B0B10)
|
|
/* 43420 80068020 00628021 */ addu $s0, $v1, $v0
|
|
/* 43424 80068024 24040600 */ addiu $a0, $zero, 0x600
|
|
/* 43428 80068028 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 4342C 8006802C A3A20030 */ sb $v0, 0x30($sp)
|
|
/* 43430 80068030 24020023 */ addiu $v0, $zero, 0x23
|
|
/* 43434 80068034 A3A20031 */ sb $v0, 0x31($sp)
|
|
/* 43438 80068038 24020001 */ addiu $v0, $zero, 1
|
|
/* 4343C 8006803C A3A20032 */ sb $v0, 0x32($sp)
|
|
/* 43440 80068040 24020003 */ addiu $v0, $zero, 3
|
|
/* 43444 80068044 A3A20033 */ sb $v0, 0x33($sp)
|
|
/* 43448 80068048 240200C0 */ addiu $v0, $zero, 0xc0
|
|
/* 4344C 8006804C 0C01B210 */ jal func_8006C840
|
|
/* 43450 80068050 A3A20034 */ sb $v0, 0x34($sp)
|
|
/* 43454 80068054 12200008 */ beqz $s1, .L80068078
|
|
/* 43458 80068058 A3A20035 */ sb $v0, 0x35($sp)
|
|
/* 4345C 8006805C 1A200006 */ blez $s1, .L80068078
|
|
/* 43460 80068060 00001821 */ addu $v1, $zero, $zero
|
|
.L80068064:
|
|
/* 43464 80068064 A2000000 */ sb $zero, ($s0)
|
|
/* 43468 80068068 24630001 */ addiu $v1, $v1, 1
|
|
/* 4346C 8006806C 0071102A */ slt $v0, $v1, $s1
|
|
/* 43470 80068070 1440FFFC */ bnez $v0, .L80068064
|
|
/* 43474 80068074 26100001 */ addiu $s0, $s0, 1
|
|
.L80068078:
|
|
/* 43478 80068078 27A60030 */ addiu $a2, $sp, 0x30
|
|
/* 4347C 8006807C 00D01025 */ or $v0, $a2, $s0
|
|
/* 43480 80068080 30420003 */ andi $v0, $v0, 3
|
|
/* 43484 80068084 10400017 */ beqz $v0, .L800680E4
|
|
/* 43488 80068088 02003821 */ addu $a3, $s0, $zero
|
|
/* 4348C 8006808C 27A80050 */ addiu $t0, $sp, 0x50
|
|
.L80068090:
|
|
/* 43490 80068090 88C20000 */ lwl $v0, ($a2)
|
|
/* 43494 80068094 98C20003 */ lwr $v0, 3($a2)
|
|
/* 43498 80068098 88C30004 */ lwl $v1, 4($a2)
|
|
/* 4349C 8006809C 98C30007 */ lwr $v1, 7($a2)
|
|
/* 434A0 800680A0 88C40008 */ lwl $a0, 8($a2)
|
|
/* 434A4 800680A4 98C4000B */ lwr $a0, 0xb($a2)
|
|
/* 434A8 800680A8 88C5000C */ lwl $a1, 0xc($a2)
|
|
/* 434AC 800680AC 98C5000F */ lwr $a1, 0xf($a2)
|
|
/* 434B0 800680B0 A8E20000 */ swl $v0, ($a3)
|
|
/* 434B4 800680B4 B8E20003 */ swr $v0, 3($a3)
|
|
/* 434B8 800680B8 A8E30004 */ swl $v1, 4($a3)
|
|
/* 434BC 800680BC B8E30007 */ swr $v1, 7($a3)
|
|
/* 434C0 800680C0 A8E40008 */ swl $a0, 8($a3)
|
|
/* 434C4 800680C4 B8E4000B */ swr $a0, 0xb($a3)
|
|
/* 434C8 800680C8 A8E5000C */ swl $a1, 0xc($a3)
|
|
/* 434CC 800680CC B8E5000F */ swr $a1, 0xf($a3)
|
|
/* 434D0 800680D0 24C60010 */ addiu $a2, $a2, 0x10
|
|
/* 434D4 800680D4 14C8FFEE */ bne $a2, $t0, .L80068090
|
|
/* 434D8 800680D8 24E70010 */ addiu $a3, $a3, 0x10
|
|
/* 434DC 800680DC 0801A045 */ j .L80068114
|
|
/* 434E0 800680E0 00000000 */ nop
|
|
.L800680E4:
|
|
/* 434E4 800680E4 27A80050 */ addiu $t0, $sp, 0x50
|
|
.L800680E8:
|
|
/* 434E8 800680E8 8CC20000 */ lw $v0, ($a2)
|
|
/* 434EC 800680EC 8CC30004 */ lw $v1, 4($a2)
|
|
/* 434F0 800680F0 8CC40008 */ lw $a0, 8($a2)
|
|
/* 434F4 800680F4 8CC5000C */ lw $a1, 0xc($a2)
|
|
/* 434F8 800680F8 ACE20000 */ sw $v0, ($a3)
|
|
/* 434FC 800680FC ACE30004 */ sw $v1, 4($a3)
|
|
/* 43500 80068100 ACE40008 */ sw $a0, 8($a3)
|
|
/* 43504 80068104 ACE5000C */ sw $a1, 0xc($a3)
|
|
/* 43508 80068108 24C60010 */ addiu $a2, $a2, 0x10
|
|
/* 4350C 8006810C 14C8FFF6 */ bne $a2, $t0, .L800680E8
|
|
/* 43510 80068110 24E70010 */ addiu $a3, $a3, 0x10
|
|
.L80068114:
|
|
/* 43514 80068114 88C20000 */ lwl $v0, ($a2)
|
|
/* 43518 80068118 98C20003 */ lwr $v0, 3($a2)
|
|
/* 4351C 8006811C 80C30004 */ lb $v1, 4($a2)
|
|
/* 43520 80068120 80C40005 */ lb $a0, 5($a2)
|
|
/* 43524 80068124 80C50006 */ lb $a1, 6($a2)
|
|
/* 43528 80068128 A8E20000 */ swl $v0, ($a3)
|
|
/* 4352C 8006812C B8E20003 */ swr $v0, 3($a3)
|
|
/* 43530 80068130 A0E30004 */ sb $v1, 4($a3)
|
|
/* 43534 80068134 A0E40005 */ sb $a0, 5($a3)
|
|
/* 43538 80068138 A0E50006 */ sb $a1, 6($a3)
|
|
/* 4353C 8006813C 240200FE */ addiu $v0, $zero, 0xfe
|
|
/* 43540 80068140 A2020027 */ sb $v0, 0x27($s0)
|
|
/* 43544 80068144 24020008 */ addiu $v0, $zero, 8
|
|
.L80068148:
|
|
/* 43548 80068148 AE420000 */ sw $v0, ($s2)
|
|
/* 4354C 8006814C 00001021 */ addu $v0, $zero, $zero
|
|
.L80068150:
|
|
/* 43550 80068150 8FBF0070 */ lw $ra, 0x70($sp)
|
|
/* 43554 80068154 8FB3006C */ lw $s3, 0x6c($sp)
|
|
/* 43558 80068158 8FB20068 */ lw $s2, 0x68($sp)
|
|
/* 4355C 8006815C 8FB10064 */ lw $s1, 0x64($sp)
|
|
/* 43560 80068160 8FB00060 */ lw $s0, 0x60($sp)
|
|
/* 43564 80068164 03E00008 */ jr $ra
|
|
/* 43568 80068168 27BD0078 */ addiu $sp, $sp, 0x78
|
|
/* 4356C 8006816C 00000000 */ nop
|