diff options
Diffstat (limited to 'src/entities/Entity.h')
-rw-r--r-- | src/entities/Entity.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/entities/Entity.h b/src/entities/Entity.h index 12a631d2..cdc9a173 100644 --- a/src/entities/Entity.h +++ b/src/entities/Entity.h @@ -13,14 +13,11 @@ enum eEntityType ENTITY_TYPE_PED, ENTITY_TYPE_OBJECT, ENTITY_TYPE_DUMMY, - ENTITY_TYPE_6, - ENTITY_TYPE_7, }; enum eEntityStatus { - // from SA MTA! let's hope they didn't change from III - STATUS_PLAYER = 0, + STATUS_PLAYER, STATUS_PLAYER_PLAYBACKFROMBUFFER, STATUS_SIMPLE, STATUS_PHYSICS, @@ -32,8 +29,6 @@ enum eEntityStatus STATUS_PLANE, STATUS_PLAYER_REMOTE, STATUS_PLAYER_DISABLED, - //STATUS_TRAILER, - //STATUS_SIMPLE_TRAILER }; class CEntity : public CPlaceable @@ -55,7 +50,7 @@ public: // flagsB uint32 bWasPostponed : 1; - uint32 m_flagB2 : 1; // explosion proof? + uint32 bExplosionProof : 1; uint32 bIsVisible : 1; uint32 bHasCollided : 1; // uint32 bRenderScorched : 1; @@ -78,7 +73,7 @@ public: uint32 bRemoveFromWorld : 1; uint32 bHasHitWall : 1; uint32 bImBeingRendered : 1; - uint32 m_flagD8 : 1; + uint32 m_flagD8 : 1; // used by cBuoyancy::ProcessBuoyancy uint32 bIsSubway : 1; // set when subway, but maybe different meaning? uint32 bDrawLast : 1; uint32 m_flagD40 : 1; @@ -122,6 +117,15 @@ public: bool IsObject(void) { return m_type == ENTITY_TYPE_OBJECT; } bool IsDummy(void) { return m_type == ENTITY_TYPE_DUMMY; } + RpAtomic *GetAtomic(void) { + assert(RwObjectGetType(m_rwObject) == rpATOMIC); + return (RpAtomic*)m_rwObject; + } + RpClump *GetClump(void) { + assert(RwObjectGetType(m_rwObject) == rpCLUMP); + return (RpClump*)m_rwObject; + } + void GetBoundCentre(CVector &out); CVector GetBoundCentre(void) { CVector v; GetBoundCentre(v); return v; } float GetBoundRadius(void) { return CModelInfo::GetModelInfo(m_modelIndex)->GetColModel()->boundingSphere.radius; } |