qboolean oldbadread;
sizebuf_t old;
+ SCR_UpdateLoadingScreenIfShown();
+
// no need if server is local and definitely not if this is a demo
if (!cls.netcon || cls.protocol == PROTOCOL_QUAKEWORLD || cls.signon >= SIGNONS)
return;
// if we got here...
// curl is done, so let's start with the business
+ if(!cl.loadbegun)
+ SCR_PushLoadingScreen(false, "Loading precaches", 1);
cl.loadbegun = true;
// if already downloading something from the previous level, don't stop it
continue;
}
CL_KeepaliveMessage(true);
+
+ if(cl.loadmodel_current == 1)
+ {
+ // they'll be soon loaded, but make sure we apply freshly downloaded shaders from a curled pk3
+ Mod_FreeQ3Shaders();
+ }
+
cl.model_precache[cl.loadmodel_current] = Mod_ForName(cl.model_name[cl.loadmodel_current], false, false, cl.model_name[cl.loadmodel_current][0] == '*' ? cl.model_name[1] : NULL);
SCR_PopLoadingScreen(false);
if (cl.model_precache[cl.loadmodel_current] && cl.model_precache[cl.loadmodel_current]->Draw && cl.loadmodel_current == 1)
{
if (aborteddownload)
{
+
if (cl.downloadmodel_current == 1)
{
// the worldmodel failed, but we need to set up anyway
+ Mod_FreeQ3Shaders();
CL_SetupWorldModel();
if (!cl.loadfinished && cl_joinbeforedownloadsfinish.integer)
{
return;
}
}
+
+ if(cl.downloadmodel_current == 1)
+ {
+ // they'll be soon loaded, but make sure we apply freshly downloaded shaders from a curled pk3
+ Mod_FreeQ3Shaders();
+ }
+
cl.model_precache[cl.downloadmodel_current] = Mod_ForName(cl.model_name[cl.downloadmodel_current], false, false, cl.model_name[cl.downloadmodel_current][0] == '*' ? cl.model_name[1] : NULL);
if (cl.downloadmodel_current == 1)
{
if(cl.loadbegun)
Con_Printf("cl_begindownloads is only valid once per match\n");
else
- {
- SCR_PushLoadingScreen(false, "Loading precaches", 1);
CL_BeginDownloads(false);
- }
}
void CL_StopDownload(int size, int crc)
//MSG_WriteString (&cls.netcon->message, "prespawn");
}
else // playing a demo... make sure loading occurs as soon as possible
- {
- SCR_PushLoadingScreen(false, "Loading precaches", 1);
CL_BeginDownloads(false);
- }
break;
case 2: