summaryrefslogtreecommitdiff
path: root/gmod/CLuaInterface.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'gmod/CLuaInterface.hpp')
-rw-r--r--gmod/CLuaInterface.hpp246
1 files changed, 0 insertions, 246 deletions
diff --git a/gmod/CLuaInterface.hpp b/gmod/CLuaInterface.hpp
deleted file mode 100644
index adc0f7b..0000000
--- a/gmod/CLuaInterface.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-#pragma once
-
-#include <cstdint>
-#include <string>
-
-#include "vector.hpp"
-#include "color.hpp"
-
-#define LUA_REGISTRYINDEX (-10000)
-#define LUA_ENVIRONINDEX (-10001)
-#define LUA_GLOBALSINDEX (-10002)
-
-class CLuaInterface;
-
-enum STATE_TYPE
-{
- LUA_CLIENT = 0,
- LUA_SERVER,
- LUA_MENU
-};
-
-
-enum LUA_SPECIAL
-{
- SPECIAL_GLOB,
- SPECIAL_ENV,
- SPECIAL_REG,
-};
-
-
-enum LUA_TYPE : int8_t {
- TYPE_INVALID = -1,
- TYPE_NIL,
- TYPE_BOOL,
- TYPE_LIGHTUSERDATA,
- TYPE_NUMBER,
- _TYPE_STRING,
- TYPE_TABLE,
- TYPE_FUNCTION,
- TYPE_USERDATA,
- TYPE_THREAD,
-
- TYPE_ENTITY,
- TYPE_VECTOR,
- TYPE_ANGLE,
- TYPE_PHYSOBJ,
- TYPE_SAVE,
- TYPE_RESTORE,
- TYPE_DAMAGEINFO,
- TYPE_EFFECTDATA,
- TYPE_MOVEDATA,
- TYPE_RECIPIENTFILTER,
- TYPE_USERCMD,
- TYPE_SCRIPTEDVEHICLE,
-
- TYPE_MATERIAL,
- TYPE_PANEL,
- TYPE_PARTICLE,
- TYPE_PARTICLEEMITTER,
- TYPE_TEXTURE,
- TYPE_USERMSG,
-
- TYPE_CONVAR,
- TYPE_IMESH,
- TYPE_MATRIX,
- TYPE_SOUND,
- TYPE_PIXELVISHANDLE,
- TYPE_DLIGHT,
- TYPE_VIDEO,
- TYPE_FILE,
-
- TYPE_COUNT,
-
- TYPE_PLAYER = TYPE_ENTITY,
-};
-
-struct lua_State
-{
- uint8_t header[ 69 ];
- CLuaInterface* m_lua_base;
-};
-
-struct UserData
-{
- void* data;
- LUA_TYPE type;
-};
-
-using CLuaFunction = int( __cdecl* )( lua_State* );
-
-class CLuaInterface
-{
-public:
- virtual int Top( void ) = 0;
- virtual void Push( int iStackPos ) = 0;
- virtual void Pop( int iAmt = 1 ) = 0;
- virtual void GetTable( int iStackPos ) = 0;
- virtual void GetField( int iStackPos, const char* strName ) = 0;
- virtual void SetField( int iStackPos, const char* strName ) = 0;
- virtual void CreateTable( ) = 0;
- virtual void SetTable( int i ) = 0;
- virtual void SetMetaTable( int i ) = 0;
- virtual bool GetMetaTable( int i ) = 0;
- virtual void Call( int iArgs, int iResults ) = 0;
- virtual int PCall( int iArgs, int iResults, int iErrorFunc ) = 0;
- virtual int Equal( int iA, int iB ) = 0;
- virtual int RawEqual( int iA, int iB ) = 0;
- virtual void Insert( int iStackPos ) = 0;
- virtual void Remove( int iStackPos ) = 0;
- virtual int Next( int iStackPos ) = 0;
- virtual void* NewUserdata( unsigned int iSize ) = 0;
- virtual void ThrowError( const char* strError ) = 0;
- virtual void CheckType( int iStackPos, int iType ) = 0;
- virtual void ArgError( int iArgNum, const char* strMessage ) = 0;
- virtual void RawGet( int iStackPos ) = 0;
- virtual void RawSet( int iStackPos ) = 0;
-
- virtual const char* GetString( int iStackPos = -1, unsigned int* iOutLen = NULL ) = 0;
- virtual double GetNumber( int iStackPos = -1 ) = 0;
- virtual bool GetBool( int iStackPos = -1 ) = 0;
- virtual CLuaFunction* GetCFunction( int iStackPos = -1 ) = 0;
- virtual void* GetUserdata( int iStackPos = -1 ) = 0;
-
- virtual void PushNil( ) = 0;
- virtual void PushString( const char* val, unsigned int iLen = 0 ) = 0;
- virtual void PushNumber( double val ) = 0;
- virtual void PushBool( bool val ) = 0;
- virtual void PushCFunction( CLuaFunction* val ) = 0;
- virtual void PushCClosure( CLuaFunction* val, int iVars ) = 0;
- virtual void PushUserdata( void* ) = 0;
-
- //
- // If you create a reference - don't forget to free it!
- //
- virtual int ReferenceCreate( ) = 0;
- virtual void ReferenceFree( int i ) = 0;
- virtual void ReferencePush( int i ) = 0;
-
- //
- // Push a special value onto the top of the stack ( see below )
- //
- virtual void PushSpecial( int iType ) = 0;
-
- //
- // For type enums see Types.h
- //
- virtual bool IsType( int iStackPos, int iType ) = 0;
- virtual int GetType( int iStackPos ) = 0;
- virtual const char* GetTypeName( int iType ) = 0;
-
- //
- // Creates a new meta table of string and type and leaves it on the stack.
- // Will return the old meta table of this name if it already exists.
- //
- virtual void CreateMetaTableType( const char* strName, int iType ) = 0;
-
- //
- // Like Get* but throws errors and returns if they're not of the expected type
- //
- virtual const char* CheckString( int iStackPos = -1 ) = 0;
- virtual double CheckNumber( int iStackPos = -1 ) = 0;
-
-
- virtual void ObjLen( int ) = 0;
- virtual void GetAngle( int ) = 0;
- virtual void GetVector( int ) = 0;
- virtual void PushAngle( vec3_t const& ) = 0;
- virtual void PushVector( vec3_t const& ) = 0;
- virtual void SetState( lua_State * ) = 0;
- virtual void CreateMetaTable( char const* ) = 0;
- virtual void PushMetaTable( int ) = 0;
- virtual void PushUserType( void *, int ) = 0;
- virtual void SetUserType( int, void * ) = 0;
- virtual void Init( void *, bool ) = 0;
- virtual void Shutdown( void ) = 0;
- virtual void Cycle( void ) = 0;
- virtual void Global( void ) = 0;
- virtual void* GetObject( int ) = 0;
- virtual void PushLuaObject( void * ) = 0;
- virtual void PushLuaFunction( CLuaFunction ) = 0;
- virtual void LuaError( char const*, int ) = 0;
- virtual void TypeError( char const*, int ) = 0;
- virtual void CallInternal( int, int ) = 0;
- virtual void CallInternalNoReturns( int ) = 0;
- virtual void CallInternalGetBool( int ) = 0;
- virtual void CallInternalGetString( int ) = 0;
- virtual void CallInternalGet( int, void * ) = 0;
- virtual void NewGlobalTable( char const* ) = 0;
- virtual void NewTemporaryObject( void ) = 0;
- virtual void isUserData( int ) = 0;
- virtual void GetMetaTableObject( char const*, int ) = 0;
- virtual void GetMetaTableObject( int ) = 0;
- virtual void GetReturn( int ) = 0;
- virtual void IsServer( void ) = 0;
- virtual void IsClient( void ) = 0;
- virtual void IsDedicatedServer( void ) = 0;
- virtual void DestroyObject( void * ) = 0;
- virtual void CreateObject( void ) = 0;
- virtual void SetMember( void *, void *, void * ) = 0;
- virtual void GetNewTable( void ) = 0;
- virtual void SetMember( void *, float ) = 0;
- virtual void SetMember( void *, float, void * ) = 0;
- virtual void SetMember( void *, char const* ) = 0;
- virtual void SetMember( void *, char const*, void * ) = 0;
- virtual void SetIsServer( bool ) = 0;
- virtual void PushLong( long ) = 0;
- virtual void GetFlags( int ) = 0;
- virtual void FindOnObjectsMetaTable( int, int ) = 0;
- virtual void FindObjectOnTable( int, int ) = 0;
- virtual void SetMemberFast( void *, int, int ) = 0;
- virtual void RunString( char const* filename, char const* path, char const* stringtoun, bool run = true, bool showerrors = true ) = 0;
- virtual void IsEqual( void *, void * ) = 0;
- virtual void Error( char const* ) = 0;
- virtual void GetStringOrError( int ) = 0;
- virtual void RunLuaModule( char const* ) = 0;
- virtual void FindAndRunScript( const char* path, bool run = true, bool showerrors = true, const char* type = "!CLIENT" ) = 0;
- virtual void SetPathID( char const* ) = 0;
- virtual void GetPathID( void ) = 0;
- virtual void ErrorNoHalt( char const*, ... ) = 0;
- virtual void Msg( char const*, ... ) = 0;
- virtual void PushPath( char const* ) = 0;
- virtual void PopPath( void ) = 0;
- virtual void GetPath( void ) = 0;
- virtual void GetColor( int ) = 0;
- virtual void PushColor( clr_t ) = 0;
- virtual int GetStack( int, void * ) = 0;
- virtual void GetInfo( char const*, void * ) = 0;
- virtual void GetLocal( void *, int ) = 0;
- virtual void GetUpvalue( int, int ) = 0;
- virtual void RunStringEx( void*, char const* filename, char const* path, char const* torun, bool run, bool showerrors, bool idk, bool idk2 ) = 0;
- virtual void GetDataString( int, void ** ) = 0;
- virtual void ErrorFromLua( char const*, ... ) = 0;
- virtual void GetCurrentLocation( void ) = 0;
- virtual void MsgColour( clr_t const&, char const*, ... ) = 0;
- virtual void GetCurrentFile( std::string & ) = 0;
- virtual void CompileString( int &, std::string const& ) = 0;
- virtual void CallFunctionProtected( int, int, bool ) = 0;
- virtual void Require( char const* ) = 0;
- virtual void GetActualTypeName( int ) = 0;
- virtual void PreCreateTable( int, int ) = 0;
- virtual void PushPooledString( int ) = 0;
- virtual void GetPooledString( int ) = 0;
- virtual void AddThreadedCall( void * ) = 0;
-
- lua_State* L;
-};