Update of project file to match latest hl2sdk
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401877
This commit is contained in:
		
							parent
							
								
									4bbad74506
								
							
						
					
					
						commit
						9a49bf2f08
					
				@ -24,7 +24,7 @@ OBJECTS = AdminCache.cpp CDataPack.cpp ConCmdManager.cpp ConVarManager.cpp CoreC
 | 
				
			|||||||
	sm_autonatives.cpp sm_memtable.cpp sm_srvcmds.cpp sm_stringutil.cpp sm_trie.cpp \
 | 
						sm_autonatives.cpp sm_memtable.cpp sm_srvcmds.cpp sm_stringutil.cpp sm_trie.cpp \
 | 
				
			||||||
	sourcemm_api.cpp sourcemod.cpp MenuStyle_Base.cpp MenuStyle_Valve.cpp MenuManager.cpp \
 | 
						sourcemm_api.cpp sourcemod.cpp MenuStyle_Base.cpp MenuStyle_Valve.cpp MenuManager.cpp \
 | 
				
			||||||
	MenuStyle_Radio.cpp ChatTriggers.cpp ADTFactory.cpp MenuVoting.cpp sm_crc32.cpp \
 | 
						MenuStyle_Radio.cpp ChatTriggers.cpp ADTFactory.cpp MenuVoting.cpp sm_crc32.cpp \
 | 
				
			||||||
	frame_hooks.cpp bitbuf.cpp concmd_cleaner.cpp
 | 
						frame_hooks.cpp concmd_cleaner.cpp
 | 
				
			||||||
OBJECTS += smn_admin.cpp smn_bitbuffer.cpp smn_console.cpp smn_core.cpp \
 | 
					OBJECTS += smn_admin.cpp smn_bitbuffer.cpp smn_console.cpp smn_core.cpp \
 | 
				
			||||||
	smn_datapacks.cpp smn_entities.cpp smn_events.cpp smn_fakenatives.cpp \
 | 
						smn_datapacks.cpp smn_entities.cpp smn_events.cpp smn_fakenatives.cpp \
 | 
				
			||||||
	smn_filesystem.cpp smn_float.cpp smn_functions.cpp smn_gameconfigs.cpp smn_halflife.cpp \
 | 
						smn_filesystem.cpp smn_float.cpp smn_functions.cpp smn_gameconfigs.cpp smn_halflife.cpp \
 | 
				
			||||||
@ -85,7 +85,6 @@ all:
 | 
				
			|||||||
	mkdir -p $(BIN_DIR)/thread
 | 
						mkdir -p $(BIN_DIR)/thread
 | 
				
			||||||
	ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so
 | 
						ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so
 | 
				
			||||||
	ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so
 | 
						ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so
 | 
				
			||||||
	ln -sf $(HL2SDK)/tier1/bitbuf.cpp bitbuf.cpp
 | 
					 | 
				
			||||||
	$(MAKE) -f Makefile.ep2 sourcemod
 | 
						$(MAKE) -f Makefile.ep2 sourcemod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sourcemod: $(OBJ_LINUX) $(OBJ_LINUX_C)
 | 
					sourcemod: $(OBJ_LINUX) $(OBJ_LINUX_C)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										961
									
								
								core/bitbuf.cpp
									
									
									
									
									
								
							
							
						
						
									
										961
									
								
								core/bitbuf.cpp
									
									
									
									
									
								
							@ -1,961 +0,0 @@
 | 
				
			|||||||
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: 
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// $NoKeywords: $
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//=============================================================================//
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "bitbuf.h"
 | 
					 | 
				
			||||||
#include "coordsize.h"
 | 
					 | 
				
			||||||
#include "vector.h"
 | 
					 | 
				
			||||||
#include "mathlib/math_base.h"
 | 
					 | 
				
			||||||
#include "vstdlib/strtools.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// FIXME: Can't use this until we get multithreaded allocations in tier0 working for tools
 | 
					 | 
				
			||||||
// This is used by VVIS and fails to link
 | 
					 | 
				
			||||||
// NOTE: This must be the last file included!!!
 | 
					 | 
				
			||||||
//#include "tier0/memdbgon.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef _XBOX
 | 
					 | 
				
			||||||
// mandatory ... wary of above comment and isolating, tier0 is built as MT though
 | 
					 | 
				
			||||||
#include "tier0/memdbgon.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static BitBufErrorHandler g_BitBufErrorHandler = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void InternalBitBufErrorHandler( BitBufErrorType errorType, const char *pDebugName )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	if ( g_BitBufErrorHandler )
 | 
					 | 
				
			||||||
		g_BitBufErrorHandler( errorType, pDebugName );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void SetBitBufErrorHandler( BitBufErrorHandler fn )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	g_BitBufErrorHandler = fn;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// #define BB_PROFILING
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Precalculated bit masks for WriteUBitLong. Using these tables instead of 
 | 
					 | 
				
			||||||
// doing the calculations gives a 33% speedup in WriteUBitLong.
 | 
					 | 
				
			||||||
unsigned long g_BitWriteMasks[32][33];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// (1 << i) - 1
 | 
					 | 
				
			||||||
