bsp_loader: generate prop matrix with euler angles

This commit is contained in:
Quaternions 2025-02-28 16:05:08 -08:00
parent c1bc5cc1c0
commit dfb3526ec1

@ -93,6 +93,7 @@ pub fn convert<'a>(
//declare all prop models to Loader
let mut prop_models=bsp.static_props().map(|prop|{
const DEG_TO_RAD:f32=std::f32::consts::TAU/360.0;
//get or create mesh_id
let mesh_id=mesh_deferred_loader.acquire_mesh_id(prop.model());
let placement=prop.as_prop_placement();
@ -103,7 +104,7 @@ pub fn convert<'a>(
integer::mat3::try_from_f32_array_2d((
glam::Mat3A::from_diagonal(glam::Vec3::splat(placement.scale))
//TODO: figure this out
*glam::Mat3A::from_quat(glam::Quat::from_array(placement.rotation.into()))
*glam::Mat3A::from_euler(glam::EulerRot::XYZ,prop.angles.pitch*DEG_TO_RAD,prop.angles.yaw*DEG_TO_RAD,prop.angles.roll*DEG_TO_RAD)
).to_cols_array_2d()).unwrap(),
valve_transform(placement.origin.into()),
),