[ℹ]
FULLNAME=General Patch settings
PREVIEW=https://i.imgur.com/v9Q1sjl.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]
; Developer 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

[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

[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+A as usual); 1 or 0

[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

[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; new
NO_MOUSE_STEERING_FOR_INACTIVE=0 ; Stop mouse steering when AC window goes out of focus; 1 or 0
; ALTERNATIVE_MODE=0 ; Use alternative way of checking mouse and keyboard status; hidden

[CAR_CAMERAS]
; Allowed car cameras
ALLOW_BUMPER=1 ; Bumper camera; 1 or 0
ALLOW_BONNET=1 ; Bonnet camera; 1 or 0
ALLOW_COCKPIT=1 ; Cockpit camera; 1 or 0
ALLOW_DASHBOARD=1 ; Dashboard camera; 1 or 0
ALLOW_CHASE_1=1 ; Chase camera, first; 1 or 0
ALLOW_CHASE_2=1 ; Chase camera, second; 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=0 ;; hidden

[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; new
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

[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; new
EXTRA_LARGE=1 ; Remove original 1 GB size cap (new limit is 4 GB); 1 or 0; new

[CUSTOM_FONTS_RENDERING]
; Custom fonts rendering (can reduce CPU load, but on some rare machines, might stop AC from loading; if this is the case, please, contact me)
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
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

[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
; MULTITHREADED_CULLING=0 ; Multithreaded culling (determine object visibility in separate thread to free up CPU cycles in main thread); hidden

USE_CHUNKS=1 ; Use chunks optimization; 1 or 0

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; from 0 to 5, round to 1
LIMIT_AUDIO=6 ; Limit audio; 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
__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 = 1 ; 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
