From eb27c28845d4dea27bac69acd88cf91a401cd8d1 Mon Sep 17 00:00:00 2001 From: Patrix Date: Mon, 12 Apr 2021 19:52:27 +0200 Subject: [PATCH] Renamed namespace sqModule to SqModule, added SqModule::init function --- CMakeLists.txt | 20 +-- src/sqmain.cpp | 9 +- src/sqmodule_api.cpp | 13 +- src/sqmodule_api.h | 294 ++++++++++++++++++++++--------------------- 4 files changed, 171 insertions(+), 165 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f60aa5..8b9ded9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.17) -project(sqModule) +project(SqModule) file(GLOB_RECURSE SRC "dependencies/squirrel/include/*.h" @@ -11,10 +11,10 @@ file(GLOB_RECURSE SRC "src/sqmain.cpp" ) -add_library(sqModule SHARED ${SRC}) -target_precompile_headers(sqModule PRIVATE "src/pch.h") +add_library(SqModule SHARED ${SRC}) +target_precompile_headers(SqModule PRIVATE "src/pch.h") -target_include_directories(sqModule +target_include_directories(SqModule INTERFACE "include/" PRIVATE @@ -26,17 +26,17 @@ target_include_directories(sqModule if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.game.dir.txt") file(READ ".game.dir.txt" GAME_DIR) - add_custom_command(TARGET sqModule + add_custom_command(TARGET SqModule POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy $ ${GAME_DIR} - COMMAND ${CMAKE_COMMAND} -E echo "[Post Build] $ copied to: ${GAME_DIR}") + COMMAND ${CMAKE_COMMAND} -E copy $ ${GAME_DIR} + COMMAND ${CMAKE_COMMAND} -E echo "[Post Build] $ copied to: ${GAME_DIR}") endif() if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.server.dir.txt") file(READ ".server.dir.txt" SERVER_DIR) - add_custom_command(TARGET sqModule + add_custom_command(TARGET SqModule POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy $ ${SERVER_DIR} - COMMAND ${CMAKE_COMMAND} -E echo "[Post Build] $ copied to: ${SERVER_DIR}") + COMMAND ${CMAKE_COMMAND} -E copy $ ${SERVER_DIR} + COMMAND ${CMAKE_COMMAND} -E echo "[Post Build] $ copied to: ${SERVER_DIR}") endif() diff --git a/src/sqmain.cpp b/src/sqmain.cpp index 50916e3..075d3f2 100644 --- a/src/sqmain.cpp +++ b/src/sqmain.cpp @@ -2,14 +2,7 @@ extern "C" SQRESULT SQRAT_API sqmodule_load(HSQUIRRELVM vm, HSQAPI api) { - // Module Init - sqModule::vm = vm; - sqModule::api = api; - - sqModule::print = sq_getprintfunc(vm); - sqModule::error = sq_geterrorfunc(vm); - - Sqrat::DefaultVM::Set(vm); + SqModule::init(vm, api); return SQ_OK; } diff --git a/src/sqmodule_api.cpp b/src/sqmodule_api.cpp index f92c9c2..fce2e6b 100644 --- a/src/sqmodule_api.cpp +++ b/src/sqmodule_api.cpp @@ -1,10 +1,21 @@ #include "pch.h" -namespace sqModule +namespace SqModule { HSQUIRRELVM vm; HSQAPI api; SQPRINTFUNCTION print; SQPRINTFUNCTION error; + + void init(HSQUIRRELVM vm, HSQAPI api) + { + SqModule::vm = vm; + SqModule::api = api; + + SqModule::print = sq_getprintfunc(vm); + SqModule::error = sq_geterrorfunc(vm); + + Sqrat::DefaultVM::Set(vm); + } } diff --git a/src/sqmodule_api.h b/src/sqmodule_api.h index 92261da..fe4db51 100644 --- a/src/sqmodule_api.h +++ b/src/sqmodule_api.h @@ -3,180 +3,182 @@ #include -namespace sqModule +namespace SqModule { extern HSQUIRRELVM vm; extern HSQAPI api; extern SQPRINTFUNCTION print; extern SQPRINTFUNCTION error; + + void init(HSQUIRRELVM vm, HSQAPI api); } /*vm*/ -#define sq_open sqModule::api->open -#define sq_newthread sqModule::api->newthread -#define sq_seterrorhandler sqModule::api->seterrorhandler -#define sq_close sqModule::api->close -#define sq_setforeignptr sqModule::api->setforeignptr -#define sq_getforeignptr sqModule::api->getforeignptr -#define sq_setsharedforeignptr sqModule::api->setsharedforeignptr -#define sq_getsharedforeignptr sqModule::api->getsharedforeignptr -#define sq_setvmreleasehook sqModule::api->setvmreleasehook -#define sq_getvmreleasehook sqModule::api->getvmreleasehook -#define sq_setsharedreleasehook sqModule::api->setsharedreleasehook -#define sq_getsharedreleasehook sqModule::api->getsharedreleasehook -#define sq_setprintfunc sqModule::api->setprintfunc -#define sq_getprintfunc sqModule::api->getprintfunc -#define sq_geterrorfunc sqModule::api->geterrorfunc -#define sq_suspendvm sqModule::api->suspendvm -#define sq_wakeupvm sqModule::api->wakeupvm -#define sq_getvmstate sqModule::api->getvmstate -#define sq_getversion sqModule::api->getversion +#define sq_open SqModule::api->open +#define sq_newthread SqModule::api->newthread +#define sq_seterrorhandler SqModule::api->seterrorhandler +#define sq_close SqModule::api->close +#define sq_setforeignptr SqModule::api->setforeignptr +#define sq_getforeignptr SqModule::api->getforeignptr +#define sq_setsharedforeignptr SqModule::api->setsharedforeignptr +#define sq_getsharedforeignptr SqModule::api->getsharedforeignptr +#define sq_setvmreleasehook SqModule::api->setvmreleasehook +#define sq_getvmreleasehook SqModule::api->getvmreleasehook +#define sq_setsharedreleasehook SqModule::api->setsharedreleasehook +#define sq_getsharedreleasehook SqModule::api->getsharedreleasehook +#define sq_setprintfunc SqModule::api->setprintfunc +#define sq_getprintfunc SqModule::api->getprintfunc +#define sq_geterrorfunc SqModule::api->geterrorfunc +#define sq_suspendvm SqModule::api->suspendvm +#define sq_wakeupvm SqModule::api->wakeupvm +#define sq_getvmstate SqModule::api->getvmstate +#define sq_getversion SqModule::api->getversion /*compiler*/ -#define sq_compile sqModule::api->compile -#define sq_compilebuffer sqModule::api->compilebuffer -#define sq_enabledebuginfo sqModule::api->enabledebuginfo -#define sq_notifyallexceptions sqModule::api->notifyallexceptions -#define sq_setcompilererrorhandler sqModule::api->setcompilererrorhandler +#define sq_compile SqModule::api->compile +#define sq_compilebuffer SqModule::api->compilebuffer +#define sq_enabledebuginfo SqModule::api->enabledebuginfo +#define sq_notifyallexceptions SqModule::api->notifyallexceptions +#define sq_setcompilererrorhandler SqModule::api->setcompilererrorhandler /*stack operations*/ -#define sq_push sqModule::api->push -#define sq_pop sqModule::api->pop -#define sq_poptop sqModule::api->poptop -#define sq_remove sqModule::api->remove -#define sq_gettop sqModule::api->gettop -#define sq_settop sqModule::api->settop -#define sq_reservestack sqModule::api->reservestack -#define sq_cmp sqModule::api->cmp -#define sq_move sqModule::api->move +#define sq_push SqModule::api->push +#define sq_pop SqModule::api->pop +#define sq_poptop SqModule::api->poptop +#define sq_remove SqModule::api->remove +#define sq_gettop SqModule::api->gettop +#define sq_settop SqModule::api->settop +#define sq_reservestack SqModule::api->reservestack +#define sq_cmp SqModule::api->cmp +#define sq_move SqModule::api->move /*object creation handling*/ -#define sq_newuserdata sqModule::api->newuserdata -#define sq_newtable sqModule::api->newtable -#define sq_newtableex sqModule::api->newtableex -#define sq_newarray sqModule::api->newarray -#define sq_newclosure sqModule::api->newclosure -#define sq_setparamscheck sqModule::api->setparamscheck -#define sq_bindenv sqModule::api->bindenv -#define sq_setclosureroot sqModule::api->setclosureroot -#define sq_getclosureroot sqModule::api->getclosureroot -#define sq_pushstring sqModule::api->pushstring -#define sq_pushfloat sqModule::api->pushfloat -#define sq_pushinteger sqModule::api->pushinteger -#define sq_pushbool sqModule::api->pushbool -#define sq_pushuserpointer sqModule::api->pushuserpointer -#define sq_pushnull sqModule::api->pushnull -#define sq_pushthread sqModule::api->pushthread -#define sq_gettype sqModule::api->gettype -#define sq_typeof sqModule::api->typeof -#define sq_getsize sqModule::api->getsize -#define sq_gethash sqModule::api->gethash -#define sq_getbase sqModule::api->getbase -#define sq_instanceof sqModule::api->instanceof -#define sq_tostring sqModule::api->tostring -#define sq_tobool sqModule::api->tobool -#define sq_getstring sqModule::api->getstring -#define sq_getinteger sqModule::api->getinteger -#define sq_getfloat sqModule::api->getfloat -#define sq_getbool sqModule::api->getbool -#define sq_getthread sqModule::api->getthread -#define sq_getuserpointer sqModule::api->getuserpointer -#define sq_getuserdata sqModule::api->getuserdata -#define sq_settypetag sqModule::api->settypetag -#define sq_gettypetag sqModule::api->gettypetag -#define sq_setreleasehook sqModule::api->setreleasehook -#define sq_getreleasehook sqModule::api->getreleasehook -#define sq_getscratchpad sqModule::api->getscratchpad -#define sq_getfunctioninfo sqModule::api->getfunctioninfo -#define sq_getclosureinfo sqModule::api->getclosureinfo -#define sq_getclosurename sqModule::api->getclosurename -#define sq_setnativeclosurename sqModule::api->setnativeclosurename -#define sq_setinstanceup sqModule::api->setinstanceup -#define sq_getinstanceup sqModule::api->getinstanceup -#define sq_setclassudsize sqModule::api->setclassudsize -#define sq_newclass sqModule::api->newclass -#define sq_createinstance sqModule::api->createinstance -#define sq_setattributes sqModule::api->setattributes -#define sq_getattributes sqModule::api->getattributes -#define sq_getclass sqModule::api->getclass -#define sq_weakref sqModule::api->weakref -#define sq_getdefaultdelegate sqModule::api->getdefaultdelegate -#define sq_getmemberhandle sqModule::api->getmemberhandle -#define sq_getbyhandle sqModule::api->getbyhandle -#define sq_setbyhandle sqModule::api->setbyhandle +#define sq_newuserdata SqModule::api->newuserdata +#define sq_newtable SqModule::api->newtable +#define sq_newtableex SqModule::api->newtableex +#define sq_newarray SqModule::api->newarray +#define sq_newclosure SqModule::api->newclosure +#define sq_setparamscheck SqModule::api->setparamscheck +#define sq_bindenv SqModule::api->bindenv +#define sq_setclosureroot SqModule::api->setclosureroot +#define sq_getclosureroot SqModule::api->getclosureroot +#define sq_pushstring SqModule::api->pushstring +#define sq_pushfloat SqModule::api->pushfloat +#define sq_pushinteger SqModule::api->pushinteger +#define sq_pushbool SqModule::api->pushbool +#define sq_pushuserpointer SqModule::api->pushuserpointer +#define sq_pushnull SqModule::api->pushnull +#define sq_pushthread SqModule::api->pushthread +#define sq_gettype SqModule::api->gettype +#define sq_typeof SqModule::api->typeof +#define sq_getsize SqModule::api->getsize +#define sq_gethash SqModule::api->gethash +#define sq_getbase SqModule::api->getbase +#define sq_instanceof SqModule::api->instanceof +#define sq_tostring SqModule::api->tostring +#define sq_tobool SqModule::api->tobool +#define sq_getstring SqModule::api->getstring +#define sq_getinteger SqModule::api->getinteger +#define sq_getfloat SqModule::api->getfloat +#define sq_getbool SqModule::api->getbool +#define sq_getthread SqModule::api->getthread +#define sq_getuserpointer SqModule::api->getuserpointer +#define sq_getuserdata SqModule::api->getuserdata +#define sq_settypetag SqModule::api->settypetag +#define sq_gettypetag SqModule::api->gettypetag +#define sq_setreleasehook SqModule::api->setreleasehook +#define sq_getreleasehook SqModule::api->getreleasehook +#define sq_getscratchpad SqModule::api->getscratchpad +#define sq_getfunctioninfo SqModule::api->getfunctioninfo +#define sq_getclosureinfo SqModule::api->getclosureinfo +#define sq_getclosurename SqModule::api->getclosurename +#define sq_setnativeclosurename SqModule::api->setnativeclosurename +#define sq_setinstanceup SqModule::api->setinstanceup +#define sq_getinstanceup SqModule::api->getinstanceup +#define sq_setclassudsize SqModule::api->setclassudsize +#define sq_newclass SqModule::api->newclass +#define sq_createinstance SqModule::api->createinstance +#define sq_setattributes SqModule::api->setattributes +#define sq_getattributes SqModule::api->getattributes +#define sq_getclass SqModule::api->getclass +#define sq_weakref SqModule::api->weakref +#define sq_getdefaultdelegate SqModule::api->getdefaultdelegate +#define sq_getmemberhandle SqModule::api->getmemberhandle +#define sq_getbyhandle SqModule::api->getbyhandle +#define sq_setbyhandle SqModule::api->setbyhandle /*object manipulation*/ -#define sq_pushroottable sqModule::api->pushroottable -#define sq_pushregistrytable sqModule::api->pushregistrytable -#define sq_pushconsttable sqModule::api->pushconsttable -#define sq_setroottable sqModule::api->setroottable -#define sq_setconsttable sqModule::api->setconsttable -#define sq_newslot sqModule::api->newslot -#define sq_deleteslot sqModule::api->deleteslot -#define sq_set sqModule::api->set -#define sq_get sqModule::api->get -#define sq_rawset sqModule::api->rawset -#define sq_rawget sqModule::api->rawget -#define sq_rawdeleteslot sqModule::api->rawdeleteslot -#define sq_newmember sqModule::api->newmember -#define sq_rawnewmember sqModule::api->rawnewmember -#define sq_arrayappend sqModule::api->arrayappend -#define sq_arraypop sqModule::api->arraypop -#define sq_arrayresize sqModule::api->arrayresize -#define sq_arrayreverse sqModule::api->arrayreverse -#define sq_arrayremove sqModule::api->arrayremove -#define sq_arrayinsert sqModule::api->arrayinsert -#define sq_setdelegate sqModule::api->setdelegate -#define sq_getdelegate sqModule::api->getdelegate -#define sq_clone sqModule::api->clone -#define sq_setfreevariable sqModule::api->setfreevariable -#define sq_next sqModule::api->next -#define sq_getweakrefval sqModule::api->getweakrefval -#define sq_clear sqModule::api->clear +#define sq_pushroottable SqModule::api->pushroottable +#define sq_pushregistrytable SqModule::api->pushregistrytable +#define sq_pushconsttable SqModule::api->pushconsttable +#define sq_setroottable SqModule::api->setroottable +#define sq_setconsttable SqModule::api->setconsttable +#define sq_newslot SqModule::api->newslot +#define sq_deleteslot SqModule::api->deleteslot +#define sq_set SqModule::api->set +#define sq_get SqModule::api->get +#define sq_rawset SqModule::api->rawset +#define sq_rawget SqModule::api->rawget +#define sq_rawdeleteslot SqModule::api->rawdeleteslot +#define sq_newmember SqModule::api->newmember +#define sq_rawnewmember SqModule::api->rawnewmember +#define sq_arrayappend SqModule::api->arrayappend +#define sq_arraypop SqModule::api->arraypop +#define sq_arrayresize SqModule::api->arrayresize +#define sq_arrayreverse SqModule::api->arrayreverse +#define sq_arrayremove SqModule::api->arrayremove +#define sq_arrayinsert SqModule::api->arrayinsert +#define sq_setdelegate SqModule::api->setdelegate +#define sq_getdelegate SqModule::api->getdelegate +#define sq_clone SqModule::api->clone +#define sq_setfreevariable SqModule::api->setfreevariable +#define sq_next SqModule::api->next +#define sq_getweakrefval SqModule::api->getweakrefval +#define sq_clear SqModule::api->clear /*calls*/ -#define sq_call sqModule::api->call -#define sq_resume sqModule::api->resume -#define sq_getlocal sqModule::api->getlocal -#define sq_getcallee sqModule::api->getcallee -#define sq_getfreevariable sqModule::api->getfreevariable -#define sq_throwerror sqModule::api->throwerror -#define sq_throwobject sqModule::api->throwobject -#define sq_reseterror sqModule::api->reseterror -#define sq_getlasterror sqModule::api->getlasterror +#define sq_call SqModule::api->call +#define sq_resume SqModule::api->resume +#define sq_getlocal SqModule::api->getlocal +#define sq_getcallee SqModule::api->getcallee +#define sq_getfreevariable SqModule::api->getfreevariable +#define sq_throwerror SqModule::api->throwerror +#define sq_throwobject SqModule::api->throwobject +#define sq_reseterror SqModule::api->reseterror +#define sq_getlasterror SqModule::api->getlasterror /*raw object handling*/ -#define sq_getstackobj sqModule::api->getstackobj -#define sq_pushobject sqModule::api->pushobject -#define sq_addref sqModule::api->addref -#define sq_release sqModule::api->release -#define sq_getrefcount sqModule::api->getrefcount -#define sq_resetobject sqModule::api->resetobject -#define sq_objtostring sqModule::api->objtostring -#define sq_objtobool sqModule::api->objtobool -#define sq_objtointeger sqModule::api->objtointeger -#define sq_objtofloat sqModule::api->objtofloat -#define sq_objtouserpointer sqModule::api->objtouserpointer -#define sq_getobjtypetag sqModule::api->getobjtypetag -#define sq_getvmrefcount sqModule::api->getvmrefcount +#define sq_getstackobj SqModule::api->getstackobj +#define sq_pushobject SqModule::api->pushobject +#define sq_addref SqModule::api->addref +#define sq_release SqModule::api->release +#define sq_getrefcount SqModule::api->getrefcount +#define sq_resetobject SqModule::api->resetobject +#define sq_objtostring SqModule::api->objtostring +#define sq_objtobool SqModule::api->objtobool +#define sq_objtointeger SqModule::api->objtointeger +#define sq_objtofloat SqModule::api->objtofloat +#define sq_objtouserpointer SqModule::api->objtouserpointer +#define sq_getobjtypetag SqModule::api->getobjtypetag +#define sq_getvmrefcount SqModule::api->getvmrefcount /*GC*/ -#define sq_collectgarbage sqModule::api->collectgarbage -#define sq_resurrectunreachable sqModule::api->resurrectunreachable +#define sq_collectgarbage SqModule::api->collectgarbage +#define sq_resurrectunreachable SqModule::api->resurrectunreachable /*serialization*/ -#define sq_writeclosure sqModule::api->writeclosure -#define sq_readclosure sqModule::api->readclosure +#define sq_writeclosure SqModule::api->writeclosure +#define sq_readclosure SqModule::api->readclosure /*mem allocation*/ -#define sq_malloc sqModule::api->malloc -#define sq_realloc sqModule::api->realloc -#define sq_free sqModule::api->free +#define sq_malloc SqModule::api->malloc +#define sq_realloc SqModule::api->realloc +#define sq_free SqModule::api->free /*debug*/ -#define sq_stackinfos sqModule::api->stackinfos -#define sq_setdebughook sqModule::api->setdebughook -#define sq_setnativedebughook sqModule::api->setnativedebughook +#define sq_stackinfos SqModule::api->stackinfos +#define sq_setdebughook SqModule::api->setdebughook +#define sq_setnativedebughook SqModule::api->setnativedebughook #endif \ No newline at end of file