From a30933871e85e186ce1e7cbc0f65573ffa6bd363 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 5 Aug 2020 22:36:06 +0200 Subject: [PATCH] - fixed most end of game cutscenes. --- source/games/duke/src/2d_d.cpp | 11 ++++++----- source/games/duke/src/gameexec.cpp | 7 +++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/source/games/duke/src/2d_d.cpp b/source/games/duke/src/2d_d.cpp index 8061e3080..87a68b278 100644 --- a/source/games/duke/src/2d_d.cpp +++ b/source/games/duke/src/2d_d.cpp @@ -385,7 +385,7 @@ public: } public: - DEpisode3End() : DImageScreen(getTexture(), fadein|fadeout) + DEpisode3End() : DImageScreen(getTexture(), fadein|fadeout, 0x7fffffff) { } @@ -582,16 +582,16 @@ static void bonussequence_d(int num, JobDesc *jobs, int &job) { case 0: jobs[job++] = { Create(), nullptr }; - jobs[job++] = { Create(E1ENDSCREEN), nullptr }; + jobs[job++] = { Create(E1ENDSCREEN, DScreenJob::fadein|DScreenJob::fadeout, 0x7fffffff), nullptr }; break; case 1: jobs[job++] = { PlayVideo("cineov2.anm", cineov2sound, framespeed_18), []() { S_PlaySound(PIPEBOMB_EXPLODE, CHAN_AUTO, CHANF_UI); } }; - jobs[job++] = { Create(E2ENDSCREEN), []() { FX_StopAllSounds(); } }; + jobs[job++] = { Create(E2ENDSCREEN, DScreenJob::fadein | DScreenJob::fadeout, 0x7fffffff), []() { FX_StopAllSounds(); } }; break; case 2: - jobs[job++] = { PlayVideo("cineov3.anm", cineov3sound, framespeed_10), nullptr }; + jobs[job++] = { PlayVideo("radlogo.anm", cineov3sound, framespeed_10), nullptr }; jobs[job++] = { Create(200), []() { FX_StopAllSounds(); } }; jobs[job++] = { Create(), []() { if (!PLUTOPAK) S_PlaySound(ENDSEQVOL3SND4, CHAN_AUTO, CHANF_UI); } }; if (!PLUTOPAK) jobs[job++] = { Create(TexMan.GetGameTextureByName("DUKETEAM.ANM", false, FTextureManager::TEXMAN_ForceLookup)), []() { FX_StopAllSounds(); } }; @@ -602,7 +602,8 @@ static void bonussequence_d(int num, JobDesc *jobs, int &job) jobs[job++] = { PlayVideo("vol4e2.anm", vol4e2, framespeed_10), nullptr }; jobs[job++] = { PlayVideo("vol4e3.anm", vol4e3, framespeed_10), []() { S_PlaySound(ENDSEQVOL3SND4, CHAN_AUTO, CHANF_UI); } }; jobs[job++] = { Create(), nullptr }; - jobs[job++] = { Create(TexMan.GetGameTextureByName("DUKETEAM.ANM", false, FTextureManager::TEXMAN_ForceLookup)), []() { FX_StopAllSounds(); } }; + jobs[job++] = { Create(TexMan.GetGameTextureByName("DUKETEAM.ANM", false, FTextureManager::TEXMAN_ForceLookup), + DScreenJob::fadein | DScreenJob::fadeout, 0x7fffffff), []() { FX_StopAllSounds(); } }; break; case 4: diff --git a/source/games/duke/src/gameexec.cpp b/source/games/duke/src/gameexec.cpp index ba20fcf09..49c45dd84 100644 --- a/source/games/duke/src/gameexec.cpp +++ b/source/games/duke/src/gameexec.cpp @@ -1736,5 +1736,12 @@ void OnEvent(int iEventID, int p, int i, int x) while (done == 0); } +CCMD(endofgame) +{ + ps[0].timebeforeexit = 120; + ps[0].customexitsound = -1; + ud.eog = 1; + +} END_DUKE_NS