Files
tp/include/d/d_camera/asm/func_80178E50.s
T
lepelog 0cf65151b3 Split SComponent (#45)
* split c_math

* split c_angle

* split c_API_controller_pad

* split c_API_graphic

* split c_bg_s_chk

* c_bg_s_gnd_chk split

* more c_bg split

* split c_cc_d

* delete asm

* split c_cc_s

* split c_lib

* split c_m2d and c_m3d_g_aab

* split c_m3d_g_cir

* split c_m3d_g_cps

* split rest of c_m3d_g

* split c_m3d

* split c_malloc

* split c_request

* split c_sxyz

* split and partly decompile c_xyz

* format

* c_angle.h

* begin c_angle decomp

* c_angle

* progress adding stub classes for SComponent

* more c_m3d

* remove some asm and format

* more m3d headers

* more c_angle decomp

* c_lib headers

* add public to classes

* fix csXyz member names

* c_sxyz partly OK

* move Zero csXyz to c_sxyz header

* c_API_graphic

* delete some unused asm

* move math extern data, decompile some functions

* delete unused asm

* fix duplicated c_angle.h

* fix an inlined function name, add more inlined functions for c_angle.h (currently unused)

* format

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:04:53 -05:00

487 lines
26 KiB
ArmAsm

/* 80178E50 00175D90 94 21 FD A0 */ stwu r1, -0x260(r1)
/* 80178E54 00175D94 7C 08 02 A6 */ mflr r0
/* 80178E58 00175D98 90 01 02 64 */ stw r0, 0x264(r1)
/* 80178E5C 00175D9C DB E1 02 50 */ stfd f31, 0x250(r1)
/* 80178E60 00175DA0 F3 E1 02 58 */ psq_st f31, 600(r1), 0, 0
/* 80178E64 00175DA4 DB C1 02 40 */ stfd f30, 0x240(r1)
/* 80178E68 00175DA8 F3 C1 02 48 */ psq_st f30, 584(r1), 0, 0
/* 80178E6C 00175DAC DB A1 02 30 */ stfd f29, 0x230(r1)
/* 80178E70 00175DB0 F3 A1 02 38 */ psq_st f29, 568(r1), 0, 0
/* 80178E74 00175DB4 DB 81 02 20 */ stfd f28, 0x220(r1)
/* 80178E78 00175DB8 F3 81 02 28 */ psq_st f28, 552(r1), 0, 0
/* 80178E7C 00175DBC 39 61 02 20 */ addi r11, r1, 0x220
/* 80178E80 00175DC0 48 1E 93 4D */ bl _savegpr_25
/* 80178E84 00175DC4 7C 7A 1B 78 */ mr r26, r3
/* 80178E88 00175DC8 80 03 0A F4 */ lwz r0, 0xaf4(r3)
/* 80178E8C 00175DCC 1F C4 00 78 */ mulli r30, r4, 0x78
/* 80178E90 00175DD0 7C 60 F2 14 */ add r3, r0, r30
/* 80178E94 00175DD4 C1 43 00 08 */ lfs f10, 8(r3)
/* 80178E98 00175DD8 C1 63 00 10 */ lfs f11, 0x10(r3)
/* 80178E9C 00175DDC C1 83 00 0C */ lfs f12, 0xc(r3)
/* 80178EA0 00175DE0 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 80178EA4 00175DE4 C0 23 00 20 */ lfs f1, 0x20(r3)
/* 80178EA8 00175DE8 C3 E3 00 24 */ lfs f31, 0x24(r3)
/* 80178EAC 00175DEC C3 C3 00 28 */ lfs f30, 0x28(r3)
/* 80178EB0 00175DF0 C3 A3 00 34 */ lfs f29, 0x34(r3)
/* 80178EB4 00175DF4 C3 83 00 64 */ lfs f28, 0x64(r3)
/* 80178EB8 00175DF8 C0 43 00 4C */ lfs f2, 0x4c(r3)
/* 80178EBC 00175DFC C0 82 9D E8 */ lfs f4, lbl_804537E8-_SDA2_BASE_(r2)
/* 80178EC0 00175E00 D0 81 01 28 */ stfs f4, 0x128(r1)
/* 80178EC4 00175E04 C0 62 9D 68 */ lfs f3, lbl_80453768-_SDA2_BASE_(r2)
/* 80178EC8 00175E08 D0 61 01 2C */ stfs f3, 0x12c(r1)
/* 80178ECC 00175E0C C1 22 9E B0 */ lfs f9, lbl_804538B0-_SDA2_BASE_(r2)
/* 80178ED0 00175E10 D1 21 01 30 */ stfs f9, 0x130(r1)
/* 80178ED4 00175E14 D0 81 01 C4 */ stfs f4, 0x1c4(r1)
/* 80178ED8 00175E18 D0 61 01 C8 */ stfs f3, 0x1c8(r1)
/* 80178EDC 00175E1C D1 21 01 CC */ stfs f9, 0x1cc(r1)
/* 80178EE0 00175E20 C0 A2 9E 7C */ lfs f5, lbl_8045387C-_SDA2_BASE_(r2)
/* 80178EE4 00175E24 D0 A1 01 1C */ stfs f5, 0x11c(r1)
/* 80178EE8 00175E28 C0 82 9C B8 */ lfs f4, lbl_804536B8-_SDA2_BASE_(r2)
/* 80178EEC 00175E2C D0 81 01 20 */ stfs f4, 0x120(r1)
/* 80178EF0 00175E30 C0 62 9E 40 */ lfs f3, lbl_80453840-_SDA2_BASE_(r2)
/* 80178EF4 00175E34 D0 61 01 24 */ stfs f3, 0x124(r1)
/* 80178EF8 00175E38 D0 A1 01 D0 */ stfs f5, 0x1d0(r1)
/* 80178EFC 00175E3C D0 81 01 D4 */ stfs f4, 0x1d4(r1)
/* 80178F00 00175E40 D0 61 01 D8 */ stfs f3, 0x1d8(r1)
/* 80178F04 00175E44 C0 62 9E B4 */ lfs f3, lbl_804538B4-_SDA2_BASE_(r2)
/* 80178F08 00175E48 D0 61 01 10 */ stfs f3, 0x110(r1)
/* 80178F0C 00175E4C C1 02 9D 90 */ lfs f8, lbl_80453790-_SDA2_BASE_(r2)
/* 80178F10 00175E50 D1 01 01 14 */ stfs f8, 0x114(r1)
/* 80178F14 00175E54 C0 E2 9E 84 */ lfs f7, lbl_80453884-_SDA2_BASE_(r2)
/* 80178F18 00175E58 D0 E1 01 18 */ stfs f7, 0x118(r1)
/* 80178F1C 00175E5C D0 61 01 DC */ stfs f3, 0x1dc(r1)
/* 80178F20 00175E60 D1 01 01 E0 */ stfs f8, 0x1e0(r1)
/* 80178F24 00175E64 D0 E1 01 E4 */ stfs f7, 0x1e4(r1)
/* 80178F28 00175E68 C0 A2 9D 38 */ lfs f5, lbl_80453738-_SDA2_BASE_(r2)
/* 80178F2C 00175E6C D0 A1 01 04 */ stfs f5, 0x104(r1)
/* 80178F30 00175E70 C0 82 9E B8 */ lfs f4, lbl_804538B8-_SDA2_BASE_(r2)
/* 80178F34 00175E74 D0 81 01 08 */ stfs f4, 0x108(r1)
/* 80178F38 00175E78 C0 62 9E BC */ lfs f3, lbl_804538BC-_SDA2_BASE_(r2)
/* 80178F3C 00175E7C D0 61 01 0C */ stfs f3, 0x10c(r1)
/* 80178F40 00175E80 D0 A1 01 E8 */ stfs f5, 0x1e8(r1)
/* 80178F44 00175E84 D0 81 01 EC */ stfs f4, 0x1ec(r1)
/* 80178F48 00175E88 D0 61 01 F0 */ stfs f3, 0x1f0(r1)
/* 80178F4C 00175E8C C0 C2 9D 34 */ lfs f6, lbl_80453734-_SDA2_BASE_(r2)
/* 80178F50 00175E90 D0 C1 00 F8 */ stfs f6, 0xf8(r1)
/* 80178F54 00175E94 D0 E1 00 FC */ stfs f7, 0xfc(r1)
/* 80178F58 00175E98 C0 62 9E C0 */ lfs f3, lbl_804538C0-_SDA2_BASE_(r2)
/* 80178F5C 00175E9C D0 61 01 00 */ stfs f3, 0x100(r1)
/* 80178F60 00175EA0 D0 C1 01 94 */ stfs f6, 0x194(r1)
/* 80178F64 00175EA4 D0 E1 01 98 */ stfs f7, 0x198(r1)
/* 80178F68 00175EA8 D0 61 01 9C */ stfs f3, 0x19c(r1)
/* 80178F6C 00175EAC C0 A2 9C E4 */ lfs f5, lbl_804536E4-_SDA2_BASE_(r2)
/* 80178F70 00175EB0 D0 A1 00 EC */ stfs f5, 0xec(r1)
/* 80178F74 00175EB4 C0 82 9E C4 */ lfs f4, lbl_804538C4-_SDA2_BASE_(r2)
/* 80178F78 00175EB8 D0 81 00 F0 */ stfs f4, 0xf0(r1)
/* 80178F7C 00175EBC C0 62 9E 0C */ lfs f3, lbl_8045380C-_SDA2_BASE_(r2)
/* 80178F80 00175EC0 D0 61 00 F4 */ stfs f3, 0xf4(r1)
/* 80178F84 00175EC4 D0 A1 01 A0 */ stfs f5, 0x1a0(r1)
/* 80178F88 00175EC8 D0 81 01 A4 */ stfs f4, 0x1a4(r1)
/* 80178F8C 00175ECC D0 61 01 A8 */ stfs f3, 0x1a8(r1)
/* 80178F90 00175ED0 C0 A2 9D 54 */ lfs f5, lbl_80453754-_SDA2_BASE_(r2)
/* 80178F94 00175ED4 D0 A1 00 E0 */ stfs f5, 0xe0(r1)
/* 80178F98 00175ED8 C0 82 9D EC */ lfs f4, lbl_804537EC-_SDA2_BASE_(r2)
/* 80178F9C 00175EDC D0 81 00 E4 */ stfs f4, 0xe4(r1)
/* 80178FA0 00175EE0 C0 62 9D 10 */ lfs f3, lbl_80453710-_SDA2_BASE_(r2)
/* 80178FA4 00175EE4 D0 61 00 E8 */ stfs f3, 0xe8(r1)
/* 80178FA8 00175EE8 D0 A1 01 AC */ stfs f5, 0x1ac(r1)
/* 80178FAC 00175EEC D0 81 01 B0 */ stfs f4, 0x1b0(r1)
/* 80178FB0 00175EF0 D0 61 01 B4 */ stfs f3, 0x1b4(r1)
/* 80178FB4 00175EF4 D0 C1 00 D4 */ stfs f6, 0xd4(r1)
/* 80178FB8 00175EF8 D1 01 00 D8 */ stfs f8, 0xd8(r1)
/* 80178FBC 00175EFC D1 21 00 DC */ stfs f9, 0xdc(r1)
/* 80178FC0 00175F00 D0 C1 01 B8 */ stfs f6, 0x1b8(r1)
/* 80178FC4 00175F04 D1 01 01 BC */ stfs f8, 0x1bc(r1)
/* 80178FC8 00175F08 D1 21 01 C0 */ stfs f9, 0x1c0(r1)
/* 80178FCC 00175F0C D1 41 01 7C */ stfs f10, 0x17c(r1)
/* 80178FD0 00175F10 D1 61 01 80 */ stfs f11, 0x180(r1)
/* 80178FD4 00175F14 D1 81 01 84 */ stfs f12, 0x184(r1)
/* 80178FD8 00175F18 80 9A 01 74 */ lwz r4, 0x174(r26)
/* 80178FDC 00175F1C 28 04 00 00 */ cmplwi r4, 0
/* 80178FE0 00175F20 40 82 03 30 */ bne lbl_80179310
/* 80178FE4 00175F24 3C 60 48 4F */ lis r3, 0x484F4F4B@ha
/* 80178FE8 00175F28 38 03 4F 4B */ addi r0, r3, 0x484F4F4B@l
/* 80178FEC 00175F2C 90 1A 03 E8 */ stw r0, 0x3e8(r26)
/* 80178FF0 00175F30 C0 1A 00 30 */ lfs f0, 0x30(r26)
/* 80178FF4 00175F34 D0 1A 03 F0 */ stfs f0, 0x3f0(r26)
/* 80178FF8 00175F38 C0 1A 00 34 */ lfs f0, 0x34(r26)
/* 80178FFC 00175F3C D0 1A 03 F4 */ stfs f0, 0x3f4(r26)
/* 80179000 00175F40 C0 1A 00 38 */ lfs f0, 0x38(r26)
/* 80179004 00175F44 D0 1A 03 F8 */ stfs f0, 0x3f8(r26)
/* 80179008 00175F48 38 61 00 C8 */ addi r3, r1, 0xc8
/* 8017900C 00175F4C 7F 44 D3 78 */ mr r4, r26
/* 80179010 00175F50 80 BA 01 80 */ lwz r5, 0x180(r26)
/* 80179014 00175F54 4B F1 E7 49 */ bl dCamera_c_NS_positionOf
/* 80179018 00175F58 C0 01 00 C8 */ lfs f0, 0xc8(r1)
/* 8017901C 00175F5C D0 01 01 70 */ stfs f0, 0x170(r1)
/* 80179020 00175F60 C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 80179024 00175F64 D0 01 01 74 */ stfs f0, 0x174(r1)
/* 80179028 00175F68 C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 8017902C 00175F6C D0 01 01 78 */ stfs f0, 0x178(r1)
/* 80179030 00175F70 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80179034 00175F74 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80179038 00175F78 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 8017903C 00175F7C C0 03 37 EC */ lfs f0, 0x37ec(r3)
/* 80179040 00175F80 D0 01 01 64 */ stfs f0, 0x164(r1)
/* 80179044 00175F84 C0 03 37 F0 */ lfs f0, 0x37f0(r3)
/* 80179048 00175F88 D0 01 01 68 */ stfs f0, 0x168(r1)
/* 8017904C 00175F8C C0 03 37 F4 */ lfs f0, 0x37f4(r3)
/* 80179050 00175F90 D0 01 01 6C */ stfs f0, 0x16c(r1)
/* 80179054 00175F94 80 03 31 6C */ lwz r0, 0x316c(r3)
/* 80179058 00175F98 90 01 00 54 */ stw r0, 0x54(r1)
/* 8017905C 00175F9C A0 03 31 70 */ lhz r0, 0x3170(r3)
/* 80179060 00175FA0 B0 01 00 58 */ sth r0, 0x58(r1)
/* 80179064 00175FA4 38 61 00 BC */ addi r3, r1, 0xbc
/* 80179068 00175FA8 38 81 01 64 */ addi r4, r1, 0x164
/* 8017906C 00175FAC 38 A1 01 70 */ addi r5, r1, 0x170
/* 80179070 00175FB0 48 0E DA C5 */ bl __mi__4cXyzCFRC3Vec
/* 80179074 00175FB4 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 80179078 00175FB8 D0 01 01 58 */ stfs f0, 0x158(r1)
/* 8017907C 00175FBC C0 01 00 C0 */ lfs f0, 0xc0(r1)
/* 80179080 00175FC0 D0 01 01 5C */ stfs f0, 0x15c(r1)
/* 80179084 00175FC4 C0 01 00 C4 */ lfs f0, 0xc4(r1)
/* 80179088 00175FC8 D0 01 01 60 */ stfs f0, 0x160(r1)
/* 8017908C 00175FCC A8 01 00 54 */ lha r0, 0x54(r1)
/* 80179090 00175FD0 38 80 CC CD */ li r4, -13107
/* 80179094 00175FD4 7C 80 02 78 */ xor r0, r4, r0
/* 80179098 00175FD8 7C 03 0E 70 */ srawi r3, r0, 1
/* 8017909C 00175FDC 7C 00 20 38 */ and r0, r0, r4
/* 801790A0 00175FE0 7C 00 18 50 */ subf r0, r0, r3
/* 801790A4 00175FE4 54 1D 0F FF */ rlwinm. r29, r0, 1, 0x1f, 0x1f
/* 801790A8 00175FE8 41 82 00 30 */ beq lbl_801790D8
/* 801790AC 00175FEC 38 61 00 4C */ addi r3, r1, 0x4c
/* 801790B0 00175FF0 38 81 01 58 */ addi r4, r1, 0x158
/* 801790B4 00175FF4 48 0F 87 CD */ bl __ct__7cSGlobeFRC4cXyz
/* 801790B8 00175FF8 A8 01 00 50 */ lha r0, 0x50(r1)
/* 801790BC 00175FFC B0 01 00 54 */ sth r0, 0x54(r1)
/* 801790C0 00176000 A8 01 00 52 */ lha r0, 0x52(r1)
/* 801790C4 00176004 B0 01 00 56 */ sth r0, 0x56(r1)
/* 801790C8 00176008 38 00 00 00 */ li r0, 0
/* 801790CC 0017600C B0 01 00 58 */ sth r0, 0x58(r1)
/* 801790D0 00176010 3B 81 01 94 */ addi r28, r1, 0x194
/* 801790D4 00176014 48 00 00 08 */ b lbl_801790DC
lbl_801790D8:
/* 801790D8 00176018 3B 81 01 C4 */ addi r28, r1, 0x1c4
lbl_801790DC:
/* 801790DC 0017601C 38 61 01 58 */ addi r3, r1, 0x158
/* 801790E0 00176020 48 1C E0 59 */ bl PSVECSquareMag
/* 801790E4 00176024 C0 02 9C A0 */ lfs f0, lbl_804536A0-_SDA2_BASE_(r2)
/* 801790E8 00176028 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801790EC 0017602C 40 81 00 58 */ ble lbl_80179144
/* 801790F0 00176030 FC 00 08 34 */ frsqrte f0, f1
/* 801790F4 00176034 C8 82 9C C8 */ lfd f4, lbl_804536C8-_SDA2_BASE_(r2)
/* 801790F8 00176038 FC 44 00 32 */ fmul f2, f4, f0
/* 801790FC 0017603C C8 62 9C D0 */ lfd f3, lbl_804536D0-_SDA2_BASE_(r2)
/* 80179100 00176040 FC 00 00 32 */ fmul f0, f0, f0
/* 80179104 00176044 FC 01 00 32 */ fmul f0, f1, f0
/* 80179108 00176048 FC 03 00 28 */ fsub f0, f3, f0
/* 8017910C 0017604C FC 02 00 32 */ fmul f0, f2, f0
/* 80179110 00176050 FC 44 00 32 */ fmul f2, f4, f0
/* 80179114 00176054 FC 00 00 32 */ fmul f0, f0, f0
/* 80179118 00176058 FC 01 00 32 */ fmul f0, f1, f0
/* 8017911C 0017605C FC 03 00 28 */ fsub f0, f3, f0
/* 80179120 00176060 FC 02 00 32 */ fmul f0, f2, f0
/* 80179124 00176064 FC 44 00 32 */ fmul f2, f4, f0
/* 80179128 00176068 FC 00 00 32 */ fmul f0, f0, f0
/* 8017912C 0017606C FC 01 00 32 */ fmul f0, f1, f0
/* 80179130 00176070 FC 03 00 28 */ fsub f0, f3, f0
/* 80179134 00176074 FC 02 00 32 */ fmul f0, f2, f0
/* 80179138 00176078 FC 21 00 32 */ fmul f1, f1, f0
/* 8017913C 0017607C FC 20 08 18 */ frsp f1, f1
/* 80179140 00176080 48 00 00 88 */ b lbl_801791C8
lbl_80179144:
/* 80179144 00176084 C8 02 9C D8 */ lfd f0, lbl_804536D8-_SDA2_BASE_(r2)
/* 80179148 00176088 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8017914C 0017608C 40 80 00 10 */ bge lbl_8017915C
/* 80179150 00176090 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 80179154 00176094 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
/* 80179158 00176098 48 00 00 70 */ b lbl_801791C8
lbl_8017915C:
/* 8017915C 0017609C D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80179160 001760A0 80 81 00 38 */ lwz r4, 0x38(r1)
/* 80179164 001760A4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80179168 001760A8 3C 00 7F 80 */ lis r0, 0x7f80
/* 8017916C 001760AC 7C 03 00 00 */ cmpw r3, r0
/* 80179170 001760B0 41 82 00 14 */ beq lbl_80179184
/* 80179174 001760B4 40 80 00 40 */ bge lbl_801791B4
/* 80179178 001760B8 2C 03 00 00 */ cmpwi r3, 0
/* 8017917C 001760BC 41 82 00 20 */ beq lbl_8017919C
/* 80179180 001760C0 48 00 00 34 */ b lbl_801791B4
lbl_80179184:
/* 80179184 001760C4 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80179188 001760C8 41 82 00 0C */ beq lbl_80179194
/* 8017918C 001760CC 38 00 00 01 */ li r0, 1
/* 80179190 001760D0 48 00 00 28 */ b lbl_801791B8
lbl_80179194:
/* 80179194 001760D4 38 00 00 02 */ li r0, 2
/* 80179198 001760D8 48 00 00 20 */ b lbl_801791B8
lbl_8017919C:
/* 8017919C 001760DC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 801791A0 001760E0 41 82 00 0C */ beq lbl_801791AC
/* 801791A4 001760E4 38 00 00 05 */ li r0, 5
/* 801791A8 001760E8 48 00 00 10 */ b lbl_801791B8
lbl_801791AC:
/* 801791AC 001760EC 38 00 00 03 */ li r0, 3
/* 801791B0 001760F0 48 00 00 08 */ b lbl_801791B8
lbl_801791B4:
/* 801791B4 001760F4 38 00 00 04 */ li r0, 4
lbl_801791B8:
/* 801791B8 001760F8 2C 00 00 01 */ cmpwi r0, 1
/* 801791BC 001760FC 40 82 00 0C */ bne lbl_801791C8
/* 801791C0 00176100 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 801791C4 00176104 C0 23 0A E0 */ lfs f1, lbl_80450AE0@l(r3)
lbl_801791C8:
/* 801791C8 00176108 FC 01 E8 40 */ fcmpo cr0, f1, f29
/* 801791CC 0017610C 40 81 01 34 */ ble lbl_80179300
/* 801791D0 00176110 80 1A 0A F4 */ lwz r0, 0xaf4(r26)
/* 801791D4 00176114 7C 60 F2 14 */ add r3, r0, r30
/* 801791D8 00176118 A0 03 00 06 */ lhz r0, 6(r3)
/* 801791DC 0017611C 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14
/* 801791E0 00176120 41 82 01 20 */ beq lbl_80179300
/* 801791E4 00176124 80 1A 00 A8 */ lwz r0, 0xa8(r26)
/* 801791E8 00176128 54 19 E7 FE */ rlwinm r25, r0, 0x1c, 0x1f, 0x1f
/* 801791EC 0017612C 3B 60 00 00 */ li r27, 0
/* 801791F0 00176130 3B E1 00 4A */ addi r31, r1, 0x4a
/* 801791F4 00176134 3B C1 00 48 */ addi r30, r1, 0x48
lbl_801791F8:
/* 801791F8 00176138 7F 60 0E 70 */ srawi r0, r27, 1
/* 801791FC 0017613C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80179200 00176140 7C 7C 02 14 */ add r3, r28, r0
/* 80179204 00176144 C0 23 00 00 */ lfs f1, 0(r3)
/* 80179208 00176148 D0 21 01 4C */ stfs f1, 0x14c(r1)
/* 8017920C 0017614C C0 03 00 04 */ lfs f0, 4(r3)
/* 80179210 00176150 D0 01 01 50 */ stfs f0, 0x150(r1)
/* 80179214 00176154 C0 03 00 08 */ lfs f0, 8(r3)
/* 80179218 00176158 D0 01 01 54 */ stfs f0, 0x154(r1)
/* 8017921C 0017615C 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 80179220 00176160 41 82 00 0C */ beq lbl_8017922C
/* 80179224 00176164 FC 00 08 50 */ fneg f0, f1
/* 80179228 00176168 D0 01 01 4C */ stfs f0, 0x14c(r1)
lbl_8017922C:
/* 8017922C 0017616C 38 61 00 44 */ addi r3, r1, 0x44
/* 80179230 00176170 38 81 01 4C */ addi r4, r1, 0x14c
/* 80179234 00176174 48 0F 88 3D */ bl Val__7cSGlobeFRC4cXyz
/* 80179238 00176178 38 61 00 34 */ addi r3, r1, 0x34
/* 8017923C 0017617C 7F E4 FB 78 */ mr r4, r31
/* 80179240 00176180 A8 A1 00 56 */ lha r5, 0x56(r1)
/* 80179244 00176184 48 0F 7F B9 */ bl __pl__7cSAngleCFs
/* 80179248 00176188 38 61 00 14 */ addi r3, r1, 0x14
/* 8017924C 0017618C A8 81 00 34 */ lha r4, 0x34(r1)
/* 80179250 00176190 48 0F 7D 49 */ bl __ct__7cSAngleFs
/* 80179254 00176194 A8 01 00 14 */ lha r0, 0x14(r1)
/* 80179258 00176198 B0 01 00 4A */ sth r0, 0x4a(r1)
/* 8017925C 0017619C 28 1D 00 00 */ cmplwi r29, 0
/* 80179260 001761A0 40 82 00 28 */ bne lbl_80179288
/* 80179264 001761A4 38 61 00 30 */ addi r3, r1, 0x30
/* 80179268 001761A8 7F C4 F3 78 */ mr r4, r30
/* 8017926C 001761AC A8 A1 00 54 */ lha r5, 0x54(r1)
/* 80179270 001761B0 48 0F 7F 8D */ bl __pl__7cSAngleCFs
/* 80179274 001761B4 38 61 00 10 */ addi r3, r1, 0x10
/* 80179278 001761B8 A8 81 00 30 */ lha r4, 0x30(r1)
/* 8017927C 001761BC 48 0F 7D 1D */ bl __ct__7cSAngleFs
/* 80179280 001761C0 A8 01 00 10 */ lha r0, 0x10(r1)
/* 80179284 001761C4 B0 01 00 48 */ sth r0, 0x48(r1)
lbl_80179288:
/* 80179288 001761C8 38 61 00 B0 */ addi r3, r1, 0xb0
/* 8017928C 001761CC 38 81 00 44 */ addi r4, r1, 0x44
/* 80179290 001761D0 48 0F 88 25 */ bl Xyz__7cSGlobeCFv
/* 80179294 001761D4 38 61 00 A4 */ addi r3, r1, 0xa4
/* 80179298 001761D8 38 81 01 64 */ addi r4, r1, 0x164
/* 8017929C 001761DC 38 A1 00 B0 */ addi r5, r1, 0xb0
/* 801792A0 001761E0 48 0E D8 45 */ bl __pl__4cXyzCFRC3Vec
/* 801792A4 001761E4 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 801792A8 001761E8 D0 1A 03 FC */ stfs f0, 0x3fc(r26)
/* 801792AC 001761EC C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 801792B0 001761F0 D0 1A 04 00 */ stfs f0, 0x400(r26)
/* 801792B4 001761F4 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 801792B8 001761F8 D0 1A 04 04 */ stfs f0, 0x404(r26)
/* 801792BC 001761FC 7F 43 D3 78 */ mr r3, r26
/* 801792C0 00176200 38 81 01 70 */ addi r4, r1, 0x170
/* 801792C4 00176204 38 BA 03 FC */ addi r5, r26, 0x3fc
/* 801792C8 00176208 38 C0 00 07 */ li r6, 7
/* 801792CC 0017620C 4B FE C8 25 */ bl dCamera_c_NS_lineBGCheck_X2_
/* 801792D0 00176210 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801792D4 00176214 40 82 00 10 */ bne lbl_801792E4
/* 801792D8 00176218 38 00 00 01 */ li r0, 1
/* 801792DC 0017621C 98 1A 04 08 */ stb r0, 0x408(r26)
/* 801792E0 00176220 48 00 00 20 */ b lbl_80179300
lbl_801792E4:
/* 801792E4 00176224 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 801792E8 00176228 7C 00 00 34 */ cntlzw r0, r0
/* 801792EC 0017622C 54 00 D9 7E */ srwi r0, r0, 5
/* 801792F0 00176230 7C 19 03 78 */ mr r25, r0
/* 801792F4 00176234 3B 7B 00 01 */ addi r27, r27, 1
/* 801792F8 00176238 2C 1B 00 08 */ cmpwi r27, 8
/* 801792FC 0017623C 41 80 FE FC */ blt lbl_801791F8
lbl_80179300:
/* 80179300 00176240 38 00 00 01 */ li r0, 1
/* 80179304 00176244 98 1A 01 58 */ stb r0, 0x158(r26)
/* 80179308 00176248 38 60 00 01 */ li r3, 1
/* 8017930C 0017624C 48 00 02 4C */ b lbl_80179558
lbl_80179310:
/* 80179310 00176250 88 1A 04 08 */ lbz r0, 0x408(r26)
/* 80179314 00176254 28 00 00 00 */ cmplwi r0, 0
/* 80179318 00176258 41 82 00 3C */ beq lbl_80179354
/* 8017931C 0017625C 28 04 00 08 */ cmplwi r4, 8
/* 80179320 00176260 40 81 00 34 */ ble lbl_80179354
/* 80179324 00176264 A0 03 00 06 */ lhz r0, 6(r3)
/* 80179328 00176268 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14
/* 8017932C 0017626C 41 82 00 28 */ beq lbl_80179354
/* 80179330 00176270 C0 7A 03 FC */ lfs f3, 0x3fc(r26)
/* 80179334 00176274 D0 61 01 88 */ stfs f3, 0x188(r1)
/* 80179338 00176278 C0 7A 04 00 */ lfs f3, 0x400(r26)
/* 8017933C 0017627C D0 61 01 8C */ stfs f3, 0x18c(r1)
/* 80179340 00176280 C0 7A 04 04 */ lfs f3, 0x404(r26)
/* 80179344 00176284 D0 61 01 90 */ stfs f3, 0x190(r1)
/* 80179348 00176288 FF A0 10 90 */ fmr f29, f2
/* 8017934C 0017628C C3 82 9C A8 */ lfs f28, lbl_804536A8-_SDA2_BASE_(r2)
/* 80179350 00176290 48 00 00 20 */ b lbl_80179370
lbl_80179354:
/* 80179354 00176294 C0 7A 00 3C */ lfs f3, 0x3c(r26)
/* 80179358 00176298 D0 61 01 88 */ stfs f3, 0x188(r1)
/* 8017935C 0017629C C0 7A 00 40 */ lfs f3, 0x40(r26)
/* 80179360 001762A0 D0 61 01 8C */ stfs f3, 0x18c(r1)
/* 80179364 001762A4 C0 7A 00 44 */ lfs f3, 0x44(r26)
/* 80179368 001762A8 D0 61 01 90 */ stfs f3, 0x190(r1)
/* 8017936C 001762AC FF A0 10 90 */ fmr f29, f2
lbl_80179370:
/* 80179370 001762B0 D0 21 01 40 */ stfs f1, 0x140(r1)
/* 80179374 001762B4 D0 01 01 44 */ stfs f0, 0x144(r1)
/* 80179378 001762B8 D0 21 01 48 */ stfs f1, 0x148(r1)
/* 8017937C 001762BC 38 61 00 98 */ addi r3, r1, 0x98
/* 80179380 001762C0 7F 44 D3 78 */ mr r4, r26
/* 80179384 001762C4 80 BA 01 80 */ lwz r5, 0x180(r26)
/* 80179388 001762C8 38 C1 01 7C */ addi r6, r1, 0x17c
/* 8017938C 001762CC 4B FE B9 E1 */ bl dCamera_c_NS_relationalPos
/* 80179390 001762D0 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 80179394 001762D4 D0 01 01 34 */ stfs f0, 0x134(r1)
/* 80179398 001762D8 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 8017939C 001762DC D0 01 01 38 */ stfs f0, 0x138(r1)
/* 801793A0 001762E0 C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 801793A4 001762E4 D0 01 01 3C */ stfs f0, 0x13c(r1)
/* 801793A8 001762E8 88 1A 03 8D */ lbz r0, 0x38d(r26)
/* 801793AC 001762EC 28 00 00 00 */ cmplwi r0, 0
/* 801793B0 001762F0 41 82 00 48 */ beq lbl_801793F8
/* 801793B4 001762F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 801793B8 001762F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 801793BC 001762FC 3B 63 0F 38 */ addi r27, r3, 0xf38
/* 801793C0 00176300 7F 63 DB 78 */ mr r3, r27
/* 801793C4 00176304 38 9A 03 40 */ addi r4, r26, 0x340
/* 801793C8 00176308 38 A0 00 01 */ li r5, 1
/* 801793CC 0017630C 38 DA 03 F0 */ addi r6, r26, 0x3f0
/* 801793D0 00176310 38 E0 00 00 */ li r7, 0
/* 801793D4 00176314 39 00 00 00 */ li r8, 0
/* 801793D8 00176318 4B EF C5 85 */ bl dBgS_NS_MoveBgMatrixCrrPos
/* 801793DC 0017631C 7F 63 DB 78 */ mr r3, r27
/* 801793E0 00176320 38 9A 03 40 */ addi r4, r26, 0x340
/* 801793E4 00176324 38 A0 00 01 */ li r5, 1
/* 801793E8 00176328 38 DA 03 FC */ addi r6, r26, 0x3fc
/* 801793EC 0017632C 38 E0 00 00 */ li r7, 0
/* 801793F0 00176330 39 00 00 00 */ li r8, 0
/* 801793F4 00176334 4B EF C5 69 */ bl dBgS_NS_MoveBgMatrixCrrPos
lbl_801793F8:
/* 801793F8 00176338 38 61 00 8C */ addi r3, r1, 0x8c
/* 801793FC 0017633C 38 81 01 34 */ addi r4, r1, 0x134
/* 80179400 00176340 38 BA 00 64 */ addi r5, r26, 0x64
/* 80179404 00176344 48 0E D7 31 */ bl __mi__4cXyzCFRC3Vec
/* 80179408 00176348 38 61 00 80 */ addi r3, r1, 0x80
/* 8017940C 0017634C 38 81 00 8C */ addi r4, r1, 0x8c
/* 80179410 00176350 38 A1 01 40 */ addi r5, r1, 0x140
/* 80179414 00176354 48 0E D7 BD */ bl __ml__4cXyzCFRC3Vec
/* 80179418 00176358 38 7A 00 64 */ addi r3, r26, 0x64
/* 8017941C 0017635C 38 81 00 80 */ addi r4, r1, 0x80
/* 80179420 00176360 7C 65 1B 78 */ mr r5, r3
/* 80179424 00176364 48 1C DC 6D */ bl PSVECAdd
/* 80179428 00176368 38 61 00 74 */ addi r3, r1, 0x74
/* 8017942C 0017636C 38 81 01 88 */ addi r4, r1, 0x188
/* 80179430 00176370 38 BA 00 64 */ addi r5, r26, 0x64
/* 80179434 00176374 48 0E D7 01 */ bl __mi__4cXyzCFRC3Vec
/* 80179438 00176378 38 61 00 3C */ addi r3, r1, 0x3c
/* 8017943C 0017637C 38 81 00 74 */ addi r4, r1, 0x74
/* 80179440 00176380 48 0F 84 41 */ bl __ct__7cSGlobeFRC4cXyz
/* 80179444 00176384 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80179448 00176388 FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 8017944C 0017638C 40 80 00 08 */ bge lbl_80179454
/* 80179450 00176390 D3 C1 00 3C */ stfs f30, 0x3c(r1)
lbl_80179454:
/* 80179454 00176394 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80179458 00176398 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8017945C 0017639C 40 81 00 08 */ ble lbl_80179464
/* 80179460 001763A0 D3 E1 00 3C */ stfs f31, 0x3c(r1)
lbl_80179464:
/* 80179464 001763A4 C0 3A 00 5C */ lfs f1, 0x5c(r26)
/* 80179468 001763A8 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 8017946C 001763AC EC 00 08 28 */ fsubs f0, f0, f1
/* 80179470 001763B0 EC 1C 00 32 */ fmuls f0, f28, f0
/* 80179474 001763B4 EC 01 00 2A */ fadds f0, f1, f0
/* 80179478 001763B8 D0 1A 00 5C */ stfs f0, 0x5c(r26)
/* 8017947C 001763BC 38 61 00 2C */ addi r3, r1, 0x2c
/* 80179480 001763C0 38 81 00 40 */ addi r4, r1, 0x40
/* 80179484 001763C4 3B 7A 00 60 */ addi r27, r26, 0x60
/* 80179488 001763C8 7F 65 DB 78 */ mr r5, r27
/* 8017948C 001763CC 48 0F 7D 19 */ bl __mi__7cSAngleCFRC7cSAngle
/* 80179490 001763D0 38 61 00 28 */ addi r3, r1, 0x28
/* 80179494 001763D4 38 81 00 2C */ addi r4, r1, 0x2c
/* 80179498 001763D8 FC 20 E0 90 */ fmr f1, f28
/* 8017949C 001763DC 48 0F 7D C9 */ bl __ml__7cSAngleCFf
/* 801794A0 001763E0 38 61 00 24 */ addi r3, r1, 0x24
/* 801794A4 001763E4 7F 64 DB 78 */ mr r4, r27
/* 801794A8 001763E8 38 A1 00 28 */ addi r5, r1, 0x28
/* 801794AC 001763EC 48 0F 7C C9 */ bl __pl__7cSAngleCFRC7cSAngle
/* 801794B0 001763F0 38 61 00 0C */ addi r3, r1, 0xc
/* 801794B4 001763F4 A8 81 00 24 */ lha r4, 0x24(r1)
/* 801794B8 001763F8 48 0F 7A E1 */ bl __ct__7cSAngleFs
/* 801794BC 001763FC A8 01 00 0C */ lha r0, 0xc(r1)
/* 801794C0 00176400 B0 1A 00 60 */ sth r0, 0x60(r26)
/* 801794C4 00176404 38 61 00 20 */ addi r3, r1, 0x20
/* 801794C8 00176408 38 81 00 42 */ addi r4, r1, 0x42
/* 801794CC 0017640C 3B 7A 00 62 */ addi r27, r26, 0x62
/* 801794D0 00176410 7F 65 DB 78 */ mr r5, r27
/* 801794D4 00176414 48 0F 7C D1 */ bl __mi__7cSAngleCFRC7cSAngle
/* 801794D8 00176418 38 61 00 1C */ addi r3, r1, 0x1c
/* 801794DC 0017641C 38 81 00 20 */ addi r4, r1, 0x20
/* 801794E0 00176420 FC 20 E0 90 */ fmr f1, f28
/* 801794E4 00176424 48 0F 7D 81 */ bl __ml__7cSAngleCFf
/* 801794E8 00176428 38 61 00 18 */ addi r3, r1, 0x18
/* 801794EC 0017642C 7F 64 DB 78 */ mr r4, r27
/* 801794F0 00176430 38 A1 00 1C */ addi r5, r1, 0x1c
/* 801794F4 00176434 48 0F 7C 81 */ bl __pl__7cSAngleCFRC7cSAngle
/* 801794F8 00176438 38 61 00 08 */ addi r3, r1, 8
/* 801794FC 0017643C A8 81 00 18 */ lha r4, 0x18(r1)
/* 80179500 00176440 48 0F 7A 99 */ bl __ct__7cSAngleFs
/* 80179504 00176444 A8 01 00 08 */ lha r0, 8(r1)
/* 80179508 00176448 B0 1A 00 62 */ sth r0, 0x62(r26)
/* 8017950C 0017644C 38 61 00 68 */ addi r3, r1, 0x68
/* 80179510 00176450 38 9A 00 5C */ addi r4, r26, 0x5c
/* 80179514 00176454 48 0F 85 A1 */ bl Xyz__7cSGlobeCFv
/* 80179518 00176458 38 61 00 5C */ addi r3, r1, 0x5c
/* 8017951C 0017645C 38 9A 00 64 */ addi r4, r26, 0x64
/* 80179520 00176460 38 A1 00 68 */ addi r5, r1, 0x68
/* 80179524 00176464 48 0E D5 C1 */ bl __pl__4cXyzCFRC3Vec
/* 80179528 00176468 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 8017952C 0017646C D0 1A 00 70 */ stfs f0, 0x70(r26)
/* 80179530 00176470 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 80179534 00176474 D0 1A 00 74 */ stfs f0, 0x74(r26)
/* 80179538 00176478 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 8017953C 0017647C D0 1A 00 78 */ stfs f0, 0x78(r26)
/* 80179540 00176480 C0 3A 00 80 */ lfs f1, 0x80(r26)
/* 80179544 00176484 EC 1D 08 28 */ fsubs f0, f29, f1
/* 80179548 00176488 EC 1C 00 32 */ fmuls f0, f28, f0
/* 8017954C 0017648C EC 01 00 2A */ fadds f0, f1, f0
/* 80179550 00176490 D0 1A 00 80 */ stfs f0, 0x80(r26)
/* 80179554 00176494 38 60 00 01 */ li r3, 1
lbl_80179558:
/* 80179558 00176498 E3 E1 02 58 */ psq_l f31, 600(r1), 0, 0
/* 8017955C 0017649C CB E1 02 50 */ lfd f31, 0x250(r1)
/* 80179560 001764A0 E3 C1 02 48 */ psq_l f30, 584(r1), 0, 0
/* 80179564 001764A4 CB C1 02 40 */ lfd f30, 0x240(r1)
/* 80179568 001764A8 E3 A1 02 38 */ psq_l f29, 568(r1), 0, 0
/* 8017956C 001764AC CB A1 02 30 */ lfd f29, 0x230(r1)
/* 80179570 001764B0 E3 81 02 28 */ psq_l f28, 552(r1), 0, 0
/* 80179574 001764B4 CB 81 02 20 */ lfd f28, 0x220(r1)
/* 80179578 001764B8 39 61 02 20 */ addi r11, r1, 0x220
/* 8017957C 001764BC 48 1E 8C 9D */ bl _restgpr_25
/* 80179580 001764C0 80 01 02 64 */ lwz r0, 0x264(r1)
/* 80179584 001764C4 7C 08 03 A6 */ mtlr r0
/* 80179588 001764C8 38 21 02 60 */ addi r1, r1, 0x260
/* 8017958C 001764CC 4E 80 00 20 */ blr