mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-12-09 19:48:23 +00:00
Update to current-ish.
This commit is contained in:
parent
badee7a0de
commit
737599c056
@ -153,11 +153,7 @@ public:
|
|||||||
// The Source engine is really designed for 32 or less players. If you raise this number above 32, you better know what you are doing
|
// The Source engine is really designed for 32 or less players. If you raise this number above 32, you better know what you are doing
|
||||||
// and have a good answer for a bunch of perf question related to player simulation, thinking logic, tracelines, networking overhead, etc.
|
// and have a good answer for a bunch of perf question related to player simulation, thinking logic, tracelines, networking overhead, etc.
|
||||||
// But if you are brave or are doing something interesting, go for it... ywb 9/22/03
|
// But if you are brave or are doing something interesting, go for it... ywb 9/22/03
|
||||||
#if defined( CSTRIKE_DLL )
|
#define MAX_PLAYERS 128 // Absolute max players supported
|
||||||
#define MAX_PLAYERS 64 // Absolute max players supported
|
|
||||||
#else
|
|
||||||
#define MAX_PLAYERS 32 // Absolute max players supported
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAX_PLACE_NAME_LENGTH 18
|
#define MAX_PLACE_NAME_LENGTH 18
|
||||||
|
|
||||||
@ -695,6 +691,7 @@ struct EmitSound_t
|
|||||||
m_SoundLevel( SNDLVL_NONE ),
|
m_SoundLevel( SNDLVL_NONE ),
|
||||||
m_nFlags( 0 ),
|
m_nFlags( 0 ),
|
||||||
m_nPitch( PITCH_NORM ),
|
m_nPitch( PITCH_NORM ),
|
||||||
|
m_nSpecialDSP( 0 ),
|
||||||
m_pOrigin( 0 ),
|
m_pOrigin( 0 ),
|
||||||
m_flSoundTime( 0.0f ),
|
m_flSoundTime( 0.0f ),
|
||||||
m_pflSoundDuration( 0 ),
|
m_pflSoundDuration( 0 ),
|
||||||
@ -715,6 +712,7 @@ struct EmitSound_t
|
|||||||
soundlevel_t m_SoundLevel;
|
soundlevel_t m_SoundLevel;
|
||||||
int m_nFlags;
|
int m_nFlags;
|
||||||
int m_nPitch;
|
int m_nPitch;
|
||||||
|
int m_nSpecialDSP;
|
||||||
const Vector *m_pOrigin;
|
const Vector *m_pOrigin;
|
||||||
float m_flSoundTime; ///< NOT DURATION, but rather, some absolute time in the future until which this sound should be delayed
|
float m_flSoundTime; ///< NOT DURATION, but rather, some absolute time in the future until which this sound should be delayed
|
||||||
float *m_pflSoundDuration;
|
float *m_pflSoundDuration;
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,6 +3,8 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
OS := $(shell uname -s)
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Developer configurable items
|
# Developer configurable items
|
||||||
#############################################################################
|
#############################################################################
|
||||||
@ -24,10 +26,17 @@ SRCDS_DIR = ~/srcds/orangebox
|
|||||||
GAME_DIR = $(SRCDS_DIR)/scratchmod
|
GAME_DIR = $(SRCDS_DIR)/scratchmod
|
||||||
|
|
||||||
# compiler options (gcc 3.4.1 or above is required - 4.1.2+ recommended)
|
# compiler options (gcc 3.4.1 or above is required - 4.1.2+ recommended)
|
||||||
CC = /usr/bin/gcc-4.2
|
#ifeq "$(OS)" "Darwin"
|
||||||
CPLUS = /usr/bin/g++-4.2
|
CC = /usr/bin/clang-3.8
|
||||||
CLINK = /usr/bin/gcc-4.2
|
CPLUS = /usr/bin/clang++-3.8
|
||||||
CPP_LIB = "libstdc++.a libgcc_eh.a"
|
CLINK = /usr/bin/clang-3.8
|
||||||
|
CPP_LIB =
|
||||||
|
#else
|
||||||
|
#CC = /usr/bin/gcc
|
||||||
|
#CPLUS = /usr/bin/g++
|
||||||
|
#CLINK = /usr/bin/gcc
|
||||||
|
#CPP_LIB = $(SRCDS_DIR)/bin/libstdc++.so.6 $(SRCDS_DIR)/bin/libgcc_s.so.1
|
||||||
|
#endif
|
||||||
|
|
||||||
# put any compiler flags you want passed here
|
# put any compiler flags you want passed here
|
||||||
USER_CFLAGS =
|
USER_CFLAGS =
|
||||||
@ -58,21 +67,37 @@ BUILD_OBJ_DIR = $(BUILD_DIR)/obj
|
|||||||
|
|
||||||
# the location of the source code
|
# the location of the source code
|
||||||
SRC_DIR = ..
|
SRC_DIR = ..
|
||||||
# the location of the Linux static libraries
|
|
||||||
|
# the location of the static libraries
|
||||||
|
ifeq "$(OS)" "Darwin"
|
||||||
|
LIB_DIR = $(SRC_DIR)/lib/mac
|
||||||
|
else
|
||||||
LIB_DIR = $(SRC_DIR)/lib/linux
|
LIB_DIR = $(SRC_DIR)/lib/linux
|
||||||
|
endif
|
||||||
|
|
||||||
# the CPU target for the build, must be i486 for now
|
# the CPU target for the build, must be i486 for now
|
||||||
ARCH = i486
|
ARCH = i486
|
||||||
ARCH_CFLAGS = -mtune=i686 -march=pentium3 -mmmx -m32
|
ARCH_CFLAGS = -mtune=i686 -march=pentium3 -mmmx -m32
|
||||||
|
|
||||||
DEFINES = -D_LINUX -DLINUX -DVPROF_LEVEL=1 -DSWDS -D_finite=finite -Dstricmp=strcasecmp -D_stricmp=strcasecmp \
|
ifeq "$(OS)" "Darwin"
|
||||||
-D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp
|
DEFINES = -D_OSX -DOSX
|
||||||
|
SHLIBEXT = dylib
|
||||||
|
SHLIBLDFLAGS = -dynamiclib -mmacosx-version-min=10.5
|
||||||
|
SHLIBSUFFIX =
|
||||||
|
else
|
||||||
|
DEFINES = -D_LINUX -DLINUX
|
||||||
|
SHLIBEXT = so
|
||||||
|
SHLIBLDFLAGS = -shared -Wl,-Map,$@_map.txt -Wl
|
||||||
|
SHLIBSUFFIX = _srv
|
||||||
|
endif
|
||||||
|
|
||||||
|
DEFINES +=-DGNUC -D_POSIX -DPOSIX -DVPROF_LEVEL=1 -DSWDS -DNO_MALLOC_OVERRIDE -D_finite=finite -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp \
|
||||||
|
-Dstrnicmp=strncasecmp -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp
|
||||||
UNDEF = -Usprintf -Ustrncpy -UPROTECTED_THINGS_ENABLE
|
UNDEF = -Usprintf -Ustrncpy -UPROTECTED_THINGS_ENABLE
|
||||||
|
|
||||||
BASE_CFLAGS = -fno-strict-aliasing -Wall -Werror -Wconversion -Wno-non-virtual-dtor -Wno-invalid-offsetof
|
BASE_CFLAGS = -fno-strict-aliasing -Wall -Wsign-compare -Werror -Wno-conversion -Wno-overloaded-virtual -Wno-non-virtual-dtor -Wno-invalid-offsetof \
|
||||||
SHLIBEXT = so
|
-Wno-delete-non-virtual-dtor -Wno-unused-const-variable
|
||||||
SHLIBCFLAGS = -fPIC
|
SHLIBCFLAGS = -fPIC
|
||||||
SHLIBLDFLAGS = -shared -Wl,-Map,$@_map.txt -Wl
|
|
||||||
|
|
||||||
# Flags passed to the c compiler
|
# Flags passed to the c compiler
|
||||||
CFLAGS = $(DEFINES) $(ARCH_CFLAGS) -O3 $(BASE_CFLAGS)
|
CFLAGS = $(DEFINES) $(ARCH_CFLAGS) -O3 $(BASE_CFLAGS)
|
||||||
@ -88,7 +113,7 @@ DBG_CFLAGS = "$(DEFINES) $(ARCH_CFLAGS) -g -ggdb $(BASE_CFLAGS) $(UNDEF)"
|
|||||||
# define list passed to make for the sub makefile
|
# define list passed to make for the sub makefile
|
||||||
BASE_DEFINES = CC=$(CC) AR=$(AR) CPLUS=$(CPLUS) CPP_LIB=$(CPP_LIB) DEBUG=$(DEBUG) \
|
BASE_DEFINES = CC=$(CC) AR=$(AR) CPLUS=$(CPLUS) CPP_LIB=$(CPP_LIB) DEBUG=$(DEBUG) \
|
||||||
BUILD_DIR=$(BUILD_DIR) BUILD_OBJ_DIR=$(BUILD_OBJ_DIR) SRC_DIR=$(SRC_DIR) \
|
BUILD_DIR=$(BUILD_DIR) BUILD_OBJ_DIR=$(BUILD_OBJ_DIR) SRC_DIR=$(SRC_DIR) \
|
||||||
LIB_DIR=$(LIB_DIR) SHLIBLDFLAGS=$(SHLIBLDFLAGS) SHLIBEXT=$(SHLIBEXT) \
|
LIB_DIR=$(LIB_DIR) SHLIBLDFLAGS="$(SHLIBLDFLAGS)" SHLIBEXT=$(SHLIBEXT) SHLIBSUFFIX=$(SHLIBSUFFIX) \
|
||||||
CLINK=$(CLINK) CFLAGS="$(CFLAGS)" DBG_CFLAGS=$(DBG_CFLAGS) LDFLAGS=$(LDFLAGS) \
|
CLINK=$(CLINK) CFLAGS="$(CFLAGS)" DBG_CFLAGS=$(DBG_CFLAGS) LDFLAGS=$(LDFLAGS) \
|
||||||
DEFINES="$(DEFINES)" DBG_DEFINES=$(DBG_DEFINES) \
|
DEFINES="$(DEFINES)" DBG_DEFINES=$(DBG_DEFINES) \
|
||||||
ARCH=$(ARCH) SRCDS_DIR=$(SRCDS_DIR) MOD_CONFIG=$(MOD_CONFIG) NAME=$(NAME) \
|
ARCH=$(ARCH) SRCDS_DIR=$(SRCDS_DIR) MOD_CONFIG=$(MOD_CONFIG) NAME=$(NAME) \
|
||||||
@ -111,9 +136,9 @@ check:
|
|||||||
if [ ! -e "$(LIB_DIR)/tier1_i486.a" ]; then $(MAKE) tier1;fi
|
if [ ! -e "$(LIB_DIR)/tier1_i486.a" ]; then $(MAKE) tier1;fi
|
||||||
if [ ! -e "$(LIB_DIR)/mathlib_i486.a" ]; then $(MAKE) mathlib;fi
|
if [ ! -e "$(LIB_DIR)/mathlib_i486.a" ]; then $(MAKE) mathlib;fi
|
||||||
if [ ! -e "$(LIB_DIR)/choreoobjects_i486.a" ]; then $(MAKE) choreo;fi
|
if [ ! -e "$(LIB_DIR)/choreoobjects_i486.a" ]; then $(MAKE) choreo;fi
|
||||||
if [ ! -f "tier0_i486.so" ]; then ln -s $(SRCDS_DIR)/bin/tier0_i486.so .; fi
|
if [ ! -f "libtier0$(SHLIBSUFFIX).$(SHLIBEXT)" ]; then ln -fs $(LIB_DIR)/libtier0$(SHLIBSUFFIX).$(SHLIBEXT) .; fi
|
||||||
if [ ! -f "vstdlib_i486.so" ]; then ln -s $(SRCDS_DIR)/bin/vstdlib_i486.so .; fi
|
if [ ! -f "libvstdlib$(SHLIBSUFFIX).$(SHLIBEXT)" ]; then ln -fs $(LIB_DIR)/libvstdlib$(SHLIBSUFFIX).$(SHLIBEXT) .; fi
|
||||||
if [ ! -f "steam_api_i486.so" ]; then ln -s $(SRCDS_DIR)/bin/steam_api_i486.so .; fi
|
if [ ! -f "libsteam_api.$(SHLIBEXT)" ]; then ln -fs $(LIB_DIR)/libsteam_api.$(SHLIBEXT) .; fi
|
||||||
|
|
||||||
vcpm: check
|
vcpm: check
|
||||||
if [ ! -e "vcpm" ]; then $(MAKE) -f $(MAKE_VCPM) $(BASE_DEFINES);fi
|
if [ ! -e "vcpm" ]; then $(MAKE) -f $(MAKE_VCPM) $(BASE_DEFINES);fi
|
||||||
|
|||||||
@ -30,7 +30,6 @@ DO_CC += -o $@ -c $<
|
|||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
LIB_OBJS= \
|
LIB_OBJS= \
|
||||||
$(LIB_OBJ_DIR)/3dnow.o \
|
|
||||||
$(LIB_OBJ_DIR)/anorms.o \
|
$(LIB_OBJ_DIR)/anorms.o \
|
||||||
$(LIB_OBJ_DIR)/bumpvects.o \
|
$(LIB_OBJ_DIR)/bumpvects.o \
|
||||||
$(LIB_OBJ_DIR)/color_conversion.o \
|
$(LIB_OBJ_DIR)/color_conversion.o \
|
||||||
|
|||||||
@ -42,7 +42,6 @@ LIB_OBJS= \
|
|||||||
$(LIB_OBJ_DIR)/interface.o \
|
$(LIB_OBJ_DIR)/interface.o \
|
||||||
$(LIB_OBJ_DIR)/KeyValues.o \
|
$(LIB_OBJ_DIR)/KeyValues.o \
|
||||||
$(LIB_OBJ_DIR)/mempool.o \
|
$(LIB_OBJ_DIR)/mempool.o \
|
||||||
$(LIB_OBJ_DIR)/memstack.o \
|
|
||||||
$(LIB_OBJ_DIR)/NetAdr.o \
|
$(LIB_OBJ_DIR)/NetAdr.o \
|
||||||
$(LIB_OBJ_DIR)/newbitbuf.o \
|
$(LIB_OBJ_DIR)/newbitbuf.o \
|
||||||
$(LIB_OBJ_DIR)/processor_detect.o \
|
$(LIB_OBJ_DIR)/processor_detect.o \
|
||||||
|
|||||||
@ -1,193 +0,0 @@
|
|||||||
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
||||||
//
|
|
||||||
// Purpose: 3DNow Math primitives.
|
|
||||||
//
|
|
||||||
//=====================================================================================//
|
|
||||||
|
|
||||||
#include <math.h>
|
|
||||||
#include <float.h> // Needed for FLT_EPSILON
|
|
||||||
#include "basetypes.h"
|
|
||||||
#include <memory.h>
|
|
||||||
#include "tier0/dbg.h"
|
|
||||||
#include "mathlib/mathlib.h"
|
|
||||||
#include "mathlib/amd3dx.h"
|
|
||||||
#include "mathlib/vector.h"
|
|
||||||
|
|
||||||
// memdbgon must be the last include file in a .cpp file!!!
|
|
||||||
#include "tier0/memdbgon.h"
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#pragma warning(disable:4244) // "conversion from 'const int' to 'float', possible loss of data"
|
|
||||||
#pragma warning(disable:4730) // "mixing _m64 and floating point expressions may result in incorrect code"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// 3D Now Implementations of optimized routines:
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
float _3DNow_Sqrt(float x)
|
|
||||||
{
|
|
||||||
Assert( s_bMathlibInitialized );
|
|
||||||
float root = 0.f;
|
|
||||||
#ifdef _WIN32
|
|
||||||
_asm
|
|
||||||
{
|
|
||||||
femms
|
|
||||||
movd mm0, x
|
|
||||||
PFRSQRT (mm1,mm0)
|
|
||||||
punpckldq mm0, mm0
|
|
||||||
PFMUL (mm0, mm1)
|
|
||||||
movd root, mm0
|
|
||||||
femms
|
|
||||||
}
|
|
||||||
#elif defined _LINUX || defined __APPLE__
|
|
||||||
__asm __volatile__( "femms" );
|
|
||||||
__asm __volatile__
|
|
||||||
(
|
|
||||||
"pfrsqrt %y0, %y1 \n\t"
|
|
||||||
"punpckldq %y1, %y1 \n\t"
|
|
||||||
"pfmul %y1, %y0 \n\t"
|
|
||||||
: "=y" (root), "=y" (x)
|
|
||||||
:"0" (x)
|
|
||||||
);
|
|
||||||
__asm __volatile__( "femms" );
|
|
||||||
#else
|
|
||||||
#error
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return root;
|
|
||||||
}
|
|
||||||
|
|
||||||
// NJS FIXME: Need to test Recripricol squareroot performance and accuraccy
|
|
||||||
// on AMD's before using the specialized instruction.
|
|
||||||
float _3DNow_RSqrt(float x)
|
|
||||||
{
|
|
||||||
Assert( s_bMathlibInitialized );
|
|
||||||
|
|
||||||
return 1.f / _3DNow_Sqrt(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FASTCALL _3DNow_VectorNormalize (Vector& vec)
|
|
||||||
{
|
|
||||||
Assert( s_bMathlibInitialized );
|
|
||||||
float *v = &vec[0];
|
|
||||||
float radius = 0.f;
|
|
||||||
|
|
||||||
if ( v[0] || v[1] || v[2] )
|
|
||||||
{
|
|
||||||
#ifdef _WIN32
|
|
||||||
_asm
|
|
||||||
{
|
|
||||||
mov eax, v
|
|
||||||
femms
|
|
||||||
movq mm0, QWORD PTR [eax]
|
|
||||||
movd mm1, DWORD PTR [eax+8]
|
|
||||||
movq mm2, mm0
|
|
||||||
movq mm3, mm1
|
|
||||||
PFMUL (mm0, mm0)
|
|
||||||
PFMUL (mm1, mm1)
|
|
||||||
PFACC (mm0, mm0)
|
|
||||||
PFADD (mm1, mm0)
|
|
||||||
PFRSQRT (mm0, mm1)
|
|
||||||
punpckldq mm1, mm1
|
|
||||||
PFMUL (mm1, mm0)
|
|
||||||
PFMUL (mm2, mm0)
|
|
||||||
PFMUL (mm3, mm0)
|
|
||||||
movq QWORD PTR [eax], mm2
|
|
||||||
movd DWORD PTR [eax+8], mm3
|
|
||||||
movd radius, mm1
|
|
||||||
femms
|
|
||||||
}
|
|
||||||
#elif defined _LINUX || defined __APPLE__
|
|
||||||
long long a,c;
|
|
||||||
int b,d;
|
|
||||||
memcpy(&a,&vec[0],sizeof(a));
|
|
||||||
memcpy(&b,&vec[2],sizeof(b));
|
|
||||||
memcpy(&c,&vec[0],sizeof(c));
|
|
||||||
memcpy(&d,&vec[2],sizeof(d));
|
|
||||||
|
|
||||||
__asm __volatile__( "femms" );
|
|
||||||
__asm __volatile__
|
|
||||||
(
|
|
||||||
"pfmul %y3, %y3\n\t"
|
|
||||||
"pfmul %y0, %y0 \n\t"
|
|
||||||
"pfacc %y3, %y3 \n\t"
|
|
||||||
"pfadd %y3, %y0 \n\t"
|
|
||||||
"pfrsqrt %y0, %y3 \n\t"
|
|
||||||
"punpckldq %y0, %y0 \n\t"
|
|
||||||
"pfmul %y3, %y0 \n\t"
|
|
||||||
"pfmul %y3, %y2 \n\t"
|
|
||||||
"pfmul %y3, %y1 \n\t"
|
|
||||||
: "=y" (radius), "=y" (c), "=y" (d)
|
|
||||||
: "y" (a), "0" (b), "1" (c), "2" (d)
|
|
||||||
);
|
|
||||||
memcpy(&vec[0],&c,sizeof(c));
|
|
||||||
memcpy(&vec[2],&d,sizeof(d));
|
|
||||||
__asm __volatile__( "femms" );
|
|
||||||
|
|
||||||
#else
|
|
||||||
#error
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
return radius;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FASTCALL _3DNow_VectorNormalizeFast (Vector& vec)
|
|
||||||
{
|
|
||||||
_3DNow_VectorNormalize( vec );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// JAY: This complains with the latest processor pack
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#pragma warning(disable: 4730)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
float _3DNow_InvRSquared(const float* v)
|
|
||||||
{
|
|
||||||
Assert( s_bMathlibInitialized );
|
|
||||||
float r2 = 1.f;
|
|
||||||
#ifdef _WIN32
|
|
||||||
_asm { // AMD 3DNow only routine
|
|
||||||
mov eax, v
|
|
||||||
femms
|
|
||||||
movq mm0, QWORD PTR [eax]
|
|
||||||
movd mm1, DWORD PTR [eax+8]
|
|
||||||
movd mm2, [r2]
|
|
||||||
PFMUL (mm0, mm0)
|
|
||||||
PFMUL (mm1, mm1)
|
|
||||||
PFACC (mm0, mm0)
|
|
||||||
PFADD (mm1, mm0)
|
|
||||||
PFMAX (mm1, mm2)
|
|
||||||
PFRCP (mm0, mm1)
|
|
||||||
movd [r2], mm0
|
|
||||||
femms
|
|
||||||
}
|
|
||||||
#elif defined _LINUX || defined __APPLE__
|
|
||||||
long long a,c;
|
|
||||||
int b;
|
|
||||||
memcpy(&a,&v[0],sizeof(a));
|
|
||||||
memcpy(&b,&v[2],sizeof(b));
|
|
||||||
memcpy(&c,&v[0],sizeof(c));
|
|
||||||
|
|
||||||
__asm __volatile__( "femms" );
|
|
||||||
__asm __volatile__
|
|
||||||
(
|
|
||||||
"PFMUL %y2, %y2 \n\t"
|
|
||||||
"PFMUL %y3, %y3 \n\t"
|
|
||||||
"PFACC %y2, %y2 \n\t"
|
|
||||||
"PFADD %y2, %y3 \n\t"
|
|
||||||
"PFMAX %y3, %y4 \n\t"
|
|
||||||
"PFRCP %y3, %y2 \n\t"
|
|
||||||
"movq %y2, %y0 \n\t"
|
|
||||||
: "=y" (r2)
|
|
||||||
: "0" (r2), "y" (a), "y" (b), "y" (c)
|
|
||||||
);
|
|
||||||
__asm __volatile__( "femms" );
|
|
||||||
#else
|
|
||||||
#error
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return r2;
|
|
||||||
}
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
//========= Copyright © 1996-2006, Valve Corporation, All rights reserved. ============//
|
|
||||||
//
|
|
||||||
// Purpose:
|
|
||||||
//
|
|
||||||
//=====================================================================================//
|
|
||||||
|
|
||||||
#ifndef _3DNOW_H
|
|
||||||
#define _3DNOW_H
|
|
||||||
|
|
||||||
float _3DNow_Sqrt(float x);
|
|
||||||
float _3DNow_RSqrt(float x);
|
|
||||||
float FASTCALL _3DNow_VectorNormalize (Vector& vec);
|
|
||||||
void FASTCALL _3DNow_VectorNormalizeFast (Vector& vec);
|
|
||||||
float _3DNow_InvRSquared(const float* v);
|
|
||||||
|
|
||||||
#endif // _3DNOW_H
|
|
||||||
@ -6,6 +6,7 @@
|
|||||||
//
|
//
|
||||||
//=============================================================================//
|
//=============================================================================//
|
||||||
#include <quantize.h>
|
#include <quantize.h>
|
||||||
|
#include <tier0/basetypes.h>
|
||||||
|
|
||||||
#define N_EXTRAVALUES 1
|
#define N_EXTRAVALUES 1
|
||||||
#define N_DIMENSIONS (3+N_EXTRAVALUES)
|
#define N_DIMENSIONS (3+N_EXTRAVALUES)
|
||||||
|
|||||||
22
mathlib/mathlib-2005.sln
Normal file
22
mathlib/mathlib-2005.sln
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 14
|
||||||
|
VisualStudioVersion = 14.0.25420.1
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mathlib", "mathlib-2005.vcxproj", "{884C66F2-7F84-4570-AE6C-B634C1113D69}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
@ -1,407 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="mathlib"
|
|
||||||
ProjectGUID="{884C66F2-7F84-4570-AE6C-B634C1113D69}"
|
|
||||||
RootNamespace="mathlib"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\public;..\public\tier0;..\public\tier1;..\public\mathlib"
|
|
||||||
PreprocessorDefinitions="WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
|
|
||||||
StringPooling="true"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
FloatingPointModel="2"
|
|
||||||
TreatWChar_tAsBuiltInType="true"
|
|
||||||
ForceConformanceInForLoopScope="true"
|
|
||||||
RuntimeTypeInfo="true"
|
|
||||||
OpenMP="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
ExpandAttributedSource="false"
|
|
||||||
AssemblerOutput="0"
|
|
||||||
AssemblerListingLocation="$(IntDir)/"
|
|
||||||
ObjectFile="$(IntDir)/"
|
|
||||||
ProgramDataBaseFileName="$(IntDir)/"
|
|
||||||
GenerateXMLDocumentationFiles="false"
|
|
||||||
BrowseInformation="0"
|
|
||||||
BrowseInformationFile="$(IntDir)/"
|
|
||||||
WarningLevel="4"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
CompileAs="2"
|
|
||||||
ErrorReporting="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
OutputFile="..\lib\public\mathlib.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile="$(OutDir)/mathlib.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="..\public;..\public\tier0;..\public\tier1;..\public\mathlib"
|
|
||||||
PreprocessorDefinitions="WIN32;_WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
FloatingPointModel="2"
|
|
||||||
TreatWChar_tAsBuiltInType="true"
|
|
||||||
ForceConformanceInForLoopScope="true"
|
|
||||||
RuntimeTypeInfo="true"
|
|
||||||
OpenMP="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
ExpandAttributedSource="false"
|
|
||||||
AssemblerOutput="0"
|
|
||||||
AssemblerListingLocation="$(IntDir)/"
|
|
||||||
ObjectFile="$(IntDir)/"
|
|
||||||
ProgramDataBaseFileName="$(IntDir)/"
|
|
||||||
GenerateXMLDocumentationFiles="false"
|
|
||||||
BrowseInformation="0"
|
|
||||||
BrowseInformationFile="$(IntDir)/"
|
|
||||||
WarningLevel="4"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="1"
|
|
||||||
CompileAs="2"
|
|
||||||
ErrorReporting="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
OutputFile="..\lib\public\mathlib.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile="$(OutDir)/mathlib.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\3dnow.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\anorms.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\bumpvects.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\color_conversion.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\halton.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\IceKey.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\imagequant.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\lightdesc.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\mathlib_base.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\polyhedron.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\powsse.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\quantize.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\randsse.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\simdvectormatrix.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\sparse_convolution_noise.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\sse.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\sseconst.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\ssenoise.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\vector.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\vmatrix.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Public Header Files"
|
|
||||||
Filter="h"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\amd3dx.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\anorms.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\bumpvects.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\compressed_3d_unitvec.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\compressed_light_cube.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\compressed_vector.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\halton.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\IceKey.H"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\lightdesc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\math_pfns.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\mathlib.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\noise.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\polyhedron.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\quantize.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\simdvectormatrix.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\ssemath.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\ssequaternion.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\vector.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\vector2d.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\vector4d.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\vmatrix.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\mathlib\vplane.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\3dnow.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\noisedata.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\sse.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
207
mathlib/mathlib-2005.vcxproj
Normal file
207
mathlib/mathlib-2005.vcxproj
Normal file
@ -0,0 +1,207 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectName>mathlib</ProjectName>
|
||||||
|
<ProjectGuid>{884C66F2-7F84-4570-AE6C-B634C1113D69}</ProjectGuid>
|
||||||
|
<RootNamespace>mathlib</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>v120_xp</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<OutDir>.\Debug\</OutDir>
|
||||||
|
<IntDir>.\Debug\</IntDir>
|
||||||
|
<PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
|
||||||
|
<PreLinkEventUseInBuild>true</PreLinkEventUseInBuild>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<OutDir>.\Release\</OutDir>
|
||||||
|
<IntDir>.\Release\</IntDir>
|
||||||
|
<PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
|
||||||
|
<PreLinkEventUseInBuild>true</PreLinkEventUseInBuild>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command />
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;..\public\mathlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<ExceptionHandling />
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FloatingPointModel>Fast</FloatingPointModel>
|
||||||
|
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||||
|
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
<OpenMPSupport>false</OpenMPSupport>
|
||||||
|
<PrecompiledHeader />
|
||||||
|
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||||
|
<AssemblerOutput />
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||||
|
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||||
|
<BrowseInformation />
|
||||||
|
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
<ErrorReporting>Prompt</ErrorReporting>
|
||||||
|
</ClCompile>
|
||||||
|
<PreLinkEvent>
|
||||||
|
<Command />
|
||||||
|
</PreLinkEvent>
|
||||||
|
<Lib>
|
||||||
|
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||||
|
<OutputFile>..\lib\public\mathlib.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
<Xdcmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Xdcmake>
|
||||||
|
<Bscmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<OutputFile>$(OutDir)mathlib.bsc</OutputFile>
|
||||||
|
</Bscmake>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command />
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;..\public\mathlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling />
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<FloatingPointModel>Fast</FloatingPointModel>
|
||||||
|
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||||
|
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
<OpenMPSupport>false</OpenMPSupport>
|
||||||
|
<PrecompiledHeader />
|
||||||
|
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||||
|
<AssemblerOutput />
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||||
|
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||||
|
<BrowseInformation />
|
||||||
|
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
<ErrorReporting>Prompt</ErrorReporting>
|
||||||
|
</ClCompile>
|
||||||
|
<PreLinkEvent>
|
||||||
|
<Command />
|
||||||
|
</PreLinkEvent>
|
||||||
|
<Lib>
|
||||||
|
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||||
|
<OutputFile>..\lib\public\mathlib.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
<Xdcmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Xdcmake>
|
||||||
|
<Bscmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<OutputFile>$(OutDir)mathlib.bsc</OutputFile>
|
||||||
|
</Bscmake>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="anorms.cpp" />
|
||||||
|
<ClCompile Include="bumpvects.cpp" />
|
||||||
|
<ClCompile Include="color_conversion.cpp" />
|
||||||
|
<ClCompile Include="halton.cpp" />
|
||||||
|
<ClCompile Include="IceKey.cpp" />
|
||||||
|
<ClCompile Include="imagequant.cpp" />
|
||||||
|
<ClCompile Include="lightdesc.cpp" />
|
||||||
|
<ClCompile Include="mathlib_base.cpp" />
|
||||||
|
<ClCompile Include="polyhedron.cpp" />
|
||||||
|
<ClCompile Include="powsse.cpp" />
|
||||||
|
<ClCompile Include="quantize.cpp" />
|
||||||
|
<ClCompile Include="randsse.cpp" />
|
||||||
|
<ClCompile Include="simdvectormatrix.cpp" />
|
||||||
|
<ClCompile Include="sparse_convolution_noise.cpp" />
|
||||||
|
<ClCompile Include="sse.cpp" />
|
||||||
|
<ClCompile Include="sseconst.cpp" />
|
||||||
|
<ClCompile Include="ssenoise.cpp" />
|
||||||
|
<ClCompile Include="vector.cpp" />
|
||||||
|
<ClCompile Include="vmatrix.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\public\mathlib\amd3dx.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\anorms.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\bumpvects.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\compressed_3d_unitvec.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\compressed_light_cube.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\compressed_vector.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\halton.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\IceKey.H" />
|
||||||
|
<ClInclude Include="..\public\mathlib\lightdesc.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\mathlib.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\math_pfns.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\noise.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\polyhedron.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\quantize.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\simdvectormatrix.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\ssemath.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\ssequaternion.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\vector.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\vector2d.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\vector4d.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\vmatrix.h" />
|
||||||
|
<ClInclude Include="..\public\mathlib\vplane.h" />
|
||||||
|
<ClInclude Include="noisedata.h" />
|
||||||
|
<ClInclude Include="sse.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
150
mathlib/mathlib-2005.vcxproj.filters
Normal file
150
mathlib/mathlib-2005.vcxproj.filters
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{b3a9ae3e-2130-49ce-828c-923c9d4de5b1}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Public Header Files">
|
||||||
|
<UniqueIdentifier>{1d151cce-a8fe-4bc0-97f5-605b9531b637}</UniqueIdentifier>
|
||||||
|
<Extensions>h</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{95debf5a-5683-4ab3-ad3a-638316176fd8}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="anorms.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="bumpvects.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="color_conversion.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="halton.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="IceKey.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="imagequant.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="lightdesc.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="mathlib_base.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="polyhedron.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="powsse.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="quantize.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="randsse.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="simdvectormatrix.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="sparse_convolution_noise.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="sse.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="sseconst.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="ssenoise.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="vector.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="vmatrix.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\public\mathlib\amd3dx.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\anorms.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\bumpvects.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\compressed_3d_unitvec.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\compressed_light_cube.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\compressed_vector.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\halton.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\IceKey.H">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\lightdesc.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\math_pfns.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\mathlib.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\noise.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\polyhedron.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\quantize.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\simdvectormatrix.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\ssemath.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\ssequaternion.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\vector.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\vector2d.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\vector4d.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\vmatrix.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\mathlib\vplane.h">
|
||||||
|
<Filter>Public Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="noisedata.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="sse.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@ -24,8 +24,6 @@
|
|||||||
#include "mathlib/mathlib.h"
|
#include "mathlib/mathlib.h"
|
||||||
#include "mathlib/vector.h"
|
#include "mathlib/vector.h"
|
||||||
#if !defined( _X360 )
|
#if !defined( _X360 )
|
||||||
#include "mathlib/amd3dx.h"
|
|
||||||
#include "3dnow.h"
|
|
||||||
#include "sse.h"
|
#include "sse.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -3235,24 +3233,7 @@ void MathLib_Init( float gamma, float texGamma, float brightness, int overbright
|
|||||||
s_bMMXEnabled = false;
|
s_bMMXEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// SSE Generally performs better than 3DNow when present, so this is placed
|
s_b3DNowEnabled = false;
|
||||||
// first to allow SSE to override these settings.
|
|
||||||
if ( bAllow3DNow && pi.m_b3DNow )
|
|
||||||
{
|
|
||||||
s_b3DNowEnabled = true;
|
|
||||||
|
|
||||||
// Select the 3DNow specific routines if available;
|
|
||||||
pfVectorNormalize = _3DNow_VectorNormalize;
|
|
||||||
pfVectorNormalizeFast = _3DNow_VectorNormalizeFast;
|
|
||||||
pfInvRSquared = _3DNow_InvRSquared;
|
|
||||||
pfSqrt = _3DNow_Sqrt;
|
|
||||||
pfRSqrt = _3DNow_RSqrt;
|
|
||||||
pfRSqrtFast = _3DNow_RSqrt;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
s_b3DNowEnabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( bAllowSSE && pi.m_bSSE )
|
if ( bAllowSSE && pi.m_bSSE )
|
||||||
{
|
{
|
||||||
|
|||||||
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
#include <tier0/basetypes.h>
|
||||||
|
|
||||||
static int current_ndims;
|
static int current_ndims;
|
||||||
static struct QuantizedValue *current_root;
|
static struct QuantizedValue *current_root;
|
||||||
static int current_ssize;
|
static int current_ssize;
|
||||||
|
|||||||
376
mathlib/sse.cpp
376
mathlib/sse.cpp
@ -35,18 +35,18 @@ static const uint32 _sincos_inv_masks[] = { (uint32)~0x0, (uint32)0x0 };
|
|||||||
|
|
||||||
#define _PS_CONST(Name, Val) \
|
#define _PS_CONST(Name, Val) \
|
||||||
static const __declspec(align(16)) float _ps_##Name[4] = { Val, Val, Val, Val }
|
static const __declspec(align(16)) float _ps_##Name[4] = { Val, Val, Val, Val }
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
#define _PS_EXTERN_CONST(Name, Val) \
|
#define _PS_EXTERN_CONST(Name, Val) \
|
||||||
const __attribute__((aligned(16))) float _ps_##Name[4] = { Val, Val, Val, Val }
|
const float _ps_##Name[4] __attribute__((aligned(16))) = { Val, Val, Val, Val }
|
||||||
|
|
||||||
#define _PS_EXTERN_CONST_TYPE(Name, Type, Val) \
|
#define _PS_EXTERN_CONST_TYPE(Name, Type, Val) \
|
||||||
const __attribute__((aligned(16))) Type _ps_##Name[4] = { Val, Val, Val, Val }; \
|
const Type _ps_##Name[4] __attribute__((aligned(16))) = { Val, Val, Val, Val }; \
|
||||||
|
|
||||||
#define _EPI32_CONST(Name, Val) \
|
#define _EPI32_CONST(Name, Val) \
|
||||||
static const __attribute__((aligned(16))) int32 _epi32_##Name[4] = { Val, Val, Val, Val }
|
static const int32 _epi32_##Name[4] __attribute__((aligned(16))) = { Val, Val, Val, Val }
|
||||||
|
|
||||||
#define _PS_CONST(Name, Val) \
|
#define _PS_CONST(Name, Val) \
|
||||||
static const __attribute__((aligned(16))) float _ps_##Name[4] = { Val, Val, Val, Val }
|
static const float _ps_##Name[4] __attribute__((aligned(16))) = { Val, Val, Val, Val }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_PS_EXTERN_CONST(am_0, 0.0f);
|
_PS_EXTERN_CONST(am_0, 0.0f);
|
||||||
@ -90,14 +90,8 @@ float _SSE_Sqrt(float x)
|
|||||||
sqrtss xmm0, x
|
sqrtss xmm0, x
|
||||||
movss root, xmm0
|
movss root, xmm0
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
__asm__ __volatile__(
|
_mm_store_ss( &root, _mm_sqrt_ss( _mm_load_ss( &x ) ) );
|
||||||
"movss %1,%%xmm2\n"
|
|
||||||
"sqrtss %%xmm2,%%xmm1\n"
|
|
||||||
"movss %%xmm1,%0"
|
|
||||||
: "=m" (root)
|
|
||||||
: "m" (x)
|
|
||||||
);
|
|
||||||
#endif
|
#endif
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
@ -120,14 +114,21 @@ float _SSE_RSqrtAccurate(float x)
|
|||||||
return (0.5f * rroot) * (3.f - (x * rroot) * rroot);
|
return (0.5f * rroot) * (3.f - (x * rroot) * rroot);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
#ifdef POSIX
|
||||||
|
const __m128 f3 = _mm_set_ss(3.0f); // 3 as SSE value
|
||||||
|
const __m128 f05 = _mm_set_ss(0.5f); // 0.5 as SSE value
|
||||||
|
#endif
|
||||||
|
|
||||||
// Intel / Kipps SSE RSqrt. Significantly faster than above.
|
// Intel / Kipps SSE RSqrt. Significantly faster than above.
|
||||||
float _SSE_RSqrtAccurate(float a)
|
float _SSE_RSqrtAccurate(float a)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
float x;
|
float x;
|
||||||
float half = 0.5f;
|
float half = 0.5f;
|
||||||
float three = 3.f;
|
float three = 3.f;
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
__asm
|
__asm
|
||||||
{
|
{
|
||||||
movss xmm3, a;
|
movss xmm3, a;
|
||||||
@ -143,26 +144,25 @@ float _SSE_RSqrtAccurate(float a)
|
|||||||
|
|
||||||
movss x, xmm1;
|
movss x, xmm1;
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
|
||||||
__asm__ __volatile__(
|
return x;
|
||||||
"movss %1, %%xmm3 \n\t"
|
#elif POSIX
|
||||||
"movss %2, %%xmm1 \n\t"
|
__m128 xx = _mm_load_ss( &a );
|
||||||
"movss %3, %%xmm2 \n\t"
|
__m128 xr = _mm_rsqrt_ss( xx );
|
||||||
"rsqrtss %%xmm3, %%xmm0 \n\t"
|
__m128 xt;
|
||||||
"mulss %%xmm0, %%xmm3 \n\t"
|
|
||||||
"mulss %%xmm0, %%xmm1 \n\t"
|
xt = _mm_mul_ss( xr, xr );
|
||||||
"mulss %%xmm0, %%xmm3 \n\t"
|
xt = _mm_mul_ss( xt, xx );
|
||||||
"subss %%xmm3, %%xmm2 \n\t"
|
xt = _mm_sub_ss( f3, xt );
|
||||||
"mulss %%xmm2, %%xmm1 \n\t"
|
xt = _mm_mul_ss( xt, f05 );
|
||||||
"movss %%xmm1, %0 \n\t"
|
xr = _mm_mul_ss( xr, xt );
|
||||||
: "=m" (x)
|
|
||||||
: "m" (a), "m" (half), "m" (three)
|
_mm_store_ss( &a, xr );
|
||||||
);
|
return a;
|
||||||
#else
|
#else
|
||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return x;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -179,14 +179,8 @@ float _SSE_RSqrtFast(float x)
|
|||||||
rsqrtss xmm0, x
|
rsqrtss xmm0, x
|
||||||
movss rroot, xmm0
|
movss rroot, xmm0
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__( "rsqrtss %0, %1" : "=x" (rroot) : "x" (x) );
|
||||||
"rsqrtss %1, %%xmm0 \n\t"
|
|
||||||
"movss %%xmm0, %0 \n\t"
|
|
||||||
: "=m" (x)
|
|
||||||
: "m" (rroot)
|
|
||||||
: "%xmm0"
|
|
||||||
);
|
|
||||||
#else
|
#else
|
||||||
#error
|
#error
|
||||||
#endif
|
#endif
|
||||||
@ -202,11 +196,14 @@ float FASTCALL _SSE_VectorNormalize (Vector& vec)
|
|||||||
// sice vec only has 3 floats, we can't "movaps" directly into it.
|
// sice vec only has 3 floats, we can't "movaps" directly into it.
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
__declspec(align(16)) float result[4];
|
__declspec(align(16)) float result[4];
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
__attribute__((aligned(16))) float result[4];
|
float result[4] __attribute__((aligned(16)));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float *v = &vec[0];
|
float *v = &vec[0];
|
||||||
|
#ifdef _WIN32
|
||||||
|
float *r = &result[0];
|
||||||
|
#endif
|
||||||
|
|
||||||
float radius = 0.f;
|
float radius = 0.f;
|
||||||
// Blah, get rid of these comparisons ... in reality, if you have all 3 as zero, it shouldn't
|
// Blah, get rid of these comparisons ... in reality, if you have all 3 as zero, it shouldn't
|
||||||
@ -214,7 +211,6 @@ float FASTCALL _SSE_VectorNormalize (Vector& vec)
|
|||||||
if ( v[0] || v[1] || v[2] )
|
if ( v[0] || v[1] || v[2] )
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
float *r = &result[0];
|
|
||||||
_asm
|
_asm
|
||||||
{
|
{
|
||||||
mov eax, v
|
mov eax, v
|
||||||
@ -239,7 +235,7 @@ float FASTCALL _SSE_VectorNormalize (Vector& vec)
|
|||||||
mulps xmm4, xmm1 // r4 = vx * 1/radius, vy * 1/radius, vz * 1/radius, X
|
mulps xmm4, xmm1 // r4 = vx * 1/radius, vy * 1/radius, vz * 1/radius, X
|
||||||
movaps [edx], xmm4 // v = vx * 1/radius, vy * 1/radius, vz * 1/radius, X
|
movaps [edx], xmm4 // v = vx * 1/radius, vy * 1/radius, vz * 1/radius, X
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__(
|
||||||
#ifdef ALIGNED_VECTOR
|
#ifdef ALIGNED_VECTOR
|
||||||
"movaps %2, %%xmm4 \n\t"
|
"movaps %2, %%xmm4 \n\t"
|
||||||
@ -262,6 +258,7 @@ float FASTCALL _SSE_VectorNormalize (Vector& vec)
|
|||||||
"movaps %%xmm4, %1 \n\t"
|
"movaps %%xmm4, %1 \n\t"
|
||||||
: "=m" (radius), "=m" (result)
|
: "=m" (radius), "=m" (result)
|
||||||
: "m" (*v)
|
: "m" (*v)
|
||||||
|
: "xmm1", "xmm2", "xmm3", "xmm4"
|
||||||
);
|
);
|
||||||
#else
|
#else
|
||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
@ -303,12 +300,13 @@ float _SSE_InvRSquared(const float* v)
|
|||||||
shufps xmm2, xmm2, 1 // x2 = vy * vy, X, X, X
|
shufps xmm2, xmm2, 1 // x2 = vy * vy, X, X, X
|
||||||
addss xmm1, xmm2 // x1 = (vx * vx) + (vy * vy), X, X, X
|
addss xmm1, xmm2 // x1 = (vx * vx) + (vy * vy), X, X, X
|
||||||
addss xmm1, xmm3 // x1 = (vx * vx) + (vy * vy) + (vz * vz), X, X, X
|
addss xmm1, xmm3 // x1 = (vx * vx) + (vy * vy) + (vz * vz), X, X, X
|
||||||
maxss xmm1, xmm5 // x1 = MAX( 1.0, x1 )
|
maxss xmm1, xmm5 // x1 = max( 1.0, x1 )
|
||||||
rcpss xmm0, xmm1 // x0 = 1 / MAX( 1.0, x1 )
|
rcpss xmm0, xmm1 // x0 = 1 / max( 1.0, x1 )
|
||||||
movss inv_r2, xmm0 // inv_r2 = x0
|
movss inv_r2, xmm0 // inv_r2 = x0
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__(
|
||||||
|
"movss %0, %%xmm5 \n\t"
|
||||||
#ifdef ALIGNED_VECTOR
|
#ifdef ALIGNED_VECTOR
|
||||||
"movaps %1, %%xmm4 \n\t"
|
"movaps %1, %%xmm4 \n\t"
|
||||||
#else
|
#else
|
||||||
@ -324,8 +322,9 @@ float _SSE_InvRSquared(const float* v)
|
|||||||
"maxss %%xmm5, %%xmm1 \n\t"
|
"maxss %%xmm5, %%xmm1 \n\t"
|
||||||
"rcpss %%xmm1, %%xmm0 \n\t"
|
"rcpss %%xmm1, %%xmm0 \n\t"
|
||||||
"movss %%xmm0, %0 \n\t"
|
"movss %%xmm0, %0 \n\t"
|
||||||
: "=m" (inv_r2)
|
: "+m" (inv_r2)
|
||||||
: "m" (*v), "m" (inv_r2)
|
: "m" (*v)
|
||||||
|
: "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
|
||||||
);
|
);
|
||||||
#else
|
#else
|
||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
@ -334,6 +333,48 @@ float _SSE_InvRSquared(const float* v)
|
|||||||
return inv_r2;
|
return inv_r2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef POSIX
|
||||||
|
// #define _PS_CONST(Name, Val) static const ALIGN16 float _ps_##Name[4] ALIGN16_POST = { Val, Val, Val, Val }
|
||||||
|
#define _PS_CONST_TYPE(Name, Type, Val) static const ALIGN16 Type _ps_##Name[4] ALIGN16_POST = { Val, Val, Val, Val }
|
||||||
|
|
||||||
|
_PS_CONST_TYPE(sign_mask, int, 0x80000000);
|
||||||
|
_PS_CONST_TYPE(inv_sign_mask, int, ~0x80000000);
|
||||||
|
|
||||||
|
|
||||||
|
#define _PI32_CONST(Name, Val) static const ALIGN16 int _pi32_##Name[4] ALIGN16_POST = { Val, Val, Val, Val }
|
||||||
|
|
||||||
|
_PI32_CONST(1, 1);
|
||||||
|
_PI32_CONST(inv1, ~1);
|
||||||
|
_PI32_CONST(2, 2);
|
||||||
|
_PI32_CONST(4, 4);
|
||||||
|
_PI32_CONST(0x7f, 0x7f);
|
||||||
|
_PS_CONST(1 , 1.0f);
|
||||||
|
_PS_CONST(0p5, 0.5f);
|
||||||
|
|
||||||
|
_PS_CONST(minus_cephes_DP1, -0.78515625);
|
||||||
|
_PS_CONST(minus_cephes_DP2, -2.4187564849853515625e-4);
|
||||||
|
_PS_CONST(minus_cephes_DP3, -3.77489497744594108e-8);
|
||||||
|
_PS_CONST(sincof_p0, -1.9515295891E-4);
|
||||||
|
_PS_CONST(sincof_p1, 8.3321608736E-3);
|
||||||
|
_PS_CONST(sincof_p2, -1.6666654611E-1);
|
||||||
|
_PS_CONST(coscof_p0, 2.443315711809948E-005);
|
||||||
|
_PS_CONST(coscof_p1, -1.388731625493765E-003);
|
||||||
|
_PS_CONST(coscof_p2, 4.166664568298827E-002);
|
||||||
|
_PS_CONST(cephes_FOPI, 1.27323954473516); // 4 / M_PI
|
||||||
|
|
||||||
|
typedef union xmm_mm_union {
|
||||||
|
__m128 xmm;
|
||||||
|
__m64 mm[2];
|
||||||
|
} xmm_mm_union;
|
||||||
|
|
||||||
|
#define COPY_MM_TO_XMM(mm0_, mm1_, xmm_) { xmm_mm_union u; u.mm[0]=mm0_; u.mm[1]=mm1_; xmm_ = u.xmm; }
|
||||||
|
|
||||||
|
typedef __m128 v4sf; // vector of 4 float (sse1)
|
||||||
|
typedef __m64 v2si; // vector of 2 int (mmx)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
void _SSE_SinCos(float x, float* s, float* c)
|
void _SSE_SinCos(float x, float* s, float* c)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@ -421,8 +462,121 @@ void _SSE_SinCos(float x, float* s, float* c)
|
|||||||
movss [eax], xmm0
|
movss [eax], xmm0
|
||||||
movss [edx], xmm4
|
movss [edx], xmm4
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
// #warning "_SSE_sincos NOT implemented!"
|
|
||||||
|
Assert( "Needs testing, verify impl!\n" );
|
||||||
|
|
||||||
|
v4sf xx = _mm_load_ss( &x );
|
||||||
|
|
||||||
|
v4sf xmm1, xmm2, xmm3 = _mm_setzero_ps(), sign_bit_sin, y;
|
||||||
|
v2si mm0, mm1, mm2, mm3, mm4, mm5;
|
||||||
|
sign_bit_sin = xx;
|
||||||
|
/* take the absolute value */
|
||||||
|
xx = _mm_and_ps(xx, *(v4sf*)_ps_inv_sign_mask);
|
||||||
|
/* extract the sign bit (upper one) */
|
||||||
|
sign_bit_sin = _mm_and_ps(sign_bit_sin, *(v4sf*)_ps_sign_mask);
|
||||||
|
|
||||||
|
/* scale by 4/Pi */
|
||||||
|
y = _mm_mul_ps(xx, *(v4sf*)_ps_cephes_FOPI);
|
||||||
|
|
||||||
|
/* store the integer part of y in mm2:mm3 */
|
||||||
|
xmm3 = _mm_movehl_ps(xmm3, y);
|
||||||
|
mm2 = _mm_cvttps_pi32(y);
|
||||||
|
mm3 = _mm_cvttps_pi32(xmm3);
|
||||||
|
|
||||||
|
/* j=(j+1) & (~1) (see the cephes sources) */
|
||||||
|
mm2 = _mm_add_pi32(mm2, *(v2si*)_pi32_1);
|
||||||
|
mm3 = _mm_add_pi32(mm3, *(v2si*)_pi32_1);
|
||||||
|
mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_inv1);
|
||||||
|
mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_inv1);
|
||||||
|
|
||||||
|
y = _mm_cvtpi32x2_ps(mm2, mm3);
|
||||||
|
|
||||||
|
mm4 = mm2;
|
||||||
|
mm5 = mm3;
|
||||||
|
|
||||||
|
/* get the swap sign flag for the sine */
|
||||||
|
mm0 = _mm_and_si64(mm2, *(v2si*)_pi32_4);
|
||||||
|
mm1 = _mm_and_si64(mm3, *(v2si*)_pi32_4);
|
||||||
|
mm0 = _mm_slli_pi32(mm0, 29);
|
||||||
|
mm1 = _mm_slli_pi32(mm1, 29);
|
||||||
|
v4sf swap_sign_bit_sin;
|
||||||
|
COPY_MM_TO_XMM(mm0, mm1, swap_sign_bit_sin);
|
||||||
|
|
||||||
|
/* get the polynom selection mask for the sine */
|
||||||
|
|
||||||
|
mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_2);
|
||||||
|
mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_2);
|
||||||
|
mm2 = _mm_cmpeq_pi32(mm2, _mm_setzero_si64());
|
||||||
|
mm3 = _mm_cmpeq_pi32(mm3, _mm_setzero_si64());
|
||||||
|
v4sf poly_mask;
|
||||||
|
COPY_MM_TO_XMM(mm2, mm3, poly_mask);
|
||||||
|
|
||||||
|
/* The magic pass: "Extended precision modular arithmetic"
|
||||||
|
x = ((x - y * DP1) - y * DP2) - y * DP3; */
|
||||||
|
xmm1 = *(v4sf*)_ps_minus_cephes_DP1;
|
||||||
|
xmm2 = *(v4sf*)_ps_minus_cephes_DP2;
|
||||||
|
xmm3 = *(v4sf*)_ps_minus_cephes_DP3;
|
||||||
|
xmm1 = _mm_mul_ps(y, xmm1);
|
||||||
|
xmm2 = _mm_mul_ps(y, xmm2);
|
||||||
|
xmm3 = _mm_mul_ps(y, xmm3);
|
||||||
|
xx = _mm_add_ps(xx, xmm1);
|
||||||
|
xx = _mm_add_ps(xx, xmm2);
|
||||||
|
xx = _mm_add_ps(xx, xmm3);
|
||||||
|
|
||||||
|
/* get the sign flag for the cosine */
|
||||||
|
mm4 = _mm_sub_pi32(mm4, *(v2si*)_pi32_2);
|
||||||
|
mm5 = _mm_sub_pi32(mm5, *(v2si*)_pi32_2);
|
||||||
|
mm4 = _mm_andnot_si64(mm4, *(v2si*)_pi32_4);
|
||||||
|
mm5 = _mm_andnot_si64(mm5, *(v2si*)_pi32_4);
|
||||||
|
mm4 = _mm_slli_pi32(mm4, 29);
|
||||||
|
mm5 = _mm_slli_pi32(mm5, 29);
|
||||||
|
v4sf sign_bit_cos;
|
||||||
|
COPY_MM_TO_XMM(mm4, mm5, sign_bit_cos);
|
||||||
|
_mm_empty(); /* good-bye mmx */
|
||||||
|
|
||||||
|
sign_bit_sin = _mm_xor_ps(sign_bit_sin, swap_sign_bit_sin);
|
||||||
|
|
||||||
|
|
||||||
|
/* Evaluate the first polynom (0 <= x <= Pi/4) */
|
||||||
|
v4sf z = _mm_mul_ps(xx,xx);
|
||||||
|
y = *(v4sf*)_ps_coscof_p0;
|
||||||
|
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p1);
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p2);
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
v4sf tmp = _mm_mul_ps(z, *(v4sf*)_ps_0p5);
|
||||||
|
y = _mm_sub_ps(y, tmp);
|
||||||
|
y = _mm_add_ps(y, *(v4sf*)_ps_1);
|
||||||
|
|
||||||
|
/* Evaluate the second polynom (Pi/4 <= x <= 0) */
|
||||||
|
|
||||||
|
v4sf y2 = *(v4sf*)_ps_sincof_p0;
|
||||||
|
y2 = _mm_mul_ps(y2, z);
|
||||||
|
y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p1);
|
||||||
|
y2 = _mm_mul_ps(y2, z);
|
||||||
|
y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p2);
|
||||||
|
y2 = _mm_mul_ps(y2, z);
|
||||||
|
y2 = _mm_mul_ps(y2, xx);
|
||||||
|
y2 = _mm_add_ps(y2, xx);
|
||||||
|
|
||||||
|
/* select the correct result from the two polynoms */
|
||||||
|
xmm3 = poly_mask;
|
||||||
|
v4sf ysin2 = _mm_and_ps(xmm3, y2);
|
||||||
|
v4sf ysin1 = _mm_andnot_ps(xmm3, y);
|
||||||
|
y2 = _mm_sub_ps(y2,ysin2);
|
||||||
|
y = _mm_sub_ps(y, ysin1);
|
||||||
|
|
||||||
|
xmm1 = _mm_add_ps(ysin1,ysin2);
|
||||||
|
xmm2 = _mm_add_ps(y,y2);
|
||||||
|
|
||||||
|
/* update the sign */
|
||||||
|
_mm_store_ss( s, _mm_xor_ps(xmm1, sign_bit_sin) );
|
||||||
|
_mm_store_ss( c, _mm_xor_ps(xmm2, sign_bit_cos) );
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
#endif
|
#endif
|
||||||
@ -479,8 +633,102 @@ float _SSE_cos( float x )
|
|||||||
movss x, xmm0
|
movss x, xmm0
|
||||||
|
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
// #warning "_SSE_cos NOT implemented!"
|
|
||||||
|
Assert( "Needs testing, verify impl!\n" );
|
||||||
|
|
||||||
|
v4sf xmm1, xmm2 = _mm_setzero_ps(), xmm3, y;
|
||||||
|
v2si mm0, mm1, mm2, mm3;
|
||||||
|
/* take the absolute value */
|
||||||
|
v4sf xx = _mm_load_ss( &x );
|
||||||
|
|
||||||
|
xx = _mm_and_ps(xx, *(v4sf*)_ps_inv_sign_mask);
|
||||||
|
|
||||||
|
/* scale by 4/Pi */
|
||||||
|
y = _mm_mul_ps(xx, *(v4sf*)_ps_cephes_FOPI);
|
||||||
|
|
||||||
|
/* store the integer part of y in mm0:mm1 */
|
||||||
|
xmm2 = _mm_movehl_ps(xmm2, y);
|
||||||
|
mm2 = _mm_cvttps_pi32(y);
|
||||||
|
mm3 = _mm_cvttps_pi32(xmm2);
|
||||||
|
|
||||||
|
/* j=(j+1) & (~1) (see the cephes sources) */
|
||||||
|
mm2 = _mm_add_pi32(mm2, *(v2si*)_pi32_1);
|
||||||
|
mm3 = _mm_add_pi32(mm3, *(v2si*)_pi32_1);
|
||||||
|
mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_inv1);
|
||||||
|
mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_inv1);
|
||||||
|
|
||||||
|
y = _mm_cvtpi32x2_ps(mm2, mm3);
|
||||||
|
|
||||||
|
|
||||||
|
mm2 = _mm_sub_pi32(mm2, *(v2si*)_pi32_2);
|
||||||
|
mm3 = _mm_sub_pi32(mm3, *(v2si*)_pi32_2);
|
||||||
|
|
||||||
|
/* get the swap sign flag in mm0:mm1 and the
|
||||||
|
polynom selection mask in mm2:mm3 */
|
||||||
|
|
||||||
|
mm0 = _mm_andnot_si64(mm2, *(v2si*)_pi32_4);
|
||||||
|
mm1 = _mm_andnot_si64(mm3, *(v2si*)_pi32_4);
|
||||||
|
mm0 = _mm_slli_pi32(mm0, 29);
|
||||||
|
mm1 = _mm_slli_pi32(mm1, 29);
|
||||||
|
|
||||||
|
mm2 = _mm_and_si64(mm2, *(v2si*)_pi32_2);
|
||||||
|
mm3 = _mm_and_si64(mm3, *(v2si*)_pi32_2);
|
||||||
|
|
||||||
|
mm2 = _mm_cmpeq_pi32(mm2, _mm_setzero_si64());
|
||||||
|
mm3 = _mm_cmpeq_pi32(mm3, _mm_setzero_si64());
|
||||||
|
|
||||||
|
v4sf sign_bit, poly_mask;
|
||||||
|
COPY_MM_TO_XMM(mm0, mm1, sign_bit);
|
||||||
|
COPY_MM_TO_XMM(mm2, mm3, poly_mask);
|
||||||
|
_mm_empty(); /* good-bye mmx */
|
||||||
|
|
||||||
|
/* The magic pass: "Extended precision modular arithmetic"
|
||||||
|
x = ((x - y * DP1) - y * DP2) - y * DP3; */
|
||||||
|
xmm1 = *(v4sf*)_ps_minus_cephes_DP1;
|
||||||
|
xmm2 = *(v4sf*)_ps_minus_cephes_DP2;
|
||||||
|
xmm3 = *(v4sf*)_ps_minus_cephes_DP3;
|
||||||
|
xmm1 = _mm_mul_ps(y, xmm1);
|
||||||
|
xmm2 = _mm_mul_ps(y, xmm2);
|
||||||
|
xmm3 = _mm_mul_ps(y, xmm3);
|
||||||
|
xx = _mm_add_ps(xx, xmm1);
|
||||||
|
xx = _mm_add_ps(xx, xmm2);
|
||||||
|
xx = _mm_add_ps(xx, xmm3);
|
||||||
|
|
||||||
|
/* Evaluate the first polynom (0 <= x <= Pi/4) */
|
||||||
|
y = *(v4sf*)_ps_coscof_p0;
|
||||||
|
v4sf z = _mm_mul_ps(xx,xx);
|
||||||
|
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p1);
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
y = _mm_add_ps(y, *(v4sf*)_ps_coscof_p2);
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
y = _mm_mul_ps(y, z);
|
||||||
|
v4sf tmp = _mm_mul_ps(z, *(v4sf*)_ps_0p5);
|
||||||
|
y = _mm_sub_ps(y, tmp);
|
||||||
|
y = _mm_add_ps(y, *(v4sf*)_ps_1);
|
||||||
|
|
||||||
|
/* Evaluate the second polynom (Pi/4 <= x <= 0) */
|
||||||
|
|
||||||
|
v4sf y2 = *(v4sf*)_ps_sincof_p0;
|
||||||
|
y2 = _mm_mul_ps(y2, z);
|
||||||
|
y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p1);
|
||||||
|
y2 = _mm_mul_ps(y2, z);
|
||||||
|
y2 = _mm_add_ps(y2, *(v4sf*)_ps_sincof_p2);
|
||||||
|
y2 = _mm_mul_ps(y2, z);
|
||||||
|
y2 = _mm_mul_ps(y2, xx);
|
||||||
|
y2 = _mm_add_ps(y2, xx);
|
||||||
|
|
||||||
|
/* select the correct result from the two polynoms */
|
||||||
|
xmm3 = poly_mask;
|
||||||
|
y2 = _mm_and_ps(xmm3, y2); //, xmm3);
|
||||||
|
y = _mm_andnot_ps(xmm3, y);
|
||||||
|
y = _mm_add_ps(y,y2);
|
||||||
|
/* update the sign */
|
||||||
|
|
||||||
|
_mm_store_ss( &x, _mm_xor_ps(y, sign_bit) );
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
#endif
|
#endif
|
||||||
@ -491,6 +739,7 @@ float _SSE_cos( float x )
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// SSE2 implementations of optimized routines:
|
// SSE2 implementations of optimized routines:
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
#ifdef PLATFORM_WINDOWS_PC32
|
||||||
void _SSE2_SinCos(float x, float* s, float* c) // any x
|
void _SSE2_SinCos(float x, float* s, float* c) // any x
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@ -569,13 +818,16 @@ void _SSE2_SinCos(float x, float* s, float* c) // any x
|
|||||||
movss [eax], xmm0
|
movss [eax], xmm0
|
||||||
movss [edx], xmm6
|
movss [edx], xmm6
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
// #warning "_SSE2_SinCos NOT implemented!"
|
#warning "_SSE2_SinCos NOT implemented!"
|
||||||
|
Assert( 0 );
|
||||||
#else
|
#else
|
||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif // PLATFORM_WINDOWS_PC32
|
||||||
|
|
||||||
|
#ifdef PLATFORM_WINDOWS_PC32
|
||||||
float _SSE2_cos(float x)
|
float _SSE2_cos(float x)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
@ -624,15 +876,18 @@ float _SSE2_cos(float x)
|
|||||||
mulss xmm0, xmm1
|
mulss xmm0, xmm1
|
||||||
movss x, xmm0
|
movss x, xmm0
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
// #warning "_SSE2_cos NOT implemented!"
|
#warning "_SSE2_cos NOT implemented!"
|
||||||
|
Assert( 0 );
|
||||||
#else
|
#else
|
||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
#endif // PLATFORM_WINDOWS_PC32
|
||||||
|
|
||||||
|
#if 0
|
||||||
// SSE Version of VectorTransform
|
// SSE Version of VectorTransform
|
||||||
void VectorTransformSSE(const float *in1, const matrix3x4_t& in2, float *out1)
|
void VectorTransformSSE(const float *in1, const matrix3x4_t& in2, float *out1)
|
||||||
{
|
{
|
||||||
@ -681,8 +936,8 @@ void VectorTransformSSE(const float *in1, const matrix3x4_t& in2, float *out1)
|
|||||||
addss xmm0, [ecx+12]
|
addss xmm0, [ecx+12]
|
||||||
movss [edx+8], xmm0;
|
movss [edx+8], xmm0;
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
// #warning "VectorTransformSSE C implementation only"
|
#warning "VectorTransformSSE C implementation only"
|
||||||
out1[0] = DotProduct(in1, in2[0]) + in2[0][3];
|
out1[0] = DotProduct(in1, in2[0]) + in2[0][3];
|
||||||
out1[1] = DotProduct(in1, in2[1]) + in2[1][3];
|
out1[1] = DotProduct(in1, in2[1]) + in2[1][3];
|
||||||
out1[2] = DotProduct(in1, in2[2]) + in2[2][3];
|
out1[2] = DotProduct(in1, in2[2]) + in2[2][3];
|
||||||
@ -690,7 +945,9 @@ void VectorTransformSSE(const float *in1, const matrix3x4_t& in2, float *out1)
|
|||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
void VectorRotateSSE( const float *in1, const matrix3x4_t& in2, float *out1 )
|
void VectorRotateSSE( const float *in1, const matrix3x4_t& in2, float *out1 )
|
||||||
{
|
{
|
||||||
Assert( s_bMathlibInitialized );
|
Assert( s_bMathlibInitialized );
|
||||||
@ -735,8 +992,8 @@ void VectorRotateSSE( const float *in1, const matrix3x4_t& in2, float *out1 )
|
|||||||
addss xmm0, xmm2;
|
addss xmm0, xmm2;
|
||||||
movss [edx+8], xmm0;
|
movss [edx+8], xmm0;
|
||||||
}
|
}
|
||||||
#elif defined _LINUX || defined __APPLE__
|
#elif POSIX
|
||||||
// #warning "VectorRotateSSE C implementation only"
|
#warning "VectorRotateSSE C implementation only"
|
||||||
out1[0] = DotProduct( in1, in2[0] );
|
out1[0] = DotProduct( in1, in2[0] );
|
||||||
out1[1] = DotProduct( in1, in2[1] );
|
out1[1] = DotProduct( in1, in2[1] );
|
||||||
out1[2] = DotProduct( in1, in2[2] );
|
out1[2] = DotProduct( in1, in2[2] );
|
||||||
@ -744,6 +1001,7 @@ void VectorRotateSSE( const float *in1, const matrix3x4_t& in2, float *out1 )
|
|||||||
#error "Not Implemented"
|
#error "Not Implemented"
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
void _declspec(naked) _SSE_VectorMA( const float *start, float scale, const float *direction, float *dest )
|
void _declspec(naked) _SSE_VectorMA( const float *start, float scale, const float *direction, float *dest )
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
typedef short HSOUNDSCRIPTHANDLE;
|
typedef short HSOUNDSCRIPTHANDLE;
|
||||||
#define SOUNDEMITTER_INVALID_HANDLE (HSOUNDSCRIPTHANDLE)-1
|
#define SOUNDEMITTER_INVALID_HANDLE (HSOUNDSCRIPTHANDLE)-1
|
||||||
|
|
||||||
|
class IFileList;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose:
|
// Purpose:
|
||||||
@ -253,13 +254,15 @@ public:
|
|||||||
|
|
||||||
// Called from both client and server (single player) or just one (server only in dedicated server and client only if connected to a remote server)
|
// Called from both client and server (single player) or just one (server only in dedicated server and client only if connected to a remote server)
|
||||||
// Called by LevelInitPreEntity to override sound scripts for the mod with level specific overrides based on custom mapnames, etc.
|
// Called by LevelInitPreEntity to override sound scripts for the mod with level specific overrides based on custom mapnames, etc.
|
||||||
virtual void AddSoundOverrides( char const *scriptfile ) = 0;
|
virtual void AddSoundOverrides( char const *scriptfile, bool bUnknown ) = 0;
|
||||||
|
|
||||||
// Called by either client or server in LevelShutdown to clear out custom overrides
|
// Called by either client or server in LevelShutdown to clear out custom overrides
|
||||||
virtual void ClearSoundOverrides() = 0;
|
virtual void ClearSoundOverrides() = 0;
|
||||||
|
|
||||||
virtual bool GetParametersForSoundEx( const char *soundname, HSOUNDSCRIPTHANDLE& handle, CSoundParameters& params, gender_t gender, bool isbeingemitted = false ) = 0;
|
virtual bool GetParametersForSoundEx( const char *soundname, HSOUNDSCRIPTHANDLE& handle, CSoundParameters& params, gender_t gender, bool isbeingemitted = false ) = 0;
|
||||||
virtual soundlevel_t LookupSoundLevelByHandle( char const *soundname, HSOUNDSCRIPTHANDLE& handle ) = 0;
|
virtual soundlevel_t LookupSoundLevelByHandle( char const *soundname, HSOUNDSCRIPTHANDLE& handle ) = 0;
|
||||||
|
|
||||||
|
virtual void ReloadSoundEntriesInList( IFileList *pFileList ) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ISOUNDEMITTERSYSTEMBASE_H
|
#endif // ISOUNDEMITTERSYSTEMBASE_H
|
||||||
|
|||||||
@ -120,10 +120,6 @@ DECLARE_FIELD_SIZE( FIELD_MODELINDEX, sizeof(int) )
|
|||||||
DECLARE_FIELD_SIZE( FIELD_MATERIALINDEX, sizeof(int) )
|
DECLARE_FIELD_SIZE( FIELD_MATERIALINDEX, sizeof(int) )
|
||||||
|
|
||||||
|
|
||||||
#ifndef offsetof
|
|
||||||
#define offsetof(s,m) (size_t)&(((s *)0)->m)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define ARRAYSIZE2D(p) (sizeof(p)/sizeof(p[0][0]))
|
#define ARRAYSIZE2D(p) (sizeof(p)/sizeof(p[0][0]))
|
||||||
#define SIZE_OF_ARRAY(p) _ARRAYSIZE(p)
|
#define SIZE_OF_ARRAY(p) _ARRAYSIZE(p)
|
||||||
|
|
||||||
|
|||||||
@ -57,6 +57,8 @@ class CStandardSendProxies;
|
|||||||
class IAchievementMgr;
|
class IAchievementMgr;
|
||||||
class CGamestatsData;
|
class CGamestatsData;
|
||||||
class CSteamID;
|
class CSteamID;
|
||||||
|
class IGet;
|
||||||
|
class IGMODDataTable;
|
||||||
|
|
||||||
typedef struct player_info_s player_info_t;
|
typedef struct player_info_s player_info_t;
|
||||||
|
|
||||||
@ -72,6 +74,12 @@ typedef struct player_info_s player_info_t;
|
|||||||
|
|
||||||
#define INTERFACEVERSION_VENGINESERVER "VEngineServer021"
|
#define INTERFACEVERSION_VENGINESERVER "VEngineServer021"
|
||||||
|
|
||||||
|
struct bbox_t
|
||||||
|
{
|
||||||
|
Vector mins;
|
||||||
|
Vector maxs;
|
||||||
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Interface the engine exposes to the game DLL
|
// Purpose: Interface the engine exposes to the game DLL
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -387,12 +395,35 @@ public:
|
|||||||
// Send a client command keyvalues
|
// Send a client command keyvalues
|
||||||
// keyvalues are deleted inside the function
|
// keyvalues are deleted inside the function
|
||||||
virtual void ClientCommandKeyValues( edict_t *pEdict, KeyValues *pCommand ) = 0;
|
virtual void ClientCommandKeyValues( edict_t *pEdict, KeyValues *pCommand ) = 0;
|
||||||
|
|
||||||
|
// Returns the SteamID of the specified player. It'll be NULL if the player hasn't authenticated yet.
|
||||||
|
virtual const CSteamID *GetClientSteamIDByPlayerIndex( int entnum ) = 0;
|
||||||
|
// Gets a list of all clusters' bounds. Returns total number of clusters.
|
||||||
|
virtual int GetClusterCount() = 0;
|
||||||
|
virtual int GetAllClusterBounds( bbox_t *pBBoxList, int maxBBox ) = 0;
|
||||||
|
|
||||||
|
// Create a bot with the given name. Returns NULL if fake client can't be created
|
||||||
|
virtual edict_t *CreateFakeClientEx( const char *netname, bool bReportFakeClient = true ) = 0;
|
||||||
|
|
||||||
|
// Server version from the steam.inf, this will be compared to the GC version
|
||||||
|
virtual int GetServerVersion() const = 0;
|
||||||
|
|
||||||
|
virtual void GMOD_SetTimeManipulator( float flFramerateScale ) = 0;
|
||||||
|
virtual void GMOD_SendToClient( IRecipientFilter *filter, void *pData, int size ) = 0;
|
||||||
|
virtual void GMOD_SendToClient( int player_idx, void *pData, int size ) = 0;
|
||||||
|
virtual void GMOD_RawServerCommand( const char *str ) = 0;
|
||||||
|
virtual IGMODDataTable *GMOD_CreateDataTable( void ) = 0;
|
||||||
|
virtual void GMOD_DestroyDataTable( IGMODDataTable *pTable ) = 0;
|
||||||
|
virtual const char *GMOD_GetServerAddress( void ) = 0;
|
||||||
|
virtual void GMOD_LoadModel( const char *pszModel ) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_4 "ServerGameDLL004"
|
#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_8 "ServerGameDLL008"
|
||||||
#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_5 "ServerGameDLL005"
|
#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_9 "ServerGameDLL009"
|
||||||
#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_6 "ServerGameDLL006"
|
#define INTERFACEVERSION_SERVERGAMEDLL "ServerGameDLL009"
|
||||||
#define INTERFACEVERSION_SERVERGAMEDLL "ServerGameDLL007"
|
#define INTERFACEVERSION_SERVERGAMEDLL_INT 9
|
||||||
|
|
||||||
|
class IServerGCLobby;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: These are the interfaces that the game .dll exposes to the engine
|
// Purpose: These are the interfaces that the game .dll exposes to the engine
|
||||||
@ -400,15 +431,18 @@ public:
|
|||||||
abstract_class IServerGameDLL
|
abstract_class IServerGameDLL
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual bool PreInit( CreateInterfaceFn engineFactory, IGet *get ) = 0;
|
||||||
|
|
||||||
// Initialize the game (one-time call when the DLL is first loaded )
|
// Initialize the game (one-time call when the DLL is first loaded )
|
||||||
// Return false if there is an error during startup.
|
// Return false if there is an error during startup.
|
||||||
virtual bool DLLInit( CreateInterfaceFn engineFactory,
|
virtual bool DLLInit( CreateInterfaceFn engineFactory,
|
||||||
CreateInterfaceFn physicsFactory,
|
CreateInterfaceFn physicsFactory,
|
||||||
CreateInterfaceFn fileSystemFactory,
|
CreateInterfaceFn fileSystemFactory,
|
||||||
CGlobalVars *pGlobals) = 0;
|
CGlobalVars *pGlobals) = 0;
|
||||||
|
|
||||||
virtual bool ReplayInit( CreateInterfaceFn replayFactory ) = 0;
|
// Setup replay interfaces on the server
|
||||||
|
virtual bool ReplayInit( CreateInterfaceFn fnReplayFactory ) = 0;
|
||||||
|
|
||||||
// This is called when a new game is started. (restart, map)
|
// This is called when a new game is started. (restart, map)
|
||||||
virtual bool GameInit( void ) = 0;
|
virtual bool GameInit( void ) = 0;
|
||||||
|
|
||||||
@ -498,11 +532,29 @@ public:
|
|||||||
// iCookie is the value returned by IServerPluginHelpers::StartQueryCvarValue.
|
// iCookie is the value returned by IServerPluginHelpers::StartQueryCvarValue.
|
||||||
// Added with version 2 of the interface.
|
// Added with version 2 of the interface.
|
||||||
virtual void OnQueryCvarValueFinished( QueryCvarCookie_t iCookie, edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName, const char *pCvarValue ) = 0;
|
virtual void OnQueryCvarValueFinished( QueryCvarCookie_t iCookie, edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName, const char *pCvarValue ) = 0;
|
||||||
|
|
||||||
// Called after the steam API has been activated post-level startup
|
// Called after the steam API has been activated post-level startup
|
||||||
virtual void GameServerSteamAPIActivated( void ) = 0;
|
virtual void GameServerSteamAPIActivated( void ) = 0;
|
||||||
|
|
||||||
|
// Called after the steam API has been shutdown post-level startup
|
||||||
virtual void GameServerSteamAPIShutdown( void ) = 0;
|
virtual void GameServerSteamAPIShutdown( void ) = 0;
|
||||||
|
|
||||||
|
virtual void SetServerHibernation( bool bHibernating ) = 0;
|
||||||
|
|
||||||
|
// interface to the new GC based lobby system
|
||||||
|
virtual IServerGCLobby *GetServerGCLobby() = 0;
|
||||||
|
|
||||||
|
// Return override string to show in the server browser
|
||||||
|
// "map" column, or NULL to just use the default value
|
||||||
|
// (the map name)
|
||||||
|
virtual const char *GetServerBrowserMapOverride() = 0;
|
||||||
|
|
||||||
|
// Get gamedata string to send to the master serer updater.
|
||||||
|
virtual const char *GetServerBrowserGameData() = 0;
|
||||||
|
|
||||||
|
virtual bool GMOD_CheckPassword(
|
||||||
|
unsigned long long, const char *, const char *, const char *, const char *, char *pszRejectMsg, unsigned int len
|
||||||
|
) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -606,6 +658,8 @@ public:
|
|||||||
virtual void ClientCommandKeyValues( edict_t *pEntity, KeyValues *pKeyValues ) = 0;
|
virtual void ClientCommandKeyValues( edict_t *pEntity, KeyValues *pKeyValues ) = 0;
|
||||||
|
|
||||||
virtual void ClientSpawned( edict_t *pEntity ) = 0;
|
virtual void ClientSpawned( edict_t *pEntity ) = 0;
|
||||||
|
|
||||||
|
virtual void GMOD_ReceiveClientMessage( int, edict_t *pEntity, bf_read *bf, int len ) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define INTERFACEVERSION_UPLOADGAMESTATS "ServerUploadGameStats001"
|
#define INTERFACEVERSION_UPLOADGAMESTATS "ServerUploadGameStats001"
|
||||||
|
|||||||
@ -32,8 +32,10 @@ public:
|
|||||||
// These methods return the bounds of an OBB measured in "collision" space
|
// These methods return the bounds of an OBB measured in "collision" space
|
||||||
// which can be retreived through the CollisionToWorldTransform or
|
// which can be retreived through the CollisionToWorldTransform or
|
||||||
// GetCollisionOrigin/GetCollisionAngles methods
|
// GetCollisionOrigin/GetCollisionAngles methods
|
||||||
virtual const Vector& OBBMins( ) const = 0;
|
virtual const Vector& OBBMinsPreScaled() const = 0;
|
||||||
virtual const Vector& OBBMaxs( ) const = 0;
|
virtual const Vector& OBBMaxsPreScaled() const = 0;
|
||||||
|
virtual const Vector& OBBMins() const = 0;
|
||||||
|
virtual const Vector& OBBMaxs() const = 0;
|
||||||
|
|
||||||
// Returns the bounds of a world-space box used when the collideable is being traced
|
// Returns the bounds of a world-space box used when the collideable is being traced
|
||||||
// against as a trigger. It's only valid to call these methods if the solid flags
|
// against as a trigger. It's only valid to call these methods if the solid flags
|
||||||
|
|||||||
@ -72,15 +72,15 @@ public:
|
|||||||
// NOTE: setting iEntIndex to -1 will cause the sound to be emitted from the local
|
// NOTE: setting iEntIndex to -1 will cause the sound to be emitted from the local
|
||||||
// player (client-side only)
|
// player (client-side only)
|
||||||
virtual void EmitSound( IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample,
|
virtual void EmitSound( IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample,
|
||||||
float flVolume, float flAttenuation, int iFlags = 0, int iPitch = PITCH_NORM,
|
float flVolume, float flAttenuation, int iFlags = 0, int iPitch = PITCH_NORM, int iSpecialDSP = 0,
|
||||||
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1 ) = 0;
|
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1 ) = 0;
|
||||||
|
|
||||||
virtual void EmitSound( IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample,
|
virtual void EmitSound( IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample,
|
||||||
float flVolume, soundlevel_t iSoundlevel, int iFlags = 0, int iPitch = PITCH_NORM,
|
float flVolume, soundlevel_t iSoundlevel, int iFlags = 0, int iPitch = PITCH_NORM, int iSpecialDSP = 0,
|
||||||
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1 ) = 0;
|
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1 ) = 0;
|
||||||
|
|
||||||
virtual void EmitSentenceByIndex( IRecipientFilter& filter, int iEntIndex, int iChannel, int iSentenceIndex,
|
virtual void EmitSentenceByIndex( IRecipientFilter& filter, int iEntIndex, int iChannel, int iSentenceIndex,
|
||||||
float flVolume, soundlevel_t iSoundlevel, int iFlags = 0, int iPitch = PITCH_NORM,
|
float flVolume, soundlevel_t iSoundlevel, int iFlags = 0, int iPitch = PITCH_NORM, int iSpecialDSP = 0,
|
||||||
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1 ) = 0;
|
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1 ) = 0;
|
||||||
|
|
||||||
virtual void StopSound( int iEntIndex, int iChannel, const char *pSample ) = 0;
|
virtual void StopSound( int iEntIndex, int iChannel, const char *pSample ) = 0;
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
#include "tier0/memalloc.h"
|
#include "tier0/memalloc.h"
|
||||||
#include "tier1/interface.h"
|
#include "tier1/interface.h"
|
||||||
#include "tier1/utlsymbol.h"
|
#include "tier1/utlsymbol.h"
|
||||||
|
#include "tier1/utlstring.h"
|
||||||
#include "appframework/IAppSystem.h"
|
#include "appframework/IAppSystem.h"
|
||||||
#include "tier1/checksum_crc.h"
|
#include "tier1/checksum_crc.h"
|
||||||
|
|
||||||
@ -300,7 +301,8 @@ enum FSAsyncFlags_t
|
|||||||
enum EFileCRCStatus
|
enum EFileCRCStatus
|
||||||
{
|
{
|
||||||
k_eFileCRCStatus_CantOpenFile, // We don't have this file.
|
k_eFileCRCStatus_CantOpenFile, // We don't have this file.
|
||||||
k_eFileCRCStatus_GotCRC
|
k_eFileCRCStatus_GotCRC,
|
||||||
|
k_eFileCRCStatus_FileInVPK
|
||||||
};
|
};
|
||||||
|
|
||||||
// Used in CacheFileCRCs.
|
// Used in CacheFileCRCs.
|
||||||
@ -338,6 +340,29 @@ struct FileAsyncRequest_t
|
|||||||
FSAllocFunc_t pfnAlloc; // custom allocator. can be null. not compatible with FSASYNC_FLAGS_FREEDATAPTR
|
FSAllocFunc_t pfnAlloc; // custom allocator. can be null. not compatible with FSASYNC_FLAGS_FREEDATAPTR
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct MD5Value_t
|
||||||
|
{
|
||||||
|
unsigned char bits[16];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct FileHash_t
|
||||||
|
{
|
||||||
|
int m_eFileHashType;
|
||||||
|
CRC32_t m_crcIOSequence;
|
||||||
|
MD5Value_t m_md5contents;
|
||||||
|
int m_cbFileLen;
|
||||||
|
int m_PackFileID;
|
||||||
|
int m_nPackFileNumber;
|
||||||
|
};
|
||||||
|
|
||||||
|
class CUnverifiedFileHash
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
char m_PathID[MAX_PATH];
|
||||||
|
char m_Filename[MAX_PATH];
|
||||||
|
int m_nFileFraction;
|
||||||
|
FileHash_t m_FileHash;
|
||||||
|
};
|
||||||
|
|
||||||
class CUnverifiedCRCFile
|
class CUnverifiedCRCFile
|
||||||
{
|
{
|
||||||
@ -347,13 +372,22 @@ public:
|
|||||||
CRC32_t m_CRC;
|
CRC32_t m_CRC;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Spew flags for SetWhitelistSpewFlags (set with the fs_whitelist_spew_flags cvar).
|
// Spew flags for SetWhitelistSpewFlags (set with the fs_whitelist_spew_flags cvar).
|
||||||
// Update the comment for the fs_whitelist_spew_flags cvar if you change these.
|
// Update the comment for the fs_whitelist_spew_flags cvar if you change these.
|
||||||
#define WHITELIST_SPEW_WHILE_LOADING 0x0001 // list files as they are added to the CRC tracker
|
#define WHITELIST_SPEW_WHILE_LOADING 0x0001 // list files as they are added to the CRC tracker
|
||||||
#define WHITELIST_SPEW_RELOAD_FILES 0x0002 // show files the filesystem is telling the engine to reload
|
#define WHITELIST_SPEW_RELOAD_FILES 0x0002 // show files the filesystem is telling the engine to reload
|
||||||
#define WHITELIST_SPEW_DONT_RELOAD_FILES 0x0004 // show files the filesystem is NOT telling the engine to reload
|
#define WHITELIST_SPEW_DONT_RELOAD_FILES 0x0004 // show files the filesystem is NOT telling the engine to reload
|
||||||
|
|
||||||
|
abstract_class IPureServerWhitelist
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void AddRef() = 0;
|
||||||
|
virtual void Release() = 0;
|
||||||
|
virtual const char *GetFileClass( const char * ) = 0;
|
||||||
|
virtual int GetTrustedKeyCount() const = 0;
|
||||||
|
virtual void GetTrustedKey( int keyIndex, int *pBuffer ) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Base file system interface
|
// Base file system interface
|
||||||
@ -401,7 +435,7 @@ public:
|
|||||||
// Main file system interface
|
// Main file system interface
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#define FILESYSTEM_INTERFACE_VERSION "VFileSystem019"
|
#define FILESYSTEM_INTERFACE_VERSION "VFileSystem022"
|
||||||
|
|
||||||
abstract_class IFileSystem : public IAppSystem, public IBaseFileSystem
|
abstract_class IFileSystem : public IAppSystem, public IBaseFileSystem
|
||||||
{
|
{
|
||||||
@ -692,7 +726,7 @@ public:
|
|||||||
|
|
||||||
// This should be called ONCE at startup. Multiplayer games (gameinfo.txt does not contain singleplayer_only)
|
// This should be called ONCE at startup. Multiplayer games (gameinfo.txt does not contain singleplayer_only)
|
||||||
// want to enable this so sv_pure works.
|
// want to enable this so sv_pure works.
|
||||||
virtual void EnableWhitelistFileTracking( bool bEnable ) = 0;
|
virtual void EnableWhitelistFileTracking( bool bEnable, bool bCacheAllVPKHashes, bool bRecalculateAndCheckHashes ) = 0;
|
||||||
|
|
||||||
// This is called when the client connects to a server using a pure_server_whitelist.txt file.
|
// This is called when the client connects to a server using a pure_server_whitelist.txt file.
|
||||||
//
|
//
|
||||||
@ -714,7 +748,7 @@ public:
|
|||||||
// and the engine should reload it so it can come from Steam.
|
// and the engine should reload it so it can come from Steam.
|
||||||
//
|
//
|
||||||
// Be sure to call Release() on pFilesToReload.
|
// Be sure to call Release() on pFilesToReload.
|
||||||
virtual void RegisterFileWhitelist( IFileList *pWantCRCList, IFileList *pAllowFromDiskList, IFileList **pFilesToReload ) = 0;
|
virtual void RegisterFileWhitelist( IPureServerWhitelist *pPureList, IFileList **pFilesToReload ) = 0;
|
||||||
|
|
||||||
// Called when the client logs onto a server. Any files that came off disk should be marked as
|
// Called when the client logs onto a server. Any files that came off disk should be marked as
|
||||||
// unverified because this server may have a different set of files it wants to guarantee.
|
// unverified because this server may have a different set of files it wants to guarantee.
|
||||||
@ -723,24 +757,16 @@ public:
|
|||||||
// As the server loads whitelists when it transitions maps, it calls this to calculate CRCs for any files marked
|
// As the server loads whitelists when it transitions maps, it calls this to calculate CRCs for any files marked
|
||||||
// with check_crc. Then it calls CheckCachedFileCRC later when it gets client requests to verify CRCs.
|
// with check_crc. Then it calls CheckCachedFileCRC later when it gets client requests to verify CRCs.
|
||||||
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter ) = 0;
|
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter ) = 0;
|
||||||
virtual EFileCRCStatus CheckCachedFileCRC( const char *pPathID, const char *pRelativeFilename, CRC32_t *pCRC ) = 0;
|
virtual EFileCRCStatus CheckCachedFileHash( const char *pPathID, const char *pRelativeFilename, int nFileFraction, FileHash_t *pFileHash ) = 0;
|
||||||
|
|
||||||
virtual void CacheFileMD5s( const char *pPathname, ECacheCRCType eType, IFileList *pFilter ) = 0;
|
|
||||||
|
|
||||||
// Last param is an MD5Value_t pointer.
|
|
||||||
virtual EFileCRCStatus CheckCachedFileMD5( const char *pPathID, const char *pRelativeFilename, void *pMD5 ) = 0;
|
|
||||||
|
|
||||||
// Fills in the list of files that have been loaded off disk and have not been verified.
|
// Fills in the list of files that have been loaded off disk and have not been verified.
|
||||||
// Returns the number of files filled in (between 0 and nMaxFiles).
|
// Returns the number of files filled in (between 0 and nMaxFiles).
|
||||||
//
|
//
|
||||||
// This also removes any files it's returning from the unverified CRC list, so they won't be
|
// This also removes any files it's returning from the unverified CRC list, so they won't be
|
||||||
// returned from here again.
|
// returned from here again.
|
||||||
// The client sends batches of these to the server to verify.
|
// The client sends batches of these to the server to verify.
|
||||||
virtual int GetUnverifiedCRCFiles( CUnverifiedCRCFile *pFiles, int nMaxFiles ) = 0;
|
virtual int GetUnverifiedFileHashes( CUnverifiedFileHash *pFiles, int nMaxFiles ) = 0;
|
||||||
|
|
||||||
// First param is a CUnverifiedMD5File pointer.
|
|
||||||
virtual int GetUnverifiedMD5Files( void *pFiles, int nMaxFiles ) = 0;
|
|
||||||
|
|
||||||
// Control debug message output.
|
// Control debug message output.
|
||||||
// Pass a combination of WHITELIST_SPEW_ flags.
|
// Pass a combination of WHITELIST_SPEW_ flags.
|
||||||
virtual int GetWhitelistSpewFlags() = 0;
|
virtual int GetWhitelistSpewFlags() = 0;
|
||||||
@ -757,6 +783,14 @@ public:
|
|||||||
virtual bool IsFileCacheFileLoaded( void *pFileCache, const char *szFile ) = 0;
|
virtual bool IsFileCacheFileLoaded( void *pFileCache, const char *szFile ) = 0;
|
||||||
virtual bool IsFileCacheLoaded( void *pFileCache ) = 0;
|
virtual bool IsFileCacheLoaded( void *pFileCache ) = 0;
|
||||||
virtual void DestroyFileCache( void *pFileCache ) = 0;
|
virtual void DestroyFileCache( void *pFileCache ) = 0;
|
||||||
|
|
||||||
|
virtual bool RegisterMemoryFile( void *pFile, void **ppExistingFileWithRef ) = 0;
|
||||||
|
virtual void UnregisterMemoryFile( void *pFile ) = 0;
|
||||||
|
|
||||||
|
virtual void CacheAllVPKFileHashes( bool bCacheAllVPKHashes, bool bRecalculateAndCheckHashes ) = 0;
|
||||||
|
virtual bool CheckVPKFileHash( int PackFileID, int nPackFileNumber, int nFileFraction, MD5Value_t &md5Value ) = 0;
|
||||||
|
|
||||||
|
virtual void NotifyFileUnloaded( const char *pFileName, const char *pPathId ) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -215,24 +215,18 @@ public:
|
|||||||
|
|
||||||
virtual DVDMode_t GetDVDMode() { return m_pFileSystemPassThru->GetDVDMode(); }
|
virtual DVDMode_t GetDVDMode() { return m_pFileSystemPassThru->GetDVDMode(); }
|
||||||
|
|
||||||
virtual void EnableWhitelistFileTracking( bool bEnable )
|
virtual void EnableWhitelistFileTracking( bool bEnable, bool bCacheAllVPKHashes, bool bRecalculateAndCheckHashes )
|
||||||
{ m_pFileSystemPassThru->EnableWhitelistFileTracking( bEnable ); }
|
{ m_pFileSystemPassThru->EnableWhitelistFileTracking( bEnable, bCacheAllVPKHashes, bRecalculateAndCheckHashes ); }
|
||||||
virtual void RegisterFileWhitelist( IFileList *pForceMatchList, IFileList *pAllowFromDiskList, IFileList **pFilesToReload )
|
virtual void RegisterFileWhitelist( IPureServerWhitelist *pPureList, IFileList **pFilesToReload )
|
||||||
{ m_pFileSystemPassThru->RegisterFileWhitelist( pForceMatchList, pAllowFromDiskList, pFilesToReload ); }
|
{ m_pFileSystemPassThru->RegisterFileWhitelist( pPureList, pFilesToReload ); }
|
||||||
virtual void MarkAllCRCsUnverified()
|
virtual void MarkAllCRCsUnverified()
|
||||||
{ m_pFileSystemPassThru->MarkAllCRCsUnverified(); }
|
{ m_pFileSystemPassThru->MarkAllCRCsUnverified(); }
|
||||||
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter )
|
virtual void CacheFileCRCs( const char *pPathname, ECacheCRCType eType, IFileList *pFilter )
|
||||||
{ return m_pFileSystemPassThru->CacheFileCRCs( pPathname, eType, pFilter ); }
|
{ return m_pFileSystemPassThru->CacheFileCRCs( pPathname, eType, pFilter ); }
|
||||||
virtual void CacheFileMD5s( const char *pPathname, ECacheCRCType eType, IFileList *pFilter )
|
virtual EFileCRCStatus CheckCachedFileHash( const char *pPathID, const char *pRelativeFilename, int nFileFraction, FileHash_t *pFileHash )
|
||||||
{ return m_pFileSystemPassThru->CacheFileMD5s( pPathname, eType, pFilter ); }
|
{ return m_pFileSystemPassThru->CheckCachedFileHash( pPathID, pRelativeFilename, nFileFraction, pFileHash ); }
|
||||||
virtual EFileCRCStatus CheckCachedFileCRC( const char *pPathID, const char *pRelativeFilename, CRC32_t *pCRC )
|
virtual int GetUnverifiedFileHashes( CUnverifiedFileHash *pFiles, int nMaxFiles )
|
||||||
{ return m_pFileSystemPassThru->CheckCachedFileCRC( pPathID, pRelativeFilename, pCRC ); }
|
{ return m_pFileSystemPassThru->GetUnverifiedFileHashes( pFiles, nMaxFiles ); }
|
||||||
virtual EFileCRCStatus CheckCachedFileMD5( const char *pPathID, const char *pRelativeFilename, void *pMD5 )
|
|
||||||
{ return m_pFileSystemPassThru->CheckCachedFileMD5( pPathID, pRelativeFilename, pMD5 ); }
|
|
||||||
virtual int GetUnverifiedCRCFiles( CUnverifiedCRCFile *pFiles, int nMaxFiles )
|
|
||||||
{ return m_pFileSystemPassThru->GetUnverifiedCRCFiles( pFiles, nMaxFiles ); }
|
|
||||||
virtual int GetUnverifiedMD5Files( void *pFiles, int nMaxFiles )
|
|
||||||
{ return m_pFileSystemPassThru->GetUnverifiedMD5Files( pFiles, nMaxFiles ); }
|
|
||||||
virtual int GetWhitelistSpewFlags()
|
virtual int GetWhitelistSpewFlags()
|
||||||
{ return m_pFileSystemPassThru->GetWhitelistSpewFlags(); }
|
{ return m_pFileSystemPassThru->GetWhitelistSpewFlags(); }
|
||||||
virtual void SetWhitelistSpewFlags( int spewFlags )
|
virtual void SetWhitelistSpewFlags( int spewFlags )
|
||||||
@ -253,6 +247,19 @@ public:
|
|||||||
virtual void DestroyFileCache( void *pFileCache )
|
virtual void DestroyFileCache( void *pFileCache )
|
||||||
{ m_pFileSystemPassThru->DestroyFileCache( pFileCache ); }
|
{ m_pFileSystemPassThru->DestroyFileCache( pFileCache ); }
|
||||||
|
|
||||||
|
virtual bool RegisterMemoryFile( void *pFile, void **ppExistingFileWithRef )
|
||||||
|
{ return m_pFileSystemPassThru->RegisterMemoryFile( pFile, ppExistingFileWithRef ); }
|
||||||
|
virtual void UnregisterMemoryFile( void *pFile )
|
||||||
|
{ m_pFileSystemPassThru->UnregisterMemoryFile( pFile ); }
|
||||||
|
|
||||||
|
virtual void CacheAllVPKFileHashes( bool bCacheAllVPKHashes, bool bRecalculateAndCheckHashes )
|
||||||
|
{ m_pFileSystemPassThru->CacheAllVPKFileHashes( bCacheAllVPKHashes, bRecalculateAndCheckHashes ); }
|
||||||
|
virtual bool CheckVPKFileHash( int PackFileID, int nPackFileNumber, int nFileFraction, MD5Value_t &md5Value )
|
||||||
|
{ return m_pFileSystemPassThru->CheckVPKFileHash( PackFileID, nPackFileNumber, nFileFraction, md5Value ); }
|
||||||
|
|
||||||
|
virtual void NotifyFileUnloaded( const char *pFileName, const char *pPathId )
|
||||||
|
{ m_pFileSystemPassThru->NotifyFileUnloaded( pFileName, pPathId ); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
IFileSystem *m_pFileSystemPassThru;
|
IFileSystem *m_pFileSystemPassThru;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -74,7 +74,6 @@ public:
|
|||||||
virtual bool IsFakeClient( void ) const = 0;
|
virtual bool IsFakeClient( void ) const = 0;
|
||||||
// returns true, if client is a HLTV proxy
|
// returns true, if client is a HLTV proxy
|
||||||
virtual bool IsHLTV( void ) const = 0;
|
virtual bool IsHLTV( void ) const = 0;
|
||||||
virtual bool IsReplay( void ) const = 0;
|
|
||||||
|
|
||||||
// returns true, if client hears this player
|
// returns true, if client hears this player
|
||||||
virtual bool IsHearingClient(int index) const = 0;
|
virtual bool IsHearingClient(int index) const = 0;
|
||||||
|
|||||||
@ -72,8 +72,6 @@ public:
|
|||||||
virtual void SetCompressionMode( bool bUseCompression ) = 0;
|
virtual void SetCompressionMode( bool bUseCompression ) = 0;
|
||||||
virtual unsigned int RequestFile(const char *filename) = 0;
|
virtual unsigned int RequestFile(const char *filename) = 0;
|
||||||
|
|
||||||
virtual float GetTimeSinceLastReceived( void ) const = 0;
|
|
||||||
|
|
||||||
virtual void SetMaxBufferSize(bool bReliable, int nBytes, bool bVoice = false ) = 0;
|
virtual void SetMaxBufferSize(bool bReliable, int nBytes, bool bVoice = false ) = 0;
|
||||||
|
|
||||||
virtual bool IsNull() const = 0;
|
virtual bool IsNull() const = 0;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -412,8 +412,8 @@ public:
|
|||||||
|
|
||||||
// this set of functions is hidden, will be moved out of class
|
// this set of functions is hidden, will be moved out of class
|
||||||
explicit CSteamID( const char *pchSteamID, EUniverse eDefaultUniverse = k_EUniverseInvalid );
|
explicit CSteamID( const char *pchSteamID, EUniverse eDefaultUniverse = k_EUniverseInvalid );
|
||||||
char * Render() const; // renders this steam ID to string
|
const char * Render() const; // renders this steam ID to string
|
||||||
static char * Render( uint64 ulSteamID ); // static method to render a uint64 representation of a steam ID to a string
|
static const char * Render( uint64 ulSteamID ); // static method to render a uint64 representation of a steam ID to a string
|
||||||
|
|
||||||
void SetFromString( const char *pchSteamID, EUniverse eDefaultUniverse );
|
void SetFromString( const char *pchSteamID, EUniverse eDefaultUniverse );
|
||||||
bool SetFromSteam2String( const char *pchSteam2ID, EUniverse eUniverse );
|
bool SetFromSteam2String( const char *pchSteam2ID, EUniverse eUniverse );
|
||||||
|
|||||||
@ -178,6 +178,12 @@ enum SpewRetval_t
|
|||||||
/* type of externally defined function used to display debug spew */
|
/* type of externally defined function used to display debug spew */
|
||||||
typedef SpewRetval_t (*SpewOutputFunc_t)( SpewType_t spewType, const tchar *pMsg );
|
typedef SpewRetval_t (*SpewOutputFunc_t)( SpewType_t spewType, const tchar *pMsg );
|
||||||
|
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wunknown-pragmas"
|
||||||
|
#pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Used to redirect spew output */
|
/* Used to redirect spew output */
|
||||||
DBG_INTERFACE void SpewOutputFunc( SpewOutputFunc_t func );
|
DBG_INTERFACE void SpewOutputFunc( SpewOutputFunc_t func );
|
||||||
|
|
||||||
@ -206,6 +212,10 @@ DBG_INTERFACE bool SetupWin32ConsoleIO();
|
|||||||
// Returns true if they want to break in the debugger.
|
// Returns true if they want to break in the debugger.
|
||||||
DBG_INTERFACE bool DoNewAssertDialog( const tchar *pFile, int line, const tchar *pExpression );
|
DBG_INTERFACE bool DoNewAssertDialog( const tchar *pFile, int line, const tchar *pExpression );
|
||||||
|
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Used to define macros, never use these directly. */
|
/* Used to define macros, never use these directly. */
|
||||||
|
|
||||||
#define _AssertMsg( _exp, _msg, _executeExp, _bFatal ) \
|
#define _AssertMsg( _exp, _msg, _executeExp, _bFatal ) \
|
||||||
|
|||||||
@ -233,8 +233,8 @@ private:
|
|||||||
unsigned m_nIters;
|
unsigned m_nIters;
|
||||||
CCycleCount m_Total;
|
CCycleCount m_Total;
|
||||||
CCycleCount m_Peak;
|
CCycleCount m_Peak;
|
||||||
bool m_fReport;
|
// bool m_fReport;
|
||||||
const tchar *m_pszName;
|
// const tchar *m_pszName;
|
||||||
};
|
};
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||||
//
|
//
|
||||||
// Purpose: This header should never be used directly from leaf code!!!
|
// Purpose: This header should never be used directly from leaf code!!!
|
||||||
// Instead, just add the file memoverride.cpp into your project and all this
|
// Instead, just add the file memoverride.cpp into your project and all this
|
||||||
@ -14,21 +14,31 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// These memory debugging switches aren't relevant under Linux builds since memoverride.cpp
|
||||||
|
// isn't built into Linux projects
|
||||||
|
#ifndef POSIX
|
||||||
// Define this in release to get memory tracking even in release builds
|
// Define this in release to get memory tracking even in release builds
|
||||||
//#define USE_MEM_DEBUG 1
|
//#define USE_MEM_DEBUG 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined( _MEMTEST )
|
#if defined( _MEMTEST )
|
||||||
|
#ifdef _WIN32
|
||||||
#define USE_MEM_DEBUG 1
|
#define USE_MEM_DEBUG 1
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// Undefine this if using a compiler lacking threadsafe RTTI (like vc6)
|
// Undefine this if using a compiler lacking threadsafe RTTI (like vc6)
|
||||||
#define MEM_DEBUG_CLASSNAME 1
|
#define MEM_DEBUG_CLASSNAME 1
|
||||||
|
|
||||||
#if !defined(STEAM) && !defined(NO_MALLOC_OVERRIDE)
|
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#if defined( OSX )
|
||||||
|
#include <malloc/malloc.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "tier0/mem.h"
|
#include "tier0/mem.h"
|
||||||
|
|
||||||
|
#if !defined(STEAM) && !defined(NO_MALLOC_OVERRIDE)
|
||||||
|
|
||||||
struct _CrtMemState;
|
struct _CrtMemState;
|
||||||
|
|
||||||
#define MEMALLOC_VERSION 1
|
#define MEMALLOC_VERSION 1
|
||||||
@ -103,7 +113,17 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Returns 0 if no failure, otherwise the size_t of the last requested chunk
|
// Returns 0 if no failure, otherwise the size_t of the last requested chunk
|
||||||
|
// "I'm sure this is completely thread safe!" Brian Deen 7/19/2012.
|
||||||
virtual size_t MemoryAllocFailed() = 0;
|
virtual size_t MemoryAllocFailed() = 0;
|
||||||
|
|
||||||
|
// handles storing allocation info for coroutines
|
||||||
|
virtual uint32 GetDebugInfoSize() = 0;
|
||||||
|
virtual void SaveDebugInfo( void *pvDebugInfo ) = 0;
|
||||||
|
virtual void RestoreDebugInfo( const void *pvDebugInfo ) = 0;
|
||||||
|
virtual void InitDebugInfo( void *pvDebugInfo, const char *pchRootFileName, int nLine ) = 0;
|
||||||
|
|
||||||
|
// Replacement for ::GlobalMemoryStatus which accounts for unused memory in our system
|
||||||
|
virtual void GlobalMemoryStatus( size_t *pUsedMemory, size_t *pFreeMemory ) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -113,11 +133,52 @@ MEM_INTERFACE IMemAlloc *g_pMemAlloc;
|
|||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#ifdef MEMALLOC_REGIONS
|
||||||
|
#ifndef MEMALLOC_REGION
|
||||||
|
#define MEMALLOC_REGION 0
|
||||||
|
#endif
|
||||||
|
inline void *MemAlloc_Alloc( size_t nSize )
|
||||||
|
{
|
||||||
|
return g_pMemAlloc->RegionAlloc( MEMALLOC_REGION, nSize );
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void *MemAlloc_Alloc( size_t nSize, const char *pFileName, int nLine )
|
||||||
|
{
|
||||||
|
return g_pMemAlloc->RegionAlloc( MEMALLOC_REGION, nSize, pFileName, nLine );
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#undef MEMALLOC_REGION
|
||||||
|
inline void *MemAlloc_Alloc( size_t nSize )
|
||||||
|
{
|
||||||
|
return g_pMemAlloc->Alloc( nSize );
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void *MemAlloc_Alloc( size_t nSize, const char *pFileName, int nLine )
|
||||||
|
{
|
||||||
|
return g_pMemAlloc->Alloc( nSize, pFileName, nLine );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
inline void MemAlloc_Free( void *ptr )
|
||||||
|
{
|
||||||
|
g_pMemAlloc->Free( ptr );
|
||||||
|
}
|
||||||
|
inline void MemAlloc_Free( void *ptr, const char *pFileName, int nLine )
|
||||||
|
{
|
||||||
|
g_pMemAlloc->Free( ptr, pFileName, nLine );
|
||||||
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
inline bool ValueIsPowerOfTwo( size_t value ) // don't clash with mathlib definition
|
||||||
|
{
|
||||||
|
return (value & ( value - 1 )) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
inline void *MemAlloc_AllocAligned( size_t size, size_t align )
|
inline void *MemAlloc_AllocAligned( size_t size, size_t align )
|
||||||
{
|
{
|
||||||
unsigned char *pAlloc, *pResult;
|
unsigned char *pAlloc, *pResult;
|
||||||
|
|
||||||
if (!IsPowerOfTwo(uint(align)))
|
if (!IsPowerOfTwo(align))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
align = (align > sizeof(void *) ? align : sizeof(void *)) - 1;
|
align = (align > sizeof(void *) ? align : sizeof(void *)) - 1;
|
||||||
@ -135,7 +196,7 @@ inline void *MemAlloc_AllocAligned( size_t size, size_t align, const char *pszFi
|
|||||||
{
|
{
|
||||||
unsigned char *pAlloc, *pResult;
|
unsigned char *pAlloc, *pResult;
|
||||||
|
|
||||||
if (!IsPowerOfTwo(uint(align)))
|
if (!IsPowerOfTwo(align))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
align = (align > sizeof(void *) ? align : sizeof(void *)) - 1;
|
align = (align > sizeof(void *) ? align : sizeof(void *)) - 1;
|
||||||
@ -149,9 +210,45 @@ inline void *MemAlloc_AllocAligned( size_t size, size_t align, const char *pszFi
|
|||||||
return (void *)pResult;
|
return (void *)pResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void *MemAlloc_AllocAlignedUnattributed( size_t size, size_t align )
|
||||||
|
{
|
||||||
|
unsigned char *pAlloc, *pResult;
|
||||||
|
|
||||||
|
if (!ValueIsPowerOfTwo(align))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
align = (align > sizeof(void *) ? align : sizeof(void *)) - 1;
|
||||||
|
|
||||||
|
if ( (pAlloc = (unsigned char*)MemAlloc_Alloc( sizeof(void *) + align + size ) ) == (unsigned char*)NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
pResult = (unsigned char*)( (size_t)(pAlloc + sizeof(void *) + align ) & ~align );
|
||||||
|
((unsigned char**)(pResult))[-1] = pAlloc;
|
||||||
|
|
||||||
|
return (void *)pResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void *MemAlloc_AllocAlignedFileLine( size_t size, size_t align, const char *pszFile, int nLine )
|
||||||
|
{
|
||||||
|
unsigned char *pAlloc, *pResult;
|
||||||
|
|
||||||
|
if (!ValueIsPowerOfTwo(align))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
align = (align > sizeof(void *) ? align : sizeof(void *)) - 1;
|
||||||
|
|
||||||
|
if ( (pAlloc = (unsigned char*)MemAlloc_Alloc( sizeof(void *) + align + size, pszFile, nLine ) ) == (unsigned char*)NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
pResult = (unsigned char*)( (size_t)(pAlloc + sizeof(void *) + align ) & ~align );
|
||||||
|
((unsigned char**)(pResult))[-1] = pAlloc;
|
||||||
|
|
||||||
|
return (void *)pResult;
|
||||||
|
}
|
||||||
|
|
||||||
inline void *MemAlloc_ReallocAligned( void *ptr, size_t size, size_t align )
|
inline void *MemAlloc_ReallocAligned( void *ptr, size_t size, size_t align )
|
||||||
{
|
{
|
||||||
if ( !IsPowerOfTwo( uint(align) ) )
|
if ( !IsPowerOfTwo( align ) )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
// Don't change alignment between allocation + reallocation.
|
// Don't change alignment between allocation + reallocation.
|
||||||
@ -197,6 +294,23 @@ inline void MemAlloc_FreeAligned( void *pMemBlock )
|
|||||||
g_pMemAlloc->Free( pAlloc );
|
g_pMemAlloc->Free( pAlloc );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void MemAlloc_FreeAligned( void *pMemBlock, const char *pFileName, int nLine )
|
||||||
|
{
|
||||||
|
void *pAlloc;
|
||||||
|
|
||||||
|
if ( pMemBlock == NULL )
|
||||||
|
return;
|
||||||
|
|
||||||
|
pAlloc = pMemBlock;
|
||||||
|
|
||||||
|
// pAlloc points to the pointer to starting of the memory block
|
||||||
|
pAlloc = (void *)(((size_t)pAlloc & ~( sizeof(void *) - 1 ) ) - sizeof(void *));
|
||||||
|
|
||||||
|
// pAlloc is the pointer to the start of memory block
|
||||||
|
pAlloc = *( (void **)pAlloc );
|
||||||
|
g_pMemAlloc->Free( pAlloc, pFileName, nLine );
|
||||||
|
}
|
||||||
|
|
||||||
inline size_t MemAlloc_GetSizeAligned( void *pMemBlock )
|
inline size_t MemAlloc_GetSizeAligned( void *pMemBlock )
|
||||||
{
|
{
|
||||||
void *pAlloc;
|
void *pAlloc;
|
||||||
@ -230,6 +344,20 @@ inline size_t MemAlloc_GetSizeAligned( void *pMemBlock )
|
|||||||
#define MemAlloc_RegisterDeallocation( pFileName, nLine, nLogicalSize, nActualSize, nTime ) ((void)0)
|
#define MemAlloc_RegisterDeallocation( pFileName, nLine, nLogicalSize, nActualSize, nTime ) ((void)0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define MemAlloc_DumpStats() g_pMemAlloc->DumpStats()
|
||||||
|
#define MemAlloc_CompactHeap() g_pMemAlloc->CompactHeap()
|
||||||
|
#define MemAlloc_OutOfMemory() g_pMemAlloc->OutOfMemory()
|
||||||
|
#define MemAlloc_CompactIncremental() g_pMemAlloc->CompactIncremental()
|
||||||
|
#define MemAlloc_DumpStatsFileBase( _filename ) g_pMemAlloc->DumpStatsFileBase( _filename )
|
||||||
|
#define MemAlloc_CrtCheckMemory() g_pMemAlloc->CrtCheckMemory()
|
||||||
|
#define MemAlloc_GlobalMemoryStatus( _usedMemory, _freeMemory ) g_pMemAlloc->GlobalMemoryStatus( _usedMemory, _freeMemory )
|
||||||
|
#define MemAlloc_MemoryAllocFailed() g_pMemAlloc->MemoryAllocFailed()
|
||||||
|
|
||||||
|
#define MemAlloc_GetDebugInfoSize() g_pMemAlloc->GetDebugInfoSize()
|
||||||
|
#define MemAlloc_SaveDebugInfo( pvDebugInfo ) g_pMemAlloc->SaveDebugInfo( pvDebugInfo )
|
||||||
|
#define MemAlloc_RestoreDebugInfo( pvDebugInfo ) g_pMemAlloc->RestoreDebugInfo( pvDebugInfo )
|
||||||
|
#define MemAlloc_InitDebugInfo( pvDebugInfo, pchRootFileName, nLine ) g_pMemAlloc->InitDebugInfo( pvDebugInfo, pchRootFileName, nLine )
|
||||||
|
#define MemAlloc_GetSize( x ) g_pMemAlloc->GetSize( x );
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
class CMemAllocAttributeAlloction
|
class CMemAllocAttributeAlloction
|
||||||
@ -335,6 +463,51 @@ struct MemAllocFileLine_t
|
|||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#elif defined( POSIX )
|
||||||
|
|
||||||
|
#if defined( OSX )
|
||||||
|
// Mac always aligns allocs, don't need to call posix_memalign which doesn't exist in 10.5.8 which TF2 still needs to run on
|
||||||
|
//inline void *memalign(size_t alignment, size_t size) {void *pTmp=NULL; posix_memalign(&pTmp, alignment, size); return pTmp;}
|
||||||
|
inline void *memalign(size_t alignment, size_t size) {void *pTmp=NULL; pTmp = malloc(size); return pTmp;}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
inline void *_aligned_malloc( size_t nSize, size_t align ) { return memalign( align, nSize ); }
|
||||||
|
inline void _aligned_free( void *ptr ) { free( ptr ); }
|
||||||
|
|
||||||
|
inline void *MemAlloc_Alloc( size_t nSize, const char *pFileName = NULL, int nLine = 0 ) { return malloc( nSize ); }
|
||||||
|
inline void MemAlloc_Free( void *ptr, const char *pFileName = NULL, int nLine = 0 ) { free( ptr ); }
|
||||||
|
|
||||||
|
inline void *MemAlloc_AllocAligned( size_t size, size_t align, const char *pszFile = NULL, int nLine = 0 ) { return memalign( align, size ); }
|
||||||
|
inline void *MemAlloc_AllocAlignedFileLine( size_t size, size_t align, const char *pszFile = NULL, int nLine = 0 ) { return memalign( align, size ); }
|
||||||
|
inline void MemAlloc_FreeAligned( void *pMemBlock, const char *pszFile = NULL, int nLine = 0 ) { free( pMemBlock ); }
|
||||||
|
|
||||||
|
#if defined( OSX )
|
||||||
|
inline size_t _msize( void *ptr ) { return malloc_size( ptr ); }
|
||||||
|
#else
|
||||||
|
inline size_t _msize( void *ptr ) { return malloc_usable_size( ptr ); }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
inline void *MemAlloc_ReallocAligned( void *ptr, size_t size, size_t align )
|
||||||
|
{
|
||||||
|
void *ptr_new_aligned = memalign( align, size );
|
||||||
|
|
||||||
|
if( ptr_new_aligned )
|
||||||
|
{
|
||||||
|
size_t old_size = _msize( ptr );
|
||||||
|
size_t copy_size = ( size < old_size ) ? size : old_size;
|
||||||
|
|
||||||
|
memcpy( ptr_new_aligned, ptr, copy_size );
|
||||||
|
free( ptr );
|
||||||
|
}
|
||||||
|
|
||||||
|
return ptr_new_aligned;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define MemAlloc_GetDebugInfoSize() g_pMemAlloc->GetDebugInfoSize()
|
||||||
|
#define MemAlloc_SaveDebugInfo( pvDebugInfo ) g_pMemAlloc->SaveDebugInfo( pvDebugInfo )
|
||||||
|
#define MemAlloc_RestoreDebugInfo( pvDebugInfo ) g_pMemAlloc->RestoreDebugInfo( pvDebugInfo )
|
||||||
|
#define MemAlloc_InitDebugInfo( pvDebugInfo, pchRootFileName, nLine ) g_pMemAlloc->InitDebugInfo( pvDebugInfo, pchRootFileName, nLine )
|
||||||
|
|
||||||
#endif // !STEAM && !NO_MALLOC_OVERRIDE
|
#endif // !STEAM && !NO_MALLOC_OVERRIDE
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -343,11 +516,139 @@ struct MemAllocFileLine_t
|
|||||||
|
|
||||||
#define MEM_ALLOC_CREDIT_(tag) ((void)0)
|
#define MEM_ALLOC_CREDIT_(tag) ((void)0)
|
||||||
#define MEM_ALLOC_CREDIT() MEM_ALLOC_CREDIT_(__FILE__)
|
#define MEM_ALLOC_CREDIT() MEM_ALLOC_CREDIT_(__FILE__)
|
||||||
|
#define MEM_ALLOC_CREDIT_FUNCTION()
|
||||||
#define MEM_ALLOC_CREDIT_CLASS()
|
#define MEM_ALLOC_CREDIT_CLASS()
|
||||||
#define MEM_ALLOC_CLASSNAME(type) NULL
|
#define MEM_ALLOC_CLASSNAME(type) NULL
|
||||||
|
|
||||||
|
#define MemAlloc_PushAllocDbgInfo( pszFile, line )
|
||||||
|
#define MemAlloc_PopAllocDbgInfo()
|
||||||
|
#define MemAlloc_RegisterAllocation( pFileName, nLine, nLogicalSize, nActualSize, nTime ) ((void)0)
|
||||||
|
#define MemAlloc_RegisterDeallocation( pFileName, nLine, nLogicalSize, nActualSize, nTime ) ((void)0)
|
||||||
|
#define MemAlloc_DumpStats() ((void)0)
|
||||||
|
#define MemAlloc_CompactHeap() ((void)0)
|
||||||
|
#define MemAlloc_OutOfMemory() ((void)0)
|
||||||
|
#define MemAlloc_CompactIncremental() ((void)0)
|
||||||
|
#define MemAlloc_DumpStatsFileBase( _filename ) ((void)0)
|
||||||
|
inline bool MemAlloc_CrtCheckMemory() { return true; }
|
||||||
|
inline void MemAlloc_GlobalMemoryStatus( size_t *pusedMemory, size_t *pfreeMemory )
|
||||||
|
{
|
||||||
|
*pusedMemory = 0;
|
||||||
|
*pfreeMemory = 0;
|
||||||
|
}
|
||||||
|
#define MemAlloc_MemoryAllocFailed() 0
|
||||||
|
|
||||||
|
#define MemAlloc_GetDebugInfoSize() 0
|
||||||
|
#define MemAlloc_SaveDebugInfo( pvDebugInfo ) ((void)0)
|
||||||
|
#define MemAlloc_RestoreDebugInfo( pvDebugInfo ) ((void)0)
|
||||||
|
#define MemAlloc_InitDebugInfo( pvDebugInfo, pchRootFileName, nLine ) ((void)0)
|
||||||
|
|
||||||
|
|
||||||
|
#define MEMALLOC_DEFINE_EXTERNAL_TRACKING( tag )
|
||||||
|
#define MemAlloc_RegisterExternalAllocation( tag, p, size ) ((void)0)
|
||||||
|
#define MemAlloc_RegisterExternalDeallocation( tag, p, size ) ((void)0)
|
||||||
|
|
||||||
#endif // !STEAM && NO_MALLOC_OVERRIDE
|
#endif // !STEAM && NO_MALLOC_OVERRIDE
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// linux memory tracking via hooks.
|
||||||
|
#if defined( POSIX ) && !defined( NO_HOOK_MALLOC )
|
||||||
|
PLATFORM_INTERFACE void MemoryLogMessage( char const *s ); // throw a message into the memory log
|
||||||
|
PLATFORM_INTERFACE void EnableMemoryLogging( bool bOnOff );
|
||||||
|
PLATFORM_INTERFACE void DumpMemoryLog( int nThresh );
|
||||||
|
PLATFORM_INTERFACE void DumpMemorySummary( void );
|
||||||
|
PLATFORM_INTERFACE void SetMemoryMark( void );
|
||||||
|
PLATFORM_INTERFACE void DumpChangedMemory( int nThresh );
|
||||||
|
|
||||||
|
#else
|
||||||
|
FORCEINLINE void MemoryLogMessage( char const *s )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE void EnableMemoryLogging( bool bOnOff )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
FORCEINLINE void DumpMemoryLog( int nThresh )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
FORCEINLINE void DumpMemorySummary( void )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
FORCEINLINE void SetMemoryMark( void )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
FORCEINLINE void DumpChangedMemory( int nThresh )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef POSIX
|
||||||
|
// ApproximateProcessMemoryUsage returns the approximate memory footprint of this process.
|
||||||
|
PLATFORM_INTERFACE size_t ApproximateProcessMemoryUsage( void );
|
||||||
|
#else
|
||||||
|
FORCEINLINE size_t ApproximateProcessMemoryUsage( void )
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct aligned_tmp_t
|
||||||
|
{
|
||||||
|
// empty base class
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
This class used to be required if you wanted an object to be allocated with a specific
|
||||||
|
alignment. ALIGN16 and ALIGN16_POST are not actually sufficient for this because they
|
||||||
|
guarantee that the globals, statics, locals, and function parameters are appropriately
|
||||||
|
aligned they do not affect memory allocation alignment.
|
||||||
|
However this class is usually not needed because as of 2012 our policy is that our
|
||||||
|
allocator should take care of this automatically. Any object whose size is a multiple
|
||||||
|
of 16 will be 16-byte aligned. Existing uses of this class were not changed because
|
||||||
|
the cost/benefit did not justify it.
|
||||||
|
*/
|
||||||
|
// template here to allow adding alignment at levels of hierarchy that aren't the base
|
||||||
|
template< int bytesAlignment = 16, class T = aligned_tmp_t >
|
||||||
|
class CAlignedNewDelete : public T
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
/*
|
||||||
|
Note that this class does not overload operator new[] and delete[] which means that
|
||||||
|
classes that depend on this for alignment may end up misaligned if an array is
|
||||||
|
allocated. This problem is now mostly theoretical because this class is mostly
|
||||||
|
obsolete.
|
||||||
|
*/
|
||||||
|
void *operator new( size_t nSize )
|
||||||
|
{
|
||||||
|
return MemAlloc_AllocAligned( nSize, bytesAlignment );
|
||||||
|
}
|
||||||
|
|
||||||
|
void* operator new( size_t nSize, int nBlockUse, const char *pFileName, int nLine )
|
||||||
|
{
|
||||||
|
return MemAlloc_AllocAlignedFileLine( nSize, bytesAlignment, pFileName, nLine );
|
||||||
|
}
|
||||||
|
|
||||||
|
void operator delete(void *pData)
|
||||||
|
{
|
||||||
|
if ( pData )
|
||||||
|
{
|
||||||
|
MemAlloc_FreeAligned( pData );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void operator delete( void* pData, int nBlockUse, const char *pFileName, int nLine )
|
||||||
|
{
|
||||||
|
if ( pData )
|
||||||
|
{
|
||||||
|
MemAlloc_FreeAligned( pData, pFileName, nLine );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif /* TIER0_MEMALLOC_H */
|
#endif /* TIER0_MEMALLOC_H */
|
||||||
|
|||||||
@ -11,6 +11,10 @@
|
|||||||
// to include this potentially multiple times (since we can deactivate debugging
|
// to include this potentially multiple times (since we can deactivate debugging
|
||||||
// by including memdbgoff.h)
|
// by including memdbgoff.h)
|
||||||
|
|
||||||
|
#if !defined(NO_MALLOC_OVERRIDE) && defined(POSIX)
|
||||||
|
#define NO_MALLOC_OVERRIDE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(STEAM) && !defined(NO_MALLOC_OVERRIDE)
|
#if !defined(STEAM) && !defined(NO_MALLOC_OVERRIDE)
|
||||||
|
|
||||||
// SPECIAL NOTE #2: This must be the final include in a .cpp or .h file!!!
|
// SPECIAL NOTE #2: This must be the final include in a .cpp or .h file!!!
|
||||||
|
|||||||
@ -75,27 +75,58 @@
|
|||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#define IsLinux() false
|
#define IsLinux() false
|
||||||
|
#define IsOSX() false
|
||||||
|
#define IsPosix() false
|
||||||
|
#ifndef PLATFORM_WINDOWS
|
||||||
|
#define PLATFORM_WINDOWS 1 // Windows PC or Xbox 360
|
||||||
|
#endif
|
||||||
#ifndef _X360
|
#ifndef _X360
|
||||||
|
#define IsWindows() true
|
||||||
#define IsPC() true
|
#define IsPC() true
|
||||||
#define IsConsole() false
|
#define IsConsole() false
|
||||||
#define IsX360() false
|
#define IsX360() false
|
||||||
#define IsPS3() false
|
#define IsPS3() false
|
||||||
#define IS_WINDOWS_PC
|
#define IS_WINDOWS_PC
|
||||||
#else
|
#define PLATFORM_WINDOWS_PC 1 // Windows PC
|
||||||
#ifndef _CONSOLE
|
#ifdef _WIN64
|
||||||
#define _CONSOLE
|
#define IsPlatformWindowsPC64() true
|
||||||
|
#define IsPlatformWindowsPC32() false
|
||||||
|
#define PLATFORM_WINDOWS_PC64 1
|
||||||
|
#else
|
||||||
|
#define IsPlatformWindowsPC64() false
|
||||||
|
#define IsPlatformWindowsPC32() true
|
||||||
|
#define PLATFORM_WINDOWS_PC32 1
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
#define PLATFORM_X360 1
|
||||||
|
#ifndef _CONSOLE
|
||||||
|
#define _CONSOLE
|
||||||
|
#endif
|
||||||
|
#define IsWindows() false
|
||||||
#define IsPC() false
|
#define IsPC() false
|
||||||
#define IsConsole() true
|
#define IsConsole() true
|
||||||
#define IsX360() true
|
#define IsX360() true
|
||||||
#define IsPS3() false
|
#define IsPS3() false
|
||||||
#endif
|
#endif
|
||||||
#elif defined(_LINUX) || defined(__APPLE__)
|
#elif defined(POSIX)
|
||||||
#define IsPC() true
|
#define IsPC() true
|
||||||
|
#define IsWindows() false
|
||||||
#define IsConsole() false
|
#define IsConsole() false
|
||||||
#define IsX360() false
|
#define IsX360() false
|
||||||
#define IsPS3() false
|
#define IsPS3() false
|
||||||
#define IsLinux() true
|
#if defined( LINUX )
|
||||||
|
#define IsLinux() true
|
||||||
|
#else
|
||||||
|
#define IsLinux() false
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined( OSX )
|
||||||
|
#define IsOSX() true
|
||||||
|
#else
|
||||||
|
#define IsOSX() false
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define IsPosix() true
|
||||||
#else
|
#else
|
||||||
#error
|
#error
|
||||||
#endif
|
#endif
|
||||||
@ -252,6 +283,17 @@ typedef void * HINSTANCE;
|
|||||||
#define MAX_PATH 260
|
#define MAX_PATH 260
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef GNUC
|
||||||
|
#undef offsetof
|
||||||
|
//#define offsetof( type, var ) __builtin_offsetof( type, var )
|
||||||
|
#define offsetof(s,m) (size_t)&(((s *)0)->m)
|
||||||
|
#else
|
||||||
|
#undef offsetof
|
||||||
|
#define offsetof(s,m) (size_t)&(((s *)0)->m)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define ALIGN_VALUE( val, alignment ) ( ( val + alignment - 1 ) & ~( alignment - 1 ) ) // need macro for constant expression
|
#define ALIGN_VALUE( val, alignment ) ( ( val + alignment - 1 ) & ~( alignment - 1 ) ) // need macro for constant expression
|
||||||
|
|
||||||
// Used to step into the debugger
|
// Used to step into the debugger
|
||||||
@ -283,17 +325,41 @@ typedef void * HINSTANCE;
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#define DECL_ALIGN(x) __declspec(align(x))
|
#define DECL_ALIGN(x) __declspec(align(x))
|
||||||
|
|
||||||
#elif defined(_LINUX) || defined(__APPLE__)
|
#elif GNUC
|
||||||
#define DECL_ALIGN(x) __attribute__((aligned(x)))
|
#define DECL_ALIGN(x) __attribute__((aligned(x)))
|
||||||
#else
|
#else
|
||||||
#define DECL_ALIGN(x) /* */
|
#define DECL_ALIGN(x) /* */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
// MSVC has the align at the start of the struct
|
||||||
|
#define ALIGN4 DECL_ALIGN(4)
|
||||||
#define ALIGN8 DECL_ALIGN(8)
|
#define ALIGN8 DECL_ALIGN(8)
|
||||||
#define ALIGN16 DECL_ALIGN(16)
|
#define ALIGN16 DECL_ALIGN(16)
|
||||||
#define ALIGN32 DECL_ALIGN(32)
|
#define ALIGN32 DECL_ALIGN(32)
|
||||||
#define ALIGN128 DECL_ALIGN(128)
|
#define ALIGN128 DECL_ALIGN(128)
|
||||||
|
|
||||||
|
#define ALIGN4_POST
|
||||||
|
#define ALIGN8_POST
|
||||||
|
#define ALIGN16_POST
|
||||||
|
#define ALIGN32_POST
|
||||||
|
#define ALIGN128_POST
|
||||||
|
#elif defined( GNUC )
|
||||||
|
// gnuc has the align decoration at the end
|
||||||
|
#define ALIGN4
|
||||||
|
#define ALIGN8
|
||||||
|
#define ALIGN16
|
||||||
|
#define ALIGN32
|
||||||
|
#define ALIGN128
|
||||||
|
|
||||||
|
#define ALIGN4_POST DECL_ALIGN(4)
|
||||||
|
#define ALIGN8_POST DECL_ALIGN(8)
|
||||||
|
#define ALIGN16_POST DECL_ALIGN(16)
|
||||||
|
#define ALIGN32_POST DECL_ALIGN(32)
|
||||||
|
#define ALIGN128_POST DECL_ALIGN(128)
|
||||||
|
#else
|
||||||
|
#error
|
||||||
|
#endif
|
||||||
|
|
||||||
// Linux had a few areas where it didn't construct objects in the same order that Windows does.
|
// Linux had a few areas where it didn't construct objects in the same order that Windows does.
|
||||||
// So when CVProfile::CVProfile() would access g_pMemAlloc, it would crash because the allocator wasn't initalized yet.
|
// So when CVProfile::CVProfile() would access g_pMemAlloc, it would crash because the allocator wasn't initalized yet.
|
||||||
@ -824,8 +890,18 @@ struct CPUInformation
|
|||||||
tchar* m_szProcessorID; // Processor vendor Identification.
|
tchar* m_szProcessorID; // Processor vendor Identification.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wunknown-pragmas"
|
||||||
|
#pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
|
||||||
|
#endif
|
||||||
|
|
||||||
PLATFORM_INTERFACE const CPUInformation& GetCPUInformation();
|
PLATFORM_INTERFACE const CPUInformation& GetCPUInformation();
|
||||||
|
|
||||||
|
#ifdef __clang__
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
PLATFORM_INTERFACE void GetCurrentDate( int *pDay, int *pMonth, int *pYear );
|
PLATFORM_INTERFACE void GetCurrentDate( int *pDay, int *pMonth, int *pYear );
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------- //
|
// ---------------------------------------------------------------------------------- //
|
||||||
|
|||||||
@ -113,7 +113,7 @@ private:
|
|||||||
bool ParseArgV0( CUtlBuffer &buf, char *pArgv0, int nMaxLen, const char **pArgs );
|
bool ParseArgV0( CUtlBuffer &buf, char *pArgv0, int nMaxLen, const char **pArgs );
|
||||||
|
|
||||||
char m_pArgSBuffer[ ARGS_BUFFER_LENGTH ];
|
char m_pArgSBuffer[ ARGS_BUFFER_LENGTH ];
|
||||||
int m_nLastUsedArgSSize;
|
//int m_nLastUsedArgSSize;
|
||||||
int m_nArgSBufferSize;
|
int m_nArgSBufferSize;
|
||||||
CUtlFixedLinkedList< Command_t > m_Commands;
|
CUtlFixedLinkedList< Command_t > m_Commands;
|
||||||
int m_nCurrentTick;
|
int m_nCurrentTick;
|
||||||
|
|||||||
@ -336,7 +336,6 @@ void CUtlBlockMemory<T,I>::Purge( int numElements )
|
|||||||
}
|
}
|
||||||
|
|
||||||
int nBlockSize = NumElementsInBlock();
|
int nBlockSize = NumElementsInBlock();
|
||||||
int nBlocksOld = m_nBlocks;
|
|
||||||
int nBlocks = ( numElements + nBlockSize - 1 ) / nBlockSize;
|
int nBlocks = ( numElements + nBlockSize - 1 ) / nBlockSize;
|
||||||
|
|
||||||
// If the number of blocks is the same as the allocated number of blocks, we are done.
|
// If the number of blocks is the same as the allocated number of blocks, we are done.
|
||||||
|
|||||||
@ -27,6 +27,11 @@ class IToolSystem;
|
|||||||
class IClientRenderable;
|
class IClientRenderable;
|
||||||
class Vector;
|
class Vector;
|
||||||
class QAngle;
|
class QAngle;
|
||||||
|
class CBaseEntity;
|
||||||
|
class CBaseAnimating;
|
||||||
|
class CTakeDamageInfo;
|
||||||
|
class ITempEntsSystem;
|
||||||
|
class IEntityFactoryDictionary;
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -173,19 +178,19 @@ public:
|
|||||||
virtual bool IsInNoClipMode( IClientEntity *pClientPlayer = NULL ) = 0;
|
virtual bool IsInNoClipMode( IClientEntity *pClientPlayer = NULL ) = 0;
|
||||||
|
|
||||||
// entity searching
|
// entity searching
|
||||||
virtual void *FirstEntity( void ) = 0;
|
virtual CBaseEntity *FirstEntity( void ) = 0;
|
||||||
virtual void *NextEntity( void *pEntity ) = 0;
|
virtual CBaseEntity *NextEntity( CBaseEntity *pEntity ) = 0;
|
||||||
virtual void *FindEntityByHammerID( int iHammerID ) = 0;
|
virtual CBaseEntity *FindEntityByHammerID( int iHammerID ) = 0;
|
||||||
|
|
||||||
// entity query
|
// entity query
|
||||||
virtual bool GetKeyValue( void *pEntity, const char *szField, char *szValue, int iMaxLen ) = 0;
|
virtual bool GetKeyValue( CBaseEntity *pEntity, const char *szField, char *szValue, int iMaxLen ) = 0;
|
||||||
virtual bool SetKeyValue( void *pEntity, const char *szField, const char *szValue ) = 0;
|
virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const char *szValue ) = 0;
|
||||||
virtual bool SetKeyValue( void *pEntity, const char *szField, float flValue ) = 0;
|
virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, float flValue ) = 0;
|
||||||
virtual bool SetKeyValue( void *pEntity, const char *szField, const Vector &vecValue ) = 0;
|
virtual bool SetKeyValue( CBaseEntity *pEntity, const char *szField, const Vector &vecValue ) = 0;
|
||||||
|
|
||||||
// entity spawning
|
// entity spawning
|
||||||
virtual void *CreateEntityByName( const char *szClassName ) = 0;
|
virtual CBaseEntity *CreateEntityByName( const char *szClassName ) = 0;
|
||||||
virtual void DispatchSpawn( void *pEntity ) = 0;
|
virtual void DispatchSpawn( CBaseEntity *pEntity ) = 0;
|
||||||
|
|
||||||
// This reloads a portion or all of a particle definition file.
|
// This reloads a portion or all of a particle definition file.
|
||||||
// It's up to the server to decide if it cares about this file
|
// It's up to the server to decide if it cares about this file
|
||||||
@ -193,9 +198,32 @@ public:
|
|||||||
virtual void ReloadParticleDefintions( const char *pFileName, const void *pBufData, int nLen ) = 0;
|
virtual void ReloadParticleDefintions( const char *pFileName, const void *pBufData, int nLen ) = 0;
|
||||||
|
|
||||||
virtual void AddOriginToPVS( const Vector &org ) = 0;
|
virtual void AddOriginToPVS( const Vector &org ) = 0;
|
||||||
|
virtual void MoveEngineViewTo( const Vector &vPos, const QAngle &vAngles ) = 0;
|
||||||
|
|
||||||
|
virtual bool DestroyEntityByHammerId( int iHammerID ) = 0;
|
||||||
|
virtual CBaseEntity *GetBaseEntityByEntIndex( int iEntIndex ) = 0;
|
||||||
|
virtual void RemoveEntity( CBaseEntity *pEntity ) = 0;
|
||||||
|
virtual void RemoveEntityImmediate( CBaseEntity *pEntity ) = 0;
|
||||||
|
virtual IEntityFactoryDictionary *GetEntityFactoryDictionary( void ) = 0;
|
||||||
|
|
||||||
|
virtual void SetMoveType( CBaseEntity *pEntity, int val ) = 0;
|
||||||
|
virtual void SetMoveType( CBaseEntity *pEntity, int val, int moveCollide ) = 0;
|
||||||
|
virtual void ResetSequence( CBaseAnimating *pEntity, int nSequence ) = 0;
|
||||||
|
virtual void ResetSequenceInfo( CBaseAnimating *pEntity ) = 0;
|
||||||
|
|
||||||
|
virtual void ClearMultiDamage( void ) = 0;
|
||||||
|
virtual void ApplyMultiDamage( void ) = 0;
|
||||||
|
virtual void AddMultiDamage( const CTakeDamageInfo &pTakeDamageInfo, CBaseEntity *pEntity ) = 0;
|
||||||
|
virtual void RadiusDamage( const CTakeDamageInfo &info, const Vector &vecSrc, float flRadius, int iClassIgnore, CBaseEntity *pEntityIgnore ) = 0;
|
||||||
|
|
||||||
|
virtual ITempEntsSystem *GetTempEntsSystem( void ) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define VSERVERTOOLS_INTERFACE_VERSION "VSERVERTOOLS001"
|
typedef IServerTools IServerTools001;
|
||||||
|
|
||||||
|
#define VSERVERTOOLS_INTERFACE_VERSION_1 "VSERVERTOOLS001"
|
||||||
|
#define VSERVERTOOLS_INTERFACE_VERSION "VSERVERTOOLS002"
|
||||||
|
#define VSERVERTOOLS_INTERFACE_VERSION_INT 2
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Client side tool interace (right now just handles IClientRenderables).
|
// Purpose: Client side tool interace (right now just handles IClientRenderables).
|
||||||
|
|||||||
@ -27,6 +27,17 @@
|
|||||||
// memdbgon must be the last include file in a .cpp file!!!
|
// memdbgon must be the last include file in a .cpp file!!!
|
||||||
#include <tier0/memdbgon.h>
|
#include <tier0/memdbgon.h>
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
T *KVStringAlloc(size_t nLength)
|
||||||
|
{
|
||||||
|
return reinterpret_cast<T*>(MemAlloc_Alloc(sizeof(T) * nLength));
|
||||||
|
}
|
||||||
|
|
||||||
|
void KVStringDelete(void* pMem)
|
||||||
|
{
|
||||||
|
MemAlloc_Free(pMem);
|
||||||
|
}
|
||||||
|
|
||||||
static const char * s_LastFileLoadingFrom = "unknown"; // just needed for error messages
|
static const char * s_LastFileLoadingFrom = "unknown"; // just needed for error messages
|
||||||
|
|
||||||
#define KEYVALUES_TOKEN_SIZE 1024
|
#define KEYVALUES_TOKEN_SIZE 1024
|
||||||
@ -323,9 +334,9 @@ void KeyValues::RemoveEverything()
|
|||||||
delete dat;
|
delete dat;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete [] m_sValue;
|
KVStringDelete(m_sValue);
|
||||||
m_sValue = NULL;
|
m_sValue = NULL;
|
||||||
delete [] m_wsValue;
|
KVStringDelete(m_wsValue);
|
||||||
m_wsValue = NULL;
|
m_wsValue = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1280,9 +1291,9 @@ void KeyValues::SetColor( const char *keyName, Color value)
|
|||||||
void KeyValues::SetStringValue( char const *strValue )
|
void KeyValues::SetStringValue( char const *strValue )
|
||||||
{
|
{
|
||||||
// delete the old value
|
// delete the old value
|
||||||
delete [] m_sValue;
|
KVStringDelete(m_sValue);
|
||||||
// make sure we're not storing the WSTRING - as we're converting over to STRING
|
// make sure we're not storing the WSTRING - as we're converting over to STRING
|
||||||
delete [] m_wsValue;
|
KVStringDelete(m_wsValue);
|
||||||
m_wsValue = NULL;
|
m_wsValue = NULL;
|
||||||
|
|
||||||
if (!strValue)
|
if (!strValue)
|
||||||
@ -1293,7 +1304,7 @@ void KeyValues::SetStringValue( char const *strValue )
|
|||||||
|
|
||||||
// allocate memory for the new value and copy it in
|
// allocate memory for the new value and copy it in
|
||||||
int len = Q_strlen( strValue );
|
int len = Q_strlen( strValue );
|
||||||
m_sValue = new char[len + 1];
|
m_sValue = KVStringAlloc<char>(len + 1);
|
||||||
Q_memcpy( m_sValue, strValue, len+1 );
|
Q_memcpy( m_sValue, strValue, len+1 );
|
||||||
|
|
||||||
m_iDataType = TYPE_STRING;
|
m_iDataType = TYPE_STRING;
|
||||||
@ -1309,9 +1320,9 @@ void KeyValues::SetString( const char *keyName, const char *value )
|
|||||||
if ( dat )
|
if ( dat )
|
||||||
{
|
{
|
||||||
// delete the old value
|
// delete the old value
|
||||||
delete [] dat->m_sValue;
|
KVStringDelete(dat->m_sValue);
|
||||||
// make sure we're not storing the WSTRING - as we're converting over to STRING
|
// make sure we're not storing the WSTRING - as we're converting over to STRING
|
||||||
delete [] dat->m_wsValue;
|
KVStringDelete(dat->m_wsValue);
|
||||||
dat->m_wsValue = NULL;
|
dat->m_wsValue = NULL;
|
||||||
|
|
||||||
if (!value)
|
if (!value)
|
||||||
@ -1322,7 +1333,7 @@ void KeyValues::SetString( const char *keyName, const char *value )
|
|||||||
|
|
||||||
// allocate memory for the new value and copy it in
|
// allocate memory for the new value and copy it in
|
||||||
int len = Q_strlen( value );
|
int len = Q_strlen( value );
|
||||||
dat->m_sValue = new char[len + 1];
|
dat->m_sValue = KVStringAlloc<char>(len + 1);
|
||||||
Q_memcpy( dat->m_sValue, value, len+1 );
|
Q_memcpy( dat->m_sValue, value, len+1 );
|
||||||
|
|
||||||
dat->m_iDataType = TYPE_STRING;
|
dat->m_iDataType = TYPE_STRING;
|
||||||
@ -1338,9 +1349,9 @@ void KeyValues::SetWString( const char *keyName, const wchar_t *value )
|
|||||||
if ( dat )
|
if ( dat )
|
||||||
{
|
{
|
||||||
// delete the old value
|
// delete the old value
|
||||||
delete [] dat->m_wsValue;
|
KVStringDelete(dat->m_wsValue);
|
||||||
// make sure we're not storing the STRING - as we're converting over to WSTRING
|
// make sure we're not storing the STRING - as we're converting over to WSTRING
|
||||||
delete [] dat->m_sValue;
|
KVStringDelete(dat->m_sValue);
|
||||||
dat->m_sValue = NULL;
|
dat->m_sValue = NULL;
|
||||||
|
|
||||||
if (!value)
|
if (!value)
|
||||||
@ -1351,7 +1362,7 @@ void KeyValues::SetWString( const char *keyName, const wchar_t *value )
|
|||||||
|
|
||||||
// allocate memory for the new value and copy it in
|
// allocate memory for the new value and copy it in
|
||||||
int len = wcslen( value );
|
int len = wcslen( value );
|
||||||
dat->m_wsValue = new wchar_t[len + 1];
|
dat->m_wsValue = KVStringAlloc<wchar_t>(len + 1);
|
||||||
Q_memcpy( dat->m_wsValue, value, (len+1) * sizeof(wchar_t) );
|
Q_memcpy( dat->m_wsValue, value, (len+1) * sizeof(wchar_t) );
|
||||||
|
|
||||||
dat->m_iDataType = TYPE_WSTRING;
|
dat->m_iDataType = TYPE_WSTRING;
|
||||||
@ -1382,12 +1393,12 @@ void KeyValues::SetUint64( const char *keyName, uint64 value )
|
|||||||
if ( dat )
|
if ( dat )
|
||||||
{
|
{
|
||||||
// delete the old value
|
// delete the old value
|
||||||
delete [] dat->m_sValue;
|
KVStringDelete(dat->m_sValue);
|
||||||
// make sure we're not storing the WSTRING - as we're converting over to STRING
|
// make sure we're not storing the WSTRING - as we're converting over to STRING
|
||||||
delete [] dat->m_wsValue;
|
KVStringDelete(dat->m_wsValue);
|
||||||
dat->m_wsValue = NULL;
|
dat->m_wsValue = NULL;
|
||||||
|
|
||||||
dat->m_sValue = new char[sizeof(uint64)];
|
dat->m_sValue = KVStringAlloc<char>(sizeof(uint64));
|
||||||
*((uint64 *)dat->m_sValue) = value;
|
*((uint64 *)dat->m_sValue) = value;
|
||||||
dat->m_iDataType = TYPE_UINT64;
|
dat->m_iDataType = TYPE_UINT64;
|
||||||
}
|
}
|
||||||
@ -1444,7 +1455,7 @@ void KeyValues::RecursiveCopyKeyValues( KeyValues& src )
|
|||||||
if( src.m_sValue )
|
if( src.m_sValue )
|
||||||
{
|
{
|
||||||
int len = Q_strlen(src.m_sValue) + 1;
|
int len = Q_strlen(src.m_sValue) + 1;
|
||||||
m_sValue = new char[len];
|
m_sValue = KVStringAlloc<char>(len);
|
||||||
Q_strncpy( m_sValue, src.m_sValue, len );
|
Q_strncpy( m_sValue, src.m_sValue, len );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1453,7 +1464,7 @@ void KeyValues::RecursiveCopyKeyValues( KeyValues& src )
|
|||||||
m_iValue = src.m_iValue;
|
m_iValue = src.m_iValue;
|
||||||
Q_snprintf( buf,sizeof(buf), "%d", m_iValue );
|
Q_snprintf( buf,sizeof(buf), "%d", m_iValue );
|
||||||
int len = Q_strlen(buf) + 1;
|
int len = Q_strlen(buf) + 1;
|
||||||
m_sValue = new char[len];
|
m_sValue = KVStringAlloc<char>(len);
|
||||||
Q_strncpy( m_sValue, buf, len );
|
Q_strncpy( m_sValue, buf, len );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1462,7 +1473,7 @@ void KeyValues::RecursiveCopyKeyValues( KeyValues& src )
|
|||||||
m_flValue = src.m_flValue;
|
m_flValue = src.m_flValue;
|
||||||
Q_snprintf( buf,sizeof(buf), "%f", m_flValue );
|
Q_snprintf( buf,sizeof(buf), "%f", m_flValue );
|
||||||
int len = Q_strlen(buf) + 1;
|
int len = Q_strlen(buf) + 1;
|
||||||
m_sValue = new char[len];
|
m_sValue = KVStringAlloc<char>(len);
|
||||||
Q_strncpy( m_sValue, buf, len );
|
Q_strncpy( m_sValue, buf, len );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1473,7 +1484,7 @@ void KeyValues::RecursiveCopyKeyValues( KeyValues& src )
|
|||||||
break;
|
break;
|
||||||
case TYPE_UINT64:
|
case TYPE_UINT64:
|
||||||
{
|
{
|
||||||
m_sValue = new char[sizeof(uint64)];
|
m_sValue = KVStringAlloc<char>(sizeof(uint64));
|
||||||
Q_memcpy( m_sValue, src.m_sValue, sizeof(uint64) );
|
Q_memcpy( m_sValue, src.m_sValue, sizeof(uint64) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1584,7 +1595,7 @@ KeyValues *KeyValues::MakeCopy( void ) const
|
|||||||
{
|
{
|
||||||
int len = Q_strlen( m_sValue );
|
int len = Q_strlen( m_sValue );
|
||||||
Assert( !newKeyValue->m_sValue );
|
Assert( !newKeyValue->m_sValue );
|
||||||
newKeyValue->m_sValue = new char[len + 1];
|
newKeyValue->m_sValue = KVStringAlloc<char>(len + 1);
|
||||||
Q_memcpy( newKeyValue->m_sValue, m_sValue, len+1 );
|
Q_memcpy( newKeyValue->m_sValue, m_sValue, len+1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1594,7 +1605,7 @@ KeyValues *KeyValues::MakeCopy( void ) const
|
|||||||
if ( m_wsValue )
|
if ( m_wsValue )
|
||||||
{
|
{
|
||||||
int len = wcslen( m_wsValue );
|
int len = wcslen( m_wsValue );
|
||||||
newKeyValue->m_wsValue = new wchar_t[len+1];
|
newKeyValue->m_wsValue = KVStringAlloc<wchar_t>(len + 1);
|
||||||
Q_memcpy( newKeyValue->m_wsValue, m_wsValue, (len+1)*sizeof(wchar_t));
|
Q_memcpy( newKeyValue->m_wsValue, m_wsValue, (len+1)*sizeof(wchar_t));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1620,7 +1631,7 @@ KeyValues *KeyValues::MakeCopy( void ) const
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TYPE_UINT64:
|
case TYPE_UINT64:
|
||||||
newKeyValue->m_sValue = new char[sizeof(uint64)];
|
newKeyValue->m_sValue = KVStringAlloc<char>(sizeof(uint64));
|
||||||
Q_memcpy( newKeyValue->m_sValue, m_sValue, sizeof(uint64) );
|
Q_memcpy( newKeyValue->m_sValue, m_sValue, sizeof(uint64) );
|
||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
@ -2062,7 +2073,7 @@ void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &b
|
|||||||
|
|
||||||
if (dat->m_sValue)
|
if (dat->m_sValue)
|
||||||
{
|
{
|
||||||
delete[] dat->m_sValue;
|
KVStringDelete(dat->m_sValue);
|
||||||
dat->m_sValue = NULL;
|
dat->m_sValue = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2094,7 +2105,7 @@ void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &b
|
|||||||
digit -= 'A' - ( '9' + 1 );
|
digit -= 'A' - ( '9' + 1 );
|
||||||
retVal = ( retVal * 16 ) + ( digit - '0' );
|
retVal = ( retVal * 16 ) + ( digit - '0' );
|
||||||
}
|
}
|
||||||
dat->m_sValue = new char[sizeof(uint64)];
|
dat->m_sValue = KVStringAlloc<char>(sizeof(uint64));
|
||||||
*((uint64 *)dat->m_sValue) = retVal;
|
*((uint64 *)dat->m_sValue) = retVal;
|
||||||
dat->m_iDataType = TYPE_UINT64;
|
dat->m_iDataType = TYPE_UINT64;
|
||||||
}
|
}
|
||||||
@ -2116,7 +2127,7 @@ void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &b
|
|||||||
if (dat->m_iDataType == TYPE_STRING)
|
if (dat->m_iDataType == TYPE_STRING)
|
||||||
{
|
{
|
||||||
// copy in the string information
|
// copy in the string information
|
||||||
dat->m_sValue = new char[len+1];
|
dat->m_sValue = KVStringAlloc<char>(len + 1);
|
||||||
Q_memcpy( dat->m_sValue, value, len+1 );
|
Q_memcpy( dat->m_sValue, value, len+1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2274,7 +2285,7 @@ bool KeyValues::ReadAsBinary( CUtlBuffer &buffer )
|
|||||||
token[KEYVALUES_TOKEN_SIZE-1] = 0;
|
token[KEYVALUES_TOKEN_SIZE-1] = 0;
|
||||||
|
|
||||||
int len = Q_strlen( token );
|
int len = Q_strlen( token );
|
||||||
dat->m_sValue = new char[len + 1];
|
dat->m_sValue = KVStringAlloc<char>(len + 1);
|
||||||
Q_memcpy( dat->m_sValue, token, len+1 );
|
Q_memcpy( dat->m_sValue, token, len+1 );
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -2293,7 +2304,7 @@ bool KeyValues::ReadAsBinary( CUtlBuffer &buffer )
|
|||||||
|
|
||||||
case TYPE_UINT64:
|
case TYPE_UINT64:
|
||||||
{
|
{
|
||||||
dat->m_sValue = new char[sizeof(uint64)];
|
dat->m_sValue = KVStringAlloc<char>(sizeof(uint64));
|
||||||
*((double *)dat->m_sValue) = buffer.GetDouble();
|
*((double *)dat->m_sValue) = buffer.GetDouble();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -867,7 +867,6 @@ int old_bf_read::ReadSBitLong( int numbits )
|
|||||||
}
|
}
|
||||||
|
|
||||||
const byte g_BitMask[8] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80};
|
const byte g_BitMask[8] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80};
|
||||||
const byte g_TrailingMask[8] = {0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80};
|
|
||||||
|
|
||||||
inline int old_bf_read::CountRunOfZeros()
|
inline int old_bf_read::CountRunOfZeros()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -232,7 +232,7 @@ void MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5Context_t *ctx)
|
|||||||
MD5Transform(ctx->buf, (unsigned int *) ctx->in);
|
MD5Transform(ctx->buf, (unsigned int *) ctx->in);
|
||||||
//byteReverse((unsigned char *) ctx->buf, 4);
|
//byteReverse((unsigned char *) ctx->buf, 4);
|
||||||
memcpy(digest, ctx->buf, MD5_DIGEST_LENGTH);
|
memcpy(digest, ctx->buf, MD5_DIGEST_LENGTH);
|
||||||
memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
|
memset(ctx, 0, sizeof(MD5Context_t)); /* In case it's sensitive */
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -122,8 +122,6 @@ unsigned int CDataManagerBase::FlushAll()
|
|||||||
unsigned int CDataManagerBase::Purge( unsigned int nBytesToPurge )
|
unsigned int CDataManagerBase::Purge( unsigned int nBytesToPurge )
|
||||||
{
|
{
|
||||||
unsigned int nTargetSize = MemUsed_Inline() - nBytesToPurge;
|
unsigned int nTargetSize = MemUsed_Inline() - nBytesToPurge;
|
||||||
if ( nTargetSize < 0 )
|
|
||||||
nTargetSize = 0;
|
|
||||||
unsigned int nImpliedCapacity = MemTotal_Inline() - nTargetSize;
|
unsigned int nImpliedCapacity = MemTotal_Inline() - nTargetSize;
|
||||||
return EnsureCapacity( nImpliedCapacity );
|
return EnsureCapacity( nImpliedCapacity );
|
||||||
}
|
}
|
||||||
|
|||||||
@ -142,7 +142,7 @@ unsigned FASTCALL HashInt( const int n )
|
|||||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||||
|
|
||||||
even = g_nRandomValues[odd ^ (n >> 24)];
|
even = g_nRandomValues[odd ^ (n >> 24)];
|
||||||
odd = g_nRandomValues[even ^ (n >> 16) & 0xff];
|
odd = g_nRandomValues[even ^ ((n >> 16) & 0xff)];
|
||||||
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
||||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ unsigned FASTCALL Hash4( const void *pKey )
|
|||||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||||
|
|
||||||
even = g_nRandomValues[odd ^ (n >> 24)];
|
even = g_nRandomValues[odd ^ (n >> 24)];
|
||||||
odd = g_nRandomValues[even ^ (n >> 16) & 0xff];
|
odd = g_nRandomValues[even ^ ((n >> 16) & 0xff)];
|
||||||
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
||||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ unsigned FASTCALL Hash8( const void *pKey )
|
|||||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||||
|
|
||||||
even = g_nRandomValues[odd ^ (n >> 24)];
|
even = g_nRandomValues[odd ^ (n >> 24)];
|
||||||
odd = g_nRandomValues[even ^ (n >> 16) & 0xff];
|
odd = g_nRandomValues[even ^ ((n >> 16) & 0xff)];
|
||||||
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
||||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ unsigned FASTCALL Hash12( const void *pKey )
|
|||||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||||
|
|
||||||
even = g_nRandomValues[odd ^ (n >> 24)];
|
even = g_nRandomValues[odd ^ (n >> 24)];
|
||||||
odd = g_nRandomValues[even ^ (n >> 16) & 0xff];
|
odd = g_nRandomValues[even ^ ((n >> 16) & 0xff)];
|
||||||
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
||||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ unsigned FASTCALL Hash16( const void *pKey )
|
|||||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||||
|
|
||||||
even = g_nRandomValues[odd ^ (n >> 24)];
|
even = g_nRandomValues[odd ^ (n >> 24)];
|
||||||
odd = g_nRandomValues[even ^ (n >> 16) & 0xff];
|
odd = g_nRandomValues[even ^ ((n >> 16) & 0xff)];
|
||||||
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
even = g_nRandomValues[odd ^ ((n >> 8) & 0xff)];
|
||||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||||
|
|
||||||
|
|||||||
@ -226,7 +226,7 @@ char *V_strnlwr(char *s, size_t count)
|
|||||||
if ( !s )
|
if ( !s )
|
||||||
return s;
|
return s;
|
||||||
|
|
||||||
while ( --count >= 0 )
|
while ( count-- )
|
||||||
{
|
{
|
||||||
if ( !*s )
|
if ( !*s )
|
||||||
break;
|
break;
|
||||||
|
|||||||
22
tier1/tier1-2005.sln
Normal file
22
tier1/tier1-2005.sln
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 14
|
||||||
|
VisualStudioVersion = 14.0.25420.1
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tier1", "tier1-2005.vcxproj", "{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
@ -1,568 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="tier1"
|
|
||||||
ProjectGUID="{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}"
|
|
||||||
RootNamespace="tier1"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\public;..\public\tier0;..\public\tier1"
|
|
||||||
PreprocessorDefinitions="WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
FloatingPointModel="2"
|
|
||||||
TreatWChar_tAsBuiltInType="true"
|
|
||||||
ForceConformanceInForLoopScope="true"
|
|
||||||
RuntimeTypeInfo="true"
|
|
||||||
OpenMP="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
ExpandAttributedSource="false"
|
|
||||||
AssemblerOutput="0"
|
|
||||||
AssemblerListingLocation="$(IntDir)/"
|
|
||||||
ObjectFile="$(IntDir)/"
|
|
||||||
ProgramDataBaseFileName="$(IntDir)/"
|
|
||||||
GenerateXMLDocumentationFiles="false"
|
|
||||||
BrowseInformation="0"
|
|
||||||
BrowseInformationFile="$(IntDir)/"
|
|
||||||
WarningLevel="4"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
CompileAs="2"
|
|
||||||
ErrorReporting="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
AdditionalDependencies="Rpcrt4.lib"
|
|
||||||
OutputFile="..\lib\public\tier1.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile="$(OutDir)/tier1.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory=".\Release"
|
|
||||||
IntermediateDirectory=".\Release"
|
|
||||||
ConfigurationType="4"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="2"
|
|
||||||
EnableIntrinsicFunctions="true"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="..\public;..\public\tier0;..\public\tier1"
|
|
||||||
PreprocessorDefinitions="WIN32;_WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB"
|
|
||||||
StringPooling="true"
|
|
||||||
ExceptionHandling="0"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
BufferSecurityCheck="false"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
FloatingPointModel="2"
|
|
||||||
TreatWChar_tAsBuiltInType="true"
|
|
||||||
ForceConformanceInForLoopScope="true"
|
|
||||||
RuntimeTypeInfo="true"
|
|
||||||
OpenMP="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
ExpandAttributedSource="false"
|
|
||||||
AssemblerOutput="0"
|
|
||||||
AssemblerListingLocation="$(IntDir)/"
|
|
||||||
ObjectFile="$(IntDir)/"
|
|
||||||
ProgramDataBaseFileName="$(IntDir)/"
|
|
||||||
GenerateXMLDocumentationFiles="false"
|
|
||||||
BrowseInformation="0"
|
|
||||||
BrowseInformationFile="$(IntDir)/"
|
|
||||||
WarningLevel="4"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="1"
|
|
||||||
CompileAs="2"
|
|
||||||
ErrorReporting="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
CommandLine=""
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
UseUnicodeResponseFiles="false"
|
|
||||||
AdditionalDependencies="Rpcrt4.lib"
|
|
||||||
OutputFile="..\lib\public\tier1.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
OutputFile="$(OutDir)/tier1.bsc"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
ExcludedFromBuild="false"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\bitbuf.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\byteswap.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\characterset.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\checksum_crc.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\checksum_md5.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\commandbuffer.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\convar.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\datamanager.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\diff.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\generichash.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\interface.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\KeyValues.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\mempool.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\memstack.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\NetAdr.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\newbitbuf.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\processor_detect.cpp"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
ExceptionHandling="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
ExceptionHandling="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\rangecheckedvar.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\stringpool.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\strtools.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\tier1.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\tokenreader.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\uniqueid.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\utlbuffer.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\utlbufferutil.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\utlstring.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\utlsymbol.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\bitbuf.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\byteswap.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\callqueue.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\characterset.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\checksum_crc.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\checksum_md5.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\CommandBuffer.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\convar.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\datamanager.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\datamap.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\delegates.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\diff.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\fmtstr.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\functors.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\generichash.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\iconvar.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\interface.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\KeyValues.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\lzmaDecoder.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\lzss.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\mempool.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\memstack.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\netadr.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\processor_detect.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\rangecheckedvar.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\refcount.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\smartptr.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\stringpool.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\strtools.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\tier1.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\tokenreader.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\uniqueid.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlbidirectionalset.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlblockmemory.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlbuffer.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlbufferutil.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utldict.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlenvelope.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlfixedmemory.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlhandletable.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlhash.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utllinkedlist.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlmap.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlmemory.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlmultilist.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlpriorityqueue.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlqueue.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlrbtree.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\UtlSortVector.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlstack.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlstring.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\UtlStringMap.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlsymbol.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\public\tier1\utlvector.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\common\xbox\xboxstubs.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
251
tier1/tier1-2005.vcxproj
Normal file
251
tier1/tier1-2005.vcxproj
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectName>tier1</ProjectName>
|
||||||
|
<ProjectGuid>{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}</ProjectGuid>
|
||||||
|
<RootNamespace>tier1</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>v120_xp</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>v140</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<OutDir>.\Debug\</OutDir>
|
||||||
|
<IntDir>.\Debug\</IntDir>
|
||||||
|
<PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
|
||||||
|
<PreLinkEventUseInBuild>true</PreLinkEventUseInBuild>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<OutDir>.\Release\</OutDir>
|
||||||
|
<IntDir>.\Release\</IntDir>
|
||||||
|
<PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
|
||||||
|
<PreLinkEventUseInBuild>true</PreLinkEventUseInBuild>
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command />
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_WIN32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<ExceptionHandling />
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FloatingPointModel>Fast</FloatingPointModel>
|
||||||
|
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||||
|
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
<OpenMPSupport>false</OpenMPSupport>
|
||||||
|
<PrecompiledHeader />
|
||||||
|
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||||
|
<AssemblerOutput />
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||||
|
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||||
|
<BrowseInformation />
|
||||||
|
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
<ErrorReporting>Prompt</ErrorReporting>
|
||||||
|
</ClCompile>
|
||||||
|
<PreLinkEvent>
|
||||||
|
<Command />
|
||||||
|
</PreLinkEvent>
|
||||||
|
<Lib>
|
||||||
|
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||||
|
<AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>..\lib\public\tier1.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
<Xdcmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Xdcmake>
|
||||||
|
<Bscmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<OutputFile>$(OutDir)tier1.bsc</OutputFile>
|
||||||
|
</Bscmake>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command />
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling />
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<FloatingPointModel>Fast</FloatingPointModel>
|
||||||
|
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||||
|
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
<OpenMPSupport>false</OpenMPSupport>
|
||||||
|
<PrecompiledHeader />
|
||||||
|
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||||
|
<AssemblerOutput />
|
||||||
|
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||||
|
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||||
|
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||||
|
<BrowseInformation />
|
||||||
|
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
<ErrorReporting>Prompt</ErrorReporting>
|
||||||
|
</ClCompile>
|
||||||
|
<PreLinkEvent>
|
||||||
|
<Command />
|
||||||
|
</PreLinkEvent>
|
||||||
|
<Lib>
|
||||||
|
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||||
|
<AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>..\lib\public\tier1.lib</OutputFile>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
<Xdcmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Xdcmake>
|
||||||
|
<Bscmake>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<OutputFile>$(OutDir)tier1.bsc</OutputFile>
|
||||||
|
</Bscmake>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="bitbuf.cpp" />
|
||||||
|
<ClCompile Include="byteswap.cpp" />
|
||||||
|
<ClCompile Include="characterset.cpp" />
|
||||||
|
<ClCompile Include="checksum_crc.cpp" />
|
||||||
|
<ClCompile Include="checksum_md5.cpp" />
|
||||||
|
<ClCompile Include="commandbuffer.cpp" />
|
||||||
|
<ClCompile Include="convar.cpp" />
|
||||||
|
<ClCompile Include="datamanager.cpp" />
|
||||||
|
<ClCompile Include="diff.cpp" />
|
||||||
|
<ClCompile Include="generichash.cpp" />
|
||||||
|
<ClCompile Include="interface.cpp" />
|
||||||
|
<ClCompile Include="KeyValues.cpp" />
|
||||||
|
<ClCompile Include="mempool.cpp" />
|
||||||
|
<ClCompile Include="memstack.cpp" />
|
||||||
|
<ClCompile Include="NetAdr.cpp" />
|
||||||
|
<ClCompile Include="newbitbuf.cpp" />
|
||||||
|
<ClCompile Include="processor_detect.cpp">
|
||||||
|
<ExceptionHandling Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Sync</ExceptionHandling>
|
||||||
|
<ExceptionHandling Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Sync</ExceptionHandling>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="rangecheckedvar.cpp" />
|
||||||
|
<ClCompile Include="stringpool.cpp" />
|
||||||
|
<ClCompile Include="strtools.cpp" />
|
||||||
|
<ClCompile Include="tier1.cpp" />
|
||||||
|
<ClCompile Include="tokenreader.cpp" />
|
||||||
|
<ClCompile Include="uniqueid.cpp" />
|
||||||
|
<ClCompile Include="utlbuffer.cpp" />
|
||||||
|
<ClCompile Include="utlbufferutil.cpp" />
|
||||||
|
<ClCompile Include="utlstring.cpp" />
|
||||||
|
<ClCompile Include="utlsymbol.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\common\xbox\xboxstubs.h" />
|
||||||
|
<ClInclude Include="..\public\datamap.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\bitbuf.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\byteswap.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\callqueue.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\characterset.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\checksum_crc.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\checksum_md5.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\CommandBuffer.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\convar.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\datamanager.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\delegates.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\diff.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\fmtstr.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\functors.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\generichash.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\iconvar.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\interface.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\KeyValues.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\lzmaDecoder.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\lzss.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\mempool.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\memstack.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\netadr.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\processor_detect.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\rangecheckedvar.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\refcount.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\smartptr.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\stringpool.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\strtools.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\tier1.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\tokenreader.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\uniqueid.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlbidirectionalset.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlblockmemory.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlbuffer.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlbufferutil.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utldict.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlenvelope.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlfixedmemory.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlhandletable.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlhash.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utllinkedlist.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlmap.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlmemory.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlmultilist.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlpriorityqueue.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlqueue.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlrbtree.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\UtlSortVector.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlstack.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlstring.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\UtlStringMap.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlsymbol.h" />
|
||||||
|
<ClInclude Include="..\public\tier1\utlvector.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
263
tier1/tier1-2005.vcxproj.filters
Normal file
263
tier1/tier1-2005.vcxproj.filters
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{b2c0d006-1973-4c49-943e-d62b5b01e5c5}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{5fb26705-abb8-4153-bf1f-88ef637c9b51}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="bitbuf.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="byteswap.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="characterset.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="checksum_crc.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="checksum_md5.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="commandbuffer.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="convar.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="datamanager.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="diff.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="generichash.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="interface.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="KeyValues.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="mempool.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="memstack.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="NetAdr.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="newbitbuf.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="processor_detect.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="rangecheckedvar.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="stringpool.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="strtools.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="tier1.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="tokenreader.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="uniqueid.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="utlbuffer.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="utlbufferutil.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="utlstring.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="utlsymbol.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\public\tier1\bitbuf.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\byteswap.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\callqueue.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\characterset.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\checksum_crc.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\checksum_md5.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\CommandBuffer.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\convar.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\datamanager.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\datamap.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\delegates.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\diff.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\fmtstr.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\functors.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\generichash.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\iconvar.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\interface.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\KeyValues.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\lzmaDecoder.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\lzss.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\mempool.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\memstack.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\netadr.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\processor_detect.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\rangecheckedvar.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\refcount.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\smartptr.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\stringpool.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\strtools.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\tier1.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\tokenreader.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\uniqueid.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlbidirectionalset.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlblockmemory.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlbuffer.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlbufferutil.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utldict.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlenvelope.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlfixedmemory.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlhandletable.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlhash.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utllinkedlist.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlmap.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlmemory.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlmultilist.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlpriorityqueue.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlqueue.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlrbtree.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\UtlSortVector.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlstack.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlstring.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\UtlStringMap.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlsymbol.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\public\tier1\utlvector.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\common\xbox\xboxstubs.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
Loading…
Reference in New Issue
Block a user