diff --git a/Models/Animatronics/3-Stage/3stBuilding.glb b/Models/Animatronics/3-Stage/3stBuilding.glb new file mode 100644 index 0000000..97d44bb Binary files /dev/null and b/Models/Animatronics/3-Stage/3stBuilding.glb differ diff --git a/Models/Animatronics/3-Stage/3stBuilding.glb.import b/Models/Animatronics/3-Stage/3stBuilding.glb.import new file mode 100644 index 0000000..8a9bba4 --- /dev/null +++ b/Models/Animatronics/3-Stage/3stBuilding.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bccho13aa6akj" +path="res://.godot/imported/3stBuilding.glb-938679dc4601b2e58750909f285d306e.scn" + +[deps] + +source_file="res://Models/Animatronics/3-Stage/3stBuilding.glb" +dest_files=["res://.godot/imported/3stBuilding.glb-938679dc4601b2e58750909f285d306e.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/Models/Stages/3-Stage/3Stage.glb b/Models/Stages/3-Stage/3Stage.glb new file mode 100644 index 0000000..1b486bd Binary files /dev/null and b/Models/Stages/3-Stage/3Stage.glb differ diff --git a/Models/Stages/3-Stage/3Stage.glb.import b/Models/Stages/3-Stage/3Stage.glb.import new file mode 100644 index 0000000..4d0653c --- /dev/null +++ b/Models/Stages/3-Stage/3Stage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cy35b87ip330v" +path="res://.godot/imported/3Stage.glb-62297bded378123a3720ebf976d769d4.scn" + +[deps] + +source_file="res://Models/Stages/3-Stage/3Stage.glb" +dest_files=["res://.godot/imported/3Stage.glb-62297bded378123a3720ebf976d769d4.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/Models/Stages/3-Stage/3Stage_90sCarpet.png b/Models/Stages/3-Stage/3Stage_90sCarpet.png new file mode 100644 index 0000000..fbd4ba3 Binary files /dev/null and b/Models/Stages/3-Stage/3Stage_90sCarpet.png differ diff --git a/Models/Stages/3-Stage/3Stage_90sCarpet.png.import b/Models/Stages/3-Stage/3Stage_90sCarpet.png.import new file mode 100644 index 0000000..380e41a --- /dev/null +++ b/Models/Stages/3-Stage/3Stage_90sCarpet.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4bwou6vcoye4" +path.s3tc="res://.godot/imported/3Stage_90sCarpet.png-f76d0adf3f42aa89e8c29727f20a0dcf.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_90sCarpet.png-f76d0adf3f42aa89e8c29727f20a0dcf.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "bec1df9050ab55c447f4ed9478448586" +} + +[deps] + +source_file="res://Models/Stages/3-Stage/3Stage_90sCarpet.png" +dest_files=["res://.godot/imported/3Stage_90sCarpet.png-f76d0adf3f42aa89e8c29727f20a0dcf.s3tc.ctex", "res://.godot/imported/3Stage_90sCarpet.png-f76d0adf3f42aa89e8c29727f20a0dcf.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/Models/Stages/3-Stage/3Stage_PasquallyWall.png b/Models/Stages/3-Stage/3Stage_PasquallyWall.png new file mode 100644 index 0000000..5ce60b2 Binary files /dev/null and b/Models/Stages/3-Stage/3Stage_PasquallyWall.png differ diff --git a/Models/Stages/3-Stage/3Stage_PasquallyWall.png.import b/Models/Stages/3-Stage/3Stage_PasquallyWall.png.import new file mode 100644 index 0000000..8e21d9f --- /dev/null +++ b/Models/Stages/3-Stage/3Stage_PasquallyWall.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cufa5mtcbl8ns" +path.s3tc="res://.godot/imported/3Stage_PasquallyWall.png-78caeb5379d076223ba8f5f88d762bc9.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_PasquallyWall.png-78caeb5379d076223ba8f5f88d762bc9.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "016c0dfb954da87fd4294d4201c3d2e3" +} + +[deps] + +source_file="res://Models/Stages/3-Stage/3Stage_PasquallyWall.png" +dest_files=["res://.godot/imported/3Stage_PasquallyWall.png-78caeb5379d076223ba8f5f88d762bc9.s3tc.ctex", "res://.godot/imported/3Stage_PasquallyWall.png-78caeb5379d076223ba8f5f88d762bc9.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/Models/Stages/3-Stage/3Stage_mmbbpurple.png b/Models/Stages/3-Stage/3Stage_mmbbpurple.png new file mode 100644 index 0000000..7b1592a Binary files /dev/null and b/Models/Stages/3-Stage/3Stage_mmbbpurple.png differ diff --git a/Models/Stages/3-Stage/3Stage_mmbbpurple.png.import b/Models/Stages/3-Stage/3Stage_mmbbpurple.png.import new file mode 100644 index 0000000..d97d258 --- /dev/null +++ b/Models/Stages/3-Stage/3Stage_mmbbpurple.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkgxnj2wofe32" +path.s3tc="res://.godot/imported/3Stage_mmbbpurple.png-75e0c3b996b83fd8b5dfe82e6137480d.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_mmbbpurple.png-75e0c3b996b83fd8b5dfe82e6137480d.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "aa066b08588be0c060ce0f6b5ba299ec" +} + +[deps] + +source_file="res://Models/Stages/3-Stage/3Stage_mmbbpurple.png" +dest_files=["res://.godot/imported/3Stage_mmbbpurple.png-75e0c3b996b83fd8b5dfe82e6137480d.s3tc.ctex", "res://.godot/imported/3Stage_mmbbpurple.png-75e0c3b996b83fd8b5dfe82e6137480d.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/Scenes/EditorStages/3Stage.tscn b/Scenes/EditorStages/3Stage.tscn new file mode 100644 index 0000000..414bf49 --- /dev/null +++ b/Scenes/EditorStages/3Stage.tscn @@ -0,0 +1,107 @@ +[gd_scene load_steps=10 format=3 uid="uid://c4n7jns8vmcg4"] + +[ext_resource type="PackedScene" uid="uid://cy35b87ip330v" path="res://Models/Stages/3-Stage/3Stage.glb" id="2_nhspc"] +[ext_resource type="PackedScene" uid="uid://bccho13aa6akj" path="res://Models/Animatronics/3-Stage/3stBuilding.glb" id="6_5tgym"] +[ext_resource type="PackedScene" uid="uid://ur5ypsdlndde" path="res://Models/GenericRooms/3-Stage/3StageGenericRoom.glb" id="7_0bfh6"] +[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="7_5tgym"] +[ext_resource type="PackedScene" uid="uid://f0fkcs7erhop" path="res://Models/Animatronics/3-Stage/3stHelen.glb" id="7_bsgrf"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="9_d7ghp"] +[ext_resource type="Texture2D" uid="uid://c3orc2ig7n2rc" path="res://Models/Props/CECGOBO.png" id="15_1j3kr"] +[ext_resource type="PackedScene" uid="uid://mvv5sjk3vbtl" path="res://Scenes/Props/HelicopterLight.tscn" id="21_yui80"] + +[sub_resource type="Environment" id="Environment_aswoc"] +ambient_light_source = 1 + +[node name="3Stage" type="Node3D"] + +[node name="3StageGenericRoom" parent="." instance=ExtResource("7_0bfh6")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 6.4) + +[node name="StageModel" parent="." instance=ExtResource("2_nhspc")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 6.4) + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_aswoc") + +[node name="Room Lights" type="Node3D" parent="."] + +[node name="OmniLight3D" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, 4, 3.5, 3) +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 6.0 +spot_angle = 80.0 + +[node name="OmniLight3D2" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, -4, 3.5, 3) +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 6.0 +spot_angle = 80.0 + +[node name="OmniLight3D3" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, 0, 3.5, 3) +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 6.0 +spot_angle = 80.0 + +[node name="OmniLight3D4" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 7, 3.5, 6) +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 6.0 +spot_angle = 80.0 + +[node name="OmniLight3D5" type="SpotLight3D" parent="Room Lights" groups=["lights"]] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 6) +light_color = Color(1, 0.960784, 0.85098, 1) +shadow_enabled = true +shadow_bias = 0.1 +spot_range = 6.0 +spot_angle = 80.0 + +[node name="Special" type="Node3D" parent="."] +script = ExtResource("9_d7ghp") + +[node name="Gobo Light" type="SpotLight3D" parent="Special"] +transform = Transform3D(1, 0, 0, 0, 0.93029, 0.366826, 0, -0.366826, 0.93029, 0, 3.7, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_projector = ExtResource("15_1j3kr") +shadow_enabled = true +spot_range = 6.0 +spot_attenuation = -1.0 +spot_angle = 10.0 + +[node name="Angle 1" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.991445, 0.130526, 0, -0.130526, 0.991445, 0, 2.75, 7.5) +current = true +fov = 60.0 + +[node name="Angle 2" type="Camera3D" parent="."] +transform = Transform3D(0.683013, -0.258819, 0.683013, -0.006236, 0.933013, 0.359789, -0.73038, -0.25, 0.635646, -3.5, 2.75, 2.5) +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, 0, 2.5, 2.5) +fov = 60.0 + +[node name="Angle 4" type="Camera3D" parent="."] +transform = Transform3D(0.73038, 0.25, -0.635646, -0.006236, 0.933013, 0.359789, 0.683013, -0.258819, 0.683013, 2.5, 2.75, 2.5) +fov = 60.0 + +[node name="Special Helicopter" parent="." instance=ExtResource("21_yui80")] +transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 3, 7) + +[node name="Building" parent="." instance=ExtResource("6_5tgym")] +transform = Transform3D(0.984808, 0, 0.173648, 0, 1, 0, -0.173648, 0, 0.984808, -2.3, 0.8, -1.7) +script = ExtResource("7_5tgym") + +[node name="Helen" parent="." instance=ExtResource("7_bsgrf")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -1.8, 0.8, -0.6) +script = ExtResource("7_5tgym") diff --git a/Scripts/Configs/Cosmetics.gd b/Scripts/Configs/Cosmetics.gd index 871cdbe..e88868a 100644 --- a/Scripts/Configs/Cosmetics.gd +++ b/Scripts/Configs/Cosmetics.gd @@ -1054,7 +1054,7 @@ var SI1StageSpecial = { }, } -var HelenHouseHelen = { +var CEIHelen = { "Helen Hair": { "Black and White": diff --git a/Scripts/Configs/Stages.gd b/Scripts/Configs/Stages.gd index 4d80951..713c4c1 100644 --- a/Scripts/Configs/Stages.gd +++ b/Scripts/Configs/Stages.gd @@ -33,7 +33,7 @@ var HelenHouse = { 125: { "bot": "Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" }, }, - "cosmetics": [ Cosmetics.HelenHouseHelen ], + "cosmetics": [ Cosmetics.CEIHelen ], "cosmetic_defaults": [ 0, 0 ] } @@ -1185,6 +1185,46 @@ var StatenIsland1Stage = { "cosmetic_defaults": [ 1, 2, 1, 1, 1, 0, 1, 4, 2, 2, 3, 0, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 3, 0 ] } +var CEI3Stage = { + "bits": 23, + "scene": "res://Scenes/EditorStages/3Stage.tscn", + "scene_ref_base": "SubViewport/3Stage/", + "camera_count": 4, + + "ust_type": "Rockafire Explosion/3-Stage", + "curtains": { }, + + "bit_mapping": + { + 23: { "bot": "Helen", "movement": "Mouth", "flow_in": 3.0, "flow_out": 2.0 }, + 24: { "bot": "Helen", "movement": "Left Ear", "flow_in": 3.5, "flow_out": 1.5 }, + 25: { "bot": "Helen", "movement": "Right Ear", "flow_in": 3.5, "flow_out": 1.5 }, + 26: { "bot": "Helen", "movement": "Left Eyelid", "flow_in": 1.5, "flow_out": 2.0 }, + 27: { "bot": "Helen", "movement": "Right Eyelid", "flow_in": 1.5, "flow_out": 2.0 }, + 28: { "bot": "Helen", "movement": "Eyes Left", "flow_in": 3.5, "flow_out": 1.5 }, + 29: { "bot": "Helen", "movement": "Eyes Right", "flow_in": 3.5, "flow_out": 1.5 }, + 30: { "bot": "Helen", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 31: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 32: { "bot": "Helen", "movement": "Head Up", "flow_in": 1.0, "flow_out": 1.0 }, + 33: { "bot": "Helen", "movement": "Left Arm Up", "flow_in": 0.8, "flow_out": 0.6 }, + 34: { "bot": "Helen", "movement": "Left Arm Twist", "flow_in": 0.8, "flow_out": 0.8 }, + 35: { "bot": "Helen", "movement": "Left Elbow", "flow_in": 1.0, "flow_out": 1.0 }, + 36: { "bot": "Helen", "movement": "Right Arm Up", "flow_in": 0.8, "flow_out": 0.6 }, + 37: { "bot": "Helen", "movement": "Right Arm Twist", "flow_in": 0.8, "flow_out": 0.8 }, + 38: { "bot": "Helen", "movement": "Right Elbow", "flow_in": 1.0, "flow_out": 1.0 }, + 39: { "bot": "Helen", "movement": "Body Left", "flow_in": 0.7, "flow_out": 0.7 }, + 40: { "bot": "Helen", "movement": "Body Right", "flow_in": 0.7, "flow_out": 0.7 }, + 41: { "bot": "Helen", "movement": "Body Lean", "flow_in": 1.0, "flow_out": 0.8 }, + 118: { "bot": "Building", "movement": "Up", "flow_in": 0.5, "flow_out": 0.5 }, + 119: { "bot": "Building", "movement": "Mouth", "flow_in": 3.0, "flow_out": 3.0 }, + 134: { "bot": "Special", "movement": "Gobo Light", "flow_in": "None", "flow_out": "None" }, + 135: { "bot": "Special Helicopter", "movement": "Light", "flow_in": 15.0, "flow_out": 6.0 }, + }, + + "cosmetics": [ Cosmetics.CEIHelen, Cosmetics.Valence ], + "cosmetic_defaults": [ 0, 0, 2 ] +} + var stages_info = { "Helen House": HelenHouse, "Chuck E's Corner": ChuckEsCorner, @@ -1199,7 +1239,8 @@ var stages_info = { "Cyberamic 3-Stage": Cyber3Stage, "Road Stage": RoadStage, "Rocker Stage": RockerStage, - "Staten Island 1-Stage": StatenIsland1Stage + "Staten Island 1-Stage": StatenIsland1Stage, + "3-Stage": CEI3Stage } var loaded_mods = { }