diff --git a/Models/Balcony/BalconyStage.glb b/Models/Balcony/BalconyStage.glb new file mode 100644 index 0000000..30b1f09 Binary files /dev/null and b/Models/Balcony/BalconyStage.glb differ diff --git a/Models/Balcony/BalconyStage.glb.import b/Models/Balcony/BalconyStage.glb.import new file mode 100644 index 0000000..a005e55 --- /dev/null +++ b/Models/Balcony/BalconyStage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c6n4otfble154" +path="res://.godot/imported/BalconyStage.glb-30f76dcef53d0e1cd152a84572aefbee.scn" + +[deps] + +source_file="res://Models/Balcony/BalconyStage.glb" +dest_files=["res://.godot/imported/BalconyStage.glb-30f76dcef53d0e1cd152a84572aefbee.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/Balcony/BalconyStage_prankbg.png b/Models/Balcony/BalconyStage_prankbg.png new file mode 100644 index 0000000..10e3109 Binary files /dev/null and b/Models/Balcony/BalconyStage_prankbg.png differ diff --git a/Models/Balcony/BalconyStage_prankbg.png.import b/Models/Balcony/BalconyStage_prankbg.png.import new file mode 100644 index 0000000..f900444 --- /dev/null +++ b/Models/Balcony/BalconyStage_prankbg.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm643d4g33g6h" +path.s3tc="res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.s3tc.ctex" +path.etc2="res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "437ade1d165b37a51e8dde9c8e10394d" +} + +[deps] + +source_file="res://Models/Balcony/BalconyStage_prankbg.png" +dest_files=["res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.s3tc.ctex", "res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.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/Cyberamics/Cyber Jasper.blend b/Models/Cyberamics/Cyber Jasper.blend new file mode 100644 index 0000000..3f72e0f Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper.blend differ diff --git a/Models/Cyberamics/Cyber Jasper.glb b/Models/Cyberamics/Cyber Jasper.glb index 3399b88..82e8f94 100644 Binary files a/Models/Cyberamics/Cyber Jasper.glb and b/Models/Cyberamics/Cyber Jasper.glb differ diff --git a/Models/Cyberamics/Cyber Jasper_denim.png b/Models/Cyberamics/Cyber Jasper_denim.png new file mode 100644 index 0000000..8a6d8e7 Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_denim.png differ diff --git a/Models/Cyberamics/Cyber Jasper_denim.png.import b/Models/Cyberamics/Cyber Jasper_denim.png.import new file mode 100644 index 0000000..0837877 --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_denim.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://q20cddw2xrei" +path.s3tc="res://.godot/imported/Cyber Jasper_denim.png-d8598725528ffd5195e28e0eec9cd741.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_denim.png-d8598725528ffd5195e28e0eec9cd741.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "402d309e5ed850ba52e293c0656acf10" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_denim.png" +dest_files=["res://.godot/imported/Cyber Jasper_denim.png-d8598725528ffd5195e28e0eec9cd741.s3tc.ctex", "res://.godot/imported/Cyber Jasper_denim.png-d8598725528ffd5195e28e0eec9cd741.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/Cyberamics/Cyber Jasper_shirt_cow_print.png b/Models/Cyberamics/Cyber Jasper_shirt_cow_print.png new file mode 100644 index 0000000..56bd6e2 Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_shirt_cow_print.png differ diff --git a/Models/Cyberamics/Cyber Jasper_shirt_cow_print.png.import b/Models/Cyberamics/Cyber Jasper_shirt_cow_print.png.import new file mode 100644 index 0000000..f0fb509 --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_shirt_cow_print.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0hh0000v6h8y" +path.s3tc="res://.godot/imported/Cyber Jasper_shirt_cow_print.png-de5138976b0094419018b0936baa9497.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_shirt_cow_print.png-de5138976b0094419018b0936baa9497.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "35bb2072abe8c8e39214dcb47ee5fc3a" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_shirt_cow_print.png" +dest_files=["res://.godot/imported/Cyber Jasper_shirt_cow_print.png-de5138976b0094419018b0936baa9497.s3tc.ctex", "res://.godot/imported/Cyber Jasper_shirt_cow_print.png-de5138976b0094419018b0936baa9497.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/Cyberamics/Cyber Jasper_shirt_rocker.png b/Models/Cyberamics/Cyber Jasper_shirt_rocker.png new file mode 100644 index 0000000..d98871e Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_shirt_rocker.png differ diff --git a/Models/Cyberamics/Cyber Jasper_shirt_rocker.png.import b/Models/Cyberamics/Cyber Jasper_shirt_rocker.png.import new file mode 100644 index 0000000..3ed149b --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_shirt_rocker.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcbsootxxvpjb" +path.s3tc="res://.godot/imported/Cyber Jasper_shirt_rocker.png-f0e49ba2d7398b113f1af6030157a14e.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_shirt_rocker.png-f0e49ba2d7398b113f1af6030157a14e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "af4edca67cb9ab3accdc565f145f9c99" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_shirt_rocker.png" +dest_files=["res://.godot/imported/Cyber Jasper_shirt_rocker.png-f0e49ba2d7398b113f1af6030157a14e.s3tc.ctex", "res://.godot/imported/Cyber Jasper_shirt_rocker.png-f0e49ba2d7398b113f1af6030157a14e.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/GUI/EditorScreen.tscn b/Scenes/GUI/EditorScreen.tscn index 5dea7ad..3d97c93 100644 --- a/Scenes/GUI/EditorScreen.tscn +++ b/Scenes/GUI/EditorScreen.tscn @@ -200,11 +200,11 @@ offset_right = 260.0 offset_bottom = 36.0 selected = 0 item_count = 3 -popup/item_0/text = "Helen House" +popup/item_0/text = "Balcony Stage" popup/item_0/id = 0 -popup/item_1/text = "Chuck E's Corner" +popup/item_1/text = "Helen House" popup/item_1/id = 1 -popup/item_2/text = "Balcony Stage" +popup/item_2/text = "Chuck E's Corner" popup/item_2/id = 2 [node name="MenuButton" type="MenuButton" parent="MenuBar"] @@ -736,6 +736,7 @@ Simulator Backend: Persephone 3-Stage Models: Persephone PTT Cybers Models: Persephone Chuck E's Corner Stage: Luigigamin212 +Balcony Stage Model: ToastHQ This project is not associated with CEC Entertainment LLC. or Creative Engineering Inc." diff --git a/Scenes/Stages/Balcony.tscn b/Scenes/Stages/Balcony.tscn index 03a4171..704418c 100644 --- a/Scenes/Stages/Balcony.tscn +++ b/Scenes/Stages/Balcony.tscn @@ -1,9 +1,12 @@ -[gd_scene load_steps=6 format=3 uid="uid://d2g6chunc572s"] +[gd_scene load_steps=9 format=3 uid="uid://d2g6chunc572s"] [ext_resource type="PackedScene" uid="uid://d34xfaignny8j" path="res://Models/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://c2j62syov3skq" path="res://Models/Cyberamics/Cyberamic Chuck.glb" id="3_45mf1"] [ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Cyberamics/Cyber Jasper.glb" id="4_t4ere"] +[ext_resource type="PackedScene" uid="uid://c6n4otfble154" path="res://Models/Balcony/BalconyStage.glb" id="5_45mf1"] +[ext_resource type="PackedScene" uid="uid://dmh5upwts8y11" path="res://Models/Cyberamics/Warblettes.glb" id="5_ocq6y"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="6_j8jbd"] [sub_resource type="Environment" id="Environment_w3m2i"] ambient_light_source = 1 @@ -11,27 +14,306 @@ ambient_light_source = 1 [node name="Balcony" type="Node3D"] [node name="Jasper" parent="." instance=ExtResource("4_t4ere")] -transform = Transform3D(0.965926, 0, 0.258819, 0, 1, 0, -0.258819, 0, 0.965926, -2, 0, 0) +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -2.2, 3, -0.5) script = ExtResource("2_t4ere") [node name="Chuck" parent="." instance=ExtResource("3_45mf1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -0.5) script = ExtResource("2_t4ere") [node name="Helen" parent="." instance=ExtResource("1_w3m2i")] -transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 2, 0, 0) +transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 2.2, 3, -0.5) script = ExtResource("2_t4ere") -[node name="Angle 1" type="Camera3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.97377, 0.227535, 0, -0.227535, 0.97377, 0, 1.81733, 3) -fov = 60.0 +[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="Spots" type="Node3D" parent="."] +script = ExtResource("6_j8jbd") + +[node name="Chuck" type="SpotLight3D" parent="Spots"] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 5.5, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Helen" type="SpotLight3D" parent="Spots"] +transform = Transform3D(0.866025, 0.120961, -0.485148, 0, 0.970296, 0.241922, 0.5, -0.209511, 0.840301, -1, 5.5, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Jasper" type="SpotLight3D" parent="Spots"] +transform = Transform3D(0.866025, -0.120961, 0.485148, 0, 0.970296, 0.241922, -0.5, -0.209511, 0.840301, 1, 5.5, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Munch" type="SpotLight3D" parent="Spots"] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -4.5, 5.5, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Pasqually" type="SpotLight3D" parent="Spots"] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 4.5, 5.5, 5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Warblettes" type="SpotLight3D" parent="Spots"] +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 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 10.0 + +[node name="Color Spots" type="Node3D" parent="."] +script = ExtResource("6_j8jbd") + +[node name="Chuck" type="SpotLight3D" parent="Color Spots"] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 5.5, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Chuck 2" type="SpotLight3D" parent="Color Spots"] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 0, 5.5, 5) +visible = false +light_color = Color(1, 0, 0, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Helen" type="SpotLight3D" parent="Color Spots"] +transform = Transform3D(0.866025, 0.120961, -0.485148, 0, 0.970296, 0.241922, 0.5, -0.209511, 0.840301, -1, 5.5, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Jasper" type="SpotLight3D" parent="Color Spots"] +transform = Transform3D(0.866025, -0.120961, 0.485148, 0, 0.970296, 0.241922, -0.5, -0.209511, 0.840301, 1, 5.5, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Munch" type="SpotLight3D" parent="Color Spots"] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -4.5, 5.5, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Pasqually" type="SpotLight3D" parent="Color Spots"] +transform = Transform3D(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 4.5, 5.5, 5) +visible = false +light_color = Color(0.734652, 0.426335, 0.999996, 1) +light_energy = 0.8 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 7.5 + +[node name="Warblettes" type="SpotLight3D" parent="Color Spots"] +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 +spot_range = 8.0 +spot_attenuation = -1.0 +spot_angle = 10.0 + +[node name="Valence" type="Node3D" parent="."] +script = ExtResource("6_j8jbd") + +[node name="L" type="SpotLight3D" parent="Valence"] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -2.25, 5.5, 0.25) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="L Center" type="SpotLight3D" parent="Valence"] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -1.2, 5.5, 0.5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="Center" type="SpotLight3D" parent="Valence"] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 5.5, 0.75) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="R Center" type="SpotLight3D" parent="Valence"] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 1.2, 5.5, 0.5) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="R" type="SpotLight3D" parent="Valence"] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 2.25, 5.5, 0.25) +visible = false +light_color = Color(1, 0.960784, 0.85098, 1) +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="Backdrop" type="Node3D" parent="."] +script = ExtResource("6_j8jbd") + +[node name="L Blue" type="SpotLight3D" parent="Backdrop"] +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) +visible = false +light_color = Color(0, 0, 1, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="L Amber" type="SpotLight3D" parent="Backdrop"] +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) +visible = false +light_color = Color(1, 0.74902, 0, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="L Red" type="SpotLight3D" parent="Backdrop"] +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) +visible = false +light_color = Color(1, 0, 0, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="C Blue" type="SpotLight3D" parent="Backdrop"] +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, -0.5, 3, -1.1) +visible = false +light_color = Color(0, 0, 1, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="C Amber" type="SpotLight3D" parent="Backdrop"] +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0, 3, -1.1) +visible = false +light_color = Color(1, 0.74902, 0, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="C Red" type="SpotLight3D" parent="Backdrop"] +transform = Transform3D(1, 0, 0, 0, 0.5, -0.866025, 0, 0.866025, 0.5, 0.5, 3, -1.1) +visible = false +light_color = Color(1, 0, 0, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="R Blue" type="SpotLight3D" parent="Backdrop"] +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) +visible = false +light_color = Color(0, 0, 1, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="R Amber" type="SpotLight3D" parent="Backdrop"] +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) +visible = false +light_color = Color(1, 0.74902, 0, 1) +spot_attenuation = 2.0 +spot_angle = 30.0 +spot_angle_attenuation = 0.15 + +[node name="R Red" type="SpotLight3D" parent="Backdrop"] +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) +visible = false +light_color = Color(1, 0, 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="OmniLight3D" type="OmniLight3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1.5, 2) +[node name="Room Lights" type="Node3D" parent="."] + +[node name="OmniLight3D" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 4.5, 3) light_color = Color(1, 0.960784, 0.85098, 1) -[node name="OmniLight3D2" type="OmniLight3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.5, 2) +[node name="OmniLight3D2" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 4.5, 3) light_color = Color(1, 0.960784, 0.85098, 1) + +[node name="OmniLight3D3" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.5, 3) +light_color = Color(1, 0.960784, 0.85098, 1) + +[node name="OmniLight3D4" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 4.5, 3) +light_color = Color(1, 0.960784, 0.85098, 1) + +[node name="OmniLight3D5" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 4.5, 3) +light_color = Color(1, 0.960784, 0.85098, 1) + +[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="Angle 1" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 4.75, 3) +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) +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) +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) +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) +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) +fov = 60.0 diff --git a/Scripts/EditorScreen.gd b/Scripts/EditorScreen.gd index 15baa79..b5d27ad 100644 --- a/Scripts/EditorScreen.gd +++ b/Scripts/EditorScreen.gd @@ -107,8 +107,8 @@ var stages_info = { 71: { "bot": "Floods", "movement": "Red", "flow_in": "None", "flow_out": "None" }, 72: { "bot": "Floods", "movement": "Green", "flow_in": "None", "flow_out": "None" }, 73: { "bot": "Floods", "movement": "Blue", "flow_in": "None", "flow_out": "None" }, + 78: { "bot": "Spots", "movement": "Warblettes", "flow_in": "None", "flow_out": "None" }, 79: { "bot": "Color Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" }, - 111: { "bot": "Spots", "movement": "Warblettes", "flow_in": "None", "flow_out": "None" }, }, "cosmetics": @@ -228,10 +228,10 @@ var stages_info = { }, "Balcony Stage": { - "bits": 24, + "bits": 53, "scene": "res://Scenes/Stages/Balcony.tscn", "scene_ref_base": "SubViewport/Balcony/", - "camera_count": 1, + "camera_count": 6, "ust_type": "Cyberamics", @@ -261,6 +261,35 @@ var stages_info = { 30: { "bot": "Jasper", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, 31: { "bot": "Jasper", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, 32: { "bot": "Jasper", "movement": "Strum", "flow_in": 2.0, "flow_out": 1.0 }, + 41: { "bot": "Warblettes", "movement": "Mouth", "flow_in": 4.0, "flow_out": 3.0 }, + 44: { "bot": "Warblettes", "movement": "Body Rock", "flow_in": 1.0, "flow_out": 1.0 }, + 50: { "bot": "Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" }, + 51: { "bot": "Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" }, + 52: { "bot": "Spots", "movement": "Munch", "flow_in": "None", "flow_out": "None" }, + 53: { "bot": "Spots", "movement": "Jasper", "flow_in": "None", "flow_out": "None" }, + 54: { "bot": "Spots", "movement": "Pasqually", "flow_in": "None", "flow_out": "None" }, + 55: { "bot": "Backdrop", "movement": "C Blue", "flow_in": "None", "flow_out": "None" }, + 65: { "bot": "Backdrop", "movement": "L Blue", "flow_in": "None", "flow_out": "None" }, + 66: { "bot": "Valence", "movement": "R Center", "flow_in": "None", "flow_out": "None" }, + 68: { "bot": "Backdrop", "movement": "L Red", "flow_in": "None", "flow_out": "None" }, + 69: { "bot": "Valence", "movement": "R", "flow_in": "None", "flow_out": "None" }, + 70: { "bot": "Backdrop", "movement": "L Amber", "flow_in": "None", "flow_out": "None" }, + 71: { "bot": "Valence", "movement": "L Center", "flow_in": "None", "flow_out": "None" }, + 72: { "bot": "Valence", "movement": "L", "flow_in": "None", "flow_out": "None" }, + 73: { "bot": "Valence", "movement": "Center", "flow_in": "None", "flow_out": "None" }, + 74: { "bot": "Color Spots", "movement": "Warblettes", "flow_in": "None", "flow_out": "None" }, + 75: { "bot": "Color Spots", "movement": "Munch", "flow_in": "None", "flow_out": "None" }, + 76: { "bot": "Color Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" }, + 77: { "bot": "Color Spots", "movement": "Jasper", "flow_in": "None", "flow_out": "None" }, + 78: { "bot": "Spots", "movement": "Warblettes", "flow_in": "None", "flow_out": "None" }, + 79: { "bot": "Color Spots", "movement": "Chuck", "flow_in": "None", "flow_out": "None" }, + 80: { "bot": "Color Spots", "movement": "Chuck 2", "flow_in": "None", "flow_out": "None" }, + 81: { "bot": "Backdrop", "movement": "R Amber", "flow_in": "None", "flow_out": "None" }, + 82: { "bot": "Backdrop", "movement": "C Red", "flow_in": "None", "flow_out": "None" }, + 83: { "bot": "Backdrop", "movement": "R Blue", "flow_in": "None", "flow_out": "None" }, + 84: { "bot": "Color Spots", "movement": "Pasqually", "flow_in": "None", "flow_out": "None" }, + 85: { "bot": "Backdrop", "movement": "R Red", "flow_in": "None", "flow_out": "None" }, + 86: { "bot": "Backdrop", "movement": "C Amber", "flow_in": "None", "flow_out": "None" }, }, "cosmetics": @@ -425,15 +454,6 @@ var stages_info = { "Helen Mask": { - "Road Stage": - { - "Helen/Helen/Skeleton3D/Modern Head": true, - "Helen/Helen/Skeleton3D/Modern Mask": true, - "Helen/Helen/Skeleton3D/Road Stage Jaw": true, - "Helen/Helen/Skeleton3D/Road Stage Beak": true, - "Helen/Helen/Skeleton3D/Modern Jaw": false, - "Helen/Helen/Skeleton3D/Modern Beak": false, - }, "Modern": { "Helen/Helen/Skeleton3D/Modern Head": true, @@ -443,6 +463,15 @@ var stages_info = { "Helen/Helen/Skeleton3D/Modern Jaw": true, "Helen/Helen/Skeleton3D/Modern Beak": true, }, + "Road Stage": + { + "Helen/Helen/Skeleton3D/Modern Head": true, + "Helen/Helen/Skeleton3D/Modern Mask": true, + "Helen/Helen/Skeleton3D/Road Stage Jaw": true, + "Helen/Helen/Skeleton3D/Road Stage Beak": true, + "Helen/Helen/Skeleton3D/Modern Jaw": false, + "Helen/Helen/Skeleton3D/Modern Beak": false, + }, }, } } @@ -454,7 +483,7 @@ signal end_recording() signal return_to_zero() signal erase_all() -func reload_stage(stage_previously_loaded: bool) -> void: +func reload_stage() -> void: $SequencerPanel/TimelinePanel/VScrollBar.value = 0 $FlyoutPanel/Movements/VScrollBar.value = 0 $FlyoutPanel/FlowControls/VScrollBar.value = 0 @@ -547,7 +576,7 @@ func reload_stage(stage_previously_loaded: bool) -> void: func _on_stage_change_overwrite_confirmation_dialog_confirmed() -> void: erase_all.emit() current_stage = $MenuBar/StageSelector.get_item_text($MenuBar/StageSelector.selected) - reload_stage(true) + reload_stage() func update_time_label() -> void: var frames = index % 60 @@ -574,13 +603,13 @@ func _ready() -> void: $MenuBar/MenuButton.get_popup().id_pressed.connect(_showtape_menu_button_pressed) OS.request_permissions() current_stage = $MenuBar/StageSelector.get_item_text($MenuBar/StageSelector.selected) - reload_stage(false) + reload_stage() func _on_stage_selector_item_selected(_index: int) -> void: if (showtape_loaded): $StageChangeOverwriteConfirmationDialog.show() else: current_stage = $MenuBar/StageSelector.get_item_text($MenuBar/StageSelector.selected) - reload_stage(true) + reload_stage() func _showtape_menu_button_pressed(id: int) -> void: match (id): @@ -905,36 +934,12 @@ func plot_data(data: String): evil_glass.append(movement_row.movement_bit) for frame_string in data.split(","): if (frame_string == ""): continue - var frame_long_8 = frame_string.substr(0, 8).hex_to_int() - var frame_long_7 = frame_string.substr(8, 8).hex_to_int() - var frame_long_6 = frame_string.substr(16, 8).hex_to_int() - var frame_long_5 = frame_string.substr(24, 8).hex_to_int() - var frame_long_4 = frame_string.substr(32, 8).hex_to_int() - var frame_long_3 = frame_string.substr(40, 8).hex_to_int() - var frame_long_2 = frame_string.substr(48, 8).hex_to_int() - var frame_long_1 = frame_string.substr(56, 8).hex_to_int() + var check_frame_split = frame_string.split() + check_frame_split.reverse() for i in stages_info[current_stage]["bit_mapping"]: var er = false - var check_i = (i % 32) - 1 - var check_frame_segment = frame_long_1 - if (i <= 32): - check_frame_segment = frame_long_1 - elif (i <= 64): - check_frame_segment = frame_long_2 - elif (i <= 96): - check_frame_segment = frame_long_3 - elif (i <= 128): - check_frame_segment = frame_long_4 - elif (i <= 160): - check_frame_segment = frame_long_5 - elif (i <= 192): - check_frame_segment = frame_long_6 - elif (i <= 224): - check_frame_segment = frame_long_7 - elif (i <= 256): - check_frame_segment = frame_long_8 - if ((check_frame_segment & int(pow(2, check_i))) >> check_i == 1): - er = true + if ((check_frame_split[(i - 1) / 4].hex_to_int() & int(pow(2, ((i - 1) % 4)))) == int(pow(2, ((i - 1) % 4)))): + er = true $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_child(evil_glass.find(i)).forced_etchable = true $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_child(evil_glass.find(i)).etching = er step.emit(1) diff --git a/project.godot b/project.godot index 4eee4d8..4b8bb8c 100644 --- a/project.godot +++ b/project.godot @@ -24,6 +24,10 @@ config/windows_native_icon="res://UI/icon.ico" window/size/viewport_width=1280 window/size/viewport_height=720 +[filesystem] + +import/blender/enabled=false + [input] ui_accept={ @@ -394,3 +398,5 @@ fullscreen={ renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" textures/vram_compression/import_etc2_astc=true +limits/opengl/max_renderable_lights=128 +limits/opengl/max_lights_per_object=128