## LIVING THINGS sim.cfg

The different living things available in the simulation are also configured as SimObjects. These include humans (marshallers, tarmac workers, etc...), flying animals and ground animals. As with any other SimObject, the project for living things generally contain a model folder, a texture folder, and a sound folder, or possibly several of these for variants. Moreover, the model folder contains an *.xml file referencing LODs and model behaviors - as described in the corresponding section here: <Behaviors> - and may also contain animation data (explained here: Model Animation Definitions). Living things have a single *.cfg file in their root folder, which is the file sim.cfg.

NOTE: Any animal that goes in water, for example a whale, should be considered a Boat SimObject, and not a living thing SimObject. You can see an example of the CFG file for this here: Boats Config Examples.

Below you can find information on the different sections used in the sim.cfg file as well as what parameters and values are expected within them.

### [VERSION]

The [VERSION] section provides version information for the configuration file. The version number of 1.0 is to ensure creatures/humans are up-to-date with the base version of Microsoft Flight Simulator. Without any specified version number, 0.0 is assumed, and the living thing should keep some functionality. This is permitted for FSX backward-compatibility, but will mean the vehicle will lack some new improvements, such as model behaviors.

Parameter Description Type Required
major Major CFG file version number. Integer No
minor Minor CFG file version number. Integer No

### [fltsim.N]

The [fltsim.N] section(s) are used to define the basics of the living thing. You can define multiple of these sections numbering them from 0, where each section is a variation of the creature/person. Note that you cannot "skip" numbers, so you can't have [fltsim.0] and then follow it with [fltsim.2]. Each parameter listed below will take a default empty string "" which signifies the default folder, as explained in the descriptions for each parameter. However, should you wish to have variations, the name you give in each parameter will be appended onto the base folder name. For example, the base folder for a model is simply "model", so any variations would be in folders called "model.<variation>". The config file would then look like this:

[fltsim.0]
title=MyCompany_Crab
model=""
texture=""

[fltsim.1]
title=MyCompany_Crab_Red
model="Red" ; folder would be "model.Red"
texture="Red" ; folder would be "texture.Red"

The following parameters exist for this section:

