2021-12-25 22:36:38 +01:00
|
|
|
#pragma once
|
2022-04-09 16:16:40 +02:00
|
|
|
#include "tier1/IConVar.h"
|
2022-08-13 19:41:45 +02:00
|
|
|
#include <vstdlib/concommandhash.h>
|
2021-12-25 22:36:38 +01:00
|
|
|
|
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// ENGINE |
|
2022-08-29 02:21:32 +02:00
|
|
|
extern ConVar* sdk_fixedframe_tickinterval;
|
2022-04-14 19:18:59 +02:00
|
|
|
extern ConVar* single_frame_shutdown_for_reload;
|
2022-04-30 03:30:16 +02:00
|
|
|
extern ConVar* old_gather_props;
|
2022-08-13 20:21:32 +02:00
|
|
|
extern ConVar* cm_unset_all_cmdquery;
|
2022-05-01 21:09:05 +02:00
|
|
|
|
2023-01-24 12:05:09 +01:00
|
|
|
extern ConVar* enable_debug_overlays;
|
|
|
|
extern ConVar* debug_draw_box_depth_test;
|
|
|
|
|
2022-09-22 15:00:01 +02:00
|
|
|
extern ConVar* developer;
|
|
|
|
|
2022-05-01 01:32:23 +02:00
|
|
|
extern ConVar* staticProp_defaultBuildFrustum;
|
2022-05-01 21:09:05 +02:00
|
|
|
extern ConVar* staticProp_no_fade_scalar;
|
|
|
|
extern ConVar* staticProp_gather_size_weight;
|
|
|
|
|
|
|
|
extern ConVar* model_defaultFadeDistScale;
|
|
|
|
extern ConVar* model_defaultFadeDistMin;
|
2022-04-14 19:18:59 +02:00
|
|
|
|
|
|
|
extern ConVar* hostname;
|
2022-07-01 02:20:47 +02:00
|
|
|
extern ConVar* hostdesc;
|
2022-06-28 00:47:01 +02:00
|
|
|
extern ConVar* hostip;
|
2022-04-14 19:18:59 +02:00
|
|
|
extern ConVar* hostport;
|
|
|
|
extern ConVar* host_hasIrreversibleShutdown;
|
|
|
|
|
|
|
|
extern ConVar* mp_gamemode;
|
|
|
|
|
2023-01-30 00:04:11 +01:00
|
|
|
extern ConVar* curl_debug;
|
|
|
|
extern ConVar* ssl_verify_peer;
|
|
|
|
|
2022-02-06 15:54:52 +01:00
|
|
|
extern ConVar* rcon_address;
|
|
|
|
extern ConVar* rcon_password;
|
2022-04-29 20:12:54 +02:00
|
|
|
|
|
|
|
extern ConVar* r_debug_overlay_nodecay;
|
2022-07-10 14:30:28 +02:00
|
|
|
extern ConVar* r_debug_overlay_invisible;
|
|
|
|
extern ConVar* r_debug_overlay_wireframe;
|
2023-01-24 12:05:09 +01:00
|
|
|
extern ConVar* r_debug_draw_depth_test;
|
2022-04-29 20:12:54 +02:00
|
|
|
extern ConVar* r_drawWorldMeshes;
|
|
|
|
extern ConVar* r_drawWorldMeshesDepthOnly;
|
|
|
|
extern ConVar* r_drawWorldMeshesDepthAtTheEnd;
|
2022-07-20 22:50:55 +01:00
|
|
|
|
2023-01-22 12:09:12 +01:00
|
|
|
#ifndef DEDICATED
|
|
|
|
extern ConVar* r_visualizetraces;
|
|
|
|
extern ConVar* r_visualizetraces_duration;
|
|
|
|
#endif // !DEDICATED
|
|
|
|
|
2022-07-20 22:50:55 +01:00
|
|
|
extern ConVar* stream_overlay;
|
2022-07-21 17:05:19 +01:00
|
|
|
extern ConVar* stream_overlay_mode;
|
2021-12-25 22:36:38 +01:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// SERVER |
|
2022-07-21 14:48:50 +02:00
|
|
|
#ifndef CLIENT_DLL
|
2022-04-03 03:10:48 +02:00
|
|
|
extern ConVar* ai_ainDumpOnLoad;
|
|
|
|
extern ConVar* ai_ainDebugConnect;
|
2022-07-11 12:00:08 +02:00
|
|
|
extern ConVar* ai_script_nodes_draw;
|
2022-07-25 16:39:07 +02:00
|
|
|
extern ConVar* ai_script_nodes_draw_range;
|
2022-09-28 00:14:33 +02:00
|
|
|
extern ConVar* ai_script_nodes_draw_nearest;
|
2022-07-20 21:23:56 +02:00
|
|
|
|
2022-03-18 03:14:07 +01:00
|
|
|
extern ConVar* navmesh_always_reachable;
|
2022-07-20 21:23:56 +02:00
|
|
|
extern ConVar* navmesh_debug_type;
|
2022-07-22 12:44:33 +02:00
|
|
|
extern ConVar* navmesh_debug_tile_range;
|
2022-07-25 16:39:07 +02:00
|
|
|
extern ConVar* navmesh_debug_camera_range;
|
2022-07-21 14:48:50 +02:00
|
|
|
#ifndef DEDICATED
|
2022-07-20 21:23:56 +02:00
|
|
|
extern ConVar* navmesh_draw_bvtree;
|
2022-07-21 01:24:07 +02:00
|
|
|
extern ConVar* navmesh_draw_portal;
|
2022-07-21 14:48:50 +02:00
|
|
|
extern ConVar* navmesh_draw_polys;
|
2022-07-21 02:21:59 +02:00
|
|
|
extern ConVar* navmesh_draw_poly_bounds;
|
2022-07-22 12:44:33 +02:00
|
|
|
extern ConVar* navmesh_draw_poly_bounds_inner;
|
2022-07-21 14:48:50 +02:00
|
|
|
#endif // DEDICATED
|
2021-12-25 22:36:38 +01:00
|
|
|
extern ConVar* sv_showconnecting;
|
2023-01-26 21:20:11 +01:00
|
|
|
extern ConVar* sv_globalBanlist;
|
2022-05-24 19:26:05 +02:00
|
|
|
extern ConVar* sv_pylonVisibility;
|
2022-09-21 21:23:09 +02:00
|
|
|
extern ConVar* sv_pylonRefreshRate;
|
|
|
|
extern ConVar* sv_banlistRefreshRate;
|
|
|
|
extern ConVar* sv_statusRefreshRate;
|
2022-09-18 21:49:14 +01:00
|
|
|
extern ConVar* sv_forceChatToTeamOnly;
|
2022-07-30 00:54:33 +02:00
|
|
|
|
2022-09-15 01:37:45 +02:00
|
|
|
extern ConVar* sv_autoReloadRate;
|
2022-09-20 22:48:55 +02:00
|
|
|
extern ConVar* sv_quota_stringCmdsPerSecond;
|
2022-09-15 01:37:45 +02:00
|
|
|
|
2023-01-20 01:23:08 +01:00
|
|
|
extern ConVar* sv_simulateBots;
|
2023-01-24 00:53:45 +01:00
|
|
|
extern ConVar* sv_showhitboxes;
|
2023-01-20 01:23:08 +01:00
|
|
|
|
2023-01-29 16:07:02 +01:00
|
|
|
//#ifdef DEDICATED
|
2022-02-14 03:02:38 +01:00
|
|
|
extern ConVar* sv_rcon_debug;
|
2022-08-17 02:20:04 +02:00
|
|
|
extern ConVar* sv_rcon_sendlogs;
|
2022-02-06 15:54:52 +01:00
|
|
|
extern ConVar* sv_rcon_banpenalty;
|
|
|
|
extern ConVar* sv_rcon_maxfailures;
|
2022-02-08 16:32:00 +01:00
|
|
|
extern ConVar* sv_rcon_maxignores;
|
|
|
|
extern ConVar* sv_rcon_maxsockets;
|
2022-02-06 15:54:52 +01:00
|
|
|
extern ConVar* sv_rcon_whitelist_address;
|
2023-01-29 16:07:02 +01:00
|
|
|
//#endif // DEDICATED
|
2022-07-21 14:48:50 +02:00
|
|
|
#endif // CLIENT_DLL
|
2022-08-04 17:52:34 +02:00
|
|
|
extern ConVar* sv_visualizetraces;
|
2022-10-01 00:27:51 +02:00
|
|
|
extern ConVar* sv_visualizetraces_duration;
|
2022-08-18 02:15:23 +02:00
|
|
|
#if !defined (GAMEDLL_S0) && !defined (GAMEDLL_S1)
|
2022-08-04 17:52:34 +02:00
|
|
|
extern ConVar* bhit_enable;
|
2023-01-24 12:05:09 +01:00
|
|
|
extern ConVar* bhit_depth_test;
|
2022-08-04 17:52:34 +02:00
|
|
|
extern ConVar* bhit_abs_origin;
|
2022-08-18 02:15:23 +02:00
|
|
|
#endif // !GAMEDLL_S0 && !GAMEDLL_S1
|
2021-12-25 22:36:38 +01:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// CLIENT |
|
2022-02-08 16:32:00 +01:00
|
|
|
#ifndef DEDICATED
|
2022-08-17 11:50:40 +02:00
|
|
|
extern ConVar* cl_rcon_request_sendlogs;
|
2022-09-22 21:37:58 +02:00
|
|
|
extern ConVar* cl_quota_stringCmdsPerSecond;
|
2022-08-17 11:50:40 +02:00
|
|
|
|
2022-02-28 01:01:40 +01:00
|
|
|
extern ConVar* cl_showhoststats;
|
2022-09-12 00:44:03 +02:00
|
|
|
extern ConVar* cl_hoststats_invert_x;
|
|
|
|
extern ConVar* cl_hoststats_invert_y;
|
2022-02-28 01:01:40 +01:00
|
|
|
extern ConVar* cl_hoststats_offset_x;
|
|
|
|
extern ConVar* cl_hoststats_offset_y;
|
|
|
|
|
2022-01-08 02:05:33 +01:00
|
|
|
extern ConVar* cl_showsimstats;
|
2022-09-12 00:44:03 +02:00
|
|
|
extern ConVar* cl_simstats_invert_x;
|
|
|
|
extern ConVar* cl_simstats_invert_y;
|
2022-01-08 02:05:33 +01:00
|
|
|
extern ConVar* cl_simstats_offset_x;
|
|
|
|
extern ConVar* cl_simstats_offset_y;
|
|
|
|
|
2022-02-28 01:01:40 +01:00
|
|
|
extern ConVar* cl_showgpustats;
|
2022-09-12 00:44:03 +02:00
|
|
|
extern ConVar* cl_gpustats_invert_x;
|
|
|
|
extern ConVar* cl_gpustats_invert_y;
|
2022-01-08 02:05:33 +01:00
|
|
|
extern ConVar* cl_gpustats_offset_x;
|
|
|
|
extern ConVar* cl_gpustats_offset_y;
|
2022-01-17 23:20:03 +01:00
|
|
|
|
2022-07-01 22:33:48 +01:00
|
|
|
extern ConVar* cl_showmaterialinfo;
|
|
|
|
extern ConVar* cl_materialinfo_offset_x;
|
|
|
|
extern ConVar* cl_materialinfo_offset_y;
|
|
|
|
|
2022-08-13 21:38:44 +02:00
|
|
|
extern ConVar* cl_threaded_bone_setup;
|
|
|
|
|
2022-09-12 00:44:03 +02:00
|
|
|
extern ConVar* con_drawnotify;
|
|
|
|
extern ConVar* con_notifylines;
|
|
|
|
extern ConVar* con_notifytime;
|
|
|
|
|
|
|
|
extern ConVar* con_notify_invert_x;
|
|
|
|
extern ConVar* con_notify_invert_y;
|
|
|
|
extern ConVar* con_notify_offset_x;
|
|
|
|
extern ConVar* con_notify_offset_y;
|
|
|
|
|
|
|
|
extern ConVar* con_notify_script_server_clr;
|
|
|
|
extern ConVar* con_notify_script_client_clr;
|
|
|
|
extern ConVar* con_notify_script_ui_clr;
|
|
|
|
extern ConVar* con_notify_native_server_clr;
|
|
|
|
extern ConVar* con_notify_native_client_clr;
|
|
|
|
extern ConVar* con_notify_native_ui_clr;
|
|
|
|
extern ConVar* con_notify_native_engine_clr;
|
|
|
|
extern ConVar* con_notify_native_fs_clr;
|
|
|
|
extern ConVar* con_notify_native_rtech_clr;
|
|
|
|
extern ConVar* con_notify_native_ms_clr;
|
2022-11-27 10:19:23 +01:00
|
|
|
extern ConVar* con_notify_native_audio_clr;
|
|
|
|
extern ConVar* con_notify_native_video_clr;
|
2022-09-12 00:44:03 +02:00
|
|
|
extern ConVar* con_notify_netcon_clr;
|
|
|
|
extern ConVar* con_notify_common_clr;
|
|
|
|
extern ConVar* con_notify_warning_clr;
|
|
|
|
extern ConVar* con_notify_error_clr;
|
|
|
|
|
2022-10-19 16:10:36 +02:00
|
|
|
extern ConVar* con_max_lines;
|
|
|
|
extern ConVar* con_max_history;
|
2022-01-17 23:20:03 +01:00
|
|
|
extern ConVar* con_suggestion_limit;
|
2022-04-26 20:24:51 +02:00
|
|
|
extern ConVar* con_suggestion_showhelptext;
|
|
|
|
extern ConVar* con_suggestion_showflags;
|
|
|
|
extern ConVar* con_suggestion_flags_realtime;
|
2022-08-14 16:00:40 +02:00
|
|
|
|
|
|
|
extern ConVar* origin_disconnectWhenOffline;
|
2022-02-08 16:32:00 +01:00
|
|
|
#endif // !DEDICATED
|
2021-12-25 22:36:38 +01:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// FILESYSTEM |
|
2022-01-20 00:59:31 +01:00
|
|
|
extern ConVar* fs_warning_level_sdk;
|
2022-01-14 20:45:36 +01:00
|
|
|
extern ConVar* fs_show_warning_output;
|
2021-12-25 22:36:38 +01:00
|
|
|
extern ConVar* fs_packedstore_entryblock_stats;
|
2022-06-02 01:57:18 +02:00
|
|
|
extern ConVar* fs_packedstore_workspace;
|
2022-09-11 00:16:31 +02:00
|
|
|
extern ConVar* fs_packedstore_compression_level;
|
2022-11-17 20:37:55 +01:00
|
|
|
extern ConVar* fs_packedstore_max_helper_threads;
|
2021-12-25 22:36:38 +01:00
|
|
|
//-------------------------------------------------------------------------
|
2022-01-05 22:56:49 +01:00
|
|
|
// MATERIALSYSTEM |
|
2022-02-08 16:32:00 +01:00
|
|
|
#ifndef DEDICATED
|
2021-12-25 22:36:38 +01:00
|
|
|
extern ConVar* mat_showdxoutput;
|
2022-10-21 21:49:10 +02:00
|
|
|
extern ConVar* mat_alwaysComplain;
|
2022-02-08 16:32:00 +01:00
|
|
|
#endif // !DEDICATED
|
2021-12-25 22:36:38 +01:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// SQUIRREL |
|
|
|
|
extern ConVar* sq_showrsonloading;
|
|
|
|
extern ConVar* sq_showscriptloading;
|
|
|
|
extern ConVar* sq_showvmoutput;
|
|
|
|
extern ConVar* sq_showvmwarning;
|
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// NETCHANNEL |
|
2022-04-27 18:22:08 +02:00
|
|
|
extern ConVar* net_tracePayload;
|
|
|
|
extern ConVar* net_encryptionEnable;
|
|
|
|
extern ConVar* net_useRandomKey;
|
2022-04-14 19:18:59 +02:00
|
|
|
extern ConVar* net_usesocketsforloopback;
|
2022-09-20 02:00:52 +02:00
|
|
|
extern ConVar* net_processTimeBudget;
|
2022-09-20 22:48:55 +02:00
|
|
|
|
2022-07-01 10:29:27 +02:00
|
|
|
extern ConVar* pylon_matchmaking_hostname;
|
2022-08-27 18:57:56 +02:00
|
|
|
extern ConVar* pylon_host_update_interval;
|
2022-08-30 12:07:09 +02:00
|
|
|
extern ConVar* pylon_showdebuginfo;
|
2022-03-27 11:42:24 +02:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// RTECH API |
|
2022-08-22 21:15:46 +02:00
|
|
|
extern ConVar* rtech_debug;
|
2022-03-27 11:42:24 +02:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
// RUI |
|
2022-03-23 23:28:12 +01:00
|
|
|
#ifndef DEDICATED
|
|
|
|
extern ConVar* rui_drawEnable;
|
2022-08-13 21:38:44 +02:00
|
|
|
extern ConVar* rui_defaultDebugFontFace;
|
2022-03-23 23:28:12 +01:00
|
|
|
#endif // !DEDICATED
|
2022-11-27 20:44:17 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// MILES |
|
|
|
|
#ifndef DEDICATED
|
|
|
|
extern ConVar* miles_debug;
|
2023-02-12 00:05:27 +01:00
|
|
|
extern ConVar* miles_language;
|
2022-11-27 20:44:17 +00:00
|
|
|
#endif
|
2021-12-25 22:36:38 +01:00
|
|
|
|
2022-08-13 12:39:57 +02:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose:
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class CCvarUtilities
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
//bool IsCommand(const CCommand& args);
|
|
|
|
|
|
|
|
// Writes lines containing "set variable value" for all variables
|
|
|
|
// with the archive flag set to true.
|
|
|
|
//void WriteVariables(CUtlBuffer& buff, bool bAllVars);
|
|
|
|
|
|
|
|
// Returns the # of cvars with the server flag set.
|
|
|
|
int CountVariablesWithFlags(int flags);
|
|
|
|
|
|
|
|
// Enable cvars marked with FCVAR_DEVELOPMENTONLY
|
|
|
|
void EnableDevCvars();
|
|
|
|
|
|
|
|
// Lists cvars to console
|
|
|
|
void CvarList(const CCommand& args);
|
|
|
|
|
|
|
|
// Prints help text for cvar
|
|
|
|
void CvarHelp(const CCommand& args);
|
|
|
|
|
|
|
|
// Revert all cvar values
|
|
|
|
//void CvarRevert(const CCommand& args);
|
|
|
|
|
|
|
|
// Revert all cvar values
|
|
|
|
void CvarDifferences(const CCommand& args);
|
|
|
|
|
|
|
|
// Toggles a cvar on/off, or cycles through a set of values
|
|
|
|
//void CvarToggle(const CCommand& args);
|
|
|
|
|
|
|
|
// Finds commands with a specified flag.
|
|
|
|
void CvarFindFlags_f(const CCommand& args);
|
|
|
|
|
|
|
|
|
|
|
|
int CvarFindFlagsCompletionCallback(const char* partial, char commands[COMMAND_COMPLETION_MAXITEMS][COMMAND_COMPLETION_ITEM_LENGTH]);
|
|
|
|
|
|
|
|
private:
|
|
|
|
// just like Cvar_set, but optimizes out the search
|
|
|
|
//void SetDirect(ConVar* var, const char* value);
|
|
|
|
|
|
|
|
//bool IsValidToggleCommand(const char* cmd);
|
|
|
|
};
|
|
|
|
|
|
|
|
extern CCvarUtilities* cv;
|
|
|
|
|
2023-02-05 11:01:27 +01:00
|
|
|
class CCvar : public CBaseAppSystem< ICvar >
|
|
|
|
{ // Implementation in engine.
|
2022-01-09 16:14:17 +01:00
|
|
|
public:
|
2022-08-04 11:06:56 +02:00
|
|
|
unordered_map<string, ConCommandBase*> DumpToMap(void);
|
2022-08-13 12:39:57 +02:00
|
|
|
|
2022-08-13 19:41:45 +02:00
|
|
|
protected:
|
2022-08-13 12:39:57 +02:00
|
|
|
enum ConVarSetType_t
|
|
|
|
{
|
|
|
|
CONVAR_SET_STRING = 0,
|
|
|
|
CONVAR_SET_INT,
|
|
|
|
CONVAR_SET_FLOAT,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct QueuedConVarSet_t
|
|
|
|
{
|
|
|
|
ConVar* m_pConVar;
|
|
|
|
ConVarSetType_t m_nType;
|
|
|
|
int m_nInt;
|
|
|
|
float m_flFloat;
|
|
|
|
//CUtlString m_String; // !TODO:
|
|
|
|
};
|
|
|
|
|
2023-02-05 11:01:27 +01:00
|
|
|
class CCVarIteratorInternal : public ICVarIteratorInternal
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual void SetFirst(void) = 0; //0
|
|
|
|
virtual void Next(void) = 0; //1
|
|
|
|
virtual bool IsValid(void) = 0; //2
|
|
|
|
virtual ConCommandBase* Get(void) = 0; //3
|
|
|
|
|
|
|
|
CCvar* const m_pOuter;
|
|
|
|
CConCommandHash* const m_pHash;
|
|
|
|
CConCommandHash::CCommandHashIterator_t m_hashIter;
|
|
|
|
};
|
|
|
|
|
|
|
|
virtual CCVarIteratorInternal* FactoryInternalIterator(void) = 0;
|
|
|
|
|
|
|
|
friend class CCVarIteratorInternal;
|
|
|
|
friend class CCvarUtilities;
|
|
|
|
|
2022-08-13 12:39:57 +02:00
|
|
|
private:
|
|
|
|
CUtlVector< FnChangeCallback_t > m_GlobalChangeCallbacks;
|
2022-08-14 18:33:37 +02:00
|
|
|
char pad0[30]; //!TODO:
|
2022-08-13 12:39:57 +02:00
|
|
|
int m_nNextDLLIdentifier;
|
|
|
|
ConCommandBase* m_pConCommandList;
|
2022-08-13 19:41:45 +02:00
|
|
|
CConCommandHash m_CommandHash;
|
2022-08-14 18:33:37 +02:00
|
|
|
CUtlVector<void*> m_Unknown;
|
|
|
|
char pad2[32];
|
|
|
|
void* m_pCallbackStub;
|
|
|
|
void* m_pAllocFunc;
|
|
|
|
char pad3[16];
|
2022-08-13 12:39:57 +02:00
|
|
|
CUtlVector< QueuedConVarSet_t > m_QueuedConVarSets;
|
|
|
|
bool m_bMaterialSystemThreadSetAllowed;
|
2022-01-09 16:14:17 +01:00
|
|
|
};
|
|
|
|
|
2021-12-25 22:36:38 +01:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2022-08-13 19:41:45 +02:00
|
|
|
extern CCvar* g_pCVar;
|
2021-12-25 22:36:38 +01:00
|
|
|
|
2022-04-09 06:05:47 +02:00
|
|
|
/* ==== CCVAR =========================================================================================================================================================== */
|
2021-12-25 22:36:38 +01:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2022-05-13 14:53:25 +02:00
|
|
|
class VCVar : public IDetour
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2022-04-11 01:44:30 +02:00
|
|
|
virtual void GetAdr(void) const
|
2021-12-25 22:36:38 +01:00
|
|
|
{
|
2023-01-25 02:26:52 +01:00
|
|
|
LogVarAdr("g_pCVar", reinterpret_cast<uintptr_t>(g_pCVar));
|
2021-12-25 22:36:38 +01:00
|
|
|
}
|
2022-08-18 02:15:23 +02:00
|
|
|
virtual void GetFun(void) const { }
|
2022-04-18 03:35:08 +02:00
|
|
|
virtual void GetVar(void) const
|
|
|
|
{
|
2022-12-01 22:44:55 +01:00
|
|
|
g_pCVar = g_GameDll.FindPatternSIMD("48 83 EC 28 48 8B 05 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 85 C0 48 89 15")
|
|
|
|
.FindPatternSelf("48 8D 0D", CMemory::Direction::DOWN, 40).ResolveRelativeAddressSelf(0x3, 0x7).RCast<CCvar*>();
|
2023-02-06 02:15:01 +01:00
|
|
|
|
|
|
|
//g_pCVar = g_GameDll.FindPatternSIMD("40 53 48 83 EC 20 48 83 3D ?? ?? ?? ?? ?? 48 8B D9 74 09") // Actual CCvar, above is the vtable ptr.
|
|
|
|
//.FindPatternSelf("48 83 3D", CMemory::Direction::DOWN).ResolveRelativeAddressSelf(0x3, 0x8).RCast<CCvar*>();
|
2022-04-18 03:35:08 +02:00
|
|
|
}
|
2022-04-11 01:44:30 +02:00
|
|
|
virtual void GetCon(void) const { }
|
|
|
|
virtual void Attach(void) const { }
|
|
|
|
virtual void Detach(void) const { }
|
2021-12-25 22:36:38 +01:00
|
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|