Fixed problems with verifying checksum of the game modules
diff --git a/src/engine/framework/FileSystem.cpp b/src/engine/framework/FileSystem.cpp
index 023a255..94624ef 100644
--- a/src/engine/framework/FileSystem.cpp
+++ b/src/engine/framework/FileSystem.cpp
@@ -2193,15 +2193,6 @@ sint idFileSystemLocal::FileIsInPAK( pointer filename, sint* pChecksum )
{
*pChecksum = pak->pure_checksum;
}
- // Mac hack
- if( pak->checksum == MP_LEGACY_PAK )
- {
- legacy_bin = true;
- }
- else
- {
- legacy_bin = false;
- }
return 1;
}
pakFile = pakFile->next;
@@ -4200,6 +4191,7 @@ pointer idFileSystemLocal::LoadedPakPureChecksums( void )
{
static valueType info[BIG_INFO_STRING];
searchpath_t* search;
+ sint32 len;
info[0] = 0;
@@ -4214,6 +4206,12 @@ pointer idFileSystemLocal::LoadedPakPureChecksums( void )
Q_strcat( info, sizeof( info ), va( "%i ", search->pack->pure_checksum ) );
}
+ len = ( sint )::strlen( info );
+ if( len > 1 )
+ {
+ info[len - 1] = 0;
+ }
+
// DO_LIGHT_DEDICATED
// only comment out when you need a new pure checksums string
//Com_DPrintf("idFileSystemLocal::LoadPakPureChecksums: %s\n", info);
diff --git a/src/engine/server/serverClient.cpp b/src/engine/server/serverClient.cpp
index 8bde9da..2130e0f 100644
--- a/src/engine/server/serverClient.cpp
+++ b/src/engine/server/serverClient.cpp
@@ -1637,23 +1637,23 @@ void idServerClientSystemLocal::VerifyPaks_f( client_t* cl )
{
sint nChkSum1, nChkSum2, nClientPaks, nServerPaks, i, j, nCurArg, nClientChkSum[1024], nServerChkSum[1024];
pointer pPaks, pArg;
- bool bGood = true;
+ bool bGood;
// if we are pure, we "expect" the client to load certain things from
// certain pk3 files, namely we want the client to have loaded the
// ui and cgame that we think should be loaded based on the pure setting
if( sv_pure->integer != 0 )
{
- bGood = true;
nChkSum1 = nChkSum2 = 0;
- bGood = ( bool )( fileSystem->FileIsInPAK( idsystem->GetDLLName( "cgame" ), &nChkSum1 ) == 1 );
+ bGood = ( fileSystem->FileIsInPAK( idsystem->GetDLLName( "cgame" ), &nChkSum1 ) == 1 );
if( bGood )
{
- bGood = ( bool )( fileSystem->FileIsInPAK( idsystem->GetDLLName( "gui" ), &nChkSum2 ) == 1 );
+ bGood = ( fileSystem->FileIsInPAK( idsystem->GetDLLName( "gui" ), &nChkSum2 ) == 1 );
}
nClientPaks = cmdSystem->Argc();
+
// start at arg 2 ( skip serverId cl_paks )
nCurArg = 1;
@@ -1774,7 +1774,7 @@ void idServerClientSystemLocal::VerifyPaks_f( client_t* cl )
}
}
- if( j >= nServerPaks )
+ if( j > nServerPaks )
{
bGood = false;
break;
GitHub
sha: 02c4cbf4