mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Unbind the game from the platform system, which is useful when developing for or debugging the game. This was supposed to make it into the SDK back in 2021, but wasn't due to the ability to spoof usernames. This is no longer possible on servers requiring authentication as the player's name is actually checked along with the Nucleus ID.
500 lines
19 KiB
C++
500 lines
19 KiB
C++
|
|
#include "core/stdafx.h"
|
|
#include "const.h"
|
|
#include "tier0/commandline.h"
|
|
#include "tier1/cvar.h"
|
|
#include "tier1/cmd.h"
|
|
#include "tier1/NetAdr.h"
|
|
#include "tier2/curlutils.h" // For initializing the curl cvars.
|
|
#include "completion.h"
|
|
#include "callback.h"
|
|
#include "global.h"
|
|
|
|
|
|
ConVar curl_debug("curl_debug", "0", FCVAR_DEVELOPMENTONLY, "Determines whether or not to enable curl debug logging.", "1 = curl logs; 0 (zero) = no logs");
|
|
ConVar curl_timeout("curl_timeout", "15", FCVAR_DEVELOPMENTONLY, "Maximum time in seconds a curl transfer operation could take.");
|
|
ConVar ssl_verify_peer("ssl_verify_peer", "1", FCVAR_DEVELOPMENTONLY, "Verify the authenticity of the peer's SSL certificate.", "1 = curl verifies; 0 (zero) = no verification");
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ENGINE |
|
|
ConVar* single_frame_shutdown_for_reload = nullptr;
|
|
ConVar* old_gather_props = nullptr;
|
|
|
|
ConVar* enable_debug_overlays = nullptr;
|
|
ConVar* debug_draw_box_depth_test = nullptr;
|
|
|
|
ConVar* developer = nullptr;
|
|
ConVar* fps_max = nullptr;
|
|
ConVar* fps_max_vsync = nullptr;
|
|
|
|
#ifndef DEDICATED
|
|
ConVar* in_syncRT = nullptr;
|
|
#endif // !DEDICATED
|
|
|
|
ConVar* base_tickinterval_sp = nullptr;
|
|
ConVar* base_tickinterval_mp = nullptr;
|
|
|
|
ConVar* staticProp_no_fade_scalar = nullptr;
|
|
ConVar* staticProp_gather_size_weight = nullptr;
|
|
|
|
ConVar* model_defaultFadeDistScale = nullptr;
|
|
ConVar* model_defaultFadeDistMin = nullptr;
|
|
|
|
ConVar* ip_cvar = nullptr;
|
|
ConVar* hostname = nullptr;
|
|
ConVar* hostip = nullptr;
|
|
ConVar* hostport = nullptr;
|
|
|
|
ConVar* host_hasIrreversibleShutdown = nullptr;
|
|
ConVar* host_timescale = nullptr;
|
|
|
|
ConVar* mp_gamemode = nullptr;
|
|
|
|
#ifndef DEDICATED
|
|
ConVar* r_visualizetraces = nullptr;
|
|
ConVar* r_visualizetraces_duration = nullptr;
|
|
#endif // !DEDICATED
|
|
|
|
ConVar* stream_overlay = nullptr;
|
|
ConVar* stream_overlay_mode = nullptr;
|
|
|
|
ConVar* eula_version = nullptr;
|
|
ConVar* eula_version_accepted = nullptr;
|
|
|
|
ConVar* language_cvar = nullptr;
|
|
|
|
ConVar* voice_noxplat = nullptr;
|
|
|
|
ConVar* platform_user_id = nullptr;
|
|
|
|
#ifndef DEDICATED
|
|
ConVar* name_cvar = nullptr;
|
|
#endif // !DEDICATED
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// SERVER |
|
|
#ifndef CLIENT_DLL
|
|
ConVar* ai_script_nodes_draw = nullptr;
|
|
|
|
ConVar* sv_forceChatToTeamOnly = nullptr;
|
|
|
|
ConVar* sv_single_core_dedi = nullptr;
|
|
|
|
ConVar* sv_maxunlag = nullptr;
|
|
ConVar* sv_lagpushticks = nullptr;
|
|
ConVar* sv_clockcorrection_msecs = nullptr;
|
|
|
|
ConVar* sv_updaterate_sp = nullptr;
|
|
ConVar* sv_updaterate_mp = nullptr;
|
|
|
|
ConVar* sv_showhitboxes = nullptr;
|
|
ConVar* sv_stats = nullptr;
|
|
|
|
ConVar* sv_voiceEcho = nullptr;
|
|
ConVar* sv_voiceenable = nullptr;
|
|
ConVar* sv_alltalk = nullptr;
|
|
|
|
ConVar* sv_clampPlayerFrameTime = nullptr;
|
|
|
|
ConVar* playerframetimekick_margin = nullptr;
|
|
ConVar* playerframetimekick_decayrate = nullptr;
|
|
|
|
ConVar* player_userCmdsQueueWarning = nullptr;
|
|
ConVar* player_disallow_negative_frametime = nullptr;
|
|
|
|
#endif // !CLIENT_DLL
|
|
ConVar* sv_cheats = nullptr;
|
|
ConVar* sv_visualizetraces = nullptr;
|
|
ConVar* sv_visualizetraces_duration = nullptr;
|
|
ConVar* bhit_enable = nullptr;
|
|
//-----------------------------------------------------------------------------
|
|
// CLIENT |
|
|
#ifndef DEDICATED
|
|
ConVar* cl_updaterate_mp = nullptr;
|
|
|
|
ConVar* cl_threaded_bone_setup = nullptr;
|
|
|
|
ConVar* origin_disconnectWhenOffline = nullptr;
|
|
ConVar* discord_updatePresence = nullptr;
|
|
#endif // !DEDICATED
|
|
//-----------------------------------------------------------------------------
|
|
// FILESYSTEM |
|
|
ConVar* fs_showAllReads = nullptr;
|
|
//-----------------------------------------------------------------------------
|
|
// NETCHANNEL |
|
|
ConVar* net_usesocketsforloopback;
|
|
ConVar* net_data_block_enabled = nullptr;
|
|
ConVar* net_datablock_networkLossForSlowSpeed = nullptr;
|
|
ConVar* net_compressDataBlock = nullptr;
|
|
|
|
ConVar* net_showmsg = nullptr;
|
|
ConVar* net_blockmsg = nullptr;
|
|
ConVar* net_showpeaks = nullptr;
|
|
//-----------------------------------------------------------------------------
|
|
// RUI |
|
|
#ifndef DEDICATED
|
|
ConVar* rui_defaultDebugFontFace = nullptr;
|
|
#endif // !DEDICATED
|
|
//-----------------------------------------------------------------------------
|
|
// MILES |
|
|
#ifndef DEDICATED
|
|
ConVar* miles_language = nullptr;
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: initialize shipped ConVar's
|
|
//-----------------------------------------------------------------------------
|
|
void ConVar_InitShipped(void)
|
|
{
|
|
#ifndef CLIENT_DLL
|
|
ai_script_nodes_draw = g_pCVar->FindVar("ai_script_nodes_draw");
|
|
bhit_enable = g_pCVar->FindVar("bhit_enable");
|
|
#endif // !CLIENT_DLL
|
|
developer = g_pCVar->FindVar("developer");
|
|
fps_max = g_pCVar->FindVar("fps_max");
|
|
fps_max_vsync = g_pCVar->FindVar("fps_max_vsync");
|
|
base_tickinterval_sp = g_pCVar->FindVar("base_tickinterval_sp");
|
|
base_tickinterval_mp = g_pCVar->FindVar("base_tickinterval_mp");
|
|
fs_showAllReads = g_pCVar->FindVar("fs_showAllReads");
|
|
|
|
eula_version = g_pCVar->FindVar("eula_version");
|
|
eula_version_accepted = g_pCVar->FindVar("eula_version_accepted");
|
|
|
|
language_cvar = g_pCVar->FindVar("language");
|
|
voice_noxplat = g_pCVar->FindVar("voice_noxplat");
|
|
platform_user_id = g_pCVar->FindVar("platform_user_id");
|
|
#ifndef DEDICATED
|
|
name_cvar = g_pCVar->FindVar("name");
|
|
cl_updaterate_mp = g_pCVar->FindVar("cl_updaterate_mp");
|
|
cl_threaded_bone_setup = g_pCVar->FindVar("cl_threaded_bone_setup");
|
|
#endif // !DEDICATED
|
|
single_frame_shutdown_for_reload = g_pCVar->FindVar("single_frame_shutdown_for_reload");
|
|
enable_debug_overlays = g_pCVar->FindVar("enable_debug_overlays");
|
|
debug_draw_box_depth_test = g_pCVar->FindVar("debug_draw_box_depth_test");
|
|
model_defaultFadeDistScale = g_pCVar->FindVar("model_defaultFadeDistScale");
|
|
model_defaultFadeDistMin = g_pCVar->FindVar("model_defaultFadeDistMin");
|
|
#ifndef DEDICATED
|
|
miles_language = g_pCVar->FindVar("miles_language");
|
|
rui_defaultDebugFontFace = g_pCVar->FindVar("rui_defaultDebugFontFace");
|
|
in_syncRT = g_pCVar->FindVar("in_syncRT");
|
|
r_visualizetraces = g_pCVar->FindVar("r_visualizetraces");
|
|
r_visualizetraces_duration = g_pCVar->FindVar("r_visualizetraces_duration");
|
|
#endif // !DEDICATED
|
|
staticProp_no_fade_scalar = g_pCVar->FindVar("staticProp_no_fade_scalar");
|
|
staticProp_gather_size_weight = g_pCVar->FindVar("staticProp_gather_size_weight");
|
|
stream_overlay = g_pCVar->FindVar("stream_overlay");
|
|
stream_overlay_mode = g_pCVar->FindVar("stream_overlay_mode");
|
|
sv_cheats = g_pCVar->FindVar("sv_cheats");
|
|
sv_visualizetraces = g_pCVar->FindVar("sv_visualizetraces");
|
|
sv_visualizetraces_duration = g_pCVar->FindVar("sv_visualizetraces_duration");
|
|
old_gather_props = g_pCVar->FindVar("old_gather_props");
|
|
#ifndef DEDICATED
|
|
origin_disconnectWhenOffline = g_pCVar->FindVar("origin_disconnectWhenOffline");
|
|
discord_updatePresence = g_pCVar->FindVar("discord_updatePresence");
|
|
#endif // !DEDICATED
|
|
mp_gamemode = g_pCVar->FindVar("mp_gamemode");
|
|
ip_cvar = g_pCVar->FindVar("ip");
|
|
hostname = g_pCVar->FindVar("hostname");
|
|
hostip = g_pCVar->FindVar("hostip");
|
|
hostport = g_pCVar->FindVar("hostport");
|
|
host_hasIrreversibleShutdown = g_pCVar->FindVar("host_hasIrreversibleShutdown");
|
|
host_timescale = g_pCVar->FindVar("host_timescale");
|
|
|
|
net_data_block_enabled = g_pCVar->FindVar("net_data_block_enabled");
|
|
net_compressDataBlock = g_pCVar->FindVar("net_compressDataBlock");
|
|
net_datablock_networkLossForSlowSpeed = g_pCVar->FindVar("net_datablock_networkLossForSlowSpeed");
|
|
|
|
net_usesocketsforloopback = g_pCVar->FindVar("net_usesocketsforloopback");
|
|
|
|
net_showmsg = g_pCVar->FindVar("net_showmsg");
|
|
net_blockmsg = g_pCVar->FindVar("net_blockmsg");
|
|
net_showpeaks = g_pCVar->FindVar("net_showpeaks");
|
|
#ifndef CLIENT_DLL
|
|
sv_stats = g_pCVar->FindVar("sv_stats");
|
|
|
|
sv_maxunlag = g_pCVar->FindVar("sv_maxunlag");
|
|
sv_lagpushticks = g_pCVar->FindVar("sv_lagpushticks");
|
|
sv_clockcorrection_msecs = g_pCVar->FindVar("sv_clockcorrection_msecs");
|
|
|
|
sv_updaterate_sp = g_pCVar->FindVar("sv_updaterate_sp");
|
|
sv_updaterate_mp = g_pCVar->FindVar("sv_updaterate_mp");
|
|
|
|
sv_showhitboxes = g_pCVar->FindVar("sv_showhitboxes");
|
|
sv_forceChatToTeamOnly = g_pCVar->FindVar("sv_forceChatToTeamOnly");
|
|
|
|
sv_single_core_dedi = g_pCVar->FindVar("sv_single_core_dedi");
|
|
|
|
sv_voiceenable = g_pCVar->FindVar("sv_voiceenable");
|
|
sv_voiceEcho = g_pCVar->FindVar("sv_voiceEcho");
|
|
sv_alltalk = g_pCVar->FindVar("sv_alltalk");
|
|
|
|
sv_clampPlayerFrameTime = g_pCVar->FindVar("sv_clampPlayerFrameTime");
|
|
|
|
playerframetimekick_margin = g_pCVar->FindVar("playerframetimekick_margin");
|
|
playerframetimekick_decayrate = g_pCVar->FindVar("playerframetimekick_decayrate");
|
|
|
|
player_userCmdsQueueWarning = g_pCVar->FindVar("player_userCmdsQueueWarning");
|
|
player_disallow_negative_frametime = g_pCVar->FindVar("player_disallow_negative_frametime");
|
|
|
|
sv_updaterate_sp->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
sv_updaterate_mp->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
|
|
sv_showhitboxes->SetMin(-1); // Allow user to go over each entity manually without going out of bounds.
|
|
sv_showhitboxes->SetMax(NUM_ENT_ENTRIES - 1);
|
|
|
|
sv_forceChatToTeamOnly->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
sv_forceChatToTeamOnly->AddFlags(FCVAR_REPLICATED);
|
|
|
|
sv_single_core_dedi->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
|
|
ai_script_nodes_draw->SetValue(-1);
|
|
bhit_enable->SetValue(0);
|
|
#endif // !CLIENT_DLL
|
|
#ifndef DEDICATED
|
|
cl_updaterate_mp->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
|
|
cl_threaded_bone_setup->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
rui_defaultDebugFontFace->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
origin_disconnectWhenOffline->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
discord_updatePresence->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
#endif // !DEDICATED
|
|
fps_max_vsync->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
|
|
base_tickinterval_sp->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
base_tickinterval_mp->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
|
|
mp_gamemode->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
mp_gamemode->RemoveChangeCallback(mp_gamemode->m_fnChangeCallbacks[0]);
|
|
mp_gamemode->InstallChangeCallback(MP_GameMode_Changed_f, false);
|
|
net_usesocketsforloopback->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
#ifndef DEDICATED
|
|
language_cvar->InstallChangeCallback(LanguageChanged_f, false);
|
|
#endif // !DEDICATED
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: unregister/disable extraneous ConVar's.
|
|
//-----------------------------------------------------------------------------
|
|
void ConVar_PurgeShipped(void)
|
|
{
|
|
#ifdef DEDICATED
|
|
const char* pszToPurge[] =
|
|
{
|
|
"bink_materials_enabled",
|
|
"communities_enabled",
|
|
"community_frame_run",
|
|
"ime_enabled",
|
|
"origin_igo_mutes_sound_enabled",
|
|
"twitch_shouldQuery",
|
|
"voice_enabled",
|
|
};
|
|
|
|
for (size_t i = 0; i < SDK_ARRAYSIZE(pszToPurge); i++)
|
|
{
|
|
if (ConVar* pCVar = g_pCVar->FindVar(pszToPurge[i]))
|
|
{
|
|
pCVar->SetValue(0);
|
|
}
|
|
}
|
|
#endif // DEDICATED
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: clear all hostname ConVar's.
|
|
//-----------------------------------------------------------------------------
|
|
void ConVar_PurgeHostNames(void)
|
|
{
|
|
const char* pszHostNames[] =
|
|
{
|
|
"assetdownloads_hostname",
|
|
"communities_hostname",
|
|
"matchmaking_hostname",
|
|
"party_hostname",
|
|
"persistence_hostname",
|
|
"persistenceDef_hostname",
|
|
"pin_telemetry_hostname",
|
|
"publication_hostname",
|
|
"serverReports_hostname",
|
|
"skill_hostname",
|
|
"speechtotext_hostname",
|
|
"staticfile_hostname",
|
|
"stats_hostname",
|
|
"steamlink_hostname",
|
|
"subscription_hostname",
|
|
"users_hostname"
|
|
};
|
|
|
|
for (size_t i = 0; i < SDK_ARRAYSIZE(pszHostNames); i++)
|
|
{
|
|
if (ConVar* pCVar = g_pCVar->FindVar(pszHostNames[i]))
|
|
{
|
|
pCVar->SetValue(NET_IPV4_UNSPEC);
|
|
}
|
|
}
|
|
}
|
|
|
|
static ConCommand bhit("bhit", BHit_f, "Bullet-hit trajectory debug", FCVAR_DEVELOPMENTONLY | FCVAR_GAMEDLL);
|
|
|
|
#ifndef DEDICATED
|
|
static ConCommand line("line", Line_f, "Draw a debug line", FCVAR_DEVELOPMENTONLY | FCVAR_CHEAT);
|
|
static ConCommand sphere("sphere", Sphere_f, "Draw a debug sphere", FCVAR_DEVELOPMENTONLY | FCVAR_CHEAT);
|
|
static ConCommand capsule("capsule", Capsule_f, "Draw a debug capsule", FCVAR_DEVELOPMENTONLY | FCVAR_CHEAT);
|
|
#endif //!DEDICATED
|
|
|
|
// TODO: move VPK building code to separate file and place this in 'packedstore.cpp'
|
|
static ConCommand fs_vpk_mount("fs_vpk_mount", VPK_Mount_f, "Mount a VPK file for FileSystem usage", FCVAR_DEVELOPMENTONLY);
|
|
static ConCommand fs_vpk_unmount("fs_vpk_unmount", VPK_Unmount_f, "Unmount a VPK file and clear its cache", FCVAR_DEVELOPMENTONLY);
|
|
static ConCommand fs_vpk_pack("fs_vpk_pack", VPK_Pack_f, "Pack a VPK file from current workspace", FCVAR_DEVELOPMENTONLY);
|
|
static ConCommand fs_vpk_unpack("fs_vpk_unpack", VPK_Unpack_f, "Unpack all files from a VPK file", FCVAR_DEVELOPMENTONLY);
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: shipped ConCommand initialization
|
|
//-----------------------------------------------------------------------------
|
|
void ConCommand_InitShipped(void)
|
|
{
|
|
///------------------------------------------------------ [ CALLBACK SWAP ]
|
|
//-------------------------------------------------------------------------
|
|
// ENGINE DLL |
|
|
ConCommand* changelevel = g_pCVar->FindCommand("changelevel");
|
|
ConCommand* map = g_pCVar->FindCommand("map");
|
|
ConCommand* map_background = g_pCVar->FindCommand("map_background");
|
|
ConCommand* ss_map = g_pCVar->FindCommand("ss_map");
|
|
ConCommand* migrateme = g_pCVar->FindCommand("migrateme");
|
|
ConCommand* help = g_pCVar->FindCommand("help");
|
|
ConCommand* convar_list = g_pCVar->FindCommand("convar_list");
|
|
ConCommand* convar_differences = g_pCVar->FindCommand("convar_differences");
|
|
ConCommand* convar_findByFlags = g_pCVar->FindCommand("convar_findByFlags");
|
|
#ifndef DEDICATED
|
|
//-------------------------------------------------------------------------
|
|
// MATERIAL SYSTEM
|
|
ConCommand* mat_crosshair = g_pCVar->FindCommand("mat_crosshair"); // Patch callback function to working callback.
|
|
//-------------------------------------------------------------------------
|
|
// CLIENT DLL |
|
|
ConCommand* give = g_pCVar->FindCommand("give");
|
|
#endif // !DEDICATED
|
|
|
|
help->m_fnCommandCallback = CVHelp_f;
|
|
convar_list->m_fnCommandCallback = CVList_f;
|
|
convar_differences->m_fnCommandCallback = CVDiff_f;
|
|
convar_findByFlags->m_fnCommandCallback = CVFlag_f;
|
|
#ifndef CLIENT_DLL
|
|
changelevel->m_fnCommandCallback = Host_Changelevel_f;
|
|
#endif // !CLIENT_DLL
|
|
changelevel->m_fnCompletionCallback = Host_Changelevel_f_CompletionFunc;
|
|
|
|
map->m_fnCompletionCallback = Host_Map_f_CompletionFunc;
|
|
map_background->m_fnCompletionCallback = Host_Background_f_CompletionFunc;
|
|
ss_map->m_fnCompletionCallback = Host_SSMap_f_CompletionFunc;
|
|
|
|
#ifndef DEDICATED
|
|
mat_crosshair->m_fnCommandCallback = Mat_CrossHair_f;
|
|
give->m_fnCompletionCallback = Game_Give_f_CompletionFunc;
|
|
#endif // !DEDICATED
|
|
|
|
/// ------------------------------------------------------ [ FLAG REMOVAL ]
|
|
//-------------------------------------------------------------------------
|
|
if (!CommandLine()->CheckParm("-devsdk"))
|
|
{
|
|
const char* pszMaskedBases[] =
|
|
{
|
|
#ifndef DEDICATED
|
|
"connect",
|
|
"connectAsSpectator",
|
|
"connectWithKey",
|
|
"silentconnect",
|
|
"ping",
|
|
#endif // !DEDICATED
|
|
"launchplaylist",
|
|
"quit",
|
|
"exit",
|
|
"reload",
|
|
"restart",
|
|
"set",
|
|
"status",
|
|
"version",
|
|
};
|
|
|
|
for (size_t i = 0; i < SDK_ARRAYSIZE(pszMaskedBases); i++)
|
|
{
|
|
if (ConCommandBase* pCommandBase = g_pCVar->FindCommandBase(pszMaskedBases[i]))
|
|
{
|
|
pCommandBase->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
}
|
|
}
|
|
|
|
convar_list->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
convar_differences->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
convar_findByFlags->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
help->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
migrateme->RemoveFlags(FCVAR_SERVER_CAN_EXECUTE);
|
|
changelevel->RemoveFlags(FCVAR_DEVELOPMENTONLY);
|
|
map->RemoveFlags(FCVAR_DEVELOPMENTONLY | FCVAR_SERVER_CAN_EXECUTE);
|
|
map_background->RemoveFlags(FCVAR_DEVELOPMENTONLY | FCVAR_SERVER_CAN_EXECUTE);
|
|
ss_map->RemoveFlags(FCVAR_DEVELOPMENTONLY | FCVAR_SERVER_CAN_EXECUTE);
|
|
}
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: unregister extraneous ConCommand's.
|
|
//-----------------------------------------------------------------------------
|
|
void ConCommand_PurgeShipped(void)
|
|
{
|
|
#ifdef DEDICATED
|
|
const char* pszCommandToRemove[] =
|
|
{
|
|
"bind",
|
|
"bind_held",
|
|
"bind_list",
|
|
"bind_list_abilities",
|
|
"bind_US_standard",
|
|
"bind_held_US_standard",
|
|
"unbind",
|
|
"unbind_US_standard",
|
|
"unbindall",
|
|
"unbind_all_gamepad",
|
|
"unbindall_ignoreGamepad",
|
|
"unbind_batch",
|
|
"unbind_held",
|
|
"unbind_held_US_standard",
|
|
"uiscript_reset",
|
|
"getpos_bind",
|
|
"connect",
|
|
"silent_connect",
|
|
"ping",
|
|
"gameui_activate",
|
|
"gameui_hide",
|
|
"weaponSelectOrdnance",
|
|
"weaponSelectPrimary0",
|
|
"weaponSelectPrimary1",
|
|
"weaponSelectPrimary2",
|
|
"+scriptCommand1",
|
|
"-scriptCommand1",
|
|
"+scriptCommand2",
|
|
"-scriptCommand2",
|
|
"+scriptCommand3",
|
|
"-scriptCommand3",
|
|
"+scriptCommand4",
|
|
"-scriptCommand4",
|
|
"+scriptCommand5",
|
|
"-scriptCommand5",
|
|
"+scriptCommand6",
|
|
"-scriptCommand6",
|
|
"+scriptCommand7",
|
|
"-scriptCommand7",
|
|
"+scriptCommand8",
|
|
"-scriptCommand8",
|
|
"+scriptCommand9",
|
|
"-scriptCommand9",
|
|
};
|
|
|
|
for (size_t i = 0; i < SDK_ARRAYSIZE(pszCommandToRemove); i++)
|
|
{
|
|
ConCommandBase* pCommandBase = g_pCVar->FindCommandBase(pszCommandToRemove[i]);
|
|
|
|
if (pCommandBase)
|
|
{
|
|
g_pCVar->UnregisterConCommand(pCommandBase);
|
|
}
|
|
}
|
|
#endif // DEDICATED
|
|
} |