259 lines
12 KiB
Plaintext
Executable File
259 lines
12 KiB
Plaintext
Executable File
local vec3 = require "vec3"
|
|
local transf = require "transf"
|
|
|
|
function data()
|
|
return {
|
|
boundingInfo = {
|
|
bbMax = {
|
|
12.747671127319, 1.6252870559692, 5.9047808647156,
|
|
},
|
|
bbMin = {
|
|
-12.747671127319, -1.6252870559692, -0.53837102651596,
|
|
},
|
|
|
|
},
|
|
collider = {
|
|
params = {
|
|
|
|
},
|
|
type = "MESH",
|
|
|
|
},
|
|
lods = {
|
|
{
|
|
animations = {
|
|
|
|
},
|
|
children = {
|
|
{
|
|
id = "vehicle/train/roterpfeil/lod_0_body.msh",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/train/roterpfeil_lod_0_doors.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1544, -1.4209, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/train/roterpfeil_lod_0_doors.grp",
|
|
transf = {
|
|
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.1544, 1.4209, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/train/roterpfeil_lod_0_doors2.grp",
|
|
transf = {
|
|
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.1544, -1.4209, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/train/roterpfeil_lod_0_doors2.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1544, 1.4209, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/train/roterpfeil_lod_0_bogie.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.0916, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/train/roterpfeil_lod_0_bogie.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.0916,0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/train/roterpfeil/lod_0_interior.msh",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
},{
|
|
id = "vehicle/train/roterpfeil/lod_0_logos.msh",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
},{
|
|
id = "vehicle/asset/lod_0_light_round_white.msh",
|
|
--manual lights
|
|
transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 10.17, 0.0, 3.19)),
|
|
type = "MESH",
|
|
}, {
|
|
id = "vehicle/asset/lod_0_light_round_white.msh",
|
|
--manual lights
|
|
transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 11.86, -0.81, 1.41)),
|
|
type = "MESH",
|
|
}, {
|
|
id = "vehicle/asset/lod_0_light_round_white.msh",
|
|
--manual lights
|
|
transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 11.86, 0.81, 1.41)),
|
|
type = "MESH",
|
|
},
|
|
},
|
|
events = {
|
|
open_all_doors = {
|
|
[2] = { name = "open_doors", forward = true },
|
|
[3] = { name = "open_doors", forward = true },
|
|
[4] = { name = "open_doors", forward = true },
|
|
[5] = { name = "open_doors", forward = true },
|
|
},
|
|
close_all_doors = {
|
|
[2] = { name = "open_doors", forward = false },
|
|
[3] = { name = "open_doors", forward = false },
|
|
[4] = { name = "open_doors", forward = false },
|
|
[5] = { name = "open_doors", forward = false },
|
|
},
|
|
open_doors_left = {
|
|
[3] = { name = "open_doors", forward = true },
|
|
[5] = { name = "open_doors", forward = true },
|
|
},
|
|
close_doors_left = {
|
|
[3] = { name = "open_doors", forward = false },
|
|
[5] = { name = "open_doors", forward = false },
|
|
},
|
|
open_doors_right = {
|
|
[2] = { name = "open_doors", forward = true },
|
|
[4] = { name = "open_doors", forward = true },
|
|
},
|
|
close_doors_right = {
|
|
[2] = { name = "open_doors", forward = false },
|
|
[4] = { name = "open_doors", forward = false },
|
|
},
|
|
},
|
|
matConfigs = {
|
|
{
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
},
|
|
},
|
|
static = false,
|
|
visibleFrom = 0,
|
|
visibleTo = 2270,
|
|
|
|
},
|
|
},
|
|
metadata = {
|
|
description = {
|
|
name = _("CLe 2/4 Red Arrow"),
|
|
description = _("This single unit express rail car was very popular in Switzerland.")
|
|
},
|
|
railVehicle = {
|
|
topSpeed = 125,
|
|
weight = 33,
|
|
engines = {
|
|
{ type = "ELECTRIC", power = 315, tractiveEffort = 50 }
|
|
},
|
|
configs = {
|
|
{
|
|
axles = {
|
|
"vehicle/train/roterpfeil/lod_0_w1.msh"
|
|
}
|
|
}
|
|
},
|
|
soundSet = "train_electric_old"
|
|
},
|
|
transportVehicle = {
|
|
carrier = "RAIL",
|
|
capacities = {
|
|
{ type = "PASSENGERS", capacity = 70 }
|
|
},
|
|
loadSpeed = 2,
|
|
seats = {
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.0, -0.7, 0.9)), crew = true},
|
|
-- passengers
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.5, -0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-0.5, -1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.5, 0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-0.5, 1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.5, 0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(0.5, 1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.5, -0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(0.5, -1, 0.8)), crew = false},
|
|
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.2, -0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.2, -1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.2, 0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.2, 1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.2, 0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.2, 1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.2, -0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.2, -1, 0.8)), crew = false},
|
|
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, -0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2.9, -1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2.9, 1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.9, 0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(3.9, 1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.9, -0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(3.9, -1, 0.8)), crew = false},
|
|
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.6, -0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(4.6, -1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.6, 0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(4.6, 1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.6, 0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(5.6, 1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.6, -0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(5.6, -1, 0.8)), crew = false},
|
|
|
|
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.2, -0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.2, -1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.2, 0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.2, 1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.2, 0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.2, 1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.2, -0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.2, -1, 0.8)), crew = false},
|
|
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.9, -0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-3.9, -1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.9, 0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-3.9, 1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2.9, 1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, -0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2.9, -1, 0.8)), crew = false},
|
|
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.6, -0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5.6, -1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.6, 0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-5.6, 1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.6, 0.7, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-4.6, 1.1, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.6, -0.5, 0.8)), crew = false},
|
|
{ group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-4.6, -1, 0.8)), crew = false},
|
|
|
|
},
|
|
},
|
|
availability = {
|
|
yearFrom = 3000,
|
|
yearTo = 3000
|
|
},
|
|
cost = {
|
|
price = -1
|
|
},
|
|
maintenance = {
|
|
runningCosts = -1,
|
|
lifespan = 40
|
|
}
|
|
},
|
|
|
|
}
|
|
end
|