6 #ifndef _INC_CMapMover_H
7 #define _INC_CMapMover_H
20 #define MAP_DIST_MIN 0.0001f
21 #define MAP_GRAVITY_ACCEL 9.81f
22 #define MAP_GRAVITY_TERMINAL 300.0f
35 #define CMapMoverMode(a,b,c) MAPMOVER_##a,
36 #include "CMapMoverModes.tbl"
62 : m_bFlagCollide(false)
63 , m_vEllipsoidRadius(1.0f, 1.0f, 1.0f)
64 , m_bFlagTraction(false)
65 , m_fTractionRatio(1.0f)
74 return m_bFlagCollide;
78 m_bFlagCollide = bCanCollide;
162 return m_vVelocity.
get_X();
166 return m_vVelocity.
get_Y();
170 return m_vVelocity.
get_Z();
176 if (m_vVelocity == vVelocity)
179 m_vVelocity = vVelocity;
184 if (m_vVelocity.
y == fVelY)
187 m_vVelocity.
y = fVelY;
192 if (m_vVelocity.
x == 0 && m_vVelocity.
y == 0 && m_vVelocity.
z == 0)
#define GRAYMAPDATA_LINK
Definition: GrayMapData.h:13
#define MAP_GRAVITY_ACCEL
Definition: cMapMover.h:21
TYPE get_Z() const noexcept
Definition: cVecT.h:577
TYPE y
Definition: cVecT.h:545
TYPE z
Definition: cVecT.h:545
TYPE get_X() const noexcept
Definition: cVecT.h:569
TYPE x
Definition: cVecT.h:545
TYPE get_Y() const noexcept
Definition: cVecT.h:573
void SetZero() noexcept
Definition: cVecT.h:327
Definition: cMapMover.h:43
bool m_bFlagCollide
Definition: cMapMover.h:51
bool m_bFlagTraction
Definition: cMapMover.h:55
bool get_CanCollide() const
Definition: cMapMover.h:71
void put_CanCollide(bool bCanCollide)
Definition: cMapMover.h:76
CMapMovable()
Definition: cMapMover.h:61
cVector3f m_vEllipsoidRadius
Definition: cMapMover.h:53
float m_fGravity
Definition: cMapMover.h:58
float m_fTractionRatio
Definition: cMapMover.h:56
Definition: cMapMover.h:83
float get_MoverCircumference() const
Definition: cMapMover.h:151
float m_fMoveRadiusEnd
Definition: cMapMover.h:116
float m_fMoveAngleOffset
Definition: cMapMover.h:104
void UpdateMoverParams(cMapEntity *pEntity)
void Velocity_Clear()
Definition: cMapMover.h:189
void Mover_CircleArbitrary(const cVector3f &vCenter, float fSpeed, float fRadius)
cVector3f m_vMoveTargetEnd
Definition: cMapMover.h:108
void put_MoverCircumference(float fCirc)
Definition: cMapMover.h:138
float get_MoverRadius() const
Definition: cMapMover.h:147
float m_fMoveLoopTimeCur
Definition: cMapMover.h:111
const cVector3f & get_Velocity() const
Definition: cMapMover.h:156
~CMapMover()
Definition: CMapMover.cpp:44
float m_fMoveTargetOffset
Definition: cMapMover.h:109
TIMESYS_t m_tGravitySkip
skip gravity/traction recalc until this time. (mSec) i.e. i can fly for a bit.
Definition: cMapMover.h:96
float m_fMoveRadiusOffset
Definition: cMapMover.h:117
float get_VelZ() const
Definition: cMapMover.h:168
void Mover_TargetArbitrary(const cVector3f &vTarget, float fSpeed)
cVector3f m_vMoveOrientation
Definition: cMapMover.h:110
void put_Velocity(const cVector3f &vVelocity)
Definition: cMapMover.h:173
float get_VelX() const
Definition: cMapMover.h:160
void put_MoverRadius(float fRadius)
Definition: cMapMover.h:133
cVector3f m_vMoveTargetStart
Definition: cMapMover.h:107
virtual bool FrameMoveMover(bool bRelative, float fElapsedTime)
void Mover_PushForce(const cVector3f &vForce)
cVector3f m_vMoveTarget
Definition: cMapMover.h:106
float m_fMoveCircumference
Definition: cMapMover.h:118
CMapMover()
Definition: CMapMover.cpp:22
float m_fMoveSpeed
Definition: cMapMover.h:105
void check_Circumference()
Definition: cMapMover.h:143
static const char * k_szModeNames[MAPMOVER_QTY+1]
Definition: cMapMover.h:100
float get_VelY() const
Definition: cMapMover.h:164
float m_fMoveRadius
Definition: cMapMover.h:115
virtual bool FrameMovePhysics(bool bRelative, float fTimeDelta)
cVector3f m_vPositionPrev
world coords (or relative coords) of position in last frame.
Definition: cMapMover.h:91
void put_VelY(const float fVelY)
Definition: cMapMover.h:181
float m_fMoveLoopTimeSpan
Definition: cMapMover.h:112
MAPMOVER_TYPE m_eMoveMode
Definition: cMapMover.h:99
Definition: cMapEntity.h:76
Definition: GrayMapData.cpp:12
MAPMOVER_TYPE
Definition: cMapMover.h:25
@ MAPMOVER_PlayerTurn
player controlled turn.
Definition: cMapMover.h:30
@ MAPMOVER_QTY
Definition: cMapMover.h:39
@ MAPMOVER_PlayerMove
player controlled move
Definition: cMapMover.h:29
cRefPtr< CMapMover > CMapMoverPtr
Definition: cMapEntity.h:30
UINT32 TIMESYS_t
TIMESYS_t = The normal system tick timer. milli-seconds since start of system/app ?
Definition: cTimeSys.h:27