papermario/ver/jp/asm/nonmatchings/main_23330/func_80049C2C.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

116 lines
5.7 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80049C2C
/* 2502C 80049C2C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 25030 80049C30 AFB40020 */ sw $s4, 0x20($sp)
/* 25034 80049C34 0080A02D */ daddu $s4, $a0, $zero
/* 25038 80049C38 AFBF0024 */ sw $ra, 0x24($sp)
/* 2503C 80049C3C AFB3001C */ sw $s3, 0x1c($sp)
/* 25040 80049C40 AFB20018 */ sw $s2, 0x18($sp)
/* 25044 80049C44 AFB10014 */ sw $s1, 0x14($sp)
/* 25048 80049C48 AFB00010 */ sw $s0, 0x10($sp)
/* 2504C 80049C4C F7B40028 */ sdc1 $f20, 0x28($sp)
/* 25050 80049C50 8E930148 */ lw $s3, 0x148($s4)
/* 25054 80049C54 86640008 */ lh $a0, 8($s3)
/* 25058 80049C58 0C00E9EB */ jal func_8003A7AC
/* 2505C 80049C5C 00A0902D */ daddu $s2, $a1, $zero
/* 25060 80049C60 3C04800F */ lui $a0, %hi(D_800F7CC0)
/* 25064 80049C64 8C847CC0 */ lw $a0, %lo(D_800F7CC0)($a0)
/* 25068 80049C68 908300B4 */ lbu $v1, 0xb4($a0)
/* 2506C 80049C6C 0040802D */ daddu $s0, $v0, $zero
/* 25070 80049C70 2462FFFD */ addiu $v0, $v1, -3
/* 25074 80049C74 2C420003 */ sltiu $v0, $v0, 3
/* 25078 80049C78 14400006 */ bnez $v0, .L80049C94
/* 2507C 80049C7C 0000882D */ daddu $s1, $zero, $zero
/* 25080 80049C80 00031600 */ sll $v0, $v1, 0x18
/* 25084 80049C84 00021603 */ sra $v0, $v0, 0x18
/* 25088 80049C88 24030008 */ addiu $v1, $zero, 8
/* 2508C 80049C8C 1443000F */ bne $v0, $v1, .L80049CCC
/* 25090 80049C90 00000000 */ nop
.L80049C94:
/* 25094 80049C94 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 25098 80049C98 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 2509C 80049C9C 8C860028 */ lw $a2, 0x28($a0)
/* 250A0 80049CA0 0C00A7A5 */ jal func_80029E94
/* 250A4 80049CA4 8C870030 */ lw $a3, 0x30($a0)
/* 250A8 80049CA8 860200A6 */ lh $v0, 0xa6($s0)
/* 250AC 80049CAC 46000021 */ cvt.d.s $f0, $f0
/* 250B0 80049CB0 44821000 */ mtc1 $v0, $f2
/* 250B4 80049CB4 00000000 */ nop
/* 250B8 80049CB8 468010A1 */ cvt.d.w $f2, $f2
/* 250BC 80049CBC 4622003C */ c.lt.d $f0, $f2
/* 250C0 80049CC0 00000000 */ nop
/* 250C4 80049CC4 45030001 */ bc1tl .L80049CCC
/* 250C8 80049CC8 24110001 */ addiu $s1, $zero, 1
.L80049CCC:
/* 250CC 80049CCC 56200031 */ bnel $s1, $zero, .L80049D94
/* 250D0 80049CD0 A600008E */ sh $zero, 0x8e($s0)
/* 250D4 80049CD4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* 250D8 80049CD8 3C02800F */ lui $v0, %hi(D_800F7CC0)
/* 250DC 80049CDC 8C427CC0 */ lw $v0, %lo(D_800F7CC0)($v0)
/* 250E0 80049CE0 C60E0040 */ lwc1 $f14, 0x40($s0)
/* 250E4 80049CE4 8C460028 */ lw $a2, 0x28($v0)
/* 250E8 80049CE8 0C00A710 */ jal func_80029C40
/* 250EC 80049CEC 8C470030 */ lw $a3, 0x30($v0)
/* 250F0 80049CF0 46000506 */ mov.s $f20, $f0
/* 250F4 80049CF4 C60C000C */ lwc1 $f12, 0xc($s0)
/* 250F8 80049CF8 0C00A6FA */ jal func_80029BE8
/* 250FC 80049CFC 4600A386 */ mov.s $f14, $f20
/* 25100 80049D00 46000086 */ mov.s $f2, $f0
/* 25104 80049D04 8E42001C */ lw $v0, 0x1c($s2)
/* 25108 80049D08 46001005 */ abs.s $f0, $f2
/* 2510C 80049D0C 44822000 */ mtc1 $v0, $f4
/* 25110 80049D10 00000000 */ nop
/* 25114 80049D14 46802120 */ cvt.s.w $f4, $f4
/* 25118 80049D18 4600203C */ c.lt.s $f4, $f0
/* 2511C 80049D1C 00000000 */ nop
/* 25120 80049D20 4500000D */ bc1f .L80049D58
/* 25124 80049D24 00000000 */ nop
/* 25128 80049D28 44800000 */ mtc1 $zero, $f0
/* 2512C 80049D2C C614000C */ lwc1 $f20, 0xc($s0)
/* 25130 80049D30 4600103C */ c.lt.s $f2, $f0
/* 25134 80049D34 00000000 */ nop
/* 25138 80049D38 45000006 */ bc1f .L80049D54
/* 2513C 80049D3C 00021023 */ negu $v0, $v0
/* 25140 80049D40 44820000 */ mtc1 $v0, $f0
/* 25144 80049D44 00000000 */ nop
/* 25148 80049D48 46800020 */ cvt.s.w $f0, $f0
/* 2514C 80049D4C 08012756 */ j .L80049D58
/* 25150 80049D50 4600A500 */ add.s $f20, $f20, $f0
.L80049D54:
/* 25154 80049D54 4604A500 */ add.s $f20, $f20, $f4
.L80049D58:
/* 25158 80049D58 0C00A6B9 */ jal func_80029AE4
/* 2515C 80049D5C 4600A306 */ mov.s $f12, $f20
/* 25160 80049D60 E600000C */ swc1 $f0, 0xc($s0)
/* 25164 80049D64 8E440020 */ lw $a0, 0x20($s2)
/* 25168 80049D68 000417C2 */ srl $v0, $a0, 0x1f
/* 2516C 80049D6C 00822021 */ addu $a0, $a0, $v0
/* 25170 80049D70 00042043 */ sra $a0, $a0, 1
/* 25174 80049D74 0C00A66F */ jal func_800299BC
/* 25178 80049D78 24840001 */ addiu $a0, $a0, 1
/* 2517C 80049D7C 8E430020 */ lw $v1, 0x20($s2)
/* 25180 80049D80 000327C2 */ srl $a0, $v1, 0x1f
/* 25184 80049D84 00641821 */ addu $v1, $v1, $a0
/* 25188 80049D88 00031843 */ sra $v1, $v1, 1
/* 2518C 80049D8C 00621821 */ addu $v1, $v1, $v0
/* 25190 80049D90 A603008E */ sh $v1, 0x8e($s0)
.L80049D94:
/* 25194 80049D94 8E6200CC */ lw $v0, 0xcc($s3)
/* 25198 80049D98 8C42000C */ lw $v0, 0xc($v0)
/* 2519C 80049D9C AE020028 */ sw $v0, 0x28($s0)
/* 251A0 80049DA0 C6400018 */ lwc1 $f0, 0x18($s2)
/* 251A4 80049DA4 2402000D */ addiu $v0, $zero, 0xd
/* 251A8 80049DA8 E6000018 */ swc1 $f0, 0x18($s0)
/* 251AC 80049DAC AE820070 */ sw $v0, 0x70($s4)
/* 251B0 80049DB0 8FBF0024 */ lw $ra, 0x24($sp)
/* 251B4 80049DB4 8FB40020 */ lw $s4, 0x20($sp)
/* 251B8 80049DB8 8FB3001C */ lw $s3, 0x1c($sp)
/* 251BC 80049DBC 8FB20018 */ lw $s2, 0x18($sp)
/* 251C0 80049DC0 8FB10014 */ lw $s1, 0x14($sp)
/* 251C4 80049DC4 8FB00010 */ lw $s0, 0x10($sp)
/* 251C8 80049DC8 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 251CC 80049DCC 03E00008 */ jr $ra
/* 251D0 80049DD0 27BD0030 */ addiu $sp, $sp, 0x30