CCG/Example: Interior (Steam)
Contents |
Interior (Steam)
Directory Structure
A typical asset of this kind has the following File\Directory Structure:
Required Files
config.txt - The config file for the asset.
thumb.jpg - The thumbnail image for this asset. A 240x180 jpeg.
firebox_glow_op.bmp, glass.bmp, glassw.bmp, black.tga, blackhead.tga, brass.tga, bumpy_blackhead.tga, coalfire.tga, copper.tga, darkmetal.tga, firebox.tga, firebox_glow.tga, flaman.tga, flame_test2.tga, glass.tga, glassw.tga, red.tga, roof.tga, waterhose.tga, black.texture.txt, blackhead.texture.txt, brass.texture.txt, bumpy_blackhead.texture.txt, coal.texture.txt, copper.texture.txt, darkmetal.texture.txt, fire.texture.txt, firebox.texture.txt, firebox_glow-firebox_glow_op.texture.txt, flaman.texture.txt, glass-glass.texture.txt, glassw-glassw.texture.txt, red.texture.txt, roof.texture.txt, waterhose.texture.txt, blackhead.texture.txt, blackhead.tga, bumpy_blackhead.texture.txt, bumpy_blackhead.tga, darkmetal.texture.txt, darkmetal.tga, water.texture.txt, water.tga, needles.tga, needles.texture.txt - The texture files used by the progressive meshes of this interior.
See the section on Texture.txt files on Page 96 for more information.
fireplates.kin, waterglass_left.kin, waterglass_right.kin - The animation files used to operate certain elements of the interior, ie the fireplate doors opening and closing.
bigsteam_interior.gs - Script file detailing some functionality of the interior asset, in this case that no animated fireman is present in the interior.
bigtap.im, coal.im, cylindercocks.im, drifter.im, fire.im, firebox.im, fireglow.im, injector.im, mallard_interior.im, regulator.im, smalltap.im, trainbrake_lever.im, watervalvea.im, watervalveb.im, window.im, selection_box.im, waterglass_left.im, waterglass_right.im, boiler_needle.im, brake_needle.im, flaman_needle.im, speedo_needle.im, fireplates.im - The indexed mesh components used to create the interior asset.
More information on modelling interior assets can be found on Page 358 of this document.
Cabin.txt - A text file mapping sounds to their respective interior elements.
air_brake2.wav, air_brake.wav, boiler_blow_down.wav, boiler_blow_down_end.wav, brakehandle.wav, brakes.wav, coal_into_firebox1.wav, coal_into_firebox2.wav, coal_into_firebox3.wav, coal_shovel1.wav, coal_shovel2.wav, coal_shovel_into_combined.wav, cylinder_cocks1.wav, cylinder_cocks2.wav, cylinder_cocks_full.wav, fire_roar.wav, firebox_close.wav, firebox_open.wav, metal_footstep_left.wav, metal_footstep_right.wav, regulator1.wav, regulator2.wav, reversing_lever_notch.wav, reversing_lever_throw.wav, rutnut.wav, sanding_lever1.wav, sanding_lever2.wav, seat_unfold.wav, shovel_hit.wav, tender_handbrake.wav, throttle.wav, whistle_end.wav, whistle_mid_loop.wav, whistle_start.wav, window_open.wav - The sound files associated with the interior elements.
Config.txt File Listing
kuid <kuid:56113:1015>
kind "interior"
username "testSteamInterior"
trainz-build 2.5
cameradefault 0
category-class "ZI"
description "Test interior for a steam locomotive. Based on the Mallard interior."
category-region "00"
category-era "1940s;1950s;1960s;1970s;1980s"
script "bigsteam_interior.gs"
class "Bigsteam_Interior"
cameralist
{
camera0 1,0.9,0.55,0,0
camera1 0.5,0.9,0.55,0,0
camera2 0,0.9,0.55,0,0
camera3 -0.5,0.9,0.55,0,0
camera4 -1,0.9,0.55,0,0
camera5 1.1,0.8,0,0,0
}
mesh-table
{
default
{
mesh "mallard_interior.im"
auto-create 1
}
regulator
{
kind "lever"
mesh "regulator.im"
att "a.regulator"
att-parent "default"
auto-create 1
limits 0,1
angles 0.24,-0.24
radius 0.35
mousespeed -1
mousemode "exact"
}
trainbrakelap_lever
{
kind "lever"
mesh "trainbrake_lever.im"
att "a.trainbrake_lever"
att-parent "default"
auto-create 1
limits 0,4
angles 0,0.94
notches 0,0.25,0.5,0.75,1
notchheight 1,1,1,1,1
mousespeed 1
}
firebox
{
kind "firebox"
mesh "firebox.im"
auto-create 1
att "a.origin"
att-parent "default"
test-collisions 0
}
fire
{
mesh "fire.im"
auto-create 1
light 0
test-collisions 0
}
coal
{
mesh "coal.im"
auto-create 1
light 0
test-collisions 0
}
fireglow
{
mesh "fireglow.im"
auto-create 1
light 0
test-collisions 0
}
water_injector_0
{
mesh "injector.im"
auto-create 1
att "a.injector0"
att-parent "default"
kind "lever"
mousespeed 1
}
water_injector_1
{
mesh "injector.im"
auto-create 1
att "a.injector1"
att-parent "default"
kind "lever"
mousespeed 1
}
fire_plates
{
mesh "fireplates/fireplates.im"
anim "fireplates/fireplates.kin"
auto-create 1
kind "animated-lever"
test-collisions 0
notches 0,1
notchheight 1,1
limits 0,1
}
fire_plates-collision-box
{
mesh "fireplates/selection_box/selection_box.im"
att-parent "fire_plates"
att "a.selection_box"
auto-create 1
kind "collision-proxy"
opacity 0
collision-parent "fire_plates"
}
waterglass_right
{
mesh "waterglasses/waterglass_right.im"
anim "waterglasses/waterglass_right.kin"
auto-create 1
limits 0,100
kind "animated-dial"
}
waterglass_left
{
mesh "waterglasses/waterglass_left.im"
anim "waterglasses/waterglass_left.kin"
auto-create 1
limits 0,100
kind "animated-dial"
}
reverser
{
mesh "reverser/reverser.im"
anim "reverser/reverser.kin"
auto-create 1
kind "animated-lever"
test-collisions 0
limits -1,1
mousespeed -2
}
reverser-collision-box
{
mesh "reverser/selection_box/selection_box.im"
att-parent "reverser"
att "a.selection_box"
auto-create 1
kind "collision-proxy"
opacity 0
collision-parent "reverser"
}
boiler_needle
{
kind "needle"
mesh "needles/boiler_needle.im"
att "a.boiler_pressure1"
limits 0,1902
att-parent "default"
auto-create 1
}
boiler_needle1
{
kind "needle"
mesh "needles/boiler_needle.im"
att "a.boiler_pressure2"
limits 0,1902
att-parent "default"
auto-create 1
}
speedo_needle
{
kind "needle"
mesh "needles/speedo_needle.im"
att "a.speedo"
att-parent "default"
auto-create 1
limits 0,49
}
bptrainbrakepipe_needle
{
kind "needle"
mesh "needles/brake_needle.im"
att "a.trainbrake_needle"
att-parent "default"
auto-create 1
limits 0,1970
}
bplocomain_needle
{
kind "needle"
mesh "needles/brake_needle.im"
att "a.mainres_needle"
att-parent "default"
auto-create 1
angles 0,-3.14
limits 0,890
}
water_valve_
{
mesh "watervalveA.im"
auto-create 1
att "a.watervalve_0"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,-0.5
}
water_valve__
{
mesh "watervalveA.im"
auto-create 1
att "a.watervalve_1"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,-0.5
}
water_valve___
{
mesh "watervalveB.im"
auto-create 1
att "a.watervalve_2"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,0.5
mousespeed -1
}
water_valve____
{
mesh "watervalveB.im"
auto-create 1
att "a.watervalve_3"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,0.5
mousespeed -1
}
water_valve_____
{
mesh "watervalveB.im"
auto-create 1
att "a.watervalve_4"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,-0.5
mousespeed -1
}
water_valve______
{
mesh "watervalveB.im"
auto-create 1
att "a.watervalve_5"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,-0.5
mousespeed -1
}
_
{
mesh "drifter.im"
auto-create 1
att "a.drifter"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,-0.5
mousespeed -1
}
driver_window
{
mesh "window.im"
auto-create 1
att "a.windowA"
att-parent "default"
limits 0,1
angles 0,-0.012
notches 0,1
notchheight 1,1
kind "lever"
}
fireman_window
{
mesh "window.im"
auto-create 1
att "a.windowB"
att-parent "default"
limits 0,1
angles 0,0.012
notches 0,1
notchheight 1,1
kind "lever"
}
cylinder_cocks
{
mesh "cylindercocks.im"
auto-create 1
att "a.cylindercocks"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,-0.5
}
__
{
mesh "watervalveA.im"
auto-create 1
att "a.steamvalve"
att-parent "default"
kind "lever"
mousemode "exact"
limits 0,1
angles 0,-0.5
}
speedo_needle1
{
kind "needle"
mesh "needles/flaman_needle.im"
att "a.flaman"
att-parent "default"
auto-create 1
limits 0,85
}
___
{
mesh "smalltap.im"
auto-create 1
att "a.steamvalve0"
att-parent "default"
kind "lever"
mousespeed 1
}
____
{
mesh "bigtap.im"
auto-create 1
att "a.steamvalve1"
att-parent "default"
kind "lever"
mousespeed 1
}
blower
{
mesh "bigtap.im"
auto-create 1
att "a.steamvalve2"
att-parent "default"
kind "lever"
mousespeed 1
}
_____
{
mesh "smalltap.im"
auto-create 1
att "a.steamvalve3"
att-parent "default"
kind "lever"
mousespeed 1
}
______
{
mesh "bigtap.im"
auto-create 1
att "a.steamvalve4"
att-parent "default"
kind "lever"
mousespeed 1
}
}
thumbnails
{
0
{
image "thumb.jpg"
width 240
height 180
}
}
Script File Listing
bigsteam_interior.gs
include "DefaultSteamCabin.gs"
class Bigsteam_Interior isclass DefaultSteamCabin
{
public void Init(void)
{
inherited();
hasAnimatedFireman = false;
}
};
Cabin.txt File Listing
switch switch_.wav dynamicbrake_lever change-notch notch_.wav independantbrake_lever change-notch airbrake2.wav reverser lever-low reversing_lever_notch.wav reverser lever-high reversing_lever_throw.wav fire_plates lever-low firebox_open.wav fire_plates lever-high firebox_close.wav fire_plates looping fire_roar.wav regulator lever-high regulator2.wav regulator lever-low throttle.wav sanding_lever lever-low sanding_lever.wav sanding_lever lever-high sanding_lever2.wav blowdown looping boiler_blow_down.wav cylinder_cocks change-notch cylinder_cocks_full.wav seat0 change-notch seat_unfold.wav seat change-notch seat_unfold.wav whistle_lever looping whistle_mid_loop.wav trainbrakelap_lever change-notch air_brake2.wav pantograph_lever change-notch lever_.wav trainbrake_lever change-notch air_brake.wav driver_window change-notch seat_unfold.wav fireman_window change-notch seat_unfold.wav
Download this asset
This asset is available for download from the TRS2006 website at:
http://files.auran.com/TRS2006/Downloads/Example_Download.zip


