2021-12-25 22:36:38 +01:00
|
|
|
#include "core/stdafx.h"
|
|
|
|
#include "tier0/cvar.h"
|
|
|
|
#include "tier0/IConVar.h"
|
|
|
|
#include "engine/sys_dll2.h"
|
|
|
|
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// ENGINE |
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* cm_debug_cmdquery = nullptr;
|
|
|
|
ConVar* cm_return_false_cmdquery_all = nullptr;
|
|
|
|
ConVar* cm_return_false_cmdquery_cheats = nullptr;
|
|
|
|
ConVar* r_debug_overlay_nodecay = nullptr;
|
2022-02-06 15:54:52 +01:00
|
|
|
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* rcon_address = nullptr;
|
|
|
|
ConVar* rcon_password = nullptr;
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// SERVER |
|
2022-02-27 03:15:00 +01:00
|
|
|
ConVar* ai_dumpAINfileFromLoad = nullptr;
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* sv_showconnecting = nullptr;
|
|
|
|
ConVar* sv_pylonvisibility = nullptr;
|
2022-02-06 15:54:52 +01:00
|
|
|
|
2022-02-08 16:32:00 +01:00
|
|
|
#ifdef DEDICATED
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* sv_rcon_debug = nullptr;
|
|
|
|
ConVar* sv_rcon_banpenalty = nullptr; // TODO
|
|
|
|
ConVar* sv_rcon_maxfailures = nullptr;
|
|
|
|
ConVar* sv_rcon_maxignores = nullptr;
|
|
|
|
ConVar* sv_rcon_maxsockets = nullptr;
|
|
|
|
ConVar* sv_rcon_whitelist_address = nullptr;
|
2022-02-08 16:32:00 +01:00
|
|
|
#endif // DEDICATED
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// CLIENT |
|
2022-02-08 16:32:00 +01:00
|
|
|
#ifndef DEDICATED
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* cl_drawconsoleoverlay = nullptr;
|
|
|
|
ConVar* cl_consoleoverlay_lines = nullptr;
|
|
|
|
ConVar* cl_consoleoverlay_offset_x = nullptr;
|
|
|
|
ConVar* cl_consoleoverlay_offset_y = nullptr;
|
2022-02-17 18:00:29 +01:00
|
|
|
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* cl_conoverlay_script_server_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_script_client_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_script_ui_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_native_server_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_native_client_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_native_ui_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_native_engine_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_native_fs_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_native_rtech_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_native_ms_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_netcon_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_warning_clr = nullptr;
|
|
|
|
ConVar* cl_conoverlay_error_clr = nullptr;
|
2022-01-08 02:05:33 +01:00
|
|
|
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* cl_showsimstats = nullptr;
|
|
|
|
ConVar* cl_simstats_offset_x = nullptr;
|
|
|
|
ConVar* cl_simstats_offset_y = nullptr;
|
2022-01-08 02:05:33 +01:00
|
|
|
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* cl_showgpustats = nullptr;
|
|
|
|
ConVar* cl_gpustats_offset_x = nullptr;
|
|
|
|
ConVar* cl_gpustats_offset_y = nullptr;
|
2022-01-17 23:20:03 +01:00
|
|
|
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* con_max_size_logvector = nullptr;
|
|
|
|
ConVar* con_suggestion_limit = nullptr;
|
|
|
|
ConVar* con_suggestion_helptext = nullptr;
|
2022-02-08 16:32:00 +01:00
|
|
|
#endif // !DEDICATED
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// FILESYSTEM |
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* fs_warning_level_sdk = nullptr;
|
|
|
|
ConVar* fs_show_warning_output = nullptr;
|
|
|
|
ConVar* fs_packedstore_entryblock_stats = nullptr;
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// MATERIALSYSTEM |
|
2022-02-08 16:32:00 +01:00
|
|
|
#ifndef DEDICATED
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* mat_showdxoutput = nullptr;
|
2022-02-08 16:32:00 +01:00
|
|
|
#endif // !DEDICATED
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// SQUIRREL |
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* sq_showrsonloading = nullptr;
|
|
|
|
ConVar* sq_showscriptloading = nullptr;
|
|
|
|
ConVar* sq_showvmoutput = nullptr;
|
|
|
|
ConVar* sq_showvmwarning = nullptr;
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// NETCHANNEL |
|
2022-02-21 12:06:05 +01:00
|
|
|
ConVar* net_userandomkey = nullptr;
|
|
|
|
ConVar* r5net_matchmaking_hostname = nullptr;
|
|
|
|
ConVar* r5net_show_debug = nullptr;
|
2021-12-25 22:36:38 +01:00
|
|
|
|
2022-01-09 16:14:17 +01:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: finds base commands.
|
|
|
|
// Input : *pszCommandName -
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
ConCommandBase* CCVar::FindCommandBase(const char* pszCommandName)
|
|
|
|
{
|
2022-01-23 18:26:48 +01:00
|
|
|
static int index = 14;
|
|
|
|
return CallVFunc<ConCommandBase*>(index, this, pszCommandName);
|
2022-01-09 16:14:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: finds ConVars.
|
|
|
|
// Input : *pszVarName -
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
ConVar* CCVar::FindVar(const char* pszVarName)
|
|
|
|
{
|
2022-01-23 18:26:48 +01:00
|
|
|
static int index = 16;
|
|
|
|
return CallVFunc<ConVar*>(index, this, pszVarName);
|
2022-01-09 16:14:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: finds ConCommands.
|
|
|
|
// Input : *pszCommandName -
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
ConCommand* CCVar::FindCommand(const char* pszCommandName)
|
|
|
|
{
|
2022-01-23 18:26:48 +01:00
|
|
|
static int index = 18;
|
|
|
|
return CallVFunc<ConCommand*>(index, this, pszCommandName);
|
2022-01-09 16:14:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: iterates over all ConVars
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
CCVarIteratorInternal* CCVar::FactoryInternalIterator()
|
|
|
|
{
|
2022-01-23 18:26:48 +01:00
|
|
|
static int index = 41;
|
|
|
|
return CallVFunc<CCVarIteratorInternal*>(index, this);
|
2022-01-09 16:14:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: returns all ConVars
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
std::unordered_map<std::string, ConCommandBase*> CCVar::DumpToMap()
|
|
|
|
{
|
|
|
|
std::stringstream ss;
|
2022-01-15 15:25:19 +01:00
|
|
|
CCVarIteratorInternal* itint = FactoryInternalIterator(); // Allocate new InternalIterator.
|
2022-01-09 16:14:17 +01:00
|
|
|
|
|
|
|
std::unordered_map<std::string, ConCommandBase*> allConVars;
|
|
|
|
|
|
|
|
for (itint->SetFirst(); itint->IsValid(); itint->Next()) // Loop through all instances.
|
|
|
|
{
|
|
|
|
ConCommandBase* pCommand = itint->Get();
|
|
|
|
const char* pszCommandName = pCommand->m_pszName;
|
|
|
|
allConVars[pszCommandName] = pCommand;
|
|
|
|
}
|
|
|
|
|
|
|
|
return allConVars;
|
|
|
|
}
|
|
|
|
|
2021-12-25 22:36:38 +01:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2022-02-23 21:11:35 +01:00
|
|
|
std::vector<std::string> g_vsvCommandBases;
|
2022-01-10 01:31:25 +01:00
|
|
|
CCVar* g_pCVar = reinterpret_cast<CCVar*>(p_CEngineAPI_Connect.FindPatternSelf("48 8D 0D", ADDRESS::Direction::DOWN, 40).ResolveRelativeAddressSelf(0x3, 0x7).GetPtr());
|