Add & link CEntity.cpp

This commit is contained in:
2022-08-10 22:33:46 -04:00
parent 11f69fcb5d
commit 0b6ce7f781
6 changed files with 90 additions and 4 deletions

View File

@@ -95,6 +95,7 @@ public:
};
extern CTevCombiners::CTevPass CTevPass_805a5ebc;
// TODO move to CGraphics
extern CTevCombiners::CTevPass* PTR_skPassThru_805a8828;
#endif

View File

@@ -17,11 +17,15 @@ public:
virtual void Accept(IVisitor& visitor) = 0;
virtual void PreThink(float dt, CStateManager& mgr);
virtual void Think(float dt, CStateManager& mgr);
virtual void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager& stateMgr);
virtual void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr);
virtual void SetActive(bool active);
CEntity(TUniqueId id, const CEntityInfo& info, bool active, const rstl::string& name);
void SendScriptMsgs(EScriptObjectState state, CStateManager& mgr, EScriptObjectMessage msg);
TUniqueId GetUniqueId() const { return x8_uid; }
TAreaId GetAreaId() const;
static rstl::vector<SConnection> NullConnectionList;
protected:
@@ -33,7 +37,7 @@ protected:
bool x30_24_active : 1;
bool x30_25_inGraveyard : 1;
bool x30_26_scriptingBlocked : 1;
bool x30_27_inUse : 1;
bool x30_27_notInArea : 1;
};
#endif

View File

@@ -3,6 +3,9 @@
#include "types.h"
class CStateManager {};
class CStateManager {
public:
void SendScriptMsg(TUniqueId uid, TEditorId target, EScriptObjectMessage msg, EScriptObjectState state);
};
#endif

View File

@@ -21,17 +21,33 @@ struct TAreaId {
bool operator==(const TAreaId& other) const { return value == other.value; }
bool operator!=(const TAreaId& other) const { return value != other.value; }
};
struct TEditorId {
u32 value;
TEditorId() : value(-1) {}
TEditorId(u32 value) : value(value) {}
u32 Value() const { return value; }
bool operator==(const TEditorId& other) const { return value == other.value; }
bool operator!=(const TEditorId& other) const { return value != other.value; }
};
struct TUniqueId {
u16 value;
union {
struct {
u16 version : 6;
u16 id : 10;
};
u16 value;
};
TUniqueId() : value(-1) {}
TUniqueId(u16 value) : value(value) {}
u16 Value() const { return value; }
bool operator==(const TUniqueId& other) const { return value == other.value; }
bool operator!=(const TUniqueId& other) const { return value != other.value; }
};
#endif