diff --git a/Models/3-Stage/3stHelen.glb b/Models/3-Stage/3stHelen.glb new file mode 100644 index 0000000..a2bdb2f Binary files /dev/null and b/Models/3-Stage/3stHelen.glb differ diff --git a/Models/3stHelen.glb.import b/Models/3-Stage/3stHelen.glb.import similarity index 76% rename from Models/3stHelen.glb.import rename to Models/3-Stage/3stHelen.glb.import index 1daebe8..29ea8c8 100644 --- a/Models/3stHelen.glb.import +++ b/Models/3-Stage/3stHelen.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://f0fkcs7erhop" -path="res://.godot/imported/3stHelen.glb-c3541fdb7863c3136dcc986fabbb06be.scn" +path="res://.godot/imported/3stHelen.glb-09c973ef19734a7d77b0f363ef6fade1.scn" [deps] -source_file="res://Models/3stHelen.glb" -dest_files=["res://.godot/imported/3stHelen.glb-c3541fdb7863c3136dcc986fabbb06be.scn"] +source_file="res://Models/3-Stage/3stHelen.glb" +dest_files=["res://.godot/imported/3stHelen.glb-09c973ef19734a7d77b0f363ef6fade1.scn"] [params] diff --git a/Models/3stHelen_beak.png b/Models/3-Stage/3stHelen_beak.png similarity index 100% rename from Models/3stHelen_beak.png rename to Models/3-Stage/3stHelen_beak.png diff --git a/Models/3stHelen_beak.png.import b/Models/3-Stage/3stHelen_beak.png.import similarity index 61% rename from Models/3stHelen_beak.png.import rename to Models/3-Stage/3stHelen_beak.png.import index 9de2456..8788f58 100644 --- a/Models/3stHelen_beak.png.import +++ b/Models/3-Stage/3stHelen_beak.png.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://bprmuf7jpffy3" -path.s3tc="res://.godot/imported/3stHelen_beak.png-da72f62ca7ac7e5bf5593b4d1be3a7ee.s3tc.ctex" -path.etc2="res://.godot/imported/3stHelen_beak.png-da72f62ca7ac7e5bf5593b4d1be3a7ee.etc2.ctex" +path.s3tc="res://.godot/imported/3stHelen_beak.png-093e64b7512180691d5a4d9b4796c163.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_beak.png-093e64b7512180691d5a4d9b4796c163.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -15,8 +15,8 @@ generator_parameters={ [deps] -source_file="res://Models/3stHelen_beak.png" -dest_files=["res://.godot/imported/3stHelen_beak.png-da72f62ca7ac7e5bf5593b4d1be3a7ee.s3tc.ctex", "res://.godot/imported/3stHelen_beak.png-da72f62ca7ac7e5bf5593b4d1be3a7ee.etc2.ctex"] +source_file="res://Models/3-Stage/3stHelen_beak.png" +dest_files=["res://.godot/imported/3stHelen_beak.png-093e64b7512180691d5a4d9b4796c163.s3tc.ctex", "res://.godot/imported/3stHelen_beak.png-093e64b7512180691d5a4d9b4796c163.etc2.ctex"] [params] diff --git a/Models/3-Stage/3stHelen_cheer dress.png b/Models/3-Stage/3stHelen_cheer dress.png new file mode 100644 index 0000000..5ecb4bf Binary files /dev/null and b/Models/3-Stage/3stHelen_cheer dress.png differ diff --git a/Models/3-Stage/3stHelen_cheer dress.png.import b/Models/3-Stage/3stHelen_cheer dress.png.import new file mode 100644 index 0000000..040e12e --- /dev/null +++ b/Models/3-Stage/3stHelen_cheer dress.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c78fctfafkuon" +path.s3tc="res://.godot/imported/3stHelen_cheer dress.png-c2a1c708bd40884f6dbb3748c5660c8c.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_cheer dress.png-c2a1c708bd40884f6dbb3748c5660c8c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "7cedb51b071905707d033e23c77584cb" +} + +[deps] + +source_file="res://Models/3-Stage/3stHelen_cheer dress.png" +dest_files=["res://.godot/imported/3stHelen_cheer dress.png-c2a1c708bd40884f6dbb3748c5660c8c.s3tc.ctex", "res://.godot/imported/3stHelen_cheer dress.png-c2a1c708bd40884f6dbb3748c5660c8c.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/3-Stage/3stHelen_fur.png b/Models/3-Stage/3stHelen_fur.png new file mode 100644 index 0000000..b3c53a5 Binary files /dev/null and b/Models/3-Stage/3stHelen_fur.png differ diff --git a/Models/3-Stage/3stHelen_fur.png.import b/Models/3-Stage/3stHelen_fur.png.import new file mode 100644 index 0000000..5fc31ff --- /dev/null +++ b/Models/3-Stage/3stHelen_fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtd42wohdk5nf" +path.s3tc="res://.godot/imported/3stHelen_fur.png-9bde7d93521e058da6cc6f8f43774856.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_fur.png-9bde7d93521e058da6cc6f8f43774856.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d622cd261604f2451fe93281e2085d70" +} + +[deps] + +source_file="res://Models/3-Stage/3stHelen_fur.png" +dest_files=["res://.godot/imported/3stHelen_fur.png-9bde7d93521e058da6cc6f8f43774856.s3tc.ctex", "res://.godot/imported/3stHelen_fur.png-9bde7d93521e058da6cc6f8f43774856.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/3-Stage/3stHelen_hair.png b/Models/3-Stage/3stHelen_hair.png new file mode 100644 index 0000000..56bd6e2 Binary files /dev/null and b/Models/3-Stage/3stHelen_hair.png differ diff --git a/Models/3-Stage/3stHelen_hair.png.import b/Models/3-Stage/3stHelen_hair.png.import new file mode 100644 index 0000000..d34e5f2 --- /dev/null +++ b/Models/3-Stage/3stHelen_hair.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3264mrednlbd" +path.s3tc="res://.godot/imported/3stHelen_hair.png-0b37fd8e5c162c865cb4a11d468dd921.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_hair.png-0b37fd8e5c162c865cb4a11d468dd921.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "35bb2072abe8c8e39214dcb47ee5fc3a" +} + +[deps] + +source_file="res://Models/3-Stage/3stHelen_hair.png" +dest_files=["res://.godot/imported/3stHelen_hair.png-0b37fd8e5c162c865cb4a11d468dd921.s3tc.ctex", "res://.godot/imported/3stHelen_hair.png-0b37fd8e5c162c865cb4a11d468dd921.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/3stHelen_shoes.png b/Models/3-Stage/3stHelen_shoes.png similarity index 100% rename from Models/3stHelen_shoes.png rename to Models/3-Stage/3stHelen_shoes.png diff --git a/Models/3stHelen_shoes.png.import b/Models/3-Stage/3stHelen_shoes.png.import similarity index 60% rename from Models/3stHelen_shoes.png.import rename to Models/3-Stage/3stHelen_shoes.png.import index 65f1332..ade3f95 100644 --- a/Models/3stHelen_shoes.png.import +++ b/Models/3-Stage/3stHelen_shoes.png.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://cm8h5o5urcvym" -path.s3tc="res://.godot/imported/3stHelen_shoes.png-97c060c3fc3442bff6f75c94bc90506a.s3tc.ctex" -path.etc2="res://.godot/imported/3stHelen_shoes.png-97c060c3fc3442bff6f75c94bc90506a.etc2.ctex" +path.s3tc="res://.godot/imported/3stHelen_shoes.png-61154e88a8b3c30e2bfb4db457818ce0.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_shoes.png-61154e88a8b3c30e2bfb4db457818ce0.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -15,8 +15,8 @@ generator_parameters={ [deps] -source_file="res://Models/3stHelen_shoes.png" -dest_files=["res://.godot/imported/3stHelen_shoes.png-97c060c3fc3442bff6f75c94bc90506a.s3tc.ctex", "res://.godot/imported/3stHelen_shoes.png-97c060c3fc3442bff6f75c94bc90506a.etc2.ctex"] +source_file="res://Models/3-Stage/3stHelen_shoes.png" +dest_files=["res://.godot/imported/3stHelen_shoes.png-61154e88a8b3c30e2bfb4db457818ce0.s3tc.ctex", "res://.godot/imported/3stHelen_shoes.png-61154e88a8b3c30e2bfb4db457818ce0.etc2.ctex"] [params] diff --git a/Models/3stHelen.glb b/Models/3stHelen.glb deleted file mode 100644 index 06ed7ec..0000000 Binary files a/Models/3stHelen.glb and /dev/null differ diff --git a/Models/Balcony/BalconyStage.glb b/Models/Balcony/BalconyStage.glb new file mode 100644 index 0000000..4d14ed5 Binary files /dev/null and b/Models/Balcony/BalconyStage.glb differ diff --git a/Models/Helen.fbx.import b/Models/Balcony/BalconyStage.glb.import similarity index 64% rename from Models/Helen.fbx.import rename to Models/Balcony/BalconyStage.glb.import index 11a121e..a005e55 100644 --- a/Models/Helen.fbx.import +++ b/Models/Balcony/BalconyStage.glb.import @@ -3,13 +3,13 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://5i7srffes8ut" -path="res://.godot/imported/Helen.fbx-a3dcdd674756aa7b6860353ece3f39df.scn" +uid="uid://c6n4otfble154" +path="res://.godot/imported/BalconyStage.glb-30f76dcef53d0e1cd152a84572aefbee.scn" [deps] -source_file="res://3-Stage/Models/Helen.fbx" -dest_files=["res://.godot/imported/Helen.fbx-a3dcdd674756aa7b6860353ece3f39df.scn"] +source_file="res://Models/Balcony/BalconyStage.glb" +dest_files=["res://.godot/imported/BalconyStage.glb-30f76dcef53d0e1cd152a84572aefbee.scn"] [params] @@ -28,11 +28,10 @@ meshes/force_disable_compression=false skins/use_named_skins=true animation/import=true animation/fps=30 -animation/trimming=true +animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" _subresources={} -fbx/importer=0 -fbx/allow_geometry_helper_nodes=false -fbx/embedded_image_handling=1 +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/ChuckEsCorner/ChuckEsCornerStage.glb b/Models/ChuckEsCorner/ChuckEsCornerStage.glb new file mode 100644 index 0000000..4b206e4 Binary files /dev/null and b/Models/ChuckEsCorner/ChuckEsCornerStage.glb differ diff --git a/Models/Chuck.fbx.import b/Models/ChuckEsCorner/ChuckEsCornerStage.glb.import similarity index 62% rename from Models/Chuck.fbx.import rename to Models/ChuckEsCorner/ChuckEsCornerStage.glb.import index fee6fc1..94fd5f3 100644 --- a/Models/Chuck.fbx.import +++ b/Models/ChuckEsCorner/ChuckEsCornerStage.glb.import @@ -3,13 +3,13 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://cs0va7jp6fjfa" -path="res://.godot/imported/Chuck.fbx-e0f76e66bd2d66a68bf43edbd8d1d948.scn" +uid="uid://bv66hlbvtekho" +path="res://.godot/imported/ChuckEsCornerStage.glb-972590d495adda7be8c93e6d0989aa24.scn" [deps] -source_file="res://3-Stage/Models/Chuck.fbx" -dest_files=["res://.godot/imported/Chuck.fbx-e0f76e66bd2d66a68bf43edbd8d1d948.scn"] +source_file="res://Models/ChuckEsCorner/ChuckEsCornerStage.glb" +dest_files=["res://.godot/imported/ChuckEsCornerStage.glb-972590d495adda7be8c93e6d0989aa24.scn"] [params] @@ -28,11 +28,10 @@ meshes/force_disable_compression=false skins/use_named_skins=true animation/import=true animation/fps=30 -animation/trimming=true +animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" _subresources={} -fbx/importer=0 -fbx/allow_geometry_helper_nodes=false -fbx/embedded_image_handling=1 +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/Models/ChuckEsCorner/ChuckEsCornerStage_Chuck_Es_Corner_1.png b/Models/ChuckEsCorner/ChuckEsCornerStage_Chuck_Es_Corner_1.png new file mode 100644 index 0000000..7cc6469 Binary files /dev/null and b/Models/ChuckEsCorner/ChuckEsCornerStage_Chuck_Es_Corner_1.png differ diff --git a/Models/ChuckEsCorner/ChuckEsCornerStage_Chuck_Es_Corner_1.png.import b/Models/ChuckEsCorner/ChuckEsCornerStage_Chuck_Es_Corner_1.png.import new file mode 100644 index 0000000..814f541 --- /dev/null +++ b/Models/ChuckEsCorner/ChuckEsCornerStage_Chuck_Es_Corner_1.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://buqvxu4n8q6qc" +path.s3tc="res://.godot/imported/ChuckEsCornerStage_Chuck_Es_Corner_1.png-df2de8b158e2601de4629961436b760a.s3tc.ctex" +path.etc2="res://.godot/imported/ChuckEsCornerStage_Chuck_Es_Corner_1.png-df2de8b158e2601de4629961436b760a.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "91cacf7bfdf049e3b957402daac9df21" +} + +[deps] + +source_file="res://Models/ChuckEsCorner/ChuckEsCornerStage_Chuck_Es_Corner_1.png" +dest_files=["res://.godot/imported/ChuckEsCornerStage_Chuck_Es_Corner_1.png-df2de8b158e2601de4629961436b760a.s3tc.ctex", "res://.godot/imported/ChuckEsCornerStage_Chuck_Es_Corner_1.png-df2de8b158e2601de4629961436b760a.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/ChuckEsCorner/data.bin b/Models/ChuckEsCorner/data.bin new file mode 100644 index 0000000..d8a7f6a Binary files /dev/null and b/Models/ChuckEsCorner/data.bin differ diff --git a/Models/Cyberamics/Cyber Helen.glb b/Models/Cyberamics/Cyber Helen.glb new file mode 100644 index 0000000..c58dd1f Binary files /dev/null and b/Models/Cyberamics/Cyber Helen.glb differ diff --git a/Models/Munch.fbx.import b/Models/Cyberamics/Cyber Helen.glb.import similarity index 64% rename from Models/Munch.fbx.import rename to Models/Cyberamics/Cyber Helen.glb.import index 748c19c..0bec33a 100644 --- a/Models/Munch.fbx.import +++ b/Models/Cyberamics/Cyber Helen.glb.import @@ -3,13 +3,13 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://y5jsfwdmgwkq" -path="res://.godot/imported/Munch.fbx-5aedcf1ca9583a75c301f71dc6519957.scn" +uid="uid://d34xfaignny8j" +path="res://.godot/imported/Cyber Helen.glb-3f0344c1f3e746ac81eea3dfffd7e005.scn" [deps] -source_file="res://3-Stage/Models/Munch.fbx" -dest_files=["res://.godot/imported/Munch.fbx-5aedcf1ca9583a75c301f71dc6519957.scn"] +source_file="res://Models/Cyberamics/Cyber Helen.glb" +dest_files=["res://.godot/imported/Cyber Helen.glb-3f0344c1f3e746ac81eea3dfffd7e005.scn"] [params] @@ -28,11 +28,10 @@ meshes/force_disable_compression=false skins/use_named_skins=true animation/import=true animation/fps=30 -animation/trimming=true +animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" _subresources={} -fbx/importer=0 -fbx/allow_geometry_helper_nodes=false -fbx/embedded_image_handling=1 +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/Models/Cyberamics/Cyber Helen_beak.png b/Models/Cyberamics/Cyber Helen_beak.png new file mode 100644 index 0000000..7b16303 Binary files /dev/null and b/Models/Cyberamics/Cyber Helen_beak.png differ diff --git a/Models/Cyberamics/Cyber Helen_beak.png.import b/Models/Cyberamics/Cyber Helen_beak.png.import new file mode 100644 index 0000000..400ab2a --- /dev/null +++ b/Models/Cyberamics/Cyber Helen_beak.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt2k7wwpcttwx" +path.s3tc="res://.godot/imported/Cyber Helen_beak.png-dafc891d002e04d99d222183d0d236ea.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Helen_beak.png-dafc891d002e04d99d222183d0d236ea.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "660d81a1bf46d22fbda7523d081ce944" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Helen_beak.png" +dest_files=["res://.godot/imported/Cyber Helen_beak.png-dafc891d002e04d99d222183d0d236ea.s3tc.ctex", "res://.godot/imported/Cyber Helen_beak.png-dafc891d002e04d99d222183d0d236ea.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 Helen_eyes.png b/Models/Cyberamics/Cyber Helen_eyes.png new file mode 100644 index 0000000..6b69d6d Binary files /dev/null and b/Models/Cyberamics/Cyber Helen_eyes.png differ diff --git a/Models/Cyberamics/Cyber Helen_eyes.png.import b/Models/Cyberamics/Cyber Helen_eyes.png.import new file mode 100644 index 0000000..7f8cc01 --- /dev/null +++ b/Models/Cyberamics/Cyber Helen_eyes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://u6c8i8hmf55l" +path.s3tc="res://.godot/imported/Cyber Helen_eyes.png-c8e727972f281835cc003dd052d0e371.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Helen_eyes.png-c8e727972f281835cc003dd052d0e371.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "f3d293a05f8484be8751f38e0651eb91" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Helen_eyes.png" +dest_files=["res://.godot/imported/Cyber Helen_eyes.png-c8e727972f281835cc003dd052d0e371.s3tc.ctex", "res://.godot/imported/Cyber Helen_eyes.png-c8e727972f281835cc003dd052d0e371.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 Helen_fur.png b/Models/Cyberamics/Cyber Helen_fur.png new file mode 100644 index 0000000..b3c53a5 Binary files /dev/null and b/Models/Cyberamics/Cyber Helen_fur.png differ diff --git a/Models/Cyberamics/Cyber Helen_fur.png.import b/Models/Cyberamics/Cyber Helen_fur.png.import new file mode 100644 index 0000000..b2c4a7c --- /dev/null +++ b/Models/Cyberamics/Cyber Helen_fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b874br054h4u6" +path.s3tc="res://.godot/imported/Cyber Helen_fur.png-25e5870ed95edb351ef0f52eda54dda5.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Helen_fur.png-25e5870ed95edb351ef0f52eda54dda5.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d622cd261604f2451fe93281e2085d70" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Helen_fur.png" +dest_files=["res://.godot/imported/Cyber Helen_fur.png-25e5870ed95edb351ef0f52eda54dda5.s3tc.ctex", "res://.godot/imported/Cyber Helen_fur.png-25e5870ed95edb351ef0f52eda54dda5.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 Helen_hair.png b/Models/Cyberamics/Cyber Helen_hair.png new file mode 100644 index 0000000..56bd6e2 Binary files /dev/null and b/Models/Cyberamics/Cyber Helen_hair.png differ diff --git a/Models/Cyberamics/Cyber Helen_hair.png.import b/Models/Cyberamics/Cyber Helen_hair.png.import new file mode 100644 index 0000000..c80b9e7 --- /dev/null +++ b/Models/Cyberamics/Cyber Helen_hair.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv65pevudy3dk" +path.s3tc="res://.godot/imported/Cyber Helen_hair.png-7eb38b10a596be14320077537c5df16f.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Helen_hair.png-7eb38b10a596be14320077537c5df16f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "35bb2072abe8c8e39214dcb47ee5fc3a" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Helen_hair.png" +dest_files=["res://.godot/imported/Cyber Helen_hair.png-7eb38b10a596be14320077537c5df16f.s3tc.ctex", "res://.godot/imported/Cyber Helen_hair.png-7eb38b10a596be14320077537c5df16f.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 Helen_mic.png b/Models/Cyberamics/Cyber Helen_mic.png new file mode 100644 index 0000000..72ef3ea Binary files /dev/null and b/Models/Cyberamics/Cyber Helen_mic.png differ diff --git a/Models/Cyberamics/Cyber Helen_mic.png.import b/Models/Cyberamics/Cyber Helen_mic.png.import new file mode 100644 index 0000000..faf0cd6 --- /dev/null +++ b/Models/Cyberamics/Cyber Helen_mic.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b05jw1y0ukwqu" +path.s3tc="res://.godot/imported/Cyber Helen_mic.png-47fa0aeb51ad55b858b963218d0d6ecd.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Helen_mic.png-47fa0aeb51ad55b858b963218d0d6ecd.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "0c2b737299479570c7cc39c7685d4c62" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Helen_mic.png" +dest_files=["res://.godot/imported/Cyber Helen_mic.png-47fa0aeb51ad55b858b963218d0d6ecd.s3tc.ctex", "res://.godot/imported/Cyber Helen_mic.png-47fa0aeb51ad55b858b963218d0d6ecd.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.glb b/Models/Cyberamics/Cyber Jasper.glb new file mode 100644 index 0000000..e2fe313 Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper.glb differ diff --git a/Models/Cyberamics/Cyber Jasper.glb.import b/Models/Cyberamics/Cyber Jasper.glb.import new file mode 100644 index 0000000..58015b9 --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://ba7i8p8olef2s" +path="res://.godot/imported/Cyber Jasper.glb-7156eb669feb8aeef67d143d15c0b7ad.scn" + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper.glb" +dest_files=["res://.godot/imported/Cyber Jasper.glb-7156eb669feb8aeef67d143d15c0b7ad.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/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_eyes.png b/Models/Cyberamics/Cyber Jasper_eyes.png new file mode 100644 index 0000000..fb32529 Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_eyes.png differ diff --git a/Models/Cyberamics/Cyber Jasper_eyes.png.import b/Models/Cyberamics/Cyber Jasper_eyes.png.import new file mode 100644 index 0000000..131a261 --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_eyes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nwgwmia0tqak" +path.s3tc="res://.godot/imported/Cyber Jasper_eyes.png-3656e523e85be9bc7e5d4df443165869.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_eyes.png-3656e523e85be9bc7e5d4df443165869.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d05686d9b10603e16e5810f67def9d24" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_eyes.png" +dest_files=["res://.godot/imported/Cyber Jasper_eyes.png-3656e523e85be9bc7e5d4df443165869.s3tc.ctex", "res://.godot/imported/Cyber Jasper_eyes.png-3656e523e85be9bc7e5d4df443165869.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_muzzle.png b/Models/Cyberamics/Cyber Jasper_muzzle.png new file mode 100644 index 0000000..a6c47ad Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_muzzle.png differ diff --git a/Models/Cyberamics/Cyber Jasper_muzzle.png.import b/Models/Cyberamics/Cyber Jasper_muzzle.png.import new file mode 100644 index 0000000..d957bfc --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_muzzle.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyegy5aix0jnm" +path.s3tc="res://.godot/imported/Cyber Jasper_muzzle.png-1363f785a4c6b6366aae4b87bbe29a4a.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_muzzle.png-1363f785a4c6b6366aae4b87bbe29a4a.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "078b2003477a7c7835cfd9643aee65c3" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_muzzle.png" +dest_files=["res://.godot/imported/Cyber Jasper_muzzle.png-1363f785a4c6b6366aae4b87bbe29a4a.s3tc.ctex", "res://.godot/imported/Cyber Jasper_muzzle.png-1363f785a4c6b6366aae4b87bbe29a4a.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/Models/Cyberamics/Cyberamic Chuck.glb b/Models/Cyberamics/Cyberamic Chuck.glb new file mode 100644 index 0000000..140a7b3 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck.glb differ diff --git a/Models/Jasper.fbx.import b/Models/Cyberamics/Cyberamic Chuck.glb.import similarity index 63% rename from Models/Jasper.fbx.import rename to Models/Cyberamics/Cyberamic Chuck.glb.import index 820701e..faf11ce 100644 --- a/Models/Jasper.fbx.import +++ b/Models/Cyberamics/Cyberamic Chuck.glb.import @@ -3,13 +3,13 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://b4xrsr1w4t017" -path="res://.godot/imported/Jasper.fbx-172cc49326619adb06baca5b9e28470b.scn" +uid="uid://c2j62syov3skq" +path="res://.godot/imported/Cyberamic Chuck.glb-7640bcf570eaf553eddfec5de3e96502.scn" [deps] -source_file="res://3-Stage/Models/Jasper.fbx" -dest_files=["res://.godot/imported/Jasper.fbx-172cc49326619adb06baca5b9e28470b.scn"] +source_file="res://Models/Cyberamics/Cyberamic Chuck.glb" +dest_files=["res://.godot/imported/Cyberamic Chuck.glb-7640bcf570eaf553eddfec5de3e96502.scn"] [params] @@ -28,11 +28,10 @@ meshes/force_disable_compression=false skins/use_named_skins=true animation/import=true animation/fps=30 -animation/trimming=true +animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" _subresources={} -fbx/importer=0 -fbx/allow_geometry_helper_nodes=false -fbx/embedded_image_handling=1 +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png b/Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png new file mode 100644 index 0000000..473ca17 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png.import b/Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png.import new file mode 100644 index 0000000..516457a --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8li1pbbld1r6" +path.s3tc="res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d05498ddd2256dae1de9c85a416823f1" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.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/Cyberamic Chuck_avenger hat.png b/Models/Cyberamics/Cyberamic Chuck_avenger hat.png new file mode 100644 index 0000000..3b25282 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_avenger hat.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_avenger hat.png.import b/Models/Cyberamics/Cyberamic Chuck_avenger hat.png.import new file mode 100644 index 0000000..28242f2 --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_avenger hat.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://im1r1enoj4l3" +path.s3tc="res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "eda0a6f93a90b3b6fa865784593fcd9f" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_avenger hat.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.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/Cyberamic Chuck_cool chuck hat.png b/Models/Cyberamics/Cyberamic Chuck_cool chuck hat.png new file mode 100644 index 0000000..8ca275a Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_cool chuck hat.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_cool chuck hat.png.import b/Models/Cyberamics/Cyberamic Chuck_cool chuck hat.png.import new file mode 100644 index 0000000..3437fa1 --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_cool chuck hat.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgfogdr7mgqrn" +path.s3tc="res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "30dda0ec4550d8b59629241b11fcb967" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_cool chuck hat.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.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/Cyberamic Chuck_cool chuck shirt.png b/Models/Cyberamics/Cyberamic Chuck_cool chuck shirt.png new file mode 100644 index 0000000..167eb4d Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_cool chuck shirt.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_cool chuck shirt.png.import b/Models/Cyberamics/Cyberamic Chuck_cool chuck shirt.png.import new file mode 100644 index 0000000..70b496e --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_cool chuck shirt.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpyxdwmo2mitw" +path.s3tc="res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "47d45b1d7535be024d7328edf43a202e" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_cool chuck shirt.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.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/Cyberamic Chuck_derby.png b/Models/Cyberamics/Cyberamic Chuck_derby.png new file mode 100644 index 0000000..1f40a12 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_derby.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_derby.png.import b/Models/Cyberamics/Cyberamic Chuck_derby.png.import new file mode 100644 index 0000000..215a507 --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_derby.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbweai1832bm3" +path.s3tc="res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "b7dcfc8d03f78489056415859985c5e8" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_derby.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.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/Cyberamic Chuck_eyes.png b/Models/Cyberamics/Cyberamic Chuck_eyes.png new file mode 100644 index 0000000..14dcc16 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_eyes.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_eyes.png.import b/Models/Cyberamics/Cyberamic Chuck_eyes.png.import new file mode 100644 index 0000000..2a6d6da --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_eyes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n8fyvmnwkd5f" +path.s3tc="res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "de6b71a0b6b2ef973e666c75df9734be" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_eyes.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.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/Cyberamic Chuck_fur.png b/Models/Cyberamics/Cyberamic Chuck_fur.png new file mode 100644 index 0000000..30cd299 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_fur.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_fur.png.import b/Models/Cyberamics/Cyberamic Chuck_fur.png.import new file mode 100644 index 0000000..d39617c --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4tq7klloya28" +path.s3tc="res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "6dc122b4f22f3c13939182e577582275" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_fur.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.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/Cyberamic Chuck_jaw.png b/Models/Cyberamics/Cyberamic Chuck_jaw.png new file mode 100644 index 0000000..becab0e Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_jaw.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_jaw.png.import b/Models/Cyberamics/Cyberamic Chuck_jaw.png.import new file mode 100644 index 0000000..ac445d4 --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_jaw.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6i5p7ssueq1c" +path.s3tc="res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "dce09f49a6e472d9d20fd12ae0105263" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_jaw.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.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/Cyberamic Chuck_mic.png b/Models/Cyberamics/Cyberamic Chuck_mic.png new file mode 100644 index 0000000..72ef3ea Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_mic.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_mic.png.import b/Models/Cyberamics/Cyberamic Chuck_mic.png.import new file mode 100644 index 0000000..90d4bb4 --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_mic.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btm7ni51m76xy" +path.s3tc="res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "0c2b737299479570c7cc39c7685d4c62" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_mic.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.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/Cyberamic Chuck_modern jaw.png b/Models/Cyberamics/Cyberamic Chuck_modern jaw.png new file mode 100644 index 0000000..63dcf64 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_modern jaw.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_modern jaw.png.import b/Models/Cyberamics/Cyberamic Chuck_modern jaw.png.import new file mode 100644 index 0000000..46cadc4 --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_modern jaw.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2im7s145j3ba" +path.s3tc="res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "40535739a152a771fa57e75e1df9b011" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_modern jaw.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.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/Cyberamic Chuck_vest.png b/Models/Cyberamics/Cyberamic Chuck_vest.png new file mode 100644 index 0000000..594a1b9 Binary files /dev/null and b/Models/Cyberamics/Cyberamic Chuck_vest.png differ diff --git a/Models/Cyberamics/Cyberamic Chuck_vest.png.import b/Models/Cyberamics/Cyberamic Chuck_vest.png.import new file mode 100644 index 0000000..3a6567d --- /dev/null +++ b/Models/Cyberamics/Cyberamic Chuck_vest.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjjfoyalnst1d" +path.s3tc="res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.s3tc.ctex" +path.etc2="res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "cdfb9781f38ce700fb6a6329107289e5" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyberamic Chuck_vest.png" +dest_files=["res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.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/Warblettes.glb b/Models/Cyberamics/Warblettes.glb new file mode 100644 index 0000000..222c974 Binary files /dev/null and b/Models/Cyberamics/Warblettes.glb differ diff --git a/Models/Cyberamics/Warblettes.glb.import b/Models/Cyberamics/Warblettes.glb.import new file mode 100644 index 0000000..598bb73 --- /dev/null +++ b/Models/Cyberamics/Warblettes.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dmh5upwts8y11" +path="res://.godot/imported/Warblettes.glb-4411a6da11355afeccccd99ded899996.scn" + +[deps] + +source_file="res://Models/Cyberamics/Warblettes.glb" +dest_files=["res://.godot/imported/Warblettes.glb-4411a6da11355afeccccd99ded899996.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/Cyberamics/Warblettes_fur.png b/Models/Cyberamics/Warblettes_fur.png new file mode 100644 index 0000000..b903419 Binary files /dev/null and b/Models/Cyberamics/Warblettes_fur.png differ diff --git a/Models/Cyberamics/Warblettes_fur.png.import b/Models/Cyberamics/Warblettes_fur.png.import new file mode 100644 index 0000000..aa9cbfb --- /dev/null +++ b/Models/Cyberamics/Warblettes_fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jp06lvl1l4kf" +path.s3tc="res://.godot/imported/Warblettes_fur.png-9635d2a2f1884e838e8285a0042af334.s3tc.ctex" +path.etc2="res://.godot/imported/Warblettes_fur.png-9635d2a2f1884e838e8285a0042af334.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "e63b9c660d716af6780b5637f38da662" +} + +[deps] + +source_file="res://Models/Cyberamics/Warblettes_fur.png" +dest_files=["res://.godot/imported/Warblettes_fur.png-9635d2a2f1884e838e8285a0042af334.s3tc.ctex", "res://.godot/imported/Warblettes_fur.png-9635d2a2f1884e838e8285a0042af334.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/Room.glb b/Models/HelenHouse/HelenHouse-Room.glb similarity index 100% rename from Models/Room.glb rename to Models/HelenHouse/HelenHouse-Room.glb diff --git a/Models/Room.glb.import b/Models/HelenHouse/HelenHouse-Room.glb.import similarity index 74% rename from Models/Room.glb.import rename to Models/HelenHouse/HelenHouse-Room.glb.import index a2980ee..ec642f8 100644 --- a/Models/Room.glb.import +++ b/Models/HelenHouse/HelenHouse-Room.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://bhoeqcsdb0fx2" -path="res://.godot/imported/Room.glb-057b6820edeabb93a1fe769eeffdac34.scn" +path="res://.godot/imported/HelenHouse-Room.glb-d039721f5e781fffec7d16cd58395499.scn" [deps] -source_file="res://Models/Room.glb" -dest_files=["res://.godot/imported/Room.glb-057b6820edeabb93a1fe769eeffdac34.scn"] +source_file="res://Models/HelenHouse/HelenHouse-Room.glb" +dest_files=["res://.godot/imported/HelenHouse-Room.glb-d039721f5e781fffec7d16cd58395499.scn"] [params] diff --git a/Models/Stage.glb b/Models/HelenHouse/HelenHouse-Stage.glb similarity index 100% rename from Models/Stage.glb rename to Models/HelenHouse/HelenHouse-Stage.glb diff --git a/Models/Stage.glb.import b/Models/HelenHouse/HelenHouse-Stage.glb.import similarity index 74% rename from Models/Stage.glb.import rename to Models/HelenHouse/HelenHouse-Stage.glb.import index f5efa03..43b6dd4 100644 --- a/Models/Stage.glb.import +++ b/Models/HelenHouse/HelenHouse-Stage.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://btvomf1ayoypu" -path="res://.godot/imported/Stage.glb-38d445218888b57ffbbfd79eb6fd72c0.scn" +path="res://.godot/imported/HelenHouse-Stage.glb-3682deea9f5a1b3381bc9010b144dd14.scn" [deps] -source_file="res://Models/Stage.glb" -dest_files=["res://.godot/imported/Stage.glb-38d445218888b57ffbbfd79eb6fd72c0.scn"] +source_file="res://Models/HelenHouse/HelenHouse-Stage.glb" +dest_files=["res://.godot/imported/HelenHouse-Stage.glb-3682deea9f5a1b3381bc9010b144dd14.scn"] [params] diff --git a/Models/Pasqually.fbx.import b/Models/Pasqually.fbx.import deleted file mode 100644 index 4eec3f9..0000000 --- a/Models/Pasqually.fbx.import +++ /dev/null @@ -1,38 +0,0 @@ -[remap] - -importer="scene" -importer_version=1 -type="PackedScene" -uid="uid://c66qevr67an0l" -path="res://.godot/imported/Pasqually.fbx-764599cdc792a8e7936bfd485f85d0d3.scn" - -[deps] - -source_file="res://3-Stage/Models/Pasqually.fbx" -dest_files=["res://.godot/imported/Pasqually.fbx-764599cdc792a8e7936bfd485f85d0d3.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=true -animation/remove_immutable_tracks=true -animation/import_rest_as_RESET=false -import_script/path="" -_subresources={} -fbx/importer=0 -fbx/allow_geometry_helper_nodes=false -fbx/embedded_image_handling=1 diff --git a/Scenes/GUI/Controls/CameraButton.tscn b/Scenes/GUI/Controls/CameraButton.tscn new file mode 100644 index 0000000..c49bfca --- /dev/null +++ b/Scenes/GUI/Controls/CameraButton.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=3 uid="uid://bt7bxdgv6u8ev"] + +[ext_resource type="Script" uid="uid://dfoog0y2bh7tk" path="res://Scripts/CameraButton.gd" id="1_3y3s1"] + +[node name="CameraButton" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 136.0 +offset_bottom = 32.0 +script = ExtResource("1_3y3s1") + +[node name="Button" type="Button" parent="."] +layout_mode = 0 +offset_left = 4.0 +offset_right = 132.0 +offset_bottom = 32.0 +text = "Angle" + +[connection signal="pressed" from="Button" to="." method="_on_button_pressed"] diff --git a/Scenes/GUI/Controls/CosmeticAdjustment.tscn b/Scenes/GUI/Controls/CosmeticAdjustment.tscn new file mode 100644 index 0000000..75b90ef --- /dev/null +++ b/Scenes/GUI/Controls/CosmeticAdjustment.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=2 format=3 uid="uid://dfll7xwkb2mbi"] + +[ext_resource type="Script" uid="uid://1f7v3ohsgx0g" path="res://Scripts/CosmeticAdjustment.gd" id="1_fg0vw"] + +[node name="FlowControl" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 384.0 +offset_bottom = 40.0 +script = ExtResource("1_fg0vw") + +[node name="Panel" type="Panel" parent="."] +layout_mode = 0 +offset_right = 384.0 +offset_bottom = 40.0 + +[node name="Label" type="Label" parent="Panel"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 184.0 +offset_bottom = 36.0 +text = "Cosmetic Adustment" +vertical_alignment = 1 +clip_text = true +text_overrun_behavior = 3 + +[node name="OptionButton" type="OptionButton" parent="Panel"] +layout_mode = 0 +offset_left = 188.0 +offset_top = 4.0 +offset_right = 380.0 +offset_bottom = 36.0 + +[connection signal="item_selected" from="Panel/OptionButton" to="." method="_on_option_button_item_selected"] diff --git a/Scenes/GUI/Controls/FlowControl.tscn b/Scenes/GUI/Controls/FlowControl.tscn new file mode 100644 index 0000000..c711895 --- /dev/null +++ b/Scenes/GUI/Controls/FlowControl.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=2 format=3 uid="uid://blg1c3v4o44of"] + +[ext_resource type="Script" uid="uid://blhv0kms1sleu" path="res://Scripts/FlowControl.gd" id="1_6sy3t"] + +[node name="FlowControl" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 512.0 +offset_bottom = 40.0 +script = ExtResource("1_6sy3t") + +[node name="Panel" type="Panel" parent="."] +layout_mode = 0 +offset_right = 512.0 +offset_bottom = 40.0 + +[node name="Label" type="Label" parent="Panel"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 244.0 +offset_bottom = 36.0 +text = "Movement" +vertical_alignment = 1 +clip_text = true +text_overrun_behavior = 3 + +[node name="InStepper" type="SpinBox" parent="Panel"] +layout_mode = 0 +offset_left = 248.0 +offset_top = 4.0 +offset_right = 376.0 +offset_bottom = 36.0 +max_value = 10000.0 +step = 0.1 +value = 1.0 +prefix = "In:" + +[node name="OutStepper" type="SpinBox" parent="Panel"] +layout_mode = 0 +offset_left = 380.0 +offset_top = 4.0 +offset_right = 508.0 +offset_bottom = 36.0 +max_value = 10.0 +step = 0.1 +value = 1.0 +prefix = "Out:" + +[connection signal="value_changed" from="Panel/InStepper" to="." method="_on_in_stepper_value_changed"] +[connection signal="value_changed" from="Panel/OutStepper" to="." method="_on_out_stepper_value_changed"] diff --git a/Scenes/GUI/Controls/FlowSlider.tscn b/Scenes/GUI/Controls/FlowSlider.tscn deleted file mode 100644 index d2dfd56..0000000 --- a/Scenes/GUI/Controls/FlowSlider.tscn +++ /dev/null @@ -1,42 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://blg1c3v4o44of"] - -[ext_resource type="Script" uid="uid://blhv0kms1sleu" path="res://Scripts/FlowSlider.gd" id="1_q164o"] - -[node name="FlowSlider" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_right = -1280.0 -offset_bottom = -720.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_q164o") - -[node name="Panel" type="Panel" parent="."] -layout_mode = 0 -offset_right = 96.0 -offset_bottom = 32.0 - -[node name="Slider" type="HSlider" parent="Panel"] -layout_mode = 2 -offset_left = 4.0 -offset_right = 64.0 -offset_bottom = 32.0 -size_flags_vertical = 1 -max_value = 5.0 -step = 0.1 -value = 1.0 - -[node name="ValueLabel" type="Label" parent="Panel"] -layout_mode = 2 -offset_left = 64.0 -offset_right = 96.0 -offset_bottom = 32.0 -size_flags_horizontal = 8 -size_flags_vertical = 1 -text = "1.0" -horizontal_alignment = 1 -vertical_alignment = 1 - -[connection signal="value_changed" from="Panel/Slider" to="." method="_on_slider_value_changed"] diff --git a/Scenes/GUI/Controls/IndicatorLight.tscn b/Scenes/GUI/Controls/MovementButton.tscn similarity index 51% rename from Scenes/GUI/Controls/IndicatorLight.tscn rename to Scenes/GUI/Controls/MovementButton.tscn index 998e838..0200f4a 100644 --- a/Scenes/GUI/Controls/IndicatorLight.tscn +++ b/Scenes/GUI/Controls/MovementButton.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://cbf3x44mvo701"] -[ext_resource type="Script" uid="uid://cg157l4uo7ki8" path="res://Scripts/IndicatorLight.gd" id="1_l718a"] +[ext_resource type="Script" uid="uid://cg157l4uo7ki8" path="res://Scripts/MovementButton.gd" id="1_l718a"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1pi70"] bg_color = Color(0, 0, 0, 1) @@ -16,23 +16,26 @@ corner_radius_top_right = 12 corner_radius_bottom_right = 12 corner_radius_bottom_left = 12 -[node name="IndicatorLight" type="Control"] +[node name="MovementButton" type="Control"] layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_right = -1280.0 -offset_bottom = -720.0 -grow_horizontal = 2 -grow_vertical = 2 +anchors_preset = 0 +offset_right = 256.0 +offset_bottom = 40.0 script = ExtResource("1_l718a") -[node name="Container" type="Panel" parent="."] +[node name="Panel" type="Panel" parent="."] layout_mode = 0 -offset_right = 32.0 -offset_bottom = 32.0 +offset_right = 256.0 +offset_bottom = 40.0 -[node name="Black" type="Panel" parent="."] +[node name="IndicatorPanel" type="Panel" parent="Panel"] +layout_mode = 0 +offset_left = 220.0 +offset_top = 4.0 +offset_right = 252.0 +offset_bottom = 36.0 + +[node name="Black" type="Panel" parent="Panel/IndicatorPanel"] layout_mode = 0 offset_left = 4.0 offset_top = 4.0 @@ -40,10 +43,22 @@ offset_right = 28.0 offset_bottom = 28.0 theme_override_styles/panel = SubResource("StyleBoxFlat_1pi70") -[node name="Green" type="Panel" parent="."] +[node name="Green" type="Panel" parent="Panel/IndicatorPanel"] +visible = false layout_mode = 0 offset_left = 4.0 offset_top = 4.0 offset_right = 28.0 offset_bottom = 28.0 theme_override_styles/panel = SubResource("StyleBoxFlat_5m0fm") + +[node name="Button" type="Button" parent="Panel"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 216.0 +offset_bottom = 36.0 +text = "Movement" + +[connection signal="button_down" from="Panel/Button" to="." method="_on_button_button_down"] +[connection signal="button_up" from="Panel/Button" to="." method="_on_button_button_up"] diff --git a/Scenes/GUI/Controls/MovementRow.tscn b/Scenes/GUI/Controls/MovementRow.tscn index d8ddf35..e8354c5 100644 --- a/Scenes/GUI/Controls/MovementRow.tscn +++ b/Scenes/GUI/Controls/MovementRow.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=5 format=3 uid="uid://dtkqaw5533rxy"] +[gd_scene load_steps=7 format=3 uid="uid://dtkqaw5533rxy"] [ext_resource type="StyleBox" uid="uid://d17amc25o63p1" path="res://UI/Themes/MovementsPanelOverride.tres" id="1_d1xev"] [ext_resource type="Script" uid="uid://tn3aaldu7mm2" path="res://Scripts/MovementRow.gd" id="1_rm5t0"] [ext_resource type="Texture2D" uid="uid://cn5xdrxdv622h" path="res://UI/SmallX.png" id="2_e7anl"] +[ext_resource type="Texture2D" uid="uid://d007317123e27" path="res://UI/SmallLock.png" id="3_ldhn8"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rm5t0"] bg_color = Color(0, 1, 0, 1) @@ -11,6 +12,17 @@ corner_radius_top_right = 4 corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ldhn8"] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +bg_color = Color(1, 0.752941, 0, 1) +corner_radius_top_left = 2 +corner_radius_top_right = 2 +corner_radius_bottom_right = 2 +corner_radius_bottom_left = 2 + [node name="Row" type="Panel"] anchors_preset = 10 anchor_right = 1.0 @@ -36,6 +48,8 @@ offset_bottom = 36.0 tooltip_text = "Click to bind a key to this movement" text = "0 - Name (Unbound)" alignment = 0 +text_overrun_behavior = 3 +clip_text = true [node name="ClearButton" type="Button" parent="."] layout_mode = 0 @@ -46,6 +60,17 @@ offset_bottom = 20.0 tooltip_text = "Clear this row" icon = ExtResource("2_e7anl") +[node name="LockButton" type="Button" parent="."] +layout_mode = 0 +offset_left = 244.0 +offset_top = 20.0 +offset_right = 260.0 +offset_bottom = 36.0 +tooltip_text = "Prevent recording over" +theme_override_styles/pressed = SubResource("StyleBoxFlat_ldhn8") +toggle_mode = true +icon = ExtResource("3_ldhn8") + [node name="MovementsBG" type="Panel" parent="."] layout_mode = 1 anchors_preset = -1 diff --git a/Scenes/GUI/EditorScreen.tscn b/Scenes/GUI/EditorScreen.tscn index 22756cc..3d97c93 100644 --- a/Scenes/GUI/EditorScreen.tscn +++ b/Scenes/GUI/EditorScreen.tscn @@ -2,18 +2,18 @@ [ext_resource type="Script" uid="uid://dfiwoln8mdwm8" path="res://Scripts/EditorScreen.gd" id="1_sd512"] [ext_resource type="Theme" uid="uid://dbgs4id7y5d1c" path="res://UI/Themes/Dark.tres" id="1_v0ton"] -[ext_resource type="PackedScene" uid="uid://btre5j66mpchy" path="res://Scenes/Stages/Helen House/HelenHouse.tscn" id="2_p1t5g"] [ext_resource type="Texture2D" uid="uid://xllpr3qc064c" path="res://UI/Play.png" id="3_g6u4d"] [ext_resource type="Texture2D" uid="uid://dgacnkv2dc65s" path="res://UI/PlayBackwards.png" id="3_mr8sb"] [ext_resource type="Texture2D" uid="uid://dts4eh6hyt8p3" path="res://UI/SkipBackwards.png" id="3_r4ytj"] +[ext_resource type="Texture2D" uid="uid://bpb3xn54kpxoe" path="res://UI/icon-32px.png" id="4_20noo"] [ext_resource type="Texture2D" uid="uid://bwhgy4u37jmo1" path="res://UI/Pause.png" id="4_ba3jn"] +[ext_resource type="Texture2D" uid="uid://s3yr2wasxv03" path="res://UI/BlankCam.png" id="4_v0ton"] [ext_resource type="Texture2D" uid="uid://dhx2v2fd0egxd" path="res://UI/FastBackwards.png" id="4_wy7jo"] [ext_resource type="Texture2D" uid="uid://cttgtbu1xllwq" path="res://UI/Stop.png" id="8_20noo"] [ext_resource type="Texture2D" uid="uid://dsr03w7r667fw" path="res://UI/FastForward.png" id="8_v0ton"] [ext_resource type="Texture2D" uid="uid://bphwtliq2ahus" path="res://UI/SkipForward.png" id="9_20noo"] [ext_resource type="Texture2D" uid="uid://ckg2ihy105ttj" path="res://UI/Record.png" id="10_wy7jo"] -[ext_resource type="PackedScene" uid="uid://dyuhywnk8heav" path="res://Scenes/Stages/Helen House/HelenHouseMovementRows.tscn" id="12_20noo"] -[ext_resource type="PackedScene" uid="uid://dwhrame6udwbh" path="res://Scenes/Stages/Helen House/HelenHouseFlyout.tscn" id="13_wy7jo"] +[ext_resource type="ButtonGroup" uid="uid://bij2tonqeslpt" path="res://Scenes/GUI/FlyoutButtonGroup.tres" id="13_wy7jo"] [sub_resource type="ViewportTexture" id="ViewportTexture_g6u4d"] viewport_path = NodePath("SubViewport") @@ -91,6 +91,14 @@ ok_button_text = "Proceed" dialog_text = "You have unsaved data! Are you sure you want to proceed?" cancel_button_text = "Do Not" +[node name="StageChangeOverwriteConfirmationDialog" type="ConfirmationDialog" parent="."] +auto_translate_mode = 1 +initial_position = 2 +size = Vector2i(472, 100) +ok_button_text = "Proceed" +dialog_text = "You have unsaved data! Are you sure you want to proceed?" +cancel_button_text = "Do Not" + [node name="FileDoesntExistDialog" type="AcceptDialog" parent="."] initial_position = 2 dialog_text = "The specified file does not exist." @@ -115,8 +123,6 @@ dialog_text = "This showtape is not compatible with the currently selected stage [node name="SubViewport" type="SubViewport" parent="."] size = Vector2i(1280, 720) -[node name="HelenHouse" parent="SubViewport" instance=ExtResource("2_p1t5g")] - [node name="ColorRect" type="ColorRect" parent="."] layout_mode = 1 anchors_preset = 15 @@ -126,19 +132,6 @@ grow_horizontal = 2 grow_vertical = 2 color = Color(0.187176, 0.187176, 0.187176, 1) -[node name="CameraPreview" type="TextureRect" parent="."] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 0.5 -anchor_right = 1.0 -offset_left = -4.0 -offset_top = 48.0 -offset_right = -4.0 -grow_horizontal = 0 -texture = SubResource("ViewportTexture_g6u4d") -expand_mode = 5 -stretch_mode = 6 - [node name="Label" type="Label" parent="."] layout_mode = 1 anchors_preset = -1 @@ -160,6 +153,35 @@ Open the Controls menu to see all of the keybinds." horizontal_alignment = 1 vertical_alignment = 1 +[node name="CameraPlaceholder" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = -4.0 +offset_top = 48.0 +offset_right = -4.0 +offset_bottom = 48.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("4_v0ton") +expand_mode = 1 + +[node name="CameraPreview" type="TextureRect" parent="."] +visible = false +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 1.0 +offset_left = -4.0 +offset_top = 48.0 +offset_right = -4.0 +grow_horizontal = 0 +texture = SubResource("ViewportTexture_g6u4d") +expand_mode = 5 +stretch_mode = 6 + [node name="MenuBar" type="Panel" parent="."] layout_mode = 1 anchors_preset = -1 @@ -177,9 +199,13 @@ offset_top = 4.0 offset_right = 260.0 offset_bottom = 36.0 selected = 0 -item_count = 1 -popup/item_0/text = "Helen House (Custom)" +item_count = 3 +popup/item_0/text = "Balcony Stage" popup/item_0/id = 0 +popup/item_1/text = "Helen House" +popup/item_1/id = 1 +popup/item_2/text = "Chuck E's Corner" +popup/item_2/id = 2 [node name="MenuButton" type="MenuButton" parent="MenuBar"] layout_mode = 0 @@ -220,13 +246,13 @@ anchor_left = 1.0 anchor_top = 0.5 anchor_right = 1.0 anchor_bottom = 0.5 -offset_left = -232.0 +offset_left = -264.0 offset_top = -16.0 -offset_right = -8.0 +offset_right = -40.0 offset_bottom = 16.0 grow_horizontal = 0 grow_vertical = 2 -text = "Pneumatic Plaything v0.3" +text = "Pneumatic Plaything v0.6" horizontal_alignment = 2 vertical_alignment = 1 @@ -239,6 +265,18 @@ offset_bottom = 36.0 text = "No showtape loaded." vertical_alignment = 1 +[node name="TextureRect" type="TextureRect" parent="MenuBar"] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -36.0 +offset_top = 4.0 +offset_right = -4.0 +offset_bottom = 36.0 +grow_horizontal = 0 +texture = ExtResource("4_20noo") + [node name="SequencerPanel" type="Panel" parent="."] layout_mode = 1 anchors_preset = -1 @@ -394,14 +432,14 @@ grow_vertical = 2 [node name="VScrollBar" type="VScrollBar" parent="SequencerPanel/TimelinePanel"] layout_mode = 1 -anchors_preset = -1 +anchors_preset = 9 anchor_bottom = 1.0 offset_left = 4.0 offset_top = 4.0 offset_right = 12.0 offset_bottom = -4.0 grow_vertical = 2 -max_value = 31.0 +max_value = 0.0 step = 1.0 [node name="InvisibleMask" type="Control" parent="SequencerPanel/TimelinePanel"] @@ -417,32 +455,166 @@ offset_bottom = -4.0 grow_horizontal = 2 grow_vertical = 2 -[node name="RowsHandle" type="Control" parent="SequencerPanel/TimelinePanel/InvisibleMask"] +[node name="MovementRowsContainer" type="Control" parent="SequencerPanel/TimelinePanel/InvisibleMask"] layout_mode = 1 -anchors_preset = 10 +anchors_preset = 15 anchor_right = 1.0 +anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="HelenHouseMovementRows" parent="SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle" instance=ExtResource("12_20noo")] +[node name="Playhead" type="VSeparator" parent="SequencerPanel/TimelinePanel/InvisibleMask"] layout_mode = 1 - -[node name="VSeparator" type="VSeparator" parent="SequencerPanel/TimelinePanel"] -layout_mode = 1 -anchors_preset = -1 +anchors_preset = 9 anchor_bottom = 1.0 -offset_left = 398.0 -offset_right = 4.0 +offset_left = 388.0 +offset_right = 392.0 grow_vertical = 2 -[node name="HelenHouseFlyout" parent="." instance=ExtResource("13_wy7jo")] +[node name="FlyoutPanel" type="Control" parent="."] layout_mode = 1 -anchors_preset = -1 anchor_bottom = 0.5 offset_left = 4.0 offset_top = 48.0 offset_right = 140.0 offset_bottom = 48.0 +grow_vertical = 2 + +[node name="FlyoutButtons" type="Panel" parent="FlyoutPanel"] +layout_mode = 1 +anchors_preset = 9 +anchor_bottom = 1.0 +offset_right = 136.0 +grow_vertical = 2 + +[node name="MovementsFlyoutButton" type="Button" parent="FlyoutPanel/FlyoutButtons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 132.0 +offset_bottom = 36.0 +toggle_mode = true +button_group = ExtResource("13_wy7jo") +text = "Movements" + +[node name="FlowsFlyoutButton" type="Button" parent="FlyoutPanel/FlyoutButtons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 40.0 +offset_right = 132.0 +offset_bottom = 72.0 +toggle_mode = true +button_group = ExtResource("13_wy7jo") +text = "Flows" + +[node name="CameraFlyoutButton" type="Button" parent="FlyoutPanel/FlyoutButtons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 76.0 +offset_right = 132.0 +offset_bottom = 108.0 +toggle_mode = true +button_group = ExtResource("13_wy7jo") +text = "Camera" + +[node name="CosmeticsFlyoutButton" type="Button" parent="FlyoutPanel/FlyoutButtons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 112.0 +offset_right = 132.0 +offset_bottom = 144.0 +toggle_mode = true +button_group = ExtResource("13_wy7jo") +text = "Cosmetics" + +[node name="Movements" type="Panel" parent="FlyoutPanel"] +visible = false +layout_mode = 0 +offset_left = 140.0 +offset_right = 416.0 +offset_bottom = 392.0 + +[node name="InvisibleMask" type="Control" parent="FlyoutPanel/Movements"] +clip_contents = true +layout_mode = 3 +anchors_preset = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 260.0 +offset_bottom = 388.0 + +[node name="MovementHandle" type="Control" parent="FlyoutPanel/Movements/InvisibleMask"] +anchors_preset = 0 + +[node name="VScrollBar" type="VScrollBar" parent="FlyoutPanel/Movements"] +layout_mode = 0 +offset_left = 264.0 +offset_top = 4.0 +offset_right = 272.0 +offset_bottom = 388.0 +max_value = 0.0 +step = 1.0 + +[node name="FlowControls" type="Panel" parent="FlyoutPanel"] +visible = false +layout_mode = 0 +offset_left = 140.0 +offset_right = 672.0 +offset_bottom = 392.0 + +[node name="InvisibleMask" type="Control" parent="FlyoutPanel/FlowControls"] +clip_contents = true +anchors_preset = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 516.0 +offset_bottom = 388.0 + +[node name="FlowHandle" type="Control" parent="FlyoutPanel/FlowControls/InvisibleMask"] +anchors_preset = 0 + +[node name="VScrollBar" type="VScrollBar" parent="FlyoutPanel/FlowControls"] +layout_mode = 0 +offset_left = 520.0 +offset_top = 4.0 +offset_right = 528.0 +offset_bottom = 388.0 +max_value = 0.0 +step = 1.0 + +[node name="Camera" type="Panel" parent="FlyoutPanel"] +visible = false +layout_mode = 0 +offset_left = 140.0 +offset_right = 276.0 +offset_bottom = 4.0 + +[node name="Cosmetics" type="Panel" parent="FlyoutPanel"] +visible = false +layout_mode = 0 +offset_left = 140.0 +offset_right = 544.0 +offset_bottom = 392.0 + +[node name="InvisibleMask" type="Control" parent="FlyoutPanel/Cosmetics"] +clip_contents = true +anchors_preset = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 388.0 +offset_bottom = 388.0 + +[node name="CosmeticsHandle" type="Control" parent="FlyoutPanel/Cosmetics/InvisibleMask"] +anchors_preset = 0 + +[node name="VScrollBar" type="VScrollBar" parent="FlyoutPanel/Cosmetics"] +layout_mode = 0 +offset_left = 392.0 +offset_top = 4.0 +offset_right = 400.0 +offset_bottom = 388.0 +max_value = 0.0 +step = 1.0 [node name="ControlsScreen" type="Control" parent="."] visible = false @@ -494,6 +666,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 text = "Fullscreen camera view: ESC +Fullscreen program: F11 or Alt+Enter Play/Pause: Space Play Reverse: Shift + Space Fast Forward: Shift + Right Arrow @@ -560,7 +733,10 @@ Project Oversight: Persephone (KawaiiZenbo) Interface Design: Persephone Simulator Backend: Persephone -3-Stage Helen Henny Model: 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." @@ -677,15 +853,6 @@ grow_horizontal = 2 grow_vertical = 2 placeholder_text = "Show Name" -[node name="StageTypeLabel" type="Label" parent="ShowtapeNewScreen/DialogPanel"] -layout_mode = 0 -offset_left = 8.0 -offset_top = 192.0 -offset_right = 264.0 -offset_bottom = 224.0 -text = "Creating for Helen House" -vertical_alignment = 1 - [node name="CancelButton" type="Button" parent="ShowtapeNewScreen/DialogPanel"] layout_mode = 0 offset_left = 309.0 @@ -760,6 +927,7 @@ horizontal_alignment = 1 vertical_alignment = 1 [node name="InFileLabel" type="Label" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 0 offset_left = 8.0 offset_top = 73.0 offset_right = 264.0 @@ -791,7 +959,18 @@ offset_bottom = 145.0 tooltip_text = "Browse for a file." text = "Browse" +[node name="ShowWaitMessage" type="Label" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 0 +offset_left = 8.0 +offset_top = 148.0 +offset_right = 374.0 +offset_bottom = 197.0 +text = "If shows are taking a long time to load, +consider compressing the audio to MP3 or OGG" +vertical_alignment = 1 + [node name="CancelButton" type="Button" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 0 offset_left = 309.0 offset_top = 216.0 offset_right = 405.0 @@ -800,6 +979,7 @@ text = "Cancel " [node name="OpenButton" type="Button" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 0 offset_left = 408.0 offset_top = 216.0 offset_right = 504.0 @@ -928,6 +1108,8 @@ expand_mode = 2 [connection signal="file_selected" from="SaveShowtapeFileDialog" to="." method="_on_save_showtape_file_dialog_file_selected"] [connection signal="confirmed" from="NewOverwriteConfirmationDialog" to="." method="_on_new_overwrite_confirmation_dialog_confirmed"] [connection signal="confirmed" from="LoadOverwriteConfirmationDialog" to="." method="_on_load_overwrite_confirmation_dialog_confirmed"] +[connection signal="confirmed" from="StageChangeOverwriteConfirmationDialog" to="." method="_on_stage_change_overwrite_confirmation_dialog_confirmed"] +[connection signal="item_selected" from="MenuBar/StageSelector" to="." method="_on_stage_selector_item_selected"] [connection signal="pressed" from="MenuBar/ControlsButton" to="." method="_on_controls_button_pressed"] [connection signal="pressed" from="MenuBar/CreditsButton" to="." method="_on_credits_button_pressed"] [connection signal="pressed" from="SequencerPanel/TransportControls/Centered/StepBackwardsButton" to="." method="_on_step_backwards_button_pressed"] @@ -940,6 +1122,13 @@ expand_mode = 2 [connection signal="pressed" from="SequencerPanel/TransportControls/Centered/StepForwardButton" to="." method="_on_step_forward_button_pressed"] [connection signal="toggled" from="SequencerPanel/TransportControls/RecordButton" to="." method="_on_record_button_toggled"] [connection signal="value_changed" from="SequencerPanel/TimelinePanel/VScrollBar" to="." method="_on_v_scroll_bar_value_changed"] +[connection signal="toggled" from="FlyoutPanel/FlyoutButtons/MovementsFlyoutButton" to="." method="_on_movements_flyout_button_toggled"] +[connection signal="toggled" from="FlyoutPanel/FlyoutButtons/FlowsFlyoutButton" to="." method="_on_flows_flyout_button_toggled"] +[connection signal="toggled" from="FlyoutPanel/FlyoutButtons/CameraFlyoutButton" to="." method="_on_camera_flyout_button_toggled"] +[connection signal="toggled" from="FlyoutPanel/FlyoutButtons/CosmeticsFlyoutButton" to="." method="_on_cosmetics_flyout_button_toggled"] +[connection signal="value_changed" from="FlyoutPanel/Movements/VScrollBar" to="." method="_on_movement_v_scroll_bar_value_changed"] +[connection signal="value_changed" from="FlyoutPanel/FlowControls/VScrollBar" to="." method="_on_flow_v_scroll_bar_value_changed"] +[connection signal="value_changed" from="FlyoutPanel/Cosmetics/VScrollBar" to="." method="_on_cosmetics_v_scroll_bar_value_changed"] [connection signal="pressed" from="ControlsScreen/InputEater" to="." method="_on_input_eater_pressed"] [connection signal="pressed" from="CreditsScreen/InputEater" to="." method="_on_input_eater_pressed"] [connection signal="pressed" from="ShowtapeNewScreen/InputEater" to="." method="_on_input_eater_pressed"] diff --git a/Scenes/Stages/Balcony.tscn b/Scenes/Stages/Balcony.tscn new file mode 100644 index 0000000..704418c --- /dev/null +++ b/Scenes/Stages/Balcony.tscn @@ -0,0 +1,319 @@ +[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 + +[node name="Balcony" type="Node3D"] + +[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("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.2, 3, -0.5) +script = ExtResource("2_t4ere") + +[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="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="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/Scenes/Stages/ChuckEsCorner.tscn b/Scenes/Stages/ChuckEsCorner.tscn new file mode 100644 index 0000000..9f1dbf9 --- /dev/null +++ b/Scenes/Stages/ChuckEsCorner.tscn @@ -0,0 +1,109 @@ +[gd_scene load_steps=7 format=3 uid="uid://dw3eplmapm5gc"] + +[ext_resource type="PackedScene" uid="uid://c2j62syov3skq" path="res://Models/Cyberamics/Cyberamic Chuck.glb" id="1_t27ru"] +[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="2_8qvk7"] +[ext_resource type="PackedScene" uid="uid://bv66hlbvtekho" path="res://Models/ChuckEsCorner/ChuckEsCornerStage.glb" id="3_8qvk7"] +[ext_resource type="PackedScene" uid="uid://dmh5upwts8y11" path="res://Models/Cyberamics/Warblettes.glb" id="3_t27ru"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="4_8suoo"] + +[sub_resource type="Environment" id="Environment_4uxdq"] +ambient_light_source = 1 + +[node name="ChuckEsCorner" type="Node3D"] + +[node name="Chuck" parent="." instance=ExtResource("1_t27ru")] +transform = Transform3D(-1.5, 0, -1.31134e-07, 0, 1.5, 0, 1.31134e-07, 0, -1.5, -2, 2, 0.312) +script = ExtResource("2_8qvk7") + +[node name="Warblettes" parent="." instance=ExtResource("3_t27ru")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25, 4, 0.5) +script = ExtResource("2_8qvk7") + +[node name="Spots" type="Node3D" parent="."] +script = ExtResource("4_8suoo") + +[node name="Chuck" type="SpotLight3D" parent="Spots"] +transform = Transform3D(-0.972974, -0.0597654, 0.223048, 2.26267e-08, 0.965926, 0.258819, -0.230916, 0.251824, -0.939821, -1.57812, 4.57895, -1.25599) +visible = false +light_color = Color(1, 0.9625, 0.85, 1) +light_energy = 2.0 +spot_range = 6.53799 +spot_angle = 30.5982 +spot_angle_attenuation = 0.1 + +[node name="Warblettes" type="SpotLight3D" parent="Spots"] +transform = Transform3D(-0.963761, 0.0690445, -0.257677, 1.9697e-08, 0.965926, 0.258819, 0.266767, 0.24944, -0.930922, -0.309492, 5.86862, -0.75) +visible = false +light_color = Color(1, 0.9625, 0.85, 1) +light_energy = 2.0 +spot_range = 12.8142 +spot_angle = 28.4779 +spot_angle_attenuation = 0.1 + +[node name="Floods" type="Node3D" parent="."] +script = ExtResource("4_8suoo") + +[node name="Red" type="SpotLight3D" parent="Floods"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 1.8, 0.9) +visible = false +light_color = Color(1, 0, 0, 1) +light_energy = 15.0 +spot_attenuation = 2.0 +spot_angle_attenuation = 0.15 + +[node name="Green" type="SpotLight3D" parent="Floods"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -2, 1.8, 0.9) +visible = false +light_color = Color(0, 1, 0, 1) +light_energy = 15.0 +spot_attenuation = 2.0 +spot_angle_attenuation = 0.15 + +[node name="Blue" type="SpotLight3D" parent="Floods"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -4, 1.8, 0.9) +visible = false +light_color = Color(0, 0, 1, 1) +light_energy = 15.0 +spot_attenuation = 2.0 +spot_angle_attenuation = 0.15 + +[node name="Color Spots" type="Node3D" parent="."] +script = ExtResource("4_8suoo") + +[node name="Chuck" type="SpotLight3D" parent="Color Spots"] +transform = Transform3D(-0.995147, -0.00124532, 0.0983965, 0.0311161, 0.944632, 0.326653, -0.0933553, 0.328129, -0.940009, -1.57812, 4.57895, -1.25599) +visible = false +light_color = Color(0, 0.538333, 0.85, 1) +light_energy = 3.0 +spot_range = 6.53799 +spot_angle = 33.4444 +spot_angle_attenuation = 0.1 + +[node name="Angle 1" type="Camera3D" parent="."] +transform = Transform3D(-0.984612, -0.00554278, 0.174664, 0.0289131, 0.980555, 0.194105, -0.172344, 0.196168, -0.965306, -0.658302, 4.93729, -4) +current = true +fov = 60.0 + +[node name="Angle 2" type="Camera3D" parent="."] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -2, 3.44355, -2.64184) +fov = 60.0 + +[node name="Angle 3" type="Camera3D" parent="."] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0.25, 4.95492, -1.77582) +fov = 60.0 + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_4uxdq") + +[node name="OmniLight3D" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3.5, -2) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D2" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 3.5, -2) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="ChuckEsCornerStage" parent="." instance=ExtResource("3_8qvk7")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 1) diff --git a/Scenes/Stages/Helen House/HelenHouseFlyout.tscn b/Scenes/Stages/Helen House/HelenHouseFlyout.tscn deleted file mode 100644 index c227897..0000000 --- a/Scenes/Stages/Helen House/HelenHouseFlyout.tscn +++ /dev/null @@ -1,1043 +0,0 @@ -[gd_scene load_steps=5 format=3 uid="uid://dwhrame6udwbh"] - -[ext_resource type="Script" uid="uid://bh512bgpm0kj7" path="res://Scripts/HelenHouseFlyout.gd" id="1_82hqt"] -[ext_resource type="ButtonGroup" uid="uid://bij2tonqeslpt" path="res://Scenes/GUI/FlyoutButtonGroup.tres" id="1_p77ya"] -[ext_resource type="PackedScene" uid="uid://cbf3x44mvo701" path="res://Scenes/GUI/Controls/IndicatorLight.tscn" id="2_82hqt"] -[ext_resource type="PackedScene" uid="uid://blg1c3v4o44of" path="res://Scenes/GUI/Controls/FlowSlider.tscn" id="3_petwi"] - -[node name="HelenHouseFlyout" type="Control"] -layout_mode = 3 -anchors_preset = 9 -anchor_bottom = 1.0 -offset_right = 136.0 -grow_vertical = 2 -script = ExtResource("1_82hqt") - -[node name="FlyoutButtons" type="Panel" parent="."] -layout_mode = 1 -anchors_preset = 9 -anchor_bottom = 1.0 -offset_right = 136.0 -grow_vertical = 2 - -[node name="MovementsFlyoutButton" type="Button" parent="FlyoutButtons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 4.0 -offset_right = 132.0 -offset_bottom = 36.0 -toggle_mode = true -button_group = ExtResource("1_p77ya") -text = "Movements" - -[node name="FlowsFlyoutButton" type="Button" parent="FlyoutButtons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 40.0 -offset_right = 132.0 -offset_bottom = 72.0 -toggle_mode = true -button_group = ExtResource("1_p77ya") -text = "Flows" - -[node name="CameraFlyoutButton" type="Button" parent="FlyoutButtons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 76.0 -offset_right = 132.0 -offset_bottom = 108.0 -toggle_mode = true -button_group = ExtResource("1_p77ya") -text = "Camera" - -[node name="CosmeticsFlyoutButton" type="Button" parent="FlyoutButtons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 112.0 -offset_right = 132.0 -offset_bottom = 144.0 -toggle_mode = true -button_group = ExtResource("1_p77ya") -text = "Cosmetics" - -[node name="StageFlyoutButton" type="Button" parent="FlyoutButtons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 148.0 -offset_right = 132.0 -offset_bottom = 180.0 -toggle_mode = true -button_group = ExtResource("1_p77ya") -text = "Stage" - -[node name="Movements" type="Panel" parent="."] -visible = false -layout_mode = 0 -offset_left = 140.0 -offset_right = 480.0 -offset_bottom = 364.0 - -[node name="Buttons" type="Control" parent="Movements"] -anchors_preset = 0 - -[node name="Mouth" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 4.0 -offset_right = 132.0 -offset_bottom = 36.0 -text = "Mouth" - -[node name="LeftEar" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 40.0 -offset_right = 132.0 -offset_bottom = 72.0 -text = "Left Ear" - -[node name="RightEar" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 76.0 -offset_right = 132.0 -offset_bottom = 108.0 -text = "Right Ear" - -[node name="LeftEyelid" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 112.0 -offset_right = 132.0 -offset_bottom = 144.0 -text = "Left Eyelid" - -[node name="RightEyelid" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 148.0 -offset_right = 132.0 -offset_bottom = 180.0 -text = "Right Eyelid" - -[node name="EyesLeft" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 184.0 -offset_right = 132.0 -offset_bottom = 216.0 -text = "Eyes Left" - -[node name="EyesRight" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 220.0 -offset_right = 132.0 -offset_bottom = 252.0 -text = "Eyes Right" - -[node name="HeadLeft" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 256.0 -offset_right = 132.0 -offset_bottom = 288.0 -text = "Head Left" - -[node name="HeadRight" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 292.0 -offset_right = 132.0 -offset_bottom = 324.0 -text = "Head Right" - -[node name="HeadUp" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 328.0 -offset_right = 132.0 -offset_bottom = 360.0 -text = "Head Up" - -[node name="LeftArmUp" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 4.0 -offset_right = 300.0 -offset_bottom = 36.0 -text = "Left Arm Up" - -[node name="LeftArmTwist" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 40.0 -offset_right = 300.0 -offset_bottom = 72.0 -text = "Left Arm Twist" - -[node name="LeftElbow" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 76.0 -offset_right = 300.0 -offset_bottom = 108.0 -text = "Left Elbow" - -[node name="RightArmUp" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 112.0 -offset_right = 300.0 -offset_bottom = 144.0 -text = "Right Arm Up" - -[node name="RightArmTwist" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 148.0 -offset_right = 300.0 -offset_bottom = 180.0 -text = "R. Arm Twist" - -[node name="RightElbow" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 184.0 -offset_right = 300.0 -offset_bottom = 216.0 -text = "Right Elbow" - -[node name="BodyLeft" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 220.0 -offset_right = 300.0 -offset_bottom = 252.0 -text = "Body Left" - -[node name="BodyRight" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 256.0 -offset_right = 300.0 -offset_bottom = 288.0 -text = "Body Right" - -[node name="BodyLean" type="Button" parent="Movements/Buttons"] -layout_mode = 0 -offset_left = 172.0 -offset_top = 292.0 -offset_right = 300.0 -offset_bottom = 324.0 -text = "Body Lean" - -[node name="IndicatorLights" type="Control" parent="Movements"] -anchors_preset = 0 - -[node name="Mouth" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 4.0 -offset_right = 136.0 -offset_bottom = 4.0 - -[node name="Left Ear" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 40.0 -offset_right = 136.0 -offset_bottom = 40.0 - -[node name="Right Ear" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 76.0 -offset_right = 136.0 -offset_bottom = 76.0 - -[node name="Left Eyelid" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 112.0 -offset_right = 136.0 -offset_bottom = 112.0 - -[node name="Right Eyelid" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 148.0 -offset_right = 136.0 -offset_bottom = 148.0 - -[node name="Eyes Left" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 184.0 -offset_right = 136.0 -offset_bottom = 184.0 - -[node name="Eyes Right" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 220.0 -offset_right = 136.0 -offset_bottom = 220.0 - -[node name="Head Left" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 256.0 -offset_right = 136.0 -offset_bottom = 256.0 - -[node name="Head Right" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 292.0 -offset_right = 136.0 -offset_bottom = 292.0 - -[node name="Head Up" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 136.0 -offset_top = 328.0 -offset_right = 136.0 -offset_bottom = 328.0 - -[node name="Left Arm Up" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 4.0 -offset_right = 304.0 -offset_bottom = 4.0 - -[node name="Left Arm Twist" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 40.0 -offset_right = 304.0 -offset_bottom = 40.0 - -[node name="Left Elbow" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 76.0 -offset_right = 304.0 -offset_bottom = 76.0 - -[node name="Right Arm Up" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 112.0 -offset_right = 304.0 -offset_bottom = 112.0 - -[node name="Right Arm Twist" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 148.0 -offset_right = 304.0 -offset_bottom = 148.0 - -[node name="Right Elbow" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 184.0 -offset_right = 304.0 -offset_bottom = 184.0 - -[node name="Body Left" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 220.0 -offset_right = 304.0 -offset_bottom = 220.0 - -[node name="Body Right" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 256.0 -offset_right = 304.0 -offset_bottom = 256.0 - -[node name="Body Lean" parent="Movements/IndicatorLights" instance=ExtResource("2_82hqt")] -layout_mode = 1 -offset_left = 304.0 -offset_top = 292.0 -offset_right = 304.0 -offset_bottom = 292.0 - -[node name="FlowControls" type="Panel" parent="."] -visible = false -layout_mode = 0 -offset_left = 140.0 -offset_right = 808.0 -offset_bottom = 392.0 - -[node name="Labels" type="Control" parent="FlowControls"] -anchors_preset = 0 -offset_top = -40.0 -offset_bottom = -40.0 - -[node name="MovementsLabel1" type="Label" parent="FlowControls/Labels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 40.0 -offset_right = 132.0 -offset_bottom = 72.0 -text = "Movement" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="MovementsLabel2" type="Label" parent="FlowControls/Labels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 40.0 -offset_right = 464.0 -offset_bottom = 72.0 -text = "Movement" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="InFlowsLabel1" type="Label" parent="FlowControls/Labels"] -layout_mode = 0 -offset_left = 136.0 -offset_top = 40.0 -offset_right = 232.0 -offset_bottom = 72.0 -text = "In Flow" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="InFlowsLabel2" type="Label" parent="FlowControls/Labels"] -layout_mode = 0 -offset_left = 468.0 -offset_top = 40.0 -offset_right = 564.0 -offset_bottom = 72.0 -text = "In Flow" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="OutFlowsLabel1" type="Label" parent="FlowControls/Labels"] -layout_mode = 0 -offset_left = 236.0 -offset_top = 40.0 -offset_right = 332.0 -offset_bottom = 72.0 -text = "Out Flow" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="OutFlowsLabel2" type="Label" parent="FlowControls/Labels"] -layout_mode = 0 -offset_left = 568.0 -offset_top = 40.0 -offset_right = 664.0 -offset_bottom = 72.0 -text = "Out Flow" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="InFlows" type="Control" parent="FlowControls"] -anchors_preset = 0 -offset_top = -40.0 -offset_bottom = -40.0 - -[node name="MouthFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 72.0 -offset_right = 135.5 -offset_bottom = 72.0 -value = 3.0 - -[node name="LeftEarFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 108.0 -offset_right = 135.5 -offset_bottom = 108.0 -value = 3.5 - -[node name="RightEarFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 144.0 -offset_right = 135.5 -offset_bottom = 144.0 -value = 3.5 - -[node name="LeftEyelidFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 180.0 -offset_right = 135.5 -offset_bottom = 180.0 -value = 1.5 - -[node name="RightEyelidFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 216.0 -offset_right = 135.5 -offset_bottom = 216.0 -value = 1.5 - -[node name="EyesLeftFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 252.0 -offset_right = 135.5 -offset_bottom = 252.0 -value = 2.0 - -[node name="EyesRightFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 288.0 -offset_right = 135.5 -offset_bottom = 288.0 -value = 2.0 - -[node name="HeadLeftFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 324.0 -offset_right = 135.5 -offset_bottom = 324.0 -value = 1.5 - -[node name="HeadRightFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 360.0 -offset_right = 135.5 -offset_bottom = 360.0 -value = 1.5 - -[node name="HeadUpFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 135.5 -offset_top = 396.0 -offset_right = 135.5 -offset_bottom = 396.0 - -[node name="LeftArmUpFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 72.0 -offset_right = 467.5 -offset_bottom = 72.0 -value = 0.8 - -[node name="LeftArmTwistFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 108.0 -offset_right = 467.5 -offset_bottom = 108.0 -value = 0.8 - -[node name="LeftElbowFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 144.0 -offset_right = 467.5 -offset_bottom = 144.0 - -[node name="RightArmUpFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 180.0 -offset_right = 467.5 -offset_bottom = 180.0 -value = 0.8 - -[node name="RightArmTwistFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 216.0 -offset_right = 467.5 -offset_bottom = 216.0 -value = 0.8 - -[node name="RightElbowFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 252.0 -offset_right = 467.5 -offset_bottom = 252.0 - -[node name="BodyLeftFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 288.0 -offset_right = 467.5 -offset_bottom = 288.0 -value = 0.7 - -[node name="BodyRightFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 324.0 -offset_right = 467.5 -offset_bottom = 324.0 -value = 0.7 - -[node name="BodyLeanFlow" parent="FlowControls/InFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 467.5 -offset_top = 360.0 -offset_right = 467.5 -offset_bottom = 360.0 - -[node name="OutFlows" type="Control" parent="FlowControls"] -anchors_preset = 0 -offset_top = -40.0 -offset_bottom = -40.0 - -[node name="MouthFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 72.0 -offset_right = 235.5 -offset_bottom = 72.0 -value = 2.0 - -[node name="LeftEarFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 108.0 -offset_right = 235.5 -offset_bottom = 108.0 -value = 1.5 - -[node name="RightEarFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 144.0 -offset_right = 235.5 -offset_bottom = 144.0 -value = 1.5 - -[node name="LeftEyelidFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 180.0 -offset_right = 235.5 -offset_bottom = 180.0 -value = 2.0 - -[node name="RightEyelidFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 216.0 -offset_right = 235.5 -offset_bottom = 216.0 -value = 2.0 - -[node name="EyesLeftFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 252.0 -offset_right = 235.5 -offset_bottom = 252.0 -value = 2.0 - -[node name="EyesRightFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 288.0 -offset_right = 235.5 -offset_bottom = 288.0 -value = 2.0 - -[node name="HeadLeftFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 324.0 -offset_right = 235.5 -offset_bottom = 324.0 -value = 1.5 - -[node name="HeadRightFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 360.0 -offset_right = 235.5 -offset_bottom = 360.0 -value = 1.5 - -[node name="HeadUpFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 235.5 -offset_top = 396.0 -offset_right = 235.5 -offset_bottom = 396.0 - -[node name="LeftArmUpFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 72.0 -offset_right = 567.5 -offset_bottom = 72.0 -value = 0.6 - -[node name="LeftArmTwistFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 108.0 -offset_right = 567.5 -offset_bottom = 108.0 -value = 0.8 - -[node name="LeftElbowFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 144.0 -offset_right = 567.5 -offset_bottom = 144.0 - -[node name="RightArmUpFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 180.0 -offset_right = 567.5 -offset_bottom = 180.0 -value = 0.6 - -[node name="RightArmTwistFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 216.0 -offset_right = 567.5 -offset_bottom = 216.0 -value = 0.8 - -[node name="RightElbowFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 252.0 -offset_right = 567.5 -offset_bottom = 252.0 - -[node name="BodyLeftFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 288.0 -offset_right = 567.5 -offset_bottom = 288.0 -value = 0.7 - -[node name="BodyRightFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 324.0 -offset_right = 567.5 -offset_bottom = 324.0 -value = 0.7 - -[node name="BodyLeanFlow" parent="FlowControls/OutFlows" instance=ExtResource("3_petwi")] -layout_mode = 1 -offset_left = 567.5 -offset_top = 360.0 -offset_right = 567.5 -offset_bottom = 360.0 -value = 0.8 - -[node name="MovementLabels" type="Control" parent="FlowControls"] -layout_mode = 3 -anchors_preset = 0 - -[node name="Mouth" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 32.0 -offset_right = 132.0 -offset_bottom = 64.0 -text = "Mouth" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="LeftEar" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 68.0 -offset_right = 132.0 -offset_bottom = 100.0 -text = "Left Ear" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="RightEar" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 104.0 -offset_right = 132.0 -offset_bottom = 136.0 -text = "Right Ear" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="LeftEyelid" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 140.0 -offset_right = 132.0 -offset_bottom = 172.0 -text = "Left Eyelid" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="RightEyelid" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 176.0 -offset_right = 132.0 -offset_bottom = 208.0 -text = "Right Eyelid" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="EyesLeft" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 212.0 -offset_right = 132.0 -offset_bottom = 244.0 -text = "Eyes Left" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="EyesRight" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 248.0 -offset_right = 132.0 -offset_bottom = 280.0 -text = "Eyes Right" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="HeadLeft" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 284.0 -offset_right = 132.0 -offset_bottom = 316.0 -text = "Head Left" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="HeadRight" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 320.0 -offset_right = 132.0 -offset_bottom = 352.0 -text = "Head Right" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="HeadUp" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 356.0 -offset_right = 132.0 -offset_bottom = 388.0 -text = "Head Up" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="LeftArmUp" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 32.0 -offset_right = 464.0 -offset_bottom = 64.0 -text = "Left Arm Up" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="LeftArmTwist" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 68.0 -offset_right = 464.0 -offset_bottom = 100.0 -text = "Left Arm Twist" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="LeftElbow" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 104.0 -offset_right = 464.0 -offset_bottom = 136.0 -text = "Left Elbow" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="RightArmUp" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 140.0 -offset_right = 464.0 -offset_bottom = 172.0 -text = "Right Arm Up" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="RightArmTwist" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 176.0 -offset_right = 464.0 -offset_bottom = 208.0 -text = "R. Arm Twist" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="RightElbow" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 212.0 -offset_right = 464.0 -offset_bottom = 244.0 -text = "Right Elbow" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="BodyLeft" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 248.0 -offset_right = 464.0 -offset_bottom = 280.0 -text = "Body Left" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="BodyRight" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 284.0 -offset_right = 464.0 -offset_bottom = 316.0 -text = "Body Right" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="BodyLean" type="Label" parent="FlowControls/MovementLabels"] -layout_mode = 0 -offset_left = 336.0 -offset_top = 320.0 -offset_right = 464.0 -offset_bottom = 352.0 -text = "Body Lean" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="Camera" type="Panel" parent="."] -visible = false -layout_mode = 0 -offset_left = 140.0 -offset_right = 276.0 -offset_bottom = 76.0 - -[node name="Angle1Button" type="Button" parent="Camera"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 4.0 -offset_right = 132.0 -offset_bottom = 36.0 -text = "Angle 1" - -[node name="Angle2Button" type="Button" parent="Camera"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 40.0 -offset_right = 132.0 -offset_bottom = 72.0 -text = "Angle 2" - -[node name="Cosmetics" type="Panel" parent="."] -visible = false -layout_mode = 0 -offset_left = 140.0 -offset_right = 396.0 -offset_bottom = 64.0 - -[node name="Label" type="Label" parent="Cosmetics"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 4.0 -offset_right = 228.0 -offset_bottom = 36.0 -text = "No options for this stage :(" -vertical_alignment = 1 - -[node name="Stage" type="Panel" parent="."] -visible = false -layout_mode = 0 -offset_left = 140.0 -offset_right = 396.0 -offset_bottom = 64.0 - -[node name="Label" type="Label" parent="Stage"] -layout_mode = 0 -offset_left = 4.0 -offset_top = 4.0 -offset_right = 228.0 -offset_bottom = 36.0 -text = "No options for this stage :(" -vertical_alignment = 1 - -[connection signal="toggled" from="FlyoutButtons/MovementsFlyoutButton" to="." method="_on_movements_flyout_button_toggled"] -[connection signal="toggled" from="FlyoutButtons/FlowsFlyoutButton" to="." method="_on_flows_flyout_button_toggled"] -[connection signal="toggled" from="FlyoutButtons/CameraFlyoutButton" to="." method="_on_camera_flyout_button_toggled"] -[connection signal="toggled" from="FlyoutButtons/CosmeticsFlyoutButton" to="." method="_on_cosmetics_flyout_button_toggled"] -[connection signal="toggled" from="FlyoutButtons/StageFlyoutButton" to="." method="_on_stage_flyout_button_toggled"] -[connection signal="button_down" from="Movements/Buttons/Mouth" to="." method="_on_mouth_button_down"] -[connection signal="button_up" from="Movements/Buttons/Mouth" to="." method="_on_mouth_button_up"] -[connection signal="button_down" from="Movements/Buttons/LeftEar" to="." method="_on_left_ear_button_down"] -[connection signal="button_up" from="Movements/Buttons/LeftEar" to="." method="_on_left_ear_button_up"] -[connection signal="button_down" from="Movements/Buttons/RightEar" to="." method="_on_right_ear_button_down"] -[connection signal="button_up" from="Movements/Buttons/RightEar" to="." method="_on_right_ear_button_up"] -[connection signal="button_down" from="Movements/Buttons/LeftEyelid" to="." method="_on_left_eyelid_button_down"] -[connection signal="button_up" from="Movements/Buttons/LeftEyelid" to="." method="_on_left_eyelid_button_up"] -[connection signal="button_down" from="Movements/Buttons/RightEyelid" to="." method="_on_right_eyelid_button_down"] -[connection signal="button_up" from="Movements/Buttons/RightEyelid" to="." method="_on_right_eyelid_button_up"] -[connection signal="button_down" from="Movements/Buttons/EyesLeft" to="." method="_on_eyes_left_button_down"] -[connection signal="button_up" from="Movements/Buttons/EyesLeft" to="." method="_on_eyes_left_button_up"] -[connection signal="button_down" from="Movements/Buttons/EyesRight" to="." method="_on_eyes_right_button_down"] -[connection signal="button_up" from="Movements/Buttons/EyesRight" to="." method="_on_eyes_right_button_up"] -[connection signal="button_down" from="Movements/Buttons/HeadLeft" to="." method="_on_head_left_button_down"] -[connection signal="button_up" from="Movements/Buttons/HeadLeft" to="." method="_on_head_left_button_up"] -[connection signal="button_down" from="Movements/Buttons/HeadRight" to="." method="_on_head_right_button_down"] -[connection signal="button_up" from="Movements/Buttons/HeadRight" to="." method="_on_head_right_button_up"] -[connection signal="button_down" from="Movements/Buttons/HeadUp" to="." method="_on_head_up_button_down"] -[connection signal="button_up" from="Movements/Buttons/HeadUp" to="." method="_on_head_up_button_up"] -[connection signal="button_down" from="Movements/Buttons/LeftArmUp" to="." method="_on_left_arm_up_button_down"] -[connection signal="button_up" from="Movements/Buttons/LeftArmUp" to="." method="_on_left_arm_up_button_up"] -[connection signal="button_down" from="Movements/Buttons/LeftArmTwist" to="." method="_on_left_arm_twist_button_down"] -[connection signal="button_up" from="Movements/Buttons/LeftArmTwist" to="." method="_on_left_arm_twist_button_up"] -[connection signal="button_down" from="Movements/Buttons/LeftElbow" to="." method="_on_left_elbow_button_down"] -[connection signal="button_up" from="Movements/Buttons/LeftElbow" to="." method="_on_left_elbow_button_up"] -[connection signal="button_down" from="Movements/Buttons/RightArmUp" to="." method="_on_right_arm_up_button_down"] -[connection signal="button_up" from="Movements/Buttons/RightArmUp" to="." method="_on_right_arm_up_button_up"] -[connection signal="button_down" from="Movements/Buttons/RightArmTwist" to="." method="_on_right_arm_twist_button_down"] -[connection signal="button_up" from="Movements/Buttons/RightArmTwist" to="." method="_on_right_arm_twist_button_up"] -[connection signal="button_down" from="Movements/Buttons/RightElbow" to="." method="_on_right_elbow_button_down"] -[connection signal="button_up" from="Movements/Buttons/RightElbow" to="." method="_on_right_elbow_button_up"] -[connection signal="button_down" from="Movements/Buttons/BodyLeft" to="." method="_on_body_left_button_down"] -[connection signal="button_up" from="Movements/Buttons/BodyLeft" to="." method="_on_body_left_button_up"] -[connection signal="button_down" from="Movements/Buttons/BodyRight" to="." method="_on_body_right_button_down"] -[connection signal="button_up" from="Movements/Buttons/BodyRight" to="." method="_on_body_right_button_up"] -[connection signal="button_down" from="Movements/Buttons/BodyLean" to="." method="_on_body_lean_button_down"] -[connection signal="button_up" from="Movements/Buttons/BodyLean" to="." method="_on_body_lean_button_up"] -[connection signal="pressed" from="Camera/Angle1Button" to="." method="_on_angle_1_button_pressed"] -[connection signal="pressed" from="Camera/Angle2Button" to="." method="_on_angle_2_button_pressed"] diff --git a/Scenes/Stages/Helen House/HelenHouseMovementRows.tscn b/Scenes/Stages/Helen House/HelenHouseMovementRows.tscn deleted file mode 100644 index 9242caa..0000000 --- a/Scenes/Stages/Helen House/HelenHouseMovementRows.tscn +++ /dev/null @@ -1,321 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://dyuhywnk8heav"] - -[ext_resource type="PackedScene" uid="uid://dtkqaw5533rxy" path="res://Scenes/GUI/Controls/MovementRow.tscn" id="1_g2q8r"] - -[node name="HelenHouseMovementRows" type="Control"] -layout_mode = 3 -anchors_preset = 10 -anchor_right = 1.0 -grow_horizontal = 2 - -[node name="MouthRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -grow_horizontal = 1 -movement_bit = 1 -movement_name = "Mouth" - -[node name="LeftEarRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 44.0 -offset_bottom = 84.0 -grow_horizontal = 1 -movement_bit = 2 -movement_name = "Left Ear" - -[node name="RightEarRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 88.0 -offset_bottom = 128.0 -grow_horizontal = 1 -movement_bit = 3 -movement_name = "Right Ear" - -[node name="LeftEyelidRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 132.0 -offset_bottom = 172.0 -grow_horizontal = 1 -movement_bit = 4 -movement_name = "Left Eyelid" - -[node name="RightEyelidRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 176.0 -offset_bottom = 216.0 -grow_horizontal = 1 -movement_bit = 5 -movement_name = "Right Eyelid" - -[node name="EyesLeftRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 220.0 -offset_bottom = 260.0 -grow_horizontal = 1 -movement_bit = 6 -movement_name = "Eyes Left" - -[node name="EyesRightRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 264.0 -offset_bottom = 304.0 -grow_horizontal = 1 -movement_bit = 7 -movement_name = "Eyes Right" - -[node name="HeadLeftRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 308.0 -offset_bottom = 348.0 -grow_horizontal = 1 -movement_bit = 8 -movement_name = "Head Left" - -[node name="HeadRightRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 352.0 -offset_bottom = 392.0 -grow_horizontal = 1 -movement_bit = 9 -movement_name = "Head Right" - -[node name="HeadUpRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 396.0 -offset_bottom = 436.0 -grow_horizontal = 1 -movement_bit = 10 -movement_name = "Head Up" - -[node name="LeftArmUpRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 440.0 -offset_bottom = 480.0 -grow_horizontal = 1 -movement_bit = 11 -movement_name = "Left Arm Up" - -[node name="LeftArmTwistRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 484.0 -offset_bottom = 524.0 -grow_horizontal = 1 -movement_bit = 12 -movement_name = "Left Arm Twist" - -[node name="LeftElbowRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 528.0 -offset_bottom = 568.0 -grow_horizontal = 1 -movement_bit = 13 -movement_name = "Left Elbow" - -[node name="RightArmUpRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 572.0 -offset_bottom = 612.0 -grow_horizontal = 1 -movement_bit = 14 -movement_name = "Right Arm Up" - -[node name="RightArmTwistRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 616.0 -offset_bottom = 656.0 -grow_horizontal = 1 -movement_bit = 15 -movement_name = "Right Arm Twist" - -[node name="RightElbowRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 660.0 -offset_bottom = 700.0 -grow_horizontal = 1 -movement_bit = 16 -movement_name = "Right Elbow" - -[node name="BodyLeftRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 704.0 -offset_bottom = 744.0 -grow_horizontal = 1 -movement_bit = 17 -movement_name = "Body Left" - -[node name="BodyRightRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 748.0 -offset_bottom = 788.0 -grow_horizontal = 1 -movement_bit = 18 -movement_name = "Body Right" - -[node name="BodyLeanRow" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 792.0 -offset_bottom = 832.0 -grow_horizontal = 1 -movement_bit = 19 -movement_name = "Body Lean" - -[node name="Unused20" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 836.0 -offset_bottom = 876.0 -grow_horizontal = 1 -movement_bit = 20 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused21" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 880.0 -offset_bottom = 920.0 -grow_horizontal = 1 -movement_bit = 21 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused22" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 924.0 -offset_bottom = 964.0 -grow_horizontal = 1 -movement_bit = 22 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused23" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 968.0 -offset_bottom = 1008.0 -grow_horizontal = 1 -movement_bit = 23 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused24" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1012.0 -offset_bottom = 1052.0 -grow_horizontal = 1 -movement_bit = 24 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused25" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1056.0 -offset_bottom = 1096.0 -grow_horizontal = 1 -movement_bit = 25 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused26" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1100.0 -offset_bottom = 1140.0 -grow_horizontal = 1 -movement_bit = 26 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused27" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1144.0 -offset_bottom = 1184.0 -grow_horizontal = 1 -movement_bit = 27 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused28" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1188.0 -offset_bottom = 1228.0 -grow_horizontal = 1 -movement_bit = 28 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused29" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1232.0 -offset_bottom = 1272.0 -grow_horizontal = 1 -movement_bit = 29 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused30" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1276.0 -offset_bottom = 1316.0 -grow_horizontal = 1 -movement_bit = 30 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused31" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1320.0 -offset_bottom = 1360.0 -grow_horizontal = 1 -movement_bit = 31 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" - -[node name="Unused32" parent="." instance=ExtResource("1_g2q8r")] -layout_mode = 1 -anchors_preset = -1 -offset_top = 1364.0 -offset_bottom = 1404.0 -grow_horizontal = 1 -movement_bit = 32 -movement_name = "Unused" -flow_path = "None" -animatronic_path = "None" diff --git a/Scenes/Stages/Helen House/HelenHouse.tscn b/Scenes/Stages/HelenHouse.tscn similarity index 56% rename from Scenes/Stages/Helen House/HelenHouse.tscn rename to Scenes/Stages/HelenHouse.tscn index 6dd600f..8a69767 100644 --- a/Scenes/Stages/Helen House/HelenHouse.tscn +++ b/Scenes/Stages/HelenHouse.tscn @@ -1,44 +1,49 @@ -[gd_scene load_steps=6 format=3 uid="uid://btre5j66mpchy"] +[gd_scene load_steps=7 format=3 uid="uid://btre5j66mpchy"] -[ext_resource type="PackedScene" uid="uid://f0fkcs7erhop" path="res://Models/3stHelen.glb" id="2_e7oou"] -[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/HelenController.gd" id="3_e2vvs"] -[ext_resource type="PackedScene" uid="uid://bhoeqcsdb0fx2" path="res://Models/Room.glb" id="4_pv43k"] -[ext_resource type="PackedScene" uid="uid://btvomf1ayoypu" path="res://Models/Stage.glb" id="5_afett"] +[ext_resource type="PackedScene" uid="uid://f0fkcs7erhop" path="res://Models/3-Stage/3stHelen.glb" id="1_s1mol"] +[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="2_odcb6"] +[ext_resource type="PackedScene" uid="uid://bhoeqcsdb0fx2" path="res://Models/HelenHouse/HelenHouse-Room.glb" id="3_e7oou"] +[ext_resource type="PackedScene" uid="uid://btvomf1ayoypu" path="res://Models/HelenHouse/HelenHouse-Stage.glb" id="4_e2vvs"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="5_odcb6"] [sub_resource type="Environment" id="Environment_axk5g"] ambient_light_source = 1 [node name="HelenHouse" type="Node3D"] -[node name="3stHelen" parent="." instance=ExtResource("2_e7oou")] +[node name="Helen" parent="." instance=ExtResource("1_s1mol")] transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0.25, 0) -script = ExtResource("3_e2vvs") +script = ExtResource("2_odcb6") -[node name="Room" parent="." instance=ExtResource("4_pv43k")] +[node name="Spots" type="Node3D" parent="."] +script = ExtResource("5_odcb6") + +[node name="Helen" type="SpotLight3D" parent="Spots"] +transform = Transform3D(-1, 3.69465e-08, -7.92319e-08, 0, 0.906308, 0.422618, 8.74228e-08, 0.422618, -0.906308, 0, 2.5, -2) +visible = false +light_color = Color(1, 0.9625, 0.85, 1) +light_energy = 5.0 +spot_attenuation = 2.0 +spot_angle = 10.0 +spot_angle_attenuation = 0.15 + +[node name="Room" parent="." instance=ExtResource("3_e7oou")] transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0) -[node name="Stage" parent="." instance=ExtResource("5_afett")] +[node name="Stage" parent="." instance=ExtResource("4_e2vvs")] transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0) -[node name="Camera 1" type="Camera3D" parent="."] +[node name="Angle 1" type="Camera3D" parent="."] transform = Transform3D(-1, 1.31602e-08, -1.50421e-07, 0, 0.996195, 0.0871557, 1.50996e-07, 0.0871557, -0.996195, 0, 1.5, -3) fov = 60.0 -[node name="Camera 2" type="Camera3D" parent="."] +[node name="Angle 2" type="Camera3D" parent="."] transform = Transform3D(-1, 1.31602e-08, -1.50421e-07, 0, 0.996195, 0.0871557, 1.50996e-07, 0.0871557, -0.996195, 0, 1.5, -1) fov = 60.0 [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_axk5g") -[node name="SpotLight3D" type="SpotLight3D" parent="."] -transform = Transform3D(-0.972974, -0.0597654, 0.223048, 2.26267e-08, 0.965926, 0.258819, -0.230916, 0.251824, -0.939821, 0.217544, 1.75308, -1.04223) -light_color = Color(1, 0.9625, 0.85, 1) -light_energy = 2.0 -spot_range = 1.3068 -spot_angle = 27.449 -spot_angle_attenuation = 0.1 - [node name="OmniLight3D" type="OmniLight3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2.5, -3) light_color = Color(1, 0.960784, 0.85098, 1) diff --git a/Scripts/HelenController.gd b/Scripts/AnimatronicController.gd similarity index 75% rename from Scripts/HelenController.gd rename to Scripts/AnimatronicController.gd index 4caedd1..5dc202b 100644 --- a/Scripts/HelenController.gd +++ b/Scripts/AnimatronicController.gd @@ -4,27 +4,7 @@ var animation_player : AnimationPlayer var animation_tree : AnimationTree var blend_tree : AnimationNodeBlendTree -var movement_states = { - "Mouth": [false, 0.0, 0.0, 0.0], - "Left Ear": [false, 0.0, 0.0, 0.0], - "Right Ear": [false, 0.0, 0.0, 0.0], - "Left Eyelid": [false, 0.0, 0.0, 0.0], - "Right Eyelid": [false, 0.0, 0.0, 0.0], - "Eyes Left": [false, 0.0, 0.0, 0.0], - "Eyes Right": [false, 0.0, 0.0, 0.0], - "Head Left": [false, 0.0, 0.0, 0.0], - "Head Right": [false, 0.0, 0.0, 0.0], - "Head Up": [false, 0.0, 0.0, 0.0], - "Left Arm Up": [false, 0.0, 0.0, 0.0], - "Left Arm Twist": [false, 0.0, 0.0, 0.0], - "Left Elbow": [false, 0.0, 0.0, 0.0], - "Right Arm Up": [false, 0.0, 0.0, 0.0], - "Right Arm Twist": [false, 0.0, 0.0, 0.0], - "Right Elbow": [false, 0.0, 0.0, 0.0], - "Body Left": [false, 0.0, 0.0, 0.0], - "Body Right": [false, 0.0, 0.0, 0.0], - "Body Lean": [false, 0.0, 0.0, 0.0], -} +var movement_states : Dictionary func _ready(): animation_player = $AnimationPlayer @@ -37,10 +17,13 @@ func _ready(): animation_tree.active = true blend_tree = animation_tree.tree_root as AnimationNodeBlendTree - #animation_player.speed_scale = 0 + animation_player.speed_scale = 0 var animations = animation_player.get_animation_list() + for animation in animations: + movement_states[animation] = [false, 0.0, 0.0, 0.0] + var prev_name = "Anim_" + animations[0] var old_time_name = "Time_" + animations[0] var old_seek_name = "Seek_" + animations[0] @@ -78,8 +61,8 @@ func _ready(): var add_node := AnimationNodeAdd2.new() blend_tree.add_node(add_name, add_node) - blend_tree.connect_node(time_name,0,anim_name) - blend_tree.connect_node(seek_name,0,time_name) + blend_tree.connect_node(time_name, 0, anim_name) + blend_tree.connect_node(seek_name, 0, time_name) blend_tree.connect_node(add_name, 0, prev_name) blend_tree.connect_node(add_name, 1, seek_name) prev_name = add_name diff --git a/Scripts/HelenController.gd.uid b/Scripts/AnimatronicController.gd.uid similarity index 100% rename from Scripts/HelenController.gd.uid rename to Scripts/AnimatronicController.gd.uid diff --git a/Scripts/CameraButton.gd b/Scripts/CameraButton.gd new file mode 100644 index 0000000..ef99c04 --- /dev/null +++ b/Scripts/CameraButton.gd @@ -0,0 +1,10 @@ +extends Control + +@export var camera : String +@export var base_scene_path : String + +func _ready() -> void: + $Button.text = camera + +func _on_button_pressed() -> void: + get_node(base_scene_path + camera).current = true; diff --git a/Scripts/CameraButton.gd.uid b/Scripts/CameraButton.gd.uid new file mode 100644 index 0000000..18a4fd1 --- /dev/null +++ b/Scripts/CameraButton.gd.uid @@ -0,0 +1 @@ +uid://dfoog0y2bh7tk diff --git a/Scripts/CosmeticAdjustment.gd b/Scripts/CosmeticAdjustment.gd new file mode 100644 index 0000000..75fd198 --- /dev/null +++ b/Scripts/CosmeticAdjustment.gd @@ -0,0 +1,18 @@ +extends Control + +@export var vis_name: String +@export var scene_handle: String +@export var options: Dictionary + +func _ready() -> void: + $Panel/Label.text = vis_name + for option in options: + $Panel/OptionButton.add_item(option) + $Panel/OptionButton.select(0) + for adjusted in options[$Panel/OptionButton.get_item_text(0)]: + get_node(scene_handle+adjusted).visible = options[$Panel/OptionButton.get_item_text(0)][adjusted] + + +func _on_option_button_item_selected(index: int) -> void: + for adjusted in options[$Panel/OptionButton.get_item_text(index)]: + get_node(scene_handle+adjusted).visible = options[$Panel/OptionButton.get_item_text(index)][adjusted] diff --git a/Scripts/CosmeticAdjustment.gd.uid b/Scripts/CosmeticAdjustment.gd.uid new file mode 100644 index 0000000..832bd83 --- /dev/null +++ b/Scripts/CosmeticAdjustment.gd.uid @@ -0,0 +1 @@ +uid://1f7v3ohsgx0g diff --git a/Scripts/EditorScreen.gd b/Scripts/EditorScreen.gd index c384397..f34bf79 100644 --- a/Scripts/EditorScreen.gd +++ b/Scripts/EditorScreen.gd @@ -6,15 +6,475 @@ var index : int = 0 var playback_rate : int = 1 var transport_enabled : bool = false var erase_validated : bool = false +var cam_index : int = 0 +var fullscreen : bool = false var showtape_loaded : bool = false var show_name : String -var current_stage : String = "Helen House" +var current_stage : String var stages_info = { - # stage name, custom (bool), bits, flyout path, movement row table path, base scene path, ust character flag, ust stage flag - "Helen House": [true, 32, "res://Scenes/Stages/Helen House/HelenHouseFlyout.tscn", "res://Scenes/Stages/Helen House/HelenHouseMovementRows.tscn", "res://Scenes/Stages/Helen House/HelenHouse.tscn", "Mitzi/Helen", "Rockafire Explosion/3-Stage (Single Character)"] + "Helen House": + { + "bits": 20, + "scene": "res://Scenes/Stages/HelenHouse.tscn", + "scene_ref_base": "SubViewport/HelenHouse/", + "camera_count": 2, + + "ust_type": "Rockafire Explosion/3-Stage", + + "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 }, + 125: { "bot": "Spots", "movement": "Helen", "flow_in": "None", "flow_out": "None" }, + }, + + "cosmetics": + { + "Helen Hair": + { + "Black and White": + { + "Helen/Helen/Skeleton3D/BWHair": true, + "Helen/Helen/Skeleton3D/YellowHair": false, + }, + "Yellow": + { + "Helen/Helen/Skeleton3D/BWHair": false, + "Helen/Helen/Skeleton3D/YellowHair": true, + }, + }, + "Helen Dress": + { + "Tux": + { + "Helen/Helen/Skeleton3D/Collar": true, + "Helen/Helen/Skeleton3D/Torso": true, + "Helen/Helen/Skeleton3D/Skirt": true, + "Helen/Helen/Skeleton3D/CheerDress": false, + }, + "Cheerleader": + { + "Helen/Helen/Skeleton3D/Collar": false, + "Helen/Helen/Skeleton3D/Torso": false, + "Helen/Helen/Skeleton3D/Skirt": false, + "Helen/Helen/Skeleton3D/CheerDress": true, + } + } + } + }, + "Chuck E's Corner": + { + "bits": 16, + "scene": "res://Scenes/Stages/ChuckEsCorner.tscn", + "scene_ref_base": "SubViewport/ChuckEsCorner/", + "camera_count": 3, + + "ust_type": "Cyberamics", + + "bit_mapping": + { + 1: { "bot": "Chuck", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 2: { "bot": "Chuck", "movement": "Head Left", "flow_in": 0.8, "flow_out": 1.0 }, + 3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.0, "flow_out": 1.0 }, + 4: { "bot": "Chuck", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 }, + 5: { "bot": "Chuck", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 6: { "bot": "Chuck", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 7: { "bot": "Chuck", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 8: { "bot": "Chuck", "movement": "Right Arm", "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" }, + 55: { "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" }, + 82: { "bot": "Floods", "movement": "Red", "flow_in": "None", "flow_out": "None" }, + 86: { "bot": "Floods", "movement": "Green", "flow_in": "None", "flow_out": "None" }, + }, + + "cosmetics": + { + "Chuck E. Hat": + { + "Derby": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": true, + }, + "Cool Chuck": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": true, + "Chuck/Chuck/Skeleton3D/Derby": false, + }, + "Avenger": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": true, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + }, + "None": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + } + }, + + "Chuck E. Shirt": + { + "Red Vest": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false, + "Chuck/Chuck/Skeleton3D/Black Bowtie": true, + "Chuck/Chuck/Skeleton3D/Buttons": true, + "Chuck/Chuck/Skeleton3D/Vest Trim": true, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false, + "Chuck/Chuck/Skeleton3D/Rocker Vest": true, + }, + "Yellow Checker Vest": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false, + "Chuck/Chuck/Skeleton3D/Black Bowtie": true, + "Chuck/Chuck/Skeleton3D/Buttons": true, + "Chuck/Chuck/Skeleton3D/Vest Trim": true, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": true, + "Chuck/Chuck/Skeleton3D/Rocker Vest": false, + }, + "Cool Chuck Shirt": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": true, + "Chuck/Chuck/Skeleton3D/Black Bowtie": false, + "Chuck/Chuck/Skeleton3D/Buttons": false, + "Chuck/Chuck/Skeleton3D/Vest Trim": false, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false, + "Chuck/Chuck/Skeleton3D/Rocker Vest": false, + }, + "Avenger Shirt": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": true, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false, + "Chuck/Chuck/Skeleton3D/Black Bowtie": false, + "Chuck/Chuck/Skeleton3D/Buttons": false, + "Chuck/Chuck/Skeleton3D/Vest Trim": false, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false, + "Chuck/Chuck/Skeleton3D/Rocker Vest": false, + } + }, + + "Chuck E. Mask": + { + "PTT": + { + "Chuck/Chuck/Skeleton3D/PTT Ears": true, + "Chuck/Chuck/Skeleton3D/PTT Ears Inside": true, + "Chuck/Chuck/Skeleton3D/PTT Jaw": true, + "Chuck/Chuck/Skeleton3D/PTT Muzzle": true, + "Chuck/Chuck/Skeleton3D/Modern Ears": false, + "Chuck/Chuck/Skeleton3D/Modern Ears Inside": false, + "Chuck/Chuck/Skeleton3D/Modern Jaw": false, + "Chuck/Chuck/Skeleton3D/Modern Muzzle": false, + }, + "Modern": + { + "Chuck/Chuck/Skeleton3D/PTT Ears": false, + "Chuck/Chuck/Skeleton3D/PTT Ears Inside": false, + "Chuck/Chuck/Skeleton3D/PTT Jaw": false, + "Chuck/Chuck/Skeleton3D/PTT Muzzle": false, + "Chuck/Chuck/Skeleton3D/Modern Ears": true, + "Chuck/Chuck/Skeleton3D/Modern Ears Inside": true, + "Chuck/Chuck/Skeleton3D/Modern Jaw": true, + "Chuck/Chuck/Skeleton3D/Modern Muzzle": true, + }, + }, + + "Chuck E. Eyelids": + { + "Blue": + { + "Chuck/Chuck/Skeleton3D/Blue Eyelids": true, + "Chuck/Chuck/Skeleton3D/Grey Eyelids": false, + }, + "Grey": + { + "Chuck/Chuck/Skeleton3D/Blue Eyelids": false, + "Chuck/Chuck/Skeleton3D/Grey Eyelids": true, + }, + } + } + }, + "Balcony Stage": + { + "bits": 53, + "scene": "res://Scenes/Stages/Balcony.tscn", + "scene_ref_base": "SubViewport/Balcony/", + "camera_count": 6, + + "ust_type": "Cyberamics", + + "bit_mapping": + { + 1: { "bot": "Chuck", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 2: { "bot": "Chuck", "movement": "Head Left", "flow_in": 0.8, "flow_out": 1.0 }, + 3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.0, "flow_out": 1.0 }, + 4: { "bot": "Chuck", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 }, + 5: { "bot": "Chuck", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 6: { "bot": "Chuck", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 7: { "bot": "Chuck", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 8: { "bot": "Chuck", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 9: { "bot": "Helen", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 10: { "bot": "Helen", "movement": "Head Left", "flow_in": 0.8, "flow_out": 1.0 }, + 11: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.0, "flow_out": 1.0 }, + 12: { "bot": "Helen", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 }, + 13: { "bot": "Helen", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 14: { "bot": "Helen", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 15: { "bot": "Helen", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 16: { "bot": "Helen", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 25: { "bot": "Jasper", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 26: { "bot": "Jasper", "movement": "Head Left", "flow_in": 1.0, "flow_out": 1.0 }, + 27: { "bot": "Jasper", "movement": "Head Right", "flow_in": 1.0, "flow_out": 1.0 }, + 28: { "bot": "Jasper", "movement": "Head Up", "flow_in": 2.0, "flow_out": 1.0 }, + 29: { "bot": "Jasper", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 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": + { + "Chuck E. Hat": + { + "Derby": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": true, + }, + "Cool Chuck": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": true, + "Chuck/Chuck/Skeleton3D/Derby": false, + }, + "Avenger": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": true, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + }, + "None": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + } + }, + + "Chuck E. Shirt": + { + "Yellow Checker Vest": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false, + "Chuck/Chuck/Skeleton3D/Black Bowtie": true, + "Chuck/Chuck/Skeleton3D/Buttons": true, + "Chuck/Chuck/Skeleton3D/Vest Trim": true, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": true, + "Chuck/Chuck/Skeleton3D/Rocker Vest": false, + }, + "Red Vest": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false, + "Chuck/Chuck/Skeleton3D/Black Bowtie": true, + "Chuck/Chuck/Skeleton3D/Buttons": true, + "Chuck/Chuck/Skeleton3D/Vest Trim": true, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false, + "Chuck/Chuck/Skeleton3D/Rocker Vest": true, + }, + "Cool Chuck Shirt": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": true, + "Chuck/Chuck/Skeleton3D/Black Bowtie": false, + "Chuck/Chuck/Skeleton3D/Buttons": false, + "Chuck/Chuck/Skeleton3D/Vest Trim": false, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false, + "Chuck/Chuck/Skeleton3D/Rocker Vest": false, + }, + "Avenger Shirt": + { + "Chuck/Chuck/Skeleton3D/Avenger Shirt": true, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false, + "Chuck/Chuck/Skeleton3D/Black Bowtie": false, + "Chuck/Chuck/Skeleton3D/Buttons": false, + "Chuck/Chuck/Skeleton3D/Vest Trim": false, + "Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false, + "Chuck/Chuck/Skeleton3D/Rocker Vest": false, + } + }, + + "Chuck E. Mask": + { + "PTT": + { + "Chuck/Chuck/Skeleton3D/PTT Ears": true, + "Chuck/Chuck/Skeleton3D/PTT Ears Inside": true, + "Chuck/Chuck/Skeleton3D/PTT Jaw": true, + "Chuck/Chuck/Skeleton3D/PTT Muzzle": true, + "Chuck/Chuck/Skeleton3D/Modern Ears": false, + "Chuck/Chuck/Skeleton3D/Modern Ears Inside": false, + "Chuck/Chuck/Skeleton3D/Modern Jaw": false, + "Chuck/Chuck/Skeleton3D/Modern Muzzle": false, + }, + "Modern": + { + "Chuck/Chuck/Skeleton3D/PTT Ears": false, + "Chuck/Chuck/Skeleton3D/PTT Ears Inside": false, + "Chuck/Chuck/Skeleton3D/PTT Jaw": false, + "Chuck/Chuck/Skeleton3D/PTT Muzzle": false, + "Chuck/Chuck/Skeleton3D/Modern Ears": true, + "Chuck/Chuck/Skeleton3D/Modern Ears Inside": true, + "Chuck/Chuck/Skeleton3D/Modern Jaw": true, + "Chuck/Chuck/Skeleton3D/Modern Muzzle": true, + }, + }, + + "Chuck E. Eyelids": + { + "Blue": + { + "Chuck/Chuck/Skeleton3D/Blue Eyelids": true, + "Chuck/Chuck/Skeleton3D/Grey Eyelids": false, + }, + "Grey": + { + "Chuck/Chuck/Skeleton3D/Blue Eyelids": false, + "Chuck/Chuck/Skeleton3D/Grey Eyelids": true, + }, + }, + + "Helen Eyelids": + { + "Blue": + { + "Helen/Helen/Skeleton3D/Blue Eyelids": true, + "Helen/Helen/Skeleton3D/Pink Eyelids": false, + }, + "Pink": + { + "Helen/Helen/Skeleton3D/Blue Eyelids": false, + "Helen/Helen/Skeleton3D/Pink Eyelids": true, + }, + }, + + "Helen Dress": + { + "Half Body CU": + { + "Helen/Helen/Skeleton3D/Half Body Skirt": true, + "Helen/Helen/Skeleton3D/Skirt": false, + "Helen/Helen/Skeleton3D/Black Shirt": true, + "Helen/Helen/Skeleton3D/Collar": true, + }, + "Full Body CU": + { + "Helen/Helen/Skeleton3D/Half Body Skirt": false, + "Helen/Helen/Skeleton3D/Skirt": true, + "Helen/Helen/Skeleton3D/Black Shirt": true, + "Helen/Helen/Skeleton3D/Collar": true, + }, + }, + + "Helen Hair": + { + "Large CU": + { + "Helen/Helen/Skeleton3D/BWHair Large": true, + "Helen/Helen/Skeleton3D/BWHair": false, + }, + "Normal CU": + { + "Helen/Helen/Skeleton3D/BWHair Large": false, + "Helen/Helen/Skeleton3D/BWHair": true, + }, + }, + + "Helen Mask": + { + "Modern": + { + "Helen/Helen/Skeleton3D/Modern Head": true, + "Helen/Helen/Skeleton3D/Modern Mask": true, + "Helen/Helen/Skeleton3D/Road Stage Jaw": false, + "Helen/Helen/Skeleton3D/Road Stage Beak": false, + "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, + }, + }, + } + } } signal step(amount: int) @@ -23,13 +483,107 @@ signal end_recording() signal return_to_zero() signal erase_all() +func reload_stage() -> void: + $SequencerPanel/TimelinePanel/VScrollBar.value = 0 + $FlyoutPanel/Movements/VScrollBar.value = 0 + $FlyoutPanel/FlowControls/VScrollBar.value = 0 + $CameraPreview.visible = false + for row in $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_children(): + row.queue_free() + for flow in $FlyoutPanel/FlowControls/InvisibleMask/FlowHandle.get_children(): + flow.queue_free() + for movement in $FlyoutPanel/Movements/InvisibleMask/MovementHandle.get_children(): + movement.queue_free() + for camera in $FlyoutPanel/Camera.get_children(): + camera.queue_free() + for cosmetic_adjustment in $FlyoutPanel/Cosmetics/InvisibleMask/CosmeticsHandle.get_children(): + cosmetic_adjustment.queue_free() + if ($SubViewport.get_child_count() > 0): + $SubViewport.get_child(0).queue_free() + cam_index = 0 + var stage = load(stages_info[current_stage]["scene"]).instantiate() + $SubViewport.add_child(stage) + + var cam_offset = 4 + for i in range(1, stages_info[current_stage]["camera_count"]+1): + var camera_button = load("res://Scenes/GUI/Controls/CameraButton.tscn").instantiate() + camera_button.camera = "Angle " + str(i) + camera_button.base_scene_path = "../../../" + stages_info[current_stage]["scene_ref_base"] + camera_button.position.y = cam_offset + cam_offset += 36 + $FlyoutPanel/Camera.add_child(camera_button) + $FlyoutPanel/Camera.size.y = cam_offset + + var cosmetics_offset = 0 + var cosmetics_count = -1 + for cosmetic in stages_info[current_stage]["cosmetics"]: + var cosmetic_adjustment = load("res://Scenes/GUI/Controls/CosmeticAdjustment.tscn").instantiate() + cosmetic_adjustment.vis_name = cosmetic + cosmetic_adjustment.options = stages_info[current_stage]["cosmetics"][cosmetic] + cosmetic_adjustment.scene_handle = "../../../../../" + stages_info[current_stage]["scene_ref_base"] + cosmetic_adjustment.position.y = cosmetics_offset + cosmetics_offset += 44 + cosmetics_count += 1 + $FlyoutPanel/Cosmetics/InvisibleMask/CosmeticsHandle.add_child(cosmetic_adjustment) + $FlyoutPanel/Cosmetics/VScrollBar.max_value = cosmetics_count + + var rows_offset = 0 + var flows_offset = 0 + var flow_count = 0 + for bit_number in stages_info[current_stage]["bit_mapping"]: + var bot = stages_info[current_stage]["bit_mapping"][bit_number]["bot"] + var movement = stages_info[current_stage]["bit_mapping"][bit_number]["movement"] + + var in_flow = stages_info[current_stage]["bit_mapping"][bit_number]["flow_in"] + var out_flow = stages_info[current_stage]["bit_mapping"][bit_number]["flow_out"] + if (in_flow is not String): + var flow_control = load("res://Scenes/GUI/Controls/FlowControl.tscn").instantiate() + flow_control.position.y = flows_offset + flow_control.name = str(bit_number) + bot + movement + current_stage + flow_control.vis_name = bot + " " + movement + flow_control.in_value = in_flow + flow_control.out_value = out_flow + $FlyoutPanel/FlowControls/InvisibleMask/FlowHandle.add_child(flow_control) + flows_offset += 44 + flow_count += 1 + + var row = load("res://Scenes/GUI/Controls/MovementRow.tscn").instantiate() + row.name = str(bit_number) + " Bit" + row.position.y = rows_offset + row.base_scene_path = "../../../../../" + stages_info[current_stage]["scene_ref_base"] + row.animatronic = bot + row.current_stage = current_stage + if (in_flow is String): row.flow_path = "None" + row.movement_bit = bit_number + row.movement_name = movement + $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.add_child(row, true) + + var movement_button = load("res://Scenes/GUI/Controls/MovementButton.tscn").instantiate() + movement_button.position.y = rows_offset + movement_button.base_scene_path = "../../../../../" + stages_info[current_stage]["scene_ref_base"] + movement_button.animatronic = bot + movement_button.movement_bit = bit_number + movement_button.current_stage = current_stage + if (in_flow is String): movement_button.flow_path = "None" + movement_button.movement_name = movement + $FlyoutPanel/Movements/InvisibleMask/MovementHandle.add_child(movement_button) + rows_offset += 44 + $SequencerPanel/TimelinePanel/VScrollBar.max_value = stages_info[current_stage]["bits"] - 1 + $FlyoutPanel/Movements/VScrollBar.max_value = stages_info[current_stage]["bits"] - 1 + $FlyoutPanel/FlowControls/VScrollBar.max_value = flow_count - 1 + $CameraPreview.visible = true + +func _on_stage_change_overwrite_confirmation_dialog_confirmed() -> void: + erase_all.emit() + current_stage = $MenuBar/StageSelector.get_item_text($MenuBar/StageSelector.selected) + reload_stage() + func update_time_label() -> void: var frames = index % 60 - var seconds = floori(index/60) % 60 - var minutes = floori(index/3600) % 60 - var hours = floori(index/216000) + var seconds = floori(index/60.0) % 60 + var minutes = floori(index/3600.0) % 60 + var hours = floori(index/216000.0) $SequencerPanel/TransportControls/TimeLabel.text = "%d:%02d:%02d:%02d" % [hours, minutes, seconds, frames] - #$SequencerPanel/TransportControls/TimeLabel.text = str(index) func set_transport_enabled(enabled: bool): $SequencerPanel/TransportControls/Centered/StepBackwardsButton.disabled = !enabled @@ -47,6 +601,15 @@ func _ready() -> void: get_tree().get_root().size_changed.connect(_on_size_changed) erase_all.connect(_erase_all) $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() + +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() func _showtape_menu_button_pressed(id: int) -> void: match (id): @@ -109,8 +672,12 @@ func _on_showtape_load_open_button_pressed() -> void: var file = FileAccess.open($ShowtapeLoadScreen/DialogPanel/InFilePath.text.strip_edges(), FileAccess.READ) var content = file.get_as_text() var header = content.split(";")[0].split(",") - if ((int(header[3]) != stages_info[current_stage][1]) || (header[4] != stages_info[current_stage][6])|| (header[5] != stages_info[current_stage][5])): - $IncorrectShowtapeDialog.dialog_text = "This showtape is not compatible with the currently selected stage.\nShowtape stage type: %s\nShowtape character(s): %s" % [header[4], header[5]] + if (header[1] != "2"): + $IncorrectShowtapeDialog.dialog_text = "This showtape is not the correct version!" + $IncorrectShowtapeDialog.show() + return + if (header[3] != stages_info[current_stage]["ust_type"]): + $IncorrectShowtapeDialog.dialog_text = "This showtape is not compatible with the currently selected stage.\nShowtape stage type: " + header[3] $IncorrectShowtapeDialog.show() return show_name = header[2] @@ -131,7 +698,7 @@ func _on_showtape_save_out_browse_button_pressed() -> void: $SaveShowtapeFileDialog.show() func _on_showtape_save_create_button_pressed() -> void: - var header = "UST,1,"+show_name.replace(",", "_").replace(";", "_")+","+str(stages_info[current_stage][1])+","+stages_info[current_stage][6]+","+stages_info[current_stage][5]+";" + var header = "UST,2,"+show_name.replace(",", "_").replace(";", "_")+","+stages_info[current_stage]["ust_type"]+";" var data_out_string = save_data() var file = FileAccess.open($ShowtapeSaveScreen/DialogPanel/OutFilePath.text, FileAccess.WRITE) file.store_string(header+data_out_string+";"+Marshalls.raw_to_base64($AudioStreamPlayer.stream.data)) @@ -150,6 +717,16 @@ func _input(event: InputEvent) -> void: if event.is_action_pressed("toggle_editor_screen"): $CameraPreview.visible = !$CameraPreview.visible; $CameraFullScreen.visible = !$CameraFullScreen.visible; + if event.is_action_pressed("fullscreen"): + if (!fullscreen): + fullscreen = true + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) + else: + fullscreen = false + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) + if (event.is_action_pressed("cycle_camera_angle")): + cam_index += 1 + get_node(stages_info[current_stage]["scene_ref_base"] + "Angle " + str((cam_index % stages_info[current_stage]["camera_count"])+1)).current = true if (transport_enabled): if event.is_action_pressed("sequencer_play_pause"): if (playing): _on_pause_button_pressed() @@ -213,7 +790,16 @@ func _on_input_eater_pressed() -> void: $ShowtapeSaveScreen.visible = false func _on_v_scroll_bar_value_changed(value: float) -> void: - $SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle.position.y = value * -44 + $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.position.y = value * -44 + +func _on_flow_v_scroll_bar_value_changed(value: float) -> void: + $FlyoutPanel/FlowControls/InvisibleMask/FlowHandle.position.y = value * -44 + +func _on_movement_v_scroll_bar_value_changed(value: float) -> void: + $FlyoutPanel/Movements/InvisibleMask/MovementHandle.position.y = value * -44 + +func _on_cosmetics_v_scroll_bar_value_changed(value: float) -> void: + $FlyoutPanel/Cosmetics/InvisibleMask/CosmeticsHandle.position.y = value * -44 func _erase_all() -> void: playing = false @@ -228,6 +814,18 @@ func _erase_all() -> void: showtape_loaded = false $MenuBar/EditingLabel.text = "No showtape loaded." +func _on_movements_flyout_button_toggled(toggled_on: bool) -> void: + $FlyoutPanel/Movements.visible = toggled_on + +func _on_flows_flyout_button_toggled(toggled_on: bool) -> void: + $FlyoutPanel/FlowControls.visible = toggled_on + +func _on_camera_flyout_button_toggled(toggled_on: bool) -> void: + $FlyoutPanel/Camera.visible = toggled_on + +func _on_cosmetics_flyout_button_toggled(toggled_on: bool) -> void: + $FlyoutPanel/Cosmetics.visible = toggled_on + func _on_play_button_pressed() -> void: playback_rate = 1 @@ -276,6 +874,9 @@ func _on_step_forward_button_pressed() -> void: update_time_label() func _on_record_button_toggled(toggled_on: bool) -> void: + if (playing): + # starting recording while playing causes issues + _on_stop_button_pressed() recording = toggled_on if (toggled_on): start_recording.emit() else: end_recording.emit() @@ -291,30 +892,42 @@ func _on_stop_button_pressed() -> void: func save_data() -> String: var write_out : String = "" - var temp_data = [] + var temp_data = {} var longest_channel = 0 - for movement_row in $SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle.get_child(0).get_children(): - temp_data.append(movement_row.movements) + for movement_row in $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_children(): + temp_data[movement_row.movement_bit] = movement_row.movements if (movement_row.movements.size() > longest_channel): longest_channel = movement_row.movements.size() for i in range(longest_channel+1): - var frame_byte = 0 - for j in range(stages_info[current_stage][1]): - if (index_get_safe(i, temp_data[j])): frame_byte += 1 << j; - write_out += ("%0"+str(stages_info[current_stage][1]/4)+"X,") % frame_byte + var total_frame_index = 1 + var fstring = "" + for j in range(64): + var f_quartet = 0 + for k in range(4): + if (index_get_safe(i, index_s_get_safe(total_frame_index, temp_data))): + f_quartet += int(pow(2, k)) + total_frame_index += 1 + fstring = ("%01X" % f_quartet) + fstring + write_out += fstring + "," return write_out func plot_data(data: String): start_recording.emit() + var evil_glass = [] + for movement_row in $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_children(): + evil_glass.append(movement_row.movement_bit) for frame_string in data.split(","): if (frame_string == ""): continue - var frame_byte = frame_string.hex_to_int() - for i in range(stages_info[current_stage][1]): + var check_frame_split = frame_string.split() + check_frame_split.reverse() + for i in stages_info[current_stage]["bit_mapping"]: var er = false - if ((frame_byte & int(pow(2, i))) >> i == 1): + 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/RowsHandle.get_child(0).get_child(i).etching = er + $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) - for movement_row in $SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle.get_child(0).get_children(): + for movement_row in $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_children(): + movement_row.forced_etchable = false movement_row.etching = false end_recording.emit() return_to_zero.emit() @@ -325,3 +938,10 @@ func index_get_safe(cindex: int, data: Array[bool]) -> bool: var out = data.get(cindex) if (out == null): return false return out + +func index_s_get_safe(cindex: int, data: Dictionary) -> Array[bool]: + if (cindex > data.size()-1): return [ false ] + if (cindex < 0): return [ false ] + var out = data.get(cindex) + if (out == null): return [ false ] + return out diff --git a/Scripts/FlowControl.gd b/Scripts/FlowControl.gd new file mode 100644 index 0000000..66de06e --- /dev/null +++ b/Scripts/FlowControl.gd @@ -0,0 +1,21 @@ +extends Control + +@export var in_value : float = 1.0 +@export var out_value : float = 1.0 +@export var vis_name : String = "" + +signal in_value_updated(new_value: float) +signal out_value_updated(new_value: float) + +func _ready() -> void: + $Panel/Label.text = self.vis_name + $Panel/InStepper.value = self.in_value + $Panel/OutStepper.value = self.out_value + +func _on_in_stepper_value_changed(value: float) -> void: + self.in_value = value + in_value_updated.emit(value) + +func _on_out_stepper_value_changed(value: float) -> void: + self.out_value = value + out_value_updated.emit(value) diff --git a/Scripts/FlowSlider.gd.uid b/Scripts/FlowControl.gd.uid similarity index 100% rename from Scripts/FlowSlider.gd.uid rename to Scripts/FlowControl.gd.uid diff --git a/Scripts/FlowSlider.gd b/Scripts/FlowSlider.gd deleted file mode 100644 index 3bc2838..0000000 --- a/Scripts/FlowSlider.gd +++ /dev/null @@ -1,13 +0,0 @@ -extends Control - -@export var value : float = 1.0 - -signal value_updated(new_value: float) - -func _ready() -> void: - $Panel/Slider.value = self.value - -func _on_slider_value_changed(value: float) -> void: - self.value = $Panel/Slider.value - $Panel/ValueLabel.text = str(self.value) - value_updated.emit(value) diff --git a/Scripts/HelenHouseFlyout.gd b/Scripts/HelenHouseFlyout.gd deleted file mode 100644 index eab8222..0000000 --- a/Scripts/HelenHouseFlyout.gd +++ /dev/null @@ -1,178 +0,0 @@ -extends Control - -signal movement_in(movement, rate) -signal movement_out(movement, rate) - -var cam_index : int = 0 - -func _ready() -> void: - var animatronic = get_node("../SubViewport/HelenHouse/3stHelen") - movement_in.connect(animatronic._movement_in) - movement_out.connect(animatronic._movement_out) - movement_in.connect(self._movement_in) - movement_out.connect(self._movement_out) - -func _input(event: InputEvent) -> void: - if (event.is_action_pressed("cycle_camera_angle")): - cam_index += 1 - get_node("../SubViewport/HelenHouse/Camera " + str((cam_index % 2)+1)).current = true - -func _movement_in(movement, _rate): - get_node("Movements/IndicatorLights/" + movement).turn_on(); - -func _movement_out(movement, _rate): - get_node("Movements/IndicatorLights/" + movement).turn_off(); - -func _on_movements_flyout_button_toggled(toggled_on: bool) -> void: - $Movements.visible = toggled_on - -func _on_flows_flyout_button_toggled(toggled_on: bool) -> void: - $FlowControls.visible = toggled_on - -func _on_camera_flyout_button_toggled(toggled_on: bool) -> void: - $Camera.visible = toggled_on - -func _on_cosmetics_flyout_button_toggled(toggled_on: bool) -> void: - $Cosmetics.visible = toggled_on - -func _on_stage_flyout_button_toggled(toggled_on: bool) -> void: - $Stage.visible = toggled_on - -func _on_angle_1_button_pressed() -> void: - get_node("../SubViewport/HelenHouse/Camera 1").current = true - -func _on_angle_2_button_pressed() -> void: - get_node("../SubViewport/HelenHouse/Camera 2").current = true - - -func _on_mouth_button_down() -> void: - movement_in.emit("Mouth", $FlowControls/InFlows/MouthFlow.value) - -func _on_mouth_button_up() -> void: - movement_out.emit("Mouth", $FlowControls/OutFlows/MouthFlow.value) - - -func _on_left_ear_button_down() -> void: - movement_in.emit("Left Ear", $FlowControls/InFlows/LeftEarFlow.value) - -func _on_left_ear_button_up() -> void: - movement_out.emit("Left Ear", $FlowControls/OutFlows/LeftEarFlow.value) - - -func _on_right_ear_button_down() -> void: - movement_in.emit("Right Ear", $FlowControls/InFlows/RightEarFlow.value) - -func _on_right_ear_button_up() -> void: - movement_out.emit("Right Ear", $FlowControls/OutFlows/RightEarFlow.value) - - -func _on_left_eyelid_button_down() -> void: - movement_in.emit("Left Eyelid", $FlowControls/InFlows/LeftEyelidFlow.value) - -func _on_left_eyelid_button_up() -> void: - movement_out.emit("Left Eyelid", $FlowControls/OutFlows/LeftEyelidFlow.value) - - -func _on_right_eyelid_button_down() -> void: - movement_in.emit("Right Eyelid", $FlowControls/InFlows/RightEyelidFlow.value) - -func _on_right_eyelid_button_up() -> void: - movement_out.emit("Right Eyelid", $FlowControls/OutFlows/RightEyelidFlow.value) - - -func _on_eyes_left_button_down() -> void: - movement_in.emit("Eyes Left", $FlowControls/InFlows/EyesLeftFlow.value) - -func _on_eyes_left_button_up() -> void: - movement_out.emit("Eyes Left", $FlowControls/OutFlows/EyesLeftFlow.value) - - -func _on_eyes_right_button_down() -> void: - movement_in.emit("Eyes Right", $FlowControls/InFlows/EyesRightFlow.value) - -func _on_eyes_right_button_up() -> void: - movement_out.emit("Eyes Right", $FlowControls/OutFlows/EyesRightFlow.value) - - -func _on_head_left_button_down() -> void: - movement_in.emit("Head Left", $FlowControls/InFlows/HeadLeftFlow.value) - -func _on_head_left_button_up() -> void: - movement_out.emit("Head Left", $FlowControls/OutFlows/HeadLeftFlow.value) - - -func _on_head_right_button_down() -> void: - movement_in.emit("Head Right", $FlowControls/InFlows/HeadRightFlow.value) - -func _on_head_right_button_up() -> void: - movement_out.emit("Head Right", $FlowControls/OutFlows/HeadRightFlow.value) - - -func _on_head_up_button_down() -> void: - movement_in.emit("Head Up", $FlowControls/InFlows/HeadUpFlow.value) - -func _on_head_up_button_up() -> void: - movement_out.emit("Head Up", $FlowControls/OutFlows/HeadUpFlow.value) - - -func _on_left_arm_up_button_down() -> void: - movement_in.emit("Left Arm Up", $FlowControls/InFlows/LeftArmUpFlow.value) - -func _on_left_arm_up_button_up() -> void: - movement_out.emit("Left Arm Up", $FlowControls/OutFlows/LeftArmUpFlow.value) - - -func _on_left_arm_twist_button_down() -> void: - movement_in.emit("Left Arm Twist", $FlowControls/InFlows/LeftArmTwistFlow.value) - -func _on_left_arm_twist_button_up() -> void: - movement_out.emit("Left Arm Twist", $FlowControls/OutFlows/LeftArmTwistFlow.value) - - -func _on_left_elbow_button_down() -> void: - movement_in.emit("Left Elbow", $FlowControls/InFlows/LeftElbowFlow.value) - -func _on_left_elbow_button_up() -> void: - movement_out.emit("Left Elbow", $FlowControls/OutFlows/LeftElbowFlow.value) - - -func _on_right_arm_up_button_down() -> void: - movement_in.emit("Right Arm Up", $FlowControls/InFlows/RightArmUpFlow.value) - -func _on_right_arm_up_button_up() -> void: - movement_out.emit("Right Arm Up", $FlowControls/OutFlows/RightArmUpFlow.value) - - -func _on_right_arm_twist_button_down() -> void: - movement_in.emit("Right Arm Twist", $FlowControls/InFlows/RightArmTwistFlow.value) - -func _on_right_arm_twist_button_up() -> void: - movement_out.emit("Right Arm Twist", $FlowControls/OutFlows/RightArmTwistFlow.value) - - -func _on_right_elbow_button_down() -> void: - movement_in.emit("Right Elbow", $FlowControls/InFlows/RightElbowFlow.value) - -func _on_right_elbow_button_up() -> void: - movement_out.emit("Right Elbow", $FlowControls/OutFlows/RightElbowFlow.value) - - -func _on_body_left_button_down() -> void: - movement_in.emit("Body Left", $FlowControls/InFlows/BodyLeftFlow.value) - -func _on_body_left_button_up() -> void: - movement_out.emit("Body Left", $FlowControls/OutFlows/BodyLeftFlow.value) - - -func _on_body_right_button_down() -> void: - movement_in.emit("Body Right", $FlowControls/InFlows/BodyRightFlow.value) - -func _on_body_right_button_up() -> void: - movement_out.emit("Body Right", $FlowControls/OutFlows/BodyRightFlow.value) - - -func _on_body_lean_button_down() -> void: - movement_in.emit("Body Lean", $FlowControls/InFlows/BodyLeanFlow.value) - -func _on_body_lean_button_up() -> void: - movement_out.emit("Body Lean", $FlowControls/OutFlows/BodyLeanFlow.value) diff --git a/Scripts/HelenHouseFlyout.gd.uid b/Scripts/HelenHouseFlyout.gd.uid deleted file mode 100644 index c95620b..0000000 --- a/Scripts/HelenHouseFlyout.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bh512bgpm0kj7 diff --git a/Scripts/IndicatorLight.gd b/Scripts/IndicatorLight.gd deleted file mode 100644 index bbf57ae..0000000 --- a/Scripts/IndicatorLight.gd +++ /dev/null @@ -1,22 +0,0 @@ -extends Control - -@export var on: bool = false - -func _ready() -> void: - $Green.visible = self.on - -func turn_on() -> void: - self.on = true - $Green.visible = self.on - -func turn_off() -> void: - self.on = false - $Green.visible = self.on - -func toggle() -> void: - self.on = !self.on - $Green.visible = self.on - -func set_state(value: bool) -> void: - self.on = value - $Green.visible = self.on diff --git a/Scripts/LightController.gd b/Scripts/LightController.gd new file mode 100644 index 0000000..b5dc91d --- /dev/null +++ b/Scripts/LightController.gd @@ -0,0 +1,7 @@ +extends Node3D + +func _movement_in(movement, _rate): + get_node(movement).visible = true + +func _movement_out(movement, _rate): + get_node(movement).visible = false diff --git a/Scripts/LightController.gd.uid b/Scripts/LightController.gd.uid new file mode 100644 index 0000000..2a8204c --- /dev/null +++ b/Scripts/LightController.gd.uid @@ -0,0 +1 @@ +uid://d1p4ite8ts2wi diff --git a/Scripts/MovementButton.gd b/Scripts/MovementButton.gd new file mode 100644 index 0000000..2e7e1c5 --- /dev/null +++ b/Scripts/MovementButton.gd @@ -0,0 +1,41 @@ +extends Control + +signal movement_in(movement, rate) +signal movement_out(movement, rate) + +@export var animatronic : String +@export var movement_bit : int +@export var current_stage : String +@export var base_scene_path : String +@export var flow_path : String = "../../../../../FlyoutPanel/FlowControls/InvisibleMask/FlowHandle/" +@export var movement_name : String + +var in_flow : float = 1.0 +var out_flow : float = 1.0 + +func _ready() -> void: + $Panel/Button.text = animatronic + " " + movement_name + if (animatronic != "None"): + var animatronic_node = get_node(base_scene_path + animatronic) + movement_in.connect(animatronic_node._movement_in) + movement_out.connect(animatronic_node._movement_out) + if (flow_path != "None"): + var flow_control = get_node(flow_path + str(movement_bit) + animatronic + movement_name + current_stage) + flow_control.in_value_updated.connect(self._update_in_flow) + flow_control.out_value_updated.connect(self._update_out_flow) + in_flow = flow_control.in_value + out_flow = flow_control.out_value + +func _update_in_flow(new_value: float) -> void: + in_flow = new_value + +func _update_out_flow(new_value: float) -> void: + out_flow = new_value + +func _on_button_button_down() -> void: + movement_in.emit(movement_name, in_flow) + $Panel/IndicatorPanel/Green.visible = true + +func _on_button_button_up() -> void: + movement_out.emit(movement_name, out_flow) + $Panel/IndicatorPanel/Green.visible = false diff --git a/Scripts/IndicatorLight.gd.uid b/Scripts/MovementButton.gd.uid similarity index 100% rename from Scripts/IndicatorLight.gd.uid rename to Scripts/MovementButton.gd.uid diff --git a/Scripts/MovementRow.gd b/Scripts/MovementRow.gd index 17fe05c..b02c8c3 100644 --- a/Scripts/MovementRow.gd +++ b/Scripts/MovementRow.gd @@ -2,10 +2,13 @@ extends Panel @export var movement_bit : int = 0 @export var movement_name : String = "Name" -@export var flow_path : String = "../../../../../../HelenHouseFlyout/FlowControls/" -@export var animatronic_path : String = "../../../../../../SubViewport/HelenHouse/3stHelen" +@export var flow_path : String = "../../../../../FlyoutPanel/FlowControls/InvisibleMask/FlowHandle/" +@export var base_scene_path : String +@export var current_stage : String +@export var animatronic : String @export var movements : Array[bool] @export var etching: bool = false +@export var forced_etchable: bool = false var in_flow : float = 1.0 var out_flow : float = 1.0 @@ -53,8 +56,12 @@ func check_at_index(cindex: int) -> bool: if (out == null): return false return out +func check_if_erasing() -> bool: + if (forced_etchable): return true + return (!$LockButton.button_pressed) && key_binding.keycode != 0 + func _step(amount: int): - if (recording): + if (recording && check_if_erasing()): if (etching): set_at_current() else: unset_at_current() if (playing): @@ -91,7 +98,8 @@ func _end_playback(): playing = false func update_text() -> void: - $Button.text = "%d - %s (%s)" % [movement_bit, movement_name, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"] + if (animatronic == "None"): $Button.text = "%d - Unused (%s)" % [movement_bit, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"] + else: $Button.text = "%d - %s %s (%s)" % [movement_bit, animatronic, movement_name, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"] func _update_in_flow(new_value: float) -> void: in_flow = new_value @@ -101,19 +109,18 @@ func _update_out_flow(new_value: float) -> void: func _ready() -> void: if (flow_path != "None"): - var if_node = get_node(flow_path + "InFlows/" + movement_name.replace(" ", "") + "Flow") - var of_node = get_node(flow_path + "OutFlows/" + movement_name.replace(" ", "") + "Flow") - if_node.value_updated.connect(self._update_in_flow) - of_node.value_updated.connect(self._update_out_flow) - in_flow = if_node.value - out_flow = of_node.value - if (animatronic_path != "None"): - var animatronic = get_node(animatronic_path) - movement_in.connect(animatronic._movement_in) - movement_out.connect(animatronic._movement_out) + var flow_control = get_node(flow_path + str(movement_bit) + animatronic + movement_name + current_stage) + flow_control.in_value_updated.connect(self._update_in_flow) + flow_control.out_value_updated.connect(self._update_out_flow) + in_flow = flow_control.in_value + out_flow = flow_control.out_value + if (animatronic != "None"): + var animatronic_node = get_node(base_scene_path + animatronic) + movement_in.connect(animatronic_node._movement_in) + movement_out.connect(animatronic_node._movement_out) movement_in.connect(self._movement_in) movement_out.connect(self._movement_out) - var editor = get_node("../../../../../../") + var editor = get_node("../../../../../") editor.step.connect(_step) editor.start_recording.connect(_start_recording) editor.end_recording.connect(_end_recording) @@ -123,7 +130,7 @@ func _ready() -> void: update_text() func _process(_delta: float) -> void: - if (binding): return + if (binding || key_binding.keycode == 0): return if (Input.is_key_pressed(key_binding.keycode)): if (!held_on_previous_frame): movement_in.emit(movement_name, in_flow) @@ -161,8 +168,8 @@ func _input(event: InputEvent) -> void: update_text() return - func _on_clear_button_pressed() -> void: + if ($LockButton.button_pressed): return movements = [] for indicator in $MovementsBG/InvisibleMask/MovementsHandle.get_children(): indicator.queue_free() diff --git a/Stages.md b/Stages.md index 12731bd..8acdca4 100644 --- a/Stages.md +++ b/Stages.md @@ -2,7 +2,13 @@ ## Currently in game - - Helen House (not a real stage) + - Helen House (homemade stage) + - Chuck E's Corner (homemade stage) + +## In Development + + - Balcony Stage + - Prototype Road Stage ## Planned @@ -10,7 +16,6 @@ - Portrait Stage - Shelf Stage (Portrait stage with Balcony mechs) - - Balcony Stage - C Stage - Rocker Stage - Road Stage diff --git a/UI/BlankCam.png b/UI/BlankCam.png index ee39acd..822a25f 100644 Binary files a/UI/BlankCam.png and b/UI/BlankCam.png differ diff --git a/UI/PneumaticPlaything.icon/Assets/cylinder.svg b/UI/PneumaticPlaything.icon/Assets/cylinder.svg new file mode 100644 index 0000000..d6749de --- /dev/null +++ b/UI/PneumaticPlaything.icon/Assets/cylinder.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + diff --git a/UI/icon.svg.import b/UI/PneumaticPlaything.icon/Assets/cylinder.svg.import similarity index 70% rename from UI/icon.svg.import rename to UI/PneumaticPlaything.icon/Assets/cylinder.svg.import index 6fc4cc8..5c56810 100644 --- a/UI/icon.svg.import +++ b/UI/PneumaticPlaything.icon/Assets/cylinder.svg.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bm61nhm3rs043" -path="res://.godot/imported/icon.svg-c9c2a32fd2d5f8bc98ecd887f02eeda7.ctex" +uid="uid://1eluxvmnj7l7" +path="res://.godot/imported/cylinder.svg-7c12310ad8fca6e1f959909a64d6d065.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/icon.svg" -dest_files=["res://.godot/imported/icon.svg-c9c2a32fd2d5f8bc98ecd887f02eeda7.ctex"] +source_file="res://UI/PneumaticPlaything.icon/Assets/cylinder.svg" +dest_files=["res://.godot/imported/cylinder.svg-7c12310ad8fca6e1f959909a64d6d065.ctex"] [params] diff --git a/UI/PneumaticPlaything.icon/Assets/green_lines.svg b/UI/PneumaticPlaything.icon/Assets/green_lines.svg new file mode 100644 index 0000000..ce9309e --- /dev/null +++ b/UI/PneumaticPlaything.icon/Assets/green_lines.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + diff --git a/UI/PneumaticPlaything.icon/Assets/green_lines.svg.import b/UI/PneumaticPlaything.icon/Assets/green_lines.svg.import new file mode 100644 index 0000000..6881607 --- /dev/null +++ b/UI/PneumaticPlaything.icon/Assets/green_lines.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkg2eh0tfbji4" +path="res://.godot/imported/green_lines.svg-af1cb631137e1105ee7be8775d8a5016.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/PneumaticPlaything.icon/Assets/green_lines.svg" +dest_files=["res://.godot/imported/green_lines.svg-af1cb631137e1105ee7be8775d8a5016.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/UI/PneumaticPlaything.icon/icon.json b/UI/PneumaticPlaything.icon/icon.json new file mode 100644 index 0000000..1b2358d --- /dev/null +++ b/UI/PneumaticPlaything.icon/icon.json @@ -0,0 +1,68 @@ +{ + "fill" : { + "automatic-gradient" : "srgb:0.12984,0.12985,0.12984,1.00000" + }, + "groups" : [ + { + "layers" : [ + { + "blend-mode" : "normal", + "fill" : { + "automatic-gradient" : "srgb:1.00000,1.00000,1.00000,1.00000" + }, + "glass" : true, + "image-name" : "cylinder.svg", + "name" : "cylinder", + "position" : { + "scale" : 3, + "translation-in-points" : [ + 0, + 0 + ] + } + } + ], + "shadow" : { + "kind" : "neutral", + "opacity" : 0.5 + }, + "translucency" : { + "enabled" : true, + "value" : 0.5 + } + }, + { + "layers" : [ + { + "fill" : { + "automatic-gradient" : "srgb:0.00000,0.97680,0.00000,1.00000" + }, + "image-name" : "green_lines.svg", + "name" : "green_lines", + "opacity" : 1, + "position" : { + "scale" : 3.4, + "translation-in-points" : [ + 0, + 0 + ] + } + } + ], + "shadow" : { + "kind" : "neutral", + "opacity" : 0.5 + }, + "translucency" : { + "enabled" : true, + "value" : 0.5 + } + } + ], + "supported-platforms" : { + "circles" : [ + "watchOS" + ], + "squares" : "shared" + } +} \ No newline at end of file diff --git a/UI/SmallLock.png b/UI/SmallLock.png new file mode 100644 index 0000000..b5bc9f0 Binary files /dev/null and b/UI/SmallLock.png differ diff --git a/UI/SmallLock.png.import b/UI/SmallLock.png.import new file mode 100644 index 0000000..ea363c7 --- /dev/null +++ b/UI/SmallLock.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d007317123e27" +path="res://.godot/imported/SmallLock.png-0c9e5ce04a7421f0922124b2fb1d8696.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/SmallLock.png" +dest_files=["res://.godot/imported/SmallLock.png-0c9e5ce04a7421f0922124b2fb1d8696.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/UI/icon-32px.png b/UI/icon-32px.png new file mode 100644 index 0000000..16574f1 Binary files /dev/null and b/UI/icon-32px.png differ diff --git a/UI/icon-32px.png.import b/UI/icon-32px.png.import new file mode 100644 index 0000000..6250137 --- /dev/null +++ b/UI/icon-32px.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpb3xn54kpxoe" +path="res://.godot/imported/icon-32px.png-601da436f7467fcd6c395054742650f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/icon-32px.png" +dest_files=["res://.godot/imported/icon-32px.png-601da436f7467fcd6c395054742650f3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/UI/icon-round.png b/UI/icon-round.png new file mode 100644 index 0000000..fdbbf6c Binary files /dev/null and b/UI/icon-round.png differ diff --git a/UI/icon-round.png.import b/UI/icon-round.png.import new file mode 100644 index 0000000..5f55748 --- /dev/null +++ b/UI/icon-round.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yqg6bh2fiumf" +path="res://.godot/imported/icon-round.png-d13b0f9c2aed0f892b01044430866017.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/icon-round.png" +dest_files=["res://.godot/imported/icon-round.png-d13b0f9c2aed0f892b01044430866017.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/UI/icon.icns b/UI/icon.icns new file mode 100644 index 0000000..cf6eb7e Binary files /dev/null and b/UI/icon.icns differ diff --git a/UI/icon.ico b/UI/icon.ico new file mode 100644 index 0000000..59409c5 Binary files /dev/null and b/UI/icon.ico differ diff --git a/UI/icon.png b/UI/icon.png index 9886d6f..fc311ca 100644 Binary files a/UI/icon.png and b/UI/icon.png differ diff --git a/UI/icon.png.import b/UI/icon.png.import index 1fbd3b0..10cbd4d 100644 --- a/UI/icon.png.import +++ b/UI/icon.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://dkbo8r6il5rh7" +uid="uid://cnvfrr028730a" path="res://.godot/imported/icon.png-d44ad423496976af115f803f6386bc82.ctex" metadata={ "vram_texture": false diff --git a/UI/icon.svg b/UI/icon.svg deleted file mode 100644 index 684d422..0000000 --- a/UI/icon.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - diff --git a/project.godot b/project.godot index 08e5676..4b8bb8c 100644 --- a/project.godot +++ b/project.godot @@ -11,22 +11,29 @@ config_version=5 [application] config/name="Pneumatic Plaything" -config/version="v0.3" +config/version="v0.6" run/main_scene="uid://oiehbor0dlqx" config/features=PackedStringArray("4.4", "GL Compatibility") boot_splash/show_image=false -config/icon="uid://bm61nhm3rs043" +config/icon="uid://cnvfrr028730a" +config/macos_native_icon="res://UI/icon.icns" +config/windows_native_icon="res://UI/icon.ico" [display] window/size/viewport_width=1280 window/size/viewport_height=720 +[filesystem] + +import/blender/enabled=false + [input] ui_accept={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } ui_select={ @@ -137,11 +144,6 @@ ui_text_dedent={ "deadzone": 0.5, "events": [] } -ui_text_backspace={ -"deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194308,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) -] -} ui_text_backspace_word={ "deadzone": 0.5, "events": [] @@ -154,10 +156,6 @@ ui_text_backspace_all_to_left.macos={ "deadzone": 0.5, "events": [] } -ui_text_delete={ -"deadzone": 0.5, -"events": [] -} ui_text_delete_word={ "deadzone": 0.5, "events": [] @@ -306,10 +304,6 @@ ui_menu={ "deadzone": 0.5, "events": [] } -ui_text_submit={ -"deadzone": 0.5, -"events": [] -} ui_unicode_start={ "deadzone": 0.5, "events": [] @@ -392,9 +386,17 @@ sequencer_home={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":false,"script":null) ] } +fullscreen={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194342,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":true,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} [rendering] 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