2019-05-31 11:44:43 +02:00
|
|
|
#pragma once
|
2019-09-12 02:43:18 +02:00
|
|
|
#include "CutsceneObject.h"
|
2019-05-31 11:44:43 +02:00
|
|
|
|
2019-06-12 20:07:37 +02:00
|
|
|
class CDirectory;
|
2019-09-28 16:03:00 +02:00
|
|
|
class CAnimBlendAssocGroup;
|
|
|
|
class CCutsceneHead;
|
2019-06-12 20:07:37 +02:00
|
|
|
|
2019-05-31 11:44:43 +02:00
|
|
|
class CCutsceneMgr
|
|
|
|
{
|
2019-06-12 16:52:26 +02:00
|
|
|
static bool &ms_running;
|
2019-05-31 11:44:43 +02:00
|
|
|
static bool &ms_cutsceneProcessing;
|
2019-09-12 02:43:18 +02:00
|
|
|
static CCutsceneObject *(&ms_pCutsceneObjects)[NUMCUTSCENEOBJECTS];
|
2019-06-13 02:35:26 +02:00
|
|
|
|
2019-09-28 16:03:00 +02:00
|
|
|
static int32 &ms_numCutsceneObjs;
|
|
|
|
static bool &ms_loaded;
|
|
|
|
static bool &ms_animLoaded;
|
|
|
|
static bool &ms_useLodMultiplier;
|
|
|
|
|
|
|
|
static char(&ms_cutsceneName)[8];
|
|
|
|
static CAnimBlendAssocGroup &ms_cutsceneAssociations;
|
|
|
|
static CVector &ms_cutsceneOffset;
|
|
|
|
static float &ms_cutsceneTimer;
|
2019-05-31 11:44:43 +02:00
|
|
|
public:
|
2019-06-12 20:07:37 +02:00
|
|
|
static CDirectory *&ms_pCutsceneDir;
|
2019-09-28 16:03:00 +02:00
|
|
|
static uint32 &ms_cutsceneLoadStatus;
|
2019-06-12 20:07:37 +02:00
|
|
|
|
2019-06-12 16:52:26 +02:00
|
|
|
static bool IsRunning(void) { return ms_running; }
|
2019-05-31 11:44:43 +02:00
|
|
|
static bool IsCutsceneProcessing(void) { return ms_cutsceneProcessing; }
|
2019-09-12 02:43:18 +02:00
|
|
|
static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; }
|
2019-09-28 16:03:00 +02:00
|
|
|
static int GetCutsceneTimeInMilleseconds() { return 1000.0f * ms_cutsceneTimer; }
|
|
|
|
static char *GetCutsceneName(void) { return ms_cutsceneName; }
|
|
|
|
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);
|
2019-05-31 11:44:43 +02:00
|
|
|
};
|