papermario/ver/jp/asm/nonmatchings/main_19EB0/func_8003F240.s
Ethan Roseman 698cf99458
jp cod (Created the first segment's c files for jp) (#194)
* jp cod

* just have less code and it works

* oops

* removing splat cause subrepo is being dumb

* git subrepo clone https://github.com/ethteck/splat.git tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "d7281bae6a"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "d7281bae6a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* move jp stuff + revert configure

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "c56195a9c5"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "c56195a9c5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"
2021-02-27 00:36:33 +09:00

103 lines
5.0 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8003F240
/* 1A640 8003F240 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 1A644 8003F244 AFB20028 */ sw $s2, 0x28($sp)
/* 1A648 8003F248 0080902D */ daddu $s2, $a0, $zero
/* 1A64C 8003F24C AFBF0030 */ sw $ra, 0x30($sp)
/* 1A650 8003F250 AFB3002C */ sw $s3, 0x2c($sp)
/* 1A654 8003F254 AFB10024 */ sw $s1, 0x24($sp)
/* 1A658 8003F258 AFB00020 */ sw $s0, 0x20($sp)
/* 1A65C 8003F25C 8E530148 */ lw $s3, 0x148($s2)
/* 1A660 8003F260 86640008 */ lh $a0, 8($s3)
/* 1A664 8003F264 0C00E9EB */ jal func_8003A7AC
/* 1A668 8003F268 00A0802D */ daddu $s0, $a1, $zero
/* 1A66C 8003F26C 12000004 */ beqz $s0, .L8003F280
/* 1A670 8003F270 0040882D */ daddu $s1, $v0, $zero
/* 1A674 8003F274 24020014 */ addiu $v0, $zero, 0x14
/* 1A678 8003F278 AE400070 */ sw $zero, 0x70($s2)
/* 1A67C 8003F27C AE420074 */ sw $v0, 0x74($s2)
.L8003F280:
/* 1A680 8003F280 8E420074 */ lw $v0, 0x74($s2)
/* 1A684 8003F284 30420001 */ andi $v0, $v0, 1
/* 1A688 8003F288 10400004 */ beqz $v0, .L8003F29C
/* 1A68C 8003F28C 2403FFFD */ addiu $v1, $zero, -3
/* 1A690 8003F290 8E220000 */ lw $v0, ($s1)
/* 1A694 8003F294 0800FCA9 */ j .L8003F2A4
/* 1A698 8003F298 00431024 */ and $v0, $v0, $v1
.L8003F29C:
/* 1A69C 8003F29C 8E220000 */ lw $v0, ($s1)
/* 1A6A0 8003F2A0 34420002 */ ori $v0, $v0, 2
.L8003F2A4:
/* 1A6A4 8003F2A4 AE220000 */ sw $v0, ($s1)
/* 1A6A8 8003F2A8 8E430074 */ lw $v1, 0x74($s2)
/* 1A6AC 8003F2AC 2402000F */ addiu $v0, $zero, 0xf
/* 1A6B0 8003F2B0 1462001A */ bne $v1, $v0, .L8003F31C
/* 1A6B4 8003F2B4 00000000 */ nop
/* 1A6B8 8003F2B8 0C053B59 */ jal func_8014ED64
/* 1A6BC 8003F2BC 240403E5 */ addiu $a0, $zero, 0x3e5
/* 1A6C0 8003F2C0 962300A8 */ lhu $v1, 0xa8($s1)
/* 1A6C4 8003F2C4 C624003C */ lwc1 $f4, 0x3c($s1)
/* 1A6C8 8003F2C8 3C01BF80 */ lui $at, 0xbf80
/* 1A6CC 8003F2CC 44811000 */ mtc1 $at, $f2
/* 1A6D0 8003F2D0 2402000A */ addiu $v0, $zero, 0xa
/* 1A6D4 8003F2D4 AFA00010 */ sw $zero, 0x10($sp)
/* 1A6D8 8003F2D8 AFA00018 */ sw $zero, 0x18($sp)
/* 1A6DC 8003F2DC AFA2001C */ sw $v0, 0x1c($sp)
/* 1A6E0 8003F2E0 00031C00 */ sll $v1, $v1, 0x10
/* 1A6E4 8003F2E4 00031403 */ sra $v0, $v1, 0x10
/* 1A6E8 8003F2E8 00031FC2 */ srl $v1, $v1, 0x1f
/* 1A6EC 8003F2EC 00431021 */ addu $v0, $v0, $v1
/* 1A6F0 8003F2F0 00021043 */ sra $v0, $v0, 1
/* 1A6F4 8003F2F4 44820000 */ mtc1 $v0, $f0
/* 1A6F8 8003F2F8 00000000 */ nop
/* 1A6FC 8003F2FC 46800020 */ cvt.s.w $f0, $f0
/* 1A700 8003F300 46002100 */ add.s $f4, $f4, $f0
/* 1A704 8003F304 E7A20014 */ swc1 $f2, 0x14($sp)
/* 1A708 8003F308 8E250038 */ lw $a1, 0x38($s1)
/* 1A70C 8003F30C 8E270040 */ lw $a3, 0x40($s1)
/* 1A710 8003F310 44062000 */ mfc1 $a2, $f4
/* 1A714 8003F314 0C01C05C */ jal func_80070170
/* 1A718 8003F318 24040001 */ addiu $a0, $zero, 1
.L8003F31C:
/* 1A71C 8003F31C 8E500074 */ lw $s0, 0x74($s2)
/* 1A720 8003F320 2402000A */ addiu $v0, $zero, 0xa
/* 1A724 8003F324 1602000F */ bne $s0, $v0, .L8003F364
/* 1A728 8003F328 00000000 */ nop
/* 1A72C 8003F32C 3C014120 */ lui $at, 0x4120
/* 1A730 8003F330 44811000 */ mtc1 $at, $f2
/* 1A734 8003F334 C6200040 */ lwc1 $f0, 0x40($s1)
/* 1A738 8003F338 46020000 */ add.s $f0, $f0, $f2
/* 1A73C 8003F33C C62E003C */ lwc1 $f14, 0x3c($s1)
/* 1A740 8003F340 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 1A744 8003F344 44060000 */ mfc1 $a2, $f0
/* 1A748 8003F348 0C01BE34 */ jal func_8006F8D0
/* 1A74C 8003F34C 46027380 */ add.s $f14, $f14, $f2
/* 1A750 8003F350 8E420074 */ lw $v0, 0x74($s2)
/* 1A754 8003F354 14500005 */ bne $v0, $s0, .L8003F36C
/* 1A758 8003F358 2442FFFF */ addiu $v0, $v0, -1
/* 1A75C 8003F35C 0C011FCC */ jal func_80047F30
/* 1A760 8003F360 0260202D */ daddu $a0, $s3, $zero
.L8003F364:
/* 1A764 8003F364 8E420074 */ lw $v0, 0x74($s2)
/* 1A768 8003F368 2442FFFF */ addiu $v0, $v0, -1
.L8003F36C:
/* 1A76C 8003F36C 10400003 */ beqz $v0, .L8003F37C
/* 1A770 8003F370 AE420074 */ sw $v0, 0x74($s2)
/* 1A774 8003F374 0800FCE3 */ j .L8003F38C
/* 1A778 8003F378 0000102D */ daddu $v0, $zero, $zero
.L8003F37C:
/* 1A77C 8003F37C 8E230000 */ lw $v1, ($s1)
/* 1A780 8003F380 24020001 */ addiu $v0, $zero, 1
/* 1A784 8003F384 34630002 */ ori $v1, $v1, 2
/* 1A788 8003F388 AE230000 */ sw $v1, ($s1)
.L8003F38C:
/* 1A78C 8003F38C 8FBF0030 */ lw $ra, 0x30($sp)
/* 1A790 8003F390 8FB3002C */ lw $s3, 0x2c($sp)
/* 1A794 8003F394 8FB20028 */ lw $s2, 0x28($sp)
/* 1A798 8003F398 8FB10024 */ lw $s1, 0x24($sp)
/* 1A79C 8003F39C 8FB00020 */ lw $s0, 0x20($sp)
/* 1A7A0 8003F3A0 03E00008 */ jr $ra
/* 1A7A4 8003F3A4 27BD0038 */ addiu $sp, $sp, 0x38