Загрузка данных
// ____ __ _ __ __ \\
// / __ \____ / /_(_) / ____ _____/ /__ \\
// / / / / __ \/ __/ / / / __ \/ ___/ //_/ \\
// / /_/ / /_/ / /_/ / /___/ /_/ / /__/ ,< \\
// \____/ .___/\__/_/_____/\____/\___/_/|_| \\
// /_/ \\
// ---------------------------------------- \\
// \\
// If this config helped you, you wanna be extra nice, let me know by giving a little back or \\
// check out my YouTube and Twitch! -dacooder \\
// https://streamlabs.com/dacoder_/tip \\
//|________________________________________________________________________________________________________________________________|\\
"GameInfo"
{
game "citadel"
title "Citadel"
type multiplayer_only
nomodels 1
nohimodel 1
nocrosshair 0
hidden_maps
{
"test_speakers" 1
"test_hardware" 1
}
nodegraph 0
perfwizard 0
tonemapping 0
GameData "citadel.fgd"
Localize
{
DuplicateTokensAssert 1
DisallowTokenContexts 1
}
SupportedLanguages
{
"brazilian" "3"
"czech" "3"
"english" "3"
"french" "3"
"german" "3"
"italian" "3"
"indonesian" "3"
"japanese" "3"
"koreana" "3"
"latam" "3"
"polish" "3"
"russian" "3"
"schinese" "3"
"spanish" "3"
"thai" "3"
"turkish" "3"
"ukrainian" "3"
}
FileSystem
{
//
// The code that loads this file automatically does a few things here:
//
// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
// 2. For each "Game" search path, it adds another "Game" path in front of it with _<language> at the end.
// For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
// 3. If no "Mod" key, for the first "Game" search path, it adds a search path called "MOD".
// 4. If no "Write" key, for the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
//
//
// Search paths are relative to the exe directory\..\
//
// Deadlock Mod Manager - Start
SearchPaths
{
addonroot citadel/deadworks_addons
Game_Language citadel_*LANGUAGE*
Game citadel/addons
Mod citadel
Write citadel
Game citadel
Mod core
Write core
Game core
}
// Deadlock Mod Manager - End
}
MaterialSystem2
{
RenderModes
{
game Default
game Forward
game Deferred
game Outline
game Depth
game FrontDepth
dev ToolsVis // Visualization modes for all shaders (lighting only, normal maps only, etc.)
dev ToolsWireframe // This should use the ToolsVis mode above instead of being its own mode\
tools ToolsUtil // Meant to be used to render tools sceneobjects that are mod-independent, like the origin grid
}
}
MaterialEditor
{
"DefaultShader" "environment_texture_set"
}
NetworkSystem
{
BetaUniverse
{
FakeLag 0
FakeLoss 0
//FakeReorderPct 0.05
//FakeReorderDelay 10
//FakeJitter "low"
// Turning off fake jitter for now while I work on making the CQ totally solid
FakeReorderPct 0
FakeReorderDelay 0
FakeJitter "off"
}
"SkipRedundantChangeCallbacks" "1"
}
RenderSystem
{
IndexBufferPoolSizeMB 32
UseReverseDepth 1
Use32BitDepthBuffer 0
Use32BitDepthBufferWithoutStencil 0
SwapChainSampleableDepth 1
VulkanMutableSwapchain 1
"LowLatency" "1"
"VulkanOnly_Linux" "1"
"VulkanRequireSubgroupWaveOpSupport" "1"
"VulkanRequireDescriptorIndexing" "1"
"VulkanSteamShaderCache" "1"
"VulkanSteamAppShaderCache" "1"
"VulkanSteamDownloadedShaderCache" "1"
"VulkanAdditionalShaderCache" "vulkan_shader_cache.foz"
"VulkanStagingPMBSizeLimitMB" "384"
"GraphicsPipelineLibrary" "1"
"VulkanOnlyTestProbability" "0"
"VulkanDefrag" "1"
"MinStreamingPoolSizeMB" "1024"
"MinStreamingPoolSizeMBTools" "2048"
}
NVNGX
{
AppID 103371621
SupportsDLSS 1
}
Engine2
{
HasModAppSystems 1
Capable64Bit 1
URLName citadel
RenderingPipeline
{
SupportsMSAA 0
DistanceField 0
}
PauseSinglePlayerOnGameOverlay 1
DefensiveConCommands 1
DisableLoadingPlaque 1
}
ContentBuilder
{
ResourceCompilerDirectXUsesWARP "0"
}
SoundSystem
{
SteamAudioEnabled "1"
WaveDataCacheSizeMB "256"
"UsePlatTime" "1"
}
Sounds
{
HierarchicalEncodingFiles "1"
}
ToolsEnvironment
{
"Engine" "Source 2"
"ToolsDir" "../sdktools" // NOTE: Default Tools path. This is relative to the mod path.
}
pulse
{
"pulse_enabled" "1"
}
Hammer
{
"fgd" "citadel.fgd" // NOTE: This is relative to the 'game' path.
"GameFeatureSet" "Citadel"
"DefaultSolidEntity" "trigger_multiple"
"DefaultPointEntity" "info_player_start"
"NavMarkupEntity" "func_nav_markup"
"OverlayBoxSize" "8"
"TileMeshesEnabled" "1"
"RenderMode" "ToolsVis"
"CreateRenderClusters" "1"
"DefaultMinDrawVolumeSize" "2048"
"DefaultMinTrianglesPerCluster" "16384"
"TileGridSupportsBlendHeight" "1"
"TileGridBlendDefaultColor" "0 255 0"
"LoadScriptEntities" "0"
"UsesBakedLighting" "1"
"UseAnalyticGrid" "0"
"SupportsDisplacementMapping" "0"
"SteamAudioEnabled" "1"
"LatticeDeformerEnabled" "1"
"ShadowAtlasWidth" "16384"
"ShadowAtlasHeight" "16384"
"TimeSlicedShadowMapRendering" "1"
}
SoundTool
{
"DefaultSoundEventType" "src1_3d"
SoundEventBaseOptions
{
"Base.Announcer.VO.2d" ""
"Base.World.VO.Emitter.3d" ""
"Base.Hero.VO.Ping.2d" ""
"Base.Hero.VO.2d" ""
"Base.Hero.VO.3d" ""
"Base.Hero.VO.Ability.3d" ""
"Base.Hero.VO.Ultimate.3d" ""
"Base.Hero.VO.Dash.3d" ""
"Base.Hero.VO.Effort.3d" ""
"Base.Hero.VO.Pain.3d" ""
"Base.Hero.VO.Melee.3d" ""
"Base.Hero.VO.Death.3d" ""
}
}
RenderPipelineAliases
{
}
ResourceCompiler
{
// Overrides of the default builders as specified in code, this controls which map builder steps
// will be run when resource compiler is run for a map without specifiying any specific map builder
// steps. Additionally this controls which builders are displayed in the hammer build dialog.
DefaultMapBuilders
{
"bakedlighting" "0" // Enable lightmapping during compile time
"envmap" "0" // turned off since it currently causes an assert and doesn't work due to some build issue
"nav" "1" // Generate nav mesh data
}
MeshCompiler
{
OptimizeForMeshlets 1
TrianglesPerMeshlet 64 // Maximum valid value currently is 126
UseMikkTSpace 1
EncodeVertexBuffer 1
EncodeVertexBufferVersion 1
EncodeVertexBufferLevel 3
EncodeIndexBuffer 1
SplitDepthStream 1
}
WorldRendererBuilder
{
VisibilityGuidedMeshClustering "1"
MinimumTrianglesPerClusteredMesh "8192"
MinimumVerticesPerClusteredMesh "8192"
MinimumVolumePerClusteredMesh "8192" // ~20x20x20 cube
MaxPrecomputedVisClusterMembership "96"
MaxCullingBoundsGroups "128"
UseAggregateInstances "1"
AggregateInstancingMeshlets "1"
BakePropsWithExtraVertexStreams "1"
}
BakedLighting
{
Version 4
ImportanceVolumeTransitionRegion 256 // distance we transition from high to low resolution charts
LightmapChannels
{
direct_light_shadows 0
debug_chart_color 1
directional_irradiance_sh2_dc 1
directional_irradiance_sh2_r
{
CompressedFormat DXT1
}
directional_irradiance_sh2_g
{
CompressedFormat DXT1
}
directional_irradiance_sh2_b
{
CompressedFormat DXT1
}
}
LightmapGutterSize 0 // For bicubic filtering
UseStaticLightProbes 0
LPVAtlas 1
BC6HHueShiftFixup 0 // Causes more artifacts than it solves atm
Repack2 1
}
SteamAudio
{
ReverbDefaults
{
GridSpacing "3.0"
HeightAboveFloor "1.5"
RebakeOption "0" // 0: cleanup, 1: manual, 2: auto
NumRays "32768"
NumBounces "64"
IRDuration "1.0"
AmbisonicsOrder "1"
}
PathingDefaults
{
GridSpacing "3.0"
HeightAboveFloor "1.5"
RebakeOption "0" // 0: cleanup, 1: manual, 2: auto
NumVisSamples "1"
ProbeVisRadius "0"
ProbeVisThreshold "0.1"
ProbeVisPathRange "1000.0"
}
}
SoundStackScripts
{
CompileStacksStrict "1"
}
VisBuilder
{
MaxVisClusters "4096"
PreMergeOpenSpaceDistanceThreshold "128.0"
PreMergeOpenSpaceMaxDimension "2048.0"
PreMergeOpenSpaceMaxRatio "8.0"
PreMergeSmallRegionsSizeThreshold "20.0"
}
VDataLocalization
{
GameOutputPath "resource/localization/citadel_vdata"
TokenPrefix "Citadel_VData_"
}
TextureCompiler
{
//Compressor "lz4"
//CompressMipsOnDisk "1"
//CompressMinRatio "95"
AllowNP2Textures "1"
AllowPanoramaMipGeneration "1"
//PublicToolsDefaultMaxRes "2048"
}
}
Source1Import
{
// this is just copied from the left4dead3 gameinfo.gi
"forcevtxfileupconvert" 1
}
WorldRenderer
{
EnvironmentMaps 1
EnvironmentMapFaceSize 128
EnvironmentMapRenderSize 512
EnvironmentMapFormat BC6H
EnvironmentMapPreviewFormat BC6H
EnvironmentMapColorSpace linear
EnvironmentMapMipProcessor GGXCubeMapBlur
// Build cubemaps into a cube array instead of individual cubemaps.
"EnvironmentMapUseCubeArray" 1
"EnvironmentMapCacheSizeTools" 300
BindlessSceneObjectDesc CitadelBindlessDesc
GrassCastsShadows 0
}
SceneSystem
{
GpuLightBinner 1
FogCachedShadowAtlasWidth 0
FogCachedShadowAtlasHeight 0
FogCachedShadowTileSize 0
GpuLightBinnerSunLightFastPath 0
CSMCascadeResolution 0
SunLightManagerCount 0
SunLightManagerCountTools 0
DefaultShadowTextureWidth 0
DefaultShadowTextureHeight 0
DynamicShadowResolution 0
TransformTextureRowCount 512
TransformTextureRowCountToolsMode 6144
SunLightMaxCascadeSize 0
SunLightShadowRenderMode Depth
LayerBatchThresholdFullsort 20
NonTexturedGradientFog 0
// Temp till I can add support in citadel shaders
DisableLateAllocatedTransformBuffer 1
MinimumLateAllocatedVertexCacheBufferSizeMB 64
CubemapFog 0
VolumetricFog 0
FrameBufferCopyFormat R11G11B10F
Tonemapping 0
WellKnownLightCookies
{
"blank" "materials/effects/lightcookies/blank.vtex"
"flashlight" "materials/effects/lightcookies/flashlight.vtex"
}
ComputeShaderSkinning 1
}
NavSystem
{
"NavTileSize" "128.0"
"NavCellSize" "1.5"
"NavCellHeight" "2.0"
// Hull definitions live in scripts/nav_hulls.vdata
// Preset definitions live in scripts/nav_hulls_presets.vdata
"NavHullsPreset" "default"
"NavRegionMinSize" "8"
"NavRegionMergeSize" "20"
"NavEdgeMaxLen" "1200"
"NavEdgeMaxError" "51.0"
"NavVertsPerPoly" "4"
"NavDetailSampleDistance" "120.0"
"NavDetailSampleMaxError" "2.0"
"NavSmallAreaOnEdgeRemovalSize" "81.0"
}
AnimationSystem
{
"DisableServerInterpCompensation" "1"
"DisableAnimationScript" "1"
"ServerPoseRecipeHistorySize" "60"
"ClientPoseRecipeHistorySize" "60"
}
ModelDoc
{
"models_gamedata" "models_gamedata.fgd"
"features" "animgraph;modelconfig;gamepreview;wireframe_backfaces;distancefield"
}
Particles
{
"EnableParticleShaderFeatureBranching" "1"
"Float16HDRBackBuffer" "1"
"PET_SupportFadingOpaqueModels" "1"
"Features" "non_homogenous_forward_layer_only"
}
ConVars
{
// ---------------------- OptiLock -- ver. 2.0 -------------------------- \\
// Mod Page: https://gamebanana.com/mods/678180 \\
// Downloaded from: https://github.com/dacooderr/OptiLock \\
// Tutorial: https://www.youtube.com/watch?v=Kpoet2ebl70 \\
// Discord: https://discord.gg/UxjsJB5Rp5 \\
// \\
// If you would like to donate as a means of showing thanks \\
// https://streamlabs.com/dacooderr/tip \\
// Press ctrl+f and type * to highlight the more visually impactful commands that you could adjust
// ================ PREFERENCES ================
// --- 1. Outlines ---
citadel_trooper_glow_disabled "1" // 1 = Disable friendly/enemy minion glow. [def: "0"]
r_citadel_npr_outlines_max_dist "600" // Limits outline distance to reduce unnecessary processing. [def: "1000"]
r_citadel_selection_outline2_alpha "0.8" // Outlines on enemy players and abilities on a scale of 0-1. [def: "0.8"]
r_citadel_npr_outlines "true" // Enable outlines on enemy players. [def: "true"]
r_citadel_outlines "1" // Enables enemy outlines for better visibility.
// --- 2. Field of View ---
r_aspectratio "1.75" // 1.75=80fov | 2.15=90fov | 2.49=100fov [def: "0"]
// --- 3. Crosshair/Hud ---
citadel_hideout_ball_show_juggle_count "1" // Shows a fun juggle count minigame for hideout ball. [def: "0"]
citadel_hideout_ball_show_juggle_fx "1" // Shows juggle visual FX for hideout ball minigame. [def: "0"]
//citadel_crosshair_hit_marker_duration "0.001" // Removes the hitmarker when shooting people. [def: "0.1"]
// --- 4. Lighting & Shadows ---
sc_disable_baked_lighting "true"
lb_allow_time_sliced_shadow_map_rendering "false"
lb_enable_shadow_casting "false"
lb_enable_dynamic_lights "false" // Must be used in conjunction with lb_enable_lights for Hero Sillohouttes. (Will cause performance drop)
lb_enable_stationary_lights "false"
lb_dynamic_shadow_penumbra "true"
lb_dynamic_shadow_resolution "true"
lb_dynamic_shadow_resolution_base "1"
lb_dynamic_shadow_resolution_base_cmp_shadowmapsize "true"
lb_dynamic_shadow_resolution_quantization "1"
r_citadel_shadow_quality "0"
lb_barnlight_shadowmap_scale "0.1"
lb_csm_cascade_size_override "0.25"
lb_csm_override_staticgeo_cascades "0"
lb_csm_override_staticgeo_cascades_value "0"
lb_sun_csm_size_cull_threshold_texels "30"
sparseshadowtree_enable_rendering "0"
sparseshadowtree_disable_for_viewmodel "1"
lb_enable_lights "false" // Enables lights across the game. Must be used in conjunction with lb_enable_dynamic_lights for Hero
lb_enable_newsum "false"
cl_globallight_shadow_mode "0"
lb_csm_draw_alpha_tested "0"
lb_csm_draw_translucent "0"
lb_mixed_shadows "false"
lb_precomputed_shadowmap_enable "true"
lb_precomputed_shadowmap_depth_bias "1"
lb_shadow_texture_height_override "1"
lb_shadow_texture_width_override "1"
lb_timesliced_shadows_dynamic_size "true"
mat_depthbias_shadowmap "0.00000001"
mat_slopescaledepthbias_shadowmap "1"
r_citadel_distancefield_shadows "false"
r_citadel_sun_shadow_slope_scale_depth_bias "0.5"
r_multiscattering "1"
r_lightmap_size_directional_irradiance "0"
r_lightmap_bicubic_filtering "1"
r_ssao "0"
r_ssao_blur "false"
r_ssao_strength "0"
r_citadel_ssao_quality "0"
r_citadel_ssao_thin_occluder_compensation "0"
r_distancefield_enable "false"
r_citadel_distancefield_farfield_enable "false"
csm_viewmodel_shadows "false"
r_citadel_gpu_preview_baked_shadows "false"
r_citadel_shadowdb "512"
r_hair_shadowtile "false"
r_mixed_shadows_fade_out_time "0.0001"
// --- 5. Skybox Rendering ---
r_draw3dskybox "0" // Enables drawing the 3D skybox layer (distant geometry). [def: "1"]
// --- 7. Object Culling ---
// --- 8. Camera Tweaks ---
r_citadel_clip_sphere_min_opacity "0" // Removes the blur from the pinhole camera [def: "40"]
// ================ UI ================
r_dashboard_render_quality "0"
panorama_disable_box_shadow "1" // Disables UI box shadows in the UI (less GPU/UI cost). [def: "0"]
panorama_use_new_occlusion_invalidation "1"
// ================ RAGDOLLS ================
cl_ragdoll_limit "1" // Limits number of ragdolls active at once. ragdoll_parallel_pose_control "1" // Multithreaded
cl_disable_ragdolls "0" // Keep set to 0 - enabling this (disabling ragdolls) can cause issue with doorman's ultimate. [def: "0"]
// ================ MODELS ================
r_hair_ao "false"
ik_final_fixup_enable "0"
ik_fabrik_align_chain "0"
cloth_sim_on_tick "false"
phys_threaded_cloth_bone_update "true"
props_break_max_pieces_perframe "0.5"
cloth_update "1"
// ================ TEXTURES & VISUAL CLARITY ================
citadel_video_preset "0"
r_texture_stream_mip_bias "4" // Must be adjusted in Video.txt instead (Roblox Graphics)
mat_colorcorrection "true"
r_texture_budget_dynamic "true"
r_drawdecals "true"
r_decals "true"
r_character_decal_resolution "124"
r_depth_of_field "false"
r_post_bloom "false"
cl_show_splashes "0"
sc_clutter_enable "false"
r_drawtracers "1"
violence_ablood "false"
violence_agibs "false"
r_fallback_texture_lod_scale "4"
r_texture_stream_max_resolution "64"
r_citadel_depthoffield_enable "false"
r_citadel_distancefield_blur "false"
r_texture_budget_threshold "0.5"
r_texture_hookup_uses_threadpool "true"
// ================ INPUT ================
m_rawinput "1"
// ================ PARTICLES ================
cl_particle_max_count "-1"
cl_particle_newinit "true"
r_particle_max_detail_level "-1"
r_physics_particle_op_spawn_scale "0"
r_RainParticleDensity "0"
cl_particle_fallback_base "1"
cl_particle_fallback_multiplier "1"
cl_particle_sim_fallback_base_multiplier "40"
cl_particle_sim_fallback_threshold_ms "1"
r_particle_skip_postsim "true"
r_particle_timescale "1.1"
cl_particle_batch_mode "1"
r_particle_max_texture_layers "4"
r_particle_cables_culling "1"
r_particle_cables_render "false"
cl_aggregate_particles "1"
func_break_max_pieces "-1"
r_particle_cables_render_meshlets "false"
r_particle_model_new8 "false"
r_particle_mixed_resolution_viewstart "200"
r_particle_min_timestep "0.001"
// ================ Lod & Culling ================
cl_enable_eye_occlusion "true"
skeleton_instance_lod_optimization "1"
sc_instanced_mesh_lod_bias "15"
sc_instanced_mesh_lod_bias_shadow "0.10"
sc_instanced_mesh_motion_vectors "0"
sc_instanced_mesh_size_cull_bias_shadow "10"
sc_aggregate_bvh_threshold "16"
sc_layer_batch_threshold "16"
sc_layer_batch_threshold_fullsort "20"
sv_remove_ent_from_pvs "1"
r_farz "10000"
r_mapextents "10000"
sv_waterdist "0"
lb_ssss_samples "0"
r_aoproxy_cull_dist "0.01"
r_aoproxy_min_dist "9999"
r_character_decal_monitor_render_res "128"
r_haircull_percent "100"
// ================ Misc ================
r_low_latency "1"
think_limit "10"
zipline_use_new_latch "0"
engine_low_latency_sleep_after_client_tick "true"
engine_allow_multiple_simulates_per_frame "true"
engine_accurate_input_processing_delta_time "true"
cl_bone_cache_optimization "1"
sc_dithered_lod_transition_amt "0"
dsp_slow_cpu "1"
cl_phys_sleep_enable "1"
r_enable_rigid_animation "0"
csm_cascade0_override_dist "0"
csm_cascade1_override_dist "0"
csm_cascade2_override_dist "0"
csm_cascade3_override_dist "0"
csm_max_dist_between_caster_and_receiver "0"
csm_max_num_cascades_override "0"
csm_max_visible_dist "0"
csm_res_override_0 "1"
csm_res_override_1 "1"
csm_res_override_2 "1"
csm_res_override_3 "1"
anim_disable "true"
phys_expensive_shape_threshold "100"
props_break_apply_radial_forces "0"
sc_force_materials_batchable "true"
sc_allow_dithered_lod "false"
enable_priority_boost "true"
r_ambientmin "0.35"
r_ambientfactor "12"
r_ambientboost "1"
mm_prefer_solo_only "true"
mat_tonemapping_occlusion_use_stencil "0"
r_fastzreject "1"
r_force_ambient "2"
mat_tonemap_boost "1.15"
cl_entityiter_allow_world_occlusion "0"
sv_force_transmit_players "1"
r_lod "-5"
// boot's ConVars
r_render_hair "0"
r_grass_start_fade "0"
r_grass_end_fade "0"
r_texture_pool_size "256" // either 256 or 512
r_max_portal_render_targets "2" // might set to 2 or more
citadel_damage_text_lifetime "0.5"
citadel_hud_objective_health_idle_timeout "4"
citadel_unit_status_delta_decay_delay "0"
citadel_unit_status_delta_decay_rate "10"
snd_steamaudio_enable_reverb "0"
snd_steamaudio_enable_perspective_correction "0"
snd_spatialize_lerp "0"
fog_enableskybox "0"
cl_smooth "true" // might change to false again
// lb_enable_envmaps "0" gives fps but fucks up lighting
cl_phys_enabled "true"
csm_max_shadow_dist_override "0"
r_aoproxy_min_dist_box "9999"
r_citadel_disable_npr_lighting "false" // default: false - might change to true
r_drawparticles "true" // default: true - might change to false again
// r_propsmaxdist "100" // default: 1200
r_render_portals "true" // default: true
r_rendersun "false" // default: true
r_texture_lod_scale "4" // default: 1
r_translucent "true" // default: true ; false gives fps but you cant see any trails, nor aoe effect, nothing
sc_hdr_enabled_override "0" // default: -1
// lb_enable_envmaps "0" gives fps but fucks up lighting
// r_propsmaxdist "100" // default: 1200
// Kaiz ConVars
// --- LIGHTING & SHADOWS ---
lb_csm_receiver_plane_depth_bias "0.00002" // kai's cfg
lb_csm_receiver_plane_depth_bias_transmissive_backface "0.0002" // kai's cfg
lb_enable_fog_mixed_shadows "0" // kai's cfg
sc_disable_shadow_materials "1" // kai's cfg
lb_max_visible_barn_lights_override "1" // kai's cfg
lb_max_visible_envmaps_override "4" // kai's cfg - default 4 DO NOT CHANGE OR IT BREAKS GAME
r_directional_lightmaps "false" // kai's cfg - default true
lb_enable_sunlight "false" // kai's cfg - Default: true<br>SceneSystem/LightBinner/Enable Sunlight
r_arealights "false" // kai's cfg - was true
lb_csm_cross_fade_override "0" // kai's cfg
lb_csm_distance_fade_override "0" // kai's cfg
r_flashlightbrightness "0" // kai's cfg
r_flashlightfar "0" // kai's cfg
r_flashlightshadowatten "0" // kai's cfg
lb_barnlight_shadow_use_precomputed_vis "0" // kai's cfg
// --- RENDERING, MATERIALS & POST-PROCESSING ---
sc_cache_envmap_lpv_lookup "false" // kai's cfg - was true
r_citadel_ssao_bent_normals "false" // kai's cfg
r_citadel_ssao_denoise_passes "0" // kai's cfg
r_citadel_ssao_radius "0" // kai's cfg
r_gbuffer_disable_npr_lighting "true" // kai's cfg - might change to true
r_postprocess_enable "true" // kai's cfg - default true
cl_glow_brightness "0" // kai's cfg - default 1
r_environment_map_roughness_range "0.01" // kai's cfg - Default: 0.2 0.3<br>Fade region for sampling environment maps on lightmapped nonmetals. Smoother values than the first param sample envmaps. lb_cubemap_normalization_max "1" // kai's cfg - Default: 32<br>
lb_cubemap_normalization_roughness_begin "0.01" // kai's cfg - Default: 0.1<br>
thumper_use_plane_reflection "false" // kai's cfg - Default: true<br>
r_fullscreen_gamma "2.2" // kai's cfg - recommended ppl to use this to make the game brighter, bigge number = darker (use again in console if game not bright, only work in fullscreen exclusive, try
mat_viewportscale "1" // kai's cfg - was 1 this controls LOD on everything except trees and bushes (good) for some reason
r_light_sensitivity_mode "true" // kai's cfg
mat_tonemap_bloom_scale "0" // kai's cfg
r_renderdoc_auto_shader_pdbs "0" // kai's cfg
sc_instanced_mesh_mesh_shader "false" // kai's cfg - default true Toggles mesh shader rendering for instanced meshes
r_texture_budget_update_period "0.5" // kai's cfg - Faster texture streaming adjustment 0.05
r_texture_pool_reduce_rate "512" // kai's cfg
r_texture_stream_resolution_bias "0.01" // kai's cfg
// --- PARTICLES & EFFECTS ---
r_particle_max_draw_distance "300000" // kai's cfg - Lower = less particle range, more FPS, dont go below this value it doesnt draw trooper hp bar,
r_citadel_screenspace_particles_full_res "0" // kai's cfg
r_muzzleflashbrightness "0.01" // kai's cfg - default 0.4 idk if this does anything
// --- MODELS, LOD, CULLING & MAP EXTENTS ---
r_monitor_3dskybox "0" // kai's cfg
r_propsmaxdist "700" // kai's cfg
sc_instanced_mesh_size_cull_bias "10" // kai's cfg - Bias for size culling of instanced meshes
sv_pvs_max_distance "8500" // kai's cfg - default 4000, unrender things(boxes, creeps, objs,etc) behind walls or out of viewing distance, does not affect player model.
r_citadel_distancefield_down_sample "6" // kai's cfg - default 1
sc_clutter_density_none_size "0.1" // kai's cfg - Default 0.0035
sc_enable_discard "true" // kai's cfg - default true
sc_clutter_density_full_size "0.5" // kai's cfg
r_strip_invisible_during_sceneobject_update "1" // kai's cfg - Default: false<br>
mesh_calculate_curvature_smooth_pass_count "0" // kai's cfg
sc_max_framebuffer_copies_per_layer "0" // kai's cfg - no idea what this does ngl
r_world_wind_frequency_grass "0" // kai's cfg
r_world_wind_frequency_trees "0" // kai's cfg
// --- PHYSICS, CLOTH & DECALS ---
presettle_cloth_iterations "0" // kai's cfg - default 3
pred_cloth_pos_max "0" // kai's cfg - Reduce cloth prediction was 1
pred_cloth_pos_multiplier "0" // kai's cfg - was 0.3
pred_cloth_pos_strength "0" // kai's cfg - was 0.1
pred_cloth_rot_high "0" // kai's cfg - was 0.05
pred_cloth_rot_low "0" // kai's cfg - was 0.005
pred_cloth_rot_multiplier "0" // kai's cfg - was 0.2 changing these values does fucking nothing
cl_phys_timescale "1" // kai's cfg - [FPS IMPACT] 0=Disable physics (max FPS) | 1=Normal physics | Lower = slower physics, less CPU
phys_threaded_kinematic_bone_update "1" // kai's cfg
phys_threaded_transform_update "1" // kai's cfg
cl_physics_highlight_active "0" // kai's cfg - Turns on the absbox for all active physics objects.<br> 0 : un-highlight.<br>
phys_highlight_expensive_objects_strength "0" // kai's cfg - Default: 0.02<br>Highlight expensive physics objects strength, no need since expensive obj is disabled by default
cl_ragdoll_default_scale "0" // kai's cfg - default 1 doesnt matter since ragdoll disabled
phys_cull_internal_mesh_contacts "true" // kai's cfg - default false
cl_phys_networked_start_sleep "true" // kai's cfg - try on and off, this is probably what causing result screen to pop up when idling
phys_multithreading_enabled "1" // kai's cfg - default true, alr enabled no need to include ngl
phys_dynamic_scaling "false" // kai's cfg - default true
// --- ANIMATION ---
anim_decode_forcewritealltransforms "true" // kai's cfg - Default: false<br>Force BatchAnimationDecode to write transformations for all bones
animgraph_footlock_enabled "false" // kai's cfg
r_morphing_enabled "false" // kai's cfg
r_smooth_morph_normals "0" // kai's cfg
animgraph_slowdownonslopes_enabled "false" // kai's cfg
// --- UI, HUD & PANORAMA ---
closecaption "false" // kai's cfg
panorama_async_compute_mipgen "1" // kai's cfg
hud_free_cursor "0" // kai's cfg - Reduces UI input delay in minimap/spectator modes (not sure if this is true)
mm_idle_show_warning_at_s "999" // kai's cfg - How many seconds to wait before showing the idle warning dialog
panorama_transition_time_factor "2" // kai's cfg - faster transition for the stuff that doesnt use animation
// --- GAMEPLAY, CAMERA & ENTITY HIGHLIGHTS ---
citadel_damage_offscreen_indicator_disabled "1" // kai's cfg - Set 1 to disable
citadel_show_new_damage_feedback_numbers "0" // kai's cfg - Set 1 to enable
citadel_camera_soft_collision "0" // kai's cfg
r_citadel_glow_health_bars "false" // kai's cfg - default true
citadel_trooper_friendly_glow_disabled "false" // kai's cfg - was false doesnt work btw
citadel_player_outline_enemies "true" // kai's cfg - turn off enemy outline DOES NOT BREAK BACKSTABBER OR PING THRU WALL
citadel_trooper_outline_enabled "true" // kai's cfg - turn off trooper outline
citadel_hideout_enable_testing_tools "true" // kai's cfg - default false doesnt work
// --- NETWORK, PREDICTION & INPUT ---
cl_eye_yaw_multiplier "0" // kai's cfg
cl_prediction_savedata_postentitypacketreceived "1" // kai's cfg
cl_smooth_draw_debug "0" // kai's cfg
cl_parallel_readpacketentities "1" // kai's cfg
cl_parallel_readpacketentities_threshold "2" // kai's cfg
net_async_clientconnect "1" // kai's cfg
// --- ENGINE, THREADING & AI ---
engine_max_ticks_to_simulate "33" // kai's cfg
ai_expression_optimization "1" // kai's cfg
ai_gather_conditions_async "true" // kai's cfg - default false
ai_use_async_ragdoll_fixup "true" // kai's cfg - doesnt really need tbh since ragdoll is disabled
nav_pathfind_multithread "1" // kai's cfg - default false test 1 and 0, moves npc pathing to separate thread
// fs_async_threads "8" // kai's cfg
// --- AUDIO ---
dsp_volume "0" // kai's cfg - idk
snd_occlusion_bounces "0" // kai's cfg
snd_mix_async "1" // kai's cfg
soundsystem_update_async "1" // kai's cfg
update_voices_low_priority "true" // kai's cfg - default false
// --- PIDJAN ---
mm_idle_enabled "false"
thread_pool_option 0
citadel_ability_select_mash_protection_time 0
citadel_ability_cast_cancel_mash_protection_time 0
cl_async_usercmd_send true
cl_simulate_dormant_entities false
cl_impacteffects false
enable_boneflex false
r_frame_sync_enable true
snd_steamaudio_num_threads 4
r_particle_max_size_cull 700
steam_inputhandler_enabled false
r_size_cull_threshold 0.9
panorama_allow_transitions false
panorama_disable_blur true
panorama_temp_comp_layer_min_dimension 128
cl_input_enable_raw_keyboard true
citadel_camera_adjust_aim_fov 0
citadel_camera_wobble_disable true
snd_min_latency true
r_light_flickering_enabled false
citadel_deny_text_max_distance -1
citadel_damage_text_new_x_offset 25
citadel_damage_indicator_height 150
deadlock_disable_post_match_survey true
fog_enable false
r_particle_cables_cast_shadows false
cl_async_restore_server_authoritative_state true
citadel_boss_glow_disabled true
cl_interp_parallel true
r_texturefilteringquality 0
sc_disable_spotlight_shadows true
r_citadel_enable_pano_world_blur false
r_grass_quality 0
r_shadows false
sc_aggregate_indirect_draw_compaction_threshold 4
mat_async_shader_load true
r_citadel_gpu_culling_shadows true
sc_screen_size_lod_scale_override 0.4
cl_max_particle_pvs_aabb_edge_length 50
r_particle_model_per_thread_count 64
r_effects_bloom false
cl_retire_low_priority_lights true
r_particle_batch_collections true
r_citadel_antialiasing 0
fx_drawmetalspark false
snd_ui_positional false
snd_mixahead 0.01
citadel_npc_force_animate_every_tick false
ai_strong_optimizations_no_checkstand true
sc_instanced_mesh_opaque_fade false
r_force_zprepass 1
particle_cluster_nodraw true
particle_cluster_use_collision_hulls false
volume_fog_intermediate_textures_hdr false
animgraph_enable_parallel_op_evaluation true
animgraph_enable_parallel_preupdate true
r_particle_fixedrandomseeds true
cl_skip_hierarchy_update_for_unchanged_entities true
mat_set_shader_quality 0
mat_max_lighting_complexity 1
r_directlighting false
r_lightmap_size 4
r_draw_particle_children_with_parents 0
r_limit_particle_job_duration true
citadel_use_pvs_for_players true
sc_fade_distance_scale_override 180
cl_batch_entity_list_ops_during_latch true
cl_phys_assume_fixed_tick_interval false
// ================ Test Group 4 ================
r_particle_parallel_simulation "1"
r_particle_batch_simulate "1"
r_world_wind_strength "0"
fs_async_threads "-1"
//CREDITS
// dacooder Config Creator
// Xeraa Helped fix a major issue with console spam and fps drops late game
// Boot ConVar Contribution
// Kaiz ConVar Contribution
// simcasting Benchmarking
// Artemon121 Made the Citadel cvar unhider
// Pidjan Worked on further gameinfo changes and let us integrate
// Piggy Video.txt contributer and cool streamer guy
// ----------------------------------------- END OF CONFIG OptiLock -- ver. 2.0 ------------------------------
"rate"
{
"min" "98304"
"default" "786432"
"max" "1000000"
}
"sv_minrate" "98304"
"sv_maxunlag" "0.500"
"sv_maxunlag_player" "0.200"
"sv_lagcomp_filterbyviewangle" "false"
// Spew warning when adding/removing classes to/from the top of the hierarchy
"panorama_classes_perf_warning_threshold_ms" "0.75"
// Panorama - enable minidumps on JS exceptions
"panorama_js_minidumps" "1"
// Enable the render target cache optimization.
"panorama_disable_render_target_cache" "0"
// Enable the composition layer optimization
"panorama_skip_composition_layer_content_paint" "1"
// too expensive (500MB+) to load this
"snd_steamaudio_load_reverb_data" "0"
"snd_steamaudio_load_pathing_data" "0"
// Steam Audio project specific convars
"snd_steamaudio_enable_custom_hrtf" "0"
"snd_steamaudio_active_hrtf" "0"
"snd_steamaudio_reverb_update_rate" "10.0"
"snd_steamaudio_ir_duration" "1.0"
"snd_steamaudio_enable_pathing" "0"
"snd_steamaudio_invalid_path_length" "0.0"
"cl_disconnect_soundevent" "citadel.convar.stop_all_game_layer_soundevents"
"snd_event_browser_default_stack" "citadel_default_3d"
// voip
"voice_in_process" "1"
// Sound debugging
"snd_report_audio_nan" "1"
// Audio system settings
"snd_sos_max_event_base_depth" "10"
"sos_use_guid_filter" "1"
"voice_always_sample_mic"
{
"version" "2"
"default" "0"
}
"reset_voice_on_input_stallout" "0"
"voice_input_stallout" "0.5"
"cl_usesocketsforloopback" "1"
"cl_poll_network_early" "0"
// Perf/Parallelism
"iv_parallel_restore" "1"
// For perf reasons, since we don't use source-based DSP:
"disable_source_soundscape_trace" "1"
// Networking - Induced latency (pred offset)
"cl_tickpacket_recvmargin_desired" "5" // 5 ms base, min. floor for protecting against thrashing the queue
"cl_tickpacket_desired_queuelength" "0" // 0 = attempt to always reach the queue's min floor
"cl_async_usercmd_send_disabled_recvmargin_min" "0.5" // Additional frame since we do not use the async usercmd send (potentially unneccessary)
"cl_clock_buffer_ticks" "1"
"cl_interp_ratio" "0"
"fps_max" "0"
"fps_max_ui" "120"
"in_button_double_press_window" "0.3"
// Convars that control spatialization of UI audio.
"snd_ui_positional" "false"
"snd_ui_spatialization_spread" "2.4"
// sound volume rate change limiting
"snd_envelope_rate" "100.0"
"snd_soundmixer_update_maximum_frame_rate" "0"
//don't let people mess with speaker config settings.
"speaker_config"
{
"min" "0"
"default" "0"
"max" "2"
}
"cq_buffer_bloat_msecs_max" "120"
"snd_soundmixer" "Default_Mix"
"cloth_filter_transform_stateless" "0"
"cl_joystick_enabled" "0"
"panorama_joystick_enabled" "0"
"snd_event_browser_focus_events" "true"
"cl_max_particle_pvs_aabb_edge_length" "100"
// Allow aggregation of particles (for perf)
"cl_aggregate_particles" "false"
"citadel_enable_vdata_sound_preload" "true"
}
Memory
{
"EstimatedMaxCPUMemUsageMB" "1"
"EstimatedMinGPUMemUsageMB" "1"
"ShowInsufficientPageFileMessageBox" "1"
"ShowLowAvailableVirtualMemoryMessageBox" "1"
}
}