Difference between revisions of "Documentation/Engine/Units/accessory interior data"

From SCS Modding Wiki
Jump to navigation Jump to search
(WIP)
 
(More info about typical includes, and handling of glass_pane_data)
Line 1: Line 1:
The '''accessory_interior_data''' unit class is used to define the interior and its animations for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are usually defined in '''/def/vehicle/truck/<make.model>/interior/*.sii'''
+
The '''accessory_interior_data''' unit class is used to define the interior and its animations for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]]. Units of this type are usually defined in '''/def/vehicle/truck/<make.model>/interior/*.sii''', making heavy use of [[Documentation/Engine/Units#Includes|includes]] via:
 +
*'''/def/vehicle/truck/<make.model>/interior/animations.sui''' (animation-related attributes; '''animations_uk.sii''' for RHD vehicles in ETS2)
 +
*'''/def/vehicle/truck/<make.model>/interior/dashboard_color.sii''' (dashboard_color array attribute)
 +
*'''/def/vehicle/truck/<make.model>/interior/seat.sui''' (seat adjustment limits; '''seat_uk.sui''' for RHD vehicles in ETS2)
  
 
== Attributes ==
 
== Attributes ==
Line 84: Line 87:
 
|Path to the UI definition for the dashboard display.
 
|Path to the UI definition for the dashboard display.
 
|-
 
|-
|'''gps_path'''
+
|gps_path
 
|string
 
|string
 
|
 
|
Line 122: Line 125:
 
|owner_ptr_array
 
|owner_ptr_array
 
|
 
|
|Each member points to the unit name of a [[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] unit. The glass_pane_data units are typically included after the accessory_interior_data unit, via ''glass.sui'' or, in some legacy cases, ''glass.dat''.
+
|Each member points to the unit name of a [[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] unit.
 
|-
 
|-
 
|dashboard_color
 
|dashboard_color
Line 175: Line 178:
 
|}
 
|}
  
==Related Classes==
+
==Glass Panes and Wipers==
 +
Related units, '''glass_pane_data''' and '''wiper_data''' are defined within the same <code>SiiNunit</code> scope as accessory_interior_data, included via '''/def/vehicle/truck/<make.model>/interior/glass.sui''' (or '''glass.dat''' in some legacy cases):
 
*[[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] (Used to define surfaces for raindrop accumulation and wiper simulation)
 
*[[Documentation/Engine/Units/glass_pane_data|glass_pane_data]] (Used to define surfaces for raindrop accumulation and wiper simulation)
 
*[[Documentation/Engine/Units/wiper_data|wiper_data]] (Used to define wipers that act on glass panes)
 
*[[Documentation/Engine/Units/wiper_data|wiper_data]] (Used to define wipers that act on glass panes)
 +
 +
For example:
 +
<syntaxhighlight lang="cpp">SiiNunit
 +
{ // start of SiiNunit global scope
 +
 +
accessory_interior_data : something.brand.truck.interior
 +
{ // start of accessory_interior_data unit
 +
 +
// various attributes belonging to accessory_interior_data
 +
 +
// each member refers to a unit included via glass.sui
 +
glass_panes[]: .brand.truck.pane.front
 +
glass_panes[]: .brand.truck.pane.close
 +
glass_panes[]: .brand.truck.pane.far
 +
// etc...
 +
 +
} // end of accessory_interior_data scope
 +
 +
@include "glass.sui" // file containing glass_pane_data and wiper_data units
 +
 +
} // end of SiiNunit global scope
 +
</syntaxhighlight>

Revision as of 19:24, 10 March 2017

The accessory_interior_data unit class is used to define the interior and its animations for the player's vehicle. Units of this type are usually defined in /def/vehicle/truck/<make.model>/interior/*.sii, making heavy use of includes via:

  • /def/vehicle/truck/<make.model>/interior/animations.sui (animation-related attributes; animations_uk.sii for RHD vehicles in ETS2)
  • /def/vehicle/truck/<make.model>/interior/dashboard_color.sii (dashboard_color array attribute)
  • /def/vehicle/truck/<make.model>/interior/seat.sui (seat adjustment limits; seat_uk.sui for RHD vehicles in ETS2)

Attributes

Many common attributes are inherited from accessory_data.

Name Type Default Value Description
model string Path to the descriptor (.pmd) for the rigid interior model.
animated_model string Path to the descriptor (.pmd) for the animated interior model.
collision string Path to the interior collision model (.pmc). This is used for toy physics.
active_mirrors_part token
passive_mirrors_part token
variant token Selects the variant to be used on all interior models. If unset, defaults to default.
look token Selects the look to be used on all interior models. If unset, defaults to default.
ext_model string Path to the descriptor (.pmd) for the exterior model (the interior visible from outside cameras).
ext_variant token Selects the variant to be used on the exterior model. If unset, defaults to default.
ext_look token Selects the look to be used on the exterior model. If unset, defaults to default.
animation attributes There are currently nearly 70 interior animation attributes, plus _min and _max attributes for some with adjustable ranges. Interior animations are typically defined externally in animations.sui and included into the interior definition.
wiper_delay float_array Each member defines a delay in seconds between wipe cycles for intermittent wipers. They should generally be in decreasing order because the last wiper mode is continuous.
blinker_delay float The length of half of the blinker cycle in seconds. The blinker is on for this length of time, and then off for this length of time, etc. Typically included via animations.sui.
glass string
dashboard_path string Path to the UI definition for the dashboard display.
gps_path string Path to the UI definition for the GPS display.
use_mile_units bool false When true, distances and speeds on the dashboard will use mile units instead of kilometers.
left_hand_traffic bool false When true, the vehicle uses right-hand drive (UK) conventions.
backlight_with_lights bool true When false, the dashboard backlight is always on with the ignition. Otherwise, the backlight is activated with the headlights as normal.
air_brake_safeguard bool false When true, the parking brake is automatically applied when the supply air drops below a certain threshold (typical US behavior).
panel_intensity_min float The minimum backlight intensity.
panel_intensity_max float The maximum backlight intensity.
glass_panes owner_ptr_array Each member points to the unit name of a glass_pane_data unit.
dashboard_color float3_array An array of 16 colors which define the illumination color of dashboard and other dif.lum surfaces in the interior based on the tile they are UV mapped to. Typically included via dashboard_color.sui.
ui_3d_depth_model string
ui_3d_depth_model_variant token
seat_left_limit float Maximum distance the interior camera can be moved left. Typically included via seat.sui.
seat_right_limit float Maximum distance the interior camera can be moved right. Typically included via seat.sui.
seat_up_limit float Maximum distance the interior camera can be moved up. Typically included via seat.sui.
seat_down_limit float Maximum distance the interior camera can be moved down. Typically included via seat.sui.
seat_front_limit float Maximum distance the interior camera can be moved forward. Typically included via seat.sui.
seat_back_limit float Maximum distance the interior camera can be moved backward. Typically included via seat.sui.
reflection_offset float3

Glass Panes and Wipers

Related units, glass_pane_data and wiper_data are defined within the same SiiNunit scope as accessory_interior_data, included via /def/vehicle/truck/<make.model>/interior/glass.sui (or glass.dat in some legacy cases):

  • glass_pane_data (Used to define surfaces for raindrop accumulation and wiper simulation)
  • wiper_data (Used to define wipers that act on glass panes)

For example:

SiiNunit
{	// start of SiiNunit global scope

accessory_interior_data : something.brand.truck.interior
{	// start of accessory_interior_data unit

	// various attributes belonging to accessory_interior_data

	// each member refers to a unit included via glass.sui
	glass_panes[]: .brand.truck.pane.front
	glass_panes[]: .brand.truck.pane.close
	glass_panes[]: .brand.truck.pane.far
	// etc...

}	// end of accessory_interior_data scope

@include "glass.sui"	// file containing glass_pane_data and wiper_data units

}	// end of SiiNunit global scope