Documentation/Engine/Game data

From SCS Modding Wiki
< Documentation‎ | Engine
Revision as of 13:42, 7 March 2016 by ErykDwornicki (talk | contribs) (UI definitions)

Jump to navigation Jump to search

All of SCS games are using partially prescribed folder structure. This means that some resources must have proper name and be placed into proper folder otherwise game may malfunction or even crash. That's why this topic is giving insight to game base folder structure, it's crucial resources and their place in folders.

In general topic is showing and describing structure of the folders and files as you get them by using Game Archive Extractor for two basic files with .scs extension found in game installation directory: "base.scs" and "def.scs".

Root game folder

Root game folder consists of:

automat         Material storage with generated material files produced during conversion of 3D model assets with conversion tools.contentbrowser  Folder used by Map Editor content browser TODO: wait for confirmation.custom          Legacy folder for storing custom/modded definitions (NOTE: This folder is deprecated and might be removed in the future).def             See: Definitions.dlc             Shared models used by dlc such like "dead end" sign.effect          Set of compiled shader effects used by game for rendering of any visual element.font            See: Fonts.map             Storage for maps and it's additional data.material        See: Predefined materials.matlib          TODO: wait for confirmation.
 ├model           Storage for 1st generation of map assets.model2          Storage for 2nd generation of map assets.prefab          Storage for 1st generation of prefab assets.prefab2         Storage for 2nd generation of prefab map assets.road_template   Road template models for new system of road generation.sound           See: Sounds.system          Low level engine resources needed for console and fall-back cases of missing resources.ui              See: UI definitions.uilab           TODO: wait for confirmation.
 ├unit            Definitions for predefined hookups spawned in game trough locators, for example: light flare, light sources, no weather areas.vehicle         See: Vehicle model resources.video           Video based animated textures for UI.autoexec.cfg    Configuration file which is automatically executed on game start-up.version.txt     File containing game version string.

Definitions

Definitions for most of configurable game content like: vehicles, economy, map assets etc.

Root game folderdefanimated_model                Directory with definitions for animated models triggered when distance to player is small enough.camera                        See: Camera Definitionscargo                         See: Cargo Definitionscityclimatecompanycountrydesktopferryinitial_savejobsregional_settingssignstampvehicleworldaux_lamp_colors.sii           Defines players vehicle auxiliary light mask colors.bank_data.sii                 Bank loans configuration.car_colors.sii                Defines colors for AI traffic cars.cargo.sii                     Storage of cargoes for trailer generation. When defining your own cargoes use infixed version of this Sii file for example: "cargo.my_mod.sii".city.sii                      Storage of cities in game. When defining your own cities use infixed version of this Sii file for example: "city.my_mod.sii".climate.sii                   Storage of climate profiles. When defining your own climate use infixed version of this Sii file for example: "climate.my_mod.sii".company.sii                   Storage of companies that can be used in game. When defining your own companies use infixed version of this Sii file for example: "company.my_mod.sii".
  ├...
  ├country.sii                   Storage of countries used in game. When defining your own countries use infixed version of this Sii file for example: "country.my_mod.sii".
  ├...
  ├economy_data.sii              Game economy definition.
  ├...
  ├env_data.sii                  Environment global configuration such as day in the year. << TODO: This is not clean enough for me.
  ├...
  ├ferry.sii                     Storage of ferry ports. When defining your own cargoes use infixed version of this Sii file for example: "ferry.my_mod.sii".
  ├...
  ├game_data.sii                 Various global game definitions.hdr.sii                       High dynamic range effect definitions.
  ├...
  ├job_trailer_preview.sii       Scene setup for generating preview images of trailers in freight market.job_truck_preview.sii         Scene setup for generating preview images of trucks in quick jobs.job_wotr_trailer_preview.sii  Scene setup for generating preview images of trailers in WOTR contracts.
  ├...
  ├mail_data.sii                 Defines players mails.photo_camera_data.sii         Configuration of Photo Mode camera.
  ├...
  ├police_data.sii               Defines player offences: fine amounts, offence check delay.
  ├...
  ├sound_player.sii              Defines sounds for UI actions and global game sounds.
  ├...
  ├traffic_data.sii              Defines different AI traffic data: total AI max count, yield attributes, safety distances etc.traffic_light_lamp_colors.sii Defines mask colors for traffic lights.trailer_preview_scene.sii     Defines scene configuration parameters for Trailer Browser.
  ├...
  ├truck_colors.sii              Defines colors for AI traffic trucks.truck_config_scene.sii        Defines scene configuration parameters for Upgrade Shop & Truck Browser.truck_dealer_scene.sii        Defines scene configuration parameters for Truck Dealers.
  ├...
  └vehicle_lamp_colors.sii       Defines players vehicle light mask colors.

