papermario/ver/us/asm/nonmatchings/B0E0/update_camera_zone_interp.s
Lightning 1c64f15db1
Make a 224 functions show up in the elf (#530)
* Make a 224 functions show up in the elf

* fix up appendGfx_model (as an example)

* Changed all L labels to .L for local jump tables. Did not change global jump tables found in /data/ as .L is for local only

* Decompile even more misc battle map funcs (#531)

* decompile misc battle map funcs

* fix warnings

* Decompile misc battle map funcs (#528)

* .

* .

* resolve issues

* Update fx_api.c

* Update fx_api.c

* Make a 224 functions show up in the elf

* fix up appendGfx_model (as an example)

* Changed all L labels to .L for local jump tables. Did not change global jump tables found in /data/ as .L is for local only

* Fix merge issue

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
Co-authored-by: Alexander Faßbender <31699028+Brotenko@users.noreply.github.com>
2021-11-16 16:19:38 +09:00

940 lines
44 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80098250
.double 1.01
dlabel D_80098258
.double 0.3
dlabel D_80098260
.double 0.2
dlabel D_80098268
.double 3.141592
dlabel D_80098270
.double 0.5001
dlabel D_80098278
.double 0.01
.section .text
glabel update_camera_zone_interp
/* C894 80031494 27BDFF80 */ addiu $sp, $sp, -0x80
/* C898 80031498 AFB10044 */ sw $s1, 0x44($sp)
/* C89C 8003149C 0080882D */ daddu $s1, $a0, $zero
/* C8A0 800314A0 AFBF004C */ sw $ra, 0x4c($sp)
/* C8A4 800314A4 AFB20048 */ sw $s2, 0x48($sp)
/* C8A8 800314A8 AFB00040 */ sw $s0, 0x40($sp)
/* C8AC 800314AC F7BE0078 */ sdc1 $f30, 0x78($sp)
/* C8B0 800314B0 F7BC0070 */ sdc1 $f28, 0x70($sp)
/* C8B4 800314B4 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* C8B8 800314B8 F7B80060 */ sdc1 $f24, 0x60($sp)
/* C8BC 800314BC F7B60058 */ sdc1 $f22, 0x58($sp)
/* C8C0 800314C0 F7B40050 */ sdc1 $f20, 0x50($sp)
/* C8C4 800314C4 C6300060 */ lwc1 $f16, 0x60($s1)
/* C8C8 800314C8 E7B00038 */ swc1 $f16, 0x38($sp)
/* C8CC 800314CC C63E0064 */ lwc1 $f30, 0x64($s1)
/* C8D0 800314D0 86220008 */ lh $v0, 8($s1)
/* C8D4 800314D4 C6300068 */ lwc1 $f16, 0x68($s1)
/* C8D8 800314D8 0000802D */ daddu $s0, $zero, $zero
/* C8DC 800314DC 10400017 */ beqz $v0, .L8003153C
/* C8E0 800314E0 E7B0003C */ swc1 $f16, 0x3c($sp)
/* C8E4 800314E4 3C013F80 */ lui $at, 0x3f80
/* C8E8 800314E8 44810000 */ mtc1 $at, $f0
/* C8EC 800314EC AE200448 */ sw $zero, 0x448($s1)
/* C8F0 800314F0 AE200444 */ sw $zero, 0x444($s1)
/* C8F4 800314F4 AE200488 */ sw $zero, 0x488($s1)
/* C8F8 800314F8 AE200494 */ sw $zero, 0x494($s1)
/* C8FC 800314FC E63E04A0 */ swc1 $f30, 0x4a0($s1)
/* C900 80031500 AE200098 */ sw $zero, 0x98($s1)
/* C904 80031504 AE20009C */ sw $zero, 0x9c($s1)
/* C908 80031508 AE2004A4 */ sw $zero, 0x4a4($s1)
/* C90C 8003150C AE2004A8 */ sw $zero, 0x4a8($s1)
/* C910 80031510 AE2004AC */ sw $zero, 0x4ac($s1)
/* C914 80031514 A62004D4 */ sh $zero, 0x4d4($s1)
/* C918 80031518 A62004D6 */ sh $zero, 0x4d6($s1)
/* C91C 8003151C AE200508 */ sw $zero, 0x508($s1)
/* C920 80031520 3C01800A */ lui $at, %hi(D_800A08DC)
/* C924 80031524 AC2008DC */ sw $zero, %lo(D_800A08DC)($at)
/* C928 80031528 3C01800A */ lui $at, %hi(D_800A08E0)
/* C92C 8003152C AC2008E0 */ sw $zero, %lo(D_800A08E0)($at)
/* C930 80031530 E6200484 */ swc1 $f0, 0x484($s1)
/* C934 80031534 E6200498 */ swc1 $f0, 0x498($s1)
/* C938 80031538 E620048C */ swc1 $f0, 0x48c($s1)
.L8003153C:
/* C93C 8003153C 96220002 */ lhu $v0, 2($s1)
/* C940 80031540 C7B60038 */ lwc1 $f22, 0x38($sp)
/* C944 80031544 30420001 */ andi $v0, $v0, 1
/* C948 80031548 54400008 */ bnel $v0, $zero, .L8003156C
/* C94C 8003154C AE200498 */ sw $zero, 0x498($s1)
/* C950 80031550 C6200494 */ lwc1 $f0, 0x494($s1)
/* C954 80031554 461E0032 */ c.eq.s $f0, $f30
/* C958 80031558 00000000 */ nop
/* C95C 8003155C 45010004 */ bc1t .L80031570
/* C960 80031560 00000000 */ nop
/* C964 80031564 E63E0494 */ swc1 $f30, 0x494($s1)
/* C968 80031568 AE200498 */ sw $zero, 0x498($s1)
.L8003156C:
/* C96C 8003156C C6200494 */ lwc1 $f0, 0x494($s1)
.L80031570:
/* C970 80031570 4600F03C */ c.lt.s $f30, $f0
/* C974 80031574 00000000 */ nop
/* C978 80031578 4500000A */ bc1f .L800315A4
/* C97C 8003157C 00000000 */ nop
/* C980 80031580 C62004A0 */ lwc1 $f0, 0x4a0($s1)
/* C984 80031584 4600F03E */ c.le.s $f30, $f0
/* C988 80031588 00000000 */ nop
/* C98C 8003158C 45000005 */ bc1f .L800315A4
/* C990 80031590 00000000 */ nop
/* C994 80031594 3C013F80 */ lui $at, 0x3f80
/* C998 80031598 44810000 */ mtc1 $at, $f0
/* C99C 8003159C E63E0494 */ swc1 $f30, 0x494($s1)
/* C9A0 800315A0 E6200498 */ swc1 $f0, 0x498($s1)
.L800315A4:
/* C9A4 800315A4 C6220498 */ lwc1 $f2, 0x498($s1)
/* C9A8 800315A8 3C01800A */ lui $at, %hi(D_80098250)
/* C9AC 800315AC D4248250 */ ldc1 $f4, %lo(D_80098250)($at)
/* C9B0 800315B0 C620049C */ lwc1 $f0, 0x49c($s1)
/* C9B4 800315B4 460010A1 */ cvt.d.s $f2, $f2
/* C9B8 800315B8 46222101 */ sub.d $f4, $f4, $f2
/* C9BC 800315BC 46000021 */ cvt.d.s $f0, $f0
/* C9C0 800315C0 46202103 */ div.d $f4, $f4, $f0
/* C9C4 800315C4 46241080 */ add.d $f2, $f2, $f4
/* C9C8 800315C8 3C013FF0 */ lui $at, 0x3ff0
/* C9CC 800315CC 44812800 */ mtc1 $at, $f5
/* C9D0 800315D0 44802000 */ mtc1 $zero, $f4
/* C9D4 800315D4 462010A0 */ cvt.s.d $f2, $f2
/* C9D8 800315D8 46001021 */ cvt.d.s $f0, $f2
/* C9DC 800315DC 4620203C */ c.lt.d $f4, $f0
/* C9E0 800315E0 00000000 */ nop
/* C9E4 800315E4 45000005 */ bc1f .L800315FC
/* C9E8 800315E8 E6220498 */ swc1 $f2, 0x498($s1)
/* C9EC 800315EC 3C013F80 */ lui $at, 0x3f80
/* C9F0 800315F0 44810000 */ mtc1 $at, $f0
/* C9F4 800315F4 00000000 */ nop
/* C9F8 800315F8 E6200498 */ swc1 $f0, 0x498($s1)
.L800315FC:
/* C9FC 800315FC 96220002 */ lhu $v0, 2($s1)
/* CA00 80031600 30420004 */ andi $v0, $v0, 4
/* CA04 80031604 10400010 */ beqz $v0, .L80031648
/* CA08 80031608 00000000 */ nop
/* CA0C 8003160C C6200498 */ lwc1 $f0, 0x498($s1)
/* CA10 80031610 3C01800A */ lui $at, %hi(D_80098258)
/* CA14 80031614 D4228258 */ ldc1 $f2, %lo(D_80098258)($at)
/* CA18 80031618 46000021 */ cvt.d.s $f0, $f0
/* CA1C 8003161C 46220000 */ add.d $f0, $f0, $f2
/* CA20 80031620 46200020 */ cvt.s.d $f0, $f0
/* CA24 80031624 460000A1 */ cvt.d.s $f2, $f0
/* CA28 80031628 4622203E */ c.le.d $f4, $f2
/* CA2C 8003162C 00000000 */ nop
/* CA30 80031630 45000005 */ bc1f .L80031648
/* CA34 80031634 E6200498 */ swc1 $f0, 0x498($s1)
/* CA38 80031638 3C013F80 */ lui $at, 0x3f80
/* CA3C 8003163C 44810000 */ mtc1 $at, $f0
/* CA40 80031640 00000000 */ nop
/* CA44 80031644 E6200498 */ swc1 $f0, 0x498($s1)
.L80031648:
/* CA48 80031648 96220002 */ lhu $v0, 2($s1)
/* CA4C 8003164C 30420002 */ andi $v0, $v0, 2
/* CA50 80031650 14400009 */ bnez $v0, .L80031678
/* CA54 80031654 00000000 */ nop
/* CA58 80031658 C6200494 */ lwc1 $f0, 0x494($s1)
/* CA5C 8003165C C62204A0 */ lwc1 $f2, 0x4a0($s1)
/* CA60 80031660 46020001 */ sub.s $f0, $f0, $f2
/* CA64 80031664 C6240498 */ lwc1 $f4, 0x498($s1)
/* CA68 80031668 46040002 */ mul.s $f0, $f0, $f4
/* CA6C 8003166C 00000000 */ nop
/* CA70 80031670 46001080 */ add.s $f2, $f2, $f0
/* CA74 80031674 E62204A0 */ swc1 $f2, 0x4a0($s1)
.L80031678:
/* CA78 80031678 96220506 */ lhu $v0, 0x506($s1)
/* CA7C 8003167C 14400014 */ bnez $v0, .L800316D0
/* CA80 80031680 C7B4003C */ lwc1 $f20, 0x3c($sp)
/* CA84 80031684 C62004A4 */ lwc1 $f0, 0x4a4($s1)
/* CA88 80031688 C7B00038 */ lwc1 $f16, 0x38($sp)
/* CA8C 8003168C 46100032 */ c.eq.s $f0, $f16
/* CA90 80031690 00000000 */ nop
/* CA94 80031694 4500000E */ bc1f .L800316D0
/* CA98 80031698 00000000 */ nop
/* CA9C 8003169C C62004A8 */ lwc1 $f0, 0x4a8($s1)
/* CAA0 800316A0 461E0032 */ c.eq.s $f0, $f30
/* CAA4 800316A4 00000000 */ nop
/* CAA8 800316A8 45000009 */ bc1f .L800316D0
/* CAAC 800316AC 00000000 */ nop
/* CAB0 800316B0 C62004AC */ lwc1 $f0, 0x4ac($s1)
/* CAB4 800316B4 46140032 */ c.eq.s $f0, $f20
/* CAB8 800316B8 00000000 */ nop
/* CABC 800316BC 45000004 */ bc1f .L800316D0
/* CAC0 800316C0 00000000 */ nop
/* CAC4 800316C4 86220008 */ lh $v0, 8($s1)
/* CAC8 800316C8 104000C6 */ beqz $v0, .L800319E4
/* CACC 800316CC 00000000 */ nop
.L800316D0:
/* CAD0 800316D0 96220504 */ lhu $v0, 0x504($s1)
/* CAD4 800316D4 14400008 */ bnez $v0, .L800316F8
/* CAD8 800316D8 262404D8 */ addiu $a0, $s1, 0x4d8
/* CADC 800316DC 3C014120 */ lui $at, 0x4120
/* CAE0 800316E0 44817000 */ mtc1 $at, $f14
/* CAE4 800316E4 8FA6003C */ lw $a2, 0x3c($sp)
/* CAE8 800316E8 C7AC0038 */ lwc1 $f12, 0x38($sp)
/* CAEC 800316EC 0C00C116 */ jal test_ray_zone_aabb
/* CAF0 800316F0 460EF380 */ add.s $f14, $f30, $f14
/* CAF4 800316F4 0040202D */ daddu $a0, $v0, $zero
.L800316F8:
/* CAF8 800316F8 0000402D */ daddu $t0, $zero, $zero
/* CAFC 800316FC 8E230448 */ lw $v1, 0x448($s1)
/* CB00 80031700 1080007E */ beqz $a0, .L800318FC
/* CB04 80031704 0080382D */ daddu $a3, $a0, $zero
/* CB08 80031708 1060007C */ beqz $v1, .L800318FC
/* CB0C 8003170C 00000000 */ nop
/* CB10 80031710 8C850000 */ lw $a1, ($a0)
/* CB14 80031714 8C620000 */ lw $v0, ($v1)
/* CB18 80031718 14A20078 */ bne $a1, $v0, .L800318FC
/* CB1C 8003171C 00000000 */ nop
/* CB20 80031720 8C860028 */ lw $a2, 0x28($a0)
/* CB24 80031724 8C620028 */ lw $v0, 0x28($v1)
/* CB28 80031728 14C20074 */ bne $a2, $v0, .L800318FC
/* CB2C 8003172C 00000000 */ nop
/* CB30 80031730 C4820004 */ lwc1 $f2, 4($a0)
/* CB34 80031734 C4600004 */ lwc1 $f0, 4($v1)
/* CB38 80031738 46001032 */ c.eq.s $f2, $f0
/* CB3C 8003173C 00000000 */ nop
/* CB40 80031740 4500006E */ bc1f .L800318FC
/* CB44 80031744 00000000 */ nop
/* CB48 80031748 C4820008 */ lwc1 $f2, 8($a0)
/* CB4C 8003174C C4600008 */ lwc1 $f0, 8($v1)
/* CB50 80031750 46001032 */ c.eq.s $f2, $f0
/* CB54 80031754 00000000 */ nop
/* CB58 80031758 45000068 */ bc1f .L800318FC
/* CB5C 8003175C 00000000 */ nop
/* CB60 80031760 C4820024 */ lwc1 $f2, 0x24($a0)
/* CB64 80031764 C4600024 */ lwc1 $f0, 0x24($v1)
/* CB68 80031768 46001032 */ c.eq.s $f2, $f0
/* CB6C 8003176C 00000000 */ nop
/* CB70 80031770 45000062 */ bc1f .L800318FC
/* CB74 80031774 00000000 */ nop
/* CB78 80031778 10A00005 */ beqz $a1, .L80031790
/* CB7C 8003177C 24020001 */ addiu $v0, $zero, 1
/* CB80 80031780 10A20017 */ beq $a1, $v0, .L800317E0
/* CB84 80031784 00000000 */ nop
/* CB88 80031788 0800C61B */ j .L8003186C
/* CB8C 8003178C 00000000 */ nop
.L80031790:
/* CB90 80031790 C482000C */ lwc1 $f2, 0xc($a0)
/* CB94 80031794 C460000C */ lwc1 $f0, 0xc($v1)
/* CB98 80031798 46001032 */ c.eq.s $f2, $f0
/* CB9C 8003179C 00000000 */ nop
/* CBA0 800317A0 45000056 */ bc1f .L800318FC
/* CBA4 800317A4 00000000 */ nop
/* CBA8 800317A8 C4820014 */ lwc1 $f2, 0x14($a0)
/* CBAC 800317AC C4600014 */ lwc1 $f0, 0x14($v1)
/* CBB0 800317B0 46001032 */ c.eq.s $f2, $f0
/* CBB4 800317B4 00000000 */ nop
/* CBB8 800317B8 45000050 */ bc1f .L800318FC
/* CBBC 800317BC 00000000 */ nop
/* CBC0 800317C0 C4820018 */ lwc1 $f2, 0x18($a0)
/* CBC4 800317C4 C4600018 */ lwc1 $f0, 0x18($v1)
/* CBC8 800317C8 46001032 */ c.eq.s $f2, $f0
/* CBCC 800317CC 00000000 */ nop
/* CBD0 800317D0 4500004A */ bc1f .L800318FC
/* CBD4 800317D4 00000000 */ nop
/* CBD8 800317D8 0800C63A */ j .L800318E8
/* CBDC 800317DC C4820020 */ lwc1 $f2, 0x20($a0)
.L800317E0:
/* CBE0 800317E0 10C00005 */ beqz $a2, .L800317F8
/* CBE4 800317E4 00000000 */ nop
/* CBE8 800317E8 10C5000C */ beq $a2, $a1, .L8003181C
/* CBEC 800317EC 00000000 */ nop
/* CBF0 800317F0 0800C63F */ j .L800318FC
/* CBF4 800317F4 00000000 */ nop
.L800317F8:
/* CBF8 800317F8 C482000C */ lwc1 $f2, 0xc($a0)
/* CBFC 800317FC C460000C */ lwc1 $f0, 0xc($v1)
/* CC00 80031800 46001032 */ c.eq.s $f2, $f0
/* CC04 80031804 00000000 */ nop
/* CC08 80031808 4500003C */ bc1f .L800318FC
/* CC0C 8003180C 00000000 */ nop
/* CC10 80031810 C4820014 */ lwc1 $f2, 0x14($a0)
/* CC14 80031814 0800C63B */ j .L800318EC
/* CC18 80031818 C4600014 */ lwc1 $f0, 0x14($v1)
.L8003181C:
/* CC1C 8003181C C482000C */ lwc1 $f2, 0xc($a0)
/* CC20 80031820 C460000C */ lwc1 $f0, 0xc($v1)
/* CC24 80031824 46001032 */ c.eq.s $f2, $f0
/* CC28 80031828 00000000 */ nop
/* CC2C 8003182C 45000033 */ bc1f .L800318FC
/* CC30 80031830 00000000 */ nop
/* CC34 80031834 C4820014 */ lwc1 $f2, 0x14($a0)
/* CC38 80031838 C4600014 */ lwc1 $f0, 0x14($v1)
/* CC3C 8003183C 46001032 */ c.eq.s $f2, $f0
/* CC40 80031840 00000000 */ nop
/* CC44 80031844 4500002D */ bc1f .L800318FC
/* CC48 80031848 00000000 */ nop
/* CC4C 8003184C C4820018 */ lwc1 $f2, 0x18($a0)
/* CC50 80031850 C4600018 */ lwc1 $f0, 0x18($v1)
/* CC54 80031854 46001032 */ c.eq.s $f2, $f0
/* CC58 80031858 00000000 */ nop
/* CC5C 8003185C 45000027 */ bc1f .L800318FC
/* CC60 80031860 00000000 */ nop
/* CC64 80031864 0800C63A */ j .L800318E8
/* CC68 80031868 C4820020 */ lwc1 $f2, 0x20($a0)
.L8003186C:
/* CC6C 8003186C C4E2000C */ lwc1 $f2, 0xc($a3)
/* CC70 80031870 C460000C */ lwc1 $f0, 0xc($v1)
/* CC74 80031874 46001032 */ c.eq.s $f2, $f0
/* CC78 80031878 00000000 */ nop
/* CC7C 8003187C 4500001F */ bc1f .L800318FC
/* CC80 80031880 00000000 */ nop
/* CC84 80031884 C4E20014 */ lwc1 $f2, 0x14($a3)
/* CC88 80031888 C4600014 */ lwc1 $f0, 0x14($v1)
/* CC8C 8003188C 46001032 */ c.eq.s $f2, $f0
/* CC90 80031890 00000000 */ nop
/* CC94 80031894 45000019 */ bc1f .L800318FC
/* CC98 80031898 00000000 */ nop
/* CC9C 8003189C C4E20010 */ lwc1 $f2, 0x10($a3)
/* CCA0 800318A0 C4600010 */ lwc1 $f0, 0x10($v1)
/* CCA4 800318A4 46001032 */ c.eq.s $f2, $f0
/* CCA8 800318A8 00000000 */ nop
/* CCAC 800318AC 45000013 */ bc1f .L800318FC
/* CCB0 800318B0 00000000 */ nop
/* CCB4 800318B4 C4E2001C */ lwc1 $f2, 0x1c($a3)
/* CCB8 800318B8 C460001C */ lwc1 $f0, 0x1c($v1)
/* CCBC 800318BC 46001032 */ c.eq.s $f2, $f0
/* CCC0 800318C0 00000000 */ nop
/* CCC4 800318C4 4500000D */ bc1f .L800318FC
/* CCC8 800318C8 00000000 */ nop
/* CCCC 800318CC C4E20018 */ lwc1 $f2, 0x18($a3)
/* CCD0 800318D0 C4600018 */ lwc1 $f0, 0x18($v1)
/* CCD4 800318D4 46001032 */ c.eq.s $f2, $f0
/* CCD8 800318D8 00000000 */ nop
/* CCDC 800318DC 45000007 */ bc1f .L800318FC
/* CCE0 800318E0 00000000 */ nop
/* CCE4 800318E4 C4E20020 */ lwc1 $f2, 0x20($a3)
.L800318E8:
/* CCE8 800318E8 C4600020 */ lwc1 $f0, 0x20($v1)
.L800318EC:
/* CCEC 800318EC 46001032 */ c.eq.s $f2, $f0
/* CCF0 800318F0 00000000 */ nop
/* CCF4 800318F4 45030001 */ bc1tl .L800318FC
/* CCF8 800318F8 24080001 */ addiu $t0, $zero, 1
.L800318FC:
/* CCFC 800318FC 96220506 */ lhu $v0, 0x506($s1)
/* CD00 80031900 14400005 */ bnez $v0, .L80031918
/* CD04 80031904 00000000 */ nop
/* CD08 80031908 15000036 */ bnez $t0, .L800319E4
/* CD0C 8003190C 00000000 */ nop
/* CD10 80031910 10E30034 */ beq $a3, $v1, .L800319E4
/* CD14 80031914 00000000 */ nop
.L80031918:
/* CD18 80031918 C6220484 */ lwc1 $f2, 0x484($s1)
/* CD1C 8003191C 3C013F80 */ lui $at, 0x3f80
/* CD20 80031920 44810000 */ mtc1 $at, $f0
/* CD24 80031924 00000000 */ nop
/* CD28 80031928 46001032 */ c.eq.s $f2, $f0
/* CD2C 8003192C 00000000 */ nop
/* CD30 80031930 45000004 */ bc1f .L80031944
/* CD34 80031934 2402FFFF */ addiu $v0, $zero, -1
/* CD38 80031938 8E220448 */ lw $v0, 0x448($s1)
/* CD3C 8003193C 0800C652 */ j .L80031948
/* CD40 80031940 AE220444 */ sw $v0, 0x444($s1)
.L80031944:
/* CD44 80031944 AE220444 */ sw $v0, 0x444($s1)
.L80031948:
/* CD48 80031948 3C0C800A */ lui $t4, %hi(blendedCamSettings)
/* CD4C 8003194C 258C08C0 */ addiu $t4, $t4, %lo(blendedCamSettings)
/* CD50 80031950 8D890000 */ lw $t1, ($t4)
/* CD54 80031954 8D8A0004 */ lw $t2, 4($t4)
/* CD58 80031958 8D8B0008 */ lw $t3, 8($t4)
/* CD5C 8003195C AE29044C */ sw $t1, 0x44c($s1)
/* CD60 80031960 AE2A0450 */ sw $t2, 0x450($s1)
/* CD64 80031964 AE2B0454 */ sw $t3, 0x454($s1)
/* CD68 80031968 8D89000C */ lw $t1, 0xc($t4)
/* CD6C 8003196C 8D8A0010 */ lw $t2, 0x10($t4)
/* CD70 80031970 8D8B0014 */ lw $t3, 0x14($t4)
/* CD74 80031974 AE290458 */ sw $t1, 0x458($s1)
/* CD78 80031978 AE2A045C */ sw $t2, 0x45c($s1)
/* CD7C 8003197C AE2B0460 */ sw $t3, 0x460($s1)
/* CD80 80031980 8D890018 */ lw $t1, 0x18($t4)
/* CD84 80031984 AE290464 */ sw $t1, 0x464($s1)
/* CD88 80031988 C6200490 */ lwc1 $f0, 0x490($s1)
/* CD8C 8003198C 962204D6 */ lhu $v0, 0x4d6($s1)
/* CD90 80031990 96230504 */ lhu $v1, 0x504($s1)
/* CD94 80031994 C62204C8 */ lwc1 $f2, 0x4c8($s1)
/* CD98 80031998 C62404CC */ lwc1 $f4, 0x4cc($s1)
/* CD9C 8003199C C62604D0 */ lwc1 $f6, 0x4d0($s1)
/* CDA0 800319A0 C62804B0 */ lwc1 $f8, 0x4b0($s1)
/* CDA4 800319A4 C62A04B4 */ lwc1 $f10, 0x4b4($s1)
/* CDA8 800319A8 C62C04B8 */ lwc1 $f12, 0x4b8($s1)
/* CDAC 800319AC 24100001 */ addiu $s0, $zero, 1
/* CDB0 800319B0 AE240448 */ sw $a0, 0x448($s1)
/* CDB4 800319B4 AE200484 */ sw $zero, 0x484($s1)
/* CDB8 800319B8 AE200488 */ sw $zero, 0x488($s1)
/* CDBC 800319BC A6200506 */ sh $zero, 0x506($s1)
/* CDC0 800319C0 E620048C */ swc1 $f0, 0x48c($s1)
/* CDC4 800319C4 A62204D4 */ sh $v0, 0x4d4($s1)
/* CDC8 800319C8 A62304D6 */ sh $v1, 0x4d6($s1)
/* CDCC 800319CC E62204BC */ swc1 $f2, 0x4bc($s1)
/* CDD0 800319D0 E62404C0 */ swc1 $f4, 0x4c0($s1)
/* CDD4 800319D4 E62604C4 */ swc1 $f6, 0x4c4($s1)
/* CDD8 800319D8 E62804C8 */ swc1 $f8, 0x4c8($s1)
/* CDDC 800319DC E62A04CC */ swc1 $f10, 0x4cc($s1)
/* CDE0 800319E0 E62C04D0 */ swc1 $f12, 0x4d0($s1)
.L800319E4:
/* CDE4 800319E4 962204D4 */ lhu $v0, 0x4d4($s1)
/* CDE8 800319E8 10400005 */ beqz $v0, .L80031A00
/* CDEC 800319EC 4600B286 */ mov.s $f10, $f22
/* CDF0 800319F0 C62A04BC */ lwc1 $f10, 0x4bc($s1)
/* CDF4 800319F4 C62804C0 */ lwc1 $f8, 0x4c0($s1)
/* CDF8 800319F8 0800C682 */ j .L80031A08
/* CDFC 800319FC C62604C4 */ lwc1 $f6, 0x4c4($s1)
.L80031A00:
/* CE00 80031A00 C62804A0 */ lwc1 $f8, 0x4a0($s1)
/* CE04 80031A04 4600A186 */ mov.s $f6, $f20
.L80031A08:
/* CE08 80031A08 962204D6 */ lhu $v0, 0x4d6($s1)
/* CE0C 80031A0C 10400006 */ beqz $v0, .L80031A28
/* CE10 80031A10 4600B106 */ mov.s $f4, $f22
/* CE14 80031A14 C62004CC */ lwc1 $f0, 0x4cc($s1)
/* CE18 80031A18 C62404C8 */ lwc1 $f4, 0x4c8($s1)
/* CE1C 80031A1C C62204D0 */ lwc1 $f2, 0x4d0($s1)
/* CE20 80031A20 0800C68C */ j .L80031A30
/* CE24 80031A24 E62004A0 */ swc1 $f0, 0x4a0($s1)
.L80031A28:
/* CE28 80031A28 C62004A0 */ lwc1 $f0, 0x4a0($s1)
/* CE2C 80031A2C 4600A086 */ mov.s $f2, $f20
.L80031A30:
/* CE30 80031A30 0220202D */ daddu $a0, $s1, $zero
/* CE34 80031A34 26260444 */ addiu $a2, $s1, 0x444
/* CE38 80031A38 26270468 */ addiu $a3, $s1, 0x468
/* CE3C 80031A3C 26220448 */ addiu $v0, $s1, 0x448
/* CE40 80031A40 AFA20010 */ sw $v0, 0x10($sp)
/* CE44 80031A44 26220484 */ addiu $v0, $s1, 0x484
/* CE48 80031A48 E7AA0014 */ swc1 $f10, 0x14($sp)
/* CE4C 80031A4C E7A80018 */ swc1 $f8, 0x18($sp)
/* CE50 80031A50 E7A6001C */ swc1 $f6, 0x1c($sp)
/* CE54 80031A54 E7A40020 */ swc1 $f4, 0x20($sp)
/* CE58 80031A58 E7A00024 */ swc1 $f0, 0x24($sp)
/* CE5C 80031A5C E7A20028 */ swc1 $f2, 0x28($sp)
/* CE60 80031A60 86230008 */ lh $v1, 8($s1)
/* CE64 80031A64 2625044C */ addiu $a1, $s1, 0x44c
/* CE68 80031A68 AFA20030 */ sw $v0, 0x30($sp)
/* CE6C 80031A6C AFB00034 */ sw $s0, 0x34($sp)
/* CE70 80031A70 0C00C13F */ jal update_camera_from_controller
/* CE74 80031A74 AFA3002C */ sw $v1, 0x2c($sp)
/* CE78 80031A78 86220008 */ lh $v0, 8($s1)
/* CE7C 80031A7C 10400013 */ beqz $v0, .L80031ACC
/* CE80 80031A80 00000000 */ nop
/* CE84 80031A84 3C013F80 */ lui $at, 0x3f80
/* CE88 80031A88 44810000 */ mtc1 $at, $f0
/* CE8C 80031A8C 8E290468 */ lw $t1, 0x468($s1)
/* CE90 80031A90 8E2A046C */ lw $t2, 0x46c($s1)
/* CE94 80031A94 8E2B0470 */ lw $t3, 0x470($s1)
/* CE98 80031A98 8E2C0474 */ lw $t4, 0x474($s1)
/* CE9C 80031A9C AE29044C */ sw $t1, 0x44c($s1)
/* CEA0 80031AA0 AE2A0450 */ sw $t2, 0x450($s1)
/* CEA4 80031AA4 AE2B0454 */ sw $t3, 0x454($s1)
/* CEA8 80031AA8 AE2C0458 */ sw $t4, 0x458($s1)
/* CEAC 80031AAC 8E290478 */ lw $t1, 0x478($s1)
/* CEB0 80031AB0 8E2A047C */ lw $t2, 0x47c($s1)
/* CEB4 80031AB4 8E2B0480 */ lw $t3, 0x480($s1)
/* CEB8 80031AB8 AE29045C */ sw $t1, 0x45c($s1)
/* CEBC 80031ABC AE2A0460 */ sw $t2, 0x460($s1)
/* CEC0 80031AC0 AE2B0464 */ sw $t3, 0x464($s1)
/* CEC4 80031AC4 A6200008 */ sh $zero, 8($s1)
/* CEC8 80031AC8 E6200484 */ swc1 $f0, 0x484($s1)
.L80031ACC:
/* CECC 80031ACC C622044C */ lwc1 $f2, 0x44c($s1)
/* CED0 80031AD0 C6200468 */ lwc1 $f0, 0x468($s1)
/* CED4 80031AD4 46001001 */ sub.s $f0, $f2, $f0
/* CED8 80031AD8 3C014334 */ lui $at, 0x4334
/* CEDC 80031ADC 44813000 */ mtc1 $at, $f6
/* CEE0 80031AE0 00000000 */ nop
/* CEE4 80031AE4 4600303C */ c.lt.s $f6, $f0
/* CEE8 80031AE8 00000000 */ nop
/* CEEC 80031AEC 45000006 */ bc1f .L80031B08
/* CEF0 80031AF0 00000000 */ nop
/* CEF4 80031AF4 3C0143B4 */ lui $at, 0x43b4
/* CEF8 80031AF8 44810000 */ mtc1 $at, $f0
/* CEFC 80031AFC 00000000 */ nop
/* CF00 80031B00 46001001 */ sub.s $f0, $f2, $f0
/* CF04 80031B04 E620044C */ swc1 $f0, 0x44c($s1)
.L80031B08:
/* CF08 80031B08 C624044C */ lwc1 $f4, 0x44c($s1)
/* CF0C 80031B0C C6200468 */ lwc1 $f0, 0x468($s1)
/* CF10 80031B10 46002001 */ sub.s $f0, $f4, $f0
/* CF14 80031B14 3C01C334 */ lui $at, 0xc334
/* CF18 80031B18 44811000 */ mtc1 $at, $f2
/* CF1C 80031B1C 00000000 */ nop
/* CF20 80031B20 4602003C */ c.lt.s $f0, $f2
/* CF24 80031B24 00000000 */ nop
/* CF28 80031B28 45000006 */ bc1f .L80031B44
/* CF2C 80031B2C 00000000 */ nop
/* CF30 80031B30 3C0143B4 */ lui $at, 0x43b4
/* CF34 80031B34 44810000 */ mtc1 $at, $f0
/* CF38 80031B38 00000000 */ nop
/* CF3C 80031B3C 46002000 */ add.s $f0, $f4, $f0
/* CF40 80031B40 E620044C */ swc1 $f0, 0x44c($s1)
.L80031B44:
/* CF44 80031B44 C622044C */ lwc1 $f2, 0x44c($s1)
/* CF48 80031B48 C6200468 */ lwc1 $f0, 0x468($s1)
/* CF4C 80031B4C 46001301 */ sub.s $f12, $f2, $f0
/* CF50 80031B50 44804000 */ mtc1 $zero, $f8
/* CF54 80031B54 00000000 */ nop
/* CF58 80031B58 4608603C */ c.lt.s $f12, $f8
/* CF5C 80031B5C 00000000 */ nop
/* CF60 80031B60 45030001 */ bc1tl .L80031B68
/* CF64 80031B64 46006307 */ neg.s $f12, $f12
.L80031B68:
/* CF68 80031B68 460C303C */ c.lt.s $f6, $f12
/* CF6C 80031B6C 00000000 */ nop
/* CF70 80031B70 45000005 */ bc1f .L80031B88
/* CF74 80031B74 00000000 */ nop
/* CF78 80031B78 3C0143B4 */ lui $at, 0x43b4
/* CF7C 80031B7C 44810000 */ mtc1 $at, $f0
/* CF80 80031B80 00000000 */ nop
/* CF84 80031B84 460C0301 */ sub.s $f12, $f0, $f12
.L80031B88:
/* CF88 80031B88 C6220454 */ lwc1 $f2, 0x454($s1)
/* CF8C 80031B8C C6200470 */ lwc1 $f0, 0x470($s1)
/* CF90 80031B90 46006506 */ mov.s $f20, $f12
/* CF94 80031B94 46001301 */ sub.s $f12, $f2, $f0
/* CF98 80031B98 4608603C */ c.lt.s $f12, $f8
/* CF9C 80031B9C 00000000 */ nop
/* CFA0 80031BA0 45030001 */ bc1tl .L80031BA8
/* CFA4 80031BA4 46006307 */ neg.s $f12, $f12
.L80031BA8:
/* CFA8 80031BA8 460C303C */ c.lt.s $f6, $f12
/* CFAC 80031BAC 00000000 */ nop
/* CFB0 80031BB0 45000005 */ bc1f .L80031BC8
/* CFB4 80031BB4 00000000 */ nop
/* CFB8 80031BB8 3C0143B4 */ lui $at, 0x43b4
/* CFBC 80031BBC 44810000 */ mtc1 $at, $f0
/* CFC0 80031BC0 00000000 */ nop
/* CFC4 80031BC4 460C0301 */ sub.s $f12, $f0, $f12
.L80031BC8:
/* CFC8 80031BC8 460CA03C */ c.lt.s $f20, $f12
/* CFCC 80031BCC 00000000 */ nop
/* CFD0 80031BD0 45030001 */ bc1tl .L80031BD8
/* CFD4 80031BD4 46006506 */ mov.s $f20, $f12
.L80031BD8:
/* CFD8 80031BD8 C6220458 */ lwc1 $f2, 0x458($s1)
/* CFDC 80031BDC C6200474 */ lwc1 $f0, 0x474($s1)
/* CFE0 80031BE0 46001301 */ sub.s $f12, $f2, $f0
/* CFE4 80031BE4 4608603C */ c.lt.s $f12, $f8
/* CFE8 80031BE8 00000000 */ nop
/* CFEC 80031BEC 45030001 */ bc1tl .L80031BF4
/* CFF0 80031BF0 46006307 */ neg.s $f12, $f12
.L80031BF4:
/* CFF4 80031BF4 460C303C */ c.lt.s $f6, $f12
/* CFF8 80031BF8 00000000 */ nop
/* CFFC 80031BFC 45000005 */ bc1f .L80031C14
/* D000 80031C00 00000000 */ nop
/* D004 80031C04 3C0143B4 */ lui $at, 0x43b4
/* D008 80031C08 44810000 */ mtc1 $at, $f0
/* D00C 80031C0C 00000000 */ nop
/* D010 80031C10 460C0301 */ sub.s $f12, $f0, $f12
.L80031C14:
/* D014 80031C14 460CA03C */ c.lt.s $f20, $f12
/* D018 80031C18 00000000 */ nop
/* D01C 80031C1C 45030001 */ bc1tl .L80031C24
/* D020 80031C20 46006506 */ mov.s $f20, $f12
.L80031C24:
/* D024 80031C24 C6220450 */ lwc1 $f2, 0x450($s1)
/* D028 80031C28 C620046C */ lwc1 $f0, 0x46c($s1)
/* D02C 80031C2C 46001301 */ sub.s $f12, $f2, $f0
/* D030 80031C30 4608603C */ c.lt.s $f12, $f8
/* D034 80031C34 00000000 */ nop
/* D038 80031C38 45030001 */ bc1tl .L80031C40
/* D03C 80031C3C 46006307 */ neg.s $f12, $f12
.L80031C40:
/* D040 80031C40 460CA03C */ c.lt.s $f20, $f12
/* D044 80031C44 00000000 */ nop
/* D048 80031C48 45030001 */ bc1tl .L80031C50
/* D04C 80031C4C 46006506 */ mov.s $f20, $f12
.L80031C50:
/* D050 80031C50 C620045C */ lwc1 $f0, 0x45c($s1)
/* D054 80031C54 C6220478 */ lwc1 $f2, 0x478($s1)
/* D058 80031C58 46020001 */ sub.s $f0, $f0, $f2
/* D05C 80031C5C 46000302 */ mul.s $f12, $f0, $f0
/* D060 80031C60 00000000 */ nop
/* D064 80031C64 C6240460 */ lwc1 $f4, 0x460($s1)
/* D068 80031C68 C620047C */ lwc1 $f0, 0x47c($s1)
/* D06C 80031C6C 46002101 */ sub.s $f4, $f4, $f0
/* D070 80031C70 46042102 */ mul.s $f4, $f4, $f4
/* D074 80031C74 00000000 */ nop
/* D078 80031C78 C6220480 */ lwc1 $f2, 0x480($s1)
/* D07C 80031C7C C6200464 */ lwc1 $f0, 0x464($s1)
/* D080 80031C80 46020001 */ sub.s $f0, $f0, $f2
/* D084 80031C84 46000002 */ mul.s $f0, $f0, $f0
/* D088 80031C88 00000000 */ nop
/* D08C 80031C8C 46046300 */ add.s $f12, $f12, $f4
/* D090 80031C90 46006300 */ add.s $f12, $f12, $f0
/* D094 80031C94 46086032 */ c.eq.s $f12, $f8
/* D098 80031C98 00000000 */ nop
/* D09C 80031C9C 4501000E */ bc1t .L80031CD8
/* D0A0 80031CA0 00000000 */ nop
/* D0A4 80031CA4 46006004 */ sqrt.s $f0, $f12
/* D0A8 80031CA8 46000032 */ c.eq.s $f0, $f0
/* D0AC 80031CAC 00000000 */ nop
/* D0B0 80031CB0 45010003 */ bc1t .L80031CC0
/* D0B4 80031CB4 00000000 */ nop
/* D0B8 80031CB8 0C0187BC */ jal sqrtf
/* D0BC 80031CBC 00000000 */ nop
.L80031CC0:
/* D0C0 80031CC0 3C01800A */ lui $at, %hi(D_80098260)
/* D0C4 80031CC4 D4228260 */ ldc1 $f2, %lo(D_80098260)($at)
/* D0C8 80031CC8 46000021 */ cvt.d.s $f0, $f0
/* D0CC 80031CCC 46220002 */ mul.d $f0, $f0, $f2
/* D0D0 80031CD0 00000000 */ nop
/* D0D4 80031CD4 46200320 */ cvt.s.d $f12, $f0
.L80031CD8:
/* D0D8 80031CD8 460CA03C */ c.lt.s $f20, $f12
/* D0DC 80031CDC 00000000 */ nop
/* D0E0 80031CE0 45030001 */ bc1tl .L80031CE8
/* D0E4 80031CE4 46006506 */ mov.s $f20, $f12
.L80031CE8:
/* D0E8 80031CE8 3C0142B4 */ lui $at, 0x42b4
/* D0EC 80031CEC 44810000 */ mtc1 $at, $f0
/* D0F0 80031CF0 00000000 */ nop
/* D0F4 80031CF4 4614003C */ c.lt.s $f0, $f20
/* D0F8 80031CF8 00000000 */ nop
/* D0FC 80031CFC 45030001 */ bc1tl .L80031D04
/* D100 80031D00 46000506 */ mov.s $f20, $f0
.L80031D04:
/* D104 80031D04 3C0141A0 */ lui $at, 0x41a0
/* D108 80031D08 44810000 */ mtc1 $at, $f0
/* D10C 80031D0C 00000000 */ nop
/* D110 80031D10 4600A03C */ c.lt.s $f20, $f0
/* D114 80031D14 00000000 */ nop
/* D118 80031D18 45030001 */ bc1tl .L80031D20
/* D11C 80031D1C 46000506 */ mov.s $f20, $f0
.L80031D20:
/* D120 80031D20 44800000 */ mtc1 $zero, $f0
/* D124 80031D24 00000000 */ nop
/* D128 80031D28 4600A032 */ c.eq.s $f20, $f0
/* D12C 80031D2C 00000000 */ nop
/* D130 80031D30 4501000E */ bc1t .L80031D6C
/* D134 80031D34 00000000 */ nop
/* D138 80031D38 3C013F80 */ lui $at, 0x3f80
/* D13C 80031D3C 44812000 */ mtc1 $at, $f4
/* D140 80031D40 C620048C */ lwc1 $f0, 0x48c($s1)
/* D144 80031D44 46142083 */ div.s $f2, $f4, $f20
/* D148 80031D48 46001082 */ mul.s $f2, $f2, $f0
/* D14C 80031D4C 00000000 */ nop
/* D150 80031D50 C6200488 */ lwc1 $f0, 0x488($s1)
/* D154 80031D54 46020000 */ add.s $f0, $f0, $f2
/* D158 80031D58 4600203C */ c.lt.s $f4, $f0
/* D15C 80031D5C 00000000 */ nop
/* D160 80031D60 45000002 */ bc1f .L80031D6C
/* D164 80031D64 E6200488 */ swc1 $f0, 0x488($s1)
/* D168 80031D68 E6240488 */ swc1 $f4, 0x488($s1)
.L80031D6C:
/* D16C 80031D6C C6200484 */ lwc1 $f0, 0x484($s1)
/* D170 80031D70 3C013FF0 */ lui $at, 0x3ff0
/* D174 80031D74 4481E800 */ mtc1 $at, $f29
/* D178 80031D78 4480E000 */ mtc1 $zero, $f28
/* D17C 80031D7C 46000021 */ cvt.d.s $f0, $f0
/* D180 80031D80 463C003C */ c.lt.d $f0, $f28
/* D184 80031D84 00000000 */ nop
/* D188 80031D88 45000036 */ bc1f .L80031E64
/* D18C 80031D8C 00000000 */ nop
/* D190 80031D90 C6340508 */ lwc1 $f20, 0x508($s1)
/* D194 80031D94 3C01800A */ lui $at, %hi(D_80098268)
/* D198 80031D98 D4388268 */ ldc1 $f24, %lo(D_80098268)($at)
/* D19C 80031D9C 4600A5A1 */ cvt.d.s $f22, $f20
/* D1A0 80031DA0 4638B582 */ mul.d $f22, $f22, $f24
/* D1A4 80031DA4 00000000 */ nop
/* D1A8 80031DA8 4620B5A0 */ cvt.s.d $f22, $f22
/* D1AC 80031DAC 0C00A874 */ jal cos_rad
/* D1B0 80031DB0 4600B306 */ mov.s $f12, $f22
/* D1B4 80031DB4 C62C0488 */ lwc1 $f12, 0x488($s1)
/* D1B8 80031DB8 46006321 */ cvt.d.s $f12, $f12
/* D1BC 80031DBC 46386302 */ mul.d $f12, $f12, $f24
/* D1C0 80031DC0 00000000 */ nop
/* D1C4 80031DC4 3C013F80 */ lui $at, 0x3f80
/* D1C8 80031DC8 4481D000 */ mtc1 $at, $f26
/* D1CC 80031DCC 00000000 */ nop
/* D1D0 80031DD0 4614D501 */ sub.s $f20, $f26, $f20
/* D1D4 80031DD4 4600A521 */ cvt.d.s $f20, $f20
/* D1D8 80031DD8 46346302 */ mul.d $f12, $f12, $f20
/* D1DC 80031DDC 00000000 */ nop
/* D1E0 80031DE0 461A0600 */ add.s $f24, $f0, $f26
/* D1E4 80031DE4 4600B0A1 */ cvt.d.s $f2, $f22
/* D1E8 80031DE8 3C014000 */ lui $at, 0x4000
/* D1EC 80031DEC 4481A000 */ mtc1 $at, $f20
/* D1F0 80031DF0 46226300 */ add.d $f12, $f12, $f2
/* D1F4 80031DF4 4618A603 */ div.s $f24, $f20, $f24
/* D1F8 80031DF8 0C00A874 */ jal cos_rad
/* D1FC 80031DFC 46206320 */ cvt.s.d $f12, $f12
/* D200 80031E00 4600B306 */ mov.s $f12, $f22
/* D204 80031E04 0C00A874 */ jal cos_rad
/* D208 80031E08 460005A1 */ cvt.d.s $f22, $f0
/* D20C 80031E0C 46000021 */ cvt.d.s $f0, $f0
/* D210 80031E10 4620E001 */ sub.d $f0, $f28, $f0
/* D214 80031E14 3C013FE0 */ lui $at, 0x3fe0
/* D218 80031E18 44811800 */ mtc1 $at, $f3
/* D21C 80031E1C 44801000 */ mtc1 $zero, $f2
/* D220 80031E20 00000000 */ nop
/* D224 80031E24 46220002 */ mul.d $f0, $f0, $f2
/* D228 80031E28 00000000 */ nop
/* D22C 80031E2C 4620B580 */ add.d $f22, $f22, $f0
/* D230 80031E30 4600C621 */ cvt.d.s $f24, $f24
/* D234 80031E34 4638B582 */ mul.d $f22, $f22, $f24
/* D238 80031E38 00000000 */ nop
/* D23C 80031E3C 4620B5A0 */ cvt.s.d $f22, $f22
/* D240 80031E40 461AB680 */ add.s $f26, $f22, $f26
/* D244 80031E44 461AA501 */ sub.s $f20, $f20, $f26
/* D248 80031E48 3C01800A */ lui $at, %hi(D_80098270)
/* D24C 80031E4C D4208270 */ ldc1 $f0, %lo(D_80098270)($at)
/* D250 80031E50 4600A521 */ cvt.d.s $f20, $f20
/* D254 80031E54 4620A502 */ mul.d $f20, $f20, $f0
/* D258 80031E58 00000000 */ nop
/* D25C 80031E5C 4620A5A0 */ cvt.s.d $f22, $f20
/* D260 80031E60 E6360484 */ swc1 $f22, 0x484($s1)
.L80031E64:
/* D264 80031E64 C6200484 */ lwc1 $f0, 0x484($s1)
/* D268 80031E68 3C013F80 */ lui $at, 0x3f80
/* D26C 80031E6C 44814000 */ mtc1 $at, $f8
/* D270 80031E70 00000000 */ nop
/* D274 80031E74 4600403E */ c.le.s $f8, $f0
/* D278 80031E78 00000000 */ nop
/* D27C 80031E7C 45000003 */ bc1f .L80031E8C
/* D280 80031E80 00000000 */ nop
/* D284 80031E84 E6280484 */ swc1 $f8, 0x484($s1)
/* D288 80031E88 AE200488 */ sw $zero, 0x488($s1)
.L80031E8C:
/* D28C 80031E8C C6260484 */ lwc1 $f6, 0x484($s1)
/* D290 80031E90 C6200468 */ lwc1 $f0, 0x468($s1)
/* D294 80031E94 46060002 */ mul.s $f0, $f0, $f6
/* D298 80031E98 00000000 */ nop
/* D29C 80031E9C 46064201 */ sub.s $f8, $f8, $f6
/* D2A0 80031EA0 C622044C */ lwc1 $f2, 0x44c($s1)
/* D2A4 80031EA4 C7B00038 */ lwc1 $f16, 0x38($sp)
/* D2A8 80031EA8 46081082 */ mul.s $f2, $f2, $f8
/* D2AC 80031EAC 00000000 */ nop
/* D2B0 80031EB0 E63004A4 */ swc1 $f16, 0x4a4($s1)
/* D2B4 80031EB4 E63E04A8 */ swc1 $f30, 0x4a8($s1)
/* D2B8 80031EB8 C7B0003C */ lwc1 $f16, 0x3c($sp)
/* D2BC 80031EBC 46001080 */ add.s $f2, $f2, $f0
/* D2C0 80031EC0 3C12800A */ lui $s2, %hi(blendedCamSettings)
/* D2C4 80031EC4 265208C0 */ addiu $s2, $s2, %lo(blendedCamSettings)
/* D2C8 80031EC8 E63004AC */ swc1 $f16, 0x4ac($s1)
/* D2CC 80031ECC E6420000 */ swc1 $f2, ($s2)
/* D2D0 80031ED0 C6240450 */ lwc1 $f4, 0x450($s1)
/* D2D4 80031ED4 46082102 */ mul.s $f4, $f4, $f8
/* D2D8 80031ED8 00000000 */ nop
/* D2DC 80031EDC C620046C */ lwc1 $f0, 0x46c($s1)
/* D2E0 80031EE0 46060002 */ mul.s $f0, $f0, $f6
/* D2E4 80031EE4 00000000 */ nop
/* D2E8 80031EE8 46002100 */ add.s $f4, $f4, $f0
/* D2EC 80031EEC E6440004 */ swc1 $f4, 4($s2)
/* D2F0 80031EF0 C6220454 */ lwc1 $f2, 0x454($s1)
/* D2F4 80031EF4 46081082 */ mul.s $f2, $f2, $f8
/* D2F8 80031EF8 00000000 */ nop
/* D2FC 80031EFC C6200470 */ lwc1 $f0, 0x470($s1)
/* D300 80031F00 46060002 */ mul.s $f0, $f0, $f6
/* D304 80031F04 00000000 */ nop
/* D308 80031F08 46001080 */ add.s $f2, $f2, $f0
/* D30C 80031F0C E6420008 */ swc1 $f2, 8($s2)
/* D310 80031F10 C6220458 */ lwc1 $f2, 0x458($s1)
/* D314 80031F14 46081082 */ mul.s $f2, $f2, $f8
/* D318 80031F18 00000000 */ nop
/* D31C 80031F1C C6200474 */ lwc1 $f0, 0x474($s1)
/* D320 80031F20 46060002 */ mul.s $f0, $f0, $f6
/* D324 80031F24 00000000 */ nop
/* D328 80031F28 46001080 */ add.s $f2, $f2, $f0
/* D32C 80031F2C E642000C */ swc1 $f2, 0xc($s2)
/* D330 80031F30 C622045C */ lwc1 $f2, 0x45c($s1)
/* D334 80031F34 46081082 */ mul.s $f2, $f2, $f8
/* D338 80031F38 00000000 */ nop
/* D33C 80031F3C C6200478 */ lwc1 $f0, 0x478($s1)
/* D340 80031F40 46060002 */ mul.s $f0, $f0, $f6
/* D344 80031F44 00000000 */ nop
/* D348 80031F48 46001080 */ add.s $f2, $f2, $f0
/* D34C 80031F4C E6420010 */ swc1 $f2, 0x10($s2)
/* D350 80031F50 C6220460 */ lwc1 $f2, 0x460($s1)
/* D354 80031F54 46081082 */ mul.s $f2, $f2, $f8
/* D358 80031F58 00000000 */ nop
/* D35C 80031F5C C620047C */ lwc1 $f0, 0x47c($s1)
/* D360 80031F60 46060002 */ mul.s $f0, $f0, $f6
/* D364 80031F64 00000000 */ nop
/* D368 80031F68 46001080 */ add.s $f2, $f2, $f0
/* D36C 80031F6C E6420014 */ swc1 $f2, 0x14($s2)
/* D370 80031F70 C6220464 */ lwc1 $f2, 0x464($s1)
/* D374 80031F74 46081082 */ mul.s $f2, $f2, $f8
/* D378 80031F78 00000000 */ nop
/* D37C 80031F7C C6200480 */ lwc1 $f0, 0x480($s1)
/* D380 80031F80 46060002 */ mul.s $f0, $f0, $f6
/* D384 80031F84 00000000 */ nop
/* D388 80031F88 46001080 */ add.s $f2, $f2, $f0
/* D38C 80031F8C E6420018 */ swc1 $f2, 0x18($s2)
/* D390 80031F90 8622002A */ lh $v0, 0x2a($s1)
/* D394 80031F94 44820000 */ mtc1 $v0, $f0
/* D398 80031F98 00000000 */ nop
/* D39C 80031F9C 46800020 */ cvt.s.w $f0, $f0
/* D3A0 80031FA0 46002102 */ mul.s $f4, $f4, $f0
/* D3A4 80031FA4 00000000 */ nop
/* D3A8 80031FA8 3C01800A */ lui $at, %hi(D_80098278)
/* D3AC 80031FAC D4208278 */ ldc1 $f0, %lo(D_80098278)($at)
/* D3B0 80031FB0 46002121 */ cvt.d.s $f4, $f4
/* D3B4 80031FB4 46202102 */ mul.d $f4, $f4, $f0
/* D3B8 80031FB8 00000000 */ nop
/* D3BC 80031FBC 0220202D */ daddu $a0, $s1, $zero
/* D3C0 80031FC0 46202120 */ cvt.s.d $f4, $f4
/* D3C4 80031FC4 0C00C114 */ jal func_80030450
/* D3C8 80031FC8 E6440004 */ swc1 $f4, 4($s2)
/* D3CC 80031FCC C6540000 */ lwc1 $f20, ($s2)
/* D3D0 80031FD0 3C01800A */ lui $at, %hi(D_800A08E0)
/* D3D4 80031FD4 C42008E0 */ lwc1 $f0, %lo(D_800A08E0)($at)
/* D3D8 80031FD8 4600A500 */ add.s $f20, $f20, $f0
/* D3DC 80031FDC 0C00A8BB */ jal sin_deg
/* D3E0 80031FE0 4600A306 */ mov.s $f12, $f20
/* D3E4 80031FE4 4600A306 */ mov.s $f12, $f20
/* D3E8 80031FE8 0C00A8D4 */ jal cos_deg
/* D3EC 80031FEC 46000686 */ mov.s $f26, $f0
/* D3F0 80031FF0 3C10800A */ lui $s0, %hi(D_800A08DC)
/* D3F4 80031FF4 261008DC */ addiu $s0, $s0, %lo(D_800A08DC)
/* D3F8 80031FF8 C6420008 */ lwc1 $f2, 8($s2)
/* D3FC 80031FFC C60C0000 */ lwc1 $f12, ($s0)
/* D400 80032000 460C1300 */ add.s $f12, $f2, $f12
/* D404 80032004 0C00A8D4 */ jal cos_deg
/* D408 80032008 46000607 */ neg.s $f24, $f0
/* D40C 8003200C C6420008 */ lwc1 $f2, 8($s2)
/* D410 80032010 C60C0000 */ lwc1 $f12, ($s0)
/* D414 80032014 460C1300 */ add.s $f12, $f2, $f12
/* D418 80032018 0C00A8BB */ jal sin_deg
/* D41C 8003201C 46000586 */ mov.s $f22, $f0
/* D420 80032020 96220002 */ lhu $v0, 2($s1)
/* D424 80032024 30420002 */ andi $v0, $v0, 2
/* D428 80032028 14400007 */ bnez $v0, .L80032048
/* D42C 8003202C 46000506 */ mov.s $f20, $f0
/* D430 80032030 C6420004 */ lwc1 $f2, 4($s2)
/* D434 80032034 46141082 */ mul.s $f2, $f2, $f20
/* D438 80032038 00000000 */ nop
/* D43C 8003203C C6400014 */ lwc1 $f0, 0x14($s2)
/* D440 80032040 46020000 */ add.s $f0, $f0, $f2
/* D444 80032044 E6200040 */ swc1 $f0, 0x40($s1)
.L80032048:
/* D448 80032048 C6420004 */ lwc1 $f2, 4($s2)
/* D44C 8003204C 4602D082 */ mul.s $f2, $f26, $f2
/* D450 80032050 00000000 */ nop
/* D454 80032054 46161082 */ mul.s $f2, $f2, $f22
/* D458 80032058 00000000 */ nop
/* D45C 8003205C C6400010 */ lwc1 $f0, 0x10($s2)
/* D460 80032060 46020001 */ sub.s $f0, $f0, $f2
/* D464 80032064 E620003C */ swc1 $f0, 0x3c($s1)
/* D468 80032068 C6420004 */ lwc1 $f2, 4($s2)
/* D46C 8003206C 4602C082 */ mul.s $f2, $f24, $f2
/* D470 80032070 00000000 */ nop
/* D474 80032074 46161082 */ mul.s $f2, $f2, $f22
/* D478 80032078 00000000 */ nop
/* D47C 8003207C C6400018 */ lwc1 $f0, 0x18($s2)
/* D480 80032080 46020001 */ sub.s $f0, $f0, $f2
/* D484 80032084 E6200044 */ swc1 $f0, 0x44($s1)
/* D488 80032088 C64C000C */ lwc1 $f12, 0xc($s2)
/* D48C 8003208C 0C00A8D4 */ jal cos_deg
/* D490 80032090 46006307 */ neg.s $f12, $f12
/* D494 80032094 C64C000C */ lwc1 $f12, 0xc($s2)
/* D498 80032098 46000586 */ mov.s $f22, $f0
/* D49C 8003209C 0C00A8BB */ jal sin_deg
/* D4A0 800320A0 46006307 */ neg.s $f12, $f12
/* D4A4 800320A4 C624003C */ lwc1 $f4, 0x3c($s1)
/* D4A8 800320A8 C6420010 */ lwc1 $f2, 0x10($s2)
/* D4AC 800320AC 46022032 */ c.eq.s $f4, $f2
/* D4B0 800320B0 00000000 */ nop
/* D4B4 800320B4 4500000A */ bc1f .L800320E0
/* D4B8 800320B8 46000506 */ mov.s $f20, $f0
/* D4BC 800320BC C6220044 */ lwc1 $f2, 0x44($s1)
/* D4C0 800320C0 C6400018 */ lwc1 $f0, 0x18($s2)
/* D4C4 800320C4 46001032 */ c.eq.s $f2, $f0
/* D4C8 800320C8 00000000 */ nop
/* D4CC 800320CC 45000004 */ bc1f .L800320E0
/* D4D0 800320D0 00000000 */ nop
/* D4D4 800320D4 44802000 */ mtc1 $zero, $f4
/* D4D8 800320D8 0800C840 */ j .L80032100
/* D4DC 800320DC 00000000 */ nop
.L800320E0:
/* D4E0 800320E0 3C02800A */ lui $v0, %hi(blendedCamSettings)
/* D4E4 800320E4 244208C0 */ addiu $v0, $v0, %lo(blendedCamSettings)
/* D4E8 800320E8 C62C003C */ lwc1 $f12, 0x3c($s1)
/* D4EC 800320EC C62E0044 */ lwc1 $f14, 0x44($s1)
/* D4F0 800320F0 8C460010 */ lw $a2, 0x10($v0)
/* D4F4 800320F4 0C00A7B5 */ jal dist2D
/* D4F8 800320F8 8C470018 */ lw $a3, 0x18($v0)
/* D4FC 800320FC 46000106 */ mov.s $f4, $f0
.L80032100:
/* D500 80032100 3C03800A */ lui $v1, %hi(blendedCamSettings)
/* D504 80032104 246308C0 */ addiu $v1, $v1, %lo(blendedCamSettings)
/* D508 80032108 C4600014 */ lwc1 $f0, 0x14($v1)
/* D50C 8003210C 96220002 */ lhu $v0, 2($s1)
/* D510 80032110 C6260040 */ lwc1 $f6, 0x40($s1)
/* D514 80032114 30420002 */ andi $v0, $v0, 2
/* D518 80032118 14400008 */ bnez $v0, .L8003213C
/* D51C 8003211C 46060201 */ sub.s $f8, $f0, $f6
/* D520 80032120 46142002 */ mul.s $f0, $f4, $f20
/* D524 80032124 00000000 */ nop
/* D528 80032128 46164082 */ mul.s $f2, $f8, $f22
/* D52C 8003212C 00000000 */ nop
/* D530 80032130 46020000 */ add.s $f0, $f0, $f2
/* D534 80032134 46003000 */ add.s $f0, $f6, $f0
/* D538 80032138 E620004C */ swc1 $f0, 0x4c($s1)
.L8003213C:
/* D53C 8003213C 46162102 */ mul.s $f4, $f4, $f22
/* D540 80032140 00000000 */ nop
/* D544 80032144 46144002 */ mul.s $f0, $f8, $f20
/* D548 80032148 00000000 */ nop
/* D54C 8003214C 46002101 */ sub.s $f4, $f4, $f0
/* D550 80032150 4604D002 */ mul.s $f0, $f26, $f4
/* D554 80032154 00000000 */ nop
/* D558 80032158 4604C102 */ mul.s $f4, $f24, $f4
/* D55C 8003215C 00000000 */ nop
/* D560 80032160 C622003C */ lwc1 $f2, 0x3c($s1)
/* D564 80032164 46001080 */ add.s $f2, $f2, $f0
/* D568 80032168 C6200044 */ lwc1 $f0, 0x44($s1)
/* D56C 8003216C 46040000 */ add.s $f0, $f0, $f4
/* D570 80032170 E6220048 */ swc1 $f2, 0x48($s1)
/* D574 80032174 3C01800A */ lui $at, %hi(D_800A08E0)
/* D578 80032178 C42208E0 */ lwc1 $f2, %lo(D_800A08E0)($at)
/* D57C 8003217C E6200050 */ swc1 $f0, 0x50($s1)
/* D580 80032180 C4600000 */ lwc1 $f0, ($v1)
/* D584 80032184 46020000 */ add.s $f0, $f0, $f2
/* D588 80032188 C6240048 */ lwc1 $f4, 0x48($s1)
/* D58C 8003218C E620006C */ swc1 $f0, 0x6c($s1)
/* D590 80032190 E6200084 */ swc1 $f0, 0x84($s1)
/* D594 80032194 C4600004 */ lwc1 $f0, 4($v1)
/* D598 80032198 E6200078 */ swc1 $f0, 0x78($s1)
/* D59C 8003219C C4600000 */ lwc1 $f0, ($v1)
/* D5A0 800321A0 C622004C */ lwc1 $f2, 0x4c($s1)
/* D5A4 800321A4 46000007 */ neg.s $f0, $f0
/* D5A8 800321A8 E6200090 */ swc1 $f0, 0x90($s1)
/* D5AC 800321AC C4600008 */ lwc1 $f0, 8($v1)
/* D5B0 800321B0 C466000C */ lwc1 $f6, 0xc($v1)
/* D5B4 800321B4 E6220058 */ swc1 $f2, 0x58($s1)
/* D5B8 800321B8 C6220050 */ lwc1 $f2, 0x50($s1)
/* D5BC 800321BC E6240054 */ swc1 $f4, 0x54($s1)
/* D5C0 800321C0 46000007 */ neg.s $f0, $f0
/* D5C4 800321C4 46060001 */ sub.s $f0, $f0, $f6
/* D5C8 800321C8 AE20007C */ sw $zero, 0x7c($s1)
/* D5CC 800321CC E622005C */ swc1 $f2, 0x5c($s1)
/* D5D0 800321D0 E6200094 */ swc1 $f0, 0x94($s1)
/* D5D4 800321D4 8FBF004C */ lw $ra, 0x4c($sp)
/* D5D8 800321D8 8FB20048 */ lw $s2, 0x48($sp)
/* D5DC 800321DC 8FB10044 */ lw $s1, 0x44($sp)
/* D5E0 800321E0 8FB00040 */ lw $s0, 0x40($sp)
/* D5E4 800321E4 D7BE0078 */ ldc1 $f30, 0x78($sp)
/* D5E8 800321E8 D7BC0070 */ ldc1 $f28, 0x70($sp)
/* D5EC 800321EC D7BA0068 */ ldc1 $f26, 0x68($sp)
/* D5F0 800321F0 D7B80060 */ ldc1 $f24, 0x60($sp)
/* D5F4 800321F4 D7B60058 */ ldc1 $f22, 0x58($sp)
/* D5F8 800321F8 D7B40050 */ ldc1 $f20, 0x50($sp)
/* D5FC 800321FC 03E00008 */ jr $ra
/* D600 80032200 27BD0080 */ addiu $sp, $sp, 0x80
/* D604 80032204 00000000 */ nop
/* D608 80032208 00000000 */ nop
/* D60C 8003220C 00000000 */ nop