Parameter Description Type Required
title The creature/human variation name. Names are a unique identifier of SimObjects and their variants. We recommend using your company name as a prefix, to guarantee the uniqueness of your SimObject even when included with objects produced by other 3rd party developers. String Yes
model The folder for the creature/human model (if it's the default "model" folder, leave as an empty string ""). String No
texture The folder for the creature/human textures (if it's the default "texture" folder, leave as an empty string ""). String No
animation The folder for the creature/human animation (if it's the default "animation" folder, leave as an empty string ""). String No
sound The folder for the creature/human sounds (if it's the default "sound" folder, leave as an empty string ""). String No

#### List Of Included Pilot/Copilot/Instructor SimObjects

The following is a list of titles that can be used in the pilot, copilot and instructor parameters for the [PILOT] section of the aircraft.cfg file or as the title and model parameter in the [fltsim.N] section of the sim.cfg file. If you use these titles, you have no need for further files to define the human model or SimObject as these all relate to ones already available. Also note that the list shows the corresponding relative path for the appropriate image to show in the image parameter of the [Pilot.N] section.

• "Pilot_Male_Casual" - images\Pilot_Male_Casual.png
• "Pilot_Female_Casual"- images\Pilot_Female_Casual.png
• "Pilot_Male_Uniform"- images\Pilot_Male_Uniform.png
• "Pilot_Female_Uniform"- images\Pilot_Female_Uniform.png
• "Pilot_Male_African"- images\Pilot_Male_African.png
• "Pilot_Female_African"- images\Pilot_Female_African.png
• "Pilot_Male_Uniform_African"- images\Pilot_Male_Uniform_African.png
• "Pilot_Female_Uniform_African"- images\Pilot_Female_Uniform_African.png
• "Pilot_Male_Arab"- images\Pilot_Male_Arab.png
• "Pilot_Female_Arab"- images\Pilot_Female_Arab.png
• "Pilot_Male_Uniform_Arab"- images\Pilot_Male_Uniform_Arab.png
• "Pilot_Female_Uniform_Arab"- images\Pilot_Female_Uniform_Arab.png
• "Pilot_Male_Asian"- images\Pilot_Male_Asian.png
• "Pilot_Female_Asian"- images\Pilot_Female_Asian.png
• "Pilot_Male_Uniform_Asian"- images\Pilot_Male_Uniform_Asian.png
• "Pilot_Female_Uniform_Asian"- images\Pilot_Female_Uniform_Asian.png
• "Pilot_Male_Hispanic"- images\Pilot_Male_Hispanic.png
• "Pilot_Female_Hispanic"- images\Pilot_Female_Hispanic.png
• "Pilot_Male_Uniform_Hispanic"- images\Pilot_Male_Uniform_Hispanic.png
• "Pilot_Female_Uniform_Hispanic"- images\Pilot_Female_Uniform_Hispanic.png
• "Pilot_Male_Indian"- images\Pilot_Male_Indian.png
• "Pilot_Female_Indian"- images\Pilot_Female_Indian.png
• "Pilot_Male_Uniform_Indian"- images\Pilot_Male_Uniform_Indian.png
• "Pilot_Female_Uniform_India"- images\Pilot_Female_Uniform_India.png

### [General]

This section controls some general details relating to the creature/human SimObj. Available parameters are:

Parameter Description Type Required
category The category for the SimObject (in this case it will be either "Animal", "FlyingAnimal", "Human", or "AircraftPilot").

Enum:

"Airplane"
"Boat"
"GroundVehicle"
"Animal"
"FlyingAnimal"
"Human"
"StaticObject"
"AircraftPilot"
"GroundVehiclePilot"

Yes
DistanceToNotAnimate

This is the distance (in meters) to turn off animation and model behavior systems, which lowers the processing overheads for the SimObjects. The approximate values by category would be:

• AircraftPilot = 100 meters
• FlyingAnimals = 250 meters
• All others = 1000 meters

When the creature/human is farther away from the viewpoint of the camera, its model behaviors and other animations are not executed in order to improve general sim performance. If the camera gets farther than this distance during an animation then comes back closer, the animation will immediately skip to the frame it should have been without the interruption and, for model behaviors, the simvar ANIMATION DELTA TIME will contain the total time of interruption instead of the current frame delta time. This means that, as long as the animations/behaviors are not visible from this distance, this performance optimization will have no visible impact whatsoever for the user.

Float No

### [DesignSpecs]

This section controls the specification related to the ground creature/human, like movement speed. Available parameters are:

Parameter Description Type Required
max_speed_mph

The maximum speed of the creature/human, in mph. If you have added the speed in Knots this is not required, but one of the two must be present.

Value must be greater than 0.

Float Yes
max_speed_knots

The maximum speed of the creature/human, in Knot. If you have added the speed in mph this is not required, but one of the two must be present.

Value must be greater than 0.

Float Yes
acceleration_constants 2 value table used to control the creature/human acceleration. The first value is a time constant of effect responsiveness (higher value for faster reactions), while the second one is a maximum acceleration in Gs.

1D table of 2 Floats

(see Data Types for more information)

No
deceleration_constants 2 value table used to control the creature/human deceleration. The first value is a time constant of effect responsiveness (higher value for faster reactions), while the second one is a maximum acceleration in Gs.

1D table of 2 Floats

(see Data Types for more information)

No
turning_constants 4 value table used to control how the creature/human turns. The first value is a time constant of effect responsiveness (higher value for faster reactions), the second value is the maximum number of degrees it can turn, third is the optimal turning speed (in Knots), and fourth is the maximum turning speed (in Knots).

1D table of 4 Floats

(see Data Types for more information)

No

### [Pilot.N]

This optional section sets details for an aircraft pilot and is only required when the [fltsim.N] title is set to "AircraftPilot". You can have multiple [Pilot.N] sections in a single sim.cfg file, and they should be numbered consecutively from 0. Note that you cannot "skip" numbers, so you can't have [Pilot.0] and then follow it with [Pilot.2]. This setting is used to set which pilot is the default for the current aircraft, and any pilot defined here is also added in the pilots list that you can find in the Microsoft Flight Simulator options menu. The available parameters are:

Parameter Description Type Required
name This is a localisable string that gives the pilot a name. String Yes
image This defines the path (relative to the sim.cfg file) used to illustrate the pilot in the simulation menu. String Yes
biography Here you can give a short (localisable) text to describe the pilot. String Yes
copilot When set to 1, this pilot can also be selected as a copilot. Boolean Yes
instructor When set to 1, this pilot can also be selected as an instructor. Boolean Yes
female When set to 1, the pilot is flagged as female. Boolean No

### [contact_points]

This optional section controls the contact points for the living thing with the ground. Although the creature/human could work fine with the default values set when omitting this section, we recommend including this section explicitly. The available parameters are:

Parameter Description Type Required
static_cg_height The distance, in ft, between the center of the creature/human model and the ground. This should be a positive value if the center of the model is above the ground. Note that with a major [Version] number less than 1.0 (or unspecified), static_cg_height should actually contain this distance +1, due to FSX backward-compatibility, even though this is rather counter-intuitive. Float No
static_pitch The pitch of the human/creature when at rest on flat ground, in degrees.
wheel_radius While creatures/humans don't have wheels, this is still required for defining the way it connects with the ground. Generally this would be set to 1.

### [WAYPOINT]

This section contains various parameters controlling the way that the living thing will move along waypoints or in the world, all of which are optional due to default values. Available parameters are:

Parameter Description Type Required
SlowDownDistance The distance, in meters, at which the creature/human start slowing down before a sharp turn or its destination. Default value is 50m. Float No
StopDistance The distance, in meters, from the destination at which the creature/human considers it has reached its destination, and will start actually braking to reach a full stop.
FrontRadiusMeters The length, in meters, from the center of the creature/human to the front of it. It is used by the AI to better manage turns. The default is 0, which means an approximate exaggerated value is computed by using a bounding box on the model.
CanReverse Sets whether the creature/human can reverse (TRUE, 1) or not (FALSE, 0). Default is TRUE. Bool
SlowDownOnLastWayPoint This determines if the creature/human should start really slowing down (but not trying to fully stop either), on the last 5 meters before its destination (TRUE, 1) or not (FALSE, 0). Default to TRUE.