Camera Definitions

Camera definitions directory ("/def/camera") is using "camera_storage(.infix).sii" files as storage files defining cameras that can be used by player while in game (UI interface is not handled by cameras, as UI is drawn directly on screen 2D plane). Note that this defines only storage for available in game cameras, but which camera is used in the game depends on currently user selected view and current used player vehicle.

Beside storage files camera definitions folder also includes "cutscene.sii" file which defines camera and it's movement in different cut-scenes.

Root game folderdefcamera...                        Directories for cut scenes camera definitions.ui                         Directory for storing camera movement definitions related to game desktop (main menu).units                      Directory for storing players camera included in "camera_storage" Sii files.camera_storage.sii         Defining cameras storage that can be used in game by player. When creating your own cameras use infixed storage file name like: "camera_storage.mymod.sii".camera_storage.oculus.sii  Same as camera_storage.sii with purpose of defined cameras for Oculus Rift head set.cutscene.sii               Defines cut scene data for each type.

Cargo Definitions

Unique cargo is defined by Sii file and directory with one or more Sii files defining trailers which can carry this cargo. So for each cargo you have one Sii file inside "/def/cargo/" and one or multiple Sii files inside folder "/def/cargo/<cargo_name>/". Example definition for cargo: "<cargo_name>" is shown in the tree below.

[[#Root game folder|Root game folder]][[#Definitions|def]]cargo<cargo_name>             Directory defining trailers that can carry cargo defined in "<cargo_name>.sii" file.trailer.unit.name.sii  Defines trailer that can carry this cargo. Sii file is named by trailer SiiUnit name...                    More definitions for different trailers carrying this cargo....                      More cargo trailer definitions.<cargo_name>.sii         Defining one cargo data....                      More cargo definitions.

Fonts

Folder for storing game fonts.

Root Game Folder
├─ font
   ├─license_plate             Fonts used by licence plates.
   └─sign                      Fonts used by road signs.

Predefined materials

Library of predefined materials and textures.

Root Game Folder
├─ material
   ├─ custom                   Lorem ipsum..
   ├─ decal                    Lorem ipsum..
   ├─ deferred                 Lorem ipsum..
   ├─ editor                   Lorem ipsum..
   ├─ environment              Lorem ipsum..
   ├─ flags                    Lorem ipsum..
   ├─ logo                     Lorem ipsum..
   ├─ metal                    Lorem ipsum..
   ├─ overlay                  Lorem ipsum..
   ├─ prefab                   Lorem ipsum..
   ├─ road                     Lorem ipsum..
   ├─ rocks                    Lorem ipsum..
   ├─ ropes                    Lorem ipsum..
   ├─ sign                     Lorem ipsum..
   ├─ special                  Lorem ipsum..
   ├─ terrain                  Lorem ipsum..
   ├─ tiled                    Lorem ipsum..
   └─ ui                       Lorem ipsum..

Sounds

Library of sounds used by game.

Root Game Folder
├─ sound
   ├─ ai                      Lorem ipsum..
   ├─ environment             Lorem ipsum..
   ├─ mover                   Lorem ipsum..
   ├─ music                   Lorem ipsum..
   ├─ truck                   Lorem ipsum..
   └─ ui                      Lorem ipsum..

UI definitions

Library of all UI layouts and control definitions including vehicle dashboards.

Root Game Folderui
   ├─ company_manager        Company manager UI layouts.
   ├─ dashboard              Truck dashboard UI layouts.
   ├─ desc                   UI descriptors.
   ├─ editor                 Editor UI layouts.
   ├─ license_plate          Licence plate UI layouts.
   ├─ options                Options screens UI layouts.
   ├─ template               UI templates (definitions of the controls look).
   └─ ...                   UI window layouts for all in game windows.

Vehicle model resources

Root Game Foldervehicle
   ├─ ai
   ├─ driver
   ├─ share
   ├─ trailer*
   ├─ truck
   └─ wheel