==============================================================================
*/
+/*
+=====================
+CL_NextDemo
+
+Called to play the next demo in the demo loop
+=====================
+*/
+void CL_NextDemo (void)
+{
+ char str[1024];
+
+ if (cls.demonum == -1)
+ return; // don't play demos
+
+ if (!cls.demos[cls.demonum][0] || cls.demonum == MAX_DEMOS)
+ {
+ cls.demonum = 0;
+ if (!cls.demos[cls.demonum][0])
+ {
+ Con_Printf ("No demos listed with startdemos\n");
+ cls.demonum = -1;
+ return;
+ }
+ }
+
+ sprintf (str,"playdemo %s\n", cls.demos[cls.demonum]);
+ Cbuf_InsertText (str);
+ cls.demonum++;
+}
+
/*
==============
CL_StopPlayback
Called when a demo file runs out, or the user starts a game
==============
*/
+// LordHavoc: now called only by CL_Disconnect
void CL_StopPlayback (void)
{
if (!cls.demoplayback)
Qclose (cls.demofile);
cls.demoplayback = false;
cls.demofile = NULL;
- cls.state = ca_disconnected;
if (cls.timedemo)
CL_FinishTimeDemo ();
r = Qread (cls.demofile, net_message.data, net_message.cursize);
if (r != net_message.cursize)
{
- CL_StopPlayback ();
+ CL_Disconnect ();
return 0;
}
cls.forcetrack = track;
Qprintf (cls.demofile, "%i\n", cls.forcetrack);
-
+
cls.demorecording = true;
}
return;
}
-// SCR_BeginLoadingPlaque();
-
//
// disconnect from server
//
CL_Disconnect ();
-
+
//
// open the demo file
//
return;
}
+ SCR_BeginLoadingPlaque ();
+
cls.demoplayback = true;
cls.state = ca_connected;
cls.forcetrack = 0;
cls.forcetrack = -cls.forcetrack;
// ZOID, fscanf is evil
// fscanf (cls.demofile, "%i\n", &cls.forcetrack);
+
}
/*