Fix cellGemSetYaw's function unique signature (#19696)

This is the only known function that passes arguments in vector
registers.
Although we had an implementation for it, it was never used before.
Hopefully it works.
Attempting to fix "invalid" argument passed to cellGemSetYaw due to
wrong register decoding.
This commit is contained in:
Elad
2026-10-04 08:20:42 +02:00
committed by GitHub
parent c673da45f8
commit 998298f9a8
+7 -1
View File
@@ -3993,8 +3993,14 @@ error_code cellGemSetRumble(u32 gem_num, u8 rumble)
return CELL_OK;
}
error_code cellGemSetYaw(u32 gem_num, f32 z_direction_x, f32 z_direction_y, f32 z_direction_z, f32 z_direction_w)
error_code cellGemSetYaw(u32 gem_num, v128 z_direction)
{
// Unpack vector argument
const f32 z_direction_x = z_direction.fr[0];
const f32 z_direction_y = z_direction.fr[1];
const f32 z_direction_z = z_direction.fr[2];
const f32 z_direction_w = z_direction.fr[3];
cellGem.warning("cellGemSetYaw(gem_num=%d, z_direction_x=%f, z_direction_y=%f, z_direction_z=%f, z_direction_w=%f)", gem_num, z_direction_x, z_direction_y, z_direction_z, z_direction_w);
auto& gem = g_fxo->get<gem_config>();