diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-11-28 19:00:05 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-11-28 19:05:06 +0200 |
| commit | e07895be01b6bc7f813bbc392cc7852ffaf5e07b (patch) | |
| tree | 0d925585d978e99e70549aa5e0eae49cac9b7947 | |
| parent | 6173a0c4e1b41628532a37f0638339b0724b445e (diff) | |
Add debug info display
| -rw-r--r-- | debug_info.gd | 10 | ||||
| -rw-r--r-- | debug_info.gd.uid | 1 | ||||
| -rw-r--r-- | player.gd | 7 | ||||
| -rw-r--r-- | ps_curve.gd | 3 | ||||
| -rw-r--r-- | ps_forced.gd | 3 | ||||
| -rw-r--r-- | ps_hanging.gd | 5 | ||||
| -rw-r--r-- | ps_init.gd | 11 | ||||
| -rw-r--r-- | ps_init.gd.uid | 1 | ||||
| -rw-r--r-- | ps_normal.gd | 3 | ||||
| -rw-r--r-- | top.gd | 3 | ||||
| -rw-r--r-- | top.tscn | 13 |
11 files changed, 57 insertions, 3 deletions
diff --git a/debug_info.gd b/debug_info.gd new file mode 100644 index 0000000..6a8c372 --- /dev/null +++ b/debug_info.gd @@ -0,0 +1,10 @@ +class_name DebugInfo +extends CanvasLayer + +var player_state: PlayerState + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + var text = "" + if player_state: text += "%s\n" % player_state.to_string() + $Label.text = text diff --git a/debug_info.gd.uid b/debug_info.gd.uid new file mode 100644 index 0000000..9191174 --- /dev/null +++ b/debug_info.gd.uid @@ -0,0 +1 @@ +uid://bwdk675n1q0dh @@ -1,19 +1,21 @@ class_name Player extends CharacterBody2D +var debug_info: DebugInfo + @export var speed: float @export var jump_strength: float @export var coyote_max_ms: float @export var jump_held_coef: float @export var hook_distance_max: float -var state: PlayerState +var state: PlayerState = PlayerStateInit.new() var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") # Called when the node enters the scene tree for the first time. func _ready() -> void: - pass + debug_info = get_tree().root.get_node_or_null("Top/DebugInfo") func get_facing() -> int: if $AnimatedSprite2D.flip_h: @@ -24,6 +26,7 @@ func get_facing() -> int: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: state._handle(self, delta) + if debug_info: debug_info.player_state = state func _physics_process(delta: float): state._handle_physics(self, delta) diff --git a/ps_curve.gd b/ps_curve.gd index bf903bd..ae34977 100644 --- a/ps_curve.gd +++ b/ps_curve.gd @@ -6,6 +6,9 @@ var target: Curve2D var speed: float var dir: int +func _to_string() -> String: + return "PlayerStateCurve" + func initialize(_p: Player, c_target: Curve2D, c_speed: float, c_reverse: bool): target = c_target speed = c_speed diff --git a/ps_forced.gd b/ps_forced.gd index 4c4c3dc..9a8b41a 100644 --- a/ps_forced.gd +++ b/ps_forced.gd @@ -4,6 +4,9 @@ extends PlayerState var input_x: float var jump_coef = 1.3 +func _to_string() -> String: + return "PlayerStateForced" + func initialize(p: Player, dir: String): if dir == "LEFT": input_x = -1.0 diff --git a/ps_hanging.gd b/ps_hanging.gd index 3533348..f3273f5 100644 --- a/ps_hanging.gd +++ b/ps_hanging.gd @@ -9,6 +9,11 @@ var line2D: Line2D var tweening: bool +func _to_string() -> String: + var s = "PlayerStateHanging" + if tweening: s += " (tweening)" + return s + func initialize(p: Player, h_target: HookHanging, h_dist: float): t = 0 L = h_dist diff --git a/ps_init.gd b/ps_init.gd new file mode 100644 index 0000000..080b068 --- /dev/null +++ b/ps_init.gd @@ -0,0 +1,11 @@ +class_name PlayerStateInit +extends PlayerState + +func _to_string() -> String: + return "PlayerStateInit" + +func _handle(_p: Player, _delta: float): + pass + +func _handle_physics(_p: Player, _delta: float): + pass diff --git a/ps_init.gd.uid b/ps_init.gd.uid new file mode 100644 index 0000000..1c719e5 --- /dev/null +++ b/ps_init.gd.uid @@ -0,0 +1 @@ +uid://cl40mui4mkk6l diff --git a/ps_normal.gd b/ps_normal.gd index e0ca9b5..c50383d 100644 --- a/ps_normal.gd +++ b/ps_normal.gd @@ -7,6 +7,9 @@ var jump_was_released: bool = true var coyote: float = 10000 var prev_dir: float = 0.0 +func _to_string() -> String: + return "PlayerStateNormal" + func _handle(p: Player, _delta: float): var as2d = p.get_node("AnimatedSprite2D") if p.velocity.x > 0: @@ -7,6 +7,9 @@ const ROOM_NEW_GAME: String = "res://room_test1.tscn" var active_room_name: String func _ready() -> void: + if not OS.is_debug_build(): + $DebugInfo.queue_free() + print("data_dir: \"%s\"" % OS.get_user_data_dir()) $PauseMenu.deactivate() get_tree().call_group("ui_movement", "set_visible", false) @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://cey3jxnpmommt"] +[gd_scene load_steps=13 format=3 uid="uid://cey3jxnpmommt"] [ext_resource type="Material" uid="uid://bb4b8jm2tyy81" path="res://mat_palette.tres" id="1_edsjh"] [ext_resource type="Script" uid="uid://dxbspy72bg0db" path="res://top.gd" id="1_on2c2"] @@ -7,6 +7,7 @@ [ext_resource type="Script" uid="uid://civ5a43u5151a" path="res://transition_player.gd" id="6_ch5ua"] [ext_resource type="Script" uid="uid://dh0b4xa4f8h1o" path="res://pause_menu.gd" id="6_ql50d"] [ext_resource type="PackedScene" uid="uid://clm2kocuhjqbb" path="res://map_room.tscn" id="7_ql50d"] +[ext_resource type="Script" uid="uid://bwdk675n1q0dh" path="res://debug_info.gd" id="8_7c27k"] [sub_resource type="Animation" id="Animation_58ij3"] length = 0.001 @@ -235,3 +236,13 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 + +[node name="DebugInfo" type="CanvasLayer" parent="."] +scale = Vector2(0.125, 0.125) +transform = Transform2D(0.125, 0, 0, 0.125, 0, 0) +script = ExtResource("8_7c27k") + +[node name="Label" type="Label" parent="DebugInfo"] +offset_right = 40.0 +offset_bottom = 23.0 +text = "debug info" |
