From a4d0e47389a7f7e3b59585e7f89fbe9b5af8686a Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 21 Aug 2020 19:40:18 +0200 Subject: [PATCH] - Exhumed: Play sound on Lobotomy logo Fixes #224. --- source/exhumed/src/2d.cpp | 21 ++++++++++++++++++++- source/exhumed/src/sound.cpp | 5 ----- source/exhumed/src/sound.h | 1 - 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/source/exhumed/src/2d.cpp b/source/exhumed/src/2d.cpp index a764ec6a5..60ff6fa4d 100644 --- a/source/exhumed/src/2d.cpp +++ b/source/exhumed/src/2d.cpp @@ -424,6 +424,25 @@ void menu_DoPlasma() // //--------------------------------------------------------------------------- +class DLobotomyScreen : public DImageScreen +{ +public: + DLobotomyScreen(FGameTexture *tex, int fade) : DImageScreen(tex, fade) + {} + + int Frame(uint64_t clock, bool skiprequest) override + { + if (clock == 0) PlayLocalSound(StaticSound[kSoundJonLaugh2], 7000, false, CHANF_UI); + return DImageScreen::Frame(clock, skiprequest); + } +}; + +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + static const short skullDurations[] = { 6, 25, 43, 50, 68, 78, 101, 111, 134, 158, 173, 230, 600 }; class DMainTitle : public DScreenJob @@ -534,7 +553,7 @@ void DoTitle(CompletionFunc completion) int job = 0; jobs[job++] = { Create(tileGetTexture(EXHUMED ? kTileBMGLogo : kTilePIELogo), DScreenJob::fadein | DScreenJob::fadeout) }; - jobs[job++] = { Create(tileGetTexture(seq_GetSeqPicnum(kSeqScreens, 0, 0)), DScreenJob::fadein | DScreenJob::fadeout) }; + jobs[job++] = { Create(tileGetTexture(seq_GetSeqPicnum(kSeqScreens, 0, 0)), DScreenJob::fadein | DScreenJob::fadeout) }; jobs[job++] = { PlayMovie("book.mov") }; jobs[job++] = { Create() }; diff --git a/source/exhumed/src/sound.cpp b/source/exhumed/src/sound.cpp index 844b2ee4a..b3c3e13a1 100644 --- a/source/exhumed/src/sound.cpp +++ b/source/exhumed/src/sound.cpp @@ -727,11 +727,6 @@ void PlayTitleSound(void) PlayLocalSound(StaticSound[kSoundItemSpecial], 0, false, CHANF_UI); } -void PlayLogoSound(void) -{ - PlayLocalSound(StaticSound[kSoundJonLaugh2], 7000, false, CHANF_UI); -} - void PlayGameOverSound(void) { PlayLocalSound(StaticSound[kSoundJonLaugh2], 0, false, CHANF_UI); diff --git a/source/exhumed/src/sound.h b/source/exhumed/src/sound.h index 6bbedfd2e..a5583e362 100644 --- a/source/exhumed/src/sound.h +++ b/source/exhumed/src/sound.h @@ -144,7 +144,6 @@ void StopSpriteSound(short nSprite); void StartSwirlies(); void UpdateSwirlies(); -void PlayLogoSound(void); void PlayTitleSound(void); void PlayGameOverSound(void);