local constructionutil = require "constructionutil" local paramsutil = require "paramsutil" local railstationconfigutil = require "railstationconfigutil" local vec3 = require "vec3" local transf = require "transf" function data() return { type = "RAIL_STATION_CARGO", description = { name = _("Kleiner Güterbahnhof"), description = _("Ein kleiner Güterbahnhof den man oft in kleineren Städten oder Dörfern findet."), }, availability = { yearFrom = 1910, yearTo = 0 }, soundConfig = { soundSet = { name = "station_cargo_old" } }, params = { { key = "trackType", name = _("Gleistyp"), values = { _("Holzschwellen"), _("Betonschwellen") }, }, { key = "catenary", name = _("Oberleitung"), values = { _("Ja"), _("Nein") }, } }, updateFn = function(params) local result = { } local groundFace = { } local terrainFaces = { } local edges = { } local trackedges = { } local terminals = { } if params.trackType == 0 and params.catenary == 0 then result.edgeLists = {{ type = "STREET", params = { type = "small_cargo_ug.lua" }, edges = edges, snapNodes = { 3 } }, { type = "TRACK", params = { type = "standard.lua", catenary = true }, edges = trackedges, snapNodes = { 0, 3, 4, 7, 8, 11, 12, 15, 16, 19 } }} elseif params.trackType == 0 and params.catenary == 1 then result.edgeLists = {{ type = "STREET", params = { type = "small_cargo_ug.lua" }, edges = edges, snapNodes = { 3 } }, { type = "TRACK", params = { type = "standard.lua", catenary = false }, edges = trackedges, snapNodes = { 0, 3, 4, 7, 8, 11, 12, 15, 16, 19 } }} elseif params.trackType == 1 and params.catenary == 0 then result.edgeLists = {{ type = "STREET", params = { type = "small_cargo_ug.lua" }, edges = edges, snapNodes = { 3 } }, { type = "TRACK", params = { type = "high_speed.lua", catenary = true }, edges = trackedges, snapNodes = { 0, 3, 4, 7, 8, 11, 12, 15, 16, 19 } }} elseif params.trackType == 1 and params.catenary == 1 then result.edgeLists = {{ type = "STREET", params = { type = "small_cargo_ug.lua" }, edges = edges, snapNodes = { 3 } }, { type = "TRACK", params = { type = "high_speed.lua", catenary = false }, edges = trackedges, snapNodes = { 0, 3, 4, 7, 8, 11, 12, 15, 16, 19 } }} end --Straßen edges[#edges + 1] = { { 0.0, 34.0, 0.0 }, { 00.0, 4.0, 0.00 } }--00 edges[#edges + 1] = { { 0.0, 38.0, 0.0 }, { 00.0, 4.0, 0.00 } }--01 edges[#edges + 1] = { { 0.0, 38.0, 0.0 }, { 00.0, 9.0, 0.00 } }--02 edges[#edges + 1] = { { 0.0, 47.0, 0.0 }, { 00.0, 9.0, 0.00 } }--03 --Gleise 1 trackedges[#trackedges + 1] = { { 70.0, 14.0, 0.0 }, { -70.0, 00.0, 0.00 } }--0 ---4 trackedges[#trackedges + 1] = { { 0.0, 14.0, 0.0 }, { -70.0, 00.0, 0.00 } }--1 trackedges[#trackedges + 1] = { { 0.0, 14.0, 0.0 }, { -85.0, 00.0, 0.00 } }--14 trackedges[#trackedges + 1] = { {-85.0, 14.0, 0.0 }, { -85.0, 00.0, 0.00 } }--15 --Gleis 2 trackedges[#trackedges + 1] = { { 70.0, 9.0, 0.0 }, { -70.0, 00.0, 0.00 } }--0 ---4 trackedges[#trackedges + 1] = { { 0.0, 9.0, 0.0 }, { -70.0, 00.0, 0.00 } }--1 trackedges[#trackedges + 1] = { { 0.0, 9.0, 0.0 }, { -85.0, 00.0, 0.00 } }--14 trackedges[#trackedges + 1] = { {-85.0, 9.0, 0.0 }, { -85.0, 00.0, 0.00 } }--15 --Gleis 3 trackedges[#trackedges + 1] = { { 70.0, -3.0, 0.0 }, { -70.0, 00.0, 0.00 } }--0 ---4 trackedges[#trackedges + 1] = { { 0.0, -3.0, 0.0 }, { -70.0, 00.0, 0.00 } }--1 trackedges[#trackedges + 1] = { { 0.0, -3.0, 0.0 }, { -85.0, 00.0, 0.00 } }--14 trackedges[#trackedges + 1] = { {-85.0, -3.0, 0.0 }, { -85.0, 00.0, 0.00 } }--15 --Gleis 4 trackedges[#trackedges + 1] = { { 70.0, -8.0, 0.0 }, { -70.0, 00.0, 0.00 } }--0 ---4 trackedges[#trackedges + 1] = { { 0.0, -8.0, 0.0 }, { -70.0, 00.0, 0.00 } }--1 trackedges[#trackedges + 1] = { { 0.0, -8.0, 0.0 }, { -85.0, 00.0, 0.00 } }--14 trackedges[#trackedges + 1] = { {-85.0, -8.0, 0.0 }, { -85.0, 00.0, 0.00 } }--15 --Gleis 5 trackedges[#trackedges + 1] = { { 70.0, -13.0, 0.0 }, { -70.0, 00.0, 0.00 } }--0 ---4 trackedges[#trackedges + 1] = { { 0.0, -13.0, 0.0 }, { -70.0, 00.0, 0.00 } }--1 trackedges[#trackedges + 1] = { { 0.0, -13.0, 0.0 }, { -85.0, 00.0, 0.00 } }--14 trackedges[#trackedges + 1] = { {-85.0, -13.0, 0.0 }, { -85.0, 00.0, 0.00 } }--15 result.models = { } result.terminalGroups = { } result.groundFaces = { } -- unten rechts rechts oben links oben links unten terrainFaces[#terrainFaces + 1] = { {25.5, 20.0, 0}, {25.5, 35.0, 0}, {-28.0, 35.0, 0}, {-28.0, 20.0, 0}, } groundFace = { {24.5, 20.0}, { 24.5, 35.0}, {-27.0, 35.0}, {-27.0, 20.0} } result.groundFaces[#result.groundFaces + 1] = { face = groundFace, modes = { { type = "FILL", key = "building_paving_fill" } } } result.groundFaces[#result.groundFaces + 1] = { face = groundFace, modes = { { type = "STROKE_OUTER", key = "building_paving" } } } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 0.0, 20.0, 0.0)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -70.0,16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -50.0,16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -30.0,16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -10.0,16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 10.0,16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 30.0,16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 50.0,16.0, 1.4)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform1_out.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -8.0,18.0, 0.0)) } result.terminalGroups[#result.terminalGroups+1] = { terminals = { {#result.models -1 , 0}}, vehicleNodeOverride = 6 } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform1.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 32.0, 18.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform1_end.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 52.0, 18.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform1.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -48.0, 18.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform1_end.mdl", transf = transf.rotZYXTransl(transf.degToRad(-180.0, 0.0, 0.0), vec3.new( -68.0, 18.0, 0.0)) } --Bahnsteig_1_ ENDE result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform2_end.mdl", transf = transf.rotZYXTransl(transf.degToRad(-180.0, 0.0, 0.0), vec3.new( -68.0, 3.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform2_out.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -8.0, 3.0, 0.0)) } result.terminalGroups[#result.terminalGroups+1] = { terminals = { {#result.models -1 , 0}}, vehicleNodeOverride = 10 } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform2_rev.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 32.0, 3.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform2_end.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 52.0, 3.0, 0.0)) } --Bahnsteig_2_ENDE result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform2.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -48.0, 3.0, 0.0)) } result.terminalGroups[#result.terminalGroups+1] = { terminals = { {#result.models -1 , 0}}, vehicleNodeOverride = 14 } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_doppelt.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -70.0,5.5, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_doppelt.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -50.0,5.5, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_doppelt.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -30.0,5.5, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_doppelt.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -10.0,5.5, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_doppelt.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 10.0,5.5, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_doppelt.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 30.0,5.5, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_doppelt.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 50.0,5.5, 1.4)) } --Bahnsteig_3_ENDE result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform3_out.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -8.0,-17.0, 0.0)) } result.terminalGroups[#result.terminalGroups+1] = { terminals = { {#result.models -1 , 0}}, vehicleNodeOverride = 22 } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform3.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 32.0, -17.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform3_end.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( 52.0, -17.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform3.mdl", transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new( -48.0, -17.0, 0.0)) } result.models[#result.models + 1] = { id = "station/train/cargo/cargo_old_platform3_end.mdl", transf = transf.rotZYXTransl(transf.degToRad(-180.0, 0.0, 0.0), vec3.new( -68.0, -17.0, 0.0)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new( -70.0,-16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new( -50.0,-16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new( -30.0,-16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new( -10.0,-16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new( 10.0,-16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new( 30.0,-16.0, 1.4)) } result.models[#result.models + 1] = { id = "asset/track_multi_gleisfeldleuchte_db_einfach.mdl", transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new( 50.0,-16.0, 1.4)) } --Bahnsteig_5_ENDE terrainFaces[#terrainFaces + 1] = { {65.0, -20.0, 0}, {65.0, 20.0, 0}, {-80.0, 20.0, 0}, {-80.0, -20.0, 0}, } groundFace = { {65.0, -20.0}, { 65.0, 20.0}, {-80.0, 20.0}, {-80.0, -20.0} } result.groundFaces[#result.groundFaces + 1] = { face = groundFace, modes = { { type = "FILL", key = "building_paving_fill" } } } result.groundFaces[#result.groundFaces + 1] = { face = groundFace, modes = { { type = "STROKE_OUTER", key = "building_paving" } } } result.cost = 250000 result.terrainAlignmentLists = { { type = "EQUAL", faces = terrainFaces, slopeLow = .35 } } return result end } end