mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2026-10-11 08:08:01 +08:00
Added reverse-engineered interfaces lib code and hacked up tier1 and mathlib to build against the newer headers.
This commit is contained in:
1 parent
d0b0a7a9dd
commit
f2185a5cfb
78 files changed
+2756
-434
No files matched your search
+10
-4
@@ -96,8 +96,14 @@ typedef enum
|
||||
// XVRB_ALL,
|
||||
//} xverbose_e;
|
||||
|
||||
#ifdef POSIX
|
||||
#ifndef WORD
|
||||
typedef unsigned short WORD;
|
||||
typedef unsigned long DWORD;
|
||||
#endif
|
||||
#ifndef DWORD
|
||||
typedef unsigned int DWORD;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef POSIX
|
||||
typedef void* HANDLE;
|
||||
@@ -115,7 +121,7 @@ typedef int32 COLORREF;
|
||||
/*
|
||||
* Internet address (old style... should be updated)
|
||||
*/
|
||||
#ifdef _POSIX
|
||||
#ifdef POSIX
|
||||
struct ip4_addr {
|
||||
union {
|
||||
struct { unsigned char s_b1,s_b2,s_b3,s_b4; } S_un_b;
|
||||
@@ -321,7 +327,7 @@ enum XUSER_SIGNIN_STATE
|
||||
eXUserSigninState_SignedInToLive,
|
||||
};
|
||||
|
||||
#if (defined(_POSIX))
|
||||
#if (defined(POSIX))
|
||||
typedef size_t ULONG_PTR;
|
||||
#else
|
||||
typedef _W64 unsigned long ULONG_PTR;
|
||||
@@ -332,7 +338,7 @@ typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
|
||||
typedef void * PXOVERLAPPED_COMPLETION_ROUTINE;
|
||||
|
||||
|
||||
#ifndef _POSIX
|
||||
#ifndef POSIX
|
||||
typedef struct _XOVERLAPPED {
|
||||
ULONG_PTR InternalLow;
|
||||
ULONG_PTR InternalHigh;
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: A higher level link library for general use in the game and tools.
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
/* This is totally reverse-engineered code and may be wrong */
|
||||
|
||||
#include "interfaces/interfaces.h"
|
||||
#include "tier0/dbg.h"
|
||||
|
||||
ICvar *cvar, *g_pCVar;
|
||||
IEventSystem *g_pEventSystem;
|
||||
IProcessUtils *g_pProcessUtils;
|
||||
IPhysics2 *g_pPhysics2;
|
||||
IPhysics2ActorManager *g_pPhysics2ActorManager;
|
||||
IPhysics2ResourceManager *g_pPhysics2ResourceManager;
|
||||
IFileSystem *g_pFullFileSystem;
|
||||
IAsyncFileSystem *g_pAsyncFileSystem;
|
||||
IResourceSystem *g_pResourceSystem;
|
||||
IMaterialSystem *materials, *g_pMaterialSystem;
|
||||
IMaterialSystem2 *g_pMaterialSystem2;
|
||||
IInputSystem *g_pInputSystem;
|
||||
IInputStackSystem *g_pInputStackSystem;
|
||||
INetworkSystem *g_pNetworkSystem;
|
||||
IRenderDeviceMgr *g_pRenderDeviceMgr;
|
||||
IMaterialSystemHardwareConfig *g_pMaterialSystemHardwareConfig;
|
||||
ISoundSystem *g_pSoundSystem;
|
||||
IDebugTextureInfo *g_pMaterialSystemDebugTextureInfo;
|
||||
IVBAllocTracker *g_VBAllocTracker;
|
||||
IColorCorrectionSystem *colorcorrection;
|
||||
IP4 *p4;
|
||||
IMdlLib *mdllib;
|
||||
IQueuedLoader *g_pQueuedLoader;
|
||||
IResourceAccessControl *g_pResourceAccessControl;
|
||||
IPrecacheSystem *g_pPrecacheSystem;
|
||||
IStudioRender *g_pStudioRender, *studiorender;
|
||||
vgui::IVGui *g_pVGui;
|
||||
vgui::IInput *g_pVGuiInput;
|
||||
vgui::IPanel *g_pVGuiPanel;
|
||||
vgui::ISurface *g_pVGuiSurface;
|
||||
vgui::ISchemeManager *g_pVGuiSchemeManager;
|
||||
vgui::ISystem *g_pVGuiSystem;
|
||||
ILocalize *g_pLocalize;
|
||||
vgui::ILocalize *g_pVGuiLocalize;
|
||||
IMatSystemSurface *g_pMatSystemSurface;
|
||||
IDataCache *g_pDataCache;
|
||||
IMDLCache *g_pMDLCache, *mdlcache;
|
||||
IAvi *g_pAVI;
|
||||
IBik *g_pBIK;
|
||||
IDmeMakefileUtils *g_pDmeMakefileUtils;
|
||||
IPhysicsCollision *g_pPhysicsCollision;
|
||||
ISoundEmitterSystemBase *g_pSoundEmitterSystem;
|
||||
IMeshSystem *g_pMeshSystem;
|
||||
IRenderDevice *g_pRenderDevice;
|
||||
IRenderHardwareConfig *g_pRenderHardwareConfig;
|
||||
ISceneSystem *g_pSceneSystem;
|
||||
IWorldRendererMgr *g_pWorldRendererMgr;
|
||||
IVGuiRenderSurface *g_pVGuiRenderSurface;
|
||||
IMatchFramework *g_pMatchFramework;
|
||||
IGameUISystemMgr *g_pGameUISystemMgr;
|
||||
|
||||
struct InterfaceGlobals_t
|
||||
{
|
||||
const char *m_pInterfaceName;
|
||||
void *m_ppGlobal;
|
||||
};
|
||||
|
||||
struct ConnectionRegistration_t
|
||||
{
|
||||
void *m_ppGlobalStorage;
|
||||
int m_nConnectionPhase;
|
||||
};
|
||||
|
||||
static const InterfaceGlobals_t g_pInterfaceGlobals[] =
|
||||
{
|
||||
{ CVAR_INTERFACE_VERSION, cvar },
|
||||
{ CVAR_INTERFACE_VERSION, g_pCVar },
|
||||
{ EVENTSYSTEM_INTERFACE_VERSION, g_pEventSystem },
|
||||
{ PROCESS_UTILS_INTERFACE_VERSION, g_pProcessUtils },
|
||||
{ VPHYSICS2_INTERFACE_VERSION, g_pPhysics2 },
|
||||
{ VPHYSICS2_ACTOR_MGR_INTERFACE_VERSION, g_pPhysics2ActorManager },
|
||||
{ VPHYSICS2_RESOURCE_MGR_INTERFACE_VERSION, g_pPhysics2ResourceManager },
|
||||
{ FILESYSTEM_INTERFACE_VERSION, g_pFullFileSystem },
|
||||
{ ASYNCFILESYSTEM_INTERFACE_VERSION, g_pAsyncFileSystem },
|
||||
{ RESOURCESYSTEM_INTERFACE_VERSION, g_pResourceSystem },
|
||||
{ MATERIAL_SYSTEM_INTERFACE_VERSION, materials },
|
||||
{ MATERIAL_SYSTEM_INTERFACE_VERSION, g_pMaterialSystem },
|
||||
{ MATERIAL_SYSTEM2_INTERFACE_VERSION, g_pMaterialSystem2 },
|
||||
{ INPUTSYSTEM_INTERFACE_VERSION, g_pInputSystem },
|
||||
{ INPUTSTACKSYSTEM_INTERFACE_VERSION, g_pInputStackSystem },
|
||||
{ NETWORKSYSTEM_INTERFACE_VERSION, g_pNetworkSystem },
|
||||
{ RENDER_DEVICE_MGR_INTERFACE_VERSION, g_pRenderDeviceMgr },
|
||||
{ MATERIALSYSTEM_HARDWARECONFIG_INTERFACE_VERSION, g_pMaterialSystemHardwareConfig },
|
||||
{ SOUNDSYSTEM_INTERFACE_VERSION, g_pSoundSystem },
|
||||
{ DEBUG_TEXTURE_INFO_VERSION, g_pMaterialSystemDebugTextureInfo },
|
||||
{ VB_ALLOC_TRACKER_INTERFACE_VERSION, g_VBAllocTracker },
|
||||
{ COLORCORRECTION_INTERFACE_VERSION, colorcorrection },
|
||||
{ P4_INTERFACE_VERSION, p4 },
|
||||
{ MDLLIB_INTERFACE_VERSION, mdllib },
|
||||
{ QUEUEDLOADER_INTERFACE_VERSION, g_pQueuedLoader },
|
||||
{ RESOURCE_ACCESS_CONTROL_INTERFACE_VERSION, g_pResourceAccessControl },
|
||||
{ PRECACHE_SYSTEM_INTERFACE_VERSION, g_pPrecacheSystem },
|
||||
{ STUDIO_RENDER_INTERFACE_VERSION, g_pStudioRender },
|
||||
{ STUDIO_RENDER_INTERFACE_VERSION, studiorender },
|
||||
{ VGUI_IVGUI_INTERFACE_VERSION, g_pVGui },
|
||||
{ VGUI_INPUT_INTERFACE_VERSION, g_pVGuiInput },
|
||||
{ VGUI_PANEL_INTERFACE_VERSION, g_pVGuiPanel },
|
||||
{ VGUI_SURFACE_INTERFACE_VERSION, g_pVGuiSurface },
|
||||
{ VGUI_SCHEME_INTERFACE_VERSION, g_pVGuiSchemeManager },
|
||||
{ VGUI_SYSTEM_INTERFACE_VERSION, g_pVGuiSystem },
|
||||
{ LOCALIZE_INTERFACE_VERSION, g_pLocalize },
|
||||
{ LOCALIZE_INTERFACE_VERSION, g_pVGuiLocalize },
|
||||
{ MAT_SYSTEM_SURFACE_INTERFACE_VERSION, g_pMatSystemSurface },
|
||||
{ DATACACHE_INTERFACE_VERSION, g_pDataCache },
|
||||
{ MDLCACHE_INTERFACE_VERSION, g_pMDLCache },
|
||||
{ MDLCACHE_INTERFACE_VERSION, mdlcache },
|
||||
{ AVI_INTERFACE_VERSION, g_pAVI },
|
||||
{ BIK_INTERFACE_VERSION, g_pBIK },
|
||||
{ DMEMAKEFILE_UTILS_INTERFACE_VERSION, g_pDmeMakefileUtils },
|
||||
{ VPHYSICS_COLLISION_INTERFACE_VERSION, g_pPhysicsCollision },
|
||||
{ SOUNDEMITTERSYSTEM_INTERFACE_VERSION, g_pSoundEmitterSystem },
|
||||
{ MESHSYSTEM_INTERFACE_VERSION, g_pMeshSystem },
|
||||
{ RENDER_DEVICE_INTERFACE_VERSION, g_pRenderDevice },
|
||||
{ RENDER_HARDWARECONFIG_INTERFACE_VERSION, g_pRenderHardwareConfig },
|
||||
{ SCENESYSTEM_INTERFACE_VERSION, g_pSceneSystem },
|
||||
{ WORLD_RENDERER_MGR_INTERFACE_VERSION, g_pWorldRendererMgr },
|
||||
{ RENDER_SYSTEM_SURFACE_INTERFACE_VERSION, g_pVGuiRenderSurface },
|
||||
{ MATCHFRAMEWORK_INTERFACE_VERSION, g_pMatchFramework },
|
||||
{ GAMEUISYSTEMMGR_INTERFACE_VERSION, g_pGameUISystemMgr }
|
||||
};
|
||||
|
||||
static const int NUM_INTERFACES = sizeof(g_pInterfaceGlobals) / sizeof(InterfaceGlobals_t);
|
||||
|
||||
static int s_nConnectionCount;
|
||||
static int s_nRegistrationCount;
|
||||
|
||||
static ConnectionRegistration_t s_pConnectionRegistration[NUM_INTERFACES + 1];
|
||||
|
||||
void ReconnectInterface(CreateInterfaceFn factory, char const *pInterfaceName, void **w);
|
||||
|
||||
void ConnectInterfaces(CreateInterfaceFn *pFactoryList, int nFactoryCount)
|
||||
{
|
||||
if (s_nRegistrationCount < 0)
|
||||
{
|
||||
Error("APPSYSTEM: In ConnectInterfaces(), s_nRegistrationCount is %d!\n", s_nRegistrationCount);
|
||||
s_nConnectionCount++;
|
||||
return;
|
||||
}
|
||||
|
||||
if (s_nRegistrationCount)
|
||||
{
|
||||
for (int i = 0; i < nFactoryCount; i++)
|
||||
{
|
||||
for (int j = 0; j < NUM_INTERFACES; j++)
|
||||
{
|
||||
ReconnectInterface(pFactoryList[i], g_pInterfaceGlobals[j].m_pInterfaceName, (void **)g_pInterfaceGlobals[j].m_ppGlobal);
|
||||
}
|
||||
}
|
||||
|
||||
s_nConnectionCount++;
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < nFactoryCount; i++)
|
||||
{
|
||||
for (int j = 0; j < NUM_INTERFACES; j++)
|
||||
{
|
||||
const InterfaceGlobals_t &iface = g_pInterfaceGlobals[j];
|
||||
|
||||
if (!(*(void **)iface.m_ppGlobal))
|
||||
{
|
||||
void *ptr = pFactoryList[i](iface.m_pInterfaceName, NULL);
|
||||
*(void **)iface.m_ppGlobal = ptr;
|
||||
if (ptr)
|
||||
{
|
||||
ConnectionRegistration_t ® = s_pConnectionRegistration[s_nRegistrationCount++];
|
||||
reg.m_ppGlobalStorage = iface.m_ppGlobal;
|
||||
reg.m_nConnectionPhase = s_nConnectionCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s_nConnectionCount++;
|
||||
}
|
||||
|
||||
void DisconnectInterfaces()
|
||||
{
|
||||
if (--s_nConnectionCount >= 0)
|
||||
{
|
||||
for (int i = 0; i < s_nRegistrationCount; i++)
|
||||
{
|
||||
ConnectionRegistration_t ® = s_pConnectionRegistration[i];
|
||||
if (reg.m_nConnectionPhase == s_nConnectionCount)
|
||||
reg.m_ppGlobalStorage = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ReconnectInterface(CreateInterfaceFn factory, char const *pInterfaceName, void **ppGlobal)
|
||||
{
|
||||
bool got = false;
|
||||
|
||||
*ppGlobal = factory(pInterfaceName, NULL);
|
||||
|
||||
for (int i = 0; i < s_nRegistrationCount; i++)
|
||||
{
|
||||
if (s_pConnectionRegistration[i].m_ppGlobalStorage == ppGlobal)
|
||||
got = true;
|
||||
}
|
||||
|
||||
if ((s_nRegistrationCount <= 0 || !got) && *ppGlobal)
|
||||
{
|
||||
ConnectionRegistration_t ® = s_pConnectionRegistration[s_nRegistrationCount++];
|
||||
reg.m_ppGlobalStorage = ppGlobal;
|
||||
reg.m_nConnectionPhase = s_nConnectionCount;
|
||||
}
|
||||
}
|
||||
|
||||
void ReconnectInterface(CreateInterfaceFn factory, const char *pInterfaceName)
|
||||
{
|
||||
for (int i = 0; i < NUM_INTERFACES; i++)
|
||||
{
|
||||
const InterfaceGlobals_t &iface = g_pInterfaceGlobals[i];
|
||||
|
||||
if (strcmp(iface.m_pInterfaceName, pInterfaceName) == 0)
|
||||
ReconnectInterface(factory, iface.m_pInterfaceName, (void **)iface.m_ppGlobal);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "interfaces", "interfaces.vcxproj", "{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,226 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.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>interfaces</ProjectName>
|
||||
<ProjectGuid>{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}</ProjectGuid>
|
||||
<RootNamespace>tier1</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</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>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\public\</OutDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
|
||||
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreLinkEventUseInBuild>
|
||||
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PostBuildEventUseInBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\public\</OutDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreBuildEventUseInBuild>
|
||||
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreLinkEventUseInBuild>
|
||||
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PostBuildEventUseInBuild>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;..\public\interfaces;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WIN32;COMPILER_MSVC;COMPILER_MSVC32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<ExceptionHandling>
|
||||
</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>
|
||||
</PrecompiledHeader>
|
||||
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreLinkEvent>
|
||||
<Lib>
|
||||
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||
<AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<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>
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;..\public\interfaces;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WIN32;COMPILER_MSVC;COMPILER_MSVC32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>
|
||||
</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>
|
||||
</PrecompiledHeader>
|
||||
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreLinkEvent>
|
||||
<Lib>
|
||||
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||
<AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Lib>
|
||||
<Xdcmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Xdcmake>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(OutDir)tier1.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<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\datamap.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\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" />
|
||||
<ClInclude Include="..\common\xbox\xboxstubs.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="interfaces.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,182 @@
|
||||
<?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>{aba1d919-d95c-4c3f-a495-be0375bab184}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{0295d938-2af6-4393-9785-4b7b122313c9}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
</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\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>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="interfaces.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+9
-4
@@ -63,13 +63,13 @@ LIB_DIR = $(SRC_DIR)/lib/linux
|
||||
|
||||
# the CPU target for the build, must be i486 for now
|
||||
ARCH = i486
|
||||
ARCH_CFLAGS = -mtune=i686 -march=pentium3 -mmmx -m32
|
||||
ARCH_CFLAGS = -mtune=i686 -march=pentium3 -mmmx -msse -m32
|
||||
|
||||
DEFINES = -D_LINUX -DLINUX -DVPROF_LEVEL=1 -DSWDS -D_finite=finite -Dstricmp=strcasecmp -D_stricmp=strcasecmp \
|
||||
-D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp
|
||||
DEFINES = -D_LINUX -DLINUX -DCOMPILER_GCC -DPOSIX -DVPROF_LEVEL=1 -DSWDS -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
|
||||
|
||||
BASE_CFLAGS = -fno-strict-aliasing -Wall -Werror -Wconversion -Wno-non-virtual-dtor -Wno-invalid-offsetof
|
||||
BASE_CFLAGS = -fno-strict-aliasing -Wall -Werror -Wno-conversion -Wno-non-virtual-dtor -Wno-invalid-offsetof
|
||||
SHLIBEXT = so
|
||||
SHLIBCFLAGS = -fPIC
|
||||
SHLIBLDFLAGS = -shared -Wl,-Map,$@_map.txt -Wl
|
||||
@@ -100,6 +100,7 @@ MAKE_VCPM = Makefile.vcpm
|
||||
MAKE_PLUGIN = Makefile.plugin
|
||||
MAKE_TIER1 = Makefile.tier1
|
||||
MAKE_MATH = Makefile.mathlib
|
||||
MAKE_IFACE = Makefile.interfaces
|
||||
MAKE_CHOREO = Makefile.choreo
|
||||
|
||||
all: check vcpm mod
|
||||
@@ -131,6 +132,9 @@ tier1:
|
||||
mathlib:
|
||||
$(MAKE) -f $(MAKE_MATH) $(BASE_DEFINES)
|
||||
|
||||
interfaces:
|
||||
$(MAKE) -f $(MAKE_IFACE) $(BASE_DEFINES)
|
||||
|
||||
choreo:
|
||||
$(MAKE) -f $(MAKE_CHOREO) $(BASE_DEFINES)
|
||||
|
||||
@@ -147,4 +151,5 @@ clean:
|
||||
$(MAKE) -f $(MAKE_SERVER) $(BASE_DEFINES) clean
|
||||
$(MAKE) -f $(MAKE_TIER1) $(BASE_DEFINES) clean
|
||||
$(MAKE) -f $(MAKE_MATH) $(BASE_DEFINES) clean
|
||||
$(MAKE) -f $(MAKE_IFACE) $(BASE_DEFINES) clean
|
||||
$(MAKE) -f $(MAKE_CHOREO) $(BASE_DEFINES) clean
|
||||
@@ -0,0 +1,51 @@
|
||||
#
|
||||
# Tier1 Static Library Makefile
|
||||
#
|
||||
|
||||
override NAME = interfaces
|
||||
|
||||
LIB_SRC_DIR = $(SRC_DIR)/$(NAME)
|
||||
PUBLIC_SRC_DIR = $(SRC_DIR)/public
|
||||
TIER0_PUBLIC_SRC_DIR = $(SRC_DIR)/public/tier0
|
||||
TIER1_PUBLIC_SRC_DIR = $(SRC_DIR)/public/tier1
|
||||
|
||||
LIB_OBJ_DIR=$(BUILD_OBJ_DIR)/$(NAME)_$(ARCH)
|
||||
|
||||
# Extension of linux static library
|
||||
override SHLIBEXT = a
|
||||
|
||||
INCLUDEDIRS = -I$(PUBLIC_SRC_DIR) -I$(TIER0_PUBLIC_SRC_DIR) -I$(TIER1_PUBLIC_SRC_DIR) -D_LIB
|
||||
|
||||
DO_CC = $(CPLUS) $(INCLUDEDIRS) -DARCH=$(ARCH)
|
||||
|
||||
ifeq "$(DEBUG)" "true"
|
||||
DO_CC += $(DBG_DEFINES) $(DBG_CFLAGS)
|
||||
else
|
||||
DO_CC += -DNDEBUG $(CFLAGS)
|
||||
endif
|
||||
|
||||
DO_CC += -o $@ -c $<
|
||||
|
||||
#####################################################################
|
||||
|
||||
LIB_OBJS= \
|
||||
$(LIB_OBJ_DIR)/interfaces.o \
|
||||
|
||||
all: dirs $(NAME)_$(ARCH).$(SHLIBEXT)
|
||||
|
||||
dirs:
|
||||
-mkdir -p $(BUILD_OBJ_DIR)
|
||||
-mkdir -p $(LIB_OBJ_DIR)
|
||||
|
||||
$(NAME)_$(ARCH).$(SHLIBEXT): $(LIB_OBJS)
|
||||
$(AR) $(LIB_DIR)/$@ $(LIB_OBJS)
|
||||
|
||||
$(LIB_OBJ_DIR)/%.o: $(LIB_SRC_DIR)/%.cpp
|
||||
$(DO_CC)
|
||||
|
||||
install:
|
||||
cp -f $(NAME)_$(ARCH).$(SHLIBEXT) $(LIB_DIR)/$(NAME)_$(ARCH).$(SHLIBEXT)
|
||||
|
||||
clean:
|
||||
-rm -rf $(LIB_OBJ_DIR)
|
||||
|
||||
@@ -30,7 +30,6 @@ DO_CC += -o $@ -c $<
|
||||
#####################################################################
|
||||
|
||||
LIB_OBJS= \
|
||||
$(LIB_OBJ_DIR)/3dnow.o \
|
||||
$(LIB_OBJ_DIR)/anorms.o \
|
||||
$(LIB_OBJ_DIR)/bumpvects.o \
|
||||
$(LIB_OBJ_DIR)/color_conversion.o \
|
||||
|
||||
@@ -50,7 +50,6 @@ LIB_OBJS= \
|
||||
$(LIB_OBJ_DIR)/stringpool.o \
|
||||
$(LIB_OBJ_DIR)/strtools.o \
|
||||
$(LIB_OBJ_DIR)/tier1.o \
|
||||
$(LIB_OBJ_DIR)/tokenreader.o \
|
||||
$(LIB_OBJ_DIR)/undiff.o \
|
||||
$(LIB_OBJ_DIR)/uniqueid.o \
|
||||
$(LIB_OBJ_DIR)/utlbuffer.o \
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#if !defined(_STATIC_LINKED) || defined(_SHARED_LIB)
|
||||
|
||||
|
||||
#include "mathlib/mathlib.h"
|
||||
#include "mathlib/vector.h"
|
||||
#include "mathlib/anorms.h"
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
//=====================================================================================//
|
||||
|
||||
#include <halton.h>
|
||||
#include "mathlib/mathlib.h"
|
||||
|
||||
HaltonSequenceGenerator_t::HaltonSequenceGenerator_t(int b)
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
//
|
||||
//=============================================================================//
|
||||
#include <quantize.h>
|
||||
#include "tier0/basetypes.h"
|
||||
|
||||
#define N_EXTRAVALUES 1
|
||||
#define N_DIMENSIONS (3+N_EXTRAVALUES)
|
||||
|
||||
@@ -27,12 +27,12 @@ void LightDesc_t::RecalculateDerivedValues(void)
|
||||
{
|
||||
// note - this quantity is very sensitive to round off error. the sse
|
||||
// reciprocal approximation won't cut it here.
|
||||
OneOver_ThetaDot_Minus_PhiDot=1.0/spread;
|
||||
m_OneOverThetaDotMinusPhiDot=1.0/spread;
|
||||
}
|
||||
else
|
||||
{
|
||||
// hard falloff instead of divide by zero
|
||||
OneOver_ThetaDot_Minus_PhiDot=1.0;
|
||||
m_OneOverThetaDotMinusPhiDot=1.0;
|
||||
}
|
||||
}
|
||||
if (m_Type==MATERIAL_LIGHT_DIRECTIONAL)
|
||||
@@ -140,7 +140,7 @@ void LightDesc_t::ComputeLightAtPoints( const FourVectors &pos, const FourVector
|
||||
fltx4 dot2=SubSIMD(Four_Zeros,delta*m_Direction); // dot position with spot light dir for cone falloff
|
||||
|
||||
|
||||
fltx4 cone_falloff_scale=MulSIMD(ReplicateX4(OneOver_ThetaDot_Minus_PhiDot),
|
||||
fltx4 cone_falloff_scale=MulSIMD(ReplicateX4(m_OneOverThetaDotMinusPhiDot),
|
||||
SubSIMD(dot2,ReplicateX4(m_PhiDot)));
|
||||
cone_falloff_scale=MinSIMD(cone_falloff_scale,Four_Ones);
|
||||
|
||||
@@ -236,7 +236,7 @@ void LightDesc_t::ComputeNonincidenceLightAtPoints( const FourVectors &pos, Four
|
||||
fltx4 dot2=SubSIMD(Four_Zeros,delta*m_Direction); // dot position with spot light dir for cone falloff
|
||||
|
||||
|
||||
fltx4 cone_falloff_scale=MulSIMD(ReplicateX4(OneOver_ThetaDot_Minus_PhiDot),
|
||||
fltx4 cone_falloff_scale=MulSIMD(ReplicateX4(m_OneOverThetaDotMinusPhiDot),
|
||||
SubSIMD(dot2,ReplicateX4(m_PhiDot)));
|
||||
cone_falloff_scale=MinSIMD(cone_falloff_scale,Four_Ones);
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mathlib", "mathlib.vcxproj", "{884C66F2-7F84-4570-AE6C-B634C1113D69}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{884C66F2-7F84-4570-AE6C-B634C1113D69}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,407 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,212 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.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">
|
||||
<ProjectGuid>{884C66F2-7F84-4570-AE6C-B634C1113D69}</ProjectGuid>
|
||||
<RootNamespace>mathlib</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</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>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\public\</OutDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
|
||||
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreLinkEventUseInBuild>
|
||||
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PostBuildEventUseInBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\public\</OutDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreBuildEventUseInBuild>
|
||||
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreLinkEventUseInBuild>
|
||||
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PostBuildEventUseInBuild>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;..\public\mathlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WIN32;COMPILER_MSVC;COMPILER_MSVC32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<ExceptionHandling>
|
||||
</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>
|
||||
</PrecompiledHeader>
|
||||
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
</ClCompile>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreLinkEvent>
|
||||
<Lib>
|
||||
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||
<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>
|
||||
</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;COMPILER_MSVC;COMPILER_MSVC32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>
|
||||
</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>
|
||||
</PrecompiledHeader>
|
||||
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
</ClCompile>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreLinkEvent>
|
||||
<Lib>
|
||||
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||
<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\math_pfns.h" />
|
||||
<ClInclude Include="..\public\mathlib\mathlib.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="3dnow.h" />
|
||||
<ClInclude Include="noisedata.h" />
|
||||
<ClInclude Include="sse.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,153 @@
|
||||
<?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>{00f9c713-dc8b-4f56-b6a8-0f7252d1a270}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Public Header Files">
|
||||
<UniqueIdentifier>{c9fa2f3a-719d-4fab-aa39-714cf6391317}</UniqueIdentifier>
|
||||
<Extensions>h</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{7f621938-4fe8-4d3f-a1b1-e00a41531e16}</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="3dnow.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="noisedata.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="sse.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+253
-74
@@ -24,13 +24,12 @@
|
||||
#include "mathlib/mathlib.h"
|
||||
#include "mathlib/vector.h"
|
||||
#if !defined( _X360 )
|
||||
#include "mathlib/amd3dx.h"
|
||||
#include "3dnow.h"
|
||||
#include "sse.h"
|
||||
#endif
|
||||
|
||||
#include "mathlib/ssemath.h"
|
||||
#include "mathlib/ssequaternion.h"
|
||||
#include "mathlib/vplane.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
@@ -42,7 +41,6 @@ bool s_bMathlibInitialized = false;
|
||||
void Sys_Error (char *error, ...);
|
||||
#endif
|
||||
|
||||
const Vector vec3_origin(0,0,0);
|
||||
const QAngle vec3_angle(0,0,0);
|
||||
const Vector vec3_invalid( FLT_MAX, FLT_MAX, FLT_MAX );
|
||||
const int nanmask = 255<<23;
|
||||
@@ -63,10 +61,10 @@ float _rsqrtf(float x)
|
||||
return 1.f / _sqrtf( x );
|
||||
}
|
||||
|
||||
float FASTCALL _VectorNormalize (Vector& vec)
|
||||
float VectorNormalize (Vector& vec)
|
||||
{
|
||||
#ifdef _VPROF_MATHLIB
|
||||
VPROF_BUDGET( "_VectorNormalize", "Mathlib" );
|
||||
VPROF_BUDGET( "VectorNormalize", "Mathlib" );
|
||||
#endif
|
||||
Assert( s_bMathlibInitialized );
|
||||
float radius = sqrtf(vec.x*vec.x + vec.y*vec.y + vec.z*vec.z);
|
||||
@@ -81,6 +79,8 @@ float FASTCALL _VectorNormalize (Vector& vec)
|
||||
return radius;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// TODO: Add fast C VectorNormalizeFast.
|
||||
// Perhaps use approximate rsqrt trick, if the accuracy isn't too bad.
|
||||
void FASTCALL _VectorNormalizeFast (Vector& vec)
|
||||
@@ -109,7 +109,6 @@ float _InvRSquared(const float* v)
|
||||
float (*pfSqrt)(float x) = _sqrtf;
|
||||
float (*pfRSqrt)(float x) = _rsqrtf;
|
||||
float (*pfRSqrtFast)(float x) = _rsqrtf;
|
||||
float (FASTCALL *pfVectorNormalize)(Vector& v) = _VectorNormalize;
|
||||
void (FASTCALL *pfVectorNormalizeFast)(Vector& v) = _VectorNormalizeFast;
|
||||
float (*pfInvRSquared)(const float* v) = _InvRSquared;
|
||||
void (*pfFastSinCos)(float x, float* s, float* c) = SinCos;
|
||||
@@ -382,9 +381,9 @@ void MatrixInvert( const matrix3x4_t& in, matrix3x4_t& out )
|
||||
Assert( s_bMathlibInitialized );
|
||||
if ( &in == &out )
|
||||
{
|
||||
swap(out[0][1],out[1][0]);
|
||||
swap(out[0][2],out[2][0]);
|
||||
swap(out[1][2],out[2][1]);
|
||||
V_swap(out[0][1],out[1][0]);
|
||||
V_swap(out[0][2],out[2][0]);
|
||||
V_swap(out[1][2],out[2][1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1266,18 +1265,18 @@ bool SolveInverseQuadraticMonotonic( float x1, float y1, float x2, float y2, flo
|
||||
// first, sort parameters
|
||||
if (x1>x2)
|
||||
{
|
||||
swap(x1,x2);
|
||||
swap(y1,y2);
|
||||
V_swap(x1,x2);
|
||||
V_swap(y1,y2);
|
||||
}
|
||||
if (x2>x3)
|
||||
{
|
||||
swap(x2,x3);
|
||||
swap(y2,y3);
|
||||
V_swap(x2,x3);
|
||||
V_swap(y2,y3);
|
||||
}
|
||||
if (x1>x2)
|
||||
{
|
||||
swap(x1,x2);
|
||||
swap(y1,y2);
|
||||
V_swap(x1,x2);
|
||||
V_swap(y1,y2);
|
||||
}
|
||||
// this code is not fast. what it does is when the curve would be non-monotonic, slowly shifts
|
||||
// the center point closer to the linear line between the endpoints. Should anyone need htis
|
||||
@@ -3198,7 +3197,6 @@ bool CalcLineToLineIntersectionSegment(
|
||||
#pragma optimize( "", on )
|
||||
#endif
|
||||
|
||||
static bool s_b3DNowEnabled = false;
|
||||
static bool s_bMMXEnabled = false;
|
||||
static bool s_bSSEEnabled = false;
|
||||
static bool s_bSSE2Enabled = false;
|
||||
@@ -3218,7 +3216,6 @@ void MathLib_Init( float gamma, float texGamma, float brightness, int overbright
|
||||
pfSqrt = _sqrtf;
|
||||
pfRSqrt = _rsqrtf;
|
||||
pfRSqrtFast = _rsqrtf;
|
||||
pfVectorNormalize = _VectorNormalize;
|
||||
pfVectorNormalizeFast = _VectorNormalizeFast;
|
||||
pfInvRSquared = _InvRSquared;
|
||||
pfFastSinCos = SinCos;
|
||||
@@ -3235,31 +3232,11 @@ void MathLib_Init( float gamma, float texGamma, float brightness, int overbright
|
||||
s_bMMXEnabled = false;
|
||||
}
|
||||
|
||||
// SSE Generally performs better than 3DNow when present, so this is placed
|
||||
// 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 )
|
||||
{
|
||||
s_bSSEEnabled = true;
|
||||
|
||||
// Select the SSE specific routines if available
|
||||
pfVectorNormalize = _VectorNormalize;
|
||||
pfVectorNormalizeFast = _SSE_VectorNormalizeFast;
|
||||
pfInvRSquared = _SSE_InvRSquared;
|
||||
pfSqrt = _SSE_Sqrt;
|
||||
@@ -3295,12 +3272,6 @@ void MathLib_Init( float gamma, float texGamma, float brightness, int overbright
|
||||
BuildGammaTable( gamma, texGamma, brightness, overbright );
|
||||
}
|
||||
|
||||
bool MathLib_3DNowEnabled( void )
|
||||
{
|
||||
Assert( s_bMathlibInitialized );
|
||||
return s_b3DNowEnabled;
|
||||
}
|
||||
|
||||
bool MathLib_MMXEnabled( void )
|
||||
{
|
||||
Assert( s_bMathlibInitialized );
|
||||
@@ -3319,20 +3290,6 @@ bool MathLib_SSE2Enabled( void )
|
||||
return s_bSSE2Enabled;
|
||||
}
|
||||
|
||||
float Approach( float target, float value, float speed )
|
||||
{
|
||||
float delta = target - value;
|
||||
|
||||
if ( delta > speed )
|
||||
value += speed;
|
||||
else if ( delta < -speed )
|
||||
value -= speed;
|
||||
else
|
||||
value = target;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
// BUGBUG: Why doesn't this call angle diff?!?!?
|
||||
float ApproachAngle( float target, float value, float speed )
|
||||
{
|
||||
@@ -3816,8 +3773,8 @@ void GeneratePerspectiveFrustum( const Vector& origin, const Vector &forward,
|
||||
float flIntercept = DotProduct( origin, forward );
|
||||
|
||||
// Setup the near and far planes.
|
||||
frustum.SetPlane( FRUSTUM_FARZ, PLANE_ANYZ, -forward, -flZFar - flIntercept );
|
||||
frustum.SetPlane( FRUSTUM_NEARZ, PLANE_ANYZ, forward, flZNear + flIntercept );
|
||||
frustum.SetPlane( FRUSTUM_FARZ, -forward, -flZFar - flIntercept );
|
||||
frustum.SetPlane( FRUSTUM_NEARZ, forward, flZNear + flIntercept );
|
||||
|
||||
flFovX *= 0.5f;
|
||||
flFovY *= 0.5f;
|
||||
@@ -3834,8 +3791,8 @@ void GeneratePerspectiveFrustum( const Vector& origin, const Vector &forward,
|
||||
VectorNormalize( normalPos );
|
||||
VectorNormalize( normalNeg );
|
||||
|
||||
frustum.SetPlane( FRUSTUM_LEFT, PLANE_ANYZ, normalPos, normalPos.Dot( origin ) );
|
||||
frustum.SetPlane( FRUSTUM_RIGHT, PLANE_ANYZ, normalNeg, normalNeg.Dot( origin ) );
|
||||
frustum.SetPlane( FRUSTUM_LEFT, normalPos, normalPos.Dot( origin ) );
|
||||
frustum.SetPlane( FRUSTUM_RIGHT,normalNeg, normalNeg.Dot( origin ) );
|
||||
|
||||
VectorMA( up, flTanY, forward, normalPos );
|
||||
VectorMA( normalPos, -2.0f, up, normalNeg );
|
||||
@@ -3843,8 +3800,8 @@ void GeneratePerspectiveFrustum( const Vector& origin, const Vector &forward,
|
||||
VectorNormalize( normalPos );
|
||||
VectorNormalize( normalNeg );
|
||||
|
||||
frustum.SetPlane( FRUSTUM_BOTTOM, PLANE_ANYZ, normalPos, normalPos.Dot( origin ) );
|
||||
frustum.SetPlane( FRUSTUM_TOP, PLANE_ANYZ, normalNeg, normalNeg.Dot( origin ) );
|
||||
frustum.SetPlane( FRUSTUM_BOTTOM, normalPos, normalPos.Dot( origin ) );
|
||||
frustum.SetPlane( FRUSTUM_TOP, normalNeg, normalNeg.Dot( origin ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -3859,23 +3816,40 @@ void GeneratePerspectiveFrustum( const Vector& origin, const QAngle &angles, flo
|
||||
GeneratePerspectiveFrustum( origin, vecForward, vecRight, vecUp, flZNear, flZFar, flFovX, flFovY, frustum );
|
||||
}
|
||||
|
||||
inline cplane_t *ToPlane(cplane_t *out, const Frustum_t &frustum, int type)
|
||||
{
|
||||
Vector vecNormal;
|
||||
float dist;
|
||||
|
||||
frustum.GetPlane(type, &vecNormal, &dist);
|
||||
|
||||
out->normal = vecNormal;
|
||||
out->dist = dist;
|
||||
out->type = PLANE_ANYZ;
|
||||
out->signbits = SignbitsForPlane(out);
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
bool R_CullBox( const Vector& mins, const Vector& maxs, const Frustum_t &frustum )
|
||||
{
|
||||
return (( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_RIGHT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_LEFT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_TOP) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_BOTTOM) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_NEARZ) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_FARZ) ) == 2 ) );
|
||||
cplane_t p;
|
||||
return (( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_RIGHT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_LEFT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_TOP) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_BOTTOM) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_NEARZ) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_FARZ) ) == 2 ) );
|
||||
}
|
||||
|
||||
bool R_CullBoxSkipNear( const Vector& mins, const Vector& maxs, const Frustum_t &frustum )
|
||||
{
|
||||
return (( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_RIGHT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_LEFT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_TOP) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_BOTTOM) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, frustum.GetPlane(FRUSTUM_FARZ) ) == 2 ) );
|
||||
cplane_t p;
|
||||
return (( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_RIGHT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_LEFT) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_TOP) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_BOTTOM) ) == 2 ) ||
|
||||
( BoxOnPlaneSide( mins, maxs, ToPlane(&p, frustum, FRUSTUM_FARZ) ) == 2 ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -4088,3 +4062,208 @@ void GetInterpolationData( float const *pKnotPositions,
|
||||
*pInterpolationValue = FLerp( 0, 1, 0, flSizeOfGap, flOffsetFromStartOfGap );
|
||||
return;
|
||||
}
|
||||
|
||||
/* Reverse engineered code ahead */
|
||||
|
||||
void fourplanes_t::ComputeSignbits()
|
||||
{
|
||||
xSign = CmpLtSIMD(nX, Four_Zeros);
|
||||
ySign = CmpLtSIMD(nY, Four_Zeros);
|
||||
zSign = CmpLtSIMD(nZ, Four_Zeros);
|
||||
nXAbs = fabs(nX);
|
||||
nYAbs = fabs(nY);
|
||||
nZAbs = fabs(nZ);
|
||||
}
|
||||
|
||||
void fourplanes_t::Set4Planes( const VPlane *pPlanes )
|
||||
{
|
||||
nX = *(fltx4 *)pPlanes;
|
||||
nY = *(fltx4 *)++pPlanes;
|
||||
nZ = *(fltx4 *)++pPlanes;
|
||||
dist = *(fltx4 *)++pPlanes;
|
||||
TransposeSIMD(nX, nY, nZ, dist);
|
||||
|
||||
ComputeSignbits();
|
||||
}
|
||||
|
||||
void fourplanes_t::Set2Planes( const VPlane *pPlanes )
|
||||
{
|
||||
nX = *(fltx4 *)pPlanes;
|
||||
nY = *(fltx4 *)++pPlanes;
|
||||
nZ = Four_Zeros;
|
||||
dist = Four_Zeros;
|
||||
TransposeSIMD(nX, nY, nZ, dist);
|
||||
|
||||
ComputeSignbits();
|
||||
}
|
||||
|
||||
void fourplanes_t::Get4Planes( VPlane *pPlanesOut )
|
||||
{
|
||||
fltx4 tempX = nX;
|
||||
fltx4 tempY = nY;
|
||||
fltx4 tempZ = nZ;
|
||||
fltx4 tempDist = dist;
|
||||
|
||||
TransposeSIMD(tempX, tempY, tempZ, tempDist);
|
||||
|
||||
*(fltx4 *)pPlanesOut = tempX;
|
||||
*(fltx4 *)++pPlanesOut = tempY;
|
||||
*(fltx4 *)++pPlanesOut = tempZ;
|
||||
*(fltx4 *)++pPlanesOut = tempDist;
|
||||
}
|
||||
|
||||
void fourplanes_t::Get2Planes( VPlane *pPlanesOut )
|
||||
{
|
||||
fltx4 tempX = nX;
|
||||
fltx4 tempY = nY;
|
||||
fltx4 tempZ = nZ;
|
||||
fltx4 tempDist = dist;
|
||||
|
||||
TransposeSIMD(tempX, tempY, tempZ, tempDist);
|
||||
|
||||
*(fltx4 *)pPlanesOut = tempX;
|
||||
*(fltx4 *)++pPlanesOut = tempY;
|
||||
}
|
||||
|
||||
void fourplanes_t::GetPlane( int index, Vector *pNormal, float *pDist ) const
|
||||
{
|
||||
pNormal->x = SubFloat(nX, index);
|
||||
pNormal->y = SubFloat(nY, index);
|
||||
pNormal->z = SubFloat(nZ, index);
|
||||
*pDist = SubFloat(dist, index);
|
||||
}
|
||||
|
||||
void fourplanes_t::SetPlane( int index, const Vector &vecNormal, float planeDist )
|
||||
{
|
||||
SubFloat(nX, index) = vecNormal.x;
|
||||
SubFloat(nY, index) = vecNormal.y;
|
||||
SubFloat(nZ, index) = vecNormal.z;
|
||||
SubFloat(dist, index) = planeDist;
|
||||
ComputeSignbits();
|
||||
}
|
||||
|
||||
Frustum_t::Frustum_t()
|
||||
{
|
||||
memset(planes, 0, sizeof(planes));
|
||||
}
|
||||
|
||||
void Frustum_t::SetPlane( int i, const Vector &vecNormal, float dist )
|
||||
{
|
||||
if (i < 4)
|
||||
planes[0].SetPlane(i, vecNormal, dist);
|
||||
else
|
||||
planes[1].SetPlane(i - 4, vecNormal, dist);
|
||||
}
|
||||
|
||||
void Frustum_t::GetPlane( int i, Vector *pNormalOut, float *pDistOut) const
|
||||
{
|
||||
if (i < 4)
|
||||
planes[0].GetPlane(i, pNormalOut, pDistOut);
|
||||
else
|
||||
planes[1].GetPlane(i - 4, pNormalOut, pDistOut);
|
||||
}
|
||||
|
||||
void Frustum_t::SetPlanes( const VPlane *pPlanes )
|
||||
{
|
||||
planes[0].Set4Planes(pPlanes);
|
||||
planes[1].Set2Planes(pPlanes + 4);
|
||||
}
|
||||
|
||||
void Frustum_t::GetPlanes( VPlane *pPlanesOut )
|
||||
{
|
||||
planes[0].Get4Planes(pPlanesOut);
|
||||
planes[1].Get2Planes(pPlanesOut + 4);
|
||||
}
|
||||
|
||||
bool Frustum_t::CullBox( const Vector &mins, const Vector &maxs ) const
|
||||
{
|
||||
fltx4 mins4 = LoadUnalignedSIMD(&mins);
|
||||
fltx4 maxs4 = LoadUnalignedSIMD(&maxs);
|
||||
fltx4 minX = SplatXSIMD(mins4);
|
||||
fltx4 minY = SplatYSIMD(mins4);
|
||||
fltx4 minZ = SplatZSIMD(mins4);
|
||||
fltx4 maxX = SplatXSIMD(maxs4);
|
||||
fltx4 maxY = SplatYSIMD(maxs4);
|
||||
fltx4 maxZ = SplatZSIMD(maxs4);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
fltx4 xTotalBack = MulSIMD(planes[i].nX, MaskedAssign(planes[i].xSign, minX, maxX));
|
||||
fltx4 yTotalBack = MulSIMD(planes[i].nY, MaskedAssign(planes[i].ySign, minY, maxY));
|
||||
fltx4 zTotalBack = MulSIMD(planes[i].nZ, MaskedAssign(planes[i].zSign, minZ, maxZ));
|
||||
fltx4 dotBack = AddSIMD(xTotalBack, AddSIMD(yTotalBack, zTotalBack));
|
||||
|
||||
if (IsAnyNegative(CmpLtSIMD(dotBack, planes[i].dist)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Frustum_t::CullBoxCenterExtents( const Vector ¢er, const Vector &extents ) const
|
||||
{
|
||||
fltx4 center4 = LoadUnalignedSIMD(¢er);
|
||||
fltx4 extents4 = LoadUnalignedSIMD(&extents);
|
||||
fltx4 centerX = SplatXSIMD(center4);
|
||||
fltx4 centerY = SplatYSIMD(center4);
|
||||
fltx4 centerZ = SplatZSIMD(center4);
|
||||
fltx4 extentsX = SplatXSIMD(extents4);
|
||||
fltx4 extentsY = SplatYSIMD(extents4);
|
||||
fltx4 extentsZ = SplatZSIMD(extents4);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
fltx4 xTotalBack = AddSIMD(MulSIMD(planes[i].nX, centerX), MulSIMD(planes[i].nXAbs, extentsX));
|
||||
fltx4 yTotalBack = AddSIMD(MulSIMD(planes[i].nY, centerY), MulSIMD(planes[i].nYAbs, extentsY));
|
||||
fltx4 zTotalBack = AddSIMD(MulSIMD(planes[i].nZ, centerZ), MulSIMD(planes[i].nZAbs, extentsZ));
|
||||
fltx4 dotBack = AddSIMD(xTotalBack, AddSIMD(yTotalBack, zTotalBack));
|
||||
|
||||
if (IsAnyNegative(CmpLtSIMD(dotBack, planes[i].dist)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Frustum_t::CullBox( const fltx4 &fl4Mins, const fltx4 &fl4Maxs ) const
|
||||
{
|
||||
fltx4 minX = SplatXSIMD(fl4Mins);
|
||||
fltx4 minY = SplatYSIMD(fl4Mins);
|
||||
fltx4 minZ = SplatZSIMD(fl4Mins);
|
||||
fltx4 maxX = SplatXSIMD(fl4Maxs);
|
||||
fltx4 maxY = SplatYSIMD(fl4Maxs);
|
||||
fltx4 maxZ = SplatZSIMD(fl4Maxs);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
fltx4 xTotalBack = MulSIMD(planes[i].nX, MaskedAssign(planes[i].xSign, minX, maxX));
|
||||
fltx4 yTotalBack = MulSIMD(planes[i].nY, MaskedAssign(planes[i].ySign, minY, maxY));
|
||||
fltx4 zTotalBack = MulSIMD(planes[i].nZ, MaskedAssign(planes[i].zSign, minZ, maxZ));
|
||||
fltx4 dotBack = AddSIMD(xTotalBack, AddSIMD(yTotalBack, zTotalBack));
|
||||
|
||||
if (IsAnyNegative(CmpLtSIMD(dotBack, planes[i].dist)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Frustum_t::CullBoxCenterExtents( const fltx4 &fl4Center, const fltx4 &fl4Extents ) const
|
||||
{
|
||||
fltx4 centerX = SplatXSIMD(fl4Center);
|
||||
fltx4 centerY = SplatYSIMD(fl4Center);
|
||||
fltx4 centerZ = SplatZSIMD(fl4Center);
|
||||
fltx4 extentsX = SplatXSIMD(fl4Extents);
|
||||
fltx4 extentsY = SplatYSIMD(fl4Extents);
|
||||
fltx4 extentsZ = SplatZSIMD(fl4Extents);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
fltx4 xTotalBack = AddSIMD(MulSIMD(planes[i].nX, centerX), MulSIMD(planes[i].nXAbs, extentsX));
|
||||
fltx4 yTotalBack = AddSIMD(MulSIMD(planes[i].nY, centerY), MulSIMD(planes[i].nYAbs, extentsY));
|
||||
fltx4 zTotalBack = AddSIMD(MulSIMD(planes[i].nZ, centerZ), MulSIMD(planes[i].nZAbs, extentsZ));
|
||||
fltx4 dotBack = AddSIMD(xTotalBack, AddSIMD(yTotalBack, zTotalBack));
|
||||
|
||||
if (IsAnyNegative(CmpLtSIMD(dotBack, planes[i].dist)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "tier0/basetypes.h"
|
||||
|
||||
static int current_ndims;
|
||||
static struct QuantizedValue *current_root;
|
||||
static int current_ssize;
|
||||
|
||||
+1
-1
@@ -172,7 +172,7 @@ float _SSE_RSqrtFast(float x)
|
||||
{
|
||||
Assert( s_bMathlibInitialized );
|
||||
|
||||
float rroot;
|
||||
float rroot = 0.0f;
|
||||
#ifdef _WIN32
|
||||
_asm
|
||||
{
|
||||
|
||||
+2
-1
@@ -6,7 +6,8 @@
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#include "mathlib/mathlib.h"
|
||||
#include "mathlib/vector.h"
|
||||
|
||||
Vector vec3_origin(0,0,0);
|
||||
const Vector vec3_origin(0,0,0);
|
||||
|
||||
+7
-6
@@ -11,6 +11,7 @@
|
||||
#include "basetypes.h"
|
||||
#include "mathlib/vmatrix.h"
|
||||
#include "mathlib/mathlib.h"
|
||||
#include "mathlib/ssemath.h"
|
||||
#include <string.h>
|
||||
#include "mathlib/vector4d.h"
|
||||
#include "tier0/dbg.h"
|
||||
@@ -1177,27 +1178,27 @@ void FrustumPlanesFromMatrix( const VMatrix &clipToWorld, Frustum_t &frustum )
|
||||
|
||||
FrustumPlanesFromMatrixHelper( clipToWorld,
|
||||
Vector( 0.0f, 0.0f, 0.0f ), Vector( 1.0f, 0.0f, 0.0f ), Vector( 0.0f, 1.0f, 0.0f ), normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_NEARZ, PLANE_ANYZ, normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_NEARZ, normal, dist );
|
||||
|
||||
FrustumPlanesFromMatrixHelper( clipToWorld,
|
||||
Vector( 0.0f, 0.0f, 1.0f ), Vector( 0.0f, 1.0f, 1.0f ), Vector( 1.0f, 0.0f, 1.0f ), normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_FARZ, PLANE_ANYZ, normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_FARZ, normal, dist );
|
||||
|
||||
FrustumPlanesFromMatrixHelper( clipToWorld,
|
||||
Vector( 1.0f, 0.0f, 0.0f ), Vector( 1.0f, 1.0f, 1.0f ), Vector( 1.0f, 1.0f, 0.0f ), normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_RIGHT, PLANE_ANYZ, normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_RIGHT, normal, dist );
|
||||
|
||||
FrustumPlanesFromMatrixHelper( clipToWorld,
|
||||
Vector( 0.0f, 0.0f, 0.0f ), Vector( 0.0f, 1.0f, 1.0f ), Vector( 0.0f, 0.0f, 1.0f ), normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_LEFT, PLANE_ANYZ, normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_LEFT, normal, dist );
|
||||
|
||||
FrustumPlanesFromMatrixHelper( clipToWorld,
|
||||
Vector( 1.0f, 1.0f, 0.0f ), Vector( 1.0f, 1.0f, 1.0f ), Vector( 0.0f, 1.0f, 1.0f ), normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_TOP, PLANE_ANYZ, normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_TOP, normal, dist );
|
||||
|
||||
FrustumPlanesFromMatrixHelper( clipToWorld,
|
||||
Vector( 1.0f, 0.0f, 0.0f ), Vector( 0.0f, 0.0f, 1.0f ), Vector( 1.0f, 0.0f, 1.0f ), normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_BOTTOM, PLANE_ANYZ, normal, dist );
|
||||
frustum.SetPlane( FRUSTUM_BOTTOM, normal, dist );
|
||||
}
|
||||
|
||||
void MatrixBuildOrtho( VMatrix& dst, double left, double top, double right, double bottom, double zNear, double zFar )
|
||||
|
||||
+20
-11
@@ -33,7 +33,9 @@ typedef enum DXGI_FORMAT;
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// don't bitch that inline functions aren't used!!!!
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4514)
|
||||
#endif
|
||||
|
||||
enum ImageFormat
|
||||
{
|
||||
@@ -170,24 +172,31 @@ typedef enum _D3DFORMAT
|
||||
//-----------------------------------------------------------------------------
|
||||
// Color structures
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning ( disable : 4293 )
|
||||
#endif
|
||||
template< int nBitCount > FORCEINLINE int ConvertTo10Bit( int x )
|
||||
{
|
||||
switch ( nBitCount )
|
||||
{
|
||||
case 1:
|
||||
return ( x & 0x1 ) ? 0x3FF : 0;
|
||||
case 2:
|
||||
return ( x << 8 ) | ( x << 6 ) | ( x << 4 ) | ( x << 2 ) | x;
|
||||
case 3:
|
||||
return ( x << 7 ) | ( x << 4 ) | ( x << 1 ) | ( x >> 2 );
|
||||
case 4:
|
||||
return ( x << 6 ) | ( x << 2 ) | ( x >> 2 );
|
||||
default:
|
||||
return ( x << ( 10 - nBitCount ) ) | ( x >> ( nBitCount - ( 10 - nBitCount ) ) );
|
||||
case 1:
|
||||
return ( x & 0x1 ) ? 0x3FF : 0;
|
||||
case 2:
|
||||
return ( x << 8 ) | ( x << 6 ) | ( x << 4 ) | ( x << 2 ) | x;
|
||||
case 3:
|
||||
return ( x << 7 ) | ( x << 4 ) | ( x << 1 ) | ( x >> 2 );
|
||||
case 4:
|
||||
return ( x << 6 ) | ( x << 2 ) | ( x >> 2 );
|
||||
default:
|
||||
{
|
||||
int rshift = ( nBitCount - ( 10 - nBitCount ) );
|
||||
return ( x << ( 10 - nBitCount ) ) | ( x >> rshift );
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning ( default : 4293 )
|
||||
#endif
|
||||
|
||||
template< int nBitCount > FORCEINLINE int ConvertFrom10Bit( int x )
|
||||
{
|
||||
@@ -622,7 +631,7 @@ namespace ImageLoader
|
||||
struct ResampleInfo_t
|
||||
{
|
||||
|
||||
ResampleInfo_t() : m_nFlags(0), m_flAlphaThreshhold(0.4f), m_flAlphaHiFreqThreshhold(0.4f), m_nSrcDepth(1), m_nDestDepth(1)
|
||||
ResampleInfo_t() : m_nSrcDepth(1), m_nDestDepth(1), m_flAlphaThreshhold(0.4f), m_flAlphaHiFreqThreshhold(0.4f), m_nFlags(0)
|
||||
{
|
||||
m_flColorScale[0] = 1.0f, m_flColorScale[1] = 1.0f, m_flColorScale[2] = 1.0f, m_flColorScale[3] = 1.0f;
|
||||
m_flColorGoal[0] = 0.0f, m_flColorGoal[1] = 0.0f, m_flColorGoal[2] = 0.0f, m_flColorGoal[3] = 0.0f;
|
||||
|
||||
@@ -882,7 +882,9 @@ struct dfaceid_t
|
||||
#if defined( _X360 )
|
||||
#pragma bitfield_order( push, lsb_to_msb )
|
||||
#endif
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( disable:4201 ) // C4201: nonstandard extension used: nameless struct/union
|
||||
#endif
|
||||
struct dleaf_version_0_t
|
||||
{
|
||||
DECLARE_BYTESWAP_DATADESC();
|
||||
@@ -936,7 +938,9 @@ struct dleaf_t
|
||||
// Precaculated light info for entities.
|
||||
// CompressedLightCube m_AmbientLighting;
|
||||
};
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( default:4201 ) // C4201: nonstandard extension used: nameless struct/union
|
||||
#endif
|
||||
#if defined( _X360 )
|
||||
#pragma bitfield_order( pop )
|
||||
#endif
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
|
||||
#include "tier0/dbg.h"
|
||||
#include "appframework/iappsystem.h"
|
||||
#include "appframework/IAppSystem.h"
|
||||
#include "tier3/tier3.h"
|
||||
|
||||
class IDataCache;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "appframework/iappsystem.h"
|
||||
#include "appframework/IAppSystem.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Forward declarations
|
||||
|
||||
+2
-2
@@ -138,7 +138,7 @@ public:
|
||||
switch ( m_Type )
|
||||
{
|
||||
case DPT_Int :
|
||||
Q_snprintf( text, sizeof(text), "%i", m_Int );
|
||||
Q_snprintf( text, sizeof(text), "%i", (int)m_Int );
|
||||
break;
|
||||
case DPT_Float :
|
||||
Q_snprintf( text, sizeof(text), "%.3f", m_Float );
|
||||
@@ -170,7 +170,7 @@ public:
|
||||
Q_snprintf( text, sizeof(text), "DataTable" );
|
||||
break;
|
||||
case DPT_Int64:
|
||||
Q_snprintf( text, sizeof(text), "%I64d", m_Int64 );
|
||||
Q_snprintf( text, sizeof(text), "%lld", m_Int64 );
|
||||
break;
|
||||
default :
|
||||
Q_snprintf( text, sizeof(text), "DVariant type %i unknown", m_Type );
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@
|
||||
#include "tier1/interface.h"
|
||||
#include "tier1/utlsymbol.h"
|
||||
#include "tier1/utlstring.h"
|
||||
#include "tier1/functors.h"
|
||||
//#include "tier1/functors.h"
|
||||
#include "tier1/checksum_crc.h"
|
||||
#include "tier1/utlqueue.h"
|
||||
#include "appframework/IAppSystem.h"
|
||||
@@ -539,7 +539,7 @@ public:
|
||||
) = 0;
|
||||
|
||||
virtual void FindFileAbsoluteList(
|
||||
CUtlVector<CUtlString, CUtlMemory<CUtlString, int>> &output,
|
||||
CUtlVector<CUtlString> &output,
|
||||
const char *pWildCard,
|
||||
const char *pPathID
|
||||
) = 0;
|
||||
|
||||
@@ -166,7 +166,7 @@ public:
|
||||
FileFindHandle_t *pHandle
|
||||
) { return m_pFileSystemPassThru->FindFirstEx( pWildCard, pPathID, pHandle ); }
|
||||
virtual void FindFileAbsoluteList(
|
||||
CUtlVector<CUtlString, CUtlMemory<CUtlString, int>> &output,
|
||||
CUtlVector<CUtlString> &output,
|
||||
const char *pWildCard,
|
||||
const char *pPathID
|
||||
) { m_pFileSystemPassThru->FindFileAbsoluteList( output, pWildCard, pPathID ); }
|
||||
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
|
||||
virtual bool SendNetMsg(INetMessage &msg, bool bForceReliable = false, bool bVoice = false ) = 0;
|
||||
#ifdef POSIX
|
||||
FORCEINLINE bool SendNetMsg(INetMessage const &msg, bool bForceReliable = false, bool bVoice = false ) { SendNetMsg( *( (INetMessage *) &msg ), bForceReliable, bVoice ); }
|
||||
FORCEINLINE bool SendNetMsg(INetMessage const &msg, bool bForceReliable = false, bool bVoice = false ) { return SendNetMsg( *( (INetMessage *) &msg ), bForceReliable, bVoice ); }
|
||||
#endif
|
||||
virtual bool SendData(bf_write &msg, bool bReliable = true) = 0;
|
||||
virtual bool SendFile(const char *filename, unsigned int transferID, bool isReplayDemo) = 0;
|
||||
|
||||
@@ -2844,6 +2844,7 @@ FORCEINLINE fltx4 LoadAndConvertUint16SIMD( const uint16 *pInts )
|
||||
SubFloat( retval, 1 ) = pInts[1];
|
||||
SubFloat( retval, 2 ) = pInts[2];
|
||||
SubFloat( retval, 3 ) = pInts[3];
|
||||
return retval;
|
||||
#else
|
||||
__m128i inA = _mm_loadl_epi64( (__m128i const*) pInts); // Load the lower 64 bits of the value pointed to by p into the lower 64 bits of the result, zeroing the upper 64 bits of the result.
|
||||
inA = _mm_unpacklo_epi16( inA, _mm_setzero_si128() ); // unpack unsigned 16's to signed 32's
|
||||
@@ -4057,7 +4058,7 @@ public:
|
||||
|
||||
FORCEINLINE void Init( void )
|
||||
{
|
||||
for( int i = 0; i < ARRAYSIZE( m_Mins ); i++ )
|
||||
for( int i = 0; i < (int)ARRAYSIZE( m_Mins ); i++ )
|
||||
{
|
||||
m_Mins[i] = Four_FLT_MAX;
|
||||
m_Maxes[i] = Four_Negative_FLT_MAX;
|
||||
|
||||
@@ -811,7 +811,7 @@ FORCEINLINE FourQuaternions FourQuaternions::ScaleAngle( const fltx4 &scale ) co
|
||||
{
|
||||
FourQuaternions ret;
|
||||
static const fltx4 OneMinusEpsilon = {1.0f - 0.000001f, 1.0f - 0.000001f, 1.0f - 0.000001f, 1.0f - 0.000001f };
|
||||
static const fltx4 tiny = { 0.00001f, 0.00001f, 0.00001f, 0.00001f };
|
||||
//static const fltx4 tiny = { 0.00001f, 0.00001f, 0.00001f, 0.00001f };
|
||||
const fltx4 Zero = Four_Zeros;
|
||||
fltx4 signMask = LoadAlignedSIMD( (float *) g_SIMD_signmask );
|
||||
// work out if there are any tiny scales or angles, which are unstable
|
||||
|
||||
+1
-1
@@ -2716,7 +2716,7 @@ public:
|
||||
|
||||
// ctor
|
||||
CActivityToSequenceMapping( void )
|
||||
: m_pSequenceTuples(NULL), m_iSequenceTuplesCount(0), m_ActToSeqHash(8,0,0), m_expectedVModel(NULL), m_pStudioHdr(NULL)
|
||||
: m_pSequenceTuples(NULL), m_iSequenceTuplesCount(0), m_ActToSeqHash(8,0,0), m_pStudioHdr(NULL), m_expectedVModel(NULL)
|
||||
{};
|
||||
|
||||
// dtor -- not virtual because this class has no inheritors
|
||||
|
||||
+2
-1
@@ -352,11 +352,12 @@ PLATFORM_INTERFACE void _AssertValidReadPtr( void* ptr, int count = 1 );
|
||||
PLATFORM_INTERFACE void _AssertValidWritePtr( void* ptr, int count = 1 );
|
||||
PLATFORM_INTERFACE void _AssertValidReadWritePtr( void* ptr, int count = 1 );
|
||||
|
||||
PLATFORM_INTERFACE void AssertValidStringPtr( const tchar* ptr, int maxchar = 0xFFFFFF );
|
||||
PLATFORM_INTERFACE void _AssertValidStringPtr( const tchar* ptr, int maxchar = 0xFFFFFF );
|
||||
template<class T> inline void AssertValidReadPtr( T* ptr, int count = 1 ) { _AssertValidReadPtr( (void*)ptr, count ); }
|
||||
template<class T> inline void AssertValidWritePtr( T* ptr, int count = 1 ) { _AssertValidWritePtr( (void*)ptr, count ); }
|
||||
template<class T> inline void AssertValidReadWritePtr( T* ptr, int count = 1 ) { _AssertValidReadWritePtr( (void*)ptr, count ); }
|
||||
|
||||
|
||||
#define AssertValidThis() AssertValidReadWritePtr(this,sizeof(*this))
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -293,8 +293,10 @@ inline void CCycleCount::Init( uint64 cycles )
|
||||
m_Int64 = cycles;
|
||||
}
|
||||
|
||||
#ifdef COMPILER_MSVC
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4189) // warning C4189: local variable is initialized but not referenced
|
||||
#endif
|
||||
|
||||
inline void CCycleCount::Sample()
|
||||
{
|
||||
@@ -341,7 +343,9 @@ inline void CCycleCount::Sample()
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef COMPILER_MSVC
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
|
||||
inline CCycleCount& CCycleCount::operator+=( CCycleCount const &other )
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "color.h"
|
||||
#include "Color.h"
|
||||
#include "icommandline.h"
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -133,7 +133,7 @@ typedef int LoggingChannelID_t;
|
||||
//-----------------------------------------------------------------------------
|
||||
// A sentinel value indicating an invalid logging channel ID.
|
||||
//-----------------------------------------------------------------------------
|
||||
const LoggingChannelID_t INVALID_LOGGING_CHANNEL_ID = -1;
|
||||
static const LoggingChannelID_t INVALID_LOGGING_CHANNEL_ID = -1;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// The severity of a logging operation.
|
||||
@@ -337,7 +337,7 @@ public:
|
||||
// A logging listener with Win32 console API color support which which prints
|
||||
// to stdout and the debug channel.
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef _X360
|
||||
#if !defined _X360 && defined COMPILER_MSVC
|
||||
class CColorizedLoggingListener : public CSimpleLoggingListener
|
||||
{
|
||||
public:
|
||||
@@ -743,4 +743,4 @@ PLATFORM_OVERLOAD LoggingResponse_t LoggingSystem_Log( LoggingChannelID_t channe
|
||||
PLATFORM_INTERFACE LoggingResponse_t LoggingSystem_LogDirect( LoggingChannelID_t channelID, LoggingSeverity_t severity, Color spewColor, const char *pMessage );
|
||||
PLATFORM_INTERFACE LoggingResponse_t LoggingSystem_LogAssert( const char *pMessageFormat, ... ) FMTFUNCTION( 1, 2 );
|
||||
|
||||
#endif // LOGGING_H
|
||||
#endif // LOGGING_H
|
||||
+16
-1
@@ -101,7 +101,9 @@ typedef void * HINSTANCE;
|
||||
#define IsPlatformOSX() false
|
||||
#define IsPlatformPS3() false
|
||||
#define IsPlatformWindows() true
|
||||
#ifndef PLATFORM_WINDOWS
|
||||
#define PLATFORM_WINDOWS 1
|
||||
#endif
|
||||
|
||||
#ifndef _X360
|
||||
#define IsPlatformX360() false
|
||||
@@ -136,16 +138,22 @@ typedef void * HINSTANCE;
|
||||
#define IsPlatformWindowsPC64() false
|
||||
#define IsPlatformWindowsPC32() false
|
||||
#define IsPlatformPosix() true
|
||||
#ifndef PLATFORM_POSIX
|
||||
#define PLATFORM_POSIX 1
|
||||
#endif
|
||||
|
||||
#if defined( LINUX )
|
||||
#define IsPlatformLinux() true
|
||||
#define IsPlatformOSX() false
|
||||
#ifndef PLATFORM_LINUX
|
||||
#define PLATFORM_LINUX 1
|
||||
#endif
|
||||
#elif defined ( OSX )
|
||||
#define IsPlatformLinux() false
|
||||
#define IsPlatformOSX() true
|
||||
#ifndef PLATFORM_OSX
|
||||
#define PLATFORM_OSX 1
|
||||
#endif
|
||||
#else
|
||||
#define IsPlatformLinux() false
|
||||
#define IsPlatformOSX() false
|
||||
@@ -701,6 +709,7 @@ PLATFORM_INTERFACE void Plat_MessageBox( const char *pTitle, const tchar *pMessa
|
||||
#define _putenv putenv
|
||||
#define _chdir chdir
|
||||
#define _access access
|
||||
#define _strtoi64 strtoll
|
||||
|
||||
#if !defined( _snprintf ) // some vpc's define this on the command line
|
||||
#define _snprintf snprintf
|
||||
@@ -1596,9 +1605,15 @@ int V_strncasecmp (const char *s1, const char *s2, int n);
|
||||
// returns <0 if strings do not match even in a case-insensitive way
|
||||
int _V_stricmp_NegativeForUnequal ( const char *s1, const char *s2 );
|
||||
|
||||
#ifndef stricmp
|
||||
#define stricmp(s1,s2) _V_stricmp(s1, s2)
|
||||
#endif
|
||||
#ifndef strcmpi
|
||||
#define strcmpi(s1,s2) _V_stricmp(s1, s2)
|
||||
#define strnicmp V_strncasecmp
|
||||
#endif
|
||||
#ifndef strnicmp
|
||||
#define strnicmp V_strncasecmp
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* PLATFORM_H */
|
||||
@@ -1681,8 +1681,8 @@ FORCEINLINE bool CThreadSpinRWLock::TryLockForWrite( const uint32 threadId )
|
||||
return false;
|
||||
}
|
||||
|
||||
static const LockInfo_t oldValue = { 0, 0 };
|
||||
LockInfo_t newValue = { threadId, 0 };
|
||||
static const LockInfo_t oldValue = {{ 0, 0 }};
|
||||
LockInfo_t newValue = {{ threadId, 0 }};
|
||||
if ( AssignIf( newValue, oldValue ) )
|
||||
{
|
||||
ThreadMemoryBarrier();
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#endif
|
||||
|
||||
#include "utlvector.h"
|
||||
#include "color.h"
|
||||
#include "Color.h"
|
||||
#include "exprevaluator.h"
|
||||
|
||||
class IBaseFileSystem;
|
||||
|
||||
@@ -778,7 +778,7 @@ public:
|
||||
}
|
||||
else
|
||||
{
|
||||
StoreLittleDWord( m_pDataOut, 0, LoadLittleDWord(m_pDataOut,0) & ~s_nMaskTable[ 32 - m_nOutBitsAvail ] | m_nOutBufWord );
|
||||
StoreLittleDWord( m_pDataOut, 0, (LoadLittleDWord(m_pDataOut,0) & ~s_nMaskTable[ 32 - m_nOutBitsAvail ]) | m_nOutBufWord );
|
||||
}
|
||||
}
|
||||
m_bFlushed = true;
|
||||
|
||||
@@ -240,7 +240,7 @@ private:
|
||||
Assert( "Invalid size in CByteswap::LowLevelByteSwap" && 0 );
|
||||
}
|
||||
#else
|
||||
for( int i = 0; i < sizeof(T); i++ )
|
||||
for( size_t i = 0; i < sizeof(T); i++ )
|
||||
{
|
||||
((unsigned char* )&temp)[i] = ((unsigned char*)input)[sizeof(T)-(i+1)];
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ extern void CharacterSetBuild( characterset_t *pSetBuffer, const char *pSetStrin
|
||||
// character - character to lookup
|
||||
// Output : int - 1 if the character was in the set
|
||||
//-----------------------------------------------------------------------------
|
||||
#define IN_CHARACTERSET( SetBuffer, character ) ((SetBuffer).set[(character)])
|
||||
#define IN_CHARACTERSET( SetBuffer, character ) ((SetBuffer).set[static_cast<size_t>(character)])
|
||||
|
||||
|
||||
#endif // CHARACTERSET_H
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "tier1/iconvar.h"
|
||||
#include "tier1/utlvector.h"
|
||||
#include "tier1/utlstring.h"
|
||||
#include "color.h"
|
||||
#include "Color.h"
|
||||
#include "icvar.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
@@ -874,7 +874,9 @@ void ConVar_PrintDescription( const ConCommandBase *pVar );
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Utility class to quickly allow ConCommands to call member methods
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (disable : 4355 )
|
||||
#endif
|
||||
|
||||
template< class T >
|
||||
class CConCommandMemberAccessor : public ConCommand, public ICommandCallback, public ICommandCompletionCallback
|
||||
@@ -921,8 +923,9 @@ private:
|
||||
FnMemberCommandCompletionCallback_t m_CompletionFunc;
|
||||
};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning ( default : 4355 )
|
||||
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Utility macros to quicky generate a simple console command
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "tier0/dbg.h"
|
||||
#include "tier0/platform.h"
|
||||
#include "tier1/strtools.h"
|
||||
#include "color.h"
|
||||
#include "Color.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "appframework/iappsystem.h"
|
||||
#include "appframework/IAppSystem.h"
|
||||
#include "tier1/convar.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,10 @@
|
||||
#include "tier0/memalloc.h"
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (disable:4100)
|
||||
#pragma warning (disable:4514)
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
+12
-12
@@ -41,7 +41,7 @@ public:
|
||||
struct ConversionArray_t
|
||||
{
|
||||
char m_nActualChar;
|
||||
char *m_pReplacementString;
|
||||
const char *m_pReplacementString;
|
||||
};
|
||||
|
||||
CUtlCharConversion( char nEscapeChar, const char *pDelimiter, int nCount, ConversionArray_t *pArray );
|
||||
@@ -60,7 +60,7 @@ protected:
|
||||
struct ConversionInfo_t
|
||||
{
|
||||
int m_nLength;
|
||||
char *m_pReplacementString;
|
||||
const char *m_pReplacementString;
|
||||
};
|
||||
|
||||
char m_nEscapeChar;
|
||||
@@ -110,13 +110,13 @@ typedef unsigned short ushort;
|
||||
template < class A >
|
||||
static const char *GetFmtStr( int nRadix = 10, bool bPrint = true ) { Assert( 0 ); return ""; }
|
||||
|
||||
template <> static const char *GetFmtStr< short > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%hd"; }
|
||||
template <> static const char *GetFmtStr< ushort > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%hu"; }
|
||||
template <> static const char *GetFmtStr< int > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%d"; }
|
||||
template <> static const char *GetFmtStr< uint > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 || nRadix == 16 ); return nRadix == 16 ? "%x" : "%u"; }
|
||||
template <> static const char *GetFmtStr< int64 > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%I64d"; }
|
||||
template <> static const char *GetFmtStr< float > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%f"; }
|
||||
template <> static const char *GetFmtStr< double > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return bPrint ? "%.15lf" : "%lf"; } // force Printf to print DBL_DIG=15 digits of precision for doubles - defaults to FLT_DIG=6
|
||||
template <> inline const char *GetFmtStr< short > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%hd"; }
|
||||
template <> inline const char *GetFmtStr< ushort > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%hu"; }
|
||||
template <> inline const char *GetFmtStr< int > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%d"; }
|
||||
template <> inline const char *GetFmtStr< uint > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 || nRadix == 16 ); return nRadix == 16 ? "%x" : "%u"; }
|
||||
template <> inline const char *GetFmtStr< int64 > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%lld"; }
|
||||
template <> inline const char *GetFmtStr< float > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return "%f"; }
|
||||
template <> inline const char *GetFmtStr< double > ( int nRadix, bool bPrint ) { Assert( nRadix == 10 ); return bPrint ? "%.15lf" : "%lf"; } // force Printf to print DBL_DIG=15 digits of precision for doubles - defaults to FLT_DIG=6
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -784,14 +784,14 @@ inline int64 StringToNumber( char *pString, char **ppEnd, int nRadix )
|
||||
template <>
|
||||
inline float StringToNumber( char *pString, char **ppEnd, int nRadix )
|
||||
{
|
||||
/*UNUSED*/( nRadix );
|
||||
// /*UNUSED*/( nRadix );
|
||||
return ( float )strtod( pString, ppEnd );
|
||||
}
|
||||
|
||||
template <>
|
||||
inline double StringToNumber( char *pString, char **ppEnd, int nRadix )
|
||||
{
|
||||
/*UNUSED*/( nRadix );
|
||||
// /*UNUSED*/( nRadix );
|
||||
return ( double )strtod( pString, ppEnd );
|
||||
}
|
||||
|
||||
@@ -1349,7 +1349,7 @@ inline void CUtlBuffer::Spew( )
|
||||
while( IsValid() && GetBytesRemaining() )
|
||||
{
|
||||
V_memset( pTmpLine, 0, sizeof(pTmpLine) );
|
||||
Get( pTmpLine, MIN( GetBytesRemaining(), sizeof(pTmpLine-1) ) );
|
||||
Get( pTmpLine, MIN( (unsigned int)GetBytesRemaining(), sizeof(pTmpLine-1) ) );
|
||||
Msg( _T( "%s" ), pTmpLine );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,10 @@
|
||||
#include "tier0/memalloc.h"
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (disable:4100)
|
||||
#pragma warning (disable:4514)
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ public:
|
||||
return false;
|
||||
|
||||
#ifdef _DEBUG // it's safe to skip this here, since the only way to get indices after m_LastAlloc is to use MaxElementIndex
|
||||
if ( Memory().IsIdxAfter( i, this->m_LastAlloc ) )
|
||||
if ( this->Memory().IsIdxAfter( i, this->m_LastAlloc ) )
|
||||
{
|
||||
Assert( 0 );
|
||||
return false; // don't read values that have been allocated, but not constructed
|
||||
@@ -339,8 +339,10 @@ inline I CUtlLinkedList<T,S,ML,I,M>::Next( I i ) const
|
||||
// Are nodes in the list or valid?
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning( disable: 4310 ) // Allows "(I)(S)M::INVALID_INDEX" below
|
||||
#endif
|
||||
template <class T, class S, bool ML, class I, class M>
|
||||
inline bool CUtlLinkedList<T,S,ML,I,M>::IndexInRange( I index ) // Static method
|
||||
{
|
||||
@@ -359,7 +361,9 @@ inline bool CUtlLinkedList<T,S,ML,I,M>::IndexInRange( I index ) // Static method
|
||||
|
||||
return ( ( (S)index == index ) && ( (S)index != InvalidIndex() ) );
|
||||
}
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
template <class T, class S, bool ML, class I, class M>
|
||||
inline bool CUtlLinkedList<T,S,ML,I,M>::IsValidIndex( I i ) const
|
||||
|
||||
@@ -21,9 +21,10 @@
|
||||
#include "tier0/memalloc.h"
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (disable:4100)
|
||||
#pragma warning (disable:4514)
|
||||
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -360,8 +360,8 @@ protected:
|
||||
|
||||
template < class T, class I, typename L, class M >
|
||||
inline CUtlRBTree<T, I, L, M>::CUtlRBTree( int growSize, int initSize, const LessFunc_t &lessfunc ) :
|
||||
m_Elements( growSize, initSize ),
|
||||
m_LessFunc( lessfunc ),
|
||||
m_Elements( growSize, initSize ),
|
||||
m_Root( InvalidIndex() ),
|
||||
m_NumElements( 0 ),
|
||||
m_FirstFree( InvalidIndex() ),
|
||||
@@ -372,8 +372,8 @@ m_LastAlloc( m_Elements.InvalidIterator() )
|
||||
|
||||
template < class T, class I, typename L, class M >
|
||||
inline CUtlRBTree<T, I, L, M>::CUtlRBTree( const LessFunc_t &lessfunc ) :
|
||||
m_Elements( 0, 0 ),
|
||||
m_LessFunc( lessfunc ),
|
||||
m_Elements( 0, 0 ),
|
||||
m_Root( InvalidIndex() ),
|
||||
m_NumElements( 0 ),
|
||||
m_FirstFree( InvalidIndex() ),
|
||||
@@ -648,8 +648,10 @@ inline void CUtlRBTree<T, I, L, M>::SetColor( I i, typename CUtlRBTree<T, I, L,
|
||||
//-----------------------------------------------------------------------------
|
||||
// Allocates/ deallocates nodes
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4389) // '==' : signed/unsigned mismatch
|
||||
#endif
|
||||
template < class T, class I, typename L, class M >
|
||||
I CUtlRBTree<T, I, L, M>::NewNode()
|
||||
{
|
||||
@@ -694,7 +696,9 @@ I CUtlRBTree<T, I, L, M>::NewNode()
|
||||
|
||||
return elem;
|
||||
}
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
template < class T, class I, typename L, class M >
|
||||
void CUtlRBTree<T, I, L, M>::FreeNode( I i )
|
||||
|
||||
@@ -441,13 +441,13 @@ class CSOAAttributeReference;
|
||||
|
||||
// define binary op class to allow this construct without temps:
|
||||
// dest( FBM_ATTR_RED ) = src( FBM_ATTR_BLUE ) + src( FBM_ATTR_GREEN )
|
||||
template<BINARYSIMDFUNCTION fn> class CSOAAttributeReferenceBinaryOp
|
||||
template<BINARYSIMDFUNCTION fn, class Ref> class CSOAAttributeReferenceBinaryOp
|
||||
{
|
||||
public:
|
||||
CSOAAttributeReference m_opA;
|
||||
CSOAAttributeReference m_opB;
|
||||
Ref m_opA;
|
||||
Ref m_opB;
|
||||
|
||||
CSOAAttributeReferenceBinaryOp( CSOAAttributeReference const &a, CSOAAttributeReference const & b )
|
||||
CSOAAttributeReferenceBinaryOp( Ref const &a, Ref const & b )
|
||||
{
|
||||
a.CopyTo( m_opA );
|
||||
b.CopyTo( m_opB );
|
||||
@@ -456,9 +456,9 @@ public:
|
||||
};
|
||||
|
||||
#define DEFINE_OP( opname, fnname ) \
|
||||
FORCEINLINE CSOAAttributeReferenceBinaryOp<fnname> operator opname( CSOAAttributeReference const &other ) const \
|
||||
FORCEINLINE CSOAAttributeReferenceBinaryOp<fnname, CSOAAttributeReference> operator opname( CSOAAttributeReference const &other ) const \
|
||||
{ \
|
||||
return CSOAAttributeReferenceBinaryOp<fnname>( *this, other ); \
|
||||
return CSOAAttributeReferenceBinaryOp<fnname, CSOAAttributeReference>( *this, other ); \
|
||||
}
|
||||
|
||||
class CSOAAttributeReference
|
||||
@@ -498,18 +498,18 @@ public:
|
||||
DEFINE_OP( -, SubSIMD );
|
||||
DEFINE_OP( /, DivSIMD );
|
||||
|
||||
template<BINARYSIMDFUNCTION fn> FORCEINLINE void operator =( CSOAAttributeReferenceBinaryOp<fn> const &op );
|
||||
template<BINARYSIMDFUNCTION fn> FORCEINLINE void operator =( CSOAAttributeReferenceBinaryOp<fn, CSOAAttributeReference> const &op );
|
||||
|
||||
FORCEINLINE void CopyTo( CSOAAttributeReference &other ) const; // since operator= is over-ridden
|
||||
};
|
||||
|
||||
|
||||
template<BINARYSIMDFUNCTION fn> FORCEINLINE void CSOAAttributeReference::operator =( CSOAAttributeReferenceBinaryOp<fn> const &op )
|
||||
template<BINARYSIMDFUNCTION fn> FORCEINLINE void CSOAAttributeReference::operator =( CSOAAttributeReferenceBinaryOp<fn, CSOAAttributeReference> const &op )
|
||||
{
|
||||
m_pContainer->AssertDataType( m_nAttributeID, ATTRDATATYPE_FLOAT );
|
||||
fltx4 *pOut = m_pContainer->RowPtr<fltx4>( m_nAttributeID, 0 );
|
||||
fltx4 *pInA = op.m_opA.m_pContainer->RowPtr<fltx4>( op.m_opA.m_nAttributeID, 0 );
|
||||
fltx4 *pInB = op.m_opB.m_pContainer->RowPtr<fltx4>( op.m_opB.m_nAttributeID, 0 );
|
||||
fltx4 *pInA = op.m_opA.m_pContainer->template RowPtr<fltx4>( op.m_opA.m_nAttributeID, 0 );
|
||||
fltx4 *pInB = op.m_opB.m_pContainer->template RowPtr<fltx4>( op.m_opB.m_nAttributeID, 0 );
|
||||
size_t nRowToRowStride = m_pContainer->RowToRowStep( m_nAttributeID ) / sizeof( fltx4 );
|
||||
int nRowCtr = m_pContainer->NumRows() * m_pContainer->NumSlices();
|
||||
do
|
||||
@@ -576,7 +576,8 @@ template<BINARYSIMDFUNCTION fn1, BINARYSIMDFUNCTION fn2> void CSOAContainer::App
|
||||
int nColCtr = NumQuadsPerRow();
|
||||
do
|
||||
{
|
||||
*( pOut++ ) = fn1( fn2( *pOut, fl4FnArg2 ), fl4FnArg1 );
|
||||
*( pOut ) = fn1( fn2( *pOut, fl4FnArg2 ), fl4FnArg1 );
|
||||
pOut++;
|
||||
} while ( --nColCtr );
|
||||
pOut += nRowToRowStride;
|
||||
} while ( --nRowCtr );
|
||||
@@ -613,7 +614,8 @@ template<BINARYSIMDFUNCTION fn> void CSOAContainer::ApplyBinaryFunctionToAttr( i
|
||||
int nColCtr = NumQuadsPerRow();
|
||||
do
|
||||
{
|
||||
*(pOut++) = fn( *pOut, fl4FnArg1 );
|
||||
*(pOut) = fn( *pOut, fl4FnArg1 );
|
||||
pOut++;
|
||||
} while ( --nColCtr );
|
||||
pOut += nRowToRowStride;
|
||||
} while ( --nRowCtr );
|
||||
|
||||
@@ -259,9 +259,11 @@ public:
|
||||
// Especialy useful if you have a lot of vectors that are sparse, or if you're
|
||||
// carefully packing holders of vectors
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4200) // warning C4200: nonstandard extension used : zero-sized array in struct/union
|
||||
#pragma warning(disable : 4815 ) // warning C4815: 'staticData' : zero-sized array in stack object will have no elements
|
||||
#endif
|
||||
|
||||
class CUtlVectorUltraConservativeAllocator
|
||||
{
|
||||
@@ -499,8 +501,9 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// The CCopyableUtlVector class:
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
#include "appframework/iappsystem.h"
|
||||
#include "appframework/IAppSystem.h"
|
||||
#include "tier1/utlstring.h"
|
||||
#include "tier1/utlbuffer.h"
|
||||
|
||||
@@ -16,8 +16,10 @@
|
||||
|
||||
#define NTAB 32
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning( disable:4251 )
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// A generator of uniformly distributed random numbers
|
||||
@@ -102,8 +104,9 @@ VSTDLIB_INTERFACE float RandomGaussianFloat( float flMean = 0.0f, float flStdDev
|
||||
//-----------------------------------------------------------------------------
|
||||
VSTDLIB_INTERFACE void InstallUniformRandomStream( IUniformRandomStream *pStream );
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#endif // VSTDLIB_RANDOM_H
|
||||
|
||||
|
||||
+25
-25
@@ -275,7 +275,9 @@ KeyValues::KeyValues( const char *setName, const char *firstKey, int firstValue,
|
||||
//-----------------------------------------------------------------------------
|
||||
void KeyValues::Init()
|
||||
{
|
||||
m_iKeyName = INVALID_KEY_SYMBOL;
|
||||
m_iKeyName = 0;
|
||||
m_iKeyNameCaseSensitive1 = 0;
|
||||
m_iKeyNameCaseSensitive2 = 0;
|
||||
m_iDataType = TYPE_NONE;
|
||||
|
||||
m_pSub = NULL;
|
||||
@@ -287,9 +289,6 @@ void KeyValues::Init()
|
||||
m_pValue = NULL;
|
||||
|
||||
m_bHasEscapeSequences = false;
|
||||
|
||||
// for future proof
|
||||
memset( unused, 0, sizeof(unused) );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -472,7 +471,7 @@ void KeyValues::UsesEscapeSequences(bool state)
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Load keyValues from disk
|
||||
//-----------------------------------------------------------------------------
|
||||
bool KeyValues::LoadFromFile( IBaseFileSystem *filesystem, const char *resourceName, const char *pathID )
|
||||
bool KeyValues::LoadFromFile( IBaseFileSystem *filesystem, const char *resourceName, const char *pathID, GetSymbolProc_t pfnEvaluateSymbolProc )
|
||||
{
|
||||
Assert(filesystem);
|
||||
#ifndef _LINUX
|
||||
@@ -500,7 +499,7 @@ bool KeyValues::LoadFromFile( IBaseFileSystem *filesystem, const char *resourceN
|
||||
if ( bRetOK )
|
||||
{
|
||||
buffer[fileSize] = 0; // null terminate file as EOF
|
||||
bRetOK = LoadFromBuffer( resourceName, buffer, filesystem );
|
||||
bRetOK = LoadFromBuffer( resourceName, buffer, filesystem, pathID, pfnEvaluateSymbolProc);
|
||||
}
|
||||
|
||||
((IFileSystem *)filesystem)->FreeOptimalReadBuffer( buffer );
|
||||
@@ -676,7 +675,7 @@ void KeyValues::RecursiveSaveToFile( IBaseFileSystem *filesystem, FileHandle_t f
|
||||
|
||||
char buf[32];
|
||||
// write "0x" + 16 char 0-padded hex encoded 64 bit value
|
||||
Q_snprintf( buf, sizeof( buf ), "0x%016I64X", *( (uint64 *)dat->m_sValue ) );
|
||||
Q_snprintf( buf, sizeof( buf ), "0x%016llX", *( (uint64 *)dat->m_sValue ) );
|
||||
|
||||
INTERNALWRITE(buf, Q_strlen(buf));
|
||||
INTERNALWRITE("\"\n", 2);
|
||||
@@ -1136,7 +1135,7 @@ const char *KeyValues::GetString( const char *keyName, const char *defaultValue
|
||||
SetString( keyName, buf );
|
||||
break;
|
||||
case TYPE_UINT64:
|
||||
Q_snprintf( buf, sizeof( buf ), "%I64i", *((uint64 *)(dat->m_sValue)) );
|
||||
Q_snprintf( buf, sizeof( buf ), "%llu", *((uint64 *)(dat->m_sValue)) );
|
||||
SetString( keyName, buf );
|
||||
break;
|
||||
|
||||
@@ -1225,9 +1224,9 @@ const wchar_t *KeyValues::GetWString( const char *keyName, const wchar_t *defaul
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Gets a color
|
||||
//-----------------------------------------------------------------------------
|
||||
Color KeyValues::GetColor( const char *keyName )
|
||||
Color KeyValues::GetColor( const char *keyName, const Color &defaultColor )
|
||||
{
|
||||
Color color(0, 0, 0, 0);
|
||||
Color color = defaultColor;
|
||||
KeyValues *dat = FindKey( keyName, false );
|
||||
if ( dat )
|
||||
{
|
||||
@@ -1701,7 +1700,8 @@ void KeyValues::AppendIncludedKeys( CUtlVector< KeyValues * >& includedKeys )
|
||||
}
|
||||
|
||||
void KeyValues::ParseIncludedKeys( char const *resourceName, const char *filetoinclude,
|
||||
IBaseFileSystem* pFileSystem, const char *pPathID, CUtlVector< KeyValues * >& includedKeys )
|
||||
IBaseFileSystem* pFileSystem, const char *pPathID, CUtlVector< KeyValues * >& includedKeys,
|
||||
GetSymbolProc_t pfnEvaluateSymbolProc )
|
||||
{
|
||||
Assert( resourceName );
|
||||
Assert( filetoinclude );
|
||||
@@ -1747,7 +1747,7 @@ void KeyValues::ParseIncludedKeys( char const *resourceName, const char *filetoi
|
||||
|
||||
newKV->UsesEscapeSequences( m_bHasEscapeSequences != 0 ); // use same format as parent
|
||||
|
||||
if ( newKV->LoadFromFile( pFileSystem, fullpath, pPathID ) )
|
||||
if ( newKV->LoadFromFile( pFileSystem, fullpath, pPathID, pfnEvaluateSymbolProc ) )
|
||||
{
|
||||
includedKeys.AddToTail( newKV );
|
||||
}
|
||||
@@ -1818,7 +1818,7 @@ void KeyValues::RecursiveMergeKeyValues( KeyValues *baseKV )
|
||||
// Returns whether a keyvalues conditional evaluates to true or false
|
||||
// Needs more flexibility with conditionals, checking convars would be nice.
|
||||
//-----------------------------------------------------------------------------
|
||||
bool EvaluateConditional( const char *str )
|
||||
bool KeyValues::EvaluateConditional( const char *str, GetSymbolProc_t pfnEvaluateSymbolProc )
|
||||
{
|
||||
bool bResult = false;
|
||||
bool bXboxUI = IsX360();
|
||||
@@ -1839,7 +1839,7 @@ bool EvaluateConditional( const char *str )
|
||||
//-----------------------------------------------------------------------------
|
||||
// Read from a buffer...
|
||||
//-----------------------------------------------------------------------------
|
||||
bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBaseFileSystem* pFileSystem, const char *pPathID )
|
||||
bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBaseFileSystem* pFileSystem, const char *pPathID, GetSymbolProc_t pfnEvaluateSymbolProc )
|
||||
{
|
||||
KeyValues *pPreviousKey = NULL;
|
||||
KeyValues *pCurrentKey = this;
|
||||
@@ -1868,7 +1868,7 @@ bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBase
|
||||
}
|
||||
else
|
||||
{
|
||||
ParseIncludedKeys( resourceName, s, pFileSystem, pPathID, includedKeys );
|
||||
ParseIncludedKeys( resourceName, s, pFileSystem, pPathID, includedKeys, pfnEvaluateSymbolProc );
|
||||
}
|
||||
|
||||
continue;
|
||||
@@ -1884,7 +1884,7 @@ bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBase
|
||||
}
|
||||
else
|
||||
{
|
||||
ParseIncludedKeys( resourceName, s, pFileSystem, pPathID, baseKeys );
|
||||
ParseIncludedKeys( resourceName, s, pFileSystem, pPathID, baseKeys, pfnEvaluateSymbolProc );
|
||||
}
|
||||
|
||||
continue;
|
||||
@@ -1912,7 +1912,7 @@ bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBase
|
||||
|
||||
if ( wasConditional )
|
||||
{
|
||||
bAccepted = EvaluateConditional( s );
|
||||
bAccepted = EvaluateConditional( s, pfnEvaluateSymbolProc );
|
||||
|
||||
// Now get the '{'
|
||||
s = ReadToken( buf, wasQuoted, wasConditional );
|
||||
@@ -1921,7 +1921,7 @@ bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBase
|
||||
if ( s && *s == '{' && !wasQuoted )
|
||||
{
|
||||
// header is valid so load the file
|
||||
pCurrentKey->RecursiveLoadFromBuffer( resourceName, buf );
|
||||
pCurrentKey->RecursiveLoadFromBuffer( resourceName, buf, pfnEvaluateSymbolProc );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1965,7 +1965,7 @@ bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBase
|
||||
}
|
||||
}
|
||||
|
||||
g_KeyValuesErrorStack.SetFilename( "" );
|
||||
g_KeyValuesErrorStack.SetFilename( "" );
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1974,20 +1974,20 @@ bool KeyValues::LoadFromBuffer( char const *resourceName, CUtlBuffer &buf, IBase
|
||||
//-----------------------------------------------------------------------------
|
||||
// Read from a buffer...
|
||||
//-----------------------------------------------------------------------------
|
||||
bool KeyValues::LoadFromBuffer( char const *resourceName, const char *pBuffer, IBaseFileSystem* pFileSystem, const char *pPathID )
|
||||
bool KeyValues::LoadFromBuffer( char const *resourceName, const char *pBuffer, IBaseFileSystem* pFileSystem, const char *pPathID, GetSymbolProc_t pfnEvaluateSymbolProc )
|
||||
{
|
||||
if ( !pBuffer )
|
||||
return true;
|
||||
|
||||
int nLen = Q_strlen( pBuffer );
|
||||
CUtlBuffer buf( pBuffer, nLen, CUtlBuffer::READ_ONLY | CUtlBuffer::TEXT_BUFFER );
|
||||
return LoadFromBuffer( resourceName, buf, pFileSystem, pPathID );
|
||||
return LoadFromBuffer( resourceName, buf, pFileSystem, pPathID, pfnEvaluateSymbolProc );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &buf )
|
||||
void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &buf, GetSymbolProc_t pfnEvaluateSymbolProc )
|
||||
{
|
||||
CKeyErrorContext errorReport(this);
|
||||
bool wasQuoted;
|
||||
@@ -2027,7 +2027,7 @@ void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &b
|
||||
|
||||
if ( wasConditional && value )
|
||||
{
|
||||
bAccepted = EvaluateConditional( value );
|
||||
bAccepted = EvaluateConditional( value, pfnEvaluateSymbolProc );
|
||||
|
||||
// get the real value
|
||||
value = ReadToken( buf, wasQuoted, wasConditional );
|
||||
@@ -2050,7 +2050,7 @@ void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &b
|
||||
// this isn't a key, it's a section
|
||||
errorKey.Reset( INVALID_KEY_SYMBOL );
|
||||
// sub value list
|
||||
dat->RecursiveLoadFromBuffer( resourceName, buf );
|
||||
dat->RecursiveLoadFromBuffer( resourceName, buf, pfnEvaluateSymbolProc );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2125,7 +2125,7 @@ void KeyValues::RecursiveLoadFromBuffer( char const *resourceName, CUtlBuffer &b
|
||||
const char *peek = ReadToken( buf, wasQuoted, wasConditional );
|
||||
if ( wasConditional )
|
||||
{
|
||||
bAccepted = EvaluateConditional( peek );
|
||||
bAccepted = EvaluateConditional( peek, pfnEvaluateSymbolProc );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+95
-55
@@ -115,10 +115,10 @@ CBitWriteMasksInit g_BitWriteMasksInit;
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------------------- //
|
||||
// old_bf_write
|
||||
// bf_write
|
||||
// ---------------------------------------------------------------------------------------- //
|
||||
|
||||
old_bf_write::old_bf_write()
|
||||
bf_write::bf_write()
|
||||
{
|
||||
m_pData = NULL;
|
||||
m_nDataBytes = 0;
|
||||
@@ -129,21 +129,21 @@ old_bf_write::old_bf_write()
|
||||
m_pDebugName = NULL;
|
||||
}
|
||||
|
||||
old_bf_write::old_bf_write( const char *pDebugName, void *pData, int nBytes, int nBits )
|
||||
{
|
||||
m_bAssertOnOverflow = true;
|
||||
m_pDebugName = pDebugName;
|
||||
StartWriting( pData, nBytes, 0, nBits );
|
||||
}
|
||||
|
||||
old_bf_write::old_bf_write( void *pData, int nBytes, int nBits )
|
||||
bf_write::bf_write( void *pData, int nBytes, int nMaxBits )
|
||||
{
|
||||
m_bAssertOnOverflow = true;
|
||||
m_pDebugName = NULL;
|
||||
StartWriting( pData, nBytes, 0, nBits );
|
||||
StartWriting( pData, nBytes, 0, nMaxBits );
|
||||
}
|
||||
|
||||
void old_bf_write::StartWriting( void *pData, int nBytes, int iStartBit, int nBits )
|
||||
bf_write::bf_write( const char *pDebugName, void *pData, int nBytes, int nMaxBits )
|
||||
{
|
||||
m_bAssertOnOverflow = true;
|
||||
m_pDebugName = pDebugName;
|
||||
StartWriting( pData, nBytes, 0, nMaxBits );
|
||||
}
|
||||
|
||||
void bf_write::StartWriting( void *pData, int nBytes, int iStartBit, int nMaxBits )
|
||||
{
|
||||
// Make sure it's dword aligned and padded.
|
||||
Assert( (nBytes % 4) == 0 );
|
||||
@@ -155,53 +155,53 @@ void old_bf_write::StartWriting( void *pData, int nBytes, int iStartBit, int nBi
|
||||
m_pData = (unsigned char*)pData;
|
||||
m_nDataBytes = nBytes;
|
||||
|
||||
if ( nBits == -1 )
|
||||
if ( nMaxBits == -1 )
|
||||
{
|
||||
m_nDataBits = nBytes << 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert( nBits <= nBytes*8 );
|
||||
m_nDataBits = nBits;
|
||||
Assert( nMaxBits <= nBytes*8 );
|
||||
m_nDataBits = nMaxBits;
|
||||
}
|
||||
|
||||
m_iCurBit = iStartBit;
|
||||
m_bOverflow = false;
|
||||
}
|
||||
|
||||
void old_bf_write::Reset()
|
||||
void bf_write::Reset()
|
||||
{
|
||||
m_iCurBit = 0;
|
||||
m_bOverflow = false;
|
||||
}
|
||||
|
||||
|
||||
void old_bf_write::SetAssertOnOverflow( bool bAssert )
|
||||
void bf_write::SetAssertOnOverflow( bool bAssert )
|
||||
{
|
||||
m_bAssertOnOverflow = bAssert;
|
||||
}
|
||||
|
||||
|
||||
const char* old_bf_write::GetDebugName()
|
||||
const char* bf_write::GetDebugName()
|
||||
{
|
||||
return m_pDebugName;
|
||||
}
|
||||
|
||||
|
||||
void old_bf_write::SetDebugName( const char *pDebugName )
|
||||
void bf_write::SetDebugName( const char *pDebugName )
|
||||
{
|
||||
m_pDebugName = pDebugName;
|
||||
}
|
||||
|
||||
|
||||
void old_bf_write::SeekToBit( int bitPos )
|
||||
void bf_write::SeekToBit( int bitPos )
|
||||
{
|
||||
m_iCurBit = bitPos;
|
||||
}
|
||||
|
||||
|
||||
// Sign bit comes first
|
||||
void old_bf_write::WriteSBitLong( int data, int numbits )
|
||||
void bf_write::WriteSBitLong( int data, int numbits )
|
||||
{
|
||||
// Do we have a valid # of bits to encode with?
|
||||
Assert( numbits >= 1 );
|
||||
@@ -250,7 +250,7 @@ inline unsigned int BitCountNeededToEncode(unsigned int data)
|
||||
#endif // _WIN32
|
||||
|
||||
// writes an unsigned integer with variable bit length
|
||||
void old_bf_write::WriteUBitVar( unsigned int data )
|
||||
void bf_write::WriteUBitVar( unsigned int data )
|
||||
{
|
||||
if ( ( data &0xf ) == data )
|
||||
{
|
||||
@@ -305,7 +305,7 @@ void old_bf_write::WriteUBitVar( unsigned int data )
|
||||
#endif
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitLong(unsigned int data, int numbits, bool bSigned)
|
||||
void bf_write::WriteBitLong(unsigned int data, int numbits, bool bSigned)
|
||||
{
|
||||
if(bSigned)
|
||||
WriteSBitLong((int)data, numbits);
|
||||
@@ -313,10 +313,10 @@ void old_bf_write::WriteBitLong(unsigned int data, int numbits, bool bSigned)
|
||||
WriteUBitLong(data, numbits);
|
||||
}
|
||||
|
||||
bool old_bf_write::WriteBits(const void *pInData, int nBits)
|
||||
bool bf_write::WriteBits(const void *pInData, int nBits)
|
||||
{
|
||||
#if defined( BB_PROFILING )
|
||||
VPROF( "old_bf_write::WriteBits" );
|
||||
VPROF( "bf_write::WriteBits" );
|
||||
#endif
|
||||
|
||||
unsigned char *pOut = (unsigned char*)pInData;
|
||||
@@ -403,7 +403,7 @@ bool old_bf_write::WriteBits(const void *pInData, int nBits)
|
||||
}
|
||||
|
||||
|
||||
bool old_bf_write::WriteBitsFromBuffer( bf_read *pIn, int nBits )
|
||||
bool bf_write::WriteBitsFromBuffer( bf_read *pIn, int nBits )
|
||||
{
|
||||
// This could be optimized a little by
|
||||
while ( nBits > 32 )
|
||||
@@ -417,7 +417,7 @@ bool old_bf_write::WriteBitsFromBuffer( bf_read *pIn, int nBits )
|
||||
}
|
||||
|
||||
|
||||
void old_bf_write::WriteBitAngle( float fAngle, int numbits )
|
||||
void bf_write::WriteBitAngle( float fAngle, int numbits )
|
||||
{
|
||||
int d;
|
||||
unsigned int mask;
|
||||
@@ -432,14 +432,14 @@ void old_bf_write::WriteBitAngle( float fAngle, int numbits )
|
||||
WriteUBitLong((unsigned int)d, numbits);
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitCoordMP( const float f, bool bIntegral, bool bLowPrecision )
|
||||
void bf_write::WriteBitCoordMP( const float f, EBitCoordType coordType )
|
||||
{
|
||||
#if defined( BB_PROFILING )
|
||||
VPROF( "old_bf_write::WriteBitCoordMP" );
|
||||
VPROF( "bf_write::WriteBitCoordMP" );
|
||||
#endif
|
||||
int signbit = (f <= -( bLowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ));
|
||||
int signbit = (f <= -( coordType == kCW_LowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ));
|
||||
int intval = (int)fabs(f);
|
||||
int fractval = bLowPrecision ?
|
||||
int fractval = coordType == kCW_LowPrecision ?
|
||||
( abs((int)(f*COORD_DENOMINATOR_LOWPRECISION)) & (COORD_DENOMINATOR_LOWPRECISION-1) ) :
|
||||
( abs((int)(f*COORD_DENOMINATOR)) & (COORD_DENOMINATOR-1) );
|
||||
|
||||
@@ -448,7 +448,7 @@ void old_bf_write::WriteBitCoordMP( const float f, bool bIntegral, bool bLowPrec
|
||||
|
||||
WriteOneBit( bInBounds );
|
||||
|
||||
if ( bIntegral )
|
||||
if ( coordType == kCW_Integral )
|
||||
{
|
||||
// Send the sign bit
|
||||
WriteOneBit( intval );
|
||||
@@ -488,14 +488,35 @@ void old_bf_write::WriteBitCoordMP( const float f, bool bIntegral, bool bLowPrec
|
||||
WriteUBitLong( (unsigned int)intval, COORD_INTEGER_BITS );
|
||||
}
|
||||
}
|
||||
WriteUBitLong( (unsigned int)fractval, bLowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
WriteUBitLong( (unsigned int)fractval, coordType == kCW_LowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
}
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitCoord (const float f)
|
||||
void bf_write::WriteBitCellCoord( const float f, int bits, EBitCoordType coordType )
|
||||
{
|
||||
#if defined( BB_PROFILING )
|
||||
VPROF( "old_bf_write::WriteBitCoord" );
|
||||
VPROF( "bf_write::WriteCellBitCoordMP" );
|
||||
#endif
|
||||
int intval = (int)fabs(f);
|
||||
int fractval = coordType == kCW_LowPrecision ?
|
||||
( abs((int)(f*COORD_DENOMINATOR_LOWPRECISION)) & (COORD_DENOMINATOR_LOWPRECISION-1) ) :
|
||||
( abs((int)(f*COORD_DENOMINATOR)) & (COORD_DENOMINATOR-1) );
|
||||
|
||||
if ( coordType == kCW_Integral )
|
||||
{
|
||||
WriteUBitLong( (unsigned int)intval, bits );
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteUBitLong( (unsigned int)intval, bits );
|
||||
WriteUBitLong( (unsigned int)fractval, coordType == kCW_LowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
}
|
||||
}
|
||||
|
||||
void bf_write::WriteBitCoord (const float f)
|
||||
{
|
||||
#if defined( BB_PROFILING )
|
||||
VPROF( "bf_write::WriteBitCoord" );
|
||||
#endif
|
||||
int signbit = (f <= -COORD_RESOLUTION);
|
||||
int intval = (int)fabs(f);
|
||||
@@ -527,7 +548,7 @@ void old_bf_write::WriteBitCoord (const float f)
|
||||
}
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitFloat(float val)
|
||||
void bf_write::WriteBitFloat(float val)
|
||||
{
|
||||
long intVal;
|
||||
|
||||
@@ -538,7 +559,7 @@ void old_bf_write::WriteBitFloat(float val)
|
||||
WriteUBitLong( intVal, 32 );
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitVec3Coord( const Vector& fa )
|
||||
void bf_write::WriteBitVec3Coord( const Vector& fa )
|
||||
{
|
||||
int xflag, yflag, zflag;
|
||||
|
||||
@@ -558,7 +579,7 @@ void old_bf_write::WriteBitVec3Coord( const Vector& fa )
|
||||
WriteBitCoord( fa[2] );
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitNormal( float f )
|
||||
void bf_write::WriteBitNormal( float f )
|
||||
{
|
||||
int signbit = (f <= -NORMAL_RESOLUTION);
|
||||
|
||||
@@ -576,7 +597,7 @@ void old_bf_write::WriteBitNormal( float f )
|
||||
WriteUBitLong( fractval, NORMAL_FRACTIONAL_BITS );
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitVec3Normal( const Vector& fa )
|
||||
void bf_write::WriteBitVec3Normal( const Vector& fa )
|
||||
{
|
||||
int xflag, yflag;
|
||||
|
||||
@@ -596,39 +617,39 @@ void old_bf_write::WriteBitVec3Normal( const Vector& fa )
|
||||
WriteOneBit( signbit );
|
||||
}
|
||||
|
||||
void old_bf_write::WriteBitAngles( const QAngle& fa )
|
||||
void bf_write::WriteBitAngles( const QAngle& fa )
|
||||
{
|
||||
// FIXME:
|
||||
Vector tmp( fa.x, fa.y, fa.z );
|
||||
WriteBitVec3Coord( tmp );
|
||||
}
|
||||
|
||||
void old_bf_write::WriteChar(int val)
|
||||
void bf_write::WriteChar(int val)
|
||||
{
|
||||
WriteSBitLong(val, sizeof(char) << 3);
|
||||
}
|
||||
|
||||
void old_bf_write::WriteByte(int val)
|
||||
void bf_write::WriteByte(unsigned int val)
|
||||
{
|
||||
WriteUBitLong(val, sizeof(unsigned char) << 3);
|
||||
}
|
||||
|
||||
void old_bf_write::WriteShort(int val)
|
||||
void bf_write::WriteShort(int val)
|
||||
{
|
||||
WriteSBitLong(val, sizeof(short) << 3);
|
||||
}
|
||||
|
||||
void old_bf_write::WriteWord(int val)
|
||||
void bf_write::WriteWord(unsigned int val)
|
||||
{
|
||||
WriteUBitLong(val, sizeof(unsigned short) << 3);
|
||||
}
|
||||
|
||||
void old_bf_write::WriteLong(long val)
|
||||
void bf_write::WriteLong(long val)
|
||||
{
|
||||
WriteSBitLong(val, sizeof(long) << 3);
|
||||
}
|
||||
|
||||
void old_bf_write::WriteLongLong(int64 val)
|
||||
void bf_write::WriteLongLong(int64 val)
|
||||
{
|
||||
uint *pLongs = (uint*)&val;
|
||||
|
||||
@@ -639,7 +660,7 @@ void old_bf_write::WriteLongLong(int64 val)
|
||||
WriteUBitLong(pLongs[*idx], sizeof(long) << 3);
|
||||
}
|
||||
|
||||
void old_bf_write::WriteFloat(float val)
|
||||
void bf_write::WriteFloat(float val)
|
||||
{
|
||||
// Pre-swap the float, since WriteBits writes raw data
|
||||
LittleFloat( &val, &val );
|
||||
@@ -647,12 +668,12 @@ void old_bf_write::WriteFloat(float val)
|
||||
WriteBits(&val, sizeof(val) << 3);
|
||||
}
|
||||
|
||||
bool old_bf_write::WriteBytes( const void *pBuf, int nBytes )
|
||||
bool bf_write::WriteBytes( const void *pBuf, int nBytes )
|
||||
{
|
||||
return WriteBits(pBuf, nBytes << 3);
|
||||
}
|
||||
|
||||
bool old_bf_write::WriteString(const char *pStr)
|
||||
bool bf_write::WriteString(const char *pStr)
|
||||
{
|
||||
if(pStr)
|
||||
{
|
||||
@@ -670,6 +691,25 @@ bool old_bf_write::WriteString(const char *pStr)
|
||||
return !IsOverflowed();
|
||||
}
|
||||
|
||||
bool bf_write::WriteString(const wchar_t *pStr)
|
||||
{
|
||||
if(pStr)
|
||||
{
|
||||
do
|
||||
{
|
||||
WriteSBitLong( *pStr, 16 );
|
||||
++pStr;
|
||||
} while ( (*pStr-1) != 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteUBitLong( 0, 15 );
|
||||
WriteOneBit( 0 );
|
||||
}
|
||||
|
||||
return !IsOverflowed();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------- //
|
||||
// old_bf_read
|
||||
// ---------------------------------------------------------------------------------------- //
|
||||
@@ -995,18 +1035,18 @@ float old_bf_read::ReadBitCoord (void)
|
||||
return value;
|
||||
}
|
||||
|
||||
float old_bf_read::ReadBitCoordMP( bool bIntegral, bool bLowPrecision )
|
||||
float old_bf_read::ReadBitCoordMP( EBitCoordType coordType )
|
||||
{
|
||||
#if defined( BB_PROFILING )
|
||||
VPROF( "old_bf_write::ReadBitCoordMP" );
|
||||
#endif
|
||||
int intval=0,fractval=0,signbit=0;
|
||||
float value = 0.0;
|
||||
|
||||
|
||||
|
||||
bool bInBounds = ReadOneBit() ? true : false;
|
||||
|
||||
if ( bIntegral )
|
||||
if ( coordType == kCW_Integral )
|
||||
{
|
||||
// Read the required integer and fraction flags
|
||||
intval = ReadOneBit();
|
||||
@@ -1050,10 +1090,10 @@ float old_bf_read::ReadBitCoordMP( bool bIntegral, bool bLowPrecision )
|
||||
}
|
||||
|
||||
// If there's a fraction, read it in
|
||||
fractval = ReadUBitLong( bLowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
fractval = ReadUBitLong( coordType == kCW_LowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
|
||||
// Calculate the correct floating point value
|
||||
value = intval + ((float)fractval * ( bLowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ) );
|
||||
value = intval + ((float)fractval * ( coordType == kCW_LowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ) );
|
||||
}
|
||||
|
||||
// Fixup the sign if negative.
|
||||
@@ -1250,7 +1290,7 @@ void old_bf_read::ExciseBits( int startbit, int bitstoremove )
|
||||
int endbit = startbit + bitstoremove;
|
||||
int remaining_to_end = m_nDataBits - endbit;
|
||||
|
||||
old_bf_write temp;
|
||||
bf_write temp;
|
||||
temp.StartWriting( (void *)m_pData, m_nDataBits << 3, startbit );
|
||||
|
||||
Seek( endbit );
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ void CByteswap::SwapFieldToTargetEndian( void* pOutputBuffer, void *pData, typed
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(0);
|
||||
Assert(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+56
-47
@@ -683,10 +683,10 @@ ConVar::ConVar( const char *pName, const char *pDefaultValue, int flags, const c
|
||||
//-----------------------------------------------------------------------------
|
||||
ConVar::~ConVar( void )
|
||||
{
|
||||
if ( m_pszString )
|
||||
if ( m_Value.m_pszString )
|
||||
{
|
||||
delete[] m_pszString;
|
||||
m_pszString = NULL;
|
||||
delete[] m_Value.m_pszString;
|
||||
m_Value.m_pszString = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -694,15 +694,24 @@ ConVar::~ConVar( void )
|
||||
//-----------------------------------------------------------------------------
|
||||
// Install a change callback (there shouldn't already be one....)
|
||||
//-----------------------------------------------------------------------------
|
||||
void ConVar::InstallChangeCallback( FnChangeCallback_t callback )
|
||||
void ConVar::InstallChangeCallback( FnChangeCallback_t callback, bool bInvoke )
|
||||
{
|
||||
Assert( !m_pParent->m_fnChangeCallback || !callback );
|
||||
m_pParent->m_fnChangeCallback = callback;
|
||||
|
||||
if ( m_pParent->m_fnChangeCallback )
|
||||
if (callback)
|
||||
{
|
||||
// Call it immediately to set the initial value...
|
||||
m_pParent->m_fnChangeCallback( this, m_pszString, m_fValue );
|
||||
if (m_fnChangeCallbacks.Find(callback) != -1)
|
||||
{
|
||||
m_fnChangeCallbacks.AddToTail(callback);
|
||||
if (bInvoke)
|
||||
callback(this, m_Value.m_pszString, m_Value.m_fValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
Warning("InstallChangeCallback ignoring duplicate change callback!!!\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Warning("InstallChangeCallback called with NULL callback, ignoring!!!\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -780,7 +789,7 @@ void ConVar::InternalSetValue( const char *value )
|
||||
|
||||
Assert(m_pParent == this); // Only valid for root convars.
|
||||
|
||||
float flOldValue = m_fValue;
|
||||
float flOldValue = m_Value.m_fValue;
|
||||
|
||||
val = (char *)value;
|
||||
fNewValue = ( float )atof( value );
|
||||
@@ -792,8 +801,8 @@ void ConVar::InternalSetValue( const char *value )
|
||||
}
|
||||
|
||||
// Redetermine value
|
||||
m_fValue = fNewValue;
|
||||
m_nValue = ( int )( m_fValue );
|
||||
m_Value.m_fValue = fNewValue;
|
||||
m_Value.m_nValue = ( int )( fNewValue );
|
||||
|
||||
if ( !( m_nFlags & FCVAR_NEVER_AS_STRING ) )
|
||||
{
|
||||
@@ -809,33 +818,32 @@ void ConVar::ChangeStringValue( const char *tempVal, float flOldValue )
|
||||
{
|
||||
Assert( !( m_nFlags & FCVAR_NEVER_AS_STRING ) );
|
||||
|
||||
char* pszOldValue = (char*)stackalloc( m_StringLength );
|
||||
memcpy( pszOldValue, m_pszString, m_StringLength );
|
||||
char* pszOldValue = (char*)stackalloc( m_Value.m_StringLength );
|
||||
memcpy( pszOldValue, m_Value.m_pszString, m_Value.m_StringLength );
|
||||
|
||||
int len = Q_strlen(tempVal) + 1;
|
||||
|
||||
if ( len > m_StringLength)
|
||||
if ( len > m_Value.m_StringLength)
|
||||
{
|
||||
if (m_pszString)
|
||||
if (m_Value.m_pszString)
|
||||
{
|
||||
delete[] m_pszString;
|
||||
delete[] m_Value.m_pszString;
|
||||
}
|
||||
|
||||
m_pszString = new char[len];
|
||||
m_StringLength = len;
|
||||
m_Value.m_pszString = new char[len];
|
||||
m_Value.m_StringLength = len;
|
||||
}
|
||||
|
||||
memcpy( m_pszString, tempVal, len );
|
||||
memcpy( m_Value.m_pszString, tempVal, len );
|
||||
|
||||
// Invoke any necessary callback function
|
||||
if ( m_fnChangeCallback )
|
||||
for (int i = 0; i < m_fnChangeCallbacks.Count(); i++)
|
||||
{
|
||||
m_fnChangeCallback( this, pszOldValue, flOldValue );
|
||||
m_fnChangeCallbacks[i]( this, pszOldValue, flOldValue );
|
||||
}
|
||||
|
||||
g_pCVar->CallGlobalChangeCallbacks( this, pszOldValue, flOldValue );
|
||||
|
||||
stackfree( pszOldValue );
|
||||
if (g_pCVar)
|
||||
g_pCVar->CallGlobalChangeCallbacks( this, pszOldValue, flOldValue );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -866,7 +874,7 @@ bool ConVar::ClampValue( float& value )
|
||||
//-----------------------------------------------------------------------------
|
||||
void ConVar::InternalSetFloatValue( float fNewValue )
|
||||
{
|
||||
if ( fNewValue == m_fValue )
|
||||
if ( fNewValue == m_Value.m_fValue )
|
||||
return;
|
||||
|
||||
Assert( m_pParent == this ); // Only valid for root convars.
|
||||
@@ -875,19 +883,19 @@ void ConVar::InternalSetFloatValue( float fNewValue )
|
||||
ClampValue( fNewValue );
|
||||
|
||||
// Redetermine value
|
||||
float flOldValue = m_fValue;
|
||||
m_fValue = fNewValue;
|
||||
m_nValue = ( int )m_fValue;
|
||||
float flOldValue = m_Value.m_fValue;
|
||||
m_Value.m_fValue = fNewValue;
|
||||
m_Value.m_nValue = ( int )fNewValue;
|
||||
|
||||
if ( !( m_nFlags & FCVAR_NEVER_AS_STRING ) )
|
||||
{
|
||||
char tempVal[ 32 ];
|
||||
Q_snprintf( tempVal, sizeof( tempVal), "%f", m_fValue );
|
||||
Q_snprintf( tempVal, sizeof( tempVal), "%f", m_Value.m_fValue );
|
||||
ChangeStringValue( tempVal, flOldValue );
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert( !m_fnChangeCallback );
|
||||
Assert( m_fnChangeCallbacks.Count() == 0 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -897,7 +905,7 @@ void ConVar::InternalSetFloatValue( float fNewValue )
|
||||
//-----------------------------------------------------------------------------
|
||||
void ConVar::InternalSetIntValue( int nValue )
|
||||
{
|
||||
if ( nValue == m_nValue )
|
||||
if ( nValue == m_Value.m_nValue )
|
||||
return;
|
||||
|
||||
Assert( m_pParent == this ); // Only valid for root convars.
|
||||
@@ -909,19 +917,19 @@ void ConVar::InternalSetIntValue( int nValue )
|
||||
}
|
||||
|
||||
// Redetermine value
|
||||
float flOldValue = m_fValue;
|
||||
m_fValue = fValue;
|
||||
m_nValue = nValue;
|
||||
float flOldValue = m_Value.m_fValue;
|
||||
m_Value.m_fValue = fValue;
|
||||
m_Value.m_nValue = nValue;
|
||||
|
||||
if ( !( m_nFlags & FCVAR_NEVER_AS_STRING ) )
|
||||
{
|
||||
char tempVal[ 32 ];
|
||||
Q_snprintf( tempVal, sizeof( tempVal ), "%d", m_nValue );
|
||||
Q_snprintf( tempVal, sizeof( tempVal ), "%d", m_Value.m_nValue );
|
||||
ChangeStringValue( tempVal, flOldValue );
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert( !m_fnChangeCallback );
|
||||
Assert( m_fnChangeCallbacks.Count() == 0 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -950,31 +958,32 @@ void ConVar::Create( const char *pName, const char *pDefaultValue, int flags /*=
|
||||
m_pszDefaultValue = pDefaultValue ? pDefaultValue : empty_string;
|
||||
Assert( m_pszDefaultValue );
|
||||
|
||||
m_StringLength = strlen( m_pszDefaultValue ) + 1;
|
||||
m_pszString = new char[m_StringLength];
|
||||
memcpy( m_pszString, m_pszDefaultValue, m_StringLength );
|
||||
m_Value.m_StringLength = strlen( m_pszDefaultValue ) + 1;
|
||||
m_Value.m_pszString = new char[m_Value.m_StringLength];
|
||||
memcpy( m_Value.m_pszString, m_pszDefaultValue, m_Value.m_StringLength );
|
||||
|
||||
m_bHasMin = bMin;
|
||||
m_fMinVal = fMin;
|
||||
m_bHasMax = bMax;
|
||||
m_fMaxVal = fMax;
|
||||
|
||||
m_fnChangeCallback = callback;
|
||||
if (callback)
|
||||
m_fnChangeCallbacks.AddToTail(callback);
|
||||
|
||||
m_fValue = ( float )atof( m_pszString );
|
||||
m_Value.m_fValue = ( float )atof( m_Value.m_pszString );
|
||||
|
||||
// Bounds Check, should never happen, if it does, no big deal
|
||||
if ( m_bHasMin && ( m_fValue < m_fMinVal ) )
|
||||
if ( m_bHasMin && ( m_Value.m_fValue < m_fMinVal ) )
|
||||
{
|
||||
Assert( 0 );
|
||||
}
|
||||
|
||||
if ( m_bHasMax && ( m_fValue > m_fMaxVal ) )
|
||||
if ( m_bHasMax && ( m_Value.m_fValue > m_fMaxVal ) )
|
||||
{
|
||||
Assert( 0 );
|
||||
}
|
||||
|
||||
m_nValue = ( int )m_fValue;
|
||||
m_Value.m_nValue = ( int )m_Value.m_fValue;
|
||||
|
||||
BaseClass::Create( pName, pHelpString, flags );
|
||||
}
|
||||
@@ -1205,7 +1214,7 @@ void ConVar_PrintDescription( const ConCommandBase *pVar )
|
||||
float fMin, fMax;
|
||||
const char *pStr;
|
||||
|
||||
assert( pVar );
|
||||
Assert( pVar );
|
||||
|
||||
Color clr;
|
||||
clr.SetColor( 255, 100, 100, 255 );
|
||||
|
||||
@@ -142,7 +142,7 @@ unsigned FASTCALL HashInt( const int n )
|
||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||
|
||||
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)];
|
||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||
|
||||
@@ -163,7 +163,7 @@ unsigned FASTCALL Hash4( const void *pKey )
|
||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||
|
||||
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)];
|
||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||
|
||||
@@ -185,7 +185,7 @@ unsigned FASTCALL Hash8( const void *pKey )
|
||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||
|
||||
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)];
|
||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||
|
||||
@@ -213,7 +213,7 @@ unsigned FASTCALL Hash12( const void *pKey )
|
||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||
|
||||
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)];
|
||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||
|
||||
@@ -247,7 +247,7 @@ unsigned FASTCALL Hash16( const void *pKey )
|
||||
odd = g_nRandomValues[((n >> 8) & 0xff)];
|
||||
|
||||
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)];
|
||||
odd = g_nRandomValues[even ^ (n & 0xff)];
|
||||
|
||||
|
||||
+7
-3
@@ -37,10 +37,14 @@
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
#if !defined COMPILER_MSVC && !defined HMODULE
|
||||
#define HMODULE void *
|
||||
#endif
|
||||
|
||||
// ------------------------------------------------------------------------------------ //
|
||||
// InterfaceReg.
|
||||
// ------------------------------------------------------------------------------------ //
|
||||
InterfaceReg *InterfaceReg::s_pInterfaceRegs = NULL;
|
||||
InterfaceReg *s_pInterfaceRegs = NULL;
|
||||
|
||||
InterfaceReg::InterfaceReg( InstantiateInterfaceFn fn, const char *pName ) :
|
||||
m_pName(pName)
|
||||
@@ -59,7 +63,7 @@ void* CreateInterface( const char *pName, int *pReturnCode )
|
||||
{
|
||||
InterfaceReg *pCur;
|
||||
|
||||
for (pCur=InterfaceReg::s_pInterfaceRegs; pCur; pCur=pCur->m_pNext)
|
||||
for (pCur=s_pInterfaceRegs; pCur; pCur=pCur->m_pNext)
|
||||
{
|
||||
if (strcmp(pCur->m_pName, pName) == 0)
|
||||
{
|
||||
@@ -201,7 +205,7 @@ HMODULE Sys_LoadLibrary( const char *pLibraryName )
|
||||
#endif
|
||||
|
||||
unsigned int nTimeout = 0;
|
||||
while( ThreadWaitForObject( h, true, nTimeout ) == TW_TIMEOUT )
|
||||
while( WaitForSingleObject(h, nTimeout) == WAIT_TIMEOUT )
|
||||
{
|
||||
nTimeout = threadFunc();
|
||||
}
|
||||
|
||||
+16
-16
@@ -19,13 +19,13 @@
|
||||
// Should be last include
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
MemoryPoolReportFunc_t CMemoryPool::g_ReportFunc = 0;
|
||||
MemoryPoolReportFunc_t CUtlMemoryPool::g_ReportFunc = 0;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Error reporting... (debug only)
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void CMemoryPool::SetErrorReportFunc( MemoryPoolReportFunc_t func )
|
||||
void CUtlMemoryPool::SetErrorReportFunc( MemoryPoolReportFunc_t func )
|
||||
{
|
||||
g_ReportFunc = func;
|
||||
}
|
||||
@@ -33,7 +33,7 @@ void CMemoryPool::SetErrorReportFunc( MemoryPoolReportFunc_t func )
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Constructor
|
||||
//-----------------------------------------------------------------------------
|
||||
CMemoryPool::CMemoryPool( int blockSize, int numElements, int growMode, const char *pszAllocOwner, int nAlignment )
|
||||
CUtlMemoryPool::CUtlMemoryPool( int blockSize, int numElements, int growMode, const char *pszAllocOwner, int nAlignment )
|
||||
{
|
||||
#ifdef _X360
|
||||
if( numElements > 0 && growMode != GROW_NONE )
|
||||
@@ -63,7 +63,7 @@ CMemoryPool::CMemoryPool( int blockSize, int numElements, int growMode, const ch
|
||||
// any further use.
|
||||
// Input : *memPool - the mempool to shutdown
|
||||
//-----------------------------------------------------------------------------
|
||||
CMemoryPool::~CMemoryPool()
|
||||
CUtlMemoryPool::~CUtlMemoryPool()
|
||||
{
|
||||
if (m_BlocksAllocated > 0)
|
||||
{
|
||||
@@ -76,7 +76,7 @@ CMemoryPool::~CMemoryPool()
|
||||
//-----------------------------------------------------------------------------
|
||||
// Resets the pool
|
||||
//-----------------------------------------------------------------------------
|
||||
void CMemoryPool::Init()
|
||||
void CUtlMemoryPool::Init()
|
||||
{
|
||||
m_NumBlobs = 0;
|
||||
m_BlocksAllocated = 0;
|
||||
@@ -88,7 +88,7 @@ void CMemoryPool::Init()
|
||||
//-----------------------------------------------------------------------------
|
||||
// Frees everything
|
||||
//-----------------------------------------------------------------------------
|
||||
void CMemoryPool::Clear()
|
||||
void CUtlMemoryPool::Clear()
|
||||
{
|
||||
// Free everything..
|
||||
CBlob *pNext;
|
||||
@@ -104,7 +104,7 @@ void CMemoryPool::Clear()
|
||||
// Purpose: Reports memory leaks
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void CMemoryPool::ReportLeaks()
|
||||
void CUtlMemoryPool::ReportLeaks()
|
||||
{
|
||||
if (!g_ReportFunc)
|
||||
return;
|
||||
@@ -155,7 +155,7 @@ void CMemoryPool::ReportLeaks()
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
void CMemoryPool::AddNewBlob()
|
||||
void CUtlMemoryPool::AddNewBlob()
|
||||
{
|
||||
MEM_ALLOC_CREDIT_(m_pszAllocOwner);
|
||||
|
||||
@@ -172,7 +172,7 @@ void CMemoryPool::AddNewBlob()
|
||||
// Can only have one allocation when we're in this mode
|
||||
if( m_NumBlobs != 0 )
|
||||
{
|
||||
Assert( !"CMemoryPool::AddNewBlob: mode == GROW_NONE" );
|
||||
Assert( !"CUtlMemoryPool::AddNewBlob: mode == GROW_NONE" );
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -210,13 +210,13 @@ void CMemoryPool::AddNewBlob()
|
||||
}
|
||||
|
||||
|
||||
void* CMemoryPool::Alloc()
|
||||
void* CUtlMemoryPool::Alloc()
|
||||
{
|
||||
return Alloc( m_BlockSize );
|
||||
}
|
||||
|
||||
|
||||
void* CMemoryPool::AllocZero()
|
||||
void* CUtlMemoryPool::AllocZero()
|
||||
{
|
||||
return AllocZero( m_BlockSize );
|
||||
}
|
||||
@@ -226,7 +226,7 @@ void* CMemoryPool::AllocZero()
|
||||
// Purpose: Allocs a single block of memory from the pool.
|
||||
// Input : amount -
|
||||
//-----------------------------------------------------------------------------
|
||||
void *CMemoryPool::Alloc( size_t amount )
|
||||
void *CUtlMemoryPool::Alloc( size_t amount )
|
||||
{
|
||||
void *returnBlock;
|
||||
|
||||
@@ -238,7 +238,7 @@ void *CMemoryPool::Alloc( size_t amount )
|
||||
// returning NULL is fine in GROW_NONE
|
||||
if( m_GrowMode == GROW_NONE )
|
||||
{
|
||||
//Assert( !"CMemoryPool::Alloc: tried to make new blob with GROW_NONE" );
|
||||
//Assert( !"CUtlMemoryPool::Alloc: tried to make new blob with GROW_NONE" );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ void *CMemoryPool::Alloc( size_t amount )
|
||||
// still failure, error out
|
||||
if( !m_pHeadOfFreeList )
|
||||
{
|
||||
Assert( !"CMemoryPool::Alloc: ran out of memory" );
|
||||
Assert( !"CUtlMemoryPool::Alloc: ran out of memory" );
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -267,7 +267,7 @@ void *CMemoryPool::Alloc( size_t amount )
|
||||
// Purpose: Allocs a single block of memory from the pool, zeroes the memory before returning
|
||||
// Input : amount -
|
||||
//-----------------------------------------------------------------------------
|
||||
void *CMemoryPool::AllocZero( size_t amount )
|
||||
void *CUtlMemoryPool::AllocZero( size_t amount )
|
||||
{
|
||||
void *mem = Alloc( amount );
|
||||
if ( mem )
|
||||
@@ -281,7 +281,7 @@ void *CMemoryPool::AllocZero( size_t amount )
|
||||
// Purpose: Frees a block of memory
|
||||
// Input : *memBlock - the memory to free
|
||||
//-----------------------------------------------------------------------------
|
||||
void CMemoryPool::Free( void *memBlock )
|
||||
void CUtlMemoryPool::Free( void *memBlock )
|
||||
{
|
||||
if ( !memBlock )
|
||||
return; // trying to delete NULL pointer, ignore
|
||||
|
||||
+9
-9
@@ -179,11 +179,11 @@ void CBitWrite::WriteBitCoord (const float f)
|
||||
}
|
||||
}
|
||||
|
||||
void CBitWrite::WriteBitCoordMP (const float f, bool bIntegral, bool bLowPrecision )
|
||||
void CBitWrite::WriteBitCoordMP (const float f, EBitCoordType coordType )
|
||||
{
|
||||
int signbit = (f <= -( bLowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ));
|
||||
int signbit = (f <= -( coordType == kCW_LowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ));
|
||||
int intval = (int)fabs(f);
|
||||
int fractval = bLowPrecision ?
|
||||
int fractval = coordType == kCW_LowPrecision ?
|
||||
( abs((int)(f*COORD_DENOMINATOR_LOWPRECISION)) & (COORD_DENOMINATOR_LOWPRECISION-1) ) :
|
||||
( abs((int)(f*COORD_DENOMINATOR)) & (COORD_DENOMINATOR-1) );
|
||||
|
||||
@@ -191,7 +191,7 @@ void CBitWrite::WriteBitCoordMP (const float f, bool bIntegral, bool bLowPrecisi
|
||||
|
||||
WriteOneBit( bInBounds );
|
||||
|
||||
if ( bIntegral )
|
||||
if ( coordType == kCW_Integral )
|
||||
{
|
||||
// Send the sign bit
|
||||
WriteOneBit( intval );
|
||||
@@ -232,7 +232,7 @@ void CBitWrite::WriteBitCoordMP (const float f, bool bIntegral, bool bLowPrecisi
|
||||
WriteUBitLong( (unsigned int)intval, COORD_INTEGER_BITS );
|
||||
}
|
||||
}
|
||||
WriteUBitLong( (unsigned int)fractval, bLowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
WriteUBitLong( (unsigned int)fractval, coordType == kCW_LowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -575,14 +575,14 @@ float CBitRead::ReadBitCoord (void)
|
||||
return value;
|
||||
}
|
||||
|
||||
float CBitRead::ReadBitCoordMP( bool bIntegral, bool bLowPrecision )
|
||||
float CBitRead::ReadBitCoordMP( EBitCoordType coordType )
|
||||
{
|
||||
int intval=0,fractval=0,signbit=0;
|
||||
float value = 0.0;
|
||||
|
||||
bool bInBounds = ReadOneBit() ? true : false;
|
||||
|
||||
if ( bIntegral )
|
||||
if ( coordType == kCW_Integral )
|
||||
{
|
||||
// Read the required integer and fraction flags
|
||||
intval = ReadOneBit();
|
||||
@@ -626,10 +626,10 @@ float CBitRead::ReadBitCoordMP( bool bIntegral, bool bLowPrecision )
|
||||
}
|
||||
|
||||
// If there's a fraction, read it in
|
||||
fractval = ReadUBitLong( bLowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
fractval = ReadUBitLong( coordType == kCW_LowPrecision ? COORD_FRACTIONAL_BITS_MP_LOWPRECISION : COORD_FRACTIONAL_BITS );
|
||||
|
||||
// Calculate the correct floating point value
|
||||
value = intval + ((float)fractval * ( bLowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ) );
|
||||
value = intval + ((float)fractval * ( coordType == kCW_LowPrecision ? COORD_RESOLUTION_LOWPRECISION : COORD_RESOLUTION ) );
|
||||
}
|
||||
|
||||
// Fixup the sign if negative.
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#include "mathlib/mathlib.h"
|
||||
#include "rangecheckedvar.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
|
||||
+24
-8
@@ -18,16 +18,22 @@
|
||||
// Purpose: Comparison function for string sorted associative data structures
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
bool StrLess( const char * const &pszLeft, const char * const &pszRight )
|
||||
bool StrLessSensitive( const char * const &pszLeft, const char * const &pszRight )
|
||||
{
|
||||
return ( Q_stricmp( pszLeft, pszRight) < 0 );
|
||||
return ( Q_strcmp( pszLeft, pszRight) < 0 );
|
||||
}
|
||||
|
||||
bool StrLessInsensitive( const char * const &pszLeft, const char * const &pszRight )
|
||||
{
|
||||
return ( Q_stricmp( pszLeft, pszRight) < 0 );
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
CStringPool::CStringPool()
|
||||
: m_Strings( 32, 256, StrLess )
|
||||
CStringPool::CStringPool( StringPoolCase_t caseSensitivity )
|
||||
: m_Strings( 32, 256, caseSensitivity == StringPoolCaseInsensitive ? StrLessInsensitive : StrLessSensitive )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -94,7 +100,7 @@ void CStringPool::FreeAll()
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
CCountedStringPool::CCountedStringPool()
|
||||
CCountedStringPool::CCountedStringPool( StringPoolCase_t caseSensitivity )
|
||||
{
|
||||
MEM_ALLOC_CREDIT();
|
||||
m_HashTable.EnsureCount(HASH_TABLE_SIZE);
|
||||
@@ -109,6 +115,8 @@ CCountedStringPool::CCountedStringPool()
|
||||
m_Elements[0].pString = NULL;
|
||||
m_Elements[0].nReferenceCount = 0;
|
||||
m_Elements[0].nNextElement = INVALID_ELEMENT;
|
||||
|
||||
m_caseSensitivity = caseSensitivity;
|
||||
}
|
||||
|
||||
CCountedStringPool::~CCountedStringPool()
|
||||
@@ -154,7 +162,7 @@ unsigned short CCountedStringPool::FindStringHandle( const char* pIntrinsic )
|
||||
if( pIntrinsic == NULL )
|
||||
return INVALID_ELEMENT;
|
||||
|
||||
unsigned short nHashBucketIndex = (HashStringCaseless(pIntrinsic ) %HASH_TABLE_SIZE);
|
||||
unsigned short nHashBucketIndex = (m_caseSensitivity ? HashString( pIntrinsic ) : HashStringCaseless( pIntrinsic ) %HASH_TABLE_SIZE);
|
||||
unsigned short nCurrentBucket = m_HashTable[ nHashBucketIndex ];
|
||||
|
||||
// Does the bucket already exist?
|
||||
@@ -187,7 +195,7 @@ unsigned short CCountedStringPool::ReferenceStringHandle( const char* pIntrinsic
|
||||
if( pIntrinsic == NULL )
|
||||
return INVALID_ELEMENT;
|
||||
|
||||
unsigned short nHashBucketIndex = (HashStringCaseless( pIntrinsic ) % HASH_TABLE_SIZE);
|
||||
unsigned short nHashBucketIndex = (m_caseSensitivity ? HashString( pIntrinsic ) : HashStringCaseless( pIntrinsic ) % HASH_TABLE_SIZE);
|
||||
unsigned short nCurrentBucket = m_HashTable[ nHashBucketIndex ];
|
||||
|
||||
// Does the bucket already exist?
|
||||
@@ -244,7 +252,7 @@ void CCountedStringPool::DereferenceString( const char* pIntrinsic )
|
||||
if (!pIntrinsic)
|
||||
return;
|
||||
|
||||
unsigned short nHashBucketIndex = (HashStringCaseless( pIntrinsic ) % m_HashTable.Count());
|
||||
unsigned short nHashBucketIndex = (m_caseSensitivity ? HashString( pIntrinsic ) : HashStringCaseless( pIntrinsic ) % m_HashTable.Count());
|
||||
unsigned short nCurrentBucket = m_HashTable[ nHashBucketIndex ];
|
||||
|
||||
// If there isn't anything in the bucket, just return.
|
||||
@@ -292,6 +300,14 @@ char* CCountedStringPool::HandleToString( unsigned short handle )
|
||||
return m_Elements[handle].pString;
|
||||
}
|
||||
|
||||
unsigned CCountedStringPool::Hash( const char *pszKey )
|
||||
{
|
||||
if (m_caseSensitivity == StringPoolCaseSensitive)
|
||||
return HashString( pszKey );
|
||||
|
||||
return HashStringCaseless( pszKey );
|
||||
}
|
||||
|
||||
void CCountedStringPool::SpewStrings()
|
||||
{
|
||||
int i;
|
||||
|
||||
+65
-63
@@ -75,7 +75,7 @@
|
||||
#endif
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
void _V_memset (const char* file, int line, void *dest, int fill, int count)
|
||||
void _V_memset (void *dest, int fill, int count)
|
||||
{
|
||||
Assert( count >= 0 );
|
||||
AssertValidWritePtr( dest, count );
|
||||
@@ -83,7 +83,7 @@ void _V_memset (const char* file, int line, void *dest, int fill, int count)
|
||||
memset(dest,fill,count);
|
||||
}
|
||||
|
||||
void _V_memcpy (const char* file, int line, void *dest, const void *src, int count)
|
||||
void _V_memcpy (void *dest, const void *src, int count)
|
||||
{
|
||||
Assert( count >= 0 );
|
||||
AssertValidReadPtr( src, count );
|
||||
@@ -92,7 +92,7 @@ void _V_memcpy (const char* file, int line, void *dest, const void *src, int cou
|
||||
memcpy( dest, src, count );
|
||||
}
|
||||
|
||||
void _V_memmove(const char* file, int line, void *dest, const void *src, int count)
|
||||
void _V_memmove(void *dest, const void *src, int count)
|
||||
{
|
||||
Assert( count >= 0 );
|
||||
AssertValidReadPtr( src, count );
|
||||
@@ -101,7 +101,7 @@ void _V_memmove(const char* file, int line, void *dest, const void *src, int cou
|
||||
memmove( dest, src, count );
|
||||
}
|
||||
|
||||
int _V_memcmp (const char* file, int line, const void *m1, const void *m2, int count)
|
||||
int _V_memcmp (const void *m1, const void *m2, int count)
|
||||
{
|
||||
Assert( count >= 0 );
|
||||
AssertValidReadPtr( m1, count );
|
||||
@@ -110,28 +110,28 @@ int _V_memcmp (const char* file, int line, const void *m1, const void *m2, int c
|
||||
return memcmp( m1, m2, count );
|
||||
}
|
||||
|
||||
int _V_strlen(const char* file, int line, const char *str)
|
||||
int _V_strlen(const char *str)
|
||||
{
|
||||
AssertValidStringPtr(str);
|
||||
_AssertValidStringPtr(str);
|
||||
return strlen( str );
|
||||
}
|
||||
|
||||
void _V_strcpy (const char* file, int line, char *dest, const char *src)
|
||||
void _V_strcpy (char *dest, const char *src)
|
||||
{
|
||||
AssertValidWritePtr(dest);
|
||||
AssertValidStringPtr(src);
|
||||
_AssertValidStringPtr(src);
|
||||
|
||||
strcpy( dest, src );
|
||||
}
|
||||
|
||||
int _V_wcslen(const char* file, int line, const wchar_t *pwch)
|
||||
int _V_wcslen(const wchar_t *pwch)
|
||||
{
|
||||
return wcslen( pwch );
|
||||
}
|
||||
|
||||
char *_V_strrchr(const char* file, int line, const char *s, char c)
|
||||
char *_V_strrchr(const char *s, char c)
|
||||
{
|
||||
AssertValidStringPtr( s );
|
||||
_AssertValidStringPtr( s );
|
||||
int len = V_strlen(s);
|
||||
s += len;
|
||||
while (len--)
|
||||
@@ -139,15 +139,15 @@ char *_V_strrchr(const char* file, int line, const char *s, char c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _V_strcmp (const char* file, int line, const char *s1, const char *s2)
|
||||
int _V_strcmp (const char *s1, const char *s2)
|
||||
{
|
||||
AssertValidStringPtr( s1 );
|
||||
AssertValidStringPtr( s2 );
|
||||
_AssertValidStringPtr( s1 );
|
||||
_AssertValidStringPtr( s2 );
|
||||
|
||||
return strcmp( s1, s2 );
|
||||
}
|
||||
|
||||
int _V_wcscmp (const char* file, int line, const wchar_t *s1, const wchar_t *s2)
|
||||
int _V_wcscmp (const wchar_t *s1, const wchar_t *s2)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
@@ -162,21 +162,23 @@ int _V_wcscmp (const char* file, int line, const wchar_t *s1, const wchar_t *s2)
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
#undef stricmp
|
||||
#endif
|
||||
|
||||
|
||||
int _V_stricmp(const char* file, int line, const char *s1, const char *s2 )
|
||||
int _V_stricmp( const char *s1, const char *s2 )
|
||||
{
|
||||
AssertValidStringPtr( s1 );
|
||||
AssertValidStringPtr( s2 );
|
||||
_AssertValidStringPtr( s1 );
|
||||
_AssertValidStringPtr( s2 );
|
||||
|
||||
return stricmp( s1, s2 );
|
||||
}
|
||||
|
||||
|
||||
char *_V_strstr(const char* file, int line, const char *s1, const char *search )
|
||||
char *_V_strstr( const char *s1, const char *search )
|
||||
{
|
||||
AssertValidStringPtr( s1 );
|
||||
AssertValidStringPtr( search );
|
||||
_AssertValidStringPtr( s1 );
|
||||
_AssertValidStringPtr( search );
|
||||
|
||||
#if defined( _X360 )
|
||||
return (char *)strstr( (char *)s1, search );
|
||||
@@ -185,24 +187,24 @@ char *_V_strstr(const char* file, int line, const char *s1, const char *search
|
||||
#endif
|
||||
}
|
||||
|
||||
char *_V_strupr (const char* file, int line, char *start)
|
||||
char *_V_strupr (char *start)
|
||||
{
|
||||
AssertValidStringPtr( start );
|
||||
_AssertValidStringPtr( start );
|
||||
return strupr( start );
|
||||
}
|
||||
|
||||
|
||||
char *_V_strlower (const char* file, int line, char *start)
|
||||
char *_V_strlower (char *start)
|
||||
{
|
||||
AssertValidStringPtr( start );
|
||||
_AssertValidStringPtr( start );
|
||||
return strlwr(start);
|
||||
}
|
||||
|
||||
int V_strncmp (const char *s1, const char *s2, int count)
|
||||
{
|
||||
Assert( count >= 0 );
|
||||
AssertValidStringPtr( s1, count );
|
||||
AssertValidStringPtr( s2, count );
|
||||
_AssertValidStringPtr( s1, count );
|
||||
_AssertValidStringPtr( s2, count );
|
||||
|
||||
while ( count-- > 0 )
|
||||
{
|
||||
@@ -220,7 +222,7 @@ int V_strncmp (const char *s1, const char *s2, int count)
|
||||
char *V_strnlwr(char *s, size_t count)
|
||||
{
|
||||
Assert( count >= 0 );
|
||||
AssertValidStringPtr( s, count );
|
||||
_AssertValidStringPtr( s, count );
|
||||
|
||||
char* pRet = s;
|
||||
if ( !s )
|
||||
@@ -247,8 +249,8 @@ char *V_strnlwr(char *s, size_t count)
|
||||
int V_strncasecmp (const char *s1, const char *s2, int n)
|
||||
{
|
||||
Assert( n >= 0 );
|
||||
AssertValidStringPtr( s1 );
|
||||
AssertValidStringPtr( s2 );
|
||||
_AssertValidStringPtr( s1 );
|
||||
_AssertValidStringPtr( s2 );
|
||||
|
||||
while ( n-- > 0 )
|
||||
{
|
||||
@@ -273,8 +275,8 @@ int V_strncasecmp (const char *s1, const char *s2, int n)
|
||||
|
||||
int V_strcasecmp( const char *s1, const char *s2 )
|
||||
{
|
||||
AssertValidStringPtr( s1 );
|
||||
AssertValidStringPtr( s2 );
|
||||
_AssertValidStringPtr( s1 );
|
||||
_AssertValidStringPtr( s2 );
|
||||
|
||||
return stricmp( s1, s2 );
|
||||
}
|
||||
@@ -282,8 +284,8 @@ int V_strcasecmp( const char *s1, const char *s2 )
|
||||
int V_strnicmp (const char *s1, const char *s2, int n)
|
||||
{
|
||||
Assert( n >= 0 );
|
||||
AssertValidStringPtr(s1);
|
||||
AssertValidStringPtr(s2);
|
||||
_AssertValidStringPtr(s1);
|
||||
_AssertValidStringPtr(s2);
|
||||
|
||||
return V_strncasecmp( s1, s2, n );
|
||||
}
|
||||
@@ -291,8 +293,8 @@ int V_strnicmp (const char *s1, const char *s2, int n)
|
||||
|
||||
const char *StringAfterPrefix( const char *str, const char *prefix )
|
||||
{
|
||||
AssertValidStringPtr( str );
|
||||
AssertValidStringPtr( prefix );
|
||||
_AssertValidStringPtr( str );
|
||||
_AssertValidStringPtr( prefix );
|
||||
do
|
||||
{
|
||||
if ( !*prefix )
|
||||
@@ -304,8 +306,8 @@ const char *StringAfterPrefix( const char *str, const char *prefix )
|
||||
|
||||
const char *StringAfterPrefixCaseSensitive( const char *str, const char *prefix )
|
||||
{
|
||||
AssertValidStringPtr( str );
|
||||
AssertValidStringPtr( prefix );
|
||||
_AssertValidStringPtr( str );
|
||||
_AssertValidStringPtr( prefix );
|
||||
do
|
||||
{
|
||||
if ( !*prefix )
|
||||
@@ -318,7 +320,7 @@ const char *StringAfterPrefixCaseSensitive( const char *str, const char *prefix
|
||||
|
||||
int V_atoi (const char *str)
|
||||
{
|
||||
AssertValidStringPtr( str );
|
||||
_AssertValidStringPtr( str );
|
||||
|
||||
int val;
|
||||
int sign;
|
||||
@@ -380,7 +382,7 @@ int V_atoi (const char *str)
|
||||
|
||||
float V_atof (const char *str)
|
||||
{
|
||||
AssertValidStringPtr( str );
|
||||
_AssertValidStringPtr( str );
|
||||
double val;
|
||||
int sign;
|
||||
int c;
|
||||
@@ -489,8 +491,8 @@ void V_normalizeFloatString( char* pFloat )
|
||||
//-----------------------------------------------------------------------------
|
||||
char const* V_stristr( char const* pStr, char const* pSearch )
|
||||
{
|
||||
AssertValidStringPtr(pStr);
|
||||
AssertValidStringPtr(pSearch);
|
||||
_AssertValidStringPtr(pStr);
|
||||
_AssertValidStringPtr(pSearch);
|
||||
|
||||
if (!pStr || !pSearch)
|
||||
return 0;
|
||||
@@ -532,8 +534,8 @@ char const* V_stristr( char const* pStr, char const* pSearch )
|
||||
|
||||
char* V_stristr( char* pStr, char const* pSearch )
|
||||
{
|
||||
AssertValidStringPtr( pStr );
|
||||
AssertValidStringPtr( pSearch );
|
||||
_AssertValidStringPtr( pStr );
|
||||
_AssertValidStringPtr( pSearch );
|
||||
|
||||
return (char*)V_stristr( (char const*)pStr, pSearch );
|
||||
}
|
||||
@@ -543,8 +545,8 @@ char* V_stristr( char* pStr, char const* pSearch )
|
||||
//-----------------------------------------------------------------------------
|
||||
char const* V_strnistr( char const* pStr, char const* pSearch, int n )
|
||||
{
|
||||
AssertValidStringPtr(pStr);
|
||||
AssertValidStringPtr(pSearch);
|
||||
_AssertValidStringPtr(pStr);
|
||||
_AssertValidStringPtr(pSearch);
|
||||
|
||||
if (!pStr || !pSearch)
|
||||
return 0;
|
||||
@@ -613,7 +615,7 @@ void V_strncpy( char *pDest, char const *pSrc, int maxLen )
|
||||
{
|
||||
Assert( maxLen >= 0 );
|
||||
AssertValidWritePtr( pDest, maxLen );
|
||||
AssertValidStringPtr( pSrc );
|
||||
_AssertValidStringPtr( pSrc );
|
||||
|
||||
strncpy( pDest, pSrc, maxLen );
|
||||
if ( maxLen > 0 )
|
||||
@@ -672,7 +674,7 @@ int V_snprintf( char *pDest, int maxLen, char const *pFormat, ... )
|
||||
{
|
||||
Assert( maxLen >= 0 );
|
||||
AssertValidWritePtr( pDest, maxLen );
|
||||
AssertValidStringPtr( pFormat );
|
||||
_AssertValidStringPtr( pFormat );
|
||||
|
||||
va_list marker;
|
||||
|
||||
@@ -701,7 +703,7 @@ int V_vsnprintf( char *pDest, int maxLen, char const *pFormat, va_list params )
|
||||
{
|
||||
Assert( maxLen > 0 );
|
||||
AssertValidWritePtr( pDest, maxLen );
|
||||
AssertValidStringPtr( pFormat );
|
||||
_AssertValidStringPtr( pFormat );
|
||||
|
||||
int len = _vsnprintf( pDest, maxLen, pFormat, params );
|
||||
|
||||
@@ -730,8 +732,8 @@ char *V_strncat(char *pDest, const char *pSrc, size_t destBufferSize, int max_ch
|
||||
size_t charstocopy = (size_t)0;
|
||||
|
||||
Assert( destBufferSize >= 0 );
|
||||
AssertValidStringPtr( pDest);
|
||||
AssertValidStringPtr( pSrc );
|
||||
_AssertValidStringPtr( pDest);
|
||||
_AssertValidStringPtr( pSrc );
|
||||
|
||||
size_t len = strlen(pDest);
|
||||
size_t srclen = strlen( pSrc );
|
||||
@@ -888,21 +890,21 @@ char *V_pretifynum( int64 value )
|
||||
if ( value >= 1000000000000LL )
|
||||
{
|
||||
char *pchRender = out + V_strlen( out );
|
||||
V_snprintf( pchRender, 32, "%d,", value / 1000000000000LL );
|
||||
V_snprintf( pchRender, 32, "%lld,", value / 1000000000000LL );
|
||||
}
|
||||
|
||||
// Render trillions
|
||||
if ( value >= 1000000000000LL )
|
||||
{
|
||||
char *pchRender = out + V_strlen( out );
|
||||
V_snprintf( pchRender, 32, "%d,", value / 1000000000000LL );
|
||||
V_snprintf( pchRender, 32, "%lld,", value / 1000000000000LL );
|
||||
}
|
||||
|
||||
// Render billions
|
||||
if ( value >= 1000000000 )
|
||||
{
|
||||
char *pchRender = out + V_strlen( out );
|
||||
V_snprintf( pchRender, 32, "%d,", value / 1000000000 );
|
||||
V_snprintf( pchRender, 32, "%lld,", value / 1000000000 );
|
||||
}
|
||||
|
||||
// Render millions
|
||||
@@ -910,9 +912,9 @@ char *V_pretifynum( int64 value )
|
||||
{
|
||||
char *pchRender = out + V_strlen( out );
|
||||
if ( value >= 1000000000 )
|
||||
V_snprintf( pchRender, 32, "%03d,", ( value / 1000000 ) % 1000 );
|
||||
V_snprintf( pchRender, 32, "%03d,", (unsigned int)(( value / 1000000 ) % 1000 ));
|
||||
else
|
||||
V_snprintf( pchRender, 32, "%d,", ( value / 1000000 ) % 1000 );
|
||||
V_snprintf( pchRender, 32, "%d,", (unsigned int)(( value / 1000000 ) % 1000 ));
|
||||
}
|
||||
|
||||
// Render thousands
|
||||
@@ -920,17 +922,17 @@ char *V_pretifynum( int64 value )
|
||||
{
|
||||
char *pchRender = out + V_strlen( out );
|
||||
if ( value >= 1000000 )
|
||||
V_snprintf( pchRender, 32, "%03d,", ( value / 1000 ) % 1000 );
|
||||
V_snprintf( pchRender, 32, "%03d,", (unsigned int)(( value / 1000 ) % 1000 ));
|
||||
else
|
||||
V_snprintf( pchRender, 32, "%d,", ( value / 1000 ) % 1000 );
|
||||
V_snprintf( pchRender, 32, "%d,", (unsigned int)(( value / 1000 ) % 1000 ));
|
||||
}
|
||||
|
||||
// Render units
|
||||
char *pchRender = out + V_strlen( out );
|
||||
if ( value > 1000 )
|
||||
V_snprintf( pchRender, 32, "%03d", value % 1000 );
|
||||
V_snprintf( pchRender, 32, "%03d", (unsigned int)(value % 1000) );
|
||||
else
|
||||
V_snprintf( pchRender, 32, "%d", value % 1000 );
|
||||
V_snprintf( pchRender, 32, "%d", (unsigned int)(value % 1000) );
|
||||
|
||||
return out;
|
||||
}
|
||||
@@ -941,7 +943,7 @@ char *V_pretifynum( int64 value )
|
||||
//-----------------------------------------------------------------------------
|
||||
int V_UTF8ToUnicode( const char *pUTF8, wchar_t *pwchDest, int cubDestSizeInBytes )
|
||||
{
|
||||
AssertValidStringPtr(pUTF8);
|
||||
_AssertValidStringPtr(pUTF8);
|
||||
AssertValidWritePtr(pwchDest);
|
||||
|
||||
pwchDest[0] = 0;
|
||||
@@ -959,7 +961,7 @@ int V_UTF8ToUnicode( const char *pUTF8, wchar_t *pwchDest, int cubDestSizeInByte
|
||||
//-----------------------------------------------------------------------------
|
||||
int V_UnicodeToUTF8( const wchar_t *pUnicode, char *pUTF8, int cubDestSizeInBytes )
|
||||
{
|
||||
AssertValidStringPtr(pUTF8, cubDestSizeInBytes);
|
||||
_AssertValidStringPtr(pUTF8, cubDestSizeInBytes);
|
||||
AssertValidReadPtr(pUnicode);
|
||||
|
||||
pUTF8[0] = 0;
|
||||
|
||||
+3
-37
@@ -6,20 +6,7 @@
|
||||
|
||||
#include <tier1/tier1.h>
|
||||
#include "tier0/dbg.h"
|
||||
#include "vstdlib/iprocessutils.h"
|
||||
#include "icvar.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// These tier1 libraries must be set by any users of this library.
|
||||
// They can be set by calling ConnectTier1Libraries or InitDefaultFileSystem.
|
||||
// It is hoped that setting this, and using this library will be the common mechanism for
|
||||
// allowing link libraries to access tier1 library interfaces
|
||||
//-----------------------------------------------------------------------------
|
||||
ICvar *cvar = 0;
|
||||
ICvar *g_pCVar = 0;
|
||||
IProcessUtils *g_pProcessUtils = 0;
|
||||
static bool s_bConnected = false;
|
||||
#include "interfaces/interfaces.h"
|
||||
|
||||
// for utlsortvector.h
|
||||
#ifndef _WIN32
|
||||
@@ -33,31 +20,10 @@ static bool s_bConnected = false;
|
||||
//-----------------------------------------------------------------------------
|
||||
void ConnectTier1Libraries( CreateInterfaceFn *pFactoryList, int nFactoryCount )
|
||||
{
|
||||
// Don't connect twice..
|
||||
if ( s_bConnected )
|
||||
return;
|
||||
|
||||
s_bConnected = true;
|
||||
|
||||
for ( int i = 0; i < nFactoryCount; ++i )
|
||||
{
|
||||
if ( !g_pCVar )
|
||||
{
|
||||
cvar = g_pCVar = ( ICvar * )pFactoryList[i]( CVAR_INTERFACE_VERSION, NULL );
|
||||
}
|
||||
if ( !g_pProcessUtils )
|
||||
{
|
||||
g_pProcessUtils = ( IProcessUtils * )pFactoryList[i]( PROCESS_UTILS_INTERFACE_VERSION, NULL );
|
||||
}
|
||||
}
|
||||
ConnectInterfaces( pFactoryList, nFactoryCount);
|
||||
}
|
||||
|
||||
void DisconnectTier1Libraries()
|
||||
{
|
||||
if ( !s_bConnected )
|
||||
return;
|
||||
|
||||
g_pCVar = cvar = 0;
|
||||
g_pProcessUtils = NULL;
|
||||
s_bConnected = false;
|
||||
DisconnectInterfaces();
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tier1", "tier1.vcxproj", "{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E1DA8DB8-FB4C-4B14-91A6-98BCED6B9720}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,254 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.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>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
</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>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\lib\public\</OutDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
|
||||
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreLinkEventUseInBuild>
|
||||
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PostBuildEventUseInBuild>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\public\</OutDir>
|
||||
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreBuildEventUseInBuild>
|
||||
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreLinkEventUseInBuild>
|
||||
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PostBuildEventUseInBuild>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\public;..\public\tier0;..\public\tier1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_WIN32;VEL': value '0' doesn't match value '2' in core_metamod.obj;COMPILER_MSVC;COMPILER_MSVC32;_DEBUG;DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<ExceptionHandling>
|
||||
</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>
|
||||
</PrecompiledHeader>
|
||||
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreLinkEvent>
|
||||
<Lib>
|
||||
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||
<AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<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>
|
||||
</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;COMPILER_MSVC;COMPILER_MSVC32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;TIER1_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>
|
||||
</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>
|
||||
</PrecompiledHeader>
|
||||
<ExpandAttributedSource>false</ExpandAttributedSource>
|
||||
<AssemblerOutput>
|
||||
</AssemblerOutput>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName>
|
||||
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
|
||||
<BrowseInformation>
|
||||
</BrowseInformation>
|
||||
<BrowseInformationFile>$(IntDir)</BrowseInformationFile>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<ErrorReporting>Prompt</ErrorReporting>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<UndefinePreprocessorDefinitions>
|
||||
</UndefinePreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<PreLinkEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreLinkEvent>
|
||||
<Lib>
|
||||
<UseUnicodeResponseFiles>false</UseUnicodeResponseFiles>
|
||||
<AdditionalDependencies>Rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<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="uniqueid.cpp" />
|
||||
<ClCompile Include="utlbuffer.cpp" />
|
||||
<ClCompile Include="utlbufferutil.cpp" />
|
||||
<ClCompile Include="utlstring.cpp" />
|
||||
<ClCompile Include="utlsymbol.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<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\datamap.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\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" />
|
||||
<ClInclude Include="..\common\xbox\xboxstubs.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,257 @@
|
||||
<?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>{aba1d919-d95c-4c3f-a495-be0375bab184}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{0295d938-2af6-4393-9785-4b7b122313c9}</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="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\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>
|
||||
Reference in new issue
Block a user