papermario/ver/jp/asm/nonmatchings/48000/func_8006D320.s
Ethan Roseman 3315d6010f
Splat refactor (#257)
* 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>
2021-04-13 16:47:52 +09:00

107 lines
5.4 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8006D320
/* 48720 8006D320 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 48724 8006D324 AFB20040 */ sw $s2, 0x40($sp)
/* 48728 8006D328 00809021 */ addu $s2, $a0, $zero
/* 4872C 8006D32C AFB70054 */ sw $s7, 0x54($sp)
/* 48730 8006D330 00A0B821 */ addu $s7, $a1, $zero
/* 48734 8006D334 AFB30044 */ sw $s3, 0x44($sp)
/* 48738 8006D338 00009821 */ addu $s3, $zero, $zero
/* 4873C 8006D33C AFB00038 */ sw $s0, 0x38($sp)
/* 48740 8006D340 24100003 */ addiu $s0, $zero, 3
/* 48744 8006D344 AFBF0058 */ sw $ra, 0x58($sp)
/* 48748 8006D348 AFB60050 */ sw $s6, 0x50($sp)
/* 4874C 8006D34C AFB5004C */ sw $s5, 0x4c($sp)
/* 48750 8006D350 AFB40048 */ sw $s4, 0x48($sp)
/* 48754 8006D354 0C019765 */ jal func_80065D94
/* 48758 8006D358 AFB1003C */ sw $s1, 0x3c($sp)
/* 4875C 8006D35C 3C14800E */ lui $s4, %hi(D_800D9FE0)
/* 48760 8006D360 26949FE0 */ addiu $s4, $s4, %lo(D_800D9FE0)
/* 48764 8006D364 27B10020 */ addiu $s1, $sp, 0x20
/* 48768 8006D368 27B50010 */ addiu $s5, $sp, 0x10
.L8006D36C:
/* 4876C 8006D36C 0C01B527 */ jal func_8006D49C
/* 48770 8006D370 00002021 */ addu $a0, $zero, $zero
/* 48774 8006D374 24040001 */ addiu $a0, $zero, 1
/* 48778 8006D378 0C019724 */ jal func_80065C90
/* 4877C 8006D37C 02802821 */ addu $a1, $s4, $zero
/* 48780 8006D380 02402021 */ addu $a0, $s2, $zero
/* 48784 8006D384 02202821 */ addu $a1, $s1, $zero
/* 48788 8006D388 0C0195B0 */ jal func_800656C0
/* 4878C 8006D38C 24060001 */ addiu $a2, $zero, 1
/* 48790 8006D390 00002021 */ addu $a0, $zero, $zero
/* 48794 8006D394 0C019724 */ jal func_80065C90
/* 48798 8006D398 02802821 */ addu $a1, $s4, $zero
/* 4879C 8006D39C 02402021 */ addu $a0, $s2, $zero
/* 487A0 8006D3A0 02202821 */ addu $a1, $s1, $zero
/* 487A4 8006D3A4 24060001 */ addiu $a2, $zero, 1
/* 487A8 8006D3A8 0C0195B0 */ jal func_800656C0
/* 487AC 8006D3AC 0040B021 */ addu $s6, $v0, $zero
/* 487B0 8006D3B0 27A40024 */ addiu $a0, $sp, 0x24
/* 487B4 8006D3B4 0C01B550 */ jal func_8006D540
/* 487B8 8006D3B8 27A50010 */ addiu $a1, $sp, 0x10
/* 487BC 8006D3BC 3C02800A */ lui $v0, %hi(D_8009A5E6)
/* 487C0 8006D3C0 9042A5E6 */ lbu $v0, %lo(D_8009A5E6)($v0)
/* 487C4 8006D3C4 1840000C */ blez $v0, .L8006D3F8
/* 487C8 8006D3C8 00002021 */ addu $a0, $zero, $zero
/* 487CC 8006D3CC 00402821 */ addu $a1, $v0, $zero
/* 487D0 8006D3D0 02A01821 */ addu $v1, $s5, $zero
.L8006D3D4:
/* 487D4 8006D3D4 90620002 */ lbu $v0, 2($v1)
/* 487D8 8006D3D8 30420004 */ andi $v0, $v0, 4
/* 487DC 8006D3DC 54400003 */ bnel $v0, $zero, .L8006D3EC
/* 487E0 8006D3E0 24840001 */ addiu $a0, $a0, 1
/* 487E4 8006D3E4 0801B4FE */ j .L8006D3F8
/* 487E8 8006D3E8 2610FFFF */ addiu $s0, $s0, -1
.L8006D3EC:
/* 487EC 8006D3EC 0085102A */ slt $v0, $a0, $a1
/* 487F0 8006D3F0 1440FFF8 */ bnez $v0, .L8006D3D4
/* 487F4 8006D3F4 24630004 */ addiu $v1, $v1, 4
.L8006D3F8:
/* 487F8 8006D3F8 3C03800A */ lui $v1, %hi(D_8009A5E6)
/* 487FC 8006D3FC 9063A5E6 */ lbu $v1, %lo(D_8009A5E6)($v1)
/* 48800 8006D400 00831026 */ xor $v0, $a0, $v1
/* 48804 8006D404 0002102B */ sltu $v0, $zero, $v0
/* 48808 8006D408 00021023 */ negu $v0, $v0
/* 4880C 8006D40C 02028024 */ and $s0, $s0, $v0
/* 48810 8006D410 1E00FFD6 */ bgtz $s0, .L8006D36C
/* 48814 8006D414 00000000 */ nop
/* 48818 8006D418 10600011 */ beqz $v1, .L8006D460
/* 4881C 8006D41C 00002021 */ addu $a0, $zero, $zero
/* 48820 8006D420 24060001 */ addiu $a2, $zero, 1
/* 48824 8006D424 00602821 */ addu $a1, $v1, $zero
/* 48828 8006D428 27A30010 */ addiu $v1, $sp, 0x10
.L8006D42C:
/* 4882C 8006D42C 90620003 */ lbu $v0, 3($v1)
/* 48830 8006D430 54400008 */ bnel $v0, $zero, .L8006D454
/* 48834 8006D434 24840001 */ addiu $a0, $a0, 1
/* 48838 8006D438 90620002 */ lbu $v0, 2($v1)
/* 4883C 8006D43C 30420001 */ andi $v0, $v0, 1
/* 48840 8006D440 50400004 */ beql $v0, $zero, .L8006D454
/* 48844 8006D444 24840001 */ addiu $a0, $a0, 1
/* 48848 8006D448 00861004 */ sllv $v0, $a2, $a0
/* 4884C 8006D44C 02629825 */ or $s3, $s3, $v0
/* 48850 8006D450 24840001 */ addiu $a0, $a0, 1
.L8006D454:
/* 48854 8006D454 0085102A */ slt $v0, $a0, $a1
/* 48858 8006D458 1440FFF4 */ bnez $v0, .L8006D42C
/* 4885C 8006D45C 24630004 */ addiu $v1, $v1, 4
.L8006D460:
/* 48860 8006D460 0C019780 */ jal func_80065E00
/* 48864 8006D464 00000000 */ nop
/* 48868 8006D468 A2F30000 */ sb $s3, ($s7)
/* 4886C 8006D46C 02C01021 */ addu $v0, $s6, $zero
/* 48870 8006D470 8FBF0058 */ lw $ra, 0x58($sp)
/* 48874 8006D474 8FB70054 */ lw $s7, 0x54($sp)
/* 48878 8006D478 8FB60050 */ lw $s6, 0x50($sp)
/* 4887C 8006D47C 8FB5004C */ lw $s5, 0x4c($sp)
/* 48880 8006D480 8FB40048 */ lw $s4, 0x48($sp)
/* 48884 8006D484 8FB30044 */ lw $s3, 0x44($sp)
/* 48888 8006D488 8FB20040 */ lw $s2, 0x40($sp)
/* 4888C 8006D48C 8FB1003C */ lw $s1, 0x3c($sp)
/* 48890 8006D490 8FB00038 */ lw $s0, 0x38($sp)
/* 48894 8006D494 03E00008 */ jr $ra
/* 48898 8006D498 27BD0060 */ addiu $sp, $sp, 0x60