CCG/Kind: Interior Steam Cab
From TrainzOnline
< CCG
STEAM CAB INTERIORS
TRS steam cab interiors have been set-up in generally the same way as diesel and electric cabs with a few additional steam specific features.
Many of the levers and fireplates have several moving objects and required mouse controlled animations. This differed from the usual lever types with only one object, set to rotate around an attachment point.
Not only did the levers need reviewing, but the cab firebox itself had to produce fire and glow variations and the coal shoveller needed to be controlled and linked to the coal requirements also.
Download PB15 Interior source and in-games files here: http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_PB15_interior.zip
PB15 Steam Interior Config.txt
kuid <KUID:-3:10191>
kind "interior"
script "pb15cabin"
class "PB15Cabin"
camera -0.769, 0.566, 0.617
cameralist
{
camera0 0.817, 0.026, 0.654, 0.026, -0.146
camera1 -0.808, 0.474, 0.694, 0.214, -0.773
camera2 -1.429, 0.461, 0.617, 0.162, -0.075
camera3 -0.769, 0.566, 0.617,0.157, -0.125
camera4 0.703, 0.831, 0.694, -0.715, -0.561
camera5 1.344, 0.305, 0.617, -0.015, -0.049
}
cameradefault 3
obsolete-table
{
0 <KUID:44179:55003>
}
soundscript
{
coal_on
{
trigger coal_on
attachment a.coalman
ambient 1
nostartdelay 1
repeat-delay 0,0.001
distance 5,200
sound
{
sound/coal_shovel2.wav
}
}
shovel_againstmetal
{
trigger shovel_againstmetal
attachment a.coalman
ambient 1
nostartdelay 1
repeat-delay 0,0.001
distance 5,200
sound
{
sound/shovel_hit.wav
}
}
step_metal
{
trigger step_metal
attachment a.coalman
ambient 1
nostartdelay 1
repeat-delay 0,0.001
distance 5,200
sound
{
sound/metal_footstep_left.wav
}
}
coal_off
{
trigger coal_off
attachment a.coalman
nostartdelay 1
repeat-delay 0,0.001
distance 5,200
sound
{
sound/coal_into_firebox1.wav
}
}
}
mesh-table
{
default
{
mesh PB_interior_main.im
auto-create 1
}
trainbrake_lever
{
mesh brake_lever/brake_lever.im
auto-create 1
att a.brake
limits 0, 4
angles -0.75, 0.35
notches 0, 0.5,1.0
notchheight 1, 1, 1
radius 0.16
att-parent default
kind lever
}
left_window
{
mesh window_sides.im
auto-create 1
limits 0, 1.0
angles 0, -1
notches 0, 1.0
notchheight 1,1
att a.window_l
att-parent default
kind lever
}
right_window
{
mesh window_sides.im
auto-create 1
att a.window_r
att-parent default
limits 0, 1.0
angles 0, -1
notches 0, 1.0
notchheight 1,1
kind lever
}
left_sliding_window
{
mesh window_sliding.im
auto-create 1
att a.windowsliding_l
att-parent default
limits 0, 1.0
angles 0, -0.009
notches 0, 1.0
notchheight 1,1
kind lever
}
right_sliding_window
{
mesh window_sliding.im
auto-create 1
att a.windowsliding_r
att-parent default
limits 0, 1
angles 0, -0.009
notches 0, 1.0
notchheight 1,1
kind lever
}
cylinder_drain
{
limits 0,4
angles 0,-0.3
mesh cylinder_clean/cylinder_clean.im
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
att a.cylinderclean
att-parent default
kind lever
}
regulator
{
mesh regulator/regulator.im
anim regulator/regulator.kin
auto-create 1
att a.regulator
limits 0, 1.0
x-notches 0, 0.25, 0.5, 0.75, 1.0
x-notchheight 1, 1, 1, 1, 1
att-parent default
kind animated-lever
test-collisions 0
mousespeed -1.0
}
regulator-collision-box
{
mesh regulator/selection_box/selection_box.im
att-parent regulator
att a.selection_box
auto-create 1
kind collision-proxy
opacity 0
collision-parent regulator
}
seat0
{
mesh seat/seat.im
anim seat/seat.kin
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
att a.seat0
att-parent default
kind animated-lever
test-collisions 0
}
seat0-collision-box
{
mesh seat/selection_box/selection_box.im
att-parent seat0
att a.selection_box
auto-create 1
kind collision-proxy
opacity 0
collision-parent seat0
}
seat1
{
mesh seat/seat.im
anim seat/seat.kin
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
att a.seat1
att-parent default
kind animated-lever
test-collisions 0
}
seat1-collision-box
{
mesh seat/selection_box/selection_box.im
att-parent seat1
att a.selection_box
auto-create 1
kind collision-proxy
opacity 0
collision-parent seat1
}
water_injector_0
{
mesh injector/injector.im
anim injector/injector.kin
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
att a.injector0
att-parent default
kind animated-lever
test-collisions 0
mousespeed -1.0
}
water_injector_0-collision-box
{
mesh injector/selection_box/selection_box.im
att-parent water_injector_0
att a.selection_box
auto-create 1
kind collision-proxy
opacity 0
collision-parent water_injector_0
}
water_injector_1
{
mesh injector/injector.im
anim injector/injector.kin
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
att a.injector1
att-parent default
kind animated-lever
test-collisions 0
mousespeed -1.0
}
water_injector_1-collision-box
{
mesh injector/selection_box/selection_box.im
att-parent water_injector_1
att a.selection_box
auto-create 1
kind collision-proxy
opacity 0
collision-parent water_injector_1
}
fire_plates
{
mesh fireplates/fireplates.im
anim fireplates/fireplates.kin
auto-create 1
kind animated-lever
test-collisions 0
notches 0, 1.0
notchheight 1,1
limits 0, 1.0
}
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
}
water_valve0
{
mesh water_valve/water_valve.im
auto-create 1
att a.water_valve0
att-parent default
kind lever
}
water_valve1
{
mesh water_valve/water_valve.im
auto-create 1
att a.water_valve1
att-parent default
kind lever
}
water_valve2
{
mesh water_valve/water_valve.im
auto-create 1
att a.water_valve2
att-parent default
kind lever
}
water_valve3
{
mesh water_valve/water_valve.im
auto-create 1
att a.water_valve3
att-parent default
kind lever
}
water_valve4
{
mesh water_valve/water_valve.im
auto-create 1
att a.water_valve4
att-parent default
kind lever
}
water_valve5
{
mesh water_valve/water_valve.im
auto-create 1
att a.water_valve5
att-parent default
kind lever
}
blowdown
{
kind lever
mesh blowdown/blowdown.im
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
angles 0, 0.01
att a.blowdown
att-parent default
mousespeed -1.0
}
sanding_lever
{
kind lever
mesh sanding_lever/sanding_lever.im
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
angles 0, 0.2
att a.sanding_lever
att-parent default
mousespeed -1.0
}
whistle_lever
{
kind lever
mesh whistle_lever/whistle_lever.im
auto-create 1
limits 0, 1.0
notches 0, 1.0
notchheight 1, 1
angles 0, 0.3
att a.whistle
att-parent default
}
bplocomain_needle
{
kind needle
mesh main_res_needle/main_res_needle.im
auto-create 1
att a.reservoir_press_red
att-parent default
limits 0, 3600
}
bptrainbrakepipe_needle
{
kind needle
mesh trainline_needle_black/trainline_needle_black.im
auto-create 1
att a.brake_press_black
att-parent default
limits 0, 3600
}
boiler_needle
{
kind needle
mesh boiler_needle/boiler_needle.im
att a.boiler_pressure
limits 0, 1570
auto-create 1
}
reverser
{
mesh reverser/reverser.pm
anim reverser/reverser.kin
auto-create 1
kind animated-lever
test-collisions 0
limits -1.0, 1.0
}
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
}
waterglass_right
{
mesh waterglass_right.im
anim waterglass_right.kin
auto-create 1
limits 0, 100
kind animated-dial
}
waterglass_left
{
mesh waterglass_left.im
anim waterglass_left.kin
auto-create 1
limits 0, 100
kind animated-dial
}
firebox
{
mesh firebox.im
auto-create 1
kind firebox
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
}
coalman
{
mesh coalman/coalman.im
auto-create 1
att-parent default
att a.coalman
effects
{
shovel
{
kind animation
anim coalman/Coalman_shovel.kin
}
wave
{
kind animation
anim coalman/Coalman_wave.kin
}
idle1
{
kind animation
anim coalman/Coalman_loop1.kin
}
idle2
{
kind animation
anim coalman/Coalman_loop2.kin
}
loop2shovel
{
kind animation
anim coalman/Coalman_loop2shovel.kin
}
shovel2loop
{
kind animation
anim coalman/Coalman_shovel2loop.kin
}
wipebrow
{
kind animation
anim coalman/Coalman_wipebrow.kin
}
}
}
}