From dd4f81a73c2ed2fb262902209341a53951c6b059 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Wed, 5 Feb 2025 14:48:12 -0800 Subject: [PATCH] transform normals --- lib/bsp_loader/src/brush.rs | 4 ++-- lib/bsp_loader/src/lib.rs | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/bsp_loader/src/brush.rs b/lib/bsp_loader/src/brush.rs index 8d7c0408..1a0c6d95 100644 --- a/lib/bsp_loader/src/brush.rs +++ b/lib/bsp_loader/src/brush.rs @@ -2,7 +2,7 @@ use strafesnet_common::integer::Planar64; use strafesnet_common::{model,integer}; use strafesnet_common::integer::{vec3::Vector3,Fixed,Ratio}; -use crate::valve_transform_dist; +use crate::{valve_transform_normal,valve_transform_dist}; #[derive(Hash,Eq,PartialEq)] struct Face{ @@ -202,7 +202,7 @@ pub fn brush_to_mesh(bsp:&vbsp::Bsp,brush:&vbsp::Brush)->Result>>().ok_or(BrushToMeshError::MissingPlane)?; diff --git a/lib/bsp_loader/src/lib.rs b/lib/bsp_loader/src/lib.rs index 746224f5..6774ccc0 100644 --- a/lib/bsp_loader/src/lib.rs +++ b/lib/bsp_loader/src/lib.rs @@ -9,6 +9,9 @@ const VALVE_SCALE:f32=1.0/16.0; pub(crate) fn valve_transform_dist(d:f32)->strafesnet_common::integer::Planar64{ (d*VALVE_SCALE).try_into().unwrap() } +pub(crate) fn valve_transform_normal([x,y,z]:[f32;3])->strafesnet_common::integer::Planar64Vec3{ + strafesnet_common::integer::vec3::try_from_f32_array([x,z,-y]).unwrap() +} pub(crate) fn valve_transform([x,y,z]:[f32;3])->strafesnet_common::integer::Planar64Vec3{ strafesnet_common::integer::vec3::try_from_f32_array([x*VALVE_SCALE,z*VALVE_SCALE,-y*VALVE_SCALE]).unwrap() }