Sign in…
CUP v22

CSP/Tracks/General extended physics options

Some general extended physics options. All of these are for “surfaces.ini”:

[_EXTENSION]
REQUIRED_VERSION = 2000  ; Track can be set to require a certain version of CSP. Use it if you rely
                         ; on a certain CSP feature that was added in one of later builds.

Defaults

These options are enabled by default, but can be disabled if needed:

[_EXTENSION]
REAL_MASS_ONLINE = 1                    ; Use real mass for rigidbodies of remote cars online
ALIGNED_CARS_POSITIONING = 1            ; Orient cars along surface normal when positioning (improves
                                        ; stability on tilted surfaces)
RANDOMIZED_CARS_POSITIONING = 0.1, 0.1  ; Slightly randomize car positions and orientations when
                                        ; when positioning. First value in meters randomizes position,
                                        ; second is for orientation.

PIT_ALTITUDE = 0          ; based on pits, set real altitude of a track in meters, see at the end for another method

Also, enabling custom track physics automatically activates box collider detection for dynamic physics objects.

Base collision tweaks (disabled by default)

[_EXTENSION]
RIGID_FLOOR_COLLISIONS = 0  ; Use rigid (hard) collisions with floor
RIGID_WALLS_COLLISIONS = 0  ; Use rigid (hard) collisions with walls
RIGID_DIRT_COLLISIONS = 0   ; Use rigid (hard) collisions with dirty floor areas

It’s not that good of an idea to use any of it, but it might help with cars falling through ground. For more precise configuration check out separate post about configuring collision parameters in detail.

Integrity verification

Track can verify integrity of some of its files:

[_VERIFY_INTEGRITY_...]
ONLINE_ONLY = 0   ; Set to 1 to verify file only in an online race
FILE = …          ; File path relative to track’s data folder
CHECKSUM = …      ; SHA256 checksum

You can use an online tool like this to generate a checksum.

Permissions

Tracks with extended physics can grant additional permissions to other things like Lua scripts:

[_SCRIPTING_PHYSICS]
ALLOW_TRACK_SCRIPTS = 0     ; Allow track scripts to access physics API
ALLOW_DISPLAY_SCRIPTS = 0   ; Allow track display scripts to access physics API
ALLOW_NEW_MODE_SCRIPTS = 0  ; Allow new mode scripts to access physics API
ALLOW_TOOLS = 0             ; Allow tools scripts to access physics API
ALLOW_APPS = 0              ; Allow Lua apps to access physics API
ALLOW_TRACK_SCRIPTS_DYNAMIC_OBJECTS = 0  ; Set to 1 to any script to create and manipulate rigidbodies
                                         ; only (I doublt it would be easy to cheat with those)

[_EXTRA_PERMISSIONS]
ALLOW_CUSTOM_AI_MANIPULATION = 0  ; Set to 1 to allow custom AIs on this track

More information about custom AIs is available here.

Miscellaneous

For goofing around you can change the gravity, although currently that change would not apply online to make sure things are fair:

[_EXTENSION]
GRAVITY = -9.8

Track Altitude

[ALTITUDE]
BASE = 0   ; set real altitude in meter, also based on pit0 position