Fix selectstringtableentryindvar
This commit is contained in:
parent
2aee48bffa
commit
799a7583ef
@ -10,7 +10,7 @@ namespace Components
|
|||||||
return &id;
|
return &id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QuickPatch::OnShutdown(QuickPatch::Callback callback)
|
void QuickPatch::OnShutdown(QuickPatch::Callback* callback)
|
||||||
{
|
{
|
||||||
QuickPatch::ShutdownSignal.connect(callback);
|
QuickPatch::ShutdownSignal.connect(callback);
|
||||||
}
|
}
|
||||||
@ -114,6 +114,23 @@ namespace Components
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QuickPatch::SelectStringTableEntryInDvarStub()
|
||||||
|
{
|
||||||
|
Command::Params args;
|
||||||
|
|
||||||
|
if (args.Length() >= 4)
|
||||||
|
{
|
||||||
|
Game::dvar_t* dvar = Game::Dvar_FindVar(args[3]);
|
||||||
|
|
||||||
|
if (!dvar || dvar->flags & Game::DVAR_FLAG_WRITEPROTECTED || dvar->flags & Game::DVAR_FLAG_CHEAT || dvar->flags & Game::DVAR_FLAG_READONLY)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Game::CL_SelectStringTableEntryInDvar_f();
|
||||||
|
}
|
||||||
|
|
||||||
QuickPatch::QuickPatch()
|
QuickPatch::QuickPatch()
|
||||||
{
|
{
|
||||||
// protocol version (workaround for hacks)
|
// protocol version (workaround for hacks)
|
||||||
@ -335,6 +352,9 @@ namespace Components
|
|||||||
Utils::Hook(0x4A9F56, QuickPatch::MsgReadBitsCompressCheckCL, HOOK_CALL).Install()->Quick(); // CL_ParseServerMessage
|
Utils::Hook(0x4A9F56, QuickPatch::MsgReadBitsCompressCheckCL, HOOK_CALL).Install()->Quick(); // CL_ParseServerMessage
|
||||||
Utils::Hook(0x5AA009, QuickPatch::CL_HandleRelayPacketCheck, HOOK_CALL).Install()->Quick(); // CL_HandleRelayPacket
|
Utils::Hook(0x5AA009, QuickPatch::CL_HandleRelayPacketCheck, HOOK_CALL).Install()->Quick(); // CL_HandleRelayPacket
|
||||||
|
|
||||||
|
// Patch selectStringTableEntryInDvar
|
||||||
|
Utils::Hook::Set(0x405959, QuickPatch::SelectStringTableEntryInDvarStub);
|
||||||
|
|
||||||
Command::Add("unlockstats", [] (Command::Params params)
|
Command::Add("unlockstats", [] (Command::Params params)
|
||||||
{
|
{
|
||||||
QuickPatch::UnlockStats();
|
QuickPatch::UnlockStats();
|
||||||
|
@ -21,6 +21,8 @@ namespace Components
|
|||||||
static int64_t* GetStatsID();
|
static int64_t* GetStatsID();
|
||||||
static void ShutdownStub(int channel, const char* message);
|
static void ShutdownStub(int channel, const char* message);
|
||||||
|
|
||||||
|
static void SelectStringTableEntryInDvarStub();
|
||||||
|
|
||||||
static int MsgReadBitsCompressCheckSV(const char *from, char *to, int size);
|
static int MsgReadBitsCompressCheckSV(const char *from, char *to, int size);
|
||||||
static int MsgReadBitsCompressCheckCL(const char *from, char *to, int size);
|
static int MsgReadBitsCompressCheckCL(const char *from, char *to, int size);
|
||||||
static void CL_HandleRelayPacketCheck(Game::msg_t* msg, int client);
|
static void CL_HandleRelayPacketCheck(Game::msg_t* msg, int client);
|
||||||
|
@ -15,6 +15,7 @@ namespace Game
|
|||||||
CL_DrawStretchPicPhysical_t CL_DrawStretchPicPhysical = (CL_DrawStretchPicPhysical_t)0x4FC120;
|
CL_DrawStretchPicPhysical_t CL_DrawStretchPicPhysical = (CL_DrawStretchPicPhysical_t)0x4FC120;
|
||||||
CL_HandleRelayPacket_t CL_HandleRelayPacket = (CL_HandleRelayPacket_t)0x5A8C70;
|
CL_HandleRelayPacket_t CL_HandleRelayPacket = (CL_HandleRelayPacket_t)0x5A8C70;
|
||||||
CL_ResetViewport_t CL_ResetViewport = (CL_ResetViewport_t)0x4A8830;
|
CL_ResetViewport_t CL_ResetViewport = (CL_ResetViewport_t)0x4A8830;
|
||||||
|
CL_SelectStringTableEntryInDvar_f_t CL_SelectStringTableEntryInDvar_f = (CL_SelectStringTableEntryInDvar_f_t)0x4A4560;
|
||||||
|
|
||||||
Cmd_AddCommand_t Cmd_AddCommand = (Cmd_AddCommand_t)0x470090;
|
Cmd_AddCommand_t Cmd_AddCommand = (Cmd_AddCommand_t)0x470090;
|
||||||
Cmd_AddServerCommand_t Cmd_AddServerCommand = (Cmd_AddServerCommand_t)0x4DCE00;
|
Cmd_AddServerCommand_t Cmd_AddServerCommand = (Cmd_AddServerCommand_t)0x4DCE00;
|
||||||
|
@ -30,6 +30,9 @@ namespace Game
|
|||||||
typedef void(__cdecl * CL_ResetViewport_t)();
|
typedef void(__cdecl * CL_ResetViewport_t)();
|
||||||
extern CL_ResetViewport_t CL_ResetViewport;
|
extern CL_ResetViewport_t CL_ResetViewport;
|
||||||
|
|
||||||
|
typedef void(__cdecl * CL_SelectStringTableEntryInDvar_f_t)();
|
||||||
|
extern CL_SelectStringTableEntryInDvar_f_t CL_SelectStringTableEntryInDvar_f;
|
||||||
|
|
||||||
typedef void(__cdecl * Cmd_AddCommand_t)(const char* name, void(*callback), cmd_function_t* data, char);
|
typedef void(__cdecl * Cmd_AddCommand_t)(const char* name, void(*callback), cmd_function_t* data, char);
|
||||||
extern Cmd_AddCommand_t Cmd_AddCommand;
|
extern Cmd_AddCommand_t Cmd_AddCommand;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user