if (cl.loadcsqc)
{
cl.loadcsqc = false;
+
CL_VM_Init();
}
}
qfile_t *file;
// see if the file already exists
- file = FS_Open(filename, "rb", true, false);
+ file = FS_OpenVirtualFile(filename, true);
if (file)
{
FS_Close(file);
}
if(gamemode == GAME_NEXUIZ)
- goto skipdownloads;
+ Cvar_SetValueQuick(&cl_serverextension_download, false);
// in Nexuiz, the built in download protocol is kinda broken (misses lots
// of dependencies) anyway, and can mess around with the game directory;
// until this is fixed, only support pk3 downloads via curl, and turn off
if (cl.downloadmodel_current == 1)
{
// we now have the worldmodel so we can set up the game world
+ // or maybe we do not have it (cl_serverextension_download 0)
+ // then we need to continue loading ANYWAY!
CL_SetupWorldModel();
if (!cl.loadfinished && cl_joinbeforedownloadsfinish.integer)
{
// finished loading sounds
}
-skipdownloads:
if (!cl.loadfinished)
{
cl.loadfinished = true;
// parse gametype
cl.gametype = MSG_ReadByte ();
+ // the original id singleplayer demos are bugged and contain
+ // GAME_DEATHMATCH even for singleplayer
+ if (cl.maxclients == 1 && cls.protocol == PROTOCOL_QUAKE)
+ cl.gametype = GAME_COOP;
// parse signon message
str = MSG_ReadString ();
Con_Printf ("Auto-recording to %s.\n", demofile);
- cls.demofile = FS_Open (demofile, "wb", false, false);
+ cls.demofile = FS_OpenRealFile(demofile, "wb", false);
if (cls.demofile)
{
cls.forcetrack = -1;
FS_Printf (cls.demofile, "%i\n", cls.forcetrack);
cls.demorecording = true;
+ strlcpy(cls.demoname, demofile, sizeof(cls.demoname));
}
else
Con_Print ("ERROR: couldn't open.\n");
text++;
if (line[0] == '/' && line[1] == '/')
continue; // skip comments if anyone happens to add them
- for (i = 0;i < len && line[i] > ' ';i++)
+ for (i = 0;i < len && !ISWHITESPACE(line[i]);i++)
address[i] = line[i];
address[i] = 0;
// skip exactly one space character