From cdc79e785ab4b0f65d05d5ebc48639ee4ddef074 Mon Sep 17 00:00:00 2001 From: Jonas Volman Date: Fri, 25 Sep 2026 00:54:32 -0700 Subject: [PATCH] vehicles: alien fighter exact through the genuine cross_product2d call Owner ruling 2026-09-25 narrowly reopens the fighter on new first-party and link evidence. The hand-written 2D yaw expression becomes cross_product2d over the two /Od-attested 3D-to-2D views. The body is debug exact, verbatim in Oct-2001 2276P and matches the Sept-2001 cache.exe map body. The new SELECT_ANY _cross_product2d now passes the selected-provider link against actor_combat. +1,088 padded; vehicles 38/39. Co-Authored-By: Claude Opus 5.5 --- source/units/vehicles.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/units/vehicles.c b/source/units/vehicles.c index e6710a63..d13f9b1f 100644 --- a/source/units/vehicles.c +++ b/source/units/vehicles.c @@ -1001,8 +1001,8 @@ static void update_alien_fighter_physics_new( pitch_vectors(&desired_rotation.forward, &desired_rotation.up, sine(definition->unknown364), cosine(definition->unknown364)); - yaw = (desired_rotation.forward.i*vehicle->object.translational_velocity.j- - desired_rotation.forward.j*vehicle->object.translational_velocity.i)/ + yaw = cross_product2d((real_vector2d const *)&desired_rotation.forward, + (real_vector2d const *)&vehicle->object.translational_velocity)/ definition->unknown2f8*definition->unknown308; yaw_vectors(&desired_rotation.up, &desired_rotation.forward, sine(yaw), cosine(yaw));