diff --git a/data/odyssey_functions.csv b/data/odyssey_functions.csv index 2000d23..1f5cf39 100644 --- a/data/odyssey_functions.csv +++ b/data/odyssey_functions.csv @@ -56650,62 +56650,63 @@ Address,Quality,Size,Name 0x00000071008ec448,U,000024,_ZN2al19findActorParamSightEPKNS_9LiveActorEPKc 0x00000071008ec460,U,000024,_ZN2al21findActorParamReboundEPKNS_9LiveActorEPKc 0x00000071008ec478,U,000020,_ZN2al17setActorParamMoveEPNS_14ActorParamMoveEffff -0x00000071008ec48c,U,000028,_ZN2al19ActorPoseKeeperBaseC2Ev -0x00000071008ec4a8,U,000116,_ZN2al19ActorPoseKeeperBase8copyPoseEPKS0_ -0x00000071008ec51c,U,000040,_ZN2al19ActorPoseKeeperTRSVC2Ev +0x00000071008ec48c,O,000028,_ZN2al19ActorPoseKeeperBaseC2Ev +0x00000071008ec4a8,O,000116,_ZN2al19ActorPoseKeeperBase8copyPoseEPKS0_ +0x00000071008ec51c,O,000040,_ZN2al19ActorPoseKeeperTRSVC2Ev 0x00000071008ec544,O,000028,_ZN2al19ActorPoseKeeperTRSV15updatePoseTransERKN4sead7Vector3IfEE 0x00000071008ec560,O,000028,_ZN2al19ActorPoseKeeperTRSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008ec57c,U,000080,_ZN2al19ActorPoseKeeperTRSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008ec5cc,U,000272,_ZN2al19ActorPoseKeeperTRSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ec6dc,U,000056,_ZNK2al19ActorPoseKeeperTRSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008ec714,U,000072,_ZN2al20ActorPoseKeeperTRMSVC2Ev -0x00000071008ec75c,U,000312,_ZN2al20ActorPoseKeeperTRMSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008ec894,U,000312,_ZN2al20ActorPoseKeeperTRMSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008ec9cc,U,000348,_ZN2al20ActorPoseKeeperTRMSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008ecb28,U,000048,_ZN2al20ActorPoseKeeperTRMSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ecb58,U,000028,_ZNK2al20ActorPoseKeeperTRMSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008ecb74,U,000120,_ZN2al21ActorPoseKeeperTRGMSVC2Ev -0x00000071008ecbec,U,000312,_ZN2al21ActorPoseKeeperTRGMSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008ecd24,U,000312,_ZN2al21ActorPoseKeeperTRGMSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008ece5c,U,000348,_ZN2al21ActorPoseKeeperTRGMSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008ecfb8,U,000048,_ZN2al21ActorPoseKeeperTRGMSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ecfe8,U,000028,_ZNK2al21ActorPoseKeeperTRGMSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008ed004,U,000064,_ZN2al19ActorPoseKeeperTFSVC2Ev -0x00000071008ed044,U,000028,_ZN2al19ActorPoseKeeperTFSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008ed060,U,000256,_ZN2al19ActorPoseKeeperTFSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008ed160,U,000008,_ZN2al19ActorPoseKeeperTFSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008ed168,U,000052,_ZN2al19ActorPoseKeeperTFSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ed19c,U,000112,_ZNK2al19ActorPoseKeeperTFSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008ed20c,U,000112,_ZN2al20ActorPoseKeeperTFUSVC2Ev -0x00000071008ed27c,U,000028,_ZN2al20ActorPoseKeeperTFUSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008ed298,U,000268,_ZN2al20ActorPoseKeeperTFUSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008ed3a4,U,000048,_ZN2al20ActorPoseKeeperTFUSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008ed3d4,U,000076,_ZN2al20ActorPoseKeeperTFUSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ed420,U,000176,_ZNK2al20ActorPoseKeeperTFUSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008ed4d0,U,000096,_ZN2al20ActorPoseKeeperTFGSVC2Ev -0x00000071008ed530,U,000028,_ZN2al20ActorPoseKeeperTFGSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008ed54c,U,000296,_ZN2al20ActorPoseKeeperTFGSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008ed674,U,000080,_ZN2al20ActorPoseKeeperTFGSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008ed6c4,U,000092,_ZN2al20ActorPoseKeeperTFGSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ed720,U,000128,_ZNK2al20ActorPoseKeeperTFGSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008ed7a0,U,000064,_ZN2al19ActorPoseKeeperTQSVC2Ev -0x00000071008ed7e0,U,000028,_ZN2al19ActorPoseKeeperTQSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008ed7fc,U,000236,_ZN2al19ActorPoseKeeperTQSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008ed8e8,U,000036,_ZN2al19ActorPoseKeeperTQSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008ed90c,U,000064,_ZN2al19ActorPoseKeeperTQSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ed94c,U,000160,_ZNK2al19ActorPoseKeeperTQSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008ed9ec,U,000076,_ZN2al20ActorPoseKeeperTQGSVC2Ev -0x00000071008eda38,U,000028,_ZN2al20ActorPoseKeeperTQGSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008eda54,U,000236,_ZN2al20ActorPoseKeeperTQGSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008edb40,U,000036,_ZN2al20ActorPoseKeeperTQGSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008edb64,U,000064,_ZN2al20ActorPoseKeeperTQGSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008edba4,U,000160,_ZNK2al20ActorPoseKeeperTQGSV11calcBaseMtxEPN4sead8Matrix34IfEE -0x00000071008edc44,U,000096,_ZN2al21ActorPoseKeeperTQGMSVC2Ev -0x00000071008edca4,U,000184,_ZN2al21ActorPoseKeeperTQGMSV15updatePoseTransERKN4sead7Vector3IfEE -0x00000071008edd5c,U,000380,_ZN2al21ActorPoseKeeperTQGMSV16updatePoseRotateERKN4sead7Vector3IfEE -0x00000071008eded8,U,000208,_ZN2al21ActorPoseKeeperTQGMSV14updatePoseQuatERKN4sead4QuatIfEE -0x00000071008edfa8,U,000208,_ZN2al21ActorPoseKeeperTQGMSV13updatePoseMtxEPKN4sead8Matrix34IfEE -0x00000071008ee078,U,000028,_ZNK2al21ActorPoseKeeperTQGMSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ec57c,O,000080,_ZN2al19ActorPoseKeeperTRSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008ec5cc,O,000024,_ZN2al19ActorPoseKeeperTRSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ec5e4,O,000248,_ZN2alL32rotationAndTranslationFromMatrixERN4sead7Vector3IfEES3_PKNS0_8Matrix34IfEE +0x00000071008ec6dc,O,000056,_ZNK2al19ActorPoseKeeperTRSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ec714,O,000072,_ZN2al20ActorPoseKeeperTRMSVC1Ev +0x00000071008ec75c,O,000312,_ZN2al20ActorPoseKeeperTRMSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008ec894,O,000312,_ZN2al20ActorPoseKeeperTRMSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008ec9cc,O,000348,_ZN2al20ActorPoseKeeperTRMSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008ecb28,O,000048,_ZN2al20ActorPoseKeeperTRMSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ecb58,O,000028,_ZNK2al20ActorPoseKeeperTRMSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ecb74,M,000120,_ZN2al21ActorPoseKeeperTRGMSVC1Ev +0x00000071008ecbec,O,000312,_ZN2al21ActorPoseKeeperTRGMSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008ecd24,O,000312,_ZN2al21ActorPoseKeeperTRGMSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008ece5c,O,000348,_ZN2al21ActorPoseKeeperTRGMSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008ecfb8,O,000048,_ZN2al21ActorPoseKeeperTRGMSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ecfe8,O,000028,_ZNK2al21ActorPoseKeeperTRGMSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ed004,O,000064,_ZN2al19ActorPoseKeeperTFSVC2Ev +0x00000071008ed044,O,000028,_ZN2al19ActorPoseKeeperTFSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008ed060,O,000256,_ZN2al19ActorPoseKeeperTFSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008ed160,O,000008,_ZN2al19ActorPoseKeeperTFSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008ed168,O,000052,_ZN2al19ActorPoseKeeperTFSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ed19c,O,000112,_ZNK2al19ActorPoseKeeperTFSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ed20c,O,000112,_ZN2al20ActorPoseKeeperTFUSVC2Ev +0x00000071008ed27c,O,000028,_ZN2al20ActorPoseKeeperTFUSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008ed298,O,000268,_ZN2al20ActorPoseKeeperTFUSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008ed3a4,O,000048,_ZN2al20ActorPoseKeeperTFUSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008ed3d4,O,000076,_ZN2al20ActorPoseKeeperTFUSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ed420,O,000176,_ZNK2al20ActorPoseKeeperTFUSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ed4d0,O,000096,_ZN2al20ActorPoseKeeperTFGSVC2Ev +0x00000071008ed530,O,000028,_ZN2al20ActorPoseKeeperTFGSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008ed54c,O,000296,_ZN2al20ActorPoseKeeperTFGSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008ed674,O,000080,_ZN2al20ActorPoseKeeperTFGSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008ed6c4,O,000092,_ZN2al20ActorPoseKeeperTFGSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ed720,O,000128,_ZNK2al20ActorPoseKeeperTFGSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ed7a0,O,000064,_ZN2al19ActorPoseKeeperTQSVC2Ev +0x00000071008ed7e0,O,000028,_ZN2al19ActorPoseKeeperTQSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008ed7fc,O,000236,_ZN2al19ActorPoseKeeperTQSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008ed8e8,O,000036,_ZN2al19ActorPoseKeeperTQSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008ed90c,O,000064,_ZN2al19ActorPoseKeeperTQSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ed94c,O,000160,_ZNK2al19ActorPoseKeeperTQSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008ed9ec,O,000076,_ZN2al20ActorPoseKeeperTQGSVC2Ev +0x00000071008eda38,O,000028,_ZN2al20ActorPoseKeeperTQGSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008eda54,O,000236,_ZN2al20ActorPoseKeeperTQGSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008edb40,O,000036,_ZN2al20ActorPoseKeeperTQGSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008edb64,O,000064,_ZN2al20ActorPoseKeeperTQGSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008edba4,O,000160,_ZNK2al20ActorPoseKeeperTQGSV11calcBaseMtxEPN4sead8Matrix34IfEE +0x00000071008edc44,O,000096,_ZN2al21ActorPoseKeeperTQGMSVC2Ev +0x00000071008edca4,O,000184,_ZN2al21ActorPoseKeeperTQGMSV15updatePoseTransERKN4sead7Vector3IfEE +0x00000071008edd5c,O,000380,_ZN2al21ActorPoseKeeperTQGMSV16updatePoseRotateERKN4sead7Vector3IfEE +0x00000071008eded8,O,000208,_ZN2al21ActorPoseKeeperTQGMSV14updatePoseQuatERKN4sead4QuatIfEE +0x00000071008edfa8,O,000208,_ZN2al21ActorPoseKeeperTQGMSV13updatePoseMtxEPKN4sead8Matrix34IfEE +0x00000071008ee078,O,000028,_ZNK2al21ActorPoseKeeperTQGMSV11calcBaseMtxEPN4sead8Matrix34IfEE 0x00000071008ee094,O,000012,_ZNK2al19ActorPoseKeeperBase9getRotateEv 0x00000071008ee0a0,O,000012,_ZNK2al19ActorPoseKeeperBase8getScaleEv 0x00000071008ee0ac,O,000012,_ZNK2al19ActorPoseKeeperBase11getVelocityEv @@ -56728,58 +56729,58 @@ Address,Quality,Size,Name 0x00000071008ee14c,O,000008,_ZN2al19ActorPoseKeeperTRSV12getRotatePtrEv 0x00000071008ee154,O,000008,_ZN2al19ActorPoseKeeperTRSV11getScalePtrEv 0x00000071008ee15c,O,000008,_ZN2al19ActorPoseKeeperTRSV14getVelocityPtrEv -0x00000071008ee164,U,000008,_ZNK2al20ActorPoseKeeperTRMSV9getRotateEv -0x00000071008ee16c,U,000008,_ZNK2al20ActorPoseKeeperTRMSV8getScaleEv -0x00000071008ee174,U,000008,_ZNK2al20ActorPoseKeeperTRMSV11getVelocityEv -0x00000071008ee17c,U,000008,_ZNK2al20ActorPoseKeeperTRMSV6getMtxEv -0x00000071008ee184,U,000008,_ZN2al20ActorPoseKeeperTRMSV12getRotatePtrEv -0x00000071008ee18c,U,000008,_ZN2al20ActorPoseKeeperTRMSV11getScalePtrEv -0x00000071008ee194,U,000008,_ZN2al20ActorPoseKeeperTRMSV14getVelocityPtrEv -0x00000071008ee19c,U,000008,_ZN2al20ActorPoseKeeperTRMSV9getMtxPtrEv -0x00000071008ee1a4,U,000008,_ZNK2al21ActorPoseKeeperTRGMSV9getRotateEv -0x00000071008ee1ac,U,000008,_ZNK2al21ActorPoseKeeperTRGMSV8getScaleEv -0x00000071008ee1b4,U,000008,_ZNK2al21ActorPoseKeeperTRGMSV11getVelocityEv -0x00000071008ee1bc,U,000008,_ZNK2al21ActorPoseKeeperTRGMSV10getGravityEv -0x00000071008ee1c4,U,000008,_ZNK2al21ActorPoseKeeperTRGMSV6getMtxEv -0x00000071008ee1cc,U,000008,_ZN2al21ActorPoseKeeperTRGMSV12getRotatePtrEv -0x00000071008ee1d4,U,000008,_ZN2al21ActorPoseKeeperTRGMSV11getScalePtrEv -0x00000071008ee1dc,U,000008,_ZN2al21ActorPoseKeeperTRGMSV14getVelocityPtrEv -0x00000071008ee1e4,U,000008,_ZN2al21ActorPoseKeeperTRGMSV13getGravityPtrEv -0x00000071008ee1ec,U,000008,_ZN2al21ActorPoseKeeperTRGMSV9getMtxPtrEv -0x00000071008ee1f4,U,000008,_ZNK2al19ActorPoseKeeperTFSV8getScaleEv -0x00000071008ee1fc,U,000008,_ZNK2al19ActorPoseKeeperTFSV11getVelocityEv -0x00000071008ee204,U,000008,_ZNK2al19ActorPoseKeeperTFSV8getFrontEv -0x00000071008ee20c,U,000008,_ZN2al19ActorPoseKeeperTFSV11getScalePtrEv -0x00000071008ee214,U,000008,_ZN2al19ActorPoseKeeperTFSV14getVelocityPtrEv -0x00000071008ee21c,U,000008,_ZN2al19ActorPoseKeeperTFSV11getFrontPtrEv -0x00000071008ee224,U,000008,_ZNK2al20ActorPoseKeeperTFUSV5getUpEv -0x00000071008ee22c,U,000008,_ZN2al20ActorPoseKeeperTFUSV8getUpPtrEv -0x00000071008ee234,U,000008,_ZNK2al20ActorPoseKeeperTFGSV10getGravityEv -0x00000071008ee23c,U,000008,_ZN2al20ActorPoseKeeperTFGSV13getGravityPtrEv -0x00000071008ee244,U,000008,_ZNK2al19ActorPoseKeeperTQSV8getScaleEv -0x00000071008ee24c,U,000008,_ZNK2al19ActorPoseKeeperTQSV11getVelocityEv -0x00000071008ee254,U,000008,_ZNK2al19ActorPoseKeeperTQSV7getQuatEv -0x00000071008ee25c,U,000008,_ZN2al19ActorPoseKeeperTQSV11getScalePtrEv -0x00000071008ee264,U,000008,_ZN2al19ActorPoseKeeperTQSV14getVelocityPtrEv -0x00000071008ee26c,U,000008,_ZN2al19ActorPoseKeeperTQSV10getQuatPtrEv -0x00000071008ee274,U,000008,_ZNK2al20ActorPoseKeeperTQGSV8getScaleEv -0x00000071008ee27c,U,000008,_ZNK2al20ActorPoseKeeperTQGSV11getVelocityEv -0x00000071008ee284,U,000008,_ZNK2al20ActorPoseKeeperTQGSV7getQuatEv -0x00000071008ee28c,U,000008,_ZNK2al20ActorPoseKeeperTQGSV10getGravityEv -0x00000071008ee294,U,000008,_ZN2al20ActorPoseKeeperTQGSV11getScalePtrEv -0x00000071008ee29c,U,000008,_ZN2al20ActorPoseKeeperTQGSV14getVelocityPtrEv -0x00000071008ee2a4,U,000008,_ZN2al20ActorPoseKeeperTQGSV10getQuatPtrEv -0x00000071008ee2ac,U,000008,_ZN2al20ActorPoseKeeperTQGSV13getGravityPtrEv -0x00000071008ee2b4,U,000008,_ZNK2al21ActorPoseKeeperTQGMSV8getScaleEv -0x00000071008ee2bc,U,000008,_ZNK2al21ActorPoseKeeperTQGMSV11getVelocityEv -0x00000071008ee2c4,U,000008,_ZNK2al21ActorPoseKeeperTQGMSV7getQuatEv -0x00000071008ee2cc,U,000008,_ZNK2al21ActorPoseKeeperTQGMSV10getGravityEv -0x00000071008ee2d4,U,000008,_ZNK2al21ActorPoseKeeperTQGMSV6getMtxEv -0x00000071008ee2dc,U,000008,_ZN2al21ActorPoseKeeperTQGMSV11getScalePtrEv -0x00000071008ee2e4,U,000008,_ZN2al21ActorPoseKeeperTQGMSV14getVelocityPtrEv -0x00000071008ee2ec,U,000008,_ZN2al21ActorPoseKeeperTQGMSV10getQuatPtrEv -0x00000071008ee2f4,U,000008,_ZN2al21ActorPoseKeeperTQGMSV13getGravityPtrEv -0x00000071008ee2fc,U,000008,_ZN2al21ActorPoseKeeperTQGMSV9getMtxPtrEv +0x00000071008ee164,O,000008,_ZNK2al20ActorPoseKeeperTRMSV9getRotateEv +0x00000071008ee16c,O,000008,_ZNK2al20ActorPoseKeeperTRMSV8getScaleEv +0x00000071008ee174,O,000008,_ZNK2al20ActorPoseKeeperTRMSV11getVelocityEv +0x00000071008ee17c,O,000008,_ZNK2al20ActorPoseKeeperTRMSV6getMtxEv +0x00000071008ee184,O,000008,_ZN2al20ActorPoseKeeperTRMSV12getRotatePtrEv +0x00000071008ee18c,O,000008,_ZN2al20ActorPoseKeeperTRMSV11getScalePtrEv +0x00000071008ee194,O,000008,_ZN2al20ActorPoseKeeperTRMSV14getVelocityPtrEv +0x00000071008ee19c,O,000008,_ZN2al20ActorPoseKeeperTRMSV9getMtxPtrEv +0x00000071008ee1a4,O,000008,_ZNK2al21ActorPoseKeeperTRGMSV9getRotateEv +0x00000071008ee1ac,O,000008,_ZNK2al21ActorPoseKeeperTRGMSV8getScaleEv +0x00000071008ee1b4,O,000008,_ZNK2al21ActorPoseKeeperTRGMSV11getVelocityEv +0x00000071008ee1bc,O,000008,_ZNK2al21ActorPoseKeeperTRGMSV10getGravityEv +0x00000071008ee1c4,O,000008,_ZNK2al21ActorPoseKeeperTRGMSV6getMtxEv +0x00000071008ee1cc,O,000008,_ZN2al21ActorPoseKeeperTRGMSV12getRotatePtrEv +0x00000071008ee1d4,O,000008,_ZN2al21ActorPoseKeeperTRGMSV11getScalePtrEv +0x00000071008ee1dc,O,000008,_ZN2al21ActorPoseKeeperTRGMSV14getVelocityPtrEv +0x00000071008ee1e4,O,000008,_ZN2al21ActorPoseKeeperTRGMSV13getGravityPtrEv +0x00000071008ee1ec,O,000008,_ZN2al21ActorPoseKeeperTRGMSV9getMtxPtrEv +0x00000071008ee1f4,O,000008,_ZNK2al19ActorPoseKeeperTFSV8getScaleEv +0x00000071008ee1fc,O,000008,_ZNK2al19ActorPoseKeeperTFSV11getVelocityEv +0x00000071008ee204,O,000008,_ZNK2al19ActorPoseKeeperTFSV8getFrontEv +0x00000071008ee20c,O,000008,_ZN2al19ActorPoseKeeperTFSV11getScalePtrEv +0x00000071008ee214,O,000008,_ZN2al19ActorPoseKeeperTFSV14getVelocityPtrEv +0x00000071008ee21c,O,000008,_ZN2al19ActorPoseKeeperTFSV11getFrontPtrEv +0x00000071008ee224,O,000008,_ZNK2al20ActorPoseKeeperTFUSV5getUpEv +0x00000071008ee22c,O,000008,_ZN2al20ActorPoseKeeperTFUSV8getUpPtrEv +0x00000071008ee234,O,000008,_ZNK2al20ActorPoseKeeperTFGSV10getGravityEv +0x00000071008ee23c,O,000008,_ZN2al20ActorPoseKeeperTFGSV13getGravityPtrEv +0x00000071008ee244,O,000008,_ZNK2al19ActorPoseKeeperTQSV8getScaleEv +0x00000071008ee24c,O,000008,_ZNK2al19ActorPoseKeeperTQSV11getVelocityEv +0x00000071008ee254,O,000008,_ZNK2al19ActorPoseKeeperTQSV7getQuatEv +0x00000071008ee25c,O,000008,_ZN2al19ActorPoseKeeperTQSV11getScalePtrEv +0x00000071008ee264,O,000008,_ZN2al19ActorPoseKeeperTQSV14getVelocityPtrEv +0x00000071008ee26c,O,000008,_ZN2al19ActorPoseKeeperTQSV10getQuatPtrEv +0x00000071008ee274,O,000008,_ZNK2al20ActorPoseKeeperTQGSV8getScaleEv +0x00000071008ee27c,O,000008,_ZNK2al20ActorPoseKeeperTQGSV11getVelocityEv +0x00000071008ee284,O,000008,_ZNK2al20ActorPoseKeeperTQGSV7getQuatEv +0x00000071008ee28c,O,000008,_ZNK2al20ActorPoseKeeperTQGSV10getGravityEv +0x00000071008ee294,O,000008,_ZN2al20ActorPoseKeeperTQGSV11getScalePtrEv +0x00000071008ee29c,O,000008,_ZN2al20ActorPoseKeeperTQGSV14getVelocityPtrEv +0x00000071008ee2a4,O,000008,_ZN2al20ActorPoseKeeperTQGSV10getQuatPtrEv +0x00000071008ee2ac,O,000008,_ZN2al20ActorPoseKeeperTQGSV13getGravityPtrEv +0x00000071008ee2b4,O,000008,_ZNK2al21ActorPoseKeeperTQGMSV8getScaleEv +0x00000071008ee2bc,O,000008,_ZNK2al21ActorPoseKeeperTQGMSV11getVelocityEv +0x00000071008ee2c4,O,000008,_ZNK2al21ActorPoseKeeperTQGMSV7getQuatEv +0x00000071008ee2cc,O,000008,_ZNK2al21ActorPoseKeeperTQGMSV10getGravityEv +0x00000071008ee2d4,O,000008,_ZNK2al21ActorPoseKeeperTQGMSV6getMtxEv +0x00000071008ee2dc,O,000008,_ZN2al21ActorPoseKeeperTQGMSV11getScalePtrEv +0x00000071008ee2e4,O,000008,_ZN2al21ActorPoseKeeperTQGMSV14getVelocityPtrEv +0x00000071008ee2ec,O,000008,_ZN2al21ActorPoseKeeperTQGMSV10getQuatPtrEv +0x00000071008ee2f4,O,000008,_ZN2al21ActorPoseKeeperTQGMSV13getGravityPtrEv +0x00000071008ee2fc,O,000008,_ZN2al21ActorPoseKeeperTQGMSV9getMtxPtrEv 0x00000071008ee304,U,000096,_ZN2al14initActorPoseTEPNS_9LiveActorERKN4sead7Vector3IfEE 0x00000071008ee364,U,000032,_ZN2al8setTransEPNS_9LiveActorERKN4sead7Vector3IfEE 0x00000071008ee384,U,000132,_ZN2al15initActorPoseTREPNS_9LiveActorERKN4sead7Vector3IfEES6_ diff --git a/lib/al/LiveActor/ActorPoseKeeper.h b/lib/al/LiveActor/ActorPoseKeeper.h index 70546f5..5798538 100644 --- a/lib/al/LiveActor/ActorPoseKeeper.h +++ b/lib/al/LiveActor/ActorPoseKeeper.h @@ -8,6 +8,8 @@ namespace al { class ActorPoseKeeperBase { public: + ActorPoseKeeperBase(); + virtual const sead::Vector3f& getRotate() const; virtual const sead::Vector3f& getScale() const; virtual const sead::Vector3f& getVelocity() const; @@ -24,30 +26,36 @@ public: virtual sead::Quatf* getQuatPtr(); virtual sead::Vector3f* getGravityPtr(); virtual sead::Matrix34f* getMtxPtr(); - virtual void updatePoseTrans(const sead::Vector3f&); - virtual void updatePoseRotate(const sead::Vector3f&); - virtual void updatePoseQuat(const sead::Quatf&); - virtual void updatePoseMtx(const sead::Matrix34f&); - virtual void copyPose(const ActorPoseKeeperBase*); - virtual void calcBaseMtx(sead::Matrix34f*); -private: + virtual void updatePoseTrans(const sead::Vector3f& trans) = 0; + virtual void updatePoseRotate(const sead::Vector3f& rot) = 0; + virtual void updatePoseQuat(const sead::Quatf& quat) = 0; + virtual void updatePoseMtx(const sead::Matrix34f* mtx) = 0; + virtual void copyPose(const ActorPoseKeeperBase* other); + virtual void calcBaseMtx(sead::Matrix34f* mtx) const = 0; + +protected: // protected so it's visible to all sub-classes (TFSV, TFGSV, ...) sead::Vector3f mTrans{0, 0, 0}; + + static sead::Vector3f sDefaultVelocity; }; class ActorPoseKeeperTFSV : public ActorPoseKeeperBase { public: - virtual const sead::Vector3f& getFront() const override; - virtual sead::Vector3f* getFrontPtr() override; - virtual const sead::Vector3f& getScale() const override; - virtual sead::Vector3f* getScalePtr() override; - virtual const sead::Vector3f& getVelocity() const override; - virtual sead::Vector3f* getVelocityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; -private: + ActorPoseKeeperTFSV(); + + const sead::Vector3f& getFront() const override; + sead::Vector3f* getFrontPtr() override; + const sead::Vector3f& getScale() const override; + sead::Vector3f* getScalePtr() override; + const sead::Vector3f& getVelocity() const override; + sead::Vector3f* getVelocityPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; + +protected: // protected so it's visible to all sub-classes (TFGSV, TFUSV) sead::Vector3f mFront = sead::Vector3f::ez; sead::Vector3f mScale{1.0, 1.0, 1.0}; sead::Vector3f mVelocity{0.0, 0.0, 0.0}; @@ -55,43 +63,50 @@ private: class ActorPoseKeeperTFGSV : public ActorPoseKeeperTFSV { public: - virtual const sead::Vector3f& getGravity() const override; - virtual sead::Vector3f* getGravityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTFGSV(); + + const sead::Vector3f& getGravity() const override; + sead::Vector3f* getGravityPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: sead::Vector3f mGravity{0.0, -1.0, 0.0}; }; class ActorPoseKeeperTFUSV : public ActorPoseKeeperTFSV { public: - virtual const sead::Vector3f& getUp() const override; - virtual sead::Vector3f* getUpPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTFUSV(); + + const sead::Vector3f& getUp() const override; + sead::Vector3f* getUpPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: sead::Vector3f mUp = sead::Vector3f::ey; + bool mIsFrontUp = false; }; class ActorPoseKeeperTQSV : public ActorPoseKeeperBase { public: - virtual const sead::Quatf& getQuat() const override; - virtual sead::Quatf* getQuatPtr() override; - virtual const sead::Vector3f& getScale() const override; - virtual sead::Vector3f* getScalePtr() override; - virtual const sead::Vector3f& getVelocity() const override; - virtual sead::Vector3f* getVelocityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTQSV(); + + const sead::Quatf& getQuat() const override; + sead::Quatf* getQuatPtr() override; + const sead::Vector3f& getScale() const override; + sead::Vector3f* getScalePtr() override; + const sead::Vector3f& getVelocity() const override; + sead::Vector3f* getVelocityPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: sead::Quatf mQuat = sead::Quatf::unit; sead::Vector3f mScale{1.0, 1.0, 1.0}; @@ -100,19 +115,21 @@ private: class ActorPoseKeeperTQGSV : public ActorPoseKeeperBase { public: - virtual const sead::Quatf& getQuat() const override; - virtual sead::Quatf* getQuatPtr() override; - virtual const sead::Vector3f& getGravity() const override; - virtual sead::Vector3f* getGravityPtr() override; - virtual const sead::Vector3f& getScale() const override; - virtual sead::Vector3f* getScalePtr() override; - virtual const sead::Vector3f& getVelocity() const override; - virtual sead::Vector3f* getVelocityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTQGSV(); + + const sead::Quatf& getQuat() const override; + sead::Quatf* getQuatPtr() override; + const sead::Vector3f& getGravity() const override; + sead::Vector3f* getGravityPtr() override; + const sead::Vector3f& getScale() const override; + sead::Vector3f* getScalePtr() override; + const sead::Vector3f& getVelocity() const override; + sead::Vector3f* getVelocityPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: sead::Quatf mQuat = sead::Quatf::unit; sead::Vector3f mGravity{0.0, -1.0, 0.0}; @@ -122,21 +139,23 @@ private: class ActorPoseKeeperTQGMSV : public ActorPoseKeeperBase { public: - virtual const sead::Quatf& getQuat() const override; - virtual sead::Quatf* getQuatPtr() override; - virtual const sead::Vector3f& getGravity() const override; - virtual sead::Vector3f* getGravityPtr() override; - virtual const sead::Matrix34f& getMtx() const override; - virtual sead::Matrix34f* getMtxPtr() override; - virtual const sead::Vector3f& getScale() const override; - virtual sead::Vector3f* getScalePtr() override; - virtual const sead::Vector3f& getVelocity() const override; - virtual sead::Vector3f* getVelocityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTQGMSV(); + + const sead::Quatf& getQuat() const override; + sead::Quatf* getQuatPtr() override; + const sead::Vector3f& getGravity() const override; + sead::Vector3f* getGravityPtr() override; + const sead::Matrix34f& getMtx() const override; + sead::Matrix34f* getMtxPtr() override; + const sead::Vector3f& getScale() const override; + sead::Vector3f* getScalePtr() override; + const sead::Vector3f& getVelocity() const override; + sead::Vector3f* getVelocityPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: sead::Quatf mQuat = sead::Quatf::unit; sead::Vector3f mGravity{0.0, -1.0, 0.0}; @@ -147,68 +166,75 @@ private: class ActorPoseKeeperTRSV : public ActorPoseKeeperBase { public: - virtual const sead::Vector3f& getRotate() const override; - virtual sead::Vector3f* getRotatePtr() override; - virtual const sead::Vector3f& getScale() const override; - virtual sead::Vector3f* getScalePtr() override; - virtual const sead::Vector3f& getVelocity() const override; - virtual sead::Vector3f* getVelocityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTRSV(); + + const sead::Vector3f& getRotate() const override; + sead::Vector3f* getRotatePtr() override; + const sead::Vector3f& getScale() const override; + sead::Vector3f* getScalePtr() override; + const sead::Vector3f& getVelocity() const override; + sead::Vector3f* getVelocityPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: - sead::Vector3f mRotate; // y and z = 0, x = uninitialized? + sead::Vector3f mRotate{0.0, 0.0, 0.0}; sead::Vector3f mScale{1.0, 1.0, 1.0}; sead::Vector3f mVelocity{0.0, 0.0, 0.0}; }; class ActorPoseKeeperTRMSV : public ActorPoseKeeperBase { public: - virtual const sead::Vector3f& getRotate() const override; - virtual sead::Vector3f* getRotatePtr() override; - virtual const sead::Matrix34f& getMtx() const override; - virtual sead::Matrix34f* getMtxPtr() override; - virtual const sead::Vector3f& getScale() const override; - virtual sead::Vector3f* getScalePtr() override; - virtual const sead::Vector3f& getVelocity() const override; - virtual sead::Vector3f* getVelocityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTRMSV(); + + const sead::Vector3f& getRotate() const override; + sead::Vector3f* getRotatePtr() override; + const sead::Matrix34f& getMtx() const override; + sead::Matrix34f* getMtxPtr() override; + const sead::Vector3f& getScale() const override; + sead::Vector3f* getScalePtr() override; + const sead::Vector3f& getVelocity() const override; + sead::Vector3f* getVelocityPtr() override; + __attribute__((flatten)) + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: - sead::Vector3f mRotate; // y and z = 0, x = uninitialized? + sead::Vector3f mRotate{0.0, 0.0, 0.0}; sead::Vector3f mScale{1.0, 1.0, 1.0}; sead::Vector3f mVelocity{0.0, 0.0, 0.0}; - sead::Matrix34f mMtx = sead::Matrix34f::ident; + sead::Matrix34f mMtx; // manually set in the ctor }; class ActorPoseKeeperTRGMSV : public ActorPoseKeeperBase { public: - virtual const sead::Vector3f& getRotate() const override; - virtual sead::Vector3f* getRotatePtr() override; - virtual const sead::Vector3f& getGravity() const override; - virtual sead::Vector3f* getGravityPtr() override; - virtual const sead::Matrix34f& getMtx() const override; - virtual sead::Matrix34f* getMtxPtr() override; - virtual const sead::Vector3f& getScale() const override; - virtual sead::Vector3f* getScalePtr() override; - virtual const sead::Vector3f& getVelocity() const override; - virtual sead::Vector3f* getVelocityPtr() override; - virtual void updatePoseTrans(const sead::Vector3f&) override; - virtual void updatePoseRotate(const sead::Vector3f&) override; - virtual void updatePoseQuat(const sead::Quatf&) override; - virtual void updatePoseMtx(const sead::Matrix34f&) override; - virtual void calcBaseMtx(sead::Matrix34f*) override; + ActorPoseKeeperTRGMSV(); + + const sead::Vector3f& getRotate() const override; + sead::Vector3f* getRotatePtr() override; + const sead::Vector3f& getGravity() const override; + sead::Vector3f* getGravityPtr() override; + const sead::Matrix34f& getMtx() const override; + sead::Matrix34f* getMtxPtr() override; + const sead::Vector3f& getScale() const override; + sead::Vector3f* getScalePtr() override; + const sead::Vector3f& getVelocity() const override; + sead::Vector3f* getVelocityPtr() override; + void updatePoseTrans(const sead::Vector3f& trans) override; + void updatePoseRotate(const sead::Vector3f& rot) override; + void updatePoseQuat(const sead::Quatf& quat) override; + void updatePoseMtx(const sead::Matrix34f* mtx) override; + void calcBaseMtx(sead::Matrix34f* mtx) const override; private: - sead::Vector3f mRotate; // y and z = 0, x = uninitialized? + sead::Vector3f mRotate{0.0, 0.0, 0.0}; sead::Vector3f mGravity{0.0, -1.0, 0.0}; sead::Vector3f mScale{1.0, 1.0, 1.0}; sead::Vector3f mVelocity{0.0, 0.0, 0.0}; - sead::Matrix34f mMtx = sead::Matrix34f::ident; + sead::Matrix34f mMtx; }; } // namespace al diff --git a/lib/al/pose/ActorPoseKeeper.h b/lib/al/pose/ActorPoseKeeper.h deleted file mode 100755 index 6f6ec07..0000000 --- a/lib/al/pose/ActorPoseKeeper.h +++ /dev/null @@ -1,61 +0,0 @@ -#pragma once - -#include -#include -#include - -namespace al { -class ActorPoseKeeperBase { -public: - ActorPoseKeeperBase(); - - virtual const sead::Vector3& getRotate() const; - virtual const sead::Vector3& getScale() const; - virtual const sead::Vector3& getVelocity() const; - virtual const sead::Vector3& getFront() const; - virtual const sead::Vector3& getUp() const; - virtual const sead::Quat& getQuat() const; - virtual const sead::Vector3& getGravity() const; - virtual const sead::Matrix34& getMtx() const; - virtual sead::Vector3* getRotatePtr(); - virtual sead::Vector3* getScalePtr(); - virtual sead::Vector3* getVelocityPtr(); - virtual sead::Vector3* getFrontPtr(); - virtual sead::Vector3* getUpPtr(); - virtual sead::Quat* getQuatPtr(); - virtual sead::Vector3* getGravityPtr(); - virtual sead::Matrix34* getMtxPtr(); - virtual void updatePoseTrans(const sead::Vector3&) = 0; - virtual void updatePoseRotate(const sead::Vector3&) = 0; - virtual void updatePoseQuat(const sead::Quat&) = 0; - virtual void updatePoseMtx(const sead::Matrix34*) = 0; - virtual void copyPose(const al::ActorPoseKeeperBase*); - virtual void calcBaseMtx(sead::Matrix34*) = 0; - - sead::Vector3 mTranslation; // _8 - - static const sead::Vector3 sDefaultVelocity; -}; - -class ActorPoseKeeperTRSV : public ActorPoseKeeperBase { -public: - virtual const sead::Vector3& getRotate() const; - virtual const sead::Vector3& getScale() const; - virtual const sead::Vector3& getVelocity() const; - - virtual sead::Vector3* getRotatePtr(); - virtual sead::Vector3* getScalePtr(); - virtual sead::Vector3* getVelocityPtr(); - - virtual void updatePoseTrans(const sead::Vector3&); - virtual void updatePoseRotate(const sead::Vector3&); - virtual void updatePoseQuat(const sead::Quat&); - virtual void updatePoseMtx(const sead::Matrix34*); - - virtual void calcBaseMtx(sead::Matrix34*); - - sead::Vector3 mRotation; // _14 - sead::Vector3 mScale; // _20 - sead::Vector3 mVelocity; // _2C -}; -}; // namespace al \ No newline at end of file diff --git a/lib/al/util/VectorUtil.h b/lib/al/util/VectorUtil.h index 0aadcb5..0ce4f20 100644 --- a/lib/al/util/VectorUtil.h +++ b/lib/al/util/VectorUtil.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include @@ -13,6 +14,11 @@ void turnVecToVecDegree(sead::Vector3f*, const sead::Vector3f&, const sead::Vect void turnVecToVecRate(sead::Vector3f*, const sead::Vector3f&, const sead::Vector3f&, float); void calcQuatFront(sead::Vector3f*, const sead::Quatf&); +void calcQuatUp(sead::Vector3f*, const sead::Quatf&); void makeQuatFrontUp(sead::Quatf*, const sead::Vector3f&, const sead::Vector3f&); +void makeMtxFrontUpPos(sead::Matrix34f*, const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&); +void makeMtxUpFrontPos(sead::Matrix34f*, const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&); +void makeMtxRotateTrans(sead::Matrix34f*, const sead::Vector3f&, const sead::Vector3f&); + } // namespace al diff --git a/src/al/CMakeLists.txt b/src/al/CMakeLists.txt index 0950564..7117475 100644 --- a/src/al/CMakeLists.txt +++ b/src/al/CMakeLists.txt @@ -9,7 +9,6 @@ add_subdirectory(iuse) add_subdirectory(LiveActor) add_subdirectory(nerve) add_subdirectory(player) -add_subdirectory(pose) add_subdirectory(resource) add_subdirectory(scene) add_subdirectory(sensor) diff --git a/src/al/LiveActor/ActorPoseKeeper.cpp b/src/al/LiveActor/ActorPoseKeeper.cpp new file mode 100644 index 0000000..e2dc6c4 --- /dev/null +++ b/src/al/LiveActor/ActorPoseKeeper.cpp @@ -0,0 +1,482 @@ +#include "al/LiveActor/ActorPoseKeeper.h" + +#include "al/util/LiveActorUtil.h" +#include "al/util/VectorUtil.h" + +namespace al { + +static void rotationAndTranslationFromMatrix(sead::Vector3f& trans, sead::Vector3f& rot, + const sead::Matrix34f* mtx) { + sead::Vector3f tmp; + mtx->getRotation(tmp); + rot.set(sead::Mathf::rad2deg(tmp.x), sead::Mathf::rad2deg(tmp.y), sead::Mathf::rad2deg(tmp.z)); + mtx->getTranslation(trans); +} + +ActorPoseKeeperBase::ActorPoseKeeperBase() = default; +const sead::Vector3f& ActorPoseKeeperBase::getRotate() const { + return sead::Vector3f::zero; +} +const sead::Vector3f& ActorPoseKeeperBase::getScale() const { + return sead::Vector3f::ones; +} +const sead::Vector3f& ActorPoseKeeperBase::getVelocity() const { + return sead::Vector3f::zero; +} +const sead::Vector3f& ActorPoseKeeperBase::getFront() const { + return sead::Vector3f::ez; +} +const sead::Vector3f& ActorPoseKeeperBase::getUp() const { + return sead::Vector3f::ey; +} +const sead::Quatf& ActorPoseKeeperBase::getQuat() const { + return sead::Quatf::unit; +} +const sead::Vector3f& ActorPoseKeeperBase::getGravity() const { + return sDefaultVelocity; +} +const sead::Matrix34f& ActorPoseKeeperBase::getMtx() const { + return sead::Matrix34f::ident; +} +sead::Vector3f* ActorPoseKeeperBase::getRotatePtr() { + return nullptr; +} +sead::Vector3f* ActorPoseKeeperBase::getScalePtr() { + return nullptr; +} +sead::Vector3f* ActorPoseKeeperBase::getVelocityPtr() { + return nullptr; +} +sead::Vector3f* ActorPoseKeeperBase::getFrontPtr() { + return nullptr; +} +sead::Vector3f* ActorPoseKeeperBase::getUpPtr() { + return nullptr; +} +sead::Quatf* ActorPoseKeeperBase::getQuatPtr() { + return nullptr; +} +sead::Vector3f* ActorPoseKeeperBase::getGravityPtr() { + return nullptr; +} +sead::Matrix34f* ActorPoseKeeperBase::getMtxPtr() { + return nullptr; +} +void ActorPoseKeeperBase::copyPose(const ActorPoseKeeperBase* other) { + sead::Matrix34f mtx; + mtx = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0}; + other->calcBaseMtx(&mtx); + updatePoseMtx(&mtx); +} +void ActorPoseKeeperBase::updatePoseRotate(const sead::Vector3f& rot) { + sead::Quatf quat; + quat.setRPY(sead::Mathf::deg2rad(rot.x), sead::Mathf::deg2rad(rot.y), + sead::Mathf::deg2rad(rot.z)); + updatePoseQuat(quat); +} + +ActorPoseKeeperTFSV::ActorPoseKeeperTFSV() = default; +const sead::Vector3f& ActorPoseKeeperTFSV::getFront() const { + return mFront; +} +sead::Vector3f* ActorPoseKeeperTFSV::getFrontPtr() { + return &mFront; +} +const sead::Vector3f& ActorPoseKeeperTFSV::getScale() const { + return mScale; +} +sead::Vector3f* ActorPoseKeeperTFSV::getScalePtr() { + return &mScale; +} +const sead::Vector3f& ActorPoseKeeperTFSV::getVelocity() const { + return mVelocity; +} +sead::Vector3f* ActorPoseKeeperTFSV::getVelocityPtr() { + return &mVelocity; +} +void ActorPoseKeeperTFSV::updatePoseTrans(const sead::Vector3f& trans) { + mTrans = trans; +} +void ActorPoseKeeperTFSV::updatePoseRotate(const sead::Vector3f& rot) { + sead::Quatf quat; + quat.setRPY(sead::Mathf::deg2rad(rot.x), sead::Mathf::deg2rad(rot.y), + sead::Mathf::deg2rad(rot.z)); + calcQuatFront(&mFront, quat); +} +void ActorPoseKeeperTFSV::updatePoseQuat(const sead::Quatf& quat) { + calcQuatFront(&mFront, quat); +} +void ActorPoseKeeperTFSV::updatePoseMtx(const sead::Matrix34f* mtx) { + mtx->getBase(mFront, 2); + mtx->getBase(mTrans, 3); +} +void ActorPoseKeeperTFSV::calcBaseMtx(sead::Matrix34f* mtx) const { + makeMtxFrontUpPos(mtx, mFront, -getGravity(), mTrans); +} + +ActorPoseKeeperTFGSV::ActorPoseKeeperTFGSV() = default; + +const sead::Vector3f& ActorPoseKeeperTFGSV::getGravity() const { + return mGravity; +} +sead::Vector3f* ActorPoseKeeperTFGSV::getGravityPtr() { + return &mGravity; +} +void ActorPoseKeeperTFGSV::updatePoseTrans(const sead::Vector3f& trans) { + ActorPoseKeeperTFSV::updatePoseTrans(trans); +} +void ActorPoseKeeperTFGSV::updatePoseRotate(const sead::Vector3f& rot) { + sead::Quatf quat; + quat.setRPY(sead::Mathf::deg2rad(rot.x), sead::Mathf::deg2rad(rot.y), + sead::Mathf::deg2rad(rot.z)); + + ActorPoseKeeperTFSV::updatePoseQuat(quat); + calcQuatUp(&mGravity, quat); + mGravity *= -1; +} +void ActorPoseKeeperTFGSV::updatePoseQuat(const sead::Quatf& quat) { + ActorPoseKeeperTFSV::updatePoseQuat(quat); + calcQuatUp(&mGravity, quat); + mGravity *= -1; +} +void ActorPoseKeeperTFGSV::updatePoseMtx(const sead::Matrix34f* mtx) { + ActorPoseKeeperTFSV::updatePoseMtx(mtx); + mtx->getBase(mGravity, 1); + mGravity *= -1; +} +void ActorPoseKeeperTFGSV::calcBaseMtx(sead::Matrix34f* mtx) const { + makeMtxUpFrontPos(mtx, -getGravity(), getFront(), mTrans); +} + +ActorPoseKeeperTFUSV::ActorPoseKeeperTFUSV() = default; + +const sead::Vector3f& ActorPoseKeeperTFUSV::getUp() const { + return mUp; +} +sead::Vector3f* ActorPoseKeeperTFUSV::getUpPtr() { + return &mUp; +} +void ActorPoseKeeperTFUSV::updatePoseTrans(const sead::Vector3f& trans) { + ActorPoseKeeperTFSV::updatePoseTrans(trans); +} +void ActorPoseKeeperTFUSV::updatePoseRotate(const sead::Vector3f& rot) { + sead::Quatf quat; + quat.setRPY(sead::Mathf::deg2rad(rot.x), sead::Mathf::deg2rad(rot.y), + sead::Mathf::deg2rad(rot.z)); + + ActorPoseKeeperTFSV::updatePoseQuat(quat); + calcQuatUp(&mUp, quat); +} +void ActorPoseKeeperTFUSV::updatePoseQuat(const sead::Quatf& quat) { + ActorPoseKeeperTFSV::updatePoseQuat(quat); + calcQuatUp(&mUp, quat); +} +void ActorPoseKeeperTFUSV::updatePoseMtx(const sead::Matrix34f* mtx) { + ActorPoseKeeperTFSV::updatePoseMtx(mtx); + mtx->getBase(mUp, 1); +} +void ActorPoseKeeperTFUSV::calcBaseMtx(sead::Matrix34f* mtx) const { + if (mIsFrontUp) + makeMtxFrontUpPos(mtx, getFront(), getUp(), mTrans); + else + makeMtxUpFrontPos(mtx, getUp(), getFront(), mTrans); +} + +ActorPoseKeeperTQSV::ActorPoseKeeperTQSV() = default; + +const sead::Quatf& ActorPoseKeeperTQSV::getQuat() const { + return mQuat; +} +sead::Quatf* ActorPoseKeeperTQSV::getQuatPtr() { + return &mQuat; +} +const sead::Vector3f& ActorPoseKeeperTQSV::getScale() const { + return mScale; +} +sead::Vector3f* ActorPoseKeeperTQSV::getScalePtr() { + return &mScale; +} +const sead::Vector3f& ActorPoseKeeperTQSV::getVelocity() const { + return mVelocity; +} +sead::Vector3f* ActorPoseKeeperTQSV::getVelocityPtr() { + return &mVelocity; +} +void ActorPoseKeeperTQSV::updatePoseTrans(const sead::Vector3f& trans) { + mTrans = trans; +} +void ActorPoseKeeperTQSV::updatePoseRotate(const sead::Vector3f& rot) { + mQuat.setRPY(sead::Mathf::deg2rad(rot.x), sead::Mathf::deg2rad(rot.y), + sead::Mathf::deg2rad(rot.z)); +} +void ActorPoseKeeperTQSV::updatePoseQuat(const sead::Quatf& quat) { + mQuat.x = quat.x; + mQuat.y = quat.y; + mQuat.z = quat.z; + mQuat.w = quat.w; +} +void ActorPoseKeeperTQSV::updatePoseMtx(const sead::Matrix34f* mtx) { + mtx->toQuat(mQuat); + mtx->getBase(mTrans, 3); +} +void ActorPoseKeeperTQSV::calcBaseMtx(sead::Matrix34f* mtx) const { + mtx->makeQT(mQuat, mTrans); +} + +ActorPoseKeeperTQGSV::ActorPoseKeeperTQGSV() = default; + +const sead::Quatf& ActorPoseKeeperTQGSV::getQuat() const { + return mQuat; +} +sead::Quatf* ActorPoseKeeperTQGSV::getQuatPtr() { + return &mQuat; +} +const sead::Vector3f& ActorPoseKeeperTQGSV::getGravity() const { + return mGravity; +} +sead::Vector3f* ActorPoseKeeperTQGSV::getGravityPtr() { + return &mGravity; +} +const sead::Vector3f& ActorPoseKeeperTQGSV::getScale() const { + return mScale; +} +sead::Vector3f* ActorPoseKeeperTQGSV::getScalePtr() { + return &mScale; +} +const sead::Vector3f& ActorPoseKeeperTQGSV::getVelocity() const { + return mVelocity; +} +sead::Vector3f* ActorPoseKeeperTQGSV::getVelocityPtr() { + return &mVelocity; +} +void ActorPoseKeeperTQGSV::updatePoseTrans(const sead::Vector3f& trans) { + mTrans = trans; +} +void ActorPoseKeeperTQGSV::updatePoseRotate(const sead::Vector3f& rot) { + mQuat.setRPY(sead::Mathf::deg2rad(rot.x), sead::Mathf::deg2rad(rot.y), + sead::Mathf::deg2rad(rot.z)); +} +void ActorPoseKeeperTQGSV::updatePoseQuat(const sead::Quatf& quat) { + mQuat.x = quat.x; + mQuat.y = quat.y; + mQuat.z = quat.z; + mQuat.w = quat.w; +} +void ActorPoseKeeperTQGSV::updatePoseMtx(const sead::Matrix34f* mtx) { + mtx->toQuat(mQuat); + mtx->getTranslation(mTrans); +} +void ActorPoseKeeperTQGSV::calcBaseMtx(sead::Matrix34f* mtx) const { + mtx->makeQT(mQuat, mTrans); +} + +ActorPoseKeeperTQGMSV::ActorPoseKeeperTQGMSV() = default; + +const sead::Quatf& ActorPoseKeeperTQGMSV::getQuat() const { + return mQuat; +} +sead::Quatf* ActorPoseKeeperTQGMSV::getQuatPtr() { + return &mQuat; +} +const sead::Vector3f& ActorPoseKeeperTQGMSV::getGravity() const { + return mGravity; +} +sead::Vector3f* ActorPoseKeeperTQGMSV::getGravityPtr() { + return &mGravity; +} +const sead::Matrix34f& ActorPoseKeeperTQGMSV::getMtx() const { + return mMtx; +} +sead::Matrix34f* ActorPoseKeeperTQGMSV::getMtxPtr() { + return &mMtx; +} +const sead::Vector3f& ActorPoseKeeperTQGMSV::getScale() const { + return mScale; +} +sead::Vector3f* ActorPoseKeeperTQGMSV::getScalePtr() { + return &mScale; +} +const sead::Vector3f& ActorPoseKeeperTQGMSV::getVelocity() const { + return mVelocity; +} +sead::Vector3f* ActorPoseKeeperTQGMSV::getVelocityPtr() { + return &mVelocity; +} +void ActorPoseKeeperTQGMSV::updatePoseTrans(const sead::Vector3f& trans) { + mTrans = trans; + mMtx.makeQT(mQuat, mTrans); +} +void ActorPoseKeeperTQGMSV::updatePoseRotate(const sead::Vector3f& rot) { + mQuat.setRPY(sead::Mathf::deg2rad(rot.x), sead::Mathf::deg2rad(rot.y), + sead::Mathf::deg2rad(rot.z)); + mMtx.makeQT(mQuat, mTrans); +} +void ActorPoseKeeperTQGMSV::updatePoseQuat(const sead::Quatf& quat) { + mQuat.x = quat.x; + mQuat.y = quat.y; + mQuat.z = quat.z; + mQuat.w = quat.w; + mMtx.makeQT(mQuat, mTrans); +} +void ActorPoseKeeperTQGMSV::updatePoseMtx(const sead::Matrix34f* mtx) { + mtx->toQuat(mQuat); + mtx->getTranslation(mTrans); + mMtx.makeQT(mQuat, mTrans); +} +void ActorPoseKeeperTQGMSV::calcBaseMtx(sead::Matrix34f* mtx) const { + *mtx = mMtx; +} + +ActorPoseKeeperTRSV::ActorPoseKeeperTRSV() = default; + +const sead::Vector3f& ActorPoseKeeperTRSV::getRotate() const { + return mRotate; +} +sead::Vector3f* ActorPoseKeeperTRSV::getRotatePtr() { + return &mRotate; +} +const sead::Vector3f& ActorPoseKeeperTRSV::getScale() const { + return mScale; +} +sead::Vector3f* ActorPoseKeeperTRSV::getScalePtr() { + return &mScale; +} +const sead::Vector3f& ActorPoseKeeperTRSV::getVelocity() const { + return mVelocity; +} +sead::Vector3f* ActorPoseKeeperTRSV::getVelocityPtr() { + return &mVelocity; +} +void ActorPoseKeeperTRSV::updatePoseTrans(const sead::Vector3f& trans) { + mTrans = trans; +} +void ActorPoseKeeperTRSV::updatePoseRotate(const sead::Vector3f& rot) { + mRotate = rot; +} +void ActorPoseKeeperTRSV::updatePoseQuat(const sead::Quatf& quat) { + sead::Vector3f tmp; + quat.calcRPY(tmp); + mRotate = {sead::Mathf::rad2deg(tmp.x), sead::Mathf::rad2deg(tmp.y), + sead::Mathf::rad2deg(tmp.z)}; +} +void ActorPoseKeeperTRSV::updatePoseMtx(const sead::Matrix34f* mtx) { + rotationAndTranslationFromMatrix(mTrans, mRotate, mtx); +} +void ActorPoseKeeperTRSV::calcBaseMtx(sead::Matrix34f* mtx) const { + al::makeMtxRotateTrans(mtx, getRotate(), mTrans); +} + +ActorPoseKeeperTRMSV::ActorPoseKeeperTRMSV() { + mMtx = sead::Matrix34f::ident; +} + +const sead::Vector3f& ActorPoseKeeperTRMSV::getRotate() const { + return mRotate; +} +sead::Vector3f* ActorPoseKeeperTRMSV::getRotatePtr() { + return &mRotate; +} +const sead::Matrix34f& ActorPoseKeeperTRMSV::getMtx() const { + return mMtx; +} +sead::Matrix34f* ActorPoseKeeperTRMSV::getMtxPtr() { + return &mMtx; +} +const sead::Vector3f& ActorPoseKeeperTRMSV::getScale() const { + return mScale; +} +sead::Vector3f* ActorPoseKeeperTRMSV::getScalePtr() { + return &mScale; +} +const sead::Vector3f& ActorPoseKeeperTRMSV::getVelocity() const { + return mVelocity; +} +sead::Vector3f* ActorPoseKeeperTRMSV::getVelocityPtr() { + return &mVelocity; +} +void ActorPoseKeeperTRMSV::updatePoseTrans(const sead::Vector3f& trans) { + mTrans = trans; + sead::Vector3f rot = getRotate() * (sead::numbers::pi / 180); + mMtx.makeRT(rot, mTrans); +} +void ActorPoseKeeperTRMSV::updatePoseRotate(const sead::Vector3f& rot) { + mRotate = rot; + sead::Vector3f rot2 = getRotate() * (sead::numbers::pi / 180); + mMtx.makeRT(rot2, mTrans); +} +void ActorPoseKeeperTRMSV::updatePoseQuat(const sead::Quatf& quat) { + sead::Vector3f tmp; + quat.calcRPY(tmp); + mRotate = tmp * (180 / sead::numbers::pi); + sead::Vector3f rot = getRotate() * (sead::numbers::pi / 180); + mMtx.makeRT(rot, mTrans); +} +void ActorPoseKeeperTRMSV::updatePoseMtx(const sead::Matrix34f* mtx) { + mMtx = *mtx; + rotationAndTranslationFromMatrix(mTrans, mRotate, mtx); +} +void ActorPoseKeeperTRMSV::calcBaseMtx(sead::Matrix34f* mtx) const { + *mtx = mMtx; +} + +// NON_MATCHING: mismatch about storing mGravity +ActorPoseKeeperTRGMSV::ActorPoseKeeperTRGMSV() { + mMtx = sead::Matrix34f::ident; +} + +const sead::Vector3f& ActorPoseKeeperTRGMSV::getRotate() const { + return mRotate; +} +sead::Vector3f* ActorPoseKeeperTRGMSV::getRotatePtr() { + return &mRotate; +} +const sead::Vector3f& ActorPoseKeeperTRGMSV::getGravity() const { + return mGravity; +} +sead::Vector3f* ActorPoseKeeperTRGMSV::getGravityPtr() { + return &mGravity; +} +const sead::Matrix34f& ActorPoseKeeperTRGMSV::getMtx() const { + return mMtx; +} +sead::Matrix34f* ActorPoseKeeperTRGMSV::getMtxPtr() { + return &mMtx; +} +const sead::Vector3f& ActorPoseKeeperTRGMSV::getScale() const { + return mScale; +} +sead::Vector3f* ActorPoseKeeperTRGMSV::getScalePtr() { + return &mScale; +} +const sead::Vector3f& ActorPoseKeeperTRGMSV::getVelocity() const { + return mVelocity; +} +sead::Vector3f* ActorPoseKeeperTRGMSV::getVelocityPtr() { + return &mVelocity; +} +void ActorPoseKeeperTRGMSV::updatePoseTrans(const sead::Vector3f& trans) { + mTrans = trans; + sead::Vector3f rot = getRotate() * (sead::numbers::pi / 180); + mMtx.makeRT(rot, mTrans); +} +void ActorPoseKeeperTRGMSV::updatePoseRotate(const sead::Vector3f& rot) { + mRotate = rot; + sead::Vector3f rot2 = getRotate() * (sead::numbers::pi / 180); + mMtx.makeRT(rot2, mTrans); +} +void ActorPoseKeeperTRGMSV::updatePoseQuat(const sead::Quatf& quat) { + sead::Vector3f tmp; + quat.calcRPY(tmp); + mRotate = tmp * (180 / sead::numbers::pi); + sead::Vector3f rot = getRotate() * (sead::numbers::pi / 180); + mMtx.makeRT(rot, mTrans); +} +void ActorPoseKeeperTRGMSV::updatePoseMtx(const sead::Matrix34f* mtx) { + mMtx = *mtx; + rotationAndTranslationFromMatrix(mTrans, mRotate, mtx); +} +void ActorPoseKeeperTRGMSV::calcBaseMtx(sead::Matrix34f* mtx) const { + *mtx = mMtx; +} + +} // namespace al diff --git a/src/al/LiveActor/CMakeLists.txt b/src/al/LiveActor/CMakeLists.txt index 772183d..e3adf9d 100644 --- a/src/al/LiveActor/CMakeLists.txt +++ b/src/al/LiveActor/CMakeLists.txt @@ -1,4 +1,5 @@ target_sources(odyssey PRIVATE + ActorPoseKeeper.cpp DepthShadowMapCtrl.cpp LiveActor.cpp LiveActorFlag.cpp diff --git a/src/al/pose/ActorPoseKeeper.cpp b/src/al/pose/ActorPoseKeeper.cpp deleted file mode 100755 index 6ea7e3b..0000000 --- a/src/al/pose/ActorPoseKeeper.cpp +++ /dev/null @@ -1,105 +0,0 @@ -#include "al/pose/ActorPoseKeeper.h" - -namespace al { -const sead::Vector3& ActorPoseKeeperBase::getRotate() const { - return sead::Vector3::zero; -} - -const sead::Vector3& ActorPoseKeeperBase::getScale() const { - return sead::Vector3::ones; -} - -const sead::Vector3& ActorPoseKeeperBase::getVelocity() const { - return sead::Vector3::zero; -} - -const sead::Vector3& ActorPoseKeeperBase::getFront() const { - return sead::Vector3::ez; -} - -const sead::Vector3& ActorPoseKeeperBase::getUp() const { - return sead::Vector3::ey; -} - -const sead::Quat& ActorPoseKeeperBase::getQuat() const { - return sead::Quat::unit; -} - -const sead::Vector3& ActorPoseKeeperBase::getGravity() const { - return sDefaultVelocity; -} - -const sead::Matrix34& ActorPoseKeeperBase::getMtx() const { - return sead::Matrix34::ident; -} - -sead::Vector3* ActorPoseKeeperBase::getRotatePtr() { - return nullptr; -} - -sead::Vector3* ActorPoseKeeperBase::getScalePtr() { - return nullptr; -} - -sead::Vector3* ActorPoseKeeperBase::getVelocityPtr() { - return nullptr; -} - -sead::Vector3* ActorPoseKeeperBase::getFrontPtr() { - return nullptr; -} - -sead::Vector3* ActorPoseKeeperBase::getUpPtr() { - return nullptr; -} - -sead::Quat* ActorPoseKeeperBase::getQuatPtr() { - return nullptr; -} - -sead::Vector3* ActorPoseKeeperBase::getGravityPtr() { - return nullptr; -} - -sead::Matrix34* ActorPoseKeeperBase::getMtxPtr() { - return nullptr; -} - -/* ActorPoseKeeperTRSV (Translation, Rotation, Scale, Velocity) */ - -const sead::Vector3& ActorPoseKeeperTRSV::getRotate() const { - return mRotation; -} - -const sead::Vector3& ActorPoseKeeperTRSV::getScale() const { - return mScale; -} - -const sead::Vector3& ActorPoseKeeperTRSV::getVelocity() const { - return mVelocity; -} - -sead::Vector3* ActorPoseKeeperTRSV::getRotatePtr() { - return &mRotation; -} - -sead::Vector3* ActorPoseKeeperTRSV::getScalePtr() { - return &mScale; -} - -sead::Vector3* ActorPoseKeeperTRSV::getVelocityPtr() { - return &mVelocity; -} - -void ActorPoseKeeperTRSV::updatePoseTrans(const sead::Vector3& rTrans) { - mTranslation.x = rTrans.x; - mTranslation.y = rTrans.y; - mTranslation.z = rTrans.z; -} - -void ActorPoseKeeperTRSV::updatePoseRotate(const sead::Vector3& rRotation) { - mRotation.x = rRotation.x; - mRotation.y = rRotation.y; - mRotation.z = rRotation.z; -} -}; // namespace al \ No newline at end of file diff --git a/src/al/pose/CMakeLists.txt b/src/al/pose/CMakeLists.txt deleted file mode 100644 index 22f6a63..0000000 --- a/src/al/pose/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -target_sources(odyssey PRIVATE - ActorPoseKeeper.cpp -)