49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
// This file is only ever compiled in __DEV builds
|
|
#if !__FINAL
|
|
|
|
// File header
|
|
#include "Task/Debug/TaskDebug.h"
|
|
|
|
// Game headers
|
|
#include "Peds/Ped.h"
|
|
#include "Task/Default/TaskPlayer.h"
|
|
|
|
// Disables optimisations if active
|
|
AI_OPTIMISATIONS()
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// CTaskTestClipDistance
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
CTaskTestClipDistance::FSM_Return CTaskTestClipDistance::UpdateFSM(const s32 iState, const FSM_Event iEvent)
|
|
{
|
|
CPed *pPed = GetPed(); //Get the ped ptr.
|
|
|
|
FSM_Begin
|
|
FSM_State(State_Start)
|
|
FSM_OnEnter
|
|
m_vPedPosAtStart = VEC3V_TO_VECTOR3(pPed->GetTransform().GetPosition());
|
|
static float BLEND = NORMAL_BLEND_IN_DELTA;
|
|
StartClipBySetAndClip(pPed, m_clipSetId, m_clipId, BLEND);
|
|
FSM_OnUpdate
|
|
if(GetIsFlagSet(aiTaskFlags::AnimFinished))
|
|
{
|
|
Vector3 vMoved(VEC3V_TO_VECTOR3(pPed->GetTransform().GetPosition()) - m_vPedPosAtStart);
|
|
Displayf("TestClipDistance Moved: (%.2f,%.2f,%.2f), Dist: (%.2f)\n", vMoved.x, vMoved.y, vMoved.z, vMoved.Mag());
|
|
|
|
Vector3 vClipDist = fwAnimHelpers::GetMoverTrackTranslationDiff(m_clipSetId, m_clipId, 0.f, 1.f);
|
|
vClipDist = VEC3V_TO_VECTOR3(pPed->GetTransform().Transform3x3(VECTOR3_TO_VEC3V(vClipDist)));
|
|
|
|
Displayf("TestClipDistance Clip: (%.2f,%.2f,%.2f), Dist: (%.2f)\n", vClipDist.x, vClipDist.y, vClipDist.z, vClipDist.Mag());
|
|
|
|
return FSM_Quit;
|
|
}
|
|
FSM_State(State_Quit)
|
|
FSM_OnUpdate
|
|
return FSM_Quit;
|
|
FSM_End
|
|
}
|
|
|
|
|
|
#endif //!__FINAL
|