diff --git a/design/subway/subway-coat.svg b/design/subway/subway-coat.svg
new file mode 100644
index 0000000..34b6a53
--- /dev/null
+++ b/design/subway/subway-coat.svg
@@ -0,0 +1,102 @@
+
+
+
+
diff --git a/design/subway/subway-coat_data.png b/design/subway/subway-coat_data.png
new file mode 100644
index 0000000..817c6b0
--- /dev/null
+++ b/design/subway/subway-coat_data.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:27423cae1234abf76c562c903d3762c9264ed4341e78edd2986e9679854cf14b
+size 3558279
diff --git a/design/subway/subway.blend b/design/subway/subway.blend
index c34d6dc..5d86d0c 100644
--- a/design/subway/subway.blend
+++ b/design/subway/subway.blend
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d0acaa9c532e53d675d9458d6605da6ac8881ad3a8d06d53e762c25616b90f91
-size 338391186
+oid sha256:eb7e8546aeeda9228cff2cc27d9613740364e3f893eb9e5f4b2f90c7cf690e1f
+size 342582181
diff --git a/design/subway/subway_grunge_mask.png b/design/subway/subway_grunge_mask.png
new file mode 100644
index 0000000..571804b
--- /dev/null
+++ b/design/subway/subway_grunge_mask.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d7072a4d00d68cea6dc11f4c774d6fd8a44c7c95e796dee7f34020e8ad86f364
+size 1371875
diff --git a/design/subway/texture_baking/subway-stripes.png b/design/subway/texture_baking/subway-stripes.png
new file mode 100644
index 0000000..9b502e3
--- /dev/null
+++ b/design/subway/texture_baking/subway-stripes.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:be858777b959d3b2f231a35d6e0c2d7b811d6f64273e11c2d3809a751d04c9ba
+size 100021
diff --git a/design/subway/texture_baking/train_hull_data.png b/design/subway/texture_baking/train_hull_data.png
new file mode 100644
index 0000000..ae86c3e
--- /dev/null
+++ b/design/subway/texture_baking/train_hull_data.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:94cd19c2d2b520c7e0408eecd5981854ea4bce3eb58f7ad5c6727c91cbc918a3
+size 1769755
diff --git a/src/base-environments/transition/first_platform.tscn b/src/base-environments/transition/first_platform.tscn
index 5e52c2c..ed031bc 100644
--- a/src/base-environments/transition/first_platform.tscn
+++ b/src/base-environments/transition/first_platform.tscn
@@ -1,8 +1,10 @@
-[gd_scene load_steps=48 format=3 uid="uid://dgxujvk66rka6"]
+[gd_scene load_steps=62 format=3 uid="uid://dgxujvk66rka6"]
+[ext_resource type="Script" uid="uid://snugj1gnggjj" path="res://base-environments/transition/subway_sequence.gd" id="1_tpaj8"]
[ext_resource type="PackedScene" uid="uid://cb4m4oe32guqi" path="res://base-environments/transition/import/first_station.glb" id="1_yerc2"]
[ext_resource type="Shader" uid="uid://sxauef61xfpx" path="res://base-environments/transition/time_sparks.gdshader" id="2_4y17u"]
[ext_resource type="PackedScene" uid="uid://bk1l1a7eae838" path="res://base-environments/transition/misc/subway_map.tscn" id="2_5npvd"]
+[ext_resource type="Script" uid="uid://cyeh7sa20bmcf" path="res://base-environments/transition/station.gd" id="2_bjefl"]
[ext_resource type="Texture2D" uid="uid://cxsne8gg5fmca" path="res://base-environments/transition/shaders/time_spark.png" id="3_cbtb8"]
[ext_resource type="VoxelGIData" uid="uid://bxv4p0cx0u1vu" path="res://base-environments/transition/test_gi.res" id="4_nmgvo"]
[ext_resource type="Material" uid="uid://dmmkkclq8xlvu" path="res://base-environments/transition/shaders/platform_foam.tres" id="5_32vcv"]
@@ -16,6 +18,14 @@
[ext_resource type="AudioStream" uid="uid://cr77al1x73vyb" path="res://base-environments/transition/vfx/harbour waves calm 01.mp3" id="14_awhi4"]
[ext_resource type="AudioStream" uid="uid://xn5qegs2ckea" path="res://base-environments/transition/vfx/SUBWAY_02.ogg" id="15_iyklq"]
+[sub_resource type="Resource" id="Resource_1cdpo"]
+script = ExtResource("2_bjefl")
+station_name = &"Hirschfeld-St."
+memory = 4
+station_path = ""
+shedule = Dictionary[float, int]({})
+metadata/_custom_type_script = "uid://cyeh7sa20bmcf"
+
[sub_resource type="ViewportTexture" id="ViewportTexture_sjsoq"]
viewport_path = NodePath("first_station/MeshInstance3D/SubViewport")
@@ -26,6 +36,74 @@ albedo_texture = SubResource("ViewportTexture_sjsoq")
[sub_resource type="QuadMesh" id="QuadMesh_d1dx0"]
size = Vector2(1.505, 1)
+[sub_resource type="Shader" id="Shader_tpaj8"]
+code = "shader_type spatial;
+render_mode depth_prepass_alpha;
+
+uniform sampler2D horizontal_gradient: repeat_disable;
+uniform sampler2D horizontal_emission: repeat_disable;
+uniform sampler2D vertical_gradient: repeat_disable;
+uniform sampler2D vertical_emission: repeat_disable;
+
+void vertex() {
+ // Called for every vertex the material is visible on.
+}
+
+void fragment() {
+ float anim_progress = fract(TIME * 0.25);
+
+ ALBEDO = texture(horizontal_gradient, UV.yx).xyz * mix(vec3(1.0), texture(vertical_gradient, UV * vec2(anim_progress)).xyz, anim_progress);
+ ALPHA = texture(horizontal_gradient, UV.yx).w * texture(vertical_gradient, UV).w * pow(anim_progress, 0.6);
+ EMISSION = texture(horizontal_emission, UV.yx).xyz * mix(vec3(1.0), texture(vertical_emission, UV * vec2(anim_progress)).xyz, anim_progress);
+ ROUGHNESS = 0.6;
+ SPECULAR = 0.4;
+}
+
+//void light() {
+// // Called for every pixel for every light affecting the material.
+// // Uncomment to replace the default light processing function with this one.
+//}
+"
+
+[sub_resource type="Gradient" id="Gradient_tpaj8"]
+offsets = PackedFloat32Array(0.190283, 0.237517, 0.252362, 0.263158, 0.358974, 0.620783)
+colors = PackedColorArray(0, 0, 0, 1, 0.498876, 0.371803, 0.25703, 1, 0.999199, 0.798087, 0.641907, 1, 0.552793, 0.341064, 0.190397, 1, 0.428199, 0.393103, 0.309389, 1, 0, 0, 0, 1)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_bjefl"]
+gradient = SubResource("Gradient_tpaj8")
+
+[sub_resource type="Gradient" id="Gradient_iyklq"]
+offsets = PackedFloat32Array(0, 0.0526316, 0.165992, 0.62753, 0.647773, 0.704453, 0.731444, 1)
+colors = PackedColorArray(0.0563103, 0.372397, 0.669528, 1, 0, 0, 0, 0.968627, 0.0844204, 0.319764, 0.485866, 0.796078, 0.0554195, 0.372493, 0.670199, 0.871024, 0, 0, 0, 0.933333, 0.0507, 0.237315, 0.39, 1, 0.0563103, 0.372397, 0.669528, 1, 0.0261, 0.092075, 0.29, 0.894118)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_tpaj8"]
+gradient = SubResource("Gradient_iyklq")
+width = 1024
+
+[sub_resource type="Gradient" id="Gradient_1cdpo"]
+offsets = PackedFloat32Array(0.147099, 0.159244, 0.195682, 0.213225, 0.267206, 0.287449, 0.31444, 0.34143, 0.364372, 0.398111, 0.430499, 0.442645, 0.480432, 0.511471, 1)
+colors = PackedColorArray(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0.194349, 0.194349, 0.194349, 1, 0.194349, 0.194349, 0.194349, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_v43sq"]
+gradient = SubResource("Gradient_1cdpo")
+
+[sub_resource type="Gradient" id="Gradient_mnrqp"]
+offsets = PackedFloat32Array(0.022942, 0.11471, 0.215924, 0.226721, 0.259109, 0.268556, 0.438596, 0.45614, 0.473684, 0.866397, 1)
+colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0.0820244, 0.0820244, 0.0820244, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_nnax0"]
+gradient = SubResource("Gradient_mnrqp")
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_bjefl"]
+render_priority = 1
+shader = SubResource("Shader_tpaj8")
+shader_parameter/horizontal_gradient = SubResource("GradientTexture1D_tpaj8")
+shader_parameter/horizontal_emission = SubResource("GradientTexture1D_bjefl")
+shader_parameter/vertical_gradient = SubResource("GradientTexture1D_nnax0")
+shader_parameter/vertical_emission = SubResource("GradientTexture1D_v43sq")
+
+[sub_resource type="QuadMesh" id="QuadMesh_1cdpo"]
+
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_nspcl"]
sky_top_color = Color(0.138464, 0.0447571, 0.169373, 1)
sky_horizon_color = Color(4.62055e-06, 0.722684, 0.905603, 1)
@@ -431,12 +509,13 @@ width = 100
height = 100
[node name="Node3D" type="Node3D"]
+script = ExtResource("1_tpaj8")
+all_stations = Array[ExtResource("2_bjefl")]([SubResource("Resource_1cdpo")])
[node name="first_station" parent="." instance=ExtResource("1_yerc2")]
[node name="MeshInstance3D" type="MeshInstance3D" parent="first_station"]
-transform = Transform3D(0, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, 0, 0.124229, 1.13951, -12.668)
-visible = false
+transform = Transform3D(0, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, 0, 0.124229, 1.13951, -22.4583)
material_override = SubResource("StandardMaterial3D_cb8p6")
mesh = SubResource("QuadMesh_d1dx0")
@@ -445,6 +524,12 @@ size = Vector2i(2896, 2048)
[node name="SubwayMap" parent="first_station/MeshInstance3D/SubViewport" instance=ExtResource("2_5npvd")]
+[node name="MeshInstance3D2" type="MeshInstance3D" parent="first_station"]
+transform = Transform3D(5.50899e-06, 0, 2.87959, 0, 2.87959, 0, -42.0103, 0, 3.77612e-07, -4.34349, 1.28614, -35.358)
+material_override = SubResource("ShaderMaterial_bjefl")
+mesh = SubResource("QuadMesh_1cdpo")
+skeleton = NodePath("../../GPUParticles3D4")
+
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_hovki")
diff --git a/src/base-environments/transition/import/DriverCabin.tres b/src/base-environments/transition/import/DriverCabin.tres
new file mode 100644
index 0000000..6da8886
--- /dev/null
+++ b/src/base-environments/transition/import/DriverCabin.tres
@@ -0,0 +1,9 @@
+[gd_resource type="StandardMaterial3D" format=3 uid="uid://dlekrqjsc6ti1"]
+
+[resource]
+resource_name = "DriverCabin"
+transparency = 4
+albedo_color = Color(0.906332, 0.906332, 0.906332, 1)
+metallic = 1.0
+emission = Color(1, 1, 1, 1)
+emission_energy_multiplier = 7.89188
diff --git a/src/base-environments/transition/import/cabin_windows.tres b/src/base-environments/transition/import/cabin_windows.tres
new file mode 100644
index 0000000..66accf8
--- /dev/null
+++ b/src/base-environments/transition/import/cabin_windows.tres
@@ -0,0 +1,7 @@
+[gd_resource type="StandardMaterial3D" format=3 uid="uid://do7ubky01tw15"]
+
+[resource]
+resource_name = "cabin_windows"
+transparency = 4
+albedo_color = Color(0.906332, 0.906332, 0.906332, 1)
+metallic = 1.0
diff --git a/src/base-environments/transition/import/subway_coat.tres b/src/base-environments/transition/import/subway_coat.tres
index 4c2a346..386e31d 100644
--- a/src/base-environments/transition/import/subway_coat.tres
+++ b/src/base-environments/transition/import/subway_coat.tres
@@ -1,7 +1,16 @@
-[gd_resource type="StandardMaterial3D" format=3 uid="uid://bqo0oxige18et"]
+[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://bqo0oxige18et"]
+
+[ext_resource type="Shader" uid="uid://kvovcq2s08f0" path="res://base-environments/transition/vfx/subway-coat.gdshader" id="1_byqt2"]
+[ext_resource type="Texture2D" uid="uid://dgmq08pbobw55" path="res://base-environments/transition/import/textures/subway-coat_data.png" id="2_p7k1a"]
+[ext_resource type="Texture2D" uid="uid://dst0u5b51mx4h" path="res://base-environments/transition/shaders/water_color.exr" id="3_trg1x"]
+[ext_resource type="Texture2D" uid="uid://bvlldp00ytilp" path="res://base-environments/transition/shaders/water_noise.png" id="4_qj037"]
+[ext_resource type="Texture2D" uid="uid://b5gmqj4nd868a" path="res://base-environments/transition/shaders/water_displacement_noise.png" id="4_trg1x"]
[resource]
resource_name = "subway_coat"
-cull_mode = 2
-albedo_color = Color(0.383873, 0.76223, 0.906363, 1)
-roughness = 0.621101
+render_priority = 0
+shader = ExtResource("1_byqt2")
+shader_parameter/data_texture = ExtResource("2_p7k1a")
+shader_parameter/water_colors = ExtResource("3_trg1x")
+shader_parameter/water_disp = ExtResource("4_trg1x")
+shader_parameter/water_noise = ExtResource("4_qj037")
diff --git a/src/base-environments/transition/import/subway_door.tres b/src/base-environments/transition/import/subway_door.tres
new file mode 100644
index 0000000..00c41fb
--- /dev/null
+++ b/src/base-environments/transition/import/subway_door.tres
@@ -0,0 +1,9 @@
+[gd_resource type="StandardMaterial3D" format=3 uid="uid://dwcyb50orh5my"]
+
+[resource]
+resource_name = "subway_door"
+cull_mode = 2
+vertex_color_use_as_albedo = true
+albedo_color = Color(0.246829, 0.246829, 0.246829, 1)
+metallic = 1.0
+roughness = 0.105505
diff --git a/src/base-environments/transition/import/subway_tinted_glass.tres b/src/base-environments/transition/import/subway_tinted_glass.tres
new file mode 100644
index 0000000..06650b5
--- /dev/null
+++ b/src/base-environments/transition/import/subway_tinted_glass.tres
@@ -0,0 +1,7 @@
+[gd_resource type="StandardMaterial3D" format=3 uid="uid://cpb868aqg20oe"]
+
+[resource]
+resource_name = "subway_tinted_glass"
+cull_mode = 2
+albedo_color = Color(0.132903, 0.132903, 0.132903, 1)
+roughness = 0.0688073
diff --git a/src/base-environments/transition/import/subway_train.glb b/src/base-environments/transition/import/subway_train.glb
index 46552f7..095f467 100644
--- a/src/base-environments/transition/import/subway_train.glb
+++ b/src/base-environments/transition/import/subway_train.glb
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a17cfce408b68822c9429b2c1675fce1cde5a2f40bc3c13c95d541e90dfd1f02
-size 3807808
+oid sha256:c1a0389f368363ee79ade359fa2e5ec69e4c4c2a20a90048de2200130772c649
+size 5712144
diff --git a/src/base-environments/transition/import/subway_train.glb.import b/src/base-environments/transition/import/subway_train.glb.import
index 545f024..27848ac 100644
--- a/src/base-environments/transition/import/subway_train.glb.import
+++ b/src/base-environments/transition/import/subway_train.glb.import
@@ -34,6 +34,14 @@ animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"materials": {
+"DriverCabin": {
+"use_external/enabled": true,
+"use_external/path": "res://base-environments/transition/import/DriverCabin.tres"
+},
+"cabin_windows": {
+"use_external/enabled": true,
+"use_external/path": "res://base-environments/transition/import/cabin_windows.tres"
+},
"ceiling": {
"use_external/enabled": true,
"use_external/path": "res://base-environments/transition/import/ceiling.tres"
@@ -54,6 +62,10 @@ _subresources={
"use_external/enabled": true,
"use_external/path": "res://base-environments/transition/import/subway_coat.tres"
},
+"subway_tinted_glass": {
+"use_external/enabled": true,
+"use_external/path": "res://base-environments/transition/import/subway_tinted_glass.tres"
+},
"train_floor": {
"use_external/enabled": true,
"use_external/path": "res://base-environments/transition/import/train_floor.tres"
@@ -62,6 +74,18 @@ _subresources={
"use_external/enabled": true,
"use_external/path": "res://base-environments/transition/import/train_misc.tres"
},
+"train_window_frames": {
+"use_external/enabled": true,
+"use_external/path": "res://base-environments/transition/import/train_window_frames.tres"
+},
+"train_windows": {
+"use_external/enabled": true,
+"use_external/path": "res://base-environments/transition/import/train_windows.tres"
+},
+"train_windows_transparent": {
+"use_external/enabled": true,
+"use_external/path": "res://base-environments/transition/import/train_windows_transparent.tres"
+},
"undercarriage": {
"use_external/enabled": true,
"use_external/path": "res://base-environments/transition/import/undercarriage.tres"
@@ -75,6 +99,14 @@ _subresources={
"lods/normal_merge_angle": 60.0,
"save_to_file/enabled": false,
"save_to_file/path": ""
+},
+"subway_train_train_hull": {
+"generate/lightmap_uv": 0,
+"generate/lods": 2,
+"generate/shadow_meshes": 0,
+"lods/normal_merge_angle": 60.0,
+"save_to_file/enabled": false,
+"save_to_file/path": ""
}
}
}
diff --git a/src/base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_ultrasharp.png.import b/src/base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_ultrasharp.png.import
index fcd5f84..8cc357d 100644
--- a/src/base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_ultrasharp.png.import
+++ b/src/base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_ultrasharp.png.import
@@ -3,25 +3,27 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://doi2dy56py0de"
-path="res://.godot/imported/LateralTren_baseColor_upscayl_2x_ultrasharp.png-8d19f7c6ad80da5d66a0d132e9091f2c.ctex"
+path.s3tc="res://.godot/imported/LateralTren_baseColor_upscayl_2x_ultrasharp.png-8d19f7c6ad80da5d66a0d132e9091f2c.s3tc.ctex"
+path.etc2="res://.godot/imported/LateralTren_baseColor_upscayl_2x_ultrasharp.png-8d19f7c6ad80da5d66a0d132e9091f2c.etc2.ctex"
metadata={
-"vram_texture": false
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
+"vram_texture": true
}
[deps]
source_file="res://base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_ultrasharp.png"
-dest_files=["res://.godot/imported/LateralTren_baseColor_upscayl_2x_ultrasharp.png-8d19f7c6ad80da5d66a0d132e9091f2c.ctex"]
+dest_files=["res://.godot/imported/LateralTren_baseColor_upscayl_2x_ultrasharp.png-8d19f7c6ad80da5d66a0d132e9091f2c.s3tc.ctex", "res://.godot/imported/LateralTren_baseColor_upscayl_2x_ultrasharp.png-8d19f7c6ad80da5d66a0d132e9091f2c.etc2.ctex"]
[params]
-compress/mode=0
+compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
-mipmaps/generate=false
+mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@@ -31,4 +33,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
-detect_3d/compress_to=1
+detect_3d/compress_to=0
diff --git a/src/base-environments/transition/import/textures/LateralTren_normal_upscayl_2x_ultrasharp.png.import b/src/base-environments/transition/import/textures/LateralTren_normal_upscayl_2x_ultrasharp.png.import
index 71a7737..cb3d6b7 100644
--- a/src/base-environments/transition/import/textures/LateralTren_normal_upscayl_2x_ultrasharp.png.import
+++ b/src/base-environments/transition/import/textures/LateralTren_normal_upscayl_2x_ultrasharp.png.import
@@ -3,32 +3,34 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b723k1ye26g6x"
-path="res://.godot/imported/LateralTren_normal_upscayl_2x_ultrasharp.png-fe8e95b63a74d43f3f4936726814fd86.ctex"
+path.s3tc="res://.godot/imported/LateralTren_normal_upscayl_2x_ultrasharp.png-fe8e95b63a74d43f3f4936726814fd86.s3tc.ctex"
+path.etc2="res://.godot/imported/LateralTren_normal_upscayl_2x_ultrasharp.png-fe8e95b63a74d43f3f4936726814fd86.etc2.ctex"
metadata={
-"vram_texture": false
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
+"vram_texture": true
}
[deps]
source_file="res://base-environments/transition/import/textures/LateralTren_normal_upscayl_2x_ultrasharp.png"
-dest_files=["res://.godot/imported/LateralTren_normal_upscayl_2x_ultrasharp.png-fe8e95b63a74d43f3f4936726814fd86.ctex"]
+dest_files=["res://.godot/imported/LateralTren_normal_upscayl_2x_ultrasharp.png-fe8e95b63a74d43f3f4936726814fd86.s3tc.ctex", "res://.godot/imported/LateralTren_normal_upscayl_2x_ultrasharp.png-fe8e95b63a74d43f3f4936726814fd86.etc2.ctex"]
[params]
-compress/mode=0
+compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
-compress/normal_map=0
+compress/normal_map=1
compress/channel_pack=0
-mipmaps/generate=false
+mipmaps/generate=true
mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
+roughness/mode=1
+roughness/src_normal="res://base-environments/transition/import/textures/LateralTren_normal_upscayl_2x_ultrasharp.png"
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
-detect_3d/compress_to=1
+detect_3d/compress_to=0
diff --git a/src/base-environments/transition/import/textures/subway-coat_data.png b/src/base-environments/transition/import/textures/subway-coat_data.png
new file mode 100644
index 0000000..817c6b0
--- /dev/null
+++ b/src/base-environments/transition/import/textures/subway-coat_data.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:27423cae1234abf76c562c903d3762c9264ed4341e78edd2986e9679854cf14b
+size 3558279
diff --git a/src/base-environments/transition/import/textures/subway-coat_data.png.import b/src/base-environments/transition/import/textures/subway-coat_data.png.import
new file mode 100644
index 0000000..f3b2051
--- /dev/null
+++ b/src/base-environments/transition/import/textures/subway-coat_data.png.import
@@ -0,0 +1,36 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dgmq08pbobw55"
+path.s3tc="res://.godot/imported/subway-coat_data.png-571f2724f8f2db82177b6ddd2c39be10.s3tc.ctex"
+path.etc2="res://.godot/imported/subway-coat_data.png-571f2724f8f2db82177b6ddd2c39be10.etc2.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://base-environments/transition/import/textures/subway-coat_data.png"
+dest_files=["res://.godot/imported/subway-coat_data.png-571f2724f8f2db82177b6ddd2c39be10.s3tc.ctex", "res://.godot/imported/subway-coat_data.png-571f2724f8f2db82177b6ddd2c39be10.etc2.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/src/base-environments/transition/import/textures/train_hull_normal.png b/src/base-environments/transition/import/textures/train_hull_normal.png
new file mode 100644
index 0000000..6c4caff
--- /dev/null
+++ b/src/base-environments/transition/import/textures/train_hull_normal.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ef2879f0ea646683eff4a2485ec1d2b41036d390f07e84043931193360d8533b
+size 327953
diff --git a/src/base-environments/transition/import/textures/train_hull_normal.png.import b/src/base-environments/transition/import/textures/train_hull_normal.png.import
new file mode 100644
index 0000000..c737122
--- /dev/null
+++ b/src/base-environments/transition/import/textures/train_hull_normal.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm1w3dmmg3u5"
+path="res://.godot/imported/train_hull_normal.png-8a8437f36bdae8749703a776e8cdbd5c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://base-environments/transition/import/textures/train_hull_normal.png"
+dest_files=["res://.godot/imported/train_hull_normal.png-8a8437f36bdae8749703a776e8cdbd5c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/src/base-environments/transition/import/textures/train_windows_metallicRoughness.png b/src/base-environments/transition/import/textures/train_windows_metallicRoughness.png
new file mode 100644
index 0000000..938e5b7
--- /dev/null
+++ b/src/base-environments/transition/import/textures/train_windows_metallicRoughness.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:175d09784bd0ad2ff0411265ed14002a6728e14d985b3187fb5f61f58bc24929
+size 4260925
diff --git a/src/base-environments/transition/import/textures/train_windows_metallicRoughness.png.import b/src/base-environments/transition/import/textures/train_windows_metallicRoughness.png.import
new file mode 100644
index 0000000..f7622dd
--- /dev/null
+++ b/src/base-environments/transition/import/textures/train_windows_metallicRoughness.png.import
@@ -0,0 +1,36 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drvhw2ww0syuu"
+path.s3tc="res://.godot/imported/train_windows_metallicRoughness.png-9550279d782f369b8c11499fc4bc3c92.s3tc.ctex"
+path.etc2="res://.godot/imported/train_windows_metallicRoughness.png-9550279d782f369b8c11499fc4bc3c92.etc2.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://base-environments/transition/import/textures/train_windows_metallicRoughness.png"
+dest_files=["res://.godot/imported/train_windows_metallicRoughness.png-9550279d782f369b8c11499fc4bc3c92.s3tc.ctex", "res://.godot/imported/train_windows_metallicRoughness.png-9550279d782f369b8c11499fc4bc3c92.etc2.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/src/base-environments/transition/import/train_window_frames.tres b/src/base-environments/transition/import/train_window_frames.tres
new file mode 100644
index 0000000..c6dc2e4
--- /dev/null
+++ b/src/base-environments/transition/import/train_window_frames.tres
@@ -0,0 +1,18 @@
+[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://ccs88lvgep1w1"]
+
+[ext_resource type="Texture2D" uid="uid://doi2dy56py0de" path="res://base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_ultrasharp.png" id="1_5ekpk"]
+[ext_resource type="Texture2D" uid="uid://drvhw2ww0syuu" path="res://base-environments/transition/import/textures/train_windows_metallicRoughness.png" id="2_sawhb"]
+[ext_resource type="Texture2D" uid="uid://b723k1ye26g6x" path="res://base-environments/transition/import/textures/LateralTren_normal_upscayl_2x_ultrasharp.png" id="3_mnvmi"]
+
+[resource]
+resource_name = "train_window_frames"
+transparency = 4
+albedo_color = Color(0.906332, 0.906332, 0.906332, 1)
+albedo_texture = ExtResource("1_5ekpk")
+metallic = 1.0
+metallic_texture = ExtResource("2_sawhb")
+metallic_texture_channel = 2
+roughness_texture = ExtResource("2_sawhb")
+emission = Color(1, 1, 1, 1)
+normal_enabled = true
+normal_texture = ExtResource("3_mnvmi")
diff --git a/src/base-environments/transition/import/train_windows.tres b/src/base-environments/transition/import/train_windows.tres
new file mode 100644
index 0000000..de73a5c
--- /dev/null
+++ b/src/base-environments/transition/import/train_windows.tres
@@ -0,0 +1,13 @@
+[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://by0el3osnekx3"]
+
+[ext_resource type="Texture2D" uid="uid://drvhw2ww0syuu" path="res://base-environments/transition/import/textures/train_windows_metallicRoughness.png" id="1_re072"]
+
+[resource]
+resource_name = "train_windows"
+transparency = 4
+albedo_color = Color(0.906332, 0.906332, 0.906332, 1)
+metallic_texture = ExtResource("1_re072")
+metallic_texture_channel = 2
+roughness_texture = ExtResource("1_re072")
+roughness_texture_channel = 1
+emission = Color(1, 1, 1, 1)
diff --git a/src/base-environments/transition/import/train_windows_transparent.tres b/src/base-environments/transition/import/train_windows_transparent.tres
new file mode 100644
index 0000000..cc579fb
--- /dev/null
+++ b/src/base-environments/transition/import/train_windows_transparent.tres
@@ -0,0 +1,15 @@
+[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://dxlgpu4l0s3ua"]
+
+[ext_resource type="Texture2D" uid="uid://doi2dy56py0de" path="res://base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_ultrasharp.png" id="1_7w4sq"]
+[ext_resource type="Texture2D" uid="uid://drvhw2ww0syuu" path="res://base-environments/transition/import/textures/train_windows_metallicRoughness.png" id="2_l1btj"]
+
+[resource]
+resource_name = "train_windows_transparent"
+transparency = 1
+blend_mode = 1
+albedo_texture = ExtResource("1_7w4sq")
+metallic_texture = ExtResource("2_l1btj")
+roughness = 0.53
+roughness_texture = ExtResource("2_l1btj")
+roughness_texture_channel = 1
+emission = Color(1, 1, 1, 1)
diff --git a/src/base-environments/transition/misc/subway_map.tscn b/src/base-environments/transition/misc/subway_map.tscn
index 28d62ef..0bd2ec3 100644
--- a/src/base-environments/transition/misc/subway_map.tscn
+++ b/src/base-environments/transition/misc/subway_map.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=5 format=3 uid="uid://bk1l1a7eae838"]
+[gd_scene load_steps=6 format=3 uid="uid://bk1l1a7eae838"]
[ext_resource type="Texture2D" uid="uid://dg881upy6686k" path="res://base-environments/transition/misc/subway_map.png" id="1_p8tnj"]
[ext_resource type="FontFile" uid="uid://bdkb43smt08c0" path="res://import/fonts/Ubuntu-B.ttf" id="2_q6nhe"]
@@ -16,6 +16,17 @@ corner_radius_bottom_right = 20
corner_radius_bottom_left = 20
expand_margin_left = 10.0
expand_margin_top = 5.0
+expand_margin_right = 20.0
+expand_margin_bottom = 9.0
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_80ahk"]
+bg_color = Color(1, 1, 1, 0.784314)
+corner_radius_top_left = 20
+corner_radius_top_right = 20
+corner_radius_bottom_right = 20
+corner_radius_bottom_left = 20
+expand_margin_left = 10.0
+expand_margin_top = 9.0
expand_margin_right = 10.0
expand_margin_bottom = 5.0
@@ -23,11 +34,12 @@ expand_margin_bottom = 5.0
default_font = ExtResource("2_q6nhe")
default_font_size = 50
Label/colors/font_color = Color(0, 0, 0, 1)
-Label/constants/line_spacing = 7
+Label/constants/line_spacing = -2
Label/styles/normal = SubResource("StyleBoxFlat_egt5j")
SmallLabel/base_type = &"Label"
SmallLabel/colors/font_color = Color(0.340339, 0.340339, 0.340339, 1)
-SmallLabel/font_sizes/font_size = 40
+SmallLabel/font_sizes/font_size = 35
+SmallLabel/styles/normal = SubResource("StyleBoxFlat_80ahk")
[node name="SubwayMap" type="Node2D"]
@@ -46,14 +58,14 @@ text = "Parity Sq."
[node name="Label8" type="Label" parent="SubwayMap"]
anchors_preset = -1
-anchor_left = -0.0162293
-anchor_top = -0.00537109
-anchor_right = -0.0162293
-anchor_bottom = -0.00537109
-offset_left = -1162.0
-offset_top = -348.0
-offset_right = -919.0
-offset_bottom = -283.0
+anchor_left = -0.043163
+anchor_top = -0.0175781
+anchor_right = -0.043163
+anchor_bottom = -0.0175781
+offset_left = -1244.0
+offset_top = -193.0
+offset_right = -1001.0
+offset_bottom = -128.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
@@ -61,74 +73,74 @@ text = "Turing Sq."
metadata/_edit_use_anchors_ = true
[node name="Label9" type="Label" parent="SubwayMap"]
-offset_left = -1045.0
-offset_top = -227.0
-offset_right = -793.0
-offset_bottom = -173.0
+offset_left = -1207.0
+offset_top = -52.0
+offset_right = -993.0
+offset_bottom = -12.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = "Lovelace Str."
[node name="Label10" type="Label" parent="SubwayMap"]
-offset_left = -725.0
-offset_top = -227.0
-offset_right = -403.0
-offset_bottom = -173.0
+offset_left = -715.0
+offset_top = -226.0
+offset_right = -440.0
+offset_bottom = -186.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = " Lise-Meitner St."
[node name="Label11" type="Label" parent="SubwayMap"]
-offset_left = -1219.0
-offset_top = 310.0
-offset_right = -975.0
-offset_bottom = 364.0
+offset_left = -1215.0
+offset_top = 317.0
+offset_right = -1008.0
+offset_bottom = 357.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = "Curie-Street"
[node name="Label12" type="Label" parent="SubwayMap"]
-offset_left = -1313.0
-offset_top = 750.0
-offset_right = -953.0
-offset_bottom = 804.0
+offset_left = -1288.0
+offset_top = 628.0
+offset_right = -979.0
+offset_bottom = 668.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = "Julie d'Aubigny St."
[node name="Label13" type="Label" parent="SubwayMap"]
-offset_left = -1199.0
-offset_top = 781.0
-offset_right = -1006.0
-offset_bottom = 835.0
+offset_left = -130.0
+offset_top = 486.0
+offset_right = 32.0
+offset_bottom = 526.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = "Shaw Ally"
[node name="Label14" type="Label" parent="SubwayMap"]
-offset_left = -716.0
-offset_top = 484.0
-offset_right = -348.0
-offset_bottom = 538.0
+offset_left = -704.0
+offset_top = 488.0
+offset_right = -389.0
+offset_bottom = 528.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = "Feuser-Jantzen Sq."
[node name="Label15" type="Label" parent="SubwayMap"]
-offset_left = -140.0
-offset_top = 483.0
-offset_right = 116.0
-offset_bottom = 537.0
+offset_left = -1246.0
+offset_top = 841.0
+offset_right = -982.0
+offset_bottom = 881.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
-text = "La Roche Lib."
+text = "La Roche Libary"
[node name="Label7" type="Label" parent="SubwayMap"]
offset_left = -389.0
@@ -140,58 +152,58 @@ theme = SubResource("Theme_pp368")
text = "Hirschfeld-St."
[node name="Label2" type="Label" parent="SubwayMap"]
-offset_left = 352.0
+offset_left = 348.0
offset_top = -220.0
-offset_right = 804.0
+offset_right = 800.0
offset_bottom = -155.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
text = "Saint-Exupéry Ally"
[node name="Label3" type="Label" parent="SubwayMap"]
-offset_left = 900.0
-offset_top = -243.0
-offset_right = 1148.0
-offset_bottom = -114.0
+offset_left = 922.0
+offset_top = -227.0
+offset_right = 1170.0
+offset_bottom = -99.0
rotation = 0.785398
theme = SubResource("Theme_pp368")
text = "Rosenthal
Hospital "
[node name="Label4" type="Label" parent="SubwayMap"]
-offset_left = 1046.0
-offset_top = 113.0
-offset_right = 1317.0
-offset_bottom = 242.0
+offset_left = 1049.0
+offset_top = 117.0
+offset_right = 1320.0
+offset_bottom = 245.0
rotation = 0.785398
theme = SubResource("Theme_pp368")
text = "Ministry of
Education"
[node name="Label5" type="Label" parent="SubwayMap"]
-offset_left = 739.0
-offset_top = 126.0
-offset_right = 1166.0
-offset_bottom = 191.0
+offset_left = 772.0
+offset_top = 158.0
+offset_right = 1199.0
+offset_bottom = 223.0
rotation = 0.785398
theme = SubResource("Theme_pp368")
text = "University (Main) "
[node name="Label16" type="Label" parent="SubwayMap"]
-offset_left = 991.0
-offset_top = -337.0
-offset_right = 1323.0
-offset_bottom = -283.0
+offset_left = 1010.0
+offset_top = -314.0
+offset_right = 1293.0
+offset_bottom = -274.0
rotation = 0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = "Gertrud-Koch-St."
[node name="Label17" type="Label" parent="SubwayMap"]
-offset_left = 362.0
-offset_top = 506.0
-offset_right = 655.0
-offset_bottom = 560.0
+offset_left = 373.0
+offset_top = 527.0
+offset_right = 622.0
+offset_bottom = 567.0
rotation = 0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
@@ -199,20 +211,20 @@ text = "St. Jude Shrine"
[node name="Label18" type="Label" parent="SubwayMap"]
offset_left = 256.0
-offset_top = 645.0
-offset_right = 536.0
-offset_bottom = 699.0
+offset_top = 657.0
+offset_right = 495.0
+offset_bottom = 697.0
rotation = 0.785398
theme = SubResource("Theme_pp368")
theme_type_variation = &"SmallLabel"
text = "Linietsky Park"
[node name="Label6" type="Label" parent="SubwayMap"]
-offset_left = -59.0
-offset_top = 102.0
-offset_right = 343.0
-offset_bottom = 227.0
+offset_left = -45.0
+offset_top = 103.0
+offset_right = 345.0
+offset_bottom = 231.0
rotation = -0.785398
theme = SubResource("Theme_pp368")
text = " University
- (Old Refectory )"
+ (Old Refectory)"
diff --git a/src/base-environments/transition/vfx/subway-coat.gdshader b/src/base-environments/transition/vfx/subway-coat.gdshader
new file mode 100644
index 0000000..4a34452
--- /dev/null
+++ b/src/base-environments/transition/vfx/subway-coat.gdshader
@@ -0,0 +1,93 @@
+shader_type spatial;
+render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
+
+uniform sampler2D data_texture: repeat_enable;
+uniform sampler2D water_colors: repeat_enable;
+uniform sampler2D water_disp: repeat_enable;
+uniform sampler2D water_noise: repeat_enable;
+
+vec3 RNGV3(vec3 p) {
+ vec3 a = fract(sin(vec3(p.x, p.y, p.z)) * vec3(111.11,333.33,444.44));
+ a += dot(a, a+33.51);
+ return fract(vec3(a.x*a.y, a.y*a.z, a.z*a.x)); //outputs a random vec2 between 0 and 1
+}
+
+vec4 voronoy(vec3 loc, float scale){
+ loc = loc*scale;
+ vec4 output = vec4(0., 0., 0., 10.);
+ for(float y=-1.; y<=1.; y++){
+ for(float x=-1.; x<=1.; x++){
+ for(float z=-1.; z<=1.; z++){
+ vec3 offs = vec3(x,y,z);
+ vec3 n = RNGV3(floor(loc)+offs)*2.0-1.0;
+ vec3 p = offs+sin(n) * .5;
+ float d = length((fract(loc)-0.5)-p);
+ if(d