10 #ifndef _INC_cMapEntity_H
11 #define _INC_cMapEntity_H
12 #ifndef NO_PRAGMA_ONCE
21 #if defined(_DEBUG) || defined(_DEBUG_FAST)
22 #define USE_DEBUG_OFFSETTEST
59 if (m_bFlagInsubstantial)
115 return m_pParentCont;
122 if (m_pParentCont ==
nullptr)
124 if (m_pParentCont->get_XObjTypeId() != RESTYPEID_MapEntity)
131 m_ParentRel.put_Scale1(fScale);
133 m_bParentRelChanged =
true;
140 return m_BSphere.get_Center();
150 void put_Position(
const cVector3f& vPos);
154 return m_vPosition.y;
164 OBJ_SLOT_TYPE m_eParentSlot;
178 #ifdef USE_DEBUG_OFFSETTEST
180 UINT m_dwPosFrameOffset;
#define GRAYMAPDATA_LINK
Definition: GrayMapData.h:13
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
Definition: cFourCC.h:24
#define MAP_SIZE(lod)
size of a patch (in meters (MAP_METERI_t))
Definition: cMapBase.h:46
#define SMARTS_CAST(_DSTCLASS, p)
Definition: cPtrFacade.h:138
Definition: cMatrix.h:194
Definition: cMatrix.h:811
Definition: cMapBase.h:188
Definition: cMapEntity.h:46
bool m_bFlagPhysics
(SAVED) This can/might move ? tho may be at rest now. dynamic objects not saved in map script ?
Definition: cMapEntity.h:70
bool m_bFlagInsubstantial
(SAVED) Can things pass through this? NOTE: use m_bFlagCollide to find if I collide with others when ...
Definition: cMapEntity.h:67
bool m_bFlagHover
(SAVED) Gravity DOES NOT act on this. (true=flying/swimming). NOT relative to height map.
Definition: cMapEntity.h:66
bool m_bFlagParentScale
(SAVED) Include my parents scaling matrix if i have a parent object. (offset+scale of parent) default...
Definition: cMapEntity.h:65
bool isSolid() const
Definition: cMapEntity.h:56
bool m_bFlagTerrainCut
(SAVED) Consider interior/children to carve in ground - disable terrain collision checks
Definition: cMapEntity.h:68
Definition: cMapEntity.h:76
cMatrixDecomp4 m_ParentRel
parent relative offset, rotation and scale. (SAVED)
Definition: cMapEntity.h:168
MAP_METER_t get_PositionHeight() const
Definition: cMapEntity.h:152
virtual void UpdatePosition()
virtual cXObjectPtr get_ContainerObject() const
Definition: cMapEntity.h:111
const cVector3f & get_Center() const
Definition: cMapEntity.h:137
cVector3f m_vPosition
computed DX World coords position. (feet/root/origin position is not the same as m_BSphere pos)
Definition: cMapEntity.h:174
cSpheref m_BSphere
bounding sphere is oriented, scaled, in world (translated by m_ParentRel * parent chain).
Definition: cMapEntity.h:175
MAP_METERI_t get_PatchSize() const
Definition: cMapEntity.h:96
cMatrix4x4f m_mWorld
location + scale + orientation in world.
Definition: cMapEntity.h:176
const cVector3f & get_Position() const
Definition: cMapEntity.h:144
virtual bool isPatchSaved() const
Definition: cMapEntity.h:101
cMapPatchPtr get_ParentPatch() const
Definition: cMapEntity.h:118
bool m_bParentRelChanged
Must call UpdatePosition() to recalc m_vPosition, m_BSphere, m_mWorld, etc. from m_ParentRel and all ...
Definition: cMapEntity.h:169
CMapMoverPtr get_Mover() const
cNewPtr< CMapMovable > m_pMoveable
params if this might move.
Definition: cMapEntity.h:171
virtual void put_Scale1(float fScale)
Definition: cMapEntity.h:129
virtual MAP_LOD_TYPE get_PatchLod() const
Definition: cMapEntity.h:90
virtual cMapBase * get_MapBase() const =0
OBJ_SAVE_TYPE m_eSaveType
How is the entity persisted ?
Definition: cMapEntity.h:170
Definition: cMapPatch.h:23
Definition: cIUnkPtr.h:32
Definition: IScriptableObj.h:71
double MAP_METER_t
float meters for x,y,z, similar to MAP_METERI_t. also D3DVALUE or DVALUEDEF_t METERSf_t
Definition: cMapCommon.h:22
FOURCC XOBJTID_t
a unique FOURCC id for a type of XObject, 0=k_XOBJTID_NULL, MAKEFOURCC(a,b,c,d). Equiv to GUID for IU...
Definition: IXObject.h:42
Definition: GrayMapData.cpp:12
OBJ_SAVE_TYPE
Definition: cMapEntity.h:34
@ OBJ_SAVE_Server
Definition: cMapEntity.h:38
@ OBJ_SAVE_Temporary
Definition: cMapEntity.h:41
@ OBJ_SAVE_Script
Definition: cMapEntity.h:37
@ OBJ_SAVE_Multi
Definition: cMapEntity.h:40
@ OBJ_SAVE_QTY
Definition: cMapEntity.h:42
@ OBJ_SAVE_Template
Definition: cMapEntity.h:39
cIUnkPtr< cMapEntity > cMapEntityPtr
Definition: cMapEntity.h:184
MAP_LOD_TYPE
Definition: cMapBase.h:27
@ MAP_LOD_SECTOR
Definition: cMapBase.h:33
int MAP_METERI_t
integer meters for the location of a patch. MAP_METER_t
Definition: cMapKeys.h:16
cRefPtr< CMapMover > CMapMoverPtr
Definition: cMapEntity.h:30
float MAP_METERf_t
Height meters dont need double accuracy. MAP_METER_t.
Definition: cMapKeys.h:17