#include "libcurl.h"
static cvar_t cl_curl_maxdownloads = {CVAR_SAVE, "cl_curl_maxdownloads","1", "maximum number of concurrent HTTP/FTP downloads"};
-static cvar_t cl_curl_maxspeed = CVAR_SAVE, "cl_curl_maxspeed","100", "maximum download speed (KiB/s)"};
+static cvar_t cl_curl_maxspeed = {CVAR_SAVE, "cl_curl_maxspeed","100", "maximum download speed (KiB/s)"};
static cvar_t sv_curl_defaulturl = {CVAR_SAVE, "sv_curl_defaulturl","", "default autodownload source URL"};
static cvar_t sv_curl_serverpackages = {CVAR_SAVE, "sv_curl_serverpackages","", "list of required files for the clients, separated by spaces"};
-static cvar_t cl_curl_enabled = {CVAR_SAVE, "cl_curl_enabled","0", "whether client's download support is enabled"};
+static cvar_t cl_curl_enabled = {CVAR_SAVE, "cl_curl_enabled","1", "whether client's download support is enabled"};
/*
=================================================================
return;
if(numdownloads_added && (numdownloads_success == numdownloads_added) && *command_when_done)
{
- Con_DPrintf("Map downloads occurred, executing %s\n", command_when_done);
+ Con_DPrintf("cURL downloads occurred, executing %s\n", command_when_done);
Cbuf_AddText("\n");
Cbuf_AddText(command_when_done);
Cbuf_AddText("\n");
}
else if(numdownloads_added && numdownloads_fail && *command_when_error)
{
- Con_DPrintf("Map downloads FAILED, executing %s\n", command_when_error);
+ Con_DPrintf("cURL downloads FAILED, executing %s\n", command_when_error);
Cbuf_AddText("\n");
Cbuf_AddText(command_when_error);
Cbuf_AddText("\n");
#if defined(WIN64)
"libcurl64.dll",
#elif defined(WIN32)
+ "libcurl-4.dll",
"libcurl-3.dll",
#elif defined(MACOSX)
+ "libcurl.4.dylib", // Mac OS X Notyetreleased
"libcurl.3.dylib", // Mac OS X Tiger
"libcurl.2.dylib", // Mac OS X Panther
#else
+ "libcurl.so.4",
"libcurl.so.3",
+ "libcurl.so", // FreeBSD
#endif
NULL
};
return;
}
}
-
+
if(ispak && FS_FileExists(fn))
{
qboolean already_loaded;
{
int remaining;
CURLMcode mc;
-
+
do
{
mc = qcurl_multi_perform(curlm, &remaining);
break;
}
}
-
+
Curl_EndDownload(di, failed, result);
}
}
char donecommand[256];
if(cls.netcon)
{
- if(cls.signon >= 3)
+ if(cl.loadbegun) // curling won't inhibit loading the map any more when at this stage, so bail out and force a reconnect
{
dpsnprintf(donecommand, sizeof(donecommand), "connect %s", cls.netcon->address);
Curl_CommandWhenDone(donecommand);
}
++i;
}
-
+
if(additional_info)
{
// TODO: can I clear command_when_done as soon as the first download fails?
char *p = buf;
char *pattern = NULL, *patternend = NULL, *url = NULL, *urlend = NULL;
qboolean eof = false;
-
+
pattern = p;
while(!eof)
{
}
p = sv_curl_serverpackages.string;
Con_DPrintf("Require all of: %s\n", p);
- while(COM_ParseTokenConsole(&p))
+ while(COM_ParseToken_Simple(&p, false, false))
{
Con_DPrintf("Require: %s\n", com_token);
Curl_RequireFile(com_token);