Fix typed array error, use modern approach to resolution-independent mouselook (#206)

This fixes error spam when firing bullets in 4.5.
This commit is contained in:
Hugo Locurcio
2025-10-09 05:33:13 +02:00
committed by GitHub
parent 80916778f1
commit b314223ae8
2 changed files with 3 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://bhf6kwdlc7f5h"]
[ext_resource type="Shader" uid="uid://dobhtwja28tl8" path="res://enemies/red_robot/laser/smoke.gdshader" id="1_j0r3f"]
[ext_resource type="Shader" uid="uid://bafg2kigqpcel" path="res://enemies/red_robot/laser/smoke.gdshader" id="1_j0r3f"]
[ext_resource type="Texture2D" uid="uid://i5ll5xqsm55y" path="res://enemies/red_robot/laser/BarrelSmokeTexture.png" id="2"]
[sub_resource type="FastNoiseLite" id="29"]

View File

@@ -86,7 +86,7 @@ func _process(delta):
var ray_from = camera_camera.project_ray_origin(ch_pos)
var ray_dir = camera_camera.project_ray_normal(ch_pos)
var col = get_parent().get_world_3d().direct_space_state.intersect_ray(PhysicsRayQueryParameters3D.create(ray_from, ray_from + ray_dir * 1000, 0b11, [self]))
var col = get_parent().get_world_3d().direct_space_state.intersect_ray(PhysicsRayQueryParameters3D.create(ray_from, ray_from + ray_dir * 1000, 0b11, Array([self], TYPE_RID, "", null)))
if col.is_empty():
shoot_target = ray_from + ray_dir * 1000
else:
@@ -104,18 +104,11 @@ func _process(delta):
func _input(event):
# Make mouse aiming speed resolution-independent
# (required when using the `canvas_items` stretch mode).
var scale_factor: float = min(
(float(get_viewport().size.x) / get_viewport().get_visible_rect().size.x),
(float(get_viewport().size.y) / get_viewport().get_visible_rect().size.y)
)
if event is InputEventMouseMotion:
var camera_speed_this_frame = CAMERA_MOUSE_ROTATION_SPEED
if aiming:
camera_speed_this_frame *= 0.75
rotate_camera(event.relative * camera_speed_this_frame * scale_factor)
rotate_camera(event.screen_relative * camera_speed_this_frame)
func rotate_camera(move):