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

200 lines
11 KiB
ArmAsm

/* 80180738 0017D678 94 21 FE B0 */ stwu r1, -0x150(r1)
/* 8018073C 0017D67C 7C 08 02 A6 */ mflr r0
/* 80180740 0017D680 90 01 01 54 */ stw r0, 0x154(r1)
/* 80180744 0017D684 DB E1 01 40 */ stfd f31, 0x140(r1)
/* 80180748 0017D688 F3 E1 01 48 */ psq_st f31, 328(r1), 0, 0
/* 8018074C 0017D68C 93 E1 01 3C */ stw r31, 0x13c(r1)
/* 80180750 0017D690 7C 7F 1B 78 */ mr r31, r3
/* 80180754 0017D694 A8 03 01 36 */ lha r0, 0x136(r3)
/* 80180758 0017D698 2C 00 00 00 */ cmpwi r0, 0
/* 8018075C 0017D69C 40 81 02 BC */ ble lbl_80180A18
/* 80180760 0017D6A0 80 7F 06 68 */ lwz r3, 0x668(r31)
/* 80180764 0017D6A4 38 03 00 01 */ addi r0, r3, 1
/* 80180768 0017D6A8 90 1F 06 68 */ stw r0, 0x668(r31)
/* 8018076C 0017D6AC 80 1F 06 68 */ lwz r0, 0x668(r31)
/* 80180770 0017D6B0 A8 9F 01 36 */ lha r4, 0x136(r31)
/* 80180774 0017D6B4 7C 00 20 00 */ cmpw r0, r4
/* 80180778 0017D6B8 41 80 00 10 */ blt lbl_80180788
/* 8018077C 0017D6BC 38 00 00 00 */ li r0, 0
/* 80180780 0017D6C0 B0 1F 01 36 */ sth r0, 0x136(r31)
/* 80180784 0017D6C4 48 00 02 9C */ b lbl_80180A20
lbl_80180788:
/* 80180788 0017D6C8 C0 42 9C A8 */ lfs f2, lbl_804536A8-_SDA2_BASE_(r2)
/* 8018078C 0017D6CC C8 62 9C 98 */ lfd f3, lbl_80453698-_SDA2_BASE_(r2)
/* 80180790 0017D6D0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80180794 0017D6D4 90 01 01 24 */ stw r0, 0x124(r1)
/* 80180798 0017D6D8 3C 60 43 30 */ lis r3, 0x4330
/* 8018079C 0017D6DC 90 61 01 20 */ stw r3, 0x120(r1)
/* 801807A0 0017D6E0 C8 01 01 20 */ lfd f0, 0x120(r1)
/* 801807A4 0017D6E4 EC 20 18 28 */ fsubs f1, f0, f3
/* 801807A8 0017D6E8 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 801807AC 0017D6EC 90 01 01 2C */ stw r0, 0x12c(r1)
/* 801807B0 0017D6F0 90 61 01 28 */ stw r3, 0x128(r1)
/* 801807B4 0017D6F4 C8 01 01 28 */ lfd f0, 0x128(r1)
/* 801807B8 0017D6F8 EC 00 18 28 */ fsubs f0, f0, f3
/* 801807BC 0017D6FC EC 01 00 24 */ fdivs f0, f1, f0
/* 801807C0 0017D700 EC 22 00 28 */ fsubs f1, f2, f0
/* 801807C4 0017D704 4B F0 79 79 */ bl dCamMath_NS_rationalBezierRatio
/* 801807C8 0017D708 FF E0 08 90 */ fmr f31, f1
/* 801807CC 0017D70C 38 61 00 80 */ addi r3, r1, 0x80
/* 801807D0 0017D710 38 9F 01 18 */ addi r4, r31, 0x118
/* 801807D4 0017D714 38 BF 00 64 */ addi r5, r31, 0x64
/* 801807D8 0017D718 48 0E 63 5D */ bl __mi__4cXyzCFRC3Vec
/* 801807DC 0017D71C 38 61 00 74 */ addi r3, r1, 0x74
/* 801807E0 0017D720 38 81 00 80 */ addi r4, r1, 0x80
/* 801807E4 0017D724 FC 20 F8 90 */ fmr f1, f31
/* 801807E8 0017D728 48 0E 63 9D */ bl __ml__4cXyzCFf
/* 801807EC 0017D72C 38 61 00 68 */ addi r3, r1, 0x68
/* 801807F0 0017D730 38 9F 00 64 */ addi r4, r31, 0x64
/* 801807F4 0017D734 38 A1 00 74 */ addi r5, r1, 0x74
/* 801807F8 0017D738 48 0E 62 ED */ bl __pl__4cXyzCFRC3Vec
/* 801807FC 0017D73C C0 01 00 68 */ lfs f0, 0x68(r1)
/* 80180800 0017D740 D0 1F 00 30 */ stfs f0, 0x30(r31)
/* 80180804 0017D744 C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 80180808 0017D748 D0 1F 00 34 */ stfs f0, 0x34(r31)
/* 8018080C 0017D74C C0 01 00 70 */ lfs f0, 0x70(r1)
/* 80180810 0017D750 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 80180814 0017D754 38 61 00 5C */ addi r3, r1, 0x5c
/* 80180818 0017D758 7F E4 FB 78 */ mr r4, r31
/* 8018081C 0017D75C 80 BF 01 80 */ lwz r5, 0x180(r31)
/* 80180820 0017D760 4B F1 6E FD */ bl dCamera_c_NS_attentionPos
/* 80180824 0017D764 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 80180828 0017D768 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 8018082C 0017D76C C0 01 00 60 */ lfs f0, 0x60(r1)
/* 80180830 0017D770 D0 01 00 90 */ stfs f0, 0x90(r1)
/* 80180834 0017D774 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 80180838 0017D778 D0 01 00 94 */ stfs f0, 0x94(r1)
/* 8018083C 0017D77C 38 61 00 AC */ addi r3, r1, 0xac
/* 80180840 0017D780 4B EF 75 65 */ bl dBgS_CamLinChk
/* 80180844 0017D784 3C 60 80 3A */ lis r3, lbl_803A37C0@ha
/* 80180848 0017D788 38 03 37 C0 */ addi r0, r3, lbl_803A37C0@l
/* 8018084C 0017D78C 90 01 00 A8 */ stw r0, 0xa8(r1)
/* 80180850 0017D790 80 1F 00 88 */ lwz r0, 0x88(r31)
/* 80180854 0017D794 70 00 00 B7 */ andi. r0, r0, 0xb7
/* 80180858 0017D798 41 82 00 74 */ beq lbl_801808CC
/* 8018085C 0017D79C 7F E3 FB 78 */ mr r3, r31
/* 80180860 0017D7A0 38 81 00 8C */ addi r4, r1, 0x8c
/* 80180864 0017D7A4 38 BF 00 30 */ addi r5, r31, 0x30
/* 80180868 0017D7A8 38 C1 00 AC */ addi r6, r1, 0xac
/* 8018086C 0017D7AC 38 E0 40 B7 */ li r7, 0x40b7
/* 80180870 0017D7B0 4B FE 50 51 */ bl dCamera_c_NS_lineBGCheck
/* 80180874 0017D7B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80180878 0017D7B8 41 82 00 54 */ beq lbl_801808CC
/* 8018087C 0017D7BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80180880 0017D7C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80180884 0017D7C4 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80180888 0017D7C8 38 81 00 C0 */ addi r4, r1, 0xc0
/* 8018088C 0017D7CC 38 A1 00 98 */ addi r5, r1, 0x98
/* 80180890 0017D7D0 4B EF 3E B5 */ bl cBgS_NS_GetTriPla
/* 80180894 0017D7D4 C0 01 00 DC */ lfs f0, 0xdc(r1)
/* 80180898 0017D7D8 D0 1F 00 30 */ stfs f0, 0x30(r31)
/* 8018089C 0017D7DC C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 801808A0 0017D7E0 D0 1F 00 34 */ stfs f0, 0x34(r31)
/* 801808A4 0017D7E4 C0 01 00 E4 */ lfs f0, 0xe4(r1)
/* 801808A8 0017D7E8 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 801808AC 0017D7EC 38 61 00 50 */ addi r3, r1, 0x50
/* 801808B0 0017D7F0 38 81 00 98 */ addi r4, r1, 0x98
/* 801808B4 0017D7F4 C0 22 9D 50 */ lfs f1, lbl_80453750-_SDA2_BASE_(r2)
/* 801808B8 0017D7F8 48 0E 62 CD */ bl __ml__4cXyzCFf
/* 801808BC 0017D7FC 38 7F 00 30 */ addi r3, r31, 0x30
/* 801808C0 0017D800 38 81 00 50 */ addi r4, r1, 0x50
/* 801808C4 0017D804 7C 65 1B 78 */ mr r5, r3
/* 801808C8 0017D808 48 1C 67 C9 */ bl PSVECAdd
lbl_801808CC:
/* 801808CC 0017D80C 38 61 00 44 */ addi r3, r1, 0x44
/* 801808D0 0017D810 38 9F 01 24 */ addi r4, r31, 0x124
/* 801808D4 0017D814 38 BF 00 70 */ addi r5, r31, 0x70
/* 801808D8 0017D818 48 0E 62 5D */ bl __mi__4cXyzCFRC3Vec
/* 801808DC 0017D81C 38 61 00 38 */ addi r3, r1, 0x38
/* 801808E0 0017D820 38 81 00 44 */ addi r4, r1, 0x44
/* 801808E4 0017D824 FC 20 F8 90 */ fmr f1, f31
/* 801808E8 0017D828 48 0E 62 9D */ bl __ml__4cXyzCFf
/* 801808EC 0017D82C 38 61 00 2C */ addi r3, r1, 0x2c
/* 801808F0 0017D830 38 9F 00 70 */ addi r4, r31, 0x70
/* 801808F4 0017D834 38 A1 00 38 */ addi r5, r1, 0x38
/* 801808F8 0017D838 48 0E 61 ED */ bl __pl__4cXyzCFRC3Vec
/* 801808FC 0017D83C C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80180900 0017D840 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 80180904 0017D844 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 80180908 0017D848 D0 1F 00 40 */ stfs f0, 0x40(r31)
/* 8018090C 0017D84C C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80180910 0017D850 D0 1F 00 44 */ stfs f0, 0x44(r31)
/* 80180914 0017D854 80 1F 00 88 */ lwz r0, 0x88(r31)
/* 80180918 0017D858 70 00 00 B7 */ andi. r0, r0, 0xb7
/* 8018091C 0017D85C 41 82 00 74 */ beq lbl_80180990
/* 80180920 0017D860 7F E3 FB 78 */ mr r3, r31
/* 80180924 0017D864 38 9F 00 30 */ addi r4, r31, 0x30
/* 80180928 0017D868 38 BF 00 3C */ addi r5, r31, 0x3c
/* 8018092C 0017D86C 38 C1 00 AC */ addi r6, r1, 0xac
/* 80180930 0017D870 38 E0 40 B7 */ li r7, 0x40b7
/* 80180934 0017D874 4B FE 4F 8D */ bl dCamera_c_NS_lineBGCheck
/* 80180938 0017D878 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8018093C 0017D87C 41 82 00 54 */ beq lbl_80180990
/* 80180940 0017D880 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80180944 0017D884 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80180948 0017D888 38 63 0F 38 */ addi r3, r3, 0xf38
/* 8018094C 0017D88C 38 81 00 C0 */ addi r4, r1, 0xc0
/* 80180950 0017D890 38 A1 00 98 */ addi r5, r1, 0x98
/* 80180954 0017D894 4B EF 3D F1 */ bl cBgS_NS_GetTriPla
/* 80180958 0017D898 C0 01 00 DC */ lfs f0, 0xdc(r1)
/* 8018095C 0017D89C D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 80180960 0017D8A0 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 80180964 0017D8A4 D0 1F 00 40 */ stfs f0, 0x40(r31)
/* 80180968 0017D8A8 C0 01 00 E4 */ lfs f0, 0xe4(r1)
/* 8018096C 0017D8AC D0 1F 00 44 */ stfs f0, 0x44(r31)
/* 80180970 0017D8B0 38 61 00 20 */ addi r3, r1, 0x20
/* 80180974 0017D8B4 38 81 00 98 */ addi r4, r1, 0x98
/* 80180978 0017D8B8 C0 3F 0A B4 */ lfs f1, 0xab4(r31)
/* 8018097C 0017D8BC 48 0E 62 09 */ bl __ml__4cXyzCFf
/* 80180980 0017D8C0 38 7F 00 3C */ addi r3, r31, 0x3c
/* 80180984 0017D8C4 38 81 00 20 */ addi r4, r1, 0x20
/* 80180988 0017D8C8 7C 65 1B 78 */ mr r5, r3
/* 8018098C 0017D8CC 48 1C 67 05 */ bl PSVECAdd
lbl_80180990:
/* 80180990 0017D8D0 38 61 00 14 */ addi r3, r1, 0x14
/* 80180994 0017D8D4 38 9F 00 3C */ addi r4, r31, 0x3c
/* 80180998 0017D8D8 38 BF 00 30 */ addi r5, r31, 0x30
/* 8018099C 0017D8DC 48 0E 61 99 */ bl __mi__4cXyzCFRC3Vec
/* 801809A0 0017D8E0 38 7F 00 28 */ addi r3, r31, 0x28
/* 801809A4 0017D8E4 38 81 00 14 */ addi r4, r1, 0x14
/* 801809A8 0017D8E8 48 0F 10 C9 */ bl Val__7cSGlobeFRC4cXyz
/* 801809AC 0017D8EC C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 801809B0 0017D8F0 C0 1F 01 30 */ lfs f0, 0x130(r31)
/* 801809B4 0017D8F4 EC 00 08 28 */ fsubs f0, f0, f1
/* 801809B8 0017D8F8 EC 1F 00 32 */ fmuls f0, f31, f0
/* 801809BC 0017D8FC EC 01 00 2A */ fadds f0, f1, f0
/* 801809C0 0017D900 D0 1F 00 58 */ stfs f0, 0x58(r31)
/* 801809C4 0017D904 38 61 00 10 */ addi r3, r1, 0x10
/* 801809C8 0017D908 38 9F 01 34 */ addi r4, r31, 0x134
/* 801809CC 0017D90C 38 BF 00 7C */ addi r5, r31, 0x7c
/* 801809D0 0017D910 48 0F 07 D5 */ bl __mi__7cSAngleCFRC7cSAngle
/* 801809D4 0017D914 38 61 00 0C */ addi r3, r1, 0xc
/* 801809D8 0017D918 38 81 00 10 */ addi r4, r1, 0x10
/* 801809DC 0017D91C FC 20 F8 90 */ fmr f1, f31
/* 801809E0 0017D920 48 0F 08 85 */ bl __ml__7cSAngleCFf
/* 801809E4 0017D924 38 61 00 08 */ addi r3, r1, 8
/* 801809E8 0017D928 38 9F 00 7C */ addi r4, r31, 0x7c
/* 801809EC 0017D92C 38 A1 00 0C */ addi r5, r1, 0xc
/* 801809F0 0017D930 48 0F 07 85 */ bl __pl__7cSAngleCFRC7cSAngle
/* 801809F4 0017D934 A8 01 00 08 */ lha r0, 8(r1)
/* 801809F8 0017D938 B0 1F 00 54 */ sth r0, 0x54(r31)
/* 801809FC 0017D93C 3C 60 80 3A */ lis r3, lbl_803A37C0@ha
/* 80180A00 0017D940 38 03 37 C0 */ addi r0, r3, lbl_803A37C0@l
/* 80180A04 0017D944 90 01 00 A8 */ stw r0, 0xa8(r1)
/* 80180A08 0017D948 38 61 00 AC */ addi r3, r1, 0xac
/* 80180A0C 0017D94C 38 80 FF FF */ li r4, -1
/* 80180A10 0017D950 4B EF 73 F1 */ bl dBgS_CamLinChk_NS_dtor
/* 80180A14 0017D954 48 00 00 0C */ b lbl_80180A20
lbl_80180A18:
/* 80180A18 0017D958 38 00 00 00 */ li r0, 0
/* 80180A1C 0017D95C B0 1F 01 36 */ sth r0, 0x136(r31)
lbl_80180A20:
/* 80180A20 0017D960 A8 7F 01 36 */ lha r3, 0x136(r31)
/* 80180A24 0017D964 E3 E1 01 48 */ psq_l f31, 328(r1), 0, 0
/* 80180A28 0017D968 CB E1 01 40 */ lfd f31, 0x140(r1)
/* 80180A2C 0017D96C 83 E1 01 3C */ lwz r31, 0x13c(r1)
/* 80180A30 0017D970 80 01 01 54 */ lwz r0, 0x154(r1)
/* 80180A34 0017D974 7C 08 03 A6 */ mtlr r0
/* 80180A38 0017D978 38 21 01 50 */ addi r1, r1, 0x150
/* 80180A3C 0017D97C 4E 80 00 20 */ blr