From fa5574128d67bbb4dc2ad55b246685c5fc3f6d5d Mon Sep 17 00:00:00 2001 From: Tiger Jove Date: Mon, 12 Jan 2026 20:00:52 +0100 Subject: [PATCH] fix: player crouching on leaving bed. fix: errors in linerenderer due to zero magnitude axis. --- src/addons/LineRenderer/line_renderer.gd | 2 ++ src/base-environments/youth_room/climb_volume.gd | 6 ++---- src/base-environments/youth_room/youth_room.tscn | 10 ++++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/addons/LineRenderer/line_renderer.gd b/src/addons/LineRenderer/line_renderer.gd index 406f932..9cca1af 100644 --- a/src/addons/LineRenderer/line_renderer.gd +++ b/src/addons/LineRenderer/line_renderer.gd @@ -159,6 +159,8 @@ func corner(surface: SurfaceTool, center:Vector3, start:Vector3, end:Vector3, ca var angle:float = offset.angle_to(end - center) for i in range(1, cap_resolution): + if (axis.length() < 0.1): continue #catch null vectors + axis = axis.normalized() vertex_array[i] = center + offset.rotated(axis, lerp(0.0, angle, float(i) / cap_resolution)); for i in range(1, cap_resolution + 1): diff --git a/src/base-environments/youth_room/climb_volume.gd b/src/base-environments/youth_room/climb_volume.gd index 30dfeac..7c090e6 100644 --- a/src/base-environments/youth_room/climb_volume.gd +++ b/src/base-environments/youth_room/climb_volume.gd @@ -1,6 +1,6 @@ extends AnimatableBody3D -var start_position:Vector3 = position +@onready var start_position:Vector3 = position var risen:bool = false var raiser : Tween @@ -9,8 +9,6 @@ func raise(body) -> void: push_warning("Unexpected body in raiser trigger", body) return - body.crouched = true - if risen: position = start_position @@ -18,7 +16,7 @@ func raise(body) -> void: raiser.kill() raiser = create_tween() - raiser.tween_property(self, "position", position + Vector3(0,1.1,0), 1) + raiser.tween_property(self, "position", start_position + Vector3(0,1.1,0), 1) risen = true diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 53c85c5..e9364ee 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -93,7 +93,7 @@ size = Vector3(0.851473, 0.8852539, 0.428864) [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_f1g8m"] radius = 0.156739 -height = 1.0 +height = 1.527832 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kewqg"] radius = 0.787239 @@ -1516,7 +1516,6 @@ script = ExtResource("1_aitp0") [node name="PlayerController" parent="logic" groups=["camera_owner"] instance=ExtResource("3_foj4y")] unique_name_in_owner = true -process_mode = 4 transform = Transform3D(0.686123, 0, 0.727485, 0, 1, 0, -0.727485, 0, 0.686123, 0.63, 0, 0.925) [node name="Collision" type="Node3D" parent="logic"] @@ -1621,11 +1620,13 @@ shape = SubResource("BoxShape3D_ychlh") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.84538, 0, 0.803611) [node name="ladder_trigger" type="Area3D" parent="logic/Bed and Ladders"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3045067, 0) collision_layer = 2 collision_mask = 2 +script = ExtResource("3_x3dlb") [node name="CollisionShape3D" type="CollisionShape3D" parent="logic/Bed and Ladders/ladder_trigger"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.170028, 0.244833, -0.0455775) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.17002809, 0.508749, -0.045577526) shape = SubResource("CapsuleShape3D_f1g8m") [node name="bed_duck" type="Area3D" parent="logic/Bed and Ladders"] @@ -1634,7 +1635,7 @@ collision_mask = 2 script = ExtResource("3_x3dlb") [node name="CollisionShape3D" type="CollisionShape3D" parent="logic/Bed and Ladders/bed_duck"] -transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0.916567, 1.64525, -1.14479) +transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0.9784893, 1.2551697, -1.14479) shape = SubResource("CapsuleShape3D_kewqg") [node name="bed_enter" type="Area3D" parent="logic/Bed and Ladders"] @@ -2158,6 +2159,7 @@ data = ExtResource("40_ea6x8") [connection signal="ui_exited" from="logic/PlayerController" to="SceneUI" method="hide"] [connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/PlayerController" method="_on_bed_enter"] [connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/Bed and Ladders/ladder" method="raise"] +[connection signal="body_exited" from="logic/Bed and Ladders/ladder_trigger" to="logic/Bed and Ladders/ladder" method="reset"] [connection signal="body_exited" from="logic/Bed and Ladders/bed_duck" to="logic/Bed and Ladders/ladder" method="reset"] [connection signal="body_entered" from="logic/Bed and Ladders/bed_enter" to="logic/PlayerController" method="_on_bed_enter"] [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"]