diff --git a/Scenes/GUI/Controls/MovementRow.tscn b/Scenes/GUI/Controls/MovementRow.tscn
index 0a6fa47..4bcad06 100644
--- a/Scenes/GUI/Controls/MovementRow.tscn
+++ b/Scenes/GUI/Controls/MovementRow.tscn
@@ -1,7 +1,8 @@
-[gd_scene load_steps=4 format=3 uid="uid://dtkqaw5533rxy"]
+[gd_scene load_steps=5 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"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_rm5t0"]
bg_color = Color(0, 1, 0, 1)
@@ -36,6 +37,14 @@ tooltip_text = "Click to bind a key to this movement"
text = "0 - Name (Unbound)"
alignment = 0
+[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
+icon = ExtResource("2_e7anl")
+
[node name="MovementsBG" type="Panel" parent="."]
layout_mode = 1
anchors_preset = -1
@@ -49,6 +58,7 @@ 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
@@ -64,3 +74,4 @@ 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
index c1e0287..3248985 100644
--- a/Scenes/GUI/EditorScreen.tscn
+++ b/Scenes/GUI/EditorScreen.tscn
@@ -121,7 +121,7 @@ offset_right = -4.0
offset_bottom = 16.0
grow_horizontal = 0
grow_vertical = 2
-text = "Pneumatic Plaything v0.2"
+text = "Pneumatic Plaything v0.3"
horizontal_alignment = 1
vertical_alignment = 1
@@ -137,7 +137,6 @@ popup/item_0/text = "Helen House (Custom)"
popup/item_0/id = 0
[node name="LoadShowtapeButton" type="Button" parent="MenuBar"]
-visible = false
layout_mode = 0
offset_left = 264.0
offset_top = 4.0
@@ -146,7 +145,6 @@ offset_bottom = 36.0
text = "Load Showtape"
[node name="NewShowtapeButton" type="Button" parent="MenuBar"]
-visible = false
layout_mode = 0
offset_left = 396.0
offset_top = 4.0
@@ -155,7 +153,6 @@ offset_bottom = 36.0
text = "New Showtape"
[node name="SaveShowtapeButton" type="Button" parent="MenuBar"]
-visible = false
layout_mode = 0
offset_left = 528.0
offset_top = 4.0
@@ -165,17 +162,17 @@ text = "Save Showtape"
[node name="ControlsButton" type="Button" parent="MenuBar"]
layout_mode = 0
-offset_left = 264.0
+offset_left = 660.0
offset_top = 4.0
-offset_right = 392.0
+offset_right = 788.0
offset_bottom = 36.0
text = "Controls"
[node name="CreditsButton" type="Button" parent="MenuBar"]
layout_mode = 0
-offset_left = 396.0
+offset_left = 792.0
offset_top = 4.0
-offset_right = 524.0
+offset_right = 920.0
offset_bottom = 36.0
text = "Credits"
@@ -229,6 +226,7 @@ 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"]
@@ -238,6 +236,7 @@ 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"]
@@ -247,6 +246,7 @@ 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"]
@@ -256,6 +256,7 @@ 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"]
@@ -265,6 +266,7 @@ 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"]
@@ -274,6 +276,7 @@ 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"]
@@ -283,6 +286,7 @@ 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"]
@@ -292,6 +296,7 @@ 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"]
@@ -308,6 +313,7 @@ offset_bottom = 20.0
grow_horizontal = 0
grow_vertical = 2
tooltip_text = "Start recording"
+disabled = true
icon = ExtResource("10_wy7jo")
[node name="TimelinePanel" type="Panel" parent="SequencerPanel"]
diff --git a/Scripts/EditorScreen.gd b/Scripts/EditorScreen.gd
index 5fc6eb6..790410f 100644
--- a/Scripts/EditorScreen.gd
+++ b/Scripts/EditorScreen.gd
@@ -4,6 +4,7 @@ var playing : bool = false
var recording : bool = false
var index : int = 0
var playback_rate : int = 1
+var transport_enabled : bool = false
signal step(amount: int)
signal start_recording()
@@ -18,28 +19,42 @@ func update_time_label() -> void:
$SequencerPanel/TransportControls/TimeLabel.text = "%d:%02d:%02d:%02d" % [hours, minutes, seconds, frames]
#$SequencerPanel/TransportControls/TimeLabel.text = str(index)
+func set_transport_enabled(enabled: bool):
+ $SequencerPanel/TransportControls/Centered/StepBackwardsButton.disabled = !enabled
+ $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)
+ set_transport_enabled(true)
func _input(event: InputEvent) -> void:
if event.is_action_pressed("toggle_editor_screen"):
$CameraPreview.visible = !$CameraPreview.visible;
$CameraFullScreen.visible = !$CameraFullScreen.visible;
- elif 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()
+ 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 || recording):
diff --git a/Scripts/MovementRow.gd b/Scripts/MovementRow.gd
index 1f42439..129e18b 100644
--- a/Scripts/MovementRow.gd
+++ b/Scripts/MovementRow.gd
@@ -154,3 +154,9 @@ func _input(event: InputEvent) -> void:
binding = false
update_text()
return
+
+
+func _on_clear_button_pressed() -> void:
+ movements = []
+ for indicator in $MovementsBG/InvisibleMask/MovementsHandle.get_children():
+ indicator.queue_free()
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/icon.svg b/UI/icon.svg
index e472c8b..684d422 100644
--- a/UI/icon.svg
+++ b/UI/icon.svg
@@ -28,7 +28,7 @@
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.0555388"
- inkscape:cx="152.05504"
+ inkscape:cx="152.05505"
inkscape:cy="293.21518"
inkscape:window-width="1920"
inkscape:window-height="1008"
@@ -214,15 +214,7 @@
x="10"
y="10"
rx="17"
- ry="17" />