the recording revolution is upon us

This commit is contained in:
Persephone Bubblegum-Holidy 2025-05-24 17:53:35 -07:00
parent 6148a3ec45
commit e1215c17b6
11 changed files with 289 additions and 64 deletions

View file

@ -0,0 +1,21 @@
[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
offset_right = 2.0
offset_bottom = 32.0
script = ExtResource("1_ttcva")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -2.0
grow_horizontal = 0
grow_vertical = 2
color = Color(0.0941176, 0.0941176, 0.0941176, 1)

View file

@ -0,0 +1,21 @@
[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
offset_right = 2.0
offset_bottom = 32.0
script = ExtResource("1_2om8h")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -2.0
grow_horizontal = 0
grow_vertical = 2
color = Color(0, 1, 0, 1)

View file

@ -32,6 +32,7 @@ offset_left = 4.0
offset_top = 4.0 offset_top = 4.0
offset_right = 260.0 offset_right = 260.0
offset_bottom = 36.0 offset_bottom = 36.0
tooltip_text = "Click to bind a key to this movement"
text = "0 - Name (Unbound)" text = "0 - Name (Unbound)"
alignment = 0 alignment = 0
@ -45,4 +46,21 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
theme_override_styles/panel = ExtResource("1_d1xev") theme_override_styles/panel = ExtResource("1_d1xev")
[node name="InvisibleMask" type="Control" parent="MovementsBG"]
clip_contents = true
layout_mode = 1
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="Button" to="." method="_on_button_pressed"]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=26 format=3 uid="uid://oiehbor0dlqx"] [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="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="Theme" uid="uid://dbgs4id7y5d1c" path="res://UI/Themes/Dark.tres" id="1_v0ton"]
@ -8,6 +8,7 @@
[ext_resource type="Texture2D" uid="uid://dts4eh6hyt8p3" path="res://UI/SkipBackwards.png" id="3_r4ytj"] [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="Texture2D" uid="uid://bwhgy4u37jmo1" path="res://UI/Pause.png" id="4_ba3jn"]
[ext_resource type="Texture2D" uid="uid://dhx2v2fd0egxd" path="res://UI/FastBackwards.png" id="4_wy7jo"] [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://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://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="Texture2D" uid="uid://ckg2ihy105ttj" path="res://UI/Record.png" id="10_wy7jo"]
@ -195,13 +196,13 @@ anchor_right = 1.0
offset_bottom = 48.0 offset_bottom = 48.0
grow_horizontal = 2 grow_horizontal = 2
[node name="Label" type="Label" parent="SequencerPanel/TransportControls"] [node name="TimeLabel" type="Label" parent="SequencerPanel/TransportControls"]
layout_mode = 0 layout_mode = 0
offset_left = 8.0 offset_left = 8.0
offset_top = 8.0 offset_top = 8.0
offset_right = 196.0 offset_right = 196.0
offset_bottom = 40.0 offset_bottom = 40.0
text = "00:00:00:00 / 00:00:00:00" text = "0:00:00:00"
vertical_alignment = 1 vertical_alignment = 1
[node name="Centered" type="Control" parent="SequencerPanel/TransportControls"] [node name="Centered" type="Control" parent="SequencerPanel/TransportControls"]
@ -211,19 +212,20 @@ anchor_left = 0.5
anchor_top = 0.5 anchor_top = 0.5
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = -156.0 offset_left = -178.0
offset_top = -24.0 offset_top = -24.0
offset_right = 156.0 offset_right = 178.0
offset_bottom = 24.0 offset_bottom = 24.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="SkipBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] [node name="StepBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"]
layout_mode = 0 layout_mode = 0
offset_left = 4.0 offset_left = 4.0
offset_top = 4.0 offset_top = 4.0
offset_right = 44.0 offset_right = 44.0
offset_bottom = 44.0 offset_bottom = 44.0
tooltip_text = "Step backward 1 frame"
icon = ExtResource("3_r4ytj") icon = ExtResource("3_r4ytj")
[node name="FastBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] [node name="FastBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"]
@ -232,6 +234,7 @@ offset_left = 48.0
offset_top = 4.0 offset_top = 4.0
offset_right = 88.0 offset_right = 88.0
offset_bottom = 44.0 offset_bottom = 44.0
tooltip_text = "Play backwards at 2x speed"
icon = ExtResource("4_wy7jo") icon = ExtResource("4_wy7jo")
[node name="PlayBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] [node name="PlayBackwardsButton" type="Button" parent="SequencerPanel/TransportControls/Centered"]
@ -240,6 +243,7 @@ offset_left = 92.0
offset_top = 4.0 offset_top = 4.0
offset_right = 132.0 offset_right = 132.0
offset_bottom = 44.0 offset_bottom = 44.0
tooltip_text = "Play backwards"
icon = ExtResource("3_mr8sb") icon = ExtResource("3_mr8sb")
[node name="PauseButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] [node name="PauseButton" type="Button" parent="SequencerPanel/TransportControls/Centered"]
@ -248,30 +252,43 @@ offset_left = 136.0
offset_top = 4.0 offset_top = 4.0
offset_right = 176.0 offset_right = 176.0
offset_bottom = 44.0 offset_bottom = 44.0
tooltip_text = "Pause"
icon = ExtResource("4_ba3jn") icon = ExtResource("4_ba3jn")
[node name="PlayButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] [node name="StopButton" type="Button" parent="SequencerPanel/TransportControls/Centered"]
layout_mode = 0 layout_mode = 0
offset_left = 180.0 offset_left = 180.0
offset_top = 4.0 offset_top = 4.0
offset_right = 220.0 offset_right = 220.0
offset_bottom = 44.0 offset_bottom = 44.0
icon = ExtResource("3_g6u4d") tooltip_text = "Stop playback and return to frame 0"
icon = ExtResource("8_20noo")
[node name="FastForwardButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] [node name="PlayButton" type="Button" parent="SequencerPanel/TransportControls/Centered"]
layout_mode = 0 layout_mode = 0
offset_left = 224.0 offset_left = 224.0
offset_top = 4.0 offset_top = 4.0
offset_right = 264.0 offset_right = 264.0
offset_bottom = 44.0 offset_bottom = 44.0
icon = ExtResource("8_v0ton") tooltip_text = "Play"
icon = ExtResource("3_g6u4d")
[node name="SkipForwardButton" type="Button" parent="SequencerPanel/TransportControls/Centered"] [node name="FastForwardButton" type="Button" parent="SequencerPanel/TransportControls/Centered"]
layout_mode = 0 layout_mode = 0
offset_left = 268.0 offset_left = 268.0
offset_top = 4.0 offset_top = 4.0
offset_right = 308.0 offset_right = 308.0
offset_bottom = 44.0 offset_bottom = 44.0
tooltip_text = "Play at 2x speed"
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"
icon = ExtResource("9_20noo") icon = ExtResource("9_20noo")
[node name="RecordButton" type="Button" parent="SequencerPanel/TransportControls"] [node name="RecordButton" type="Button" parent="SequencerPanel/TransportControls"]
@ -287,6 +304,7 @@ offset_right = -4.0
offset_bottom = 20.0 offset_bottom = 20.0
grow_horizontal = 0 grow_horizontal = 0
grow_vertical = 2 grow_vertical = 2
tooltip_text = "Start recording"
icon = ExtResource("10_wy7jo") icon = ExtResource("10_wy7jo")
[node name="TimelinePanel" type="Panel" parent="SequencerPanel"] [node name="TimelinePanel" type="Panel" parent="SequencerPanel"]
@ -336,6 +354,14 @@ grow_vertical = 2
[node name="HelenHouseMovementRows" parent="SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle" instance=ExtResource("12_20noo")] [node name="HelenHouseMovementRows" parent="SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle" instance=ExtResource("12_20noo")]
layout_mode = 1 layout_mode = 1
[node name="VSeparator" type="VSeparator" parent="SequencerPanel/TimelinePanel"]
layout_mode = 1
anchors_preset = -1
anchor_bottom = 1.0
offset_left = 398.0
offset_right = 4.0
grow_vertical = 2
[node name="HelenHouseFlyout" parent="." instance=ExtResource("13_wy7jo")] [node name="HelenHouseFlyout" parent="." instance=ExtResource("13_wy7jo")]
layout_mode = 1 layout_mode = 1
anchors_preset = -1 anchors_preset = -1
@ -395,8 +421,9 @@ Play/Pause: Space
Play Reverse: Shift + Space Play Reverse: Shift + Space
Fast Forward: Shift + Right Arrow Fast Forward: Shift + Right Arrow
Fast Reverse: Shift + Left Fast Reverse: Shift + Left
Skip Forward: Right Arrow Step Forward: Right Arrow
Skip Backward: Left Arrow Step Backward: Left Arrow
Go to start of showtape: Home
Change Camera Angle: Tab" Change Camera Angle: Tab"
horizontal_alignment = 1 horizontal_alignment = 1
vertical_alignment = 1 vertical_alignment = 1
@ -472,6 +499,15 @@ expand_mode = 2
[connection signal="pressed" from="MenuBar/ControlsButton" to="." method="_on_controls_button_pressed"] [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="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="pressed" from="SequencerPanel/TransportControls/RecordButton" to="." method="_on_record_button_pressed"]
[connection signal="value_changed" from="SequencerPanel/TimelinePanel/VScrollBar" to="." method="_on_v_scroll_bar_value_changed"] [connection signal="value_changed" from="SequencerPanel/TimelinePanel/VScrollBar" to="." method="_on_v_scroll_bar_value_changed"]
[connection signal="pressed" from="ControlsScreen/InputEater" to="." method="_on_controls_input_eater_pressed"] [connection signal="pressed" from="ControlsScreen/InputEater" to="." method="_on_controls_input_eater_pressed"]
[connection signal="pressed" from="CreditsScreen/InputEater" to="." method="_on_credits_input_eater_pressed"] [connection signal="pressed" from="CreditsScreen/InputEater" to="." method="_on_credits_input_eater_pressed"]

View file

@ -1,5 +1,24 @@
extends Control extends Control
var playing : bool = false
var recording : bool = false
var index : int = 0
var playback_rate : int = 1
signal step_forward()
signal step_backward()
signal start_recording()
signal end_recording()
signal return_to_zero()
func update_time_label() -> void:
var frames = index % 60
var seconds = floori(index/60) % 60
var minutes = floori(index/360) % 60
var hours = floori(index/7200)
$SequencerPanel/TransportControls/TimeLabel.text = "%d:%02d:%02d:%02d" % [hours, minutes, seconds, frames]
#$SequencerPanel/TransportControls/TimeLabel.text = str(index)
func _ready() -> void: func _ready() -> void:
get_tree().get_root().size_changed.connect(_on_size_changed) get_tree().get_root().size_changed.connect(_on_size_changed)
@ -8,6 +27,12 @@ func _input(event: InputEvent) -> void:
$CameraPreview.visible = !$CameraPreview.visible; $CameraPreview.visible = !$CameraPreview.visible;
$CameraFullScreen.visible = !$CameraFullScreen.visible; $CameraFullScreen.visible = !$CameraFullScreen.visible;
func _physics_process(_delta: float) -> void:
if (playing || recording):
step_forward.emit()
index += 1
update_time_label()
func _on_size_changed() -> void: func _on_size_changed() -> void:
$SubViewport.size = $ColorRect.size $SubViewport.size = $ColorRect.size
@ -25,3 +50,63 @@ func _on_credits_input_eater_pressed() -> void:
func _on_v_scroll_bar_value_changed(value: float) -> void: func _on_v_scroll_bar_value_changed(value: float) -> void:
$SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle.position.y = value * -44 $SequencerPanel/TimelinePanel/InvisibleMask/RowsHandle.position.y = value * -44
func _on_play_button_pressed() -> void:
playback_rate = 1
playing = true
recording = false
end_recording.emit()
func _on_pause_button_pressed() -> void:
playing = false
recording = false
end_recording.emit()
func _on_play_backwards_button_pressed() -> void:
playback_rate = -1
playing = true
recording = false
end_recording.emit()
func _on_fast_backwards_button_pressed() -> void:
playback_rate = -2
playing = true
recording = false
end_recording.emit()
func _on_step_backwards_button_pressed() -> void:
playing = false
recording = false
end_recording.emit()
step_backward.emit()
if (index != 0): index -= 1
update_time_label()
func _on_fast_forward_button_pressed() -> void:
playback_rate = 2
playing = true
recording = false
end_recording.emit()
func _on_step_forward_button_pressed() -> void:
playing = false
recording = false
end_recording.emit()
step_forward.emit()
index += 1
update_time_label()
func _on_record_button_pressed() -> void:
playback_rate = 1
playing = false
recording = true
start_recording.emit()
func _on_stop_button_pressed() -> void:
playing = false
recording = false
index = 0
end_recording.emit()
return_to_zero.emit()
update_time_label()

View file

@ -0,0 +1,6 @@
extends Control
@export var x_offset : int = 0
func _ready() -> void:
self.size.x += x_offset

View file

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

View file

@ -1,21 +1,84 @@
extends Panel extends Panel
@export var movement_bit : int = 0; @export var movement_bit : int = 0
@export var movement_name : String = "Name" @export var movement_name : String = "Name"
@export var flow_path : String = "../../../../../../HelenHouseFlyout/FlowControls/" @export var flow_path : String = "../../../../../../HelenHouseFlyout/FlowControls/"
@export var recording : bool = false @export var animatronic_path : String = "../../../../../../SubViewport/HelenHouse/3stHelen"
@export var current_index : int = 0; @export var movements : Array[bool]
var in_flow : float = 1.0 var in_flow : float = 1.0
var out_flow : float = 1.0 var out_flow : float = 1.0
var key_binding : InputEventKey = InputEventKey.new() var key_binding : InputEventKey = InputEventKey.new()
var current_index : int = 0
var binding : bool = false var binding : bool = false
var held_on_previous_frame : bool = false var held_on_previous_frame : bool = false
var playback_held_on_previous_frame : bool = false
var etching: bool = false
var recording : bool = false
var playing : bool = true
signal movement_in(movement, rate) signal movement_in(movement, rate)
signal movement_out(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)
var indicator = load("res://Scenes/GUI/Controls/MovementFrameIndicatorOn.tscn")
var instance = indicator.instantiate()
instance.x_offset = current_index * 2
$MovementsBG/InvisibleMask/MovementsHandle.add_child(instance)
func unset_at_current() -> void:
if (current_index > self.movements.size()-1): self.movements.append(false)
else: self.movements.set(current_index, false)
var indicator = load("res://Scenes/GUI/Controls/MovementFrameIndicatorOff.tscn")
var instance = indicator.instantiate()
instance.x_offset = current_index * 2
$MovementsBG/InvisibleMask/MovementsHandle.add_child(instance)
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 _step_forward():
if (recording && etching): set_at_current()
elif (recording && !etching): 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 += 1
$MovementsBG/InvisibleMask/MovementsHandle.position.x -= 2
func _step_backward():
if (current_index == 0): return
current_index -= 1
$MovementsBG/InvisibleMask/MovementsHandle.position.x += 2
func _return_to_zero():
current_index = 0
$MovementsBG/InvisibleMask/MovementsHandle.position.x = 120
func _start_recording():
recording = true
func _end_recording():
recording = false
func _start_playback():
playing = true
func _end_playback():
playing = false
func update_text() -> void: func update_text() -> void:
$Button.text = "%d - %s (%s)" % [movement_bit, movement_name, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"] $Button.text = "%d - %s (%s)" % [movement_bit, movement_name, key_binding.as_text() if key_binding.keycode != 0 else "Unbound"]
@ -26,7 +89,7 @@ func _update_out_flow(new_value: float) -> void:
out_flow = new_value out_flow = new_value
func _ready() -> void: func _ready() -> void:
var animatronic = get_node("../../../../../../SubViewport/HelenHouse/3stHelen") var animatronic = get_node(animatronic_path)
if (flow_path != "None"): if (flow_path != "None"):
var if_node = get_node(flow_path + "InFlows/" + movement_name.replace(" ", "") + "Flow") var if_node = get_node(flow_path + "InFlows/" + movement_name.replace(" ", "") + "Flow")
var of_node = get_node(flow_path + "OutFlows/" + movement_name.replace(" ", "") + "Flow") var of_node = get_node(flow_path + "OutFlows/" + movement_name.replace(" ", "") + "Flow")
@ -38,9 +101,15 @@ func _ready() -> void:
movement_out.connect(animatronic._movement_out) movement_out.connect(animatronic._movement_out)
movement_in.connect(self._movement_in) movement_in.connect(self._movement_in)
movement_out.connect(self._movement_out) movement_out.connect(self._movement_out)
var editor = get_node("../../../../../../")
editor.step_forward.connect(_step_forward)
editor.step_backward.connect(_step_backward)
editor.start_recording.connect(_start_recording)
editor.end_recording.connect(_end_recording)
editor.return_to_zero.connect(_return_to_zero)
update_text() update_text()
func _process(delta: float) -> void: func _process(_delta: float) -> void:
if (binding): return if (binding): return
if (Input.is_key_pressed(key_binding.keycode)): if (Input.is_key_pressed(key_binding.keycode)):
if (!held_on_previous_frame): if (!held_on_previous_frame):
@ -51,14 +120,15 @@ func _process(delta: float) -> void:
movement_out.emit(movement_name, out_flow) movement_out.emit(movement_name, out_flow)
held_on_previous_frame = false; held_on_previous_frame = false;
func _movement_in(movement, rate): func _movement_in(_movement, _rate):
$ActiveBG.visible = true $ActiveBG.visible = true
if (recording): etching = true
func _movement_out(movement, rate): func _movement_out(_movement, _rate):
$ActiveBG.visible = false $ActiveBG.visible = false
etching = false
func _on_button_pressed() -> void: func _on_button_pressed() -> void:
if (recording): return
if (binding): if (binding):
update_text() update_text()
binding = false binding = false
@ -67,7 +137,7 @@ func _on_button_pressed() -> void:
$Button.text = "Press a key to bind." $Button.text = "Press a key to bind."
binding = true binding = true
else: else:
key_binding.keycode = 0 key_binding.keycode = KEY_NONE
update_text() update_text()
func _input(event: InputEvent) -> void: func _input(event: InputEvent) -> void:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 B

After

Width:  |  Height:  |  Size: 352 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 331 B

Before After
Before After

View file

@ -11,7 +11,7 @@ config_version=5
[application] [application]
config/name="Pneumatic Plaything" config/name="Pneumatic Plaything"
config/version="v0.1" config/version="v0.2"
run/main_scene="uid://oiehbor0dlqx" run/main_scene="uid://oiehbor0dlqx"
config/features=PackedStringArray("4.4", "GL Compatibility") config/features=PackedStringArray("4.4", "GL Compatibility")
boot_splash/show_image=false boot_splash/show_image=false
@ -54,61 +54,28 @@ sequencer_fast_reverse={
, 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) , 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_skip_forward={ sequencer_step_forward={
"deadzone": 0.2, "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) "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) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null)
] ]
} }
sequencer_skip_backward={ sequencer_step_backward={
"deadzone": 0.2, "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) "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) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null)
] ]
} }
camera_angle_1={ cycle_camera_angle={
"deadzone": 0.2, "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":49,"key_label":0,"unicode":49,"location":0,"echo":false,"script":null) "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)
] ]
} }
camera_angle_2={ sequencer_home={
"deadzone": 0.2, "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":50,"key_label":0,"unicode":50,"location":0,"echo":false,"script":null) "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)
}
camera_angle_3={
"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":51,"key_label":0,"unicode":51,"location":0,"echo":false,"script":null)
]
}
camera_angle_4={
"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":52,"key_label":0,"unicode":52,"location":0,"echo":false,"script":null)
]
}
camera_angle_5={
"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":53,"key_label":0,"unicode":53,"location":0,"echo":false,"script":null)
]
}
camera_angle_6={
"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":54,"key_label":0,"unicode":54,"location":0,"echo":false,"script":null)
]
}
camera_angle_7={
"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":55,"key_label":0,"unicode":55,"location":0,"echo":false,"script":null)
]
}
camera_angle_8={
"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":56,"key_label":0,"unicode":56,"location":0,"echo":false,"script":null)
]
}
camera_angle_9={
"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":57,"key_label":0,"unicode":57,"location":0,"echo":false,"script":null)
] ]
} }