Allow more options for when the titlecard shows up
This commit is contained in:
parent
7805828c4a
commit
fed8167a81
|
@ -1831,6 +1831,24 @@ static void readlevelheader(MYFILE *f, INT32 num)
|
||||||
else
|
else
|
||||||
mapheaderinfo[num-1]->levelflags &= ~LF_NOTITLECARD;
|
mapheaderinfo[num-1]->levelflags &= ~LF_NOTITLECARD;
|
||||||
}
|
}
|
||||||
|
else if (fastcmp(word, "SHOWTITLECARDFOR"))
|
||||||
|
{
|
||||||
|
mapheaderinfo[num-1]->levelflags |= LF_NOTITLECARD;
|
||||||
|
tmp = strtok(word2,",");
|
||||||
|
do {
|
||||||
|
if (fastcmp(tmp, "FIRST"))
|
||||||
|
mapheaderinfo[num-1]->levelflags &= ~LF_NOTITLECARDFIRST;
|
||||||
|
else if (fastcmp(tmp, "RESPAWN"))
|
||||||
|
mapheaderinfo[num-1]->levelflags &= ~LF_NOTITLECARDRESPAWN;
|
||||||
|
else if (fastcmp(tmp, "RECORDATTACK"))
|
||||||
|
mapheaderinfo[num-1]->levelflags &= ~LF_NOTITLECARDRECORDATTACK;
|
||||||
|
else if (fastcmp(tmp, "ALL"))
|
||||||
|
mapheaderinfo[num-1]->levelflags &= ~LF_NOTITLECARD;
|
||||||
|
else
|
||||||
|
deh_warning("Level header %d: unknown titlecard show option %s\n", num, tmp);
|
||||||
|
|
||||||
|
} while((tmp = strtok(NULL,",")) != NULL);
|
||||||
|
}
|
||||||
|
|
||||||
// Individual triggers for menu flags
|
// Individual triggers for menu flags
|
||||||
else if (fastcmp(word, "HIDDEN"))
|
else if (fastcmp(word, "HIDDEN"))
|
||||||
|
@ -9372,6 +9390,9 @@ struct {
|
||||||
{"LF_NOZONE",LF_NOZONE},
|
{"LF_NOZONE",LF_NOZONE},
|
||||||
{"LF_SAVEGAME",LF_SAVEGAME},
|
{"LF_SAVEGAME",LF_SAVEGAME},
|
||||||
{"LF_MIXNIGHTSCOUNTDOWN",LF_MIXNIGHTSCOUNTDOWN},
|
{"LF_MIXNIGHTSCOUNTDOWN",LF_MIXNIGHTSCOUNTDOWN},
|
||||||
|
{"LF_NOTITLECARDFIRST",LF_NOTITLECARDFIRST},
|
||||||
|
{"LF_NOTITLECARDRESPAWN",LF_NOTITLECARDRESPAWN},
|
||||||
|
{"LF_NOTITLECARDRECORDATTACK",LF_NOTITLECARDRECORDATTACK},
|
||||||
{"LF_NOTITLECARD",LF_NOTITLECARD},
|
{"LF_NOTITLECARD",LF_NOTITLECARD},
|
||||||
{"LF_WARNINGTITLE",LF_WARNINGTITLE},
|
{"LF_WARNINGTITLE",LF_WARNINGTITLE},
|
||||||
// And map flags
|
// And map flags
|
||||||
|
|
|
@ -351,15 +351,19 @@ typedef struct
|
||||||
} mapheader_t;
|
} mapheader_t;
|
||||||
|
|
||||||
// level flags
|
// level flags
|
||||||
#define LF_SCRIPTISFILE 1 ///< True if the script is a file, not a lump.
|
#define LF_SCRIPTISFILE 1<<0 ///< True if the script is a file, not a lump.
|
||||||
#define LF_SPEEDMUSIC 2 ///< Speed up act music for super sneakers
|
#define LF_SPEEDMUSIC 1<<1 ///< Speed up act music for super sneakers
|
||||||
#define LF_NOSSMUSIC 4 ///< Disable Super Sonic music
|
#define LF_NOSSMUSIC 1<<2 ///< Disable Super Sonic music
|
||||||
#define LF_NORELOAD 8 ///< Don't reload level on death
|
#define LF_NORELOAD 1<<3 ///< Don't reload level on death
|
||||||
#define LF_NOZONE 16 ///< Don't include "ZONE" on level title
|
#define LF_NOZONE 1<<4 ///< Don't include "ZONE" on level title
|
||||||
#define LF_SAVEGAME 32 ///< Save the game upon loading this level
|
#define LF_SAVEGAME 1<<5 ///< Save the game upon loading this level
|
||||||
#define LF_MIXNIGHTSCOUNTDOWN 64 ///< Play sfx_timeup instead of music change for NiGHTS countdown
|
#define LF_MIXNIGHTSCOUNTDOWN 1<<6 ///< Play sfx_timeup instead of music change for NiGHTS countdown
|
||||||
#define LF_WARNINGTITLE 128 ///< WARNING! WARNING! WARNING! WARNING!
|
#define LF_WARNINGTITLE 1<<7 ///< WARNING! WARNING! WARNING! WARNING!
|
||||||
#define LF_NOTITLECARD 256 ///< Don't start the title card
|
|
||||||
|
#define LF_NOTITLECARDFIRST 1<<8
|
||||||
|
#define LF_NOTITLECARDRESPAWN 1<<9
|
||||||
|
#define LF_NOTITLECARDRECORDATTACK 1<<10
|
||||||
|
#define LF_NOTITLECARD (LF_NOTITLECARDFIRST|LF_NOTITLECARDRESPAWN|LF_NOTITLECARDRECORDATTACK) ///< Don't start the title card at all
|
||||||
|
|
||||||
#define LF2_HIDEINMENU 1 ///< Hide in the multiplayer menu
|
#define LF2_HIDEINMENU 1 ///< Hide in the multiplayer menu
|
||||||
#define LF2_HIDEINSTATS 2 ///< Hide in the statistics screen
|
#define LF2_HIDEINSTATS 2 ///< Hide in the statistics screen
|
||||||
|
|
|
@ -192,8 +192,7 @@ void F_WipeStageTitle(void)
|
||||||
// draw level title
|
// draw level title
|
||||||
if ((WipeStageTitle && st_overlay)
|
if ((WipeStageTitle && st_overlay)
|
||||||
&& (wipestyle == WIPESTYLE_COLORMAP)
|
&& (wipestyle == WIPESTYLE_COLORMAP)
|
||||||
&& !(mapheaderinfo[gamemap-1]->levelflags & LF_NOTITLECARD)
|
&& G_IsTitleCardAvailable())
|
||||||
&& *mapheaderinfo[gamemap-1]->lvlttl != '\0')
|
|
||||||
{
|
{
|
||||||
ST_runTitleCard();
|
ST_runTitleCard();
|
||||||
ST_drawWipeTitleCard();
|
ST_drawWipeTitleCard();
|
||||||
|
|
13
src/g_game.c
13
src/g_game.c
|
@ -1928,13 +1928,22 @@ void G_PreLevelTitleCard(void)
|
||||||
wipestyleflags = WSF_CROSSFADE;
|
wipestyleflags = WSF_CROSSFADE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static boolean titlecardforreload = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Returns true if the current level has a title card.
|
// Returns true if the current level has a title card.
|
||||||
//
|
//
|
||||||
boolean G_IsTitleCardAvailable(void)
|
boolean G_IsTitleCardAvailable(void)
|
||||||
{
|
{
|
||||||
// The current level header explicitly disabled the title card.
|
// The current level header explicitly disabled the title card.
|
||||||
if (mapheaderinfo[gamemap-1]->levelflags & LF_NOTITLECARD)
|
UINT16 titleflag = LF_NOTITLECARDFIRST;
|
||||||
|
|
||||||
|
if (modeattacking)
|
||||||
|
titleflag = LF_NOTITLECARDRECORDATTACK;
|
||||||
|
else if (titlecardforreload)
|
||||||
|
titleflag = LF_NOTITLECARDRESPAWN;
|
||||||
|
|
||||||
|
if (mapheaderinfo[gamemap-1]->levelflags & titleflag)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// The current gametype doesn't have a title card.
|
// The current gametype doesn't have a title card.
|
||||||
|
@ -3024,7 +3033,9 @@ void G_DoReborn(INT32 playernum)
|
||||||
#ifdef HAVE_BLUA
|
#ifdef HAVE_BLUA
|
||||||
LUAh_MapChange(gamemap);
|
LUAh_MapChange(gamemap);
|
||||||
#endif
|
#endif
|
||||||
|
titlecardforreload = true;
|
||||||
G_DoLoadLevel(true);
|
G_DoLoadLevel(true);
|
||||||
|
titlecardforreload = false;
|
||||||
if (metalrecording)
|
if (metalrecording)
|
||||||
G_BeginMetal();
|
G_BeginMetal();
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue