papermario/ver/jp/asm/nonmatchings/main_33E80/func_80059F6C.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

123 lines
5.8 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80059F6C
/* 3536C 80059F6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 35370 80059F70 AFB20018 */ sw $s2, 0x18($sp)
/* 35374 80059F74 0080902D */ daddu $s2, $a0, $zero
/* 35378 80059F78 AFB00010 */ sw $s0, 0x10($sp)
/* 3537C 80059F7C 0000802D */ daddu $s0, $zero, $zero
/* 35380 80059F80 3C03800B */ lui $v1, %hi(D_800B4378)
/* 35384 80059F84 24634378 */ addiu $v1, $v1, %lo(D_800B4378)
/* 35388 80059F88 AFBF001C */ sw $ra, 0x1c($sp)
/* 3538C 80059F8C AFB10014 */ sw $s1, 0x14($sp)
.L80059F90:
/* 35390 80059F90 8C620000 */ lw $v0, ($v1)
/* 35394 80059F94 10400006 */ beqz $v0, .L80059FB0
/* 35398 80059F98 2A020060 */ slti $v0, $s0, 0x60
/* 3539C 80059F9C 26100001 */ addiu $s0, $s0, 1
/* 353A0 80059FA0 2A020060 */ slti $v0, $s0, 0x60
/* 353A4 80059FA4 1440FFFA */ bnez $v0, .L80059F90
/* 353A8 80059FA8 24630004 */ addiu $v1, $v1, 4
/* 353AC 80059FAC 2A020060 */ slti $v0, $s0, 0x60
.L80059FB0:
/* 353B0 80059FB0 14400003 */ bnez $v0, .L80059FC0
/* 353B4 80059FB4 00000000 */ nop
.L80059FB8:
/* 353B8 80059FB8 080167EE */ j .L80059FB8
/* 353BC 80059FBC 00000000 */ nop
.L80059FC0:
/* 353C0 80059FC0 0C00AAFA */ jal func_8002ABE8
/* 353C4 80059FC4 24040014 */ addiu $a0, $zero, 0x14
/* 353C8 80059FC8 00101880 */ sll $v1, $s0, 2
/* 353CC 80059FCC 0040882D */ daddu $s1, $v0, $zero
/* 353D0 80059FD0 3C01800B */ lui $at, %hi(D_800B4378)
/* 353D4 80059FD4 00230821 */ addu $at, $at, $v1
/* 353D8 80059FD8 AC314378 */ sw $s1, %lo(D_800B4378)($at)
/* 353DC 80059FDC 16200003 */ bnez $s1, .L80059FEC
/* 353E0 80059FE0 0000802D */ daddu $s0, $zero, $zero
.L80059FE4:
/* 353E4 80059FE4 080167F9 */ j .L80059FE4
/* 353E8 80059FE8 00000000 */ nop
.L80059FEC:
/* 353EC 80059FEC 3C04800A */ lui $a0, %hi(D_800A1E10)
/* 353F0 80059FF0 24841E10 */ addiu $a0, $a0, %lo(D_800A1E10)
/* 353F4 80059FF4 8E430004 */ lw $v1, 4($s2)
/* 353F8 80059FF8 24020001 */ addiu $v0, $zero, 1
/* 353FC 80059FFC AE220000 */ sw $v0, ($s1)
/* 35400 8005A000 AE230004 */ sw $v1, 4($s1)
.L8005A004:
/* 35404 8005A004 8C820000 */ lw $v0, ($a0)
/* 35408 8005A008 30420001 */ andi $v0, $v0, 1
/* 3540C 8005A00C 50400006 */ beql $v0, $zero, .L8005A028
/* 35410 8005A010 26100001 */ addiu $s0, $s0, 1
/* 35414 8005A014 8C830004 */ lw $v1, 4($a0)
/* 35418 8005A018 8E420004 */ lw $v0, 4($s2)
/* 3541C 8005A01C 10620006 */ beq $v1, $v0, .L8005A038
/* 35420 8005A020 2A02000F */ slti $v0, $s0, 0xf
/* 35424 8005A024 26100001 */ addiu $s0, $s0, 1
.L8005A028:
/* 35428 8005A028 2A02000F */ slti $v0, $s0, 0xf
/* 3542C 8005A02C 1440FFF5 */ bnez $v0, .L8005A004
/* 35430 8005A030 24840020 */ addiu $a0, $a0, 0x20
/* 35434 8005A034 2A02000F */ slti $v0, $s0, 0xf
.L8005A038:
/* 35438 8005A038 14400003 */ bnez $v0, .L8005A048
/* 3543C 8005A03C 00000000 */ nop
.L8005A040:
/* 35440 8005A040 08016810 */ j .L8005A040
/* 35444 8005A044 00000000 */ nop
.L8005A048:
/* 35448 8005A048 8C820008 */ lw $v0, 8($a0)
/* 3544C 8005A04C 14400016 */ bnez $v0, .L8005A0A8
/* 35450 8005A050 24420001 */ addiu $v0, $v0, 1
/* 35454 8005A054 8E42000C */ lw $v0, 0xc($s2)
/* 35458 8005A058 14400004 */ bnez $v0, .L8005A06C
/* 3545C 8005A05C AC820010 */ sw $v0, 0x10($a0)
/* 35460 8005A060 3C028006 */ lui $v0, %hi(func_80059930)
/* 35464 8005A064 24429930 */ addiu $v0, $v0, %lo(func_80059930)
/* 35468 8005A068 AC820014 */ sw $v0, 0x14($a0)
.L8005A06C:
/* 3546C 8005A06C 8E420010 */ lw $v0, 0x10($s2)
/* 35470 8005A070 8C830018 */ lw $v1, 0x18($a0)
/* 35474 8005A074 14600004 */ bnez $v1, .L8005A088
/* 35478 8005A078 AC820014 */ sw $v0, 0x14($a0)
/* 3547C 8005A07C 3C028006 */ lui $v0, %hi(func_80059930)
/* 35480 8005A080 24429930 */ addiu $v0, $v0, %lo(func_80059930)
/* 35484 8005A084 AC820018 */ sw $v0, 0x18($a0)
.L8005A088:
/* 35488 8005A088 8E420014 */ lw $v0, 0x14($s2)
/* 3548C 8005A08C 14400004 */ bnez $v0, .L8005A0A0
/* 35490 8005A090 AC820018 */ sw $v0, 0x18($a0)
/* 35494 8005A094 3C028006 */ lui $v0, %hi(func_80059930)
/* 35498 8005A098 24429930 */ addiu $v0, $v0, %lo(func_80059930)
/* 3549C 8005A09C AC820018 */ sw $v0, 0x18($a0)
.L8005A0A0:
/* 354A0 8005A0A0 8C820008 */ lw $v0, 8($a0)
/* 354A4 8005A0A4 24420001 */ addiu $v0, $v0, 1
.L8005A0A8:
/* 354A8 8005A0A8 AC820008 */ sw $v0, 8($a0)
/* 354AC 8005A0AC AE240010 */ sw $a0, 0x10($s1)
/* 354B0 8005A0B0 8E420008 */ lw $v0, 8($s2)
/* 354B4 8005A0B4 10400003 */ beqz $v0, .L8005A0C4
/* 354B8 8005A0B8 00000000 */ nop
/* 354BC 8005A0BC 0040F809 */ jalr $v0
/* 354C0 8005A0C0 0220202D */ daddu $a0, $s1, $zero
.L8005A0C4:
/* 354C4 8005A0C4 3C028007 */ lui $v0, %hi(D_8007417C)
/* 354C8 8005A0C8 8C42417C */ lw $v0, %lo(D_8007417C)($v0)
/* 354CC 8005A0CC 80420070 */ lb $v0, 0x70($v0)
/* 354D0 8005A0D0 10400005 */ beqz $v0, .L8005A0E8
/* 354D4 8005A0D4 0220102D */ daddu $v0, $s1, $zero
/* 354D8 8005A0D8 8E220000 */ lw $v0, ($s1)
/* 354DC 8005A0DC 34420004 */ ori $v0, $v0, 4
/* 354E0 8005A0E0 AE220000 */ sw $v0, ($s1)
/* 354E4 8005A0E4 0220102D */ daddu $v0, $s1, $zero
.L8005A0E8:
/* 354E8 8005A0E8 8FBF001C */ lw $ra, 0x1c($sp)
/* 354EC 8005A0EC 8FB20018 */ lw $s2, 0x18($sp)
/* 354F0 8005A0F0 8FB10014 */ lw $s1, 0x14($sp)
/* 354F4 8005A0F4 8FB00010 */ lw $s0, 0x10($sp)
/* 354F8 8005A0F8 03E00008 */ jr $ra
/* 354FC 8005A0FC 27BD0020 */ addiu $sp, $sp, 0x20