diff --git a/src/component/game_console.cpp b/src/component/game_console.cpp index f7701add..0a1b7776 100644 --- a/src/component/game_console.cpp +++ b/src/component/game_console.cpp @@ -186,6 +186,19 @@ namespace game_console { input = utils::string::to_lower(input); + for (const auto& dvar : dvars::dvar_list) + { + if (match_compare(input, dvar, exact)) + { + suggestions.push_back(dvar); + } + + if (exact && suggestions.size() > 1) + { + return; + } + } + game::cmd_function_s* cmd = (*game::cmd_functions); while (cmd) { @@ -226,8 +239,8 @@ namespace game_console // check if using a prefixed '/' or not const auto input = con.buffer[1] && (con.buffer[0] == '/' || con.buffer[0] == '\\') - ? std::string(con.buffer).substr(1) - : std::string(con.buffer); + ? std::string(con.buffer).substr(1) + : std::string(con.buffer); if (!input.length()) { @@ -259,8 +272,25 @@ namespace game_console } else if (matches.size() == 1) { - draw_hint_box(1, dvars::con_inputHintBoxColor->current.vector); - draw_hint_text(0, matches[0].data(), dvars::con_inputCmdMatchColor->current.vector); + auto* const dvar = game::Dvar_FindVar(matches[0].data()); + const auto line_count = dvar ? 2 : 1; + + draw_hint_box(line_count, dvars::con_inputHintBoxColor->current.vector); + draw_hint_text(0, matches[0].data(), + dvar + ? dvars::con_inputDvarMatchColor->current.vector + : dvars::con_inputCmdMatchColor->current.vector); + + if (dvar) + { + const auto offset = (con.screen_max[0] - con.globals.x) / 2.5f; + + draw_hint_text(0, game::Dvar_ValueToString(dvar, nullptr, &dvar->current), + dvars::con_inputDvarValueColor->current.vector, offset); + draw_hint_text(1, " default", dvars::con_inputDvarInactiveValueColor->current.vector); + draw_hint_text(1, game::Dvar_ValueToString(dvar, nullptr, &dvar->reset), + dvars::con_inputDvarInactiveValueColor->current.vector, offset); + } strncpy_s(con.globals.auto_complete_choice, matches[0].data(), 64); con.globals.may_auto_complete = true; @@ -273,7 +303,18 @@ namespace game_console for (size_t i = 0; i < matches.size(); i++) { - draw_hint_text(static_cast(i), matches[i].data(), dvars::con_inputCmdMatchColor->current.vector); + auto* const dvar = game::Dvar_FindVar(matches[i].data()); + + draw_hint_text(static_cast(i), matches[i].data(), + dvar + ? dvars::con_inputDvarMatchColor->current.vector + : dvars::con_inputCmdMatchColor->current.vector); + + if (dvar) + { + draw_hint_text(static_cast(i), game::Dvar_ValueToString(dvar, nullptr, &dvar->current), + dvars::con_inputDvarValueColor->current.vector, offset); + } } strncpy_s(con.globals.auto_complete_choice, matches[0].data(), 64); diff --git a/src/dllmain.cpp b/src/dllmain.cpp index ac9975c7..c9aef3bd 100644 --- a/src/dllmain.cpp +++ b/src/dllmain.cpp @@ -20,7 +20,6 @@ DWORD WINAPI console(LPVOID) while (true) { - std::cout << "\n"; std::getline(std::cin, cmd); game_console::execute(cmd.data()); diff --git a/src/game/dvars.cpp b/src/game/dvars.cpp index 0f4818ea..c2c5550a 100644 --- a/src/game/dvars.cpp +++ b/src/game/dvars.cpp @@ -133,4 +133,1041 @@ namespace dvars return utils::string::va("unhandled dvar type '%i'", type); } } + + std::vector dvar_list = + { + "ai_corpseLimit", + "band_12players", + "band_18players", + "band_2players", + "band_4players", + "band_8players", + "ca_auto_signin", + "ca_do_mlc", + "ca_intra_only", + "ca_require_signin", + "ca_show_signup_request", + "cg_blood", + "cg_brass", + "cg_cursorHints", + "cg_drawBuildName", + "cg_drawCrosshair", + "cg_drawFPS", + "cg_drawFPSLabels", + "cg_drawMantleHint", + "cg_drawTurretCrosshair", + "cg_drawViewpos", + "cg_fov", + "cg_gameBoldMessageWidth", + "cg_gameMessageWidth", + "cg_headIconMinScreenRadius", + "cg_hintFadeTime", + "cg_hudDamageIconHeight", + "cg_hudDamageIconInScope", + "cg_hudDamageIconOffset", + "cg_hudDamageIconWidth", + "cg_hudGrenadeIconEnabledFlash", + "cg_hudGrenadeIconInScope", + "cg_hudGrenadeIconMaxRangeFlash", + "cg_hudGrenadeIconMaxRangeFrag", + "cg_invalidCmdHintDuration", + "cg_mapLocationSelectionCursorSpeed", + "cg_marks_ents_player_only", + "cg_scriptIconSize", + "cg_sprintMeterDisabledColor", + "cg_sprintMeterEmptyColor", + "cg_sprintMeterFullColor", + "cg_subtitleMinTime", + "cg_viewZSmoothingMax", + "cg_viewZSmoothingMin", + "cg_viewZSmoothingTime", + "cg_waterSheeting_distortionScaleFactor", + "cg_waterSheeting_magnitude", + "cg_waterSheeting_radius", + "cg_weaponCycleDelay", + "cl_anglespeedkey", + "cl_dirSelConvergenceTime", + "cl_force_paused", + "cl_freelook", + "cl_lessprint", + "cl_maxpackets", + "cl_modifiedDebugPlacement", + "cl_mouseAccel", + "cl_noprint", + "cl_packetdup", + "cl_paused", + "cl_pitchspeed", + "cl_showmouserate", + "cl_yawspeed", + "com_animCheck", + "com_cinematicEndInWhite", + "com_completionResolveCommand", + "com_errorResolveCommand", + "com_filter_output", + "com_maxfps", + "com_maxFrameTime", + "com_playerProfile", + "com_recommendedSet", + "commerce_dl_retry_step", + "commerce_manifest_file_max_retry_time", + "commerce_manifest_file_retry_step", + "commerce_max_dl_retry_time", + "commerce_max_retry_time", + "commerce_retry_step", + "compassSize", + "comscore_active", + "comscore_backoff", + "con_gameMsgWindow0FadeInTime", + "con_gameMsgWindow0FadeOutTime", + "con_gameMsgWindow0Filter", + "con_gameMsgWindow0LineCount", + "con_gameMsgWindow0MsgTime", + "con_gameMsgWindow0ScrollTime", + "con_gameMsgWindow1FadeInTime", + "con_gameMsgWindow1FadeOutTime", + "con_gameMsgWindow1Filter", + "con_gameMsgWindow1LineCount", + "con_gameMsgWindow1MsgTime", + "con_gameMsgWindow1ScrollTime", + "con_gameMsgWindow2FadeInTime", + "con_gameMsgWindow2FadeOutTime", + "con_gameMsgWindow2Filter", + "con_gameMsgWindow2LineCount", + "con_gameMsgWindow2MsgTime", + "con_gameMsgWindow2ScrollTime", + "con_gameMsgWindow3FadeInTime", + "con_gameMsgWindow3FadeOutTime", + "con_gameMsgWindow3Filter", + "con_gameMsgWindow3LineCount", + "con_gameMsgWindow3MsgTime", + "con_gameMsgWindow3ScrollTime", + "con_inputBoxColor", + "con_inputCmdMatchColor", + "con_inputDvarInactiveValueColor", + "con_inputDvarMatchColor", + "con_inputDvarValueColor", + "con_inputHintBoxColor", + "con_outputBarColor", + "con_outputSliderColor", + "con_outputWindowColor", + "con_typewriterColorGlowCheckpoint", + "con_typewriterColorGlowCompleted", + "con_typewriterColorGlowFailed", + "con_typewriterColorGlowUpdated", + "con_typewriterDecayDuration", + "con_typewriterDecayStartTime", + "con_typewriterPrintSpeed", + "counterDownloadInterval", + "counterUploadInterval", + "dc_lobbymerge", + "dedicated_dhclient", + "demonwareConsideredConnectedTime", + "developer", + "discard_playerstats_on_suspend", + "dw_addrHandleTimeout", + "dw_leaderboard_write_active", + "dw_presence_active", + "dw_presence_coop_join_active", + "dw_presence_get_delay", + "dw_presence_get_rate", + "dw_presence_put_delay", + "dw_presence_put_rate", + "dw_shared_presence_active", + "dw_shared_presence_get_delay", + "dw_shared_presence_get_rate", + "dw_shared_presence_put_delay", + "dw_shared_presence_put_rate", + "dwBandwidthTestTaskTimeout", + "dynEnt_active", + "elite_clan_active", + "elite_clan_cool_off_time", + "elite_clan_delay", + "elite_clan_division_icon_active", + "elite_clan_get_blob_profile_max_retry_time", + "elite_clan_get_blob_profile_retry_step", + "elite_clan_get_clan_max_retry_time", + "elite_clan_get_clan_retry_step", + "elite_clan_get_members_max_retry_time", + "elite_clan_get_members_retry_step", + "elite_clan_get_private_member_profile_max_retry_time", + "elite_clan_get_private_member_profile_retry_step", + "elite_clan_get_public_profile_max_retry_time", + "elite_clan_get_public_profile_retry_step", + "elite_clan_get_team_stats_max_retry_time", + "elite_clan_get_team_stats_retry_step", + "elite_clan_motd_throttle_time", + "elite_clan_send_message_to_members_max_retry_time", + "elite_clan_send_message_to_members_retry_step", + "elite_clan_set_private_member_profile_max_retry_time", + "elite_clan_set_private_member_profile_retry_step", + "elite_clan_single_task_popup_text", + "elite_clan_using_title", + "enable_recordRecentActivity", + "enable_video_options_preload_shader_controls", + "entitlements_active", + "entitlements_config_file_max_retry_time", + "entitlements_config_file_retry_step", + "entitlements_cool_off_time", + "entitlements_delay", + "entitlements_key_archive_max_retry_time", + "entitlements_key_archive_retry_step", + "entitlementSystemOk", + "facebook_active", + "facebook_delay", + "facebook_friends_active", + "facebook_friends_max_retry_time", + "facebook_friends_refresh_time", + "facebook_friends_retry_step", + "facebook_friends_showing_count", + "facebook_friends_throttle_time", + "facebook_max_retry_time", + "facebook_password", + "facebook_password_asterisk", + "facebook_popup_text", + "facebook_retry_step", + "facebook_upload_photo_active", + "facebook_upload_video_active", + "facebook_username", + "fixedtime", + "fs_basegame", + "fs_basepath", + "fs_basepath_output", + "fs_cdpath", + "fs_copyfiles", + "fs_debug", + "fs_game", + "fs_homepath", + "fs_ignoreLocalized", + "fx_alphaThreshold", + "fx_cast_shadow", + "fx_cull_elem_draw", + "fx_cull_elem_spawn", + "fx_deferelem", + "fx_draw", + "fx_draw_omniLight", + "fx_draw_spotLight", + "fx_drawClouds", + "fx_enable", + "fx_flare", + "fx_killEffectOnRewind", + "fx_lightGridSampleOffset", + "fx_mark_profile", + "fx_marks", + "fx_marks_ents", + "fx_marks_nearlimit", + "fx_marks_smodels", + "fx_physicsImpactVelocityThreshold", + "fx_profile", + "fx_profileFilter", + "fx_profileFilterElemCountZero", + "fx_profileSkip", + "fx_profileSort", + "fx_visMinTraceDist", + "gamedvr_active", + "gameMode", + "glass_angular_vel", + "glass_break", + "glass_crack_pattern_scale", + "glass_edge_angle", + "glass_fall_delay", + "glass_fall_gravity", + "glass_fall_ratio", + "glass_fringe_maxcoverage", + "glass_fringe_maxsize", + "glass_fx_chance", + "glass_hinge_friction", + "glass_linear_vel", + "glass_max_pieces_per_frame", + "glass_max_shatter_fx_per_frame", + "glass_physics_chance", + "glass_physics_maxdist", + "glass_shard_maxsize", + "glass_shattered_scale", + "glass_trace_interval", + "gpad_button_deadzone", + "gpad_dpadDebounceTime", + "gpad_menu_scroll_delay_first", + "gpad_menu_scroll_delay_rest_accel", + "gpad_menu_scroll_delay_rest_end", + "gpad_menu_scroll_delay_rest_start", + "gpad_stick_deadzone_max", + "gpad_stick_deadzone_min", + "gpad_stick_pressed", + "gpad_stick_pressed_hysteresis", + "groupDownloadInterval", + "groupUploadInterval", + "hiDef", + "hud_deathQuoteFadeTime", + "hud_fade_healthbar", + "hud_fade_sprint", + "hud_flash_period_offhand", + "hud_flash_time_offhand", + "hud_health_pulserate_critical", + "hud_health_pulserate_injured", + "hud_health_startpulse_critical", + "hud_health_startpulse_injured", + "igs_sosp", + "igs_td", + "in_mouse", + "intro", + "lb_filter", + "lb_maxrows", + "lb_minrefresh", + "lb_readDelay", + "lb_throttle_time", + "lb_times_in_window", + "lb_window", + "live_displayVACSpecificLogOnMsg", + "live_qosec_firstupdatems", + "live_qosec_lastupdatems", + "live_qosec_minpercent", + "live_qosec_minprobes", + "liveanticheatunknowndvar", + "livestreaming_active", + "loading_sre_fatal", + "loc_language", + "loc_translate", + "log_host_migration_chance", + "lsp_enumertion_max_retry_time", + "lsp_enumertion_retry_step", + "lui_FFotDSupportEnabled", + "lui_hud_motion_angle_ease_speed", + "lui_hud_motion_bob_scale", + "lui_hud_motion_enabled", + "lui_hud_motion_perspective", + "lui_hud_motion_rotation_max", + "lui_hud_motion_rotation_scale", + "lui_hud_motion_trans_ease_speed", + "lui_hud_motion_translation_max", + "lui_hud_motion_translation_scale", + "LUI_MemErrorsFatal", + "lui_menuFlowEnabled", + "lui_splitscreensignin_menu", + "lui_splitscreenupscaling", + "lui_systemlink_menu", + "lui_waitingforgavelmessagesconfirmed", + "lui_waitingfornetworktype", + "lui_waitingforonlinedatafetch_controller", + "LUI_WorkerCmdGC", + "lui_xboxlive_menu", + "m_filter", + "m_forward", + "m_pitch", + "m_side", + "m_yaw", + "mapname", + "marketing_active", + "marketing_refresh_time", + "matchdata_active", + "matchdata_maxcompressionbuffer", + "matchmaking_debug", + "maxPrestigeOverride", + "maxVoicePacketsPerSec", + "maxVoicePacketsPerSecForServer", + "mdsd", + "monkeytoy", + "motd", + "motd_store_link", + "name", + "net_ip", + "net_noudp", + "net_port", + "net_socksEnabled", + "net_socksPassword", + "net_socksPort", + "net_socksServer", + "net_socksUsername", + "nextmap", + "num_available_map_packs", + "phys_autoDisableLinear", + "phys_autoDisableTime", + "phys_bulletSpinScale", + "phys_bulletUpBias", + "phys_dragAngular", + "phys_dragLinear", + "phys_gravity", + "phys_gravity_ragdoll", + "phys_gravityChangeWakeupRadius", + "phys_jitterMaxMass", + "physVeh_explodeForce", + "physVeh_explodeSpinScale", + "physVeh_jump", + "physVeh_minContactImpulse", + "physVeh_minImpactMomentum", + "physVeh_StepsPerFrame", + "prestige30EasterEggEnabled", + "prestige_shop_active", + "profileMenuOption_blacklevel", + "profileMenuOption_offensiveContentMode", + "profileMenuOption_safeAreaHorz", + "profileMenuOption_safeAreaVert", + "profileMenuOption_volume", + "publisherFileFetchTimeout", + "r_aaMaxQuality", + "r_aaSamples", + "r_adapter", + "r_adapterName", + "r_adaptiveSubdiv", + "r_adaptiveSubdivBaseFactor", + "r_adaptiveSubdivPatchFactor", + "r_amdGPU", + "r_aoBlurSharpness", + "r_aoBlurStep", + "r_aoDiminish", + "r_aoPower", + "r_aoStrength", + "r_aoUseTweaks", + "r_artUseTweaks", + "r_aspectRatio", + "r_asyncCompute", + "r_atlasAnimFPS", + "r_autoPriority", + "r_balanceLightmapOpaqueLists", + "r_blacklevel", + "r_blur", + "r_blurdstGaussianBlurLevel", + "r_blurdstGaussianBlurRadius", + "r_brightness", + "r_cacheModelLighting", + "r_cacheSModelLighting", + "r_charLightAmbient", + "r_clampLodScale", + "r_clear", + "r_clearColor", + "r_clearColor2", + "r_clutCompositeVisionSet", + "r_cmdbuf_worker", + "r_colorGradingEnable", + "r_colorMap", + "r_colorScaleUseTweaks", + "r_combinePostOpaqueFx", + "r_contrast", + "r_darkBlur", + "r_darkBlurPower", + "r_darkBlurRadius", + "r_darkColor", + "r_darkColorPower", + "r_debugLineWidth", + "r_defaultPatchCount", + "r_depthPrepass", + "r_depthSortEnable", + "r_depthSortRange", + "r_desaturation", + "r_detailMap", + "r_diffuseColorScale", + "r_displacementMap", + "r_displacementPatchCount", + "r_distortion", + "r_distortion_script_force_off", + "r_dlightForceLimit", + "r_dlightLimit", + "r_dof_bias", + "r_dof_enable", + "r_dof_farBlur", + "r_dof_farEnd", + "r_dof_farStart", + "r_dof_limit", + "r_dof_nearBlur", + "r_dof_nearEnd", + "r_dof_nearStart", + "r_dof_physical_adsFocusSpeed", + "r_dof_physical_adsMaxFstop", + "r_dof_physical_adsMinFstop", + "r_dof_physical_bokehEnable", + "r_dof_physical_bokehPreset", + "r_dof_physical_bokehRotation", + "r_dof_physical_bokehShape", + "r_dof_physical_bokehSharpness", + "r_dof_physical_enable", + "r_dof_physical_filmDiagonal", + "r_dof_physical_focusDistance", + "r_dof_physical_fstop", + "r_dof_physical_hipEnable", + "r_dof_physical_hipFocusSpeed", + "r_dof_physical_hipFstop", + "r_dof_physical_hipSharpCocDiameter", + "r_dof_physical_maxCocDiameter", + "r_dof_physical_minFocusDistance", + "r_dof_physical_viewModelFocusDistance", + "r_dof_physical_viewModelFstop", + "r_dof_tweak", + "r_dof_viewModelEnd", + "r_dof_viewModelStart", + "r_drawWater", + "r_dynamicOPL", + "r_dynamicSpotLightShadows", + "r_elevatedPriority", + "r_emblemBrightnessScale", + "r_emissiveMap", + "r_envBrdfLutMap", + "r_envMapExponent", + "r_envMapMaxIntensity", + "r_envMapMinIntensity", + "r_envMapOverride", + "r_envMapSunIntensity", + "r_eyePupil", + "r_eyeRedness", + "r_eyeWetness", + "r_fastModelPrimaryLightCheck", + "r_fastModelPrimaryLightLink", + "r_fill_texture_memory", + "r_filmAltShader", + "r_filmTweakBrightness", + "r_filmTweakContrast", + "r_filmTweakDarkTint", + "r_filmTweakDesaturation", + "r_filmTweakDesaturationDark", + "r_filmTweakEnable", + "r_filmTweakInvert", + "r_filmTweakLightTint", + "r_filmTweakMediumTint", + "r_filmUseTweaks", + "r_floatZCopy", + "r_flushAfterExecute", + "r_fog", + "r_fog_depthhack_scale", + "r_fog_ev_adjust", + "r_forceLod", + "r_fullscreen", + "r_fullscreenWindow", + "r_fxaaSubpixel", + "r_FXAverageColorFunc", + "r_globalGenericMaterialScale", + "r_glow_allowed", + "r_glow_allowed_script_forced", + "r_gunSightColorEntityScale", + "r_gunSightColorNoneScale", + "r_hbaoBias", + "r_hbaoBlurEnable", + "r_hbaoBlurSharpness", + "r_hbaoCoarseAO", + "r_hbaoDetailAO", + "r_hbaoRadius", + "r_hbaoSceneScale", + "r_hbaoStrengthBlend", + "r_hbaoStrengthFixed", + "r_hbaoStrengthScale", + "r_hemiAoBlurTolerance", + "r_hemiAoCombineResolutionsBeforeBlur", + "r_hemiAoCombineResolutionsWithMul", + "r_hemiAoDepthSquash", + "r_hemiAoEnable", + "r_hemiAoHierarchyDepth", + "r_hemiAoMaxDepthDownsample", + "r_hemiAoNoiseFilterTolerance", + "r_hemiAoPower", + "r_hemiAoQualityLevel", + "r_hemiAoRejectionFalloff", + "r_hemiAoStrength", + "r_hemiAoUpsampleTolerance", + "r_heroLighting", + "r_highLodDist", + "r_hudFx", + "r_ignore", + "r_ignoref", + "r_image_cache_copy_memory_budget", + "r_image_cache_copy_number_budget", + "r_image_cache_create_memory_budget", + "r_image_cache_delay_ms", + "r_image_cache_delete_until_available", + "r_image_cache_keep_lower_mips", + "r_image_cache_make_staging_texture", + "r_image_cache_mass_remove_threshold", + "r_image_cache_throttle_ms", + "r_inGameVideo", + "r_lateAllocParamCacheAllowed", + "r_lateAllocParamCacheDefault", + "r_lateAllocParamCacheDisplacement", + "r_lateAllocParamCacheSubdiv", + "r_lightCacheLessFrequentMaxDistance", + "r_lightCacheLessFrequentPeriod", + "r_lightGridAvgApplyPrimaryLight", + "r_lightGridAvgFollowCamera", + "r_lightGridAvgProbeCount", + "r_lightGridAvgTraceGround", + "r_lightGridContrast", + "r_lightGridDefaultFXLightingLookup", + "r_lightGridDefaultModelLightingLookup", + "r_lightGridEnableTweaks", + "r_lightGridIntensity", + "r_lightGridSHBands", + "r_lightGridUseTweakedValues", + "r_lightMap", + "r_litSurfaceHDRScalar", + "r_loadForRenderer", + "r_lockPvs", + "r_lod4Dist", + "r_lod5Dist", + "r_lodBiasRigid", + "r_lodBiasSkinned", + "r_lodLimit", + "r_lodScaleRigid", + "r_lodScaleSkinned", + "r_lowestLodDist", + "r_lowLodDist", + "r_mbFastEnable", + "r_mbFastPreset", + "r_mbLimit", + "r_mdao", + "r_mdaoAsyncOccluderGen", + "r_mdaoBoneInfluenceRadiusScale", + "r_mdaoCapsuleStrength", + "r_mdaoLimit", + "r_mdaoMinBoneBoundsToOcclude", + "r_mdaoOccluderCullDistance", + "r_mdaoOccluderFadeOutStartDistance", + "r_mdaoUseTweaks", + "r_mdaoVolumeStrength", + "r_mediumLodDist", + "r_mode", + "r_modelLightingMap", + "r_monitor", + "r_mpRimColor", + "r_mpRimDiffuseTint", + "r_mpRimStrength", + "r_msaa_downsample", + "r_multiGPU", + "r_normalMap", + "r_numGPUs", + "r_nvidiaGPU", + "r_offchipTessellationAllowed", + "r_offchipTessellationTfThreshold", + "r_offchipTessellationWaveThreshold", + "r_omitUnusedRenderTargets", + "r_outdoor", + "r_outdoorFeather", + "r_particleHdr", + "r_patchCountAllowed", + "r_picmip", + "r_picmip_bump", + "r_picmip_spec", + "r_picmip_water", + "r_polygonOffsetBias", + "r_polygonOffsetClamp", + "r_polygonOffsetScale", + "r_portalBevels", + "r_portalBevelsOnly", + "r_portalMinClipArea", + "r_portalMinRecurseDepth", + "r_portalWalkLimit", + "r_postAA", + "r_postfx_enable", + "r_preloadShaders", + "r_preloadShadersWNDTOO", + "r_primaryLightTweakDiffuseStrength", + "r_primaryLightTweakSpecularStrength", + "r_primaryLightUseTweaks", + "r_reactiveMotionActorRadius", + "r_reactiveMotionActorVelocityMax", + "r_reactiveMotionActorZOffset", + "r_reactiveMotionEffectorStrengthScale", + "r_reactiveMotionHelicopterLimit", + "r_reactiveMotionHelicopterRadius", + "r_reactiveMotionHelicopterStrength", + "r_reactiveMotionPlayerHeightAdjust", + "r_reactiveMotionPlayerRadius", + "r_reactiveMotionPlayerZOffset", + "r_reactiveMotionVelocityTailScale", + "r_reactiveMotionWindAmplitudeScale", + "r_reactiveMotionWindAreaScale", + "r_reactiveMotionWindDir", + "r_reactiveMotionWindFrequencyScale", + "r_reactiveMotionWindStrength", + "r_reflectionProbeMap", + "r_reflectionProbeNmlLuminance", + "r_refreshRate", + "r_rimLight0Color", + "r_rimLight0Heading", + "r_rimLight0Pitch", + "r_rimLightBias", + "r_rimLightDiffuseIntensity", + "r_rimLightFalloffMaxDistance", + "r_rimLightFalloffMinDistance", + "r_rimLightFalloffMinIntensity", + "r_rimLightPower", + "r_rimLightSpecIntensity", + "r_rimLightUseTweaks", + "r_scaleViewport", + "r_sceneMipShowOverlay", + "r_showLightGrid", + "r_showLightGridAvgProbes", + "r_showLightGridDetailInfo", + "r_showLightProbes", + "r_showMissingLightGrid", + "r_showModelLightingLowWaterMark", + "r_showPortals", + "r_showPortalsOverview", + "r_showReflectionProbeSelection", + "r_skipPvs", + "r_skyFogUseTweaks", + "r_smaaFilmicStrength", + "r_smaaThreshold", + "r_smodelInstancedRenderer", + "r_smodelInstancedThreshold", + "r_smp_backend", + "r_smp_worker", + "r_smp_worker_thread0", + "r_smp_worker_thread1", + "r_smp_worker_thread2", + "r_smp_worker_thread3", + "r_smp_worker_thread4", + "r_smp_worker_thread5", + "r_smp_worker_thread6", + "r_smp_worker_thread7", + "r_specOccMap", + "r_specularColorScale", + "r_specularMap", + "r_spotLightEntityShadows", + "r_spotLightShadows", + "r_ssaaSamples", + "r_ssao", + "r_ssaoDebug", + "r_ssaoDebugMip", + "r_ssaoDepthScale", + "r_ssaoDepthScaleViewModel", + "r_ssaoDownsample", + "r_ssaoFadeDepth", + "r_ssaoGapFalloff", + "r_ssaoGradientFalloff", + "r_ssaoLimit", + "r_ssaoMaxStrengthDepth", + "r_ssaoMethod", + "r_ssaoMinPixelWidth", + "r_ssaoMinStrengthDepth", + "r_ssaoMultiRes", + "r_ssaoPower", + "r_ssaoRejectDepth", + "r_ssaoSampleCount", + "r_ssaoScriptScale", + "r_ssaoStrength", + "r_ssaoUseTweaks", + "r_ssaoWidth", + "r_sse_skinning", + "r_ssrBlendScale", + "r_ssrFadeInDuration", + "r_ssrPositionCorrection", + "r_ssrRoughnessMipParameters", + "r_sssBlendWeight", + "r_sssDebugMaterial", + "r_sssEnable", + "r_sssGlobalRadius", + "r_sssJitterRadius", + "r_sssLimit", + "r_sssNarrowRadius", + "r_sssPreset", + "r_sssWideRadius", + "r_subdiv", + "r_subdivLimit", + "r_subdivPatchCount", + "r_subdomainLimit", + "r_subdomainScale", + "r_subwindow", + "r_sun_from_dvars", + "r_sun_fx_position", + "r_sunblind_fadein", + "r_sunblind_fadeout", + "r_sunblind_max_angle", + "r_sunblind_max_darken", + "r_sunblind_min_angle", + "r_sunflare_fadein", + "r_sunflare_fadeout", + "r_sunflare_max_alpha", + "r_sunflare_max_angle", + "r_sunflare_max_size", + "r_sunflare_min_angle", + "r_sunflare_min_size", + "r_sunflare_shader", + "r_sunglare_fadein", + "r_sunglare_fadeout", + "r_sunglare_max_angle", + "r_sunglare_max_lighten", + "r_sunglare_min_angle", + "r_sunInfDist", + "r_sunshadowmap_cmdbuf_worker", + "r_sunsprite_shader", + "r_sunsprite_size", + "r_surfaceHDRScalarUseTweaks", + "r_tessellation", + "r_tessellationCutoffDistance", + "r_tessellationCutoffFalloff", + "r_tessellationEyeScale", + "r_tessellationFactor", + "r_tessellationHeightAuto", + "r_tessellationHeightScale", + "r_tessellationHybrid", + "r_tessellationLodBias", + "r_texFilterAnisoMax", + "r_texFilterAnisoMin", + "r_texFilterDisable", + "r_texFilterMipBias", + "r_texFilterMipMode", + "r_texFilterProbeBilinear", + "r_texShowMipMode", + "r_thermalColorOffset", + "r_thermalColorScale", + "r_thermalDetailScale", + "r_thermalFadeColor", + "r_thermalFadeControl", + "r_thermalFadeMax", + "r_thermalFadeMin", + "r_tonemap", + "r_tonemapAdaptSpeed", + "r_tonemapAuto", + "r_tonemapAutoExposureAdjust", + "r_tonemapBlack", + "r_tonemapBlend", + "r_tonemapCrossover", + "r_tonemapDarkEv", + "r_tonemapDarkExposureAdjust", + "r_tonemapExposure", + "r_tonemapExposureAdjust", + "r_tonemapGamma", + "r_tonemapHighlightRange", + "r_tonemapLightEv", + "r_tonemapLightExposureAdjust", + "r_tonemapLockAutoExposureAdjust", + "r_tonemapMaxExposure", + "r_tonemapMaxExposureAdjust", + "r_tonemapMidEv", + "r_tonemapMidExposureAdjust", + "r_tonemapMinExposureAdjust", + "r_tonemapShoulder", + "r_tonemapToe", + "r_tonemapUseCS", + "r_tonemapUseTweaks", + "r_tonemapWhite", + "r_uav_overlap", + "r_ui3d_debug_display", + "r_ui3d_h", + "r_ui3d_use_debug_values", + "r_ui3d_w", + "r_ui3d_x", + "r_ui3d_y", + "r_uiBlurDstMode", + "r_umbra", + "r_umbraAccurateOcclusionThreshold", + "r_umbraExclusive", + "r_umbraQueryParts", + "r_umbraUseDpvsCullDist", + "r_unlitSurfaceHDRScalar", + "r_useComputeSkinning", + "r_useLayeredMaterials", + "r_useLightGridDefaultFXLightingLookup", + "r_useLightGridDefaultModelLightingLookup", + "r_useShadowGeomOpt", + "r_useXAnimIK", + "r_vc_makelog", + "r_vc_showlog", + "r_veil", + "r_veilAntialiasing", + "r_veilBackgroundStrength", + "r_veilFalloffScale1", + "r_veilFalloffScale2", + "r_veilFalloffWeight1", + "r_veilFalloffWeight2", + "r_veilFilter", + "r_veilPreset", + "r_veilRadius", + "r_veilStrength", + "r_veilUseTweaks", + "r_velocityPrepass", + "r_videoMemoryScale", + "r_viewModelLightAmbient", + "r_viewModelPrimaryLightTweakDiffuseStrength", + "r_viewModelPrimaryLightTweakSpecularStrength", + "r_viewModelPrimaryLightUseTweaks", + "r_volumeLightScatter", + "r_volumeLightScatterAngularAtten", + "r_volumeLightScatterBackgroundDistance", + "r_volumeLightScatterColor", + "r_volumeLightScatterDepthAttenFar", + "r_volumeLightScatterDepthAttenNear", + "r_volumeLightScatterEv", + "r_volumeLightScatterLinearAtten", + "r_volumeLightScatterQuadraticAtten", + "r_volumeLightScatterUseTweaks", + "r_vsync", + "r_warningRepeatDelay", + "r_zfar", + "r_znear", + "ragdoll_baselerp_time", + "ragdoll_bullet_force", + "ragdoll_bullet_upbias", + "ragdoll_dump_anims", + "ragdoll_enable", + "ragdoll_explode_force", + "ragdoll_explode_upbias", + "ragdoll_exploding_bullet_force", + "ragdoll_exploding_bullet_upbias", + "ragdoll_idle_min_velsq", + "ragdoll_jitter_scale", + "ragdoll_jointlerp_time", + "ragdoll_max_life", + "ragdoll_max_simulating", + "ragdoll_max_stretch_pct", + "ragdoll_resolve_penetration_bias", + "ragdoll_rotvel_scale", + "ragdoll_self_collision_scale", + "ragdoll_stretch_iters", + "rankedPlayEndMatchKeepLobby", + "safeArea_adjusted_horizontal", + "safeArea_adjusted_vertical", + "safeArea_horizontal", + "safeArea_vertical", + "screenshots_active", + "sensitivity", + "session_immediateDeleteTinySessions", + "session_modify_retry_on_failure", + "session_nonblocking", + "showPlaylistTotalPlayers", + "sm_cacheSpotShadows", + "sm_cacheSunShadow", + "sm_cameraOffset", + "sm_dynlightAllSModels", + "sm_enable", + "sm_fastSunShadow", + "sm_lightScore_eyeProjectDist", + "sm_lightScore_spotProjectFrac", + "sm_maxLightsWithShadows", + "sm_minSpotLightScore", + "sm_polygonOffsetBias", + "sm_polygonOffsetClamp", + "sm_polygonOffsetPreset", + "sm_polygonOffsetScale", + "sm_qualitySpotShadow", + "sm_shadowUseTweaks", + "sm_spotDistCull", + "sm_spotEnable", + "sm_spotFilterRadius", + "sm_spotLightScoreModelScale", + "sm_spotLightScoreRadiusPower", + "sm_spotLimit", + "sm_spotShadowFadeTime", + "sm_strictCull", + "sm_sunEnable", + "sm_sunFilterRadius", + "sm_sunSampleSizeNear", + "sm_sunShadowBoundsMax", + "sm_sunShadowBoundsMin", + "sm_sunShadowBoundsOverride", + "sm_sunShadowCenter", + "sm_sunShadowCenterMode", + "sm_sunShadowScale", + "sm_sunShadowScaleLocked", + "sm_tileResolution", + "sm_usedSunCascadeCount", + "snd_allowHeadphoneHRTF", + "snd_announcerVoicePrefix", + "snd_cinematicVolumeScale", + "snd_detectedSpeakerConfig", + "snd_dopplerAuditionEnable", + "snd_dopplerBaseSpeedOfSound", + "snd_dopplerEnable", + "snd_dopplerPitchMax", + "snd_dopplerPitchMin", + "snd_dopplerPlayerVelocityScale", + "snd_dopplerSmoothing", + "snd_draw3D", + "snd_enable2D", + "snd_enable3D", + "snd_enableEq", + "snd_enableReverb", + "snd_enableStream", + "snd_envFollowerBuffScale", + "snd_errorOnMissing", + "snd_hitsoundDisabled", + "snd_inheritSecondaryPitchVol", + "snd_levelFadeTime", + "snd_loadFadeTime", + "snd_loopFadeTime", + "snd_musicDisabledForCustomSoundtrack", + "snd_occlusionDelay", + "snd_occlusionLerpTime", + "snd_peakLimiterCompression", + "snd_peakLimiterDecay", + "snd_peakLimiterSustainFrames", + "snd_premixVolume", + "snd_slaveFadeTime", + "snd_speakerConfig", + "snd_touchStreamFilesOnLoad", + "snd_useOldPanning", + "snd_virtualMinDur", + "snd_virtualMinPri", + "snd_virtualMinTimeLeftToRevive", + "snd_virtualReviveVoices", + "snd_virtualWaitToReviveTime", + "snd_volume", + "speech_active", + "splitscreen", + "stringtable_debug", + "sv_running", + "svwp", + "syncTimeTimeout", + "sys_configSum", + "sys_configureGHz", + "sys_cpuGHz", + "sys_cpuName", + "sys_gpu", + "sys_lockThreads", + "sys_smp_allowed", + "sys_SSE", + "sys_sysMB", + "systemlink", + "systemlink_host", + "theater_active", + "tokensEnabled", + "triggerDLCEnumerationOnSocialConfigLoad", + "ui_autodetectGamepad", + "ui_autodetectGamepadDone", + "ui_blurAmount", + "ui_blurDarkenAmount", + "ui_blurTime", + "ui_borderLowLightScale", + "ui_buildLocation", + "ui_buildSize", + "ui_cinematicsTimestamp", + "ui_contextualMenuLocation", + "ui_disableInGameStore", + "ui_disableTokenRedemption", + "ui_gametype", + "ui_inGameStoreOpen", + "ui_mapname", + "ui_mousePitch", + "ui_multiplayer", + "ui_selectedFeederMap", + "ui_showList", + "ui_showMenuOnly", + "ui_sliderSteps", + "ui_textScrollFadeTime", + "ui_textScrollPauseEnd", + "ui_textScrollPauseStart", + "ui_textScrollSpeed", + "uiscript_debug", + "uno_current_tos_version", + "useCPMarkerForCPOwnership", + "useonlinestats", + "userFileFetchTimeout", + "userGroup_active", + "userGroup_cool_off_time", + "userGroup_coop_delay", + "userGroup_max_retry_time", + "userGroup_refresh_time_secs", + "userGroup_retry_step", + "userGroup_RetryTime", + "useStatsGroups", + "using_mlg", + "version", + "vid_height", + "vid_width", + "vid_xpos", + "vid_ypos", + "virtualLobbyActive", + "virtualLobbyAllocated", + "wideScreen", + "win_printMessages", + "xblive_hostingprivateparty", + "xblive_loggedin", + "xblive_privatematch", + "xblive_privatematch_solo" + }; } diff --git a/src/game/dvars.hpp b/src/game/dvars.hpp index 73883bdb..1f5953bc 100644 --- a/src/game/dvars.hpp +++ b/src/game/dvars.hpp @@ -33,6 +33,8 @@ namespace dvars extern game::dvar_t* aimassist_enabled; + extern std::vector dvar_list; + std::string dvar_get_vector_domain(const int components, const game::dvar_limits& domain); std::string dvar_get_domain(const game::dvar_type type, const game::dvar_limits& domain); } diff --git a/src/game/symbols.hpp b/src/game/symbols.hpp index 06cdcb5d..d5cde839 100644 --- a/src/game/symbols.hpp +++ b/src/game/symbols.hpp @@ -22,6 +22,10 @@ namespace game WEAK symbol Dvar_GetCombinedString{0x5A75D0}; WEAK symbol Dvar_RegisterBool{0x617BB0}; + WEAK symbol + Dvar_RegisterFloat{0x617F80}; + WEAK symbol + Dvar_RegisterString{0x618170}; WEAK symbol Dvar_RegisterVec4{0x6185F0}; WEAK symbol Dvar_ValueToString{0x61B8F0}; @@ -84,4 +88,4 @@ namespace game WEAK symbol scr_VarGlob{0xB617C00}; WEAK symbol scr_VmPub{0xBA9EE40}; -} +} \ No newline at end of file