1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-06-15 22:57:12 +02:00

Separated major non mandatory libraries into their onwn modules.

Consolidated and simplified the module API system.
Various other fixes and improvements.
This commit is contained in:
Sandu Liviu Catalin
2016-02-27 11:57:10 +02:00
parent fa12692490
commit f4a11ef825
82 changed files with 10509 additions and 7580 deletions

1161
shared/ModBase.hpp Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
// ////////////////////////////////////////////////////////////////////////////////////////////////
#include "sq_mod.h"
#include "sq_mod.inl"
#include "SqMod.h"
#include "SqMod.inl"
/* This method is used toa void compilers warning about C++ flags on C files and viceversa. */

View File

@ -1,4 +1,4 @@
// ////////////////////////////////////////////////////////////////////////////////////////////////
#include "sq_mod.h"
#include "sq_mod.inl"
#include "SqMod.h"
#include "SqMod.inl"
/* This method is used toa void compilers warning about C++ flags on C files and viceversa. */

136
shared/SqMod.h Normal file
View File

@ -0,0 +1,136 @@
//
// SqModule: API used to communicate with and register squirrel modules
//
//
// Copyright (c) 2009 Sandu Liviu Catalin (aka. S.L.C)
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would be
// appreciated but is not required.
//
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
//
// 3. This notice may not be removed or altered from any source
// distribution.
//
#if !defined(_SQ_MOD_H_)
#define _SQ_MOD_H_
#include "SqAPI.h"
#include "vcmp.h"
#ifdef __cplusplus
extern "C" {
#endif
/**< 64 bits integer types */
#if defined(_MSC_VER)
typedef __int64 SqInt64;
typedef unsigned __int64 SqUint64;
#else
typedef long long SqInt64;
typedef unsigned long long SqUint64;
#endif
#if defined(_MSC_VER)
#define SQMOD_API_EXPORT extern "C" __declspec(dllexport)
#elif defined(__GNUC__)
#define SQMOD_API_EXPORT extern "C"
#else
#define SQMOD_API_EXPORT extern "C"
#endif
#define SQMOD_HOST_NAME "SqModHost"
#define SQMOD_INITIALIZE_CMD 0xDABBAD00
#define SQMOD_LOAD_CMD 0xDEADBABE
#define SQMOD_TERMINATE_CMD 0xDEADC0DE
#define SQMOD_API_VER 1
/*primitive functions*/
typedef HSQAPI (*SqEx_GetSquirrelAPI) (void);
typedef HSQUIRRELVM (*SqEx_GetSquirrelVM) (void);
/*logging utilities*/
typedef void (*SqEx_LogMessage) (const SQChar * fmt, ...);
typedef void (*SqEx_SqThrow) (const SQChar * fmt, ...);
/*long numbers*/
typedef SQRESULT (*SqEx_GetSLongValue) (HSQUIRRELVM vm, SQInteger idx, SqInt64 * num);
typedef void (*SqEx_PushSLongObject) (HSQUIRRELVM vm, SqInt64 num);
typedef SQRESULT (*SqEx_GetULongValue) (HSQUIRRELVM vm, SQInteger idx, SqUint64 * num);
typedef void (*SqEx_PushULongObject) (HSQUIRRELVM vm, SqUint64 num);
/*time utilities*/
typedef SqInt64 (*SqEx_GetCurrentSysTime) (void);
typedef SqInt64 (*SqEx_GetEpochTimeMicro) (void);
typedef SqInt64 (*SqEx_GetEpochTimeMilli) (void);
typedef SQRESULT (*SqEx_GetTimestamp) (HSQUIRRELVM vm, SQInteger idx, SqInt64 * num);
typedef void (*SqEx_PushTimestamp) (HSQUIRRELVM vm, SqInt64 num);
/* --------------------------------------------------------------------------------------------
* Allows modules to interface with the plugin API without linking of any sorts
*/
typedef struct
{
unsigned int uStructSize;
/*primitive functions*/
SqEx_GetSquirrelAPI GetSquirrelAPI;
SqEx_GetSquirrelVM GetSquirrelVM;
/*logging utilities*/
SqEx_LogMessage LogDbg;
SqEx_LogMessage LogUsr;
SqEx_LogMessage LogScs;
SqEx_LogMessage LogInf;
SqEx_LogMessage LogWrn;
SqEx_LogMessage LogErr;
SqEx_LogMessage LogFtl;
SqEx_LogMessage LogSDbg;
SqEx_LogMessage LogSUsr;
SqEx_LogMessage LogSScs;
SqEx_LogMessage LogSInf;
SqEx_LogMessage LogSWrn;
SqEx_LogMessage LogSErr;
SqEx_LogMessage LogSFtl;
SqEx_SqThrow SqThrow;
/*long numbers*/
SqEx_GetSLongValue GetSLongValue;
SqEx_PushSLongObject PushSLongObject;
SqEx_GetULongValue GetULongValue;
SqEx_PushULongObject PushULongObject;
/*time utilities*/
SqEx_GetCurrentSysTime GetCurrentSysTime;
SqEx_GetEpochTimeMicro GetEpochTimeMicro;
SqEx_GetEpochTimeMilli GetEpochTimeMilli;
SqEx_GetTimestamp GetTimestamp;
SqEx_PushTimestamp PushTimestamp;
} sq_exports, SQEXPORTS, *HSQEXPORTS;
/* --------------------------------------------------------------------------------------------
* Import the functions from the main squirrel plugin.
*/
SQUIRREL_API HSQEXPORTS sq_api_import(PluginFuncs * vcapi);
/* --------------------------------------------------------------------------------------------
* Assign the functions from the specified API structure into the global functions.
*/
SQUIRREL_API SQRESULT sq_api_expand(HSQAPI sqapi);
/* --------------------------------------------------------------------------------------------
* Undo changes done by sq_api_expand.
*/
SQUIRREL_API void sq_api_collapse();
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif /*_SQ_API_H_*/

587
shared/SqMod.inl Normal file
View File

@ -0,0 +1,587 @@
// ------------------------------------------------------------------------------------------------
#ifdef SQMOD_PLUGIN_API
/*vm*/
sqapi_open sq_open = NULL;
sqapi_newthread sq_newthread = NULL;
sqapi_seterrorhandler sq_seterrorhandler = NULL;
sqapi_close sq_close = NULL;
sqapi_setforeignptr sq_setforeignptr = NULL;
sqapi_getforeignptr sq_getforeignptr = NULL;
sqapi_setsharedforeignptr sq_setsharedforeignptr = NULL;
sqapi_getsharedforeignptr sq_getsharedforeignptr = NULL;
sqapi_setvmreleasehook sq_setvmreleasehook = NULL;
sqapi_getvmreleasehook sq_getvmreleasehook = NULL;
sqapi_setsharedreleasehook sq_setsharedreleasehook = NULL;
sqapi_getsharedreleasehook sq_getsharedreleasehook = NULL;
sqapi_setprintfunc sq_setprintfunc = NULL;
sqapi_getprintfunc sq_getprintfunc = NULL;
sqapi_geterrorfunc sq_geterrorfunc = NULL;
sqapi_suspendvm sq_suspendvm = NULL;
sqapi_wakeupvm sq_wakeupvm = NULL;
sqapi_getvmstate sq_getvmstate = NULL;
sqapi_getversion sq_getversion = NULL;
/*compiler*/
sqapi_compile sq_compile = NULL;
sqapi_compilebuffer sq_compilebuffer = NULL;
sqapi_enabledebuginfo sq_enabledebuginfo = NULL;
sqapi_notifyallexceptions sq_notifyallexceptions = NULL;
sqapi_setcompilererrorhandler sq_setcompilererrorhandler = NULL;
/*stack operations*/
sqapi_push sq_push = NULL;
sqapi_pop sq_pop = NULL;
sqapi_poptop sq_poptop = NULL;
sqapi_remove sq_remove = NULL;
sqapi_gettop sq_gettop = NULL;
sqapi_settop sq_settop = NULL;
sqapi_reservestack sq_reservestack = NULL;
sqapi_cmp sq_cmp = NULL;
sqapi_move sq_move = NULL;
/*object creation handling*/
sqapi_newuserdata sq_newuserdata = NULL;
sqapi_newtable sq_newtable = NULL;
sqapi_newtableex sq_newtableex = NULL;
sqapi_newarray sq_newarray = NULL;
sqapi_newclosure sq_newclosure = NULL;
sqapi_setparamscheck sq_setparamscheck = NULL;
sqapi_bindenv sq_bindenv = NULL;
sqapi_setclosureroot sq_setclosureroot = NULL;
sqapi_getclosureroot sq_getclosureroot = NULL;
sqapi_pushstring sq_pushstring = NULL;
sqapi_pushfloat sq_pushfloat = NULL;
sqapi_pushinteger sq_pushinteger = NULL;
sqapi_pushbool sq_pushbool = NULL;
sqapi_pushuserpointer sq_pushuserpointer = NULL;
sqapi_pushnull sq_pushnull = NULL;
sqapi_pushthread sq_pushthread = NULL;
sqapi_gettype sq_gettype = NULL;
sqapi_typeof sq_typeof = NULL;
sqapi_getsize sq_getsize = NULL;
sqapi_gethash sq_gethash = NULL;
sqapi_getbase sq_getbase = NULL;
sqapi_instanceof sq_instanceof = NULL;
sqapi_tostring sq_tostring = NULL;
sqapi_tobool sq_tobool = NULL;
sqapi_getstring sq_getstring = NULL;
sqapi_getinteger sq_getinteger = NULL;
sqapi_getfloat sq_getfloat = NULL;
sqapi_getbool sq_getbool = NULL;
sqapi_getthread sq_getthread = NULL;
sqapi_getuserpointer sq_getuserpointer = NULL;
sqapi_getuserdata sq_getuserdata = NULL;
sqapi_settypetag sq_settypetag = NULL;
sqapi_gettypetag sq_gettypetag = NULL;
sqapi_setreleasehook sq_setreleasehook = NULL;
sqapi_getreleasehook sq_getreleasehook = NULL;
sqapi_getscratchpad sq_getscratchpad = NULL;
sqapi_getfunctioninfo sq_getfunctioninfo = NULL;
sqapi_getclosureinfo sq_getclosureinfo = NULL;
sqapi_getclosurename sq_getclosurename = NULL;
sqapi_setnativeclosurename sq_setnativeclosurename = NULL;
sqapi_setinstanceup sq_setinstanceup = NULL;
sqapi_getinstanceup sq_getinstanceup = NULL;
sqapi_setclassudsize sq_setclassudsize = NULL;
sqapi_newclass sq_newclass = NULL;
sqapi_createinstance sq_createinstance = NULL;
sqapi_setattributes sq_setattributes = NULL;
sqapi_getattributes sq_getattributes = NULL;
sqapi_getclass sq_getclass = NULL;
sqapi_weakref sq_weakref = NULL;
sqapi_getdefaultdelegate sq_getdefaultdelegate = NULL;
sqapi_getmemberhandle sq_getmemberhandle = NULL;
sqapi_getbyhandle sq_getbyhandle = NULL;
sqapi_setbyhandle sq_setbyhandle = NULL;
/*object manipulation*/
sqapi_pushroottable sq_pushroottable = NULL;
sqapi_pushregistrytable sq_pushregistrytable = NULL;
sqapi_pushconsttable sq_pushconsttable = NULL;
sqapi_setroottable sq_setroottable = NULL;
sqapi_setconsttable sq_setconsttable = NULL;
sqapi_newslot sq_newslot = NULL;
sqapi_deleteslot sq_deleteslot = NULL;
sqapi_set sq_set = NULL;
sqapi_get sq_get = NULL;
sqapi_rawget sq_rawget = NULL;
sqapi_rawset sq_rawset = NULL;
sqapi_rawdeleteslot sq_rawdeleteslot = NULL;
sqapi_newmember sq_newmember = NULL;
sqapi_rawnewmember sq_rawnewmember = NULL;
sqapi_arrayappend sq_arrayappend = NULL;
sqapi_arraypop sq_arraypop = NULL;
sqapi_arrayresize sq_arrayresize = NULL;
sqapi_arrayreverse sq_arrayreverse = NULL;
sqapi_arrayremove sq_arrayremove = NULL;
sqapi_arrayinsert sq_arrayinsert = NULL;
sqapi_setdelegate sq_setdelegate = NULL;
sqapi_getdelegate sq_getdelegate = NULL;
sqapi_clone sq_clone = NULL;
sqapi_setfreevariable sq_setfreevariable = NULL;
sqapi_next sq_next = NULL;
sqapi_getweakrefval sq_getweakrefval = NULL;
sqapi_clear sq_clear = NULL;
/*calls*/
sqapi_call sq_call = NULL;
sqapi_resume sq_resume = NULL;
sqapi_getlocal sq_getlocal = NULL;
sqapi_getcallee sq_getcallee = NULL;
sqapi_getfreevariable sq_getfreevariable = NULL;
sqapi_throwerror sq_throwerror = NULL;
sqapi_throwobject sq_throwobject = NULL;
sqapi_reseterror sq_reseterror = NULL;
sqapi_getlasterror sq_getlasterror = NULL;
/*raw object handling*/
sqapi_getstackobj sq_getstackobj = NULL;
sqapi_pushobject sq_pushobject = NULL;
sqapi_addref sq_addref = NULL;
sqapi_release sq_release = NULL;
sqapi_getrefcount sq_getrefcount = NULL;
sqapi_resetobject sq_resetobject = NULL;
sqapi_objtostring sq_objtostring = NULL;
sqapi_objtobool sq_objtobool = NULL;
sqapi_objtointeger sq_objtointeger = NULL;
sqapi_objtofloat sq_objtofloat = NULL;
sqapi_objtouserpointer sq_objtouserpointer = NULL;
sqapi_getobjtypetag sq_getobjtypetag = NULL;
sqapi_getvmrefcount sq_getvmrefcount = NULL;
/*GC*/
sqapi_collectgarbage sq_collectgarbage = NULL;
sqapi_resurrectunreachable sq_resurrectunreachable = NULL;
/*serialization*/
sqapi_writeclosure sq_writeclosure = NULL;
sqapi_readclosure sq_readclosure = NULL;
/*mem allocation*/
sqapi_malloc sq_malloc = NULL;
sqapi_realloc sq_realloc = NULL;
sqapi_free sq_free = NULL;
/*debug*/
sqapi_stackinfos sq_stackinfos = NULL;
sqapi_setdebughook sq_setdebughook = NULL;
sqapi_setnativedebughook sq_setnativedebughook = NULL;
/*compiler helpers*/
sqapi_loadfile sqstd_loadfile = NULL;
sqapi_dofile sqstd_dofile = NULL;
sqapi_writeclosuretofile sqstd_writeclosuretofile = NULL;
/*blob*/
sqapi_createblob sqstd_createblob = NULL;
sqapi_getblob sqstd_getblob = NULL;
sqapi_getblobsize sqstd_getblobsize = NULL;
/*string*/
sqapi_format sqstd_format = NULL;
#endif // SQMOD_PLUGIN_API
// ------------------------------------------------------------------------------------------------
HSQEXPORTS sq_api_import(PluginFuncs * vcapi)
{
// Make sure a valid plugin api and reference to exports structure pointer was specified
if (!vcapi)
{
return NULL;
}
unsigned int struct_size;
// Attempt to find the main plugin ID
int plugin_id = vcapi->FindPlugin((char *)(SQMOD_HOST_NAME));
// Attempt to retrieve the plugin exports
void ** plugin_exports = vcapi->GetPluginExports(plugin_id, &struct_size);
// See if we have any imports from Squirrel
if (plugin_exports == NULL || struct_size <= 0)
{
return NULL;
}
// Simply return the obtain poiner to the exports structure
return *(sq_exports **)plugin_exports;
}
// ------------------------------------------------------------------------------------------------
SQRESULT sq_api_expand(HSQAPI sqapi)
{
if (!sqapi)
return SQ_ERROR;
#ifdef SQMOD_PLUGIN_API
/*vm*/
sq_open = sqapi->open;
sq_newthread = sqapi->newthread;
sq_seterrorhandler = sqapi->seterrorhandler;
sq_close = sqapi->close;
sq_setforeignptr = sqapi->setforeignptr;
sq_getforeignptr = sqapi->getforeignptr;
sq_setsharedforeignptr = sqapi->setsharedforeignptr;
sq_getsharedforeignptr = sqapi->getsharedforeignptr;
sq_setvmreleasehook = sqapi->setvmreleasehook;
sq_getvmreleasehook = sqapi->getvmreleasehook;
sq_setsharedreleasehook = sqapi->setsharedreleasehook;
sq_getsharedreleasehook = sqapi->getsharedreleasehook;
sq_setprintfunc = sqapi->setprintfunc;
sq_getprintfunc = sqapi->getprintfunc;
sq_geterrorfunc = sqapi->geterrorfunc;
sq_suspendvm = sqapi->suspendvm;
sq_wakeupvm = sqapi->wakeupvm;
sq_getvmstate = sqapi->getvmstate;
sq_getversion = sqapi->getversion;
/*compiler*/
sq_compile = sqapi->compile;
sq_compilebuffer = sqapi->compilebuffer;
sq_enabledebuginfo = sqapi->enabledebuginfo;
sq_notifyallexceptions = sqapi->notifyallexceptions;
sq_setcompilererrorhandler = sqapi->setcompilererrorhandler;
/*stack operations*/
sq_push = sqapi->push;
sq_pop = sqapi->pop;
sq_poptop = sqapi->poptop;
sq_remove = sqapi->remove;
sq_gettop = sqapi->gettop;
sq_settop = sqapi->settop;
sq_reservestack = sqapi->reservestack;
sq_cmp = sqapi->cmp;
sq_move = sqapi->move;
/*object creation handling*/
sq_newuserdata = sqapi->newuserdata;
sq_newtable = sqapi->newtable;
sq_newtableex = sqapi->newtableex;
sq_newarray = sqapi->newarray;
sq_newclosure = sqapi->newclosure;
sq_setparamscheck = sqapi->setparamscheck;
sq_bindenv = sqapi->bindenv;
sq_setclosureroot = sqapi->setclosureroot;
sq_getclosureroot = sqapi->getclosureroot;
sq_pushstring = sqapi->pushstring;
sq_pushfloat = sqapi->pushfloat;
sq_pushinteger = sqapi->pushinteger;
sq_pushbool = sqapi->pushbool;
sq_pushuserpointer = sqapi->pushuserpointer;
sq_pushnull = sqapi->pushnull;
sq_pushthread = sqapi->pushthread;
sq_gettype = sqapi->gettype;
sq_typeof = sqapi->typeof_;
sq_getsize = sqapi->getsize;
sq_gethash = sqapi->gethash;
sq_getbase = sqapi->getbase;
sq_instanceof = sqapi->instanceof;
sq_tostring = sqapi->tostring;
sq_tobool = sqapi->tobool;
sq_getstring = sqapi->getstring;
sq_getinteger = sqapi->getinteger;
sq_getfloat = sqapi->getfloat;
sq_getbool = sqapi->getbool;
sq_getthread = sqapi->getthread;
sq_getuserpointer = sqapi->getuserpointer;
sq_getuserdata = sqapi->getuserdata;
sq_settypetag = sqapi->settypetag;
sq_gettypetag = sqapi->gettypetag;
sq_setreleasehook = sqapi->setreleasehook;
sq_getreleasehook = sqapi->getreleasehook;
sq_getscratchpad = sqapi->getscratchpad;
sq_getfunctioninfo = sqapi->getfunctioninfo;
sq_getclosureinfo = sqapi->getclosureinfo;
sq_getclosurename = sqapi->getclosurename;
sq_setnativeclosurename = sqapi->setnativeclosurename;
sq_setinstanceup = sqapi->setinstanceup;
sq_getinstanceup = sqapi->getinstanceup;
sq_setclassudsize = sqapi->setclassudsize;
sq_newclass = sqapi->newclass;
sq_createinstance = sqapi->createinstance;
sq_setattributes = sqapi->setattributes;
sq_getattributes = sqapi->getattributes;
sq_getclass = sqapi->getclass;
sq_weakref = sqapi->weakref;
sq_getdefaultdelegate = sqapi->getdefaultdelegate;
sq_getmemberhandle = sqapi->getmemberhandle;
sq_getbyhandle = sqapi->getbyhandle;
sq_setbyhandle = sqapi->setbyhandle;
/*object manipulation*/
sq_pushroottable = sqapi->pushroottable;
sq_pushregistrytable = sqapi->pushregistrytable;
sq_pushconsttable = sqapi->pushconsttable;
sq_setroottable = sqapi->setroottable;
sq_setconsttable = sqapi->setconsttable;
sq_newslot = sqapi->newslot;
sq_deleteslot = sqapi->deleteslot;
sq_set = sqapi->set;
sq_get = sqapi->get;
sq_rawget = sqapi->rawget;
sq_rawset = sqapi->rawset;
sq_rawdeleteslot = sqapi->rawdeleteslot;
sq_newmember = sqapi->newmember;
sq_rawnewmember = sqapi->rawnewmember;
sq_arrayappend = sqapi->arrayappend;
sq_arraypop = sqapi->arraypop;
sq_arrayresize = sqapi->arrayresize;
sq_arrayreverse = sqapi->arrayreverse;
sq_arrayremove = sqapi->arrayremove;
sq_arrayinsert = sqapi->arrayinsert;
sq_setdelegate = sqapi->setdelegate;
sq_getdelegate = sqapi->getdelegate;
sq_clone = sqapi->clone;
sq_setfreevariable = sqapi->setfreevariable;
sq_next = sqapi->next;
sq_getweakrefval = sqapi->getweakrefval;
sq_clear = sqapi->clear;
/*calls*/
sq_call = sqapi->call;
sq_resume = sqapi->resume;
sq_getlocal = sqapi->getlocal;
sq_getcallee = sqapi->getcallee;
sq_getfreevariable = sqapi->getfreevariable;
sq_throwerror = sqapi->throwerror;
sq_throwobject = sqapi->throwobject;
sq_reseterror = sqapi->reseterror;
sq_getlasterror = sqapi->getlasterror;
/*raw object handling*/
sq_getstackobj = sqapi->getstackobj;
sq_pushobject = sqapi->pushobject;
sq_addref = sqapi->addref;
sq_release = sqapi->release;
sq_getrefcount = sqapi->getrefcount;
sq_resetobject = sqapi->resetobject;
sq_objtostring = sqapi->objtostring;
sq_objtobool = sqapi->objtobool;
sq_objtointeger = sqapi->objtointeger;
sq_objtofloat = sqapi->objtofloat;
sq_objtouserpointer = sqapi->objtouserpointer;
sq_getobjtypetag = sqapi->getobjtypetag;
sq_getvmrefcount = sqapi->getvmrefcount;
/*GC*/
sq_collectgarbage = sqapi->collectgarbage;
sq_resurrectunreachable = sqapi->resurrectunreachable;
/*serialization*/
sq_writeclosure = sqapi->writeclosure;
sq_readclosure = sqapi->readclosure;
/*mem allocation*/
sq_malloc = sqapi->malloc;
sq_realloc = sqapi->realloc;
sq_free = sqapi->free;
/*debug*/
sq_stackinfos = sqapi->stackinfos;
sq_setdebughook = sqapi->setdebughook;
sq_setnativedebughook = sqapi->setnativedebughook;
/*compiler helpers*/
sqstd_loadfile = sqapi->loadfile;
sqstd_dofile = sqapi->dofile;
sqstd_writeclosuretofile = sqapi->writeclosuretofile;
/*blob*/
sqstd_createblob = sqapi->createblob;
sqstd_getblob = sqapi->getblob;
sqstd_getblobsize = sqapi->getblobsize;
/*string*/
sqstd_format = sqapi->format;
#endif // SQMOD_PLUGIN_API
return SQ_OK;
}
// ------------------------------------------------------------------------------------------------
void sq_api_collapse()
{
#ifdef SQMOD_PLUGIN_API
/*vm*/
sq_open = NULL;
sq_newthread = NULL;
sq_seterrorhandler = NULL;
sq_close = NULL;
sq_setforeignptr = NULL;
sq_getforeignptr = NULL;
sq_setsharedforeignptr = NULL;
sq_getsharedforeignptr = NULL;
sq_setvmreleasehook = NULL;
sq_getvmreleasehook = NULL;
sq_setsharedreleasehook = NULL;
sq_getsharedreleasehook = NULL;
sq_setprintfunc = NULL;
sq_getprintfunc = NULL;
sq_geterrorfunc = NULL;
sq_suspendvm = NULL;
sq_wakeupvm = NULL;
sq_getvmstate = NULL;
sq_getversion = NULL;
/*compiler*/
sq_compile = NULL;
sq_compilebuffer = NULL;
sq_enabledebuginfo = NULL;
sq_notifyallexceptions = NULL;
sq_setcompilererrorhandler = NULL;
/*stack operations*/
sq_push = NULL;
sq_pop = NULL;
sq_poptop = NULL;
sq_remove = NULL;
sq_gettop = NULL;
sq_settop = NULL;
sq_reservestack = NULL;
sq_cmp = NULL;
sq_move = NULL;
/*object creation handling*/
sq_newuserdata = NULL;
sq_newtable = NULL;
sq_newtableex = NULL;
sq_newarray = NULL;
sq_newclosure = NULL;
sq_setparamscheck = NULL;
sq_bindenv = NULL;
sq_setclosureroot = NULL;
sq_getclosureroot = NULL;
sq_pushstring = NULL;
sq_pushfloat = NULL;
sq_pushinteger = NULL;
sq_pushbool = NULL;
sq_pushuserpointer = NULL;
sq_pushnull = NULL;
sq_pushthread = NULL;
sq_gettype = NULL;
sq_typeof = NULL;
sq_getsize = NULL;
sq_gethash = NULL;
sq_getbase = NULL;
sq_instanceof = NULL;
sq_tostring = NULL;
sq_tobool = NULL;
sq_getstring = NULL;
sq_getinteger = NULL;
sq_getfloat = NULL;
sq_getbool = NULL;
sq_getthread = NULL;
sq_getuserpointer = NULL;
sq_getuserdata = NULL;
sq_settypetag = NULL;
sq_gettypetag = NULL;
sq_setreleasehook = NULL;
sq_getreleasehook = NULL;
sq_getscratchpad = NULL;
sq_getfunctioninfo = NULL;
sq_getclosureinfo = NULL;
sq_getclosurename = NULL;
sq_setnativeclosurename = NULL;
sq_setinstanceup = NULL;
sq_getinstanceup = NULL;
sq_setclassudsize = NULL;
sq_newclass = NULL;
sq_createinstance = NULL;
sq_setattributes = NULL;
sq_getattributes = NULL;
sq_getclass = NULL;
sq_weakref = NULL;
sq_getdefaultdelegate = NULL;
sq_getmemberhandle = NULL;
sq_getbyhandle = NULL;
sq_setbyhandle = NULL;
/*object manipulation*/
sq_pushroottable = NULL;
sq_pushregistrytable = NULL;
sq_pushconsttable = NULL;
sq_setroottable = NULL;
sq_setconsttable = NULL;
sq_newslot = NULL;
sq_deleteslot = NULL;
sq_set = NULL;
sq_get = NULL;
sq_rawget = NULL;
sq_rawset = NULL;
sq_rawdeleteslot = NULL;
sq_newmember = NULL;
sq_rawnewmember = NULL;
sq_arrayappend = NULL;
sq_arraypop = NULL;
sq_arrayresize = NULL;
sq_arrayreverse = NULL;
sq_arrayremove = NULL;
sq_arrayinsert = NULL;
sq_setdelegate = NULL;
sq_getdelegate = NULL;
sq_clone = NULL;
sq_setfreevariable = NULL;
sq_next = NULL;
sq_getweakrefval = NULL;
sq_clear = NULL;
/*calls*/
sq_call = NULL;
sq_resume = NULL;
sq_getlocal = NULL;
sq_getcallee = NULL;
sq_getfreevariable = NULL;
sq_throwerror = NULL;
sq_throwobject = NULL;
sq_reseterror = NULL;
sq_getlasterror = NULL;
/*raw object handling*/
sq_getstackobj = NULL;
sq_pushobject = NULL;
sq_addref = NULL;
sq_release = NULL;
sq_getrefcount = NULL;
sq_resetobject = NULL;
sq_objtostring = NULL;
sq_objtobool = NULL;
sq_objtointeger = NULL;
sq_objtofloat = NULL;
sq_objtouserpointer = NULL;
sq_getobjtypetag = NULL;
sq_getvmrefcount = NULL;
/*GC*/
sq_collectgarbage = NULL;
sq_resurrectunreachable = NULL;
/*serialization*/
sq_writeclosure = NULL;
sq_readclosure = NULL;
/*mem allocation*/
sq_malloc = NULL;
sq_realloc = NULL;
sq_free = NULL;
/*debug*/
sq_stackinfos = NULL;
sq_setdebughook = NULL;
sq_setnativedebughook = NULL;
/*compiler helpers*/
sqstd_loadfile = NULL;
sqstd_dofile = NULL;
sqstd_writeclosuretofile = NULL;
/*blob*/
sqstd_createblob = NULL;
sqstd_getblob = NULL;
sqstd_getblobsize = NULL;
/*string*/
sqstd_format = NULL;
#endif // SQMOD_PLUGIN_API
}

View File

@ -1,579 +0,0 @@
//
// SqModule: API used to communicate with and register squirrel modules
//
//
// Copyright (c) 2009 Sandu Liviu Catalin (aka. S.L.C)
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would be
// appreciated but is not required.
//
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
//
// 3. This notice may not be removed or altered from any source
// distribution.
//
#if !defined(_SQ_MOD_H_)
#define _SQ_MOD_H_
#include "sq_api.h"
#include "vcmp.h"
#ifdef __cplusplus
extern "C" {
#endif
#if defined(_MSC_VER)
#define SQMOD_API_EXPORT extern "C" __declspec(dllexport)
#elif defined(__GNUC__)
#define SQMOD_API_EXPORT extern "C"
#else
#define SQMOD_API_EXPORT extern "C"
#endif
#define SQMOD_HOST_NAME "SqModHost"
#define SQMOD_INITIALIZE_CMD 0xDABBAD00
#define SQMOD_TERMINATE_CMD 0xDEADC0DE
/* --------------------------------------------------------------------------------------------
* Allows modules to interface with the plugin API without linking of any sorts
*/
typedef struct
{
unsigned int uStructSize;
HSQAPI (*GetSquirrelAPI) ( void );
HSQUIRRELVM (*GetSquirrelVM) (void);
} sq_exports, SQEXPORTS, *HSQEXPORTS;
/* ------------------------------------------------------------------------------------------------
* PLUGIN SYSTEM
*/
extern SDK_GetServerVersion SqVC_GetServerVersion;
extern SDK_GetServerSettings SqVC_GetServerSettings;
extern SDK_ExportFunctions SqVC_ExportFunctions;
extern SDK_GetNumberOfPlugins SqVC_GetNumberOfPlugins;
extern SDK_GetPluginInfo SqVC_GetPluginInfo;
extern SDK_FindPlugin SqVC_FindPlugin;
extern SDK_GetPluginExports SqVC_GetPluginExports;
extern SDK_GetTime SqVC_GetTime;
/* ------------------------------------------------------------------------------------------------
* MESSAGES
*/
extern SDK_printf SqVC_printf;
extern SDK_SendCustomCommand SqVC_SendCustomCommand;
extern SDK_SendClientMessage SqVC_SendClientMessage;
extern SDK_SendGameMessage SqVC_SendGameMessage;
/* ------------------------------------------------------------------------------------------------
* SERVER SETTINGS
*/
extern SDK_SetServerName SqVC_SetServerName;
extern SDK_GetServerName SqVC_GetServerName;
extern SDK_SetMaxPlayers SqVC_SetMaxPlayers;
extern SDK_GetMaxPlayers SqVC_GetMaxPlayers;
extern SDK_SetServerPassword SqVC_SetServerPassword;
extern SDK_GetServerPassword SqVC_GetServerPassword;
extern SDK_SetGameModeText SqVC_SetGameModeText;
extern SDK_GetGameModeText SqVC_GetGameModeText;
extern SDK_ShutdownServer SqVC_ShutdownServer;
/* ------------------------------------------------------------------------------------------------
* WORLD: settings
*/
extern SDK_SetWorldBounds SqVC_SetWorldBounds;
extern SDK_GetWorldBounds SqVC_GetWorldBounds;
extern SDK_SetWastedSettings SqVC_SetWastedSettings;
extern SDK_GetWastedSettings SqVC_GetWastedSettings;
extern SDK_SetTimeRate SqVC_SetTimeRate;
extern SDK_GetTimeRate SqVC_GetTimeRate;
extern SDK_SetHour SqVC_SetHour;
extern SDK_GetHour SqVC_GetHour;
extern SDK_SetMinute SqVC_SetMinute;
extern SDK_GetMinute SqVC_GetMinute;
extern SDK_SetWeather SqVC_SetWeather;
extern SDK_GetWeather SqVC_GetWeather;
extern SDK_SetGravity SqVC_SetGravity;
extern SDK_GetGravity SqVC_GetGravity;
extern SDK_SetGamespeed SqVC_SetGamespeed;
extern SDK_GetGamespeed SqVC_GetGamespeed;
extern SDK_SetWaterLevel SqVC_SetWaterLevel;
extern SDK_GetWaterLevel SqVC_GetWaterLevel;
extern SDK_SetMaxHeight SqVC_SetMaxHeight;
extern SDK_GetMaxHeight SqVC_GetMaxHeight;
extern SDK_SetKillCmdDelay SqVC_SetKillCmdDelay;
extern SDK_GetKillCmdDelay SqVC_GetKillCmdDelay;
extern SDK_SetVehiclesForcedRespawnHeight SqVC_SetVehiclesForcedRespawnHeight;
extern SDK_GetVehiclesForcedRespawnHeight SqVC_GetVehiclesForcedRespawnHeight;
/* ------------------------------------------------------------------------------------------------
* WORLD: toggles
*/
extern SDK_ToggleSyncFrameLimiter SqVC_ToggleSyncFrameLimiter;
extern SDK_EnabledSyncFrameLimiter SqVC_EnabledSyncFrameLimiter;
extern SDK_ToggleFrameLimiter SqVC_ToggleFrameLimiter;
extern SDK_EnabledFrameLimiter SqVC_EnabledFrameLimiter;
extern SDK_ToggleTaxiBoostJump SqVC_ToggleTaxiBoostJump;
extern SDK_EnabledTaxiBoostJump SqVC_EnabledTaxiBoostJump;
extern SDK_ToggleDriveOnWater SqVC_ToggleDriveOnWater;
extern SDK_EnabledDriveOnWater SqVC_EnabledDriveOnWater;
extern SDK_ToggleFastSwitch SqVC_ToggleFastSwitch;
extern SDK_EnabledFastSwitch SqVC_EnabledFastSwitch;
extern SDK_ToggleFriendlyFire SqVC_ToggleFriendlyFire;
extern SDK_EnabledFriendlyFire SqVC_EnabledFriendlyFire;
extern SDK_ToggleDisableDriveby SqVC_ToggleDisableDriveby;
extern SDK_EnabledDisableDriveby SqVC_EnabledDisableDriveby;
extern SDK_TogglePerfectHandling SqVC_TogglePerfectHandling;
extern SDK_EnabledPerfectHandling SqVC_EnabledPerfectHandling;
extern SDK_ToggleFlyingCars SqVC_ToggleFlyingCars;
extern SDK_EnabledFlyingCars SqVC_EnabledFlyingCars;
extern SDK_ToggleJumpSwitch SqVC_ToggleJumpSwitch;
extern SDK_EnabledJumpSwitch SqVC_EnabledJumpSwitch;
extern SDK_ToggleShowMarkers SqVC_ToggleShowMarkers;
extern SDK_EnabledShowMarkers SqVC_EnabledShowMarkers;
extern SDK_ToggleOnlyShowTeamMarkers SqVC_ToggleOnlyShowTeamMarkers;
extern SDK_EnabledOnlyShowTeamMarkers SqVC_EnabledOnlyShowTeamMarkers;
extern SDK_ToggleStuntBike SqVC_ToggleStuntBike;
extern SDK_EnabledStuntBike SqVC_EnabledStuntBike;
extern SDK_ToggleShootInAir SqVC_ToggleShootInAir;
extern SDK_EnabledShootInAir SqVC_EnabledShootInAir;
extern SDK_ToggleShowNametags SqVC_ToggleShowNametags;
extern SDK_EnabledShowNametags SqVC_EnabledShowNametags;
extern SDK_ToggleJoinMessages SqVC_ToggleJoinMessages;
extern SDK_EnabledJoinMessages SqVC_EnabledJoinMessages;
extern SDK_ToggleDeathMessages SqVC_ToggleDeathMessages;
extern SDK_EnabledDeathMessages SqVC_EnabledDeathMessages;
extern SDK_ToggleChatTagsByDefaultEnabled SqVC_ToggleChatTagsByDefaultEnabled;
extern SDK_EnabledChatTagsByDefault SqVC_EnabledChatTagsByDefault;
/* ------------------------------------------------------------------------------------------------
* MISC
*/
extern SDK_CreateExplosion SqVC_CreateExplosion;
extern SDK_PlaySound SqVC_PlaySound;
extern SDK_HideMapObject SqVC_HideMapObject;
extern SDK_ShowMapObject SqVC_ShowMapObject;
extern SDK_ShowAllMapObjects SqVC_ShowAllMapObjects;
/* ------------------------------------------------------------------------------------------------
* WEAPONDATA
*/
extern SDK_SetWeaponDataValue SqVC_SetWeaponDataValue;
extern SDK_GetWeaponDataValue SqVC_GetWeaponDataValue;
extern SDK_ResetWeaponDataValue SqVC_ResetWeaponDataValue;
extern SDK_IsWeaponDataValueModified SqVC_IsWeaponDataValueModified;
extern SDK_ResetWeaponData SqVC_ResetWeaponData;
extern SDK_ResetAllWeaponData SqVC_ResetAllWeaponData;
/* ------------------------------------------------------------------------------------------------
* KEYBINDS
*/
extern SDK_GetKeyBindUnusedSlot SqVC_GetKeyBindUnusedSlot;
extern SDK_GetKeyBindData SqVC_GetKeyBindData;
extern SDK_RegisterKeyBind SqVC_RegisterKeyBind;
extern SDK_RemoveKeyBind SqVC_RemoveKeyBind;
extern SDK_RemoveAllKeyBinds SqVC_RemoveAllKeyBinds;
/* ------------------------------------------------------------------------------------------------
* BLIPS
*/
extern SDK_CreateCoordBlip SqVC_CreateCoordBlip;
extern SDK_DestroyCoordBlip SqVC_DestroyCoordBlip;
extern SDK_GetCoordBlipInfo SqVC_GetCoordBlipInfo;
/* ------------------------------------------------------------------------------------------------
* SPRITES
*/
extern SDK_CreateSprite SqVC_CreateSprite;
extern SDK_DestroySprite SqVC_DestroySprite;
extern SDK_ShowSprite SqVC_ShowSprite;
extern SDK_HideSprite SqVC_HideSprite;
extern SDK_MoveSprite SqVC_MoveSprite;
extern SDK_SetSpriteCenter SqVC_SetSpriteCenter;
extern SDK_RotateSprite SqVC_RotateSprite;
extern SDK_SetSpriteAlpha SqVC_SetSpriteAlpha;
extern SDK_SetSpriteRelativity SqVC_SetSpriteRelativity;
/* ------------------------------------------------------------------------------------------------
* TEXTDRAWS
*/
extern SDK_CreateTextdraw SqVC_CreateTextdraw;
extern SDK_DestroyTextdraw SqVC_DestroyTextdraw;
extern SDK_ShowTextdraw SqVC_ShowTextdraw;
extern SDK_HideTextdraw SqVC_HideTextdraw;
extern SDK_MoveTextdraw SqVC_MoveTextdraw;
extern SDK_SetTextdrawColour SqVC_SetTextdrawColour;
extern SDK_SetTextdrawRelativity SqVC_SetTextdrawRelativity;
/* ------------------------------------------------------------------------------------------------
* RADIOS
*/
extern SDK_AddRadioStream SqVC_AddRadioStream;
extern SDK_RemoveRadioStream SqVC_RemoveRadioStream;
/* ------------------------------------------------------------------------------------------------
* CLASSES
*/
extern SDK_SetUseClasses SqVC_SetUseClasses;
extern SDK_GetUseClasses SqVC_GetUseClasses;
extern SDK_GetPlayerClass SqVC_GetPlayerClass;
extern SDK_AddPlayerClass SqVC_AddPlayerClass;
extern SDK_SetSpawnPlayerPos SqVC_SetSpawnPlayerPos;
extern SDK_SetSpawnCameraPos SqVC_SetSpawnCameraPos;
extern SDK_SetSpawnCameraLookAt SqVC_SetSpawnCameraLookAt;
/* ------------------------------------------------------------------------------------------------
* ADMIN
*/
extern SDK_IsPlayerAdmin SqVC_IsPlayerAdmin;
extern SDK_SetPlayerAdmin SqVC_SetPlayerAdmin;
extern SDK_GetPlayerIP SqVC_GetPlayerIP;
extern SDK_KickPlayer SqVC_KickPlayer;
extern SDK_BanPlayer SqVC_BanPlayer;
extern SDK_BanIP SqVC_BanIP;
extern SDK_UnbanIP SqVC_UnbanIP;
extern SDK_IsIPBanned SqVC_IsIPBanned;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: basic
*/
extern SDK_GetPlayerIDFromName SqVC_GetPlayerIDFromName;
extern SDK_IsPlayerConnected SqVC_IsPlayerConnected;
extern SDK_IsPlayerSpawned SqVC_IsPlayerSpawned;
extern SDK_IsPlayerStreamedForPlayer SqVC_IsPlayerStreamedForPlayer;
extern SDK_GetPlayerKey SqVC_GetPlayerKey;
extern SDK_SetPlayerWorld SqVC_SetPlayerWorld;
extern SDK_GetPlayerWorld SqVC_GetPlayerWorld;
extern SDK_SetPlayerSecWorld SqVC_SetPlayerSecWorld;
extern SDK_GetPlayerSecWorld SqVC_GetPlayerSecWorld;
extern SDK_GetPlayerUniqueWorld SqVC_GetPlayerUniqueWorld;
extern SDK_IsPlayerWorldCompatible SqVC_IsPlayerWorldCompatible;
extern SDK_GetPlayerState SqVC_GetPlayerState;
extern SDK_GetPlayerName SqVC_GetPlayerName;
extern SDK_SetPlayerName SqVC_SetPlayerName;
extern SDK_SetPlayerTeam SqVC_SetPlayerTeam;
extern SDK_GetPlayerTeam SqVC_GetPlayerTeam;
extern SDK_SetPlayerSkin SqVC_SetPlayerSkin;
extern SDK_GetPlayerSkin SqVC_GetPlayerSkin;
extern SDK_SetPlayerColour SqVC_SetPlayerColour;
extern SDK_GetPlayerColour SqVC_GetPlayerColour;
extern SDK_ForcePlayerSpawn SqVC_ForcePlayerSpawn;
extern SDK_ForcePlayerSelect SqVC_ForcePlayerSelect;
extern SDK_ForceAllSelect SqVC_ForceAllSelect;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: score, ping, money, typing
*/
extern SDK_GivePlayerMoney SqVC_GivePlayerMoney;
extern SDK_SetPlayerMoney SqVC_SetPlayerMoney;
extern SDK_GetPlayerMoney SqVC_GetPlayerMoney;
extern SDK_SetPlayerScore SqVC_SetPlayerScore;
extern SDK_GetPlayerScore SqVC_GetPlayerScore;
extern SDK_GetPlayerPing SqVC_GetPlayerPing;
extern SDK_IsPlayerTyping SqVC_IsPlayerTyping;
extern SDK_GetPlayerFPS SqVC_GetPlayerFPS;
extern SDK_GetPlayerUID SqVC_GetPlayerUID;
extern SDK_GetPlayerWantedLevel SqVC_GetPlayerWantedLevel;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: health and location
*/
extern SDK_SetPlayerHealth SqVC_SetPlayerHealth;
extern SDK_GetPlayerHealth SqVC_GetPlayerHealth;
extern SDK_SetPlayerArmour SqVC_SetPlayerArmour;
extern SDK_GetPlayerArmour SqVC_GetPlayerArmour;
extern SDK_SetPlayerImmunityFlags SqVC_SetPlayerImmunityFlags;
extern SDK_GetPlayerImmunityFlags SqVC_GetPlayerImmunityFlags;
extern SDK_SetPlayerPos SqVC_SetPlayerPos;
extern SDK_GetPlayerPos SqVC_GetPlayerPos;
extern SDK_SetPlayerSpeed SqVC_SetPlayerSpeed;
extern SDK_GetPlayerSpeed SqVC_GetPlayerSpeed;
extern SDK_AddPlayerSpeed SqVC_AddPlayerSpeed;
extern SDK_SetPlayerHeading SqVC_SetPlayerHeading;
extern SDK_GetPlayerHeading SqVC_GetPlayerHeading;
extern SDK_SetPlayerAlpha SqVC_SetPlayerAlpha;
extern SDK_GetPlayerAlpha SqVC_GetPlayerAlpha;
extern SDK_GetPlayerOnFireStatus SqVC_GetPlayerOnFireStatus;
extern SDK_GetPlayerCrouchStatus SqVC_GetPlayerCrouchStatus;
extern SDK_GetPlayerAction SqVC_GetPlayerAction;
extern SDK_GetPlayerGameKeys SqVC_GetPlayerGameKeys;
extern SDK_GetPlayerAimPos SqVC_GetPlayerAimPos;
extern SDK_GetPlayerAimDir SqVC_GetPlayerAimDir;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: vehicle
*/
extern SDK_PutPlayerInVehicle SqVC_PutPlayerInVehicle;
extern SDK_RemovePlayerFromVehicle SqVC_RemovePlayerFromVehicle;
extern SDK_GetPlayerInVehicleStatus SqVC_GetPlayerInVehicleStatus;
extern SDK_GetPlayerInVehicleSlot SqVC_GetPlayerInVehicleSlot;
extern SDK_GetPlayerVehicleID SqVC_GetPlayerVehicleID;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: toggles
*/
extern SDK_TogglePlayerControllable SqVC_TogglePlayerControllable;
extern SDK_EnabledPlayerControllable SqVC_EnabledPlayerControllable;
extern SDK_TogglePlayerDriveby SqVC_TogglePlayerDriveby;
extern SDK_EnabledPlayerDriveby SqVC_EnabledPlayerDriveby;
extern SDK_TogglePlayerWhiteScanlines SqVC_TogglePlayerWhiteScanlines;
extern SDK_EnabledPlayerWhiteScanlines SqVC_EnabledPlayerWhiteScanlines;
extern SDK_TogglePlayerGreenScanlines SqVC_TogglePlayerGreenScanlines;
extern SDK_EnabledPlayerGreenScanlines SqVC_EnabledPlayerGreenScanlines;
extern SDK_TogglePlayerWidescreen SqVC_TogglePlayerWidescreen;
extern SDK_EnabledPlayerWidescreen SqVC_EnabledPlayerWidescreen;
extern SDK_TogglePlayerShowMarkers SqVC_TogglePlayerShowMarkers;
extern SDK_EnabledPlayerShowMarkers SqVC_EnabledPlayerShowMarkers;
extern SDK_TogglePlayerAttackPriv SqVC_TogglePlayerAttackPriv;
extern SDK_EnabledPlayerAttackPriv SqVC_EnabledPlayerAttackPriv;
extern SDK_TogglePlayerHasMarker SqVC_TogglePlayerHasMarker;
extern SDK_EnabledPlayerHasMarker SqVC_EnabledPlayerHasMarker;
extern SDK_TogglePlayerChatTagsEnabled SqVC_TogglePlayerChatTagsEnabled;
extern SDK_EnabledPlayerChatTags SqVC_EnabledPlayerChatTags;
extern SDK_TogglePlayerDrunkEffects SqVC_TogglePlayerDrunkEffects;
extern SDK_EnabledPlayerDrunkEffects SqVC_EnabledPlayerDrunkEffects;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: weapons
*/
extern SDK_GivePlayerWeapon SqVC_GivePlayerWeapon;
extern SDK_SetPlayerWeapon SqVC_SetPlayerWeapon;
extern SDK_GetPlayerWeapon SqVC_GetPlayerWeapon;
extern SDK_GetPlayerWeaponAmmo SqVC_GetPlayerWeaponAmmo;
extern SDK_SetPlayerWeaponSlot SqVC_SetPlayerWeaponSlot;
extern SDK_GetPlayerWeaponSlot SqVC_GetPlayerWeaponSlot;
extern SDK_GetPlayerWeaponAtSlot SqVC_GetPlayerWeaponAtSlot;
extern SDK_GetPlayerAmmoAtSlot SqVC_GetPlayerAmmoAtSlot;
extern SDK_RemovePlayerWeapon SqVC_RemovePlayerWeapon;
extern SDK_RemoveAllWeapons SqVC_RemoveAllWeapons;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: camera
*/
extern SDK_SetCameraPosition SqVC_SetCameraPosition;
extern SDK_RestoreCamera SqVC_RestoreCamera;
extern SDK_IsCameraLocked SqVC_IsCameraLocked;
/* ------------------------------------------------------------------------------------------------
* PLAYERS: misc
*/
extern SDK_SetPlayerAnimation SqVC_SetPlayerAnimation;
extern SDK_SetPlayerWantedLevel SqVC_SetPlayerWantedLevel;
extern SDK_GetPlayerStandingOnVehicle SqVC_GetPlayerStandingOnVehicle;
extern SDK_GetPlayerStandingOnObject SqVC_GetPlayerStandingOnObject;
extern SDK_IsPlayerAway SqVC_IsPlayerAway;
extern SDK_GetPlayerSpectateTarget SqVC_GetPlayerSpectateTarget;
extern SDK_SetPlayerSpectateTarget SqVC_SetPlayerSpectateTarget;
extern SDK_RedirectPlayerToServer SqVC_RedirectPlayerToServer;
/* ------------------------------------------------------------------------------------------------
* VEHICLES
*/
extern SDK_CreateVehicle SqVC_CreateVehicle;
extern SDK_DeleteVehicle SqVC_DeleteVehicle;
extern SDK_GetVehicleSyncSource SqVC_GetVehicleSyncSource;
extern SDK_GetVehicleSyncType SqVC_GetVehicleSyncType;
extern SDK_IsVehicleStreamedForPlayer SqVC_IsVehicleStreamedForPlayer;
extern SDK_SetVehicleWorld SqVC_SetVehicleWorld;
extern SDK_GetVehicleWorld SqVC_GetVehicleWorld;
extern SDK_GetVehicleModel SqVC_GetVehicleModel;
extern SDK_GetVehicleOccupant SqVC_GetVehicleOccupant;
extern SDK_RespawnVehicle SqVC_RespawnVehicle;
extern SDK_SetVehicleImmunityFlags SqVC_SetVehicleImmunityFlags;
extern SDK_GetVehicleImmunityFlags SqVC_GetVehicleImmunityFlags;
extern SDK_KillVehicle SqVC_KillVehicle;
extern SDK_IsVehicleWrecked SqVC_IsVehicleWrecked;
extern SDK_SetVehiclePos SqVC_SetVehiclePos;
extern SDK_GetVehiclePos SqVC_GetVehiclePos;
extern SDK_SetVehicleRot SqVC_SetVehicleRot;
extern SDK_SetVehicleRotEuler SqVC_SetVehicleRotEuler;
extern SDK_GetVehicleRot SqVC_GetVehicleRot;
extern SDK_GetVehicleRotEuler SqVC_GetVehicleRotEuler;
extern SDK_SetVehicleSpeed SqVC_SetVehicleSpeed;
extern SDK_GetVehicleSpeed SqVC_GetVehicleSpeed;
extern SDK_AddVehicleSpeed SqVC_AddVehicleSpeed;
extern SDK_SetVehicleRelSpeed SqVC_SetVehicleRelSpeed;
extern SDK_GetVehicleRelSpeed SqVC_GetVehicleRelSpeed;
extern SDK_AddVehicleRelSpeed SqVC_AddVehicleRelSpeed;
extern SDK_SetVehicleTurnSpeed SqVC_SetVehicleTurnSpeed;
extern SDK_GetVehicleTurnSpeed SqVC_GetVehicleTurnSpeed;
extern SDK_AddVehicleTurnSpeed SqVC_AddVehicleTurnSpeed;
extern SDK_SetVehicleRelTurnSpeed SqVC_SetVehicleRelTurnSpeed;
extern SDK_GetVehicleRelTurnSpeed SqVC_GetVehicleRelTurnSpeed;
extern SDK_AddVehicleRelTurnSpeed SqVC_AddVehicleRelTurnSpeed;
extern SDK_SetVehicleSpawnPos SqVC_SetVehicleSpawnPos;
extern SDK_GetVehicleSpawnPos SqVC_GetVehicleSpawnPos;
extern SDK_SetVehicleSpawnRot SqVC_SetVehicleSpawnRot;
extern SDK_SetVehicleSpawnRotEuler SqVC_SetVehicleSpawnRotEuler;
extern SDK_GetVehicleSpawnRot SqVC_GetVehicleSpawnRot;
extern SDK_GetVehicleSpawnRotEuler SqVC_GetVehicleSpawnRotEuler;
extern SDK_SetVehicleIdleRespawnTimer SqVC_SetVehicleIdleRespawnTimer;
extern SDK_GetVehicleIdleRespawnTimer SqVC_GetVehicleIdleRespawnTimer;
extern SDK_SetVehicleHealth SqVC_SetVehicleHealth;
extern SDK_GetVehicleHealth SqVC_GetVehicleHealth;
extern SDK_SetVehicleColour SqVC_SetVehicleColour;
extern SDK_GetVehicleColour SqVC_GetVehicleColour;
extern SDK_SetVehicleDoorsLocked SqVC_SetVehicleDoorsLocked;
extern SDK_GetVehicleDoorsLocked SqVC_GetVehicleDoorsLocked;
extern SDK_SetVehiclePartStatus SqVC_SetVehiclePartStatus;
extern SDK_GetVehiclePartStatus SqVC_GetVehiclePartStatus;
extern SDK_SetVehicleTyreStatus SqVC_SetVehicleTyreStatus;
extern SDK_GetVehicleTyreStatus SqVC_GetVehicleTyreStatus;
extern SDK_SetVehicleDamageData SqVC_SetVehicleDamageData;
extern SDK_GetVehicleDamageData SqVC_GetVehicleDamageData;
extern SDK_SetVehicleAlarm SqVC_SetVehicleAlarm;
extern SDK_GetVehicleAlarm SqVC_GetVehicleAlarm;
extern SDK_SetVehicleLights SqVC_SetVehicleLights;
extern SDK_GetVehicleLights SqVC_GetVehicleLights;
extern SDK_SetVehicleRadio SqVC_SetVehicleRadio;
extern SDK_GetVehicleRadio SqVC_GetVehicleRadio;
extern SDK_SetVehicleRadioLocked SqVC_SetVehicleRadioLocked;
extern SDK_IsVehicleRadioLocked SqVC_IsVehicleRadioLocked;
extern SDK_GetVehicleGhostState SqVC_GetVehicleGhostState;
extern SDK_SetVehicleGhostState SqVC_SetVehicleGhostState;
extern SDK_GetVehicleTurretRotation SqVC_GetVehicleTurretRotation;
/* ------------------------------------------------------------------------------------------------
* VEHICLES: handling
*/
extern SDK_ResetAllVehicleHandlings SqVC_ResetAllVehicleHandlings;
extern SDK_ExistsHandlingRule SqVC_ExistsHandlingRule;
extern SDK_SetHandlingRule SqVC_SetHandlingRule;
extern SDK_GetHandlingRule SqVC_GetHandlingRule;
extern SDK_ResetHandlingRule SqVC_ResetHandlingRule;
extern SDK_ResetHandling SqVC_ResetHandling;
extern SDK_ExistsInstHandlingRule SqVC_ExistsInstHandlingRule;
extern SDK_SetInstHandlingRule SqVC_SetInstHandlingRule;
extern SDK_GetInstHandlingRule SqVC_GetInstHandlingRule;
extern SDK_ResetInstHandlingRule SqVC_ResetInstHandlingRule;
extern SDK_ResetInstHandling SqVC_ResetInstHandling;
/* ------------------------------------------------------------------------------------------------
* PICKUPS
*/
extern SDK_CreatePickup SqVC_CreatePickup;
extern SDK_DeletePickup SqVC_DeletePickup;
extern SDK_IsPickupStreamedForPlayer SqVC_IsPickupStreamedForPlayer;
extern SDK_SetPickupWorld SqVC_SetPickupWorld;
extern SDK_GetPickupWorld SqVC_GetPickupWorld;
extern SDK_PickupGetAlpha SqVC_PickupGetAlpha;
extern SDK_PickupSetAlpha SqVC_PickupSetAlpha;
extern SDK_PickupIsAutomatic SqVC_PickupIsAutomatic;
extern SDK_PickupSetAutomatic SqVC_PickupSetAutomatic;
extern SDK_SetPickupAutoTimer SqVC_SetPickupAutoTimer;
extern SDK_GetPickupAutoTimer SqVC_GetPickupAutoTimer;
extern SDK_PickupRefresh SqVC_PickupRefresh;
extern SDK_PickupGetPos SqVC_PickupGetPos;
extern SDK_PickupSetPos SqVC_PickupSetPos;
extern SDK_PickupGetModel SqVC_PickupGetModel;
extern SDK_PickupGetQuantity SqVC_PickupGetQuantity;
/* ------------------------------------------------------------------------------------------------
* OBJECTS
*/
extern SDK_CreateObject SqVC_CreateObject;
extern SDK_DeleteObject SqVC_DeleteObject;
extern SDK_IsObjectStreamedForPlayer SqVC_IsObjectStreamedForPlayer;
extern SDK_GetObjectModel SqVC_GetObjectModel;
extern SDK_SetObjectWorld SqVC_SetObjectWorld;
extern SDK_GetObjectWorld SqVC_GetObjectWorld;
extern SDK_SetObjectAlpha SqVC_SetObjectAlpha;
extern SDK_GetObjectAlpha SqVC_GetObjectAlpha;
extern SDK_MoveObjectTo SqVC_MoveObjectTo;
extern SDK_MoveObjectBy SqVC_MoveObjectBy;
extern SDK_SetObjectPos SqVC_SetObjectPos;
extern SDK_GetObjectPos SqVC_GetObjectPos;
extern SDK_RotObjectTo SqVC_RotObjectTo;
extern SDK_RotObjectToEuler SqVC_RotObjectToEuler;
extern SDK_RotObjectBy SqVC_RotObjectBy;
extern SDK_RotObjectByEuler SqVC_RotObjectByEuler;
extern SDK_GetObjectRot SqVC_GetObjectRot;
extern SDK_GetObjectRotEuler SqVC_GetObjectRotEuler;
extern SDK_SetObjectShotReport SqVC_SetObjectShotReport;
extern SDK_IsObjectShotReport SqVC_IsObjectShotReport;
extern SDK_SetObjectBumpReport SqVC_SetObjectBumpReport;
extern SDK_IsObjectBumpReport SqVC_IsObjectBumpReport;
/* ------------------------------------------------------------------------------------------------
*
*/
extern SDK_ToggleWallglitch SqVC_ToggleWallglitch;
extern SDK_EnabledWallglitch SqVC_EnabledWallglitch;
extern SDK_SetVehicleSiren SqVC_SetVehicleSiren;
extern SDK_GetVehicleSiren SqVC_GetVehicleSiren;
extern SDK_GetPlayerUID2 SqVC_GetPlayerUID2;
/* ------------------------------------------------------------------------------------------------
*
*/
extern SDK_CreateCheckpoint SqVC_CreateCheckpoint;
extern SDK_DeleteCheckpoint SqVC_DeleteCheckpoint;
extern SDK_IsCheckpointStreamedForPlayer SqVC_IsCheckpointStreamedForPlayer;
extern SDK_SetCheckpointWorld SqVC_SetCheckpointWorld;
extern SDK_GetCheckpointWorld SqVC_GetCheckpointWorld;
extern SDK_SetCheckpointColor SqVC_SetCheckpointColor;
extern SDK_GetCheckpointColor SqVC_GetCheckpointColor;
extern SDK_SetCheckpointPos SqVC_SetCheckpointPos;
extern SDK_GetCheckpointPos SqVC_GetCheckpointPos;
extern SDK_SetCheckpointRadius SqVC_SetCheckpointRadius;
extern SDK_GetCheckpointRadius SqVC_GetCheckpointRadius;
extern SDK_GetCheckpointOwner SqVC_GetCheckpointOwner;
/* ------------------------------------------------------------------------------------------------
*
*/
extern SDK_CreateSphere SqVC_CreateSphere;
extern SDK_DeleteSphere SqVC_DeleteSphere;
extern SDK_IsSphereStreamedForPlayer SqVC_IsSphereStreamedForPlayer;
extern SDK_SetSphereWorld SqVC_SetSphereWorld;
extern SDK_GetSphereWorld SqVC_GetSphereWorld;
extern SDK_SetSphereColor SqVC_SetSphereColor;
extern SDK_GetSphereColor SqVC_GetSphereColor;
extern SDK_SetSpherePos SqVC_SetSpherePos;
extern SDK_GetSpherePos SqVC_GetSpherePos;
extern SDK_SetSphereRadius SqVC_SetSphereRadius;
extern SDK_GetSphereRadius SqVC_GetSphereRadius;
extern SDK_GetSphereOwner SqVC_GetSphereOwner;
/* --------------------------------------------------------------------------------------------
* Import the functions from the main squirrel plugin.
*/
SQUIRREL_API HSQEXPORTS sq_api_import(PluginFuncs * vcapi);
/* --------------------------------------------------------------------------------------------
* Assign the functions from the specified API structure into the global functions.
*/
SQUIRREL_API SQRESULT sq_api_expand(HSQAPI sqapi);
/* --------------------------------------------------------------------------------------------
* Undo changes done by sq_api_expand.
*/
SQUIRREL_API void sq_api_collapse();
/* --------------------------------------------------------------------------------------------
* Assign the functions from the specified API structure into the global functions.
*/
SQUIRREL_API SQRESULT vc_api_expand(PluginFuncs * vcapi);
/* --------------------------------------------------------------------------------------------
* Undo changes done by vc_api_expand.
*/
SQUIRREL_API void vc_api_collapse();
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif /*_SQ_API_H_*/

File diff suppressed because it is too large Load Diff