mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-19 20:16:10 +08:00
Update ConVarValueInfo_t
This commit is contained in:
@ -229,7 +229,7 @@ public:
|
||||
|
||||
CUtlLinkedList<ConVarData *> m_ConVarList;
|
||||
CUtlHashtable<CUtlStringToken, uint16> m_ConVarHashes;
|
||||
CUtlLinkedList<CConVarChangeCallbackNode_t> m_ConVarChangeCBList;
|
||||
CUtlLinkedList<CConVarChangeCallbackNode_t, unsigned short, true> m_ConVarChangeCBList;
|
||||
int m_ConVarCount;
|
||||
|
||||
CUtlVector<ICVarListenerCallbacks *> m_CvarCreationListeners;
|
||||
|
@ -628,25 +628,26 @@ struct ConVarValueInfo_t
|
||||
m_defaultValue {},
|
||||
m_minValue {},
|
||||
m_maxValue {},
|
||||
m_fnCallBack(),
|
||||
m_fnProviderCallBack( nullptr ),
|
||||
m_fnCallBack( nullptr ),
|
||||
m_eVarType( type )
|
||||
{}
|
||||
|
||||
template<typename T>
|
||||
template <typename T>
|
||||
void SetDefaultValue( const T &value )
|
||||
{
|
||||
m_bHasDefault = true;
|
||||
*reinterpret_cast<T *>(m_defaultValue) = value;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
template <typename T>
|
||||
void SetMinValue( const T &min )
|
||||
{
|
||||
m_bHasMin = true;
|
||||
*reinterpret_cast<T *>(m_minValue) = min;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
template <typename T>
|
||||
void SetMaxValue( const T &max )
|
||||
{
|
||||
m_bHasMax = true;
|
||||
@ -679,7 +680,9 @@ private:
|
||||
uint8 m_maxValue[sizeof( CVValue_t )];
|
||||
|
||||
public:
|
||||
FnGenericChangeCallbackProvider_t m_fnProviderCallBack;
|
||||
FnGenericChangeCallback_t m_fnCallBack;
|
||||
|
||||
EConVarType m_eVarType;
|
||||
};
|
||||
|
||||
@ -1235,9 +1238,7 @@ class CConVar : public CConVarRef<T>
|
||||
public:
|
||||
typedef CConVarRef<T> BaseClass;
|
||||
|
||||
using FnChangeCallback_t = void(*)(CConVar<T> *ref, CSplitScreenSlot nSlot, const T *pNewValue, const T *pOldValue);
|
||||
|
||||
CConVar( const char *name, uint64 flags, const char *help_string, const T &default_value, FnChangeCallback_t cb = nullptr )
|
||||
CConVar( const char *name, uint64 flags, const char *help_string, const T &default_value, FnTypedChangeCallback_t<T> cb = nullptr )
|
||||
: BaseClass()
|
||||
{
|
||||
Assert( name );
|
||||
@ -1246,12 +1247,12 @@ public:
|
||||
|
||||
ConVarValueInfo_t value_info( TranslateConVarType<T>() );
|
||||
value_info.SetDefaultValue( default_value );
|
||||
value_info.m_fnCallBack = reinterpret_cast<FnGenericChangeCallback_t>(cb);
|
||||
value_info.SetCallback( cb );
|
||||
|
||||
BaseClass::Register( name, flags, help_string, value_info );
|
||||
}
|
||||
|
||||
CConVar( const char *name, uint64 flags, const char *help_string, const T &default_value, bool min, const T &minValue, bool max, const T &maxValue, FnChangeCallback_t cb = nullptr )
|
||||
CConVar( const char *name, uint64 flags, const char *help_string, const T &default_value, bool min, const T &minValue, bool max, const T &maxValue, FnTypedChangeCallback_t<T> cb = nullptr )
|
||||
: BaseClass()
|
||||
{
|
||||
Assert( name );
|
||||
@ -1267,7 +1268,7 @@ public:
|
||||
if(max)
|
||||
value_info.SetMaxValue( maxValue );
|
||||
|
||||
value_info.m_fnCallBack = reinterpret_cast<FnGenericChangeCallback_t>(cb);
|
||||
value_info.SetCallback( cb );
|
||||
|
||||
BaseClass::Register( name, flags, help_string, value_info );
|
||||
}
|
||||
|
Reference in New Issue
Block a user