Refactoring

This commit is contained in:
Sergeanur 2019-09-28 17:31:14 +03:00
parent 6362ceeff3
commit 45ead4d0bf
2 changed files with 44 additions and 44 deletions

View File

@ -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);

View File

@ -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);