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

190 lines
10 KiB
ArmAsm

/* 80164E20 00161D60 94 21 FE A0 */ stwu r1, -0x160(r1)
/* 80164E24 00161D64 7C 08 02 A6 */ mflr r0
/* 80164E28 00161D68 90 01 01 64 */ stw r0, 0x164(r1)
/* 80164E2C 00161D6C DB E1 01 50 */ stfd f31, 0x150(r1)
/* 80164E30 00161D70 F3 E1 01 58 */ psq_st f31, 344(r1), 0, 0
/* 80164E34 00161D74 DB C1 01 40 */ stfd f30, 0x140(r1)
/* 80164E38 00161D78 F3 C1 01 48 */ psq_st f30, 328(r1), 0, 0
/* 80164E3C 00161D7C 39 61 01 40 */ addi r11, r1, 0x140
/* 80164E40 00161D80 48 1F D3 95 */ bl _savegpr_27
/* 80164E44 00161D84 7C 7F 1B 78 */ mr r31, r3
/* 80164E48 00161D88 7C 9B 23 78 */ mr r27, r4
/* 80164E4C 00161D8C 7C BC 2B 79 */ or. r28, r5, r5
/* 80164E50 00161D90 7C DD 33 78 */ mr r29, r6
/* 80164E54 00161D94 7C FE 3B 78 */ mr r30, r7
/* 80164E58 00161D98 FF E0 08 90 */ fmr f31, f1
/* 80164E5C 00161D9C 40 82 00 24 */ bne lbl_80164E80
/* 80164E60 00161DA0 3C 60 80 43 */ lis r3, lbl_80430CF4@ha
/* 80164E64 00161DA4 C4 03 0C F4 */ lfsu f0, lbl_80430CF4@l(r3)
/* 80164E68 00161DA8 D0 1F 00 00 */ stfs f0, 0(r31)
/* 80164E6C 00161DAC C0 03 00 04 */ lfs f0, 4(r3)
/* 80164E70 00161DB0 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80164E74 00161DB4 C0 03 00 08 */ lfs f0, 8(r3)
/* 80164E78 00161DB8 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80164E7C 00161DBC 48 00 02 60 */ b lbl_801650DC
lbl_80164E80:
/* 80164E80 00161DC0 28 1D 00 00 */ cmplwi r29, 0
/* 80164E84 00161DC4 40 82 00 10 */ bne lbl_80164E94
/* 80164E88 00161DC8 7F C6 F3 78 */ mr r6, r30
/* 80164E8C 00161DCC 4B FF FE E1 */ bl dCamera_c_NS_relationalPos
/* 80164E90 00161DD0 48 00 02 4C */ b lbl_801650DC
lbl_80164E94:
/* 80164E94 00161DD4 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80164E98 00161DD8 4B F3 28 85 */ bl dCamera_c_NS_attentionPos
/* 80164E9C 00161DDC C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 80164EA0 00161DE0 D0 01 01 00 */ stfs f0, 0x100(r1)
/* 80164EA4 00161DE4 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 80164EA8 00161DE8 D0 01 01 04 */ stfs f0, 0x104(r1)
/* 80164EAC 00161DEC C0 01 00 C0 */ lfs f0, 0xc0(r1)
/* 80164EB0 00161DF0 D0 01 01 08 */ stfs f0, 0x108(r1)
/* 80164EB4 00161DF4 38 61 00 AC */ addi r3, r1, 0xac
/* 80164EB8 00161DF8 7F 64 DB 78 */ mr r4, r27
/* 80164EBC 00161DFC 7F A5 EB 78 */ mr r5, r29
/* 80164EC0 00161E00 4B F3 28 5D */ bl dCamera_c_NS_attentionPos
/* 80164EC4 00161E04 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 80164EC8 00161E08 D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 80164ECC 00161E0C C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 80164ED0 00161E10 D0 01 00 F8 */ stfs f0, 0xf8(r1)
/* 80164ED4 00161E14 C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 80164ED8 00161E18 D0 01 00 FC */ stfs f0, 0xfc(r1)
/* 80164EDC 00161E1C 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80164EE0 00161E20 38 81 00 F4 */ addi r4, r1, 0xf4
/* 80164EE4 00161E24 38 A1 01 00 */ addi r5, r1, 0x100
/* 80164EE8 00161E28 48 10 1C 4D */ bl __mi__4cXyzCFRC3Vec
/* 80164EEC 00161E2C C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 80164EF0 00161E30 D0 01 00 E8 */ stfs f0, 0xe8(r1)
/* 80164EF4 00161E34 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 80164EF8 00161E38 D0 01 00 EC */ stfs f0, 0xec(r1)
/* 80164EFC 00161E3C C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 80164F00 00161E40 D0 01 00 F0 */ stfs f0, 0xf0(r1)
/* 80164F04 00161E44 38 61 00 20 */ addi r3, r1, 0x20
/* 80164F08 00161E48 38 81 00 E8 */ addi r4, r1, 0xe8
/* 80164F0C 00161E4C 48 10 C9 75 */ bl __ct__7cSGlobeFRC4cXyz
/* 80164F10 00161E50 38 61 00 94 */ addi r3, r1, 0x94
/* 80164F14 00161E54 38 81 00 E8 */ addi r4, r1, 0xe8
/* 80164F18 00161E58 48 10 1F DD */ bl normalize__4cXyzFv
/* 80164F1C 00161E5C 38 61 00 88 */ addi r3, r1, 0x88
/* 80164F20 00161E60 38 81 00 E8 */ addi r4, r1, 0xe8
/* 80164F24 00161E64 A8 1C 05 4E */ lha r0, 0x54e(r28)
/* 80164F28 00161E68 C8 22 9C 98 */ lfd f1, lbl_80453698-_SDA2_BASE_(r2)
/* 80164F2C 00161E6C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80164F30 00161E70 90 01 01 14 */ stw r0, 0x114(r1)
/* 80164F34 00161E74 3C 00 43 30 */ lis r0, 0x4330
/* 80164F38 00161E78 90 01 01 10 */ stw r0, 0x110(r1)
/* 80164F3C 00161E7C C8 01 01 10 */ lfd f0, 0x110(r1)
/* 80164F40 00161E80 EC 20 08 28 */ fsubs f1, f0, f1
/* 80164F44 00161E84 48 10 1C 41 */ bl __ml__4cXyzCFf
/* 80164F48 00161E88 38 61 01 00 */ addi r3, r1, 0x100
/* 80164F4C 00161E8C 38 81 00 88 */ addi r4, r1, 0x88
/* 80164F50 00161E90 7C 65 1B 78 */ mr r5, r3
/* 80164F54 00161E94 48 1E 21 61 */ bl PSVECSubtract
/* 80164F58 00161E98 38 61 00 7C */ addi r3, r1, 0x7c
/* 80164F5C 00161E9C 38 81 00 E8 */ addi r4, r1, 0xe8
/* 80164F60 00161EA0 A8 1D 05 4E */ lha r0, 0x54e(r29)
/* 80164F64 00161EA4 C8 22 9C 98 */ lfd f1, lbl_80453698-_SDA2_BASE_(r2)
/* 80164F68 00161EA8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80164F6C 00161EAC 90 01 01 1C */ stw r0, 0x11c(r1)
/* 80164F70 00161EB0 3C 00 43 30 */ lis r0, 0x4330
/* 80164F74 00161EB4 90 01 01 18 */ stw r0, 0x118(r1)
/* 80164F78 00161EB8 C8 01 01 18 */ lfd f0, 0x118(r1)
/* 80164F7C 00161EBC EC 20 08 28 */ fsubs f1, f0, f1
/* 80164F80 00161EC0 48 10 1C 05 */ bl __ml__4cXyzCFf
/* 80164F84 00161EC4 38 61 00 F4 */ addi r3, r1, 0xf4
/* 80164F88 00161EC8 38 81 00 7C */ addi r4, r1, 0x7c
/* 80164F8C 00161ECC 7C 65 1B 78 */ mr r5, r3
/* 80164F90 00161ED0 48 1E 21 01 */ bl PSVECAdd
/* 80164F94 00161ED4 38 61 00 70 */ addi r3, r1, 0x70
/* 80164F98 00161ED8 38 81 00 F4 */ addi r4, r1, 0xf4
/* 80164F9C 00161EDC 38 A1 01 00 */ addi r5, r1, 0x100
/* 80164FA0 00161EE0 48 10 1B 95 */ bl __mi__4cXyzCFRC3Vec
/* 80164FA4 00161EE4 38 61 00 64 */ addi r3, r1, 0x64
/* 80164FA8 00161EE8 38 81 00 70 */ addi r4, r1, 0x70
/* 80164FAC 00161EEC C0 22 9C 90 */ lfs f1, lbl_80453690-_SDA2_BASE_(r2)
/* 80164FB0 00161EF0 48 10 1B D5 */ bl __ml__4cXyzCFf
/* 80164FB4 00161EF4 38 61 00 58 */ addi r3, r1, 0x58
/* 80164FB8 00161EF8 38 81 01 00 */ addi r4, r1, 0x100
/* 80164FBC 00161EFC 38 A1 00 64 */ addi r5, r1, 0x64
/* 80164FC0 00161F00 48 10 1B 25 */ bl __pl__4cXyzCFRC3Vec
/* 80164FC4 00161F04 C0 01 00 58 */ lfs f0, 0x58(r1)
/* 80164FC8 00161F08 D0 01 00 DC */ stfs f0, 0xdc(r1)
/* 80164FCC 00161F0C C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 80164FD0 00161F10 D0 01 00 E0 */ stfs f0, 0xe0(r1)
/* 80164FD4 00161F14 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 80164FD8 00161F18 D0 01 00 E4 */ stfs f0, 0xe4(r1)
/* 80164FDC 00161F1C C0 1E 00 00 */ lfs f0, 0(r30)
/* 80164FE0 00161F20 D0 01 00 D0 */ stfs f0, 0xd0(r1)
/* 80164FE4 00161F24 C0 1E 00 04 */ lfs f0, 4(r30)
/* 80164FE8 00161F28 D0 01 00 D4 */ stfs f0, 0xd4(r1)
/* 80164FEC 00161F2C C0 1E 00 08 */ lfs f0, 8(r30)
/* 80164FF0 00161F30 D0 01 00 D8 */ stfs f0, 0xd8(r1)
/* 80164FF4 00161F34 38 61 00 10 */ addi r3, r1, 0x10
/* 80164FF8 00161F38 38 9B 00 62 */ addi r4, r27, 0x62
/* 80164FFC 00161F3C 3B C1 00 26 */ addi r30, r1, 0x26
/* 80165000 00161F40 7F C5 F3 78 */ mr r5, r30
/* 80165004 00161F44 48 10 C1 A1 */ bl __mi__7cSAngleCFRC7cSAngle
/* 80165008 00161F48 38 61 00 14 */ addi r3, r1, 0x14
/* 8016500C 00161F4C 38 81 00 10 */ addi r4, r1, 0x10
/* 80165010 00161F50 48 10 BF 59 */ bl __ct__7cSAngleFRC7cSAngle
/* 80165014 00161F54 A8 61 00 14 */ lha r3, 0x14(r1)
/* 80165018 00161F58 A8 0D 8C 08 */ lha r0, lbl_80451188-_SDA_BASE_(r13)
/* 8016501C 00161F5C 7C 03 00 00 */ cmpw r3, r0
/* 80165020 00161F60 40 80 00 10 */ bge lbl_80165030
/* 80165024 00161F64 C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 80165028 00161F68 FC 00 00 50 */ fneg f0, f0
/* 8016502C 00161F6C D0 01 00 D0 */ stfs f0, 0xd0(r1)
lbl_80165030:
/* 80165030 00161F70 38 61 00 18 */ addi r3, r1, 0x18
/* 80165034 00161F74 38 81 00 D0 */ addi r4, r1, 0xd0
/* 80165038 00161F78 48 10 C8 49 */ bl __ct__7cSGlobeFRC4cXyz
/* 8016503C 00161F7C 38 61 00 0C */ addi r3, r1, 0xc
/* 80165040 00161F80 7F C4 F3 78 */ mr r4, r30
/* 80165044 00161F84 38 A1 00 1E */ addi r5, r1, 0x1e
/* 80165048 00161F88 48 10 C1 2D */ bl __pl__7cSAngleCFRC7cSAngle
/* 8016504C 00161F8C 38 61 00 08 */ addi r3, r1, 8
/* 80165050 00161F90 A8 81 00 0C */ lha r4, 0xc(r1)
/* 80165054 00161F94 48 10 BF 45 */ bl __ct__7cSAngleFs
/* 80165058 00161F98 A8 01 00 08 */ lha r0, 8(r1)
/* 8016505C 00161F9C B0 01 00 1E */ sth r0, 0x1e(r1)
/* 80165060 00161FA0 C3 C1 00 20 */ lfs f30, 0x20(r1)
/* 80165064 00161FA4 38 61 00 14 */ addi r3, r1, 0x14
/* 80165068 00161FA8 48 10 C0 B9 */ bl Cos__7cSAngleCFv
/* 8016506C 00161FAC C0 02 9C 90 */ lfs f0, lbl_80453690-_SDA2_BASE_(r2)
/* 80165070 00161FB0 EC 00 07 B2 */ fmuls f0, f0, f30
/* 80165074 00161FB4 EC 00 00 72 */ fmuls f0, f0, f1
/* 80165078 00161FB8 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8016507C 00161FBC D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80165080 00161FC0 38 61 00 4C */ addi r3, r1, 0x4c
/* 80165084 00161FC4 38 81 00 20 */ addi r4, r1, 0x20
/* 80165088 00161FC8 48 10 CA 2D */ bl Xyz__7cSGlobeCFv
/* 8016508C 00161FCC 38 61 00 40 */ addi r3, r1, 0x40
/* 80165090 00161FD0 38 81 00 DC */ addi r4, r1, 0xdc
/* 80165094 00161FD4 38 A1 00 4C */ addi r5, r1, 0x4c
/* 80165098 00161FD8 48 10 1A 4D */ bl __pl__4cXyzCFRC3Vec
/* 8016509C 00161FDC 38 61 00 34 */ addi r3, r1, 0x34
/* 801650A0 00161FE0 38 81 00 18 */ addi r4, r1, 0x18
/* 801650A4 00161FE4 48 10 CA 11 */ bl Xyz__7cSGlobeCFv
/* 801650A8 00161FE8 38 61 00 28 */ addi r3, r1, 0x28
/* 801650AC 00161FEC 38 81 00 40 */ addi r4, r1, 0x40
/* 801650B0 00161FF0 38 A1 00 34 */ addi r5, r1, 0x34
/* 801650B4 00161FF4 48 10 1A 31 */ bl __pl__4cXyzCFRC3Vec
/* 801650B8 00161FF8 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 801650BC 00161FFC D0 41 00 C4 */ stfs f2, 0xc4(r1)
/* 801650C0 00162000 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 801650C4 00162004 D0 21 00 C8 */ stfs f1, 0xc8(r1)
/* 801650C8 00162008 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 801650CC 0016200C D0 01 00 CC */ stfs f0, 0xcc(r1)
/* 801650D0 00162010 D0 5F 00 00 */ stfs f2, 0(r31)
/* 801650D4 00162014 D0 3F 00 04 */ stfs f1, 4(r31)
/* 801650D8 00162018 D0 1F 00 08 */ stfs f0, 8(r31)
lbl_801650DC:
/* 801650DC 0016201C E3 E1 01 58 */ psq_l f31, 344(r1), 0, 0
/* 801650E0 00162020 CB E1 01 50 */ lfd f31, 0x150(r1)
/* 801650E4 00162024 E3 C1 01 48 */ psq_l f30, 328(r1), 0, 0
/* 801650E8 00162028 CB C1 01 40 */ lfd f30, 0x140(r1)
/* 801650EC 0016202C 39 61 01 40 */ addi r11, r1, 0x140
/* 801650F0 00162030 48 1F D1 31 */ bl _restgpr_27
/* 801650F4 00162034 80 01 01 64 */ lwz r0, 0x164(r1)
/* 801650F8 00162038 7C 08 03 A6 */ mtlr r0
/* 801650FC 0016203C 38 21 01 60 */ addi r1, r1, 0x160
/* 80165100 00162040 4E 80 00 20 */ blr