papermario/ver/jp/asm/nonmatchings/main_35F50/func_8005CF8C.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

99 lines
5.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8005CF8C
/* 3838C 8005CF8C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 38390 8005CF90 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 38394 8005CF94 4486C000 */ mtc1 $a2, $f24
/* 38398 8005CF98 F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 3839C 8005CF9C 4487D000 */ mtc1 $a3, $f26
/* 383A0 8005CFA0 C7AC0070 */ lwc1 $f12, 0x70($sp)
/* 383A4 8005CFA4 3C0140C9 */ lui $at, 0x40c9
/* 383A8 8005CFA8 34210FD0 */ ori $at, $at, 0xfd0
/* 383AC 8005CFAC 44810000 */ mtc1 $at, $f0
/* 383B0 8005CFB0 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 383B4 8005CFB4 3C01BF80 */ lui $at, 0xbf80
/* 383B8 8005CFB8 4481E000 */ mtc1 $at, $f28
/* 383BC 8005CFBC AFB1001C */ sw $s1, 0x1c($sp)
/* 383C0 8005CFC0 0080882D */ daddu $s1, $a0, $zero
/* 383C4 8005CFC4 AFB00018 */ sw $s0, 0x18($sp)
/* 383C8 8005CFC8 00A0802D */ daddu $s0, $a1, $zero
/* 383CC 8005CFCC F7B40030 */ sdc1 $f20, 0x30($sp)
/* 383D0 8005CFD0 C7B40068 */ lwc1 $f20, 0x68($sp)
/* 383D4 8005CFD4 27A50010 */ addiu $a1, $sp, 0x10
/* 383D8 8005CFD8 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 383DC 8005CFDC C7B6006C */ lwc1 $f22, 0x6c($sp)
/* 383E0 8005CFE0 46006302 */ mul.s $f12, $f12, $f0
/* 383E4 8005CFE4 00000000 */ nop
/* 383E8 8005CFE8 3C0143B4 */ lui $at, 0x43b4
/* 383EC 8005CFEC 44810000 */ mtc1 $at, $f0
/* 383F0 8005CFF0 27A60014 */ addiu $a2, $sp, 0x14
/* 383F4 8005CFF4 AFBF0028 */ sw $ra, 0x28($sp)
/* 383F8 8005CFF8 AFB30024 */ sw $s3, 0x24($sp)
/* 383FC 8005CFFC AFB20020 */ sw $s2, 0x20($sp)
/* 38400 8005D000 0C00A81D */ jal func_8002A074
/* 38404 8005D004 46006303 */ div.s $f12, $f12, $f0
/* 38408 8005D008 3C13800B */ lui $s3, %hi(D_800B42C0)
/* 3840C 8005D00C 267342C0 */ addiu $s3, $s3, %lo(D_800B42C0)
/* 38410 8005D010 001010C0 */ sll $v0, $s0, 3
/* 38414 8005D014 00501023 */ subu $v0, $v0, $s0
/* 38418 8005D018 00021080 */ sll $v0, $v0, 2
/* 3841C 8005D01C 8E630004 */ lw $v1, 4($s3)
/* 38420 8005D020 C7A00010 */ lwc1 $f0, 0x10($sp)
/* 38424 8005D024 00629021 */ addu $s2, $v1, $v0
/* 38428 8005D028 8E420000 */ lw $v0, ($s2)
/* 3842C 8005D02C 3C01800A */ lui $at, %hi(D_800A2050)
/* 38430 8005D030 AC202050 */ sw $zero, %lo(D_800A2050)($at)
/* 38434 8005D034 3C01800A */ lui $at, %hi(D_800A2040)
/* 38438 8005D038 E4382040 */ swc1 $f24, %lo(D_800A2040)($at)
/* 3843C 8005D03C 3C01800A */ lui $at, %hi(D_800A2044)
/* 38440 8005D040 E43A2044 */ swc1 $f26, %lo(D_800A2044)($at)
/* 38444 8005D044 3C01800A */ lui $at, %hi(D_800A2048)
/* 38448 8005D048 E4342048 */ swc1 $f20, %lo(D_800A2048)($at)
/* 3844C 8005D04C 3C01800A */ lui $at, %hi(D_800A2064)
/* 38450 8005D050 E4362064 */ swc1 $f22, %lo(D_800A2064)($at)
/* 38454 8005D054 3C01800A */ lui $at, %hi(D_800A204C)
/* 38458 8005D058 E420204C */ swc1 $f0, %lo(D_800A204C)($at)
/* 3845C 8005D05C C7A00014 */ lwc1 $f0, 0x14($sp)
/* 38460 8005D060 00511024 */ and $v0, $v0, $s1
/* 38464 8005D064 46000007 */ neg.s $f0, $f0
/* 38468 8005D068 3C01800A */ lui $at, %hi(D_800A2054)
/* 3846C 8005D06C E4202054 */ swc1 $f0, %lo(D_800A2054)($at)
/* 38470 8005D070 14400015 */ bnez $v0, .L8005D0C8
/* 38474 8005D074 4600E006 */ mov.s $f0, $f28
/* 38478 8005D078 8642000A */ lh $v0, 0xa($s2)
/* 3847C 8005D07C 10400012 */ beqz $v0, .L8005D0C8
/* 38480 8005D080 00000000 */ nop
/* 38484 8005D084 8E51000C */ lw $s1, 0xc($s2)
/* 38488 8005D088 1840000F */ blez $v0, .L8005D0C8
/* 3848C 8005D08C 0000802D */ daddu $s0, $zero, $zero
/* 38490 8005D090 0220202D */ daddu $a0, $s1, $zero
.L8005D094:
/* 38494 8005D094 8E650000 */ lw $a1, ($s3)
/* 38498 8005D098 0C017115 */ jal func_8005C454
/* 3849C 8005D09C 26310040 */ addiu $s1, $s1, 0x40
/* 384A0 8005D0A0 10400003 */ beqz $v0, .L8005D0B0
/* 384A4 8005D0A4 00000000 */ nop
/* 384A8 8005D0A8 3C01800A */ lui $at, %hi(D_800A2064)
/* 384AC 8005D0AC C43C2064 */ lwc1 $f28, %lo(D_800A2064)($at)
.L8005D0B0:
/* 384B0 8005D0B0 8642000A */ lh $v0, 0xa($s2)
/* 384B4 8005D0B4 26100001 */ addiu $s0, $s0, 1
/* 384B8 8005D0B8 0202102A */ slt $v0, $s0, $v0
/* 384BC 8005D0BC 1440FFF5 */ bnez $v0, .L8005D094
/* 384C0 8005D0C0 0220202D */ daddu $a0, $s1, $zero
/* 384C4 8005D0C4 4600E006 */ mov.s $f0, $f28
.L8005D0C8:
/* 384C8 8005D0C8 8FBF0028 */ lw $ra, 0x28($sp)
/* 384CC 8005D0CC 8FB30024 */ lw $s3, 0x24($sp)
/* 384D0 8005D0D0 8FB20020 */ lw $s2, 0x20($sp)
/* 384D4 8005D0D4 8FB1001C */ lw $s1, 0x1c($sp)
/* 384D8 8005D0D8 8FB00018 */ lw $s0, 0x18($sp)
/* 384DC 8005D0DC D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 384E0 8005D0E0 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 384E4 8005D0E4 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 384E8 8005D0E8 D7B60038 */ ldc1 $f22, 0x38($sp)
/* 384EC 8005D0EC D7B40030 */ ldc1 $f20, 0x30($sp)
/* 384F0 8005D0F0 03E00008 */ jr $ra
/* 384F4 8005D0F4 27BD0058 */ addiu $sp, $sp, 0x58