local vec3 = require "vec3" local transf = require "transf" function data() return { collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/bus/landauer/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/bus/landauer/lod_2_d1.msh", transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)), type = "MESH", }, { id = "vehicle/bus/landauer/lod_2_window_d1.msh", transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)), type = "MESH", }, { id = "vehicle/bus/landauer/lod_2_d1.msh", transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))), type = "MESH", }, { id = "vehicle/bus/landauer/lod_2_window_d1.msh", transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))), type = "MESH", }, { id = "vehicle/bus/landauer/lod_2_w1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.2801, -0.6554, 0.4874, 1, }, type = "MESH", },{ id = "vehicle/bus/landauer/lod_2_w1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.2801, 0.6554, 0.4874, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_2_w2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8978, 0, 0.6165, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_2_window.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, }, events = { close_all_doors = { }, open_all_doors = { }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 200, visibleTo = 700, },{ animations = { }, children = { { id = "vehicle/bus/landauer/lod_1_body.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_1_d1.msh", transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)), type = "MESH", }, { id = "vehicle/bus/landauer/lod_1_window_d1.msh", transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)), type = "MESH", }, { id = "vehicle/bus/landauer/lod_1_d1.msh", transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))), type = "MESH", }, { id = "vehicle/bus/landauer/lod_1_window_d1.msh", transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))), type = "MESH", }, { id = "vehicle/bus/landauer/lod_1_w1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.2801, -0.6554, 0.4874, 1, }, type = "MESH", },{ id = "vehicle/bus/landauer/lod_1_w1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.2801, 0.6554, 0.4874, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_1_w2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8978, 0, 0.6165, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_1_window.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(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 1.935, 0, 1.162)), type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, 0.7321, 2.095)), type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, -0.7321, 2.095)), type = "MESH", }, { id = "vehicle/bus/landauer/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 = { close_all_doors = { [2] = { forward = false, name = "opend1", }, [3] = { forward = false, name = "opend1", }, [4] = { forward = false, name = "opend1", }, [5] = { forward = false, name = "opend1", }, }, open_all_doors = { [2] = { forward = true, name = "opend1", }, [3] = { forward = true, name = "opend1", }, [4] = { forward = true, name = "opend1", }, [5] = { forward = true, name = "opend1", }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 40, visibleTo = 200, }, { animations = { }, children = { { id = "vehicle/bus/landauer/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/bus/landauer/lod_0_d1.msh", transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)), type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_window_d1.msh", transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)), type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_window_interior_d1.msh", transf = transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0)), type = "MESH", },{ id = "vehicle/bus/landauer/lod_0_d1.msh", transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))), type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_window_d1.msh", transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))), type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_window_interior_d1.msh", transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(1,1,1),transf.degToRad( 0, 0, 0), vec3.new( -0.2906, -0.6931, 0))), type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_w1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.2801, -0.6554, 0.4874, 1, }, type = "MESH", },{ id = "vehicle/bus/landauer/lod_0_w1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1.2801, 0.6554, 0.4874, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_w2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8978, 0, 0.6165, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_window.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/bus/landauer/lod_0_window_interior.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(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 1.935, 0, 1.162)), type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, 0.7321, 2.095)), type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(1,.7,.7),transf.degToRad( 0, 0, 0), vec3.new( 0.855, -0.7321, 2.095)), type = "MESH", }, { id = "vehicle/bus/landauer/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 = { close_all_doors = { [2] = { forward = false, name = "opend1", }, [3] = { forward = false, name = "opend1", }, [4] = { forward = false, name = "opend1", }, [5] = { forward = false, name = "opend1", }, [6] = { forward = false, name = "opend1", }, [7] = { forward = false, name = "opend1", }, }, open_all_doors = { [2] = { forward = true, name = "opend1", }, [3] = { forward = true, name = "opend1", }, [4] = { forward = true, name = "opend1", }, [5] = { forward = true, name = "opend1", }, [6] = { forward = true, name = "opend1", }, [7] = { forward = true, name = "opend1", }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 40, }, }, metadata = { description = { name = _("Landauer"), description = _("The Landauer was basically a motor-driven carriage, built by the Benz company. As the first bus of the world, it was in use on the line Siegen-Nephten-Deuz.") }, roadVehicle = { topSpeed = 20, weight = 2, power = 10, tractiveEffort = 8, configs = { { axles = { "vehicle/bus/landauer/lod_2_w2.msh",}, wheels = {"vehicle/bus/landauer/lod_2_w1.msh" }, fakeBogies = { { group = 0, position = 0.0, offset = 0.0 }, } },{ axles = { "vehicle/bus/landauer/lod_1_w2.msh",}, wheels = {"vehicle/bus/landauer/lod_1_w1.msh" }, fakeBogies = { { group = 0, position = 0.0, offset = 0.0 }, } },{ axles = { "vehicle/bus/landauer/lod_0_w2.msh",}, wheels = {"vehicle/bus/landauer/lod_0_w1.msh" }, fakeBogies = { { group = 0, position = 0.0, offset = 0.0 }, } } }, soundSet = "bus_old" }, transportVehicle = { carrier = "ROAD", capacities = { { type = "PASSENGERS", capacity = 24 } }, loadSpeed = 1, seats = { { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.84, 0.21, 0.93)), crew = true}, --passangers { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.59, -0.30, 0.83))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.59, 0.30, 0.83))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.6, 0.30, 0.83))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.6, -0.30, 0.83))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.84, -0.35, 0.93))}, } }, availability = { yearFrom = 1891, yearTo = 1942 }, cost = { price = -1 }, maintenance = { runningCosts = -1, lifespan = 30 } }, } end