[ℹ]
FULLNAME=General Patch settings
PREVIEW=https://acstuff.ru/images/modules/general.jpg
DESCRIPTION=Some patch settings which aren’t related to any specific extensions.
SHORT_DESCRIPTION=Miscellaneous
ORDER=-1
LIVE_SUPPORT=0

[BASIC]
; Shaders Patch
ENABLED=1 ; Active (set to 0 to disable everything completely); 1 or 0

[CONFIGURATIONS]
; System settings
WATCH_FOR_CHANGES=1 ; Watch configs for changes; 1 or 0
USE_PARTIAL_RELOAD=1 ; Use partial reload for track and car configs (for those settings where it’s possible); 1 or 0
IGNORE_CACHE=0 ; Ignore cached data (things like precalculated ambient shadows from cars, cars rain occlusion data or tree normals alignment; disabling would slow down loading, but would make it easier to prepare certain configs); 1 or 0
CRASH_PLUGIN=0 ; Use separate process for crash messages (experimental, ensures AC would shut down before showing an error message. In VR, always active.); 1 or 0; new
CLEAR_SHADERS_CACHE=1 ; Clear shaders cache when CSP version changes (helps with game freezing when loading or exiting); 1 or 0; new

[DEV]
; hidden
FLAMES_ALWAYS_ON=0 ;; hidden
TRACK_CONDITIONS_RESTORE=0  ; set to 1 to stop lights from getting smoothly lit up when configs are changed; hidden
D3D_DEBUG=0 ;; hidden
DISABLE_AUTOBRAKING=0 ;; hidden
EXTRAPOLATE_STATE=0 ;; hidden
DISABLE_STEAM_INTERFACE=0 ;; hidden

[DRIVE]
; hidden
PREFER_DISABLED_ABS=0 ; Keep ABS disabled even if server forces it on (can be switched back on during the race with Ctrl+A as usual); 1 or 0
PREFER_DISABLED_TC=0 ; Keep TC disabled even if server forces it on (can be switched back on during the race with Ctrl+T as usual); 1 or 0

[APPS]
; Tweaks for Python apps
CUSTOM_ERRORS_HANDLING=1 ; Custom errors handling for Python apps; 1 or 0
CUSTOM_ERRORS_HANDLING_MESSAGES=0 ; Show popup messages for first errors during loading, for development; 1 or 0
ENABLE_CACHE=0 ; Enable caching (improves loading speed; might need a run without it if an app has been updated); 1 or 0; new
FIX_SHARED_MEMORY=0 ; Enforce latest shared memory library (replaces “sim_info.py” library most apps use by its latest version, fixing a bug when having an older and a newer apps running together could break the newer app); 1 or 0; new

[CONTROL]
; Controls
FIX_ORDER=1 ; Automatically fix controls order; 1 or 0
RELEASE_DPAD=0 ; Stop AC from using D-Pad in pits app; 1 or 0
UNBIND_TURBO_DIGITS=0 ; Stop digits from changing turbo setting; 1 or 0
UNBIND_GAMEPAD_SHORTCUT=1 ; Unbind Ctrl+P; 1 or 0
NO_MOUSE_STEERING_FOR_INACTIVE=0 ; Stop mouse steering when AC window goes out of focus; 1 or 0
DISCORD_HOOK_FIX=1 ; Fix for Discord overlay (might stop Discord overlay from crashing AC); 1 or 0

[CAR_CAMERAS]
; Car cameras
ALLOW_BUMPER=1 ; Allow bumper camera; 1 or 0
ALLOW_BONNET=1 ; Allow bonnet camera; 1 or 0
ALLOW_COCKPIT=1 ; Allow cockpit camera; 1 or 0
ALLOW_DASHBOARD=1 ; Allow dashboard camera; 1 or 0
ALLOW_CHASE_1=1 ; Allow first chase camera; 1 or 0
ALLOW_CHASE_2=1 ; Allow second chase camera; 1 or 0
PAUSE_ORBIT=1 ; Pause orbit camera if mouse is somewhere else (for example, if AC lost focus); 1 or 0
USE_TRAJECTORIES_FOR_START_CAMERA=1 ; Use showroom camera trajectories for starting camera (trajectories can be configured in Custom Showroom, look for “Follow trajectory” in “Camera settings” tab); 1 or 0
FOV_BUMPER=60 ; Bumper camera FOV; from 20° to 160
FOV_BONNET=60 ; Bonnet camera FOV; from 20° to 160

[TRACK_CAMERAS]
; Track cameras options
FORCE_DISABLE_WOBBLE=0 ; Disable camera wobble; 1 or 0