unsigned long g_ExtraMasks[32];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class CBitWriteMasksInit
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
public:
 | 
					 | 
				
			||||||
	CBitWriteMasksInit()
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		for( unsigned int startbit=0; startbit < 32; startbit++ )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			for( unsigned int nBitsLeft=0; nBitsLeft < 33; nBitsLeft++ )
 | 
					 | 
				
			||||||
			{
 | 
					 | 
				
			||||||
				unsigned int endbit = startbit + nBitsLeft;
 | 
					 | 
				
			||||||
				g_BitWriteMasks[startbit][nBitsLeft] = (1 << startbit) - 1;
 | 
					 | 
				
			||||||
				if(endbit < 32)
 | 
					 | 
				
			||||||
					g_BitWriteMasks[startbit][nBitsLeft] |= ~((1 << endbit) - 1);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		for ( unsigned int maskBit=0; maskBit < 32; maskBit++ )
 | 
					 | 
				
			||||||
			g_ExtraMasks[maskBit] = (1 << maskBit) - 1;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
CBitWriteMasksInit g_BitWriteMasksInit;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ---------------------------------------------------------------------------------------- //
 | 
					 | 
				
			||||||
// bf_write
 | 
					 | 
				
			||||||
// ---------------------------------------------------------------------------------------- //
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bf_write::bf_write()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_pData = NULL;
 | 
					 | 
				
			||||||
	m_nDataBytes = 0;
 | 
					 | 
				
			||||||
	m_nDataBits = -1; // set to -1 so we generate overflow on any operation
 | 
					 | 
				
			||||||
	m_iCurBit = 0;
 | 
					 | 
				
			||||||
	m_bOverflow = false;
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = true;
 | 
					 | 
				
			||||||
	m_pDebugName = NULL;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bf_write::bf_write( const char *pDebugName, void *pData, int nBytes, int nBits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = true;
 | 
					 | 
				
			||||||
	m_pDebugName = pDebugName;
 | 
					 | 
				
			||||||
	StartWriting( pData, nBytes, 0, nBits );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bf_write::bf_write( void *pData, int nBytes, int nBits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = true;
 | 
					 | 
				
			||||||
	StartWriting( pData, nBytes, 0, nBits );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::StartWriting( void *pData, int nBytes, int iStartBit, int nBits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	// Make sure it's dword aligned and padded.
 | 
					 | 
				
			||||||
	Assert( (nBytes % 4) == 0 );
 | 
					 | 
				
			||||||
	Assert(((unsigned long)pData & 3) == 0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	m_pData = (unsigned char*)pData;
 | 
					 | 
				
			||||||
	m_nDataBytes = nBytes;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if ( nBits == -1 )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		m_nDataBits = nBytes << 3;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		Assert( nBits <= nBytes*8 );
 | 
					 | 
				
			||||||
		m_nDataBits = nBits;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	m_iCurBit = iStartBit;
 | 
					 | 
				
			||||||
	m_bOverflow = false;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::Reset()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_iCurBit = 0;
 | 
					 | 
				
			||||||
	m_bOverflow = false;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::SetAssertOnOverflow( bool bAssert )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = bAssert;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const char* bf_write::GetDebugName()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return m_pDebugName;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::SetDebugName( const char *pDebugName )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_pDebugName = pDebugName;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::SeekToBit( int bitPos )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_iCurBit = bitPos;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Sign bit comes first
 | 
					 | 
				
			||||||
void bf_write::WriteSBitLong( int data, int numbits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	// Do we have a valid # of bits to encode with?
 | 
					 | 
				
			||||||
	Assert( numbits >= 1 );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Note: it does this wierdness here so it's bit-compatible with regular integer data in the buffer.
 | 
					 | 
				
			||||||
	// (Some old code writes direct integers right into the buffer).
 | 
					 | 
				
			||||||
	if(data < 0)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
#ifdef _DEBUG
 | 
					 | 
				
			||||||
	if( numbits < 32 )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		// Make sure it doesn't overflow.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if( data < 0 )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			Assert( data >= -(1 << (numbits-1)) );
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			Assert( data < (1 << (numbits-1)) );
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		WriteUBitLong( (unsigned int)(0x80000000 + data), numbits - 1, false );
 | 
					 | 
				
			||||||
		WriteOneBit( 1 );
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		WriteUBitLong((unsigned int)data, numbits - 1);
 | 
					 | 
				
			||||||
		WriteOneBit( 0 );
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// writes an unsigned integer with variable bit length
 | 
					 | 
				
			||||||
void bf_write::WriteUBitVar( unsigned int data )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	unsigned int bits = 0;
 | 
					 | 
				
			||||||
	unsigned int base = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	while (data > (base<<1))
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		bits++;
 | 
					 | 
				
			||||||
		base = (1<<bits)-1;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// how many bits do we use
 | 
					 | 
				
			||||||
	if ( bits > 0)
 | 
					 | 
				
			||||||
		WriteUBitLong( 0, bits );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// end marker
 | 
					 | 
				
			||||||
	WriteOneBit( 1 );  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// write the value
 | 
					 | 
				
			||||||
	if ( bits > 0)
 | 
					 | 
				
			||||||
		WriteUBitLong( data - base , bits );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitLong(unsigned int data, int numbits, bool bSigned)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	if(bSigned)
 | 
					 | 
				
			||||||
		WriteSBitLong((int)data, numbits);
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		WriteUBitLong(data, numbits);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool bf_write::WriteBits(const void *pInData, int nBits)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#if defined( BB_PROFILING )
 | 
					 | 
				
			||||||
	VPROF( "bf_write::WriteBits" );
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	unsigned char *pOut = (unsigned char*)pInData;
 | 
					 | 
				
			||||||
	int nBitsLeft = nBits;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if((m_iCurBit+nBits) > m_nDataBits)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		SetOverflowFlag();
 | 
					 | 
				
			||||||
		CallErrorHandler( BITBUFERROR_BUFFER_OVERRUN, GetDebugName() );
 | 
					 | 
				
			||||||
		return false;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Get output dword-aligned.
 | 
					 | 
				
			||||||
	while(((unsigned long)pOut & 3) != 0 && nBitsLeft >= 8)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		WriteUBitLong( *pOut, 8, false );
 | 
					 | 
				
			||||||
		++pOut;
 | 
					 | 
				
			||||||
		nBitsLeft -= 8;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	// check if we can use fast memcpy if m_iCurBit is byte aligned
 | 
					 | 
				
			||||||
	if ( (nBitsLeft >= 32) && (m_iCurBit & 7) == 0 )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		int numbytes = (nBitsLeft >> 3); 
 | 
					 | 
				
			||||||
		int numbits = numbytes << 3;
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		// Bounds checking..
 | 
					 | 
				
			||||||
		// TODO: May not need this check anymore
 | 
					 | 
				
			||||||
		if((m_iCurBit+numbits) > m_nDataBits)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			m_iCurBit = m_nDataBits;
 | 
					 | 
				
			||||||
			SetOverflowFlag();
 | 
					 | 
				
			||||||
			CallErrorHandler( BITBUFERROR_BUFFER_OVERRUN, GetDebugName() );
 | 
					 | 
				
			||||||
			return false;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		Q_memcpy( m_pData+(m_iCurBit>>3), pOut, numbytes );
 | 
					 | 
				
			||||||
		pOut += numbytes;
 | 
					 | 
				
			||||||
		nBitsLeft -= numbits;
 | 
					 | 
				
			||||||
		m_iCurBit += numbits;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Read dwords.
 | 
					 | 
				
			||||||
	while(nBitsLeft >= 32)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		WriteUBitLong( *((unsigned long*)pOut), 32, false );
 | 
					 | 
				
			||||||
		pOut += sizeof(unsigned long);
 | 
					 | 
				
			||||||
		nBitsLeft -= 32;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Read the remaining bytes.
 | 
					 | 
				
			||||||
	while(nBitsLeft >= 8)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		WriteUBitLong( *pOut, 8, false );
 | 
					 | 
				
			||||||
		++pOut;
 | 
					 | 
				
			||||||
		nBitsLeft -= 8;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	// Read the remaining bits.
 | 
					 | 
				
			||||||
	if(nBitsLeft)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		WriteUBitLong( *pOut, nBitsLeft, false );
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return !IsOverflowed();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool bf_write::WriteBitsFromBuffer( bf_read *pIn, int nBits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	// This could be optimized a little by
 | 
					 | 
				
			||||||
	while ( nBits > 32 )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		WriteUBitLong( pIn->ReadUBitLong( 32 ), 32 );
 | 
					 | 
				
			||||||
		nBits -= 32;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	WriteUBitLong( pIn->ReadUBitLong( nBits ), nBits );
 | 
					 | 
				
			||||||
	return !IsOverflowed() && !pIn->IsOverflowed();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitAngle( float fAngle, int numbits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int d;
 | 
					 | 
				
			||||||
	unsigned int mask;
 | 
					 | 
				
			||||||
	unsigned int shift;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	shift = (1<<numbits);
 | 
					 | 
				
			||||||
	mask = shift - 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	d = (int)( (fAngle / 360.0) * shift );
 | 
					 | 
				
			||||||
	d &= mask;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	WriteUBitLong((unsigned int)d, numbits);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitCoord (const float f)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#if defined( BB_PROFILING )
 | 
					 | 
				
			||||||
	VPROF( "bf_write::WriteBitCoord" );
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
	int		signbit = (f <= -COORD_RESOLUTION);
 | 
					 | 
				
			||||||
	int		intval = abs(static_cast<int>(f));
 | 
					 | 
				
			||||||
	int		fractval = abs((int)(f*COORD_DENOMINATOR)) & (COORD_DENOMINATOR-1);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Send the bit flags that indicate whether we have an integer part and/or a fraction part.
 | 
					 | 
				
			||||||
	WriteOneBit( intval );
 | 
					 | 
				
			||||||
	WriteOneBit( fractval );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if ( intval || fractval )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		// Send the sign bit
 | 
					 | 
				
			||||||
		WriteOneBit( signbit );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// Send the integer if we have one.
 | 
					 | 
				
			||||||
		if ( intval )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			// Adjust the integers from [1..MAX_COORD_VALUE] to [0..MAX_COORD_VALUE-1]
 | 
					 | 
				
			||||||
			intval--;
 | 
					 | 
				
			||||||
			WriteUBitLong( (unsigned int)intval, COORD_INTEGER_BITS );
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		// Send the fraction if we have one
 | 
					 | 
				
			||||||
		if ( fractval )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			WriteUBitLong( (unsigned int)fractval, COORD_FRACTIONAL_BITS );
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitFloat(float val)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	long intVal;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	Assert(sizeof(long) == sizeof(float));
 | 
					 | 
				
			||||||
	Assert(sizeof(float) == 4);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	void *v = &val;
 | 
					 | 
				
			||||||
	intVal = *reinterpret_cast<long *>(v);
 | 
					 | 
				
			||||||
	WriteUBitLong( intVal, 32 );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitVec3Coord( const Vector& fa )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int		xflag, yflag, zflag;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	xflag = (fa[0] >= COORD_RESOLUTION) || (fa[0] <= -COORD_RESOLUTION);
 | 
					 | 
				
			||||||
	yflag = (fa[1] >= COORD_RESOLUTION) || (fa[1] <= -COORD_RESOLUTION);
 | 
					 | 
				
			||||||
	zflag = (fa[2] >= COORD_RESOLUTION) || (fa[2] <= -COORD_RESOLUTION);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	WriteOneBit( xflag );
 | 
					 | 
				
			||||||
	WriteOneBit( yflag );
 | 
					 | 
				
			||||||
	WriteOneBit( zflag );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if ( xflag )
 | 
					 | 
				
			||||||
		WriteBitCoord( fa[0] );
 | 
					 | 
				
			||||||
	if ( yflag )
 | 
					 | 
				
			||||||
		WriteBitCoord( fa[1] );
 | 
					 | 
				
			||||||
	if ( zflag )
 | 
					 | 
				
			||||||
		WriteBitCoord( fa[2] );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitNormal( float f )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int	signbit = (f <= -NORMAL_RESOLUTION);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// NOTE: Since +/-1 are valid values for a normal, I'm going to encode that as all ones
 | 
					 | 
				
			||||||
	unsigned int fractval = abs( (int)(f*NORMAL_DENOMINATOR) );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// clamp..
 | 
					 | 
				
			||||||
	if (fractval > NORMAL_DENOMINATOR)
 | 
					 | 
				
			||||||
		fractval = NORMAL_DENOMINATOR;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Send the sign bit
 | 
					 | 
				
			||||||
	WriteOneBit( signbit );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Send the fractional component
 | 
					 | 
				
			||||||
	WriteUBitLong( fractval, NORMAL_FRACTIONAL_BITS );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitVec3Normal( const Vector& fa )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int		xflag, yflag;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	xflag = (fa[0] >= NORMAL_RESOLUTION) || (fa[0] <= -NORMAL_RESOLUTION);
 | 
					 | 
				
			||||||
	yflag = (fa[1] >= NORMAL_RESOLUTION) || (fa[1] <= -NORMAL_RESOLUTION);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	WriteOneBit( xflag );
 | 
					 | 
				
			||||||
	WriteOneBit( yflag );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if ( xflag )
 | 
					 | 
				
			||||||
		WriteBitNormal( fa[0] );
 | 
					 | 
				
			||||||
	if ( yflag )
 | 
					 | 
				
			||||||
		WriteBitNormal( fa[1] );
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	// Write z sign bit
 | 
					 | 
				
			||||||
	int	signbit = (fa[2] <= -NORMAL_RESOLUTION);
 | 
					 | 
				
			||||||
	WriteOneBit( signbit );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteBitAngles( const QAngle& fa )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	// FIXME:
 | 
					 | 
				
			||||||
	Vector tmp( fa.x, fa.y, fa.z );
 | 
					 | 
				
			||||||
	WriteBitVec3Coord( tmp );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteChar(int val)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	WriteSBitLong(val, sizeof(char) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteByte(int val)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	WriteUBitLong(val, sizeof(unsigned char) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteShort(int val)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	WriteSBitLong(val, sizeof(short) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteWord(int val)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	WriteUBitLong(val, sizeof(unsigned short) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteLong(long val)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	WriteSBitLong(val, sizeof(long) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_write::WriteFloat(float val)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	WriteBits(&val, sizeof(val) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool bf_write::WriteBytes( const void *pBuf, int nBytes )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return WriteBits(pBuf, nBytes << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool bf_write::WriteString(const char *pStr)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	if(pStr)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		do
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			WriteChar( *pStr );
 | 
					 | 
				
			||||||
			++pStr;
 | 
					 | 
				
			||||||
		} while( *(pStr-1) != 0 );
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		WriteChar( 0 );
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return !IsOverflowed();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ---------------------------------------------------------------------------------------- //
 | 
					 | 
				
			||||||
// bf_read
 | 
					 | 
				
			||||||
// ---------------------------------------------------------------------------------------- //
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bf_read::bf_read()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_pData = NULL;
 | 
					 | 
				
			||||||
	m_nDataBytes = 0;
 | 
					 | 
				
			||||||
	m_nDataBits = -1; // set to -1 so we overflow on any operation
 | 
					 | 
				
			||||||
	m_iCurBit = 0;
 | 
					 | 
				
			||||||
	m_bOverflow = false;
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = true;
 | 
					 | 
				
			||||||
	m_pDebugName = NULL;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bf_read::bf_read( const void *pData, int nBytes, int nBits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = true;
 | 
					 | 
				
			||||||
	StartReading( pData, nBytes, 0, nBits );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bf_read::bf_read( const char *pDebugName, const void *pData, int nBytes, int nBits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = true;
 | 
					 | 
				
			||||||
	m_pDebugName = pDebugName;
 | 
					 | 
				
			||||||
	StartReading( pData, nBytes, 0, nBits );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::StartReading( const void *pData, int nBytes, int iStartBit, int nBits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	// Make sure we're dword aligned.
 | 
					 | 
				
			||||||
	Assert(((unsigned long)pData & 3) == 0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	m_pData = (unsigned char*)pData;
 | 
					 | 
				
			||||||
	m_nDataBytes = nBytes;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if ( nBits == -1 )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		m_nDataBits = m_nDataBytes << 3;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		Assert( nBits <= nBytes*8 );
 | 
					 | 
				
			||||||
		m_nDataBits = nBits;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	m_iCurBit = iStartBit;
 | 
					 | 
				
			||||||
	m_bOverflow = false;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::Reset()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_iCurBit = 0;
 | 
					 | 
				
			||||||
	m_bOverflow = false;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::SetAssertOnOverflow( bool bAssert )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_bAssertOnOverflow = bAssert;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const char* bf_read::GetDebugName()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return m_pDebugName;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::SetDebugName( const char *pName )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	m_pDebugName = pName;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
unsigned int bf_read::CheckReadUBitLong(int numbits)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	// Ok, just read bits out.
 | 
					 | 
				
			||||||
	int i, nBitValue;
 | 
					 | 
				
			||||||
	unsigned int r = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for(i=0; i < numbits; i++)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		nBitValue = ReadOneBitNoCheck();
 | 
					 | 
				
			||||||
		r |= nBitValue << i;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	m_iCurBit -= numbits;
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	return r;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool bf_read::ReadBits(void *pOutData, int nBits)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#if defined( BB_PROFILING )
 | 
					 | 
				
			||||||
	VPROF( "bf_write::ReadBits" );
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	unsigned char *pOut = (unsigned char*)pOutData;
 | 
					 | 
				
			||||||
	int nBitsLeft = nBits;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	// Get output dword-aligned.
 | 
					 | 
				
			||||||
	while(((unsigned long)pOut & 3) != 0 && nBitsLeft >= 8)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		*pOut = (unsigned char)ReadUBitLong(8);
 | 
					 | 
				
			||||||
		++pOut;
 | 
					 | 
				
			||||||
		nBitsLeft -= 8;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Read dwords.
 | 
					 | 
				
			||||||
	while(nBitsLeft >= 32)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		*((unsigned long*)pOut) = ReadUBitLong(32);
 | 
					 | 
				
			||||||
		pOut += sizeof(unsigned long);
 | 
					 | 
				
			||||||
		nBitsLeft -= 32;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Read the remaining bytes.
 | 
					 | 
				
			||||||
	while(nBitsLeft >= 8)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		*pOut = ReadUBitLong(8);
 | 
					 | 
				
			||||||
		++pOut;
 | 
					 | 
				
			||||||
		nBitsLeft -= 8;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	// Read the remaining bits.
 | 
					 | 
				
			||||||
	if(nBitsLeft)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		*pOut = ReadUBitLong(nBitsLeft);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return !IsOverflowed();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
float bf_read::ReadBitAngle( int numbits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	float fReturn;
 | 
					 | 
				
			||||||
	int i;
 | 
					 | 
				
			||||||
	float shift;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	shift = (float)( 1 << numbits );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	i = ReadUBitLong( numbits );
 | 
					 | 
				
			||||||
	fReturn = (float)i * (360.0 / shift);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return fReturn;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
unsigned int bf_read::PeekUBitLong( int numbits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	unsigned int r;
 | 
					 | 
				
			||||||
	int i, nBitValue;
 | 
					 | 
				
			||||||
#ifdef BIT_VERBOSE
 | 
					 | 
				
			||||||
	int nShifts = numbits;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	bf_read savebf;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	savebf = *this;  // Save current state info
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	r = 0;
 | 
					 | 
				
			||||||
	for(i=0; i < numbits; i++)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		nBitValue = ReadOneBit();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// Append to current stream
 | 
					 | 
				
			||||||
		if ( nBitValue )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			r |= 1 << i;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	*this = savebf;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef BIT_VERBOSE
 | 
					 | 
				
			||||||
	Con_Printf( "PeekBitLong:  %i %i\n", nShifts, (unsigned int)r );
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return r;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Append numbits least significant bits from data to the current bit stream
 | 
					 | 
				
			||||||
int bf_read::ReadSBitLong( int numbits )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int r, sign;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	r = ReadUBitLong(numbits - 1);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Note: it does this wierdness here so it's bit-compatible with regular integer data in the buffer.
 | 
					 | 
				
			||||||
	// (Some old code writes direct integers right into the buffer).
 | 
					 | 
				
			||||||
	sign = ReadOneBit();
 | 
					 | 
				
			||||||
	if(sign)
 | 
					 | 
				
			||||||
		r = -((1 << (numbits-1)) - r);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return r;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
unsigned int bf_read::ReadUBitVar()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int bits = 0; // how many bits are used to encode delta offset
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// how many bits do we use
 | 
					 | 
				
			||||||
	while ( ReadOneBit() == 0 )
 | 
					 | 
				
			||||||
		bits++;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	unsigned int data = (1<<bits)-1;
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	// read the value
 | 
					 | 
				
			||||||
	if ( bits > 0)
 | 
					 | 
				
			||||||
		data += ReadUBitLong( bits );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return data;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
unsigned int bf_read::ReadBitLong(int numbits, bool bSigned)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	if(bSigned)
 | 
					 | 
				
			||||||
		return (unsigned int)ReadSBitLong(numbits);
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		return ReadUBitLong(numbits);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Basic Coordinate Routines (these contain bit-field size AND fixed point scaling constants)
 | 
					 | 
				
			||||||
float bf_read::ReadBitCoord (void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#if defined( BB_PROFILING )
 | 
					 | 
				
			||||||
	VPROF( "bf_write::ReadBitCoord" );
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
	int		intval=0,fractval=0,signbit=0;
 | 
					 | 
				
			||||||
	float	value = 0.0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Read the required integer and fraction flags
 | 
					 | 
				
			||||||
	intval = ReadOneBit();
 | 
					 | 
				
			||||||
	fractval = ReadOneBit();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// If we got either parse them, otherwise it's a zero.
 | 
					 | 
				
			||||||
	if ( intval || fractval )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		// Read the sign bit
 | 
					 | 
				
			||||||
		signbit = ReadOneBit();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// If there's an integer, read it in
 | 
					 | 
				
			||||||
		if ( intval )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			// Adjust the integers from [0..MAX_COORD_VALUE-1] to [1..MAX_COORD_VALUE]
 | 
					 | 
				
			||||||
			intval = ReadUBitLong( COORD_INTEGER_BITS ) + 1;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// If there's a fraction, read it in
 | 
					 | 
				
			||||||
		if ( fractval )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			fractval = ReadUBitLong( COORD_FRACTIONAL_BITS );
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// Calculate the correct floating point value
 | 
					 | 
				
			||||||
		value = intval + ((float)fractval * COORD_RESOLUTION);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// Fixup the sign if negative.
 | 
					 | 
				
			||||||
		if ( signbit )
 | 
					 | 
				
			||||||
			value = -value;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return value;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::ReadBitVec3Coord( Vector& fa )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int		xflag, yflag, zflag;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// This vector must be initialized! Otherwise, If any of the flags aren't set, 
 | 
					 | 
				
			||||||
	// the corresponding component will not be read and will be stack garbage.
 | 
					 | 
				
			||||||
	fa.Init( 0, 0, 0 );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	xflag = ReadOneBit();
 | 
					 | 
				
			||||||
	yflag = ReadOneBit(); 
 | 
					 | 
				
			||||||
	zflag = ReadOneBit();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if ( xflag )
 | 
					 | 
				
			||||||
		fa[0] = ReadBitCoord();
 | 
					 | 
				
			||||||
	if ( yflag )
 | 
					 | 
				
			||||||
		fa[1] = ReadBitCoord();
 | 
					 | 
				
			||||||
	if ( zflag )
 | 
					 | 
				
			||||||
		fa[2] = ReadBitCoord();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
float bf_read::ReadBitNormal (void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	// Read the sign bit
 | 
					 | 
				
			||||||
	int	signbit = ReadOneBit();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Read the fractional part
 | 
					 | 
				
			||||||
	unsigned int fractval = ReadUBitLong( NORMAL_FRACTIONAL_BITS );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Calculate the correct floating point value
 | 
					 | 
				
			||||||
	float value = (float)fractval * NORMAL_RESOLUTION;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Fixup the sign if negative.
 | 
					 | 
				
			||||||
	if ( signbit )
 | 
					 | 
				
			||||||
		value = -value;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return value;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::ReadBitVec3Normal( Vector& fa )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int xflag = ReadOneBit();
 | 
					 | 
				
			||||||
	int yflag = ReadOneBit(); 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (xflag)
 | 
					 | 
				
			||||||
		fa[0] = ReadBitNormal();
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		fa[0] = 0.0f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (yflag)
 | 
					 | 
				
			||||||
		fa[1] = ReadBitNormal();
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		fa[1] = 0.0f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// The first two imply the third (but not its sign)
 | 
					 | 
				
			||||||
	int znegative = ReadOneBit();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	float fafafbfb = fa[0] * fa[0] + fa[1] * fa[1];
 | 
					 | 
				
			||||||
	if (fafafbfb < 1.0f)
 | 
					 | 
				
			||||||
		fa[2] = sqrt( 1.0f - fafafbfb );
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		fa[2] = 0.0f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (znegative)
 | 
					 | 
				
			||||||
		fa[2] = -fa[2];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::ReadBitAngles( QAngle& fa )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	Vector tmp;
 | 
					 | 
				
			||||||
	ReadBitVec3Coord( tmp );
 | 
					 | 
				
			||||||
	fa.Init( tmp.x, tmp.y, tmp.z );
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bf_read::ReadChar()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return ReadSBitLong(sizeof(char) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bf_read::ReadByte()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return ReadUBitLong(sizeof(unsigned char) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bf_read::ReadShort()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return ReadSBitLong(sizeof(short) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int bf_read::ReadWord()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return ReadUBitLong(sizeof(unsigned short) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
long bf_read::ReadLong()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return ReadSBitLong(sizeof(long) << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
float bf_read::ReadFloat()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	float ret;
 | 
					 | 
				
			||||||
	Assert( sizeof(ret) == 4 );
 | 
					 | 
				
			||||||
	ReadBits(&ret, 32);
 | 
					 | 
				
			||||||
	return ret;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool bf_read::ReadBytes(void *pOut, int nBytes)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return ReadBits(pOut, nBytes << 3);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool bf_read::ReadString( char *pStr, int maxLen, bool bLine, int *pOutNumChars )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	Assert( maxLen != 0 );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	bool bTooSmall = false;
 | 
					 | 
				
			||||||
	int iChar = 0;
 | 
					 | 
				
			||||||
	while(1)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		char val = ReadChar();
 | 
					 | 
				
			||||||
		if ( val == 0 )
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
		else if ( bLine && val == '\n' )
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if ( iChar < (maxLen-1) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pStr[iChar] = val;
 | 
					 | 
				
			||||||
			++iChar;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			bTooSmall = true;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Make sure it's null-terminated.
 | 
					 | 
				
			||||||
	Assert( iChar < maxLen );
 | 
					 | 
				
			||||||
	pStr[iChar] = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if ( pOutNumChars )
 | 
					 | 
				
			||||||
		*pOutNumChars = iChar;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return !IsOverflowed() && !bTooSmall;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
char* bf_read::ReadAndAllocateString( bool *pOverflow )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	char str[2048];
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	int nChars;
 | 
					 | 
				
			||||||
	bool bOverflow = !ReadString( str, sizeof( str ), false, &nChars );
 | 
					 | 
				
			||||||
	if ( pOverflow )
 | 
					 | 
				
			||||||
		*pOverflow = bOverflow;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Now copy into the output and return it;
 | 
					 | 
				
			||||||
	char *pRet = new char[ nChars + 1 ];
 | 
					 | 
				
			||||||
	for ( int i=0; i <= nChars; i++ )
 | 
					 | 
				
			||||||
		pRet[i] = str[i];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return pRet;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
bool bf_read::Seek(int iBit)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	if(iBit < 0)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		SetOverflowFlag();
 | 
					 | 
				
			||||||
		m_iCurBit = m_nDataBits;
 | 
					 | 
				
			||||||
		return false;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	else if(iBit > m_nDataBits)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		SetOverflowFlag();
 | 
					 | 
				
			||||||
		m_iCurBit = m_nDataBits;
 | 
					 | 
				
			||||||
		return false;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		m_iCurBit = iBit;
 | 
					 | 
				
			||||||
		return true;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void bf_read::ExciseBits( int startbit, int bitstoremove )
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int endbit = startbit + bitstoremove;
 | 
					 | 
				
			||||||
	int remaining_to_end = m_nDataBits - endbit;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	bf_write temp;
 | 
					 | 
				
			||||||
	temp.StartWriting( (void *)m_pData, m_nDataBits << 3, startbit );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	Seek( endbit );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for ( int i = 0; i < remaining_to_end; i++ )
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		temp.WriteOneBit( ReadOneBit() );
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	Seek( startbit );
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	m_nDataBits -= bitstoremove;
 | 
					 | 
				
			||||||
	m_nDataBytes = m_nDataBits >> 3;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -42,7 +42,7 @@
 | 
				
			|||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				AdditionalOptions="/MP"
 | 
									AdditionalOptions="/MP"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\mathlib";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="0"
 | 
									EnableEnhancedInstructionSet="0"
 | 
				
			||||||
@ -63,7 +63,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sourcemod.2.ep1.dll"
 | 
									OutputFile="$(OutDir)\sourcemod.2.ep1.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -123,7 +123,7 @@
 | 
				
			|||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				AdditionalOptions="/MP"
 | 
									AdditionalOptions="/MP"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\mathlib";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -146,7 +146,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sourcemod.2.ep1.dll"
 | 
									OutputFile="$(OutDir)\sourcemod.2.ep1.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				IgnoreDefaultLibraryNames="LIBCMT"
 | 
									IgnoreDefaultLibraryNames="LIBCMT"
 | 
				
			||||||
@ -285,7 +285,7 @@
 | 
				
			|||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				AdditionalOptions="/MP"
 | 
									AdditionalOptions="/MP"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\mathlib";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib";"$(HL2SDKOB)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER;ORANGEBOX_BUILD"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER;ORANGEBOX_BUILD"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="0"
 | 
									EnableEnhancedInstructionSet="0"
 | 
				
			||||||
@ -306,7 +306,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDKOB)\lib\public\tier0.lib $(HL2SDKOB)\lib\public\tier1.lib $(HL2SDKOB)\lib\public\vstdlib.lib $(HL2SDKOB)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib" "$(HL2SDKOB)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sourcemod.2.ep2.dll"
 | 
									OutputFile="$(OutDir)\sourcemod.2.ep2.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -366,7 +366,7 @@
 | 
				
			|||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				AdditionalOptions="/MP"
 | 
									AdditionalOptions="/MP"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\mathlib";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(HL2SDKOB)\public\vstdlib";"$(HL2SDKOB)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER;ORANGEBOX_BUILD"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER;ORANGEBOX_BUILD"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -389,7 +389,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDKOB)\lib\public\tier0.lib $(HL2SDKOB)\lib\public\tier1.lib $(HL2SDKOB)\lib\public\vstdlib.lib $(HL2SDKOB)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib" "$(HL2SDKOB)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sourcemod.2.ep2.dll"
 | 
									OutputFile="$(OutDir)\sourcemod.2.ep2.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				IgnoreDefaultLibraryNames="LIBCMT"
 | 
									IgnoreDefaultLibraryNames="LIBCMT"
 | 
				
			||||||
@ -448,7 +448,7 @@
 | 
				
			|||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				AdditionalOptions="/MP"
 | 
									AdditionalOptions="/MP"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM142);$(SOURCEMM142)\sourcemm;$(SOURCEMM142)\sourcehook"
 | 
									AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\mathlib";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM14)";"$(SOURCEMM14)\sourcemm";"$(SOURCEMM14)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -471,7 +471,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sourcemod.1.ep1.dll"
 | 
									OutputFile="$(OutDir)\sourcemod.1.ep1.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				IgnoreDefaultLibraryNames="LIBCMT"
 | 
									IgnoreDefaultLibraryNames="LIBCMT"
 | 
				
			||||||
@ -531,7 +531,7 @@
 | 
				
			|||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				AdditionalOptions="/MP"
 | 
									AdditionalOptions="/MP"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM142);$(SOURCEMM142)\sourcemm;$(SOURCEMM142)\sourcehook"
 | 
									AdditionalIncludeDirectories="..\;..\systems;..\..\public;..\..\public\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\mathlib";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM14)";"$(SOURCEMM14)\sourcemm";"$(SOURCEMM14)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SOURCEMOD_MM_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;SOURCEMOD_BUILD;SM_DEFAULT_THREADER"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="0"
 | 
									EnableEnhancedInstructionSet="0"
 | 
				
			||||||
@ -552,7 +552,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sourcemod.1.ep1.dll"
 | 
									OutputFile="$(OutDir)\sourcemod.1.ep1.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -603,10 +603,6 @@
 | 
				
			|||||||
				RelativePath="..\ADTFactory.cpp"
 | 
									RelativePath="..\ADTFactory.cpp"
 | 
				
			||||||
				>
 | 
									>
 | 
				
			||||||
			</File>
 | 
								</File>
 | 
				
			||||||
			<File
 | 
					 | 
				
			||||||
				RelativePath="..\bitbuf.cpp"
 | 
					 | 
				
			||||||
				>
 | 
					 | 
				
			||||||
			</File>
 | 
					 | 
				
			||||||
			<File
 | 
								<File
 | 
				
			||||||
				RelativePath="..\CDataPack.cpp"
 | 
									RelativePath="..\CDataPack.cpp"
 | 
				
			||||||
				>
 | 
									>
 | 
				
			||||||
 | 
				
			|||||||
@ -112,9 +112,7 @@ void UsrMessageNatives::OnHandleDestroy(HandleType_t type, void *object)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool UsrMessageNatives::GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize)
 | 
					bool UsrMessageNatives::GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	bf_read *pRead = (bf_read *)object;
 | 
						*pSize = sizeof(bf_read);
 | 
				
			||||||
 | 
					 | 
				
			||||||
	*pSize = sizeof(bf_read) + pRead->GetNumBytesRead() + pRead->GetNumBytesLeft();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return true;
 | 
						return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -31,7 +31,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "sm_globals.h"
 | 
					#include "sm_globals.h"
 | 
				
			||||||
#include <vector.h>
 | 
					#include <vector.h>
 | 
				
			||||||
#include <mathlib/math_base.h>
 | 
					#if defined ORANGEBOX_BUILD
 | 
				
			||||||
 | 
					#include <mathlib.h>
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#include <math_base.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SET_VECTOR(addr, vec) \
 | 
					#define SET_VECTOR(addr, vec) \
 | 
				
			||||||
	addr[0] = sp_ftoc(vec.x); \
 | 
						addr[0] = sp_ftoc(vec.x); \
 | 
				
			||||||
@ -181,16 +185,6 @@ static cell_t NormalizeVector(IPluginContext *pContext, const cell_t *params)
 | 
				
			|||||||
	return sp_ftoc(length);
 | 
						return sp_ftoc(length);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//:TODO: OMG remove this when we get the OB SDK!!1
 | 
					 | 
				
			||||||
// as well as bitbuf.cpp (i write it here just to remind it)
 | 
					 | 
				
			||||||
#if defined ORANGEBOX_BUILD && !defined __linux__
 | 
					 | 
				
			||||||
float ham(float _X)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return sqrt(_X); 
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
float (*pfSqrt)(float x)  = ham;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
REGISTER_NATIVES(vectorNatives)
 | 
					REGISTER_NATIVES(vectorNatives)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	{"GetAngleVectors",			GetAngleVectors},
 | 
						{"GetAngleVectors",			GetAngleVectors},
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="Windows-1252"?>
 | 
					<?xml version="1.0" encoding="Windows-1252"?>
 | 
				
			||||||
<VisualStudioProject
 | 
					<VisualStudioProject
 | 
				
			||||||
	ProjectType="Visual C++"
 | 
						ProjectType="Visual C++"
 | 
				
			||||||
	Version="8,00"
 | 
						Version="8.00"
 | 
				
			||||||
	Name="cstrike"
 | 
						Name="cstrike"
 | 
				
			||||||
	ProjectGUID="{B3E797CF-4E77-4C9D-B8A8-7589B6902206}"
 | 
						ProjectGUID="{B3E797CF-4E77-4C9D-B8A8-7589B6902206}"
 | 
				
			||||||
	RootNamespace="cstrike"
 | 
						RootNamespace="cstrike"
 | 
				
			||||||
@ -200,7 +200,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM16);$(SOURCEMM16)\sourcemm;$(SOURCEMM16)\sourcehook"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -223,7 +223,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
									OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -280,7 +280,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM16);$(SOURCEMM16)\sourcemm;$(SOURCEMM16)\sourcehook"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -303,7 +303,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDKOB)\lib\public\tier0.lib $(HL2SDKOB)\lib\public\tier1.lib $(HL2SDKOB)\lib\public\vstdlib.lib $(HL2SDKOB)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib" "$(HL2SDKOB)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
									OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -360,7 +360,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM142);$(SOURCEMM142)\sourcemm;$(SOURCEMM142)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM14);$(SOURCEMM14)\sourcemm;$(SOURCEMM14)\sourcehook"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -383,7 +383,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
									OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -441,7 +441,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM142);$(SOURCEMM142)\sourcemm;$(SOURCEMM142)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM14);$(SOURCEMM14)\sourcemm;$(SOURCEMM14)\sourcehook"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="1"
 | 
									EnableEnhancedInstructionSet="1"
 | 
				
			||||||
@ -462,7 +462,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
									OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -522,7 +522,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM16);$(SOURCEMM16)\sourcemm;$(SOURCEMM16)\sourcehook"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="1"
 | 
									EnableEnhancedInstructionSet="1"
 | 
				
			||||||
@ -543,7 +543,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDKOB)\lib\public\tier0.lib $(HL2SDKOB)\lib\public\tier1.lib $(HL2SDKOB)\lib\public\vstdlib.lib $(HL2SDKOB)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib" "$(HL2SDKOB)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
									OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -603,7 +603,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM16);$(SOURCEMM16)\sourcemm;$(SOURCEMM16)\sourcehook"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="1"
 | 
									EnableEnhancedInstructionSet="1"
 | 
				
			||||||
@ -624,7 +624,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
									OutputFile="$(OutDir)\game.cstrike.ext.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="Windows-1252"?>
 | 
					<?xml version="1.0" encoding="Windows-1252"?>
 | 
				
			||||||
<VisualStudioProject
 | 
					<VisualStudioProject
 | 
				
			||||||
	ProjectType="Visual C++"
 | 
						ProjectType="Visual C++"
 | 
				
			||||||
	Version="8,00"
 | 
						Version="8.00"
 | 
				
			||||||
	Name="sdktools"
 | 
						Name="sdktools"
 | 
				
			||||||
	ProjectGUID="{7A740927-C751-4312-BF9D-6367F8C508F8}"
 | 
						ProjectGUID="{7A740927-C751-4312-BF9D-6367F8C508F8}"
 | 
				
			||||||
	RootNamespace="sdk"
 | 
						RootNamespace="sdk"
 | 
				
			||||||
@ -202,7 +202,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\dlls";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\tier0";"'$(HL2SDKOB)\public\tier1"";"$(HL2SDKOB)\public\vstdlib";"$(HL2SDKOB)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook";"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;ORANGEBOX_BUILD"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;ORANGEBOX_BUILD"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -225,7 +225,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDKOB)\lib\public\tier0.lib $(HL2SDKOB)\lib\public\tier1.lib $(HL2SDKOB)\lib\public\vstdlib.lib $(HL2SDKOB)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib" "$(HL2SDKOB)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
									OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				IgnoreDefaultLibraryNames="LIBCMT"
 | 
									IgnoreDefaultLibraryNames="LIBCMT"
 | 
				
			||||||
@ -283,7 +283,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -306,7 +306,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
									OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				IgnoreDefaultLibraryNames="LIBCMT"
 | 
									IgnoreDefaultLibraryNames="LIBCMT"
 | 
				
			||||||
@ -364,7 +364,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				Optimization="0"
 | 
									Optimization="0"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM142);$(SOURCEMM142)\sourcemm;$(SOURCEMM142)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM14)";"$(SOURCEMM14)\sourcemm";"$(SOURCEMM14)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				MinimalRebuild="true"
 | 
									MinimalRebuild="true"
 | 
				
			||||||
				BasicRuntimeChecks="3"
 | 
									BasicRuntimeChecks="3"
 | 
				
			||||||
@ -387,7 +387,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
									OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
				
			||||||
				LinkIncremental="2"
 | 
									LinkIncremental="2"
 | 
				
			||||||
				IgnoreDefaultLibraryNames="LIBCMT"
 | 
									IgnoreDefaultLibraryNames="LIBCMT"
 | 
				
			||||||
@ -446,7 +446,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDKOB)\public;$(HL2SDKOB)\public\dlls;$(HL2SDKOB)\public\engine;$(HL2SDKOB)\public\tier0;$(HL2SDKOB)\public\tier1;$(HL2SDKOB)\public\vstdlib;$(HL2SDKOB)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\dlls";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\tier0";"'$(HL2SDKOB)\public\tier1"";"$(HL2SDKOB)\public\vstdlib";"$(HL2SDKOB)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook";"
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;ORANGEBOX_BUILD"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;ORANGEBOX_BUILD"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="1"
 | 
									EnableEnhancedInstructionSet="1"
 | 
				
			||||||
@ -467,7 +467,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDKOB)\lib\public\tier0.lib $(HL2SDKOB)\lib\public\tier1.lib $(HL2SDKOB)\lib\public\vstdlib.lib $(HL2SDKOB)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib" "$(HL2SDKOB)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
									OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -527,7 +527,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM);$(SOURCEMM)\sourcemm;$(SOURCEMM)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM16)";"$(SOURCEMM16)\sourcemm";"$(SOURCEMM16)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="1"
 | 
									EnableEnhancedInstructionSet="1"
 | 
				
			||||||
@ -548,7 +548,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
									OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
@ -608,7 +608,7 @@
 | 
				
			|||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCCLCompilerTool"
 | 
									Name="VCCLCompilerTool"
 | 
				
			||||||
				FavorSizeOrSpeed="1"
 | 
									FavorSizeOrSpeed="1"
 | 
				
			||||||
				AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;$(HL2SDK)\public;$(HL2SDK)\public\dlls;$(HL2SDK)\public\engine;$(HL2SDK)\public\tier0;$(HL2SDK)\public\tier1;$(HL2SDK)\public\vstdlib;$(HL2SDK)\tier1;$(SOURCEMM142);$(SOURCEMM142)\sourcemm;$(SOURCEMM142)\sourcehook"
 | 
									AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(HL2SDK)\public\vstdlib";"$(HL2SDK)\tier1";"$(SOURCEMM14)";"$(SOURCEMM14)\sourcemm";"$(SOURCEMM14)\sourcehook""
 | 
				
			||||||
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
									PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
 | 
				
			||||||
				RuntimeLibrary="0"
 | 
									RuntimeLibrary="0"
 | 
				
			||||||
				EnableEnhancedInstructionSet="1"
 | 
									EnableEnhancedInstructionSet="1"
 | 
				
			||||||
@ -629,7 +629,7 @@
 | 
				
			|||||||
			/>
 | 
								/>
 | 
				
			||||||
			<Tool
 | 
								<Tool
 | 
				
			||||||
				Name="VCLinkerTool"
 | 
									Name="VCLinkerTool"
 | 
				
			||||||
				AdditionalDependencies="$(HL2SDK)\lib\public\tier0.lib $(HL2SDK)\lib\public\tier1.lib $(HL2SDK)\lib\public\vstdlib.lib $(HL2SDK)\lib\public\mathlib.lib"
 | 
									AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib" "$(HL2SDK)\lib\public\mathlib.lib""
 | 
				
			||||||
				OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
									OutputFile="$(OutDir)\sdktools.ext.dll"
 | 
				
			||||||
				LinkIncremental="1"
 | 
									LinkIncremental="1"
 | 
				
			||||||
				GenerateDebugInformation="true"
 | 
									GenerateDebugInformation="true"
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user