From 8917567508f1c98ba96579fdc0516cd07902c74d Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Fri, 10 Apr 2020 11:23:35 +0300 Subject: Fixing mixed IsCutsceneProcessing and IsRunning --- src/animation/CutsceneMgr.h | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/animation/CutsceneMgr.h (limited to 'src/animation/CutsceneMgr.h') diff --git a/src/animation/CutsceneMgr.h b/src/animation/CutsceneMgr.h new file mode 100644 index 00000000..3c915eea --- /dev/null +++ b/src/animation/CutsceneMgr.h @@ -0,0 +1,50 @@ +#pragma once +#include "CutsceneObject.h" + +#define CUTSCENENAMESIZE 8 + +class CDirectory; +class CAnimBlendAssocGroup; +class CCutsceneHead; + +class CCutsceneMgr +{ + static bool &ms_running; + static CCutsceneObject *(&ms_pCutsceneObjects)[NUMCUTSCENEOBJECTS]; + + static int32 &ms_numCutsceneObjs; + static bool &ms_loaded; + static bool &ms_animLoaded; + static bool &ms_useLodMultiplier; + + static char(&ms_cutsceneName)[CUTSCENENAMESIZE]; + static CAnimBlendAssocGroup &ms_cutsceneAssociations; + static CVector &ms_cutsceneOffset; + static float &ms_cutsceneTimer; + static bool &ms_cutsceneProcessing; +public: + static CDirectory *&ms_pCutsceneDir; + static uint32 &ms_cutsceneLoadStatus; + + static void StartCutsceneProcessing() { ms_cutsceneProcessing = true; } + static bool IsRunning(void) { return ms_running; } + static bool IsCutsceneProcessing(void) { return ms_cutsceneProcessing; } + static bool UseLodMultiplier(void) { return ms_useLodMultiplier; } + static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; } + static int GetCutsceneTimeInMilleseconds(void) { return 1000.0f * ms_cutsceneTimer; } + static char *GetCutsceneName(void) { return ms_cutsceneName; } + static void SetCutsceneOffset(const CVector& vec) { ms_cutsceneOffset = vec; } + static bool HasCutsceneFinished(void); + + static void Initialise(void); + static void Shutdown(void); + static void LoadCutsceneData(const char *szCutsceneName); + static void FinishCutscene(void); + static void SetHeadAnim(const char *animName, CObject *pObject); + static void SetupCutsceneToStart(void); + static void SetCutsceneAnim(const char *animName, CObject *pObject); + static CCutsceneHead *AddCutsceneHead(CObject *pObject, int modelId); + static CCutsceneObject *CreateCutsceneObject(int modelId); + static void DeleteCutsceneData(void); + static void Update(void); +}; -- cgit v1.2.3