357 lines
11 KiB
Plaintext
Executable File
357 lines
11 KiB
Plaintext
Executable File
local vec3 = require "vec3"
|
|
local transf = require "transf"
|
|
|
|
function data()
|
|
return {
|
|
boundingInfo = {
|
|
bbMax = {
|
|
10.208726882935, 1.5492769479752, 4.0738768577576,
|
|
},
|
|
bbMin = {
|
|
-10.208726882935, -1.5492769479752, -0.017165005207062,
|
|
},
|
|
|
|
},
|
|
collider = {
|
|
params = {
|
|
|
|
},
|
|
type = "MESH",
|
|
|
|
},
|
|
lods = {
|
|
|
|
{
|
|
animations = {
|
|
|
|
},
|
|
children = {
|
|
{
|
|
id = "vehicle/waggon/bc4/lod_2_body.msh",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4_lod_2_bogie.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.6043, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4_lod_2_bogie.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.6043, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_2_d1.msh",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.1852, 0.9513, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_2_d1.msh",
|
|
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-9.1852, 0.9513, 0))),
|
|
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_2_d1.msh",
|
|
transf = {
|
|
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.1852, -0.9513, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_2_d1.msh",
|
|
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.1852, -0.9513, 0))),
|
|
|
|
type = "MESH",
|
|
|
|
},
|
|
},
|
|
events = {
|
|
open_all_doors = {
|
|
},
|
|
close_all_doors = {
|
|
},
|
|
open_doors_left = {
|
|
},
|
|
close_doors_left = {
|
|
},
|
|
open_doors_right = {
|
|
},
|
|
close_doors_right = {
|
|
},
|
|
},
|
|
matConfigs = {
|
|
{
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
},
|
|
},
|
|
static = false,
|
|
visibleFrom = 500,
|
|
visibleTo = 1700,
|
|
|
|
}, {
|
|
animations = {
|
|
|
|
},
|
|
children = {
|
|
{
|
|
id = "vehicle/waggon/bc4/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/waggon/bc4_lod_0_bogie.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.6043, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4_lod_0_bogie.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.6043, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_0_d1.msh",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.1852, 0.9513, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_0_d1.msh",
|
|
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-9.1852, 0.9513, 0))),
|
|
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_0_d1.msh",
|
|
transf = {
|
|
-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.1852, -0.9513, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/lod_0_d1.msh",
|
|
transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.1852, -0.9513, 0))),
|
|
|
|
type = "MESH",
|
|
|
|
}, {
|
|
id = "vehicle/waggon/bc4/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/waggon/bc4/lod_0_logo_body.msh",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
},
|
|
type = "MESH",
|
|
|
|
},
|
|
},
|
|
events = {
|
|
open_all_doors = {
|
|
[4] = { name = "opend1", forward = true },
|
|
[5] = { name = "opend1", forward = true },
|
|
[6] = { name = "opend1", forward = true },
|
|
[7] = { name = "opend1", forward = true },
|
|
},
|
|
close_all_doors = {
|
|
[4] = { name = "opend1", forward = false },
|
|
[5] = { name = "opend1", forward = false },
|
|
[6] = { name = "opend1", forward = false },
|
|
[7] = { name = "opend1", forward = false },
|
|
},
|
|
open_doors_left = {
|
|
[4] = { name = "opend1", forward = true },
|
|
[7] = { name = "opend1", forward = true },
|
|
},
|
|
close_doors_left = {
|
|
[4] = { name = "opend1", forward = false },
|
|
[7] = { name = "opend1", forward = false },
|
|
},
|
|
open_doors_right = {
|
|
[5] = { name = "opend1", forward = true },
|
|
[6] = { name = "opend1", forward = true },
|
|
},
|
|
close_doors_right = {
|
|
[5] = { name = "opend1", forward = false },
|
|
[6] = { name = "opend1", forward = false },
|
|
},
|
|
},
|
|
matConfigs = {
|
|
{
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
},
|
|
},
|
|
static = false,
|
|
visibleFrom = 0,
|
|
visibleTo = 500,
|
|
|
|
},
|
|
},
|
|
metadata = {
|
|
description = {
|
|
name = _("BC4"),
|
|
description = _("Four axle two bogie heavy coach for fast passenger service.")
|
|
},
|
|
railVehicle = {
|
|
topSpeed = 120,
|
|
weight = 24,
|
|
configs = {
|
|
{
|
|
axles = { "vehicle/waggon/bc4/lod_2_w1.msh" }
|
|
},
|
|
{
|
|
axles = { "vehicle/waggon/bc4/lod_0_w1.msh" }
|
|
}
|
|
},
|
|
soundSet = "waggon_modern"
|
|
},
|
|
transportVehicle = {
|
|
capacities = {
|
|
{
|
|
type = "PASSENGERS",
|
|
capacity = 78,
|
|
}
|
|
},
|
|
carrier = "RAIL",
|
|
loadSpeed = 2,
|
|
seats = {
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, -0.9, 1.2)) },
|
|
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, -0.9, 1.2)) },
|
|
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, -0.9, 1.2)) },
|
|
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, -0.9, 1.2)) },
|
|
|
|
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, -0.9, 1.2)) },
|
|
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, -0.9, 1.2)) },
|
|
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, -0.9, 1.2)) },
|
|
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, 0.9, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, 0.3, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, -1.0, 1.2)) },
|
|
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, 1.0, 1.2)) },
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, 0.4, 1.2)) },
|
|
|
|
{ group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, -0.9, 1.2)) },
|
|
}
|
|
},
|
|
availability = {
|
|
yearFrom = 3000,
|
|
yearTo = 3000
|
|
},
|
|
cost = {
|
|
price = -1
|
|
},
|
|
maintenance = {
|
|
runningCosts = -1,
|
|
lifespan = 35
|
|
}
|
|
},
|
|
|
|
}
|
|
end
|