Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34cd34a374 | ||
|
|
35c61b0112 |
+11
-51
@@ -166,21 +166,21 @@ static struct SrcdsPatch
|
||||
"cstrike/bin/server_srv.so"
|
||||
},
|
||||
// 2: only select CT spawnpoints
|
||||
{
|
||||
/*{
|
||||
"_ZN9CCSPlayer19EntSelectSpawnPointEv",
|
||||
(unsigned char *)"\x74\x57\x83\xEC\x0C\x53\xE8\x6E\x34\xCA\xFF\x83\xC4\x10\x83\xF8\x02\x0F\x84",
|
||||
"x?xx?xx????xx?xx?xx",
|
||||
(unsigned char *)"\xEB\x57\x83\xEC\x0C\x53\xE8\x6E\x34\xCA\xFF\x83\xC4\x10\x83\xF8\x02\x0F\x84",
|
||||
"cstrike/bin/server_srv.so"
|
||||
},
|
||||
},*/
|
||||
// 3: don't check if we have T spawns
|
||||
{
|
||||
/*{
|
||||
"_ZN12CCSGameRules18NeededPlayersCheckERb",
|
||||
(unsigned char *)"\x74\x0A\x8B\x83\x94\x02\x00\x00\x85\xC0\x75\x4A\x83\xEC\x0C\x68\xE8\xCF\x93\x00\xE8\xA9\x46\x52\x00\x5A\x59",
|
||||
"xxxx????xxx?xx?x????x????xx",
|
||||
(unsigned char *)"\x75\x54\x8B\x83\x94\x02\x00\x00\x85\xC0\x75\x4A\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90",
|
||||
"cstrike/bin/server_srv.so"
|
||||
},
|
||||
},*/
|
||||
// 5: disable alive check in point_viewcontrol->Disable
|
||||
{
|
||||
"_ZN14CTriggerCamera7DisableEv",
|
||||
@@ -271,53 +271,13 @@ static struct SrcdsPatch
|
||||
0x600
|
||||
},
|
||||
|
||||
// 15: bool CZipPackFile::Prepare( int64 fileLen, int64 nFileOfs )
|
||||
//NOPs out lookup.m_hFileName = m_fs->FindOrAddFileName( tmpString ); Line 768
|
||||
//stop the errors CUtlLinkedList overflow! (exhausted memory allocator) and CUtlLinkedList overflow! (exhausted index range)
|
||||
//this avoids crashing due to loading over 65k strings into stringpool. Custom assets in maps lead towards the limit. jenz- December 2023
|
||||
{
|
||||
"_ZN12CZipPackFile7PrepareExx",
|
||||
(unsigned char *)"\x8B\x10\x57\x50\xFF\x92\x8C\x00\x00\x00",
|
||||
"xxxxxxxxxx",
|
||||
(unsigned char *)"\x8B\x10\x57\x50\x31\xC0\x90\x90\x90\x90",
|
||||
"bin/dedicated_srv.so",
|
||||
0x600
|
||||
},
|
||||
// 16: Remove weird filename handle check in CZipPackFile::GetFileInfo that broke loading mixed case files in bsp pakfiles
|
||||
// 18: Remove weird filename handle check in CZipPackFile::GetFileInfo that broke loading mixed case files in bsp pakfiles
|
||||
{
|
||||
"_ZN12CZipPackFile11GetFileInfoEPKcRiRxS2_S2_Rt",
|
||||
(unsigned char *)"\x75\x00\x8B\x09",
|
||||
"x?xx",
|
||||
(unsigned char *)"\x90\x90\x8B\x09",
|
||||
"bin/dedicated_srv.so"
|
||||
},
|
||||
// 17: void CBaseGrenade::Explode( trace_t *pTrace, int bitsDamageType ) NOP out UTIL_DecalTrace( pTrace, "Scorch" ); to stop grenades from causing
|
||||
// "Too many indices for index buffer. Tell a programmer". Grenades cause decals on too many faces for the client to handle.
|
||||
{
|
||||
"_ZN12CBaseGrenade7ExplodeEP10CGameTracei",
|
||||
(unsigned char *)"\xE8\xDA\x8E\x21\x00",
|
||||
"xxxxx",
|
||||
(unsigned char *)"\x90\x90\x90\x90\x90",
|
||||
"cstrike/bin/server_srv.so"
|
||||
},
|
||||
|
||||
// 18: void CPlantedC4::Explode( trace_t *pTrace, int bitsDamageType ) NOP out UTIL_DecalTrace( pTrace, "Scorch" ); same reason as 17.
|
||||
{
|
||||
"_ZN10CPlantedC47ExplodeEP10CGameTracei",
|
||||
(unsigned char *)"\xE8\x72\xBE\xEB\xFF",
|
||||
"xxxxx",
|
||||
(unsigned char *)"\x90\x90\x90\x90\x90",
|
||||
"cstrike/bin/server_srv.so"
|
||||
},
|
||||
// 19: void CEnvExplosion::InputExplode( inputdata_t &inputdata ) NOP out UTIL_DecalTrace( &tr, "Scorch" ); same reason as 17.
|
||||
{
|
||||
"_ZN13CEnvExplosion12InputExplodeER11inputdata_t",
|
||||
(unsigned char *)"\xE8\xDA\x2A\x1A\x00",
|
||||
"xxxxx",
|
||||
(unsigned char *)"\x90\x90\x90\x90\x90",
|
||||
"cstrike/bin/server_srv.so",
|
||||
0x800,
|
||||
1
|
||||
}
|
||||
};
|
||||
|
||||
@@ -419,8 +379,8 @@ DETOUR_DECL_MEMBER1(DETOUR_PostConstructor, void, const char *, szClassname)
|
||||
*(uint32 *)((intptr_t)pEntity + offset) |= (1<<9); // EFL_SERVER_ONLY
|
||||
|
||||
// Only CT spawnpoints
|
||||
if(strcasecmp(szClassname, "info_player_terrorist") == 0)
|
||||
szClassname = "info_player_counterterrorist";
|
||||
/*if(strcasecmp(szClassname, "info_player_terrorist") == 0)
|
||||
szClassname = "info_player_counterterrorist";*/
|
||||
|
||||
DETOUR_MEMBER_CALL(DETOUR_PostConstructor)(szClassname);
|
||||
return;
|
||||
@@ -515,20 +475,20 @@ DETOUR_DECL_MEMBER2(DETOUR_KeyValue, bool, const char *, szKeyName, const char *
|
||||
{
|
||||
szKeyName = "angles";
|
||||
}
|
||||
else if(strcasecmp(szKeyName, "classname") == 0 &&
|
||||
/*else if(strcasecmp(szKeyName, "classname") == 0 &&
|
||||
strcasecmp(szValue, "info_player_terrorist") == 0)
|
||||
{
|
||||
// Only CT spawnpoints
|
||||
szValue = "info_player_counterterrorist";
|
||||
}
|
||||
else if(strcasecmp(szKeyName, "teamnum") == 0 || strcasecmp(szKeyName, "teamnum") == 0 )
|
||||
}*/
|
||||
/*else if(strcasecmp(szKeyName, "teamnum") == 0 || strcasecmp(szKeyName, "teamnum") == 0 )
|
||||
{
|
||||
const char *pClassname = gamehelpers->GetEntityClassname(pEntity);
|
||||
|
||||
// All buyzones should be CT buyzones
|
||||
if(pClassname && strcasecmp(pClassname, "func_buyzone") == 0)
|
||||
szValue = "3";
|
||||
}
|
||||
}*/
|
||||
else if(strcasecmp(szKeyName, "absvelocity") == 0)
|
||||
{
|
||||
static int m_AbsVelocity_offset = 0;
|
||||
|
||||
Reference in New Issue
Block a user