papermario/ver/jp/asm/nonmatchings/3F2E0/func_800640B8.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

127 lines
6.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800640B8
/* 3F4B8 800640B8 3C018009 */ lui $at, %hi(D_80093DA0)
/* 3F4BC 800640BC C4203DA0 */ lwc1 $f0, %lo(D_80093DA0)($at)
/* 3F4C0 800640C0 44859000 */ mtc1 $a1, $f18
/* 3F4C4 800640C4 27BDFF70 */ addiu $sp, $sp, -0x90
/* 3F4C8 800640C8 F7B40060 */ sdc1 $f20, 0x60($sp)
/* 3F4CC 800640CC 46009502 */ mul.s $f20, $f18, $f0
/* 3F4D0 800640D0 44869000 */ mtc1 $a2, $f18
/* 3F4D4 800640D4 F7BA0078 */ sdc1 $f26, 0x78($sp)
/* 3F4D8 800640D8 F7B80070 */ sdc1 $f24, 0x70($sp)
/* 3F4DC 800640DC 46009682 */ mul.s $f26, $f18, $f0
/* 3F4E0 800640E0 C7B800A0 */ lwc1 $f24, 0xa0($sp)
/* 3F4E4 800640E4 AFB10054 */ sw $s1, 0x54($sp)
/* 3F4E8 800640E8 44879000 */ mtc1 $a3, $f18
/* 3F4EC 800640EC 00808821 */ addu $s1, $a0, $zero
/* 3F4F0 800640F0 46009482 */ mul.s $f18, $f18, $f0
/* 3F4F4 800640F4 AFBF0058 */ sw $ra, 0x58($sp)
/* 3F4F8 800640F8 AFB00050 */ sw $s0, 0x50($sp)
/* 3F4FC 800640FC F7BE0088 */ sdc1 $f30, 0x88($sp)
/* 3F500 80064100 F7BC0080 */ sdc1 $f28, 0x80($sp)
/* 3F504 80064104 F7B60068 */ sdc1 $f22, 0x68($sp)
/* 3F508 80064108 44109000 */ mfc1 $s0, $f18
/* 3F50C 8006410C 00000000 */ nop
/* 3F510 80064110 0C00A84B */ jal func_8002A12C
/* 3F514 80064114 4600A306 */ mov.s $f12, $f20
/* 3F518 80064118 4600A306 */ mov.s $f12, $f20
/* 3F51C 8006411C 0C00A864 */ jal func_8002A190
/* 3F520 80064120 46000786 */ mov.s $f30, $f0
/* 3F524 80064124 4600D306 */ mov.s $f12, $f26
/* 3F528 80064128 0C00A84B */ jal func_8002A12C
/* 3F52C 8006412C 46000586 */ mov.s $f22, $f0
/* 3F530 80064130 4600D306 */ mov.s $f12, $f26
/* 3F534 80064134 0C00A864 */ jal func_8002A190
/* 3F538 80064138 46000506 */ mov.s $f20, $f0
/* 3F53C 8006413C 44906000 */ mtc1 $s0, $f12
/* 3F540 80064140 00000000 */ nop
/* 3F544 80064144 0C00A84B */ jal func_8002A12C
/* 3F548 80064148 46000706 */ mov.s $f28, $f0
/* 3F54C 8006414C 44906000 */ mtc1 $s0, $f12
/* 3F550 80064150 00000000 */ nop
/* 3F554 80064154 0C00A864 */ jal func_8002A190
/* 3F558 80064158 46000686 */ mov.s $f26, $f0
/* 3F55C 8006415C 00000000 */ nop
/* 3F560 80064160 4600E382 */ mul.s $f14, $f28, $f0
/* 3F564 80064164 00000000 */ nop
/* 3F568 80064168 461AE402 */ mul.s $f16, $f28, $f26
/* 3F56C 8006416C 00000000 */ nop
/* 3F570 80064170 4614F102 */ mul.s $f4, $f30, $f20
/* 3F574 80064174 00000000 */ nop
/* 3F578 80064178 461AB082 */ mul.s $f2, $f22, $f26
/* 3F57C 8006417C 00000000 */ nop
/* 3F580 80064180 4600B182 */ mul.s $f6, $f22, $f0
/* 3F584 80064184 4600A307 */ neg.s $f12, $f20
/* 3F588 80064188 4614B502 */ mul.s $f20, $f22, $f20
/* 3F58C 8006418C 00000000 */ nop
/* 3F590 80064190 461CF282 */ mul.s $f10, $f30, $f28
/* 3F594 80064194 00000000 */ nop
/* 3F598 80064198 461CB582 */ mul.s $f22, $f22, $f28
/* 3F59C 8006419C 00000000 */ nop
/* 3F5A0 800641A0 46186302 */ mul.s $f12, $f12, $f24
/* 3F5A4 800641A4 00000000 */ nop
/* 3F5A8 800641A8 46187382 */ mul.s $f14, $f14, $f24
/* 3F5AC 800641AC 00000000 */ nop
/* 3F5B0 800641B0 46188402 */ mul.s $f16, $f16, $f24
/* 3F5B4 800641B4 00000000 */ nop
/* 3F5B8 800641B8 46002202 */ mul.s $f8, $f4, $f0
/* 3F5BC 800641BC 00000000 */ nop
/* 3F5C0 800641C0 461A2102 */ mul.s $f4, $f4, $f26
/* 3F5C4 800641C4 00000000 */ nop
/* 3F5C8 800641C8 46185282 */ mul.s $f10, $f10, $f24
/* 3F5CC 800641CC 00000000 */ nop
/* 3F5D0 800641D0 4618B582 */ mul.s $f22, $f22, $f24
/* 3F5D4 800641D4 46062100 */ add.s $f4, $f4, $f6
/* 3F5D8 800641D8 4600A182 */ mul.s $f6, $f20, $f0
/* 3F5DC 800641DC 46024201 */ sub.s $f8, $f8, $f2
/* 3F5E0 800641E0 461AF082 */ mul.s $f2, $f30, $f26
/* 3F5E4 800641E4 00000000 */ nop
/* 3F5E8 800641E8 461AA502 */ mul.s $f20, $f20, $f26
/* 3F5EC 800641EC 00000000 */ nop
/* 3F5F0 800641F0 4600F782 */ mul.s $f30, $f30, $f0
/* 3F5F4 800641F4 C7B200A4 */ lwc1 $f18, 0xa4($sp)
/* 3F5F8 800641F8 46184202 */ mul.s $f8, $f8, $f24
/* 3F5FC 800641FC E7B20040 */ swc1 $f18, 0x40($sp)
/* 3F600 80064200 C7B200A8 */ lwc1 $f18, 0xa8($sp)
/* 3F604 80064204 27A40010 */ addiu $a0, $sp, 0x10
/* 3F608 80064208 E7B20044 */ swc1 $f18, 0x44($sp)
/* 3F60C 8006420C 46182102 */ mul.s $f4, $f4, $f24
/* 3F610 80064210 C7B200AC */ lwc1 $f18, 0xac($sp)
/* 3F614 80064214 3C013F80 */ lui $at, 0x3f80
/* 3F618 80064218 44810000 */ mtc1 $at, $f0
/* 3F61C 8006421C 46023180 */ add.s $f6, $f6, $f2
/* 3F620 80064220 02202821 */ addu $a1, $s1, $zero
/* 3F624 80064224 AFA0001C */ sw $zero, 0x1c($sp)
/* 3F628 80064228 AFA0002C */ sw $zero, 0x2c($sp)
/* 3F62C 8006422C 46183182 */ mul.s $f6, $f6, $f24
/* 3F630 80064230 AFA0003C */ sw $zero, 0x3c($sp)
/* 3F634 80064234 E7B20048 */ swc1 $f18, 0x48($sp)
/* 3F638 80064238 461EA501 */ sub.s $f20, $f20, $f30
/* 3F63C 8006423C E7AC0018 */ swc1 $f12, 0x18($sp)
/* 3F640 80064240 E7AE0010 */ swc1 $f14, 0x10($sp)
/* 3F644 80064244 E7B00014 */ swc1 $f16, 0x14($sp)
/* 3F648 80064248 4618A502 */ mul.s $f20, $f20, $f24
/* 3F64C 8006424C E7AA0028 */ swc1 $f10, 0x28($sp)
/* 3F650 80064250 E7B60038 */ swc1 $f22, 0x38($sp)
/* 3F654 80064254 E7A0004C */ swc1 $f0, 0x4c($sp)
/* 3F658 80064258 E7A80020 */ swc1 $f8, 0x20($sp)
/* 3F65C 8006425C E7A40024 */ swc1 $f4, 0x24($sp)
/* 3F660 80064260 E7A60030 */ swc1 $f6, 0x30($sp)
/* 3F664 80064264 0C019D38 */ jal func_800674E0
/* 3F668 80064268 E7B40034 */ swc1 $f20, 0x34($sp)
/* 3F66C 8006426C 8FBF0058 */ lw $ra, 0x58($sp)
/* 3F670 80064270 8FB10054 */ lw $s1, 0x54($sp)
/* 3F674 80064274 8FB00050 */ lw $s0, 0x50($sp)
/* 3F678 80064278 D7BE0088 */ ldc1 $f30, 0x88($sp)
/* 3F67C 8006427C D7BC0080 */ ldc1 $f28, 0x80($sp)
/* 3F680 80064280 D7BA0078 */ ldc1 $f26, 0x78($sp)
/* 3F684 80064284 D7B80070 */ ldc1 $f24, 0x70($sp)
/* 3F688 80064288 D7B60068 */ ldc1 $f22, 0x68($sp)
/* 3F68C 8006428C D7B40060 */ ldc1 $f20, 0x60($sp)
/* 3F690 80064290 03E00008 */ jr $ra
/* 3F694 80064294 27BD0090 */ addiu $sp, $sp, 0x90
/* 3F698 80064298 00000000 */ nop
/* 3F69C 8006429C 00000000 */ nop