tp/include/d/d_camera/asm/func_8017DFAC.s

516 lines
26 KiB
ArmAsm

/* 8017DFAC 0017AEEC 94 21 FD F0 */ stwu r1, -0x210(r1)
/* 8017DFB0 0017AEF0 7C 08 02 A6 */ mflr r0
/* 8017DFB4 0017AEF4 90 01 02 14 */ stw r0, 0x214(r1)
/* 8017DFB8 0017AEF8 DB E1 02 00 */ stfd f31, 0x200(r1)
/* 8017DFBC 0017AEFC F3 E1 02 08 */ psq_st f31, 520(r1), 0, 0
/* 8017DFC0 0017AF00 DB C1 01 F0 */ stfd f30, 0x1f0(r1)
/* 8017DFC4 0017AF04 F3 C1 01 F8 */ psq_st f30, 504(r1), 0, 0
/* 8017DFC8 0017AF08 93 E1 01 EC */ stw r31, 0x1ec(r1)
/* 8017DFCC 0017AF0C 93 C1 01 E8 */ stw r30, 0x1e8(r1)
/* 8017DFD0 0017AF10 7C 7F 1B 78 */ mr r31, r3
/* 8017DFD4 0017AF14 80 63 0A F4 */ lwz r3, 0xaf4(r3)
/* 8017DFD8 0017AF18 1C 04 00 78 */ mulli r0, r4, 0x78
/* 8017DFDC 0017AF1C 7C 63 02 14 */ add r3, r3, r0
/* 8017DFE0 0017AF20 C3 E3 00 68 */ lfs f31, 0x68(r3)
/* 8017DFE4 0017AF24 C3 C3 00 4C */ lfs f30, 0x4c(r3)
/* 8017DFE8 0017AF28 80 1F 01 74 */ lwz r0, 0x174(r31)
/* 8017DFEC 0017AF2C 28 00 00 00 */ cmplwi r0, 0
/* 8017DFF0 0017AF30 40 82 00 14 */ bne lbl_8017E004
/* 8017DFF4 0017AF34 38 00 00 FF */ li r0, 0xff
/* 8017DFF8 0017AF38 90 1F 04 10 */ stw r0, 0x410(r31)
/* 8017DFFC 0017AF3C 38 00 00 00 */ li r0, 0
/* 8017E000 0017AF40 98 1F 01 58 */ stb r0, 0x158(r31)
lbl_8017E004:
/* 8017E004 0017AF44 80 7F 07 D8 */ lwz r3, 0x7d8(r31)
/* 8017E008 0017AF48 2C 03 00 FF */ cmpwi r3, 0xff
/* 8017E00C 0017AF4C 40 82 00 0C */ bne lbl_8017E018
/* 8017E010 0017AF50 38 60 00 00 */ li r3, 0
/* 8017E014 0017AF54 48 00 06 F4 */ b lbl_8017E708
lbl_8017E018:
/* 8017E018 0017AF58 80 1F 04 10 */ lwz r0, 0x410(r31)
/* 8017E01C 0017AF5C 7C 00 18 00 */ cmpw r0, r3
/* 8017E020 0017AF60 41 82 00 18 */ beq lbl_8017E038
/* 8017E024 0017AF64 38 60 00 00 */ li r3, 0
/* 8017E028 0017AF68 90 7F 01 74 */ stw r3, 0x174(r31)
/* 8017E02C 0017AF6C 80 1F 07 D8 */ lwz r0, 0x7d8(r31)
/* 8017E030 0017AF70 90 1F 04 10 */ stw r0, 0x410(r31)
/* 8017E034 0017AF74 98 7F 01 58 */ stb r3, 0x158(r31)
lbl_8017E038:
/* 8017E038 0017AF78 80 1F 01 74 */ lwz r0, 0x174(r31)
/* 8017E03C 0017AF7C 28 00 00 00 */ cmplwi r0, 0
/* 8017E040 0017AF80 40 82 05 38 */ bne lbl_8017E578
/* 8017E044 0017AF84 3C 60 46 49 */ lis r3, 0x46495846@ha
/* 8017E048 0017AF88 38 03 58 46 */ addi r0, r3, 0x46495846@l
/* 8017E04C 0017AF8C 90 1F 03 E8 */ stw r0, 0x3e8(r31)
/* 8017E050 0017AF90 C0 5F 07 CC */ lfs f2, 0x7cc(r31)
/* 8017E054 0017AF94 C0 3F 07 C8 */ lfs f1, 0x7c8(r31)
/* 8017E058 0017AF98 C0 1F 07 C4 */ lfs f0, 0x7c4(r31)
/* 8017E05C 0017AF9C D0 01 01 08 */ stfs f0, 0x108(r1)
/* 8017E060 0017AFA0 D0 21 01 0C */ stfs f1, 0x10c(r1)
/* 8017E064 0017AFA4 D0 41 01 10 */ stfs f2, 0x110(r1)
/* 8017E068 0017AFA8 D0 1F 03 EC */ stfs f0, 0x3ec(r31)
/* 8017E06C 0017AFAC D0 3F 03 F0 */ stfs f1, 0x3f0(r31)
/* 8017E070 0017AFB0 D0 5F 03 F4 */ stfs f2, 0x3f4(r31)
/* 8017E074 0017AFB4 38 61 00 34 */ addi r3, r1, 0x34
/* 8017E078 0017AFB8 C0 22 9D B0 */ lfs f1, lbl_804537B0-_SDA2_BASE_(r2)
/* 8017E07C 0017AFBC A8 1F 07 D0 */ lha r0, 0x7d0(r31)
/* 8017E080 0017AFC0 7C 00 00 D0 */ neg r0, r0
/* 8017E084 0017AFC4 7C 04 07 34 */ extsh r4, r0
/* 8017E088 0017AFC8 A8 BF 07 D2 */ lha r5, 0x7d2(r31)
/* 8017E08C 0017AFCC 48 0F 37 95 */ bl __ct__7cSGlobeFfss
/* 8017E090 0017AFD0 38 61 00 FC */ addi r3, r1, 0xfc
/* 8017E094 0017AFD4 38 81 00 34 */ addi r4, r1, 0x34
/* 8017E098 0017AFD8 48 0F 3A 1D */ bl Xyz__7cSGlobeCFv
/* 8017E09C 0017AFDC 38 61 00 F0 */ addi r3, r1, 0xf0
/* 8017E0A0 0017AFE0 38 9F 03 EC */ addi r4, r31, 0x3ec
/* 8017E0A4 0017AFE4 38 A1 00 FC */ addi r5, r1, 0xfc
/* 8017E0A8 0017AFE8 48 0E 8A 3D */ bl __pl__4cXyzCFRC3Vec
/* 8017E0AC 0017AFEC C0 01 00 F0 */ lfs f0, 0xf0(r1)
/* 8017E0B0 0017AFF0 D0 1F 04 20 */ stfs f0, 0x420(r31)
/* 8017E0B4 0017AFF4 C0 01 00 F4 */ lfs f0, 0xf4(r1)
/* 8017E0B8 0017AFF8 D0 1F 04 24 */ stfs f0, 0x424(r31)
/* 8017E0BC 0017AFFC C0 01 00 F8 */ lfs f0, 0xf8(r1)
/* 8017E0C0 0017B000 D0 1F 04 28 */ stfs f0, 0x428(r31)
/* 8017E0C4 0017B004 C0 1F 04 20 */ lfs f0, 0x420(r31)
/* 8017E0C8 0017B008 D0 1F 04 14 */ stfs f0, 0x414(r31)
/* 8017E0CC 0017B00C C0 1F 04 24 */ lfs f0, 0x424(r31)
/* 8017E0D0 0017B010 D0 1F 04 18 */ stfs f0, 0x418(r31)
/* 8017E0D4 0017B014 C0 1F 04 28 */ lfs f0, 0x428(r31)
/* 8017E0D8 0017B018 D0 1F 04 1C */ stfs f0, 0x41c(r31)
/* 8017E0DC 0017B01C 38 61 01 4C */ addi r3, r1, 0x14c
/* 8017E0E0 0017B020 38 9F 04 14 */ addi r4, r31, 0x414
/* 8017E0E4 0017B024 38 BF 03 EC */ addi r5, r31, 0x3ec
/* 8017E0E8 0017B028 48 0F 11 C1 */ bl __ct__8cM3dGLinFRC4cXyzRC4cXyz
/* 8017E0EC 0017B02C 38 61 00 E4 */ addi r3, r1, 0xe4
/* 8017E0F0 0017B030 7F E4 FB 78 */ mr r4, r31
/* 8017E0F4 0017B034 80 BF 01 80 */ lwz r5, 0x180(r31)
/* 8017E0F8 0017B038 4B F1 96 25 */ bl dCamera_c_NS_attentionPos
/* 8017E0FC 0017B03C C0 01 00 E4 */ lfs f0, 0xe4(r1)
/* 8017E100 0017B040 D0 01 01 2C */ stfs f0, 0x12c(r1)
/* 8017E104 0017B044 C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 8017E108 0017B048 D0 01 01 30 */ stfs f0, 0x130(r1)
/* 8017E10C 0017B04C C0 01 00 EC */ lfs f0, 0xec(r1)
/* 8017E110 0017B050 D0 01 01 34 */ stfs f0, 0x134(r1)
/* 8017E114 0017B054 38 61 01 4C */ addi r3, r1, 0x14c
/* 8017E118 0017B058 38 81 01 2C */ addi r4, r1, 0x12c
/* 8017E11C 0017B05C 38 A1 01 20 */ addi r5, r1, 0x120
/* 8017E120 0017B060 38 C1 00 30 */ addi r6, r1, 0x30
/* 8017E124 0017B064 48 0E A5 ED */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
/* 8017E128 0017B068 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8017E12C 0017B06C 41 82 00 20 */ beq lbl_8017E14C
/* 8017E130 0017B070 C0 01 01 20 */ lfs f0, 0x120(r1)
/* 8017E134 0017B074 D0 1F 04 14 */ stfs f0, 0x414(r31)
/* 8017E138 0017B078 C0 01 01 24 */ lfs f0, 0x124(r1)
/* 8017E13C 0017B07C D0 1F 04 18 */ stfs f0, 0x418(r31)
/* 8017E140 0017B080 C0 01 01 28 */ lfs f0, 0x128(r1)
/* 8017E144 0017B084 D0 1F 04 1C */ stfs f0, 0x41c(r31)
/* 8017E148 0017B088 48 00 01 74 */ b lbl_8017E2BC
lbl_8017E14C:
/* 8017E14C 0017B08C 38 61 00 D8 */ addi r3, r1, 0xd8
/* 8017E150 0017B090 7F E4 FB 78 */ mr r4, r31
/* 8017E154 0017B094 80 BF 01 80 */ lwz r5, 0x180(r31)
/* 8017E158 0017B098 4B F1 95 C5 */ bl dCamera_c_NS_attentionPos
/* 8017E15C 0017B09C 38 61 00 CC */ addi r3, r1, 0xcc
/* 8017E160 0017B0A0 38 9F 03 EC */ addi r4, r31, 0x3ec
/* 8017E164 0017B0A4 38 A1 00 D8 */ addi r5, r1, 0xd8
/* 8017E168 0017B0A8 48 0E 89 CD */ bl __mi__4cXyzCFRC3Vec
/* 8017E16C 0017B0AC C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 8017E170 0017B0B0 D0 01 00 C0 */ stfs f0, 0xc0(r1)
/* 8017E174 0017B0B4 C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 8017E178 0017B0B8 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 8017E17C 0017B0BC C0 01 00 D4 */ lfs f0, 0xd4(r1)
/* 8017E180 0017B0C0 D0 01 00 C8 */ stfs f0, 0xc8(r1)
/* 8017E184 0017B0C4 38 61 00 C0 */ addi r3, r1, 0xc0
/* 8017E188 0017B0C8 48 1C 8F B1 */ bl PSVECSquareMag
/* 8017E18C 0017B0CC C0 02 9C A0 */ lfs f0, lbl_804536A0-_SDA2_BASE_(r2)
/* 8017E190 0017B0D0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8017E194 0017B0D4 40 81 00 58 */ ble lbl_8017E1EC
/* 8017E198 0017B0D8 FC 00 08 34 */ frsqrte f0, f1
/* 8017E19C 0017B0DC C8 82 9C C8 */ lfd f4, lbl_804536C8-_SDA2_BASE_(r2)
/* 8017E1A0 0017B0E0 FC 44 00 32 */ fmul f2, f4, f0
/* 8017E1A4 0017B0E4 C8 62 9C D0 */ lfd f3, lbl_804536D0-_SDA2_BASE_(r2)
/* 8017E1A8 0017B0E8 FC 00 00 32 */ fmul f0, f0, f0
/* 8017E1AC 0017B0EC FC 01 00 32 */ fmul f0, f1, f0
/* 8017E1B0 0017B0F0 FC 03 00 28 */ fsub f0, f3, f0
/* 8017E1B4 0017B0F4 FC 02 00 32 */ fmul f0, f2, f0
/* 8017E1B8 0017B0F8 FC 44 00 32 */ fmul f2, f4, f0
/* 8017E1BC 0017B0FC FC 00 00 32 */ fmul f0, f0, f0
/* 8017E1C0 0017B100 FC 01 00 32 */ fmul f0, f1, f0
/* 8017E1C4 0017B104 FC 03 00 28 */ fsub f0, f3, f0
/* 8017E1C8 0017B108 FC 02 00 32 */ fmul f0, f2, f0
/* 8017E1CC 0017B10C FC 44 00 32 */ fmul f2, f4, f0
/* 8017E1D0 0017B110 FC 00 00 32 */ fmul f0, f0, f0
/* 8017E1D4 0017B114 FC 01 00 32 */ fmul f0, f1, f0
/* 8017E1D8 0017B118 FC 03 00 28 */ fsub f0, f3, f0
/* 8017E1DC 0017B11C FC 02 00 32 */ fmul f0, f2, f0
/* 8017E1E0 0017B120 FC 21 00 32 */ fmul f1, f1, f0
/* 8017E1E4 0017B124 FC 20 08 18 */ frsp f1, f1
/* 8017E1E8 0017B128 48 00 00 88 */ b lbl_8017E270
lbl_8017E1EC:
/* 8017E1EC 0017B12C C8 02 9C D8 */ lfd f0, lbl_804536D8-_SDA2_BASE_(r2)
/* 8017E1F0 0017B130 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8017E1F4 0017B134 40 80 00 10 */ bge lbl_8017E204
/* 8017E1F8 0017B138 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8017E1FC 0017B13C C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
/* 8017E200 0017B140 48 00 00 70 */ b lbl_8017E270
lbl_8017E204:
/* 8017E204 0017B144 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 8017E208 0017B148 80 81 00 2C */ lwz r4, 0x2c(r1)
/* 8017E20C 0017B14C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8017E210 0017B150 3C 00 7F 80 */ lis r0, 0x7f80
/* 8017E214 0017B154 7C 03 00 00 */ cmpw r3, r0
/* 8017E218 0017B158 41 82 00 14 */ beq lbl_8017E22C
/* 8017E21C 0017B15C 40 80 00 40 */ bge lbl_8017E25C
/* 8017E220 0017B160 2C 03 00 00 */ cmpwi r3, 0
/* 8017E224 0017B164 41 82 00 20 */ beq lbl_8017E244
/* 8017E228 0017B168 48 00 00 34 */ b lbl_8017E25C
lbl_8017E22C:
/* 8017E22C 0017B16C 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8017E230 0017B170 41 82 00 0C */ beq lbl_8017E23C
/* 8017E234 0017B174 38 00 00 01 */ li r0, 1
/* 8017E238 0017B178 48 00 00 28 */ b lbl_8017E260
lbl_8017E23C:
/* 8017E23C 0017B17C 38 00 00 02 */ li r0, 2
/* 8017E240 0017B180 48 00 00 20 */ b lbl_8017E260
lbl_8017E244:
/* 8017E244 0017B184 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8017E248 0017B188 41 82 00 0C */ beq lbl_8017E254
/* 8017E24C 0017B18C 38 00 00 05 */ li r0, 5
/* 8017E250 0017B190 48 00 00 10 */ b lbl_8017E260
lbl_8017E254:
/* 8017E254 0017B194 38 00 00 03 */ li r0, 3
/* 8017E258 0017B198 48 00 00 08 */ b lbl_8017E260
lbl_8017E25C:
/* 8017E25C 0017B19C 38 00 00 04 */ li r0, 4
lbl_8017E260:
/* 8017E260 0017B1A0 2C 00 00 01 */ cmpwi r0, 1
/* 8017E264 0017B1A4 40 82 00 0C */ bne lbl_8017E270
/* 8017E268 0017B1A8 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8017E26C 0017B1AC C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
lbl_8017E270:
/* 8017E270 0017B1B0 38 61 00 34 */ addi r3, r1, 0x34
/* 8017E274 0017B1B4 A8 1F 07 D0 */ lha r0, 0x7d0(r31)
/* 8017E278 0017B1B8 7C 00 00 D0 */ neg r0, r0
/* 8017E27C 0017B1BC 7C 04 07 34 */ extsh r4, r0
/* 8017E280 0017B1C0 A8 BF 07 D2 */ lha r5, 0x7d2(r31)
/* 8017E284 0017B1C4 48 0F 37 21 */ bl Val__7cSGlobeFfss
/* 8017E288 0017B1C8 38 61 00 B4 */ addi r3, r1, 0xb4
/* 8017E28C 0017B1CC 38 81 00 34 */ addi r4, r1, 0x34
/* 8017E290 0017B1D0 48 0F 38 25 */ bl Xyz__7cSGlobeCFv
/* 8017E294 0017B1D4 38 61 00 A8 */ addi r3, r1, 0xa8
/* 8017E298 0017B1D8 38 9F 03 EC */ addi r4, r31, 0x3ec
/* 8017E29C 0017B1DC 38 A1 00 B4 */ addi r5, r1, 0xb4
/* 8017E2A0 0017B1E0 48 0E 88 45 */ bl __pl__4cXyzCFRC3Vec
/* 8017E2A4 0017B1E4 C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 8017E2A8 0017B1E8 D0 1F 04 14 */ stfs f0, 0x414(r31)
/* 8017E2AC 0017B1EC C0 01 00 AC */ lfs f0, 0xac(r1)
/* 8017E2B0 0017B1F0 D0 1F 04 18 */ stfs f0, 0x418(r31)
/* 8017E2B4 0017B1F4 C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 8017E2B8 0017B1F8 D0 1F 04 1C */ stfs f0, 0x41c(r31)
lbl_8017E2BC:
/* 8017E2BC 0017B1FC 38 61 01 68 */ addi r3, r1, 0x168
/* 8017E2C0 0017B200 4B EF 9A E5 */ bl dBgS_CamLinChk
/* 8017E2C4 0017B204 7F E3 FB 78 */ mr r3, r31
/* 8017E2C8 0017B208 38 9F 03 EC */ addi r4, r31, 0x3ec
/* 8017E2CC 0017B20C 38 BF 04 14 */ addi r5, r31, 0x414
/* 8017E2D0 0017B210 38 C1 01 68 */ addi r6, r1, 0x168
/* 8017E2D4 0017B214 38 E0 40 B7 */ li r7, 0x40b7
/* 8017E2D8 0017B218 4B FE 75 E9 */ bl dCamera_c_NS_lineBGCheck
/* 8017E2DC 0017B21C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8017E2E0 0017B220 41 82 00 84 */ beq lbl_8017E364
/* 8017E2E4 0017B224 3C 60 80 3A */ lis r3, lbl_803A37C0@ha
/* 8017E2E8 0017B228 38 03 37 C0 */ addi r0, r3, lbl_803A37C0@l
/* 8017E2EC 0017B22C 90 01 01 48 */ stw r0, 0x148(r1)
/* 8017E2F0 0017B230 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8017E2F4 0017B234 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8017E2F8 0017B238 38 63 0F 38 */ addi r3, r3, 0xf38
/* 8017E2FC 0017B23C 38 81 01 7C */ addi r4, r1, 0x17c
/* 8017E300 0017B240 38 A1 01 38 */ addi r5, r1, 0x138
/* 8017E304 0017B244 4B EF 64 41 */ bl cBgS_NS_GetTriPla
/* 8017E308 0017B248 C0 01 01 98 */ lfs f0, 0x198(r1)
/* 8017E30C 0017B24C D0 01 01 14 */ stfs f0, 0x114(r1)
/* 8017E310 0017B250 C0 01 01 9C */ lfs f0, 0x19c(r1)
/* 8017E314 0017B254 D0 01 01 18 */ stfs f0, 0x118(r1)
/* 8017E318 0017B258 C0 01 01 A0 */ lfs f0, 0x1a0(r1)
/* 8017E31C 0017B25C D0 01 01 1C */ stfs f0, 0x11c(r1)
/* 8017E320 0017B260 38 61 00 9C */ addi r3, r1, 0x9c
/* 8017E324 0017B264 38 81 01 38 */ addi r4, r1, 0x138
/* 8017E328 0017B268 C0 22 9D 50 */ lfs f1, lbl_80453750-_SDA2_BASE_(r2)
/* 8017E32C 0017B26C 48 0E 88 59 */ bl __ml__4cXyzCFf
/* 8017E330 0017B270 38 61 00 90 */ addi r3, r1, 0x90
/* 8017E334 0017B274 38 81 01 14 */ addi r4, r1, 0x114
/* 8017E338 0017B278 38 A1 00 9C */ addi r5, r1, 0x9c
/* 8017E33C 0017B27C 48 0E 87 F9 */ bl __mi__4cXyzCFRC3Vec
/* 8017E340 0017B280 C0 01 00 90 */ lfs f0, 0x90(r1)
/* 8017E344 0017B284 D0 1F 04 14 */ stfs f0, 0x414(r31)
/* 8017E348 0017B288 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 8017E34C 0017B28C D0 1F 04 18 */ stfs f0, 0x418(r31)
/* 8017E350 0017B290 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 8017E354 0017B294 D0 1F 04 1C */ stfs f0, 0x41c(r31)
/* 8017E358 0017B298 3C 60 80 3A */ lis r3, lbl_803A37C0@ha
/* 8017E35C 0017B29C 38 03 37 C0 */ addi r0, r3, lbl_803A37C0@l
/* 8017E360 0017B2A0 90 01 01 48 */ stw r0, 0x148(r1)
lbl_8017E364:
/* 8017E364 0017B2A4 38 61 00 84 */ addi r3, r1, 0x84
/* 8017E368 0017B2A8 38 9F 03 EC */ addi r4, r31, 0x3ec
/* 8017E36C 0017B2AC 38 BF 04 14 */ addi r5, r31, 0x414
/* 8017E370 0017B2B0 48 0E 87 C5 */ bl __mi__4cXyzCFRC3Vec
/* 8017E374 0017B2B4 38 7F 03 F8 */ addi r3, r31, 0x3f8
/* 8017E378 0017B2B8 38 81 00 84 */ addi r4, r1, 0x84
/* 8017E37C 0017B2BC 48 0F 36 F5 */ bl Val__7cSGlobeFRC4cXyz
/* 8017E380 0017B2C0 88 1F 07 BD */ lbz r0, 0x7bd(r31)
/* 8017E384 0017B2C4 28 00 00 FF */ cmplwi r0, 0xff
/* 8017E388 0017B2C8 40 82 00 08 */ bne lbl_8017E390
/* 8017E38C 0017B2CC 48 00 00 1C */ b lbl_8017E3A8
lbl_8017E390:
/* 8017E390 0017B2D0 C8 22 9D 60 */ lfd f1, lbl_80453760-_SDA2_BASE_(r2)
/* 8017E394 0017B2D4 90 01 01 DC */ stw r0, 0x1dc(r1)
/* 8017E398 0017B2D8 3C 00 43 30 */ lis r0, 0x4330
/* 8017E39C 0017B2DC 90 01 01 D8 */ stw r0, 0x1d8(r1)
/* 8017E3A0 0017B2E0 C8 01 01 D8 */ lfd f0, 0x1d8(r1)
/* 8017E3A4 0017B2E4 EF C0 08 28 */ fsubs f30, f0, f1
lbl_8017E3A8:
/* 8017E3A8 0017B2E8 D3 DF 04 0C */ stfs f30, 0x40c(r31)
/* 8017E3AC 0017B2EC 88 7F 07 BF */ lbz r3, 0x7bf(r31)
/* 8017E3B0 0017B2F0 28 03 00 FF */ cmplwi r3, 0xff
/* 8017E3B4 0017B2F4 38 00 FF FF */ li r0, -1
/* 8017E3B8 0017B2F8 41 82 00 08 */ beq lbl_8017E3C0
/* 8017E3BC 0017B2FC 7C 60 1B 78 */ mr r0, r3
lbl_8017E3C0:
/* 8017E3C0 0017B300 2C 00 FF FF */ cmpwi r0, -1
/* 8017E3C4 0017B304 40 82 01 68 */ bne lbl_8017E52C
/* 8017E3C8 0017B308 38 61 00 78 */ addi r3, r1, 0x78
/* 8017E3CC 0017B30C 38 9F 03 EC */ addi r4, r31, 0x3ec
/* 8017E3D0 0017B310 38 BF 00 3C */ addi r5, r31, 0x3c
/* 8017E3D4 0017B314 48 0E 87 61 */ bl __mi__4cXyzCFRC3Vec
/* 8017E3D8 0017B318 C0 01 00 78 */ lfs f0, 0x78(r1)
/* 8017E3DC 0017B31C D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 8017E3E0 0017B320 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 8017E3E4 0017B324 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 8017E3E8 0017B328 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 8017E3EC 0017B32C D0 01 00 74 */ stfs f0, 0x74(r1)
/* 8017E3F0 0017B330 38 61 00 6C */ addi r3, r1, 0x6c
/* 8017E3F4 0017B334 48 1C 8D 45 */ bl PSVECSquareMag
/* 8017E3F8 0017B338 C0 02 9C A0 */ lfs f0, lbl_804536A0-_SDA2_BASE_(r2)
/* 8017E3FC 0017B33C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8017E400 0017B340 40 81 00 58 */ ble lbl_8017E458
/* 8017E404 0017B344 FC 00 08 34 */ frsqrte f0, f1
/* 8017E408 0017B348 C8 82 9C C8 */ lfd f4, lbl_804536C8-_SDA2_BASE_(r2)
/* 8017E40C 0017B34C FC 44 00 32 */ fmul f2, f4, f0
/* 8017E410 0017B350 C8 62 9C D0 */ lfd f3, lbl_804536D0-_SDA2_BASE_(r2)
/* 8017E414 0017B354 FC 00 00 32 */ fmul f0, f0, f0
/* 8017E418 0017B358 FC 01 00 32 */ fmul f0, f1, f0
/* 8017E41C 0017B35C FC 03 00 28 */ fsub f0, f3, f0
/* 8017E420 0017B360 FC 02 00 32 */ fmul f0, f2, f0
/* 8017E424 0017B364 FC 44 00 32 */ fmul f2, f4, f0
/* 8017E428 0017B368 FC 00 00 32 */ fmul f0, f0, f0
/* 8017E42C 0017B36C FC 01 00 32 */ fmul f0, f1, f0
/* 8017E430 0017B370 FC 03 00 28 */ fsub f0, f3, f0
/* 8017E434 0017B374 FC 02 00 32 */ fmul f0, f2, f0
/* 8017E438 0017B378 FC 44 00 32 */ fmul f2, f4, f0
/* 8017E43C 0017B37C FC 00 00 32 */ fmul f0, f0, f0
/* 8017E440 0017B380 FC 01 00 32 */ fmul f0, f1, f0
/* 8017E444 0017B384 FC 03 00 28 */ fsub f0, f3, f0
/* 8017E448 0017B388 FC 02 00 32 */ fmul f0, f2, f0
/* 8017E44C 0017B38C FF C1 00 32 */ fmul f30, f1, f0
/* 8017E450 0017B390 FF C0 F0 18 */ frsp f30, f30
/* 8017E454 0017B394 48 00 00 90 */ b lbl_8017E4E4
lbl_8017E458:
/* 8017E458 0017B398 C8 02 9C D8 */ lfd f0, lbl_804536D8-_SDA2_BASE_(r2)
/* 8017E45C 0017B39C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8017E460 0017B3A0 40 80 00 10 */ bge lbl_8017E470
/* 8017E464 0017B3A4 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8017E468 0017B3A8 C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3)
/* 8017E46C 0017B3AC 48 00 00 78 */ b lbl_8017E4E4
lbl_8017E470:
/* 8017E470 0017B3B0 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8017E474 0017B3B4 80 81 00 28 */ lwz r4, 0x28(r1)
/* 8017E478 0017B3B8 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8017E47C 0017B3BC 3C 00 7F 80 */ lis r0, 0x7f80
/* 8017E480 0017B3C0 7C 03 00 00 */ cmpw r3, r0
/* 8017E484 0017B3C4 41 82 00 14 */ beq lbl_8017E498
/* 8017E488 0017B3C8 40 80 00 40 */ bge lbl_8017E4C8
/* 8017E48C 0017B3CC 2C 03 00 00 */ cmpwi r3, 0
/* 8017E490 0017B3D0 41 82 00 20 */ beq lbl_8017E4B0
/* 8017E494 0017B3D4 48 00 00 34 */ b lbl_8017E4C8
lbl_8017E498:
/* 8017E498 0017B3D8 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8017E49C 0017B3DC 41 82 00 0C */ beq lbl_8017E4A8
/* 8017E4A0 0017B3E0 38 00 00 01 */ li r0, 1
/* 8017E4A4 0017B3E4 48 00 00 28 */ b lbl_8017E4CC
lbl_8017E4A8:
/* 8017E4A8 0017B3E8 38 00 00 02 */ li r0, 2
/* 8017E4AC 0017B3EC 48 00 00 20 */ b lbl_8017E4CC
lbl_8017E4B0:
/* 8017E4B0 0017B3F0 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8017E4B4 0017B3F4 41 82 00 0C */ beq lbl_8017E4C0
/* 8017E4B8 0017B3F8 38 00 00 05 */ li r0, 5
/* 8017E4BC 0017B3FC 48 00 00 10 */ b lbl_8017E4CC
lbl_8017E4C0:
/* 8017E4C0 0017B400 38 00 00 03 */ li r0, 3
/* 8017E4C4 0017B404 48 00 00 08 */ b lbl_8017E4CC
lbl_8017E4C8:
/* 8017E4C8 0017B408 38 00 00 04 */ li r0, 4
lbl_8017E4CC:
/* 8017E4CC 0017B40C 2C 00 00 01 */ cmpwi r0, 1
/* 8017E4D0 0017B410 40 82 00 10 */ bne lbl_8017E4E0
/* 8017E4D4 0017B414 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 8017E4D8 0017B418 C3 C3 0A E0 */ lfs f30, lbl_80450AE0@l(r3)
/* 8017E4DC 0017B41C 48 00 00 08 */ b lbl_8017E4E4
lbl_8017E4E0:
/* 8017E4E0 0017B420 FF C0 08 90 */ fmr f30, f1
lbl_8017E4E4:
/* 8017E4E4 0017B424 7F E3 FB 78 */ mr r3, r31
/* 8017E4E8 0017B428 80 9F 01 80 */ lwz r4, 0x180(r31)
/* 8017E4EC 0017B42C 4B FE 68 41 */ bl dCamera_c_NS_heightOf
/* 8017E4F0 0017B430 EC 3E 08 24 */ fdivs f1, f30, f1
/* 8017E4F4 0017B434 C0 02 9C A0 */ lfs f0, lbl_804536A0-_SDA2_BASE_(r2)
/* 8017E4F8 0017B438 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8017E4FC 0017B43C 40 81 00 10 */ ble lbl_8017E50C
/* 8017E500 0017B440 FC 00 08 34 */ frsqrte f0, f1
/* 8017E504 0017B444 EC 00 00 72 */ fmuls f0, f0, f1
/* 8017E508 0017B448 48 00 00 08 */ b lbl_8017E510
lbl_8017E50C:
/* 8017E50C 0017B44C FC 00 08 90 */ fmr f0, f1
lbl_8017E510:
/* 8017E510 0017B450 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8017E514 0017B454 FC 00 00 1E */ fctiwz f0, f0
/* 8017E518 0017B458 D8 01 01 D8 */ stfd f0, 0x1d8(r1)
/* 8017E51C 0017B45C 80 61 01 DC */ lwz r3, 0x1dc(r1)
/* 8017E520 0017B460 38 03 00 01 */ addi r0, r3, 1
/* 8017E524 0017B464 90 1F 04 00 */ stw r0, 0x400(r31)
/* 8017E528 0017B468 48 00 00 08 */ b lbl_8017E530
lbl_8017E52C:
/* 8017E52C 0017B46C 90 1F 04 00 */ stw r0, 0x400(r31)
lbl_8017E530:
/* 8017E530 0017B470 80 7F 04 00 */ lwz r3, 0x400(r31)
/* 8017E534 0017B474 38 03 00 01 */ addi r0, r3, 1
/* 8017E538 0017B478 7C 03 01 D6 */ mullw r0, r3, r0
/* 8017E53C 0017B47C 7C 00 0E 70 */ srawi r0, r0, 1
/* 8017E540 0017B480 C8 22 9C 98 */ lfd f1, lbl_80453698-_SDA2_BASE_(r2)
/* 8017E544 0017B484 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8017E548 0017B488 90 01 01 DC */ stw r0, 0x1dc(r1)
/* 8017E54C 0017B48C 3C 00 43 30 */ lis r0, 0x4330
/* 8017E550 0017B490 90 01 01 D8 */ stw r0, 0x1d8(r1)
/* 8017E554 0017B494 C8 01 01 D8 */ lfd f0, 0x1d8(r1)
/* 8017E558 0017B498 EC 00 08 28 */ fsubs f0, f0, f1
/* 8017E55C 0017B49C D0 1F 04 04 */ stfs f0, 0x404(r31)
/* 8017E560 0017B4A0 38 61 01 68 */ addi r3, r1, 0x168
/* 8017E564 0017B4A4 38 80 FF FF */ li r4, -1
/* 8017E568 0017B4A8 4B EF 98 99 */ bl dBgS_CamLinChk_NS_dtor
/* 8017E56C 0017B4AC 3C 60 80 3A */ lis r3, lbl_803A78F8@ha
/* 8017E570 0017B4B0 38 03 78 F8 */ addi r0, r3, lbl_803A78F8@l
/* 8017E574 0017B4B4 90 01 01 64 */ stw r0, 0x164(r1)
lbl_8017E578:
/* 8017E578 0017B4B8 88 1F 01 58 */ lbz r0, 0x158(r31)
/* 8017E57C 0017B4BC 28 00 00 00 */ cmplwi r0, 0
/* 8017E580 0017B4C0 40 82 01 84 */ bne lbl_8017E704
/* 8017E584 0017B4C4 80 7F 01 74 */ lwz r3, 0x174(r31)
/* 8017E588 0017B4C8 80 1F 04 00 */ lwz r0, 0x400(r31)
/* 8017E58C 0017B4CC 7C 03 00 50 */ subf r0, r3, r0
/* 8017E590 0017B4D0 C8 22 9C 98 */ lfd f1, lbl_80453698-_SDA2_BASE_(r2)
/* 8017E594 0017B4D4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8017E598 0017B4D8 90 01 01 DC */ stw r0, 0x1dc(r1)
/* 8017E59C 0017B4DC 3C 00 43 30 */ lis r0, 0x4330
/* 8017E5A0 0017B4E0 90 01 01 D8 */ stw r0, 0x1d8(r1)
/* 8017E5A4 0017B4E4 C8 01 01 D8 */ lfd f0, 0x1d8(r1)
/* 8017E5A8 0017B4E8 EC 00 08 28 */ fsubs f0, f0, f1
/* 8017E5AC 0017B4EC D0 1F 04 08 */ stfs f0, 0x408(r31)
/* 8017E5B0 0017B4F0 C0 3F 04 08 */ lfs f1, 0x408(r31)
/* 8017E5B4 0017B4F4 C0 1F 04 04 */ lfs f0, 0x404(r31)
/* 8017E5B8 0017B4F8 EF C1 00 24 */ fdivs f30, f1, f0
/* 8017E5BC 0017B4FC EC 00 08 28 */ fsubs f0, f0, f1
/* 8017E5C0 0017B500 D0 1F 04 04 */ stfs f0, 0x404(r31)
/* 8017E5C4 0017B504 38 61 00 60 */ addi r3, r1, 0x60
/* 8017E5C8 0017B508 38 9F 04 14 */ addi r4, r31, 0x414
/* 8017E5CC 0017B50C 38 BF 00 64 */ addi r5, r31, 0x64
/* 8017E5D0 0017B510 48 0E 85 65 */ bl __mi__4cXyzCFRC3Vec
/* 8017E5D4 0017B514 38 61 00 54 */ addi r3, r1, 0x54
/* 8017E5D8 0017B518 38 81 00 60 */ addi r4, r1, 0x60
/* 8017E5DC 0017B51C FC 20 F0 90 */ fmr f1, f30
/* 8017E5E0 0017B520 48 0E 85 A5 */ bl __ml__4cXyzCFf
/* 8017E5E4 0017B524 38 7F 00 64 */ addi r3, r31, 0x64
/* 8017E5E8 0017B528 38 81 00 54 */ addi r4, r1, 0x54
/* 8017E5EC 0017B52C 7C 65 1B 78 */ mr r5, r3
/* 8017E5F0 0017B530 48 1C 8A A1 */ bl PSVECAdd
/* 8017E5F4 0017B534 C0 3F 00 5C */ lfs f1, 0x5c(r31)
/* 8017E5F8 0017B538 C0 1F 03 F8 */ lfs f0, 0x3f8(r31)
/* 8017E5FC 0017B53C EC 00 08 28 */ fsubs f0, f0, f1
/* 8017E600 0017B540 EC 1E 00 32 */ fmuls f0, f30, f0
/* 8017E604 0017B544 EC 01 00 2A */ fadds f0, f1, f0
/* 8017E608 0017B548 D0 1F 00 5C */ stfs f0, 0x5c(r31)
/* 8017E60C 0017B54C 38 61 00 24 */ addi r3, r1, 0x24
/* 8017E610 0017B550 38 9F 03 FC */ addi r4, r31, 0x3fc
/* 8017E614 0017B554 3B DF 00 60 */ addi r30, r31, 0x60
/* 8017E618 0017B558 7F C5 F3 78 */ mr r5, r30
/* 8017E61C 0017B55C 48 0F 2B 89 */ bl __mi__7cSAngleCFRC7cSAngle
/* 8017E620 0017B560 38 61 00 20 */ addi r3, r1, 0x20
/* 8017E624 0017B564 38 81 00 24 */ addi r4, r1, 0x24
/* 8017E628 0017B568 FC 20 F0 90 */ fmr f1, f30
/* 8017E62C 0017B56C 48 0F 2C 39 */ bl __ml__7cSAngleCFf
/* 8017E630 0017B570 38 61 00 1C */ addi r3, r1, 0x1c
/* 8017E634 0017B574 7F C4 F3 78 */ mr r4, r30
/* 8017E638 0017B578 38 A1 00 20 */ addi r5, r1, 0x20
/* 8017E63C 0017B57C 48 0F 2B 39 */ bl __pl__7cSAngleCFRC7cSAngle
/* 8017E640 0017B580 38 61 00 0C */ addi r3, r1, 0xc
/* 8017E644 0017B584 A8 81 00 1C */ lha r4, 0x1c(r1)
/* 8017E648 0017B588 48 0F 29 51 */ bl __ct__7cSAngleFs
/* 8017E64C 0017B58C A8 01 00 0C */ lha r0, 0xc(r1)
/* 8017E650 0017B590 B0 1F 00 60 */ sth r0, 0x60(r31)
/* 8017E654 0017B594 38 61 00 18 */ addi r3, r1, 0x18
/* 8017E658 0017B598 38 9F 03 FE */ addi r4, r31, 0x3fe
/* 8017E65C 0017B59C 3B DF 00 62 */ addi r30, r31, 0x62
/* 8017E660 0017B5A0 7F C5 F3 78 */ mr r5, r30
/* 8017E664 0017B5A4 48 0F 2B 41 */ bl __mi__7cSAngleCFRC7cSAngle
/* 8017E668 0017B5A8 38 61 00 14 */ addi r3, r1, 0x14
/* 8017E66C 0017B5AC 38 81 00 18 */ addi r4, r1, 0x18
/* 8017E670 0017B5B0 FC 20 F0 90 */ fmr f1, f30
/* 8017E674 0017B5B4 48 0F 2B F1 */ bl __ml__7cSAngleCFf
/* 8017E678 0017B5B8 38 61 00 10 */ addi r3, r1, 0x10
/* 8017E67C 0017B5BC 7F C4 F3 78 */ mr r4, r30
/* 8017E680 0017B5C0 38 A1 00 14 */ addi r5, r1, 0x14
/* 8017E684 0017B5C4 48 0F 2A F1 */ bl __pl__7cSAngleCFRC7cSAngle
/* 8017E688 0017B5C8 38 61 00 08 */ addi r3, r1, 8
/* 8017E68C 0017B5CC A8 81 00 10 */ lha r4, 0x10(r1)
/* 8017E690 0017B5D0 48 0F 29 09 */ bl __ct__7cSAngleFs
/* 8017E694 0017B5D4 A8 01 00 08 */ lha r0, 8(r1)
/* 8017E698 0017B5D8 B0 1F 00 62 */ sth r0, 0x62(r31)
/* 8017E69C 0017B5DC 38 61 00 48 */ addi r3, r1, 0x48
/* 8017E6A0 0017B5E0 38 9F 00 5C */ addi r4, r31, 0x5c
/* 8017E6A4 0017B5E4 48 0F 34 11 */ bl Xyz__7cSGlobeCFv
/* 8017E6A8 0017B5E8 38 61 00 3C */ addi r3, r1, 0x3c
/* 8017E6AC 0017B5EC 38 9F 00 64 */ addi r4, r31, 0x64
/* 8017E6B0 0017B5F0 38 A1 00 48 */ addi r5, r1, 0x48
/* 8017E6B4 0017B5F4 48 0E 84 31 */ bl __pl__4cXyzCFRC3Vec
/* 8017E6B8 0017B5F8 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 8017E6BC 0017B5FC D0 1F 00 70 */ stfs f0, 0x70(r31)
/* 8017E6C0 0017B600 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8017E6C4 0017B604 D0 1F 00 74 */ stfs f0, 0x74(r31)
/* 8017E6C8 0017B608 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 8017E6CC 0017B60C D0 1F 00 78 */ stfs f0, 0x78(r31)
/* 8017E6D0 0017B610 C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 8017E6D4 0017B614 C0 1F 04 0C */ lfs f0, 0x40c(r31)
/* 8017E6D8 0017B618 EC 00 08 28 */ fsubs f0, f0, f1
/* 8017E6DC 0017B61C EC 1E 00 32 */ fmuls f0, f30, f0
/* 8017E6E0 0017B620 EC 01 00 2A */ fadds f0, f1, f0
/* 8017E6E4 0017B624 D0 1F 00 80 */ stfs f0, 0x80(r31)
/* 8017E6E8 0017B628 80 9F 01 74 */ lwz r4, 0x174(r31)
/* 8017E6EC 0017B62C 80 7F 04 00 */ lwz r3, 0x400(r31)
/* 8017E6F0 0017B630 38 03 FF FF */ addi r0, r3, -1
/* 8017E6F4 0017B634 7C 04 00 40 */ cmplw r4, r0
/* 8017E6F8 0017B638 41 80 00 0C */ blt lbl_8017E704
/* 8017E6FC 0017B63C 38 00 00 01 */ li r0, 1
/* 8017E700 0017B640 98 1F 01 58 */ stb r0, 0x158(r31)
lbl_8017E704:
/* 8017E704 0017B644 38 60 00 01 */ li r3, 1
lbl_8017E708:
/* 8017E708 0017B648 E3 E1 02 08 */ psq_l f31, 520(r1), 0, 0
/* 8017E70C 0017B64C CB E1 02 00 */ lfd f31, 0x200(r1)
/* 8017E710 0017B650 E3 C1 01 F8 */ psq_l f30, 504(r1), 0, 0
/* 8017E714 0017B654 CB C1 01 F0 */ lfd f30, 0x1f0(r1)
/* 8017E718 0017B658 83 E1 01 EC */ lwz r31, 0x1ec(r1)
/* 8017E71C 0017B65C 83 C1 01 E8 */ lwz r30, 0x1e8(r1)
/* 8017E720 0017B660 80 01 02 14 */ lwz r0, 0x214(r1)
/* 8017E724 0017B664 7C 08 03 A6 */ mtlr r0
/* 8017E728 0017B668 38 21 02 10 */ addi r1, r1, 0x210
/* 8017E72C 0017B66C 4E 80 00 20 */ blr