- fixed starting of bonus screen music.

It must not be done in the constructor of the screen but when actually playing the first frame.
This commit is contained in:
Christoph Oelckers 2020-08-05 16:58:43 +02:00
parent 4fef66c78a
commit 4a0e155637
2 changed files with 5 additions and 4 deletions

View file

@ -651,11 +651,12 @@ public:
DDukeMultiplayerBonusScreen(int pws) : DScreenJob(fadein|fadeout)
{
playerswhenstarted = pws;
S_PlayBonusMusic();
}
int Frame(uint64_t clock, bool skiprequest)
{
if (clock == 0) S_PlayBonusMusic();
char tempbuf[32];
int totalclock = int(clock * 120 / 1'000'000'000);
twod->ClearScreen();
@ -759,7 +760,6 @@ public:
int vol = volfromlevelnum(currentLevel->levelNumber);
gfx_offset = BONUSSCREEN + ((vol == 1) ? 5 : 0);
lastmapname = currentLevel->DisplayName();
S_PlayBonusMusic();
}
void FormatTime(int time, char* tempbuf)
@ -860,6 +860,7 @@ public:
int Frame(uint64_t clock, bool skiprequest)
{
if (clock == 0) S_PlayBonusMusic();
twod->ClearScreen();
int totalclock = int(clock * 120 / 1'000'000'000);
DrawTexture(twod, tileGetTexture(gfx_offset, true), 0, 0, DTA_FullscreenEx, 3, DTA_LegacyRenderStyle, STYLE_Normal, TAG_DONE);

View file

@ -258,11 +258,11 @@ public:
DRRMultiplayerBonusScreen(int pws) : DScreenJob(fadein | fadeout)
{
playerswhenstarted = pws;
S_PlayBonusMusic();
}
int Frame(uint64_t clock, bool skiprequest)
{
if (clock == 0) S_PlayBonusMusic();
char tempbuf[32];
twod->ClearScreen();
DrawTexture(twod, tileGetTexture(MENUSCREEN), 0, 0, DTA_FullscreenEx, 3, DTA_Color, 0xff808080, DTA_LegacyRenderStyle, STYLE_Normal, TAG_DONE);
@ -362,7 +362,6 @@ class DRRLevelSummaryScreen : public DScreenJob
public:
DRRLevelSummaryScreen(bool dofadeout = true) : DScreenJob(dofadeout? (fadein | fadeout) : fadein)
{
S_PlayBonusMusic();
if (currentLevel->flags & MI_USERMAP)
gfx_offset = RRTILE403;
else if (!isRRRA())
@ -468,6 +467,7 @@ public:
int Frame(uint64_t clock, bool skiprequest)
{
if (clock == 0) S_PlayBonusMusic();
twod->ClearScreen();
int totalclock = int(clock * 120 / 1'000'000'000);
DrawTexture(twod, tileGetTexture(gfx_offset, true), 0, 0, DTA_FullscreenEx, 3, DTA_LegacyRenderStyle, STYLE_Normal, TAG_DONE);