From 4450d879470a0ac65dce5bd7205bfc5fd64c317f Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Sun, 19 Oct 2014 00:09:07 -0700 Subject: [PATCH] Move AniGraph classes from plAvatar -> plAnimation. --- Sources/Plasma/Apps/plClient/CMakeLists.txt | 1 + Sources/Plasma/Apps/plClient/plClient.cpp | 2 +- .../pfAnimation/plAnimDebugList.cpp | 6 +- .../pfConsole/pfAvatarConsoleCommands.cpp | 4 +- .../pfGameGUIMgr/pfGUIButtonMod.cpp | 2 +- .../pfGameGUIMgr/pfGUICheckBoxCtrl.cpp | 2 +- .../pfGameGUIMgr/pfGUIDragBarCtrl.cpp | 2 +- .../pfGameGUIMgr/pfGUIDraggableMod.cpp | 2 +- .../pfGameGUIMgr/pfGUIEditBoxMod.cpp | 2 +- .../FeatureLib/pfGameGUIMgr/pfGUIKnobCtrl.cpp | 6 +- .../pfGameGUIMgr/pfGUIListBoxMod.cpp | 2 +- .../pfGameGUIMgr/pfGUIMultiLineEditCtrl.cpp | 2 +- .../pfGameGUIMgr/pfGUIProgressCtrl.cpp | 6 +- .../pfGameGUIMgr/pfGUITextBoxMod.cpp | 2 +- .../pfGameGUIMgr/pfGUIUpDownPairMod.cpp | 2 +- .../Plasma/FeatureLib/pfPython/cyAvatar.cpp | 2 +- Sources/Plasma/PubUtilLib/CMakeLists.txt | 1 + .../Plasma/PubUtilLib/inc/plAllCreatables.h | 2 +- .../PubUtilLib/plAnimation/CMakeLists.txt | 43 ++++++ .../{plAvatar => plAnimation}/plAGAnim.cpp | 0 .../{plAvatar => plAnimation}/plAGAnim.h | 0 .../plAGAnimInstance.cpp | 81 +++++++++-- .../plAGAnimInstance.h | 23 +-- .../plAGApplicator.cpp | 0 .../plAGApplicator.h | 2 +- .../{plAvatar => plAnimation}/plAGChannel.cpp | 0 .../{plAvatar => plAnimation}/plAGChannel.h | 0 .../Plasma/PubUtilLib/plAnimation/plAGDefs.h | 63 +++++++++ .../plAGMasterMod.cpp | 2 +- .../{plAvatar => plAnimation}/plAGMasterMod.h | 2 +- .../plAGModifier.cpp | 0 .../{plAvatar => plAnimation}/plAGModifier.h | 2 +- .../plAnimation/plAnimationCreatable.h | 132 ++++++++++++++++++ .../plMatrixChannel.cpp | 0 .../plMatrixChannel.h | 0 .../plPointChannel.cpp | 0 .../plPointChannel.h | 0 .../plQuatChannel.cpp | 0 .../{plAvatar => plAnimation}/plQuatChannel.h | 0 .../plScalarChannel.cpp | 0 .../plScalarChannel.h | 0 Sources/Plasma/PubUtilLib/plAudio/plSound.cpp | 4 +- Sources/Plasma/PubUtilLib/plAudio/plSound.h | 4 +- .../Plasma/PubUtilLib/plAvatar/CMakeLists.txt | 24 +--- .../PubUtilLib/plAvatar/plAnimStage.cpp | 6 +- .../PubUtilLib/plAvatar/plArmatureMod.cpp | 6 +- .../PubUtilLib/plAvatar/plArmatureMod.h | 2 +- .../PubUtilLib/plAvatar/plAvBehaviors.cpp | 2 +- .../Plasma/PubUtilLib/plAvatar/plAvBrain.h | 2 +- .../PubUtilLib/plAvatar/plAvBrainClimb.cpp | 6 +- .../PubUtilLib/plAvatar/plAvBrainCritter.cpp | 4 +- .../PubUtilLib/plAvatar/plAvBrainGeneric.cpp | 4 +- .../PubUtilLib/plAvatar/plAvBrainGeneric.h | 2 +- .../PubUtilLib/plAvatar/plAvBrainHuman.cpp | 8 +- .../PubUtilLib/plAvatar/plAvBrainHuman.h | 2 +- .../PubUtilLib/plAvatar/plAvBrainSwim.cpp | 4 +- Sources/Plasma/PubUtilLib/plAvatar/plAvDefs.h | 19 +-- .../plAvatar/plAvLadderModifier.cpp | 2 +- .../PubUtilLib/plAvatar/plAvTaskSeek.cpp | 2 +- .../PubUtilLib/plAvatar/plAvatarCreatable.h | 71 ---------- .../PubUtilLib/plAvatar/plAvatarMgr.cpp | 2 +- .../PubUtilLib/plAvatar/plAvatarTasks.cpp | 8 +- .../plAvatar/plPhysicalControllerCore.cpp | 2 +- .../Plasma/PubUtilLib/plInterp/CMakeLists.txt | 4 + .../PubUtilLib/plInterp/plAnimTimeConvert.cpp | 67 ++------- .../PubUtilLib/plInterp/plAnimTimeConvert.h | 6 +- .../PubUtilLib/plModifier/CMakeLists.txt | 2 + .../plAGMasterSDLModifier.cpp | 4 +- .../plAGMasterSDLModifier.h | 2 +- .../plModifier/plModifierCreatable.h | 3 + .../plNetClient/plLinkEffectsMgr.cpp | 2 +- .../plParticleSystem/plParticleApplicator.cpp | 4 +- .../plParticleSystem/plParticleApplicator.h | 4 +- Sources/Tools/MaxComponent/plAGComponents.cpp | 4 +- .../Tools/MaxComponent/plAnimComponent.cpp | 16 +-- .../Tools/MaxComponent/plAudioComponents.cpp | 2 +- .../Tools/MaxComponent/plGUIComponents.cpp | 6 +- .../MaxComponent/plParticleComponents.cpp | 4 +- Sources/Tools/MaxMain/CMakeLists.txt | 1 + Sources/Tools/MaxMain/plMaxNode.cpp | 10 +- Sources/Tools/MaxPlasmaLights/CMakeLists.txt | 1 + 81 files changed, 429 insertions(+), 297 deletions(-) create mode 100644 Sources/Plasma/PubUtilLib/plAnimation/CMakeLists.txt rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGAnim.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGAnim.h (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGAnimInstance.cpp (89%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGAnimInstance.h (99%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGApplicator.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGApplicator.h (99%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGChannel.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGChannel.h (100%) create mode 100644 Sources/Plasma/PubUtilLib/plAnimation/plAGDefs.h rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGMasterMod.cpp (99%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGMasterMod.h (99%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGModifier.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plAGModifier.h (99%) create mode 100644 Sources/Plasma/PubUtilLib/plAnimation/plAnimationCreatable.h rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plMatrixChannel.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plMatrixChannel.h (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plPointChannel.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plPointChannel.h (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plQuatChannel.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plQuatChannel.h (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plScalarChannel.cpp (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plAnimation}/plScalarChannel.h (100%) rename Sources/Plasma/PubUtilLib/{plAvatar => plModifier}/plAGMasterSDLModifier.cpp (98%) rename Sources/Plasma/PubUtilLib/{plAvatar => plModifier}/plAGMasterSDLModifier.h (98%) diff --git a/Sources/Plasma/Apps/plClient/CMakeLists.txt b/Sources/Plasma/Apps/plClient/CMakeLists.txt index e5d9ef41..d6faa923 100644 --- a/Sources/Plasma/Apps/plClient/CMakeLists.txt +++ b/Sources/Plasma/Apps/plClient/CMakeLists.txt @@ -87,6 +87,7 @@ target_link_libraries(plClient pfPython) target_link_libraries(plClient pfSurface) target_link_libraries(plClient plAgeDescription) target_link_libraries(plClient plAgeLoader) +target_link_libraries(plClient plAnimation) target_link_libraries(plClient plAudible) target_link_libraries(plClient plAudio) target_link_libraries(plClient plAudioCore) diff --git a/Sources/Plasma/Apps/plClient/plClient.cpp b/Sources/Plasma/Apps/plClient/plClient.cpp index f3dbaf56..70f2a358 100644 --- a/Sources/Plasma/Apps/plClient/plClient.cpp +++ b/Sources/Plasma/Apps/plClient/plClient.cpp @@ -140,7 +140,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pfJournalBook/pfJournalBook.h" -#include "plAvatar/plAGAnimInstance.h" +#include "plAnimation/plAGAnimInstance.h" #include "plAgeLoader/plAgeLoader.h" #include "plQuality.h" diff --git a/Sources/Plasma/FeatureLib/pfAnimation/plAnimDebugList.cpp b/Sources/Plasma/FeatureLib/pfAnimation/plAnimDebugList.cpp index 2d965a03..ac122d3a 100644 --- a/Sources/Plasma/FeatureLib/pfAnimation/plAnimDebugList.cpp +++ b/Sources/Plasma/FeatureLib/pfAnimation/plAnimDebugList.cpp @@ -46,9 +46,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnSceneObject/plSceneObject.h" #include "plSurface/hsGMaterial.h" #include "plSurface/plLayerAnimation.h" -#include "plAvatar/plAGMasterMod.h" -#include "plAvatar/plAGAnimInstance.h" -#include "plAvatar/plAGAnim.h" +#include "plAnimation/plAGMasterMod.h" +#include "plAnimation/plAGAnimInstance.h" +#include "plAnimation/plAGAnim.h" #include "plResMgr/plKeyFinder.h" #include "plPipeline/plDebugText.h" diff --git a/Sources/Plasma/FeatureLib/pfConsole/pfAvatarConsoleCommands.cpp b/Sources/Plasma/FeatureLib/pfConsole/pfAvatarConsoleCommands.cpp index 23d1191a..e4707b73 100644 --- a/Sources/Plasma/FeatureLib/pfConsole/pfAvatarConsoleCommands.cpp +++ b/Sources/Plasma/FeatureLib/pfConsole/pfAvatarConsoleCommands.cpp @@ -76,11 +76,11 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvatar/plAvatarMgr.h" #include "plAvatar/plSeekPointMod.h" #include "plAvatar/plOneShotMod.h" -#include "plAvatar/plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "plAvatar/plAvBrainUser.h" #include "plAvatar/plAvBrainHuman.h" #include "plAvatar/plNPCSpawnMod.h" -#include "plAvatar/plAGAnimInstance.h" +#include "plAnimation/plAGAnimInstance.h" #include "plAvatar/plArmatureEffects.h" #include "plAvatar/plAvTaskSeek.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIButtonMod.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIButtonMod.cpp index 36b4f430..6f02e33c 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIButtonMod.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIButtonMod.cpp @@ -56,7 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUICheckBoxCtrl.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUICheckBoxCtrl.cpp index 6c302ce8..a033dc48 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUICheckBoxCtrl.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUICheckBoxCtrl.cpp @@ -56,7 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDragBarCtrl.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDragBarCtrl.cpp index e3e9a785..61d4a5c3 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDragBarCtrl.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDragBarCtrl.cpp @@ -58,7 +58,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDraggableMod.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDraggableMod.cpp index d79d4a22..ccbe8d64 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDraggableMod.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIDraggableMod.cpp @@ -52,7 +52,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plInputCore/plInputInterface.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.cpp index 59014757..78fe87a0 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIEditBoxMod.cpp @@ -56,7 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plGImage/plDynamicTextMap.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIKnobCtrl.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIKnobCtrl.cpp index 24bca699..942f684c 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIKnobCtrl.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIKnobCtrl.cpp @@ -54,9 +54,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -// #include "plAvatar/plAGModifier.h" -#include "plAvatar/plAGMasterMod.h" -#include "plAvatar/plAGAnimInstance.h" +// #include "plAnimation/plAGModifier.h" +#include "plAnimation/plAGMasterMod.h" +#include "plAnimation/plAGAnimInstance.h" #include "plSurface/plLayerAnimation.h" #include "pnSceneObject/plSceneObject.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIListBoxMod.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIListBoxMod.cpp index 8ae40e98..695761ca 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIListBoxMod.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIListBoxMod.cpp @@ -56,7 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plGImage/plDynamicTextMap.h" #include "plInputCore/plInputInterface.h" #include "plgDispatch.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIMultiLineEditCtrl.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIMultiLineEditCtrl.cpp index aa6b8c6b..fc3d6b17 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIMultiLineEditCtrl.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIMultiLineEditCtrl.cpp @@ -56,7 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plGImage/plDynamicTextMap.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIProgressCtrl.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIProgressCtrl.cpp index 027f36cf..b9df2a83 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIProgressCtrl.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIProgressCtrl.cpp @@ -55,9 +55,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" #include "plMessage/plTimerCallbackMsg.h" -// #include "plAvatar/plAGModifier.h" -#include "plAvatar/plAGMasterMod.h" -#include "plAvatar/plAGAnimInstance.h" +// #include "plAnimation/plAGModifier.h" +#include "plAnimation/plAGMasterMod.h" +#include "plAnimation/plAGAnimInstance.h" #include "plSurface/plLayerAnimation.h" #include "pnSceneObject/plSceneObject.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUITextBoxMod.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUITextBoxMod.cpp index 1b5c5347..79141a2f 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUITextBoxMod.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUITextBoxMod.cpp @@ -52,7 +52,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plGImage/plDynamicTextMap.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIUpDownPairMod.cpp b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIUpDownPairMod.cpp index 40b42e50..0bc77cc3 100644 --- a/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIUpDownPairMod.cpp +++ b/Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIUpDownPairMod.cpp @@ -54,7 +54,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnMessage/plRefMsg.h" #include "pfMessage/pfGameGUIMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plgDispatch.h" #include "hsResMgr.h" diff --git a/Sources/Plasma/FeatureLib/pfPython/cyAvatar.cpp b/Sources/Plasma/FeatureLib/pfPython/cyAvatar.cpp index 6d8ef5cb..627838b7 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyAvatar.cpp +++ b/Sources/Plasma/FeatureLib/pfPython/cyAvatar.cpp @@ -67,7 +67,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvatar/plClothingLayout.h" #include "plAvatar/plArmatureMod.h" #include "plAvatar/plAvBrainHuman.h" // needed to call the emote -#include "plAvatar/plAGAnim.h" // to get the BodyUsage enum +#include "plAnimation/plAGAnim.h" // to get the BodyUsage enum #include "plInputCore/plAvatarInputInterface.h" #include "plMessage/plSimStateMsg.h" diff --git a/Sources/Plasma/PubUtilLib/CMakeLists.txt b/Sources/Plasma/PubUtilLib/CMakeLists.txt index 588fc125..49760aca 100644 --- a/Sources/Plasma/PubUtilLib/CMakeLists.txt +++ b/Sources/Plasma/PubUtilLib/CMakeLists.txt @@ -2,6 +2,7 @@ add_definitions(-D_LIB) add_subdirectory(plAgeDescription) add_subdirectory(plAgeLoader) +add_subdirectory(plAnimation) add_subdirectory(plAudible) add_subdirectory(plAudio) add_subdirectory(plAudioCore) diff --git a/Sources/Plasma/PubUtilLib/inc/plAllCreatables.h b/Sources/Plasma/PubUtilLib/inc/plAllCreatables.h index 4df8d454..07c59fda 100644 --- a/Sources/Plasma/PubUtilLib/inc/plAllCreatables.h +++ b/Sources/Plasma/PubUtilLib/inc/plAllCreatables.h @@ -64,6 +64,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plParticleSystem/plParticleCreatable.h" #include "plNetCommon/plNetCommonCreatable.h" #include "plVault/plVaultCreatable.h" +#include "plAnimation/plAnimationCreatable.h" #include "plAvatar/plAvatarCreatable.h" #include "plIntersect/plIntersectCreatable.h" #include "plNetMessage/plNetMessageCreatable.h" @@ -72,4 +73,3 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAgeLoader/plAgeLoaderCreatable.h" #endif // plAllCreatables_inc - \ No newline at end of file diff --git a/Sources/Plasma/PubUtilLib/plAnimation/CMakeLists.txt b/Sources/Plasma/PubUtilLib/plAnimation/CMakeLists.txt new file mode 100644 index 00000000..8f71ad57 --- /dev/null +++ b/Sources/Plasma/PubUtilLib/plAnimation/CMakeLists.txt @@ -0,0 +1,43 @@ +include_directories("../../CoreLib") +include_directories("../../FeatureLib") +include_directories("../../NucleusLib/inc") +include_directories("../../NucleusLib") +include_directories("../../PubUtilLib") + +set(plAnimation_SOURCES + plAGAnim.cpp + plAGAnimInstance.cpp + plAGApplicator.cpp + plAGChannel.cpp + plAGMasterMod.cpp + plAGModifier.cpp + plMatrixChannel.cpp + plPointChannel.cpp + plQuatChannel.cpp + plScalarChannel.cpp +) + +set(plAnimation_HEADERS + plAGAnim.h + plAGAnimInstance.h + plAGApplicator.h + plAGChannel.h + plAGDefs.h + plAGMasterMod.h + plAGModifier.h + plAnimationCreatable.h + plMatrixChannel.h + plPointChannel.h + plQuatChannel.h + plScalarChannel.h +) + +add_library(plAnimation STATIC ${plAnimation_SOURCES} ${plAnimation_HEADERS}) + +target_link_libraries(plAnimation pnModifier) +target_link_libraries(plAnimation plInterp) +target_link_libraries(plAnimation plSDL) +target_link_libraries(plAnimation plTransform) + +source_group("Source Files" FILES ${plAnimation_SOURCES}) +source_group("Header Files" FILES ${plAnimation_HEADERS}) diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGAnim.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plAGAnim.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGAnim.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plAGAnim.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGAnim.h b/Sources/Plasma/PubUtilLib/plAnimation/plAGAnim.h similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGAnim.h rename to Sources/Plasma/PubUtilLib/plAnimation/plAGAnim.h diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGAnimInstance.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plAGAnimInstance.cpp similarity index 89% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGAnimInstance.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plAGAnimInstance.cpp index d3bd735d..26cf2f2a 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGAnimInstance.cpp +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAGAnimInstance.cpp @@ -111,7 +111,8 @@ plAGAnimInstance::plAGAnimInstance(plAGAnim * anim, plAGMasterMod * master, if (atcAnim) { fTimeConvert = new plAnimTimeConvert(); - fTimeConvert->Init(atcAnim, this, master); + IInitAnimTimeConvert(fTimeConvert, atcAnim, master); + //fTimeConvert->Init(atcAnim, this, master); timeChan = new plATCChannel(fTimeConvert); } else @@ -185,6 +186,73 @@ plAGAnimInstance::~plAGAnimInstance() delete fTimeConvert; } + +void plAGAnimInstance::IInitAnimTimeConvert(plAnimTimeConvert* atc, plATCAnim* anim, plAGMasterMod* master) +{ + // Set up our eval callbacks + plAGInstanceCallbackMsg* instMsg; + + instMsg = new plAGInstanceCallbackMsg(master->GetKey(), kStart); + instMsg->fInstance = this; + atc->AddCallback(instMsg); + hsRefCnt_SafeUnRef(instMsg); + + instMsg = new plAGInstanceCallbackMsg(master->GetKey(), kStop); + instMsg->fInstance = this; + atc->AddCallback(instMsg); + hsRefCnt_SafeUnRef(instMsg); + + instMsg = new plAGInstanceCallbackMsg(master->GetKey(), kSingleFrameAdjust); + instMsg->fInstance = this; + atc->AddCallback(instMsg); + hsRefCnt_SafeUnRef(instMsg); + + atc->SetOwner(master); + atc->ClearFlags(); + + for (size_t i = 0; i < anim->NumStopPoints(); i++) + { + atc->GetStopPoints().Append(anim->GetStopPoint(i)); + } + + atc->SetBegin(anim->GetStart()); + atc->SetEnd(anim->GetEnd()); + atc->SetInitialBegin(atc->GetBegin()); + atc->SetInitialEnd(atc->GetEnd()); + + if (anim->GetInitial() != -1) + { + atc->SetCurrentAnimTime(anim->GetInitial()); + } + else + { + atc->SetCurrentAnimTime(anim->GetStart()); + } + + atc->SetLoopPoints(anim->GetLoopStart(), anim->GetLoopEnd()); + atc->Loop(anim->GetLoop()); + atc->SetSpeed(1.f); + + atc->SetEase(true, anim->GetEaseInType(), anim->GetEaseInMin(), + anim->GetEaseInMax(), anim->GetEaseInLength()); + + atc->SetEase(false, anim->GetEaseOutType(), anim->GetEaseOutMin(), + anim->GetEaseOutMax(), anim->GetEaseOutLength()); + + + // set up our time converter based on the animation's specs... + // ... after we've set all of its other state values. + if (anim->GetAutoStart()) + { + plSynchEnabler ps(true); // enable dirty tracking so that autostart will send out a state update + atc->Start(); + } + else + { + atc->InitStop(); + } +} + // SearchForGlobals --------------------- // ----------------- void plAGAnimInstance::SearchForGlobals() @@ -611,14 +679,3 @@ void UnRegisterAGAlloc(plAGChannel *object) delete al; } } - - - - - - - - - - - diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGAnimInstance.h b/Sources/Plasma/PubUtilLib/plAnimation/plAGAnimInstance.h similarity index 99% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGAnimInstance.h rename to Sources/Plasma/PubUtilLib/plAnimation/plAGAnimInstance.h index f0e18e39..c53193d6 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGAnimInstance.h +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAGAnimInstance.h @@ -225,6 +225,8 @@ protected: void IRegisterDetach(const plString &channelName, plAGChannel *channel); + void IInitAnimTimeConvert(plAnimTimeConvert* atc, plATCAnim* anim, plAGMasterMod* master); + const plAGAnim * fAnimation; plAGMasterMod * fMaster; @@ -270,24 +272,3 @@ void DumpAGAllocs(); #endif // TRACK_AG_ALLOCS #endif // PLAGANIMINSTANCE_INC - - - - - - - - - - - - - - - - - - - - - diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGApplicator.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plAGApplicator.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGApplicator.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plAGApplicator.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGApplicator.h b/Sources/Plasma/PubUtilLib/plAnimation/plAGApplicator.h similarity index 99% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGApplicator.h rename to Sources/Plasma/PubUtilLib/plAnimation/plAGApplicator.h index 4c67ca45..16a71ea0 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGApplicator.h +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAGApplicator.h @@ -61,7 +61,7 @@ class plAGModifier; // ///////////////////////////////////////////////////////////////////////////////////////// #include "pnFactory/plCreatable.h" -#include "plAvDefs.h" +#include "plAGDefs.h" #include "plString.h" ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGChannel.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plAGChannel.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGChannel.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plAGChannel.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGChannel.h b/Sources/Plasma/PubUtilLib/plAnimation/plAGChannel.h similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGChannel.h rename to Sources/Plasma/PubUtilLib/plAnimation/plAGChannel.h diff --git a/Sources/Plasma/PubUtilLib/plAnimation/plAGDefs.h b/Sources/Plasma/PubUtilLib/plAnimation/plAGDefs.h new file mode 100644 index 00000000..f704dbbd --- /dev/null +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAGDefs.h @@ -0,0 +1,63 @@ +/*==LICENSE==* + +CyanWorlds.com Engine - MMOG client, server and tools +Copyright (C) 2011 Cyan Worlds, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Additional permissions under GNU GPL version 3 section 7 + +If you modify this Program, or any covered work, by linking or +combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, +NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent +JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK +(or a modified version of those libraries), +containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, +PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG +JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the +licensors of this Program grant you additional +permission to convey the resulting work. Corresponding Source for a +non-source form of such a combination shall include the source code for +the parts of OpenSSL and IJG JPEG Library used as well as that of the covered +work. + +You can contact Cyan Worlds, Inc. by email legal@cyan.com + or by snail mail at: + Cyan Worlds, Inc. + 14617 N Newport Hwy + Mead, WA 99021 + +*==LICENSE==*/ +#ifndef plAGDefs_h +#define plAGDefs_h + +/** \enum PinType + Tells us what category of animation this channel affects. + Primarly used to determine if two channels are competing, + which you can't tell strictly from the type of data the + channel handles. */ +enum plAGPinType +{ + kAGPinUnknown, // this applicator hasn't decided its pin type + kAGPinTransform, // this applicator munches the entire transform + kNumPinTypes +}; + +#define kAGMaxBlendPriority 0x0fffffff +#define kAGMinBlendPriority 0x00000000 +#define kAGMedBlendPriority 0x0000ffff + + +#endif + diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterMod.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plAGMasterMod.cpp similarity index 99% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGMasterMod.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plAGMasterMod.cpp index 506a054b..47081deb 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterMod.cpp +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAGMasterMod.cpp @@ -47,7 +47,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAGAnimInstance.h" #include "plAGModifier.h" // #include "plAvatarAnim.h" -#include "plAGMasterSDLModifier.h" +#include "plModifier/plAGMasterSDLModifier.h" #include "plMatrixChannel.h" // global diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterMod.h b/Sources/Plasma/PubUtilLib/plAnimation/plAGMasterMod.h similarity index 99% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGMasterMod.h rename to Sources/Plasma/PubUtilLib/plAnimation/plAGMasterMod.h index d79fc294..1aee31ca 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterMod.h +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAGMasterMod.h @@ -55,7 +55,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com ///////////////////////////////////////////////////////////////////////////////////////// #include "pnModifier/plModifier.h" #include "plAGChannel.h" -#include "plAvDefs.h" +#include "plAGDefs.h" #include "pnKeyedObject/plMsgForwarder.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGModifier.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plAGModifier.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGModifier.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plAGModifier.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGModifier.h b/Sources/Plasma/PubUtilLib/plAnimation/plAGModifier.h similarity index 99% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGModifier.h rename to Sources/Plasma/PubUtilLib/plAnimation/plAGModifier.h index bcf699be..7d1481e5 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGModifier.h +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAGModifier.h @@ -51,7 +51,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnModifier/plSingleModifier.h" // inherited // local -#include "plAvatar/plScalarChannel.h" +#include "plScalarChannel.h" class plSceneObject; diff --git a/Sources/Plasma/PubUtilLib/plAnimation/plAnimationCreatable.h b/Sources/Plasma/PubUtilLib/plAnimation/plAnimationCreatable.h new file mode 100644 index 00000000..636ff6e8 --- /dev/null +++ b/Sources/Plasma/PubUtilLib/plAnimation/plAnimationCreatable.h @@ -0,0 +1,132 @@ +/*==LICENSE==* + +CyanWorlds.com Engine - MMOG client, server and tools +Copyright (C) 2011 Cyan Worlds, Inc. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Additional permissions under GNU GPL version 3 section 7 + +If you modify this Program, or any covered work, by linking or +combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK, +NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent +JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK +(or a modified version of those libraries), +containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA, +PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG +JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the +licensors of this Program grant you additional +permission to convey the resulting work. Corresponding Source for a +non-source form of such a combination shall include the source code for +the parts of OpenSSL and IJG JPEG Library used as well as that of the covered +work. + +You can contact Cyan Worlds, Inc. by email legal@cyan.com + or by snail mail at: + Cyan Worlds, Inc. + 14617 N Newport Hwy + Mead, WA 99021 + +*==LICENSE==*/ + +#ifndef plAnimationCreatable_inc +#define plAnimationCreatable_inc + +#include "pnFactory/plCreator.h" + + +#include "plAGAnim.h" + +REGISTER_CREATABLE(plAGAnim); +REGISTER_CREATABLE(plATCAnim); +REGISTER_CREATABLE(plEmoteAnim); +REGISTER_CREATABLE(plAgeGlobalAnim); + + +#include "plAGChannel.h" + +REGISTER_NONCREATABLE(plAGChannel); + + +#include "plAGApplicator.h" + +REGISTER_NONCREATABLE(plAGApplicator); + + +#include "plMatrixChannel.h" + +REGISTER_CREATABLE(plMatrixChannel); +REGISTER_CREATABLE(plMatrixConstant); +REGISTER_CREATABLE(plMatrixTimeScale); +REGISTER_CREATABLE(plMatrixBlend); +REGISTER_CREATABLE(plMatrixControllerChannel); +REGISTER_CREATABLE(plMatrixControllerCacheChannel); +REGISTER_CREATABLE(plQuatPointCombine); +REGISTER_CREATABLE(plMatrixChannelApplicator); +REGISTER_CREATABLE(plMatrixDelayedCorrectionApplicator); +REGISTER_CREATABLE(plMatrixDifferenceApp); + + +#include "plPointChannel.h" + +REGISTER_CREATABLE(plPointChannel); +REGISTER_CREATABLE(plPointConstant); +REGISTER_CREATABLE(plPointBlend); +REGISTER_CREATABLE(plPointTimeScale); +REGISTER_CREATABLE(plPointControllerChannel); +REGISTER_CREATABLE(plPointControllerCacheChannel); +REGISTER_CREATABLE(plPointChannelApplicator); +REGISTER_CREATABLE(plLightDiffuseApplicator); +REGISTER_CREATABLE(plLightAmbientApplicator); +REGISTER_CREATABLE(plLightSpecularApplicator); + + +#include "plQuatChannel.h" + +REGISTER_CREATABLE(plQuatChannel); +REGISTER_CREATABLE(plQuatConstant); +REGISTER_CREATABLE(plQuatBlend); +REGISTER_CREATABLE(plQuatTimeScale); +REGISTER_CREATABLE(plQuatChannelApplicator); + + +#include "plScalarChannel.h" + +REGISTER_CREATABLE(plScalarChannel); +REGISTER_CREATABLE(plScalarConstant); +REGISTER_CREATABLE(plScalarTimeScale); +REGISTER_CREATABLE(plScalarBlend); +REGISTER_CREATABLE(plScalarControllerChannel); +REGISTER_CREATABLE(plScalarControllerCacheChannel); +REGISTER_CREATABLE(plScalarChannelApplicator); +REGISTER_CREATABLE(plSpotInnerApplicator); +REGISTER_CREATABLE(plSpotOuterApplicator); +REGISTER_CREATABLE(plATCChannel); +REGISTER_CREATABLE(plScalarSDLChannel); +REGISTER_CREATABLE(plOmniApplicator); +REGISTER_CREATABLE(plOmniSqApplicator); +REGISTER_CREATABLE(plOmniCutoffApplicator); + + +#include "plAGModifier.h" + +REGISTER_CREATABLE(plAGModifier); + + +#include "plAGMasterMod.h" + +REGISTER_CREATABLE(plAGMasterMod); + +#endif // plAnimationCreatable_inc + diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plMatrixChannel.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plMatrixChannel.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plMatrixChannel.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plMatrixChannel.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plMatrixChannel.h b/Sources/Plasma/PubUtilLib/plAnimation/plMatrixChannel.h similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plMatrixChannel.h rename to Sources/Plasma/PubUtilLib/plAnimation/plMatrixChannel.h diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plPointChannel.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plPointChannel.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plPointChannel.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plPointChannel.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plPointChannel.h b/Sources/Plasma/PubUtilLib/plAnimation/plPointChannel.h similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plPointChannel.h rename to Sources/Plasma/PubUtilLib/plAnimation/plPointChannel.h diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plQuatChannel.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plQuatChannel.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plQuatChannel.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plQuatChannel.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plQuatChannel.h b/Sources/Plasma/PubUtilLib/plAnimation/plQuatChannel.h similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plQuatChannel.h rename to Sources/Plasma/PubUtilLib/plAnimation/plQuatChannel.h diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plScalarChannel.cpp b/Sources/Plasma/PubUtilLib/plAnimation/plScalarChannel.cpp similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plScalarChannel.cpp rename to Sources/Plasma/PubUtilLib/plAnimation/plScalarChannel.cpp diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plScalarChannel.h b/Sources/Plasma/PubUtilLib/plAnimation/plScalarChannel.h similarity index 100% rename from Sources/Plasma/PubUtilLib/plAvatar/plScalarChannel.h rename to Sources/Plasma/PubUtilLib/plAnimation/plScalarChannel.h diff --git a/Sources/Plasma/PubUtilLib/plAudio/plSound.cpp b/Sources/Plasma/PubUtilLib/plAudio/plSound.cpp index 018775d0..5974ff99 100644 --- a/Sources/Plasma/PubUtilLib/plAudio/plSound.cpp +++ b/Sources/Plasma/PubUtilLib/plAudio/plSound.cpp @@ -64,8 +64,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plPipeline/plPlates.h" #include "pnKeyedObject/plKey.h" #include "pnNetCommon/plSDLTypes.h" -#include "plAvatar/plScalarChannel.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plScalarChannel.h" +#include "plAnimation/plAGModifier.h" #include "pnSceneObject/plSceneObject.h" #include "pnSceneObject/plAudioInterface.h" diff --git a/Sources/Plasma/PubUtilLib/plAudio/plSound.h b/Sources/Plasma/PubUtilLib/plAudio/plSound.h index d5e241fc..56df0c8d 100644 --- a/Sources/Plasma/PubUtilLib/plAudio/plSound.h +++ b/Sources/Plasma/PubUtilLib/plAudio/plSound.h @@ -58,8 +58,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "hsGeometry3.h" #include "plEAXEffects.h" #include "pnNetCommon/plSynchedObject.h" -#include "plAvatar/plAGChannel.h" -#include "plAvatar/plAGApplicator.h" +#include "plAnimation/plAGChannel.h" +#include "plAnimation/plAGApplicator.h" #include "plAudioCore/plSoundBuffer.h" class hsResMgr; diff --git a/Sources/Plasma/PubUtilLib/plAvatar/CMakeLists.txt b/Sources/Plasma/PubUtilLib/plAvatar/CMakeLists.txt index f687d1f1..b45a9a83 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/CMakeLists.txt +++ b/Sources/Plasma/PubUtilLib/plAvatar/CMakeLists.txt @@ -7,13 +7,6 @@ include_directories("../../PubUtilLib") include_directories(${OPENAL_INCLUDE_DIR}) set(plAvatar_SOURCES - plAGAnim.cpp - plAGAnimInstance.cpp - plAGApplicator.cpp - plAGChannel.cpp - plAGMasterMod.cpp - plAGMasterSDLModifier.cpp - plAGModifier.cpp plAnimStage.cpp plArmatureEffects.cpp plArmatureMod.cpp @@ -36,27 +29,16 @@ set(plAvatar_SOURCES plAvTaskSeek.cpp plClothingSDLModifier.cpp plCoopCoordinator.cpp - plMatrixChannel.cpp plMultistageBehMod.cpp plNPCSpawnMod.cpp plOneShotMod.cpp plPhysicalControllerCore.cpp - plPointChannel.cpp - plQuatChannel.cpp - plScalarChannel.cpp plSeekPointMod.cpp plSittingModifier.cpp plSwimRegion.cpp ) set(plAvatar_HEADERS - plAGAnim.h - plAGAnimInstance.h - plAGApplicator.h - plAGChannel.h - plAGMasterMod.h - plAGMasterSDLModifier.h - plAGModifier.h plAnimStage.h plArmatureEffects.h plArmatureMod.h @@ -84,14 +66,10 @@ set(plAvatar_HEADERS plClothingSDLModifier.h plCoopCoordinator.h plCritterCommands.h - plMatrixChannel.h plMultistageBehMod.h plNPCSpawnMod.h plOneShotMod.h plPhysicalControllerCore.h - plPointChannel.h - plQuatChannel.h - plScalarChannel.h plSeekPointMod.h plSittingModifier.h plSwimRegion.h @@ -99,5 +77,7 @@ set(plAvatar_HEADERS add_library(plAvatar STATIC ${plAvatar_SOURCES} ${plAvatar_HEADERS}) +target_link_libraries(plAvatar plAnimation) + source_group("Source Files" FILES ${plAvatar_SOURCES}) source_group("Header Files" FILES ${plAvatar_HEADERS}) diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAnimStage.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAnimStage.cpp index 46a25ea1..a3163d0c 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAnimStage.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAnimStage.cpp @@ -45,10 +45,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com // local #include "plAvatarMgr.h" -#include "plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "plArmatureMod.h" -#include "plAGAnimInstance.h" -#include "plMatrixChannel.h" +#include "plAnimation/plAGAnimInstance.h" +#include "plAnimation/plMatrixChannel.h" #include "plAvBrainGeneric.h" #include "plMultistageBehMod.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.cpp index b5956c0c..8018e7e7 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.cpp @@ -45,14 +45,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvBrain.h" #include "plAvBrainUser.h" #include "plAvatarMgr.h" -#include "plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plAvatarClothing.h" #include "plClothingSDLModifier.h" #include "plAvatarSDLModifier.h" -#include "plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "plArmatureEffects.h" #include "plAvBrainHuman.h" -#include "plMatrixChannel.h" +#include "plAnimation/plMatrixChannel.h" #include "plAvatarTasks.h" #include "plPhysicalControllerCore.h" #include "plAvBrainCritter.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.h b/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.h index 9b9e9bc0..ea1462e2 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.h +++ b/Sources/Plasma/PubUtilLib/plAvatar/plArmatureMod.h @@ -56,7 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #ifndef plArmatureMod_inc #define plArmatureMod_inc -#include "plAGMasterMod.h" +#include "plAnimation/plAGMasterMod.h" // other local #include "plAvDefs.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBehaviors.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvBehaviors.cpp index 82d19d30..cdafae4f 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBehaviors.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBehaviors.cpp @@ -45,7 +45,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvBehaviors.h" #include "plAvBrainHuman.h" #include "plArmatureMod.h" -#include "plAGAnimInstance.h" +#include "plAnimation/plAGAnimInstance.h" #include "plMessage/plAvatarMsg.h" #include "plPipeline/plDebugText.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrain.h b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrain.h index 143f0c8b..03a8d444 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrain.h +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrain.h @@ -42,7 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #ifndef PLAVBRAIN_INC #define PLAVBRAIN_INC -#include "plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "HeadSpin.h" #include "hsTemplates.h" #include "hsBitVector.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainClimb.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainClimb.cpp index 48c3415a..f4a4334e 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainClimb.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainClimb.cpp @@ -69,10 +69,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com // local #include "plAnimStage.h" -#include "plAGAnim.h" -#include "plAGAnimInstance.h" +#include "plAnimation/plAGAnim.h" +#include "plAnimation/plAGAnimInstance.h" #include "plArmatureMod.h" -#include "plMatrixChannel.h" +#include "plAnimation/plMatrixChannel.h" #include "plAvBrainHuman.h" // global diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainCritter.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainCritter.cpp index 14603d77..84ecbf20 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainCritter.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainCritter.cpp @@ -45,8 +45,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvBrainHuman.h" #include "plArmatureMod.h" #include "plAvBehaviors.h" -#include "plAGAnim.h" -#include "plAGAnimInstance.h" +#include "plAnimation/plAGAnim.h" +#include "plAnimation/plAGAnimInstance.h" #include "plAvatarMgr.h" #include "plgDispatch.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp index 883c241b..a0e24754 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.cpp @@ -50,8 +50,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvTask.h" #include "plAvTaskBrain.h" #include "plAvBrainHuman.h" -#include "plAGAnimInstance.h" -#include "plMatrixChannel.h" +#include "plAnimation/plAGAnimInstance.h" +#include "plAnimation/plMatrixChannel.h" // global #include "hsTimer.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.h b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.h index 29da02f0..a66bedb0 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.h +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainGeneric.h @@ -44,7 +44,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com // base class #include "plAvBrain.h" -#include "plAGAnim.h" +#include "plAnimation/plAGAnim.h" class plAnimStage; class plAnimStageVec; diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.cpp index 0e3a0f09..5485995c 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.cpp @@ -50,13 +50,13 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvBrainGeneric.h" #include "plAvBrainSwim.h" #include "plArmatureMod.h" -#include "plAGModifier.h" -#include "plMatrixChannel.h" +#include "plAnimation/plAGModifier.h" +#include "plAnimation/plMatrixChannel.h" #include "plAvTask.h" #include "plAvTaskBrain.h" #include "plAvTaskSeek.h" -#include "plAGAnim.h" -#include "plAGAnimInstance.h" +#include "plAnimation/plAGAnim.h" +#include "plAnimation/plAGAnimInstance.h" #include "plAvatarMgr.h" #include "plAnimStage.h" #include "plAvatarClothing.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.h b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.h index 6ce8b9f4..ff631b88 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.h +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainHuman.h @@ -46,7 +46,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvBrainGeneric.h" #include "plAvBehaviors.h" -#include "plAGAnim.h" +#include "plAnimation/plAGAnim.h" #pragma warning(disable: 4284) #include diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainSwim.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainSwim.cpp index 8db5b732..e26f15e7 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainSwim.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvBrainSwim.cpp @@ -55,9 +55,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plArmatureMod.h" #include "plAvBehaviors.h" #include "plAvBrainHuman.h" -#include "plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "plAvBrainDrive.h" -#include "plMatrixChannel.h" +#include "plAnimation/plMatrixChannel.h" #include "plSwimRegion.h" #include "plAvatarTasks.h" #include "plArmatureEffects.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvDefs.h b/Sources/Plasma/PubUtilLib/plAvatar/plAvDefs.h index c2b8c323..ca1a090c 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvDefs.h +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvDefs.h @@ -75,21 +75,4 @@ const hsVector3 kAvatarUp(0,0,1); const hsVector3 kAvatarForward(0,-1,0); const hsVector3 kAvatarRight(-1,0,0); -/** \enum PinType - Tells us what category of animation this channel affects. - Primarly used to determine if two channels are competing, - which you can't tell strictly from the type of data the - channel handles. */ -enum plAGPinType -{ - kAGPinUnknown, // this applicator hasn't decided its pin type - kAGPinTransform, // this applicator munches the entire transform - kNumPinTypes -}; - -#define kAGMaxBlendPriority 0x0fffffff -#define kAGMinBlendPriority 0x00000000 -#define kAGMedBlendPriority 0x0000ffff - - -#endif \ No newline at end of file +#endif diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvLadderModifier.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvLadderModifier.cpp index ba8ec78a..807013db 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvLadderModifier.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvLadderModifier.cpp @@ -51,7 +51,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plArmatureMod.h" #include "plAvatarMgr.h" #include "plAvBrainGeneric.h" -#include "plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "plAnimStage.h" // global diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvTaskSeek.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvTaskSeek.cpp index 57501f05..00828d3b 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvTaskSeek.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvTaskSeek.cpp @@ -53,7 +53,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com // local #include "plAvBrainHuman.h" -#include "plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "plArmatureMod.h" #include "plAvatarMgr.h" #include "plPhysicalControllerCore.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvatarCreatable.h b/Sources/Plasma/PubUtilLib/plAvatar/plAvatarCreatable.h index 00220d8b..a9de498b 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvatarCreatable.h +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvatarCreatable.h @@ -45,74 +45,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "pnFactory/plCreator.h" -#include "plAGAnim.h" - -REGISTER_CREATABLE( plAGAnim ); -REGISTER_CREATABLE( plATCAnim ); -REGISTER_CREATABLE( plEmoteAnim ); -REGISTER_CREATABLE( plAgeGlobalAnim ); - -#include "plAGChannel.h" - -REGISTER_NONCREATABLE( plAGChannel ); -REGISTER_NONCREATABLE( plAGApplicator ); - -#include "plMatrixChannel.h" - -REGISTER_CREATABLE( plMatrixChannel ); -REGISTER_CREATABLE( plMatrixConstant ); -REGISTER_CREATABLE( plMatrixTimeScale ); -REGISTER_CREATABLE( plMatrixBlend ); -REGISTER_CREATABLE( plMatrixControllerChannel ); -REGISTER_CREATABLE( plMatrixControllerCacheChannel ); -REGISTER_CREATABLE( plQuatPointCombine ); -REGISTER_CREATABLE( plMatrixChannelApplicator ); -REGISTER_CREATABLE( plMatrixDelayedCorrectionApplicator ); -REGISTER_CREATABLE( plMatrixDifferenceApp ); - -#include "plPointChannel.h" - -REGISTER_CREATABLE( plPointChannel ); -REGISTER_CREATABLE( plPointConstant ); -REGISTER_CREATABLE( plPointBlend ); -REGISTER_CREATABLE( plPointTimeScale ); -REGISTER_CREATABLE( plPointControllerChannel ); -REGISTER_CREATABLE( plPointControllerCacheChannel ); -REGISTER_CREATABLE( plPointChannelApplicator ); -REGISTER_CREATABLE( plLightDiffuseApplicator ); -REGISTER_CREATABLE( plLightAmbientApplicator ); -REGISTER_CREATABLE( plLightSpecularApplicator ); - -#include "plQuatChannel.h" - -REGISTER_CREATABLE( plQuatChannel ); -REGISTER_CREATABLE( plQuatConstant ); -REGISTER_CREATABLE( plQuatBlend ); -REGISTER_CREATABLE( plQuatTimeScale ); -REGISTER_CREATABLE( plQuatChannelApplicator ); - -#include "plScalarChannel.h" -REGISTER_CREATABLE( plScalarChannel ); -REGISTER_CREATABLE( plScalarConstant ); -REGISTER_CREATABLE( plScalarTimeScale ); -REGISTER_CREATABLE( plScalarBlend ); -REGISTER_CREATABLE( plScalarControllerChannel ); -REGISTER_CREATABLE( plScalarControllerCacheChannel ); -REGISTER_CREATABLE( plScalarChannelApplicator ); -REGISTER_CREATABLE( plSpotInnerApplicator ); -REGISTER_CREATABLE( plSpotOuterApplicator ); -REGISTER_CREATABLE( plATCChannel ); -REGISTER_CREATABLE( plScalarSDLChannel ); -REGISTER_CREATABLE( plOmniApplicator ); -REGISTER_CREATABLE( plOmniSqApplicator ); -REGISTER_CREATABLE( plOmniCutoffApplicator ); - -#include "plAGModifier.h" -REGISTER_CREATABLE( plAGModifier ); - -#include "plAGMasterMod.h" -REGISTER_CREATABLE( plAGMasterMod ); - #include "plSeekPointMod.h" REGISTER_CREATABLE( plSeekPointMod ); @@ -166,9 +98,6 @@ REGISTER_CREATABLE( plAnimStage ); #include "plAvTaskSeek.h" REGISTER_CREATABLE( plAvTaskSeek ); -#include "plAGMasterSDLModifier.h" -REGISTER_CREATABLE( plAGMasterSDLModifier ); - #include "plAvatarSDLModifier.h" REGISTER_CREATABLE( plAvatarSDLModifier ); REGISTER_CREATABLE( plAvatarPhysicalSDLModifier ); diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvatarMgr.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvatarMgr.cpp index bee6ad92..23e76f89 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvatarMgr.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvatarMgr.cpp @@ -50,7 +50,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plSeekPointMod.h" #include "plOneShotMod.h" #include "plArmatureMod.h" -#include "plAGModifier.h" +#include "plAnimation/plAGModifier.h" #include "plAnimStage.h" #include "plCoopCoordinator.h" #include "plAvBrainCoop.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAvatarTasks.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plAvatarTasks.cpp index bfff143c..8a27f3c5 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAvatarTasks.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plAvatarTasks.cpp @@ -48,10 +48,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plArmatureMod.h" #include "plSeekPointMod.h" #include "plAvBrainHuman.h" -#include "plAGAnim.h" -#include "plAGAnimInstance.h" -#include "plAGModifier.h" -#include "plMatrixChannel.h" +#include "plAnimation/plAGAnim.h" +#include "plAnimation/plAGAnimInstance.h" +#include "plAnimation/plAGModifier.h" +#include "plAnimation/plMatrixChannel.h" #include "plPhysicalControllerCore.h" #include "plAvatarMgr.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plPhysicalControllerCore.cpp b/Sources/Plasma/PubUtilLib/plAvatar/plPhysicalControllerCore.cpp index 4ec91a85..8f21b62a 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plPhysicalControllerCore.cpp +++ b/Sources/Plasma/PubUtilLib/plAvatar/plPhysicalControllerCore.cpp @@ -46,7 +46,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plArmatureMod.h" #include "plSwimRegion.h" -#include "plMatrixChannel.h" +#include "plAnimation/plMatrixChannel.h" #include "pnSceneObject/plCoordinateInterface.h" #include "plPhysical.h" #include "pnMessage/plCorrectionMsg.h" diff --git a/Sources/Plasma/PubUtilLib/plInterp/CMakeLists.txt b/Sources/Plasma/PubUtilLib/plInterp/CMakeLists.txt index bdc39543..5241187c 100644 --- a/Sources/Plasma/PubUtilLib/plInterp/CMakeLists.txt +++ b/Sources/Plasma/PubUtilLib/plInterp/CMakeLists.txt @@ -27,5 +27,9 @@ set(plInterp_HEADERS add_library(plInterp STATIC ${plInterp_SOURCES} ${plInterp_HEADERS}) +target_link_libraries(plInterp pnFactory) +target_link_libraries(plInterp pnNetCommon) +target_link_libraries(plInterp plTransform) + source_group("Source Files" FILES ${plInterp_SOURCES}) source_group("Header Files" FILES ${plInterp_HEADERS}) diff --git a/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.cpp b/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.cpp index b0865cfe..9f5900cb 100644 --- a/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.cpp +++ b/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.cpp @@ -44,20 +44,18 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAnimEaseTypes.h" #include "plAnimTimeConvert.h" -#include "plAvatar/plAGAnim.h" #include "hsTimer.h" #include "hsStream.h" #include "pnMessage/plEventCallbackMsg.h" #include "plMessage/plAnimCmdMsg.h" -#include "plAvatar/plAGMasterSDLModifier.h" -#include "plAvatar/plAGMasterMod.h" -#include "plModifier/plLayerSDLModifier.h" -#include "plSurface/plLayerAnimation.h" + +#include "pnNetCommon/plSDLTypes.h" #include "hsResMgr.h" #include "plgDispatch.h" +#include "plCreatableIndex.h" plAnimTimeConvert::plAnimTimeConvert() @@ -95,57 +93,6 @@ plAnimTimeConvert::~plAnimTimeConvert() IClearAllStates(); } -void plAnimTimeConvert::Init(plATCAnim *anim, plAGAnimInstance *instance, plAGMasterMod *master) -{ - // Set up our eval callbacks - plAGInstanceCallbackMsg *instMsg; - instMsg = new plAGInstanceCallbackMsg(master->GetKey(), kStart); - instMsg->fInstance = instance; - AddCallback(instMsg); - hsRefCnt_SafeUnRef(instMsg); - instMsg = new plAGInstanceCallbackMsg(master->GetKey(), kStop); - instMsg->fInstance = instance; - AddCallback(instMsg); - hsRefCnt_SafeUnRef(instMsg); - instMsg = new plAGInstanceCallbackMsg(master->GetKey(), kSingleFrameAdjust); - instMsg->fInstance = instance; - AddCallback(instMsg); - hsRefCnt_SafeUnRef(instMsg); - - SetOwner(master); - ClearFlags(); - - for (int i = 0; i < anim->NumStopPoints(); i++) - GetStopPoints().Append(anim->GetStopPoint(i)); - - SetBegin(anim->GetStart()); - SetEnd(anim->GetEnd()); - fInitialBegin = fBegin; - fInitialEnd = fEnd; - - if (anim->GetInitial() != -1) - SetCurrentAnimTime(anim->GetInitial()); - else - SetCurrentAnimTime(anim->GetStart()); - SetLoopPoints(anim->GetLoopStart(), anim->GetLoopEnd()); - Loop(anim->GetLoop()); - SetSpeed(1.f); - SetEase(true, anim->GetEaseInType(), anim->GetEaseInMin(), - anim->GetEaseInMax(), anim->GetEaseInLength()); - SetEase(false, anim->GetEaseOutType(), anim->GetEaseOutMin(), - anim->GetEaseOutMax(), anim->GetEaseOutLength()); - - // set up our time converter based on the animation's specs... - // ... after we've set all of its other state values. - if (anim->GetAutoStart()) - { - plSynchEnabler ps(true); // enable dirty tracking so that autostart will send out a state update - Start(); - } - else - InitStop(); -} - // // 0=nil, 1=easeIn, 2=easeOut, 3=speed // @@ -376,11 +323,13 @@ plAnimTimeConvert& plAnimTimeConvert::IProcessStateChange(double worldTime, floa fStates.push_front(state); IFlushOldStates(); - const char* sdlName=nil; - if (plLayerAnimation::ConvertNoRef(fOwner)) + const char* sdlName = nullptr; + + // This is a huge hack, but avoids circular linking problems :( + if (fOwner->GetInterface(CLASS_INDEX_SCOPED(plLayerAnimation))) sdlName=kSDLLayer; else - if (plAGMasterMod::ConvertNoRef(fOwner)) + if (fOwner->GetInterface(CLASS_INDEX_SCOPED(plAGMasterMod))) sdlName=kSDLAGMaster; else { diff --git a/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.h b/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.h index 7e192fe0..d318670e 100644 --- a/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.h +++ b/Sources/Plasma/PubUtilLib/plInterp/plAnimTimeConvert.h @@ -119,8 +119,6 @@ public: plAnimTimeConvert(); virtual ~plAnimTimeConvert(); - void Init(plATCAnim *anim, plAGAnimInstance *instance, plAGMasterMod *master); - CLASSNAME_REGISTER( plAnimTimeConvert ); GETINTERFACE_ANY( plAnimTimeConvert, plCreatable ); @@ -143,6 +141,8 @@ public: void SetLoopPoints(float begin, float end) { SetLoopBegin(begin); SetLoopEnd(end); } void SetLoopBegin(float s) { fLoopBegin = s; } void SetLoopEnd(float s) { fLoopEnd = s; } + void SetInitialBegin(float s) { fInitialBegin = s; } + void SetInitialEnd(float s) { fInitialEnd = s; } void SetEase(bool easeIn, uint8_t inType, float minLength, float maxLength, float inLength); void SetCurrentEaseCurve(int x); // 0=nil, 1=easeIn, 2=easeOut, 3=speed @@ -150,6 +150,8 @@ public: float GetEnd() const { return fEnd; } float GetLoopBegin() const { return fLoopBegin; } float GetLoopEnd() const { return fLoopEnd; } + float GetInitialBegin() const { return fInitialBegin; } + float GetInitialEnd() const { return fInitialEnd; } float GetSpeed() const { return fSpeed; } hsTArray &GetStopPoints() { return fStopPoints; } float GetBestStopDist(float min, float max, float norm, float time) const; diff --git a/Sources/Plasma/PubUtilLib/plModifier/CMakeLists.txt b/Sources/Plasma/PubUtilLib/plModifier/CMakeLists.txt index 6e05b8f3..a2cd2ee3 100644 --- a/Sources/Plasma/PubUtilLib/plModifier/CMakeLists.txt +++ b/Sources/Plasma/PubUtilLib/plModifier/CMakeLists.txt @@ -7,6 +7,7 @@ include_directories("../../PubUtilLib") include_directories(${OPENAL_INCLUDE_DIR}) set(plModifier_SOURCES + plAGMasterSDLModifier.cpp plAnimEventModifier.cpp plAnimTimeConvertSDLModifier.cpp plAxisAnimModifier.cpp @@ -29,6 +30,7 @@ set(plModifier_SOURCES ) set(plModifier_HEADERS + plAGMasterSDLModifier.h plAnimEventModifier.h plAnimTimeConvertSDLModifier.h plAxisAnimModifier.h diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterSDLModifier.cpp b/Sources/Plasma/PubUtilLib/plModifier/plAGMasterSDLModifier.cpp similarity index 98% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGMasterSDLModifier.cpp rename to Sources/Plasma/PubUtilLib/plModifier/plAGMasterSDLModifier.cpp index 20de82a9..ea7163c9 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterSDLModifier.cpp +++ b/Sources/Plasma/PubUtilLib/plModifier/plAGMasterSDLModifier.cpp @@ -43,8 +43,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plSDL/plSDL.h" #include "plInterp/plAnimTimeConvert.h" #include "pnSceneObject/plSceneObject.h" -#include "plAGMasterMod.h" -#include "plAGAnimInstance.h" +#include "plAnimation/plAGMasterMod.h" +#include "plAnimation/plAGAnimInstance.h" #include "plgDispatch.h" #include "pnMessage/plTimeMsg.h" #include "hsTimer.h" diff --git a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterSDLModifier.h b/Sources/Plasma/PubUtilLib/plModifier/plAGMasterSDLModifier.h similarity index 98% rename from Sources/Plasma/PubUtilLib/plAvatar/plAGMasterSDLModifier.h rename to Sources/Plasma/PubUtilLib/plModifier/plAGMasterSDLModifier.h index a9527ec6..7ed3efd1 100644 --- a/Sources/Plasma/PubUtilLib/plAvatar/plAGMasterSDLModifier.h +++ b/Sources/Plasma/PubUtilLib/plModifier/plAGMasterSDLModifier.h @@ -42,7 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #ifndef plAGMasterSDLModifier_inc #define plAGMasterSDLModifier_inc -#include "plModifier/plAnimTimeConvertSDLModifier.h" +#include "plAnimTimeConvertSDLModifier.h" // // This modifier is responsible for sending and recving diff --git a/Sources/Plasma/PubUtilLib/plModifier/plModifierCreatable.h b/Sources/Plasma/PubUtilLib/plModifier/plModifierCreatable.h index 403d03cd..fedab658 100644 --- a/Sources/Plasma/PubUtilLib/plModifier/plModifierCreatable.h +++ b/Sources/Plasma/PubUtilLib/plModifier/plModifierCreatable.h @@ -87,6 +87,9 @@ REGISTER_CREATABLE(plLayerSDLModifier); #include "plAnimTimeConvertSDLModifier.h" REGISTER_NONCREATABLE(plAnimTimeConvertSDLModifier); +#include "plAGMasterSDLModifier.h" +REGISTER_CREATABLE( plAGMasterSDLModifier ); + #include "plResponderSDLModifier.h" REGISTER_CREATABLE(plResponderSDLModifier); diff --git a/Sources/Plasma/PubUtilLib/plNetClient/plLinkEffectsMgr.cpp b/Sources/Plasma/PubUtilLib/plNetClient/plLinkEffectsMgr.cpp index e5528a6f..c1e5d5a1 100644 --- a/Sources/Plasma/PubUtilLib/plNetClient/plLinkEffectsMgr.cpp +++ b/Sources/Plasma/PubUtilLib/plNetClient/plLinkEffectsMgr.cpp @@ -68,7 +68,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plAvatar/plArmatureMod.h" #include "plAvatar/plAvatarTasks.h" -#include "plAvatar/plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "plMessage/plAvatarMsg.h" #include "plMessage/plLoadAgeMsg.h" diff --git a/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.cpp b/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.cpp index 86f807c3..a09dafca 100644 --- a/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.cpp +++ b/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.cpp @@ -42,8 +42,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plParticleSystem.h" #include "plParticleGenerator.h" #include "plParticleApplicator.h" -#include "plAvatar/plScalarChannel.h" -#include "plAvatar/plAGModifier.h" +#include "plAnimation/plScalarChannel.h" +#include "plAnimation/plAGModifier.h" #include "plMessage/plParticleUpdateMsg.h" #include "pnSceneObject/plSceneObject.h" diff --git a/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.h b/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.h index 12a18445..d1b6b075 100644 --- a/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.h +++ b/Sources/Plasma/PubUtilLib/plParticleSystem/plParticleApplicator.h @@ -42,8 +42,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #ifndef PLPARTICLEAPPLICATOR_INC #define PLPARTICLEAPPLICATOR_INC -#include "plAvatar/plAGChannel.h" -#include "plAvatar/plAGApplicator.h" +#include "plAnimation/plAGChannel.h" +#include "plAnimation/plAGApplicator.h" class plParticleSystem; diff --git a/Sources/Tools/MaxComponent/plAGComponents.cpp b/Sources/Tools/MaxComponent/plAGComponents.cpp index 5a2c00a9..7402b58a 100644 --- a/Sources/Tools/MaxComponent/plAGComponents.cpp +++ b/Sources/Tools/MaxComponent/plAGComponents.cpp @@ -69,8 +69,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "MaxConvert/hsControlConverter.h" //Avatar related -#include "plAvatar/plAGAnim.h" -#include "plAvatar/plMatrixChannel.h" +#include "plAnimation/plAGAnim.h" +#include "plAnimation/plMatrixChannel.h" #include "BipedKiller.h" //Anim related diff --git a/Sources/Tools/MaxComponent/plAnimComponent.cpp b/Sources/Tools/MaxComponent/plAnimComponent.cpp index 52a06005..5ef68bf5 100644 --- a/Sources/Tools/MaxComponent/plAnimComponent.cpp +++ b/Sources/Tools/MaxComponent/plAnimComponent.cpp @@ -58,13 +58,13 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plInterp/plController.h" #include "plNotetrackAnim.h" -#include "plAvatar/plAGModifier.h" -#include "plAvatar/plAGChannel.h" -#include "plAvatar/plAGAnim.h" -#include "plAvatar/plAGMasterMod.h" -#include "plAvatar/plMatrixChannel.h" -#include "plAvatar/plPointChannel.h" -#include "plAvatar/plScalarChannel.h" +#include "plAnimation/plAGModifier.h" +#include "plAnimation/plAGChannel.h" +#include "plAnimation/plAGAnim.h" +#include "plAnimation/plAGMasterMod.h" +#include "plAnimation/plMatrixChannel.h" +#include "plAnimation/plPointChannel.h" +#include "plAnimation/plScalarChannel.h" #include "MaxConvert/hsControlConverter.h" #include "pnKeyedObject/plUoid.h" @@ -1227,4 +1227,4 @@ bool plAnimCompressComp::SetupProperties(plMaxNode *node, plErrorMsg *pErrMsg) bool plAnimCompressComp::Convert(plMaxNode *node, plErrorMsg *pErrMsg) { return true; -} \ No newline at end of file +} diff --git a/Sources/Tools/MaxComponent/plAudioComponents.cpp b/Sources/Tools/MaxComponent/plAudioComponents.cpp index 6cd71a5d..f76465e6 100644 --- a/Sources/Tools/MaxComponent/plAudioComponents.cpp +++ b/Sources/Tools/MaxComponent/plAudioComponents.cpp @@ -58,7 +58,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plInterp/plAnimEaseTypes.h" -#include "plAvatar/plAGAnim.h" +#include "plAnimation/plAGAnim.h" #include "pnSceneObject/plSceneObject.h" #include "pnSceneObject/plCoordinateInterface.h" diff --git a/Sources/Tools/MaxComponent/plGUIComponents.cpp b/Sources/Tools/MaxComponent/plGUIComponents.cpp index f88581bd..64beae07 100644 --- a/Sources/Tools/MaxComponent/plGUIComponents.cpp +++ b/Sources/Tools/MaxComponent/plGUIComponents.cpp @@ -129,7 +129,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plPickMaterialMap.h" #include "plInterp/plController.h" -#include "plAvatar/plMatrixChannel.h" +#include "plAnimation/plMatrixChannel.h" #include "MaxPlasmaMtls/Layers/plLayerTex.h" @@ -2691,7 +2691,7 @@ bool plGUIKnobCtrlComponent::PreConvert(plMaxNode *node, plErrorMsg *pErrMsg) } // For hackery below (see warning below) -#include "plAvatar/plAGMasterMod.h" +#include "plAnimation/plAGMasterMod.h" bool plGUIKnobCtrlComponent::Convert(plMaxNode *node, plErrorMsg *pErrMsg) { @@ -4413,7 +4413,7 @@ bool plGUIProgressCtrlComponent::PreConvert(plMaxNode *node, plErrorMsg *pErrMs } // For hackery below (see warning below) -#include "plAvatar/plAGMasterMod.h" +#include "plAnimation/plAGMasterMod.h" bool plGUIProgressCtrlComponent::Convert(plMaxNode *node, plErrorMsg *pErrMsg) { diff --git a/Sources/Tools/MaxComponent/plParticleComponents.cpp b/Sources/Tools/MaxComponent/plParticleComponents.cpp index e8d35403..c94dbdc6 100644 --- a/Sources/Tools/MaxComponent/plParticleComponents.cpp +++ b/Sources/Tools/MaxComponent/plParticleComponents.cpp @@ -90,8 +90,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plParticleSystem/plConvexVolume.h" #include "plParticleSystem/plBoundInterface.h" -#include "plAvatar/plScalarChannel.h" -#include "plAvatar/plAGAnim.h" +#include "plAnimation/plScalarChannel.h" +#include "plAnimation/plAGAnim.h" #include "pnSceneObject/plDrawInterface.h" diff --git a/Sources/Tools/MaxMain/CMakeLists.txt b/Sources/Tools/MaxMain/CMakeLists.txt index 1916ccb2..f36579ee 100644 --- a/Sources/Tools/MaxMain/CMakeLists.txt +++ b/Sources/Tools/MaxMain/CMakeLists.txt @@ -125,6 +125,7 @@ target_link_libraries(MaxMain pfPython) target_link_libraries(MaxMain pfSurface) target_link_libraries(MaxMain plAgeDescription) target_link_libraries(MaxMain plAgeLoader) +target_link_libraries(MaxMain plAnimation) target_link_libraries(MaxMain plAudible) target_link_libraries(MaxMain plAudio) target_link_libraries(MaxMain plAudioCore) diff --git a/Sources/Tools/MaxMain/plMaxNode.cpp b/Sources/Tools/MaxMain/plMaxNode.cpp index f3a0bb51..1e67f774 100644 --- a/Sources/Tools/MaxMain/plMaxNode.cpp +++ b/Sources/Tools/MaxMain/plMaxNode.cpp @@ -91,11 +91,11 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com #include "plModifier/plResponderModifier.h" #include "plModifier/plInterfaceInfoModifier.h" #include "pfAnimation/plLightModifier.h" -#include "plAvatar/plAGModifier.h" -#include "plAvatar/plAGAnim.h" -#include "plAvatar/plPointChannel.h" -#include "plAvatar/plScalarChannel.h" -#include "plAvatar/plAGMasterMod.h" +#include "plAnimation/plAGModifier.h" +#include "plAnimation/plAGAnim.h" +#include "plAnimation/plPointChannel.h" +#include "plAnimation/plScalarChannel.h" +#include "plAnimation/plAGMasterMod.h" #include "plMessage/plReplaceGeometryMsg.h" #include "plGImage/plMipmap.h" #include "plModifier/plSpawnModifier.h" diff --git a/Sources/Tools/MaxPlasmaLights/CMakeLists.txt b/Sources/Tools/MaxPlasmaLights/CMakeLists.txt index 9ef8f2e8..baffa731 100644 --- a/Sources/Tools/MaxPlasmaLights/CMakeLists.txt +++ b/Sources/Tools/MaxPlasmaLights/CMakeLists.txt @@ -60,6 +60,7 @@ target_link_libraries(MaxPlasmaLights pfPython) target_link_libraries(MaxPlasmaLights pfSurface) target_link_libraries(MaxPlasmaLights plAgeDescription) target_link_libraries(MaxPlasmaLights plAgeLoader) +target_link_libraries(MaxPlasmaLights plAnimation) target_link_libraries(MaxPlasmaLights plAudible) target_link_libraries(MaxPlasmaLights plAudio) target_link_libraries(MaxPlasmaLights plAudioCore)