summaryrefslogtreecommitdiffstats
path: root/src/entities/Entity.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/entities/Entity.h')
-rw-r--r--src/entities/Entity.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/entities/Entity.h b/src/entities/Entity.h
index 8bcd7348..c4a5c467 100644
--- a/src/entities/Entity.h
+++ b/src/entities/Entity.h
@@ -94,6 +94,9 @@ public:
uint16 m_level; // int16
CReference *m_pFirstReference;
+ CEntity(void);
+ ~CEntity(void);
+
virtual void Add(void);
virtual void Remove(void);
virtual void SetModelIndex(uint32 i) { m_modelIndex = i; CreateRwObject(); }
@@ -120,6 +123,7 @@ public:
void GetBoundCentre(CVector &out);
CVector GetBoundCentre(void) { CVector v; GetBoundCentre(v); return v; }
float GetBoundRadius(void) { return CModelInfo::GetModelInfo(m_modelIndex)->GetColModel()->boundingSphere.radius; }
+ float GetDistanceFromCentreOfMassToBaseOfModel(void) { return -CModelInfo::GetModelInfo(m_modelIndex)->GetColModel()->boundingBox.min.z; }
bool GetIsTouching(CVector const &center, float r);
bool GetIsOnScreen(void);
bool GetIsOnScreenComplex(void);
@@ -129,6 +133,9 @@ public:
void UpdateRwFrame(void);
void SetupBigBuilding(void);
+ void AttachToRwObject(RwObject *obj);
+ void DetachFromRwObject(void);
+
void RegisterReference(CEntity **pent);
void ResolveReferences(void);
void PruneReferences(void);