mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-24 13:21:20 +00:00
handle file loading correctly
This commit is contained in:
parent
dd1ac23bdb
commit
e2e879a704
2 changed files with 15 additions and 7 deletions
14
src/g_game.c
14
src/g_game.c
|
@ -1363,11 +1363,11 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
|
||||||
axis = PlayerJoyAxis(ssplayer, JA_FIRENORMAL);
|
axis = PlayerJoyAxis(ssplayer, JA_FIRENORMAL);
|
||||||
if (PLAYERINPUTDOWN(ssplayer, GC_FIRENORMAL) || (usejoystick && axis > 0))
|
if (PLAYERINPUTDOWN(ssplayer, GC_FIRENORMAL) || (usejoystick && axis > 0))
|
||||||
cmd->buttons |= BT_FIRENORMAL;
|
cmd->buttons |= BT_FIRENORMAL;
|
||||||
|
|
||||||
// Toss flag button
|
// Toss flag button
|
||||||
if (PLAYERINPUTDOWN(ssplayer, GC_TOSSFLAG))
|
if (PLAYERINPUTDOWN(ssplayer, GC_TOSSFLAG))
|
||||||
cmd->buttons |= BT_TOSSFLAG;
|
cmd->buttons |= BT_TOSSFLAG;
|
||||||
|
|
||||||
// Shield button
|
// Shield button
|
||||||
axis = PlayerJoyAxis(ssplayer, JA_SHIELD);
|
axis = PlayerJoyAxis(ssplayer, JA_SHIELD);
|
||||||
if (PLAYERINPUTDOWN(ssplayer, GC_SHIELD) || (usejoystick && axis > 0))
|
if (PLAYERINPUTDOWN(ssplayer, GC_SHIELD) || (usejoystick && axis > 0))
|
||||||
|
@ -4018,7 +4018,7 @@ INT16 G_GetNextMap(boolean ignoretokens, boolean silent)
|
||||||
INT32 i;
|
INT32 i;
|
||||||
INT16 newmapnum;
|
INT16 newmapnum;
|
||||||
boolean spec = G_IsSpecialStage(gamemap);
|
boolean spec = G_IsSpecialStage(gamemap);
|
||||||
|
|
||||||
// go to next level
|
// go to next level
|
||||||
// newmapnum is 0-based, unlike gamemap
|
// newmapnum is 0-based, unlike gamemap
|
||||||
if (nextmapoverride != 0)
|
if (nextmapoverride != 0)
|
||||||
|
@ -4122,7 +4122,7 @@ INT16 G_GetNextMap(boolean ignoretokens, boolean silent)
|
||||||
|
|
||||||
if (spec && (!gottoken || ignoretokens) && !nextmapoverride)
|
if (spec && (!gottoken || ignoretokens) && !nextmapoverride)
|
||||||
newmapnum = lastmap; // Exiting from a special stage? Go back to the game. Tails 08-11-2001
|
newmapnum = lastmap; // Exiting from a special stage? Go back to the game. Tails 08-11-2001
|
||||||
|
|
||||||
if (!(gametyperules & GTR_CAMPAIGN))
|
if (!(gametyperules & GTR_CAMPAIGN))
|
||||||
{
|
{
|
||||||
if (cv_advancemap.value == 0) // Stay on same map.
|
if (cv_advancemap.value == 0) // Stay on same map.
|
||||||
|
@ -4130,7 +4130,7 @@ INT16 G_GetNextMap(boolean ignoretokens, boolean silent)
|
||||||
else if (cv_advancemap.value == 2) // Go to random map.
|
else if (cv_advancemap.value == 2) // Go to random map.
|
||||||
newmapnum = RandMap(G_TOLFlag(gametype_to_use), prevmap);
|
newmapnum = RandMap(G_TOLFlag(gametype_to_use), prevmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
return newmapnum;
|
return newmapnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4140,7 +4140,7 @@ INT16 G_GetNextMap(boolean ignoretokens, boolean silent)
|
||||||
static void G_DoCompleted(void)
|
static void G_DoCompleted(void)
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
|
|
||||||
tokenlist = 0; // Reset the list
|
tokenlist = 0; // Reset the list
|
||||||
|
|
||||||
if (modeattacking && pausedelay)
|
if (modeattacking && pausedelay)
|
||||||
|
@ -4168,7 +4168,7 @@ static void G_DoCompleted(void)
|
||||||
//Get and set prevmap/nextmap
|
//Get and set prevmap/nextmap
|
||||||
prevmap = (INT16)(gamemap-1);
|
prevmap = (INT16)(gamemap-1);
|
||||||
nextmap = G_GetNextMap(false, false);
|
nextmap = G_GetNextMap(false, false);
|
||||||
|
|
||||||
automapactive = false;
|
automapactive = false;
|
||||||
|
|
||||||
// We are committed to this map now.
|
// We are committed to this map now.
|
||||||
|
|
|
@ -7000,7 +7000,10 @@ static void M_LevelSelectWarp(INT32 choice)
|
||||||
if (currentMenu == &SP_LevelSelectDef || currentMenu == &SP_PauseLevelSelectDef)
|
if (currentMenu == &SP_LevelSelectDef || currentMenu == &SP_PauseLevelSelectDef)
|
||||||
{
|
{
|
||||||
if (cursaveslot > 0) // do we have a save slot to load?
|
if (cursaveslot > 0) // do we have a save slot to load?
|
||||||
|
{
|
||||||
|
CV_StealthSet(&cv_skin, DEFAULTSKIN); // already handled by loadgame so we don't want this
|
||||||
G_LoadGame((UINT32)cursaveslot, startmap); // reload from SP save data: this is needed to keep score/lives/continues from reverting to defaults
|
G_LoadGame((UINT32)cursaveslot, startmap); // reload from SP save data: this is needed to keep score/lives/continues from reverting to defaults
|
||||||
|
}
|
||||||
else // no save slot, start new game but keep the current skin
|
else // no save slot, start new game but keep the current skin
|
||||||
{
|
{
|
||||||
M_ClearMenus(true);
|
M_ClearMenus(true);
|
||||||
|
@ -8649,9 +8652,14 @@ static void M_LoadSelect(INT32 choice)
|
||||||
M_NewGame();
|
M_NewGame();
|
||||||
}
|
}
|
||||||
else if (savegameinfo[saveSlotSelected-1].gamemap & 8192) // Completed
|
else if (savegameinfo[saveSlotSelected-1].gamemap & 8192) // Completed
|
||||||
|
{
|
||||||
M_LoadGameLevelSelect(0);
|
M_LoadGameLevelSelect(0);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
CV_StealthSet(&cv_skin, DEFAULTSKIN); // already handled by loadgame so we don't want this
|
||||||
G_LoadGame((UINT32)saveSlotSelected, 0);
|
G_LoadGame((UINT32)saveSlotSelected, 0);
|
||||||
|
}
|
||||||
|
|
||||||
cursaveslot = saveSlotSelected;
|
cursaveslot = saveSlotSelected;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue