papermario/ver/jp/asm/nonmatchings/44360/func_80068F60.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

80 lines
3.8 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80068F60
/* 44360 80068F60 27BDFED0 */ addiu $sp, $sp, -0x130
/* 44364 80068F64 AFB20118 */ sw $s2, 0x118($sp)
/* 44368 80068F68 00809021 */ addu $s2, $a0, $zero
/* 4436C 80068F6C AFBF0128 */ sw $ra, 0x128($sp)
/* 44370 80068F70 AFB50124 */ sw $s5, 0x124($sp)
/* 44374 80068F74 AFB40120 */ sw $s4, 0x120($sp)
/* 44378 80068F78 AFB3011C */ sw $s3, 0x11c($sp)
/* 4437C 80068F7C AFB10114 */ sw $s1, 0x114($sp)
/* 44380 80068F80 AFB00110 */ sw $s0, 0x110($sp)
/* 44384 80068F84 8E420000 */ lw $v0, ($s2)
/* 44388 80068F88 00A0A821 */ addu $s5, $a1, $zero
/* 4438C 80068F8C 30420001 */ andi $v0, $v0, 1
/* 44390 80068F90 14400003 */ bnez $v0, .L80068FA0
/* 44394 80068F94 00009821 */ addu $s3, $zero, $zero
/* 44398 80068F98 0801A412 */ j .L80069048
/* 4439C 80068F9C 24020005 */ addiu $v0, $zero, 5
.L80068FA0:
/* 443A0 80068FA0 0C01A76D */ jal func_80069DB4
/* 443A4 80068FA4 02402021 */ addu $a0, $s2, $zero
/* 443A8 80068FA8 14400027 */ bnez $v0, .L80069048
/* 443AC 80068FAC 00000000 */ nop
/* 443B0 80068FB0 92420064 */ lbu $v0, 0x64($s2)
/* 443B4 80068FB4 0262102B */ sltu $v0, $s3, $v0
/* 443B8 80068FB8 10400020 */ beqz $v0, .L8006903C
/* 443BC 80068FBC 00008821 */ addu $s1, $zero, $zero
/* 443C0 80068FC0 27B40010 */ addiu $s4, $sp, 0x10
/* 443C4 80068FC4 02402021 */ addu $a0, $s2, $zero
.L80068FC8:
/* 443C8 80068FC8 323000FF */ andi $s0, $s1, 0xff
/* 443CC 80068FCC 27A50010 */ addiu $a1, $sp, 0x10
/* 443D0 80068FD0 00003021 */ addu $a2, $zero, $zero
/* 443D4 80068FD4 0C01A79B */ jal func_80069E6C
/* 443D8 80068FD8 02003821 */ addu $a3, $s0, $zero
/* 443DC 80068FDC 1440001A */ bnez $v0, .L80069048
/* 443E0 80068FE0 00000000 */ nop
/* 443E4 80068FE4 16000002 */ bnez $s0, .L80068FF0
/* 443E8 80068FE8 24020001 */ addiu $v0, $zero, 1
/* 443EC 80068FEC 8E420060 */ lw $v0, 0x60($s2)
.L80068FF0:
/* 443F0 80068FF0 00402021 */ addu $a0, $v0, $zero
/* 443F4 80068FF4 28820080 */ slti $v0, $a0, 0x80
/* 443F8 80068FF8 1040000A */ beqz $v0, .L80069024
/* 443FC 80068FFC 00041040 */ sll $v0, $a0, 1
/* 44400 80069000 00541821 */ addu $v1, $v0, $s4
.L80069004:
/* 44404 80069004 94620000 */ lhu $v0, ($v1)
/* 44408 80069008 24840001 */ addiu $a0, $a0, 1
/* 4440C 8006900C 38420003 */ xori $v0, $v0, 3
/* 44410 80069010 2C420001 */ sltiu $v0, $v0, 1
/* 44414 80069014 02629821 */ addu $s3, $s3, $v0
/* 44418 80069018 28820080 */ slti $v0, $a0, 0x80
/* 4441C 8006901C 1440FFF9 */ bnez $v0, .L80069004
/* 44420 80069020 24630002 */ addiu $v1, $v1, 2
.L80069024:
/* 44424 80069024 92430064 */ lbu $v1, 0x64($s2)
/* 44428 80069028 26310001 */ addiu $s1, $s1, 1
/* 4442C 8006902C 322200FF */ andi $v0, $s1, 0xff
/* 44430 80069030 0043102B */ sltu $v0, $v0, $v1
/* 44434 80069034 5440FFE4 */ bnel $v0, $zero, .L80068FC8
/* 44438 80069038 02402021 */ addu $a0, $s2, $zero
.L8006903C:
/* 4443C 8006903C 00131200 */ sll $v0, $s3, 8
/* 44440 80069040 AEA20000 */ sw $v0, ($s5)
/* 44444 80069044 00001021 */ addu $v0, $zero, $zero
.L80069048:
/* 44448 80069048 8FBF0128 */ lw $ra, 0x128($sp)
/* 4444C 8006904C 8FB50124 */ lw $s5, 0x124($sp)
/* 44450 80069050 8FB40120 */ lw $s4, 0x120($sp)
/* 44454 80069054 8FB3011C */ lw $s3, 0x11c($sp)
/* 44458 80069058 8FB20118 */ lw $s2, 0x118($sp)
/* 4445C 8006905C 8FB10114 */ lw $s1, 0x114($sp)
/* 44460 80069060 8FB00110 */ lw $s0, 0x110($sp)
/* 44464 80069064 03E00008 */ jr $ra
/* 44468 80069068 27BD0130 */ addiu $sp, $sp, 0x130
/* 4446C 8006906C 00000000 */ nop