Global Config File
Overview
The TMPE_GlobalConfig.xml
contains numerous parameters, many of which are not shown in the mod Settings UI. You can change these parameters to fine-tune TM:PE to your requirements.
You can find the file in the following path (maybe different depending on where you installed the game):
The log file is split into several sections as listed below:
Debug
(only in developerDEBUG
builds)
Each section contains parameters relating to a specific ConfigData
class within TM:PE.
Changing values
If editing the file, make sure you use a plain text editor, not a word processor. For more information, see: Text Editors
Note that TM:PE only performs basic type checking on values. If you specify invalid value types, or values outside the specified range, you will get errors.
General Settings
There are a few top-level keys containing general settings...
Parameter | Range Type | Notes |
---|---|---|
| 1 → +∞ integer current | The config file format version number; increments whenever we make alterations to the format. |
| string game language | A two-letter ISO 639-1 code depicting the selected locale. If the key is not present, or the value empty, TM:PE will use whatever the base game language is set to. |
Note: We also provide some support for non-standard language codes used by popular game translation mods; we transpose them in to ISO 639-1 equivalents. For more details see PR #534.
Debug
This section is only applicable to DEBUG
builds of TM:PE and controls the output of debug logging to the [[TMPE.log]] file.
For more information, see:
Build instructions
Logging documentation
AdvancedVehicleAI
This section describes configuration parameters that are used by the Advanced Vehicle AI.
Parameter | Range Type | Notes |
---|---|---|
| 1 → +∞ integer | At every |
| 0 → +∞ float | During lane selection randomization, the AI assigns this cost value to a lane with a probability of 50%. In the remaining 50%, a lane is not assigned any additional costs. |
| 1 → +∞ float | Minimum cost factor, applied to path costs for every considered lane change. |
| 1 → +∞ float | Maximum cost factor, applied to path costs for every considered lane change. |
| 1 → +∞ float | Cost factor, applied to path costs for every considered lane change in front of junctions. |
| 0 → +∞ float | Cost factor, applied to path costs for every highway interchange considered during path-finding. |
| 1 → +∞ float | Cost factor, applied to path costs for every considered multi-lane change. |
| 0 → +∞ float | At every junction considered during path-finding, this cost factor is multiplied with the inverted (slightly randomized) mean speed of the current segment. |
| 0 → 100 integer | Segment mean speeds that are queried during path-finding are randomized before multiplying with the set |
| 1 → +∞ integer | Real-time traffic measurements collects mean speeds of up to |
DynamicLaneSelection
This section describes configuration parameters that are used by Dynamic Lane Selection.
Parameter | Range Type | Notes |
---|---|---|
| 0 → +∞ float | Maximum amount of space that is allowed to be reserved by other vehicles on the lane right behind the next candidate lane. If the space reservation exceeds this value, DLS ignores the candidate lane if a lane change is necessary to reach it. |
| 0 → +∞ float | Like above, but this value is used by reckless drivers only. |
| 0 → 100 integer | Randomization interval for artificially modifying measured lane speeds (the same principle as in |
| 1 → +∞ integer | Maximum number of future lane changes to consider within the 5-segment window. |
| 0 → +∞ float | Maximum allowed difference between current cruise speed and measured speed on next candidate lane if the lane change that is necessary to switch to the candidate lane was classified as unsafe. |
| 0 → +∞ integer | Minimum speed improvement (absolute velocity) necessary to consider the candidate lane during the evaluation of egoistic lane transitions. |
| 0 → +∞ integer | Minimum traffic flow improvement (in %) necessary to consider the candidate lane during the evaluation of altruistic lane transitions. |
| 0 → 150 integer | Minimum measured relative vehicle speed necessary when traffic volume starts to affect lane changing decisions. |
| ? float | Minimum maximum allowed reserved space on previous vehicle lane (for regular drivers). |
| ? float | Maximum value for Maximum allowed reserved space on previous vehicle lane (for regular drivers). |
| ? float | Minimum maximum allowed reserved space on previous vehicle lane (for reckless drivers). |
| ? float | Maximum maximum allowed reserved space on previous vehicle lane (for reckless drivers). |
| 0 → 100 float | Minimum lane speed randomization interval. |
| 0 → 100 float | Maximum lane speed randomization interval. |
| ? integer | Minimum maximum number of considered lane changes. |
| ? integer | Maximum maximum number of considered lane changes. |
| ? float | Minimum maximum allowed speed difference for unsafe lane changes (in game units). |
| ? float | Maximum maximum allowed speed difference for unsafe lane changes (in game units). |
| ? float | Minimum minimum required speed improvement for safe lane changes (in game units). |
| ? float | Maximum minimum required speed improvement for safe lane changes (in game units). |
| ? float | Minimum minimum required traffic flow improvement for safe lane changes (in %). |
| ? float | Maximum minimum required traffic flow improvement for safe lane changes (in %). |
Main
This section describes configuration parameters that are used by the main module.
Parameter | Range Type | Notes |
---|---|---|
| 0 → +∞ integer | Main menu button X position. |
| 0 → +∞ integer | Main menu button Y position. |
| true\|false boolean | Specifies if the main menu button position should be fixed. |
| 0 → +∞ integer | Main menu X position. |
| 0 → +∞ integer | Main menu Y position. |
| true\|false boolean | Specifies if the main menu position should be fixed. |
| list string list | Tutorial messages that have already been shown to the player. |
| true\|false boolean | Specifies if tutorial messages should be shown to the player. |
| true\|false boolean | Specifies if a more compact main menu should be used. |
| 0 → 100 integer | Window transparency. |
| 0 → 100 integer | Overlay transparency. |
| true\|false boolean | If |
| true\|false boolean | If |
| true\|false boolean | If |
| true\|false boolean | If |
| enumeration | Determines which speed limit sign style to use (only applies if |
See: MphSignStyle
Gameplay
This section describes configuration parameters that are used the Gameplay module.
Parameter | Range Type | Notes |
---|---|---|
| 0 → ? integer | Modulo value for time-varying vehicle behavior randomization. |
ParkingAI
This section describes configuration parameters that are used by the Parking AI.
Parameter | Range Type | Notes |
---|---|---|
| 1 → +∞ integer | Randomization radius for manipulating the point where the search for available parking spaces starts. Randomization is performed to allow road-side parking spaces on the opposite site of the road to be considered during parking space search. |
| 1 → +∞ integer | For every found candidate parking space, a random number between |
| 1 → +∞ float | Maximum number of parking attempts to perform. Vehicles despawn if the number of attempts exceeds this value. |
| 0 → +∞ float | Squared distance between a parked car and the pedestrian that enters the car, at which the car entering procedure is executed. |
| 0 → +∞ float | Maximum allowed distance between building parking spaces and the nearest pedestrian lanes. Building parking spaces that are located too far away from pedestrian paths are not considered in order to prevent pedestrians from floating over long distances. |
| 0 → +∞ float | Maximum acceptable distance between parked vehicles and their owner's home. If the parked vehicle is located further away from home than this value, car owners will be forced to use the car when returning home in order to relocate it to a position that lies closer. |
| 0 → +∞ float | Maximum acceptable distance between parked vehicles and the current target building. If the distance between target building and source location is smaller than this value the owner citizen prefers to walk or to use public transportation to reach the target. |
| 1 → +∞ integer | If a citizen is unable to reach a specific target building by means of walking, driving or public transport, the public transport demand of both the source and target buildings are increased by this value. |
| 1 → +∞ integer | If the maximum acceptable time a citizen waits for a public transport vehicle to arrive at a stop (e.g. a bus stop) is exceeded, the citizen starts searching for alternative routes to the current target building and public transport demand of the target building is increased by this value. |
| 1 → +∞ integer | Public transport demand associated with buildings is continuously diminished by this value. |
| 1 → +∞ integer | If a citizen succeeds in finding a path to a target building that includes using public transportation, the public transport demand of both the source and target buildings are diminished by this value. |
| 1 → +∞ integer | Parking space demand associated with buildings is continuously diminished by this value. |
| -∞ → +∞ integer | When a parked car is spawned near the source building, parking space demand is either decreased or increased, depending on the distance between the parked car and the source building. This value reflects the maximum penalty or minimum reward used for modifying the demand value. |
| -∞ → +∞ integer | As above. This value reflects the minimum penalty or maximum reward used for modifying the demand value. |
| -∞ → +∞ integer | When a parking space is found near the target building, the parking space demand is either decreased or increased, depending on the distance between the parked car and the target building. This value reflects the maximum penalty or minimum reward used for modifying the demand value. |
| -∞ → +∞ integer | As above. This value reflects the minimum penalty or maximum reward used for modifying the demand value. |
| 1 → +∞ integer | If no parking space can be found near the target building, the parking space demand is increased by this value. |
| 1 → +∞ integer | If no parking space can be found near the source building, the parking space demand is increased by this value. |
PathFinding
This section describes configuration parameters that are used by the modified path-finding algorithm.
Parameter | Range Type | Notes |
---|---|---|
| 1 → +∞ float | Represents the cost multiplier that is used to keep regular traffic away from transport lanes (see Bus lane reservation). |
| 0 → 1 float | Represents the (inverted) cost multiplier that is used to keep public transport on the respective transport lanes (see Bus lane reservation). |
| 0 → +∞ float | Represents the maximum cost multiplier that is used to keep heavy vehicles away from inner lanes on highways (see Heavy trucks prefer outer lanes on highways). |
| 1 → +∞ integer | Randomization value that controls the ratio of segments where the inner lane penalty is applied for heavy vehicles. |
| 0 → +∞ integer | Represents the cost factor that is applied to lane changes that are normally not allowed due to incompatible lane arrow configurations. It is used to advice busses to use compatible lanes even if they are allowed to ignore lane arrows (see Busses may ignore lane arrows). |
| 0 → +∞ integer | Represents the cost factor that is applied to u-turns. It is used to minimize the number of performed u-turns (only relevant, if the option Vehicles may do u-turns at junctions is activated) |
| 0 → +∞ float | Represents the maximum walking distance, in meters (base game default: |
| 0 → +∞ float | Minimum penalty applied to path costs whenever a cim switches between different public transport lines. |
| 0 → +∞ float | Maximum penalty applied to path costs whenever a cim switches between different public transport lines. |
PriorityRules
This section describes configuration parameters that are used for Priority Signs.
Parameter | Range Type | Notes |
---|---|---|
| 0 → +∞ float | Maximum squared distance between other vehicles and the junction center point. If the vehicle is yet further away from the junction, it is not considered as a possibly conflicting vehicle. |
| 0 → +∞ float | Maximum junction approach time difference between queried vehicle and other vehicles. If two vehicles will reach a junction at completely different moments priority rule checking is skipped for them. |
| 0 → +∞ integer | Maximum waiting time in front of yield/stop signs. If the waiting time exceeds this value, priority rule checking is temporarily disabled for the vehicle in question. |
| > 0.0 → +∞ float | Maximum vehicle velocity when approaching a Yield sign. See note below table for how to convert to/from km/h. |
| > 0.0 → +∞ float | Maximum vehicle velocity when approaching a Stop sign. See note below table for how to convert to/from km/h. |
TimedTrafficLights
This section describes configuration parameters that are used by Timed Traffic Lights.
Parameter | Range Type | Notes |
---|---|---|
| enumeration | Vehicle counting method to use. Mean: The average number of waiting/driving vehicles is being used as for comparison. Total: The sum of all waiting/driving vehicles is being used for comparison. |
| 0 → +∞ float | Default traffic light sensitivity. |
| 0 → 1 float | Smoothing factor for updating the number of waiting/driving vehicles. Used to prevent counting spikes from happening during adaptive traffic light phases. For every vehicle counting, the previous number of waiting/driving vehicles is multiplied with the smoothing factor. The current number of waiting/driving vehicles is then multiplied with |
See: FlowWaitCalcMode
See also
Mod Settings
Maintenance Settings - has options to reload/reset the global configuration