[AUDIO]
ALTER_PITCH_IN_SLOW_MOTION=1 ; Alter pitch in slow motion; 1 or 0
OLD_MASTER_SOUNDBANK=content/sfx/old/common.bank ;; file
ALIGNMENT_FIX=1 ; Fix listener orientation (in some specific cases, like, for example, when using F5 non-orbit camera and pressing right mouse button, listener orientation might break in strange ways); 1 or 0
VR_FIX=1 ; Fix stereo sound in VR; 1 or 0
GEARS_FIX=1 ; Fix missing gears sound with frequent shifting; 1 or 0
DISTANCE_DELAY=0 ; Add sound delay with distance; 1 or 0
DISABLE_BRAKES_SOUND=0 ; Disable brakes sound; 1 or 0
OPPONENTS_EXTRA_MULT=1 ; Opponents volume mult.; from 0 to 3, perc.
USE_EXTERIOR_SOUNDS=0 ; Use exterior sounds everywhere (windows down); 1 or 0; not available with USE_INTERIOR_SOUNDS
USE_INTERIOR_SOUNDS=0 ; Use interior sounds everywhere; 1 or 0; not available with USE_EXTERIOR_SOUNDS
QUIET_WHEN=MINIMIZED ; Silence audio; NONE for Never, MINIMIZED for when minimized, BACKGROUND for when in background

[PHYSICS]
; Physics tweaks
USE_CUSTOM_ENGINE=1 ; Use double precision physics engine (should help with precision issues on large tracks); 1 or 0
USE_HASH_SPACE=1 ; Use hash space to speed up collision detection (might improve performance); 1 or 0
USE_TEMPORAL_CACHE=0 ; Use temporal cache for collisions detection (might improve performance); 1 or 0
CUSTOM_RAYCASTING=0 ; Use custom raycasting (might be faster); 1 or 0
ADAPTIVE_HARD_COLLISIONS=0 ; Disable softness for deep collisions (might help to stop cars from falling through tracks); 1 or 0
LIMIT_CONTACTS=0 ; Limit amount of contacts (might help with performance in massive collisions); 1 or 0

[ONLINE]
; Online tweaks
FIX_REMOTE_STEER_ANGLE=1 ; Fix steer angle for remote cars (removes 127° cap); 1 or 0; new
; CUSTOM_MOTION=0 ; Alternative wheels position calculation (replaces original remote wheels position computation which could sometimes lead to strange results); 1 or 0; new

[REPLAY]
; Replay tweaks
EXT_RECORD=1 ; Record extra data; hidden
EXT_SAVE=1 ; Save extra data; hidden
EXT_LOAD=1 ; Load extra data; hidden
SPEED_UP_REPLAY_ACTIVATION=1 ; Speed up replay activation; 1 or 0
CLIP_DURATION=30 ; Clip duration (clips are short bits of replay saved by pressing an associated shortcut mainly meant for recording contacts online; they don’t store extra CSP data); from 10 s to 60, round to 5
EXTRA_LARGE=1 ; Remove original 1 GB size cap (new limit is 4 GB); 1 or 0

[CUSTOM_FONTS_RENDERING]
; Custom fonts rendering (reduces CPU load, adds additional options for text rendering)
ENABLED=1 ; Active; 1 or 0
HARDWARE_ACCELERATION=1 ;; 1 or 0
ALLOW_OVERSIZED_GLYPH=0 ;; hidden
MAX_GLYPH_COUNT_PER_SHEET=2048 ;; hidden
MIP_LEVELS=1 ;; hidden
MAX_GLYPH_SHEET_COUNT=128 ;; hidden
VERTEX_BUFFER_SIZE=400 ;; hidden
GLYPH_SHEET_SIZE=512, 512 ;; hidden
MAX_GLYPH_SIZE=256, 256 ;; hidden

[OPTIMIZATIONS]
COMPRESS_CPU_MESHES=1 ; Compress meshes in RAM (unlike original AC, CSP keeps copies of all meshes in RAM for things like mesh selection or click-to-focus; this option can save a few megabytes of memory by compressing the data); 1 or 0
MULTITHREADED_LOADING=1 ; Multithreaded loading (reduces loading times); 1 or 0
SMOOTHER_LOADING=1 ; Smoother loading (disable if takes too long); 1 or 0
CACHING_LOADING=1 ; Cache AC data to speed up loading; 1 or 0
SKIP_CREATING_SETUP_FOLDERS=1 ; Skip creating setup folders for every installed track (by default AC creates setup folders for every installed track, but with this option it would only create a folder for a track that is currently being used); 1 or 0; new
STOP_ALTERING_THREAD_AFFINITY=0 ; Prevent AC from altering threads affinity (leaves it to Windows to spread threads more effectively; might help to reduce sudden FPS drops); 1 or 0
BOOST_REFLECTIONS=1 ; Speed up reflections rendering; 1 or 0
AABB_REFLECTIONS=1 ; Use SIMD-accelerated AABB culling for reflections (reduces draw calls lowering CPU and GPU load); 1 or 0; only with BOOST_REFLECTIONS
AABB_TRACKS=0 ; Use SIMD-accelerated culling for tracks (saves a bit of CPU time, might increase GPU load); 1 or 0
FORCE_CULL_TESTS=1 ; Force cull tests (might decrease GPU load by adding some extra CPU load); 1 or 0
ADVANCED_CULLING=0 ; Advanced culling (runs in separate thread taking into account track occluders and more); 1 or 0
EARLY_CULL_CHECK=1 ; Check orientation-based culling early (slightly reduces draw calls, might cause flicker on CPUs with two cores); 1 or 0; only with ADVANCED_CULLING
USE_FMM=0 ; Map files to memory for faster loading; 1 or 0; new

