Merge branch 'master' into alias5

This commit is contained in:
Eric Wasylishen 2014-12-17 11:36:09 -07:00
commit 9b78686d9e
7 changed files with 25 additions and 1 deletions

View file

@ -54,6 +54,7 @@ void CL_StopPlayback (void)
fclose (cls.demofile);
cls.demoplayback = false;
cls.demopaused = false;
cls.demofile = NULL;
cls.state = ca_disconnected;
@ -90,6 +91,9 @@ static int CL_GetDemoMessage (void)
int r, i;
float f;
if (cls.demopaused)
return 0;
// decide if it is time to grab the next message
if (cls.signon == SIGNONS) // always grab until fully connected
{
@ -436,6 +440,7 @@ void CL_PlayDemo_f (void)
cls.forcetrack = -cls.forcetrack;
cls.demoplayback = true;
cls.demopaused = false;
cls.state = ca_connected;
// get rid of the menu and/or console

View file

@ -142,6 +142,7 @@ void CL_Disconnect (void)
}
cls.demoplayback = cls.timedemo = false;
cls.demopaused = false;
cls.signon = 0;
cl.intermission = 0;
}

View file

@ -116,6 +116,11 @@ typedef struct
// entering a map (and clearing client_state_t)
qboolean demorecording;
qboolean demoplayback;
// did the user pause demo playback? (separate from cl.paused because we don't
// want a svc_setpause inside the demo to actually pause demo playback).
qboolean demopaused;
qboolean timedemo;
int forcetrack; // -1 = use normal cd track
FILE *demofile;

View file

@ -1055,13 +1055,18 @@ void Host_Loadgame_f (void)
entnum = -1; // -1 is the globals
while (!feof(f))
{
qboolean inside_string = false;
for (i = 0; i < (int) sizeof(str) - 1; i++)
{
r = fgetc (f);
if (r == EOF || !r)
break;
str[i] = r;
if (r == '}')
if (r == '"')
{
inside_string = !inside_string;
}
else if (r == '}' && !inside_string) // only handle } characters outside of quoted strings
{
i++;
break;
@ -1403,6 +1408,13 @@ Host_Pause_f
*/
void Host_Pause_f (void)
{
//ericw -- demo pause support (inspired by MarkV)
if (cls.demoplayback && cls.demonum == -1) // Don't allow startdemos to be paused
{
cls.demopaused = !cls.demopaused;
cl.paused = cls.demopaused;
return;
}
if (cmd_source == src_command)
{
@ -2081,6 +2093,7 @@ void Host_Startdemos_f (void)
if (!fitzmode)
{ /* QuakeSpasm customization: */
/* go straight to menu, no CL_NextDemo */
cls.demonum = -1;
Cbuf_InsertText("menu_main\n");
return;
}