mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-19 12:06:07 +08:00
Update ICVar, IConVar, ConVar.
Related to issue in alliedmodders/metamod-source#45. Will be fixed after updated tier1 libs are pushed and MM:S rebuilt.
This commit is contained in:
@ -106,6 +106,7 @@ public:
|
|||||||
virtual void QueueMaterialThreadSetValue( ConVar *pConVar, const char *pValue ) = 0;
|
virtual void QueueMaterialThreadSetValue( ConVar *pConVar, const char *pValue ) = 0;
|
||||||
virtual void QueueMaterialThreadSetValue( ConVar *pConVar, int nValue ) = 0;
|
virtual void QueueMaterialThreadSetValue( ConVar *pConVar, int nValue ) = 0;
|
||||||
virtual void QueueMaterialThreadSetValue( ConVar *pConVar, float flValue ) = 0;
|
virtual void QueueMaterialThreadSetValue( ConVar *pConVar, float flValue ) = 0;
|
||||||
|
virtual void QueueMaterialThreadSetValue(ConVar *pConVar, const Vector &vecValue) = 0;
|
||||||
virtual bool HasQueuedMaterialThreadConVarSets() const = 0;
|
virtual bool HasQueuedMaterialThreadConVarSets() const = 0;
|
||||||
virtual int ProcessQueuedMaterialThreadConVarSets() = 0;
|
virtual int ProcessQueuedMaterialThreadConVarSets() = 0;
|
||||||
|
|
||||||
|
@ -353,8 +353,9 @@ public:
|
|||||||
void InstallChangeCallback( FnChangeCallback_t callback );
|
void InstallChangeCallback( FnChangeCallback_t callback );
|
||||||
|
|
||||||
// Retrieve value
|
// Retrieve value
|
||||||
FORCEINLINE_CVAR float GetFloat( void ) const;
|
virtual float GetFloat( void ) const;
|
||||||
FORCEINLINE_CVAR int GetInt( void ) const;
|
virtual int GetInt( void ) const;
|
||||||
|
virtual Vector GetVector( void ) const;
|
||||||
FORCEINLINE_CVAR bool GetBool() const { return !!GetInt(); }
|
FORCEINLINE_CVAR bool GetBool() const { return !!GetInt(); }
|
||||||
FORCEINLINE_CVAR char const *GetString( void ) const;
|
FORCEINLINE_CVAR char const *GetString( void ) const;
|
||||||
|
|
||||||
@ -365,6 +366,7 @@ public:
|
|||||||
virtual void SetValue( const char *value );
|
virtual void SetValue( const char *value );
|
||||||
virtual void SetValue( float value );
|
virtual void SetValue( float value );
|
||||||
virtual void SetValue( int value );
|
virtual void SetValue( int value );
|
||||||
|
virtual void SetValue( const Vector &value );
|
||||||
|
|
||||||
// Reset to default value
|
// Reset to default value
|
||||||
void Revert( void );
|
void Revert( void );
|
||||||
@ -379,8 +381,9 @@ private:
|
|||||||
// Called by CCvar when the value of a var is changing.
|
// Called by CCvar when the value of a var is changing.
|
||||||
virtual void InternalSetValue(const char *value);
|
virtual void InternalSetValue(const char *value);
|
||||||
// For CVARs marked FCVAR_NEVER_AS_STRING
|
// For CVARs marked FCVAR_NEVER_AS_STRING
|
||||||
virtual void InternalSetFloatValue( float fNewValue );
|
virtual void InternalSetFloatValue( float fNewValue, bool bForce = false );
|
||||||
virtual void InternalSetIntValue( int nValue );
|
virtual void InternalSetIntValue( int nValue );
|
||||||
|
virtual void InternalSetVectorValue( const Vector &vecValue );
|
||||||
|
|
||||||
virtual bool ClampValue( float& value );
|
virtual bool ClampValue( float& value );
|
||||||
virtual void ChangeStringValue( const char *tempVal, float flOldValue );
|
virtual void ChangeStringValue( const char *tempVal, float flOldValue );
|
||||||
@ -410,12 +413,20 @@ private:
|
|||||||
// Values
|
// Values
|
||||||
float m_fValue;
|
float m_fValue;
|
||||||
int m_nValue;
|
int m_nValue;
|
||||||
|
Vector m_vecValue;
|
||||||
|
|
||||||
// Min/Max values
|
// Min/Max values
|
||||||
bool m_bHasMin;
|
bool m_bHasMin;
|
||||||
float m_fMinVal;
|
float m_fMinVal;
|
||||||
bool m_bHasMax;
|
bool m_bHasMax;
|
||||||
float m_fMaxVal;
|
float m_fMaxVal;
|
||||||
|
|
||||||
|
bool m_bHasCompMin;
|
||||||
|
float m_fCompMinVal;
|
||||||
|
bool m_bHasCompMax;
|
||||||
|
float m_fCompMaxVal;
|
||||||
|
bool m_bCompetitiveRestrictions;
|
||||||
|
|
||||||
|
|
||||||
// Call this function when ConVar changes
|
// Call this function when ConVar changes
|
||||||
FnChangeCallback_t m_fnChangeCallback;
|
FnChangeCallback_t m_fnChangeCallback;
|
||||||
@ -440,6 +451,15 @@ FORCEINLINE_CVAR int ConVar::GetInt( void ) const
|
|||||||
return m_pParent->m_nValue;
|
return m_pParent->m_nValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Purpose: Return ConVar value as an int
|
||||||
|
// Output : int
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
FORCEINLINE_CVAR Vector ConVar::GetVector(void) const
|
||||||
|
{
|
||||||
|
return m_pParent->m_vecValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Return ConVar value as a string, return "" for bogus string pointer, etc.
|
// Purpose: Return ConVar value as a string, return "" for bogus string pointer, etc.
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "mathlib/vector.h"
|
||||||
#include "tier0/dbg.h"
|
#include "tier0/dbg.h"
|
||||||
#include "tier0/platform.h"
|
#include "tier0/platform.h"
|
||||||
#include "tier1/strtools.h"
|
#include "tier1/strtools.h"
|
||||||
@ -105,6 +106,7 @@ public:
|
|||||||
virtual void SetValue( const char *pValue ) = 0;
|
virtual void SetValue( const char *pValue ) = 0;
|
||||||
virtual void SetValue( float flValue ) = 0;
|
virtual void SetValue( float flValue ) = 0;
|
||||||
virtual void SetValue( int nValue ) = 0;
|
virtual void SetValue( int nValue ) = 0;
|
||||||
|
virtual void SetValue( const Vector &value ) = 0;
|
||||||
|
|
||||||
// Return name of command
|
// Return name of command
|
||||||
virtual const char *GetName( void ) const = 0;
|
virtual const char *GetName( void ) const = 0;
|
||||||
|
@ -821,13 +821,17 @@ void ConVar::ChangeStringValue( const char *tempVal, float flOldValue )
|
|||||||
*m_pszString = 0;
|
*m_pszString = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invoke any necessary callback function
|
// If nothing has changed, don't do the callbacks.
|
||||||
if ( m_fnChangeCallback )
|
if (V_strcmp(pszOldValue, m_pszString) != 0)
|
||||||
{
|
{
|
||||||
m_fnChangeCallback( this, pszOldValue, flOldValue );
|
// Invoke any necessary callback function
|
||||||
}
|
if ( m_fnChangeCallback )
|
||||||
|
{
|
||||||
|
m_fnChangeCallback( this, pszOldValue, flOldValue );
|
||||||
|
}
|
||||||
|
|
||||||
g_pCVar->CallGlobalChangeCallbacks( this, pszOldValue, flOldValue );
|
g_pCVar->CallGlobalChangeCallbacks( this, pszOldValue, flOldValue );
|
||||||
|
}
|
||||||
|
|
||||||
stackfree( pszOldValue );
|
stackfree( pszOldValue );
|
||||||
}
|
}
|
||||||
@ -858,9 +862,9 @@ bool ConVar::ClampValue( float& value )
|
|||||||
// Purpose:
|
// Purpose:
|
||||||
// Input : *value -
|
// Input : *value -
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void ConVar::InternalSetFloatValue( float fNewValue )
|
void ConVar::InternalSetFloatValue( float fNewValue, bool bForce /*= false */ )
|
||||||
{
|
{
|
||||||
if ( fNewValue == m_fValue )
|
if ( fNewValue == m_fValue && !bForce )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( IsFlagSet( FCVAR_MATERIAL_THREAD_MASK ) )
|
if ( IsFlagSet( FCVAR_MATERIAL_THREAD_MASK ) )
|
||||||
@ -937,6 +941,14 @@ void ConVar::InternalSetIntValue( int nValue )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
// Input : *value -
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
void ConVar::InternalSetVectorValue( const Vector &vecNewValue )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Private creation
|
// Purpose: Private creation
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -957,6 +969,15 @@ void ConVar::Create( const char *pName, const char *pDefaultValue, int flags /*=
|
|||||||
m_fMinVal = fMin;
|
m_fMinVal = fMin;
|
||||||
m_bHasMax = bMax;
|
m_bHasMax = bMax;
|
||||||
m_fMaxVal = fMax;
|
m_fMaxVal = fMax;
|
||||||
|
|
||||||
|
// AM stubbed out just enough for ABI compat
|
||||||
|
m_vecValue = vec3_origin;
|
||||||
|
m_bHasCompMin = false;
|
||||||
|
m_fCompMinVal = 0.0;
|
||||||
|
m_bHasCompMax = false;
|
||||||
|
m_fCompMaxVal = 0.0;
|
||||||
|
m_bCompetitiveRestrictions = false;
|
||||||
|
//
|
||||||
|
|
||||||
m_fnChangeCallback = callback;
|
m_fnChangeCallback = callback;
|
||||||
|
|
||||||
@ -1007,6 +1028,16 @@ void ConVar::SetValue( int value )
|
|||||||
var->InternalSetIntValue( value );
|
var->InternalSetIntValue( value );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Purpose:
|
||||||
|
// Input : value -
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
void ConVar::SetValue( const Vector &value )
|
||||||
|
{
|
||||||
|
ConVar *var = (ConVar *)m_pParent;
|
||||||
|
var->InternalSetVectorValue( value );
|
||||||
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Reset to default value
|
// Purpose: Reset to default value
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user