diff options
Diffstat (limited to '')
-rw-r--r-- | src/control/Script.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/control/Script.h b/src/control/Script.h index 2eed29fe..acab66cc 100644 --- a/src/control/Script.h +++ b/src/control/Script.h @@ -27,7 +27,7 @@ struct intro_script_rectangle ~intro_script_rectangle() { } }; -static_assert(sizeof(intro_script_rectangle) == 0x18, "Script.h: error"); +VALIDATE_SIZE(intro_script_rectangle, 0x18); enum { SCRIPT_TEXT_MAX_LENGTH = 500 @@ -78,7 +78,7 @@ struct intro_text_line } }; -static_assert(sizeof(intro_text_line) == 0x414, "Script.h: error"); +VALIDATE_SIZE(intro_text_line, 0x414); struct script_sphere_struct { @@ -423,14 +423,10 @@ class CRunningScript public: void SetIP(uint32 ip) { m_nIp = ip; } CRunningScript* GetNext() const { return next; } - void BuildFromSaved(const CRunningScript& pSaved) - { - CRunningScript* n = next; - CRunningScript* p = prev; - *this = pSaved; - next = n; - prev = p; - } + + void Save(uint8*& buf); + void Load(uint8*& buf); + void UpdateTimers(float timeStep) { m_anLocalVariables[NUM_LOCAL_VARS] += timeStep; m_anLocalVariables[NUM_LOCAL_VARS + 1] += timeStep; @@ -442,6 +438,8 @@ public: void RemoveScriptFromList(CRunningScript**); void AddScriptToList(CRunningScript**); + static const uint32 nSaveStructSize; + private: void CollectParameters(uint32*, int16); int32 CollectNextParameterWithoutIncreasingPC(uint32); |