- Fixed: F_StartFinale shouldn't get the information if the game is about

to end from level.nextmap. For example, this check is wrong for a secret
  exit.

SVN r549 (trunk)
This commit is contained in:
Christoph Oelckers 2007-09-26 21:50:05 +00:00
commit f94d971c06
4 changed files with 16 additions and 7 deletions

View file

@ -71,6 +71,7 @@ static bool FinaleHasPic;
static FString FinaleText;
static size_t FinaleTextLen;
static const char *FinaleFlat;
static bool FinaleEnding;
void F_StartCast (void);
void F_CastTicker (void);
@ -82,9 +83,8 @@ void F_AdvanceSlideshow ();
// F_StartFinale
//
void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid, char *flat, char *text,
INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText)
INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending)
{
bool ending = strncmp (level.nextmap, "enDSeQ", 6) == 0;
bool loopmusic = ending ? !(gameinfo.flags & GI_NOLOOPFINALEMUSIC) : true;
gameaction = ga_nothing;
gamestate = GS_FINALE;
@ -140,6 +140,7 @@ void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid,
FinaleCount = 0;
FinaleEndCount = 70;
FadeDir = -1;
FinaleEnding = ending;
S_StopAllChannels ();
if (ending)
@ -233,7 +234,7 @@ void F_Ticker ()
}
else
{
if (strncmp (level.nextmap, "enDSeQ", 6) == 0)
if (FinaleEnding)
{
// [RH] Don't automatically advance end-of-game messages
if (interrupt)