papermario/ver/jp/asm/nonmatchings/38EC0/func_8005DC84.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

96 lines
4.6 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8005DC84
/* 39084 8005DC84 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 39088 8005DC88 AFB20030 */ sw $s2, 0x30($sp)
/* 3908C 8005DC8C 0080902D */ daddu $s2, $a0, $zero
/* 39090 8005DC90 27A6001C */ addiu $a2, $sp, 0x1c
/* 39094 8005DC94 27A70020 */ addiu $a3, $sp, 0x20
/* 39098 8005DC98 AFBF0038 */ sw $ra, 0x38($sp)
/* 3909C 8005DC9C AFB30034 */ sw $s3, 0x34($sp)
/* 390A0 8005DCA0 AFB1002C */ sw $s1, 0x2c($sp)
/* 390A4 8005DCA4 AFB00028 */ sw $s0, 0x28($sp)
/* 390A8 8005DCA8 8E510020 */ lw $s1, 0x20($s2)
/* 390AC 8005DCAC 27A20024 */ addiu $v0, $sp, 0x24
/* 390B0 8005DCB0 AFA20010 */ sw $v0, 0x10($sp)
/* 390B4 8005DCB4 8E24028C */ lw $a0, 0x28c($s1)
/* 390B8 8005DCB8 0C0176B0 */ jal func_8005DAC0
/* 390BC 8005DCBC 27A50018 */ addiu $a1, $sp, 0x18
/* 390C0 8005DCC0 8E220280 */ lw $v0, 0x280($s1)
/* 390C4 8005DCC4 00021100 */ sll $v0, $v0, 4
/* 390C8 8005DCC8 02228021 */ addu $s0, $s1, $v0
/* 390CC 8005DCCC 8FA20024 */ lw $v0, 0x24($sp)
/* 390D0 8005DCD0 82030000 */ lb $v1, ($s0)
/* 390D4 8005DCD4 10600003 */ beqz $v1, .L8005DCE4
/* 390D8 8005DCD8 0002982B */ sltu $s3, $zero, $v0
/* 390DC 8005DCDC 16600038 */ bnez $s3, .L8005DDC0
/* 390E0 8005DCE0 00000000 */ nop
.L8005DCE4:
/* 390E4 8005DCE4 1660000E */ bnez $s3, .L8005DD20
/* 390E8 8005DCE8 00000000 */ nop
/* 390EC 8005DCEC 8FA60018 */ lw $a2, 0x18($sp)
/* 390F0 8005DCF0 8FA70020 */ lw $a3, 0x20($sp)
/* 390F4 8005DCF4 C64C0038 */ lwc1 $f12, 0x38($s2)
/* 390F8 8005DCF8 0C00A7A5 */ jal func_80029E94
/* 390FC 8005DCFC C64E0040 */ lwc1 $f14, 0x40($s2)
/* 39100 8005DD00 C622029C */ lwc1 $f2, 0x29c($s1)
/* 39104 8005DD04 4602003E */ c.le.s $f0, $f2
/* 39108 8005DD08 00000000 */ nop
/* 3910C 8005DD0C 45000004 */ bc1f .L8005DD20
/* 39110 8005DD10 00000000 */ nop
/* 39114 8005DD14 82020000 */ lb $v0, ($s0)
/* 39118 8005DD18 10400029 */ beqz $v0, .L8005DDC0
/* 3911C 8005DD1C 00000000 */ nop
.L8005DD20:
/* 39120 8005DD20 8E220280 */ lw $v0, 0x280($s1)
/* 39124 8005DD24 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 39128 8005DD28 00021100 */ sll $v0, $v0, 4
/* 3912C 8005DD2C 02228021 */ addu $s0, $s1, $v0
/* 39130 8005DD30 C6020004 */ lwc1 $f2, 4($s0)
/* 39134 8005DD34 46001032 */ c.eq.s $f2, $f0
/* 39138 8005DD38 00000000 */ nop
/* 3913C 8005DD3C 4500000D */ bc1f .L8005DD74
/* 39140 8005DD40 00000000 */ nop
/* 39144 8005DD44 C6020008 */ lwc1 $f2, 8($s0)
/* 39148 8005DD48 C7A0001C */ lwc1 $f0, 0x1c($sp)
/* 3914C 8005DD4C 46001032 */ c.eq.s $f2, $f0
/* 39150 8005DD50 00000000 */ nop
/* 39154 8005DD54 45000007 */ bc1f .L8005DD74
/* 39158 8005DD58 00000000 */ nop
/* 3915C 8005DD5C C602000C */ lwc1 $f2, 0xc($s0)
/* 39160 8005DD60 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 39164 8005DD64 46001032 */ c.eq.s $f2, $f0
/* 39168 8005DD68 00000000 */ nop
/* 3916C 8005DD6C 45010014 */ bc1t .L8005DDC0
/* 39170 8005DD70 00000000 */ nop
.L8005DD74:
/* 39174 8005DD74 8E220280 */ lw $v0, 0x280($s1)
/* 39178 8005DD78 8E230284 */ lw $v1, 0x284($s1)
/* 3917C 8005DD7C 24420001 */ addiu $v0, $v0, 1
/* 39180 8005DD80 1062000F */ beq $v1, $v0, .L8005DDC0
/* 39184 8005DD84 00000000 */ nop
/* 39188 8005DD88 AE220280 */ sw $v0, 0x280($s1)
/* 3918C 8005DD8C 28420028 */ slti $v0, $v0, 0x28
/* 39190 8005DD90 50400001 */ beql $v0, $zero, .L8005DD98
/* 39194 8005DD94 AE200280 */ sw $zero, 0x280($s1)
.L8005DD98:
/* 39198 8005DD98 8E220280 */ lw $v0, 0x280($s1)
/* 3919C 8005DD9C C7A00018 */ lwc1 $f0, 0x18($sp)
/* 391A0 8005DDA0 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 391A4 8005DDA4 C7A40020 */ lwc1 $f4, 0x20($sp)
/* 391A8 8005DDA8 00021100 */ sll $v0, $v0, 4
/* 391AC 8005DDAC 02228021 */ addu $s0, $s1, $v0
/* 391B0 8005DDB0 E6000004 */ swc1 $f0, 4($s0)
/* 391B4 8005DDB4 E6020008 */ swc1 $f2, 8($s0)
/* 391B8 8005DDB8 E604000C */ swc1 $f4, 0xc($s0)
/* 391BC 8005DDBC A2130000 */ sb $s3, ($s0)
.L8005DDC0:
/* 391C0 8005DDC0 8FBF0038 */ lw $ra, 0x38($sp)
/* 391C4 8005DDC4 8FB30034 */ lw $s3, 0x34($sp)
/* 391C8 8005DDC8 8FB20030 */ lw $s2, 0x30($sp)
/* 391CC 8005DDCC 8FB1002C */ lw $s1, 0x2c($sp)
/* 391D0 8005DDD0 8FB00028 */ lw $s0, 0x28($sp)
/* 391D4 8005DDD4 03E00008 */ jr $ra
/* 391D8 8005DDD8 27BD0040 */ addiu $sp, $sp, 0x40