Here's Wolf-Dieter's explanations (February, 24th).
Here the structure of the setup files for the drivers: (Do not ask me, why the structure is this way, it is result of historic changes.) The „tree of setups“ starts with the definition of a category. The category should define the ranges for a group of car types that are used to race against each other. (The ranges here can be bigger than in the car type setups!)
Let’s use the “LS-GT1” as sample:
In the repo the category setup file is stored in
<local path>\trunk\data\cars\categories\CategoryName\CategoryName.xml
C:\SD_V2\Dev\trunk\data\cars\categories\LS-GT1\LS-GT1.xml
while in the runtime it is
<local path>\speed-dreams-dev\data\categories\CategoryName.xml
C:\Program files\speed-dreams-dev\data\categories\ LS-GT1.xml
The different cars of a category are defined in the car type setup.
The car type setup defines all the data of a car type, including parameters that are fixed (i.e. engine torque curve).
These fixed parameters should not have a range (no min and max defined).
The adjustable parameters have to have a range (min and max defined, or the IN clause for “LIMITED SLIP” etc.).
KEEP IN MIND: For the category setup and the car type setup the value of an adjustable parameter is of minor interest, the min and max values are the major parameters here! (The ranges can be smaller than in the category setups, but not bigger!)
Let’s use the “ls1-archer-r9” as sample:
In the repo the car type setup file is stored in
<local path>\trunk\data\cars\models\CategoryMarker-CarType\CategoryMarker-CarType.xml
C:\SD_V2\Dev\trunk\data\cars\models\ls1-archer-r9\ ls1-archer-r9.xml
while in the runtime it is
<local path>\speed-dreams-dev\data\cars\CategoryMarker-CarType\CategoryMarker-CarType.xml
C:\Program files\speed-dreams-dev\data\cars\ls1-archer-r9\ls1-archer-r9.xml
(Don’t ask me, why the CategoryName and the CategoryMarker is not same).
Fixed parameters are only in the category or the car type setup!
Adjustable parameter’s values are in the driver’s setup files, the allowed ranges are in the car type setup.
You can shrink the allowed ranges in the driver’s setups!
(Example: Wing angles min=0 max=30 in the category and the car type setup to allow easy work for developers, but wing angles min=4 max=20 in the default setups of the drivers to make the cars drive more realistic)
If you use more levels of setups (i.e. team, track, car type, driver, race type,…) you have to define the ranges of the allowed values as well, otherwise you cannot change it in the more detailed setups (i.e. default.xml: wing angles min=4 max=20 val = 12, migrants.xml: wing angle val=8.
For a driver (human or robot) there should be a default setup.
The default setup is used in all cases if you do not have a better setup (i.e. default.xml used at espie, e-track-3, … but migrants.xml at migrants). A locus based robot for example was not able to drive at any track, if you do not have a track specific setup file because it did not use a default setup. But AFAIK this was changed for the kilos.
The way a driver uses it’s setups can be different. There are two basic ways.
You can define a search list with a defined priority order to find the best detailed setup for your driver.
If a file is found, your driver uses it without looking into other files.
In this case you always have to define all needed parameters in the setups.
The other way uses the merge of setup files. Again you have the list of possible setup files but you read them all.
I.e. a simplix robot starts with it’s default team setup, where some robot parameters are definable (i.e. team enabled, skill enabled,…). Than it looks for an additional setup for the track, to get details for pitting, parameters that are used for many car types and drivers.
Next is the default setup for the car type. Here all adjustable parameters are defined. There is the default value and the min and max values are contained to define the range the robot code allows for it.
Because the tracks are very different (i.e. Aalborg and Forza), the robot looks for additional parameters in the car type and track related file. Here only the parameters are defined that use values different from the default values (i.e. wing anlges, differential ratio). This is what we use in SD at the moment, but the robots knows more setup files, to be able to define different parameters for the team mates driving the same car type, to use more aggressive parameters while qualifying and more defensive while race.
In the repo the files are in:
C:\SD_V2\Dev\trunk\src\drivers\simplix\ simplix_ls1\default.xml C:\SD_V2\Dev\trunk\src\drivers\simplix\ simplix_ls1\ tracks\migrants.xml C:\SD_V2\Dev\trunk\src\drivers\simplix\ simplix_ls1\ tracks\ls1-archer-r9\default.xml C:\SD_V2\Dev\trunk\src\drivers\simplix\ simplix_ls1\ tracks\ls1-archer-r9\ migrants.xml
For runtime the files are first priority user dir (Eigene Dateien), second priority program dir: …\Eigene Dateien\speed-dreams-dev.settings\drivers\simplix_ls1\ default.xml …\Eigene Dateien\speed-dreams-dev.settings\drivers\simplix_ls1\tracks\ migrants.xml …\Eigene Dateien\speed-dreams-dev.settings\drivers\simplix_ls1\ ls1-archer-r9\default.xml …\Eigene Dateien\speed-dreams-dev.settings\drivers\simplix_ls1\ ls1-archer-r9\migrants.xml
C:\Program files\speed-dreams-dev\data\drivers\simplix_ls1\ default.xml C:\Program files\speed-dreams-dev\data\drivers\simplix_ls1\tracks\migrants.xml C:\Program files\speed-dreams-dev\data\drivers\simplix_ls1\ls1-archer-r9\default.xml C:\Program files\speed-dreams-dev\data\drivers\simplix_ls1\ls1-archer-r9\migrants.xml