mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2024-12-27 07:15:31 +03:00
Added WIP v142 toolset support based on Source SDK 2013: Community Edition repo
This commit is contained in:
parent
7ce328cbb9
commit
9b795b3c51
@ -80,7 +80,7 @@ public:
|
||||
QAngle m_angRotation;
|
||||
Vector m_vOriginVelocity;
|
||||
int m_nLastFramecount : 31;
|
||||
int m_bAnglesComputed : 1;
|
||||
bool m_bAnglesComputed : 1;
|
||||
};
|
||||
|
||||
|
||||
|
@ -4927,9 +4927,15 @@ C_BaseEntity *C_BaseEntity::Instance( int iEnt )
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
#if _MSC_VER < 1900
|
||||
#pragma warning( push )
|
||||
#include <typeinfo.h>
|
||||
#pragma warning( pop )
|
||||
#else
|
||||
#include <typeinfo>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -1263,7 +1263,7 @@ public:
|
||||
#ifdef _DEBUG
|
||||
void FunctionCheck( void *pFunction, const char *name );
|
||||
|
||||
ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, char *name )
|
||||
ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, const char *name )
|
||||
{
|
||||
//COMPILE_TIME_ASSERT( sizeof(func) == 4 );
|
||||
m_pfnTouch = func;
|
||||
|
@ -528,15 +528,15 @@ void CLCD::ShowItems_R( CLCDPage *page, unsigned int dwCurTime, CUtlVector< CLCD
|
||||
{
|
||||
CLCDItem *newItem = NULL;
|
||||
|
||||
CLCDItem *item = ag->m_Definition[ r ];
|
||||
switch ( item->m_Type )
|
||||
CLCDItem *itemLocl = ag->m_Definition[ r ];
|
||||
switch ( itemLocl->m_Type )
|
||||
{
|
||||
default:
|
||||
break;
|
||||
|
||||
case LCDITEM_TEXT:
|
||||
{
|
||||
CLCDItemText *text = static_cast< CLCDItemText * >( item );
|
||||
CLCDItemText *text = static_cast< CLCDItemText * >( itemLocl );
|
||||
CUtlString s;
|
||||
s = text->m_OriginalText;
|
||||
Replace( s, prefix, s1 );
|
||||
@ -551,7 +551,7 @@ void CLCD::ShowItems_R( CLCDPage *page, unsigned int dwCurTime, CUtlVector< CLCD
|
||||
|
||||
// text->m_OriginalText = s;
|
||||
|
||||
CLCDItemText *copy = static_cast< CLCDItemText * >( page->Alloc( item->m_Type ) );
|
||||
CLCDItemText *copy = static_cast< CLCDItemText * >( page->Alloc( itemLocl->m_Type ) );
|
||||
*copy = *text;
|
||||
copy->m_bActive = true;
|
||||
copy->m_OriginalText = s;
|
||||
@ -564,8 +564,8 @@ void CLCD::ShowItems_R( CLCDPage *page, unsigned int dwCurTime, CUtlVector< CLCD
|
||||
break;
|
||||
case LCDITEM_ICON:
|
||||
{
|
||||
CLCDItemIcon *icon = static_cast< CLCDItemIcon * >( item );
|
||||
CLCDItemIcon *copy = static_cast< CLCDItemIcon * >( page->Alloc( item->m_Type ) );
|
||||
CLCDItemIcon *icon = static_cast< CLCDItemIcon * >( itemLocl );
|
||||
CLCDItemIcon *copy = static_cast< CLCDItemIcon * >( page->Alloc( itemLocl->m_Type ) );
|
||||
*copy = *icon;
|
||||
copy->m_bActive = true;
|
||||
copy->Create( m_lcd );
|
||||
@ -1186,16 +1186,16 @@ void CLCD::DumpPlayer()
|
||||
C_Team *team = player->GetTeam();
|
||||
if ( team )
|
||||
{
|
||||
CDescribeData helper( team );
|
||||
helper.DumpDescription( team->GetPredDescMap() );
|
||||
CDescribeData helperLocl( team );
|
||||
helperLocl.DumpDescription( team->GetPredDescMap() );
|
||||
}
|
||||
|
||||
Msg( "(playerresource)\n\n" );
|
||||
|
||||
if ( g_PR )
|
||||
{
|
||||
CDescribeData helper( g_PR );
|
||||
helper.DumpDescription( g_PR->GetPredDescMap() );
|
||||
CDescribeData helperLocl( g_PR );
|
||||
helperLocl.DumpDescription( g_PR->GetPredDescMap() );
|
||||
}
|
||||
|
||||
Msg( "(localplayerweapon)\n\n" );
|
||||
@ -1203,8 +1203,8 @@ void CLCD::DumpPlayer()
|
||||
C_BaseCombatWeapon *active = player->GetActiveWeapon();
|
||||
if ( active )
|
||||
{
|
||||
CDescribeData helper( active );
|
||||
helper.DumpDescription( active->GetPredDescMap() );
|
||||
CDescribeData helperLocl( active );
|
||||
helperLocl.DumpDescription( active->GetPredDescMap() );
|
||||
}
|
||||
|
||||
Msg( "Other replacements:\n\n" );
|
||||
|
@ -21,9 +21,15 @@ static CPDumpPanel *g_pPDumpPanel = NULL;
|
||||
// we pragma'd away in platform.h, so this little compiler specific hack will eliminate those warnings while
|
||||
// retaining our own warning setup...ywb
|
||||
#ifdef WIN32
|
||||
|
||||
#if _MSC_VER < 1900
|
||||
#pragma warning( push )
|
||||
#include <typeinfo.h>
|
||||
#pragma warning( pop )
|
||||
#else
|
||||
#include <typeinfo>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
using namespace vgui;
|
||||
|
@ -25,7 +25,9 @@
|
||||
#include "tier0/icommandline.h"
|
||||
#include "inputsystem/iinputsystem.h"
|
||||
#include "inputsystem/ButtonCode.h"
|
||||
#if _MSC_VER < 1900
|
||||
#include "math.h"
|
||||
#endif
|
||||
#include "tier1/convar_serverbounded.h"
|
||||
#include "cam_thirdperson.h"
|
||||
|
||||
|
@ -119,7 +119,7 @@ entities. Each one is useful under different conditions.
|
||||
#include "tier0/fasttimer.h"
|
||||
#include "utllinkedlist.h"
|
||||
#include "utldict.h"
|
||||
#ifdef WIN32
|
||||
#if defined(WIN32) && _MSC_VER < 1900
|
||||
#include <typeinfo.h>
|
||||
#else
|
||||
#include <typeinfo>
|
||||
|
@ -6,7 +6,7 @@
|
||||
//=============================================================================//
|
||||
#include "cbase.h"
|
||||
#include "c_baseentity.h"
|
||||
#ifdef WIN32
|
||||
#if defined(WIN32) && _MSC_VER < 1900
|
||||
#include <typeinfo.h>
|
||||
#endif
|
||||
#include "tier0/vprof.h"
|
||||
|
@ -121,7 +121,7 @@ char *CHudTextMessage::BufferedLocaliseTextString( const char *msg )
|
||||
char *CHudTextMessage::LookupString( const char *msg, int *msg_dest )
|
||||
{
|
||||
if ( !msg )
|
||||
return "";
|
||||
return (char*)"";
|
||||
|
||||
// '#' character indicates this is a reference to a string in titles.txt, and not the string itself
|
||||
if ( msg[0] == '#' )
|
||||
|
@ -892,7 +892,7 @@ bool IsListeningToCommentary( void )
|
||||
void CPointCommentaryNode::Spawn( void )
|
||||
{
|
||||
// No model specified?
|
||||
char *szModel = (char *)STRING( GetModelName() );
|
||||
const char *szModel = STRING( GetModelName() );
|
||||
if (!szModel || !*szModel)
|
||||
{
|
||||
szModel = "models/extras/info_speech.mdl";
|
||||
|
@ -1272,7 +1272,7 @@ public:
|
||||
#ifdef _DEBUG
|
||||
void FunctionCheck( void *pFunction, const char *name );
|
||||
|
||||
ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, char *name )
|
||||
ENTITYFUNCPTR TouchSet( ENTITYFUNCPTR func, const char *name )
|
||||
{
|
||||
#ifdef GNUC
|
||||
COMPILE_TIME_ASSERT( sizeof(func) == 8 );
|
||||
@ -1283,7 +1283,7 @@ public:
|
||||
FunctionCheck( *(reinterpret_cast<void **>(&m_pfnTouch)), name );
|
||||
return func;
|
||||
}
|
||||
USEPTR UseSet( USEPTR func, char *name )
|
||||
USEPTR UseSet( USEPTR func, const char *name )
|
||||
{
|
||||
#ifdef GNUC
|
||||
COMPILE_TIME_ASSERT( sizeof(func) == 8 );
|
||||
@ -1294,7 +1294,7 @@ public:
|
||||
FunctionCheck( *(reinterpret_cast<void **>(&m_pfnUse)), name );
|
||||
return func;
|
||||
}
|
||||
ENTITYFUNCPTR BlockedSet( ENTITYFUNCPTR func, char *name )
|
||||
ENTITYFUNCPTR BlockedSet( ENTITYFUNCPTR func, const char *name )
|
||||
{
|
||||
#ifdef GNUC
|
||||
COMPILE_TIME_ASSERT( sizeof(func) == 8 );
|
||||
|
@ -14,6 +14,13 @@
|
||||
#include "sceneentity.h"
|
||||
#include "particles/particles.h"
|
||||
|
||||
#if _MSC_VER >= 1900
|
||||
#include "icommandline.h"
|
||||
#endif
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Interface from engine to tools for manipulating entities
|
||||
|
@ -412,7 +412,7 @@ void ExplosionCreate( const Vector ¢er, const QAngle &angles,
|
||||
|
||||
CEnvExplosion *pExplosion = (CEnvExplosion*)CBaseEntity::Create( "env_explosion", center, angles, pOwner );
|
||||
Q_snprintf( buf,sizeof(buf), "%3d", magnitude );
|
||||
char *szKeyName = "iMagnitude";
|
||||
const char *szKeyName = "iMagnitude";
|
||||
char *szValue = buf;
|
||||
pExplosion->KeyValue( szKeyName, szValue );
|
||||
|
||||
|
@ -67,7 +67,7 @@ public: // CBaseGameSystem overrides
|
||||
virtual void Shutdown();
|
||||
virtual void FrameUpdatePostEntityThink();
|
||||
virtual void LevelInitPostEntity();
|
||||
virtual char *GetFixedCameraEntityName( void ) { return "point_viewcontrol"; }
|
||||
virtual const char *GetFixedCameraEntityName( void ) { return "point_viewcontrol"; }
|
||||
|
||||
bool SetCameraMan( int iPlayerIndex );
|
||||
int GetCameraMan() { return m_iCameraManIndex; }
|
||||
|
@ -303,7 +303,7 @@ void CNavMesh::CommandNavMergeMesh( const CCommand &args )
|
||||
//--------------------------------------------------------------------------------------------------------
|
||||
int NavMeshMergeAutocomplete( char const *partial, char commands[ COMMAND_COMPLETION_MAXITEMS ][ COMMAND_COMPLETION_ITEM_LENGTH ] )
|
||||
{
|
||||
char *commandName = "nav_merge_mesh";
|
||||
const char *commandName = "nav_merge_mesh";
|
||||
int numMatches = 0;
|
||||
partial += Q_strlen( commandName ) + 1;
|
||||
int partialLength = Q_strlen( partial );
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
|
||||
#include "cbase.h"
|
||||
#ifdef _WIN32
|
||||
#if POSIX || _MSC_VER >= 1900
|
||||
#include <typeinfo>
|
||||
#elif defined(_WIN32)
|
||||
#include "typeinfo.h"
|
||||
// BUGBUG: typeinfo stomps some of the warning settings (in yvals.h)
|
||||
#pragma warning(disable:4244)
|
||||
#elif POSIX
|
||||
#include <typeinfo>
|
||||
#else
|
||||
#error "need typeinfo defined"
|
||||
#endif
|
||||
@ -942,8 +942,8 @@ void CBaseEntity::PhysicsDispatchThink( BASEPTR thinkFunc )
|
||||
if ( thinkLimit )
|
||||
{
|
||||
// calculate running time of the AI in milliseconds
|
||||
float time = ( engine->Time() - startTime ) * 1000.0f;
|
||||
if ( time > thinkLimit )
|
||||
float flTime = ( engine->Time() - startTime ) * 1000.0f;
|
||||
if ( flTime > thinkLimit )
|
||||
{
|
||||
#if defined( _XBOX ) && !defined( _RETAIL )
|
||||
if ( vprof_think_limit.GetBool() )
|
||||
@ -956,14 +956,14 @@ void CBaseEntity::PhysicsDispatchThink( BASEPTR thinkFunc )
|
||||
CAI_BaseNPC *pNPC = MyNPCPointer();
|
||||
if (pNPC && pNPC->GetCurSchedule())
|
||||
{
|
||||
pNPC->ReportOverThinkLimit( time );
|
||||
pNPC->ReportOverThinkLimit( flTime );
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef _WIN32
|
||||
Msg( "%s(%s) thinking for %.02f ms!!!\n", GetClassname(), typeid(this).raw_name(), time );
|
||||
Msg( "%s(%s) thinking for %.02f ms!!!\n", GetClassname(), typeid(this).raw_name(), flTime );
|
||||
#elif POSIX
|
||||
Msg( "%s(%s) thinking for %.02f ms!!!\n", GetClassname(), typeid(this).name(), time );
|
||||
Msg( "%s(%s) thinking for %.02f ms!!!\n", GetClassname(), typeid(this).name(), flTime );
|
||||
#else
|
||||
#error "typeinfo"
|
||||
#endif
|
||||
|
@ -25,7 +25,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~CGameEventListener()
|
||||
virtual ~CGameEventListener()
|
||||
{
|
||||
StopListeningForAllEvents();
|
||||
}
|
||||
|
@ -1126,7 +1126,7 @@ float CountdownTimer::Now( void ) const
|
||||
#endif
|
||||
|
||||
|
||||
char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename )
|
||||
const char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename )
|
||||
{
|
||||
const char *pValue = pSub->GetString( pName, NULL );
|
||||
if ( !pValue )
|
||||
|
@ -606,7 +606,7 @@ private:
|
||||
float Now( void ) const; // work-around since client header doesn't like inlined gpGlobals->curtime
|
||||
};
|
||||
|
||||
char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename = NULL );
|
||||
const char* ReadAndAllocStringValue( KeyValues *pSub, const char *pName, const char *pFilename = NULL );
|
||||
|
||||
int UTIL_StringFieldToInt( const char *szValue, const char **pValueStrings, int iNumStrings );
|
||||
|
||||
|
@ -1015,12 +1015,12 @@ CPolyhedron *ClipLinkedGeometry( GeneratePolyhedronFromPlanes_UnorderedPolygonLL
|
||||
|
||||
//Scan for onplane points connected to only other onplane/dead points, these points get downgraded to dead status.
|
||||
{
|
||||
GeneratePolyhedronFromPlanes_UnorderedPointLL *pActivePointWalk = pAllPoints;
|
||||
GeneratePolyhedronFromPlanes_UnorderedPointLL *pActivePointWalkLocl = pAllPoints;
|
||||
do
|
||||
{
|
||||
if( pActivePointWalk->pPoint->planarity == POINT_ONPLANE )
|
||||
if( pActivePointWalkLocl->pPoint->planarity == POINT_ONPLANE )
|
||||
{
|
||||
GeneratePolyhedronFromPlanes_LineLL *pOnPlaneLineWalk = pActivePointWalk->pPoint->pConnectedLines;
|
||||
GeneratePolyhedronFromPlanes_LineLL *pOnPlaneLineWalk = pActivePointWalkLocl->pPoint->pConnectedLines;
|
||||
GeneratePolyhedronFromPlanes_LineLL *pStartLineWalk = pOnPlaneLineWalk;
|
||||
bool bDead = true; //assume it's dead and disprove
|
||||
do
|
||||
@ -1047,7 +1047,7 @@ CPolyhedron *ClipLinkedGeometry( GeneratePolyhedronFromPlanes_UnorderedPolygonLL
|
||||
|
||||
if( bDead )
|
||||
{
|
||||
pActivePointWalk->pPoint->planarity = POINT_DEAD;
|
||||
pActivePointWalkLocl->pPoint->planarity = POINT_DEAD;
|
||||
|
||||
pOnPlaneLineWalk = pStartLineWalk;
|
||||
|
||||
@ -1059,8 +1059,8 @@ CPolyhedron *ClipLinkedGeometry( GeneratePolyhedronFromPlanes_UnorderedPolygonLL
|
||||
} while( pOnPlaneLineWalk != pStartLineWalk );
|
||||
}
|
||||
}
|
||||
pActivePointWalk = pActivePointWalk->pNext;
|
||||
} while( pActivePointWalk );
|
||||
pActivePointWalkLocl = pActivePointWalkLocl->pNext;
|
||||
} while( pActivePointWalkLocl );
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
PlaneCutHistory.AddToTail( &pOutwardFacingPlanes[iCurrentPlane * 4] );
|
||||
@ -1337,17 +1337,17 @@ CPolyhedron *ClipLinkedGeometry( GeneratePolyhedronFromPlanes_UnorderedPolygonLL
|
||||
|
||||
//verify that the new point isn't sitting on top of another
|
||||
{
|
||||
GeneratePolyhedronFromPlanes_UnorderedPointLL *pActivePointWalk = pAllPoints;
|
||||
GeneratePolyhedronFromPlanes_UnorderedPointLL *pActivePointWalkLocl = pAllPoints;
|
||||
do
|
||||
{
|
||||
if( pActivePointWalk->pPoint != pNewPoint )
|
||||
if( pActivePointWalkLocl->pPoint != pNewPoint )
|
||||
{
|
||||
Vector vDiff = pActivePointWalk->pPoint->ptPosition - pNewPoint->ptPosition;
|
||||
Vector vDiff = pActivePointWalkLocl->pPoint->ptPosition - pNewPoint->ptPosition;
|
||||
|
||||
AssertMsg_DumpPolyhedron( vDiff.Length() > fOnPlaneEpsilon, "Generated a point on top of another" );
|
||||
}
|
||||
pActivePointWalk = pActivePointWalk->pNext;
|
||||
} while( pActivePointWalk );
|
||||
pActivePointWalkLocl = pActivePointWalk->pNext;
|
||||
} while( pActivePointWalkLocl );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -141,11 +141,11 @@ void CScratchPadGraph::UpdateTicksAndStuff( float flTime, float flValue )
|
||||
// Extend the lines attached to the time labels.
|
||||
for ( int i=0; i < m_nTimeLabelsDrawn; i++ )
|
||||
{
|
||||
float flTime = m_flTimeOrigin + m_nTimeLabelsDrawn * m_flTimeLabelEveryNSeconds;
|
||||
float flTimeLocl = m_flTimeOrigin + m_nTimeLabelsDrawn * m_flTimeLabelEveryNSeconds;
|
||||
|
||||
m_pPad->DrawLine(
|
||||
CSPVert((const Vector&) GetSamplePosition( flTime, m_flHighestValue )),
|
||||
CSPVert((const Vector&) GetSamplePosition( flTime, flValue ) )
|
||||
CSPVert((const Vector&) GetSamplePosition( flTimeLocl, m_flHighestValue )),
|
||||
CSPVert((const Vector&) GetSamplePosition( flTimeLocl, flValue ) )
|
||||
);
|
||||
}
|
||||
|
||||
@ -158,21 +158,21 @@ void CScratchPadGraph::UpdateTicksAndStuff( float flTime, float flValue )
|
||||
{
|
||||
CTextParams params;
|
||||
|
||||
float flTime = m_flTimeOrigin + m_nTimeLabelsDrawn * m_flTimeLabelEveryNSeconds;
|
||||
float flTimeLocl = m_flTimeOrigin + m_nTimeLabelsDrawn * m_flTimeLabelEveryNSeconds;
|
||||
|
||||
params.m_bSolidBackground = true;
|
||||
params.m_vPos = GetSamplePosition( flTime, m_flValueOrigin-5 );
|
||||
params.m_vPos = GetSamplePosition( flTimeLocl, m_flValueOrigin-5 );
|
||||
params.m_bTwoSided = true;
|
||||
|
||||
char str[512];
|
||||
Q_snprintf( str, sizeof( str ), "time: %.2f", flTime );
|
||||
Q_snprintf( str, sizeof( str ), "time: %.2f", flTimeLocl );
|
||||
m_pPad->DrawText( str, params );
|
||||
|
||||
|
||||
// Now draw the vertical line for the value..
|
||||
m_pPad->DrawLine(
|
||||
CSPVert( (const Vector&)GetSamplePosition( flTime, m_flValueOrigin ) ),
|
||||
CSPVert( (const Vector&)GetSamplePosition( flTime, m_flHighestValue ) )
|
||||
CSPVert( (const Vector&)GetSamplePosition( flTimeLocl, m_flValueOrigin ) ),
|
||||
CSPVert( (const Vector&)GetSamplePosition( flTimeLocl, m_flHighestValue ) )
|
||||
);
|
||||
|
||||
|
||||
|
@ -21,7 +21,7 @@ enum NormalDecodeMode_t
|
||||
};
|
||||
|
||||
// Forward declaration
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32) && _MSC_VER < 1900
|
||||
typedef enum _D3DFORMAT D3DFORMAT;
|
||||
#endif
|
||||
|
||||
@ -103,7 +103,7 @@ enum ImageFormat
|
||||
NUM_IMAGE_FORMATS
|
||||
};
|
||||
|
||||
#if defined( POSIX ) || defined( DX_TO_GL_ABSTRACTION )
|
||||
#if defined( POSIX ) || defined( DX_TO_GL_ABSTRACTION ) || _MSC_VER >= 1900
|
||||
typedef enum _D3DFORMAT
|
||||
{
|
||||
D3DFMT_INDEX16,
|
||||
|
@ -933,8 +933,8 @@ static void CalcVirtualAnimation( virtualmodel_t *pVModel, const CStudioHdr *pSt
|
||||
{
|
||||
if (pStudioHdr->boneFlags(i) & boneMask)
|
||||
{
|
||||
int j = pSeqGroup->boneMap[i];
|
||||
if (j >= 0 && pweight[j] > 0.0f)
|
||||
int l = pSeqGroup->boneMap[i];
|
||||
if (l >= 0 && pweight[l] > 0.0f)
|
||||
{
|
||||
if (animdesc.flags & STUDIO_DELTA)
|
||||
{
|
||||
@ -943,13 +943,13 @@ static void CalcVirtualAnimation( virtualmodel_t *pVModel, const CStudioHdr *pSt
|
||||
}
|
||||
else if (pSeqLinearBones)
|
||||
{
|
||||
q[i] = pSeqLinearBones->quat(j);
|
||||
pos[i] = pSeqLinearBones->pos(j);
|
||||
q[i] = pSeqLinearBones->quat(l);
|
||||
pos[i] = pSeqLinearBones->pos(l);
|
||||
}
|
||||
else
|
||||
{
|
||||
q[i] = pSeqbone[j].quat;
|
||||
pos[i] = pSeqbone[j].pos;
|
||||
q[i] = pSeqbone[l].quat;
|
||||
pos[i] = pSeqbone[l].pos;
|
||||
}
|
||||
#ifdef STUDIO_ENABLE_PERF_COUNTERS
|
||||
pStudioHdr->m_nPerfUsedBones++;
|
||||
@ -997,10 +997,9 @@ static void CalcVirtualAnimation( virtualmodel_t *pVModel, const CStudioHdr *pSt
|
||||
matrix3x4_t *boneToWorld = g_MatrixPool.Alloc();
|
||||
CBoneBitList boneComputed;
|
||||
|
||||
int i;
|
||||
for (i = 0; i < animdesc.numlocalhierarchy; i++)
|
||||
for (int l = 0; i < animdesc.numlocalhierarchy; i++)
|
||||
{
|
||||
mstudiolocalhierarchy_t *pHierarchy = animdesc.pHierarchy( i );
|
||||
mstudiolocalhierarchy_t *pHierarchy = animdesc.pHierarchy( l );
|
||||
|
||||
if ( !pHierarchy )
|
||||
break;
|
||||
@ -1141,10 +1140,9 @@ static void CalcAnimation( const CStudioHdr *pStudioHdr, Vector *pos, Quaternion
|
||||
matrix3x4_t *boneToWorld = g_MatrixPool.Alloc();
|
||||
CBoneBitList boneComputed;
|
||||
|
||||
int i;
|
||||
for (i = 0; i < animdesc.numlocalhierarchy; i++)
|
||||
for (int j = 0; j < animdesc.numlocalhierarchy; j++)
|
||||
{
|
||||
mstudiolocalhierarchy_t *pHierarchy = animdesc.pHierarchy( i );
|
||||
mstudiolocalhierarchy_t *pHierarchy = animdesc.pHierarchy( j );
|
||||
|
||||
if ( !pHierarchy )
|
||||
break;
|
||||
@ -5610,9 +5608,9 @@ bool Studio_AnimPosition( mstudioanimdesc_t *panim, float flCycle, Vector &vecPo
|
||||
vecAngle.y = vecAngle.y * (1 - f) + pmove->angle * f;
|
||||
if (iLoops != 0)
|
||||
{
|
||||
mstudiomovement_t *pmove = panim->pMovement( panim->nummovements - 1 );
|
||||
vecPos = vecPos + iLoops * pmove->position;
|
||||
vecAngle.y = vecAngle.y + iLoops * pmove->angle;
|
||||
mstudiomovement_t *pmoveLocl = panim->pMovement( panim->nummovements - 1 );
|
||||
vecPos = vecPos + iLoops * pmoveLocl->position;
|
||||
vecAngle.y = vecAngle.y + iLoops * pmoveLocl->angle;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ void* SendProxy_LengthTable( const SendProp *pProp, const void *pStructBase, con
|
||||
// Note: you have to be DILIGENT about calling NetworkStateChanged whenever an element in your CUtlVector changes
|
||||
// since CUtlVector doesn't do this automatically.
|
||||
SendProp SendPropUtlVector(
|
||||
char *pVarName, // Use SENDINFO_UTLVECTOR to generate these 4.
|
||||
const char *pVarName, // Use SENDINFO_UTLVECTOR to generate these 4.
|
||||
int offset, // Used to generate pData in the function specified in varProxy.
|
||||
int sizeofVar, // The size of each element in the utlvector.
|
||||
EnsureCapacityFn ensureFn, // This is the value returned for elements out of the array's current range.
|
||||
|
@ -43,7 +43,7 @@
|
||||
// )
|
||||
//
|
||||
SendProp SendPropUtlVector(
|
||||
char *pVarName, // Use SENDINFO_UTLVECTOR to generate these first 4 parameters.
|
||||
const char *pVarName, // Use SENDINFO_UTLVECTOR to generate these first 4 parameters.
|
||||
int offset,
|
||||
int sizeofVar,
|
||||
EnsureCapacityFn ensureFn,
|
||||
|
@ -138,6 +138,10 @@ void ConnectHaptics(CreateInterfaceFn appFactory)
|
||||
HookHapticMessages();
|
||||
}
|
||||
|
||||
// deleting haptics results in a warning about deleting something with a non-virtual destructor
|
||||
// big yikes but we can't do anything about it as it's accessed via interface
|
||||
#pragma warning (disable: 5205)
|
||||
|
||||
void DisconnectHaptics()
|
||||
{
|
||||
haptics->ShutdownHaptics();
|
||||
|
@ -154,7 +154,7 @@ class CPositionInterpolator_Linear : public IPositionInterpolator
|
||||
{
|
||||
public:
|
||||
virtual void Release();
|
||||
virtual void GetDetails( char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
virtual void GetDetails( const char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
virtual void SetKeyPosition( int keyNum, Vector const &vPos );
|
||||
virtual void InterpolatePosition( float time, Vector &vOut );
|
||||
virtual bool ProcessKey( char const *pName, char const *pValue ) { return false; }
|
||||
@ -171,7 +171,7 @@ void CPositionInterpolator_Linear::Release()
|
||||
{
|
||||
}
|
||||
|
||||
void CPositionInterpolator_Linear::GetDetails( char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
void CPositionInterpolator_Linear::GetDetails( const char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
{
|
||||
*outName = "Linear";
|
||||
*outMinKeyReq = 0;
|
||||
@ -201,7 +201,7 @@ class CPositionInterpolator_CatmullRom : public IPositionInterpolator
|
||||
{
|
||||
public:
|
||||
virtual void Release();
|
||||
virtual void GetDetails( char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
virtual void GetDetails( const char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
virtual void SetKeyPosition( int keyNum, Vector const &vPos );
|
||||
virtual void InterpolatePosition( float time, Vector &vOut );
|
||||
virtual bool ProcessKey( char const *pName, char const *pValue ) { return false; }
|
||||
@ -218,7 +218,7 @@ void CPositionInterpolator_CatmullRom::Release()
|
||||
{
|
||||
}
|
||||
|
||||
void CPositionInterpolator_CatmullRom::GetDetails( char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
void CPositionInterpolator_CatmullRom::GetDetails( const char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
{
|
||||
*outName = "Catmull-Rom Spline";
|
||||
*outMinKeyReq = -1;
|
||||
@ -282,7 +282,7 @@ public:
|
||||
CPositionInterpolator_Rope();
|
||||
|
||||
virtual void Release();
|
||||
virtual void GetDetails( char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
virtual void GetDetails( const char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
virtual void SetKeyPosition( int keyNum, Vector const &vPos );
|
||||
virtual void InterpolatePosition( float time, Vector &vOut );
|
||||
virtual bool ProcessKey( char const *pName, char const *pValue );
|
||||
@ -319,7 +319,7 @@ void CPositionInterpolator_Rope::Release()
|
||||
delete this;
|
||||
}
|
||||
|
||||
void CPositionInterpolator_Rope::GetDetails( char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
void CPositionInterpolator_Rope::GetDetails( const char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
{
|
||||
*outName = "Rope";
|
||||
*outMinKeyReq = 0;
|
||||
@ -433,7 +433,7 @@ typedef void (*RotationInterpolatorFunc_t)(float time, Quaternion &outRot);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *szName;
|
||||
const char *szName;
|
||||
RotationInterpolatorFunc_t pFunc;
|
||||
|
||||
// defines the range of keys this interpolator needs to function
|
||||
@ -458,7 +458,7 @@ int Motion_GetNumberOfRotationInterpolators( void )
|
||||
return ARRAYSIZE(g_RotationInterpolators);
|
||||
}
|
||||
|
||||
bool Motion_GetRotationInterpolatorDetails( int rotInterpNum, char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
bool Motion_GetRotationInterpolatorDetails( int rotInterpNum, const char **outName, int *outMinKeyReq, int *outMaxKeyReq )
|
||||
{
|
||||
if ( rotInterpNum < 0 || rotInterpNum >= Motion_GetNumberOfRotationInterpolators() )
|
||||
{
|
||||
|
@ -14,7 +14,7 @@ class IPositionInterpolator
|
||||
public:
|
||||
virtual void Release() = 0;
|
||||
|
||||
virtual void GetDetails( char **outName, int *outMinKeyReq, int *outMaxKeyReq ) = 0;
|
||||
virtual void GetDetails( const char **outName, int *outMinKeyReq, int *outMaxKeyReq ) = 0;
|
||||
virtual void SetKeyPosition( int keyNum, Vector const &vPos ) = 0;
|
||||
virtual void InterpolatePosition( float time, Vector &vOut ) = 0;
|
||||
|
||||
@ -34,7 +34,7 @@ IPositionInterpolator* Motion_GetPositionInterpolator( int interpNum );
|
||||
|
||||
// Rotation interpolators.
|
||||
int Motion_GetNumberOfRotationInterpolators( void );
|
||||
bool Motion_GetRotationInterpolatorDetails( int rotInterpNum, char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
bool Motion_GetRotationInterpolatorDetails( int rotInterpNum, const char **outName, int *outMinKeyReq, int *outMaxKeyReq );
|
||||
bool Motion_InterpolateRotation( float time, int interpFuncNum, Quaternion &outQuatRotation );
|
||||
bool Motion_SetKeyAngles( int keyNum, Quaternion &quatAngles );
|
||||
|
||||
|
@ -72,6 +72,10 @@ public:
|
||||
void Init( char const* pTexture, const char *pTextureGroupName, bool bComplain = true );
|
||||
void InitProceduralTexture( const char *pTextureName, const char *pTextureGroupName, int w, int h, ImageFormat fmt, int nFlags );
|
||||
void InitRenderTarget( int w, int h, RenderTargetSizeMode_t sizeMode, ImageFormat fmt, MaterialRenderTargetDepth_t depth, bool bHDR, char *pStrOptionalName = NULL );
|
||||
void InitRenderTarget(int w, int h, RenderTargetSizeMode_t sizeMode, ImageFormat fmt, MaterialRenderTargetDepth_t depth, bool bHDR, const char* pStrOptionalName = NULL)
|
||||
{
|
||||
InitRenderTarget(w, h, sizeMode, fmt, depth, bHDR, const_cast<char*>(pStrOptionalName));
|
||||
}
|
||||
#if defined( _X360 )
|
||||
// used when RT coupling is disparate (texture is DDR based, surface is EDRAM based)
|
||||
void InitRenderTargetTexture( int width, int height, RenderTargetSizeMode_t sizeMode, ImageFormat fmt, MaterialRenderTargetDepth_t depth, bool bHDR, char *pStrOptionalName = NULL );
|
||||
|
@ -744,9 +744,9 @@ private:
|
||||
const type* Base() const { return m_Value; } \
|
||||
int Count() const { return count; } \
|
||||
protected: \
|
||||
inline void NetworkStateChanged( int index ) \
|
||||
inline void NetworkStateChanged( int _index ) \
|
||||
{ \
|
||||
CHECK_USENETWORKVARS ((ThisClass*)(((char*)this) - MyOffsetOf(ThisClass,name)))->stateChangedFn( &m_Value[index] ); \
|
||||
CHECK_USENETWORKVARS ((ThisClass*)(((char*)this) - MyOffsetOf(ThisClass,name)))->stateChangedFn( &m_Value[_index] ); \
|
||||
} \
|
||||
type m_Value[count]; \
|
||||
}; \
|
||||
|
@ -181,7 +181,7 @@ class CGameSaveRestoreInfo
|
||||
{
|
||||
public:
|
||||
CGameSaveRestoreInfo()
|
||||
: tableCount( 0 ), pTable( 0 ), m_pCurrentEntity( 0 ), m_EntityToIndex( 1024 )
|
||||
: m_iTableCount( 0 ), m_pTable( 0 ), m_pCurrentEntity( 0 ), m_EntityToIndex( 1024 )
|
||||
{
|
||||
memset( &levelInfo, 0, sizeof( levelInfo ) );
|
||||
modelSpaceOffset.Init( 0, 0, 0 );
|
||||
@ -189,8 +189,8 @@ public:
|
||||
|
||||
void InitEntityTable( entitytable_t *pNewTable = NULL, int size = 0 )
|
||||
{
|
||||
pTable = pNewTable;
|
||||
tableCount = size;
|
||||
m_pTable = pNewTable;
|
||||
m_iTableCount = size;
|
||||
|
||||
for ( int i = 0; i < NumEntities(); i++ )
|
||||
{
|
||||
@ -200,17 +200,17 @@ public:
|
||||
|
||||
entitytable_t *DetachEntityTable()
|
||||
{
|
||||
entitytable_t *pReturn = pTable;
|
||||
pTable = NULL;
|
||||
tableCount = 0;
|
||||
entitytable_t *pReturn = m_pTable;
|
||||
m_pTable = NULL;
|
||||
m_iTableCount = 0;
|
||||
return pReturn;
|
||||
}
|
||||
|
||||
CBaseEntity *GetCurrentEntityContext() { return m_pCurrentEntity; }
|
||||
void SetCurrentEntityContext(CBaseEntity *pEntity) { m_pCurrentEntity = pEntity; }
|
||||
|
||||
int NumEntities() { return tableCount; }
|
||||
entitytable_t *GetEntityInfo( int i ) { return (pTable + i); }
|
||||
int NumEntities() { return m_iTableCount; }
|
||||
entitytable_t *GetEntityInfo( int i ) { return (m_pTable + i); }
|
||||
float GetBaseTime() const { return levelInfo.time; }
|
||||
Vector GetLandmark() const { return ( levelInfo.fUseLandmark ) ? levelInfo.vecLandmarkOffset : vec3_origin; }
|
||||
|
||||
@ -218,13 +218,13 @@ public:
|
||||
{
|
||||
#ifdef GAME_DLL
|
||||
int i;
|
||||
entitytable_t *pTable;
|
||||
entitytable_t *m_pTable;
|
||||
int nEntities = NumEntities();
|
||||
|
||||
for ( i = 0; i < nEntities; i++ )
|
||||
{
|
||||
pTable = GetEntityInfo( i );
|
||||
m_EntityToIndex.Insert( CHashElement( pTable->hEnt.Get(), i ) );
|
||||
m_pTable = GetEntityInfo( i );
|
||||
m_EntityToIndex.Insert( CHashElement( m_pTable->hEnt.Get(), i ) );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -269,8 +269,8 @@ public:
|
||||
Vector modelSpaceOffset; // used only for globaly entity brushes modelled in different coordinate systems.
|
||||
|
||||
private:
|
||||
int tableCount; // Number of elements in the entity table
|
||||
entitytable_t *pTable; // Array of entitytable_t elements (1 for each entity)
|
||||
int m_iTableCount; // Number of elements in the entity table
|
||||
entitytable_t *m_pTable; // Array of entitytable_t elements (1 for each entity)
|
||||
CBaseEntity *m_pCurrentEntity; // only valid during the save functions of this entity, NULL otherwise
|
||||
|
||||
|
||||
|
@ -51,7 +51,7 @@ public:
|
||||
m_pCachedRenderData = NULL;
|
||||
}
|
||||
|
||||
~CBaseCommand()
|
||||
virtual ~CBaseCommand()
|
||||
{
|
||||
ReleaseCachedRenderData();
|
||||
}
|
||||
|
@ -508,7 +508,7 @@ void CSentence::ParseWords( CUtlBuffer& buf )
|
||||
// Parse phoneme
|
||||
int code;
|
||||
char phonemename[ 256 ];
|
||||
float start, end;
|
||||
float startLocl, endLocl;
|
||||
float volume;
|
||||
|
||||
code = atoi( token );
|
||||
@ -516,9 +516,9 @@ void CSentence::ParseWords( CUtlBuffer& buf )
|
||||
buf.GetString( token );
|
||||
Q_strncpy( phonemename, token, sizeof( phonemename ) );
|
||||
buf.GetString( token );
|
||||
start = atof( token );
|
||||
startLocl = atof( token );
|
||||
buf.GetString( token );
|
||||
end = atof( token );
|
||||
endLocl = atof( token );
|
||||
buf.GetString( token );
|
||||
volume = atof( token );
|
||||
|
||||
@ -526,8 +526,8 @@ void CSentence::ParseWords( CUtlBuffer& buf )
|
||||
assert( pt );
|
||||
pt->SetPhonemeCode( code );
|
||||
pt->SetTag( phonemename );
|
||||
pt->SetStartTime( start );
|
||||
pt->SetEndTime( end );
|
||||
pt->SetStartTime( startLocl );
|
||||
pt->SetEndTime( endLocl );
|
||||
|
||||
AddPhonemeTag( wt, pt );
|
||||
}
|
||||
@ -1304,9 +1304,9 @@ void CSentence::Append( float starttime, const CSentence& src )
|
||||
|
||||
// Offset times
|
||||
int c = newWord->m_Phonemes.Count();
|
||||
for ( int i = 0; i < c; ++i )
|
||||
for ( int j = 0; j < c; ++j )
|
||||
{
|
||||
CPhonemeTag *tag = newWord->m_Phonemes[ i ];
|
||||
CPhonemeTag *tag = newWord->m_Phonemes[ j ];
|
||||
tag->AddStartTime( starttime );
|
||||
tag->AddEndTime( starttime );
|
||||
}
|
||||
|
@ -516,7 +516,7 @@ void studiohdr_t::SetAttachmentBone( int iAttachment, int iBone )
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
char *studiohdr_t::pszNodeName( int iNode )
|
||||
const char *studiohdr_t::pszNodeName( int iNode )
|
||||
{
|
||||
if (numincludemodels == 0)
|
||||
{
|
||||
@ -565,7 +565,7 @@ int studiohdr_t::GetActivityListVersion( void )
|
||||
virtualmodel_t *pVModel = (virtualmodel_t *)GetVirtualModel();
|
||||
Assert( pVModel );
|
||||
|
||||
int version = activitylistversion;
|
||||
int versionLocl = activitylistversion;
|
||||
|
||||
int i;
|
||||
for (i = 1; i < pVModel->m_group.Count(); i++)
|
||||
@ -575,15 +575,15 @@ int studiohdr_t::GetActivityListVersion( void )
|
||||
|
||||
Assert( pStudioHdr );
|
||||
|
||||
version = min( version, pStudioHdr->activitylistversion );
|
||||
versionLocl = min( versionLocl, pStudioHdr->activitylistversion );
|
||||
}
|
||||
|
||||
return version;
|
||||
return versionLocl;
|
||||
}
|
||||
|
||||
void studiohdr_t::SetActivityListVersion( int version ) const
|
||||
void studiohdr_t::SetActivityListVersion( int iVersion ) const
|
||||
{
|
||||
activitylistversion = version;
|
||||
activitylistversion = iVersion;
|
||||
|
||||
if (numincludemodels == 0)
|
||||
{
|
||||
@ -601,7 +601,7 @@ void studiohdr_t::SetActivityListVersion( int version ) const
|
||||
|
||||
Assert( pStudioHdr );
|
||||
|
||||
pStudioHdr->SetActivityListVersion( version );
|
||||
pStudioHdr->SetActivityListVersion( iVersion );
|
||||
}
|
||||
}
|
||||
|
||||
@ -1152,7 +1152,7 @@ void CStudioHdr::SetAttachmentBone( int iAttachment, int iBone )
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
char *CStudioHdr::pszNodeName( int iNode )
|
||||
const char *CStudioHdr::pszNodeName( int iNode )
|
||||
{
|
||||
if (m_pVModel == NULL)
|
||||
{
|
||||
@ -1433,9 +1433,9 @@ void CStudioHdr::RunFlexRules( const float *src, float *dest )
|
||||
{
|
||||
int m = pops->d.index;
|
||||
int km = k - m;
|
||||
for ( int i = km + 1; i < k; ++i )
|
||||
for ( int l = km + 1; l < k; ++l )
|
||||
{
|
||||
stack[ km ] *= stack[ i ];
|
||||
stack[ km ] *= stack[ l ];
|
||||
}
|
||||
k = k - m + 1;
|
||||
}
|
||||
@ -1445,9 +1445,9 @@ void CStudioHdr::RunFlexRules( const float *src, float *dest )
|
||||
int m = pops->d.index;
|
||||
int km = k - m;
|
||||
float dv = stack[ km ];
|
||||
for ( int i = km + 1; i < k; ++i )
|
||||
for ( int l = km + 1; l < k; ++l )
|
||||
{
|
||||
dv *= stack[ i ];
|
||||
dv *= stack[ l ];
|
||||
}
|
||||
stack[ km - 1 ] *= 1.0f - dv;
|
||||
k -= m;
|
||||
@ -1701,7 +1701,7 @@ void CStudioHdr::CActivityToSequenceMapping::Initialize( CStudioHdr * __restrict
|
||||
// This stack may potentially grow very large; so if you have problems with it,
|
||||
// go to a utlmap or similar structure.
|
||||
unsigned int allocsize = (topActivity + 1) * sizeof(int);
|
||||
#define ALIGN_VALUE( val, alignment ) ( ( val + alignment - 1 ) & ~( alignment - 1 ) ) // need macro for constant expression
|
||||
//#define ALIGN_VALUE( val, alignment ) ( ( val + alignment - 1 ) & ~( alignment - 1 ) ) // need macro for constant expression
|
||||
allocsize = ALIGN_VALUE(allocsize,16);
|
||||
int * __restrict seqsPerAct = static_cast<int *>(stackalloc(allocsize));
|
||||
memset(seqsPerAct, 0, allocsize);
|
||||
|
@ -2137,7 +2137,7 @@ struct studiohdr_t
|
||||
int GetSequenceActivity( int iSequence );
|
||||
void SetSequenceActivity( int iSequence, int iActivity );
|
||||
int GetActivityListVersion( void );
|
||||
void SetActivityListVersion( int version ) const;
|
||||
void SetActivityListVersion( int iVersion ) const;
|
||||
int GetEventListVersion( void );
|
||||
void SetEventListVersion( int version );
|
||||
|
||||
@ -2185,7 +2185,7 @@ struct studiohdr_t
|
||||
//public:
|
||||
int EntryNode( int iSequence );
|
||||
int ExitNode( int iSequence );
|
||||
char *pszNodeName( int iNode );
|
||||
const char *pszNodeName( int iNode );
|
||||
int GetTransition( int iFrom, int iTo ) const;
|
||||
|
||||
int numflexdesc;
|
||||
@ -2395,7 +2395,7 @@ public:
|
||||
|
||||
int EntryNode( int iSequence );
|
||||
int ExitNode( int iSequence );
|
||||
char *pszNodeName( int iNode );
|
||||
const char *pszNodeName( int iNode );
|
||||
// FIXME: where should this one be?
|
||||
int GetTransition( int iFrom, int iTo ) const;
|
||||
|
||||
|
@ -15,7 +15,9 @@
|
||||
#include "basetypes.h"
|
||||
#include "dbgflag.h"
|
||||
#include "platform.h"
|
||||
#if _MSC_VER < 1900
|
||||
#include <math.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
@ -247,10 +249,10 @@ DBG_INTERFACE struct SDL_Window * GetAssertDialogParent();
|
||||
if (!(_exp)) \
|
||||
{ \
|
||||
_SpewInfo( SPEW_ASSERT, __TFILE__, __LINE__ ); \
|
||||
SpewRetval_t ret = _SpewMessage("%s", static_cast<const char*>( _msg )); \
|
||||
SpewRetval_t _ret = _SpewMessage("%s", static_cast<const char*>( _msg )); \
|
||||
CallAssertFailedNotifyFunc( __TFILE__, __LINE__, _msg ); \
|
||||
_executeExp; \
|
||||
if ( ret == SPEW_DEBUGGER) \
|
||||
if ( _ret == SPEW_DEBUGGER) \
|
||||
{ \
|
||||
if ( !ShouldUseNewAssertDialog() || DoNewAssertDialog( __TFILE__, __LINE__, _msg ) ) \
|
||||
{ \
|
||||
|
@ -382,7 +382,12 @@ public:
|
||||
|
||||
#pragma warning(disable:4290)
|
||||
#pragma warning(push)
|
||||
|
||||
#if _MSC_VER < 1900
|
||||
#include <typeinfo.h>
|
||||
#else
|
||||
#include <typeinfo>
|
||||
#endif
|
||||
|
||||
// MEM_DEBUG_CLASSNAME is opt-in.
|
||||
// Note: typeid().name() is not threadsafe, so if the project needs to access it in multiple threads
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include "commonmacros.h"
|
||||
#include "memalloc.h"
|
||||
|
||||
#if defined(USE_MEM_DEBUG)
|
||||
#if USE_MEM_DEBUG
|
||||
#if defined( POSIX )
|
||||
|
||||
#define _NORMAL_BLOCK 1
|
||||
@ -91,7 +91,7 @@ inline void *MemAlloc_InlineCallocMemset( void *pMem, size_t nCount, size_t nEle
|
||||
}
|
||||
#endif
|
||||
|
||||
#define calloc(c, s) MemAlloc_InlineCallocMemset(malloc(c*s), c, s)
|
||||
#define calloc(c, s) MemAlloc_InlineCallocMemset(malloc((c)*(s)), (c), (s))
|
||||
#define free(p) g_pMemAlloc->Free( p )
|
||||
#define _msize(p) g_pMemAlloc->GetSize( p )
|
||||
#define _expand(p, s) _expand_NoLongerSupported(p, s)
|
||||
@ -99,7 +99,7 @@ inline void *MemAlloc_InlineCallocMemset( void *pMem, size_t nCount, size_t nEle
|
||||
|
||||
// --------------------------------------------------------
|
||||
// Debug path
|
||||
#if defined(USE_MEM_DEBUG)
|
||||
#if USE_MEM_DEBUG
|
||||
|
||||
#define malloc(s) g_pMemAlloc->Alloc( s, __FILE__, __LINE__)
|
||||
#define realloc(p, s) g_pMemAlloc->Realloc( p, s, __FILE__, __LINE__ )
|
||||
@ -231,7 +231,7 @@ inline wchar_t *MemAlloc_WcStrDup(const wchar_t *pString)
|
||||
|
||||
#else
|
||||
|
||||
#if defined(USE_MEM_DEBUG)
|
||||
#if USE_MEM_DEBUG
|
||||
#ifndef _STATIC_LINKED
|
||||
#pragma message ("Note: file includes crtdbg.h directly, therefore will cannot use memdbgon.h in non-debug build")
|
||||
#else
|
||||
|
@ -40,9 +40,17 @@
|
||||
#define __cdecl
|
||||
#endif
|
||||
|
||||
#undef _malloc_dbg
|
||||
#undef _calloc_dbg
|
||||
#undef _free_dbg
|
||||
#undef _CrtSetCheckCount
|
||||
#undef _CrtGetCheckCount
|
||||
#undef _CrtSetDebugFillThreshold
|
||||
|
||||
#if defined( _WIN32 ) && !defined( _X360 )
|
||||
const char *MakeModuleFileName()
|
||||
{
|
||||
#if _MSC_VER < 1900
|
||||
if ( g_pMemAlloc->IsDebugHeap() )
|
||||
{
|
||||
char *pszModuleName = (char *)HeapAlloc( GetProcessHeap(), 0, MAX_PATH ); // small leak, debug only
|
||||
@ -65,27 +73,36 @@ const char *MakeModuleFileName()
|
||||
|
||||
return pszModuleName;
|
||||
}
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void *AllocUnattributed( size_t nSize )
|
||||
{
|
||||
#if _MSC_VER < 1900
|
||||
static const char *pszOwner = MakeModuleFileName();
|
||||
|
||||
if ( !pszOwner )
|
||||
return g_pMemAlloc->Alloc(nSize);
|
||||
else
|
||||
return g_pMemAlloc->Alloc(nSize, pszOwner, 0);
|
||||
#else
|
||||
return g_pMemAlloc->Alloc(nSize);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void *ReallocUnattributed( void *pMem, size_t nSize )
|
||||
{
|
||||
#if _MSC_VER < 1900
|
||||
static const char *pszOwner = MakeModuleFileName();
|
||||
|
||||
if ( !pszOwner )
|
||||
return g_pMemAlloc->Realloc(pMem, nSize);
|
||||
else
|
||||
return g_pMemAlloc->Realloc(pMem, nSize, pszOwner, 0);
|
||||
#else
|
||||
return g_pMemAlloc->Realloc(pMem, nSize);
|
||||
#endif
|
||||
}
|
||||
|
||||
#else
|
||||
@ -108,6 +125,9 @@ inline void *ReallocUnattributed( void *pMem, size_t nSize )
|
||||
// this magic only works under win32
|
||||
// under linux this malloc() overrides the libc malloc() and so we
|
||||
// end up in a recursion (as g_pMemAlloc->Alloc() calls malloc)
|
||||
#if _MSC_VER >= 1900 && !defined(_CRTNOALIAS)
|
||||
#define _CRTNOALIAS
|
||||
#endif
|
||||
#if _MSC_VER >= 1400
|
||||
#define ALLOC_CALL _CRTNOALIAS _CRTRESTRICT
|
||||
#define FREE_CALL _CRTNOALIAS
|
||||
@ -155,6 +175,11 @@ void* __cdecl _malloc_base( size_t nSize )
|
||||
{
|
||||
return AllocUnattributed( nSize );
|
||||
}
|
||||
#elif _MSC_VER >= 1900
|
||||
__declspec(restrict) void* _malloc_base(size_t nSize)
|
||||
{
|
||||
return AllocUnattributed(nSize);
|
||||
}
|
||||
#else
|
||||
void *_malloc_base( size_t nSize )
|
||||
{
|
||||
@ -162,24 +187,47 @@ void *_malloc_base( size_t nSize )
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSC_VER >= 1900
|
||||
__declspec(restrict) void* _calloc_base(size_t count, size_t nSize)
|
||||
{
|
||||
void* pMem = AllocUnattributed(count * nSize);
|
||||
memset(pMem, 0, count * nSize);
|
||||
return pMem;
|
||||
}
|
||||
#else
|
||||
void *_calloc_base( size_t nSize )
|
||||
{
|
||||
void *pMem = AllocUnattributed( nSize );
|
||||
memset(pMem, 0, nSize);
|
||||
return pMem;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSC_VER >= 1900
|
||||
__declspec(restrict) void* _realloc_base(void* pMem, size_t nSize)
|
||||
{
|
||||
return ReallocUnattributed(pMem, nSize);
|
||||
}
|
||||
#else
|
||||
void *_realloc_base( void *pMem, size_t nSize )
|
||||
{
|
||||
return ReallocUnattributed( pMem, nSize );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSC_VER >= 1900
|
||||
__declspec(restrict) void* _recalloc_base(void* pMem, size_t count, size_t nSize)
|
||||
{
|
||||
return _recalloc(pMem, count, nSize);
|
||||
}
|
||||
#else
|
||||
void *_recalloc_base( void *pMem, size_t nSize )
|
||||
{
|
||||
void *pMemOut = ReallocUnattributed( pMem, nSize );
|
||||
memset(pMemOut, 0, nSize);
|
||||
return pMemOut;
|
||||
}
|
||||
#endif
|
||||
|
||||
void _free_base( void *pMem )
|
||||
{
|
||||
@ -200,7 +248,11 @@ void * __cdecl _malloc_crt(size_t size)
|
||||
|
||||
void * __cdecl _calloc_crt(size_t count, size_t size)
|
||||
{
|
||||
#if _MSC_VER >= 1900
|
||||
return _calloc_base(count, size);
|
||||
#else
|
||||
return _calloc_base( count * size );
|
||||
#endif
|
||||
}
|
||||
|
||||
void * __cdecl _realloc_crt(void *ptr, size_t size)
|
||||
@ -210,14 +262,23 @@ void * __cdecl _realloc_crt(void *ptr, size_t size)
|
||||
|
||||
void * __cdecl _recalloc_crt(void *ptr, size_t count, size_t size)
|
||||
{
|
||||
#if _MSC_VER >= 1900
|
||||
return _recalloc_base(ptr, count, size);
|
||||
#else
|
||||
return _recalloc_base( ptr, size * count );
|
||||
#endif
|
||||
}
|
||||
|
||||
ALLOC_CALL void * __cdecl _recalloc ( void * memblock, size_t count, size_t size )
|
||||
{
|
||||
void *pMem = ReallocUnattributed( memblock, size * count );
|
||||
memset( pMem, 0, size * count );
|
||||
return pMem;
|
||||
const size_t oldSize = _msize(memblock);
|
||||
const size_t newSize = count * size;
|
||||
void* pMemOut = ReallocUnattributed(memblock, newSize);
|
||||
|
||||
if (newSize > oldSize)
|
||||
memset(((char*)pMemOut) + oldSize, 0, newSize - oldSize);
|
||||
|
||||
return pMemOut;
|
||||
}
|
||||
|
||||
size_t _msize_base( void *pMem )
|
||||
@ -485,6 +546,7 @@ void *__cdecl _calloc_dbg_impl( size_t nNum, size_t nSize, int nBlockUse,
|
||||
return _calloc_dbg( nNum, nSize, nBlockUse, szFileName, nLine );
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
void *__cdecl _realloc_dbg( void *pMem, size_t nNewSize, int nBlockUse,
|
||||
const char *pFileName, int nLine )
|
||||
{
|
||||
@ -498,6 +560,7 @@ void *__cdecl _expand_dbg( void *pMem, size_t nNewSize, int nBlockUse,
|
||||
Assert( 0 );
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
void __cdecl _free_dbg( void *pMem, int nBlockUse )
|
||||
{
|
||||
@ -505,6 +568,7 @@ void __cdecl _free_dbg( void *pMem, int nBlockUse )
|
||||
g_pMemAlloc->Free(pMem);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
size_t __cdecl _msize_dbg( void *pMem, int nBlockUse )
|
||||
{
|
||||
#ifdef _WIN32
|
||||
@ -514,6 +578,7 @@ size_t __cdecl _msize_dbg( void *pMem, int nBlockUse )
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
@ -614,6 +679,7 @@ ALLOC_CALL void * __cdecl _aligned_offset_recalloc( void * memblock, size_t coun
|
||||
extern "C"
|
||||
{
|
||||
|
||||
#ifdef DEBUG
|
||||
int _CrtDumpMemoryLeaks(void)
|
||||
{
|
||||
return 0;
|
||||
@ -628,11 +694,25 @@ int _CrtSetDbgFlag( int nNewFlag )
|
||||
{
|
||||
return g_pMemAlloc->CrtSetDbgFlag( nNewFlag );
|
||||
}
|
||||
#endif
|
||||
|
||||
// 64-bit port.
|
||||
#define AFNAME(var) __p_ ## var
|
||||
#define AFRET(var) &var
|
||||
|
||||
#if _MSC_VER >= 1900
|
||||
int* __cdecl __p__crtDbgFlag(void)
|
||||
{
|
||||
static int dummy = _CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_ALWAYS_DF;
|
||||
return &dummy;
|
||||
}
|
||||
|
||||
long* __cdecl __p__crtBreakAlloc(void)
|
||||
{
|
||||
static long dummy = 0;
|
||||
return &dummy;
|
||||
}
|
||||
#else
|
||||
int _crtDbgFlag = _CRTDBG_ALLOC_MEM_DF;
|
||||
int* AFNAME(_crtDbgFlag)(void)
|
||||
{
|
||||
@ -644,12 +724,14 @@ long* AFNAME(_crtBreakAlloc) (void)
|
||||
{
|
||||
return AFRET(_crtBreakAlloc);
|
||||
}
|
||||
#endif
|
||||
|
||||
void __cdecl _CrtSetDbgBlockType( void *pMem, int nBlockUse )
|
||||
{
|
||||
DebuggerBreak();
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
_CRT_ALLOC_HOOK __cdecl _CrtSetAllocHook( _CRT_ALLOC_HOOK pfnNewHook )
|
||||
{
|
||||
DebuggerBreak();
|
||||
@ -710,13 +792,14 @@ void __cdecl _CrtDoForAllClientObjects( void (*pfn)(void *, void *), void * pCon
|
||||
{
|
||||
DebuggerBreak();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Methods in dbgrpt.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
long _crtAssertBusy = -1;
|
||||
|
||||
#ifdef DEBUG
|
||||
int __cdecl _CrtSetReportMode( int nReportType, int nReportMode )
|
||||
{
|
||||
return g_pMemAlloc->CrtSetReportMode( nReportType, nReportMode );
|
||||
@ -731,6 +814,7 @@ _CRT_REPORT_HOOK __cdecl _CrtSetReportHook( _CRT_REPORT_HOOK pfnNewHook )
|
||||
{
|
||||
return (_CRT_REPORT_HOOK)g_pMemAlloc->CrtSetReportHook( pfnNewHook );
|
||||
}
|
||||
#endif
|
||||
|
||||
int __cdecl _CrtDbgReport( int nRptType, const char * szFile,
|
||||
int nLine, const char * szModule, const char * szFormat, ... )
|
||||
@ -863,7 +947,7 @@ ErrorHandlerRegistrar::ErrorHandlerRegistrar()
|
||||
_set_invalid_parameter_handler( VInvalidParameterHandler );
|
||||
}
|
||||
|
||||
#if defined( _DEBUG )
|
||||
#if 0 // defined( _DEBUG )
|
||||
|
||||
// wrapper which passes no debug info; not available in debug
|
||||
#ifndef SUPPRESS_INVALID_PARAMETER_NO_INFO
|
||||
@ -887,21 +971,41 @@ int __cdecl __crtMessageWindowW( int nRptType, const wchar_t * szFile, const wch
|
||||
int __cdecl _CrtDbgReportV( int nRptType, const wchar_t *szFile, int nLine,
|
||||
const wchar_t *szModule, const wchar_t *szFormat, va_list arglist )
|
||||
{
|
||||
Assert(0);
|
||||
wchar_t buffer[256];
|
||||
vswprintf(buffer, 256, szFormat, arglist);
|
||||
DevWarning("%ls", buffer);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __cdecl _CrtDbgReportW( int nRptType, const wchar_t *szFile, int nLine,
|
||||
const wchar_t *szModule, const wchar_t *szFormat, ...)
|
||||
{
|
||||
Assert(0);
|
||||
wchar_t buffer[256];
|
||||
va_list args;
|
||||
va_start(args, szFormat);
|
||||
vswprintf(buffer, 256, szFormat, args);
|
||||
va_end(args);
|
||||
DevWarning("%ls", buffer);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if _MSC_VER >= 1900
|
||||
int __cdecl _VCrtDbgReportA(int nRptType, void* returnAddress, const char* szFile, int nLine,
|
||||
const char* szModule, const char* szFormat, va_list arglist)
|
||||
#else
|
||||
int __cdecl _VCrtDbgReportA( int nRptType, const wchar_t * szFile, int nLine,
|
||||
const wchar_t * szModule, const wchar_t * szFormat, va_list arglist )
|
||||
#endif
|
||||
{
|
||||
Assert(0);
|
||||
#if _MSC_VER >= 1900
|
||||
char buffer[256];
|
||||
vsnprintf(buffer, 256, szFormat, arglist);
|
||||
DevWarning("%s", buffer);
|
||||
#else
|
||||
wchar_t buffer[256];
|
||||
vswprintf(buffer, 256, szFormat, arglist);
|
||||
DevWarning("%ls", buffer);
|
||||
#endif // _MSC_VER >= 1900
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -927,13 +1031,12 @@ extern "C" int __cdecl _CrtGetCheckCount( void )
|
||||
return __crtDebugCheckCount;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
// aligned offset debug
|
||||
extern "C" void * __cdecl _aligned_offset_recalloc_dbg( void * memblock, size_t count, size_t size, size_t align, size_t offset, const char * f_name, int line_n )
|
||||
{
|
||||
Assert( IsPC() || 0 );
|
||||
void *pMem = ReallocUnattributed( memblock, size * count );
|
||||
memset( pMem, 0, size * count );
|
||||
return pMem;
|
||||
return ReallocUnattributed(memblock, size * count);
|
||||
}
|
||||
|
||||
extern "C" void * __cdecl _aligned_recalloc_dbg( void *memblock, size_t count, size_t size, size_t align, const char * f_name, int line_n )
|
||||
@ -950,12 +1053,16 @@ _CRT_REPORT_HOOK __cdecl _CrtGetReportHook( void )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif // DEBUG
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
int __cdecl _CrtReportBlockType(const void * pUserData)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
} // end extern "C"
|
||||
@ -995,14 +1102,14 @@ void * __cdecl _heap_alloc_dbg( size_t nSize, int nBlockUse, const char * szFile
|
||||
static void * __cdecl realloc_help( void * pUserData, size_t * pnNewSize, int nBlockUse,const char * szFileName,
|
||||
int nLine, int fRealloc )
|
||||
{
|
||||
assert(0); // Shouldn't be needed
|
||||
Assert(0); // Shouldn't be needed
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
static void * __cdecl realloc_help( void * pUserData, size_t nNewSize, int nBlockUse, const char * szFileName,
|
||||
int nLine, int fRealloc)
|
||||
{
|
||||
assert(0); // Shouldn't be needed
|
||||
Assert(0); // Shouldn't be needed
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
@ -1018,11 +1125,13 @@ void __cdecl _free_dbg_nolock( void * pUserData, int nBlockUse)
|
||||
_free_dbg(pUserData, 0);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
_CRT_ALLOC_HOOK __cdecl _CrtGetAllocHook ( void)
|
||||
{
|
||||
assert(0);
|
||||
Assert(0);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int __cdecl CheckBytes( unsigned char * pb, unsigned char bCheck, size_t nSize)
|
||||
{
|
||||
@ -1030,12 +1139,13 @@ static int __cdecl CheckBytes( unsigned char * pb, unsigned char bCheck, size_t
|
||||
return bOkay;
|
||||
}
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
_CRT_DUMP_CLIENT __cdecl _CrtGetDumpClient ( void)
|
||||
{
|
||||
assert(0);
|
||||
Assert(0);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSC_VER >= 1400
|
||||
static void __cdecl _printMemBlockData( _locale_t plocinfo, _CrtMemBlockHeader * pHead)
|
||||
@ -1046,6 +1156,8 @@ static void __cdecl _CrtMemDumpAllObjectsSince_stat( const _CrtMemState * state,
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG) && _MSC_VER >= 1900
|
||||
void * __cdecl _aligned_malloc_dbg( size_t size, size_t align, const char * f_name, int line_n)
|
||||
{
|
||||
return _aligned_malloc(size, align);
|
||||
@ -1073,16 +1185,19 @@ void __cdecl _aligned_free_dbg( void * memblock)
|
||||
{
|
||||
_aligned_free(memblock);
|
||||
}
|
||||
#endif // DEBUG
|
||||
|
||||
#if _MSC_VER < 1900
|
||||
size_t __cdecl _CrtSetDebugFillThreshold( size_t _NewDebugFillThreshold)
|
||||
{
|
||||
assert(0);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
//===========================================
|
||||
// NEW!!! 64-bit
|
||||
|
||||
#ifndef PROTECTED_THINGS_DISABLE
|
||||
char * __cdecl _strdup ( const char * string )
|
||||
{
|
||||
int nSize = (int)strlen(string) + 1;
|
||||
@ -1094,6 +1209,7 @@ char * __cdecl _strdup ( const char * string )
|
||||
memcpy( pCopy, string, nSize );
|
||||
return pCopy;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
_TSCHAR * __cdecl _tfullpath_dbg ( _TSCHAR *UserBuf, const _TSCHAR *path, size_t maxlen, int nBlockUse, const char * szFileName, int nLine )
|
||||
@ -1143,7 +1259,6 @@ _TSCHAR * __cdecl _ttempnam ( const _TSCHAR *dir, const _TSCHAR *pfx )
|
||||
Assert(0);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
wchar_t * __cdecl _wcsdup_dbg ( const wchar_t * string, int nBlockUse, const char * szFileName, int nLine )
|
||||
{
|
||||
@ -1156,6 +1271,7 @@ wchar_t * __cdecl _wcsdup ( const wchar_t * string )
|
||||
Assert(0);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
} // end extern "C"
|
||||
|
||||
@ -1344,6 +1460,12 @@ _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
|
||||
|
||||
/* Structure for each thread's data */
|
||||
|
||||
#if _MSC_VER >= 1900
|
||||
typedef __crt_multibyte_data* pthreadmbcinfo;
|
||||
typedef __crt_locale_data* pthreadlocinfo;
|
||||
typedef __crt_locale_pointers _locale_tstruct;
|
||||
#endif
|
||||
|
||||
struct _tiddata {
|
||||
unsigned long _tid; /* thread ID */
|
||||
|
||||
@ -1387,7 +1509,7 @@ struct _tiddata {
|
||||
* the thread */
|
||||
pthreadmbcinfo ptmbcinfo;
|
||||
|
||||
/* pointer to the copy of the locale informaton used by the thead */
|
||||
/* pointer to the copy of the locale information used by the thread */
|
||||
pthreadlocinfo ptlocinfo;
|
||||
int _ownlocale; /* if 1, this thread owns its own locale */
|
||||
|
||||
@ -1502,7 +1624,7 @@ struct _tiddata {
|
||||
* the thread */
|
||||
pthreadmbcinfo ptmbcinfo;
|
||||
|
||||
/* pointer to the copy of the locale informaton used by the thead */
|
||||
/* pointer to the copy of the locale information used by the thread */
|
||||
pthreadlocinfo ptlocinfo;
|
||||
int _ownlocale; /* if 1, this thread owns its own locale */
|
||||
|
||||
|
@ -367,7 +367,7 @@ typedef void * HINSTANCE;
|
||||
#define MAX_UNICODE_PATH MAX_PATH
|
||||
#endif
|
||||
|
||||
#define MAX_UNICODE_PATH_IN_UTF8 MAX_UNICODE_PATH*4
|
||||
#define MAX_UNICODE_PATH_IN_UTF8 (MAX_UNICODE_PATH*4)
|
||||
|
||||
#ifdef GNUC
|
||||
#undef offsetof
|
||||
@ -379,7 +379,7 @@ typedef void * HINSTANCE;
|
||||
#endif
|
||||
|
||||
|
||||
#define ALIGN_VALUE( val, alignment ) ( ( val + alignment - 1 ) & ~( alignment - 1 ) ) // need macro for constant expression
|
||||
#define ALIGN_VALUE( val, alignment ) ( ( (val) + (alignment) - 1 ) & ~( (alignment) - 1 ) ) // need macro for constant expression
|
||||
|
||||
// Used to step into the debugger
|
||||
#if defined( _WIN32 ) && !defined( _X360 )
|
||||
@ -572,7 +572,16 @@ typedef void * HINSTANCE;
|
||||
#endif
|
||||
// GCC 3.4.1 has a bug in supporting forced inline of templated functions
|
||||
// this macro lets us not force inlining in that case
|
||||
#if __GNUC__ < 4
|
||||
#define FORCEINLINE_TEMPLATE inline
|
||||
#else
|
||||
#define FORCEINLINE_TEMPLATE inline __attribute__((always_inline))
|
||||
#endif
|
||||
#if __cpp_constexpr >= 201304
|
||||
#define CONSTEXPR_FUNC constexpr
|
||||
#else
|
||||
#define CONSTEXPR_FUNC
|
||||
#endif
|
||||
// #define __stdcall __attribute__ ((__stdcall__))
|
||||
#endif
|
||||
|
||||
@ -672,6 +681,40 @@ typedef void * HINSTANCE;
|
||||
#pragma warning( disable : 4312 ) // conversion from 'unsigned int' to 'memhandle_t' of greater size
|
||||
#endif
|
||||
|
||||
// Detect C++11 support for "rvalue references" / "move semantics" / other C++11 (and up) stuff
|
||||
#if defined(_MSC_VER)
|
||||
#if _MSC_VER >= 1600
|
||||
#define VALVE_RVALUE_REFS 1
|
||||
#endif
|
||||
#if _MSC_VER >= 1800
|
||||
#define VALVE_INITIALIZER_LIST_SUPPORT 1
|
||||
#define VALVE_EXPLICIT_CONVERSION_OP 1
|
||||
#endif
|
||||
#elif defined(__clang__)
|
||||
#if __has_extension(cxx_rvalue_references)
|
||||
#define VALVE_RVALUE_REFS 1
|
||||
#endif
|
||||
#if __has_feature(cxx_generalized_initializers)
|
||||
#define VALVE_INITIALIZER_LIST_SUPPORT 1
|
||||
#endif
|
||||
#if __has_feature(cxx_explicit_conversions)
|
||||
#define VALVE_EXPLICIT_CONVERSION_OP 1
|
||||
#endif
|
||||
#elif defined(__GNUC__)
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6 )
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#define VALVE_RVALUE_REFS 1
|
||||
#define VALVE_INITIALIZER_LIST_SUPPORT 1
|
||||
#define VALVE_EXPLICIT_CONVERSION_OP 1
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef VALVE_RVALUE_REFS
|
||||
#include "tier0/valve_minmax_off.h"
|
||||
#include <utility>
|
||||
#include "tier0/valve_minmax_on.h"
|
||||
#endif
|
||||
|
||||
#ifdef POSIX
|
||||
#define _stricmp stricmp
|
||||
@ -1313,63 +1356,82 @@ inline const char *GetPlatformExt( void )
|
||||
template <class T>
|
||||
inline T* Construct( T* pMemory )
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
return ::new( pMemory ) T;
|
||||
}
|
||||
|
||||
template <class T, typename ARG1>
|
||||
inline T* Construct( T* pMemory, ARG1 a1 )
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
return ::new( pMemory ) T( a1 );
|
||||
}
|
||||
|
||||
template <class T, typename ARG1, typename ARG2>
|
||||
inline T* Construct( T* pMemory, ARG1 a1, ARG2 a2 )
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
return ::new( pMemory ) T( a1, a2 );
|
||||
}
|
||||
|
||||
template <class T, typename ARG1, typename ARG2, typename ARG3>
|
||||
inline T* Construct( T* pMemory, ARG1 a1, ARG2 a2, ARG3 a3 )
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
return ::new( pMemory ) T( a1, a2, a3 );
|
||||
}
|
||||
|
||||
template <class T, typename ARG1, typename ARG2, typename ARG3, typename ARG4>
|
||||
inline T* Construct( T* pMemory, ARG1 a1, ARG2 a2, ARG3 a3, ARG4 a4 )
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
return ::new( pMemory ) T( a1, a2, a3, a4 );
|
||||
}
|
||||
|
||||
template <class T, typename ARG1, typename ARG2, typename ARG3, typename ARG4, typename ARG5>
|
||||
inline T* Construct( T* pMemory, ARG1 a1, ARG2 a2, ARG3 a3, ARG4 a4, ARG5 a5 )
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
return ::new( pMemory ) T( a1, a2, a3, a4, a5 );
|
||||
}
|
||||
|
||||
template <class T, class P>
|
||||
inline void ConstructOneArg( T* pMemory, P const& arg)
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
::new( pMemory ) T(arg);
|
||||
}
|
||||
|
||||
template <class T, class P1, class P2 >
|
||||
inline void ConstructTwoArg( T* pMemory, P1 const& arg1, P2 const& arg2)
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
::new( pMemory ) T(arg1, arg2);
|
||||
}
|
||||
|
||||
template <class T, class P1, class P2, class P3 >
|
||||
inline void ConstructThreeArg( T* pMemory, P1 const& arg1, P2 const& arg2, P3 const& arg3)
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
::new( pMemory ) T(arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline T* CopyConstruct( T* pMemory, T const& src )
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
return ::new( pMemory ) T(src);
|
||||
}
|
||||
|
||||
#ifdef VALVE_RVALUE_REFS
|
||||
template <class T>
|
||||
inline void CopyConstruct(T* pMemory, T&& src)
|
||||
{
|
||||
HINT(pMemory != 0);
|
||||
::new(pMemory)T(std::forward<T>(src));
|
||||
}
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
inline void Destruct( T* pMemory )
|
||||
{
|
||||
|
@ -245,7 +245,7 @@ void CUtlSortVector<T, LessFunc, BaseVector>::QuickSort( LessFunc& less, int nLo
|
||||
ctx.m_pLessContext = m_pLessContext;
|
||||
ctx.m_pLessFunc = &less;
|
||||
|
||||
qsort_s( Base(), Count(), sizeof(T), (QSortCompareFunc_t)&CUtlSortVector<T, LessFunc>::CompareHelper, &ctx );
|
||||
qsort_s( this->Base(), this->Count(), sizeof(T), (QSortCompareFunc_t)&CUtlSortVector<T, LessFunc>::CompareHelper, &ctx );
|
||||
}
|
||||
#else
|
||||
typedef int (__cdecl *QSortCompareFunc_t)( const void *, const void *);
|
||||
|
@ -186,7 +186,7 @@ public:
|
||||
if( !m_bSwapBytes || ( sizeof(T) == 1 ) )
|
||||
{
|
||||
// If we were just going to swap in place then return.
|
||||
if( !inputBuffer )
|
||||
if( inputBuffer == outputBuffer )
|
||||
return;
|
||||
|
||||
// Otherwise copy the inputBuffer to the outputBuffer:
|
||||
|
@ -139,7 +139,7 @@ class IForceVirtualInheritancePanel
|
||||
// This is designed as an easy-access to the vgui-functionality; for more
|
||||
// low-level access to vgui functions use the IPanel/IClientPanel interfaces directly
|
||||
//-----------------------------------------------------------------------------
|
||||
class Panel : public IClientPanel, virtual IForceVirtualInheritancePanel
|
||||
class Panel : public IClientPanel, public virtual IForceVirtualInheritancePanel
|
||||
{
|
||||
DECLARE_CLASS_SIMPLE_NOBASE( Panel );
|
||||
|
||||
@ -1011,7 +1011,7 @@ public:
|
||||
|
||||
|
||||
void VguiPanelGetSortedChildPanelList( Panel *pParentPanel, void *pSortedPanels );
|
||||
void VguiPanelGetSortedChildButtonList( Panel *pParentPanel, void *pSortedPanels, char *pchFilter = NULL, int nFilterType = 0 );
|
||||
void VguiPanelGetSortedChildButtonList( Panel *pParentPanel, void *pSortedPanels, const char *pchFilter = NULL, int nFilterType = 0 );
|
||||
int VguiPanelNavigateSortedChildButtonList( void *pSortedPanels, int nDir );
|
||||
|
||||
|
||||
|
@ -828,6 +828,8 @@ enum ScriptStatus_t
|
||||
class IScriptVM
|
||||
{
|
||||
public:
|
||||
virtual ~IScriptVM() {}
|
||||
|
||||
virtual bool Init() = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
|
@ -425,11 +425,11 @@ void RayTracingEnvironment::Trace4Rays(const FourRays &rays, fltx4 TMin, fltx4 T
|
||||
MulSIMD(
|
||||
SubSIMD(ReplicateX4(CurNode->SplittingPlaneValue),
|
||||
rays.origin[split_plane_number]),OneOverRayDir[split_plane_number]);
|
||||
fltx4 active=CmpLeSIMD(TMin,TMax); // mask of which rays are active
|
||||
fltx4 activeLocl=CmpLeSIMD(TMin,TMax); // mask of which rays are active
|
||||
|
||||
// now, decide how to traverse children. can either do front,back, or do front and push
|
||||
// back.
|
||||
fltx4 hits_front=AndSIMD(active,CmpGeSIMD(dist_to_sep_plane,TMin));
|
||||
fltx4 hits_front=AndSIMD(activeLocl,CmpGeSIMD(dist_to_sep_plane,TMin));
|
||||
if (! IsAnyNegative(hits_front))
|
||||
{
|
||||
// missed the front. only traverse back
|
||||
@ -440,7 +440,7 @@ void RayTracingEnvironment::Trace4Rays(const FourRays &rays, fltx4 TMin, fltx4 T
|
||||
}
|
||||
else
|
||||
{
|
||||
fltx4 hits_back=AndSIMD(active,CmpLeSIMD(dist_to_sep_plane,TMax));
|
||||
fltx4 hits_back=AndSIMD(activeLocl,CmpLeSIMD(dist_to_sep_plane,TMax));
|
||||
if (! IsAnyNegative(hits_back) )
|
||||
{
|
||||
// missed the back - only need to traverse front node
|
||||
|
@ -155,14 +155,14 @@ void RayTracingEnvironment::RenderScene(
|
||||
fltx4 MaxT=ldir.length();
|
||||
ldir.VectorNormalizeFast();
|
||||
// now, compute shadow flag
|
||||
FourRays myrays;
|
||||
myrays.origin=surface_pos;
|
||||
FourRays myraysLocl;
|
||||
myraysLocl.origin=surface_pos;
|
||||
FourVectors epsilon=ldir;
|
||||
epsilon*=0.01;
|
||||
myrays.origin+=epsilon;
|
||||
myrays.direction=ldir;
|
||||
myraysLocl.origin+=epsilon;
|
||||
myraysLocl.direction=ldir;
|
||||
RayTracingResult shadowtest;
|
||||
Trace4Rays(myrays,Four_Zeros,MaxT, &shadowtest);
|
||||
Trace4Rays(myraysLocl,Four_Zeros,MaxT, &shadowtest);
|
||||
fltx4 unshadowed=CmpGtSIMD(shadowtest.HitDistance,MaxT);
|
||||
if (! (IsAllZeros(unshadowed)))
|
||||
{
|
||||
|
@ -1357,13 +1357,13 @@ int64 bf_read::ReadLongLong()
|
||||
|
||||
float bf_read::ReadFloat()
|
||||
{
|
||||
float ret;
|
||||
Assert( sizeof(ret) == 4 );
|
||||
ReadBits(&ret, 32);
|
||||
float retLocl;
|
||||
Assert( sizeof(retLocl) == 4 );
|
||||
ReadBits(&retLocl, 32);
|
||||
|
||||
// Swap the float, since ReadBits reads raw data
|
||||
LittleFloat( &ret, &ret );
|
||||
return ret;
|
||||
LittleFloat( &retLocl, &retLocl );
|
||||
return retLocl;
|
||||
}
|
||||
|
||||
bool bf_read::ReadBytes(void *pOut, int nBytes)
|
||||
|
@ -138,7 +138,7 @@ class LogMessage {
|
||||
class LogMessageCrash : public LogMessage {
|
||||
public:
|
||||
LogMessageCrash() { }
|
||||
#if _MSC_VER == 1700 || _MSC_VER == 1800
|
||||
#if _MSC_VER >= 1700
|
||||
// Bogus warning from VS 2012 and VS 2013:
|
||||
// warning C4722: 'snappy::LogMessageCrash::~LogMessageCrash' : destructor never returns, potential memory leak
|
||||
#pragma warning(push)
|
||||
|
@ -14,7 +14,8 @@ $Configuration
|
||||
$Compiler
|
||||
{
|
||||
$AdditionalIncludeDirectories "$BASE,..\common,$SRCDIR\game\shared,.\"
|
||||
$PreprocessorDefinitions "$BASE;captioncompiler"
|
||||
$PreprocessorDefinitions "$BASE;PROTECTED_THINGS_DISABLE;captioncompiler" [$VS2019]
|
||||
$PreprocessorDefinitions "$BASE;captioncompiler" [!$VS2019]
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8510,7 +8510,7 @@ void VguiPanelGetSortedChildPanelList( Panel *pParentPanel, void *pSortedPanels
|
||||
}
|
||||
}
|
||||
|
||||
void VguiPanelGetSortedChildButtonList( Panel *pParentPanel, void *pSortedPanels, char *pchFilter /*= NULL*/, int nFilterType /*= 0*/ )
|
||||
void VguiPanelGetSortedChildButtonList( Panel *pParentPanel, void *pSortedPanels, const char *pchFilter /*= NULL*/, int nFilterType /*= 0*/ )
|
||||
{
|
||||
CUtlSortVector< SortedPanel_t, CSortedPanelYLess > *pList = reinterpret_cast< CUtlSortVector< SortedPanel_t, CSortedPanelYLess >* >( pSortedPanels );
|
||||
|
||||
|
@ -18,7 +18,9 @@
|
||||
#include <vgui_controls/ScrollBarSlider.h>
|
||||
#include <vgui_controls/Controls.h>
|
||||
|
||||
#if _MSC_VER < 1900
|
||||
#include <math.h>
|
||||
#endif
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include <tier0/memdbgon.h>
|
||||
|
@ -6,8 +6,8 @@
|
||||
// and implement another button here.
|
||||
//=============================================================================//
|
||||
|
||||
#include <math.h>
|
||||
#define PROTECTED_THINGS_DISABLE
|
||||
//#include <math.h>
|
||||
//#define PROTECTED_THINGS_DISABLE
|
||||
|
||||
#include <vgui/IInput.h>
|
||||
#include <vgui/ISystem.h>
|
||||
|
@ -418,7 +418,7 @@ class TreeNode : public Panel
|
||||
|
||||
public:
|
||||
TreeNode(Panel *parent, TreeView *pTreeView);
|
||||
~TreeNode();
|
||||
virtual ~TreeNode();
|
||||
void SetText(const char *pszText);
|
||||
void SetFont(HFont font);
|
||||
void SetKeyValues(KeyValues *data);
|
||||
|
@ -16,17 +16,15 @@
|
||||
//$Conditional TF_BETA "1"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Mapbase conditional, equivalent to (and required for) our MAPBASE preprocessor defined below
|
||||
$Conditional MAPBASE "1"
|
||||
|
||||
// Toggles Mapbase's RPC implementation
|
||||
$Conditional MAPBASE_RPC "1"
|
||||
$Conditional VS2019 "1" // Toggles Visual Studio 2019 toolset (NOTE: This makes the solution incompatible with Visual Studio 2013)
|
||||
|
||||
// Toggles VScript implementation (note: interfaces still exist, just the provided implementation is not present)
|
||||
$Conditional MAPBASE_VSCRIPT "1"
|
||||
// Mapbase functionality conditionals
|
||||
$Conditional MAPBASE "1" // Equivalent to (and required for) our MAPBASE preprocessor defined below
|
||||
$Conditional MAPBASE_RPC "1" // Toggles Mapbase's Rich Presence Client implementations
|
||||
$Conditional MAPBASE_VSCRIPT "1" // Toggles VScript implementation (note: interfaces still exist, just the provided implementation is not present)
|
||||
$Conditional NEW_RESPONSE_SYSTEM "1" // Toggles the new Response System library based on the Alien Swarm SDK
|
||||
|
||||
// Toggles the new Response System library based on the Alien Swarm SDK.
|
||||
$Conditional NEW_RESPONSE_SYSTEM "1"
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
$Configuration "Debug"
|
||||
|
@ -39,12 +39,14 @@ $Configuration
|
||||
|
||||
$Compiler [$WIN32]
|
||||
{
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)"
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!$VS2019]
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [$VS2019]
|
||||
}
|
||||
|
||||
$Linker
|
||||
{
|
||||
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [$WIN32||$WIN64]
|
||||
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [($WIN32||$WIN64) && !$VS2019]
|
||||
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib legacy_stdio_definitions.lib" [($WIN32||$WIN64) && $VS2019]
|
||||
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
|
||||
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
|
||||
// Suppress this pointless warning using the undocumented /ignore linker switch
|
||||
@ -69,7 +71,7 @@ $Configuration
|
||||
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
|
||||
"if exist $QUOTE$(TargetDir)$(TargetName).map$QUOTE copy $QUOTE$(TargetDir)$(TargetName).map$QUOTE $OUTBINDIR\$(TargetName).map" "\n"
|
||||
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $QUOTE$OUTBINDIR\$(TargetName).pdb$QUOTE $SRCDIR" "\n" [!$SOURCESDK]
|
||||
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$(TargetName).pdb$QUOTE $OUTBINDIR\$(TargetName).pdb" "\n" \
|
||||
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$(TargetName).pdb$QUOTE $QUOTE$OUTBINDIR\$(TargetName).pdb$QUOTE" "\n" \
|
||||
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
|
||||
"goto BuildEventOK" "\n" \
|
||||
":BuildEventFailed" "\n" \
|
||||
@ -114,7 +116,8 @@ $Project
|
||||
$CustomBuildStep
|
||||
{
|
||||
// General
|
||||
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE"
|
||||
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [!$VS2019]
|
||||
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)bin\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [$VS2019]
|
||||
$Description "Compiling pointeroverride.asm"
|
||||
$Outputs "$(IntDir)\$(InputName).obj"
|
||||
}
|
||||
|
@ -39,7 +39,8 @@ $Configuration
|
||||
|
||||
$Compiler [$WIN32]
|
||||
{
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)"
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!$VS2019]
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [$VS2019]
|
||||
}
|
||||
|
||||
$Linker
|
||||
@ -66,7 +67,8 @@ $Configuration
|
||||
|
||||
$PostBuildEvent [!$ANALYZE]
|
||||
{
|
||||
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" [!$SOURCESDK]
|
||||
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" [!$SOURCESDK && !$VS2019]
|
||||
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n" [!$SOURCESDK && $VS2019]
|
||||
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName) >nul" "\n" \
|
||||
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
|
||||
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map >nul" "\n"
|
||||
@ -109,7 +111,8 @@ $Project
|
||||
$CustomBuildStep
|
||||
{
|
||||
// General
|
||||
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE"
|
||||
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [!$VS2019]
|
||||
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [$VS2019]
|
||||
$Description "Compiling pointeroverride.asm"
|
||||
$Outputs "$(IntDir)\$(InputName).obj"
|
||||
}
|
||||
|
@ -38,7 +38,8 @@ $Configuration
|
||||
|
||||
$Compiler [$WIN32]
|
||||
{
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)"
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!$VS2019]
|
||||
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [$VS2019]
|
||||
}
|
||||
|
||||
$PreBuildEvent
|
||||
|
@ -8,10 +8,11 @@ $Configuration
|
||||
$General
|
||||
{
|
||||
// Request a specific compiler toolset.
|
||||
$PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
|
||||
$PlatformToolset "v110" [$VS2012 && $ANALYZE] // VS 2012 for /analyze
|
||||
$PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
|
||||
$PlatformToolset "v120" [$VS2013 && $ANALYZE] // VS 2013 for /analyze
|
||||
$PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE && !$VS2019] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
|
||||
$PlatformToolset "v110" [$VS2012 && $ANALYZE && !$VS2019] // VS 2012 for /analyze
|
||||
$PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE && !$VS2019] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
|
||||
$PlatformToolset "v120" [$VS2013 && $ANALYZE && !$VS2019] // VS 2013 for /analyze
|
||||
$PlatformToolset "v142" [$VS2019] // VS 2019
|
||||
}
|
||||
|
||||
$General
|
||||
@ -32,6 +33,10 @@ $Configuration
|
||||
// warning C4316: object allocated on the heap may not be aligned 16
|
||||
$DisableSpecificWarnings "$BASE;4316" [$VS2013]
|
||||
|
||||
// warning C4838: conversion requires a narrowing conversion
|
||||
// warning C4456-4459: variable shadowing. TODO: fix those!
|
||||
$DisableSpecificWarnings "$BASE;4316;4838;4456;4457;4458;4459" [$VS2019]
|
||||
|
||||
// Having lots of warnings makes it harder to notice new, and possibly
|
||||
// important warnings, both on buildbot and in the output window. Lots
|
||||
// of warnings also makes it harder to skip through errors in the output
|
||||
|
Loading…
Reference in New Issue
Block a user