mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-17 18:59:09 +00:00
Remove some additional usless / unused junk
This commit is contained in:
@ -95,12 +95,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
//======================================
|
//======================================
|
||||||
// Basic macros
|
// Basic macros
|
||||||
//======================================
|
//======================================
|
||||||
#ifdef __cplusplus
|
|
||||||
#define hsCTypeDefStruct(foo)
|
|
||||||
#else
|
|
||||||
#define hsCTypeDefStruct(foo) typedef struct foo foo;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HS_BUILD_FOR_WIN32
|
#ifdef HS_BUILD_FOR_WIN32
|
||||||
# ifndef CDECL
|
# ifndef CDECL
|
||||||
# define CDECL __cdecl
|
# define CDECL __cdecl
|
||||||
@ -109,9 +103,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
# define CDECL
|
# define CDECL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define kPosInfinity16 (32767)
|
|
||||||
#define kNegInfinity16 (-32768)
|
|
||||||
|
|
||||||
#define kPosInfinity32 (0x7fffffff)
|
#define kPosInfinity32 (0x7fffffff)
|
||||||
#define kNegInfinity32 (0x80000000)
|
#define kNegInfinity32 (0x80000000)
|
||||||
|
|
||||||
@ -124,21 +115,12 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef int32_t hsError;
|
typedef int32_t hsError;
|
||||||
typedef uint32_t hsGSeedValue;
|
|
||||||
|
|
||||||
#define hsOK 0
|
#define hsOK 0
|
||||||
#define hsFail -1
|
#define hsFail -1
|
||||||
#define hsFailed(r) ((hsError)(r)<hsOK)
|
#define hsFailed(r) ((hsError)(r)<hsOK)
|
||||||
#define hsSucceeded(r) ((hsError)(r)>=hsOK)
|
#define hsSucceeded(r) ((hsError)(r)>=hsOK)
|
||||||
|
|
||||||
#define hsLongAlign(n) (((n) + 3) & ~3L)
|
|
||||||
|
|
||||||
#define hsSGN(x) (((x) < 0) ? -1 : ( ((x) > 0) ? 1 : 0 ))
|
|
||||||
|
|
||||||
#define hsBitTst2Bool(value, mask) (((value) & (mask)) != 0)
|
|
||||||
|
|
||||||
#define hsFourByteTag(a, b, c, d) (((uint32_t)(a) << 24) | ((uint32_t)(b) << 16) | ((uint32_t)(c) << 8) | (d))
|
|
||||||
|
|
||||||
#if defined(HAVE_CXX14_DEPRECATED_ATTR)
|
#if defined(HAVE_CXX14_DEPRECATED_ATTR)
|
||||||
# define hsDeprecated(message) [[deprecated(message)]]
|
# define hsDeprecated(message) [[deprecated(message)]]
|
||||||
#elif defined(HAVE_GCC_DEPRECATED_ATTR)
|
#elif defined(HAVE_GCC_DEPRECATED_ATTR)
|
||||||
|
@ -75,7 +75,6 @@ struct hsColor32 {
|
|||||||
}
|
}
|
||||||
int operator!=(const hsColor32& aa) { return !(aa == *this); }
|
int operator!=(const hsColor32& aa) { return !(aa == *this); }
|
||||||
};
|
};
|
||||||
hsCTypeDefStruct(hsColor32)
|
|
||||||
typedef hsColor32 hsRGBAColor32;
|
typedef hsColor32 hsRGBAColor32;
|
||||||
|
|
||||||
struct hsColorRGBA {
|
struct hsColorRGBA {
|
||||||
|
@ -7,14 +7,12 @@ include_directories(../../PubUtilLib)
|
|||||||
set(pfCharacter_SOURCES
|
set(pfCharacter_SOURCES
|
||||||
pfMarkerInfo.cpp
|
pfMarkerInfo.cpp
|
||||||
pfMarkerMgr.cpp
|
pfMarkerMgr.cpp
|
||||||
plPlayerModifier.cpp
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(pfCharacter_HEADERS
|
set(pfCharacter_HEADERS
|
||||||
pfCharacterCreatable.h
|
pfCharacterCreatable.h
|
||||||
pfMarkerInfo.h
|
pfMarkerInfo.h
|
||||||
pfMarkerMgr.h
|
pfMarkerMgr.h
|
||||||
plPlayerModifier.h
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(pfCharacter STATIC ${pfCharacter_SOURCES} ${pfCharacter_HEADERS})
|
add_library(pfCharacter STATIC ${pfCharacter_SOURCES} ${pfCharacter_HEADERS})
|
||||||
|
@ -1,626 +0,0 @@
|
|||||||
/*==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==*/
|
|
||||||
//#pragma warning(disable: 4503 4786)
|
|
||||||
//#define HK_HARDCORE
|
|
||||||
//
|
|
||||||
//#include <hkmath/vector3.h> // for havok Vector3
|
|
||||||
////#include <.//gpi/math/quaternion.h> // for havok Vector3
|
|
||||||
//#include <hkgeometry/geomdef.h> // for havok Vertex
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//#include "HeadSpin.h"
|
|
||||||
//#include "../plInterp/plController.h"
|
|
||||||
//#include "plPlayerModifier.h"
|
|
||||||
//#include "hsTimer.h"
|
|
||||||
//#include "../pnSceneObject/plSceneObject.h"
|
|
||||||
//#include "../pnSceneObject/plSimulationInterface.h"
|
|
||||||
//#include "../pnInputCore/plControlEventCodes.h"
|
|
||||||
//#include "../pnMessage/plTimeMsg.h"
|
|
||||||
//#include "../pnMessage/plWarpMsg.h"
|
|
||||||
//#include "../pnMessage/plCameraMsg.h"
|
|
||||||
//#include "../pnSceneObject/plCoordinateInterface.h"
|
|
||||||
//#include "plgDispatch.h"
|
|
||||||
//#include "../pfCamera/plCameraModifier.h"
|
|
||||||
//#include "hsResMgr.h"
|
|
||||||
//#include "../pnKeyedObject/plKey.h"
|
|
||||||
//#include "../plNetClient/plNetClientMgr.h"
|
|
||||||
//#include "../plModifier/plSpawnModifier.h"
|
|
||||||
//#include "../plMessage/plMatrixUpdateMsg.h"
|
|
||||||
//
|
|
||||||
//#include "../pnTimer/plTimerCallbackManager.h"
|
|
||||||
//#include "../plAudio/plAudioSystem.h"
|
|
||||||
//#include "../plMessage/plInputEventMsg.h"
|
|
||||||
//#include "../plMessage/plSpawnRequestMsg.h"
|
|
||||||
//#include "../plMessage/plSpawnModMsg.h"
|
|
||||||
//#include "../plMessage/plPlayerMsg.h"
|
|
||||||
//#include "../pnMessage/plAudioSysMsg.h"
|
|
||||||
//#include "../pfCamera/plCameraBrain.h"
|
|
||||||
//
|
|
||||||
//#include "../plHavok1/plHKPhysical.h"
|
|
||||||
//
|
|
||||||
//float plPlayerModifier::fTurnRate = 1.0f;
|
|
||||||
//float plPlayerModifier::fAcceleration = 80.0f;
|
|
||||||
//float plPlayerModifier::fDeceleration = 80.0f;
|
|
||||||
//float plPlayerModifier::fMaxVelocity = 200.0f;
|
|
||||||
//
|
|
||||||
//plPlayerModifier::plPlayerModifier() :
|
|
||||||
//bUseDesiredFacing(false),
|
|
||||||
//bUseDesiredMatrix(false)
|
|
||||||
//{
|
|
||||||
// fCurSpeed = 0.0f;
|
|
||||||
// fLastTime = 0.0;
|
|
||||||
// bMoving = false;
|
|
||||||
// fRotationScalar = 1.0f;
|
|
||||||
// bIgnoreDesiredMatrix = false;
|
|
||||||
// SetFlag( kWantsToSpawn );
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//plPlayerModifier::~plPlayerModifier()
|
|
||||||
//{
|
|
||||||
// for (int i = 0; i < fSpawnPoints.Count(); i++)
|
|
||||||
// delete fSpawnPoints[i];
|
|
||||||
// fSpawnPoints.SetCount(0);
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//// Adding RemoveTarget override of plSingleModifier to tell everyone we
|
|
||||||
//// told in AddTarget about our subject that he's gone now.
|
|
||||||
//void plPlayerModifier::RemoveTarget(plSceneObject* so)
|
|
||||||
//{
|
|
||||||
// if( fTarget && fTarget->IsLocallyOwned()==plSynchedObject::kYes )
|
|
||||||
// {
|
|
||||||
// plCameraMsg* pMsg = new plCameraMsg;
|
|
||||||
// pMsg->SetCmd(plCameraMsg::kSetSubject);
|
|
||||||
// pMsg->SetSubject(nil);
|
|
||||||
// pMsg->SetBCastFlag( plMessage::kBCastByExactType );
|
|
||||||
// plgDispatch::MsgSend(pMsg);
|
|
||||||
//
|
|
||||||
// plAudioSysMsg* pAudMsg1 = new plAudioSysMsg(plAudioSysMsg::kSetListenerCoordinateRefCamera);
|
|
||||||
// plAudioSysMsg* pAudMsg2 = new plAudioSysMsg(plAudioSysMsg::kSetListenerVelocityRefCamera);
|
|
||||||
// plAudioSysMsg* pAudMsg3 = new plAudioSysMsg(plAudioSysMsg::kSetListenerFacingRefCamera);
|
|
||||||
// plgDispatch::MsgSend(pAudMsg1);
|
|
||||||
// plgDispatch::MsgSend(pAudMsg2);
|
|
||||||
// plgDispatch::MsgSend(pAudMsg3);
|
|
||||||
// }
|
|
||||||
// plSingleModifier::RemoveTarget(so);
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//void plPlayerModifier::AddTarget(plSceneObject* so)
|
|
||||||
//{
|
|
||||||
// fTarget = so;
|
|
||||||
// plSimulationInterface * pSI = IGetTargetSimulationInterface(0); // so->GetSimulationInterface(); //
|
|
||||||
//
|
|
||||||
// plgDispatch::Dispatch()->RegisterForExactType(plEvalMsg::Index(), GetKey());
|
|
||||||
//
|
|
||||||
// // set the desired rotation vector...
|
|
||||||
//// hsAssert(fTarget->GetCoordinateInterface(), "Player modifier target has no coordinate interface");
|
|
||||||
//
|
|
||||||
// // These are now set in the component
|
|
||||||
//// if(pSI)
|
|
||||||
//// {
|
|
||||||
//// pSI->SetProperty(plSimulationInterface::kAffectLOS, false);
|
|
||||||
//// pSI->SetProperty(kUpright, true);
|
|
||||||
//// }
|
|
||||||
//
|
|
||||||
// //
|
|
||||||
// // setup for local player if necessary
|
|
||||||
// //
|
|
||||||
// int locallyOwned=so->IsLocallyOwned();
|
|
||||||
// if (locallyOwned==plSynchedObject::kMaybe) // don't know since we're still loading, defer
|
|
||||||
// SetFlag(kNeedsLocalSetup);
|
|
||||||
// else if (locallyOwned==plSynchedObject::kYes)
|
|
||||||
// IDoLocalSetup(so);
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//void plPlayerModifier::IDoLocalSetup(plSceneObject* so)
|
|
||||||
//{
|
|
||||||
// plCameraMsg* pMsg = new plCameraMsg;
|
|
||||||
// pMsg->SetCmd(plCameraMsg::kSetSubject);
|
|
||||||
// pMsg->SetSubject(so);
|
|
||||||
// pMsg->SetBCastFlag( plMessage::kBCastByExactType );
|
|
||||||
// plgDispatch::MsgSend(pMsg);
|
|
||||||
//
|
|
||||||
// // this is to solve the problem of physical vs nonphysical players...
|
|
||||||
//// plCameraMsg* pMsg2 = new plCameraMsg;
|
|
||||||
//// pMsg2->SetBCastFlag(plMessage::kBCastByExactType);
|
|
||||||
//// pMsg2->SetCmd(plCameraMsg::kSetOffset);
|
|
||||||
//// pMsg2->SetCmd(plCameraMsg::kEntering);
|
|
||||||
//// pMsg2->SetTriggerer(so->GetKey());
|
|
||||||
//// pMsg2->SetOffsetY(50);
|
|
||||||
//// pMsg2->SetOffsetZ(10);
|
|
||||||
//// plgDispatch::MsgSend(pMsg2);
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//void plPlayerModifier::IMakeUsListener( plSceneObject *so )
|
|
||||||
//{
|
|
||||||
// // set the listener to use us...
|
|
||||||
// plAudioSysMsg* pAudMsg1 = new plAudioSysMsg(plAudioSysMsg::kSetListenerFacingRef);
|
|
||||||
// pAudMsg1->SetSceneObject(so->GetKey());
|
|
||||||
// plAudioSysMsg* pAudMsg2 = new plAudioSysMsg(plAudioSysMsg::kSetListenerCoordinateRef);
|
|
||||||
// pAudMsg2->SetSceneObject(so->GetKey());
|
|
||||||
// plAudioSysMsg* pAudMsg3 = new plAudioSysMsg(plAudioSysMsg::kSetListenerVelocityRef);
|
|
||||||
// pAudMsg3->SetSceneObject(so->GetKey());
|
|
||||||
// plgDispatch::MsgSend(pAudMsg1);
|
|
||||||
// plgDispatch::MsgSend(pAudMsg2);
|
|
||||||
// plgDispatch::MsgSend(pAudMsg3);
|
|
||||||
//
|
|
||||||
// // Now that we have a valid listener, unmute the audio system
|
|
||||||
// plgAudioSys::SetMuted( false );
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//bool plPlayerModifier::MsgReceive(plMessage* msg)
|
|
||||||
//{
|
|
||||||
// plControlEventMsg* pCommandMsg = plControlEventMsg::ConvertNoRef(msg);
|
|
||||||
// if (pCommandMsg)
|
|
||||||
// return(HandleControlInput(pCommandMsg));
|
|
||||||
//
|
|
||||||
// plMatrixUpdateMsg* pMMsg = plMatrixUpdateMsg::ConvertNoRef( msg );
|
|
||||||
// if (pMMsg && HasFlag(kHasSpawned))
|
|
||||||
// {
|
|
||||||
// hsAssert(GetTarget()->IsLocallyOwned()==plSynchedObject::kNo, "master objects should not get correction msgs");
|
|
||||||
// fDesiredMatrix = pMMsg->fMatrix;
|
|
||||||
// if (bIgnoreDesiredMatrix)
|
|
||||||
// bIgnoreDesiredMatrix = false;
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// bUseDesiredMatrix = true;
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// plSpawnModMsg* pSpawn = plSpawnModMsg::ConvertNoRef(msg);
|
|
||||||
// if (pSpawn && HasFlag(kWantsToSpawn))
|
|
||||||
// {
|
|
||||||
// spawnPt* pt = new spawnPt;
|
|
||||||
// pt->pt = pSpawn->fPos;
|
|
||||||
//
|
|
||||||
// hsVector3 temp(fTarget->GetCoordinateInterface()->GetLocalToWorld().GetTranslate() - pt->pt);
|
|
||||||
// pt->dist = temp.MagnitudeSquared();
|
|
||||||
// fSpawnPoints.Append(pt);
|
|
||||||
// }
|
|
||||||
// plPlayerMsg* pPMsg = plPlayerMsg::ConvertNoRef(msg);
|
|
||||||
// if (pPMsg)
|
|
||||||
// {
|
|
||||||
// if (pPMsg->Cmd(plPlayerMsg::kWarpToSpawnPoint))
|
|
||||||
// {
|
|
||||||
// WarpToSpawnPoint();
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return plSingleModifier::MsgReceive(msg);
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//bool plPlayerModifier::HandleControlInput(plControlEventMsg* pMsg)
|
|
||||||
//{
|
|
||||||
// bool ret=false;
|
|
||||||
//
|
|
||||||
// if (pMsg->ControlActivated() && (pMsg->GetControlCode() == B_CONTROL_ROTATE_RIGHT || pMsg->GetControlCode() == B_CONTROL_ROTATE_LEFT || pMsg->GetControlCode() == A_CONTROL_TURN))
|
|
||||||
// {
|
|
||||||
// fRotationScalar = pMsg->GetPct();
|
|
||||||
// if ( HasMovementFlag( pMsg->GetControlCode() ) )
|
|
||||||
// bIgnoreDesiredMatrix = true;
|
|
||||||
// }
|
|
||||||
// if (pMsg->ControlActivated() && !HasMovementFlag( pMsg->GetControlCode() ) )
|
|
||||||
// {
|
|
||||||
// SetMovementFlag( pMsg->GetControlCode() );
|
|
||||||
// if ( pMsg->GetControlCode() == B_CONTROL_TURN_TO )
|
|
||||||
// {
|
|
||||||
// //fFacingTarget = pMsg->GetTurnToPt();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// if ( !pMsg->ControlActivated() && HasMovementFlag( pMsg->GetControlCode() ) )
|
|
||||||
// {
|
|
||||||
// ClearMovementFlag( pMsg->GetControlCode() );
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// ret = true;
|
|
||||||
// return ret;
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//void plPlayerModifier::SetMoving(bool b)
|
|
||||||
//{
|
|
||||||
// if (b != bMoving)
|
|
||||||
// {
|
|
||||||
// plPlayerMsg* pMsg = new plPlayerMsg;
|
|
||||||
//
|
|
||||||
// if (b)
|
|
||||||
// pMsg->SetCmd( plPlayerMsg::kMovementStarted );
|
|
||||||
// else
|
|
||||||
// pMsg->SetCmd( plPlayerMsg::kMovementStopped );
|
|
||||||
//
|
|
||||||
// plgDispatch::MsgSend( pMsg );
|
|
||||||
// bMoving = b;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//hsPoint3 forceForward(0,-200,0);
|
|
||||||
//hsPoint3 forceRight(-200,0,0);
|
|
||||||
//hsPoint3 forceUp(0,0,15);
|
|
||||||
//
|
|
||||||
//bool plPlayerModifier::IEval(double secs, float del, uint32_t dirty)
|
|
||||||
//{
|
|
||||||
// // setup for local player if necessary
|
|
||||||
// if (HasFlag(kNeedsLocalSetup))
|
|
||||||
// {
|
|
||||||
// int locallyOwned=fTarget->IsLocallyOwned();
|
|
||||||
// if (locallyOwned==plSynchedObject::kYes)
|
|
||||||
// IDoLocalSetup(fTarget);
|
|
||||||
// else
|
|
||||||
// if (locallyOwned==plSynchedObject::kNo)
|
|
||||||
// ClearFlag(kNeedsLocalSetup);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (HasFlag(kWantsToSpawn))
|
|
||||||
// {
|
|
||||||
// if (fTarget->IsLocallyOwned()==plSynchedObject::kNo)
|
|
||||||
// {
|
|
||||||
// // if our target is a proxy player, don't warp him to a spawn point;
|
|
||||||
// // we will receive his location as a state update.
|
|
||||||
// ClearFlag(kWantsToSpawn);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// if (fSpawnPoints.Count()
|
|
||||||
// // if MP game, make sure we're connected before spawning
|
|
||||||
// && (!plNetClientMgr::GetInstance()->IsEnabled() ||
|
|
||||||
// plNetClientMgr::GetInstance()->HasJoined())
|
|
||||||
// )
|
|
||||||
// {
|
|
||||||
// int i;
|
|
||||||
//#if 0
|
|
||||||
// for (i = 0; i < fSpawnPoints.Count(); i++)
|
|
||||||
// {
|
|
||||||
// for (int j = i + 1; j < fSpawnPoints.Count(); j++)
|
|
||||||
// {
|
|
||||||
// if (fSpawnPoints[j]->dist < fSpawnPoints[i]->dist)
|
|
||||||
// {
|
|
||||||
// spawnPt* pt;
|
|
||||||
// pt = fSpawnPoints[j];
|
|
||||||
// fSpawnPoints[j] = fSpawnPoints[i];
|
|
||||||
// fSpawnPoints[i] = pt;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// hsPoint3 warpPoint = fSpawnPoints[0]->pt;
|
|
||||||
//#else
|
|
||||||
// // choose spawnPoint based on netID, not distance
|
|
||||||
// int netID = plNetClientMgr::GetInstance()->GetClientNum();
|
|
||||||
// if (netID==-1)
|
|
||||||
// netID=0;
|
|
||||||
// hsPoint3 warpPoint = netID>=fSpawnPoints.Count() ?
|
|
||||||
// fSpawnPoints[fSpawnPoints.Count()-1]->pt : fSpawnPoints[netID]->pt;
|
|
||||||
//#endif
|
|
||||||
// // Send msg for net synchronization
|
|
||||||
// plWarpMsg* warpMsg = new plWarpMsg;
|
|
||||||
// warpMsg->fPos = warpPoint;
|
|
||||||
// warpMsg->AddReceiver( fTarget->GetKey() );
|
|
||||||
// warpMsg->SetWarpFlags(warpMsg->GetWarpFlags() | plWarpMsg::kFlushTransform | plWarpMsg::kZeroVelocity );
|
|
||||||
// plgDispatch::MsgSend( warpMsg );
|
|
||||||
//#ifdef HS_DEBUGGING
|
|
||||||
// char str[256];
|
|
||||||
// sprintf(str, "%s has %d spawnPoints. Using pt %f %f %f\n",
|
|
||||||
// GetKeyName(), fSpawnPoints.GetCount(),
|
|
||||||
// fSpawnPoints[0]->pt.fX,fSpawnPoints[0]->pt.fY,fSpawnPoints[0]->pt.fZ);
|
|
||||||
// hsStatusMessage(str);
|
|
||||||
//#endif
|
|
||||||
// for (i = 0; i < fSpawnPoints.Count(); i++)
|
|
||||||
// delete fSpawnPoints[i];
|
|
||||||
//
|
|
||||||
// fSpawnPoints.SetCount(0);
|
|
||||||
// ClearFlag(kWantsToSpawn);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// plSpawnRequestMsg* pMsg = new plSpawnRequestMsg;
|
|
||||||
// pMsg->SetSender(GetKey());
|
|
||||||
// plgDispatch::MsgSend( pMsg );
|
|
||||||
// }
|
|
||||||
// bIgnoreDesiredMatrix = true;
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// if( !HasFlag( kHasSpawned ) )
|
|
||||||
// {
|
|
||||||
// // Don't make us listener until we have actually spawned
|
|
||||||
// IMakeUsListener( fTarget );
|
|
||||||
// SetFlag(kHasSpawned);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (!fTarget->GetCoordinateInterface())
|
|
||||||
// return true;
|
|
||||||
//
|
|
||||||
// // update our desired position:
|
|
||||||
//// float eTime = secs - fLastTime;
|
|
||||||
// float eTime = hsTimer::GetDelSysSeconds();
|
|
||||||
//
|
|
||||||
// hsPoint3 newLinearForce(0,0,0);
|
|
||||||
//
|
|
||||||
// hsMatrix44 targetMatrix;
|
|
||||||
// if (bUseDesiredMatrix)
|
|
||||||
// targetMatrix = fDesiredMatrix;
|
|
||||||
// else
|
|
||||||
// targetMatrix = fTarget->GetCoordinateInterface()->GetLocalToWorld();
|
|
||||||
// hsPoint3 playerPos = targetMatrix.GetTranslate();
|
|
||||||
// hsVector3 view, up, right;
|
|
||||||
// targetMatrix.GetAxis(&view, &up, &right);
|
|
||||||
//
|
|
||||||
// float speed = fMaxVelocity;
|
|
||||||
// float turn = fTurnRate;
|
|
||||||
//
|
|
||||||
// if (HasMovementFlag(B_CONTROL_MODIFIER_FAST))
|
|
||||||
// {
|
|
||||||
// turn *= 0.25;
|
|
||||||
// speed *= 3.5;
|
|
||||||
// }
|
|
||||||
// if (HasMovementFlag(B_CONTROL_MOVE_FORWARD))
|
|
||||||
// {
|
|
||||||
// playerPos += view * speed * eTime;
|
|
||||||
// newLinearForce = newLinearForce + forceForward * speed * eTime; // calc force for physics
|
|
||||||
// }
|
|
||||||
// if (HasMovementFlag(B_CONTROL_MOVE_BACKWARD))
|
|
||||||
// {
|
|
||||||
// playerPos += view * speed * eTime * -1;
|
|
||||||
// newLinearForce = newLinearForce + forceForward * speed * eTime * -1; // calc force for physics
|
|
||||||
// }
|
|
||||||
// if (HasMovementFlag(B_CONTROL_STRAFE_LEFT))
|
|
||||||
// {
|
|
||||||
// playerPos += right * speed * eTime * -1;
|
|
||||||
//
|
|
||||||
// newLinearForce = newLinearForce + forceRight * speed * eTime * -1;
|
|
||||||
// }
|
|
||||||
// if (HasMovementFlag(B_CONTROL_STRAFE_RIGHT))
|
|
||||||
// {
|
|
||||||
// playerPos += right * speed * eTime;
|
|
||||||
//
|
|
||||||
// newLinearForce = newLinearForce + forceRight * speed * eTime;
|
|
||||||
// }
|
|
||||||
// if (HasMovementFlag(B_CONTROL_MOVE_DOWN))
|
|
||||||
// {
|
|
||||||
// playerPos += up * speed * eTime * -1;
|
|
||||||
//
|
|
||||||
// newLinearForce = newLinearForce + forceUp * speed * eTime * -1;
|
|
||||||
// }
|
|
||||||
// if (HasMovementFlag(B_CONTROL_MOVE_UP))
|
|
||||||
// {
|
|
||||||
// playerPos += up * speed * eTime;
|
|
||||||
//
|
|
||||||
// newLinearForce = newLinearForce + forceUp * speed * eTime;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// fDesiredPosition = playerPos;
|
|
||||||
//
|
|
||||||
// // move toward our desired position...
|
|
||||||
//
|
|
||||||
// hsPoint3 curPos = targetMatrix.GetTranslate();
|
|
||||||
// hsPoint3 newPos;
|
|
||||||
//
|
|
||||||
// hsVector3 dir(fDesiredPosition - curPos);
|
|
||||||
// float distToGoal=dir.Magnitude();
|
|
||||||
//
|
|
||||||
// if (dir.MagnitudeSquared() > 0.0f)
|
|
||||||
// dir.Normalize();
|
|
||||||
//
|
|
||||||
// hsVector3 vel( view * fCurSpeed );
|
|
||||||
//
|
|
||||||
// IAdjustVelocity(fAcceleration, fDeceleration, &dir, &vel, fMaxVelocity, distToGoal, eTime);
|
|
||||||
// fCurSpeed = vel.Magnitude();
|
|
||||||
//
|
|
||||||
// float distMoved = IClampVelocity(&vel, fMaxVelocity, eTime);
|
|
||||||
//
|
|
||||||
// // compute final pos
|
|
||||||
// if (distMoved > distToGoal)
|
|
||||||
// newPos = fDesiredPosition;
|
|
||||||
// else
|
|
||||||
// newPos = curPos + vel;
|
|
||||||
//
|
|
||||||
// // calculate rotation matrix
|
|
||||||
//
|
|
||||||
// hsVector3 rotUp(0,0,1);
|
|
||||||
// hsVector3 rotRight(1,0,0);
|
|
||||||
// hsMatrix44 rot;
|
|
||||||
//
|
|
||||||
// if ( HasMovementFlag( B_CONTROL_TURN_TO ) )
|
|
||||||
// {
|
|
||||||
// // compute view goal
|
|
||||||
//
|
|
||||||
// hsVector3 fPlayerViewGoal(&fFacingTarget,&curPos);
|
|
||||||
// fPlayerViewGoal.fZ = 0;
|
|
||||||
// fPlayerViewGoal.Normalize();
|
|
||||||
//
|
|
||||||
// // compute degrees needed to turn left/right
|
|
||||||
// hsVector3 cross = fPlayerViewGoal % view;
|
|
||||||
// float dot = fPlayerViewGoal * view;
|
|
||||||
// float rad = acos(dot);
|
|
||||||
// fRotationScalar = 1.0f;
|
|
||||||
//
|
|
||||||
// if (cross.fZ<0)
|
|
||||||
// {
|
|
||||||
// SetMovementFlag( B_CONTROL_ROTATE_LEFT );
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// SetMovementFlag( B_CONTROL_ROTATE_RIGHT );
|
|
||||||
// }
|
|
||||||
// if (dot >= 0.999f)
|
|
||||||
// {
|
|
||||||
// ClearMovementFlag( B_CONTROL_TURN_TO );
|
|
||||||
// ClearMovementFlag( B_CONTROL_ROTATE_RIGHT );
|
|
||||||
// ClearMovementFlag( B_CONTROL_ROTATE_LEFT );
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// float angle = 0;
|
|
||||||
//
|
|
||||||
// if ( HasMovementFlag( B_CONTROL_ROTATE_RIGHT ) )
|
|
||||||
// {
|
|
||||||
// angle = fTurnRate * eTime * -1 * fRotationScalar;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if ( HasMovementFlag( B_CONTROL_ROTATE_LEFT ) || HasMovementFlag( A_CONTROL_TURN ) )
|
|
||||||
// {
|
|
||||||
// angle = fTurnRate * eTime * fRotationScalar;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// hsMatrix44 justRot(targetMatrix);
|
|
||||||
// hsPoint3 zero(0,0,0);
|
|
||||||
// justRot.SetTranslate(&zero);
|
|
||||||
//
|
|
||||||
// if(angle) {
|
|
||||||
// hsQuat q(angle, &rotUp);
|
|
||||||
// q.NormalizeIfNeeded();
|
|
||||||
// q.MakeMatrix(&rot);
|
|
||||||
//
|
|
||||||
// justRot = rot * justRot;
|
|
||||||
//
|
|
||||||
// targetMatrix = rot * targetMatrix;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // use the desired rotation matrix to set position and rotation:
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// plSimulationInterface * SI = IGetTargetSimulationInterface(0);
|
|
||||||
//
|
|
||||||
// if(SI)
|
|
||||||
// {
|
|
||||||
// Havok::Vector3 hkLocalForce(newLinearForce.fX, newLinearForce.fY, newLinearForce.fZ);
|
|
||||||
// if (bUseDesiredMatrix)
|
|
||||||
// {
|
|
||||||
// hsMatrix44 inv;
|
|
||||||
//
|
|
||||||
// fDesiredMatrix.GetInverse(&inv);
|
|
||||||
//
|
|
||||||
// // we're just going to set the position on the simulation interface directly
|
|
||||||
// // because it will then be further modified by the simulation and its final position
|
|
||||||
// // will *then* be sent to the coordinate interface
|
|
||||||
// SI->SetTransform(fDesiredMatrix, inv);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// SI->SetRotation(justRot);//rot);
|
|
||||||
// SI->ApplyForce(plSimulationInterface::kForce, hkLocalForce);
|
|
||||||
// } else {
|
|
||||||
// hsMatrix44 inv;
|
|
||||||
// targetMatrix.SetTranslate(&newPos);
|
|
||||||
// targetMatrix.GetInverse(&inv);
|
|
||||||
//
|
|
||||||
// plCoordinateInterface* pCI = pCI = IGetTargetCoordinateInterface(0);
|
|
||||||
// pCI->SetTransform(targetMatrix, inv);
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// fLastTime = secs;
|
|
||||||
// SetMoving(fCurSpeed);
|
|
||||||
//
|
|
||||||
// if (bUseDesiredMatrix)
|
|
||||||
// bUseDesiredMatrix = false;
|
|
||||||
// return true;
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
////
|
|
||||||
//// vector version. dir vector should be normalized
|
|
||||||
////
|
|
||||||
//void plPlayerModifier::IAdjustVelocity(float adjAccelRate, float adjDecelRate,
|
|
||||||
// hsVector3* dir, hsVector3* vel, float maxSpeed,
|
|
||||||
// float distToGoal, double elapsedTime)
|
|
||||||
//{
|
|
||||||
// float speed = vel->Magnitude(); // save current speed
|
|
||||||
// *vel = *dir * speed; // change vel to correct dir
|
|
||||||
//
|
|
||||||
// // compute accel/decel
|
|
||||||
// float finalAccelRate;
|
|
||||||
// if (IShouldDecelerate(adjDecelRate, speed, distToGoal))
|
|
||||||
// {
|
|
||||||
// finalAccelRate = -adjDecelRate;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// finalAccelRate = adjAccelRate;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (finalAccelRate != 0)
|
|
||||||
// {
|
|
||||||
// // compute accel vector in the direction of the goal
|
|
||||||
// hsVector3 accelVec = *dir * finalAccelRate;
|
|
||||||
// accelVec = accelVec * elapsedTime;
|
|
||||||
//
|
|
||||||
// // add acceleration to velocity
|
|
||||||
// *vel = *vel + accelVec;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// *vel = *dir * maxSpeed;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//float plPlayerModifier::IClampVelocity(hsVector3* vel, float maxSpeed, double elapsedTime)
|
|
||||||
//{
|
|
||||||
// *vel = *vel * elapsedTime;
|
|
||||||
// maxSpeed *= elapsedTime;
|
|
||||||
//
|
|
||||||
// // clamp speed (clamp if going negative?)
|
|
||||||
// float distMoved = vel->Magnitude();
|
|
||||||
// if (distMoved > maxSpeed)
|
|
||||||
// {
|
|
||||||
// vel->Normalize();
|
|
||||||
// *vel = *vel * maxSpeed;
|
|
||||||
// return maxSpeed;
|
|
||||||
// }
|
|
||||||
// return distMoved;
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//bool32 plPlayerModifier::IShouldDecelerate(float decelSpeed, float curSpeed, float distToGoal)
|
|
||||||
//{
|
|
||||||
// if (decelSpeed == 0)
|
|
||||||
// // no deceleration
|
|
||||||
// return false;
|
|
||||||
//
|
|
||||||
// // compute distance required to stop, given decel speed (in units/sec sq)
|
|
||||||
// float stopTime = curSpeed / decelSpeed;
|
|
||||||
// float avgSpeed = curSpeed * .5f;
|
|
||||||
// float stopDist = avgSpeed * stopTime;
|
|
||||||
//
|
|
||||||
// return (hsABS(distToGoal) <= hsABS(stopDist)); // stopDist+avgSpeed?
|
|
||||||
//}
|
|
||||||
//
|
|
@ -1,149 +0,0 @@
|
|||||||
/*==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 plPlayerModifier_inc
|
|
||||||
//#define plPlayerModifier_inc
|
|
||||||
//
|
|
||||||
//#include "../pnModifier/plSingleModifier.h"
|
|
||||||
//#include "../pnSceneObject/plSimulationInterface.h"
|
|
||||||
//#include "hsMatrix44.h"
|
|
||||||
//
|
|
||||||
//class plControlEventMsg;
|
|
||||||
//
|
|
||||||
//namespace Havok {
|
|
||||||
// class Vector3;
|
|
||||||
//}
|
|
||||||
//
|
|
||||||
//class plPlayerModifier : public plSingleModifier
|
|
||||||
//{
|
|
||||||
//protected:
|
|
||||||
//
|
|
||||||
// enum
|
|
||||||
// {
|
|
||||||
// kWantsToSpawn = 0,
|
|
||||||
// kTimerSet,
|
|
||||||
// kHasSpawned,
|
|
||||||
// kNeedsLocalSetup
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// struct spawnPt
|
|
||||||
// {
|
|
||||||
// hsPoint3 pt;
|
|
||||||
// float dist;
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// static float fTurnRate;
|
|
||||||
//
|
|
||||||
// static float fAcceleration;
|
|
||||||
// static float fDeceleration;
|
|
||||||
// static float fMaxVelocity;
|
|
||||||
// float fCurSpeed;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// double fLastTime;
|
|
||||||
// hsMatrix44 fDesiredMatrix;
|
|
||||||
//
|
|
||||||
// hsPoint3 fDesiredPosition;
|
|
||||||
// hsPoint3 fFacingTarget;
|
|
||||||
// bool bUseDesiredFacing;
|
|
||||||
// bool bUseDesiredMatrix;
|
|
||||||
// bool bIgnoreDesiredMatrix;
|
|
||||||
//
|
|
||||||
// float fRotationScalar;
|
|
||||||
// hsTArray<spawnPt*> fSpawnPoints;
|
|
||||||
//
|
|
||||||
// void IAdjustVelocity(float adjAccelRate,
|
|
||||||
// float adjDecelRate,
|
|
||||||
// hsVector3* dir,
|
|
||||||
// hsVector3* vel,
|
|
||||||
// float maxSpeed,
|
|
||||||
// float distToGoal,
|
|
||||||
// double elapsedTime);
|
|
||||||
//
|
|
||||||
// float IClampVelocity(hsVector3* vel, float maxSpeed, double elapsedTime);
|
|
||||||
// bool32 IShouldDecelerate(float decelSpeed, float curSpeed, float distToGoal);
|
|
||||||
//
|
|
||||||
// bool HasMovementFlag(int f) const { return fMoveFlags.IsBitSet(f); }
|
|
||||||
// void SetMovementFlag(int f) { fMoveFlags.SetBit(f); }
|
|
||||||
// void ClearMovementFlag(int which) { fMoveFlags.ClearBit( which ); }
|
|
||||||
//
|
|
||||||
// hsBitVector fMoveFlags;
|
|
||||||
// hsBitVector fFlags;
|
|
||||||
//
|
|
||||||
// void WarpToSpawnPoint() { SetFlag( kWantsToSpawn ); }
|
|
||||||
//
|
|
||||||
// bool bMoving;
|
|
||||||
//
|
|
||||||
// void IApplyForce(plSimulationInterface::plSimpleForce type, const Havok::Vector3 &vec);
|
|
||||||
// void IDoLocalSetup(plSceneObject*);
|
|
||||||
// void IMakeUsListener( plSceneObject *so );
|
|
||||||
//
|
|
||||||
//public:
|
|
||||||
// plPlayerModifier();
|
|
||||||
// virtual ~plPlayerModifier();
|
|
||||||
//
|
|
||||||
// CLASSNAME_REGISTER( plPlayerModifier );
|
|
||||||
// GETINTERFACE_ANY( plPlayerModifier, plSingleModifier );
|
|
||||||
//
|
|
||||||
// virtual bool MsgReceive(plMessage* msg);
|
|
||||||
// virtual void AddTarget(plSceneObject* so);
|
|
||||||
// virtual void RemoveTarget(plSceneObject* so);
|
|
||||||
//
|
|
||||||
// bool HandleControlInput(plControlEventMsg* pMsg);
|
|
||||||
// virtual bool IEval(double secs, float del, uint32_t dirty);
|
|
||||||
//
|
|
||||||
// void SetMoving(bool b);
|
|
||||||
// bool IsMoving() { return bMoving; }
|
|
||||||
//
|
|
||||||
// bool HasFlag(int f) const { return fFlags.IsBitSet(f); }
|
|
||||||
// void SetFlag(int f) { fFlags.SetBit(f); }
|
|
||||||
// void ClearFlag(int which) { fFlags.ClearBit( which ); }
|
|
||||||
//
|
|
||||||
// static void SetTurnRate(float f) {fTurnRate = f;}
|
|
||||||
// static void SetAcceleration(float f) {fAcceleration = f;}
|
|
||||||
// static void SetDeceleration(float f) {fDeceleration = f;}
|
|
||||||
// static void SetVelocity(float f) {fMaxVelocity = f;}
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//};
|
|
||||||
//
|
|
||||||
//#endif plPlayerModifier_inc
|
|
@ -72,7 +72,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
#include "pnModifier/plLogicModBase.h"
|
#include "pnModifier/plLogicModBase.h"
|
||||||
#include "plModifier/plSDLModifier.h"
|
#include "plModifier/plSDLModifier.h"
|
||||||
#include "plSDL/plSDL.h"
|
#include "plSDL/plSDL.h"
|
||||||
#include "pfCharacter/plPlayerModifier.h"
|
|
||||||
#include "plSurface/plLayerDepth.h"
|
#include "plSurface/plLayerDepth.h"
|
||||||
#include "plSurface/plLayerOr.h"
|
#include "plSurface/plLayerOr.h"
|
||||||
#include "plSurface/plLayerOr.h"
|
#include "plSurface/plLayerOr.h"
|
||||||
|
@ -64,7 +64,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
#include "pnKeyedObject/plKey.h"
|
#include "pnKeyedObject/plKey.h"
|
||||||
#include "pnKeyedObject/plKeyImp.h"
|
#include "pnKeyedObject/plKeyImp.h"
|
||||||
#include "pnModifier/plLogicModBase.h"
|
#include "pnModifier/plLogicModBase.h"
|
||||||
#include "pfCharacter/plPlayerModifier.h"
|
|
||||||
#include "hsTimer.h"
|
#include "hsTimer.h"
|
||||||
#include "pnMessage/plClientMsg.h"
|
#include "pnMessage/plClientMsg.h"
|
||||||
#include "pnMessage/plEnableMsg.h"
|
#include "pnMessage/plEnableMsg.h"
|
||||||
|
@ -91,7 +91,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
#include "plModifier/plResponderModifier.h"
|
#include "plModifier/plResponderModifier.h"
|
||||||
#include "plModifier/plInterfaceInfoModifier.h"
|
#include "plModifier/plInterfaceInfoModifier.h"
|
||||||
#include "pfAnimation/plLightModifier.h"
|
#include "pfAnimation/plLightModifier.h"
|
||||||
#include "pfCharacter/plPlayerModifier.h"
|
|
||||||
#include "plAvatar/plAGModifier.h"
|
#include "plAvatar/plAGModifier.h"
|
||||||
#include "plAvatar/plAGAnim.h"
|
#include "plAvatar/plAGAnim.h"
|
||||||
#include "plAvatar/plPointChannel.h"
|
#include "plAvatar/plPointChannel.h"
|
||||||
|
Reference in New Issue
Block a user