diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6186357 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +# Godot 4+ specific ignores +.godot/ +/android/ +export_presets.cfg diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8ff9a07 --- /dev/null +++ b/LICENSE @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2025 Persephone (KawaiiZenbo) Bubblegum-Holiday + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Models/3-Stage/3Stage.glb b/Models/3-Stage/3Stage.glb new file mode 100644 index 0000000..dd598e8 Binary files /dev/null and b/Models/3-Stage/3Stage.glb differ diff --git a/Models/3-Stage/3Stage.glb.import b/Models/3-Stage/3Stage.glb.import new file mode 100644 index 0000000..4009c15 --- /dev/null +++ b/Models/3-Stage/3Stage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://b77ebnic6ktql" +path="res://.godot/imported/3Stage.glb-3993108ca764668f2cef2120fc62a054.scn" + +[deps] + +source_file="res://Models/3-Stage/3Stage.glb" +dest_files=["res://.godot/imported/3Stage.glb-3993108ca764668f2cef2120fc62a054.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/3-Stage/3Stage_90sCarpet.png b/Models/3-Stage/3Stage_90sCarpet.png new file mode 100644 index 0000000..2e803e8 Binary files /dev/null and b/Models/3-Stage/3Stage_90sCarpet.png differ diff --git a/Models/3-Stage/3Stage_90sCarpet.png.import b/Models/3-Stage/3Stage_90sCarpet.png.import new file mode 100644 index 0000000..d39b488 --- /dev/null +++ b/Models/3-Stage/3Stage_90sCarpet.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://i81fa3un78i8" +path.s3tc="res://.godot/imported/3Stage_90sCarpet.png-c8a6f31aa72a37cfe2008522b13d081b.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_90sCarpet.png-c8a6f31aa72a37cfe2008522b13d081b.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d5b1018d1d02101872e62e5f0fe03344" +} + +[deps] + +source_file="res://Models/3-Stage/3Stage_90sCarpet.png" +dest_files=["res://.godot/imported/3Stage_90sCarpet.png-c8a6f31aa72a37cfe2008522b13d081b.s3tc.ctex", "res://.godot/imported/3Stage_90sCarpet.png-c8a6f31aa72a37cfe2008522b13d081b.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/3Stage_BlackCarpet_Diffuse.png b/Models/3-Stage/3Stage_BlackCarpet_Diffuse.png new file mode 100644 index 0000000..7ef0634 Binary files /dev/null and b/Models/3-Stage/3Stage_BlackCarpet_Diffuse.png differ diff --git a/Models/3-Stage/3Stage_BlackCarpet_Diffuse.png.import b/Models/3-Stage/3Stage_BlackCarpet_Diffuse.png.import new file mode 100644 index 0000000..eb0bb03 --- /dev/null +++ b/Models/3-Stage/3Stage_BlackCarpet_Diffuse.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4qqx875414ak" +path.s3tc="res://.godot/imported/3Stage_BlackCarpet_Diffuse.png-384769ca664d7f19d1427121617333a2.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_BlackCarpet_Diffuse.png-384769ca664d7f19d1427121617333a2.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "f1a86207e2b78453b13df0fee272dea9" +} + +[deps] + +source_file="res://Models/3-Stage/3Stage_BlackCarpet_Diffuse.png" +dest_files=["res://.godot/imported/3Stage_BlackCarpet_Diffuse.png-384769ca664d7f19d1427121617333a2.s3tc.ctex", "res://.godot/imported/3Stage_BlackCarpet_Diffuse.png-384769ca664d7f19d1427121617333a2.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/3Stage_BlackCeiling_Diffuse.png b/Models/3-Stage/3Stage_BlackCeiling_Diffuse.png new file mode 100644 index 0000000..1bbb6c0 Binary files /dev/null and b/Models/3-Stage/3Stage_BlackCeiling_Diffuse.png differ diff --git a/Models/3-Stage/3Stage_BlackCeiling_Diffuse.png.import b/Models/3-Stage/3Stage_BlackCeiling_Diffuse.png.import new file mode 100644 index 0000000..c309790 --- /dev/null +++ b/Models/3-Stage/3Stage_BlackCeiling_Diffuse.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4jtwuwrvmcug" +path.s3tc="res://.godot/imported/3Stage_BlackCeiling_Diffuse.png-48e8c632e0d5bf96d3367cc2be226319.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_BlackCeiling_Diffuse.png-48e8c632e0d5bf96d3367cc2be226319.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d2d841ed667a4b7b6cbf71fe4f84f273" +} + +[deps] + +source_file="res://Models/3-Stage/3Stage_BlackCeiling_Diffuse.png" +dest_files=["res://.godot/imported/3Stage_BlackCeiling_Diffuse.png-48e8c632e0d5bf96d3367cc2be226319.s3tc.ctex", "res://.godot/imported/3Stage_BlackCeiling_Diffuse.png-48e8c632e0d5bf96d3367cc2be226319.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/3Stage_SThreeXManWall_Diffuse.png b/Models/3-Stage/3Stage_SThreeXManWall_Diffuse.png new file mode 100644 index 0000000..5ce60b2 Binary files /dev/null and b/Models/3-Stage/3Stage_SThreeXManWall_Diffuse.png differ diff --git a/Models/3-Stage/3Stage_SThreeXManWall_Diffuse.png.import b/Models/3-Stage/3Stage_SThreeXManWall_Diffuse.png.import new file mode 100644 index 0000000..bc2d02d --- /dev/null +++ b/Models/3-Stage/3Stage_SThreeXManWall_Diffuse.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2n7ucososh23" +path.s3tc="res://.godot/imported/3Stage_SThreeXManWall_Diffuse.png-a24611d15ae926050682e400391cd01b.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_SThreeXManWall_Diffuse.png-a24611d15ae926050682e400391cd01b.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "016c0dfb954da87fd4294d4201c3d2e3" +} + +[deps] + +source_file="res://Models/3-Stage/3Stage_SThreeXManWall_Diffuse.png" +dest_files=["res://.godot/imported/3Stage_SThreeXManWall_Diffuse.png-a24611d15ae926050682e400391cd01b.s3tc.ctex", "res://.godot/imported/3Stage_SThreeXManWall_Diffuse.png-a24611d15ae926050682e400391cd01b.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/3Stage_Wood_Diffuse_1.png b/Models/3-Stage/3Stage_Wood_Diffuse_1.png new file mode 100644 index 0000000..f332090 Binary files /dev/null and b/Models/3-Stage/3Stage_Wood_Diffuse_1.png differ diff --git a/Models/3-Stage/3Stage_Wood_Diffuse_1.png.import b/Models/3-Stage/3Stage_Wood_Diffuse_1.png.import new file mode 100644 index 0000000..502c33c --- /dev/null +++ b/Models/3-Stage/3Stage_Wood_Diffuse_1.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcbk0g5dn6hmo" +path.s3tc="res://.godot/imported/3Stage_Wood_Diffuse_1.png-e071830fc595c982f0f01455ed8b89eb.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_Wood_Diffuse_1.png-e071830fc595c982f0f01455ed8b89eb.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "cb76dfe6ca357639a222cf07d6609841" +} + +[deps] + +source_file="res://Models/3-Stage/3Stage_Wood_Diffuse_1.png" +dest_files=["res://.godot/imported/3Stage_Wood_Diffuse_1.png-e071830fc595c982f0f01455ed8b89eb.s3tc.ctex", "res://.godot/imported/3Stage_Wood_Diffuse_1.png-e071830fc595c982f0f01455ed8b89eb.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/3Stage_valence.png b/Models/3-Stage/3Stage_valence.png new file mode 100644 index 0000000..834d053 Binary files /dev/null and b/Models/3-Stage/3Stage_valence.png differ diff --git a/Models/3-Stage/3Stage_valence.png.import b/Models/3-Stage/3Stage_valence.png.import new file mode 100644 index 0000000..6eeb3af --- /dev/null +++ b/Models/3-Stage/3Stage_valence.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://krikbljn8svk" +path.s3tc="res://.godot/imported/3Stage_valence.png-68667bd947e27c7a77356f84b99f22ec.s3tc.ctex" +path.etc2="res://.godot/imported/3Stage_valence.png-68667bd947e27c7a77356f84b99f22ec.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "0c2af2ccde97f4d3cc14885a9bd1caef" +} + +[deps] + +source_file="res://Models/3-Stage/3Stage_valence.png" +dest_files=["res://.godot/imported/3Stage_valence.png-68667bd947e27c7a77356f84b99f22ec.s3tc.ctex", "res://.godot/imported/3Stage_valence.png-68667bd947e27c7a77356f84b99f22ec.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-StageBots/3stHelen.glb b/Models/3-StageBots/3stHelen.glb new file mode 100644 index 0000000..a2bdb2f Binary files /dev/null and b/Models/3-StageBots/3stHelen.glb differ diff --git a/Models/3-StageBots/3stHelen.glb.import b/Models/3-StageBots/3stHelen.glb.import new file mode 100644 index 0000000..8df4059 --- /dev/null +++ b/Models/3-StageBots/3stHelen.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://f0fkcs7erhop" +path="res://.godot/imported/3stHelen.glb-16dd92753e3b8d93443b6a98c20582c9.scn" + +[deps] + +source_file="res://Models/3-StageBots/3stHelen.glb" +dest_files=["res://.godot/imported/3stHelen.glb-16dd92753e3b8d93443b6a98c20582c9.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/3-StageBots/3stHelen_beak.png b/Models/3-StageBots/3stHelen_beak.png new file mode 100644 index 0000000..d16ab10 Binary files /dev/null and b/Models/3-StageBots/3stHelen_beak.png differ diff --git a/Models/3-StageBots/3stHelen_beak.png.import b/Models/3-StageBots/3stHelen_beak.png.import new file mode 100644 index 0000000..8d9ba05 --- /dev/null +++ b/Models/3-StageBots/3stHelen_beak.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bprmuf7jpffy3" +path.s3tc="res://.godot/imported/3stHelen_beak.png-8dcc066ee994660fb33e6378cc56a4d2.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_beak.png-8dcc066ee994660fb33e6378cc56a4d2.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "e62a49cd7edd0e5c4fe2d3d2bc6a61b9" +} + +[deps] + +source_file="res://Models/3-StageBots/3stHelen_beak.png" +dest_files=["res://.godot/imported/3stHelen_beak.png-8dcc066ee994660fb33e6378cc56a4d2.s3tc.ctex", "res://.godot/imported/3stHelen_beak.png-8dcc066ee994660fb33e6378cc56a4d2.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-StageBots/3stHelen_cheer dress.png b/Models/3-StageBots/3stHelen_cheer dress.png new file mode 100644 index 0000000..5ecb4bf Binary files /dev/null and b/Models/3-StageBots/3stHelen_cheer dress.png differ diff --git a/Models/3-StageBots/3stHelen_cheer dress.png.import b/Models/3-StageBots/3stHelen_cheer dress.png.import new file mode 100644 index 0000000..99bced2 --- /dev/null +++ b/Models/3-StageBots/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-6975f6f2e6a94e8ff4c76cd5e2f7be21.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_cheer dress.png-6975f6f2e6a94e8ff4c76cd5e2f7be21.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "7cedb51b071905707d033e23c77584cb" +} + +[deps] + +source_file="res://Models/3-StageBots/3stHelen_cheer dress.png" +dest_files=["res://.godot/imported/3stHelen_cheer dress.png-6975f6f2e6a94e8ff4c76cd5e2f7be21.s3tc.ctex", "res://.godot/imported/3stHelen_cheer dress.png-6975f6f2e6a94e8ff4c76cd5e2f7be21.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-StageBots/3stHelen_fur.png b/Models/3-StageBots/3stHelen_fur.png new file mode 100644 index 0000000..b3c53a5 Binary files /dev/null and b/Models/3-StageBots/3stHelen_fur.png differ diff --git a/Models/3-StageBots/3stHelen_fur.png.import b/Models/3-StageBots/3stHelen_fur.png.import new file mode 100644 index 0000000..fbbc1cf --- /dev/null +++ b/Models/3-StageBots/3stHelen_fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtd42wohdk5nf" +path.s3tc="res://.godot/imported/3stHelen_fur.png-7d210492146c9a30a09f68d6e8b99d51.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_fur.png-7d210492146c9a30a09f68d6e8b99d51.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d622cd261604f2451fe93281e2085d70" +} + +[deps] + +source_file="res://Models/3-StageBots/3stHelen_fur.png" +dest_files=["res://.godot/imported/3stHelen_fur.png-7d210492146c9a30a09f68d6e8b99d51.s3tc.ctex", "res://.godot/imported/3stHelen_fur.png-7d210492146c9a30a09f68d6e8b99d51.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-StageBots/3stHelen_hair.png b/Models/3-StageBots/3stHelen_hair.png new file mode 100644 index 0000000..56bd6e2 Binary files /dev/null and b/Models/3-StageBots/3stHelen_hair.png differ diff --git a/Models/3-StageBots/3stHelen_hair.png.import b/Models/3-StageBots/3stHelen_hair.png.import new file mode 100644 index 0000000..07e6e78 --- /dev/null +++ b/Models/3-StageBots/3stHelen_hair.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3264mrednlbd" +path.s3tc="res://.godot/imported/3stHelen_hair.png-496acc0b828d41c4a12184b3021f1bf9.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_hair.png-496acc0b828d41c4a12184b3021f1bf9.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "35bb2072abe8c8e39214dcb47ee5fc3a" +} + +[deps] + +source_file="res://Models/3-StageBots/3stHelen_hair.png" +dest_files=["res://.godot/imported/3stHelen_hair.png-496acc0b828d41c4a12184b3021f1bf9.s3tc.ctex", "res://.godot/imported/3stHelen_hair.png-496acc0b828d41c4a12184b3021f1bf9.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-StageBots/3stHelen_shoes.png b/Models/3-StageBots/3stHelen_shoes.png new file mode 100644 index 0000000..0b47cc0 Binary files /dev/null and b/Models/3-StageBots/3stHelen_shoes.png differ diff --git a/Models/3-StageBots/3stHelen_shoes.png.import b/Models/3-StageBots/3stHelen_shoes.png.import new file mode 100644 index 0000000..ac77980 --- /dev/null +++ b/Models/3-StageBots/3stHelen_shoes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm8h5o5urcvym" +path.s3tc="res://.godot/imported/3stHelen_shoes.png-be794d91bdb6407601503febc78cfd4e.s3tc.ctex" +path.etc2="res://.godot/imported/3stHelen_shoes.png-be794d91bdb6407601503febc78cfd4e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "239e23627ba253afcd70dc24f1087fb1" +} + +[deps] + +source_file="res://Models/3-StageBots/3stHelen_shoes.png" +dest_files=["res://.godot/imported/3stHelen_shoes.png-be794d91bdb6407601503febc78cfd4e.s3tc.ctex", "res://.godot/imported/3stHelen_shoes.png-be794d91bdb6407601503febc78cfd4e.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/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/Balcony/BalconyStage.glb.import b/Models/Balcony/BalconyStage.glb.import new file mode 100644 index 0000000..a005e55 --- /dev/null +++ b/Models/Balcony/BalconyStage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c6n4otfble154" +path="res://.godot/imported/BalconyStage.glb-30f76dcef53d0e1cd152a84572aefbee.scn" + +[deps] + +source_file="res://Models/Balcony/BalconyStage.glb" +dest_files=["res://.godot/imported/BalconyStage.glb-30f76dcef53d0e1cd152a84572aefbee.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/Models/Balcony/BalconyStage_prankbg.png b/Models/Balcony/BalconyStage_prankbg.png new file mode 100644 index 0000000..10e3109 Binary files /dev/null and b/Models/Balcony/BalconyStage_prankbg.png differ diff --git a/Models/Balcony/BalconyStage_prankbg.png.import b/Models/Balcony/BalconyStage_prankbg.png.import new file mode 100644 index 0000000..f900444 --- /dev/null +++ b/Models/Balcony/BalconyStage_prankbg.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm643d4g33g6h" +path.s3tc="res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.s3tc.ctex" +path.etc2="res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "437ade1d165b37a51e8dde9c8e10394d" +} + +[deps] + +source_file="res://Models/Balcony/BalconyStage_prankbg.png" +dest_files=["res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.s3tc.ctex", "res://.godot/imported/BalconyStage_prankbg.png-be741b0faaf56dcb0bfe2448a6e85e19.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Models/CStage/CStage.glb b/Models/CStage/CStage.glb new file mode 100644 index 0000000..d13c97e Binary files /dev/null and b/Models/CStage/CStage.glb differ diff --git a/Models/CStage/CStage.glb.import b/Models/CStage/CStage.glb.import new file mode 100644 index 0000000..0fce691 --- /dev/null +++ b/Models/CStage/CStage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dfw3sbg135u2h" +path="res://.godot/imported/CStage.glb-fd0cb012a830492e062aeb68ad20dc7a.scn" + +[deps] + +source_file="res://Models/CStage/CStage.glb" +dest_files=["res://.godot/imported/CStage.glb-fd0cb012a830492e062aeb68ad20dc7a.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/CStage/CStage_lattice.png b/Models/CStage/CStage_lattice.png new file mode 100644 index 0000000..38cfeb3 Binary files /dev/null and b/Models/CStage/CStage_lattice.png differ diff --git a/Models/CStage/CStage_lattice.png.import b/Models/CStage/CStage_lattice.png.import new file mode 100644 index 0000000..0879b30 --- /dev/null +++ b/Models/CStage/CStage_lattice.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqfubcqssw0sv" +path.s3tc="res://.godot/imported/CStage_lattice.png-fe379e176fc1e0705423d3abb3cf0de6.s3tc.ctex" +path.etc2="res://.godot/imported/CStage_lattice.png-fe379e176fc1e0705423d3abb3cf0de6.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "a915572067174f56497e123caac714e8" +} + +[deps] + +source_file="res://Models/CStage/CStage_lattice.png" +dest_files=["res://.godot/imported/CStage_lattice.png-fe379e176fc1e0705423d3abb3cf0de6.s3tc.ctex", "res://.godot/imported/CStage_lattice.png-fe379e176fc1e0705423d3abb3cf0de6.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/CStage/CStage_roof.png b/Models/CStage/CStage_roof.png new file mode 100644 index 0000000..9ff5dbe Binary files /dev/null and b/Models/CStage/CStage_roof.png differ diff --git a/Models/CStage/CStage_roof.png.import b/Models/CStage/CStage_roof.png.import new file mode 100644 index 0000000..2e13aea --- /dev/null +++ b/Models/CStage/CStage_roof.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dysvpopundaib" +path.s3tc="res://.godot/imported/CStage_roof.png-127c8bde4a33b76f9b131e0b0469d7cc.s3tc.ctex" +path.etc2="res://.godot/imported/CStage_roof.png-127c8bde4a33b76f9b131e0b0469d7cc.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "3b6f8234d775358eaa28281314dab001" +} + +[deps] + +source_file="res://Models/CStage/CStage_roof.png" +dest_files=["res://.godot/imported/CStage_roof.png-127c8bde4a33b76f9b131e0b0469d7cc.s3tc.ctex", "res://.godot/imported/CStage_roof.png-127c8bde4a33b76f9b131e0b0469d7cc.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/CStage/CStage_siding.png b/Models/CStage/CStage_siding.png new file mode 100644 index 0000000..096288f Binary files /dev/null and b/Models/CStage/CStage_siding.png differ diff --git a/Models/CStage/CStage_siding.png.import b/Models/CStage/CStage_siding.png.import new file mode 100644 index 0000000..77155ab --- /dev/null +++ b/Models/CStage/CStage_siding.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db8h7n37nf2xq" +path.s3tc="res://.godot/imported/CStage_siding.png-8ec4314beadffe8a5ff069e4309b9fe2.s3tc.ctex" +path.etc2="res://.godot/imported/CStage_siding.png-8ec4314beadffe8a5ff069e4309b9fe2.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "6fbabc9e8b1a224a75e33c7f53f18b86" +} + +[deps] + +source_file="res://Models/CStage/CStage_siding.png" +dest_files=["res://.godot/imported/CStage_siding.png-8ec4314beadffe8a5ff069e4309b9fe2.s3tc.ctex", "res://.godot/imported/CStage_siding.png-8ec4314beadffe8a5ff069e4309b9fe2.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/ChuckEsCorner/ChuckEsCornerStage.glb.import b/Models/ChuckEsCorner/ChuckEsCornerStage.glb.import new file mode 100644 index 0000000..94fd5f3 --- /dev/null +++ b/Models/ChuckEsCorner/ChuckEsCornerStage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bv66hlbvtekho" +path="res://.godot/imported/ChuckEsCornerStage.glb-972590d495adda7be8c93e6d0989aa24.scn" + +[deps] + +source_file="res://Models/ChuckEsCorner/ChuckEsCornerStage.glb" +dest_files=["res://.godot/imported/ChuckEsCornerStage.glb-972590d495adda7be8c93e6d0989aa24.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/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 Chuck.glb b/Models/Cyberamics/Cyber Chuck.glb new file mode 100644 index 0000000..9470d39 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck.glb differ diff --git a/Models/Cyberamics/Cyber Chuck.glb.import b/Models/Cyberamics/Cyber Chuck.glb.import new file mode 100644 index 0000000..876731f --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c5fgw7t45p7r6" +path="res://.godot/imported/Cyber Chuck.glb-a3753f11d9fc0490de959aaf7e0592ff.scn" + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck.glb" +dest_files=["res://.godot/imported/Cyber Chuck.glb-a3753f11d9fc0490de959aaf7e0592ff.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 Chuck_avenger shorts.png b/Models/Cyberamics/Cyber Chuck_avenger shorts.png new file mode 100644 index 0000000..e12c0ab Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_avenger shorts.png differ diff --git a/Models/Cyberamics/Cyber Chuck_avenger shorts.png.import b/Models/Cyberamics/Cyber Chuck_avenger shorts.png.import new file mode 100644 index 0000000..221ca45 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_avenger shorts.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpru75dg7kthh" +path.s3tc="res://.godot/imported/Cyber Chuck_avenger shorts.png-f8c8c3c1e01bd2aaa2ce01c018e7a3b4.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_avenger shorts.png-f8c8c3c1e01bd2aaa2ce01c018e7a3b4.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "f08fa062e6aa65891a2a8ff799cd17b5" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_avenger shorts.png" +dest_files=["res://.godot/imported/Cyber Chuck_avenger shorts.png-f8c8c3c1e01bd2aaa2ce01c018e7a3b4.s3tc.ctex", "res://.godot/imported/Cyber Chuck_avenger shorts.png-f8c8c3c1e01bd2aaa2ce01c018e7a3b4.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 Chuck_avenger.png b/Models/Cyberamics/Cyber Chuck_avenger.png new file mode 100644 index 0000000..fbff2c7 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_avenger.png differ diff --git a/Models/Cyberamics/Cyber Chuck_avenger.png.import b/Models/Cyberamics/Cyber Chuck_avenger.png.import new file mode 100644 index 0000000..1f4f52f --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_avenger.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccbyxlcuii6l4" +path.s3tc="res://.godot/imported/Cyber Chuck_avenger.png-9e5eb7675b541b5d4f9955126287e30c.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_avenger.png-9e5eb7675b541b5d4f9955126287e30c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "a5f0759cb22857a30f042b573314f845" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_avenger.png" +dest_files=["res://.godot/imported/Cyber Chuck_avenger.png-9e5eb7675b541b5d4f9955126287e30c.s3tc.ctex", "res://.godot/imported/Cyber Chuck_avenger.png-9e5eb7675b541b5d4f9955126287e30c.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 Chuck_blue cool chuck hat.png b/Models/Cyberamics/Cyber Chuck_blue cool chuck hat.png new file mode 100644 index 0000000..ada6dc5 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_blue cool chuck hat.png differ diff --git a/Models/Cyberamics/Cyber Chuck_blue cool chuck hat.png.import b/Models/Cyberamics/Cyber Chuck_blue cool chuck hat.png.import new file mode 100644 index 0000000..d2f2fb0 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_blue cool chuck hat.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ch46a7ipo4jeb" +path.s3tc="res://.godot/imported/Cyber Chuck_blue cool chuck hat.png-dd68c49476ac052741b57d787f46ce92.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_blue cool chuck hat.png-dd68c49476ac052741b57d787f46ce92.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "6067764c8eb1000b465a3829af5cc2f0" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_blue cool chuck hat.png" +dest_files=["res://.godot/imported/Cyber Chuck_blue cool chuck hat.png-dd68c49476ac052741b57d787f46ce92.s3tc.ctex", "res://.godot/imported/Cyber Chuck_blue cool chuck hat.png-dd68c49476ac052741b57d787f46ce92.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 Chuck_cool chuck hat.png b/Models/Cyberamics/Cyber Chuck_cool chuck hat.png new file mode 100644 index 0000000..8ca275a Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_cool chuck hat.png differ diff --git a/Models/Cyberamics/Cyber Chuck_cool chuck hat.png.import b/Models/Cyberamics/Cyber Chuck_cool chuck hat.png.import new file mode 100644 index 0000000..95278ef --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_cool chuck hat.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0vdrxxkf40l5" +path.s3tc="res://.godot/imported/Cyber Chuck_cool chuck hat.png-a12915da1e1c773aec3160846d160686.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_cool chuck hat.png-a12915da1e1c773aec3160846d160686.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "30dda0ec4550d8b59629241b11fcb967" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_cool chuck hat.png" +dest_files=["res://.godot/imported/Cyber Chuck_cool chuck hat.png-a12915da1e1c773aec3160846d160686.s3tc.ctex", "res://.godot/imported/Cyber Chuck_cool chuck hat.png-a12915da1e1c773aec3160846d160686.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 Chuck_cool chuck shirt.png b/Models/Cyberamics/Cyber Chuck_cool chuck shirt.png new file mode 100644 index 0000000..167eb4d Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_cool chuck shirt.png differ diff --git a/Models/Cyberamics/Cyber Chuck_cool chuck shirt.png.import b/Models/Cyberamics/Cyber Chuck_cool chuck shirt.png.import new file mode 100644 index 0000000..16398c2 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_cool chuck shirt.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk5gptkq3jeqo" +path.s3tc="res://.godot/imported/Cyber Chuck_cool chuck shirt.png-a1017c0886c6b9b53b27465ab87e0f51.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_cool chuck shirt.png-a1017c0886c6b9b53b27465ab87e0f51.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "47d45b1d7535be024d7328edf43a202e" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_cool chuck shirt.png" +dest_files=["res://.godot/imported/Cyber Chuck_cool chuck shirt.png-a1017c0886c6b9b53b27465ab87e0f51.s3tc.ctex", "res://.godot/imported/Cyber Chuck_cool chuck shirt.png-a1017c0886c6b9b53b27465ab87e0f51.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 Chuck_derby.png b/Models/Cyberamics/Cyber Chuck_derby.png new file mode 100644 index 0000000..1f40a12 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_derby.png differ diff --git a/Models/Cyberamics/Cyber Chuck_derby.png.import b/Models/Cyberamics/Cyber Chuck_derby.png.import new file mode 100644 index 0000000..7d43326 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_derby.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dilifuiugrheh" +path.s3tc="res://.godot/imported/Cyber Chuck_derby.png-aa4376a4e1bdf7d77a7ffa471b65b42a.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_derby.png-aa4376a4e1bdf7d77a7ffa471b65b42a.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "b7dcfc8d03f78489056415859985c5e8" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_derby.png" +dest_files=["res://.godot/imported/Cyber Chuck_derby.png-aa4376a4e1bdf7d77a7ffa471b65b42a.s3tc.ctex", "res://.godot/imported/Cyber Chuck_derby.png-aa4376a4e1bdf7d77a7ffa471b65b42a.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 Chuck_eyes.png b/Models/Cyberamics/Cyber Chuck_eyes.png new file mode 100644 index 0000000..a5c8b80 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_eyes.png differ diff --git a/Models/Cyberamics/Cyber Chuck_eyes.png.import b/Models/Cyberamics/Cyber Chuck_eyes.png.import new file mode 100644 index 0000000..a8cac49 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_eyes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwafnt0audxle" +path.s3tc="res://.godot/imported/Cyber Chuck_eyes.png-a12fc29e14a8528e945e11b17dfde04e.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_eyes.png-a12fc29e14a8528e945e11b17dfde04e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "8f35776d2432ce4abf4dff4fb3d16c00" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_eyes.png" +dest_files=["res://.godot/imported/Cyber Chuck_eyes.png-a12fc29e14a8528e945e11b17dfde04e.s3tc.ctex", "res://.godot/imported/Cyber Chuck_eyes.png-a12fc29e14a8528e945e11b17dfde04e.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 Chuck_fur.png b/Models/Cyberamics/Cyber Chuck_fur.png new file mode 100644 index 0000000..215da68 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_fur.png differ diff --git a/Models/Cyberamics/Cyber Chuck_fur.png.import b/Models/Cyberamics/Cyber Chuck_fur.png.import new file mode 100644 index 0000000..0eb96fc --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsgs3o8edlk1v" +path.s3tc="res://.godot/imported/Cyber Chuck_fur.png-24693ca0f1b8d929ce2257481d41ba0e.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_fur.png-24693ca0f1b8d929ce2257481d41ba0e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "5e34ca7e69f442ca5c0aed5caeb3345f" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_fur.png" +dest_files=["res://.godot/imported/Cyber Chuck_fur.png-24693ca0f1b8d929ce2257481d41ba0e.s3tc.ctex", "res://.godot/imported/Cyber Chuck_fur.png-24693ca0f1b8d929ce2257481d41ba0e.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 Chuck_jaw.png b/Models/Cyberamics/Cyber Chuck_jaw.png new file mode 100644 index 0000000..becab0e Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_jaw.png differ diff --git a/Models/Cyberamics/Cyber Chuck_jaw.png.import b/Models/Cyberamics/Cyber Chuck_jaw.png.import new file mode 100644 index 0000000..a90e600 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_jaw.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pm7or2yiqsnl" +path.s3tc="res://.godot/imported/Cyber Chuck_jaw.png-b72ed5871a8cb53e4437f2a131178180.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_jaw.png-b72ed5871a8cb53e4437f2a131178180.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "dce09f49a6e472d9d20fd12ae0105263" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_jaw.png" +dest_files=["res://.godot/imported/Cyber Chuck_jaw.png-b72ed5871a8cb53e4437f2a131178180.s3tc.ctex", "res://.godot/imported/Cyber Chuck_jaw.png-b72ed5871a8cb53e4437f2a131178180.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 Chuck_jeans.png b/Models/Cyberamics/Cyber Chuck_jeans.png new file mode 100644 index 0000000..7fc7682 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_jeans.png differ diff --git a/Models/Cyberamics/Cyber Chuck_jeans.png.import b/Models/Cyberamics/Cyber Chuck_jeans.png.import new file mode 100644 index 0000000..74b0205 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_jeans.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d06rpuppgmq86" +path.s3tc="res://.godot/imported/Cyber Chuck_jeans.png-3dbc5615d5b2bce04c1c00f5221f5775.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_jeans.png-3dbc5615d5b2bce04c1c00f5221f5775.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "e068afe1eb5127150fa05c42e1518c66" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_jeans.png" +dest_files=["res://.godot/imported/Cyber Chuck_jeans.png-3dbc5615d5b2bce04c1c00f5221f5775.s3tc.ctex", "res://.godot/imported/Cyber Chuck_jeans.png-3dbc5615d5b2bce04c1c00f5221f5775.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 Chuck_mic.png b/Models/Cyberamics/Cyber Chuck_mic.png new file mode 100644 index 0000000..72ef3ea Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_mic.png differ diff --git a/Models/Cyberamics/Cyber Chuck_mic.png.import b/Models/Cyberamics/Cyber Chuck_mic.png.import new file mode 100644 index 0000000..c7d8629 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_mic.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dl3cw2c26elk8" +path.s3tc="res://.godot/imported/Cyber Chuck_mic.png-81910f31a44978957e4e6f4a918a4f66.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_mic.png-81910f31a44978957e4e6f4a918a4f66.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "0c2b737299479570c7cc39c7685d4c62" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_mic.png" +dest_files=["res://.godot/imported/Cyber Chuck_mic.png-81910f31a44978957e4e6f4a918a4f66.s3tc.ctex", "res://.godot/imported/Cyber Chuck_mic.png-81910f31a44978957e4e6f4a918a4f66.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 Chuck_modern jaw.png b/Models/Cyberamics/Cyber Chuck_modern jaw.png new file mode 100644 index 0000000..63dcf64 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_modern jaw.png differ diff --git a/Models/Cyberamics/Cyber Chuck_modern jaw.png.import b/Models/Cyberamics/Cyber Chuck_modern jaw.png.import new file mode 100644 index 0000000..de44223 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_modern jaw.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlbs1qxt8l1mh" +path.s3tc="res://.godot/imported/Cyber Chuck_modern jaw.png-41a139bc69fec7727ef17ed430ef2fd1.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_modern jaw.png-41a139bc69fec7727ef17ed430ef2fd1.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "40535739a152a771fa57e75e1df9b011" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_modern jaw.png" +dest_files=["res://.godot/imported/Cyber Chuck_modern jaw.png-41a139bc69fec7727ef17ed430ef2fd1.s3tc.ctex", "res://.godot/imported/Cyber Chuck_modern jaw.png-41a139bc69fec7727ef17ed430ef2fd1.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 Chuck_tux derby.png b/Models/Cyberamics/Cyber Chuck_tux derby.png new file mode 100644 index 0000000..d1887cf Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_tux derby.png differ diff --git a/Models/Cyberamics/Cyber Chuck_tux derby.png.import b/Models/Cyberamics/Cyber Chuck_tux derby.png.import new file mode 100644 index 0000000..08a37a6 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_tux derby.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2fiagj0snh55" +path.s3tc="res://.godot/imported/Cyber Chuck_tux derby.png-eac0298195710927efa3c761b15c0794.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_tux derby.png-eac0298195710927efa3c761b15c0794.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "c5b24376153e7ccd2b4f5049855c37bc" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_tux derby.png" +dest_files=["res://.godot/imported/Cyber Chuck_tux derby.png-eac0298195710927efa3c761b15c0794.s3tc.ctex", "res://.godot/imported/Cyber Chuck_tux derby.png-eac0298195710927efa3c761b15c0794.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 Chuck_vest.png b/Models/Cyberamics/Cyber Chuck_vest.png new file mode 100644 index 0000000..594a1b9 Binary files /dev/null and b/Models/Cyberamics/Cyber Chuck_vest.png differ diff --git a/Models/Cyberamics/Cyber Chuck_vest.png.import b/Models/Cyberamics/Cyber Chuck_vest.png.import new file mode 100644 index 0000000..4d7af38 --- /dev/null +++ b/Models/Cyberamics/Cyber Chuck_vest.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgq6baq8yan3m" +path.s3tc="res://.godot/imported/Cyber Chuck_vest.png-70908e7162bacb10b5ae4105eed84516.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Chuck_vest.png-70908e7162bacb10b5ae4105eed84516.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "cdfb9781f38ce700fb6a6329107289e5" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Chuck_vest.png" +dest_files=["res://.godot/imported/Cyber Chuck_vest.png-70908e7162bacb10b5ae4105eed84516.s3tc.ctex", "res://.godot/imported/Cyber Chuck_vest.png-70908e7162bacb10b5ae4105eed84516.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.glb b/Models/Cyberamics/Cyber Helen.glb new file mode 100644 index 0000000..ee4d271 Binary files /dev/null and b/Models/Cyberamics/Cyber Helen.glb differ diff --git a/Models/Cyberamics/Cyber Helen.glb.import b/Models/Cyberamics/Cyber Helen.glb.import new file mode 100644 index 0000000..0bec33a --- /dev/null +++ b/Models/Cyberamics/Cyber Helen.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://d34xfaignny8j" +path="res://.godot/imported/Cyber Helen.glb-3f0344c1f3e746ac81eea3dfffd7e005.scn" + +[deps] + +source_file="res://Models/Cyberamics/Cyber Helen.glb" +dest_files=["res://.godot/imported/Cyber Helen.glb-3f0344c1f3e746ac81eea3dfffd7e005.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 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..3b8ee46 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..b2cf938 --- /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": "078738967b35746cb1cd2f17a5bef364" +} + +[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 Helen_shoes.png b/Models/Cyberamics/Cyber Helen_shoes.png new file mode 100644 index 0000000..0b47cc0 Binary files /dev/null and b/Models/Cyberamics/Cyber Helen_shoes.png differ diff --git a/Models/Cyberamics/Cyber Helen_shoes.png.import b/Models/Cyberamics/Cyber Helen_shoes.png.import new file mode 100644 index 0000000..be73caf --- /dev/null +++ b/Models/Cyberamics/Cyber Helen_shoes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drq2k76cun0yu" +path.s3tc="res://.godot/imported/Cyber Helen_shoes.png-3e5d76518bb1741e5d1632ddd8f286e8.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Helen_shoes.png-3e5d76518bb1741e5d1632ddd8f286e8.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "239e23627ba253afcd70dc24f1087fb1" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Helen_shoes.png" +dest_files=["res://.godot/imported/Cyber Helen_shoes.png-3e5d76518bb1741e5d1632ddd8f286e8.s3tc.ctex", "res://.godot/imported/Cyber Helen_shoes.png-3e5d76518bb1741e5d1632ddd8f286e8.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..19219e8 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_cg.png b/Models/Cyberamics/Cyber Jasper_cg.png new file mode 100644 index 0000000..d21c462 Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_cg.png differ diff --git a/Models/Cyberamics/Cyber Jasper_cg.png.import b/Models/Cyberamics/Cyber Jasper_cg.png.import new file mode 100644 index 0000000..9c5cc0f --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_cg.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ye0cj50q0bs5" +path.s3tc="res://.godot/imported/Cyber Jasper_cg.png-6e4ab85422cdf7d87a29d0cf50d8e838.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_cg.png-6e4ab85422cdf7d87a29d0cf50d8e838.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "e995a6c7d23c90adcab2f7d1d7babbe8" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_cg.png" +dest_files=["res://.godot/imported/Cyber Jasper_cg.png-6e4ab85422cdf7d87a29d0cf50d8e838.s3tc.ctex", "res://.godot/imported/Cyber Jasper_cg.png-6e4ab85422cdf7d87a29d0cf50d8e838.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_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..6c85f79 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..06bf97c --- /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": "d352812e727b8ffa0545e5665172abf1" +} + +[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_red.png b/Models/Cyberamics/Cyber Jasper_shirt_red.png new file mode 100644 index 0000000..2e80dd3 Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_shirt_red.png differ diff --git a/Models/Cyberamics/Cyber Jasper_shirt_red.png.import b/Models/Cyberamics/Cyber Jasper_shirt_red.png.import new file mode 100644 index 0000000..b7cc2f0 --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_shirt_red.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hxdufk1s1r8u" +path.s3tc="res://.godot/imported/Cyber Jasper_shirt_red.png-82bf8dafb0ef1eb74535c35064e6e118.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_shirt_red.png-82bf8dafb0ef1eb74535c35064e6e118.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "9577bd2160ffd688028b64b583900f34" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_shirt_red.png" +dest_files=["res://.godot/imported/Cyber Jasper_shirt_red.png-82bf8dafb0ef1eb74535c35064e6e118.s3tc.ctex", "res://.godot/imported/Cyber Jasper_shirt_red.png-82bf8dafb0ef1eb74535c35064e6e118.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/Cyber Jasper_shoes.png b/Models/Cyberamics/Cyber Jasper_shoes.png new file mode 100644 index 0000000..c844387 Binary files /dev/null and b/Models/Cyberamics/Cyber Jasper_shoes.png differ diff --git a/Models/Cyberamics/Cyber Jasper_shoes.png.import b/Models/Cyberamics/Cyber Jasper_shoes.png.import new file mode 100644 index 0000000..69b8c4f --- /dev/null +++ b/Models/Cyberamics/Cyber Jasper_shoes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ome2cangn7sc" +path.s3tc="res://.godot/imported/Cyber Jasper_shoes.png-996313a7d9bb7c2b5922f1c25ef7d53f.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Jasper_shoes.png-996313a7d9bb7c2b5922f1c25ef7d53f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "378e46101e07b0ece78bcac00260098c" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Jasper_shoes.png" +dest_files=["res://.godot/imported/Cyber Jasper_shoes.png-996313a7d9bb7c2b5922f1c25ef7d53f.s3tc.ctex", "res://.godot/imported/Cyber Jasper_shoes.png-996313a7d9bb7c2b5922f1c25ef7d53f.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 Munch.glb b/Models/Cyberamics/Cyber Munch.glb new file mode 100644 index 0000000..71f02fc Binary files /dev/null and b/Models/Cyberamics/Cyber Munch.glb differ diff --git a/Models/Cyberamics/Cyber Munch.glb.import b/Models/Cyberamics/Cyber Munch.glb.import new file mode 100644 index 0000000..11e1302 --- /dev/null +++ b/Models/Cyberamics/Cyber Munch.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://doxu4tb5jfoqp" +path="res://.godot/imported/Cyber Munch.glb-ee90626132c058d3a776c3c1aac76665.scn" + +[deps] + +source_file="res://Models/Cyberamics/Cyber Munch.glb" +dest_files=["res://.godot/imported/Cyber Munch.glb-ee90626132c058d3a776c3c1aac76665.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 Munch_eyes.png b/Models/Cyberamics/Cyber Munch_eyes.png new file mode 100644 index 0000000..4e992b8 Binary files /dev/null and b/Models/Cyberamics/Cyber Munch_eyes.png differ diff --git a/Models/Cyberamics/Cyber Munch_eyes.png.import b/Models/Cyberamics/Cyber Munch_eyes.png.import new file mode 100644 index 0000000..2bd5a5f --- /dev/null +++ b/Models/Cyberamics/Cyber Munch_eyes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b87xp7i67d56x" +path.s3tc="res://.godot/imported/Cyber Munch_eyes.png-b2fea9e691e722fa20ff94e2179c035e.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Munch_eyes.png-b2fea9e691e722fa20ff94e2179c035e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "2c123d88d7398fbeae1545ab095d1422" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Munch_eyes.png" +dest_files=["res://.godot/imported/Cyber Munch_eyes.png-b2fea9e691e722fa20ff94e2179c035e.s3tc.ctex", "res://.godot/imported/Cyber Munch_eyes.png-b2fea9e691e722fa20ff94e2179c035e.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 Munch_purple fur.png b/Models/Cyberamics/Cyber Munch_purple fur.png new file mode 100644 index 0000000..541e7a8 Binary files /dev/null and b/Models/Cyberamics/Cyber Munch_purple fur.png differ diff --git a/Models/Cyberamics/Cyber Munch_purple fur.png.import b/Models/Cyberamics/Cyber Munch_purple fur.png.import new file mode 100644 index 0000000..2c6322b --- /dev/null +++ b/Models/Cyberamics/Cyber Munch_purple fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfjsko1gybqau" +path.s3tc="res://.godot/imported/Cyber Munch_purple fur.png-dda256d2f09a372499f0402798587591.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Munch_purple fur.png-dda256d2f09a372499f0402798587591.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "a2861484b8db99b72b90acf5b9377b50" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Munch_purple fur.png" +dest_files=["res://.godot/imported/Cyber Munch_purple fur.png-dda256d2f09a372499f0402798587591.s3tc.ctex", "res://.godot/imported/Cyber Munch_purple fur.png-dda256d2f09a372499f0402798587591.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 Munch_shoes.png b/Models/Cyberamics/Cyber Munch_shoes.png new file mode 100644 index 0000000..9071d3e Binary files /dev/null and b/Models/Cyberamics/Cyber Munch_shoes.png differ diff --git a/Models/Cyberamics/Cyber Munch_shoes.png.import b/Models/Cyberamics/Cyber Munch_shoes.png.import new file mode 100644 index 0000000..9afe8b3 --- /dev/null +++ b/Models/Cyberamics/Cyber Munch_shoes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7jv2phmhv42l" +path.s3tc="res://.godot/imported/Cyber Munch_shoes.png-dfab2f83435dceb3afa4d2458104edd5.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Munch_shoes.png-dfab2f83435dceb3afa4d2458104edd5.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "ed186a9131e5d4848c699d06d08aef2e" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Munch_shoes.png" +dest_files=["res://.godot/imported/Cyber Munch_shoes.png-dfab2f83435dceb3afa4d2458104edd5.s3tc.ctex", "res://.godot/imported/Cyber Munch_shoes.png-dfab2f83435dceb3afa4d2458104edd5.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 Munch_yellow fur.png b/Models/Cyberamics/Cyber Munch_yellow fur.png new file mode 100644 index 0000000..5977e60 Binary files /dev/null and b/Models/Cyberamics/Cyber Munch_yellow fur.png differ diff --git a/Models/Cyberamics/Cyber Munch_yellow fur.png.import b/Models/Cyberamics/Cyber Munch_yellow fur.png.import new file mode 100644 index 0000000..c7f5465 --- /dev/null +++ b/Models/Cyberamics/Cyber Munch_yellow fur.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bw1yfomnwefy6" +path.s3tc="res://.godot/imported/Cyber Munch_yellow fur.png-43a72ba9b185b0b0c88cdf4293a0c7a9.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Munch_yellow fur.png-43a72ba9b185b0b0c88cdf4293a0c7a9.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "b0017718c6fe7afd0bd069baab26dd64" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Munch_yellow fur.png" +dest_files=["res://.godot/imported/Cyber Munch_yellow fur.png-43a72ba9b185b0b0c88cdf4293a0c7a9.s3tc.ctex", "res://.godot/imported/Cyber Munch_yellow fur.png-43a72ba9b185b0b0c88cdf4293a0c7a9.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 Pasqually.glb b/Models/Cyberamics/Cyber Pasqually.glb new file mode 100644 index 0000000..322778b Binary files /dev/null and b/Models/Cyberamics/Cyber Pasqually.glb differ diff --git a/Models/Cyberamics/Cyber Pasqually.glb.import b/Models/Cyberamics/Cyber Pasqually.glb.import new file mode 100644 index 0000000..66db824 --- /dev/null +++ b/Models/Cyberamics/Cyber Pasqually.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bp5u5t6yu4ejy" +path="res://.godot/imported/Cyber Pasqually.glb-a9ce16f9387e81351437b30acb5efc0e.scn" + +[deps] + +source_file="res://Models/Cyberamics/Cyber Pasqually.glb" +dest_files=["res://.godot/imported/Cyber Pasqually.glb-a9ce16f9387e81351437b30acb5efc0e.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 Pasqually_eyes.png b/Models/Cyberamics/Cyber Pasqually_eyes.png new file mode 100644 index 0000000..6c85f79 Binary files /dev/null and b/Models/Cyberamics/Cyber Pasqually_eyes.png differ diff --git a/Models/Cyberamics/Cyber Pasqually_eyes.png.import b/Models/Cyberamics/Cyber Pasqually_eyes.png.import new file mode 100644 index 0000000..79070a6 --- /dev/null +++ b/Models/Cyberamics/Cyber Pasqually_eyes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3mn511jcdcoo" +path.s3tc="res://.godot/imported/Cyber Pasqually_eyes.png-011f6cf7241e851c250440f1f5f1f514.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Pasqually_eyes.png-011f6cf7241e851c250440f1f5f1f514.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d352812e727b8ffa0545e5665172abf1" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Pasqually_eyes.png" +dest_files=["res://.godot/imported/Cyber Pasqually_eyes.png-011f6cf7241e851c250440f1f5f1f514.s3tc.ctex", "res://.godot/imported/Cyber Pasqually_eyes.png-011f6cf7241e851c250440f1f5f1f514.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 Pasqually_shirt.png b/Models/Cyberamics/Cyber Pasqually_shirt.png new file mode 100644 index 0000000..021f38d Binary files /dev/null and b/Models/Cyberamics/Cyber Pasqually_shirt.png differ diff --git a/Models/Cyberamics/Cyber Pasqually_shirt.png.import b/Models/Cyberamics/Cyber Pasqually_shirt.png.import new file mode 100644 index 0000000..d4b30db --- /dev/null +++ b/Models/Cyberamics/Cyber Pasqually_shirt.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djtbeylmkyq48" +path.s3tc="res://.godot/imported/Cyber Pasqually_shirt.png-611d801d1bd5a849fc52ca2f452632f7.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Pasqually_shirt.png-611d801d1bd5a849fc52ca2f452632f7.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d35b95ccd00d71fe70f8a2b777a5e6dc" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Pasqually_shirt.png" +dest_files=["res://.godot/imported/Cyber Pasqually_shirt.png-611d801d1bd5a849fc52ca2f452632f7.s3tc.ctex", "res://.godot/imported/Cyber Pasqually_shirt.png-611d801d1bd5a849fc52ca2f452632f7.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 Pasqually_shoes.png b/Models/Cyberamics/Cyber Pasqually_shoes.png new file mode 100644 index 0000000..9071d3e Binary files /dev/null and b/Models/Cyberamics/Cyber Pasqually_shoes.png differ diff --git a/Models/Cyberamics/Cyber Pasqually_shoes.png.import b/Models/Cyberamics/Cyber Pasqually_shoes.png.import new file mode 100644 index 0000000..aa69e15 --- /dev/null +++ b/Models/Cyberamics/Cyber Pasqually_shoes.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br0mu3ccp4opc" +path.s3tc="res://.godot/imported/Cyber Pasqually_shoes.png-1617d6656315843f76193ec1f7183923.s3tc.ctex" +path.etc2="res://.godot/imported/Cyber Pasqually_shoes.png-1617d6656315843f76193ec1f7183923.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "ed186a9131e5d4848c699d06d08aef2e" +} + +[deps] + +source_file="res://Models/Cyberamics/Cyber Pasqually_shoes.png" +dest_files=["res://.godot/imported/Cyber Pasqually_shoes.png-1617d6656315843f76193ec1f7183923.s3tc.ctex", "res://.godot/imported/Cyber Pasqually_shoes.png-1617d6656315843f76193ec1f7183923.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/HelenHouse/HelenHouse-Room.glb b/Models/HelenHouse/HelenHouse-Room.glb new file mode 100644 index 0000000..0f1dd04 Binary files /dev/null and b/Models/HelenHouse/HelenHouse-Room.glb differ diff --git a/Models/HelenHouse/HelenHouse-Room.glb.import b/Models/HelenHouse/HelenHouse-Room.glb.import new file mode 100644 index 0000000..ec642f8 --- /dev/null +++ b/Models/HelenHouse/HelenHouse-Room.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bhoeqcsdb0fx2" +path="res://.godot/imported/HelenHouse-Room.glb-d039721f5e781fffec7d16cd58395499.scn" + +[deps] + +source_file="res://Models/HelenHouse/HelenHouse-Room.glb" +dest_files=["res://.godot/imported/HelenHouse-Room.glb-d039721f5e781fffec7d16cd58395499.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/HelenHouse/HelenHouse-Stage.glb b/Models/HelenHouse/HelenHouse-Stage.glb new file mode 100644 index 0000000..09de518 Binary files /dev/null and b/Models/HelenHouse/HelenHouse-Stage.glb differ diff --git a/Models/HelenHouse/HelenHouse-Stage.glb.import b/Models/HelenHouse/HelenHouse-Stage.glb.import new file mode 100644 index 0000000..43b6dd4 --- /dev/null +++ b/Models/HelenHouse/HelenHouse-Stage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://btvomf1ayoypu" +path="res://.godot/imported/HelenHouse-Stage.glb-3682deea9f5a1b3381bc9010b144dd14.scn" + +[deps] + +source_file="res://Models/HelenHouse/HelenHouse-Stage.glb" +dest_files=["res://.godot/imported/HelenHouse-Stage.glb-3682deea9f5a1b3381bc9010b144dd14.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/RoadStage/RoadStage.glb b/Models/RoadStage/RoadStage.glb new file mode 100644 index 0000000..124389f Binary files /dev/null and b/Models/RoadStage/RoadStage.glb differ diff --git a/Models/RoadStage/RoadStage.glb.import b/Models/RoadStage/RoadStage.glb.import new file mode 100644 index 0000000..130ba70 --- /dev/null +++ b/Models/RoadStage/RoadStage.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bxjnp7g3w2wc8" +path="res://.godot/imported/RoadStage.glb-63a8e31e3f7d22b4ea1423db9611a233.scn" + +[deps] + +source_file="res://Models/RoadStage/RoadStage.glb" +dest_files=["res://.godot/imported/RoadStage.glb-63a8e31e3f7d22b4ea1423db9611a233.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/RoadStage/RoadStageNeon.glb b/Models/RoadStage/RoadStageNeon.glb new file mode 100644 index 0000000..0626bcd Binary files /dev/null and b/Models/RoadStage/RoadStageNeon.glb differ diff --git a/Models/RoadStage/RoadStageNeon.glb.import b/Models/RoadStage/RoadStageNeon.glb.import new file mode 100644 index 0000000..5a0e936 --- /dev/null +++ b/Models/RoadStage/RoadStageNeon.glb.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dq1fvhg4rb6ro" +path="res://.godot/imported/RoadStageNeon.glb-8a0b2374c3c6d00a875cd3c2c2abacab.scn" + +[deps] + +source_file="res://Models/RoadStage/RoadStageNeon.glb" +dest_files=["res://.godot/imported/RoadStageNeon.glb-8a0b2374c3c6d00a875cd3c2c2abacab.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/RoadStage/RoadStage_90sCarpet.png b/Models/RoadStage/RoadStage_90sCarpet.png new file mode 100644 index 0000000..fbd4ba3 Binary files /dev/null and b/Models/RoadStage/RoadStage_90sCarpet.png differ diff --git a/Models/RoadStage/RoadStage_90sCarpet.png.import b/Models/RoadStage/RoadStage_90sCarpet.png.import new file mode 100644 index 0000000..4da0777 --- /dev/null +++ b/Models/RoadStage/RoadStage_90sCarpet.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gcitv0e6cs4k" +path.s3tc="res://.godot/imported/RoadStage_90sCarpet.png-3777c2b01d80742a8ce1f90446c60c0c.s3tc.ctex" +path.etc2="res://.godot/imported/RoadStage_90sCarpet.png-3777c2b01d80742a8ce1f90446c60c0c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "bec1df9050ab55c447f4ed9478448586" +} + +[deps] + +source_file="res://Models/RoadStage/RoadStage_90sCarpet.png" +dest_files=["res://.godot/imported/RoadStage_90sCarpet.png-3777c2b01d80742a8ce1f90446c60c0c.s3tc.ctex", "res://.godot/imported/RoadStage_90sCarpet.png-3777c2b01d80742a8ce1f90446c60c0c.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/RoadStage/RoadStage_drum.png b/Models/RoadStage/RoadStage_drum.png new file mode 100644 index 0000000..d3bb9d9 Binary files /dev/null and b/Models/RoadStage/RoadStage_drum.png differ diff --git a/Models/RoadStage/RoadStage_drum.png.import b/Models/RoadStage/RoadStage_drum.png.import new file mode 100644 index 0000000..62f159a --- /dev/null +++ b/Models/RoadStage/RoadStage_drum.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpydexu7eyeoy" +path.s3tc="res://.godot/imported/RoadStage_drum.png-5ab9bdca03dc51292c7fa9bf02b95cb8.s3tc.ctex" +path.etc2="res://.godot/imported/RoadStage_drum.png-5ab9bdca03dc51292c7fa9bf02b95cb8.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "9b60ea120ffd4279ebd6a0ff6edd1b35" +} + +[deps] + +source_file="res://Models/RoadStage/RoadStage_drum.png" +dest_files=["res://.godot/imported/RoadStage_drum.png-5ab9bdca03dc51292c7fa9bf02b95cb8.s3tc.ctex", "res://.godot/imported/RoadStage_drum.png-5ab9bdca03dc51292c7fa9bf02b95cb8.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/RoadStage/RoadStage_organ_front.png b/Models/RoadStage/RoadStage_organ_front.png new file mode 100644 index 0000000..a13e4ec Binary files /dev/null and b/Models/RoadStage/RoadStage_organ_front.png differ diff --git a/Models/RoadStage/RoadStage_organ_front.png.import b/Models/RoadStage/RoadStage_organ_front.png.import new file mode 100644 index 0000000..5ff5788 --- /dev/null +++ b/Models/RoadStage/RoadStage_organ_front.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5m88r5s57qbn" +path.s3tc="res://.godot/imported/RoadStage_organ_front.png-fe348293a13a59f9c8780cdee35640b5.s3tc.ctex" +path.etc2="res://.godot/imported/RoadStage_organ_front.png-fe348293a13a59f9c8780cdee35640b5.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "23380208ed681bf61185dc4771dad804" +} + +[deps] + +source_file="res://Models/RoadStage/RoadStage_organ_front.png" +dest_files=["res://.godot/imported/RoadStage_organ_front.png-fe348293a13a59f9c8780cdee35640b5.s3tc.ctex", "res://.godot/imported/RoadStage_organ_front.png-fe348293a13a59f9c8780cdee35640b5.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/RoadStage/RoadStage_pasqually.png b/Models/RoadStage/RoadStage_pasqually.png new file mode 100644 index 0000000..a30dc3f Binary files /dev/null and b/Models/RoadStage/RoadStage_pasqually.png differ diff --git a/Models/RoadStage/RoadStage_pasqually.png.import b/Models/RoadStage/RoadStage_pasqually.png.import new file mode 100644 index 0000000..f9ad780 --- /dev/null +++ b/Models/RoadStage/RoadStage_pasqually.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb8nwqsrn3u3" +path.s3tc="res://.godot/imported/RoadStage_pasqually.png-9ff6dae8942823deb39b84f1bc063133.s3tc.ctex" +path.etc2="res://.godot/imported/RoadStage_pasqually.png-9ff6dae8942823deb39b84f1bc063133.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "7b05f2f096f12b4222e563989b75fa7e" +} + +[deps] + +source_file="res://Models/RoadStage/RoadStage_pasqually.png" +dest_files=["res://.godot/imported/RoadStage_pasqually.png-9ff6dae8942823deb39b84f1bc063133.s3tc.ctex", "res://.godot/imported/RoadStage_pasqually.png-9ff6dae8942823deb39b84f1bc063133.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/RoadStage/RoadStage_road.png b/Models/RoadStage/RoadStage_road.png new file mode 100644 index 0000000..4c55ca0 Binary files /dev/null and b/Models/RoadStage/RoadStage_road.png differ diff --git a/Models/RoadStage/RoadStage_road.png.import b/Models/RoadStage/RoadStage_road.png.import new file mode 100644 index 0000000..2b4920b --- /dev/null +++ b/Models/RoadStage/RoadStage_road.png.import @@ -0,0 +1,39 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cks18m4jxl6oe" +path.s3tc="res://.godot/imported/RoadStage_road.png-d2017e878ae1320070e94b3df3a7b123.s3tc.ctex" +path.etc2="res://.godot/imported/RoadStage_road.png-d2017e878ae1320070e94b3df3a7b123.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "a4c0dd35a98ed9e591ba4ee5283758c3" +} + +[deps] + +source_file="res://Models/RoadStage/RoadStage_road.png" +dest_files=["res://.godot/imported/RoadStage_road.png-d2017e878ae1320070e94b3df3a7b123.s3tc.ctex", "res://.godot/imported/RoadStage_road.png-d2017e878ae1320070e94b3df3a7b123.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/README.md b/README.md new file mode 100644 index 0000000..38858fc --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# PneumaticPlaything + +Animatronics simulator and showtape creator +(soon to be) Featuring real stages and animatronics + +This project is not associated with CEC Entertainment LLC. or Creative Engineering Inc. 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/MovementButton.tscn b/Scenes/GUI/Controls/MovementButton.tscn new file mode 100644 index 0000000..0200f4a --- /dev/null +++ b/Scenes/GUI/Controls/MovementButton.tscn @@ -0,0 +1,64 @@ +[gd_scene load_steps=4 format=3 uid="uid://cbf3x44mvo701"] + +[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) +corner_radius_top_left = 12 +corner_radius_top_right = 12 +corner_radius_bottom_right = 12 +corner_radius_bottom_left = 12 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5m0fm"] +bg_color = Color(0, 1, 0, 1) +corner_radius_top_left = 12 +corner_radius_top_right = 12 +corner_radius_bottom_right = 12 +corner_radius_bottom_left = 12 + +[node name="MovementButton" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 256.0 +offset_bottom = 40.0 +script = ExtResource("1_l718a") + +[node name="Panel" type="Panel" parent="."] +layout_mode = 0 +offset_right = 256.0 +offset_bottom = 40.0 + +[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 +offset_right = 28.0 +offset_bottom = 28.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_1pi70") + +[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/MovementFrameIndicatorOff.tscn b/Scenes/GUI/Controls/MovementFrameIndicatorOff.tscn new file mode 100644 index 0000000..179fd0a --- /dev/null +++ b/Scenes/GUI/Controls/MovementFrameIndicatorOff.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=3 uid="uid://btbdib3vwowhd"] + +[ext_resource type="Script" uid="uid://b4qincechbf63" path="res://Scripts/MovementFrameIndicator.gd" id="1_ttcva"] + +[node name="MovementFrameIndicator" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_ttcva") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 0 +offset_right = 2.0 +offset_bottom = 32.0 +color = Color(0.0941176, 0.0941176, 0.0941176, 1) diff --git a/Scenes/GUI/Controls/MovementFrameIndicatorOn.tscn b/Scenes/GUI/Controls/MovementFrameIndicatorOn.tscn new file mode 100644 index 0000000..1a264f4 --- /dev/null +++ b/Scenes/GUI/Controls/MovementFrameIndicatorOn.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=3 uid="uid://dao6mf54xule2"] + +[ext_resource type="Script" uid="uid://b4qincechbf63" path="res://Scripts/MovementFrameIndicator.gd" id="1_2om8h"] + +[node name="MovementFrameIndicator" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_2om8h") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 0 +offset_right = 2.0 +offset_bottom = 32.0 +color = Color(0, 1, 0, 1) diff --git a/Scenes/GUI/Controls/MovementRow.tscn b/Scenes/GUI/Controls/MovementRow.tscn new file mode 100644 index 0000000..e8354c5 --- /dev/null +++ b/Scenes/GUI/Controls/MovementRow.tscn @@ -0,0 +1,103 @@ +[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) +corner_radius_top_left = 4 +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 +offset_bottom = 40.0 +grow_horizontal = 2 +script = ExtResource("1_rm5t0") + +[node name="ActiveBG" type="Panel" parent="."] +visible = false +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 260.0 +offset_bottom = 36.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_rm5t0") + +[node name="Button" type="Button" parent="."] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 260.0 +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 +offset_left = 244.0 +offset_top = 4.0 +offset_right = 260.0 +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 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 264.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = ExtResource("1_d1xev") + +[node name="InvisibleMask" type="Control" parent="MovementsBG"] +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = -4.0 +offset_bottom = -4.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="MovementsHandle" type="Control" parent="MovementsBG/InvisibleMask"] +anchors_preset = 0 +offset_left = 120.0 +offset_right = 120.0 + +[connection signal="pressed" from="Button" to="." method="_on_button_pressed"] +[connection signal="pressed" from="ClearButton" to="." method="_on_clear_button_pressed"] diff --git a/Scenes/GUI/EditorScreen.tscn b/Scenes/GUI/EditorScreen.tscn new file mode 100644 index 0000000..7b68c54 --- /dev/null +++ b/Scenes/GUI/EditorScreen.tscn @@ -0,0 +1,1155 @@ +[gd_scene load_steps=27 format=3 uid="uid://oiehbor0dlqx"] + +[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="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="ButtonGroup" uid="uid://bij2tonqeslpt" path="res://Scenes/GUI/FlyoutButtonGroup.tres" id="13_wy7jo"] + +[sub_resource type="ViewportTexture" id="ViewportTexture_g6u4d"] +viewport_path = NodePath("SubViewport") + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wy7jo"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_v0ton"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_20noo"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_mch36"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_fxi2g"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bdf35"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_j2w5p"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bv2rw"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gx718"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_gu086"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_othvt"] + +[node name="EditorScreen" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_v0ton") +script = ExtResource("1_sd512") + +[node name="OpenAudioFileDialog" type="FileDialog" parent="."] +title = "Open a File" +initial_position = 2 +ok_button_text = "Open" +dialog_hide_on_ok = true +file_mode = 0 +access = 2 +filters = PackedStringArray("*.wav", "*.mp3", "*.ogg") + +[node name="OpenShowtapeFileDialog" type="FileDialog" parent="."] +auto_translate_mode = 1 +title = "Open a File" +initial_position = 2 +ok_button_text = "Open" +dialog_hide_on_ok = true +file_mode = 0 +access = 2 +filters = PackedStringArray("*.ust") + +[node name="SaveShowtapeFileDialog" type="FileDialog" parent="."] +auto_translate_mode = 1 +initial_position = 2 +dialog_hide_on_ok = true +access = 2 +filters = PackedStringArray("*.ust") + +[node name="NewOverwriteConfirmationDialog" type="ConfirmationDialog" parent="."] +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="LoadOverwriteConfirmationDialog" 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="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." + +[node name="NoFileSpecified" type="AcceptDialog" parent="."] +auto_translate_mode = 1 +initial_position = 2 +dialog_text = "No File was specified." + +[node name="EmptyStringDialog" type="AcceptDialog" parent="."] +auto_translate_mode = 1 +initial_position = 2 +dialog_text = "String cannot be blank." + +[node name="NoShowtapeLoadedDialog" type="AcceptDialog" parent="."] +auto_translate_mode = 1 +initial_position = 2 +dialog_text = "There is no showtape currently loaded." + +[node name="IncorrectShowtapeDialog" type="AcceptDialog" parent="."] +auto_translate_mode = 1 +initial_position = 2 +dialog_text = "This showtape is not compatible with the currently selected stage." + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] + +[node name="SubViewport" type="SubViewport" parent="."] +mesh_lod_threshold = 0.0 +size = Vector2i(1280, 720) + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.187176, 0.187176, 0.187176, 1) + +[node name="Label" type="Label" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 144.0 +offset_top = 48.0 +offset_right = -8.0 +offset_bottom = 48.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "Welcome to Pneumatic Plaything Animatronic Simulator! + +You can press the buttons to the side to +control the bots manually, adjust their flows, +change the camera angle, or switch their cosmetics. + +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 +anchor_right = 1.0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = -4.0 +offset_bottom = 44.0 +grow_horizontal = 2 + +[node name="StageSelector" type="OptionButton" parent="MenuBar"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 260.0 +offset_bottom = 36.0 +selected = 1 +item_count = 8 +popup/item_0/text = "Official Stages" +popup/item_0/id = 0 +popup/item_0/separator = true +popup/item_1/text = "Balcony Stage" +popup/item_1/id = 1 +popup/item_2/text = "C-Stage" +popup/item_2/id = 2 +popup/item_3/text = "Prototype Road Stage" +popup/item_3/id = 3 +popup/item_4/text = "Cyber 3-Stage" +popup/item_4/id = 4 +popup/item_5/text = "Custom Stages" +popup/item_5/id = 5 +popup/item_5/separator = true +popup/item_6/text = "Helen House" +popup/item_6/id = 6 +popup/item_7/text = "Chuck E's Corner" +popup/item_7/id = 7 + +[node name="MenuButton" type="MenuButton" parent="MenuBar"] +layout_mode = 0 +offset_left = 264.0 +offset_top = 4.0 +offset_right = 392.0 +offset_bottom = 36.0 +text = "Showtape" +flat = false +item_count = 3 +popup/item_0/text = "New" +popup/item_0/id = 0 +popup/item_1/text = "Load" +popup/item_1/id = 1 +popup/item_2/text = "Save" +popup/item_2/id = 2 + +[node name="ControlsButton" type="Button" parent="MenuBar"] +layout_mode = 0 +offset_left = 396.0 +offset_top = 4.0 +offset_right = 524.0 +offset_bottom = 36.0 +text = "Controls" + +[node name="CreditsButton" type="Button" parent="MenuBar"] +layout_mode = 0 +offset_left = 528.0 +offset_top = 4.0 +offset_right = 656.0 +offset_bottom = 36.0 +text = "Credits" + +[node name="Wordmark" type="Label" parent="MenuBar"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = -264.0 +offset_top = -16.0 +offset_right = -40.0 +offset_bottom = 16.0 +grow_horizontal = 0 +grow_vertical = 2 +text = "Pneumatic Plaything v0.7" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="EditingLabel" type="Label" parent="MenuBar"] +layout_mode = 0 +offset_left = 660.0 +offset_top = 4.0 +offset_right = 899.0 +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 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 4.0 +offset_top = 52.0 +offset_right = -4.0 +offset_bottom = -4.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="TransportControls" type="Control" parent="SequencerPanel"] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 48.0 +grow_horizontal = 2 + +[node name="TimeLabel" type="Label" parent="SequencerPanel/TransportControls"] +layout_mode = 0 +offset_left = 8.0 +offset_top = 8.0 +offset_right = 196.0 +offset_bottom = 40.0 +text = "0:00:00:00" +vertical_alignment = 1 + +[node name="Centered" type="Control" parent="SequencerPanel/TransportControls"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -178.0 +offset_top = -24.0 +offset_right = 178.0 +offset_bottom = 24.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="StepBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 44.0 +offset_bottom = 44.0 +tooltip_text = "Step backward 1 frame" +disabled = true +icon = ExtResource("3_r4ytj") + +[node name="FastBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 48.0 +offset_top = 4.0 +offset_right = 88.0 +offset_bottom = 44.0 +tooltip_text = "Play backwards at 2x speed" +disabled = true +icon = ExtResource("4_wy7jo") + +[node name="PlayBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 92.0 +offset_top = 4.0 +offset_right = 132.0 +offset_bottom = 44.0 +tooltip_text = "Play backwards" +disabled = true +icon = ExtResource("3_mr8sb") + +[node name="PauseButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 136.0 +offset_top = 4.0 +offset_right = 176.0 +offset_bottom = 44.0 +tooltip_text = "Pause" +disabled = true +icon = ExtResource("4_ba3jn") + +[node name="StopButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 180.0 +offset_top = 4.0 +offset_right = 220.0 +offset_bottom = 44.0 +tooltip_text = "Stop playback and return to frame 0" +disabled = true +icon = ExtResource("8_20noo") + +[node name="PlayButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 224.0 +offset_top = 4.0 +offset_right = 264.0 +offset_bottom = 44.0 +tooltip_text = "Play" +disabled = true +icon = ExtResource("3_g6u4d") + +[node name="FastForwardButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 268.0 +offset_top = 4.0 +offset_right = 308.0 +offset_bottom = 44.0 +tooltip_text = "Play at 2x speed" +disabled = true +icon = ExtResource("8_v0ton") + +[node name="StepForwardButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] +layout_mode = 0 +offset_left = 312.0 +offset_top = 4.0 +offset_right = 352.0 +offset_bottom = 44.0 +tooltip_text = "Step forward 1 frame" +disabled = true +icon = ExtResource("9_20noo") + +[node name="RecordButton" type="Button" parent="SequencerPanel/TransportControls"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = -40.0 +offset_top = -20.0 +offset_right = -4.0 +offset_bottom = 20.0 +grow_horizontal = 0 +grow_vertical = 2 +tooltip_text = "Start recording" +disabled = true +toggle_mode = true +icon = ExtResource("10_wy7jo") + +[node name="TimelinePanel" type="Panel" parent="SequencerPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 4.0 +offset_top = 48.0 +offset_right = -4.0 +offset_bottom = -4.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VScrollBar" type="VScrollBar" parent="SequencerPanel/TimelinePanel"] +layout_mode = 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 = 0.0 +step = 1.0 + +[node name="InvisibleMask" type="Control" parent="SequencerPanel/TimelinePanel"] +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 16.0 +offset_top = 4.0 +offset_right = -4.0 +offset_bottom = -4.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="MovementRowsContainer" type="Control" parent="SequencerPanel/TimelinePanel/InvisibleMask"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Playhead" type="VSeparator" parent="SequencerPanel/TimelinePanel/InvisibleMask"] +layout_mode = 1 +anchors_preset = 9 +anchor_bottom = 1.0 +offset_left = 388.0 +offset_right = 392.0 +grow_vertical = 2 + +[node name="FlyoutPanel" type="Control" parent="."] +layout_mode = 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 +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="InputEater" type="Button" parent="ControlsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_wy7jo") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_v0ton") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_20noo") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_mch36") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_fxi2g") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_bdf35") +theme_override_styles/hover = SubResource("StyleBoxEmpty_j2w5p") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_bv2rw") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_gx718") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_gu086") +theme_override_styles/normal = SubResource("StyleBoxEmpty_othvt") + +[node name="DialogPanel" type="Panel" parent="ControlsScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -256.0 +offset_top = -192.0 +offset_right = 256.0 +offset_bottom = 192.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="ControlsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +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 +Fast Reverse: Shift + Left +Step Forward: Right Arrow +Step Backward: Left Arrow +Stop: Home +Change Camera Angle: Tab" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="CreditsScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="InputEater" type="Button" parent="CreditsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_wy7jo") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_v0ton") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_20noo") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_mch36") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_fxi2g") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_bdf35") +theme_override_styles/hover = SubResource("StyleBoxEmpty_j2w5p") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_bv2rw") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_gx718") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_gu086") +theme_override_styles/normal = SubResource("StyleBoxEmpty_othvt") + +[node name="DialogPanel" type="Panel" parent="CreditsScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -256.0 +offset_top = -256.0 +offset_right = 256.0 +offset_bottom = 256.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="CreditsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "Pneumatic Plaything Animatronic Simulator + +Project Oversight: Persephone (KawaiiZenbo) + +Interface Design: Persephone +Simulator Backend: Persephone +3-Stage Bot Models: Persephone +Cyberamic Bot Models: Persephone +C-Stage Model: Persephone +Iris Textures: Avery +Chuck E's Corner Stage: Luigigamin212 +Balcony Stage Model: ToastHQ + +This project is not associated with CEC Entertainment LLC. +or Creative Engineering Inc." +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ShowtapeNewScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="InputEater" type="Button" parent="ShowtapeNewScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_wy7jo") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_v0ton") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_20noo") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_mch36") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_fxi2g") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_bdf35") +theme_override_styles/hover = SubResource("StyleBoxEmpty_j2w5p") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_bv2rw") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_gx718") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_gu086") +theme_override_styles/normal = SubResource("StyleBoxEmpty_othvt") + +[node name="DialogPanel" type="Panel" parent="ShowtapeNewScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -256.0 +offset_top = -128.0 +offset_right = 256.0 +offset_bottom = 128.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="DialogLabel" type="Label" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -96.0 +offset_top = 4.0 +offset_right = 96.0 +offset_bottom = 36.0 +grow_horizontal = 2 +text = "Create New Showtape" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="AudioTypeLabel" type="Label" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 0 +offset_left = 8.0 +offset_top = 40.0 +offset_right = 264.0 +offset_bottom = 72.0 +text = "Audio File (WAV, MP3, or OGG)" +vertical_alignment = 1 + +[node name="AudioFilePath" type="TextEdit" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 4.0 +offset_top = 76.0 +offset_right = -104.0 +offset_bottom = 112.0 +grow_horizontal = 2 +grow_vertical = 2 +placeholder_text = "File Path" + +[node name="AudioBrowseButton" type="Button" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -100.0 +offset_top = 76.0 +offset_right = -4.0 +offset_bottom = 112.0 +tooltip_text = "Browse for a file." +text = "Browse" + +[node name="ShowNameLabel" type="Label" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 0 +offset_left = 8.0 +offset_top = 116.0 +offset_right = 264.0 +offset_bottom = 148.0 +text = "Showtape Name" +vertical_alignment = 1 + +[node name="ShowNameTextBox" type="TextEdit" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 4.0 +offset_top = 152.0 +offset_right = -4.0 +offset_bottom = 188.0 +grow_horizontal = 2 +grow_vertical = 2 +placeholder_text = "Show Name" + +[node name="CancelButton" type="Button" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 0 +offset_left = 309.0 +offset_top = 216.0 +offset_right = 405.0 +offset_bottom = 248.0 +text = "Cancel +" + +[node name="CreateButton" type="Button" parent="ShowtapeNewScreen/DialogPanel"] +layout_mode = 0 +offset_left = 408.0 +offset_top = 216.0 +offset_right = 504.0 +offset_bottom = 248.0 +text = "Create" + +[node name="ShowtapeLoadScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="InputEater" type="Button" parent="ShowtapeLoadScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_wy7jo") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_v0ton") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_20noo") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_mch36") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_fxi2g") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_bdf35") +theme_override_styles/hover = SubResource("StyleBoxEmpty_j2w5p") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_bv2rw") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_gx718") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_gu086") +theme_override_styles/normal = SubResource("StyleBoxEmpty_othvt") + +[node name="DialogPanel" type="Panel" parent="ShowtapeLoadScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -256.0 +offset_top = -128.0 +offset_right = 256.0 +offset_bottom = 128.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="DialogLabel" type="Label" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -96.0 +offset_top = 4.0 +offset_right = 96.0 +offset_bottom = 36.0 +grow_horizontal = 2 +text = "Load Showtape" +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 +offset_bottom = 105.0 +text = "File to load" +vertical_alignment = 1 + +[node name="InFilePath" type="TextEdit" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 4.0 +offset_top = 109.0 +offset_right = -104.0 +offset_bottom = 145.0 +grow_horizontal = 2 +grow_vertical = 2 +placeholder_text = "File Path" + +[node name="InBrowseButton" type="Button" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -100.0 +offset_top = 109.0 +offset_right = -4.0 +offset_bottom = 145.0 +tooltip_text = "Browse for a file." +text = "Browse" + +[node name="CancelButton" type="Button" parent="ShowtapeLoadScreen/DialogPanel"] +layout_mode = 0 +offset_left = 309.0 +offset_top = 216.0 +offset_right = 405.0 +offset_bottom = 248.0 +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 +offset_bottom = 248.0 +text = "Open" + +[node name="ShowtapeSaveScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="InputEater" type="Button" parent="ShowtapeSaveScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_wy7jo") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_v0ton") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_20noo") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_mch36") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_fxi2g") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_bdf35") +theme_override_styles/hover = SubResource("StyleBoxEmpty_j2w5p") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_bv2rw") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_gx718") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_gu086") +theme_override_styles/normal = SubResource("StyleBoxEmpty_othvt") + +[node name="DialogPanel" type="Panel" parent="ShowtapeSaveScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -256.0 +offset_top = -128.0 +offset_right = 256.0 +offset_bottom = 128.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="DialogLabel" type="Label" parent="ShowtapeSaveScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -96.0 +offset_top = 4.0 +offset_right = 96.0 +offset_bottom = 36.0 +grow_horizontal = 2 +text = "Save Showtape" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="OutFileLabel" type="Label" parent="ShowtapeSaveScreen/DialogPanel"] +layout_mode = 0 +offset_left = 8.0 +offset_top = 73.0 +offset_right = 264.0 +offset_bottom = 105.0 +text = "File to save as" +vertical_alignment = 1 + +[node name="OutFilePath" type="TextEdit" parent="ShowtapeSaveScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 4.0 +offset_top = 109.0 +offset_right = -104.0 +offset_bottom = 145.0 +grow_horizontal = 2 +grow_vertical = 2 +placeholder_text = "File Path" + +[node name="OutBrowseButton" type="Button" parent="ShowtapeSaveScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -100.0 +offset_top = 109.0 +offset_right = -4.0 +offset_bottom = 145.0 +tooltip_text = "Browse for a file." +text = "Browse" + +[node name="CancelButton" type="Button" parent="ShowtapeSaveScreen/DialogPanel"] +layout_mode = 0 +offset_left = 309.0 +offset_top = 216.0 +offset_right = 405.0 +offset_bottom = 248.0 +text = "Cancel +" + +[node name="CreateButton" type="Button" parent="ShowtapeSaveScreen/DialogPanel"] +layout_mode = 0 +offset_left = 408.0 +offset_top = 216.0 +offset_right = 504.0 +offset_bottom = 248.0 +text = "Save" + +[node name="CameraFullScreen" type="TextureRect" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("ViewportTexture_g6u4d") +expand_mode = 2 + +[connection signal="file_selected" from="OpenAudioFileDialog" to="." method="_on_open_audio_file_dialog_file_selected"] +[connection signal="file_selected" from="OpenShowtapeFileDialog" to="." method="_on_open_showtape_file_dialog_file_selected"] +[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"] +[connection signal="pressed" from="SequencerPanel/TransportControls/Centered/FastBackwardsButton" to="." method="_on_fast_backwards_button_pressed"] +[connection signal="pressed" from="SequencerPanel/TransportControls/Centered/PlayBackwardsButton" to="." method="_on_play_backwards_button_pressed"] +[connection signal="pressed" from="SequencerPanel/TransportControls/Centered/PauseButton" to="." method="_on_pause_button_pressed"] +[connection signal="pressed" from="SequencerPanel/TransportControls/Centered/StopButton" to="." method="_on_stop_button_pressed"] +[connection signal="pressed" from="SequencerPanel/TransportControls/Centered/PlayButton" to="." method="_on_play_button_pressed"] +[connection signal="pressed" from="SequencerPanel/TransportControls/Centered/FastForwardButton" to="." method="_on_fast_forward_button_pressed"] +[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"] +[connection signal="pressed" from="ShowtapeNewScreen/DialogPanel/AudioBrowseButton" to="." method="_on_showtape_new_audio_browse_button_pressed"] +[connection signal="pressed" from="ShowtapeNewScreen/DialogPanel/CancelButton" to="." method="_on_showtape_new_cancel_button_pressed"] +[connection signal="pressed" from="ShowtapeNewScreen/DialogPanel/CreateButton" to="." method="_on_showtape_new_create_button_pressed"] +[connection signal="pressed" from="ShowtapeLoadScreen/InputEater" to="." method="_on_input_eater_pressed"] +[connection signal="pressed" from="ShowtapeLoadScreen/DialogPanel/InBrowseButton" to="." method="_on_showtape_load_in_browse_button_pressed"] +[connection signal="pressed" from="ShowtapeLoadScreen/DialogPanel/CancelButton" to="." method="_on_showtape_load_cancel_button_pressed"] +[connection signal="pressed" from="ShowtapeLoadScreen/DialogPanel/OpenButton" to="." method="_on_showtape_load_open_button_pressed"] +[connection signal="pressed" from="ShowtapeSaveScreen/InputEater" to="." method="_on_input_eater_pressed"] +[connection signal="pressed" from="ShowtapeSaveScreen/DialogPanel/OutBrowseButton" to="." method="_on_showtape_save_out_browse_button_pressed"] +[connection signal="pressed" from="ShowtapeSaveScreen/DialogPanel/CancelButton" to="." method="_on_showtape_save_cancel_button_pressed"] +[connection signal="pressed" from="ShowtapeSaveScreen/DialogPanel/CreateButton" to="." method="_on_showtape_save_create_button_pressed"] diff --git a/Scenes/GUI/FlyoutButtonGroup.tres b/Scenes/GUI/FlyoutButtonGroup.tres new file mode 100644 index 0000000..1576676 --- /dev/null +++ b/Scenes/GUI/FlyoutButtonGroup.tres @@ -0,0 +1,4 @@ +[gd_resource type="ButtonGroup" format=3 uid="uid://bij2tonqeslpt"] + +[resource] +allow_unpress = true diff --git a/Scenes/Stages/Balcony.tscn b/Scenes/Stages/Balcony.tscn new file mode 100644 index 0000000..6b0e1b9 --- /dev/null +++ b/Scenes/Stages/Balcony.tscn @@ -0,0 +1,330 @@ +[gd_scene load_steps=12 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://c5fgw7t45p7r6" path="res://Models/Cyberamics/Cyber Chuck.glb" id="4_ajb2q"] +[ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Cyberamics/Cyber Jasper.glb" id="4_t4ere"] +[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="5_38ovv"] +[ext_resource type="PackedScene" uid="uid://c6n4otfble154" path="res://Models/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="PackedScene" uid="uid://doxu4tb5jfoqp" path="res://Models/Cyberamics/Cyber Munch.glb" id="5_vcb31"] +[ext_resource type="PackedScene" uid="uid://bp5u5t6yu4ejy" path="res://Models/Cyberamics/Cyber Pasqually.glb" id="6_ajb2q"] +[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="Munch" parent="." instance=ExtResource("5_vcb31")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 3, -0.5) +script = ExtResource("5_38ovv") + +[node name="Jasper" parent="." instance=ExtResource("4_t4ere")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -2.2, 3, -0.5) +script = ExtResource("5_38ovv") + +[node name="Chuck" parent="." instance=ExtResource("4_ajb2q")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -0.5) +script = ExtResource("5_38ovv") + +[node name="Helen" parent="." instance=ExtResource("1_w3m2i")] +transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 2.2, 3, -0.5) +script = ExtResource("5_38ovv") + +[node name="Pasqually" parent="." instance=ExtResource("6_ajb2q")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 3, -0.5) +script = ExtResource("5_38ovv") + +[node name="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/CStage.tscn b/Scenes/Stages/CStage.tscn new file mode 100644 index 0000000..df17f54 --- /dev/null +++ b/Scenes/Stages/CStage.tscn @@ -0,0 +1,302 @@ +[gd_scene load_steps=10 format=3 uid="uid://jjd2nlorrml3"] + +[ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Cyberamics/Cyber Jasper.glb" id="1_nkhpr"] +[ext_resource type="PackedScene" uid="uid://c5fgw7t45p7r6" path="res://Models/Cyberamics/Cyber Chuck.glb" id="4_nkhpr"] +[ext_resource type="PackedScene" uid="uid://d34xfaignny8j" path="res://Models/Cyberamics/Cyber Helen.glb" id="4_vmyhs"] +[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="5_bawsr"] +[ext_resource type="PackedScene" uid="uid://doxu4tb5jfoqp" path="res://Models/Cyberamics/Cyber Munch.glb" id="5_byvoj"] +[ext_resource type="PackedScene" uid="uid://bp5u5t6yu4ejy" path="res://Models/Cyberamics/Cyber Pasqually.glb" id="6_nkhpr"] +[ext_resource type="PackedScene" uid="uid://dfw3sbg135u2h" path="res://Models/CStage/CStage.glb" id="7_1s7sj"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="7_fp2rj"] + +[sub_resource type="Environment" id="Environment_w3m2i"] +ambient_light_source = 1 + +[node name="CStage" type="Node3D"] + +[node name="Munch" parent="." instance=ExtResource("5_byvoj")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 3, 0) +script = ExtResource("5_bawsr") + +[node name="Jasper" parent="." instance=ExtResource("1_nkhpr")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.25, 3, 0) +script = ExtResource("5_bawsr") + +[node name="Chuck" parent="." instance=ExtResource("4_nkhpr")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0) +script = ExtResource("5_bawsr") + +[node name="Helen" parent="." instance=ExtResource("4_vmyhs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 3, 0) +script = ExtResource("5_bawsr") + +[node name="Pasqually" parent="." instance=ExtResource("6_nkhpr")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 3, 0) +script = ExtResource("5_bawsr") + +[node name="Spots" type="Node3D" parent="."] +script = ExtResource("7_fp2rj") + +[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(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 2.25, 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(1, -5.67102e-08, 2.31578e-07, -9.98193e-10, 0.970296, 0.241922, -2.38419e-07, -0.241922, 0.970296, -2.25, 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="Color Spots" type="Node3D" parent="."] +script = ExtResource("7_fp2rj") + +[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(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, 2.25, 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(1, 0, 0, 0, 0.970296, 0.241922, 0, -0.241922, 0.970296, -2.25, 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="Valence" type="Node3D" parent="."] +script = ExtResource("7_fp2rj") + +[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, 0, 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, 0, 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, 0, 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, 0, 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, 0, 1) +spot_attenuation = -1.0 +spot_angle = 15.0 + +[node name="Backdrop" type="Node3D" parent="."] +script = ExtResource("7_fp2rj") + +[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, 7.86654, 4.5, 0.906235) +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, 1) +light_color = Color(1, 0.960784, 0.85098, 1) + +[node name="CStage" parent="." instance=ExtResource("7_1s7sj")] +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.5) +current = true +fov = 60.0 + +[node name="Angle 2" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -4.5, 4.75, 3) +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, 0.984267, 0.17669, 0, -0.17669, 0.984267, 0, 4.75, 6.32348) +fov = 60.0 + +[node name="Angle 5" type="Camera3D" parent="."] +transform = Transform3D(0.965016, -0.0450779, 0.258285, 0, 0.985109, 0.171929, -0.262189, -0.165914, 0.950647, 3, 4.75, 7) +fov = 60.0 diff --git a/Scenes/Stages/ChuckEsCorner.tscn b/Scenes/Stages/ChuckEsCorner.tscn new file mode 100644 index 0000000..ffcf69c --- /dev/null +++ b/Scenes/Stages/ChuckEsCorner.tscn @@ -0,0 +1,110 @@ +[gd_scene load_steps=8 format=3 uid="uid://dw3eplmapm5gc"] + +[ext_resource type="PackedScene" uid="uid://c5fgw7t45p7r6" path="res://Models/Cyberamics/Cyber Chuck.glb" id="1_t27ru"] +[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="2_8qvk7"] +[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="2_htppt"] +[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_htppt") + +[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/Cyber3Stage.tscn b/Scenes/Stages/Cyber3Stage.tscn new file mode 100644 index 0000000..7b755f9 --- /dev/null +++ b/Scenes/Stages/Cyber3Stage.tscn @@ -0,0 +1,84 @@ +[gd_scene load_steps=9 format=3 uid="uid://bty3dn0uskrfi"] + +[ext_resource type="PackedScene" uid="uid://c5fgw7t45p7r6" path="res://Models/Cyberamics/Cyber Chuck.glb" id="1_cw6ma"] +[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="2_4l10n"] +[ext_resource type="PackedScene" uid="uid://d34xfaignny8j" path="res://Models/Cyberamics/Cyber Helen.glb" id="3_87eu1"] +[ext_resource type="PackedScene" uid="uid://doxu4tb5jfoqp" path="res://Models/Cyberamics/Cyber Munch.glb" id="4_68u23"] +[ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Cyberamics/Cyber Jasper.glb" id="5_lioge"] +[ext_resource type="PackedScene" uid="uid://bp5u5t6yu4ejy" path="res://Models/Cyberamics/Cyber Pasqually.glb" id="6_81y3d"] +[ext_resource type="PackedScene" uid="uid://b77ebnic6ktql" path="res://Models/3-Stage/3Stage.glb" id="7_cr5od"] + +[sub_resource type="Environment" id="Environment_aswoc"] +ambient_light_source = 1 + +[node name="Cyber3Stage" type="Node3D"] + +[node name="Chuck" parent="." instance=ExtResource("1_cw6ma")] +transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -8.5, 2.6, 2.3) +script = ExtResource("2_4l10n") + +[node name="Helen" parent="." instance=ExtResource("3_87eu1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.6, 2.6, -1) +script = ExtResource("2_4l10n") + +[node name="Munch" parent="." instance=ExtResource("4_68u23")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.6, -1) +script = ExtResource("2_4l10n") + +[node name="Jasper" parent="." instance=ExtResource("5_lioge")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.6, 2.4, -1) +script = ExtResource("2_4l10n") + +[node name="Pasqually" parent="." instance=ExtResource("6_81y3d")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 8.5, 2.4, 1) +script = ExtResource("2_4l10n") + +[node name="3Stage" parent="." instance=ExtResource("7_cr5od")] +transform = Transform3D(1.75, 0, 0, 0, 1.75, 0, 0, 0, 1.75, 0, 0, 0) + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_aswoc") + +[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, 5, 3.5, 1) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D2" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 3.5, 1) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D3" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.5, 1) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D4" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 3.5, 4) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D5" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 3.5, 4) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="Angle 1" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.996195, 0.0871557, 0, -0.0871557, 0.996195, -0.5, 3.75, 12.5) +current = true +fov = 60.0 + +[node name="Angle 2" type="Camera3D" parent="."] +transform = Transform3D(0.683013, -0.258819, 0.683013, -0.006236, 0.933013, 0.359789, -0.73038, -0.25, 0.635646, -4.5, 4.75, 4.5) +fov = 60.0 + +[node name="Angle 3" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 4.75, 5.5) +fov = 60.0 + +[node name="Angle 4" type="Camera3D" parent="."] +transform = Transform3D(0.73038, 0.25, -0.635646, -0.006236, 0.933013, 0.359789, 0.683013, -0.258819, 0.683013, 4.5, 4.75, 4.5) +fov = 60.0 diff --git a/Scenes/Stages/HelenHouse.tscn b/Scenes/Stages/HelenHouse.tscn new file mode 100644 index 0000000..0dc30f5 --- /dev/null +++ b/Scenes/Stages/HelenHouse.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=7 format=3 uid="uid://btre5j66mpchy"] + +[ext_resource type="PackedScene" uid="uid://f0fkcs7erhop" path="res://Models/3-StageBots/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="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("2_odcb6") + +[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("4_e2vvs")] +transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0) + +[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="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="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) +light_energy = 0.5 + +[node name="OmniLight3D2" 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) +light_energy = 0.5 diff --git a/Scenes/Stages/ProtoRoadStage.tscn b/Scenes/Stages/ProtoRoadStage.tscn new file mode 100644 index 0000000..a6bc733 --- /dev/null +++ b/Scenes/Stages/ProtoRoadStage.tscn @@ -0,0 +1,100 @@ +[gd_scene load_steps=11 format=3 uid="uid://0p6p1owvvesv"] + +[ext_resource type="PackedScene" uid="uid://c5fgw7t45p7r6" path="res://Models/Cyberamics/Cyber Chuck.glb" id="1_pj7jr"] +[ext_resource type="Script" uid="uid://du3pqtf3jixvl" path="res://Scripts/CyberamicController.gd" id="2_6jho3"] +[ext_resource type="PackedScene" uid="uid://d34xfaignny8j" path="res://Models/Cyberamics/Cyber Helen.glb" id="3_11jlu"] +[ext_resource type="PackedScene" uid="uid://doxu4tb5jfoqp" path="res://Models/Cyberamics/Cyber Munch.glb" id="4_qr1e5"] +[ext_resource type="PackedScene" uid="uid://ba7i8p8olef2s" path="res://Models/Cyberamics/Cyber Jasper.glb" id="5_k7q7t"] +[ext_resource type="PackedScene" uid="uid://bp5u5t6yu4ejy" path="res://Models/Cyberamics/Cyber Pasqually.glb" id="6_08e8o"] +[ext_resource type="Script" uid="uid://d1p4ite8ts2wi" path="res://Scripts/LightController.gd" id="7_r2dgu"] +[ext_resource type="PackedScene" uid="uid://dq1fvhg4rb6ro" path="res://Models/RoadStage/RoadStageNeon.glb" id="8_basbq"] +[ext_resource type="PackedScene" uid="uid://bxjnp7g3w2wc8" path="res://Models/RoadStage/RoadStage.glb" id="9_hijvq"] + +[sub_resource type="Environment" id="Environment_aswoc"] +ambient_light_source = 1 + +[node name="ProtoRoadStage" type="Node3D"] + +[node name="Chuck" parent="." instance=ExtResource("1_pj7jr")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 1.9, 1.3) +script = ExtResource("2_6jho3") + +[node name="Helen" parent="." instance=ExtResource("3_11jlu")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 1.8, 0.6) +script = ExtResource("2_6jho3") + +[node name="Munch" parent="." instance=ExtResource("4_qr1e5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1.1, 0.7) +script = ExtResource("2_6jho3") + +[node name="Jasper" parent="." instance=ExtResource("5_k7q7t")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.6, 1.8, 0.6) +script = ExtResource("2_6jho3") + +[node name="Pasqually" parent="." instance=ExtResource("6_08e8o")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 1.4, 1) +script = ExtResource("2_6jho3") + +[node name="Special" type="Node3D" parent="."] +script = ExtResource("7_r2dgu") + +[node name="Neon Sign" parent="Special" instance=ExtResource("8_basbq")] +visible = false + +[node name="RoadStage" parent="." instance=ExtResource("9_hijvq")] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_aswoc") + +[node name="Room Lights" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 2) + +[node name="OmniLight3D" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 3.5, 2) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D2" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 3.5, 2) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D3" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.5, 2) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D4" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 3.5, 4) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="OmniLight3D5" type="OmniLight3D" parent="Room Lights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 3.5, 4) +light_color = Color(1, 0.960784, 0.85098, 1) +light_energy = 0.5 + +[node name="Angle 1" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -0.5, 3.75, 7.5) +current = true +fov = 60.0 + +[node name="Angle 2" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -5, 3.5, 4) +fov = 60.0 + +[node name="Angle 3" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, -0.6, 3.5, 3) +fov = 60.0 + +[node name="Angle 4" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 1, 2.5, 3) +fov = 60.0 + +[node name="Angle 5" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 2.6, 3.5, 3) +fov = 60.0 + +[node name="Angle 6" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 4, 3, 3) +fov = 60.0 diff --git a/Scripts/AnimatronicController.gd b/Scripts/AnimatronicController.gd new file mode 100644 index 0000000..5dc202b --- /dev/null +++ b/Scripts/AnimatronicController.gd @@ -0,0 +1,93 @@ +extends Node3D + +var animation_player : AnimationPlayer +var animation_tree : AnimationTree +var blend_tree : AnimationNodeBlendTree + +var movement_states : Dictionary + +func _ready(): + animation_player = $AnimationPlayer + + animation_tree = AnimationTree.new() + animation_tree.anim_player = animation_player.get_path() + add_child(animation_tree) + + animation_tree.tree_root = AnimationNodeBlendTree.new() + animation_tree.active = true + blend_tree = animation_tree.tree_root as AnimationNodeBlendTree + + 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] + + var prev_anim_node := AnimationNodeAnimation.new() + prev_anim_node.animation = animations[0] + blend_tree.add_node(prev_name, prev_anim_node) + + var old_time_node := AnimationNodeTimeScale.new() + blend_tree.add_node(old_time_name,old_time_node) + + var _old_seek_node := AnimationNodeTimeSeek.new() + blend_tree.add_node(old_seek_name,_old_seek_node) + + blend_tree.connect_node(old_time_name,0,prev_name) + blend_tree.connect_node(old_seek_name,0,old_time_name) + prev_name = old_seek_name + + for i in range(1, animations.size()): + var anim_name = "Anim_" + animations[i] + var add_name = "Add_" + animations[i] + var time_name = "Time_" + animations[i] + var seek_name = "Seek_" + animations[i] + + var new_anim_node := AnimationNodeAnimation.new() + new_anim_node.animation = animations[i] + blend_tree.add_node(anim_name, new_anim_node) + + var time_node := AnimationNodeTimeScale.new() + blend_tree.add_node(time_name,time_node) + + var seek_node := AnimationNodeTimeSeek.new() + blend_tree.add_node(seek_name,seek_node) + + 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(add_name, 0, prev_name) + blend_tree.connect_node(add_name, 1, seek_name) + prev_name = add_name + + blend_tree.connect_node("output", 0, prev_name) + + for i in range(0, animations.size()): + animation_tree.set("parameters/Add_" + str(animations[i]) + "/add_amount", 1.0) + animation_tree.set("parameters/Seek_" + str(animations[i]) + "/seek_request", 0) + animation_tree.set("parameters/Time_" + str(animations[i]) + "/scale", 0) + +func _physics_process(delta: float) -> void: + for key in movement_states: + var anim_path = "parameters/Seek_" + key + "/seek_request" + var state = movement_states[key] + if (state[0]): + state[1] = clamp(float(state[1]) + (delta * state[2]), 0, 1) + else: + state[1] = clamp(float(state[1]) - (delta * state[3]), 0, 1) + animation_tree.set(anim_path, state[1]) + +func _movement_in(movement, rate): + movement_states[movement][0] = true + movement_states[movement][2] = rate + +func _movement_out(movement, rate): + movement_states[movement][0] = false + movement_states[movement][3] = rate diff --git a/Scripts/AnimatronicController.gd.uid b/Scripts/AnimatronicController.gd.uid new file mode 100644 index 0000000..b63dd10 --- /dev/null +++ b/Scripts/AnimatronicController.gd.uid @@ -0,0 +1 @@ +uid://bu68w4jnh0n2b 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/Configs/Cosmetics.gd b/Scripts/Configs/Cosmetics.gd new file mode 100644 index 0000000..18bf82c --- /dev/null +++ b/Scripts/Configs/Cosmetics.gd @@ -0,0 +1,666 @@ +extends Node + +var CyberChuck = { + "Chuck E. Hat": + { + "Derby": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": true, + "Chuck/Chuck/Skeleton3D/Tux Derby": false, + "Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false, + }, + "Tux Derby": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + "Chuck/Chuck/Skeleton3D/Tux Derby": true, + "Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false, + }, + "Cool Chuck": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": true, + "Chuck/Chuck/Skeleton3D/Derby": false, + "Chuck/Chuck/Skeleton3D/Tux Derby": false, + "Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false, + }, + "Cool Chuck (Blue)": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + "Chuck/Chuck/Skeleton3D/Tux Derby": false, + "Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": true, + }, + "Avenger": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": true, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + "Chuck/Chuck/Skeleton3D/Tux Derby": false, + "Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false, + }, + "None": + { + "Chuck/Chuck/Skeleton3D/Avenger Hat": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false, + "Chuck/Chuck/Skeleton3D/Derby": false, + "Chuck/Chuck/Skeleton3D/Tux Derby": false, + "Chuck/Chuck/Skeleton3D/Blue Cool Chuck Hat": false, + } + }, + + "Chuck E. Shirt": + { + "Yellow Checker Vest": + { + "Chuck/Chuck/Skeleton3D/Rockstar Shirt": false, + "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, + "Chuck/Chuck/Skeleton3D/Red Bowtie": false, + "Chuck/Chuck/Skeleton3D/Tux Button": false, + "Chuck/Chuck/Skeleton3D/Lapel": false, + "Chuck/Chuck/Skeleton3D/Tux Base": false, + }, + "Red Vest": + { + "Chuck/Chuck/Skeleton3D/Rockstar Shirt": false, + "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, + "Chuck/Chuck/Skeleton3D/Red Bowtie": false, + "Chuck/Chuck/Skeleton3D/Tux Button": false, + "Chuck/Chuck/Skeleton3D/Lapel": false, + "Chuck/Chuck/Skeleton3D/Tux Base": false, + }, + "Tux": + { + "Chuck/Chuck/Skeleton3D/Rockstar Shirt": false, + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "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/Chuck/Skeleton3D/Red Bowtie": true, + "Chuck/Chuck/Skeleton3D/Tux Button": true, + "Chuck/Chuck/Skeleton3D/Lapel": true, + "Chuck/Chuck/Skeleton3D/Tux Base": true, + }, + "Cool Chuck Shirt": + { + "Chuck/Chuck/Skeleton3D/Rockstar Shirt": false, + "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, + "Chuck/Chuck/Skeleton3D/Red Bowtie": false, + "Chuck/Chuck/Skeleton3D/Tux Button": false, + "Chuck/Chuck/Skeleton3D/Lapel": false, + "Chuck/Chuck/Skeleton3D/Tux Base": false, + }, + "Avenger Shirt": + { + "Chuck/Chuck/Skeleton3D/Rockstar Shirt": false, + "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/Chuck/Skeleton3D/Red Bowtie": false, + "Chuck/Chuck/Skeleton3D/Tux Button": false, + "Chuck/Chuck/Skeleton3D/Lapel": false, + "Chuck/Chuck/Skeleton3D/Tux Base": false, + }, + "Rockstar Shirt": + { + "Chuck/Chuck/Skeleton3D/Rockstar Shirt": true, + "Chuck/Chuck/Skeleton3D/Avenger Shirt": false, + "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/Chuck/Skeleton3D/Red Bowtie": false, + "Chuck/Chuck/Skeleton3D/Tux Button": false, + "Chuck/Chuck/Skeleton3D/Lapel": false, + "Chuck/Chuck/Skeleton3D/Tux Base": false, + } + }, + + "Chuck E. Mask": + { + "PTT": + { + "Chuck/Chuck/Skeleton3D/PTT Ears": true, + "Chuck/Chuck/Skeleton3D/PTT Jaw": true, + "Chuck/Chuck/Skeleton3D/PTT Muzzle": true, + "Chuck/Chuck/Skeleton3D/Modern Ears": false, + "Chuck/Chuck/Skeleton3D/Modern Jaw": false, + "Chuck/Chuck/Skeleton3D/Modern Muzzle": false, + "Chuck/Chuck/Skeleton3D/Northridge Ears": false, + }, + "Modern": + { + "Chuck/Chuck/Skeleton3D/PTT Ears": false, + "Chuck/Chuck/Skeleton3D/PTT Jaw": false, + "Chuck/Chuck/Skeleton3D/PTT Muzzle": false, + "Chuck/Chuck/Skeleton3D/Modern Ears": true, + "Chuck/Chuck/Skeleton3D/Modern Jaw": true, + "Chuck/Chuck/Skeleton3D/Modern Muzzle": true, + "Chuck/Chuck/Skeleton3D/Northridge Ears": false, + }, + "Northridge": + { + "Chuck/Chuck/Skeleton3D/PTT Ears": false, + "Chuck/Chuck/Skeleton3D/PTT Jaw": false, + "Chuck/Chuck/Skeleton3D/PTT Muzzle": false, + "Chuck/Chuck/Skeleton3D/Modern Ears": false, + "Chuck/Chuck/Skeleton3D/Modern Jaw": true, + "Chuck/Chuck/Skeleton3D/Modern Muzzle": true, + "Chuck/Chuck/Skeleton3D/Northridge Ears": 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, + }, + }, + + "Chuck E. Legs": + { + "None": + { + "Chuck/Chuck/Skeleton3D/Stand": true, + "Chuck/Chuck/Skeleton3D/Legs": false, + "Chuck/Chuck/Skeleton3D/Feet": false, + }, + "Normal": + { + "Chuck/Chuck/Skeleton3D/Stand": false, + "Chuck/Chuck/Skeleton3D/Legs": true, + "Chuck/Chuck/Skeleton3D/Feet": true, + } + }, + + "Chuck E. Pants": + { + "None": + { + "Chuck/Chuck/Skeleton3D/Avenger Shorts": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": false, + "Chuck/Chuck/Skeleton3D/Rockstar Jeans": false, + }, + "Cool Chuck Shorts": + { + "Chuck/Chuck/Skeleton3D/Avenger Shorts": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": true, + "Chuck/Chuck/Skeleton3D/Rockstar Jeans": false, + }, + "Avenger Shorts": + { + "Chuck/Chuck/Skeleton3D/Avenger Shorts": true, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": false, + "Chuck/Chuck/Skeleton3D/Rockstar Jeans": false, + }, + "Rockstar Jeans": + { + "Chuck/Chuck/Skeleton3D/Avenger Shorts": false, + "Chuck/Chuck/Skeleton3D/Cool Chuck Shorts": false, + "Chuck/Chuck/Skeleton3D/Rockstar Jeans": true, + } + }, +} + +var CyberHelen = { + "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": + { + "PTT": + { + "Helen/Helen/Skeleton3D/PTT Shirt": true, + "Helen/Helen/Skeleton3D/Half Body Skirt": false, + "Helen/Helen/Skeleton3D/Skirt": false, + "Helen/Helen/Skeleton3D/Black Shirt": false, + "Helen/Helen/Skeleton3D/Collar": false, + }, + "Road Stage": + { + "Helen/Helen/Skeleton3D/PTT Shirt": false, + "Helen/Helen/Skeleton3D/Half Body Skirt": true, + "Helen/Helen/Skeleton3D/Skirt": false, + "Helen/Helen/Skeleton3D/Black Shirt": true, + "Helen/Helen/Skeleton3D/Collar": true, + }, + "Modern": + { + "Helen/Helen/Skeleton3D/PTT Shirt": false, + "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": + { + "PTT": + { + "Helen/Helen/Skeleton3D/Modern Hair": false, + "Helen/Helen/Skeleton3D/Modern Hair Yellow": false, + "Helen/Helen/Skeleton3D/Road Stage Hair": false, + "Helen/Helen/Skeleton3D/PTT Hair": true, + }, + "Road Stage": + { + "Helen/Helen/Skeleton3D/Modern Hair": false, + "Helen/Helen/Skeleton3D/Modern Hair Yellow": false, + "Helen/Helen/Skeleton3D/Road Stage Hair": true, + "Helen/Helen/Skeleton3D/PTT Hair": false, + }, + "Modern": + { + "Helen/Helen/Skeleton3D/Modern Hair": true, + "Helen/Helen/Skeleton3D/Modern Hair Yellow": false, + "Helen/Helen/Skeleton3D/Road Stage Hair": false, + "Helen/Helen/Skeleton3D/PTT Hair": false, + }, + "Modern Yellow": + { + "Helen/Helen/Skeleton3D/Modern Hair": false, + "Helen/Helen/Skeleton3D/Modern Hair Yellow": true, + "Helen/Helen/Skeleton3D/Road Stage Hair": false, + "Helen/Helen/Skeleton3D/PTT Hair": false, + }, + }, + + "Helen Mask": + { + "PTT": + { + "Helen/Helen/Skeleton3D/PTT Mask": true, + "Helen/Helen/Skeleton3D/PTT Jaw": true, + "Helen/Helen/Skeleton3D/PTT Beak": true, + "Helen/Helen/Skeleton3D/PTT Mask Crest": true, + "Helen/Helen/Skeleton3D/PTT Red Mouth Parts": true, + "Helen/Helen/Skeleton3D/PTT Eyeshadow": true, + "Helen/Helen/Skeleton3D/Modern Head": false, + "Helen/Helen/Skeleton3D/Modern Mask": false, + "Helen/Helen/Skeleton3D/Road Stage Jaw": false, + "Helen/Helen/Skeleton3D/Road Stage Beak": false, + "Helen/Helen/Skeleton3D/Modern Jaw": false, + "Helen/Helen/Skeleton3D/Modern Beak": false, + }, + "Road Stage": + { + "Helen/Helen/Skeleton3D/PTT Mask": false, + "Helen/Helen/Skeleton3D/PTT Jaw": false, + "Helen/Helen/Skeleton3D/PTT Beak": false, + "Helen/Helen/Skeleton3D/PTT Mask Crest": false, + "Helen/Helen/Skeleton3D/PTT Red Mouth Parts": false, + "Helen/Helen/Skeleton3D/PTT Eyeshadow": false, + "Helen/Helen/Skeleton3D/Modern Head": true, + "Helen/Helen/Skeleton3D/Modern Mask": true, + "Helen/Helen/Skeleton3D/Road Stage Jaw": true, + "Helen/Helen/Skeleton3D/Road Stage Beak": true, + "Helen/Helen/Skeleton3D/Modern Jaw": false, + "Helen/Helen/Skeleton3D/Modern Beak": false, + }, + "Modern": + { + "Helen/Helen/Skeleton3D/PTT Mask": false, + "Helen/Helen/Skeleton3D/PTT Jaw": false, + "Helen/Helen/Skeleton3D/PTT Beak": false, + "Helen/Helen/Skeleton3D/PTT Mask Crest": false, + "Helen/Helen/Skeleton3D/PTT Red Mouth Parts": false, + "Helen/Helen/Skeleton3D/PTT Eyeshadow": false, + "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, + }, + }, + + "Helen Legs": + { + "None": + { + "Helen/Helen/Skeleton3D/Stand": true, + "Helen/Helen/Skeleton3D/Legs": false, + "Helen/Helen/Skeleton3D/Shoes": false, + }, + "Modern Standing": + { + "Helen/Helen/Skeleton3D/Stand": false, + "Helen/Helen/Skeleton3D/Legs": true, + "Helen/Helen/Skeleton3D/Shoes": true, + } + }, +} + +var CyberMunch = { + "Munch Hat": + { + "None": + { + "Munch/Munch/Skeleton3D/Road Stage Hat": false, + "Munch/Munch/Skeleton3D/Modern Hat": false, + }, + "Road Stage": + { + "Munch/Munch/Skeleton3D/Road Stage Hat": true, + "Munch/Munch/Skeleton3D/Modern Hat": false, + }, + "Modern": + { + "Munch/Munch/Skeleton3D/Road Stage Hat": false, + "Munch/Munch/Skeleton3D/Modern Hat": true, + }, + }, + + "Munch Mask": + { + "PTT": + { + "Munch/Munch/Skeleton3D/PTT Nostrils": true, + "Munch/Munch/Skeleton3D/Modern Nostrils": false, + }, + "Modern": + { + "Munch/Munch/Skeleton3D/PTT Nostrils": false, + "Munch/Munch/Skeleton3D/Modern Nostrils": true, + }, + }, + + "Munch Body": + { + "PTT": + { + "Munch/Munch/Skeleton3D/PTT Torso": true, + "Munch/Munch/Skeleton3D/PTT Arms": true, + "Munch/Munch/Skeleton3D/PTT Left Hand": true, + "Munch/Munch/Skeleton3D/PTT Right Hand": true, + "Munch/Munch/Skeleton3D/Modern Torso": false, + "Munch/Munch/Skeleton3D/Modern Arms": false, + "Munch/Munch/Skeleton3D/Modern Left Hand": false, + "Munch/Munch/Skeleton3D/Modern Right Hand": false, + }, + "Modern": + { + "Munch/Munch/Skeleton3D/PTT Torso": false, + "Munch/Munch/Skeleton3D/PTT Arms": false, + "Munch/Munch/Skeleton3D/PTT Left Hand": false, + "Munch/Munch/Skeleton3D/PTT Right Hand": false, + "Munch/Munch/Skeleton3D/Modern Torso": true, + "Munch/Munch/Skeleton3D/Modern Arms": true, + "Munch/Munch/Skeleton3D/Modern Left Hand": true, + "Munch/Munch/Skeleton3D/Modern Right Hand": true, + }, + }, + + "Munch Legs": + { + "None": + { + "Munch/Munch/Skeleton3D/Legs": false, + "Munch/Munch/Skeleton3D/Shoes": false, + }, + "Modern": + { + "Munch/Munch/Skeleton3D/Legs": true, + "Munch/Munch/Skeleton3D/Shoes": true, + }, + }, +} + +var CyberJasper = { + "Jasper Hat": + { + "PTT": + { + "Jasper/Jasper/Skeleton3D/Straw Hat Small": true, + "Jasper/Jasper/Skeleton3D/Straw Hat Large": false, + "Jasper/Jasper/Skeleton3D/Cowboy Hat": false, + }, + "Rocker": + { + "Jasper/Jasper/Skeleton3D/Straw Hat Small": false, + "Jasper/Jasper/Skeleton3D/Straw Hat Large": true, + "Jasper/Jasper/Skeleton3D/Cowboy Hat": false, + }, + "Modern": + { + "Jasper/Jasper/Skeleton3D/Straw Hat Small": false, + "Jasper/Jasper/Skeleton3D/Straw Hat Large": false, + "Jasper/Jasper/Skeleton3D/Cowboy Hat": true, + }, + "None": + { + "Jasper/Jasper/Skeleton3D/Straw Hat Small": false, + "Jasper/Jasper/Skeleton3D/Straw Hat Large": false, + "Jasper/Jasper/Skeleton3D/Cowboy Hat": false, + }, + }, + + "Jasper Shirt": + { + "PTT": + { + "Jasper/Jasper/Skeleton3D/Red Shirt": true, + "Jasper/Jasper/Skeleton3D/Rocker Shirt": false, + "Jasper/Jasper/Skeleton3D/Cow Print Shirt": false, + }, + "Rocker": + { + "Jasper/Jasper/Skeleton3D/Red Shirt": false, + "Jasper/Jasper/Skeleton3D/Rocker Shirt": true, + "Jasper/Jasper/Skeleton3D/Cow Print Shirt": false, + }, + "Modern": + { + "Jasper/Jasper/Skeleton3D/Red Shirt": false, + "Jasper/Jasper/Skeleton3D/Rocker Shirt": false, + "Jasper/Jasper/Skeleton3D/Cow Print Shirt": true, + }, + }, + + "Jasper Guitar": + { + "Banjo": + { + "Jasper/Jasper/Skeleton3D/Banjo": true, + "Jasper/Jasper/Skeleton3D/Cheese Guitar": false, + }, + "Cheese Guitar": + { + "Jasper/Jasper/Skeleton3D/Banjo": false, + "Jasper/Jasper/Skeleton3D/Cheese Guitar": true, + }, + }, + + "Jasper Bandana": + { + "Blue": + { + "Jasper/Jasper/Skeleton3D/Blue Bandana": true, + "Jasper/Jasper/Skeleton3D/Red Bandana": false, + }, + "Red": + { + "Jasper/Jasper/Skeleton3D/Blue Bandana": false, + "Jasper/Jasper/Skeleton3D/Red Bandana": true, + }, + }, + + "Jasper Overalls": + { + "Normal": + { + "Jasper/Jasper/Skeleton3D/Overalls": true, + }, + "None": + { + "Jasper/Jasper/Skeleton3D/Overalls": false, + }, + }, + + "Jasper Legs": + { + "None": + { + "Jasper/Jasper/Skeleton3D/Pants": false, + "Jasper/Jasper/Skeleton3D/Shoes": false, + }, + "Normal": + { + "Jasper/Jasper/Skeleton3D/Pants": true, + "Jasper/Jasper/Skeleton3D/Shoes": true, + }, + }, +} + +var CyberPasqually = { + "Pasqually Body": + { + "PTT": + { + "Pasqually/Pasqually/Skeleton3D/PTT Torso": true, + "Pasqually/Pasqually/Skeleton3D/PTT Arms": true, + "Pasqually/Pasqually/Skeleton3D/PTT Left Hand": true, + "Pasqually/Pasqually/Skeleton3D/PTT Right Hand": true, + "Pasqually/Pasqually/Skeleton3D/Modern Torso": false, + "Pasqually/Pasqually/Skeleton3D/Modern Arms": false, + "Pasqually/Pasqually/Skeleton3D/Modern Left Hand": false, + "Pasqually/Pasqually/Skeleton3D/Modern Right Hand": false, + }, + "Modern": + { + "Pasqually/Pasqually/Skeleton3D/PTT Torso": false, + "Pasqually/Pasqually/Skeleton3D/PTT Arms": false, + "Pasqually/Pasqually/Skeleton3D/PTT Left Hand": false, + "Pasqually/Pasqually/Skeleton3D/PTT Right Hand": false, + "Pasqually/Pasqually/Skeleton3D/Modern Torso": true, + "Pasqually/Pasqually/Skeleton3D/Modern Arms": true, + "Pasqually/Pasqually/Skeleton3D/Modern Left Hand": true, + "Pasqually/Pasqually/Skeleton3D/Modern Right Hand": true, + }, + }, + + "Pasqually Legs": + { + "None": + { + "Pasqually/Pasqually/Skeleton3D/Legs": false, + "Pasqually/Pasqually/Skeleton3D/Shoes": false, + }, + "Normal": + { + "Pasqually/Pasqually/Skeleton3D/Legs": true, + "Pasqually/Pasqually/Skeleton3D/Shoes": true, + }, + }, + + "Pasqually Held Item": + { + "Accordion": + { + "Pasqually/Pasqually/Skeleton3D/Spoons": false, + "Pasqually/Pasqually/Skeleton3D/Drumsticks": false, + "Pasqually/Pasqually/Skeleton3D/Accordion": true, + }, + "None": + { + "Pasqually/Pasqually/Skeleton3D/Spoons": false, + "Pasqually/Pasqually/Skeleton3D/Drumsticks": false, + "Pasqually/Pasqually/Skeleton3D/Accordion": false, + }, + "Spoons": + { + "Pasqually/Pasqually/Skeleton3D/Spoons": true, + "Pasqually/Pasqually/Skeleton3D/Drumsticks": false, + "Pasqually/Pasqually/Skeleton3D/Accordion": false, + }, + "Drumsticks": + { + "Pasqually/Pasqually/Skeleton3D/Spoons": false, + "Pasqually/Pasqually/Skeleton3D/Drumsticks": true, + "Pasqually/Pasqually/Skeleton3D/Accordion": false, + }, + }, +} + +var HelenHouseHelen = { + "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, + } + } +} diff --git a/Scripts/Configs/Cosmetics.gd.uid b/Scripts/Configs/Cosmetics.gd.uid new file mode 100644 index 0000000..755b9b8 --- /dev/null +++ b/Scripts/Configs/Cosmetics.gd.uid @@ -0,0 +1 @@ +uid://bnddq01t7dtqc diff --git a/Scripts/Configs/Stages.gd b/Scripts/Configs/Stages.gd new file mode 100644 index 0000000..3e55084 --- /dev/null +++ b/Scripts/Configs/Stages.gd @@ -0,0 +1,376 @@ +extends Node + +var HelenHouse = { + "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": [ Cosmetics.HelenHouseHelen ], + "cosmetic_defaults": [ 0, 0 ] +} + +var ChuckEsCorner = { + "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": 1.5, "flow_out": 1.5 }, + 3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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": [ Cosmetics.CyberChuck ], + "cosmetic_defaults": [ 0, 1, 0, 0, 0, 0 ] +} + +var BalconyStage = { + "bits": 69, + "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": 1.5, "flow_out": 1.5 }, + 3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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": 1.5, "flow_out": 1.5 }, + 11: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 17: { "bot": "Munch", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 18: { "bot": "Munch", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 19: { "bot": "Munch", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 20: { "bot": "Munch", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 21: { "bot": "Munch", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 22: { "bot": "Munch", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 23: { "bot": "Munch", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 24: { "bot": "Munch", "movement": "Left 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.5, "flow_out": 1.5 }, + 27: { "bot": "Jasper", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 33: { "bot": "Pasqually", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 34: { "bot": "Pasqually", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 35: { "bot": "Pasqually", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 36: { "bot": "Pasqually", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 37: { "bot": "Pasqually", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 38: { "bot": "Pasqually", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 39: { "bot": "Pasqually", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 40: { "bot": "Pasqually", "movement": "Left 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" }, + 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": + [ + Cosmetics.CyberChuck, + Cosmetics.CyberHelen, + Cosmetics.CyberMunch, + Cosmetics.CyberJasper, + Cosmetics.CyberPasqually + ], + "cosmetic_defaults": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +} + +var CStage = { + "bits": 65, + "scene": "res://Scenes/Stages/CStage.tscn", + "scene_ref_base": "SubViewport/CStage/", + "camera_count": 5, + + "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": 1.5, "flow_out": 1.5 }, + 3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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": 1.5, "flow_out": 1.5 }, + 11: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 17: { "bot": "Munch", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 18: { "bot": "Munch", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 19: { "bot": "Munch", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 20: { "bot": "Munch", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 21: { "bot": "Munch", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 22: { "bot": "Munch", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 23: { "bot": "Munch", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 24: { "bot": "Munch", "movement": "Left 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.5, "flow_out": 1.5 }, + 27: { "bot": "Jasper", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 33: { "bot": "Pasqually", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 34: { "bot": "Pasqually", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 35: { "bot": "Pasqually", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 36: { "bot": "Pasqually", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 37: { "bot": "Pasqually", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 38: { "bot": "Pasqually", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 39: { "bot": "Pasqually", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 40: { "bot": "Pasqually", "movement": "Left Arm", "flow_in": 2.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" }, + 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" }, + 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": + [ + Cosmetics.CyberChuck, + Cosmetics.CyberHelen, + Cosmetics.CyberMunch, + Cosmetics.CyberJasper, + Cosmetics.CyberPasqually + ], + "cosmetic_defaults": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +} + +var ProtoRoadStage = { + "bits": 41, + "scene": "res://Scenes/Stages/ProtoRoadStage.tscn", + "scene_ref_base": "SubViewport/ProtoRoadStage/", + "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": 1.5, "flow_out": 1.5 }, + 3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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": 1.5, "flow_out": 1.5 }, + 11: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 17: { "bot": "Munch", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 18: { "bot": "Munch", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 19: { "bot": "Munch", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 20: { "bot": "Munch", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 21: { "bot": "Munch", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 22: { "bot": "Munch", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 23: { "bot": "Munch", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 24: { "bot": "Munch", "movement": "Left 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.5, "flow_out": 1.5 }, + 27: { "bot": "Jasper", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 33: { "bot": "Pasqually", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 34: { "bot": "Pasqually", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 35: { "bot": "Pasqually", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 36: { "bot": "Pasqually", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 37: { "bot": "Pasqually", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 38: { "bot": "Pasqually", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 39: { "bot": "Pasqually", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 40: { "bot": "Pasqually", "movement": "Left Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 80: { "bot": "Special", "movement": "Neon Sign", "flow_in": "None", "flow_out": "None" }, + }, + + "cosmetics": + [ + Cosmetics.CyberChuck, + Cosmetics.CyberHelen, + Cosmetics.CyberMunch, + Cosmetics.CyberJasper, + Cosmetics.CyberPasqually + ], + "cosmetic_defaults": [ 1, 2, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 3, 2, 0, 1, 0, 0, 0, 0, 2 ] +} + +var Cyber3Stage = { + "bits": 40, + "scene": "res://Scenes/Stages/Cyber3Stage.tscn", + "scene_ref_base": "SubViewport/Cyber3Stage/", + "camera_count": 4, + + "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": 1.5, "flow_out": 1.5 }, + 3: { "bot": "Chuck", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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": 1.5, "flow_out": 1.5 }, + 11: { "bot": "Helen", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 17: { "bot": "Munch", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 18: { "bot": "Munch", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 19: { "bot": "Munch", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 20: { "bot": "Munch", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 21: { "bot": "Munch", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 22: { "bot": "Munch", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 23: { "bot": "Munch", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 24: { "bot": "Munch", "movement": "Left 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.5, "flow_out": 1.5 }, + 27: { "bot": "Jasper", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 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 }, + 33: { "bot": "Pasqually", "movement": "Mouth", "flow_in": 7.5, "flow_out": 6.0 }, + 34: { "bot": "Pasqually", "movement": "Head Left", "flow_in": 1.5, "flow_out": 1.5 }, + 35: { "bot": "Pasqually", "movement": "Head Right", "flow_in": 1.5, "flow_out": 1.5 }, + 36: { "bot": "Pasqually", "movement": "Eyes Left", "flow_in": 4.0, "flow_out": 3.0 }, + 37: { "bot": "Pasqually", "movement": "Eyes Right", "flow_in": 4.0, "flow_out": 3.0 }, + 38: { "bot": "Pasqually", "movement": "Eyelids", "flow_in": 7.5, "flow_out": 5.0 }, + 39: { "bot": "Pasqually", "movement": "Right Arm", "flow_in": 2.0, "flow_out": 1.0 }, + 40: { "bot": "Pasqually", "movement": "Left Arm", "flow_in": 2.0, "flow_out": 1.0 }, + }, + + "cosmetics": + [ + Cosmetics.CyberChuck, + Cosmetics.CyberHelen, + Cosmetics.CyberMunch, + Cosmetics.CyberJasper, + Cosmetics.CyberPasqually + ], + "cosmetic_defaults": [ 4, 4, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 3 ] +} diff --git a/Scripts/Configs/Stages.gd.uid b/Scripts/Configs/Stages.gd.uid new file mode 100644 index 0000000..4ee3bc3 --- /dev/null +++ b/Scripts/Configs/Stages.gd.uid @@ -0,0 +1 @@ +uid://cyrgqg7cf187y diff --git a/Scripts/CosmeticAdjustment.gd b/Scripts/CosmeticAdjustment.gd new file mode 100644 index 0000000..92235e3 --- /dev/null +++ b/Scripts/CosmeticAdjustment.gd @@ -0,0 +1,19 @@ +extends Control + +@export var vis_name: String +@export var scene_handle: String +@export var options: Dictionary +@export var drop_index: int = 0 + +func _ready() -> void: + $Panel/Label.text = vis_name + for option in options: + $Panel/OptionButton.add_item(option) + $Panel/OptionButton.select(drop_index) + for adjusted in options[$Panel/OptionButton.get_item_text(drop_index)]: + get_node(scene_handle+adjusted).visible = options[$Panel/OptionButton.get_item_text(drop_index)][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/CyberamicController.gd b/Scripts/CyberamicController.gd new file mode 100644 index 0000000..4c8ee20 --- /dev/null +++ b/Scripts/CyberamicController.gd @@ -0,0 +1,117 @@ +extends Node3D + +var animation_player : AnimationPlayer +var animation_tree : AnimationTree +var blend_tree : AnimationNodeBlendTree + +var movement_states : Dictionary + +func _ready(): + animation_player = $AnimationPlayer + + animation_tree = AnimationTree.new() + animation_tree.anim_player = animation_player.get_path() + add_child(animation_tree) + + animation_tree.tree_root = AnimationNodeBlendTree.new() + animation_tree.active = true + blend_tree = animation_tree.tree_root as AnimationNodeBlendTree + + 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] + + var prev_anim_node := AnimationNodeAnimation.new() + prev_anim_node.animation = animations[0] + blend_tree.add_node(prev_name, prev_anim_node) + + var old_time_node := AnimationNodeTimeScale.new() + blend_tree.add_node(old_time_name,old_time_node) + + var _old_seek_node := AnimationNodeTimeSeek.new() + blend_tree.add_node(old_seek_name,_old_seek_node) + + blend_tree.connect_node(old_time_name,0,prev_name) + blend_tree.connect_node(old_seek_name,0,old_time_name) + prev_name = old_seek_name + + for i in range(1, animations.size()): + var anim_name = "Anim_" + animations[i] + var add_name = "Add_" + animations[i] + var time_name = "Time_" + animations[i] + var seek_name = "Seek_" + animations[i] + + var new_anim_node := AnimationNodeAnimation.new() + new_anim_node.animation = animations[i] + blend_tree.add_node(anim_name, new_anim_node) + + var time_node := AnimationNodeTimeScale.new() + blend_tree.add_node(time_name,time_node) + + var seek_node := AnimationNodeTimeSeek.new() + blend_tree.add_node(seek_name,seek_node) + + 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(add_name, 0, prev_name) + blend_tree.connect_node(add_name, 1, seek_name) + prev_name = add_name + + blend_tree.connect_node("output", 0, prev_name) + + for i in range(0, animations.size()): + animation_tree.set("parameters/Add_" + str(animations[i]) + "/add_amount", 1.0) + animation_tree.set("parameters/Seek_" + str(animations[i]) + "/seek_request", 0) + animation_tree.set("parameters/Time_" + str(animations[i]) + "/scale", 0) + +func _physics_process(delta: float) -> void: + for key in movement_states: + var anim_path = "parameters/Seek_" + key + "/seek_request" + var state = movement_states[key] + if (state[0]): + state[1] = clamp(float(state[1]) + (delta * state[2]), 0, 1) + else: + state[1] = clamp(float(state[1]) - (delta * state[3]), 0, 1) + animation_tree.set(anim_path, state[1]) + +func _movement_in(movement, rate): + var adjusted_rate = rate + if (movement == "Head Left"): + if (movement_states["Head Right"][0]): adjusted_rate = rate*0.5 + movement_states["Head Right"][0] = false + movement_states["Head Right"][3] = rate + movement_states["Body Left"][0] = true + movement_states["Body Left"][2] = rate*0.4 + movement_states["Body Right"][0] = false + movement_states["Body Right"][3] = rate*0.4 + elif (movement == "Head Right"): + if (movement_states["Head Left"][0]): adjusted_rate = rate*0.5 + movement_states["Head Left"][0] = false + movement_states["Head Left"][3] = rate + movement_states["Body Right"][0] = true + movement_states["Body Right"][2] = rate*0.4 + movement_states["Body Left"][0] = false + movement_states["Body Left"][3] = rate*0.4 + movement_states[movement][0] = true + movement_states[movement][2] = adjusted_rate + +func _movement_out(movement, rate): + if (movement == "Head Left"): + movement_states["Body Right"][0] = false + movement_states["Body Right"][3] = 0 + elif (movement == "Head Right"): + movement_states["Body Left"][0] = false + movement_states["Body Left"][3] = 0 + else: + movement_states[movement][0] = false + movement_states[movement][3] = rate diff --git a/Scripts/CyberamicController.gd.uid b/Scripts/CyberamicController.gd.uid new file mode 100644 index 0000000..de4bc14 --- /dev/null +++ b/Scripts/CyberamicController.gd.uid @@ -0,0 +1 @@ +uid://du3pqtf3jixvl diff --git a/Scripts/EditorScreen.gd b/Scripts/EditorScreen.gd new file mode 100644 index 0000000..2769e64 --- /dev/null +++ b/Scripts/EditorScreen.gd @@ -0,0 +1,498 @@ +extends Control + +var playing : bool = false +var recording : bool = false +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 + +var stages_info = { + "Helen House": Stages.HelenHouse, + "Chuck E's Corner": Stages.ChuckEsCorner, + "Balcony Stage": Stages.BalconyStage, + "C-Stage": Stages.CStage, + "Prototype Road Stage": Stages.ProtoRoadStage, + "Cyber 3-Stage": Stages.Cyber3Stage +} + +signal step(amount: int) +signal start_recording() +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 = 0 + for cosmetic_subtable in stages_info[current_stage]["cosmetics"]: + for cosmetic in cosmetic_subtable: + var cosmetic_adjustment = load("res://Scenes/GUI/Controls/CosmeticAdjustment.tscn").instantiate() + cosmetic_adjustment.vis_name = cosmetic + cosmetic_adjustment.options = cosmetic_subtable[cosmetic] + cosmetic_adjustment.scene_handle = "../../../../../" + stages_info[current_stage]["scene_ref_base"] + cosmetic_adjustment.drop_index = stages_info[current_stage]["cosmetic_defaults"][cosmetics_count] + 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 - 1 + + 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.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] + +func set_transport_enabled(enabled: bool): + $SequencerPanel/TransportControls/Centered/StepBackwardsButton.disabled = !enabled + $SequencerPanel/TransportControls/Centered/FastBackwardsButton.disabled = !enabled + $SequencerPanel/TransportControls/Centered/PlayBackwardsButton.disabled = !enabled + $SequencerPanel/TransportControls/Centered/PauseButton.disabled = !enabled + $SequencerPanel/TransportControls/Centered/StopButton.disabled = !enabled + $SequencerPanel/TransportControls/Centered/PlayButton.disabled = !enabled + $SequencerPanel/TransportControls/Centered/FastForwardButton.disabled = !enabled + $SequencerPanel/TransportControls/Centered/StepForwardButton.disabled = !enabled + $SequencerPanel/TransportControls/RecordButton.disabled = !enabled + transport_enabled = enabled + +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): + 0: #new + if (showtape_loaded): $NewOverwriteConfirmationDialog.show() + else: $ShowtapeNewScreen.visible = true + 1: #load + if (showtape_loaded): $LoadOverwriteConfirmationDialog.show() + else: $ShowtapeLoadScreen.visible = true + 2: #save + if (showtape_loaded): $ShowtapeSaveScreen.visible = true + else: $NoShowtapeLoadedDialog.show() + + +func _on_showtape_new_audio_browse_button_pressed() -> void: + $OpenAudioFileDialog.show() + +func _on_open_audio_file_dialog_file_selected(path: String) -> void: + $ShowtapeNewScreen/DialogPanel/AudioFilePath.text = path + +func _on_showtape_new_cancel_button_pressed() -> void: + $ShowtapeNewScreen/DialogPanel/AudioFilePath.text = "" + $ShowtapeNewScreen/DialogPanel/ShowNameTextBox.text = "" + $ShowtapeNewScreen.visible = false + +func _on_showtape_new_create_button_pressed() -> void: + if (!FileAccess.file_exists($ShowtapeNewScreen/DialogPanel/AudioFilePath.text.strip_edges())): + $FileDoesntExistDialog.show() + return + if ($ShowtapeNewScreen/DialogPanel/ShowNameTextBox.text.strip_edges() == ""): + $EmptyStringDialog.show() + return + show_name = $ShowtapeNewScreen/DialogPanel/ShowNameTextBox.text.strip_edges() + $AudioStreamPlayer.stream = load_audio($ShowtapeNewScreen/DialogPanel/AudioFilePath.text.strip_edges()) + set_transport_enabled(true) + showtape_loaded = true + $MenuBar/EditingLabel.text = "Editing: " + show_name + $ShowtapeNewScreen/DialogPanel/AudioFilePath.text = "" + $ShowtapeNewScreen/DialogPanel/ShowNameTextBox.text = "" + $ShowtapeNewScreen.visible = false + +func _on_new_overwrite_confirmation_dialog_confirmed() -> void: + erase_all.emit() + $ShowtapeNewScreen.visible = true + +func _on_open_showtape_file_dialog_file_selected(path: String) -> void: + $ShowtapeLoadScreen/DialogPanel/InFilePath.text = path + +func _on_showtape_load_in_browse_button_pressed() -> void: + $OpenShowtapeFileDialog.show() + +func _on_showtape_load_cancel_button_pressed() -> void: + $ShowtapeLoadScreen/DialogPanel/InFilePath.text = "" + $ShowtapeLoadScreen.visible = false + +func _on_showtape_load_open_button_pressed() -> void: + if (!FileAccess.file_exists($ShowtapeLoadScreen/DialogPanel/InFilePath.text.strip_edges())): + $FileDoesntExistDialog.show() + return + 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 (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: %s\n Current stage type: %s" % [ header[3], stages_info[current_stage]["ust_type"] ] + $IncorrectShowtapeDialog.show() + return + show_name = header[2] + plot_data(content.split(";")[1]) + $AudioStreamPlayer.stream = load_audio_from_buffer(Marshalls.base64_to_raw(content.split(";")[2])) + set_transport_enabled(true) + showtape_loaded = true + $MenuBar/EditingLabel.text = "Editing: " + show_name + $ShowtapeLoadScreen/DialogPanel/InFilePath.text = "" + $ShowtapeLoadScreen.visible = false + +func _on_load_overwrite_confirmation_dialog_confirmed() -> void: + erase_all.emit() + $ShowtapeLoadScreen.visible = true + + +func _on_showtape_save_out_browse_button_pressed() -> void: + $SaveShowtapeFileDialog.show() + +func _on_showtape_save_create_button_pressed() -> void: + if ($ShowtapeSaveScreen/DialogPanel/OutFilePath.text == ""): + $NoFileSpecified.show() + return + 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)) + file.close() + $ShowtapeSaveScreen/DialogPanel/OutFilePath.text = "" + $ShowtapeSaveScreen.visible = false + +func _on_showtape_save_cancel_button_pressed() -> void: + $ShowtapeSaveScreen/DialogPanel/OutFilePath.text = "" + $ShowtapeSaveScreen.visible = false + +func _on_save_showtape_file_dialog_file_selected(path: String) -> void: + $ShowtapeSaveScreen/DialogPanel/OutFilePath.text = path + +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() + else: _on_play_button_pressed() + elif event.is_action_pressed("sequencer_play_reverse"): + _on_play_backwards_button_pressed() + elif event.is_action_pressed("sequencer_fast_reverse"): + _on_fast_backwards_button_pressed() + elif event.is_action_pressed("sequencer_fast_forward"): + _on_fast_forward_button_pressed() + elif event.is_action_pressed("sequencer_step_backward"): + _on_step_backwards_button_pressed() + elif event.is_action_pressed("sequencer_step_forward"): + _on_step_forward_button_pressed() + elif event.is_action_pressed("sequencer_home"): + _on_stop_button_pressed() + +func _physics_process(_delta: float) -> void: + if (playing): + step.emit(playback_rate) + index += playback_rate + if (index <= 0): _on_stop_button_pressed() + update_time_label() + +func load_audio(path: String) -> AudioStream: + var sound + match (path.split(".")[-1]): + "mp3": + sound = AudioStreamMP3.load_from_file(path) + "wav": + sound = AudioStreamWAV.load_from_file(path) + "ogg": + sound = AudioStreamOggVorbis.load_from_file(path) + return sound + +func load_audio_from_buffer(data: PackedByteArray) -> AudioStream: + var sound + match (data[0]): + 73: + sound = AudioStreamMP3.load_from_buffer(data) + 82: + sound = AudioStreamWAV.load_from_buffer(data) + 79: + sound = AudioStreamOggVorbis.load_from_buffer(data) + return sound + +func _on_size_changed() -> void: + $SubViewport.size = $ColorRect.size + +func _on_controls_button_pressed() -> void: + $ControlsScreen.visible = true + +func _on_credits_button_pressed() -> void: + $CreditsScreen.visible = true + +func _on_input_eater_pressed() -> void: + $ControlsScreen.visible = false + $CreditsScreen.visible = false + $ShowtapeNewScreen.visible = false + $ShowtapeLoadScreen.visible = false + $ShowtapeSaveScreen.visible = false + +func _on_v_scroll_bar_value_changed(value: float) -> void: + $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 + $AudioStreamPlayer.stop() + $AudioStreamPlayer.seek(0) + $SequencerPanel/TransportControls/RecordButton.button_pressed = false + index = 0 + update_time_label() + show_name = "" + $AudioStreamPlayer.stream = null + set_transport_enabled(false) + 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 + $AudioStreamPlayer.pitch_scale = 1 + $AudioStreamPlayer.play(float(index)/60.0) + playing = true + +func _on_pause_button_pressed() -> void: + $AudioStreamPlayer.stop() + playing = false + +func _on_play_backwards_button_pressed() -> void: + playback_rate = -1 + $AudioStreamPlayer.stop() # cant play backwards :( + playing = true + $SequencerPanel/TransportControls/RecordButton.button_pressed = false + +func _on_fast_backwards_button_pressed() -> void: + playback_rate = -2 + $AudioStreamPlayer.stop() # cant play backwards :( + playing = true + $SequencerPanel/TransportControls/RecordButton.button_pressed = false + +func _on_step_backwards_button_pressed() -> void: + playing = false + $AudioStreamPlayer.stop() + $SequencerPanel/TransportControls/RecordButton.button_pressed = false + if (index != 0): + step.emit(-1) + index -= 1 + update_time_label() + +func _on_fast_forward_button_pressed() -> void: + playback_rate = 2 + $AudioStreamPlayer.pitch_scale = 2 + $AudioStreamPlayer.play(float(index)/60.0) + playing = true + $SequencerPanel/TransportControls/RecordButton.button_pressed = false + +func _on_step_forward_button_pressed() -> void: + playing = false + $AudioStreamPlayer.stop() + $SequencerPanel/TransportControls/RecordButton.button_pressed = false + step.emit(1) + index += 1 + 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() + +func _on_stop_button_pressed() -> void: + playing = false + $AudioStreamPlayer.stop() + $AudioStreamPlayer.seek(0) + $SequencerPanel/TransportControls/RecordButton.button_pressed = false + index = 0 + return_to_zero.emit() + update_time_label() + +func save_data() -> String: + var write_out : String = "" + var temp_data = {} + var longest_channel = 0 + 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 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 check_frame_split = frame_string.split() + check_frame_split.reverse() + for i in stages_info[current_stage]["bit_mapping"]: + var er = false + if ((check_frame_split[(i - 1) / 4].hex_to_int() & int(pow(2, ((i - 1) % 4)))) == int(pow(2, ((i - 1) % 4)))): + er = true + $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_child(evil_glass.find(i)).forced_etchable = true + $SequencerPanel/TimelinePanel/InvisibleMask/MovementRowsContainer.get_child(evil_glass.find(i)).etching = er + step.emit(1) + 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() + +func index_get_safe(cindex: int, data: Array[bool]) -> 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 + +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/EditorScreen.gd.uid b/Scripts/EditorScreen.gd.uid new file mode 100644 index 0000000..b1ff1e5 --- /dev/null +++ b/Scripts/EditorScreen.gd.uid @@ -0,0 +1 @@ +uid://dfiwoln8mdwm8 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/FlowControl.gd.uid b/Scripts/FlowControl.gd.uid new file mode 100644 index 0000000..e71dd11 --- /dev/null +++ b/Scripts/FlowControl.gd.uid @@ -0,0 +1 @@ +uid://blhv0kms1sleu 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/MovementButton.gd.uid b/Scripts/MovementButton.gd.uid new file mode 100644 index 0000000..acb38ca --- /dev/null +++ b/Scripts/MovementButton.gd.uid @@ -0,0 +1 @@ +uid://cg157l4uo7ki8 diff --git a/Scripts/MovementFrameIndicator.gd b/Scripts/MovementFrameIndicator.gd new file mode 100644 index 0000000..67590fe --- /dev/null +++ b/Scripts/MovementFrameIndicator.gd @@ -0,0 +1,6 @@ +extends Control + +@export var x_offset : int = 0 + +func _ready() -> void: + self.size.x += x_offset diff --git a/Scripts/MovementFrameIndicator.gd.uid b/Scripts/MovementFrameIndicator.gd.uid new file mode 100644 index 0000000..ce8fc88 --- /dev/null +++ b/Scripts/MovementFrameIndicator.gd.uid @@ -0,0 +1 @@ +uid://b4qincechbf63 diff --git a/Scripts/MovementRow.gd b/Scripts/MovementRow.gd new file mode 100644 index 0000000..b02c8c3 --- /dev/null +++ b/Scripts/MovementRow.gd @@ -0,0 +1,176 @@ +extends Panel + +@export var movement_bit : int = 0 +@export var movement_name : String = "Name" +@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 + +var key_binding : InputEventKey = InputEventKey.new() +var current_index : int = 0 +var binding : bool = false +var held_on_previous_frame : bool = false +var playback_held_on_previous_frame : bool = false +var recording : bool = false +var playing : bool = true +var current_block_indicator + +signal movement_in(movement, rate) +signal movement_out(movement, rate) + +func set_at_current() -> void: + if (current_index > self.movements.size()-1): self.movements.append(true) + else: self.movements.set(current_index, true) + if (check_at_index(current_index-1)): current_block_indicator.get_node("ColorRect").size.x += 2 + else: + current_block_indicator = load("res://Scenes/GUI/Controls/MovementFrameIndicatorOn.tscn").instantiate() + current_block_indicator.position.x = current_index * 2 + $MovementsBG/InvisibleMask/MovementsHandle.add_child(current_block_indicator) + +func unset_at_current() -> void: + if (current_index > self.movements.size()-1): self.movements.append(false) + else: self.movements.set(current_index, false) + if (!check_at_index(current_index-1)): current_block_indicator.get_node("ColorRect").size.x += 2 + else: + current_block_indicator = load("res://Scenes/GUI/Controls/MovementFrameIndicatorOff.tscn").instantiate() + current_block_indicator.position.x = current_index * 2 + $MovementsBG/InvisibleMask/MovementsHandle.add_child(current_block_indicator) + +func check_at_current() -> bool: + if (current_index > self.movements.size()-1): return false + var out = self.movements.get(current_index) + if (out == null): return false + return out + +func check_at_index(cindex: int) -> bool: + if (cindex > self.movements.size()-1): return false + if (cindex < 0): return false + var out = self.movements.get(cindex) + 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 && check_if_erasing()): + if (etching): set_at_current() + else: unset_at_current() + if (playing): + if (check_at_current()): + if (!playback_held_on_previous_frame): + movement_in.emit(movement_name, in_flow) + playback_held_on_previous_frame = true; + else: + if (playback_held_on_previous_frame): + movement_out.emit(movement_name, out_flow) + playback_held_on_previous_frame = false; + current_index += amount + $MovementsBG/InvisibleMask/MovementsHandle.position.x += -2*amount + +func _return_to_zero(): + current_index = 0 + $MovementsBG/InvisibleMask/MovementsHandle.position.x = 120 + movement_out.emit(movement_name, out_flow) + +func _erase_all() -> void: + _return_to_zero() + _on_clear_button_pressed() + +func _start_recording(): + recording = true + +func _end_recording(): + recording = false + +func _start_playback(): + playing = true + +func _end_playback(): + playing = false + +func update_text() -> void: + 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 + +func _update_out_flow(new_value: float) -> void: + out_flow = new_value + +func _ready() -> void: + 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 + 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("../../../../../") + editor.step.connect(_step) + editor.start_recording.connect(_start_recording) + editor.end_recording.connect(_end_recording) + editor.return_to_zero.connect(_return_to_zero) + editor.erase_all.connect(_erase_all) + current_block_indicator = load("res://Scenes/GUI/Controls/MovementFrameIndicatorOff.tscn").instantiate() + update_text() + +func _process(_delta: float) -> void: + 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) + held_on_previous_frame = true; + else: + if (held_on_previous_frame): + movement_out.emit(movement_name, out_flow) + held_on_previous_frame = false; + +func _movement_in(_movement, _rate): + $ActiveBG.visible = true + if (recording): etching = true + +func _movement_out(_movement, _rate): + $ActiveBG.visible = false + etching = false + +func _on_button_pressed() -> void: + if (binding): + update_text() + binding = false + return + if (key_binding.keycode == 0): + $Button.text = "Press a key to bind." + binding = true + else: + key_binding.keycode = KEY_NONE + update_text() + +func _input(event: InputEvent) -> void: + if (event is InputEventKey && binding): + if (event.keycode != KEY_ESCAPE): + key_binding = event + binding = false + 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() + current_block_indicator = load("res://Scenes/GUI/Controls/MovementFrameIndicatorOff.tscn").instantiate() diff --git a/Scripts/MovementRow.gd.uid b/Scripts/MovementRow.gd.uid new file mode 100644 index 0000000..14caf71 --- /dev/null +++ b/Scripts/MovementRow.gd.uid @@ -0,0 +1 @@ +uid://tn3aaldu7mm2 diff --git a/Stages.md b/Stages.md new file mode 100644 index 0000000..1d2d586 --- /dev/null +++ b/Stages.md @@ -0,0 +1,80 @@ +# Stages + +## Currently in game + + - Balcony Stage + - C Stage + + - Helen House (homemade stage) + - Chuck E's Corner (homemade stage) + +## In Development + + - Rocker Stage + - Prototype Road Stage + - Road Stage + - 2-Stage + - 1-Stage + - Turntable 1-Stage + - Cyberamic 3-Stage + +## Planned + +### Cyberamics + + - Portrait Stage + - Shelf Stage (Portrait stage with Balcony mechs) + + +### 3-Stage + + - 3-Stage + - CU 1-Stage + - Hollywood 3-Stage + + +### Studio C + + - Studio C Alpha + - Studio C Alpha 3-Stage + - Studio C Jukebox/"Prototype" + - Studio C Beta (3 Screens) + - Studio C Beta (1 Screen) + - Studio C Cappa (Mirror Backdrop) + - Studio C Cappa (Spiral Backdrop) + - Studio C Cappa (Beta Backdrop) + - Star Stage + - Studio C Beta (2012 Update) + - Circles of Light + +### Other + + - Winchester Portrait Stage + - Kooser Portrait Stage + - Store specific variants (Lake Forest, Staten Island, Jeddah, Huntsville) + + +## Far future (unlikely without model contributions) + + - Rock-afire Explosion + - Mini Stage (RAE) + - Magic Stage (RAE) + - Hannah Banana Stage + - Playroom 3-Stage + - Winter 3-Stage + - Awesome Adventure Machine + - Concept Unification Prototype + - Guest Stars (Portrait/Balcony stages) + - Cabaret (Dolli Dimples, Artie Antlers, B.B. Bubbles, Dr. Quack) + - Lounge (The King, King Kat, Helen Henny, Beach Bowsers, The Beagles) + - Latex masks for 3-Stage + + +## Never + + - 2015 Dance Floor + - 2017 Dance Floor + - 2019 Dance Floor + - 2021 Dance Floor + Video Wall + - Dance Floor + Circles of Light + - Anything to do with The Mopsey Sisters diff --git a/UI/BlankCam.png b/UI/BlankCam.png new file mode 100644 index 0000000..822a25f Binary files /dev/null and b/UI/BlankCam.png differ diff --git a/UI/BlankCam.png.import b/UI/BlankCam.png.import new file mode 100644 index 0000000..876e952 --- /dev/null +++ b/UI/BlankCam.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://s3yr2wasxv03" +path="res://.godot/imported/BlankCam.png-3a3fce0de965b84e3e9f90ae65ca082a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/BlankCam.png" +dest_files=["res://.godot/imported/BlankCam.png-3a3fce0de965b84e3e9f90ae65ca082a.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/FastBackwards.png b/UI/FastBackwards.png new file mode 100644 index 0000000..9bfcd28 Binary files /dev/null and b/UI/FastBackwards.png differ diff --git a/UI/FastBackwards.png.import b/UI/FastBackwards.png.import new file mode 100644 index 0000000..a9eb6b8 --- /dev/null +++ b/UI/FastBackwards.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhx2v2fd0egxd" +path="res://.godot/imported/FastBackwards.png-f55ba91d8d237cb6919d5f2a056db594.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/FastBackwards.png" +dest_files=["res://.godot/imported/FastBackwards.png-f55ba91d8d237cb6919d5f2a056db594.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/FastForward.png b/UI/FastForward.png new file mode 100644 index 0000000..93f5dff Binary files /dev/null and b/UI/FastForward.png differ diff --git a/UI/FastForward.png.import b/UI/FastForward.png.import new file mode 100644 index 0000000..f24b413 --- /dev/null +++ b/UI/FastForward.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsr03w7r667fw" +path="res://.godot/imported/FastForward.png-acbfeb2710bea5385ca8ad13fa6699e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/FastForward.png" +dest_files=["res://.godot/imported/FastForward.png-acbfeb2710bea5385ca8ad13fa6699e8.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/Pause.png b/UI/Pause.png new file mode 100644 index 0000000..2892111 Binary files /dev/null and b/UI/Pause.png differ diff --git a/UI/Pause.png.import b/UI/Pause.png.import new file mode 100644 index 0000000..1d6d8e3 --- /dev/null +++ b/UI/Pause.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwhgy4u37jmo1" +path="res://.godot/imported/Pause.png-90c47ed988bd7d26b746eb81a6aaeedf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/Pause.png" +dest_files=["res://.godot/imported/Pause.png-90c47ed988bd7d26b746eb81a6aaeedf.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/Play.png b/UI/Play.png new file mode 100644 index 0000000..378ce01 Binary files /dev/null and b/UI/Play.png differ diff --git a/UI/Play.png.import b/UI/Play.png.import new file mode 100644 index 0000000..e17e752 --- /dev/null +++ b/UI/Play.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xllpr3qc064c" +path="res://.godot/imported/Play.png-eec0d54380d32c59b84e7db5fa226d5e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/Play.png" +dest_files=["res://.godot/imported/Play.png-eec0d54380d32c59b84e7db5fa226d5e.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/PlayBackwards.png b/UI/PlayBackwards.png new file mode 100644 index 0000000..37f25b2 Binary files /dev/null and b/UI/PlayBackwards.png differ diff --git a/UI/PlayBackwards.png.import b/UI/PlayBackwards.png.import new file mode 100644 index 0000000..2e32746 --- /dev/null +++ b/UI/PlayBackwards.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgacnkv2dc65s" +path="res://.godot/imported/PlayBackwards.png-52f3d5b871717feab369f20308dd695c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/PlayBackwards.png" +dest_files=["res://.godot/imported/PlayBackwards.png-52f3d5b871717feab369f20308dd695c.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/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/PneumaticPlaything.icon/Assets/cylinder.svg.import b/UI/PneumaticPlaything.icon/Assets/cylinder.svg.import new file mode 100644 index 0000000..5c56810 --- /dev/null +++ b/UI/PneumaticPlaything.icon/Assets/cylinder.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1eluxvmnj7l7" +path="res://.godot/imported/cylinder.svg-7c12310ad8fca6e1f959909a64d6d065.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/PneumaticPlaything.icon/Assets/cylinder.svg" +dest_files=["res://.godot/imported/cylinder.svg-7c12310ad8fca6e1f959909a64d6d065.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/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/Record.png b/UI/Record.png new file mode 100644 index 0000000..4ffe48f Binary files /dev/null and b/UI/Record.png differ diff --git a/UI/Record.png.import b/UI/Record.png.import new file mode 100644 index 0000000..2d19281 --- /dev/null +++ b/UI/Record.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckg2ihy105ttj" +path="res://.godot/imported/Record.png-52d5a1455899304e32054af5c940c434.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/Record.png" +dest_files=["res://.godot/imported/Record.png-52d5a1455899304e32054af5c940c434.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/SkipBackwards.png b/UI/SkipBackwards.png new file mode 100644 index 0000000..f3e1d5a Binary files /dev/null and b/UI/SkipBackwards.png differ diff --git a/UI/SkipBackwards.png.import b/UI/SkipBackwards.png.import new file mode 100644 index 0000000..0e46ac4 --- /dev/null +++ b/UI/SkipBackwards.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dts4eh6hyt8p3" +path="res://.godot/imported/SkipBackwards.png-dfebc48054bc60d9671fc8d69c696237.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/SkipBackwards.png" +dest_files=["res://.godot/imported/SkipBackwards.png-dfebc48054bc60d9671fc8d69c696237.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/SkipForward.png b/UI/SkipForward.png new file mode 100644 index 0000000..29c5dec Binary files /dev/null and b/UI/SkipForward.png differ diff --git a/UI/SkipForward.png.import b/UI/SkipForward.png.import new file mode 100644 index 0000000..eef54cb --- /dev/null +++ b/UI/SkipForward.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bphwtliq2ahus" +path="res://.godot/imported/SkipForward.png-ca36b20fa5c982368f6b620245865f56.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/SkipForward.png" +dest_files=["res://.godot/imported/SkipForward.png-ca36b20fa5c982368f6b620245865f56.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/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/SmallX.png b/UI/SmallX.png new file mode 100644 index 0000000..157eba5 Binary files /dev/null and b/UI/SmallX.png differ diff --git a/UI/SmallX.png.import b/UI/SmallX.png.import new file mode 100644 index 0000000..7b9fa19 --- /dev/null +++ b/UI/SmallX.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn5xdrxdv622h" +path="res://.godot/imported/SmallX.png-fca237bd1b13d37241a1ac9e982c446b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/SmallX.png" +dest_files=["res://.godot/imported/SmallX.png-fca237bd1b13d37241a1ac9e982c446b.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/Stop.png b/UI/Stop.png new file mode 100644 index 0000000..a008b37 Binary files /dev/null and b/UI/Stop.png differ diff --git a/UI/Stop.png.import b/UI/Stop.png.import new file mode 100644 index 0000000..9659f7c --- /dev/null +++ b/UI/Stop.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cttgtbu1xllwq" +path="res://.godot/imported/Stop.png-28cf49bd72d354d073c38f19027d6ddb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/Stop.png" +dest_files=["res://.godot/imported/Stop.png-28cf49bd72d354d073c38f19027d6ddb.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/Themes/Dark.tres b/UI/Themes/Dark.tres new file mode 100644 index 0000000..cb4f782 --- /dev/null +++ b/UI/Themes/Dark.tres @@ -0,0 +1,16 @@ +[gd_resource type="Theme" load_steps=2 format=3 uid="uid://dbgs4id7y5d1c"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6oevq"] +bg_color = Color(0.133333, 0.133333, 0.133333, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.0941176, 0.0941176, 0.0941176, 1) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 + +[resource] +Panel/styles/panel = SubResource("StyleBoxFlat_6oevq") diff --git a/UI/Themes/MovementsPanelOverride.tres b/UI/Themes/MovementsPanelOverride.tres new file mode 100644 index 0000000..3055b66 --- /dev/null +++ b/UI/Themes/MovementsPanelOverride.tres @@ -0,0 +1,6 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://d17amc25o63p1"] + +[resource] +bg_color = Color(0.0941176, 0.0941176, 0.0941176, 1) +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 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-512px.png b/UI/icon-512px.png new file mode 100644 index 0000000..245e811 Binary files /dev/null and b/UI/icon-512px.png differ diff --git a/UI/icon-512px.png.import b/UI/icon-512px.png.import new file mode 100644 index 0000000..fea0caa --- /dev/null +++ b/UI/icon-512px.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://den5alc77qk1s" +path="res://.godot/imported/icon-512px.png-a2c06b50a2747ba3e5b560ba78d8d161.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/icon-512px.png" +dest_files=["res://.godot/imported/icon-512px.png-a2c06b50a2747ba3e5b560ba78d8d161.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 new file mode 100644 index 0000000..fc311ca Binary files /dev/null and b/UI/icon.png differ diff --git a/UI/icon.png.import b/UI/icon.png.import new file mode 100644 index 0000000..10cbd4d --- /dev/null +++ b/UI/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnvfrr028730a" +path="res://.godot/imported/icon.png-d44ad423496976af115f803f6386bc82.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/icon.png" +dest_files=["res://.godot/imported/icon.png-d44ad423496976af115f803f6386bc82.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/project.godot b/project.godot new file mode 100644 index 0000000..9923792 --- /dev/null +++ b/project.godot @@ -0,0 +1,408 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Pneumatic Plaything" +config/description="Animatronic Simulator" +config/version="v0.7" +run/main_scene="uid://oiehbor0dlqx" +config/features=PackedStringArray("4.4", "GL Compatibility") +boot_splash/show_image=false +config/icon="uid://den5alc77qk1s" +config/macos_native_icon="res://UI/icon.icns" +config/windows_native_icon="res://UI/icon.ico" + +[autoload] + +Cosmetics="*res://Scripts/Configs/Cosmetics.gd" +Stages="*res://Scripts/Configs/Stages.gd" + +[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={ +"deadzone": 0.5, +"events": [] +} +ui_cancel={ +"deadzone": 0.5, +"events": [] +} +ui_focus_next={ +"deadzone": 0.5, +"events": [] +} +ui_focus_prev={ +"deadzone": 0.5, +"events": [] +} +ui_left={ +"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":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) +] +} +ui_right={ +"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":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) +] +} +ui_up={ +"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":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null) +] +} +ui_down={ +"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":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) +] +} +ui_page_up={ +"deadzone": 0.5, +"events": [] +} +ui_page_down={ +"deadzone": 0.5, +"events": [] +} +ui_home={ +"deadzone": 0.5, +"events": [] +} +ui_end={ +"deadzone": 0.5, +"events": [] +} +ui_cut={ +"deadzone": 0.5, +"events": [] +} +ui_copy={ +"deadzone": 0.5, +"events": [] +} +ui_paste={ +"deadzone": 0.5, +"events": [] +} +ui_undo={ +"deadzone": 0.5, +"events": [] +} +ui_redo={ +"deadzone": 0.5, +"events": [] +} +ui_text_completion_query={ +"deadzone": 0.5, +"events": [] +} +ui_text_completion_accept={ +"deadzone": 0.5, +"events": [] +} +ui_text_completion_replace={ +"deadzone": 0.5, +"events": [] +} +ui_text_newline={ +"deadzone": 0.5, +"events": [] +} +ui_text_newline_blank={ +"deadzone": 0.5, +"events": [] +} +ui_text_newline_above={ +"deadzone": 0.5, +"events": [] +} +ui_text_indent={ +"deadzone": 0.5, +"events": [] +} +ui_text_dedent={ +"deadzone": 0.5, +"events": [] +} +ui_text_backspace_word={ +"deadzone": 0.5, +"events": [] +} +ui_text_backspace_word.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_backspace_all_to_left.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_delete_word={ +"deadzone": 0.5, +"events": [] +} +ui_text_delete_word.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_delete_all_to_right.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_left={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_word_left={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_word_left.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_right={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_word_right={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_word_right.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_up={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_down={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_line_start={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_line_start.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_line_end={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_line_end.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_page_up={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_page_down={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_document_start={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_document_start.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_document_end={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_document_end.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_add_below={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_add_below.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_add_above={ +"deadzone": 0.5, +"events": [] +} +ui_text_caret_add_above.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_scroll_up={ +"deadzone": 0.5, +"events": [] +} +ui_text_scroll_up.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_scroll_down={ +"deadzone": 0.5, +"events": [] +} +ui_text_scroll_down.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_select_all={ +"deadzone": 0.5, +"events": [] +} +ui_text_select_word_under_caret={ +"deadzone": 0.5, +"events": [] +} +ui_text_select_word_under_caret.macos={ +"deadzone": 0.5, +"events": [] +} +ui_text_add_selection_for_next_occurrence={ +"deadzone": 0.5, +"events": [] +} +ui_text_skip_selection_for_next_occurrence={ +"deadzone": 0.5, +"events": [] +} +ui_text_clear_carets_and_selection={ +"deadzone": 0.5, +"events": [] +} +ui_text_toggle_insert_mode={ +"deadzone": 0.5, +"events": [] +} +ui_menu={ +"deadzone": 0.5, +"events": [] +} +ui_unicode_start={ +"deadzone": 0.5, +"events": [] +} +ui_graph_duplicate={ +"deadzone": 0.5, +"events": [] +} +ui_graph_delete={ +"deadzone": 0.5, +"events": [] +} +ui_filedialog_up_one_level={ +"deadzone": 0.5, +"events": [] +} +ui_filedialog_refresh={ +"deadzone": 0.5, +"events": [] +} +ui_filedialog_show_hidden={ +"deadzone": 0.5, +"events": [] +} +ui_swap_input_direction={ +"deadzone": 0.5, +"events": [] +} +toggle_editor_screen={ +"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":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +] +} +sequencer_play_pause={ +"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":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +} +sequencer_play_reverse={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} +sequencer_fast_forward={ +"deadzone": 0.2, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +sequencer_fast_reverse={ +"deadzone": 0.2, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +sequencer_step_forward={ +"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":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null) +] +} +sequencer_step_backward={ +"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":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null) +] +} +cycle_camera_angle={ +"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":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":false,"script":null) +] +} +sequencer_home={ +"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":4194317,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, 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