cosmetic system is working

This commit is contained in:
Persephone Bubblegum-Holidy 2025-06-07 22:47:51 -07:00
parent e2c4591a21
commit dfae037276
31 changed files with 441 additions and 81 deletions

Binary file not shown.

View file

@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bb70mexwmq1ta"
path="res://.godot/imported/PTTChuck.glb-39fa71e50819b763a0b914d99f7b7ecc.scn"
uid="uid://c2j62syov3skq"
path="res://.godot/imported/Cyberamic Chuck.glb-7640bcf570eaf553eddfec5de3e96502.scn"
[deps]
source_file="res://Models/Cyberamics/PTTChuck.glb"
dest_files=["res://.godot/imported/PTTChuck.glb-39fa71e50819b763a0b914d99f7b7ecc.scn"]
source_file="res://Models/Cyberamics/Cyberamic Chuck.glb"
dest_files=["res://.godot/imported/Cyberamic Chuck.glb-7640bcf570eaf553eddfec5de3e96502.scn"]
[params]
@ -32,12 +32,6 @@ animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"nodes": {
"PATH:PTT Chuck/Skeleton3D/Yellow Checker Vest": {
"import/skip_import": true
}
}
}
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -0,0 +1,39 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c8li1pbbld1r6"
path.s3tc="res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "d05498ddd2256dae1de9c85a416823f1"
}
[deps]
source_file="res://Models/Cyberamics/Cyberamic Chuck_avenger chuck shirt.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_avenger chuck shirt.png-ef24b9642c3c8e09e634fc0b19923210.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -0,0 +1,39 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://im1r1enoj4l3"
path.s3tc="res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "eda0a6f93a90b3b6fa865784593fcd9f"
}
[deps]
source_file="res://Models/Cyberamics/Cyberamic Chuck_avenger hat.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_avenger hat.png-29377b5e8b656b2b533aeba9277b6de7.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

@ -0,0 +1,39 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgfogdr7mgqrn"
path.s3tc="res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "30dda0ec4550d8b59629241b11fcb967"
}
[deps]
source_file="res://Models/Cyberamics/Cyberamic Chuck_cool chuck hat.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_cool chuck hat.png-92e57bd583b5fddebeb2b5a26a27b65f.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -0,0 +1,39 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cpyxdwmo2mitw"
path.s3tc="res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "47d45b1d7535be024d7328edf43a202e"
}
[deps]
source_file="res://Models/Cyberamics/Cyberamic Chuck_cool chuck shirt.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_cool chuck shirt.png-52e5a2fe3b0c7d22e5cbd78c1c7500a9.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Before After
Before After

View file

