Refactoring
This commit is contained in:
parent
6362ceeff3
commit
45ead4d0bf
@ -329,41 +329,41 @@ CCutsceneMgr::CreateCutsceneObject(int modelId)
|
|||||||
void
|
void
|
||||||
CCutsceneMgr::DeleteCutsceneData(void)
|
CCutsceneMgr::DeleteCutsceneData(void)
|
||||||
{
|
{
|
||||||
if (ms_loaded) {
|
if (!ms_loaded) return;
|
||||||
ms_cutsceneProcessing = false;
|
|
||||||
ms_useLodMultiplier = false;
|
|
||||||
|
|
||||||
for (--ms_numCutsceneObjs; ms_numCutsceneObjs >= 0; ms_numCutsceneObjs--) {
|
ms_cutsceneProcessing = false;
|
||||||
CWorld::Remove(ms_pCutsceneObjects[ms_numCutsceneObjs]);
|
ms_useLodMultiplier = false;
|
||||||
ms_pCutsceneObjects[ms_numCutsceneObjs]->DeleteRwObject();
|
|
||||||
if (ms_pCutsceneObjects[ms_numCutsceneObjs])
|
|
||||||
delete ms_pCutsceneObjects[ms_numCutsceneObjs];
|
|
||||||
}
|
|
||||||
ms_numCutsceneObjs = 0;
|
|
||||||
|
|
||||||
if (ms_animLoaded)
|
for (--ms_numCutsceneObjs; ms_numCutsceneObjs >= 0; ms_numCutsceneObjs--) {
|
||||||
CAnimManager::RemoveLastAnimFile();
|
CWorld::Remove(ms_pCutsceneObjects[ms_numCutsceneObjs]);
|
||||||
|
ms_pCutsceneObjects[ms_numCutsceneObjs]->DeleteRwObject();
|
||||||
ms_animLoaded = false;
|
if (ms_pCutsceneObjects[ms_numCutsceneObjs])
|
||||||
TheCamera.RestoreWithJumpCut();
|
delete ms_pCutsceneObjects[ms_numCutsceneObjs];
|
||||||
TheCamera.SetWideScreenOff();
|
|
||||||
ms_running = false;
|
|
||||||
ms_loaded = false;
|
|
||||||
|
|
||||||
FindPlayerPed()->bIsVisible = true;
|
|
||||||
CPad::GetPad(0)->DisablePlayerControls &= ~PLAYERCONTROL_DISABLED_80;
|
|
||||||
CWorld::Players[CWorld::PlayerInFocus].MakePlayerSafe(false);
|
|
||||||
|
|
||||||
if (strcmpi(ms_cutsceneName, "end")) {
|
|
||||||
DMAudio.StopCutSceneMusic();
|
|
||||||
if (strcmpi(ms_cutsceneName, "bet"))
|
|
||||||
DMAudio.ChangeMusicMode(1);
|
|
||||||
}
|
|
||||||
CTimer::Stop();
|
|
||||||
//TheCamera.GetScreenFadeStatus() == 2; // what for??
|
|
||||||
CGame::DrasticTidyUpMemory();
|
|
||||||
CTimer::Update();
|
|
||||||
}
|
}
|
||||||
|
ms_numCutsceneObjs = 0;
|
||||||
|
|
||||||
|
if (ms_animLoaded)
|
||||||
|
CAnimManager::RemoveLastAnimFile();
|
||||||
|
|
||||||
|
ms_animLoaded = false;
|
||||||
|
TheCamera.RestoreWithJumpCut();
|
||||||
|
TheCamera.SetWideScreenOff();
|
||||||
|
ms_running = false;
|
||||||
|
ms_loaded = false;
|
||||||
|
|
||||||
|
FindPlayerPed()->bIsVisible = true;
|
||||||
|
CPad::GetPad(0)->DisablePlayerControls &= ~PLAYERCONTROL_DISABLED_80;
|
||||||
|
CWorld::Players[CWorld::PlayerInFocus].MakePlayerSafe(false);
|
||||||
|
|
||||||
|
if (strcmpi(ms_cutsceneName, "end")) {
|
||||||
|
DMAudio.StopCutSceneMusic();
|
||||||
|
if (strcmpi(ms_cutsceneName, "bet"))
|
||||||
|
DMAudio.ChangeMusicMode(1);
|
||||||
|
}
|
||||||
|
CTimer::Stop();
|
||||||
|
//TheCamera.GetScreenFadeStatus() == 2; // what for??
|
||||||
|
CGame::DrasticTidyUpMemory();
|
||||||
|
CTimer::Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -395,20 +395,20 @@ CCutsceneMgr::Update(void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ms_running) {
|
if (!ms_running) return;
|
||||||
ms_cutsceneTimer += CTimer::GetTimeStepNonClipped() * 0.02;
|
|
||||||
if (strcmpi(ms_cutsceneName, "end") && TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_FLYBY && ms_cutsceneLoadStatus == CUTSCENE_LOADING_0) {
|
ms_cutsceneTimer += CTimer::GetTimeStepNonClipped() * 0.02;
|
||||||
if (CPad::GetPad(0)->GetCrossJustDown()
|
if (strcmpi(ms_cutsceneName, "end") && TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_FLYBY && ms_cutsceneLoadStatus == CUTSCENE_LOADING_0) {
|
||||||
|| (CGame::playingIntro && CPad::GetPad(0)->GetStartJustDown())
|
if (CPad::GetPad(0)->GetCrossJustDown()
|
||||||
|| CPad::GetPad(0)->GetLeftMouseJustDown()
|
|| (CGame::playingIntro && CPad::GetPad(0)->GetStartJustDown())
|
||||||
|| CPad::GetPad(0)->GetPadEnterJustDown() || CPad::GetPad(0)->GetEnterJustDown() // NOTE: In original code it's a single CPad method
|
|| CPad::GetPad(0)->GetLeftMouseJustDown()
|
||||||
|| CPad::GetPad(0)->GetCharJustDown(VK_SPACE))
|
|| CPad::GetPad(0)->GetPadEnterJustDown() || CPad::GetPad(0)->GetEnterJustDown() // NOTE: In original code it's a single CPad method
|
||||||
FinishCutscene();
|
|| CPad::GetPad(0)->GetCharJustDown(VK_SPACE))
|
||||||
}
|
FinishCutscene();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CCutsceneMgr::HasCutsceneFinished() { return TheCamera.GetPositionAlongSpline() == 1.0; }
|
bool CCutsceneMgr::HasCutsceneFinished(void) { return TheCamera.GetPositionAlongSpline() == 1.0; }
|
||||||
|
|
||||||
STARTPATCHES
|
STARTPATCHES
|
||||||
InjectHook(0x4045D0, &CCutsceneMgr::Initialise, PATCH_JUMP);
|
InjectHook(0x4045D0, &CCutsceneMgr::Initialise, PATCH_JUMP);
|
||||||
|
@ -27,7 +27,7 @@ public:
|
|||||||
static bool IsRunning(void) { return ms_running; }
|
static bool IsRunning(void) { return ms_running; }
|
||||||
static bool IsCutsceneProcessing(void) { return ms_cutsceneProcessing; }
|
static bool IsCutsceneProcessing(void) { return ms_cutsceneProcessing; }
|
||||||
static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; }
|
static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; }
|
||||||
static int GetCutsceneTimeInMilleseconds() { return 1000.0f * ms_cutsceneTimer; }
|
static int GetCutsceneTimeInMilleseconds(void) { return 1000.0f * ms_cutsceneTimer; }
|
||||||
static char *GetCutsceneName(void) { return ms_cutsceneName; }
|
static char *GetCutsceneName(void) { return ms_cutsceneName; }
|
||||||
static bool HasCutsceneFinished(void);
|
static bool HasCutsceneFinished(void);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user