From c5b29fde2b6e0d0a5bf23eafca9fd78f84b2fa20 Mon Sep 17 00:00:00 2001 From: Persephone Bubblegum-Holiday Date: Tue, 19 Aug 2025 14:50:40 -0700 Subject: [PATCH] balcony freeroam --- .../BalconyStage/BalconyStage-RoomCollide.obj | 39 ++ .../BalconyStage-RoomCollide.obj.import | 25 ++ .../BalconyStage-StageCollide.obj | 62 +++ .../BalconyStage-StageCollide.obj.import | 25 ++ .../{Balcony.tscn => BalconyStage.tscn} | 202 ++++------ Scenes/EditorStages/CStage.tscn | 6 +- .../FreeRoam/Generic/GenericBalconyStage.tscn | 364 ++++++++++++++++++ Scenes/FreeRoam/Generic/GenericCStage.tscn | 6 +- .../Generic/GenericProtoRoadStage.tscn | 1 + Scenes/GUI/MainMenu.tscn | 30 +- Scripts/Configs/FreeRoamMaps.gd | 11 +- Scripts/Configs/Stages.gd | 2 +- UI/FreeroamThumbnails/GenericBalconyStage.png | Bin 0 -> 65179 bytes .../GenericBalconyStage.png.import | 34 ++ 14 files changed, 666 insertions(+), 141 deletions(-) create mode 100644 Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj create mode 100644 Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj.import create mode 100644 Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj create mode 100644 Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj.import rename Scenes/EditorStages/{Balcony.tscn => BalconyStage.tscn} (66%) create mode 100644 Scenes/FreeRoam/Generic/GenericBalconyStage.tscn create mode 100644 UI/FreeroamThumbnails/GenericBalconyStage.png create mode 100644 UI/FreeroamThumbnails/GenericBalconyStage.png.import diff --git a/Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj b/Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj new file mode 100644 index 0000000..5608061 --- /dev/null +++ b/Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj @@ -0,0 +1,39 @@ +# Blender 4.5.1 LTS +# www.blender.org +o RoomCollide +v -6.800000 0.000000 8.000000 +v -6.800000 4.000000 8.000000 +v -6.800000 0.000000 0.000000 +v -6.800000 4.000000 0.000000 +v 7.600000 4.000000 8.000000 +v 7.600000 0.000000 8.000000 +v -3.800000 0.000000 0.000000 +v -3.800000 4.000000 0.000000 +v 7.600000 4.000000 0.000000 +v 7.600000 0.000000 0.000000 +v 3.800000 4.000000 0.000000 +v 3.800000 0.000000 0.000000 +v -3.800000 1.300000 0.000000 +v 3.800000 1.300000 0.000000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.000000 0.000000 +s 0 +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 3/4/2 4/3/2 8/5/2 7/6/2 +f 9/2/2 10/1/2 12/1/2 11/2/2 +f 5/2/3 6/1/3 10/1/3 9/2/3 +f 2/2/4 1/1/4 6/1/4 5/2/4 +f 7/7/4 12/7/4 14/7/4 13/7/4 +f 3/4/5 7/6/5 12/7/5 10/1/5 6/1/5 1/1/5 +f 2/2/6 5/2/6 9/2/6 11/2/6 8/5/6 4/3/6 diff --git a/Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj.import b/Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj.import new file mode 100644 index 0000000..f3cfdbb --- /dev/null +++ b/Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://dw1dh8gjfa6qn" +path="res://.godot/imported/BalconyStage-RoomCollide.obj-29c8f97147540e9e3c5dc9ba2e89d8d0.mesh" + +[deps] + +files=["res://.godot/imported/BalconyStage-RoomCollide.obj-29c8f97147540e9e3c5dc9ba2e89d8d0.mesh"] + +source_file="res://Models/GenericRooms/BalconyStage/BalconyStage-RoomCollide.obj" +dest_files=["res://.godot/imported/BalconyStage-RoomCollide.obj-29c8f97147540e9e3c5dc9ba2e89d8d0.mesh", "res://.godot/imported/BalconyStage-RoomCollide.obj-29c8f97147540e9e3c5dc9ba2e89d8d0.mesh"] + +[params] + +generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 +scale_mesh=Vector3(1, 1, 1) +offset_mesh=Vector3(0, 0, 0) +force_disable_mesh_compression=false diff --git a/Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj b/Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj new file mode 100644 index 0000000..7484601 --- /dev/null +++ b/Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj @@ -0,0 +1,62 @@ +# Blender 4.5.1 LTS +# www.blender.org +o StageCollide +v -3.800000 1.300000 0.400000 +v -3.800000 4.000000 0.400000 +v -3.800000 1.300000 -1.000000 +v -3.800000 4.000000 -1.000000 +v -3.500000 4.000000 0.700000 +v -3.500000 1.300000 0.700000 +v 3.800000 1.300000 -1.000000 +v 3.800000 4.000000 -1.000000 +v -2.400000 4.000000 0.700000 +v -2.400000 1.300000 0.700000 +v -2.100000 4.000000 0.400000 +v -2.100000 1.300000 0.400000 +v -0.900000 4.000000 0.400000 +v -0.900000 1.300000 0.400000 +v -0.600000 4.000000 0.700000 +v -0.600000 1.300000 0.700000 +v 0.600000 4.000000 0.700000 +v 0.600000 1.300000 0.700000 +v 0.900000 4.000000 0.400000 +v 0.900000 1.300000 0.400000 +v 2.100000 4.000000 0.400000 +v 2.100000 1.300000 0.400000 +v 2.400000 4.000000 0.700000 +v 2.400000 1.300000 0.700000 +v 3.500000 4.000000 0.700000 +v 3.500000 1.300000 0.700000 +v 3.800000 4.000000 0.400000 +v 3.800000 1.300000 0.400000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.7071 -0.0000 0.7071 +vn -0.0000 -0.0000 1.0000 +vn -0.7071 -0.0000 0.7071 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +s 0 +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 3/4/2 4/3/2 8/5/2 7/6/2 +f 9/2/3 10/1/3 12/1/3 11/2/3 +f 5/2/4 6/1/4 10/1/4 9/2/4 +f 11/2/4 12/1/4 14/1/4 13/2/4 +f 2/2/5 1/1/5 6/1/5 5/2/5 +f 13/2/5 14/1/5 16/1/5 15/2/5 +f 15/2/4 16/1/4 18/1/4 17/2/4 +f 17/2/3 18/1/3 20/1/3 19/2/3 +f 19/2/4 20/1/4 22/1/4 21/2/4 +f 21/2/5 22/1/5 24/1/5 23/2/5 +f 23/2/4 24/1/4 26/1/4 25/2/4 +f 25/2/3 26/1/3 28/1/3 27/2/3 +f 8/5/6 27/2/6 28/1/6 7/6/6 +f 2/2/7 5/2/7 9/2/7 11/2/7 13/2/7 15/2/7 17/2/7 19/2/7 21/2/7 23/2/7 25/2/7 27/2/7 8/5/7 4/3/7 +f 3/4/8 7/6/8 28/1/8 26/1/8 24/1/8 22/1/8 20/1/8 18/1/8 16/1/8 14/1/8 12/1/8 10/1/8 6/1/8 1/1/8 diff --git a/Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj.import b/Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj.import new file mode 100644 index 0000000..d056d24 --- /dev/null +++ b/Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://cq4q2yqx0lh60" +path="res://.godot/imported/BalconyStage-StageCollide.obj-b0b82e7d2c64d78048fc63593b97e91e.mesh" + +[deps] + +files=["res://.godot/imported/BalconyStage-StageCollide.obj-b0b82e7d2c64d78048fc63593b97e91e.mesh"] + +source_file="res://Models/GenericRooms/BalconyStage/BalconyStage-StageCollide.obj" +dest_files=["res://.godot/imported/BalconyStage-StageCollide.obj-b0b82e7d2c64d78048fc63593b97e91e.mesh", "res://.godot/imported/BalconyStage-StageCollide.obj-b0b82e7d2c64d78048fc63593b97e91e.mesh"] + +[params] + +generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 +scale_mesh=Vector3(1, 1, 1) +offset_mesh=Vector3(0, 0, 0) +force_disable_mesh_compression=false diff --git a/Scenes/EditorStages/Balcony.tscn b/Scenes/EditorStages/BalconyStage.tscn similarity index 66% rename from Scenes/EditorStages/Balcony.tscn rename to Scenes/EditorStages/BalconyStage.tscn index 28d6dfc..9eb65bf 100644 --- a/Scenes/EditorStages/Balcony.tscn +++ b/Scenes/EditorStages/BalconyStage.tscn @@ -1,119 +1,108 @@ [gd_scene load_steps=12 format=3 uid="uid://d2g6chunc572s"] -[ext_resource type="PackedScene" uid="uid://d34xfaignny8j" path="res://Models/Animatronics/Cyberamics/Cyber Helen.glb" id="1_w3m2i"] -[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="2_t4ere"] -[ext_resource type="PackedScene" uid="uid://c5fgw7t45p7r6" path="res://Models/Animatronics/Cyberamics/Cyber Chuck.glb" id="4_ajb2q"] -[ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Animatronics/Cyberamics/Cyber Jasper.glb" id="4_t4ere"] -[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="5_38ovv"] -[ext_resource type="PackedScene" uid="uid://c6n4otfble154" path="res://Models/Stages/Balcony/BalconyStage.glb" id="5_45mf1"] -[ext_resource type="PackedScene" uid="uid://dmh5upwts8y11" path="res://Models/Animatronics/Cyberamics/Warblettes.glb" id="5_ocq6y"] -[ext_resource type="PackedScene" uid="uid://doxu4tb5jfoqp" path="res://Models/Animatronics/Cyberamics/Cyber Munch.glb" id="5_vcb31"] -[ext_resource type="PackedScene" uid="uid://bp5u5t6yu4ejy" path="res://Models/Animatronics/Cyberamics/Cyber Pasqually.glb" id="6_ajb2q"] -[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="6_j8jbd"] +[ext_resource type="PackedScene" uid="uid://doxu4tb5jfoqp" path="res://Models/Animatronics/Cyberamics/Cyber Munch.glb" id="1_kolfd"] +[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="2_g0dk4"] +[ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Animatronics/Cyberamics/Cyber Jasper.glb" id="3_k0t3r"] +[ext_resource type="PackedScene" uid="uid://c5fgw7t45p7r6" path="res://Models/Animatronics/Cyberamics/Cyber Chuck.glb" id="4_ek7x4"] +[ext_resource type="PackedScene" uid="uid://d34xfaignny8j" path="res://Models/Animatronics/Cyberamics/Cyber Helen.glb" id="5_e3w2v"] +[ext_resource type="PackedScene" uid="uid://bp5u5t6yu4ejy" path="res://Models/Animatronics/Cyberamics/Cyber Pasqually.glb" id="6_xxcrb"] +[ext_resource type="PackedScene" uid="uid://dmh5upwts8y11" path="res://Models/Animatronics/Cyberamics/Warblettes.glb" id="7_rjvjt"] +[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="8_dsl2r"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="9_pjnol"] +[ext_resource type="PackedScene" uid="uid://c6n4otfble154" path="res://Models/Stages/Balcony/BalconyStage.glb" id="10_msaqn"] [sub_resource type="Environment" id="Environment_w3m2i"] ambient_light_source = 1 [node name="Balcony" type="Node3D"] -[node name="Munch" parent="." instance=ExtResource("5_vcb31")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 3, -0.5) -script = ExtResource("5_38ovv") +[node name="Munch" parent="." instance=ExtResource("1_kolfd")] +transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, -3, 2, -0.25) +script = ExtResource("2_g0dk4") -[node name="Jasper" parent="." instance=ExtResource("4_t4ere")] -transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -2.2, 3, -0.5) -script = ExtResource("5_38ovv") +[node name="Jasper" parent="." instance=ExtResource("3_k0t3r")] +transform = Transform3D(0.519615, 0, 0.3, 0, 0.6, 0, -0.3, 0, 0.519615, -1.5, 2, -0.25) +script = ExtResource("2_g0dk4") -[node name="Chuck" parent="." instance=ExtResource("4_ajb2q")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -0.5) -script = ExtResource("5_38ovv") +[node name="Chuck" parent="." instance=ExtResource("4_ek7x4")] +transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 0, 2, 0) +script = ExtResource("2_g0dk4") -[node name="Helen" parent="." instance=ExtResource("1_w3m2i")] -transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 2.2, 3, -0.5) -script = ExtResource("5_38ovv") +[node name="Helen" parent="." instance=ExtResource("5_e3w2v")] +transform = Transform3D(0.519615, 0, -0.3, 0, 0.6, 0, 0.3, 0, 0.519615, 1.5, 2, -0.25) +script = ExtResource("2_g0dk4") -[node name="Pasqually" parent="." instance=ExtResource("6_ajb2q")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 3, -0.5) -script = ExtResource("5_38ovv") +[node name="Pasqually" parent="." instance=ExtResource("6_xxcrb")] +transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 3, 2, -0.25) +script = ExtResource("2_g0dk4") -[node name="Warblettes" parent="." instance=ExtResource("5_ocq6y")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -7.5, 3.6, -1) -script = ExtResource("2_t4ere") +[node name="Warblettes" parent="." instance=ExtResource("7_rjvjt")] +transform = Transform3D(-0.6, 0, 9.05975e-08, 0, 0.6, 0, -9.05975e-08, 0, -0.6, -5, 2.4, -0.6) +script = ExtResource("8_dsl2r") [node name="Spots" type="Node3D" parent="."] -script = ExtResource("6_j8jbd") +script = ExtResource("9_pjnol") [node name="Chuck" type="SpotLight3D" parent="Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 4, 5) visible = false light_color = Color(1, 0.960784, 0.85098, 1) -light_energy = 0.8 +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 8.0 spot_attenuation = -1.0 -spot_angle = 7.5 +spot_angle = 5.0 [node name="Helen" type="SpotLight3D" parent="Spots" groups=["lights"]] -transform = Transform3D(0.866025, 0.120961, -0.485148, 0, 0.970296, 0.241922, 0.5, -0.209511, 0.840301, -1, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 1.5, 4, 5) visible = false light_color = Color(1, 0.960784, 0.85098, 1) -light_energy = 0.8 +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 8.0 spot_attenuation = -1.0 -spot_angle = 7.5 +spot_angle = 5.0 [node name="Jasper" type="SpotLight3D" parent="Spots" groups=["lights"]] -transform = Transform3D(0.866025, -0.120961, 0.485148, 0, 0.970296, 0.241922, -0.5, -0.209511, 0.840301, 1, 5.5, 5) +transform = Transform3D(1, -5.67102e-08, 2.31578e-07, -9.98193e-10, 0.970296, 0.241922, -2.38419e-07, -0.241922, 0.970296, -1.5, 4, 5) visible = false light_color = Color(1, 0.960784, 0.85098, 1) -light_energy = 0.8 +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 8.0 spot_attenuation = -1.0 -spot_angle = 7.5 +spot_angle = 5.0 [node name="Munch" type="SpotLight3D" parent="Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -4.5, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -3, 4, 5) visible = false light_color = Color(1, 0.960784, 0.85098, 1) -light_energy = 0.8 +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 8.0 spot_attenuation = -1.0 -spot_angle = 7.5 +spot_angle = 5.0 [node name="Pasqually" type="SpotLight3D" parent="Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 4.5, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 3, 4, 5) visible = false light_color = Color(1, 0.960784, 0.85098, 1) -light_energy = 0.8 +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 8.0 spot_attenuation = -1.0 -spot_angle = 7.5 - -[node name="Warblettes" type="SpotLight3D" parent="Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.991445, 0.130526, 0, -0.130526, 0.991445, -7.5, 5.5, 5) -visible = false -light_color = Color(1, 0.960784, 0.85098, 1) -light_energy = 0.8 -shadow_enabled = true -shadow_bias = 0.1 -spot_range = 8.0 -spot_attenuation = -1.0 -spot_angle = 10.0 +spot_angle = 5.0 [node name="Color Spots" type="Node3D" parent="."] -script = ExtResource("6_j8jbd") +script = ExtResource("9_pjnol") [node name="Chuck" type="SpotLight3D" parent="Color Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 4, 5) visible = false light_color = Color(0.734652, 0.426335, 0.999996, 1) light_energy = 0.8 @@ -124,7 +113,7 @@ spot_attenuation = -1.0 spot_angle = 7.5 [node name="Chuck 2" type="SpotLight3D" parent="Color Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 4, 5) visible = false light_color = Color(1, 0, 0, 1) light_energy = 0.8 @@ -135,7 +124,7 @@ spot_attenuation = -1.0 spot_angle = 7.5 [node name="Helen" type="SpotLight3D" parent="Color Spots" groups=["lights"]] -transform = Transform3D(0.866025, 0.120961, -0.485148, 0, 0.970296, 0.241922, 0.5, -0.209511, 0.840301, -1, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 1.5, 4, 5) visible = false light_color = Color(0.734652, 0.426335, 0.999996, 1) light_energy = 0.8 @@ -146,7 +135,7 @@ spot_attenuation = -1.0 spot_angle = 7.5 [node name="Jasper" type="SpotLight3D" parent="Color Spots" groups=["lights"]] -transform = Transform3D(0.866025, -0.120961, 0.485148, 0, 0.970296, 0.241922, -0.5, -0.209511, 0.840301, 1, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -1.5, 4, 5) visible = false light_color = Color(0.734652, 0.426335, 0.999996, 1) light_energy = 0.8 @@ -157,7 +146,7 @@ spot_attenuation = -1.0 spot_angle = 7.5 [node name="Munch" type="SpotLight3D" parent="Color Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -4.5, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -3, 4, 5) visible = false light_color = Color(0.734652, 0.426335, 0.999996, 1) light_energy = 0.8 @@ -168,7 +157,7 @@ spot_attenuation = -1.0 spot_angle = 7.5 [node name="Pasqually" type="SpotLight3D" parent="Color Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 4.5, 5.5, 5) +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 3, 4, 5) visible = false light_color = Color(0.734652, 0.426335, 0.999996, 1) light_energy = 0.8 @@ -178,22 +167,11 @@ spot_range = 8.0 spot_attenuation = -1.0 spot_angle = 7.5 -[node name="Warblettes" type="SpotLight3D" parent="Color Spots" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.991445, 0.130526, 0, -0.130526, 0.991445, -7.5, 5.5, 5) -visible = false -light_color = Color(0.734652, 0.426335, 0.999996, 1) -light_energy = 0.8 -shadow_enabled = true -shadow_bias = 0.1 -spot_range = 8.0 -spot_attenuation = -1.0 -spot_angle = 10.0 - [node name="Valence" type="Node3D" parent="."] -script = ExtResource("6_j8jbd") +script = ExtResource("9_pjnol") [node name="L" type="SpotLight3D" parent="Valence" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -2.25, 5.5, 0.25) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -2, 3.5, 0.25) visible = false light_color = Color(1, 0.960784, 0.85098, 1) shadow_enabled = true @@ -202,7 +180,7 @@ spot_attenuation = -1.0 spot_angle = 15.0 [node name="L Center" type="SpotLight3D" parent="Valence" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -1.2, 5.5, 0.5) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -1, 3.5, 0.5) visible = false light_color = Color(1, 0.960784, 0.85098, 1) shadow_enabled = true @@ -211,7 +189,7 @@ spot_attenuation = -1.0 spot_angle = 15.0 [node name="Center" type="SpotLight3D" parent="Valence" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 5.5, 0.75) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3.5, 0.75) visible = false light_color = Color(1, 0.960784, 0.85098, 1) shadow_enabled = true @@ -220,7 +198,7 @@ spot_attenuation = -1.0 spot_angle = 15.0 [node name="R Center" type="SpotLight3D" parent="Valence" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 1.2, 5.5, 0.5) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 1, 3.5, 0.5) visible = false light_color = Color(1, 0.960784, 0.85098, 1) shadow_enabled = true @@ -229,7 +207,7 @@ spot_attenuation = -1.0 spot_angle = 15.0 [node name="R" type="SpotLight3D" parent="Valence" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 2.25, 5.5, 0.25) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 2, 3.5, 0.25) visible = false light_color = Color(1, 0.960784, 0.85098, 1) shadow_enabled = true @@ -238,10 +216,10 @@ spot_attenuation = -1.0 spot_angle = 15.0 [node name="Backdrop" type="Node3D" parent="."] -script = ExtResource("6_j8jbd") +script = ExtResource("9_pjnol") [node name="L Blue" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -2.5, 3, -1.1) +transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -2, 2.1, -0.9) visible = false light_color = Color(0, 0, 1, 1) shadow_enabled = true @@ -251,9 +229,9 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="L Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -2, 3, -1.1) +transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -1.5, 2.1, -0.9) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 @@ -261,7 +239,7 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="L Red" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -1.5, 3, -1.1) +transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -1, 2.1, -0.9) visible = false light_color = Color(1, 0, 0, 1) shadow_enabled = true @@ -271,7 +249,7 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="C Blue" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, -0.5, 3, -1.1) +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, -0.5, 2.1, -0.9) visible = false light_color = Color(0, 0, 1, 1) shadow_enabled = true @@ -281,9 +259,9 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="C Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0, 3, -1.1) +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0, 2.1, -0.9) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 @@ -291,7 +269,7 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="C Red" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0.5, 3, -1.1) +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0.5, 2.1, -0.9) visible = false light_color = Color(1, 0, 0, 1) shadow_enabled = true @@ -301,7 +279,7 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="R Blue" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 1.5, 3, -1.1) +transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 1, 2.1, -0.9) visible = false light_color = Color(0, 0, 1, 1) shadow_enabled = true @@ -311,9 +289,9 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="R Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 2, 3, -1.1) +transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 1.5, 2.1, -0.9) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 @@ -321,7 +299,7 @@ spot_angle = 30.0 spot_angle_attenuation = 0.15 [node name="R Red" type="SpotLight3D" parent="Backdrop" groups=["lights"]] -transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 2.5, 3, -1.1) +transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 2, 2.1, -0.9) visible = false light_color = Color(1, 0, 0, 1) shadow_enabled = true @@ -336,69 +314,55 @@ environment = SubResource("Environment_w3m2i") [node name="Room Lights" type="Node3D" parent="."] [node name="OmniLight3D" type="SpotLight3D" parent="Room Lights" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 4, 6, 4) +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 4, 4, 4) light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 7.0 spot_angle = 80.0 [node name="OmniLight3D2" type="SpotLight3D" parent="Room Lights" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, -4, 6, 4) +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, -4, 4, 4) light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 7.0 spot_angle = 80.0 [node name="OmniLight3D3" type="SpotLight3D" parent="Room Lights" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 6, 4) +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 4, 4) light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 shadow_enabled = true shadow_bias = 0.1 spot_range = 7.0 spot_angle = 80.0 -[node name="OmniLight3D4" type="SpotLight3D" parent="Room Lights" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 6.86654, 6, 4) -light_color = Color(1, 0.960784, 0.85098, 1) -shadow_enabled = true -shadow_bias = 0.1 -spot_range = 7.0 -spot_angle = 80.0 - -[node name="OmniLight3D5" type="SpotLight3D" parent="Room Lights" groups=["lights"]] -transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, -7, 6, 4) -light_color = Color(1, 0.960784, 0.85098, 1) -shadow_enabled = true -shadow_bias = 0.1 -spot_range = 7.0 -spot_angle = 80.0 - -[node name="BalconyStage" parent="." instance=ExtResource("5_45mf1")] -transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0) +[node name="BalconyStage" parent="." instance=ExtResource("10_msaqn")] [node name="Angle 1" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 4.75, 3) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3.25, 2.5) current = true fov = 60.0 [node name="Angle 2" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -4.5, 4.75, 3) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -3, 3.25, 2) fov = 60.0 [node name="Angle 3" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 4.5, 4.75, 3) +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 3, 3.25, 2) fov = 60.0 [node name="Angle 4" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 5, 3) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 3.25, 2) fov = 60.0 [node name="Angle 5" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.996195, 0.0871557, 0, -0.0871557, 0.996195, 0, 4.75, 6) +transform = Transform3D(1, 0, 0, 0, 0.984267, 0.17669, 0, -0.17669, 0.984267, 0, 3.25, 5) fov = 60.0 [node name="Angle 6" type="Camera3D" parent="."] -transform = Transform3D(0.965926, -0.0225576, 0.257834, 0, 0.996195, 0.0871557, -0.258819, -0.084186, 0.96225, 2, 4.75, 7) +transform = Transform3D(0.965017, -0.0450779, 0.258285, 0, 0.985109, 0.171929, -0.262189, -0.165914, 0.950647, 1.75, 3, 5) fov = 60.0 diff --git a/Scenes/EditorStages/CStage.tscn b/Scenes/EditorStages/CStage.tscn index 611fa57..a52cbb6 100644 --- a/Scenes/EditorStages/CStage.tscn +++ b/Scenes/EditorStages/CStage.tscn @@ -225,7 +225,7 @@ spot_angle_attenuation = 0.15 [node name="L Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] transform = Transform3D(0.866025, 0.433013, 0.25, -0.482963, 0.595035, 0.642402, 0.12941, -0.677077, 0.724445, -2, 4, -0.1) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 @@ -255,7 +255,7 @@ spot_angle_attenuation = 0.15 [node name="C Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 4, -0.1) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 @@ -285,7 +285,7 @@ spot_angle_attenuation = 0.15 [node name="R Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] transform = Transform3D(0.866025, -0.433013, -0.25, 0.482963, 0.595035, 0.642402, -0.12941, -0.677077, 0.724444, 2, 4, -0.1) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 diff --git a/Scenes/FreeRoam/Generic/GenericBalconyStage.tscn b/Scenes/FreeRoam/Generic/GenericBalconyStage.tscn new file mode 100644 index 0000000..7eac774 --- /dev/null +++ b/Scenes/FreeRoam/Generic/GenericBalconyStage.tscn @@ -0,0 +1,364 @@ +[gd_scene load_steps=15 format=3 uid="uid://bmc44cia2mq23"] + +[ext_resource type="PackedScene" uid="uid://doxu4tb5jfoqp" path="res://Models/Animatronics/Cyberamics/Cyber Munch.glb" id="1_dmiku"] +[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="2_nryqw"] +[ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Animatronics/Cyberamics/Cyber Jasper.glb" id="3_ocbd4"] +[ext_resource type="PackedScene" uid="uid://c5fgw7t45p7r6" path="res://Models/Animatronics/Cyberamics/Cyber Chuck.glb" id="4_cqmgv"] +[ext_resource type="PackedScene" uid="uid://d34xfaignny8j" path="res://Models/Animatronics/Cyberamics/Cyber Helen.glb" id="5_opy70"] +[ext_resource type="PackedScene" uid="uid://bp5u5t6yu4ejy" path="res://Models/Animatronics/Cyberamics/Cyber Pasqually.glb" id="6_w25am"] +[ext_resource type="PackedScene" uid="uid://dmh5upwts8y11" path="res://Models/Animatronics/Cyberamics/Warblettes.glb" id="7_nb7oe"] +[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="8_wh12y"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="9_s7uxr"] +[ext_resource type="PackedScene" uid="uid://c6n4otfble154" path="res://Models/Stages/Balcony/BalconyStage.glb" id="10_0faub"] +[ext_resource type="PackedScene" uid="uid://cdk6hwb4hi2wc" path="res://Scripts/Player/Player.tscn" id="11_kyqka"] + +[sub_resource type="Environment" id="Environment_w3m2i"] +ambient_light_source = 1 + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_hjn8u"] +data = PackedVector3Array(-3.8, 4, 0.4, -3.8, 1.3, 0.4, -3.8, 4, -1, -3.8, 4, -1, -3.8, 1.3, 0.4, -3.8, 1.3, -1, -3.8, 4, -1, -3.8, 1.3, -1, 3.8, 4, -1, 3.8, 4, -1, -3.8, 1.3, -1, 3.8, 1.3, -1, -2.4, 1.3, 0.7, -2.4, 4, 0.7, -2.1, 1.3, 0.4, -2.1, 1.3, 0.4, -2.4, 4, 0.7, -2.1, 4, 0.4, -3.5, 1.3, 0.7, -3.5, 4, 0.7, -2.4, 1.3, 0.7, -2.4, 1.3, 0.7, -3.5, 4, 0.7, -2.4, 4, 0.7, -2.1, 1.3, 0.4, -2.1, 4, 0.4, -0.9, 1.3, 0.4, -0.9, 1.3, 0.4, -2.1, 4, 0.4, -0.9, 4, 0.4, -3.8, 1.3, 0.4, -3.8, 4, 0.4, -3.5, 1.3, 0.7, -3.5, 1.3, 0.7, -3.8, 4, 0.4, -3.5, 4, 0.7, -0.9, 1.3, 0.4, -0.9, 4, 0.4, -0.6, 1.3, 0.7, -0.6, 1.3, 0.7, -0.9, 4, 0.4, -0.6, 4, 0.7, -0.6, 1.3, 0.7, -0.6, 4, 0.7, 0.6, 1.3, 0.7, 0.6, 1.3, 0.7, -0.6, 4, 0.7, 0.6, 4, 0.7, 0.6, 1.3, 0.7, 0.6, 4, 0.7, 0.9, 1.3, 0.4, 0.9, 1.3, 0.4, 0.6, 4, 0.7, 0.9, 4, 0.4, 0.9, 1.3, 0.4, 0.9, 4, 0.4, 2.1, 1.3, 0.4, 2.1, 1.3, 0.4, 0.9, 4, 0.4, 2.1, 4, 0.4, 2.1, 1.3, 0.4, 2.1, 4, 0.4, 2.4, 1.3, 0.7, 2.4, 1.3, 0.7, 2.1, 4, 0.4, 2.4, 4, 0.7, 2.4, 1.3, 0.7, 2.4, 4, 0.7, 3.5, 1.3, 0.7, 3.5, 1.3, 0.7, 2.4, 4, 0.7, 3.5, 4, 0.7, 3.5, 1.3, 0.7, 3.5, 4, 0.7, 3.8, 1.3, 0.4, 3.8, 1.3, 0.4, 3.5, 4, 0.7, 3.8, 4, 0.4, 3.8, 4, 0.4, 3.8, 4, -1, 3.8, 1.3, 0.4, 3.8, 1.3, 0.4, 3.8, 4, -1, 3.8, 1.3, -1, -3.5, 4, 0.7, -3.8, 4, 0.4, -2.4, 4, 0.7, -2.4, 4, 0.7, -3.8, 4, 0.4, -2.1, 4, 0.4, -2.1, 4, 0.4, -3.8, 4, 0.4, -0.9, 4, 0.4, -0.9, 4, 0.4, -3.8, 4, 0.4, -0.6, 4, 0.7, -0.6, 4, 0.7, -3.8, 4, 0.4, 0.6, 4, 0.7, 0.6, 4, 0.7, -3.8, 4, 0.4, 0.9, 4, 0.4, 0.9, 4, 0.4, -3.8, 4, 0.4, 2.1, 4, 0.4, 2.1, 4, 0.4, -3.8, 4, 0.4, 2.4, 4, 0.7, 2.4, 4, 0.7, -3.8, 4, 0.4, 3.5, 4, 0.7, 3.5, 4, 0.7, -3.8, 4, 0.4, 3.8, 4, 0.4, 3.8, 4, 0.4, -3.8, 4, 0.4, 3.8, 4, -1, 3.8, 4, -1, -3.8, 4, 0.4, -3.8, 4, -1, 3.8, 1.3, -1, -3.8, 1.3, -1, 3.8, 1.3, 0.4, 3.8, 1.3, 0.4, -3.8, 1.3, -1, 3.5, 1.3, 0.7, 3.5, 1.3, 0.7, -3.8, 1.3, -1, 2.4, 1.3, 0.7, 2.4, 1.3, 0.7, -3.8, 1.3, -1, 2.1, 1.3, 0.4, 2.1, 1.3, 0.4, -3.8, 1.3, -1, 0.9, 1.3, 0.4, 0.9, 1.3, 0.4, -3.8, 1.3, -1, 0.6, 1.3, 0.7, 0.6, 1.3, 0.7, -3.8, 1.3, -1, -0.6, 1.3, 0.7, -0.6, 1.3, 0.7, -3.8, 1.3, -1, -0.9, 1.3, 0.4, -0.9, 1.3, 0.4, -3.8, 1.3, -1, -2.1, 1.3, 0.4, -2.1, 1.3, 0.4, -3.8, 1.3, -1, -2.4, 1.3, 0.7, -2.4, 1.3, 0.7, -3.8, 1.3, -1, -3.5, 1.3, 0.7, -3.5, 1.3, 0.7, -3.8, 1.3, -1, -3.8, 1.3, 0.4) +backface_collision = true + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_8i5le"] +data = PackedVector3Array(-6.8, 4, 8, -6.8, 0, 8, -6.8, 4, 0, -6.8, 4, 0, -6.8, 0, 8, -6.8, 0, 0, -6.8, 4, 0, -6.8, 0, 0, -3.8, 4, 0, -3.8, 4, 0, -6.8, 0, 0, -3.8, 0, 0, 7.6, 0, 0, 7.6, 4, 0, 3.8, 0, 0, 3.8, 0, 0, 7.6, 4, 0, 3.8, 4, 0, 7.6, 0, 8, 7.6, 4, 8, 7.6, 0, 0, 7.6, 0, 0, 7.6, 4, 8, 7.6, 4, 0, -6.8, 0, 8, -6.8, 4, 8, 7.6, 0, 8, 7.6, 0, 8, -6.8, 4, 8, 7.6, 4, 8, 3.8, 0, 0, -3.8, 0, 0, 3.8, 1.3, 0, 3.8, 1.3, 0, -3.8, 0, 0, -3.8, 1.3, 0, -3.8, 0, 0, -6.8, 0, 0, 3.8, 0, 0, 7.6, 0, 8, -6.8, 0, 0, -6.8, 0, 8, 7.6, 0, 0, -6.8, 0, 0, 7.6, 0, 8, 3.8, 0, 0, -6.8, 0, 0, 7.6, 0, 0, 7.6, 4, 8, -6.8, 4, 8, 7.6, 4, 0, 7.6, 4, 0, -6.8, 4, 8, 3.8, 4, 0, 3.8, 4, 0, -6.8, 4, 8, -3.8, 4, 0, -3.8, 4, 0, -6.8, 4, 8, -6.8, 4, 0) +backface_collision = true + +[node name="Balcony" type="Node3D"] + +[node name="Munch" parent="." instance=ExtResource("1_dmiku")] +transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, -3, 2, -0.25) +script = ExtResource("2_nryqw") + +[node name="Jasper" parent="." instance=ExtResource("3_ocbd4")] +transform = Transform3D(0.519615, 0, 0.3, 0, 0.6, 0, -0.3, 0, 0.519615, -1.5, 2, -0.25) +script = ExtResource("2_nryqw") + +[node name="Chuck" parent="." instance=ExtResource("4_cqmgv")] +transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 0, 2, 0) +script = ExtResource("2_nryqw") + +[node name="Helen" parent="." instance=ExtResource("5_opy70")] +transform = Transform3D(0.519615, 0, -0.3, 0, 0.6, 0, 0.3, 0, 0.519615, 1.5, 2, -0.25) +script = ExtResource("2_nryqw") + +[node name="Pasqually" parent="." instance=ExtResource("6_w25am")] +transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 3, 2, -0.25) +script = ExtResource("2_nryqw") + +[node name="Warblettes" parent="." instance=ExtResource("7_nb7oe")] +transform = Transform3D(-0.6, 0, 9.05975e-08, 0, 0.6, 0, -9.05975e-08, 0, -0.6, -5, 2.4, -0.6) +script = ExtResource("8_wh12y") + +[node name="Spots" type="Node3D" parent="."] +script = ExtResource("9_s7uxr") + +[node name="Chuck" type="SpotLight3D" parent="Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 4, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 5.0 + +[node name="Helen" type="SpotLight3D" parent="Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 1.5, 4, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 5.0 + +[node name="Jasper" type="SpotLight3D" parent="Spots" groups=["lights"]] +transform = Transform3D(1, -5.67102e-08, 2.31578e-07, -9.98193e-10, 0.970296, 0.241922, -2.38419e-07, -0.241922, 0.970296, -1.5, 4, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 5.0 + +[node name="Munch" type="SpotLight3D" parent="Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -3, 4, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 5.0 + +[node name="Pasqually" type="SpotLight3D" parent="Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 3, 4, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 5.0 + +[node name="Color Spots" type="Node3D" parent="."] +script = ExtResource("9_s7uxr") + +[node name="Chuck" type="SpotLight3D" parent="Color Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 4, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Chuck 2" type="SpotLight3D" parent="Color Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 4, 5) +visible = false +light_color = Color(1, 0, 0, 1) +light_energy = 0.8 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Helen" type="SpotLight3D" parent="Color Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 1.5, 4, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Jasper" type="SpotLight3D" parent="Color Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -1.5, 4, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Munch" type="SpotLight3D" parent="Color Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -3, 4, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Pasqually" type="SpotLight3D" parent="Color Spots" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 3, 4, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Valence" type="Node3D" parent="."] +script = ExtResource("9_s7uxr") + +[node name="L" type="SpotLight3D" parent="Valence" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -2, 3.5, 0.25) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="L Center" type="SpotLight3D" parent="Valence" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -1, 3.5, 0.5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="Center" type="SpotLight3D" parent="Valence" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3.5, 0.75) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="R Center" type="SpotLight3D" parent="Valence" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 1, 3.5, 0.5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="R" type="SpotLight3D" parent="Valence" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 2, 3.5, 0.25) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="Backdrop" type="Node3D" parent="."] +script = ExtResource("9_s7uxr") + +[node name="L Blue" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -2, 2.1, -0.9) +visible = false +light_color = Color(0, 0, 1, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="L Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -1.5, 2.1, -0.9) +visible = false +light_color = Color(1, 0.501961, 0, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="L Red" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(0.866025, 0.433013, 0.25, -7.18775e-09, 0.5, -0.866025, -0.5, 0.75, 0.433013, -1, 2.1, -0.9) +visible = false +light_color = Color(1, 0, 0, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="C Blue" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, -0.5, 2.1, -0.9) +visible = false +light_color = Color(0, 0, 1, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="C Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0, 2.1, -0.9) +visible = false +light_color = Color(1, 0.501961, 0, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="C Red" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0.5, 2.1, -0.9) +visible = false +light_color = Color(1, 0, 0, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="R Blue" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 1, 2.1, -0.9) +visible = false +light_color = Color(0, 0, 1, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="R Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 1.5, 2.1, -0.9) +visible = false +light_color = Color(1, 0.501961, 0, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="R Red" type="SpotLight3D" parent="Backdrop" groups=["lights"]] +transform = Transform3D(0.866025, -0.433013, -0.25, 1.82764e-08, 0.5, -0.866025, 0.5, 0.75, 0.433013, 2, 2.1, -0.9) +visible = false +light_color = Color(1, 0, 0, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_w3m2i") + +[node name="Room Lights" type="Node3D" parent="."] + +[node name="OmniLight3D" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 4, 4, 4) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 7.0 +spot_angle = 80.0 + +[node name="OmniLight3D2" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, -4, 4, 4) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 7.0 +spot_angle = 80.0 + +[node name="OmniLight3D3" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 4, 4) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 7.0 +spot_angle = 80.0 + +[node name="BalconyStage" parent="." instance=ExtResource("10_0faub")] + +[node name="Player" parent="." instance=ExtResource("11_kyqka")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3) +current_map = "Generic Balcony Stage" + +[node name="StaticBody3D" type="StaticBody3D" parent="."] + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_hjn8u") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_8i5le") diff --git a/Scenes/FreeRoam/Generic/GenericCStage.tscn b/Scenes/FreeRoam/Generic/GenericCStage.tscn index ceb778c..c5875ce 100644 --- a/Scenes/FreeRoam/Generic/GenericCStage.tscn +++ b/Scenes/FreeRoam/Generic/GenericCStage.tscn @@ -234,7 +234,7 @@ spot_angle_attenuation = 0.15 [node name="L Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] transform = Transform3D(0.866025, 0.433013, 0.25, -0.482963, 0.595035, 0.642402, 0.12941, -0.677077, 0.724445, -2, 4, -0.1) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 @@ -264,7 +264,7 @@ spot_angle_attenuation = 0.15 [node name="C Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 4, -0.1) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 @@ -294,7 +294,7 @@ spot_angle_attenuation = 0.15 [node name="R Amber" type="SpotLight3D" parent="Backdrop" groups=["lights"]] transform = Transform3D(0.866025, -0.433013, -0.25, 0.482963, 0.595035, 0.642402, -0.12941, -0.677077, 0.724444, 2, 4, -0.1) visible = false -light_color = Color(1, 0.74902, 0, 1) +light_color = Color(1, 0.501961, 0, 1) shadow_enabled = true shadow_bias = 0.1 spot_attenuation = 2.0 diff --git a/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn b/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn index 12d4ffc..91e0c6a 100644 --- a/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn +++ b/Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn @@ -21,6 +21,7 @@ backface_collision = true [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_8h3a3"] data = PackedVector3Array(-7, 4.5, 0, -7, 0, 0, -7, 4.5, -1, -7, 4.5, -1, -7, 0, 0, -7, 0, -1, -7, 4.5, -1, -7, 0, -1, 7, 4.5, -1, 7, 4.5, -1, -7, 0, -1, 7, 0, -1, 7, 4.5, -1, 7, 0, -1, 7, 4.5, 0, 7, 4.5, 0, 7, 0, -1, 7, 0, 0, 7, 4.5, 0, 7, 0, 0, -7, 4.5, 0, -7, 4.5, 0, 7, 0, 0, -7, 0, 0, 7, 0, -1, -7, 0, -1, 7, 0, 0, 7, 0, 0, -7, 0, -1, -7, 0, 0, -7, 4.5, -1, 7, 4.5, -1, -7, 4.5, 0, -7, 4.5, 0, 7, 4.5, -1, 7, 4.5, 0, -1.2, 1.9, 1.2, -1.2, 0, 1.2, -1.2, 1.9, 0, -1.2, 1.9, 0, -1.2, 0, 1.2, -1.2, 0, 0, -1.2, 1.9, 0, -1.2, 0, 0, 3.1998, 1.9, 0, 3.1998, 1.9, 0, -1.2, 0, 0, 3.1998, 0, 0, 3.1998, 1.9, 0, 3.1998, 0, 0, 3.1998, 1.9, 1.2, 3.1998, 1.9, 1.2, 3.1998, 0, 0, 3.1998, 0, 1.2, 3.1998, 1.9, 1.2, 3.1998, 0, 1.2, -1.2, 1.9, 1.2, -1.2, 1.9, 1.2, 3.1998, 0, 1.2, -1.2, 0, 1.2, 3.1998, 0, 0, -1.2, 0, 0, 3.1998, 0, 1.2, 3.1998, 0, 1.2, -1.2, 0, 0, -1.2, 0, 1.2, -1.2, 1.9, 0, 3.1998, 1.9, 0, -1.2, 1.9, 1.2, -1.2, 1.9, 1.2, 3.1998, 1.9, 0, 3.1998, 1.9, 1.2, 0.0999, 1.3, 1.7, 0.0999, 0, 1.7, 0.0999, 1.3, 1.2, 0.0999, 1.3, 1.2, 0.0999, 0, 1.7, 0.0999, 0, 1.2, 0.0999, 1.3, 1.2, 0.0999, 0, 1.2, 1.8999, 1.3, 1.2, 1.8999, 1.3, 1.2, 0.0999, 0, 1.2, 1.8999, 0, 1.2, 1.8999, 1.3, 1.2, 1.8999, 0, 1.2, 1.8999, 1.3, 1.7, 1.8999, 1.3, 1.7, 1.8999, 0, 1.2, 1.8999, 0, 1.7, 1.8999, 1.3, 1.7, 1.8999, 0, 1.7, 0.0999, 1.3, 1.7, 0.0999, 1.3, 1.7, 1.8999, 0, 1.7, 0.0999, 0, 1.7, 1.8999, 0, 1.2, 0.0999, 0, 1.2, 1.8999, 0, 1.7, 1.8999, 0, 1.7, 0.0999, 0, 1.2, 0.0999, 0, 1.7, 0.0999, 1.3, 1.2, 1.8999, 1.3, 1.2, 0.0999, 1.3, 1.7, 0.0999, 1.3, 1.7, 1.8999, 1.3, 1.2, 1.8999, 1.3, 1.7, 5.3, 4, 1, 5.3, 0, 1, 3.7999, 4, -0.5, 3.7999, 4, -0.5, 5.3, 0, 1, 3.7999, 0, -0.5, 3.7999, 4, -0.5, 3.7999, 0, -0.5, 5.7998, 4, -0.5, 5.7998, 4, -0.5, 3.7999, 0, -0.5, 5.7998, 0, -0.5, 5.7998, 4, -0.5, 5.7998, 0, -0.5, 5.7998, 4, 1, 5.7998, 4, 1, 5.7998, 0, -0.5, 5.7998, 0, 1, 5.7998, 4, 1, 5.7998, 0, 1, 5.3, 4, 1, 5.3, 4, 1, 5.7998, 0, 1, 5.3, 0, 1, 5.7998, 0, -0.5, 3.7999, 0, -0.5, 5.7998, 0, 1, 5.7998, 0, 1, 3.7999, 0, -0.5, 5.3, 0, 1, 3.7999, 4, -0.5, 5.7998, 4, -0.5, 5.3, 4, 1, 5.3, 4, 1, 5.7998, 4, -0.5, 5.7998, 4, 1, 3.0998, 1.7999, 1.9, 3.0998, 0, 1.9, 3.0998, 1.7999, 0.6, 3.0998, 1.7999, 0.6, 3.0998, 0, 1.9, 3.0998, 0, 0.6, 3.0998, 1.7999, 0.6, 3.0998, 0, 0.6, 4.8998, 1.7999, 0.6, 4.8998, 1.7999, 0.6, 3.0998, 0, 0.6, 4.8998, 0, 0.6, 4.8998, 1.7999, 0.6, 4.8998, 0, 0.6, 4.8998, 1.7999, 1.9, 4.8998, 1.7999, 1.9, 4.8998, 0, 0.6, 4.8998, 0, 1.9, 4.8998, 1.7999, 1.9, 4.8998, 0, 1.9, 3.0998, 1.7999, 1.9, 3.0998, 1.7999, 1.9, 4.8998, 0, 1.9, 3.0998, 0, 1.9, 4.8998, 0, 0.6, 3.0998, 0, 0.6, 4.8998, 0, 1.9, 4.8998, 0, 1.9, 3.0998, 0, 0.6, 3.0998, 0, 1.9, 3.0998, 1.7999, 0.6, 4.8998, 1.7999, 0.6, 3.0998, 1.7999, 1.9, 3.0998, 1.7999, 1.9, 4.8998, 1.7999, 0.6, 4.8998, 1.7999, 1.9, -5.8001, 2.6, 0.7, -5.8001, 0, 0.7, -5.8001, 2.6, 0, -5.8001, 2.6, 0, -5.8001, 0, 0.7, -5.8001, 0, 0, -5.8001, 2.6, 0, -5.8001, 0, 0, -4.2, 2.6, 0, -4.2, 2.6, 0, -5.8001, 0, 0, -4.2, 0, 0, -4.2, 2.6, 0, -4.2, 0, 0, -4.2, 2.6, 0.7, -4.2, 2.6, 0.7, -4.2, 0, 0, -4.2, 0, 0.7, -4.2, 2.6, 0.7, -4.2, 0, 0.7, -5.8001, 2.6, 0.7, -5.8001, 2.6, 0.7, -4.2, 0, 0.7, -5.8001, 0, 0.7, -4.2, 0, 0, -5.8001, 0, 0, -4.2, 0, 0.7, -4.2, 0, 0.7, -5.8001, 0, 0, -5.8001, 0, 0.7, -5.8001, 2.6, 0, -4.2, 2.6, 0, -5.8001, 2.6, 0.7, -5.8001, 2.6, 0.7, -4.2, 2.6, 0, -4.2, 2.6, 0.7, -5.8001, 0.7, 2, -5.8001, 0, 2, -5.8001, 0.7, 0.7, -5.8001, 0.7, 0.7, -5.8001, 0, 2, -5.8001, 0, 0.7, -5.8001, 0.7, 0.7, -5.8001, 0, 0.7, -4.2, 0.7, 0.7, -4.2, 0.7, 0.7, -5.8001, 0, 0.7, -4.2, 0, 0.7, -4.2, 0.7, 0.7, -4.2, 0, 0.7, -4.2, 0.7, 2, -4.2, 0.7, 2, -4.2, 0, 0.7, -4.2, 0, 2, -4.2, 0.7, 2, -4.2, 0, 2, -5.8001, 0.7, 2, -5.8001, 0.7, 2, -4.2, 0, 2, -5.8001, 0, 2, -4.2, 0, 0.7, -5.8001, 0, 0.7, -4.2, 0, 2, -4.2, 0, 2, -5.8001, 0, 0.7, -5.8001, 0, 2, -5.8001, 0.7, 0.7, -4.2, 0.7, 0.7, -5.8001, 0.7, 2, -5.8001, 0.7, 2, -4.2, 0.7, 0.7, -4.2, 0.7, 2, -6.6001, 4.1999, 0.8, -6.6001, 1.1, 0.8, -6.6001, 4.1999, 0.7, -6.6001, 4.1999, 0.7, -6.6001, 1.1, 0.8, -6.6001, 1.1, 0.7, -6.6001, 4.1999, 0.7, -6.6001, 1.1, 0.7, -3.4002, 4.1999, 0.7, -3.4002, 4.1999, 0.7, -6.6001, 1.1, 0.7, -3.4002, 1.1, 0.7, -3.4002, 4.1999, 0.7, -3.4002, 1.1, 0.7, -3.4002, 4.1999, 0.8, -3.4002, 4.1999, 0.8, -3.4002, 1.1, 0.7, -3.4002, 1.1, 0.8, -3.4002, 4.1999, 0.8, -3.4002, 1.1, 0.8, -6.6001, 4.1999, 0.8, -6.6001, 4.1999, 0.8, -3.4002, 1.1, 0.8, -6.6001, 1.1, 0.8, -3.4002, 1.1, 0.7, -6.6001, 1.1, 0.7, -3.4002, 1.1, 0.8, -3.4002, 1.1, 0.8, -6.6001, 1.1, 0.7, -6.6001, 1.1, 0.8, -6.6001, 4.1999, 0.7, -3.4002, 4.1999, 0.7, -6.6001, 4.1999, 0.8, -6.6001, 4.1999, 0.8, -3.4002, 4.1999, 0.7, -3.4002, 4.1999, 0.8) +backface_collision = true [node name="ProtoRoadStage" type="Node3D"] diff --git a/Scenes/GUI/MainMenu.tscn b/Scenes/GUI/MainMenu.tscn index e8b2386..1c3ebaa 100644 --- a/Scenes/GUI/MainMenu.tscn +++ b/Scenes/GUI/MainMenu.tscn @@ -239,32 +239,34 @@ offset_bottom = 152.0 grow_horizontal = 2 grow_vertical = 2 selected = 1 -item_count = 11 +item_count = 12 popup/item_0/text = "Generic Showrooms" popup/item_0/id = 0 popup/item_0/separator = true -popup/item_1/text = "Generic C-Stage" +popup/item_1/text = "Generic Balcony Stage" popup/item_1/id = 1 -popup/item_2/text = "Generic Prototype Road Stage" +popup/item_2/text = "Generic C-Stage" popup/item_2/id = 1 -popup/item_3/text = "Generic 2-Stage" +popup/item_3/text = "Generic Prototype Road Stage" popup/item_3/id = 1 -popup/item_4/text = "Generic Mini Unit 1-Stage" +popup/item_4/text = "Generic 2-Stage" popup/item_4/id = 1 -popup/item_5/text = "Generic 1-Stage w 2-Stage Props" +popup/item_5/text = "Generic Mini Unit 1-Stage" popup/item_5/id = 1 -popup/item_6/text = "Generic 1-Stage" +popup/item_6/text = "Generic 1-Stage w 2-Stage Props" popup/item_6/id = 1 -popup/item_7/text = "Generic Turntable 1-Stage" -popup/item_7/id = 2 -popup/item_8/text = "Generic Cyberamic 3-Stage" +popup/item_7/text = "Generic 1-Stage" +popup/item_7/id = 1 +popup/item_8/text = "Generic Turntable 1-Stage" popup/item_8/id = 2 -popup/item_9/text = "Locations" +popup/item_9/text = "Generic Cyberamic 3-Stage" popup/item_9/id = 2 -popup/item_9/separator = true -popup/item_10/text = "Modded Maps" -popup/item_10/id = 3 +popup/item_10/text = "Locations" +popup/item_10/id = 2 popup/item_10/separator = true +popup/item_11/text = "Modded Maps" +popup/item_11/id = 3 +popup/item_11/separator = true [node name="MapThumbnail" type="TextureRect" parent="FreeRoamChooseScreen/DialogPanel"] layout_mode = 1 diff --git a/Scripts/Configs/FreeRoamMaps.gd b/Scripts/Configs/FreeRoamMaps.gd index fdf620d..66a4aaf 100644 --- a/Scripts/Configs/FreeRoamMaps.gd +++ b/Scripts/Configs/FreeRoamMaps.gd @@ -64,6 +64,14 @@ var GenericCStage = { "stage": Stages.CStage, } +var GenericBalconyStage = { + "name": "Generic Balcony Stage", + "scene": "res://Scenes/FreeRoam/Generic/GenericBalconyStage.tscn", + "description": "A generic showroom featuring the Balcony Stage.\nInstalled from 1980-1986.", + "thumbnail": "res://UI/FreeroamThumbnails/GenericBalconyStage.png", + "stage": Stages.BalconyStage, +} + var MapIndex = { "Generic 1-Stage": Generic1Stage, "Generic 2-Stage": Generic2Stage, @@ -72,5 +80,6 @@ var MapIndex = { "Generic 1-Stage w 2-Stage Props": Generic12Stage, "Generic Cyberamic 3-Stage": GenericCyber3Stage, "Generic Prototype Road Stage": GenericProtoRoadStage, - "Generic C-Stage": GenericCStage + "Generic C-Stage": GenericCStage, + "Generic Balcony Stage": GenericBalconyStage } diff --git a/Scripts/Configs/Stages.gd b/Scripts/Configs/Stages.gd index f4f2e91..8ed27b3 100644 --- a/Scripts/Configs/Stages.gd +++ b/Scripts/Configs/Stages.gd @@ -72,7 +72,7 @@ var ChuckEsCorner = { var BalconyStage = { "bits": 69, - "scene": "res://Scenes/EditorStages/Balcony.tscn", + "scene": "res://Scenes/EditorStages/BalconyStage.tscn", "scene_ref_base": "SubViewport/Balcony/", "camera_count": 6, diff --git a/UI/FreeroamThumbnails/GenericBalconyStage.png b/UI/FreeroamThumbnails/GenericBalconyStage.png new file mode 100644 index 0000000000000000000000000000000000000000..6fd7f1c558732d7f93547bf64e2076344632a603 GIT binary patch literal 65179 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 h-x93t