@ -2,9 +2,9 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cht5vl7wgnsia"
path.s3tc="res://.godot/imported/PTTChuck_derby.png-8c6e0f60d14a40f8052a29defa7e5f74.s3tc.ctex"
path.etc2="res://.godot/imported/PTTChuck_derby.png-8c6e0f60d14a40f8052a29defa7e5f74.etc2.ctex"
uid="uid://cbweai1832bm3"
path.s3tc="res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
@ -15,8 +15,8 @@ generator_parameters={
[deps]
source_file="res://Models/Cyberamics/PTTChuck_derby.png"
dest_files=["res://.godot/imported/PTTChuck_derby.png-8c6e0f60d14a40f8052a29defa7e5f74.s3tc.ctex", "res://.godot/imported/PTTChuck_derby.png-8c6e0f60d14a40f8052a29defa7e5f74.etc2.ctex"]
source_file="res://Models/Cyberamics/Cyberamic Chuck_derby.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_derby.png-7bc146630594177e24ceda21a9c7859a.etc2.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

View file

@ -2,9 +2,9 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bc7oo4g6bmvox"
path.s3tc="res://.godot/imported/PTTChuck_eyes.png-ff741c1c04a93aecb441194472e5555c.s3tc.ctex"
path.etc2="res://.godot/imported/PTTChuck_eyes.png-ff741c1c04a93aecb441194472e5555c.etc2.ctex"
uid="uid://n8fyvmnwkd5f"
path.s3tc="res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
@ -15,8 +15,8 @@ generator_parameters={
[deps]
source_file="res://Models/Cyberamics/PTTChuck_eyes.png"
dest_files=["res://.godot/imported/PTTChuck_eyes.png-ff741c1c04a93aecb441194472e5555c.s3tc.ctex", "res://.godot/imported/PTTChuck_eyes.png-ff741c1c04a93aecb441194472e5555c.etc2.ctex"]
source_file="res://Models/Cyberamics/Cyberamic Chuck_eyes.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_eyes.png-833864a46a4992a27ec42be8deaf2902.etc2.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

View file

@ -2,9 +2,9 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dj73rlkk8f6p5"
path.s3tc="res://.godot/imported/PTTChuck_fur.png-592f9663192f03e39b432aafe738894c.s3tc.ctex"
path.etc2="res://.godot/imported/PTTChuck_fur.png-592f9663192f03e39b432aafe738894c.etc2.ctex"
uid="uid://c4tq7klloya28"
path.s3tc="res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
@ -15,8 +15,8 @@ generator_parameters={
[deps]
source_file="res://Models/Cyberamics/PTTChuck_fur.png"
dest_files=["res://.godot/imported/PTTChuck_fur.png-592f9663192f03e39b432aafe738894c.s3tc.ctex", "res://.godot/imported/PTTChuck_fur.png-592f9663192f03e39b432aafe738894c.etc2.ctex"]
source_file="res://Models/Cyberamics/Cyberamic Chuck_fur.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_fur.png-5da3fabde0b41b5765b323a829d6681a.etc2.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 327 B

After

Width:  |  Height:  |  Size: 327 B

Before After
Before After

View file

@ -2,9 +2,9 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dv0ns84xepyma"
path.s3tc="res://.godot/imported/PTTChuck_jaw.png-c3b3079dfe4c708ed94e21ba2e6e6d62.s3tc.ctex"
path.etc2="res://.godot/imported/PTTChuck_jaw.png-c3b3079dfe4c708ed94e21ba2e6e6d62.etc2.ctex"
uid="uid://b6i5p7ssueq1c"
path.s3tc="res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
@ -15,8 +15,8 @@ generator_parameters={
[deps]
source_file="res://Models/Cyberamics/PTTChuck_jaw.png"
dest_files=["res://.godot/imported/PTTChuck_jaw.png-c3b3079dfe4c708ed94e21ba2e6e6d62.s3tc.ctex", "res://.godot/imported/PTTChuck_jaw.png-c3b3079dfe4c708ed94e21ba2e6e6d62.etc2.ctex"]
source_file="res://Models/Cyberamics/Cyberamic Chuck_jaw.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_jaw.png-77869e5cf0e223c7b7e77b4c6ef73abc.etc2.ctex"]
[params]

View file

Before

Width:  |  Height:  |  Size: 361 B

After

Width:  |  Height:  |  Size: 361 B

Before After
Before After

View file

@ -2,9 +2,9 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://drkeuydbjd3m0"
path.s3tc="res://.godot/imported/PTTChuck_mic.png-64ebcd5b57d5b69d2e381f57937083f0.s3tc.ctex"
path.etc2="res://.godot/imported/PTTChuck_mic.png-64ebcd5b57d5b69d2e381f57937083f0.etc2.ctex"
uid="uid://btm7ni51m76xy"
path.s3tc="res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
@ -15,8 +15,8 @@ generator_parameters={
[deps]
source_file="res://Models/Cyberamics/PTTChuck_mic.png"
dest_files=["res://.godot/imported/PTTChuck_mic.png-64ebcd5b57d5b69d2e381f57937083f0.s3tc.ctex", "res://.godot/imported/PTTChuck_mic.png-64ebcd5b57d5b69d2e381f57937083f0.etc2.ctex"]
source_file="res://Models/Cyberamics/Cyberamic Chuck_mic.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_mic.png-a001658a24b06e235c5f95469e65dd38.etc2.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

View file

@ -0,0 +1,39 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2im7s145j3ba"
path.s3tc="res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "40535739a152a771fa57e75e1df9b011"
}
[deps]
source_file="res://Models/Cyberamics/Cyberamic Chuck_modern jaw.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_modern jaw.png-cbbfdab929ad63a720505602abfbed7a.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View file

Before

Width:  |  Height:  |  Size: 934 B

After

Width:  |  Height:  |  Size: 934 B

Before After
Before After

View file

@ -2,9 +2,9 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bp4qcevx2sygg"
path.s3tc="res://.godot/imported/PTTChuck_vest.png-7ff42f3db3c4ebd4116df04aa6baa4f7.s3tc.ctex"
path.etc2="res://.godot/imported/PTTChuck_vest.png-7ff42f3db3c4ebd4116df04aa6baa4f7.etc2.ctex"
uid="uid://cjjfoyalnst1d"
path.s3tc="res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.s3tc.ctex"
path.etc2="res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
@ -15,8 +15,8 @@ generator_parameters={
[deps]
source_file="res://Models/Cyberamics/PTTChuck_vest.png"
dest_files=["res://.godot/imported/PTTChuck_vest.png-7ff42f3db3c4ebd4116df04aa6baa4f7.s3tc.ctex", "res://.godot/imported/PTTChuck_vest.png-7ff42f3db3c4ebd4116df04aa6baa4f7.etc2.ctex"]
source_file="res://Models/Cyberamics/Cyberamic Chuck_vest.png"
dest_files=["res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.s3tc.ctex", "res://.godot/imported/Cyberamic Chuck_vest.png-f2e092297f624fd3dd64f2cbcf170064.etc2.ctex"]
[params]

Binary file not shown.

View file

@ -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"]

View file

@ -510,16 +510,6 @@ toggle_mode = true
button_group = ExtResource("13_wy7jo")
text = "Cosmetics"
[node name="StageFlyoutButton" type="Button" parent="FlyoutPanel/FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 148.0
offset_right = 132.0
offset_bottom = 180.0
toggle_mode = true
button_group = ExtResource("13_wy7jo")
text = "Stage"
[node name="Movements" type="Panel" parent="FlyoutPanel"]
visible = false
layout_mode = 0
@ -583,36 +573,29 @@ 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 = 396.0
offset_bottom = 64.0
offset_right = 544.0
offset_bottom = 392.0
[node name="Label" type="Label" parent="FlyoutPanel/Cosmetics"]
layout_mode = 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 = 228.0
offset_bottom = 36.0
text = "No options for this stage :("
vertical_alignment = 1
offset_right = 388.0
offset_bottom = 388.0
[node name="Stage" type="Panel" parent="FlyoutPanel"]
visible = false
layout_mode = 0
offset_left = 140.0
offset_right = 396.0
offset_bottom = 64.0
[node name="CosmeticsHandle" type="Control" parent="FlyoutPanel/Cosmetics/InvisibleMask"]
anchors_preset = 0
[node name="Label" type="Label" parent="FlyoutPanel/Stage"]
[node name="VScrollBar" type="VScrollBar" parent="FlyoutPanel/Cosmetics"]
layout_mode = 0
offset_left = 4.0
offset_left = 392.0
offset_top = 4.0
offset_right = 228.0
offset_bottom = 36.0
text = "No options for this stage :("
vertical_alignment = 1
offset_right = 400.0
offset_bottom = 388.0
max_value = 0.0
step = 1.0
[node name="ControlsScreen" type="Control" parent="."]
visible = false
@ -1123,9 +1106,9 @@ expand_mode = 2
[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="toggled" from="FlyoutPanel/FlyoutButtons/StageFlyoutButton" to="." method="_on_stage_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"]

View file

@ -1,6 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://dw3eplmapm5gc"]
[ext_resource type="PackedScene" uid="uid://bb70mexwmq1ta" path="res://Models/Cyberamics/PTTChuck.glb" id="1_m77pm"]
[ext_resource type="PackedScene" uid="uid://c2j62syov3skq" path="res://Models/Cyberamics/Cyberamic Chuck.glb" id="1_t27ru"]
[ext_resource type="Script" uid="uid://bu68w4jnh0n2b" path="res://Scripts/AnimatronicController.gd" id="2_8qvk7"]
[ext_resource type="PackedScene" uid="uid://bv66hlbvtekho" path="res://Models/ChuckEsCorner/ChuckEsCornerStage.glb" id="3_8qvk7"]
[ext_resource type="PackedScene" uid="uid://dmh5upwts8y11" path="res://Models/Cyberamics/Warblettes.glb" id="3_t27ru"]
@ -10,8 +10,8 @@ ambient_light_source = 1
[node name="ChuckEsCorner" type="Node3D"]
[node name="Chuck" parent="." instance=ExtResource("1_m77pm")]
transform = Transform3D(-1.5, 0, 2.26494e-07, 0, 1.5, 0, -2.26494e-07, 0, -1.5, -2, 2, 0.312447)
[node name="Chuck" parent="." instance=ExtResource("1_t27ru")]
transform = Transform3D(-1.5, 0, -1.31134e-07, 0, 1.5, 0, 1.31134e-07, 0, -1.5, -2, 2, 0.312)
script = ExtResource("2_8qvk7")
[node name="Warblettes" parent="." instance=ExtResource("3_t27ru")]

View file

@ -0,0 +1,18 @@
extends Control
@export var vis_name: String
@export var scene_handle: String
@export var options: Dictionary
func _ready() -> void:
$Panel/Label.text = vis_name
for option in options:
$Panel/OptionButton.add_item(option)
$Panel/OptionButton.select(0)
for adjusted in options[$Panel/OptionButton.get_item_text(0)]:
get_node(scene_handle+adjusted).visible = options[$Panel/OptionButton.get_item_text(0)][adjusted]
func _on_option_button_item_selected(index: int) -> void:
for adjusted in options[$Panel/OptionButton.get_item_text(index)]:
get_node(scene_handle+adjusted).visible = options[$Panel/OptionButton.get_item_text(index)][adjusted]

View file

@ -0,0 +1 @@
uid://1f7v3ohsgx0g

View file

@ -45,7 +45,9 @@ var stages_info = {
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 },
}
},
"cosmetics": { }
},
"Chuck E's Corner":
{
@ -68,6 +70,121 @@ var stages_info = {
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 },
},
"cosmetics":
{
"Chuck E. Hat":
{
"Derby":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": true,
},
"Cool Chuck":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": true,
"Chuck/Chuck/Skeleton3D/Derby": false,
},
"Avenger":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": true,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": false,
},
"None":
{
"Chuck/Chuck/Skeleton3D/Avenger Hat": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Hat": false,
"Chuck/Chuck/Skeleton3D/Derby": false,
}
},
"Chuck E. Shirt":
{
"Red Vest":
{
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": true,
"Chuck/Chuck/Skeleton3D/Buttons": true,
"Chuck/Chuck/Skeleton3D/Vest Trim": true,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": true,
},
"Yellow Checker Vest":
{
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": true,
"Chuck/Chuck/Skeleton3D/Buttons": true,
"Chuck/Chuck/Skeleton3D/Vest Trim": true,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": true,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
},
"Cool Chuck Shirt":
{
"Chuck/Chuck/Skeleton3D/Avenger Shirt": false,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": true,
"Chuck/Chuck/Skeleton3D/Black Bowtie": false,
"Chuck/Chuck/Skeleton3D/Buttons": false,
"Chuck/Chuck/Skeleton3D/Vest Trim": false,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
},
"Avenger Shirt":
{
"Chuck/Chuck/Skeleton3D/Avenger Shirt": true,
"Chuck/Chuck/Skeleton3D/Cool Chuck Shirt": false,
"Chuck/Chuck/Skeleton3D/Black Bowtie": false,
"Chuck/Chuck/Skeleton3D/Buttons": false,
"Chuck/Chuck/Skeleton3D/Vest Trim": false,
"Chuck/Chuck/Skeleton3D/Yellow Checker Vest": false,
"Chuck/Chuck/Skeleton3D/Rocker Vest": false,
}
},
"Chuck E. Mask":
{
"PTT":
{
"Chuck/Chuck/Skeleton3D/PTT Ears": true,
"Chuck/Chuck/Skeleton3D/PTT Ears Inside": true,
"Chuck/Chuck/Skeleton3D/PTT Jaw": true,
"Chuck/Chuck/Skeleton3D/PTT Muzzle": true,
"Chuck/Chuck/Skeleton3D/Modern Ears": false,
"Chuck/Chuck/Skeleton3D/Modern Ears Inside": false,
"Chuck/Chuck/Skeleton3D/Modern Jaw": false,
"Chuck/Chuck/Skeleton3D/Modern Muzzle": false,
},
"Modern":
{
"Chuck/Chuck/Skeleton3D/PTT Ears": false,
"Chuck/Chuck/Skeleton3D/PTT Ears Inside": false,
"Chuck/Chuck/Skeleton3D/PTT Jaw": false,
"Chuck/Chuck/Skeleton3D/PTT Muzzle": false,
"Chuck/Chuck/Skeleton3D/Modern Ears": true,
"Chuck/Chuck/Skeleton3D/Modern Ears Inside": true,
"Chuck/Chuck/Skeleton3D/Modern Jaw": true,
"Chuck/Chuck/Skeleton3D/Modern Muzzle": true,
},
},
"Chuck E. Eyelids":
{
"Blue":
{
"Chuck/Chuck/Skeleton3D/Blue Eyelids": true,
"Chuck/Chuck/Skeleton3D/Grey Eyelids": false,
},
"Grey":
{
"Chuck/Chuck/Skeleton3D/Blue Eyelids": false,
"Chuck/Chuck/Skeleton3D/Grey Eyelids": true,
},
}
}
}
}
@ -92,10 +209,13 @@ func reload_stage(stage_previously_loaded: bool) -> void:
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()
$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()
@ -105,6 +225,20 @@ func reload_stage(stage_previously_loaded: bool) -> void:
cam_offset += 36
$FlyoutPanel/Camera.add_child(camera_button)
$FlyoutPanel/Camera.size.y = cam_offset
var cosmetics_offset = 0
var cosmetics_count = -1
for cosmetic in stages_info[current_stage]["cosmetics"]:
var cosmetic_adjustment = load("res://Scenes/GUI/Controls/CosmeticAdjustment.tscn").instantiate()
cosmetic_adjustment.vis_name = cosmetic
cosmetic_adjustment.options = stages_info[current_stage]["cosmetics"][cosmetic]
cosmetic_adjustment.scene_handle = "../../../../../" + stages_info[current_stage]["scene_ref_base"]
cosmetic_adjustment.position.y = cosmetics_offset
cosmetics_offset += 44
cosmetics_count += 1
$FlyoutPanel/Cosmetics/InvisibleMask/CosmeticsHandle.add_child(cosmetic_adjustment)
$FlyoutPanel/Cosmetics/VScrollBar.max_value = cosmetics_count
var rows_offset = 0
var flows_offset = 0
var flow_count = 0
@ -372,6 +506,9 @@ func _on_flow_v_scroll_bar_value_changed(value: float) -> void:
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()
@ -397,9 +534,6 @@ func _on_camera_flyout_button_toggled(toggled_on: bool) -> void:
func _on_cosmetics_flyout_button_toggled(toggled_on: bool) -> void:
$FlyoutPanel/Cosmetics.visible = toggled_on
func _on_stage_flyout_button_toggled(toggled_on: bool) -> void:
$FlyoutPanel/Stage.visible = toggled_on
func _on_play_button_pressed() -> void:
playback_rate = 1