papermario/asm/nonmatchings/code_182B30/enable_player_blur.s
Ethan Roseman 71dde79186 asm update
2020-11-27 01:39:15 -05:00

156 lines
7.7 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel enable_player_blur
/* 182FB4 802546D4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 182FB8 802546D8 AFB10014 */ sw $s1, 0x14($sp)
/* 182FBC 802546DC 3C11800E */ lui $s1, %hi(gBattleStatus+0xD8)
/* 182FC0 802546E0 8E31C148 */ lw $s1, %lo(gBattleStatus+0xD8)($s1)
/* 182FC4 802546E4 AFB40020 */ sw $s4, 0x20($sp)
/* 182FC8 802546E8 0000A02D */ daddu $s4, $zero, $zero
/* 182FCC 802546EC AFB50024 */ sw $s5, 0x24($sp)
/* 182FD0 802546F0 3C158000 */ lui $s5, 0x8000
/* 182FD4 802546F4 AFBF0028 */ sw $ra, 0x28($sp)
/* 182FD8 802546F8 AFB3001C */ sw $s3, 0x1c($sp)
/* 182FDC 802546FC AFB20018 */ sw $s2, 0x18($sp)
/* 182FE0 80254700 AFB00010 */ sw $s0, 0x10($sp)
/* 182FE4 80254704 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 182FE8 80254708 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 182FEC 8025470C 8E3301F4 */ lw $s3, 0x1f4($s1)
/* 182FF0 80254710 3C013F00 */ lui $at, 0x3f00
/* 182FF4 80254714 4481B000 */ mtc1 $at, $f22
/* 182FF8 80254718 8E6200C0 */ lw $v0, 0xc0($s3)
/* 182FFC 8025471C 3C014F00 */ lui $at, 0x4f00
/* 183000 80254720 4481A000 */ mtc1 $at, $f20
/* 183004 80254724 0040802D */ daddu $s0, $v0, $zero
/* 183008 80254728 920207DB */ lbu $v0, 0x7db($s0)
/* 18300C 8025472C 3C031000 */ lui $v1, 0x1000
/* 183010 80254730 A20008AC */ sb $zero, 0x8ac($s0)
/* 183014 80254734 24420001 */ addiu $v0, $v0, 1
/* 183018 80254738 A20207DB */ sb $v0, 0x7db($s0)
/* 18301C 8025473C 8E220000 */ lw $v0, ($s1)
/* 183020 80254740 0200902D */ daddu $s2, $s0, $zero
/* 183024 80254744 00431025 */ or $v0, $v0, $v1
/* 183028 80254748 AE220000 */ sw $v0, ($s1)
/* 18302C 8025474C A20007D8 */ sb $zero, 0x7d8($s0)
/* 183030 80254750 A20007D9 */ sb $zero, 0x7d9($s0)
.L80254754:
/* 183034 80254754 C6600058 */ lwc1 $f0, 0x58($s3)
/* 183038 80254758 4600010D */ trunc.w.s $f4, $f0
/* 18303C 8025475C 44022000 */ mfc1 $v0, $f4
/* 183040 80254760 00000000 */ nop
/* 183044 80254764 A60207FC */ sh $v0, 0x7fc($s0)
/* 183048 80254768 C660005C */ lwc1 $f0, 0x5c($s3)
/* 18304C 8025476C 4600010D */ trunc.w.s $f4, $f0
/* 183050 80254770 44022000 */ mfc1 $v0, $f4
/* 183054 80254774 00000000 */ nop
/* 183058 80254778 A602081C */ sh $v0, 0x81c($s0)
/* 18305C 8025477C C6600060 */ lwc1 $f0, 0x60($s3)
/* 183060 80254780 4600010D */ trunc.w.s $f4, $f0
/* 183064 80254784 44022000 */ mfc1 $v0, $f4
/* 183068 80254788 00000000 */ nop
/* 18306C 8025478C A602083C */ sh $v0, 0x83c($s0)
/* 183070 80254790 C620018C */ lwc1 $f0, 0x18c($s1)
/* 183074 80254794 4600010D */ trunc.w.s $f4, $f0
/* 183078 80254798 44022000 */ mfc1 $v0, $f4
/* 18307C 8025479C 00000000 */ nop
/* 183080 802547A0 A60207DC */ sh $v0, 0x7dc($s0)
/* 183084 802547A4 86220168 */ lh $v0, 0x168($s1)
/* 183088 802547A8 C6220188 */ lwc1 $f2, 0x188($s1)
/* 18308C 802547AC 44820000 */ mtc1 $v0, $f0
/* 183090 802547B0 00000000 */ nop
/* 183094 802547B4 46800020 */ cvt.s.w $f0, $f0
/* 183098 802547B8 46020002 */ mul.s $f0, $f0, $f2
/* 18309C 802547BC 00000000 */ nop
/* 1830A0 802547C0 4600010D */ trunc.w.s $f4, $f0
/* 1830A4 802547C4 44022000 */ mfc1 $v0, $f4
/* 1830A8 802547C8 00000000 */ nop
/* 1830AC 802547CC A242085C */ sb $v0, 0x85c($s2)
/* 1830B0 802547D0 8622016A */ lh $v0, 0x16a($s1)
/* 1830B4 802547D4 C6220188 */ lwc1 $f2, 0x188($s1)
/* 1830B8 802547D8 44820000 */ mtc1 $v0, $f0
/* 1830BC 802547DC 00000000 */ nop
/* 1830C0 802547E0 46800020 */ cvt.s.w $f0, $f0
/* 1830C4 802547E4 46020002 */ mul.s $f0, $f0, $f2
/* 1830C8 802547E8 00000000 */ nop
/* 1830CC 802547EC 4600010D */ trunc.w.s $f4, $f0
/* 1830D0 802547F0 44022000 */ mfc1 $v0, $f4
/* 1830D4 802547F4 00000000 */ nop
/* 1830D8 802547F8 A242086C */ sb $v0, 0x86c($s2)
/* 1830DC 802547FC 0C00A6C9 */ jal clamp_angle
/* 1830E0 80254800 C62C015C */ lwc1 $f12, 0x15c($s1)
/* 1830E4 80254804 46160002 */ mul.s $f0, $f0, $f22
/* 1830E8 80254808 00000000 */ nop
/* 1830EC 8025480C 4600A03E */ c.le.s $f20, $f0
/* 1830F0 80254810 00000000 */ nop
/* 1830F4 80254814 45010005 */ bc1t .L8025482C
/* 1830F8 80254818 2643087C */ addiu $v1, $s2, 0x87c
/* 1830FC 8025481C 4600010D */ trunc.w.s $f4, $f0
/* 183100 80254820 44022000 */ mfc1 $v0, $f4
/* 183104 80254824 08095211 */ j .L80254844
/* 183108 80254828 A0620000 */ sb $v0, ($v1)
.L8025482C:
/* 18310C 8025482C 46140001 */ sub.s $f0, $f0, $f20
/* 183110 80254830 4600010D */ trunc.w.s $f4, $f0
/* 183114 80254834 44022000 */ mfc1 $v0, $f4
/* 183118 80254838 00000000 */ nop
/* 18311C 8025483C 00551025 */ or $v0, $v0, $s5
/* 183120 80254840 A0620000 */ sb $v0, ($v1)
.L80254844:
/* 183124 80254844 0C00A6C9 */ jal clamp_angle
/* 183128 80254848 C62C0160 */ lwc1 $f12, 0x160($s1)
/* 18312C 8025484C 46160002 */ mul.s $f0, $f0, $f22
/* 183130 80254850 00000000 */ nop
/* 183134 80254854 4600A03E */ c.le.s $f20, $f0
/* 183138 80254858 00000000 */ nop
/* 18313C 8025485C 45010005 */ bc1t .L80254874
/* 183140 80254860 2643088C */ addiu $v1, $s2, 0x88c
/* 183144 80254864 4600010D */ trunc.w.s $f4, $f0
/* 183148 80254868 44022000 */ mfc1 $v0, $f4
/* 18314C 8025486C 08095223 */ j .L8025488C
/* 183150 80254870 A0620000 */ sb $v0, ($v1)
.L80254874:
/* 183154 80254874 46140001 */ sub.s $f0, $f0, $f20
/* 183158 80254878 4600010D */ trunc.w.s $f4, $f0
/* 18315C 8025487C 44022000 */ mfc1 $v0, $f4
/* 183160 80254880 00000000 */ nop
/* 183164 80254884 00551025 */ or $v0, $v0, $s5
/* 183168 80254888 A0620000 */ sb $v0, ($v1)
.L8025488C:
/* 18316C 8025488C 0C00A6C9 */ jal clamp_angle
/* 183170 80254890 C62C0164 */ lwc1 $f12, 0x164($s1)
/* 183174 80254894 46160002 */ mul.s $f0, $f0, $f22
/* 183178 80254898 00000000 */ nop
/* 18317C 8025489C 4600A03E */ c.le.s $f20, $f0
/* 183180 802548A0 00000000 */ nop
/* 183184 802548A4 45010005 */ bc1t .L802548BC
/* 183188 802548A8 2643089C */ addiu $v1, $s2, 0x89c
/* 18318C 802548AC 4600010D */ trunc.w.s $f4, $f0
/* 183190 802548B0 44022000 */ mfc1 $v0, $f4
/* 183194 802548B4 08095235 */ j .L802548D4
/* 183198 802548B8 A0620000 */ sb $v0, ($v1)
.L802548BC:
/* 18319C 802548BC 46140001 */ sub.s $f0, $f0, $f20
/* 1831A0 802548C0 4600010D */ trunc.w.s $f4, $f0
/* 1831A4 802548C4 44022000 */ mfc1 $v0, $f4
/* 1831A8 802548C8 00000000 */ nop
/* 1831AC 802548CC 00551025 */ or $v0, $v0, $s5
/* 1831B0 802548D0 A0620000 */ sb $v0, ($v1)
.L802548D4:
/* 1831B4 802548D4 26520001 */ addiu $s2, $s2, 1
/* 1831B8 802548D8 26940001 */ addiu $s4, $s4, 1
/* 1831BC 802548DC 2A820010 */ slti $v0, $s4, 0x10
/* 1831C0 802548E0 1440FF9C */ bnez $v0, .L80254754
/* 1831C4 802548E4 26100002 */ addiu $s0, $s0, 2
/* 1831C8 802548E8 8FBF0028 */ lw $ra, 0x28($sp)
/* 1831CC 802548EC 8FB50024 */ lw $s5, 0x24($sp)
/* 1831D0 802548F0 8FB40020 */ lw $s4, 0x20($sp)
/* 1831D4 802548F4 8FB3001C */ lw $s3, 0x1c($sp)
/* 1831D8 802548F8 8FB20018 */ lw $s2, 0x18($sp)
/* 1831DC 802548FC 8FB10014 */ lw $s1, 0x14($sp)
/* 1831E0 80254900 8FB00010 */ lw $s0, 0x10($sp)
/* 1831E4 80254904 D7B60038 */ ldc1 $f22, 0x38($sp)
/* 1831E8 80254908 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 1831EC 8025490C 03E00008 */ jr $ra
/* 1831F0 80254910 27BD0040 */ addiu $sp, $sp, 0x40