From 3395fe72d4cf0ec2688d5c5f2e7c5b01b0e853c9 Mon Sep 17 00:00:00 2001 From: Persephone Bubblegum-Holiday Date: Tue, 19 Aug 2025 12:52:08 -0700 Subject: [PATCH] proto road stage freeroam map --- .../ProtoRoadStage-RoomCollide.obj | 42 +++ .../ProtoRoadStage-RoomCollide.obj.import | 25 ++ .../ProtoRoadStage-StageCollide.obj | 137 +++++++ .../ProtoRoadStage-StageCollide.obj.import | 25 ++ .../{RoadStage.glb => ProtoRoadStage.glb} | Bin 329648 -> 329608 bytes ...e.glb.import => ProtoRoadStage.glb.import} | 8 +- ...arpet.png => ProtoRoadStage_90sCarpet.png} | Bin ...rt => ProtoRoadStage_90sCarpet.png.import} | 10 +- ...Stage_drum.png => ProtoRoadStage_drum.png} | Bin ....import => ProtoRoadStage_drum.png.import} | 10 +- ...ont.png => ProtoRoadStage_organ_front.png} | Bin ... => ProtoRoadStage_organ_front.png.import} | 10 +- ...ually.png => ProtoRoadStage_pasqually.png} | Bin ...rt => ProtoRoadStage_pasqually.png.import} | 10 +- ...Stage_road.png => ProtoRoadStage_road.png} | Bin ....import => ProtoRoadStage_road.png.import} | 10 +- Scenes/EditorStages/ProtoRoadStage.tscn | 8 +- .../Generic/GenericProtoRoadStage.tscn | 350 ++++++++++++++++++ Scenes/GUI/MainMenu.tscn | 26 +- Scripts/Configs/FreeRoamMaps.gd | 11 +- 20 files changed, 636 insertions(+), 46 deletions(-) create mode 100644 Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj create mode 100644 Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj.import create mode 100644 Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj create mode 100644 Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj.import rename Models/Stages/ProtoRoadStage/{RoadStage.glb => ProtoRoadStage.glb} (81%) rename Models/Stages/ProtoRoadStage/{RoadStage.glb.import => ProtoRoadStage.glb.import} (71%) rename Models/Stages/ProtoRoadStage/{RoadStage_90sCarpet.png => ProtoRoadStage_90sCarpet.png} (100%) rename Models/Stages/ProtoRoadStage/{RoadStage_90sCarpet.png.import => ProtoRoadStage_90sCarpet.png.import} (55%) rename Models/Stages/ProtoRoadStage/{RoadStage_drum.png => ProtoRoadStage_drum.png} (100%) rename Models/Stages/ProtoRoadStage/{RoadStage_drum.png.import => ProtoRoadStage_drum.png.import} (56%) rename Models/Stages/ProtoRoadStage/{RoadStage_organ_front.png => ProtoRoadStage_organ_front.png} (100%) rename Models/Stages/ProtoRoadStage/{RoadStage_organ_front.png.import => ProtoRoadStage_organ_front.png.import} (54%) rename Models/Stages/ProtoRoadStage/{RoadStage_pasqually.png => ProtoRoadStage_pasqually.png} (100%) rename Models/Stages/ProtoRoadStage/{RoadStage_pasqually.png.import => ProtoRoadStage_pasqually.png.import} (55%) rename Models/Stages/ProtoRoadStage/{RoadStage_road.png => ProtoRoadStage_road.png} (100%) rename Models/Stages/ProtoRoadStage/{RoadStage_road.png.import => ProtoRoadStage_road.png.import} (56%) create mode 100644 Scenes/FreeRoam/Generic/GenericProtoRoadStage.tscn diff --git a/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj new file mode 100644 index 0000000..542a12d --- /dev/null +++ b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj @@ -0,0 +1,42 @@ +# Blender 4.5.1 LTS +# www.blender.org +o RoomCollide +v -11.000000 0.000000 10.000000 +v 11.000000 0.000000 10.000000 +v -11.000000 0.000000 -1.000000 +v 11.000000 0.000000 -1.000000 +v -11.000000 4.800000 10.000000 +v 11.000000 4.800000 10.000000 +v -11.000000 4.800000 -1.000000 +v 11.000000 4.800000 -1.000000 +v -11.000000 0.000000 1.000000 +v -11.000000 4.800000 1.000000 +v -7.000000 0.000000 1.000000 +v -7.000000 4.800000 1.000000 +v -7.000000 0.000000 -1.000000 +v -7.000000 4.800000 -1.000000 +v 9.000000 0.000000 -1.000000 +v 9.000000 4.800000 -1.000000 +v 11.000000 0.000000 1.000000 +v 11.000000 4.800000 1.000000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.7071 -0.0000 0.7071 +vn -1.0000 -0.0000 -0.0000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +s 0 +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 2/2/2 1/1/2 5/1/2 6/2/2 +f 6/2/3 5/1/3 7/1/3 8/2/3 +f 5/1/4 1/1/4 9/1/4 10/1/4 +f 10/1/5 9/1/5 11/1/5 12/1/5 +f 12/1/4 11/1/4 13/1/4 14/1/4 +f 14/1/5 13/1/5 15/1/5 16/1/5 +f 16/1/6 15/1/6 17/1/6 18/1/6 +f 6/2/7 18/1/7 17/1/7 2/2/7 diff --git a/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj.import b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj.import new file mode 100644 index 0000000..d64ac38 --- /dev/null +++ b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://ck3xmcf1xgqqs" +path="res://.godot/imported/ProtoRoadStage-RoomCollide.obj-cee54a23990646cc7029e31349cb5a55.mesh" + +[deps] + +files=["res://.godot/imported/ProtoRoadStage-RoomCollide.obj-cee54a23990646cc7029e31349cb5a55.mesh"] + +source_file="res://Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-RoomCollide.obj" +dest_files=["res://.godot/imported/ProtoRoadStage-RoomCollide.obj-cee54a23990646cc7029e31349cb5a55.mesh", "res://.godot/imported/ProtoRoadStage-RoomCollide.obj-cee54a23990646cc7029e31349cb5a55.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/ProtoRoadStage/ProtoRoadStage-StageCollide.obj b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj new file mode 100644 index 0000000..1c29de3 --- /dev/null +++ b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj @@ -0,0 +1,137 @@ +# Blender 4.5.1 LTS +# www.blender.org +o StageCollide +v -7.000000 0.000000 0.000000 +v -7.000000 4.500000 0.000000 +v -7.000000 0.000000 -1.000000 +v -7.000000 4.500000 -1.000000 +v 7.000000 0.000000 0.000000 +v 7.000000 4.500000 0.000000 +v 7.000000 0.000000 -1.000000 +v 7.000000 4.500000 -1.000000 +v -1.200000 0.000000 1.200000 +v -1.200000 1.900000 1.200000 +v -1.200000 0.000000 0.000000 +v -1.200000 1.900000 0.000000 +v 3.200000 0.000000 1.200000 +v 3.200000 1.900000 1.200000 +v 3.200000 0.000000 0.000000 +v 3.200000 1.900000 0.000000 +v 0.100000 0.000000 1.700000 +v 0.100000 1.300000 1.700000 +v 0.100000 0.000000 1.200000 +v 0.100000 1.300000 1.200000 +v 1.900000 0.000000 1.700000 +v 1.900000 1.300000 1.700000 +v 1.900000 0.000000 1.200000 +v 1.900000 1.300000 1.200000 +v 5.300001 0.000000 1.000000 +v 5.300001 4.000000 1.000000 +v 3.800000 0.000000 -0.500000 +v 3.800000 4.000000 -0.500000 +v 5.800000 0.000000 1.000000 +v 5.800000 4.000000 1.000000 +v 5.800000 0.000000 -0.500000 +v 5.800000 4.000000 -0.500000 +v 3.100000 0.000000 1.900000 +v 3.100000 1.800000 1.900000 +v 3.100000 0.000000 0.600000 +v 3.100000 1.800000 0.600000 +v 4.900000 0.000000 1.900000 +v 4.900000 1.800000 1.900000 +v 4.900000 0.000000 0.600000 +v 4.900000 1.800000 0.600000 +v -5.800000 0.000000 0.700000 +v -5.800000 2.600000 0.700000 +v -5.800000 0.000000 0.000000 +v -5.800000 2.600000 0.000000 +v -4.200000 0.000000 0.700000 +v -4.200000 2.600000 0.700000 +v -4.200000 0.000000 0.000000 +v -4.200000 2.600000 0.000000 +v -5.800000 0.000000 2.000000 +v -5.800000 0.700000 2.000000 +v -5.800000 0.000000 0.700000 +v -5.800000 0.700000 0.700000 +v -4.200000 0.000000 2.000000 +v -4.200000 0.700000 2.000000 +v -4.200000 0.000000 0.700000 +v -4.200000 0.700000 0.700000 +v -6.600000 1.100000 0.800000 +v -6.600000 4.200000 0.800000 +v -6.600000 1.100000 0.700000 +v -6.600000 4.200000 0.700000 +v -3.400001 1.100000 0.800000 +v -3.400001 4.200000 0.800000 +v -3.400001 1.100000 0.700000 +v -3.400001 4.200000 0.700000 +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 +vn -0.7071 -0.0000 0.7071 +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.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +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 7/6/3 8/5/3 6/7/3 5/8/3 +f 5/8/4 6/7/4 2/9/4 1/10/4 +f 3/11/5 7/6/5 5/8/5 1/12/5 +f 8/5/6 4/13/6 2/14/6 6/7/6 +f 9/1/1 10/2/1 12/3/1 11/4/1 +f 11/4/2 12/3/2 16/5/2 15/6/2 +f 15/6/3 16/5/3 14/7/3 13/8/3 +f 13/8/4 14/7/4 10/9/4 9/10/4 +f 11/11/5 15/6/5 13/8/5 9/12/5 +f 16/5/6 12/13/6 10/14/6 14/7/6 +f 17/1/1 18/2/1 20/3/1 19/4/1 +f 19/4/2 20/3/2 24/5/2 23/6/2 +f 23/6/3 24/5/3 22/7/3 21/8/3 +f 21/8/4 22/7/4 18/9/4 17/10/4 +f 19/11/5 23/6/5 21/8/5 17/12/5 +f 24/5/6 20/13/6 18/14/6 22/7/6 +f 25/1/7 26/2/7 28/3/7 27/4/7 +f 27/4/2 28/3/2 32/5/2 31/6/2 +f 31/6/3 32/5/3 30/7/3 29/8/3 +f 29/8/4 30/7/4 26/9/4 25/10/4 +f 27/11/5 31/6/5 29/8/5 25/12/5 +f 32/5/6 28/13/6 26/14/6 30/7/6 +f 33/1/1 34/2/1 36/3/1 35/4/1 +f 35/4/2 36/3/2 40/5/2 39/6/2 +f 39/6/3 40/5/3 38/7/3 37/8/3 +f 37/8/4 38/7/4 34/9/4 33/10/4 +f 35/11/5 39/6/5 37/8/5 33/12/5 +f 40/5/6 36/13/6 34/14/6 38/7/6 +f 41/1/1 42/2/1 44/3/1 43/4/1 +f 43/4/2 44/3/2 48/5/2 47/6/2 +f 47/6/3 48/5/3 46/7/3 45/8/3 +f 45/8/4 46/7/4 42/9/4 41/10/4 +f 43/11/5 47/6/5 45/8/5 41/12/5 +f 48/5/6 44/13/6 42/14/6 46/7/6 +f 49/1/1 50/2/1 52/3/1 51/4/1 +f 51/4/2 52/3/2 56/5/2 55/6/2 +f 55/6/3 56/5/3 54/7/3 53/8/3 +f 53/8/4 54/7/4 50/9/4 49/10/4 +f 51/11/5 55/6/5 53/8/5 49/12/5 +f 56/5/6 52/13/6 50/14/6 54/7/6 +f 57/1/1 58/2/1 60/3/1 59/4/1 +f 59/4/2 60/3/2 64/5/2 63/6/2 +f 63/6/3 64/5/3 62/7/3 61/8/3 +f 61/8/4 62/7/4 58/9/4 57/10/4 +f 59/11/5 63/6/5 61/8/5 57/12/5 +f 64/5/6 60/13/6 58/14/6 62/7/6 diff --git a/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj.import b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj.import new file mode 100644 index 0000000..aa2d512 --- /dev/null +++ b/Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://878yyypjun0r" +path="res://.godot/imported/ProtoRoadStage-StageCollide.obj-ff8b09f80f5a4062bc0e6ad867ae4754.mesh" + +[deps] + +files=["res://.godot/imported/ProtoRoadStage-StageCollide.obj-ff8b09f80f5a4062bc0e6ad867ae4754.mesh"] + +source_file="res://Models/GenericRooms/ProtoRoadStage/ProtoRoadStage-StageCollide.obj" +dest_files=["res://.godot/imported/ProtoRoadStage-StageCollide.obj-ff8b09f80f5a4062bc0e6ad867ae4754.mesh", "res://.godot/imported/ProtoRoadStage-StageCollide.obj-ff8b09f80f5a4062bc0e6ad867ae4754.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/Stages/ProtoRoadStage/RoadStage.glb b/Models/Stages/ProtoRoadStage/ProtoRoadStage.glb similarity index 81% rename from Models/Stages/ProtoRoadStage/RoadStage.glb rename to Models/Stages/ProtoRoadStage/ProtoRoadStage.glb index 124389fdb2f39b05c694d82fec415d0e3cc2048e..3be229393b158fc12f6f5e98747148ca2f4aa0b6 100644 GIT binary patch delta 6196 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 KnqL18AN*f@FTY&? delta 6341 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 SoZ