1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-18 03:09:13 +00:00

Move AniGraph classes from plAvatar -> plAnimation.

This commit is contained in:
Darryl Pogue
2014-10-19 00:09:07 -07:00
parent 69bc106576
commit 4450d87947
81 changed files with 429 additions and 297 deletions

View File

@ -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)

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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})

View File

@ -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;
}
}

View File

@ -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

View File

@ -61,7 +61,7 @@ class plAGModifier;
//
/////////////////////////////////////////////////////////////////////////////////////////
#include "pnFactory/plCreatable.h"
#include "plAvDefs.h"
#include "plAGDefs.h"
#include "plString.h"
/////////////////////////////////////////////////////////////////////////////////////////

View File

@ -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 <http://www.gnu.org/licenses/>.
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

View File

@ -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

View File

@ -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"

View File

@ -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;

View File

@ -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 <http://www.gnu.org/licenses/>.
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

View File

@ -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"

View File

@ -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;

View File

@ -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})

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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;

View File

@ -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"

View File

@ -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 <deque>

View File

@ -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"

View File

@ -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
#endif

View File

@ -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

View File

@ -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"

View File

@ -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 );

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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})

View File

@ -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
{

View File

@ -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<float> &GetStopPoints() { return fStopPoints; }
float GetBestStopDist(float min, float max, float norm, float time) const;

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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);

View File

@ -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"

View File

@ -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"

View File

@ -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;