aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-07-03 18:02:15 +0200
committertpart <tpart120@proton.me>2024-07-03 18:02:41 +0200
commitf92ac36cc36769b5ad5692ec82e5bbb1042ad557 (patch)
tree779bb4d95ed87a9a2b2c82ff95ca0309fdfc6c9a
parentbb7e2bc3967779ab43cb87465e66f5bf6dcb1c56 (diff)
downloadhurrycurry-f92ac36cc36769b5ad5692ec82e5bbb1042ad557.tar
hurrycurry-f92ac36cc36769b5ad5692ec82e5bbb1042ad557.tar.bz2
hurrycurry-f92ac36cc36769b5ad5692ec82e5bbb1042ad557.tar.zst
Add debug info setting to show framerate in-game
-rw-r--r--client/game.gd19
-rw-r--r--client/game.tscn9
-rw-r--r--client/global.gd1
-rw-r--r--client/menu/overlay.tscn1
4 files changed, 24 insertions, 6 deletions
diff --git a/client/game.gd b/client/game.gd
index d3ad3bb5..f1d06441 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -17,12 +17,6 @@
class_name Game
extends Node3D
-@onready var camera: FollowCamera = $FollowCamera
-@onready var mp: Multiplayer = $Multiplayer
-@onready var map: Map = $Map
-@onready var marker: Marker = $Marker
-@onready var environment = $WorldEnvironment
-
var player_id: int = -1
var item_names: Array = []
var item_index_by_name: Dictionary = {}
@@ -34,6 +28,13 @@ var tile_interact: Array = []
var marker_target = Vector3(0,0,0)
var players := {}
+@onready var camera: FollowCamera = $FollowCamera
+@onready var mp: Multiplayer = $Multiplayer
+@onready var map: Map = $Map
+@onready var marker: Marker = $Marker
+@onready var environment = $WorldEnvironment
+@onready var debug_label = $Debug
+
func _ready():
if !Global.on_vulkan():
environment.environment.tonemap_exposure = 0.5
@@ -205,6 +206,12 @@ func _ready():
func _process(delta):
marker.position = Global.interpolate(marker.position, marker_target, delta * 30.)
+
+ if Global.get_setting("debug_info"):
+ debug_label.show()
+ debug_label.text = "%d FPS" % Engine.get_frames_per_second()
+ else:
+ debug_label.hide()
func get_tile_collision(pos: Vector2i) -> bool:
var t = map.get_tile_name(pos)
diff --git a/client/game.tscn b/client/game.tscn
index d71ae4be..61370569 100644
--- a/client/game.tscn
+++ b/client/game.tscn
@@ -48,3 +48,12 @@ visible = false
[node name="Overlay" parent="." instance=ExtResource("7_7xrr6")]
offset_left = -280.0
offset_bottom = 102.0
+
+[node name="Debug" type="RichTextLabel" parent="."]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
+theme_override_constants/outline_size = 5
diff --git a/client/global.gd b/client/global.gd
index 9d0a376b..50a27c89 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -49,6 +49,7 @@ var default_settings := {
"server_data": TextSetting.new(tr("Server data directory (leave empty to auto-detect)"), "", "Enter path"),
"voxel_gi": ToggleSetting.new(tr("Use VoxelGI (Blocks the game on map update but is more accurate)"), false),
"sdfgi": ToggleSetting.new(tr("Use SDFGI (Doesn't block the game but produces more artifacts)"), false),
+ "debug_info": ToggleSetting.new(tr("Display debug info (Framerate, etc.)"), false),
"grass_amount": RangeSetting.new(tr("3D grass amount per grass tile"), 16, 0, 32),
"setup_complete": ToggleSetting.new(tr("Initial setup complete. (Uncheck and restart to reenter)"), false),
"latch_boost": ToggleSetting.new(tr("Always extend boost to maximum duration"), true)
diff --git a/client/menu/overlay.tscn b/client/menu/overlay.tscn
index 9745de5d..fc9181e9 100644
--- a/client/menu/overlay.tscn
+++ b/client/menu/overlay.tscn
@@ -21,6 +21,7 @@ color_ramp = SubResource("Gradient_pkrjd")
noise = SubResource("FastNoiseLite_k7p6k")
[node name="Overlay" type="PanelContainer"]
+visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0