From 75b5a2e30c502301ccf13a35d3c080794112c2c9 Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Wed, 9 Apr 2025 18:15:04 -0600 Subject: [PATCH] Better HUD tool tracking --- src/equipment/point_spray/point_spray.tscn | 1 + src/equipment/tool.gd | 10 +++++----- src/equipment/toothbrush/toothbrush.tscn | 1 + src/equipment/wide_spray/wide_spray.tscn | 1 + 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/equipment/point_spray/point_spray.tscn b/src/equipment/point_spray/point_spray.tscn index d56b694..f157510 100644 --- a/src/equipment/point_spray/point_spray.tscn +++ b/src/equipment/point_spray/point_spray.tscn @@ -107,6 +107,7 @@ unique_name_in_owner = true [node name="HUDTool" type="Node3D" parent="."] unique_name_in_owner = true +top_level = true [node name="Rumbler" type="Node3D" parent="HUDTool"] unique_name_in_owner = true diff --git a/src/equipment/tool.gd b/src/equipment/tool.gd index a1b7071..77e8504 100644 --- a/src/equipment/tool.gd +++ b/src/equipment/tool.gd @@ -1,12 +1,12 @@ class_name Tool extends Node3D ## Abstract base class for spraygun types +const HUD_ACCEL := 36.0 + var firing := false @onready var hud_tool: Node3D = %HUDTool -@onready var _lagged_transform := global_transform - func _fire() -> void: pass @@ -34,7 +34,7 @@ func idle() -> void: _idle() -func _process(_delta: float) -> void: +func _process(delta: float) -> void: if hud_tool: - hud_tool.global_transform = _lagged_transform - _lagged_transform = global_transform + hud_tool.global_basis = global_basis + hud_tool.global_position = hud_tool.global_position.lerp(global_position, HUD_ACCEL * delta) diff --git a/src/equipment/toothbrush/toothbrush.tscn b/src/equipment/toothbrush/toothbrush.tscn index 3c0446e..c48c44e 100644 --- a/src/equipment/toothbrush/toothbrush.tscn +++ b/src/equipment/toothbrush/toothbrush.tscn @@ -75,6 +75,7 @@ collision_mask = 4 [node name="HUDTool" type="Node3D" parent="."] unique_name_in_owner = true +top_level = true [node name="NozzleMarker" type="Marker3D" parent="HUDTool"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2) diff --git a/src/equipment/wide_spray/wide_spray.tscn b/src/equipment/wide_spray/wide_spray.tscn index 0c22bdb..2df19b2 100644 --- a/src/equipment/wide_spray/wide_spray.tscn +++ b/src/equipment/wide_spray/wide_spray.tscn @@ -268,6 +268,7 @@ unique_name_in_owner = true [node name="HUDTool" type="Node3D" parent="."] unique_name_in_owner = true +top_level = true [node name="Rumbler" type="Node3D" parent="HUDTool"] unique_name_in_owner = true