[OPTIMIZATIONS_CPU_DEV]
; hidden
; do not touch unless it’s really needed, it would break certain modules like Extra FX
LAZIER_SKINNED=1 ; Avoid unnecessary remaps for skinned meshes; 1 or 0
CUSTOM_NODE_RENDER=1 ; Use custom Node::render; 1 or 0

[OPTIMIZATIONS_CPU]
; CPU optimizations, experimental (can reduce CPU load in certain situations)
; MERGE_MESHES=0 ; Merge meshes (merge groups of smaller meshes to reduce draw calls); 1 or 0
PAUSE_HIDDEN_APPS=1 ; Pause hidden apps (affects only a few known apps which are safe to pause like that); 1 or 0
FLATTEN_NODES=0 ; Flatten nodes (remove unnecessary nodes in scene graph); 1 or 0
CUSTOM_CAR_LODS_2=1 ; Custom cars LODs impl.; hidden
CBUFFER_OPTIMIZATION=0 ; Additional GPU buffers optimization (disabling it might help with some malfunctions); 1 or 0

USE_CHUNKS=1 ; Chunks optimization (removes distant objects from scene to save time on having to check if they’re close enough or not each time the scene is being rendered. Advanced mode currently might hide too much in replays or with low FOV cameras.); 0 for Disabled, 1 for Basic, 2 for Advanced (experimental); new

LIMIT_GENERAL=1 ; Limit some things if there are a lot of cars; 1 or 0
LIMIT_SHADOWS=1 ; Limit shadows; 1 or 0
LIMIT_SMOKE=3 ; Limit smoke (set to 0 to disable limit); from 0 to 5, round to 1
LIMIT_AUDIO=6 ; Limit audio (set to 0 to disable limit); from 0 to 20, round to 1

[OPTIMIZATIONS_GPU]
; GPU optimizations (can reduce GPU load in certain situations depending on view, track or cars)
REORDER_RENDERING=1 ; Optimize draw order (change draw order to reduce overdraw); 1 or 0
OPTIMIZE_MESHES=1 ; Optimize meshes (rearrange index buffers for better cache usage); 1 or 0
OPTIMIZE_MESHES_MORE=0 ; Optimize meshes some more (rearrange to reduce overdraw and improve fetching); 1 or 0
; SEPARATE_SHADOW_MESHES=0 ; Use separate meshes for shadow pass (optimized vertex/index buffers for shadow pass. Might gain an fps or two but increases CPU load slightly. Will dynamically disable under high CPU load); 1 or 0
DEDUPLICATE_MESHES=1 ; Deduplicate meshes (reduces VRAM usage for multiple cars of same type); 1 or 0
SHADOW_MAP_16BIT=0 ;; hidden
USE_NEW_DDS_LOADER=0 ; Use newer DDS loader (much faster textures loading, also might reduce VRAM consumption. Experimental option, might not work with some textures.); 1 or 0
__HINT_BOTTOM=None of these would affect visual quality at all, optimizations just mean more efficient arrangement of things to utilize GPU better. ;; hidden

[FPS_LIMIT_TWEAKS]
; FPS limiter options
USE_ADJUSTED_FRAME_TIME = 0 ; Adjust frame time to improve smoothness (pretty much just increases FPS limiter value a bit to make sure there’ll be no occasional drop to 30 FPS because of a possible hiccup); 1 or 0
USE_SLEEP = 1 ; Use sleep instruction (applied in case rendering thread needs to wait more than 2 ms per frame; lowers CPU consumption, but might introduce occasional FPS drops — or might not, please, check for yourself); 1 or 0
USE_PAUSE = 1 ; Use pause instruction (reduces power consumption); 1 or 0

[GHOST]
; Hotlapping ghost
USE_ORIGINAL_MATERIALS=0 ; Use original car look instead of semi-transparent glowing one; 1 or 0; not available with ADD_EXTRA_GLOW
ADD_EXTRA_GLOW=0 ; Add extra glow to the ghost; 1 or 0; not available with USE_ORIGINAL_MATERIALS
EXTRA_GLOW_EMISSIVE_MULT=1 ; Extra glow, emissive mult.; from 0 to 2, perc.; only with ADD_EXTRA_GLOW
EXTRA_GLOW_LIGHT_MULT=1 ; Extra glow, light mult.; from 0 to 2, perc.; only with ADD_EXTRA_GLOW
REFRACTION_MULT=0 ; Refraction; from 0 to 1, perc.

[SHARED_MEMORY]
; Shared memory tweaks
REDUCE_GFORCES_WHEN_SLOW=0 ; Reduce G-forces for cars slower than 6 km/h (improves D-BOX behaviour); 1 or 0
