Seaside/SpyCustom/sdk/iconvar.h
2021-06-16 18:46:33 +03:00

71 lines
2.1 KiB
C++

#ifndef ICONVAR_H
#define ICONVAR_H
#if _WIN32
#pragma once
#endif
#include "dbg.h"
#include "platform.h"
#include "strtools.h"
class IConVar;
class CCommand;
#define FCVAR_NONE 0
#define FCVAR_UNREGISTERED (1<<0)
#define FCVAR_DEVELOPMENTONLY (1<<1)
#define FCVAR_GAMEDLL (1<<2)
#define FCVAR_CLIENTDLL (1<<3)
#define FCVAR_HIDDEN (1<<4)
#define FCVAR_PROTECTED (1<<5)
#define FCVAR_SPONLY (1<<6)
#define FCVAR_ARCHIVE (1<<7)
#define FCVAR_NOTIFY (1<<8)
#define FCVAR_USERINFO (1<<9)
#define FCVAR_CHEAT (1<<14)
#define FCVAR_PRINTABLEONLY (1<<10)
#define FCVAR_UNLOGGED (1<<11)
#define FCVAR_NEVER_AS_STRING (1<<12)
#define FCVAR_REPLICATED (1<<13)
#define FCVAR_DEMO (1<<16)
#define FCVAR_DONTRECORD (1<<17)
#define FCVAR_RELOAD_MATERIALS (1<<20)
#define FCVAR_RELOAD_TEXTURES (1<<21)
#define FCVAR_NOT_CONNECTED (1<<22)
#define FCVAR_MATERIAL_SYSTEM_THREAD (1<<23)
#define FCVAR_ARCHIVE_XBOX (1<<24)
#define FCVAR_ACCESSIBLE_FROM_THREADS (1<<25)
#define FCVAR_SERVER_CAN_EXECUTE (1<<28)
#define FCVAR_SERVER_CANNOT_QUERY (1<<29)
#define FCVAR_CLIENTCMD_CAN_EXECUTE (1<<30)
#define FCVAR_MATERIAL_THREAD_MASK ( FCVAR_RELOAD_MATERIALS | FCVAR_RELOAD_TEXTURES | FCVAR_MATERIAL_SYSTEM_THREAD )
typedef void (*FnChangeCallback_t)(IConVar* var, const char* pOldValue, float flOldValue);
abstract_class IConVar
{
public:
virtual void SetValue(const char* pValue) = 0;
virtual void SetValue(float flValue) = 0;
virtual void SetValue(int nValue) = 0;
virtual void SetValue(Color value) = 0;
virtual const char* GetName(void) const = 0;
virtual const char* GetBaseName(void) const = 0;
virtual bool IsFlagSet(int nFlag) const = 0;
virtual int GetSplitScreenPlayerSlot() const = 0;
};
#endif