add more ui proto features

This commit is contained in:
Persephone Bubblegum-Holidy 2025-05-23 09:06:49 -07:00
parent 8ab3c1413a
commit b31a9563f6
24 changed files with 548 additions and 16 deletions

4
.editorconfig Normal file
View file

@ -0,0 +1,4 @@
root = true
[*]
charset = utf-8

2
.gitattributes vendored Normal file
View file

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

View file

@ -1,10 +1,18 @@
[gd_scene load_steps=7 format=3 uid="uid://oiehbor0dlqx"]
[gd_scene load_steps=15 format=3 uid="uid://oiehbor0dlqx"]
[ext_resource type="Script" uid="uid://dfiwoln8mdwm8" path="res://Scripts/EditorScreen.gd" id="1_sd512"]
[ext_resource type="PackedScene" uid="uid://blg1c3v4o44of" path="res://Scenes/GUI/Controls/FlowSlider.tscn" id="2_jo1ms"]
[ext_resource type="PackedScene" uid="uid://btre5j66mpchy" path="res://Scenes/Stages/HelenHouse.tscn" id="2_p1t5g"]
[ext_resource type="PackedScene" uid="uid://btre5j66mpchy" path="res://Scenes/Stages/Helen House.tscn" id="2_p1t5g"]
[ext_resource type="Texture2D" uid="uid://xllpr3qc064c" path="res://UI/Play.png" id="3_g6u4d"]
[ext_resource type="Texture2D" uid="uid://dgacnkv2dc65s" path="res://UI/PlayBackwards.png" id="3_mr8sb"]
[ext_resource type="ButtonGroup" uid="uid://bij2tonqeslpt" path="res://Scenes/GUI/FlyoutButtonGroup.tres" id="3_p1t5g"]
[ext_resource type="Texture2D" uid="uid://dts4eh6hyt8p3" path="res://UI/SkipBackwards.png" id="3_r4ytj"]
[ext_resource type="Texture2D" uid="uid://bwhgy4u37jmo1" path="res://UI/Pause.png" id="4_ba3jn"]
[ext_resource type="PackedScene" uid="uid://cbf3x44mvo701" path="res://Scenes/GUI/Controls/IndicatorLight.tscn" id="4_wuj6m"]
[ext_resource type="Texture2D" uid="uid://dhx2v2fd0egxd" path="res://UI/FastBackwards.png" id="4_wy7jo"]
[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"]
[sub_resource type="ViewportTexture" id="ViewportTexture_g6u4d"]
viewport_path = NodePath("SubViewport")
@ -20,14 +28,16 @@ script = ExtResource("1_sd512")
[node name="SubViewport" type="SubViewport" parent="."]
size = Vector2i(1280, 720)
size_2d_override = Vector2i(640, 360)
[node name="HelenHouse" parent="SubViewport" instance=ExtResource("2_p1t5g")]
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 0
offset_right = 1280.0
offset_bottom = 720.0
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="CameraPreview" type="TextureRect" parent="."]
@ -37,7 +47,8 @@ offset_top = 48.0
offset_right = 1276.0
offset_bottom = 408.0
texture = SubResource("ViewportTexture_g6u4d")
expand_mode = 2
expand_mode = 5
stretch_mode = 6
[node name="Label" type="Label" parent="."]
layout_mode = 0
@ -48,20 +59,22 @@ offset_bottom = 408.0
text = "Welcome to Pneumatic Plaything Animatronic Simulator!
You can press the buttons to the side to
control the bot, or adjust its flows.
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.
More features will be coming in the future, so stay tuned!"
Open the Controls menu to see all of the keybinds."
horizontal_alignment = 1
vertical_alignment = 1
[node name="MenuBar" type="Panel" parent="."]
layout_mode = 0
layout_mode = 1
anchors_preset = -1
anchor_right = 1.0
offset_left = 4.0
offset_top = 4.0
offset_right = 1276.0
offset_right = -4.0
offset_bottom = 44.0
grow_horizontal = 2
[node name="Wordmark" type="Label" parent="MenuBar"]
layout_mode = 0
@ -73,6 +86,49 @@ text = "Pneumatic Plaything v0.2"
horizontal_alignment = 1
vertical_alignment = 1
[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 = 0
item_count = 1
popup/item_0/text = "Helen House (Custom)"
popup/item_0/id = 0
[node name="LoadShowtapeButton" type="Button" parent="MenuBar"]
layout_mode = 0
offset_left = 264.0
offset_top = 4.0
offset_right = 392.0
offset_bottom = 36.0
text = "Load Showtape"
[node name="NewShowtapeButton" type="Button" parent="MenuBar"]
layout_mode = 0
offset_left = 396.0
offset_top = 4.0
offset_right = 524.0
offset_bottom = 36.0
text = "New Showtape"
[node name="SaveShowtapeButton" type="Button" parent="MenuBar"]
layout_mode = 0
offset_left = 528.0
offset_top = 4.0
offset_right = 656.0
offset_bottom = 36.0
text = "Save Showtape"
[node name="ControlsButton" type="Button" parent="MenuBar"]
layout_mode = 0
offset_left = 660.0
offset_top = 4.0
offset_right = 788.0
offset_bottom = 36.0
text = "Controls"
[node name="SequencerPanel" type="Panel" parent="."]
layout_mode = 0
offset_left = 4.0
@ -80,6 +136,73 @@ offset_top = 412.0
offset_right = 1276.0
offset_bottom = 716.0
[node name="Buttons" type="Control" parent="SequencerPanel"]
anchors_preset = 0
[node name="SkipBackwardsButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 488.0
offset_top = 4.0
offset_right = 528.0
offset_bottom = 44.0
icon = ExtResource("3_r4ytj")
[node name="FastBackwardsButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 532.0
offset_top = 4.0
offset_right = 572.0
offset_bottom = 44.0
icon = ExtResource("4_wy7jo")
[node name="PlayBackwardsButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 576.0
offset_top = 4.0
offset_right = 616.0
offset_bottom = 44.0
icon = ExtResource("3_mr8sb")
[node name="PauseButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 620.0
offset_top = 4.0
offset_right = 660.0
offset_bottom = 44.0
icon = ExtResource("4_ba3jn")
[node name="PlayButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 664.0
offset_top = 4.0
offset_right = 704.0
offset_bottom = 44.0
icon = ExtResource("3_g6u4d")
[node name="FastForwardButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 708.0
offset_top = 4.0
offset_right = 748.0
offset_bottom = 44.0
icon = ExtResource("8_v0ton")
[node name="SkipForwardButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 752.0
offset_top = 4.0
offset_right = 792.0
offset_bottom = 44.0
icon = ExtResource("9_20noo")
[node name="RecordButton" type="Button" parent="SequencerPanel/Buttons"]
layout_mode = 0
offset_left = 1228.0
offset_top = 4.0
offset_right = 1268.0
offset_bottom = 44.0
icon = ExtResource("10_wy7jo")
[node name="FlyoutButtons" type="Panel" parent="."]
layout_mode = 0
offset_left = 4.0
@ -117,6 +240,22 @@ toggle_mode = true
button_group = ExtResource("3_p1t5g")
text = "Camera"
[node name="CosmeticsFlyoutButton" type="Button" parent="FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 112.0
offset_right = 132.0
offset_bottom = 144.0
text = "Cosmetics"
[node name="StageFlyoutButton" type="Button" parent="FlyoutButtons"]
layout_mode = 0
offset_left = 4.0
offset_top = 148.0
offset_right = 132.0
offset_bottom = 180.0
text = "Stage"
[node name="Movements" type="Panel" parent="."]
visible = false
layout_mode = 0
@ -992,9 +1131,12 @@ vertical_alignment = 1
[node name="CameraFullScreen" type="TextureRect" parent="."]
visible = false
layout_mode = 0
offset_right = 1280.0
offset_bottom = 720.0
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

View file

@ -9,6 +9,7 @@ func _ready() -> void:
movement_out.connect(animatronic._movement_out)
movement_in.connect(self._movement_in)
movement_out.connect(self._movement_out)
get_tree().get_root().size_changed.connect(_on_size_changed)
func _input(event: InputEvent) -> void:
if event.is_action_pressed("toggle_editor_screen"):
@ -27,6 +28,9 @@ func _movement_in(movement, rate):
func _movement_out(movement, rate):
get_node("Movements/IndicatorLights/" + movement).turn_off();
func _on_size_changed() -> void:
$SubViewport.size = $ColorRect.size
func _on_mouth_button_down() -> void:
movement_in.emit("Mouth", $FlowControls/InFlows/MouthFlow.value)

74
Stages.md Normal file
View file

@ -0,0 +1,74 @@
# Stages
## Currently in game
- Helen House (not a real stage)
## Planned
### Cyberamics
- Portrait Stage
- Shelf Stage (Portrait stage with Balcony mechs)
- Balcony Stage
- C Stage
- Rocker Stage
- Road Stage
- 2-Stage
- 1-Stage
- Turntable 1-Stage
- Cyberamic 3-Stage
### 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

BIN
UI/FastBackwards.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

View file

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

BIN
UI/FastForward.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

34
UI/FastForward.png.import Normal file
View file

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

BIN
UI/Pause.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

34
UI/Pause.png.import Normal file
View file

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

BIN
UI/Play.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

34
UI/Play.png.import Normal file
View file

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

BIN
UI/PlayBackwards.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

View file

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

BIN
UI/Record.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

34
UI/Record.png.import Normal file
View file

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

BIN
UI/SkipBackwards.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

View file

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

BIN
UI/SkipForward.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

34
UI/SkipForward.png.import Normal file
View file

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

BIN
UI/Stop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

34
UI/Stop.png.import Normal file
View file

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