fix for client crash Too many indices for index buffer tell a programmer. as caused by grenades, c4 and env_explosion putting too many decals on vertices

This commit is contained in:
jenz 2026-07-27 14:12:50 +01:00
parent dbbdf2418d
commit d0d4aaa912

View File

@ -302,30 +302,40 @@ static struct SrcdsPatch
}, },
*/ */
// 16: should allow people to run around freely after game end, by overwriting pPlayer->AddFlag( FL_FROZEN ); line 3337 in cs_gamerules.cpp // 16: Remove weird filename handle check in CZipPackFile::GetFileInfo that broke loading mixed case files in bsp pakfiles
//this change is desired for the new mapvoting feature so that people can still freely move at the end of the map while the vote is running.
{
"_ZN12CCSGameRules16GoToIntermissionEv",
(unsigned char *)"\x74\x0E\x83\xEC\x08\x6A\x40\x50",
"xxxxxxxx",
(unsigned char *)"\xEB\x0E\x83\xEC\x08\x6A\x40\x50",
"cstrike/bin/server_srv.so"
},
//17 also jump over boolean = true // freeze players while in intermission m_bFreezePeriod = true;
{
"_ZN12CCSGameRules16GoToIntermissionEv",
(unsigned char *)"\x75\x0F\xE8\x69\xCE\xDA\xFF\x8B\x45\x08",
"xxxxxxxxxx",
(unsigned char *)"\xEB\x0F\xE8\x69\xCE\xDA\xFF\x8B\x45\x08",
"cstrike/bin/server_srv.so"
},
// 18: Remove weird filename handle check in CZipPackFile::GetFileInfo that broke loading mixed case files in bsp pakfiles
{ {
"_ZN12CZipPackFile11GetFileInfoEPKcRiRxS2_S2_Rt", "_ZN12CZipPackFile11GetFileInfoEPKcRiRxS2_S2_Rt",
(unsigned char *)"\x75\x00\x8B\x09", (unsigned char *)"\x75\x00\x8B\x09",
"x?xx", "x?xx",
(unsigned char *)"\x90\x90\x8B\x09", (unsigned char *)"\x90\x90\x8B\x09",
"bin/dedicated_srv.so" "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\xEA\x84\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\x82\xC6\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\x8A\x26\x1A\x00",
"xxxxx",
(unsigned char *)"\x90\x90\x90\x90\x90",
"cstrike/bin/server_srv.so",
0x800,
1
} }
}; };