.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_8003E0D4 /* 194D4 8003E0D4 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 194D8 8003E0D8 AFB00010 */ sw $s0, 0x10($sp) /* 194DC 8003E0DC 0080802D */ daddu $s0, $a0, $zero /* 194E0 8003E0E0 3C048007 */ lui $a0, 0x8007 /* 194E4 8003E0E4 24847C38 */ addiu $a0, $a0, 0x7c38 /* 194E8 8003E0E8 AFBF0014 */ sw $ra, 0x14($sp) /* 194EC 8003E0EC F7B40018 */ sdc1 $f20, 0x18($sp) /* 194F0 8003E0F0 94820000 */ lhu $v0, ($a0) /* 194F4 8003E0F4 24430001 */ addiu $v1, $v0, 1 /* 194F8 8003E0F8 00021400 */ sll $v0, $v0, 0x10 /* 194FC 8003E0FC 00021403 */ sra $v0, $v0, 0x10 /* 19500 8003E100 28420004 */ slti $v0, $v0, 4 /* 19504 8003E104 1440002D */ bnez $v0, .L8003E1BC /* 19508 8003E108 A4830000 */ sh $v1, ($a0) /* 1950C 8003E10C C60C000C */ lwc1 $f12, 0xc($s0) /* 19510 8003E110 A4800000 */ sh $zero, ($a0) /* 19514 8003E114 0C00A6C9 */ jal clamp_angle /* 19518 8003E118 46006307 */ neg.s $f12, $f12 /* 1951C 8003E11C 3C0140C9 */ lui $at, 0x40c9 /* 19520 8003E120 34210FD0 */ ori $at, $at, 0xfd0 /* 19524 8003E124 44811000 */ mtc1 $at, $f2 /* 19528 8003E128 00000000 */ nop /* 1952C 8003E12C 46020502 */ mul.s $f20, $f0, $f2 /* 19530 8003E130 00000000 */ nop /* 19534 8003E134 3C0143B4 */ lui $at, 0x43b4 /* 19538 8003E138 44810000 */ mtc1 $at, $f0 /* 1953C 8003E13C 00000000 */ nop /* 19540 8003E140 4600A503 */ div.s $f20, $f20, $f0 /* 19544 8003E144 0C00A85B */ jal sin_rad /* 19548 8003E148 4600A306 */ mov.s $f12, $f20 /* 1954C 8003E14C 4600A306 */ mov.s $f12, $f20 /* 19550 8003E150 0C00A874 */ jal cos_rad /* 19554 8003E154 46000506 */ mov.s $f20, $f0 /* 19558 8003E158 860200A6 */ lh $v0, 0xa6($s0) /* 1955C 8003E15C 44821000 */ mtc1 $v0, $f2 /* 19560 8003E160 00000000 */ nop /* 19564 8003E164 468010A0 */ cvt.s.w $f2, $f2 /* 19568 8003E168 46141502 */ mul.s $f20, $f2, $f20 /* 1956C 8003E16C 00000000 */ nop /* 19570 8003E170 46001082 */ mul.s $f2, $f2, $f0 /* 19574 8003E174 00000000 */ nop /* 19578 8003E178 3C013E4C */ lui $at, 0x3e4c /* 1957C 8003E17C 3421CCCD */ ori $at, $at, 0xcccd /* 19580 8003E180 44810000 */ mtc1 $at, $f0 /* 19584 8003E184 00000000 */ nop /* 19588 8003E188 4600A502 */ mul.s $f20, $f20, $f0 /* 1958C 8003E18C 00000000 */ nop /* 19590 8003E190 46001082 */ mul.s $f2, $f2, $f0 /* 19594 8003E194 00000000 */ nop /* 19598 8003E198 C6000038 */ lwc1 $f0, 0x38($s0) /* 1959C 8003E19C 46140000 */ add.s $f0, $f0, $f20 /* 195A0 8003E1A0 44050000 */ mfc1 $a1, $f0 /* 195A4 8003E1A4 C6000040 */ lwc1 $f0, 0x40($s0) /* 195A8 8003E1A8 46020000 */ add.s $f0, $f0, $f2 /* 195AC 8003E1AC 3C064220 */ lui $a2, 0x4220 /* 195B0 8003E1B0 44070000 */ mfc1 $a3, $f0 /* 195B4 8003E1B4 0C01C244 */ jal func_80070910 /* 195B8 8003E1B8 24040001 */ addiu $a0, $zero, 1 .L8003E1BC: /* 195BC 8003E1BC 8FBF0014 */ lw $ra, 0x14($sp) /* 195C0 8003E1C0 8FB00010 */ lw $s0, 0x10($sp) /* 195C4 8003E1C4 D7B40018 */ ldc1 $f20, 0x18($sp) /* 195C8 8003E1C8 03E00008 */ jr $ra /* 195CC 8003E1CC 27BD0020 */ addiu $sp, $sp, 0x20