diff options
Diffstat (limited to 'gmod/CLuaInterface.hpp')
| -rw-r--r-- | gmod/CLuaInterface.hpp | 246 |
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; -}; |
