summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debug_info.gd10
-rw-r--r--debug_info.gd.uid1
-rw-r--r--player.gd7
-rw-r--r--ps_curve.gd3
-rw-r--r--ps_forced.gd3
-rw-r--r--ps_hanging.gd5
-rw-r--r--ps_init.gd11
-rw-r--r--ps_init.gd.uid1
-rw-r--r--ps_normal.gd3
-rw-r--r--top.gd3
-rw-r--r--top.tscn13
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
diff --git a/player.gd b/player.gd
index 20bf000..458c583 100644
--- a/player.gd
+++ b/player.gd
@@ -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:
diff --git a/top.gd b/top.gd
index 0930571..951ed1f 100644
--- a/top.gd
+++ b/top.gd
@@ -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)
diff --git a/top.tscn b/top.tscn
index 011fcbb..f35b2ed 100644
--- a/top.tscn
+++ b/top.tscn
@@ -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"