From 073baa3c696872ccc9bdc64834d08f00a91192ba Mon Sep 17 00:00:00 2001 From: MrBruh <4706866+cybersecurity@users.noreply.github.com> Date: Fri, 9 Oct 2026 21:09:26 +1300 Subject: [PATCH] Scripted first-person cameras blended as before (#189) A scripted first-person camera looks along its unit's aim, which turns once a tick: placed by the observer and the object's move alone, it turned in 30 Hz steps in a vehicle; it is left to its snapshots' blend. --- port/linux/game/render_interpolation.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/port/linux/game/render_interpolation.c b/port/linux/game/render_interpolation.c index 6add1665..05aae5df 100644 --- a/port/linux/game/render_interpolation.c +++ b/port/linux/game/render_interpolation.c @@ -790,13 +790,16 @@ static struct observer_result const *render_interpolation_blended_camera( its pose snaps: it ran up to 2 m ahead of or behind the object, out through the lifepod's hull in a30. It is drawn where the observer has it, moved with the object from where the object is to where it is - drawn. (An animated camera has no such object.) */ + drawn. (An animated camera has no such object; a scripted first-person + camera looks along its unit's aim, which turns once a tick, and is + blended from its snapshots as the player's camera is.) */ if (director_get_perspective(local_player_index) == _director_perspective_scripted) { long relative_object_index = scripted_camera_object_relative_to(); real_matrix4x3 const *drawn; if (relative_object_index != NONE && + !scripted_camera_object_is_first_person_camera(relative_object_index) && object_try_and_get_and_verify_type(relative_object_index, _object_mask_all) && (drawn = render_interpolation_object_node_matrices(relative_object_index)) != NULL) {