fix controller support and add in game menu

This commit is contained in:
Persephone Bubblegum-Holiday 2025-08-04 16:59:52 -07:00
parent 9bd94304fe
commit 8c9060147f
10 changed files with 295 additions and 94 deletions

View file

@ -254,28 +254,6 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 3, 4)
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_w3m2i")
[node name="Room Lights" type="Node3D" parent="."]
[node name="OmniLight3D" type="OmniLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, 3)
light_color = Color(1, 0.960784, 0.85098, 1)
[node name="OmniLight3D2" type="OmniLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 2.5, 3)
light_color = Color(1, 0.960784, 0.85098, 1)
[node name="OmniLight3D3" type="OmniLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 3)
light_color = Color(1, 0.960784, 0.85098, 1)
[node name="OmniLight3D4" type="OmniLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.86654, 2.5, 0.906235)
light_color = Color(1, 0.960784, 0.85098, 1)
[node name="OmniLight3D5" type="OmniLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 2.5, 1)
light_color = Color(1, 0.960784, 0.85098, 1)
[node name="Angle 1" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.984808, 0.173648, 0, -0.173648, 0.984808, 0, 2.75, 3.5)
current = true
@ -296,3 +274,80 @@ fov = 60.0
[node name="Angle 5" type="Camera3D" parent="."]
transform = Transform3D(0.965017, -0.0450779, 0.258285, 0, 0.985109, 0.171929, -0.262189, -0.165914, 0.950647, 2, 2.75, 5)
fov = 60.0
[node name="Room Lights" type="Node3D" parent="."]
[node name="OmniLight3D" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 2)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D2" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 2)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D3" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 2)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D4" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 1.90623)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D5" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 2)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D6" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 11)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D7" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 11)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D8" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 11)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D9" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 10.9062)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D10" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 11)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D11" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 6.5)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D12" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 6.5)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D13" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 6.5)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D14" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 6.5)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D15" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 6.5)
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=20 format=3 uid="uid://b6rem1te85htp"]
[gd_scene load_steps=18 format=3 uid="uid://b6rem1te85htp"]
[ext_resource type="PackedScene" uid="uid://ddqduheks5ltu" path="res://Models/FreeRoam/Generic/1StageGenericRoom.glb" id="1_8m4fm"]
[ext_resource type="PackedScene" uid="uid://bf4aq55iy3yey" path="res://Models/1Stage/1StageGeneric.glb" id="2_ncqi6"]
@ -14,8 +14,6 @@
[ext_resource type="PackedScene" uid="uid://dm3wfbhs34bkd" path="res://Models/1Stage/1StageGenericOrganLightsOuter.glb" id="12_rs0sv"]
[ext_resource type="PackedScene" uid="uid://mvv5sjk3vbtl" path="res://Scenes/Props/HelicopterLight.tscn" id="13_1oq0m"]
[ext_resource type="PackedScene" uid="uid://cdk6hwb4hi2wc" path="res://Scripts/Player/player.tscn" id="14_ncqi6"]
[ext_resource type="ArrayMesh" uid="uid://cxetf6uisjlwr" path="res://Models/FreeRoam/Generic/Generic1StageStageCollider.obj" id="15_fdybi"]
[ext_resource type="ArrayMesh" uid="uid://cf4oa43hi1w5t" path="res://Models/FreeRoam/Generic/Generic1StageRoomCollider.obj" id="16_0hrbq"]
[sub_resource type="Environment" id="Environment_0tsrs"]
ambient_light_source = 1
@ -39,92 +37,77 @@ environment = SubResource("Environment_0tsrs")
[node name="OmniLight3D" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 2)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D2" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 2)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D3" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 2)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D4" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 1.90623)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D5" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 2)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D6" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 11)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D7" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 11)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D8" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 11)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D9" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 10.9062)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D10" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 11)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D11" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 4, 3.5, 6.5)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D12" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -4, 3.5, 6.5)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D13" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 3.5, 6.5)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D14" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 6.86654, 3.5, 6.5)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="OmniLight3D15" type="SpotLight3D" parent="Room Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 3.5, 6.5)
light_color = Color(0.709804, 0.67451, 0.623529, 1)
light_energy = 2.0
light_color = Color(1, 0.960784, 0.85098, 1)
spot_angle = 90.0
[node name="StageAssets" type="Node3D" parent="."]
@ -362,18 +345,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
[node name="StageCollider" type="StaticBody3D" parent="."]
[node name="MeshInstance3D" type="MeshInstance3D" parent="StageCollider"]
visible = false
mesh = ExtResource("15_fdybi")
[node name="CollisionShape3D" type="CollisionShape3D" parent="StageCollider"]
shape = SubResource("ConcavePolygonShape3D_5nqmm")
[node name="RoomCollider" type="StaticBody3D" parent="."]
[node name="MeshInstance3D" type="MeshInstance3D" parent="RoomCollider"]
visible = false
mesh = ExtResource("16_0hrbq")
[node name="CollisionShape3D" type="CollisionShape3D" parent="RoomCollider"]
shape = SubResource("ConcavePolygonShape3D_cw8uy")

