mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-13 07:57:52 +00:00
- 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:
parent
7539d5ad70
commit
f94d971c06
4 changed files with 16 additions and 7 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
September 26, 2007 (Changes by Graf Zahl)
|
||||||
|
- 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.
|
||||||
|
|
||||||
September 25, 2007 (Changes by Graf Zahl)
|
September 25, 2007 (Changes by Graf Zahl)
|
||||||
- Fixed: AActor::CopyFriendliness must not copy the target if it has the
|
- Fixed: AActor::CopyFriendliness must not copy the target if it has the
|
||||||
MF3_NOTARGET flag set.
|
MF3_NOTARGET flag set.
|
||||||
|
|
|
@ -71,6 +71,7 @@ static bool FinaleHasPic;
|
||||||
static FString FinaleText;
|
static FString FinaleText;
|
||||||
static size_t FinaleTextLen;
|
static size_t FinaleTextLen;
|
||||||
static const char *FinaleFlat;
|
static const char *FinaleFlat;
|
||||||
|
static bool FinaleEnding;
|
||||||
|
|
||||||
void F_StartCast (void);
|
void F_StartCast (void);
|
||||||
void F_CastTicker (void);
|
void F_CastTicker (void);
|
||||||
|
@ -82,9 +83,8 @@ void F_AdvanceSlideshow ();
|
||||||
// F_StartFinale
|
// F_StartFinale
|
||||||
//
|
//
|
||||||
void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid, char *flat, char *text,
|
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;
|
bool loopmusic = ending ? !(gameinfo.flags & GI_NOLOOPFINALEMUSIC) : true;
|
||||||
gameaction = ga_nothing;
|
gameaction = ga_nothing;
|
||||||
gamestate = GS_FINALE;
|
gamestate = GS_FINALE;
|
||||||
|
@ -140,6 +140,7 @@ void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid,
|
||||||
FinaleCount = 0;
|
FinaleCount = 0;
|
||||||
FinaleEndCount = 70;
|
FinaleEndCount = 70;
|
||||||
FadeDir = -1;
|
FadeDir = -1;
|
||||||
|
FinaleEnding = ending;
|
||||||
S_StopAllChannels ();
|
S_StopAllChannels ();
|
||||||
|
|
||||||
if (ending)
|
if (ending)
|
||||||
|
@ -233,7 +234,7 @@ void F_Ticker ()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (strncmp (level.nextmap, "enDSeQ", 6) == 0)
|
if (FinaleEnding)
|
||||||
{
|
{
|
||||||
// [RH] Don't automatically advance end-of-game messages
|
// [RH] Don't automatically advance end-of-game messages
|
||||||
if (interrupt)
|
if (interrupt)
|
||||||
|
|
|
@ -40,7 +40,7 @@ void F_Drawer ();
|
||||||
|
|
||||||
|
|
||||||
void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid, char *flat, char *text,
|
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);
|
||||||
|
|
||||||
void F_StartSlideshow ();
|
void F_StartSlideshow ();
|
||||||
|
|
||||||
|
|
|
@ -2042,7 +2042,8 @@ void G_WorldDone (void)
|
||||||
thiscluster->finaleflat, thiscluster->exittext,
|
thiscluster->finaleflat, thiscluster->exittext,
|
||||||
thiscluster->flags & CLUSTER_EXITTEXTINLUMP,
|
thiscluster->flags & CLUSTER_EXITTEXTINLUMP,
|
||||||
thiscluster->flags & CLUSTER_FINALEPIC,
|
thiscluster->flags & CLUSTER_FINALEPIC,
|
||||||
thiscluster->flags & CLUSTER_LOOKUPEXITTEXT);
|
thiscluster->flags & CLUSTER_LOOKUPEXITTEXT,
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2059,7 +2060,8 @@ void G_WorldDone (void)
|
||||||
nextcluster->finaleflat, nextcluster->entertext,
|
nextcluster->finaleflat, nextcluster->entertext,
|
||||||
nextcluster->flags & CLUSTER_ENTERTEXTINLUMP,
|
nextcluster->flags & CLUSTER_ENTERTEXTINLUMP,
|
||||||
nextcluster->flags & CLUSTER_FINALEPIC,
|
nextcluster->flags & CLUSTER_FINALEPIC,
|
||||||
nextcluster->flags & CLUSTER_LOOKUPENTERTEXT);
|
nextcluster->flags & CLUSTER_LOOKUPENTERTEXT,
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
else if (thiscluster->exittext)
|
else if (thiscluster->exittext)
|
||||||
{
|
{
|
||||||
|
@ -2068,7 +2070,8 @@ void G_WorldDone (void)
|
||||||
thiscluster->finaleflat, thiscluster->exittext,
|
thiscluster->finaleflat, thiscluster->exittext,
|
||||||
thiscluster->flags & CLUSTER_EXITTEXTINLUMP,
|
thiscluster->flags & CLUSTER_EXITTEXTINLUMP,
|
||||||
thiscluster->flags & CLUSTER_FINALEPIC,
|
thiscluster->flags & CLUSTER_FINALEPIC,
|
||||||
thiscluster->flags & CLUSTER_LOOKUPEXITTEXT);
|
thiscluster->flags & CLUSTER_LOOKUPEXITTEXT,
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue