local vec3 = require "vec3" local transf = require "transf" local PYVal = function() local vals = {} for i = 0, 160 do vals[#vals + 1] = tostring( (i - 80) / 4 ) end return vals end local PZVal = function() local vals = {} for j = -100,100 do vals[#vals + 1] = tostring( j ) end return vals end function data() return { type = "ASSET_TRACK", description = { name = _("Preußische BR78"), description = _("Tenderlokomotive für Schnellzüge"), }, availability = {}, buildMode = "MULTI", categories = { "Dekoration" }, order = 31368, skipCollision = true, autoRemovable = false, params = { { key = "dh106_BR78", name = _("BR78"), values = { _("DB früh"), _("DB spät"), _("DR 1920er"), _("DR 1940er"), _("DR spät"), _("Preußische Staatsbahn"),} }, { key = "dh106_BR78Rauch", name = _("Feuer im Kessel"), uiType = "CHECKBOX", values = {"0", "1"}, }, { key = "dh106_RotY_1", name = _("Neigung der Schienen (°)"), values = PYVal(), uiType = "SLIDER", defaultIndex = 80, }, { key = "dh106_PosZ_1", name = _("Höhe (cm)"), values = PZVal(), uiType = "SLIDER", defaultIndex = 100, }, }, updateFn = function(params) local result = { } local PosZ = params.dh106_PosZ_1 / 100 local RotY = (params.dh106_RotY_1 - 80 ) / 4 result.models = { } if params.dh106_BR78Rauch == 0 then if params.dh106_BR78 == 0 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DB alt-Deko kalt.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 1 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DB neu-Deko kalt.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 2 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DR alt-Deko kalt.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 3 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DR grau-Deko kalt.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 4 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DR neu-Deko kalt.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 5 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 Preussen-Deko kalt.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } else result.models[#result.models+1] = {id = "vehicle/asset/BR78 DB alt-Deko kalt.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } end else if params.dh106_BR78 == 0 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DB alt-Deko warm.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 1 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DB alt-Deko warm.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 2 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DR alt-Deko warm.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 3 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DR grau-Deko warm.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 4 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 DR neu-Deko warm.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } elseif params.dh106_BR78 == 5 then result.models[#result.models+1] = {id = "vehicle/asset/BR78 Preussen-Deko warm.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } else result.models[#result.models+1] = {id = "vehicle/asset/BR78 DB alt-Deko warm.mdl", transf = transf.rotZYXTransl(transf.degToRad(00, RotY, 0.0), vec3.new(0, 0, PosZ + .8)), } end end result.terrainAlignmentLists = { { type = "EQUAL", faces = { } } } return result end } end