summaryrefslogtreecommitdiffstats
path: root/src/animation/CutsceneMgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/animation/CutsceneMgr.h')
-rw-r--r--src/animation/CutsceneMgr.h50
1 files changed, 50 insertions, 0 deletions
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);
+};