View file

@ -0,0 +1,87 @@
[gd_scene load_steps=2 format=3 uid="uid://cd67bfok34xhy"]
[ext_resource type="Script" uid="uid://pwg37gka2qr4" path="res://Scripts/InGameMenu.gd" id="1_cp535"]
[node name="InGameMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_cp535")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.121569, 0.121569, 0.121569, 0.501961)
[node name="Buttons" type="Panel" parent="."]
layout_mode = 1
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 60.0
offset_top = -380.0
offset_right = 324.0
offset_bottom = -64.0
grow_vertical = 0
[node name="ReturnButton" type="Button" parent="Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 4.0
offset_right = 260.0
offset_bottom = 52.0
text = "Return to Game"
[node name="LoadShowButton" type="Button" parent="Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 56.0
offset_right = 260.0
offset_bottom = 104.0
text = "Load Show"
[node name="CosmeticsButton" type="Button" parent="Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 108.0
offset_right = 260.0
offset_bottom = 156.0
text = "Cosmetics"
[node name="FlowControlsButton" type="Button" parent="Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 160.0
offset_right = 260.0
offset_bottom = 208.0
text = "Flow Controls"
[node name="ExitMenuButton" type="Button" parent="Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 212.0
offset_right = 260.0
offset_bottom = 260.0
text = "Exit to Menu"
[node name="ExitButton" type="Button" parent="Buttons"]
layout_mode = 0
offset_left = 4.0
offset_top = 264.0
offset_right = 260.0
offset_bottom = 312.0
text = "Exit to Desktop"
[connection signal="pressed" from="Buttons/ReturnButton" to="." method="_on_return_button_pressed"]
[connection signal="pressed" from="Buttons/LoadShowButton" to="." method="_on_load_show_button_pressed"]
[connection signal="pressed" from="Buttons/CosmeticsButton" to="." method="_on_cosmetics_button_pressed"]
[connection signal="pressed" from="Buttons/FlowControlsButton" to="." method="_on_flow_controls_button_pressed"]
[connection signal="pressed" from="Buttons/ExitMenuButton" to="." method="_on_exit_menu_button_pressed"]
[connection signal="pressed" from="Buttons/ExitButton" to="." method="_on_exit_button_pressed"]

View file

@ -113,6 +113,8 @@ offset_left = 4.0
offset_top = 4.0
offset_right = 260.0
offset_bottom = 52.0
focus_next = NodePath("../FreeRoamButton")
focus_previous = NodePath("../ExitButton")
text = "Editor"
[node name="FreeRoamButton" type="Button" parent="Buttons"]
@ -121,6 +123,8 @@ offset_left = 4.0
offset_top = 56.0
offset_right = 260.0
offset_bottom = 104.0
focus_next = NodePath("../ModsButton")
focus_previous = NodePath("../EditorButton")
text = "Free Roam
"
@ -130,6 +134,8 @@ offset_left = 4.0
offset_top = 108.0
offset_right = 260.0
offset_bottom = 156.0
focus_next = NodePath("../ControlsButton")
focus_previous = NodePath("../FreeRoamButton")
text = "Manage Mods"
[node name="ControlsButton" type="Button" parent="Buttons"]
@ -138,6 +144,8 @@ offset_left = 4.0
offset_top = 160.0
offset_right = 260.0
offset_bottom = 208.0
focus_next = NodePath("../CreditsButton")
focus_previous = NodePath("../ModsButton")
text = "Controls"
[node name="CreditsButton" type="Button" parent="Buttons"]
@ -146,6 +154,8 @@ offset_left = 4.0
offset_top = 212.0
offset_right = 260.0
offset_bottom = 260.0
focus_next = NodePath("../ExitButton")
focus_previous = NodePath("../ControlsButton")
text = "Credits"
[node name="ExitButton" type="Button" parent="Buttons"]
@ -154,6 +164,8 @@ offset_left = 4.0
offset_top = 264.0
offset_right = 260.0
offset_bottom = 312.0
focus_next = NodePath("../EditorButton")
focus_previous = NodePath("../CreditsButton")
text = "Exit to Desktop"
[node name="FreeRoamChooseScreen" type="Control" parent="."]

27
Scripts/InGameMenu.gd Normal file
View file

@ -0,0 +1,27 @@
extends Control
func _on_exit_button_pressed() -> void:
get_tree().quit()
func _on_exit_menu_button_pressed() -> void:
get_tree().change_scene_to_file("res://Scenes/GUI/MainMenu.tscn")
func _on_flow_controls_button_pressed() -> void:
pass # Replace with function body.
func _on_cosmetics_button_pressed() -> void:
pass # Replace with function body.
func _on_load_show_button_pressed() -> void:
pass # Replace with function body.
func _on_return_button_pressed() -> void:
get_node("../").interact = true
get_node("../").capture_mouse()
visible = false

View file

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

View file

@ -5,6 +5,7 @@ func _ready():
randomize()
$VersionLabel.text = "Pneumatic Plaything v%s" % ProjectSettings.get_setting("application/config/version")
$Backgrounds.get_child(randi() % $Backgrounds.get_child_count()).visible = true
$Buttons/EditorButton.grab_focus()
var moddir = DirAccess.open("user://Mods")
if moddir == null:

View file

@ -11,6 +11,8 @@ var acceleration: float = 100 # m/s^2
var jump_height: float = 1 # m
var camera_sens: float = 3
var interact: bool = true
var jumping: bool = false
var crouched: bool = false
var running: bool = false
@ -31,36 +33,54 @@ func _ready() -> void:
capture_mouse()
func _unhandled_input(event: InputEvent) -> void:
if event is InputEventMouseMotion:
look_dir = event.relative * 0.001
if mouse_captured: _rotate_camera()
if (interact):
if event is InputEventMouseMotion:
look_dir = event.relative * 0.001
if mouse_captured: _rotate_camera()
if event.is_action_pressed(&"fullscreen"):
if (!DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN):
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
else:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
elif event.is_action_pressed(&"freeroam_open_menu"):
if (!interact):
interact = true
capture_mouse()
$InGameMenu.visible = false
else:
interact = false
release_mouse()
$InGameMenu.visible = true
$InGameMenu/Buttons/ReturnButton.grab_focus()
pass
func _physics_process(delta: float) -> void:
if Input.is_action_just_pressed(&"freeroam_jump"): jumping = true
elif Input.is_action_just_pressed(&"freeroam_crouch"):
$CShape.shape.height = 1.0
$Camera.position.y = 1.0
if (running): speed = SPEED_CROUCH_RUN
else: speed = SPEED_CROUCHED
crouched = true
elif Input.is_action_just_released(&"freeroam_crouch"):
$CShape.shape.height = 1.8
$Camera.position.y = 1.7
if (running): speed = SPEED_RUNNING
else: speed = SPEED_BASE
crouched = false
elif Input.is_action_just_pressed(&"freeroam_run"):
if (crouched): speed = SPEED_CROUCH_RUN
else: speed = SPEED_RUNNING
running = true
elif Input.is_action_just_released(&"freeroam_run"):
if (crouched): speed = SPEED_CROUCHED
else: speed = SPEED_BASE
running = false
if (interact):
if Input.is_action_just_pressed(&"freeroam_jump"): jumping = true
elif Input.is_action_just_pressed(&"freeroam_crouch"):
$CShape.shape.height = 1.0
$Camera.position.y = 1.0
if (running): speed = SPEED_CROUCH_RUN
else: speed = SPEED_CROUCHED
crouched = true
elif Input.is_action_just_released(&"freeroam_crouch"):
$CShape.shape.height = 1.8
$Camera.position.y = 1.7
if (running): speed = SPEED_RUNNING
else: speed = SPEED_BASE
crouched = false
elif Input.is_action_just_pressed(&"freeroam_run"):
if (crouched): speed = SPEED_CROUCH_RUN
else: speed = SPEED_RUNNING
running = true
elif Input.is_action_just_released(&"freeroam_run"):
if (crouched): speed = SPEED_CROUCHED
else: speed = SPEED_BASE
running = false
if mouse_captured: _handle_joypad_camera_rotation(delta)
velocity = _walk(delta) + _gravity(delta) + _jump(delta)
move_and_slide()
if mouse_captured: _handle_joypad_camera_rotation(delta)
velocity = _walk(delta) + _gravity(delta) + _jump(delta)
move_and_slide()
func capture_mouse() -> void:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)

View file

@ -1,6 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://cdk6hwb4hi2wc"]
[gd_scene load_steps=4 format=3 uid="uid://cdk6hwb4hi2wc"]
[ext_resource type="Script" uid="uid://b0c02p6ckmpdq" path="res://Scripts/Player/player.gd" id="1_2f8j2"]
[ext_resource type="PackedScene" uid="uid://cd67bfok34xhy" path="res://Scenes/GUI/InGameMenu.tscn" id="2_0s4r2"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3rsb5"]
radius = 0.3
@ -17,3 +18,6 @@ debug_color = Color(0.141176, 0.427451, 0.92549, 0.784314)
[node name="Camera" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7, 0)
fov = 80.0
[node name="InGameMenu" parent="." instance=ExtResource("2_0s4r2")]
visible = false

View file

@ -41,6 +41,7 @@ ui_accept={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
]
}
ui_select={
@ -53,11 +54,15 @@ ui_cancel={
}
ui_focus_next={
"deadzone": 0.5,
"events": []
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":true,"script":null)
, 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":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
ui_focus_prev={
"deadzone": 0.5,
"events": []
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":true,"script":null)
, 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":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
ui_left={
"deadzone": 0.5,
@ -151,6 +156,13 @@ ui_text_dedent={
"deadzone": 0.5,
"events": []
}
ui_text_backspace={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194308,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194308,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
]
}
ui_text_backspace_word={
"deadzone": 0.5,
"events": []
@ -311,6 +323,13 @@ ui_menu={
"deadzone": 0.5,
"events": []
}
ui_text_submit={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
]
}
ui_unicode_start={
"deadzone": 0.5,
"events": []