another patch for viewcontrol so it doesn't break in one unlikely case

the player handle is null-checked anyway
This commit is contained in:
xen 2022-10-25 04:48:51 +02:00
parent 783312ed75
commit c5f7f90a90
2 changed files with 19 additions and 5 deletions

View File

@ -239,6 +239,22 @@ static struct SrcdsPatch
0x800, 100, 0x800, 100,
true, "bin/libtier0_srv.so" true, "bin/libtier0_srv.so"
}, },
// 12: Always transmit point_viewcontrol (for debugging)
{
"_ZN14CTriggerCamera19UpdateTransmitStateEv",
(unsigned char *)"\x74\x16",
"xx",
(unsigned char *)"\xEB\x16",
"cstrike/bin/server_srv.so"
},
// 13: CTriggerCamera::FollowTarget: Don't early return when the player handle is null
{
"_ZN14CTriggerCamera12FollowTargetEv",
(unsigned char *)"\x74\x1B\x89\xD0\x25\x00\x00\x00\x00\xC1\xE0\x04",
"xxxxx????xxx",
(unsigned char *)"\xEB\x23\x89\xD0\x25\x00\x00\x00\x00\xC1\xE0\x04",
"cstrike/bin/server_srv.so"
},
}; };
class CBaseEntity; class CBaseEntity;
@ -308,9 +324,7 @@ DETOUR_DECL_MEMBER1(DETOUR_InputTestActivator, void, inputdata_t *, inputdata)
DETOUR_MEMBER_CALL(DETOUR_InputTestActivator)(inputdata); DETOUR_MEMBER_CALL(DETOUR_InputTestActivator)(inputdata);
} }
static constexpr int s_iNonEdicts = 12; const char *pszNonEdicts[] =
const char *pszNonEdicts[s_iNonEdicts] =
{ {
"ambient_generic", "ambient_generic",
"game_score", "game_score",
@ -348,7 +362,7 @@ DETOUR_DECL_MEMBER1(DETOUR_PostConstructor, void, const char *, szClassname)
} }
// Remove edicts for a bunch of entities that REALLY don't need them // Remove edicts for a bunch of entities that REALLY don't need them
for (int i = 0; i < s_iNonEdicts; i++) for (int i = 0; i < sizeof(pszNonEdicts)/sizeof(*pszNonEdicts); i++)
{ {
if (!strcasecmp(szClassname, pszNonEdicts[i])) if (!strcasecmp(szClassname, pszNonEdicts[i]))
{ {

View File

@ -40,7 +40,7 @@
/* Basic information exposed publicly */ /* Basic information exposed publicly */
#define SMEXT_CONF_NAME "CSSFixes" #define SMEXT_CONF_NAME "CSSFixes"
#define SMEXT_CONF_DESCRIPTION "Patches bugs in the CSS server binary and more..." #define SMEXT_CONF_DESCRIPTION "Patches bugs in the CSS server binary and more..."
#define SMEXT_CONF_VERSION "1.18" #define SMEXT_CONF_VERSION "1.19"
#define SMEXT_CONF_AUTHOR "BotoX" #define SMEXT_CONF_AUTHOR "BotoX"
#define SMEXT_CONF_URL "" #define SMEXT_CONF_URL ""
#define SMEXT_CONF_LOGTAG "CSSFIXES" #define SMEXT_CONF_LOGTAG "CSSFIXES"