mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-04 07:21:01 +00:00
Strip out things that limit wad files added by filename
This commit is contained in:
parent
b128f44986
commit
430831423c
7 changed files with 4 additions and 44 deletions
|
@ -74,7 +74,7 @@ int snprintf(char *str, size_t n, const char *fmt, ...);
|
||||||
#include "m_cond.h" // condition initialization
|
#include "m_cond.h" // condition initialization
|
||||||
#include "fastcmp.h"
|
#include "fastcmp.h"
|
||||||
#include "keys.h"
|
#include "keys.h"
|
||||||
#include "filesrch.h" // refreshdirmenu, mainwadstally
|
#include "filesrch.h" // refreshdirmenu
|
||||||
|
|
||||||
#ifdef CMAKECONFIG
|
#ifdef CMAKECONFIG
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -1257,8 +1257,6 @@ void D_SRB2Main(void)
|
||||||
|
|
||||||
#endif //ifndef DEVELOP
|
#endif //ifndef DEVELOP
|
||||||
|
|
||||||
mainwadstally = packetsizetally;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// search for maps
|
// search for maps
|
||||||
//
|
//
|
||||||
|
|
|
@ -4045,14 +4045,6 @@ static void Command_Addfile(void)
|
||||||
if (*p == '\\' || *p == '/' || *p == ':')
|
if (*p == '\\' || *p == '/' || *p == ':')
|
||||||
break;
|
break;
|
||||||
++p;
|
++p;
|
||||||
// check total packet size and no of files currently loaded
|
|
||||||
// See W_LoadWadFile in w_wad.c
|
|
||||||
if ((numwadfiles >= MAX_WADFILES)
|
|
||||||
|| ((packetsizetally + nameonlylength(fn) + 22) > MAXFILENEEDED*sizeof(UINT8)))
|
|
||||||
{
|
|
||||||
CONS_Alert(CONS_ERROR, M_GetText("Too many files loaded to add %s\n"), fn);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
WRITESTRINGN(buf_p,p,240);
|
WRITESTRINGN(buf_p,p,240);
|
||||||
|
|
||||||
|
@ -4167,8 +4159,7 @@ static void Got_RequestAddfilecmd(UINT8 **cp, INT32 playernum)
|
||||||
}
|
}
|
||||||
|
|
||||||
// See W_LoadWadFile in w_wad.c
|
// See W_LoadWadFile in w_wad.c
|
||||||
if ((numwadfiles >= MAX_WADFILES)
|
if (numwadfiles >= MAX_WADFILES)
|
||||||
|| ((packetsizetally + nameonlylength(filename) + 22) > MAXFILENEEDED*sizeof(UINT8)))
|
|
||||||
toomany = true;
|
toomany = true;
|
||||||
else
|
else
|
||||||
ncs = findfile(filename,md5sum,true);
|
ncs = findfile(filename,md5sum,true);
|
||||||
|
|
|
@ -373,9 +373,6 @@ INT32 CL_CheckFiles(void)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// See W_LoadWadFile in w_wad.c
|
|
||||||
packetsize = packetsizetally;
|
|
||||||
|
|
||||||
for (i = 1; i < fileneedednum; i++)
|
for (i = 1; i < fileneedednum; i++)
|
||||||
{
|
{
|
||||||
CONS_Debug(DBG_NETPLAY, "searching for '%s' ", fileneeded[i].filename);
|
CONS_Debug(DBG_NETPLAY, "searching for '%s' ", fileneeded[i].filename);
|
||||||
|
|
|
@ -341,8 +341,6 @@ size_t dir_on[menudepth];
|
||||||
UINT8 refreshdirmenu = 0;
|
UINT8 refreshdirmenu = 0;
|
||||||
char *refreshdirname = NULL;
|
char *refreshdirname = NULL;
|
||||||
|
|
||||||
size_t packetsizetally = 0;
|
|
||||||
size_t mainwadstally = 0;
|
|
||||||
|
|
||||||
#if defined (_XBOX) && defined (_MSC_VER)
|
#if defined (_XBOX) && defined (_MSC_VER)
|
||||||
filestatus_t filesearch(char *filename, const char *startpath, const UINT8 *wantedmd5sum,
|
filestatus_t filesearch(char *filename, const char *startpath, const UINT8 *wantedmd5sum,
|
||||||
|
|
|
@ -42,9 +42,6 @@ extern size_t dir_on[menudepth];
|
||||||
extern UINT8 refreshdirmenu;
|
extern UINT8 refreshdirmenu;
|
||||||
extern char *refreshdirname;
|
extern char *refreshdirname;
|
||||||
|
|
||||||
extern size_t packetsizetally;
|
|
||||||
extern size_t mainwadstally;
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
EXT_FOLDER = 0,
|
EXT_FOLDER = 0,
|
||||||
|
|
|
@ -4664,10 +4664,7 @@ static void M_DrawAddons(void)
|
||||||
y = FRACUNIT;
|
y = FRACUNIT;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
x = FixedDiv(((ssize_t)(numwadfiles) - (ssize_t)(mainwads+1))<<FRACBITS, ((ssize_t)MAX_WADFILES - (ssize_t)(mainwads+1))<<FRACBITS);
|
y = FixedDiv(((ssize_t)(numwadfiles) - (ssize_t)(mainwads+1))<<FRACBITS, ((ssize_t)MAX_WADFILES - (ssize_t)(mainwads+1))<<FRACBITS);
|
||||||
y = FixedDiv((((ssize_t)packetsizetally-(ssize_t)mainwadstally)<<FRACBITS), ((((ssize_t)MAXFILENEEDED*sizeof(UINT8)-(ssize_t)mainwadstally)-(5+22))<<FRACBITS)); // 5+22 = (a.ext + checksum length) is minimum addition to packet size tally
|
|
||||||
if (x > y)
|
|
||||||
y = x;
|
|
||||||
if (y > FRACUNIT) // happens because of how we're shrinkin' it a little
|
if (y > FRACUNIT) // happens because of how we're shrinkin' it a little
|
||||||
y = FRACUNIT;
|
y = FRACUNIT;
|
||||||
}
|
}
|
||||||
|
|
20
src/w_wad.c
20
src/w_wad.c
|
@ -652,7 +652,6 @@ UINT16 W_InitFile(const char *filename)
|
||||||
restype_t type;
|
restype_t type;
|
||||||
UINT16 numlumps = 0;
|
UINT16 numlumps = 0;
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t packetsize;
|
|
||||||
UINT8 md5sum[16];
|
UINT8 md5sum[16];
|
||||||
boolean important;
|
boolean important;
|
||||||
|
|
||||||
|
@ -684,24 +683,7 @@ UINT16 W_InitFile(const char *filename)
|
||||||
if ((handle = W_OpenWadFile(&filename, true)) == NULL)
|
if ((handle = W_OpenWadFile(&filename, true)) == NULL)
|
||||||
return INT16_MAX;
|
return INT16_MAX;
|
||||||
|
|
||||||
// Check if wad files will overflow fileneededbuffer. Only the filename part
|
important = !W_VerifyNMUSlumps(filename);
|
||||||
// is send in the packet; cf.
|
|
||||||
// see PutFileNeeded in d_netfil.c
|
|
||||||
if ((important = !W_VerifyNMUSlumps(filename)))
|
|
||||||
{
|
|
||||||
packetsize = packetsizetally + nameonlylength(filename) + 22;
|
|
||||||
|
|
||||||
if (packetsize > MAXFILENEEDED*sizeof(UINT8))
|
|
||||||
{
|
|
||||||
CONS_Alert(CONS_ERROR, M_GetText("Maximum wad files reached\n"));
|
|
||||||
refreshdirmenu |= REFRESHDIR_MAX;
|
|
||||||
if (handle)
|
|
||||||
fclose(handle);
|
|
||||||
return INT16_MAX;
|
|
||||||
}
|
|
||||||
|
|
||||||
packetsizetally = packetsize;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef NOMD5
|
#ifndef NOMD5
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue