Difference between revisions of "Documentation/Engine/Game data"
(→Vehicle model resources) |
(→Definitions) |
||
Line 84: | Line 84: | ||
├... | ├... | ||
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=police_data.sii}} ''Defines player offences: fine amounts, offence check delay.'' | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=police_data.sii}} ''Defines player offences: fine amounts, offence check delay.'' | ||
+ | ├... | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=rim_data.sii}} ''Defines players vehicle wheels assembling rules and backward compatibility for old game profiles using old wheels assembling system.'' | ||
├... | ├... | ||
├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=sound_player.sii}} ''Defines sounds for UI actions and global game sounds.'' | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=sound_player.sii}} ''Defines sounds for UI actions and global game sounds.'' | ||
Line 247: | Line 249: | ||
├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=template}} ''Defines signs template featuring all sign components, their positions and other properties. SII files are created by Map Editor.'' | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=template}} ''Defines signs template featuring all sign components, their positions and other properties. SII files are created by Map Editor.'' | ||
└{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=templates.sii}} ''Templates storage file including templates from "'''/def/sign/template/''''' folder. Also managed by Map Editor'' | └{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=templates.sii}} ''Templates storage file including templates from "'''/def/sign/template/''''' folder. Also managed by Map Editor'' | ||
+ | |||
+ | </div> | ||
+ | |||
+ | === Vehicle definitions === | ||
+ | |||
+ | |||
+ | <div class="folder_structure"> | ||
+ | |||
+ | {{FileSystemTreeEntry|icon=FST-IconRoot|type=|name=Root game folder|link=#Root game folder}} | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=def|link=#Definitions}} | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=vehicle|mark_current=1}} | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=addon_hookups}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=ai}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=ai_wheel}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=f_cover}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=f_disc}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=f_hub}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=f_nuts}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=f_rim}} ''Obsolete.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=f_tire}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=f_wheel}} ''Partially obsolete.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=r_cover}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=r_disc}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=r_hub}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=r_nuts}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=r_rim}} ''Obsolete.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=r_tire}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=r_wheel}} ''Partially obsolete.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=trailer}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_company_uk}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_dealer_uk}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=truck_desktop_uk}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFolder|type=|name=t_wheel}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=addon_hookup_storage.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=physics.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=physics_interior_camera.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=traffic_storage_bus.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=traffic_storage_car.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=traffic_storage_semi_trailer.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=traffic_storage_truck.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=traffic_trailer_type.sii}} ''.'' | ||
+ | ├{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=traffic_vehicle_type.sii}} ''.'' | ||
+ | └{{FileSystemTreeEntry|icon=FST-IconFileSii|type=|name=trailer_storage.sii}} ''.'' | ||
</div> | </div> |
Revision as of 13:16, 9 March 2016
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".
Contents
Root game folder
Root game folder consists of:
Root game folder ├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 folder ├def ├animated_model Directory with definitions for animated models triggered when distance to player is small enough. ├camera See: Camera definitions. ├cargo See: Cargo definitions. ├city Defines cities for game. Each city is defined in it's own SII file. ├climate See: Climate definitions. ├company See: Company definitions. ├country See: Country definitions. ├desktop Desktop (main menu) scene configurations. By default "/def/desktop/config.sii" is used. ├ferry See: Ferry definitions. ├initial_save Stores zero day save files where folder: normal is used by creating new user profile and preview while running game in preview mode. ├regional_settings Regional settings profiles data. By default there should be 3 profiles: Europe, USA and UK. ├sign See: Sign definitions. ├stamp Defines brush stamping layouts which are defined as stamps in "/def/world/stamp.sii" and used in Map Editor while using Stamp Tool. ├vehicle See: Vehicle definitions. ├world See: World definitions. ├aux_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. ├... ├rim_data.sii Defines players vehicle wheels assembling rules and backward compatibility for old game profiles using old wheels assembling system. ├... ├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 folder ("/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 folder ├def ├camera ├... Folders for cut scenes camera definitions. ├ui Folder for storing camera movement definitions related to game desktop (main menu). ├units Folder 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
This folder contains all cargoes definitions that player can transport in the game.
Unique cargo is defined by SII file and folder having 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 ├def ├cargo ├<cargo_name_1> Folder 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. ├<cargo_name_2> └... ├... The rest of cargo trailer definition folders. ├<cargo_name_1>.sii Defining one cargo data. ├<cargo_name_2>.sii └... The rest of unique cargoes definition.
Climate definitions
Each climate is defined in it's own folder "/def/climate/<climate_name>/" and usually have profile SII files: one for nice weather "nice.sii" and second for bad weather "bad.sii". Climates definitions are used in Map Editor (Editor Settings -> Weather tab).
By default there should be at least two climates:
Root game folder ├def ├climate ├reference Reference climate. ├bad.sii Climate definition for bad weather. └nice.sii Climate definition for nice weather. └... The rest of climates.
Company definitions
Companies are entry and exit places on map for player missions (e.g. trailer delivery). So when defining new company make sure to include it in company storage file "/def/company(.infix).sii" otherwise company won't appear in the Map Editor and later in game.
Company definition folder with included company "<company_name_1>" would look like:
Root game folder ├def ├company ├<company_name_1> Folder defining company data, named same as it's corresponding company data file. ├editor Folder containing definitions for cities in which this company exists and which prefab will be used for it. ├in Folder containing SII files for cargoes this company accepts. └out Folder containing SII files for cargoes this company is shipping out. ├<company_name_2> └... ├... The rest of the folders defining other companies data. ├<company_name_1>.sii File defining company: name, trailer look and sounds. ├<company_name_2>.sii └... The rest of companies definitions.
Country definitions
Defines available countries that can be used in the Map Editor and later in game. While defining new country make sure to include it in country storage file "/def/country(.infix).sii".
Each country has it's own folder defining all possible country specific data. Worth mentioning is modification of AI traffic appearing frequencies, which is done by adding SII files inside "/def/country/<country_name>/ai/" folder. Each SII file defines modified frequency for one AI vehicle, where it's name tells which car is it. Possible file names are AI vehicles unit name suffixes used inside AI vehicle definitions (AI vehicles definitions can be found in: "/def/vehicle/ai/").
Tree overview of country definitions:
Root game folder ├def ├country ├<country_name_1> Folder defining other country specific data: license plates, speed limits, AI cars frequency. ├ai Folder containing SII files for AI traffic vehicles, that should have modified frequency in that country. ├license_plates.sii Defines license plate data for that country. └speed_limits.sii Defines speed limits for AI traffic for that country. ├<country_name_2> ├... └... ├... Folders for the rest of the countries data. ├<country_name_1>.sii File defining country general data: id, name, country code, position, fuel price etc. ├<country_name_2>.sii └... The rest of the countries definition.
Ferry definitions
Defines names of the ferries and their connections. For proper working in game this ferries has to be used in Map Editor while adding Ferry points. All ferries also have to be included in ferry storage file "/def/ferry(.infix).sii".
Connections on the other hand are defined in "/def/ferry/connection/" folder. Each file in that folder defines one direction connection from one ferry to second ferry. How connection is directed is defined by SiiUnit name, so for example SiiUnit name: "conn.<ferry1>.<ferry2>" is presenting ferry connection from <ferry1> to <ferry2>.
Tree overview of ferry definitions:
Root game folder ├def ├ferry ├connection Folder with SII files defining connections between ferries. Each file defines one way direction between two ferries. └... SII files defining ferries. Each file defines one unique ferry.
Sign definitions
Sign definitions are meant for new on-the-fly sign generation system which uses:
- Image atlases which are used to combine several related image into one and use atlas entries to address only part of the image.
- Frame templates which replaces sign background images for generated ones, where quality is not compromised with scaling.
Moreover sign definitions includes projects and template folder where game saves projects and end sign templates created within Map Editor.
Whole sign definitions tree structure:
Root game folder ├def ├sign ├atlas Defines image atlases for signs. SII files are created by hand. ├frame Defines frames templates for signs. SII files are created by hand ├project Defines sign projects which links associated data for example: creation of signs for one country. SII files are created by Map Editor. ├template Defines signs template featuring all sign components, their positions and other properties. SII files are created by Map Editor. └templates.sii Templates storage file including templates from "/def/sign/template/ folder. Also managed by Map Editor
Vehicle definitions
Root game folder ├def ├vehicle ├addon_hookups . ├ai . ├ai_wheel . ├f_cover . ├f_disc . ├f_hub . ├f_nuts . ├f_rim Obsolete. ├f_tire . ├f_wheel Partially obsolete. ├r_cover . ├r_disc . ├r_hub . ├r_nuts . ├r_rim Obsolete. ├r_tire . ├r_wheel Partially obsolete. ├trailer . ├truck . ├truck_company . ├truck_company_uk . ├truck_dealer . ├truck_dealer_uk . ├truck_desktop . ├truck_desktop_uk . ├t_wheel . ├addon_hookup_storage.sii . ├physics.sii . ├physics_interior_camera.sii . ├traffic_storage_bus.sii . ├traffic_storage_car.sii . ├traffic_storage_semi_trailer.sii . ├traffic_storage_truck.sii . ├traffic_trailer_type.sii . ├traffic_vehicle_type.sii . └trailer_storage.sii .
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 Logos of the game, SCS Software and libraries used by the game. ├─ 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 Textures and materials used by UI such like buttons, windows, icons etc.
Sounds
Library of sounds used by game.
Root Game Folder ├─ sound ├─ ai Sounds used by AI Traffic vehicles such like engine sounds, horns and sirens. ├─ environment Environment ambient loops. ├─ mover Sounds produced by mover objects in game. ├─ music Music used in many places for example during cutscenes. ├─ truck Truck related sounds such like engine sounds, crash sounds, trailer attach sounds etc. └─ ui Sound effects used when user is interacting with the UI. For example click on the UI element.
UI definitions
Library of all UI layouts and control definitions including vehicle dashboards.
Root Game Folder ├ui ├─ 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 Folder ├vehicle ├─ ai ├─ driver ├─ share ├─ trailer* ├─ truck └─ wheel