papermario/asm/nonmatchings/code_182B30/update_actor_shadow.s
2020-10-14 23:49:49 -04:00

387 lines
20 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel update_actor_shadow
/* 18429C 802559BC 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 1842A0 802559C0 AFB00028 */ sw $s0, 0x28($sp)
/* 1842A4 802559C4 AFB20030 */ sw $s2, 0x30($sp)
/* 1842A8 802559C8 00A0902D */ daddu $s2, $a1, $zero
/* 1842AC 802559CC AFB5003C */ sw $s5, 0x3c($sp)
/* 1842B0 802559D0 3C15800B */ lui $s5, 0x800b
/* 1842B4 802559D4 26B522D8 */ addiu $s5, $s5, 0x22d8
/* 1842B8 802559D8 AFBF0040 */ sw $ra, 0x40($sp)
/* 1842BC 802559DC AFB40038 */ sw $s4, 0x38($sp)
/* 1842C0 802559E0 AFB30034 */ sw $s3, 0x34($sp)
/* 1842C4 802559E4 AFB1002C */ sw $s1, 0x2c($sp)
/* 1842C8 802559E8 F7B60050 */ sdc1 $f22, 0x50($sp)
/* 1842CC 802559EC F7B40048 */ sdc1 $f20, 0x48($sp)
/* 1842D0 802559F0 1240014F */ beqz $s2, .L80255F30
/* 1842D4 802559F4 0080802D */ daddu $s0, $a0, $zero
/* 1842D8 802559F8 8E44042C */ lw $a0, 0x42c($s2)
/* 1842DC 802559FC 0C044181 */ jal get_shadow_by_index
/* 1842E0 80255A00 00000000 */ nop
/* 1842E4 80255A04 0040882D */ daddu $s1, $v0, $zero
/* 1842E8 80255A08 8E220000 */ lw $v0, ($s1)
/* 1842EC 80255A0C 34420001 */ ori $v0, $v0, 1
/* 1842F0 80255A10 AE220000 */ sw $v0, ($s1)
/* 1842F4 80255A14 8E430000 */ lw $v1, ($s2)
/* 1842F8 80255A18 30620001 */ andi $v0, $v1, 1
/* 1842FC 80255A1C 14400144 */ bnez $v0, .L80255F30
/* 184300 80255A20 3C021000 */ lui $v0, 0x1000
/* 184304 80255A24 00621024 */ and $v0, $v1, $v0
/* 184308 80255A28 10400009 */ beqz $v0, .L80255A50
/* 18430C 80255A2C 00000000 */ nop
/* 184310 80255A30 16000005 */ bnez $s0, .L80255A48
/* 184314 80255A34 00000000 */ nop
/* 184318 80255A38 0C09564F */ jal func_8025593C
/* 18431C 80255A3C 0240202D */ daddu $a0, $s2, $zero
/* 184320 80255A40 08095694 */ j .L80255A50
/* 184324 80255A44 00000000 */ nop
.L80255A48:
/* 184328 80255A48 0C09565F */ jal func_8025597C
/* 18432C 80255A4C 0240202D */ daddu $a0, $s2, $zero
.L80255A50:
/* 184330 80255A50 86420150 */ lh $v0, 0x150($s2)
/* 184334 80255A54 C6420144 */ lwc1 $f2, 0x144($s2)
/* 184338 80255A58 8E430000 */ lw $v1, ($s2)
/* 18433C 80255A5C 44820000 */ mtc1 $v0, $f0
/* 184340 80255A60 00000000 */ nop
/* 184344 80255A64 46800020 */ cvt.s.w $f0, $f0
/* 184348 80255A68 2402000D */ addiu $v0, $zero, 0xd
/* 18434C 80255A6C 46001080 */ add.s $f2, $f2, $f0
/* 184350 80255A70 30630800 */ andi $v1, $v1, 0x800
/* 184354 80255A74 A6420434 */ sh $v0, 0x434($s2)
/* 184358 80255A78 14600008 */ bnez $v1, .L80255A9C
/* 18435C 80255A7C E7A20018 */ swc1 $f2, 0x18($sp)
/* 184360 80255A80 86420152 */ lh $v0, 0x152($s2)
/* 184364 80255A84 C6400148 */ lwc1 $f0, 0x148($s2)
/* 184368 80255A88 44821000 */ mtc1 $v0, $f2
/* 18436C 80255A8C 00000000 */ nop
/* 184370 80255A90 468010A0 */ cvt.s.w $f2, $f2
/* 184374 80255A94 080956AD */ j .L80255AB4
/* 184378 80255A98 46020000 */ add.s $f0, $f0, $f2
.L80255A9C:
/* 18437C 80255A9C 86420152 */ lh $v0, 0x152($s2)
/* 184380 80255AA0 C6400148 */ lwc1 $f0, 0x148($s2)
/* 184384 80255AA4 44821000 */ mtc1 $v0, $f2
/* 184388 80255AA8 00000000 */ nop
/* 18438C 80255AAC 468010A0 */ cvt.s.w $f2, $f2
/* 184390 80255AB0 46020001 */ sub.s $f0, $f0, $f2
.L80255AB4:
/* 184394 80255AB4 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 184398 80255AB8 86420154 */ lh $v0, 0x154($s2)
/* 18439C 80255ABC C642014C */ lwc1 $f2, 0x14c($s2)
/* 1843A0 80255AC0 44820000 */ mtc1 $v0, $f0
/* 1843A4 80255AC4 00000000 */ nop
/* 1843A8 80255AC8 46800020 */ cvt.s.w $f0, $f0
/* 1843AC 80255ACC 46001080 */ add.s $f2, $f2, $f0
/* 1843B0 80255AD0 E7A20020 */ swc1 $f2, 0x20($sp)
/* 1843B4 80255AD4 825401F3 */ lb $s4, 0x1f3($s2)
/* 1843B8 80255AD8 8E5001F4 */ lw $s0, 0x1f4($s2)
/* 1843BC 80255ADC 1A8000B0 */ blez $s4, .L80255DA0
/* 1843C0 80255AE0 0000982D */ daddu $s3, $zero, $zero
/* 1843C4 80255AE4 3C014028 */ lui $at, 0x4028
/* 1843C8 80255AE8 4481B800 */ mtc1 $at, $f23
/* 1843CC 80255AEC 4480B000 */ mtc1 $zero, $f22
.L80255AF0:
/* 1843D0 80255AF0 8E020000 */ lw $v0, ($s0)
/* 1843D4 80255AF4 30420001 */ andi $v0, $v0, 1
/* 1843D8 80255AF8 144000A4 */ bnez $v0, .L80255D8C
/* 1843DC 80255AFC 00000000 */ nop
/* 1843E0 80255B00 8E020094 */ lw $v0, 0x94($s0)
/* 1843E4 80255B04 104000A1 */ beqz $v0, .L80255D8C
/* 1843E8 80255B08 00000000 */ nop
/* 1843EC 80255B0C 8E040084 */ lw $a0, 0x84($s0)
/* 1843F0 80255B10 04800007 */ bltz $a0, .L80255B30
/* 1843F4 80255B14 00000000 */ nop
/* 1843F8 80255B18 8E050088 */ lw $a1, 0x88($s0)
/* 1843FC 80255B1C 0C0B78AB */ jal func_802DE2AC
/* 184400 80255B20 8E060090 */ lw $a2, 0x90($s0)
/* 184404 80255B24 0C0B7972 */ jal func_802DE5C8
/* 184408 80255B28 8E040084 */ lw $a0, 0x84($s0)
/* 18440C 80255B2C AE02008C */ sw $v0, 0x8c($s0)
.L80255B30:
/* 184410 80255B30 8E020000 */ lw $v0, ($s0)
/* 184414 80255B34 3C030010 */ lui $v1, 0x10
/* 184418 80255B38 00431024 */ and $v0, $v0, $v1
/* 18441C 80255B3C 14400031 */ bnez $v0, .L80255C04
/* 184420 80255B40 00000000 */ nop
/* 184424 80255B44 86020014 */ lh $v0, 0x14($s0)
/* 184428 80255B48 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 18442C 80255B4C 44821000 */ mtc1 $v0, $f2
/* 184430 80255B50 00000000 */ nop
/* 184434 80255B54 468010A0 */ cvt.s.w $f2, $f2
/* 184438 80255B58 8602001A */ lh $v0, 0x1a($s0)
/* 18443C 80255B5C 46020000 */ add.s $f0, $f0, $f2
/* 184440 80255B60 44821000 */ mtc1 $v0, $f2
/* 184444 80255B64 00000000 */ nop
/* 184448 80255B68 468010A0 */ cvt.s.w $f2, $f2
/* 18444C 80255B6C 8E420000 */ lw $v0, ($s2)
/* 184450 80255B70 30420800 */ andi $v0, $v0, 0x800
/* 184454 80255B74 1440000D */ bnez $v0, .L80255BAC
/* 184458 80255B78 46020180 */ add.s $f6, $f0, $f2
/* 18445C 80255B7C 86020016 */ lh $v0, 0x16($s0)
/* 184460 80255B80 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 184464 80255B84 44820000 */ mtc1 $v0, $f0
/* 184468 80255B88 00000000 */ nop
/* 18446C 80255B8C 46800020 */ cvt.s.w $f0, $f0
/* 184470 80255B90 8602001C */ lh $v0, 0x1c($s0)
/* 184474 80255B94 46001080 */ add.s $f2, $f2, $f0
/* 184478 80255B98 44820000 */ mtc1 $v0, $f0
/* 18447C 80255B9C 00000000 */ nop
/* 184480 80255BA0 46800020 */ cvt.s.w $f0, $f0
/* 184484 80255BA4 080956F6 */ j .L80255BD8
/* 184488 80255BA8 46001100 */ add.s $f4, $f2, $f0
.L80255BAC:
/* 18448C 80255BAC 86020016 */ lh $v0, 0x16($s0)
/* 184490 80255BB0 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 184494 80255BB4 44820000 */ mtc1 $v0, $f0
/* 184498 80255BB8 00000000 */ nop
/* 18449C 80255BBC 46800020 */ cvt.s.w $f0, $f0
/* 1844A0 80255BC0 8602001C */ lh $v0, 0x1c($s0)
/* 1844A4 80255BC4 46001081 */ sub.s $f2, $f2, $f0
/* 1844A8 80255BC8 44820000 */ mtc1 $v0, $f0
/* 1844AC 80255BCC 00000000 */ nop
/* 1844B0 80255BD0 46800020 */ cvt.s.w $f0, $f0
/* 1844B4 80255BD4 46001101 */ sub.s $f4, $f2, $f0
.L80255BD8:
/* 1844B8 80255BD8 C640018C */ lwc1 $f0, 0x18c($s2)
/* 1844BC 80255BDC 86020018 */ lh $v0, 0x18($s0)
/* 1844C0 80255BE0 C7A20020 */ lwc1 $f2, 0x20($sp)
/* 1844C4 80255BE4 46000506 */ mov.s $f20, $f0
/* 1844C8 80255BE8 44820000 */ mtc1 $v0, $f0
/* 1844CC 80255BEC 00000000 */ nop
/* 1844D0 80255BF0 46800020 */ cvt.s.w $f0, $f0
/* 1844D4 80255BF4 8602001E */ lh $v0, 0x1e($s0)
/* 1844D8 80255BF8 46001080 */ add.s $f2, $f2, $f0
/* 1844DC 80255BFC 08095710 */ j .L80255C40
/* 1844E0 80255C00 E6140064 */ swc1 $f20, 0x64($s0)
.L80255C04:
/* 1844E4 80255C04 C6140064 */ lwc1 $f20, 0x64($s0)
/* 1844E8 80255C08 8602001A */ lh $v0, 0x1a($s0)
/* 1844EC 80255C0C C602002C */ lwc1 $f2, 0x2c($s0)
/* 1844F0 80255C10 44820000 */ mtc1 $v0, $f0
/* 1844F4 80255C14 00000000 */ nop
/* 1844F8 80255C18 46800020 */ cvt.s.w $f0, $f0
/* 1844FC 80255C1C 46001180 */ add.s $f6, $f2, $f0
/* 184500 80255C20 8602001C */ lh $v0, 0x1c($s0)
/* 184504 80255C24 C6020030 */ lwc1 $f2, 0x30($s0)
/* 184508 80255C28 44820000 */ mtc1 $v0, $f0
/* 18450C 80255C2C 00000000 */ nop
/* 184510 80255C30 46800020 */ cvt.s.w $f0, $f0
/* 184514 80255C34 46001100 */ add.s $f4, $f2, $f0
/* 184518 80255C38 8602001E */ lh $v0, 0x1e($s0)
/* 18451C 80255C3C C6020034 */ lwc1 $f2, 0x34($s0)
.L80255C40:
/* 184520 80255C40 44820000 */ mtc1 $v0, $f0
/* 184524 80255C44 00000000 */ nop
/* 184528 80255C48 46800020 */ cvt.s.w $f0, $f0
/* 18452C 80255C4C 46001080 */ add.s $f2, $f2, $f0
/* 184530 80255C50 8E020000 */ lw $v0, ($s0)
/* 184534 80255C54 E6060058 */ swc1 $f6, 0x58($s0)
/* 184538 80255C58 E604005C */ swc1 $f4, 0x5c($s0)
/* 18453C 80255C5C 30420004 */ andi $v0, $v0, 4
/* 184540 80255C60 14400041 */ bnez $v0, .L80255D68
/* 184544 80255C64 E6020060 */ swc1 $f2, 0x60($s0)
/* 184548 80255C68 8E04009C */ lw $a0, 0x9c($s0)
/* 18454C 80255C6C 0C044181 */ jal get_shadow_by_index
/* 184550 80255C70 00000000 */ nop
/* 184554 80255C74 0040882D */ daddu $s1, $v0, $zero
/* 184558 80255C78 8E220000 */ lw $v0, ($s1)
/* 18455C 80255C7C 2403FFFE */ addiu $v1, $zero, -2
/* 184560 80255C80 00431024 */ and $v0, $v0, $v1
/* 184564 80255C84 AE220000 */ sw $v0, ($s1)
/* 184568 80255C88 8E420000 */ lw $v0, ($s2)
/* 18456C 80255C8C C6000058 */ lwc1 $f0, 0x58($s0)
/* 184570 80255C90 30420800 */ andi $v0, $v0, 0x800
/* 184574 80255C94 14400005 */ bnez $v0, .L80255CAC
/* 184578 80255C98 E7A00018 */ swc1 $f0, 0x18($sp)
/* 18457C 80255C9C C600005C */ lwc1 $f0, 0x5c($s0)
/* 184580 80255CA0 46000021 */ cvt.d.s $f0, $f0
/* 184584 80255CA4 0809572E */ j .L80255CB8
/* 184588 80255CA8 46360000 */ add.d $f0, $f0, $f22
.L80255CAC:
/* 18458C 80255CAC C600005C */ lwc1 $f0, 0x5c($s0)
/* 184590 80255CB0 46000021 */ cvt.d.s $f0, $f0
/* 184594 80255CB4 46360001 */ sub.d $f0, $f0, $f22
.L80255CB8:
/* 184598 80255CB8 46200020 */ cvt.s.d $f0, $f0
/* 18459C 80255CBC E7A0001C */ swc1 $f0, 0x1c($sp)
/* 1845A0 80255CC0 0000202D */ daddu $a0, $zero, $zero
/* 1845A4 80255CC4 27A50018 */ addiu $a1, $sp, 0x18
/* 1845A8 80255CC8 27A6001C */ addiu $a2, $sp, 0x1c
/* 1845AC 80255CCC 27A70020 */ addiu $a3, $sp, 0x20
/* 1845B0 80255CD0 C6000060 */ lwc1 $f0, 0x60($s0)
/* 1845B4 80255CD4 3C0146FF */ lui $at, 0x46ff
/* 1845B8 80255CD8 3421FE00 */ ori $at, $at, 0xfe00
/* 1845BC 80255CDC 44811000 */ mtc1 $at, $f2
/* 1845C0 80255CE0 27A20024 */ addiu $v0, $sp, 0x24
/* 1845C4 80255CE4 E7A00020 */ swc1 $f0, 0x20($sp)
/* 1845C8 80255CE8 E7A20024 */ swc1 $f2, 0x24($sp)
/* 1845CC 80255CEC 0C0372DF */ jal func_800DCB7C
/* 1845D0 80255CF0 AFA20010 */ sw $v0, 0x10($sp)
/* 1845D4 80255CF4 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 1845D8 80255CF8 3C014348 */ lui $at, 0x4348
/* 1845DC 80255CFC 44810000 */ mtc1 $at, $f0
/* 1845E0 80255D00 00000000 */ nop
/* 1845E4 80255D04 4602003C */ c.lt.s $f0, $f2
/* 1845E8 80255D08 00000000 */ nop
/* 1845EC 80255D0C 45000004 */ bc1f .L80255D20
/* 1845F0 80255D10 00000000 */ nop
/* 1845F4 80255D14 8E220000 */ lw $v0, ($s1)
/* 1845F8 80255D18 34420001 */ ori $v0, $v0, 1
/* 1845FC 80255D1C AE220000 */ sw $v0, ($s1)
.L80255D20:
/* 184600 80255D20 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 184604 80255D24 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 184608 80255D28 C7A40020 */ lwc1 $f4, 0x20($sp)
/* 18460C 80255D2C E6200010 */ swc1 $f0, 0x10($s1)
/* 184610 80255D30 E6220014 */ swc1 $f2, 0x14($s1)
/* 184614 80255D34 E6240018 */ swc1 $f4, 0x18($s1)
/* 184618 80255D38 C6AC006C */ lwc1 $f12, 0x6c($s5)
/* 18461C 80255D3C 0C00A6C9 */ jal clamp_angle
/* 184620 80255D40 460CA301 */ sub.s $f12, $f20, $f12
/* 184624 80255D44 8FA50024 */ lw $a1, 0x24($sp)
/* 184628 80255D48 0220202D */ daddu $a0, $s1, $zero
/* 18462C 80255D4C 0C044A17 */ jal set_standard_shadow_scale
/* 184630 80255D50 E620002C */ swc1 $f0, 0x2c($s1)
/* 184634 80255D54 C620001C */ lwc1 $f0, 0x1c($s1)
/* 184638 80255D58 C60200A0 */ lwc1 $f2, 0xa0($s0)
/* 18463C 80255D5C 46020002 */ mul.s $f0, $f0, $f2
/* 184640 80255D60 00000000 */ nop
/* 184644 80255D64 E620001C */ swc1 $f0, 0x1c($s1)
.L80255D68:
/* 184648 80255D68 86020098 */ lh $v0, 0x98($s0)
/* 18464C 80255D6C 284200FF */ slti $v0, $v0, 0xff
/* 184650 80255D70 14400005 */ bnez $v0, .L80255D88
/* 184654 80255D74 24020022 */ addiu $v0, $zero, 0x22
/* 184658 80255D78 8E020000 */ lw $v0, ($s0)
/* 18465C 80255D7C 30420100 */ andi $v0, $v0, 0x100
/* 184660 80255D80 10400002 */ beqz $v0, .L80255D8C
/* 184664 80255D84 24020022 */ addiu $v0, $zero, 0x22
.L80255D88:
/* 184668 80255D88 A6420434 */ sh $v0, 0x434($s2)
.L80255D8C:
/* 18466C 80255D8C 8E10000C */ lw $s0, 0xc($s0)
/* 184670 80255D90 26730001 */ addiu $s3, $s3, 1
/* 184674 80255D94 0274102A */ slt $v0, $s3, $s4
/* 184678 80255D98 1440FF55 */ bnez $v0, .L80255AF0
/* 18467C 80255D9C 00000000 */ nop
.L80255DA0:
/* 184680 80255DA0 0C044181 */ jal get_shadow_by_index
/* 184684 80255DA4 8E44042C */ lw $a0, 0x42c($s2)
/* 184688 80255DA8 8E430000 */ lw $v1, ($s2)
/* 18468C 80255DAC 30630004 */ andi $v1, $v1, 4
/* 184690 80255DB0 14600005 */ bnez $v1, .L80255DC8
/* 184694 80255DB4 0040882D */ daddu $s1, $v0, $zero
/* 184698 80255DB8 8E220000 */ lw $v0, ($s1)
/* 18469C 80255DBC 2403FFFE */ addiu $v1, $zero, -2
/* 1846A0 80255DC0 00431024 */ and $v0, $v0, $v1
/* 1846A4 80255DC4 AE220000 */ sw $v0, ($s1)
.L80255DC8:
/* 1846A8 80255DC8 86420150 */ lh $v0, 0x150($s2)
/* 1846AC 80255DCC C6400144 */ lwc1 $f0, 0x144($s2)
/* 1846B0 80255DD0 44821000 */ mtc1 $v0, $f2
/* 1846B4 80255DD4 00000000 */ nop
/* 1846B8 80255DD8 468010A0 */ cvt.s.w $f2, $f2
/* 1846BC 80255DDC 46020000 */ add.s $f0, $f0, $f2
/* 1846C0 80255DE0 8E420000 */ lw $v0, ($s2)
/* 1846C4 80255DE4 30420800 */ andi $v0, $v0, 0x800
/* 1846C8 80255DE8 14400008 */ bnez $v0, .L80255E0C
/* 1846CC 80255DEC E7A00018 */ swc1 $f0, 0x18($sp)
/* 1846D0 80255DF0 86420152 */ lh $v0, 0x152($s2)
/* 1846D4 80255DF4 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1846D8 80255DF8 44821000 */ mtc1 $v0, $f2
/* 1846DC 80255DFC 00000000 */ nop
/* 1846E0 80255E00 468010A0 */ cvt.s.w $f2, $f2
/* 1846E4 80255E04 08095789 */ j .L80255E24
/* 1846E8 80255E08 46020000 */ add.s $f0, $f0, $f2
.L80255E0C:
/* 1846EC 80255E0C 86420152 */ lh $v0, 0x152($s2)
/* 1846F0 80255E10 C6400148 */ lwc1 $f0, 0x148($s2)
/* 1846F4 80255E14 44821000 */ mtc1 $v0, $f2
/* 1846F8 80255E18 00000000 */ nop
/* 1846FC 80255E1C 468010A0 */ cvt.s.w $f2, $f2
/* 184700 80255E20 46020001 */ sub.s $f0, $f0, $f2
.L80255E24:
/* 184704 80255E24 3C014028 */ lui $at, 0x4028
/* 184708 80255E28 44811800 */ mtc1 $at, $f3
/* 18470C 80255E2C 44801000 */ mtc1 $zero, $f2
/* 184710 80255E30 46000021 */ cvt.d.s $f0, $f0
/* 184714 80255E34 46220000 */ add.d $f0, $f0, $f2
/* 184718 80255E38 46200020 */ cvt.s.d $f0, $f0
/* 18471C 80255E3C E7A0001C */ swc1 $f0, 0x1c($sp)
/* 184720 80255E40 0000202D */ daddu $a0, $zero, $zero
/* 184724 80255E44 27A50018 */ addiu $a1, $sp, 0x18
/* 184728 80255E48 27A6001C */ addiu $a2, $sp, 0x1c
/* 18472C 80255E4C 27A70020 */ addiu $a3, $sp, 0x20
/* 184730 80255E50 86420154 */ lh $v0, 0x154($s2)
/* 184734 80255E54 C642014C */ lwc1 $f2, 0x14c($s2)
/* 184738 80255E58 44820000 */ mtc1 $v0, $f0
/* 18473C 80255E5C 00000000 */ nop
/* 184740 80255E60 46800020 */ cvt.s.w $f0, $f0
/* 184744 80255E64 46001080 */ add.s $f2, $f2, $f0
/* 184748 80255E68 3C0146FF */ lui $at, 0x46ff
/* 18474C 80255E6C 3421FE00 */ ori $at, $at, 0xfe00
/* 184750 80255E70 44810000 */ mtc1 $at, $f0
/* 184754 80255E74 27A20024 */ addiu $v0, $sp, 0x24
/* 184758 80255E78 E7A00024 */ swc1 $f0, 0x24($sp)
/* 18475C 80255E7C E7A20020 */ swc1 $f2, 0x20($sp)
/* 184760 80255E80 0C0372DF */ jal func_800DCB7C
/* 184764 80255E84 AFA20010 */ sw $v0, 0x10($sp)
/* 184768 80255E88 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 18476C 80255E8C 3C014348 */ lui $at, 0x4348
/* 184770 80255E90 44810000 */ mtc1 $at, $f0
/* 184774 80255E94 00000000 */ nop
/* 184778 80255E98 4602003C */ c.lt.s $f0, $f2
/* 18477C 80255E9C 00000000 */ nop
/* 184780 80255EA0 45000004 */ bc1f .L80255EB4
/* 184784 80255EA4 00000000 */ nop
/* 184788 80255EA8 8E220000 */ lw $v0, ($s1)
/* 18478C 80255EAC 34420001 */ ori $v0, $v0, 1
/* 184790 80255EB0 AE220000 */ sw $v0, ($s1)
.L80255EB4:
/* 184794 80255EB4 C7A00018 */ lwc1 $f0, 0x18($sp)
/* 184798 80255EB8 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* 18479C 80255EBC E6200010 */ swc1 $f0, 0x10($s1)
/* 1847A0 80255EC0 E6220014 */ swc1 $f2, 0x14($s1)
/* 1847A4 80255EC4 92420136 */ lbu $v0, 0x136($s2)
/* 1847A8 80255EC8 00021080 */ sll $v0, $v0, 2
/* 1847AC 80255ECC 3C018028 */ lui $at, 0x8028
/* 1847B0 80255ED0 00220821 */ addu $at, $at, $v0
/* 1847B4 80255ED4 80222EEB */ lb $v0, 0x2eeb($at)
/* 1847B8 80255ED8 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 1847BC 80255EDC 44821000 */ mtc1 $v0, $f2
/* 1847C0 80255EE0 00000000 */ nop
/* 1847C4 80255EE4 468010A0 */ cvt.s.w $f2, $f2
/* 1847C8 80255EE8 46020000 */ add.s $f0, $f0, $f2
/* 1847CC 80255EEC E6200018 */ swc1 $f0, 0x18($s1)
/* 1847D0 80255EF0 C640018C */ lwc1 $f0, 0x18c($s2)
/* 1847D4 80255EF4 C6AC006C */ lwc1 $f12, 0x6c($s5)
/* 1847D8 80255EF8 0C00A6C9 */ jal clamp_angle
/* 1847DC 80255EFC 460C0301 */ sub.s $f12, $f0, $f12
/* 1847E0 80255F00 8FA50024 */ lw $a1, 0x24($sp)
/* 1847E4 80255F04 0220202D */ daddu $a0, $s1, $zero
/* 1847E8 80255F08 0C044A17 */ jal set_standard_shadow_scale
/* 1847EC 80255F0C E620002C */ swc1 $f0, 0x2c($s1)
/* 1847F0 80255F10 C6420430 */ lwc1 $f2, 0x430($s2)
/* 1847F4 80255F14 C6400188 */ lwc1 $f0, 0x188($s2)
/* 1847F8 80255F18 46001082 */ mul.s $f2, $f2, $f0
/* 1847FC 80255F1C 00000000 */ nop
/* 184800 80255F20 C620001C */ lwc1 $f0, 0x1c($s1)
/* 184804 80255F24 46020002 */ mul.s $f0, $f0, $f2
/* 184808 80255F28 00000000 */ nop
/* 18480C 80255F2C E620001C */ swc1 $f0, 0x1c($s1)
.L80255F30:
/* 184810 80255F30 8FBF0040 */ lw $ra, 0x40($sp)
/* 184814 80255F34 8FB5003C */ lw $s5, 0x3c($sp)
/* 184818 80255F38 8FB40038 */ lw $s4, 0x38($sp)
/* 18481C 80255F3C 8FB30034 */ lw $s3, 0x34($sp)
/* 184820 80255F40 8FB20030 */ lw $s2, 0x30($sp)
/* 184824 80255F44 8FB1002C */ lw $s1, 0x2c($sp)
/* 184828 80255F48 8FB00028 */ lw $s0, 0x28($sp)
/* 18482C 80255F4C D7B60050 */ ldc1 $f22, 0x50($sp)
/* 184830 80255F50 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 184834 80255F54 03E00008 */ jr $ra
/* 184838 80255F58 27BD0058 */ addiu $sp, $sp, 0x58