From a4e6930bb629dadfcfddd7b730b1542827574c1e Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sun, 7 Jul 2019 20:57:00 +0300 Subject: More scripts --- src/control/Script.h | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/control/Script.h') diff --git a/src/control/Script.h b/src/control/Script.h index 5759cf82..392f4b40 100644 --- a/src/control/Script.h +++ b/src/control/Script.h @@ -8,8 +8,8 @@ struct CScriptRectangle { - bool m_bIsUsed; - bool m_bIsAntialiased; + int8 m_Type; + bool m_bBeforeFade; int16 m_nTextureId; CRect m_sRect; CRGBA m_sColor; @@ -40,6 +40,8 @@ struct CTextLine float m_fAtX; float m_fAtY; wchar m_Text[SCRIPT_TEXT_MAX_LENGTH]; + + void Reset(); }; static_assert(sizeof(CTextLine) == 0x414, "Script.h: error"); @@ -79,6 +81,13 @@ class CRunningScript bool m_bMissionFlag; public: + void SetIP(uint32 ip) { m_nIp = ip; } + CRunningScript* GetNext() { return next; } + void UpdateTimers(float timeStep){ + m_anLocalVariables[NUM_LOCAL_VARS] += timeStep; + m_anLocalVariables[NUM_LOCAL_VARS + 1] += timeStep; + } + void CollectParameters(uint32*, int16); int32 CollectNextParameterWithoutIncreasingPC(uint32); int32* GetPointerToScriptVariable(uint32*, int16); @@ -86,6 +95,7 @@ public: void Init(); void RemoveScriptFromList(CRunningScript**); void AddScriptToList(CRunningScript**); + void Process(); }; enum { @@ -264,17 +274,23 @@ public: static uint16 &NumberOfIntroRectanglesThisFrame; static uint16 &NumberOfIntroTextLinesThisFrame; static bool &UseTextCommands; + static uint16 &CommandsExecuted; + static uint16 &ScriptsUpdated; public: - static bool IsPlayerOnAMission(); static void ScriptDebugLine3D(float x1, float y1, float z1, float x2, float y2, float z2, int col, int col2); static void CleanUpThisVehicle(CVehicle*); static void CleanUpThisPed(CPed*); static void CleanUpThisObject(CObject*); static void Init(); + static CRunningScript* StartNewScript(uint32); + static void Process(); + static CRunningScript* StartTestScript(); + static bool IsPlayerOnAMission(); static void ReadObjectNamesFromScript(); static void UpdateObjectIndices(); static void ReadMultiScriptFileOffsetsFromScript(); + static void DrawScriptSpheres(); static int32 Read4BytesFromScript(uint32* pIp){ int32 retval = 0; -- cgit v1.2.3