fileul is implemented - needs a commandline parameter at the moment.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1858 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
e1caf72792
commit
232c7fbc15
1 changed files with 49 additions and 10 deletions
|
@ -1231,6 +1231,7 @@ void CL_ParseDownload (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static vfsfile_t *upload_file;
|
||||||
static qbyte *upload_data;
|
static qbyte *upload_data;
|
||||||
static int upload_pos;
|
static int upload_pos;
|
||||||
static int upload_size;
|
static int upload_size;
|
||||||
|
@ -1242,13 +1243,25 @@ void CL_NextUpload(void)
|
||||||
int percent;
|
int percent;
|
||||||
int size;
|
int size;
|
||||||
|
|
||||||
if (!upload_data)
|
|
||||||
return;
|
|
||||||
|
|
||||||
r = upload_size - upload_pos;
|
r = upload_size - upload_pos;
|
||||||
if (r > 768)
|
if (r > 768)
|
||||||
r = 768;
|
r = 768;
|
||||||
memcpy(buffer, upload_data + upload_pos, r);
|
|
||||||
|
if (upload_data)
|
||||||
|
{
|
||||||
|
memcpy(buffer, upload_data + upload_pos, r);
|
||||||
|
}
|
||||||
|
else if (upload_file)
|
||||||
|
{
|
||||||
|
r = VFS_READ(upload_file, buffer, r);
|
||||||
|
if (r == 0)
|
||||||
|
{
|
||||||
|
CL_StopUpload();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return;
|
||||||
MSG_WriteByte (&cls.netchan.message, clc_upload);
|
MSG_WriteByte (&cls.netchan.message, clc_upload);
|
||||||
MSG_WriteShort (&cls.netchan.message, r);
|
MSG_WriteShort (&cls.netchan.message, r);
|
||||||
|
|
||||||
|
@ -1267,9 +1280,7 @@ Con_DPrintf ("UPLOAD: %6d: %d written\n", upload_pos - r, r);
|
||||||
|
|
||||||
Con_TPrintf (TL_UPLOADCOMPLEATE);
|
Con_TPrintf (TL_UPLOADCOMPLEATE);
|
||||||
|
|
||||||
BZ_Free(upload_data);
|
CL_StopUpload();
|
||||||
upload_data = 0;
|
|
||||||
upload_pos = upload_size = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CL_StartUpload (qbyte *data, int size)
|
void CL_StartUpload (qbyte *data, int size)
|
||||||
|
@ -1278,8 +1289,7 @@ void CL_StartUpload (qbyte *data, int size)
|
||||||
return; // gotta be connected
|
return; // gotta be connected
|
||||||
|
|
||||||
// override
|
// override
|
||||||
if (upload_data)
|
CL_StopUpload();
|
||||||
BZ_Free(upload_data);
|
|
||||||
|
|
||||||
Con_DPrintf("Upload starting of %d...\n", size);
|
Con_DPrintf("Upload starting of %d...\n", size);
|
||||||
|
|
||||||
|
@ -1293,7 +1303,7 @@ Con_DPrintf("Upload starting of %d...\n", size);
|
||||||
|
|
||||||
qboolean CL_IsUploading(void)
|
qboolean CL_IsUploading(void)
|
||||||
{
|
{
|
||||||
if (upload_data)
|
if (upload_data || upload_file)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1302,7 +1312,36 @@ void CL_StopUpload(void)
|
||||||
{
|
{
|
||||||
if (upload_data)
|
if (upload_data)
|
||||||
BZ_Free(upload_data);
|
BZ_Free(upload_data);
|
||||||
|
if (upload_file)
|
||||||
|
VFS_CLOSE(upload_file);
|
||||||
|
upload_file = NULL;
|
||||||
upload_data = NULL;
|
upload_data = NULL;
|
||||||
|
upload_pos = upload_size = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
qboolean CL_StartUploadFile(char *filename)
|
||||||
|
{
|
||||||
|
if (!COM_CheckParm("-fileul"))
|
||||||
|
{
|
||||||
|
Con_Printf("You must currently use the -fileul commandline parameter in order to use this functionality\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cls.state < ca_onserver)
|
||||||
|
return false; // gotta be connected
|
||||||
|
|
||||||
|
CL_StopUpload();
|
||||||
|
|
||||||
|
upload_file = FS_OpenVFS(filename, "rb", FS_BASE);
|
||||||
|
upload_size = VFS_GETLEN(upload_file);
|
||||||
|
upload_pos = 0;
|
||||||
|
|
||||||
|
if (upload_file)
|
||||||
|
{
|
||||||
|
CL_NextUpload();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue