It is good practice to collect all SimObjects used by your project/scenery into one accordingly named container (e.g. Airport_KXXX).
For the SODE module, a SimObject container consists of a „sim.cfg“ file, various „model.XXX“ and one or more „texture.XXX“ folders. Optionally, you can create a „sound“ folder that contains wave-files that are played during animations.
The „sim.cfg“ file defines all the relationships between model and texture folders. For internal purposes (SoundEngine) you must provide the line „Module=SODE“ in the „[General]“ section.
▲Caution: It is mandatory to add the line „Module=SODE“ in the „[General]“ section of the sim.cfg file! This is needed for the different sub-engines within SODE.
The SimTitle property string is used internally in the simulation and can be chosen freely, but it is wise to use a common prefix, see below:
▲Caution: The SimTitle must be a unique name! Otherwise, Flight Simulator is not able to find and load the correct SimObject. It is good practise to name your object SimTitles with a common prefix, e.g. MyCompany_XYZ, MyCompany_ABC, etc.
The model subfolders contain all the objects model data (*.mdl files), each referenced by a dedicated „model.cfg“ file.
The texture folder usually contains a „texture.cfg“ which defines the fallback texture paths pointing to the usual project texture folder (e.g. Airport_KXXX/texture). It is also possible to directly place the image files into the texture folder in the container. Please study the SODE folder for implementation details.
The figure below shows a simple container consisting of three models and the corresponding entries in the sim.cfg file.
Special Case: Seasonal Objects
For seasonal objects, there exists two possibilities to set up the SimObject container structure, which are based on two different design philosophies:
- Seasonal variation is done through change of texture file, i.e. the model itself remains constant polygon-wise.
- Seasonal variation is also achieved by altering the model as well, e.g. additional 3D snow on the roof.
For case 1, where only the texture is changed, following method is used: Let „ObjectA“ be some seasonal object with texture „ObjA.dds“. The sim.cfg file defines the relationship to the correct texture subfolder by mapping a specific „SimTitle“ to a texture subfolder. Note that the referenced model is always the same and only the subfolder mapping changes! In the individual „texture.XX“ subfolders, a copy of the texture „ObjA.dds“ with the seasonal variation must be provided. In other words, the texture name is always the same, the content changes.
Case 2 requires the developer to create individual model files and named textures for each season. This follows the „one SimObject with alternative models“ concept. Note that the texture entries in the sim.cfg are blank. The texture.cfg then refers to the texture path where the different texture variations are located at.