From f75416d878ce17084e8ca4318fbf4ea659168ef1 Mon Sep 17 00:00:00 2001 From: Patrix Date: Tue, 13 Apr 2021 21:22:30 +0200 Subject: [PATCH] Modified project structure: - renamed sqmodule_api.h/.cpp to module_api - moved defines for sq_* functions into squirrel_api.h - renamed SqModule::inti to SQModule::Init - moved all of the files to "api" subfolder --- CMakeLists.txt | 5 +++-- src/api/module_api.cpp | 22 ++++++++++++++++++++++ src/api/module_api.h | 16 ++++++++++++++++ src/{sqmodule_api.h => api/squirrel_api.h} | 19 +++---------------- src/pch.h | 3 ++- src/sqmain.cpp | 3 ++- src/sqmodule_api.cpp | 21 --------------------- 7 files changed, 48 insertions(+), 41 deletions(-) create mode 100644 src/api/module_api.cpp create mode 100644 src/api/module_api.h rename src/{sqmodule_api.h => api/squirrel_api.h} (96%) delete mode 100644 src/sqmodule_api.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b9ded9..b473510 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,9 @@ project(SqModule) file(GLOB_RECURSE SRC "dependencies/squirrel/include/*.h" "dependencies/sqrat/include/*.h" - "src/sqmodule_api.h" - "src/sqmodule_api.cpp" + "src/api/squirrel_api.h" + "src/api/module_api.h" + "src/api/module_api.cpp" "src/pch.h" "src/sqmain.cpp" ) diff --git a/src/api/module_api.cpp b/src/api/module_api.cpp new file mode 100644 index 0000000..a8924d7 --- /dev/null +++ b/src/api/module_api.cpp @@ -0,0 +1,22 @@ +#include "pch.h" + +namespace SqModule +{ + HSQUIRRELVM vm; + HSQAPI api; + + void Initialize(HSQUIRRELVM vm, HSQAPI api) { + SqModule::vm = vm; + SqModule::api = api; + } + + void Print(const SQChar* msg) { + const SQPRINTFUNCTION print = sq_getprintfunc(vm); + print(vm, msg); + } + + void Error(const SQChar* msg) { + const SQPRINTFUNCTION error = sq_geterrorfunc(vm); + error(vm, msg); + } +} diff --git a/src/api/module_api.h b/src/api/module_api.h new file mode 100644 index 0000000..48b7f25 --- /dev/null +++ b/src/api/module_api.h @@ -0,0 +1,16 @@ +#ifndef _MODULE_API_H +#define _MODULE_API_H + +#include + +namespace SqModule +{ + extern HSQUIRRELVM vm; + extern HSQAPI api; + + void Initalize(HSQUIRRELVM vm, HSQAPI api); + void Print(const SQChar* msg); + void Error(const SQChar* msg); +} + +#endif \ No newline at end of file diff --git a/src/sqmodule_api.h b/src/api/squirrel_api.h similarity index 96% rename from src/sqmodule_api.h rename to src/api/squirrel_api.h index fe4db51..b38aef8 100644 --- a/src/sqmodule_api.h +++ b/src/api/squirrel_api.h @@ -1,18 +1,5 @@ -#ifndef _SQAPI_H -#define _SQAPI_H - -#include - -namespace SqModule -{ - extern HSQUIRRELVM vm; - extern HSQAPI api; - - extern SQPRINTFUNCTION print; - extern SQPRINTFUNCTION error; - - void init(HSQUIRRELVM vm, HSQAPI api); -} +#ifndef _SQUIRREL_API_H +#define _SQUIRREL_API_H /*vm*/ #define sq_open SqModule::api->open @@ -181,4 +168,4 @@ namespace SqModule #define sq_setdebughook SqModule::api->setdebughook #define sq_setnativedebughook SqModule::api->setnativedebughook -#endif \ No newline at end of file +#endif diff --git a/src/pch.h b/src/pch.h index df9221b..0df9e59 100644 --- a/src/pch.h +++ b/src/pch.h @@ -3,5 +3,6 @@ #define SCRAT_EXPORT // Used to get SQRAT_API macro for sqmodule_load func (export function) -#include "sqmodule_api.h" +#include "api/squirrel_api.h" +#include "api/module_api.h" #include "sqrat.h" diff --git a/src/sqmain.cpp b/src/sqmain.cpp index 075d3f2..a99f52c 100644 --- a/src/sqmain.cpp +++ b/src/sqmain.cpp @@ -2,7 +2,8 @@ extern "C" SQRESULT SQRAT_API sqmodule_load(HSQUIRRELVM vm, HSQAPI api) { - SqModule::init(vm, api); + SqModule::Initalize(vm, api); + Sqrat::DefaultVM::Set(vm); return SQ_OK; } diff --git a/src/sqmodule_api.cpp b/src/sqmodule_api.cpp deleted file mode 100644 index fce2e6b..0000000 --- a/src/sqmodule_api.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "pch.h" - -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); - } -}