mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-17 18:21:10 +00:00
Added reset for titlemap (and other title attribute) changes so that the title screen never ends up being some half-formed hybrid
Also because I could I added it for intro changes too
This commit is contained in:
parent
ba4275c415
commit
b864e45487
2 changed files with 26 additions and 1 deletions
|
@ -683,6 +683,9 @@ void D_AdvanceDemo(void)
|
||||||
void D_StartTitle(void)
|
void D_StartTitle(void)
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
|
|
||||||
|
S_StopMusic();
|
||||||
|
|
||||||
if (netgame)
|
if (netgame)
|
||||||
{
|
{
|
||||||
if (gametype == GT_COOP)
|
if (gametype == GT_COOP)
|
||||||
|
|
|
@ -77,6 +77,8 @@ boolean deh_loaded = false;
|
||||||
static int dbg_line;
|
static int dbg_line;
|
||||||
|
|
||||||
static boolean gamedataadded = false;
|
static boolean gamedataadded = false;
|
||||||
|
static boolean titlechanged = false;
|
||||||
|
static boolean introchanged = false;
|
||||||
|
|
||||||
#ifdef DELFILE
|
#ifdef DELFILE
|
||||||
typedef struct undehacked_s
|
typedef struct undehacked_s
|
||||||
|
@ -3137,11 +3139,13 @@ static void readmaincfg(MYFILE *f)
|
||||||
// range check, you morons.
|
// range check, you morons.
|
||||||
if (introtoplay > 128)
|
if (introtoplay > 128)
|
||||||
introtoplay = 128;
|
introtoplay = 128;
|
||||||
|
introchanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "LOOPTITLE"))
|
else if (fastcmp(word, "LOOPTITLE"))
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, va("%d", looptitle), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", looptitle), UNDO_NONE);
|
||||||
looptitle = (boolean)(value || word2[0] == 'T' || word2[0] == 'Y');
|
looptitle = (boolean)(value || word2[0] == 'T' || word2[0] == 'Y');
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "TITLEMAP"))
|
else if (fastcmp(word, "TITLEMAP"))
|
||||||
{
|
{
|
||||||
|
@ -3156,16 +3160,19 @@ static void readmaincfg(MYFILE *f)
|
||||||
|
|
||||||
DEH_WriteUndoline(word, va("%d", titlemap), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", titlemap), UNDO_NONE);
|
||||||
titlemap = (INT16)value;
|
titlemap = (INT16)value;
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "HIDETITLEPICS"))
|
else if (fastcmp(word, "HIDETITLEPICS"))
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, va("%d", hidetitlepics), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", hidetitlepics), UNDO_NONE);
|
||||||
hidetitlepics = (boolean)(value || word2[0] == 'T' || word2[0] == 'Y');
|
hidetitlepics = (boolean)(value || word2[0] == 'T' || word2[0] == 'Y');
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "TITLESCROLLSPEED"))
|
else if (fastcmp(word, "TITLESCROLLSPEED"))
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, va("%d", titlescrollspeed), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", titlescrollspeed), UNDO_NONE);
|
||||||
titlescrollspeed = get_number(word2);
|
titlescrollspeed = get_number(word2);
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "CREDITSCUTSCENE"))
|
else if (fastcmp(word, "CREDITSCUTSCENE"))
|
||||||
{
|
{
|
||||||
|
@ -3184,16 +3191,19 @@ static void readmaincfg(MYFILE *f)
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, va("%d", numDemos), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", numDemos), UNDO_NONE);
|
||||||
numDemos = (UINT8)get_number(word2);
|
numDemos = (UINT8)get_number(word2);
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "DEMODELAYTIME"))
|
else if (fastcmp(word, "DEMODELAYTIME"))
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, va("%d", demoDelayTime), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", demoDelayTime), UNDO_NONE);
|
||||||
demoDelayTime = get_number(word2);
|
demoDelayTime = get_number(word2);
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "DEMOIDLETIME"))
|
else if (fastcmp(word, "DEMOIDLETIME"))
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, va("%d", demoIdleTime), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", demoIdleTime), UNDO_NONE);
|
||||||
demoIdleTime = get_number(word2);
|
demoIdleTime = get_number(word2);
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "USE1UPSOUND"))
|
else if (fastcmp(word, "USE1UPSOUND"))
|
||||||
{
|
{
|
||||||
|
@ -3230,16 +3240,19 @@ static void readmaincfg(MYFILE *f)
|
||||||
strlcat(savegamename, "%u.ssg", sizeof(savegamename));
|
strlcat(savegamename, "%u.ssg", sizeof(savegamename));
|
||||||
|
|
||||||
gamedataadded = true;
|
gamedataadded = true;
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "RESETDATA"))
|
else if (fastcmp(word, "RESETDATA"))
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, "0", UNDO_TODO); /// \todo
|
DEH_WriteUndoline(word, "0", UNDO_TODO); /// \todo
|
||||||
P_ResetData(value);
|
P_ResetData(value);
|
||||||
|
titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "CUSTOMVERSION"))
|
else if (fastcmp(word, "CUSTOMVERSION"))
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, customversionstring, UNDO_NONE);
|
DEH_WriteUndoline(word, customversionstring, UNDO_NONE);
|
||||||
strlcpy(customversionstring, word2, sizeof (customversionstring));
|
strlcpy(customversionstring, word2, sizeof (customversionstring));
|
||||||
|
//titlechanged = true;
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "BOOTMAP"))
|
else if (fastcmp(word, "BOOTMAP"))
|
||||||
{
|
{
|
||||||
|
@ -3254,6 +3267,7 @@ static void readmaincfg(MYFILE *f)
|
||||||
|
|
||||||
DEH_WriteUndoline(word, va("%d", bootmap), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", bootmap), UNDO_NONE);
|
||||||
bootmap = (INT16)value;
|
bootmap = (INT16)value;
|
||||||
|
//titlechanged = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
deh_warning("Maincfg: unknown word '%s'", word);
|
deh_warning("Maincfg: unknown word '%s'", word);
|
||||||
|
@ -3463,7 +3477,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
for (i = 0; i < NUMSFX; i++)
|
for (i = 0; i < NUMSFX; i++)
|
||||||
savesfxnames[i] = S_sfx[i].name;
|
savesfxnames[i] = S_sfx[i].name;
|
||||||
|
|
||||||
gamedataadded = false;
|
gamedataadded = titlechanged = introchanged = false;
|
||||||
|
|
||||||
// it doesn't test the version of SRB2 and version of dehacked file
|
// it doesn't test the version of SRB2 and version of dehacked file
|
||||||
dbg_line = -1; // start at -1 so the first line is 0.
|
dbg_line = -1; // start at -1 so the first line is 0.
|
||||||
|
@ -3834,6 +3848,14 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
if (gamedataadded)
|
if (gamedataadded)
|
||||||
G_LoadGameData();
|
G_LoadGameData();
|
||||||
|
|
||||||
|
if (gamestate == GS_TITLESCREEN)
|
||||||
|
{
|
||||||
|
if (introchanged)
|
||||||
|
COM_BufAddText("playintro");
|
||||||
|
else if (titlechanged)
|
||||||
|
COM_BufAddText("exitgame"); // Command_ExitGame_f() but delayed
|
||||||
|
}
|
||||||
|
|
||||||
dbg_line = -1;
|
dbg_line = -1;
|
||||||
if (deh_num_warning)
|
if (deh_num_warning)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue