mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 11:10:47 +00:00
Factor out some repeated code into G_{Load,Save}PlayerMaybeMulti.
This currently says that MP saving/loading isn't supported, but doesn't really work correctly. Also, properly bound-check the immediate argument to CON's 'save' command and one more ... -> G_HandleAsync(). git-svn-id: https://svn.eduke32.com/eduke32@2999 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
0665d961d2
commit
1729f8fa38
6 changed files with 47 additions and 60 deletions
|
@ -738,8 +738,7 @@ nextdemo:
|
||||||
rotatesprite_fs((320-50)<<16,9<<16,65536L,0,BETAVERSION,0,0,2+8+16+128);
|
rotatesprite_fs((320-50)<<16,9<<16,65536L,0,BETAVERSION,0,0,2+8+16+128);
|
||||||
}
|
}
|
||||||
|
|
||||||
handleevents();
|
G_HandleAsync();
|
||||||
Net_GetPackets();
|
|
||||||
|
|
||||||
if (!ud.recstat)
|
if (!ud.recstat)
|
||||||
nextpage();
|
nextpage();
|
||||||
|
|
|
@ -7936,16 +7936,8 @@ FAKE_F3:
|
||||||
/* inputloc = Bstrlen(&ud.savegame[g_lastSaveSlot][0]);
|
/* inputloc = Bstrlen(&ud.savegame[g_lastSaveSlot][0]);
|
||||||
g_currentMenu = 360+g_lastSaveSlot;
|
g_currentMenu = 360+g_lastSaveSlot;
|
||||||
probey = g_lastSaveSlot; */
|
probey = g_lastSaveSlot; */
|
||||||
if (g_netServer || ud.multimode > 1)
|
|
||||||
{
|
G_SavePlayerMaybeMulti(g_lastSaveSlot);
|
||||||
Bstrcpy(ScriptQuotes[QUOTE_RESERVED4], "Multiplayer Saving Not Yet Supported");
|
|
||||||
P_DoQuote(QUOTE_RESERVED4, g_player[myconnectindex].ps);
|
|
||||||
//G_SavePlayer(-1-(g_lastSaveSlot));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
G_SavePlayer(g_lastSaveSlot);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8003,20 +7995,7 @@ FAKE_F3:
|
||||||
KB_ClearKeysDown();
|
KB_ClearKeysDown();
|
||||||
FX_StopAllSounds();
|
FX_StopAllSounds();
|
||||||
|
|
||||||
if (g_netServer || ud.multimode > 1)
|
G_LoadPlayerMaybeMulti(g_lastSaveSlot);
|
||||||
{
|
|
||||||
Bstrcpy(ScriptQuotes[QUOTE_RESERVED4], "Multiplayer Loading Not Yet Supported");
|
|
||||||
P_DoQuote(QUOTE_RESERVED4, g_player[myconnectindex].ps);
|
|
||||||
|
|
||||||
// G_LoadPlayer(-1-g_lastSaveSlot);
|
|
||||||
// g_player[myconnectindex].ps->gm = MODE_GAME;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i = G_LoadPlayer(g_lastSaveSlot);
|
|
||||||
if (i == 0)
|
|
||||||
g_player[myconnectindex].ps->gm = MODE_GAME;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3032,16 +3032,14 @@ nullquote:
|
||||||
case CON_SAVE:
|
case CON_SAVE:
|
||||||
insptr++;
|
insptr++;
|
||||||
{
|
{
|
||||||
time_t curtime;
|
|
||||||
|
|
||||||
g_lastSaveSlot = *insptr++;
|
g_lastSaveSlot = *insptr++;
|
||||||
|
|
||||||
if (g_lastSaveSlot > 9)
|
if ((unsigned)g_lastSaveSlot >= 10)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (tw == CON_SAVE || ud.savegame[g_lastSaveSlot][0] == 0)
|
if (tw == CON_SAVE || ud.savegame[g_lastSaveSlot][0] == 0)
|
||||||
{
|
{
|
||||||
curtime = time(NULL);
|
time_t curtime = time(NULL);
|
||||||
Bstrcpy(tempbuf,asctime(localtime(&curtime)));
|
Bstrcpy(tempbuf,asctime(localtime(&curtime)));
|
||||||
clearbufbyte(ud.savegame[g_lastSaveSlot],sizeof(ud.savegame[g_lastSaveSlot]),0);
|
clearbufbyte(ud.savegame[g_lastSaveSlot],sizeof(ud.savegame[g_lastSaveSlot]),0);
|
||||||
Bsprintf(ud.savegame[g_lastSaveSlot],"Auto");
|
Bsprintf(ud.savegame[g_lastSaveSlot],"Auto");
|
||||||
|
@ -3059,9 +3057,8 @@ nullquote:
|
||||||
g_screenCapture = 1;
|
g_screenCapture = 1;
|
||||||
G_DrawRooms(myconnectindex,65536);
|
G_DrawRooms(myconnectindex,65536);
|
||||||
g_screenCapture = 0;
|
g_screenCapture = 0;
|
||||||
if ((g_netServer || ud.multimode > 1))
|
|
||||||
G_SavePlayer(-1-(g_lastSaveSlot));
|
G_SavePlayerMaybeMulti(g_lastSaveSlot);
|
||||||
else G_SavePlayer(g_lastSaveSlot);
|
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1453,20 +1453,7 @@ void M_DisplayMenus(void)
|
||||||
KB_ClearKeysDown();
|
KB_ClearKeysDown();
|
||||||
FX_StopAllSounds();
|
FX_StopAllSounds();
|
||||||
|
|
||||||
if (g_netServer || ud.multimode > 1)
|
G_LoadPlayerMaybeMulti(g_lastSaveSlot);
|
||||||
{
|
|
||||||
Bstrcpy(ScriptQuotes[QUOTE_RESERVED4], "Multiplayer Loading Not Yet Supported");
|
|
||||||
P_DoQuote(QUOTE_RESERVED4, g_player[myconnectindex].ps);
|
|
||||||
|
|
||||||
// G_LoadPlayer(-1-g_lastSaveSlot);
|
|
||||||
// g_player[myconnectindex].ps->gm = MODE_GAME;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
c = G_LoadPlayer(g_lastSaveSlot);
|
|
||||||
if (c == 0)
|
|
||||||
g_player[myconnectindex].ps->gm = MODE_GAME;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1622,9 +1609,7 @@ void M_DisplayMenus(void)
|
||||||
totalclock = ototalclock;
|
totalclock = ototalclock;
|
||||||
}
|
}
|
||||||
|
|
||||||
c = G_LoadPlayer(g_lastSaveSlot);
|
G_LoadPlayerMaybeMulti(g_lastSaveSlot);
|
||||||
if (c == 0)
|
|
||||||
g_player[myconnectindex].ps->gm = MODE_GAME;
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -4853,16 +4838,8 @@ cheat_for_port_credits:
|
||||||
ud.savegame[g_currentMenu-360][20] = 127;
|
ud.savegame[g_currentMenu-360][20] = 127;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_netServer || ud.multimode > 1)
|
G_SavePlayerMaybeMulti(g_currentMenu-360);
|
||||||
{
|
|
||||||
Bstrcpy(ScriptQuotes[QUOTE_RESERVED4], "Multiplayer Saving Not Yet Supported");
|
|
||||||
P_DoQuote(QUOTE_RESERVED4, g_player[myconnectindex].ps);
|
|
||||||
//G_SavePlayer(-1-(g_currentMenu-360));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
G_SavePlayer(g_currentMenu-360);
|
|
||||||
}
|
|
||||||
g_lastSaveSlot = g_currentMenu-360;
|
g_lastSaveSlot = g_currentMenu-360;
|
||||||
g_player[myconnectindex].ps->gm = MODE_GAME;
|
g_player[myconnectindex].ps->gm = MODE_GAME;
|
||||||
|
|
||||||
|
|
|
@ -361,6 +361,39 @@ int32_t G_SavePlayer(int32_t spot)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void G_LoadPlayerMaybeMulti(int32_t slot)
|
||||||
|
{
|
||||||
|
if (g_netServer || ud.multimode > 1)
|
||||||
|
{
|
||||||
|
Bstrcpy(ScriptQuotes[QUOTE_RESERVED4], "Multiplayer Loading Not Yet Supported");
|
||||||
|
P_DoQuote(QUOTE_RESERVED4, g_player[myconnectindex].ps);
|
||||||
|
|
||||||
|
// G_LoadPlayer(-1-g_lastSaveSlot);
|
||||||
|
// g_player[myconnectindex].ps->gm = MODE_GAME;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int32_t c = G_LoadPlayer(slot);
|
||||||
|
if (c == 0)
|
||||||
|
g_player[myconnectindex].ps->gm = MODE_GAME;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void G_SavePlayerMaybeMulti(int32_t slot)
|
||||||
|
{
|
||||||
|
Bassert(slot >= 0);
|
||||||
|
|
||||||
|
if (g_netServer || ud.multimode > 1)
|
||||||
|
{
|
||||||
|
Bstrcpy(ScriptQuotes[QUOTE_RESERVED4], "Multiplayer Saving Not Yet Supported");
|
||||||
|
P_DoQuote(QUOTE_RESERVED4, g_player[myconnectindex].ps);
|
||||||
|
// G_SavePlayer(-1-slot);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
G_SavePlayer(slot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
////////// GENERIC SAVING/LOADING SYSTEM //////////
|
////////// GENERIC SAVING/LOADING SYSTEM //////////
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,8 @@ int32_t G_LoadPlayer(int32_t spot);
|
||||||
int32_t G_LoadSaveHeaderNew(int32_t spot, savehead_t *saveh);
|
int32_t G_LoadSaveHeaderNew(int32_t spot, savehead_t *saveh);
|
||||||
//int32_t G_LoadSaveHeader(char spot,struct savehead_ *saveh);
|
//int32_t G_LoadSaveHeader(char spot,struct savehead_ *saveh);
|
||||||
void ReadSaveGameHeaders(void);
|
void ReadSaveGameHeaders(void);
|
||||||
|
void G_SavePlayerMaybeMulti(int32_t slot);
|
||||||
|
void G_LoadPlayerMaybeMulti(int32_t slot);
|
||||||
|
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
extern void sv_postyaxload(void);
|
extern void sv_postyaxload(void);
|
||||||
|
|
Loading…
Reference in a new issue