diff --git a/lib/linux64/mathlib.a b/lib/linux64/mathlib.a index a8b9de60..abd60100 100644 Binary files a/lib/linux64/mathlib.a and b/lib/linux64/mathlib.a differ diff --git a/lib/public/win64/mathlib.lib b/lib/public/win64/mathlib.lib index fe1e014c..a8dac2c1 100644 Binary files a/lib/public/win64/mathlib.lib and b/lib/public/win64/mathlib.lib differ diff --git a/linux_sdk/Makefile.mathlib b/linux_sdk/Makefile.mathlib index d1ff360a..b8cbe885 100644 --- a/linux_sdk/Makefile.mathlib +++ b/linux_sdk/Makefile.mathlib @@ -47,7 +47,6 @@ LIB_OBJS= \ $(LIB_OBJ_DIR)/sse.o \ $(LIB_OBJ_DIR)/sseconst.o \ $(LIB_OBJ_DIR)/ssenoise.o \ - $(LIB_OBJ_DIR)/vector.o \ $(LIB_OBJ_DIR)/vmatrix.o \ all: dirs $(NAME).$(SHLIBEXT) diff --git a/mathlib/mathlib.vcxproj b/mathlib/mathlib.vcxproj index d4d5881b..8b434044 100644 --- a/mathlib/mathlib.vcxproj +++ b/mathlib/mathlib.vcxproj @@ -296,6 +296,7 @@ /Zo %(AdditionalOptions) + stdcpp17 @@ -331,7 +332,6 @@ - diff --git a/mathlib/mathlib.vcxproj.filters b/mathlib/mathlib.vcxproj.filters index e0592b98..a3d1f00c 100644 --- a/mathlib/mathlib.vcxproj.filters +++ b/mathlib/mathlib.vcxproj.filters @@ -66,9 +66,6 @@ Source Files - - Source Files - Source Files diff --git a/mathlib/mathlib_base.cpp b/mathlib/mathlib_base.cpp index fb519a31..770e9b2f 100644 --- a/mathlib/mathlib_base.cpp +++ b/mathlib/mathlib_base.cpp @@ -41,8 +41,11 @@ bool s_bMathlibInitialized = false; void Sys_Error (char *error, ...); #endif +const Vector vec3_origin(0,0,0); +const VectorWS vec3ws_origin(0,0,0); const QAngle vec3_angle(0,0,0); const Quaternion quat_identity(0,0,0,1); +const QuaternionWS quatws_identity(0,0,0,1); const Vector vec3_invalid( FLT_MAX, FLT_MAX, FLT_MAX ); const int nanmask = 255<<23; diff --git a/mathlib/vector.cpp b/mathlib/vector.cpp deleted file mode 100644 index f8066568..00000000 --- a/mathlib/vector.cpp +++ /dev/null @@ -1,13 +0,0 @@ -//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -// $NoKeywords: $ -// -//=============================================================================// - -#include "mathlib/mathlib.h" -#include "mathlib/vector.h" - -const Vector vec3_origin(0,0,0); - diff --git a/public/mathlib/mathlib.h b/public/mathlib/mathlib.h index bdd5d9a6..375346b3 100644 --- a/public/mathlib/mathlib.h +++ b/public/mathlib/mathlib.h @@ -10,6 +10,7 @@ #include #include "tier0/basetypes.h" #include "mathlib/vector.h" +#include "mathlib/vectorws.h" #include "mathlib/vector2d.h" #include "tier0/dbg.h" @@ -258,11 +259,13 @@ public: extern bool s_bMathlibInitialized; -extern const Vector vec3_origin; -extern const QAngle vec3_angle; -extern const Quaternion quat_identity; +extern const Vector vec3_origin; +extern const VectorWS vec3ws_origin; +extern const QAngle vec3_angle; +extern const Quaternion quat_identity; +extern const QuaternionWS quatws_identity; extern const Vector vec3_invalid; -extern const int nanmask; +extern const int nanmask; #define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask) diff --git a/public/variant.h b/public/variant.h index ba49da2f..10104007 100644 --- a/public/variant.h +++ b/public/variant.h @@ -839,7 +839,7 @@ inline bool CVariantBase::AssignTo( VectorWS *pDest ) const { switch(m_type) { - case FIELD_VOID: *pDest = VectorWS( vec3_origin.x, vec3_origin.y, vec3_origin.z ); return false; + case FIELD_VOID: *pDest = vec3ws_origin; return false; case FIELD_POSITION_VECTOR: *pDest = *m_pVectorWS; return true; case FIELD_VECTOR: *pDest = *(VectorWS *)m_pVector; return true; case FIELD_CSTRING: