papermario/ver/jp/asm/nonmatchings/99A0/func_8002F4E0.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

87 lines
4.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002F4E0
/* A8E0 8002F4E0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* A8E4 8002F4E4 AFB00010 */ sw $s0, 0x10($sp)
/* A8E8 8002F4E8 0080802D */ daddu $s0, $a0, $zero
/* A8EC 8002F4EC AFBF0014 */ sw $ra, 0x14($sp)
/* A8F0 8002F4F0 F7BA0030 */ sdc1 $f26, 0x30($sp)
/* A8F4 8002F4F4 F7B80028 */ sdc1 $f24, 0x28($sp)
/* A8F8 8002F4F8 F7B60020 */ sdc1 $f22, 0x20($sp)
/* A8FC 8002F4FC F7B40018 */ sdc1 $f20, 0x18($sp)
/* A900 8002F500 86020006 */ lh $v0, 6($s0)
/* A904 8002F504 10400011 */ beqz $v0, .L8002F54C
/* A908 8002F508 00000000 */ nop
/* A90C 8002F50C 3C01800A */ lui $at, %hi(D_8009A5CC)
/* A910 8002F510 C420A5CC */ lwc1 $f0, %lo(D_8009A5CC)($at)
/* A914 8002F514 3C01447A */ lui $at, 0x447a
/* A918 8002F518 44811000 */ mtc1 $at, $f2
/* A91C 8002F51C AE000048 */ sw $zero, 0x48($s0)
/* A920 8002F520 C6060048 */ lwc1 $f6, 0x48($s0)
/* A924 8002F524 AE00004C */ sw $zero, 0x4c($s0)
/* A928 8002F528 C604004C */ lwc1 $f4, 0x4c($s0)
/* A92C 8002F52C AE000050 */ sw $zero, 0x50($s0)
/* A930 8002F530 46001083 */ div.s $f2, $f2, $f0
/* A934 8002F534 C6000050 */ lwc1 $f0, 0x50($s0)
/* A938 8002F538 A6000006 */ sh $zero, 6($s0)
/* A93C 8002F53C 46020001 */ sub.s $f0, $f0, $f2
/* A940 8002F540 E606003C */ swc1 $f6, 0x3c($s0)
/* A944 8002F544 E6040040 */ swc1 $f4, 0x40($s0)
/* A948 8002F548 E6000044 */ swc1 $f0, 0x44($s0)
.L8002F54C:
/* A94C 8002F54C C60C003C */ lwc1 $f12, 0x3c($s0)
/* A950 8002F550 C60E0044 */ lwc1 $f14, 0x44($s0)
/* A954 8002F554 8E060048 */ lw $a2, 0x48($s0)
/* A958 8002F558 8E070050 */ lw $a3, 0x50($s0)
/* A95C 8002F55C 4480C000 */ mtc1 $zero, $f24
/* A960 8002F560 0C00A710 */ jal func_80029C40
/* A964 8002F564 00000000 */ nop
/* A968 8002F568 4600C306 */ mov.s $f12, $f24
/* A96C 8002F56C 4600C386 */ mov.s $f14, $f24
/* A970 8002F570 C6040048 */ lwc1 $f4, 0x48($s0)
/* A974 8002F574 C602003C */ lwc1 $f2, 0x3c($s0)
/* A978 8002F578 C6140050 */ lwc1 $f20, 0x50($s0)
/* A97C 8002F57C 46022581 */ sub.s $f22, $f4, $f2
/* A980 8002F580 C6020044 */ lwc1 $f2, 0x44($s0)
/* A984 8002F584 C604004C */ lwc1 $f4, 0x4c($s0)
/* A988 8002F588 4602A501 */ sub.s $f20, $f20, $f2
/* A98C 8002F58C C6020040 */ lwc1 $f2, 0x40($s0)
/* A990 8002F590 4406B000 */ mfc1 $a2, $f22
/* A994 8002F594 4407A000 */ mfc1 $a3, $f20
/* A998 8002F598 46022681 */ sub.s $f26, $f4, $f2
/* A99C 8002F59C 0C00A710 */ jal func_80029C40
/* A9A0 8002F5A0 E600006C */ swc1 $f0, 0x6c($s0)
/* A9A4 8002F5A4 4616B082 */ mul.s $f2, $f22, $f22
/* A9A8 8002F5A8 00000000 */ nop
/* A9AC 8002F5AC 4614A502 */ mul.s $f20, $f20, $f20
/* A9B0 8002F5B0 00000000 */ nop
/* A9B4 8002F5B4 46141300 */ add.s $f12, $f2, $f20
/* A9B8 8002F5B8 46000007 */ neg.s $f0, $f0
/* A9BC 8002F5BC E6000090 */ swc1 $f0, 0x90($s0)
/* A9C0 8002F5C0 46006004 */ sqrt.s $f0, $f12
/* A9C4 8002F5C4 46000032 */ c.eq.s $f0, $f0
/* A9C8 8002F5C8 00000000 */ nop
/* A9CC 8002F5CC 45030004 */ bc1tl .L8002F5E0
/* A9D0 8002F5D0 4600C306 */ mov.s $f12, $f24
/* A9D4 8002F5D4 0C0187B0 */ jal func_80061EC0
/* A9D8 8002F5D8 00000000 */ nop
/* A9DC 8002F5DC 4600C306 */ mov.s $f12, $f24
.L8002F5E0:
/* A9E0 8002F5E0 46000007 */ neg.s $f0, $f0
/* A9E4 8002F5E4 4406D000 */ mfc1 $a2, $f26
/* A9E8 8002F5E8 44070000 */ mfc1 $a3, $f0
/* A9EC 8002F5EC 0C00A710 */ jal func_80029C40
/* A9F0 8002F5F0 46006386 */ mov.s $f14, $f12
/* A9F4 8002F5F4 E6000094 */ swc1 $f0, 0x94($s0)
/* A9F8 8002F5F8 8FBF0014 */ lw $ra, 0x14($sp)
/* A9FC 8002F5FC 8FB00010 */ lw $s0, 0x10($sp)
/* AA00 8002F600 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* AA04 8002F604 D7B80028 */ ldc1 $f24, 0x28($sp)
/* AA08 8002F608 D7B60020 */ ldc1 $f22, 0x20($sp)
/* AA0C 8002F60C D7B40018 */ ldc1 $f20, 0x18($sp)
/* AA10 8002F610 03E00008 */ jr $ra
/* AA14 8002F614 27BD0038 */ addiu $sp, $sp, 0x38
/* AA18 8002F618 00000000 */ nop
/* AA1C 8002F61C 00000000 */ nop