Re3/src/core/CutsceneMgr.h

50 lines
1.7 KiB
C
Raw Normal View History

2019-05-31 05:44:43 -04:00
#pragma once
2019-09-11 20:43:18 -04:00
#include "CutsceneObject.h"
2019-05-31 05:44:43 -04:00
#define CUTSCENENAMESIZE 8
class CDirectory;
2019-09-28 10:03:00 -04:00
class CAnimBlendAssocGroup;
class CCutsceneHead;
2019-05-31 05:44:43 -04:00
class CCutsceneMgr
{
2019-06-12 10:52:26 -04:00
static bool &ms_running;
2019-09-11 20:43:18 -04:00
static CCutsceneObject *(&ms_pCutsceneObjects)[NUMCUTSCENEOBJECTS];
2019-06-12 20:35:26 -04:00
2019-09-28 10:03:00 -04:00
static int32 &ms_numCutsceneObjs;
static bool &ms_loaded;
static bool &ms_animLoaded;
static bool &ms_useLodMultiplier;
static char(&ms_cutsceneName)[CUTSCENENAMESIZE];
2019-09-28 10:03:00 -04:00
static CAnimBlendAssocGroup &ms_cutsceneAssociations;
static CVector &ms_cutsceneOffset;
static float &ms_cutsceneTimer;
static bool &ms_cutsceneProcessing;
2019-05-31 05:44:43 -04:00
public:
static CDirectory *&ms_pCutsceneDir;
2019-09-28 10:03:00 -04:00
static uint32 &ms_cutsceneLoadStatus;
2020-02-16 15:08:54 -05:00
static void SetRunning(bool running) { ms_running = running; }
2019-06-12 10:52:26 -04:00
static bool IsRunning(void) { return ms_running; }
2019-05-31 05:44:43 -04:00
static bool IsCutsceneProcessing(void) { return ms_cutsceneProcessing; }
2019-09-11 20:43:18 -04:00
static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; }
2019-09-28 10:31:14 -04:00
static int GetCutsceneTimeInMilleseconds(void) { return 1000.0f * ms_cutsceneTimer; }
2019-09-28 10:03:00 -04:00
static char *GetCutsceneName(void) { return ms_cutsceneName; }
2019-10-21 17:39:59 -04:00
static void SetCutsceneOffset(const CVector& vec) { ms_cutsceneOffset = vec; }
2019-09-28 10:03:00 -04:00
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 05:44:43 -04:00
};