diff --git a/Scenes/GUI/EditorScreen.tscn b/Scenes/GUI/EditorScreen.tscn index a0e236a..c1e0287 100644 --- a/Scenes/GUI/EditorScreen.tscn +++ b/Scenes/GUI/EditorScreen.tscn @@ -137,6 +137,7 @@ 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 @@ -145,6 +146,7 @@ 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 @@ -153,6 +155,7 @@ 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 @@ -162,17 +165,17 @@ text = "Save Showtape" [node name="ControlsButton" type="Button" parent="MenuBar"] layout_mode = 0 -offset_left = 660.0 +offset_left = 264.0 offset_top = 4.0 -offset_right = 788.0 +offset_right = 392.0 offset_bottom = 36.0 text = "Controls" [node name="CreditsButton" type="Button" parent="MenuBar"] layout_mode = 0 -offset_left = 792.0 +offset_left = 396.0 offset_top = 4.0 -offset_right = 920.0 +offset_right = 524.0 offset_bottom = 36.0 text = "Credits" diff --git a/Scenes/Stages/Helen House/HelenHouse.tscn b/Scenes/Stages/Helen House/HelenHouse.tscn index 0e46785..6dd600f 100644 --- a/Scenes/Stages/Helen House/HelenHouse.tscn +++ b/Scenes/Stages/Helen House/HelenHouse.tscn @@ -20,8 +20,12 @@ transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0) [node name="Stage" parent="." instance=ExtResource("5_afett")] transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0) -[node name="Camera3D" type="Camera3D" parent="."] -transform = Transform3D(-1, 1.31601e-08, -1.50421e-07, 0, 0.996195, 0.0871557, 1.50996e-07, 0.0871557, -0.996195, 0, 1.5, -3) +[node name="Camera 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="Camera 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="."] diff --git a/Scenes/Stages/Helen House/HelenHouseFlyout.tscn b/Scenes/Stages/Helen House/HelenHouseFlyout.tscn index 7a9c771..c227897 100644 --- a/Scenes/Stages/Helen House/HelenHouseFlyout.tscn +++ b/Scenes/Stages/Helen House/HelenHouseFlyout.tscn @@ -941,8 +941,66 @@ text = "Body Lean" horizontal_alignment = 1 vertical_alignment = 1 +[node name="Camera" type="Panel" parent="."] +visible = false +layout_mode = 0 +offset_left = 140.0 +offset_right = 276.0 +offset_bottom = 76.0 + +[node name="Angle1Button" type="Button" parent="Camera"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 132.0 +offset_bottom = 36.0 +text = "Angle 1" + +[node name="Angle2Button" type="Button" parent="Camera"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 40.0 +offset_right = 132.0 +offset_bottom = 72.0 +text = "Angle 2" + +[node name="Cosmetics" type="Panel" parent="."] +visible = false +layout_mode = 0 +offset_left = 140.0 +offset_right = 396.0 +offset_bottom = 64.0 + +[node name="Label" type="Label" parent="Cosmetics"] +layout_mode = 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 + +[node name="Stage" type="Panel" parent="."] +visible = false +layout_mode = 0 +offset_left = 140.0 +offset_right = 396.0 +offset_bottom = 64.0 + +[node name="Label" type="Label" parent="Stage"] +layout_mode = 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 + [connection signal="toggled" from="FlyoutButtons/MovementsFlyoutButton" to="." method="_on_movements_flyout_button_toggled"] [connection signal="toggled" from="FlyoutButtons/FlowsFlyoutButton" to="." method="_on_flows_flyout_button_toggled"] +[connection signal="toggled" from="FlyoutButtons/CameraFlyoutButton" to="." method="_on_camera_flyout_button_toggled"] +[connection signal="toggled" from="FlyoutButtons/CosmeticsFlyoutButton" to="." method="_on_cosmetics_flyout_button_toggled"] +[connection signal="toggled" from="FlyoutButtons/StageFlyoutButton" to="." method="_on_stage_flyout_button_toggled"] [connection signal="button_down" from="Movements/Buttons/Mouth" to="." method="_on_mouth_button_down"] [connection signal="button_up" from="Movements/Buttons/Mouth" to="." method="_on_mouth_button_up"] [connection signal="button_down" from="Movements/Buttons/LeftEar" to="." method="_on_left_ear_button_down"] @@ -981,3 +1039,5 @@ vertical_alignment = 1 [connection signal="button_up" from="Movements/Buttons/BodyRight" to="." method="_on_body_right_button_up"] [connection signal="button_down" from="Movements/Buttons/BodyLean" to="." method="_on_body_lean_button_down"] [connection signal="button_up" from="Movements/Buttons/BodyLean" to="." method="_on_body_lean_button_up"] +[connection signal="pressed" from="Camera/Angle1Button" to="." method="_on_angle_1_button_pressed"] +[connection signal="pressed" from="Camera/Angle2Button" to="." method="_on_angle_2_button_pressed"] diff --git a/Scripts/EditorScreen.gd b/Scripts/EditorScreen.gd index 467477e..5fc6eb6 100644 --- a/Scripts/EditorScreen.gd +++ b/Scripts/EditorScreen.gd @@ -25,6 +25,21 @@ 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() func _physics_process(_delta: float) -> void: if (playing || recording): @@ -79,8 +94,9 @@ func _on_step_backwards_button_pressed() -> void: playing = false recording = false end_recording.emit() - step.emit(-1) - if (index != 0): index -= 1 + if (index != 0): + step.emit(-1) + index -= 1 update_time_label() func _on_fast_forward_button_pressed() -> void: diff --git a/Scripts/HelenHouseFlyout.gd b/Scripts/HelenHouseFlyout.gd index ffe9b04..eab8222 100644 --- a/Scripts/HelenHouseFlyout.gd +++ b/Scripts/HelenHouseFlyout.gd @@ -3,6 +3,8 @@ extends Control signal movement_in(movement, rate) signal movement_out(movement, rate) +var cam_index : int = 0 + func _ready() -> void: var animatronic = get_node("../SubViewport/HelenHouse/3stHelen") movement_in.connect(animatronic._movement_in) @@ -10,6 +12,11 @@ func _ready() -> void: movement_in.connect(self._movement_in) movement_out.connect(self._movement_out) +func _input(event: InputEvent) -> void: + if (event.is_action_pressed("cycle_camera_angle")): + cam_index += 1 + get_node("../SubViewport/HelenHouse/Camera " + str((cam_index % 2)+1)).current = true + func _movement_in(movement, _rate): get_node("Movements/IndicatorLights/" + movement).turn_on(); @@ -22,6 +29,21 @@ func _on_movements_flyout_button_toggled(toggled_on: bool) -> void: func _on_flows_flyout_button_toggled(toggled_on: bool) -> void: $FlowControls.visible = toggled_on +func _on_camera_flyout_button_toggled(toggled_on: bool) -> void: + $Camera.visible = toggled_on + +func _on_cosmetics_flyout_button_toggled(toggled_on: bool) -> void: + $Cosmetics.visible = toggled_on + +func _on_stage_flyout_button_toggled(toggled_on: bool) -> void: + $Stage.visible = toggled_on + +func _on_angle_1_button_pressed() -> void: + get_node("../SubViewport/HelenHouse/Camera 1").current = true + +func _on_angle_2_button_pressed() -> void: + get_node("../SubViewport/HelenHouse/Camera 2").current = true + func _on_mouth_button_down() -> void: movement_in.emit("Mouth", $FlowControls/InFlows/MouthFlow.value)