diff --git a/res/audio/effects/vehicle/vl80pid/part_1.wav b/res/audio/effects/vehicle/vl80pid/part_1.wav new file mode 100644 index 0000000..fdb5a64 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_1.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_10.wav b/res/audio/effects/vehicle/vl80pid/part_10.wav new file mode 100644 index 0000000..c74c900 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_10.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_2.wav b/res/audio/effects/vehicle/vl80pid/part_2.wav new file mode 100644 index 0000000..2a5b9ce Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_2.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_3.wav b/res/audio/effects/vehicle/vl80pid/part_3.wav new file mode 100644 index 0000000..e310a36 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_3.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_4.wav b/res/audio/effects/vehicle/vl80pid/part_4.wav new file mode 100644 index 0000000..eb29fa4 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_4.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_5.wav b/res/audio/effects/vehicle/vl80pid/part_5.wav new file mode 100644 index 0000000..81de7d1 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_5.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_6.wav b/res/audio/effects/vehicle/vl80pid/part_6.wav new file mode 100644 index 0000000..d0cb75b Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_6.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_7.wav b/res/audio/effects/vehicle/vl80pid/part_7.wav new file mode 100644 index 0000000..39ebe73 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_7.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_8.wav b/res/audio/effects/vehicle/vl80pid/part_8.wav new file mode 100644 index 0000000..a0956fb Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_8.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/part_9.wav b/res/audio/effects/vehicle/vl80pid/part_9.wav new file mode 100644 index 0000000..d28fa42 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/part_9.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/vl80engine.wav b/res/audio/effects/vehicle/vl80pid/vl80engine.wav new file mode 100644 index 0000000..28fa0f6 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/vl80engine.wav differ diff --git a/res/audio/effects/vehicle/vl80pid/vl80tifon.wav b/res/audio/effects/vehicle/vl80pid/vl80tifon.wav new file mode 100644 index 0000000..6bad102 Binary files /dev/null and b/res/audio/effects/vehicle/vl80pid/vl80tifon.wav differ diff --git a/res/config/sound_set/vl80pid.lua b/res/config/sound_set/vl80pid.lua new file mode 100644 index 0000000..8d4cba1 --- /dev/null +++ b/res/config/sound_set/vl80pid.lua @@ -0,0 +1,45 @@ +local audioutil = require "audioutil" + +function data() +return { + + type = "GENERIC", + + refDist = 25.0, + clacks = { + "vehicle/vl80/part_1.wav", + "vehicle/vl80/part_2.wav", + "vehicle/vl80/part_3.wav", + "vehicle/vl80/part_4.wav", + "vehicle/vl80/part_5.wav", + "vehicle/vl80/part_6.wav", + "vehicle/vl80/part_7.wav", + "vehicle/vl80/part_8.wav", + "vehicle/vl80/part_9.wav", + "vehicle/vl80/part_10.wav", + }, + + horn = "vehicle/vl80pid/vl80tifon.wav", + params = { + tracks = { + { clip = "vehicle/vl80pid/vl80engine.wav", + gainCurve = { + nodes = audioutil.plotSqrt(.0, .1, 1.0, 1.0, 10) + }, + + pitchCurve = { + nodes = { + { .0, 1.0 }, + + { 1.0, 1.33 }, + } + } + + } + + }, + +} +} +end + diff --git a/res/models/group/vehicle/train/vl80_lod_0_bogiev1.grp b/res/models/group/vehicle/train/vl80_lod_0_bogiev1.grp new file mode 100644 index 0000000..fb7d75e --- /dev/null +++ b/res/models/group/vehicle/train/vl80_lod_0_bogiev1.grp @@ -0,0 +1,30 @@ +function data() +return { + children = { + { + id = "vehicle/train/vl80pid/vl80_bogie_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + }, { + id = "vehicle/train/vl80pid/vl80_w_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.54865, 0, 0.61, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80pid/vl80_w_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5466, 0, 0.61, 1, + }, + type = "MESH", + + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80_lod_1_bogiev1.grp b/res/models/group/vehicle/train/vl80_lod_1_bogiev1.grp new file mode 100644 index 0000000..ff650ea --- /dev/null +++ b/res/models/group/vehicle/train/vl80_lod_1_bogiev1.grp @@ -0,0 +1,30 @@ +function data() +return { + children = { + { + id = "vehicle/train/vl80pid/vl80_bogie_lod1.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + }, { + id = "vehicle/train/vl80pid/vl80_w_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.54865, 0, 0.61, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80pid/vl80_w_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5466, 0, 0.61, 1, + }, + type = "MESH", + + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80_lod_2_bogiev1.grp b/res/models/group/vehicle/train/vl80_lod_2_bogiev1.grp new file mode 100644 index 0000000..2803229 --- /dev/null +++ b/res/models/group/vehicle/train/vl80_lod_2_bogiev1.grp @@ -0,0 +1,30 @@ +function data() +return { + children = { + { + id = "vehicle/train/vl80pid/vl80_bogie_lod2.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + }, { + id = "vehicle/train/vl80pid/vl80_w_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.54865, 0, 0.61, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80pid/vl80_w_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.5466, 0, 0.61, 1, + }, + type = "MESH", + + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80a_body_lod2v1.grp b/res/models/group/vehicle/train/vl80a_body_lod2v1.grp new file mode 100644 index 0000000..46d0646 --- /dev/null +++ b/res/models/group/vehicle/train/vl80a_body_lod2v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80_a_body_lod2.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_2_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_2_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80b_body_lod2v1.grp b/res/models/group/vehicle/train/vl80b_body_lod2v1.grp new file mode 100644 index 0000000..5e7c59f --- /dev/null +++ b/res/models/group/vehicle/train/vl80b_body_lod2v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80_b_body_lod2.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_2_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_2_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80sa_body_lod0v1.grp b/res/models/group/vehicle/train/vl80sa_body_lod0v1.grp new file mode 100644 index 0000000..d7826c5 --- /dev/null +++ b/res/models/group/vehicle/train/vl80sa_body_lod0v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80s_a_body_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80sa_body_lod1v1.grp b/res/models/group/vehicle/train/vl80sa_body_lod1v1.grp new file mode 100644 index 0000000..02669c0 --- /dev/null +++ b/res/models/group/vehicle/train/vl80sa_body_lod1v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80s_a_body_lod1.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80sb_body_lod0v1.grp b/res/models/group/vehicle/train/vl80sb_body_lod0v1.grp new file mode 100644 index 0000000..a93f028 --- /dev/null +++ b/res/models/group/vehicle/train/vl80sb_body_lod0v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80s_b_body_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80sb_body_lod1v1.grp b/res/models/group/vehicle/train/vl80sb_body_lod1v1.grp new file mode 100644 index 0000000..f0866a0 --- /dev/null +++ b/res/models/group/vehicle/train/vl80sb_body_lod1v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80s_b_body_lod1.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80sc_body_lod0v1.grp b/res/models/group/vehicle/train/vl80sc_body_lod0v1.grp new file mode 100644 index 0000000..b6d97d5 --- /dev/null +++ b/res/models/group/vehicle/train/vl80sc_body_lod0v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80s_c_body_lod0.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/group/vehicle/train/vl80sc_body_lod1v1.grp b/res/models/group/vehicle/train/vl80sc_body_lod1v1.grp new file mode 100644 index 0000000..5e3004b --- /dev/null +++ b/res/models/group/vehicle/train/vl80sc_body_lod1v1.grp @@ -0,0 +1,28 @@ +function data() +return { + children = { { + id = "vehicle/train/vl80pid/vl80s_c_body_lod1.msh", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "MESH", + + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.75835, 0, 0, 1, + }, + type = "GROUP", + }, { + id = "vehicle/train/vl80_lod_0_bogiev1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.75835, 0, 0, 1, + }, + type = "GROUP", + }, + }, + matConfigs = { + { 0, 0, 0, 0} + }, +} +end diff --git a/res/models/material/vehicle/train/vl80spid.mtl b/res/models/material/vehicle/train/vl80spid.mtl new file mode 100644 index 0000000..a10de8a --- /dev/null +++ b/res/models/material/vehicle/train/vl80spid.mtl @@ -0,0 +1,62 @@ +function data() +return { + params = { + fade_out_range = { + fadeOutEndDist = 20000, + fadeOutStartDist = 10000, + + }, + map_color_reflect = { + compressionAllowed = true, + fileName = "models/vehicle/train/vl80spid.tga", + magFilter = "LINEAR", + minFilter = "LINEAR_MIPMAP_LINEAR", + mipmapAlphaScale = 0, + type = "TWOD", + wrapS = "REPEAT", + wrapT = "REPEAT", + + }, + map_env = { + compressionAllowed = true, + fileName = "c.tga", + magFilter = "LINEAR", + minFilter = "LINEAR", + mipmapAlphaScale = 0, + type = "CUBE_MAP", + wrapS = "REPEAT", + wrapT = "REPEAT", + + }, + map_normal = { + compressionAllowed = false, + fileName = "models/vehicle/train/vl80spid_nrml.tga", + magFilter = "LINEAR", + minFilter = "LINEAR_MIPMAP_LINEAR", + mipmapAlphaScale = 0, + type = "TWOD", + wrapS = "REPEAT", + wrapT = "REPEAT", + + }, + polygon_offset = { + factor = 0, + units = 0, + + }, + props = { + coeffs = { + 1, 1, 0.9, 10, + }, + + }, + two_sided = { + twoSided = false, + + }, + + }, + type = "REFLECTIVE_NRML_MAP", + +} +end \ No newline at end of file diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_a_body_lod2.msh b/res/models/mesh/vehicle/train/vl80pid/vl80_a_body_lod2.msh new file mode 100644 index 0000000..065d789 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80_a_body_lod2.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 1020, offset = 0, }, + normal = { count = 1020, offset = 1020, }, + uv0 = { count = 1020, offset = 2040, }, + tangent = { count = 1020, offset = 3060, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 3060, numComp = 3, offset = 4080, }, + normal = { count = 3060, numComp = 3, offset = 7140, }, + uv0 = { count = 2040, numComp = 2, offset = 10200, }, + tangent = { count = 4080, numComp = 4, offset = 12240, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_a_body_lod2.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80_a_body_lod2.msh.blob new file mode 100644 index 0000000..6405b43 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80_a_body_lod2.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_b_body_lod2.msh b/res/models/mesh/vehicle/train/vl80pid/vl80_b_body_lod2.msh new file mode 100644 index 0000000..065d789 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80_b_body_lod2.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 1020, offset = 0, }, + normal = { count = 1020, offset = 1020, }, + uv0 = { count = 1020, offset = 2040, }, + tangent = { count = 1020, offset = 3060, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 3060, numComp = 3, offset = 4080, }, + normal = { count = 3060, numComp = 3, offset = 7140, }, + uv0 = { count = 2040, numComp = 2, offset = 10200, }, + tangent = { count = 4080, numComp = 4, offset = 12240, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_b_body_lod2.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80_b_body_lod2.msh.blob new file mode 100644 index 0000000..3acd2a3 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80_b_body_lod2.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod0.msh b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod0.msh new file mode 100644 index 0000000..65d4984 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod0.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 10032, offset = 0, }, + normal = { count = 10032, offset = 10032, }, + uv0 = { count = 10032, offset = 20064, }, + tangent = { count = 10032, offset = 30096, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 30096, numComp = 3, offset = 40128, }, + normal = { count = 30096, numComp = 3, offset = 70224, }, + uv0 = { count = 20064, numComp = 2, offset = 100320, }, + tangent = { count = 40128, numComp = 4, offset = 120384, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod0.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod0.msh.blob new file mode 100644 index 0000000..71f2ac1 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod0.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod1.msh b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod1.msh new file mode 100644 index 0000000..c31ed46 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod1.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 3828, offset = 0, }, + normal = { count = 3828, offset = 3828, }, + uv0 = { count = 3828, offset = 7656, }, + tangent = { count = 3828, offset = 11484, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 11484, numComp = 3, offset = 15312, }, + normal = { count = 11484, numComp = 3, offset = 26796, }, + uv0 = { count = 7656, numComp = 2, offset = 38280, }, + tangent = { count = 15312, numComp = 4, offset = 45936, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod1.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod1.msh.blob new file mode 100644 index 0000000..683ea98 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod1.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod2.msh b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod2.msh new file mode 100644 index 0000000..c31ed46 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod2.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 3828, offset = 0, }, + normal = { count = 3828, offset = 3828, }, + uv0 = { count = 3828, offset = 7656, }, + tangent = { count = 3828, offset = 11484, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 11484, numComp = 3, offset = 15312, }, + normal = { count = 11484, numComp = 3, offset = 26796, }, + uv0 = { count = 7656, numComp = 2, offset = 38280, }, + tangent = { count = 15312, numComp = 4, offset = 45936, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod2.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod2.msh.blob new file mode 100644 index 0000000..d8ad463 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80_bogie_lod2.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_w_lod0.msh b/res/models/mesh/vehicle/train/vl80pid/vl80_w_lod0.msh new file mode 100644 index 0000000..3e36183 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80_w_lod0.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 1824, offset = 0, }, + normal = { count = 1824, offset = 1824, }, + uv0 = { count = 1824, offset = 3648, }, + tangent = { count = 1824, offset = 5472, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 5472, numComp = 3, offset = 7296, }, + normal = { count = 5472, numComp = 3, offset = 12768, }, + uv0 = { count = 3648, numComp = 2, offset = 18240, }, + tangent = { count = 7296, numComp = 4, offset = 21888, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80_w_lod0.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80_w_lod0.msh.blob new file mode 100644 index 0000000..76a6d6c Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80_w_lod0.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod0.msh b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod0.msh new file mode 100644 index 0000000..a2ddd77 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod0.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 107880, offset = 0, }, + normal = { count = 107880, offset = 107880, }, + uv0 = { count = 107880, offset = 215760, }, + tangent = { count = 107880, offset = 323640, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 323640, numComp = 3, offset = 431520, }, + normal = { count = 323640, numComp = 3, offset = 755160, }, + uv0 = { count = 215760, numComp = 2, offset = 1078800, }, + tangent = { count = 431520, numComp = 4, offset = 1294560, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod0.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod0.msh.blob new file mode 100644 index 0000000..860a992 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod0.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod1.msh b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod1.msh new file mode 100644 index 0000000..48ca30f --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod1.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 23352, offset = 0, }, + normal = { count = 23352, offset = 23352, }, + uv0 = { count = 23352, offset = 46704, }, + tangent = { count = 23352, offset = 70056, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 70056, numComp = 3, offset = 93408, }, + normal = { count = 70056, numComp = 3, offset = 163464, }, + uv0 = { count = 46704, numComp = 2, offset = 233520, }, + tangent = { count = 93408, numComp = 4, offset = 280224, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod1.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod1.msh.blob new file mode 100644 index 0000000..b90079f Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80s_a_body_lod1.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod0.msh b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod0.msh new file mode 100644 index 0000000..6c2c9bb --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod0.msh @@ -0,0 +1,33 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0, 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 120024, offset = 0, }, + normal = { count = 120024, offset = 120024, }, + uv0 = { count = 120024, offset = 240048, }, + tangent = { count = 120024, offset = 360072, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + { -- Object 1 + indices = { + position = { count = 3264, offset = 480096, }, + normal = { count = 3264, offset = 483360, }, + uv0 = { count = 3264, offset = 486624, }, + tangent = { count = 3264, offset = 489888, }, + }, + materials = { "vehicle/train/vl80s.mtl" }, + }, + }, + vertexAttr = { + position = { count = 369864, numComp = 3, offset = 493152, }, + normal = { count = 369864, numComp = 3, offset = 863016, }, + uv0 = { count = 240048, numComp = 2, offset = 1232880, }, + uv1 = { count = 6528, numComp = 2, offset = 1472928, }, + tangent = { count = 493152, numComp = 4, offset = 1479456, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod0.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod0.msh.blob new file mode 100644 index 0000000..b907f75 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod0.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod1.msh b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod1.msh new file mode 100644 index 0000000..cf822f8 --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod1.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 23112, offset = 0, }, + normal = { count = 23112, offset = 23112, }, + uv0 = { count = 23112, offset = 46224, }, + tangent = { count = 23112, offset = 69336, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 69336, numComp = 3, offset = 92448, }, + normal = { count = 69336, numComp = 3, offset = 161784, }, + uv0 = { count = 46224, numComp = 2, offset = 231120, }, + tangent = { count = 92448, numComp = 4, offset = 277344, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod1.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod1.msh.blob new file mode 100644 index 0000000..13fcf20 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80s_b_body_lod1.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod0.msh b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod0.msh new file mode 100644 index 0000000..79155ca --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod0.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 117264, offset = 0, }, + normal = { count = 117264, offset = 117264, }, + uv0 = { count = 117264, offset = 234528, }, + tangent = { count = 117264, offset = 351792, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 351792, numComp = 3, offset = 469056, }, + normal = { count = 351792, numComp = 3, offset = 820848, }, + uv0 = { count = 234528, numComp = 2, offset = 1172640, }, + tangent = { count = 469056, numComp = 4, offset = 1407168, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod0.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod0.msh.blob new file mode 100644 index 0000000..4e98489 Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod0.msh.blob differ diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod1.msh b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod1.msh new file mode 100644 index 0000000..48ca30f --- /dev/null +++ b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod1.msh @@ -0,0 +1,23 @@ +-- Generated by Train Fever Model Converter version 0.3.5481.4047 +function data() return { + animations = { + }, + matConfigs = { { 0 } }, + subMeshes = { + { -- Object 0 + indices = { + position = { count = 23352, offset = 0, }, + normal = { count = 23352, offset = 23352, }, + uv0 = { count = 23352, offset = 46704, }, + tangent = { count = 23352, offset = 70056, }, + }, + materials = { "vehicle/train/vl80spid.mtl" }, + }, + }, + vertexAttr = { + position = { count = 70056, numComp = 3, offset = 93408, }, + normal = { count = 70056, numComp = 3, offset = 163464, }, + uv0 = { count = 46704, numComp = 2, offset = 233520, }, + tangent = { count = 93408, numComp = 4, offset = 280224, }, + }, +} end diff --git a/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod1.msh.blob b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod1.msh.blob new file mode 100644 index 0000000..b90079f Binary files /dev/null and b/res/models/mesh/vehicle/train/vl80pid/vl80s_c_body_lod1.msh.blob differ diff --git a/res/models/model/vehicle/train/vl80s1pid.mdl b/res/models/model/vehicle/train/vl80s1pid.mdl new file mode 100644 index 0000000..e1f091a --- /dev/null +++ b/res/models/model/vehicle/train/vl80s1pid.mdl @@ -0,0 +1,168 @@ +function data() +return { + boundingInfo = { + bbMax = { + 16.24479, 1.5827790498734, 5.9462259292603, + }, + bbMin = { + -16.24892, -1.5827790498734, -0.57415497303009, + }, + + }, + collider = { + params = { + + }, + type = "MESH", + + }, + lods = { + { + animations = { + + }, + children = { { + id = "vehicle/train/vl80sa_body_lod0v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 8.16399, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80sb_body_lod0v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.17462, 0, 0, 1, + }, + type = "GROUP", + + }, + }, + events = { + }, + matConfigs = { + { + 0, 0, 0, 0, 0, 0, 0, + }, + }, + static = false, + visibleFrom = 0, + visibleTo = 200, + + }, + { + animations = { + + }, + children = { { + id = "vehicle/train/vl80sa_body_lod1v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 8.16399, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80sb_body_lod1v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.17462, 0, 0, 1, + }, + type = "GROUP", + + }, + }, + events = { + }, + matConfigs = { + { + 0, 0, 0, 0, 0, 0, 0, + }, + }, + static = false, + visibleFrom = 200, + visibleTo = 700, + + }, + { + animations = { + + }, + children = { { + id = "vehicle/train/vl80a_body_lod2v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 8.16399, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80b_body_lod2v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -8.17462, 0, 0, 1, + }, + type = "GROUP", + + }, + }, + events = { + }, + matConfigs = { + { + 0, 0, 0, 0, 0, 0, 0, + }, + }, + static = false, + visibleFrom = 700, + visibleTo = 2200, + + }, + }, + metadata = { + description = { + name = _("ВЛ80С"), + description = _( + "ВЛ80 - советский грузовой магистральный электровоз переменного тока. ВЛ80С строился с 1979 по 1995 год. По сути это ВЛ80Т дооборудованный для возможности работы в составе трёх секций.") + }, + railVehicle = { + topSpeed = 110.0, + weight = 184.0, + engines = { + { type = "ELECTRIC", power = 5650.0, tractiveEffort = 662.0 } + }, + configs = { + { + axles = { + "vehicle/train/vl80pid/vl80_w_lod0.msh", + } + }, + { + axles = { + "vehicle/train/vl80pid/vl80_w_lod0.msh", + } + }, + { + axles = { + "vehicle/train/vl80pid/vl80_w_lod0.msh", + } + } + }, + soundSet = { name = "vl80pid" } + + }, + transportVehicle = { + carrier = "RAIL", + }, + availability = { + yearFrom = 2007, + yearTo = 2020 + }, + cost = { + price = 2100000 + + }, + maintenance = { + runningCosts = 1200000, + lifespan = 25 + }, + + }, + +} +end diff --git a/res/models/model/vehicle/train/vl80s2pid.mdl b/res/models/model/vehicle/train/vl80s2pid.mdl new file mode 100644 index 0000000..8002275 --- /dev/null +++ b/res/models/model/vehicle/train/vl80s2pid.mdl @@ -0,0 +1,189 @@ +function data() +return { + boundingInfo = { + bbMax = { + 24.3208, 1.5827790498734, 5.9462259292603, + }, + bbMin = { + -24.443, -1.5827790498734, -0.57415497303009, + }, + + }, + collider = { + params = { + + }, + type = "MESH", + + }, + lods = { + { + animations = { + + }, + children = { { + id = "vehicle/train/vl80sa_body_lod0v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 16.23972, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80sc_body_lod0v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80sb_body_lod0v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -16.36179, 0, 0, 1, + }, + type = "GROUP", + + }, + }, + events = { + }, + matConfigs = { + { + 0, 0, 0, 0, 0, 0, 0, + }, + }, + static = false, + visibleFrom = 0, + visibleTo = 200, + + }, + { + animations = { + + }, + children = { { + id = "vehicle/train/vl80sa_body_lod1v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 16.23972, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80sa_body_lod1v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80sb_body_lod1v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -16.36179, 0, 0, 1, + }, + type = "GROUP", + + }, + }, + events = { + }, + matConfigs = { + { + 0, 0, 0, 0, 0, 0, 0, + }, + }, + static = false, + visibleFrom = 200, + visibleTo = 700, + + }, + { + animations = { + + }, + children = { { + id = "vehicle/train/vl80a_body_lod2v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 16.23972, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80a_body_lod2v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + }, + type = "GROUP", + + },{ + id = "vehicle/train/vl80b_body_lod2v1.grp", + transf = { + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -16.36179, 0, 0, 1, + }, + type = "GROUP", + + }, + }, + events = { + }, + matConfigs = { + { + 0, 0, 0, 0, 0, 0, 0, + }, + }, + static = false, + visibleFrom = 700, + visibleTo = 2200, + + }, + }, + metadata = { + description = { + name = _("ВЛ80С (3 секции)"), + description = _( + "ВЛ80 - советский грузовой магистральный электровоз переменного тока. ВЛ80С строился с 1979 по 1995 год. По сути это ВЛ80Т дооборудованный для возможности работы в составе трёх секций.") + }, + railVehicle = { + topSpeed = 110.0, + weight = 276.0, + engines = { + { type = "ELECTRIC", power = 8475.0, tractiveEffort = 993.0 } + }, + configs = { + { + axles = { + "vehicle/train/vl80pid/vl80_w_lod0.msh", + } + }, + { + axles = { + "vehicle/train/vl80pid/vl80_w_lod0.msh", + } + }, + { + axles = { + "vehicle/train/vl80pid/vl80_w_lod0.msh", + } + } + }, + soundSet = { name = "vl80pid" } + + }, + transportVehicle = { + carrier = "RAIL", + }, + availability = { + yearFrom = 2007, + yearTo = 2020 + }, + cost = { + price = 3150000 + + }, + maintenance = { + runningCosts = 1800000, + lifespan = 25 + }, + + }, + +} +end diff --git a/res/textures/models/vehicle/train/vl80spid.tga b/res/textures/models/vehicle/train/vl80spid.tga new file mode 100644 index 0000000..46e4eb9 Binary files /dev/null and b/res/textures/models/vehicle/train/vl80spid.tga differ diff --git a/res/textures/models/vehicle/train/vl80spid_nrml.tga b/res/textures/models/vehicle/train/vl80spid_nrml.tga new file mode 100644 index 0000000..2c55141 Binary files /dev/null and b/res/textures/models/vehicle/train/vl80spid_nrml.tga differ diff --git a/res/textures/ui/models_small/vehicle/train/vl80s1pid.tga b/res/textures/ui/models_small/vehicle/train/vl80s1pid.tga new file mode 100644 index 0000000..f93b09e Binary files /dev/null and b/res/textures/ui/models_small/vehicle/train/vl80s1pid.tga differ diff --git a/res/textures/ui/models_small/vehicle/train/vl80s2pid.tga b/res/textures/ui/models_small/vehicle/train/vl80s2pid.tga new file mode 100644 index 0000000..5b6e5bf Binary files /dev/null and b/res/textures/ui/models_small/vehicle/train/vl80s2pid.tga differ