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
This commit is contained in:
Patrix
2021-04-13 21:22:30 +02:00
parent eb27c28845
commit f75416d878
7 changed files with 48 additions and 41 deletions

View File

@@ -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"
)

22
src/api/module_api.cpp Normal file
View File

@@ -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);
}
}

16
src/api/module_api.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef _MODULE_API_H
#define _MODULE_API_H
#include <sqmodule.h>
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

View File

@@ -1,18 +1,5 @@
#ifndef _SQAPI_H
#define _SQAPI_H
#include <sqmodule.h>
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

View File

@@ -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"

View File

@@ -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;
}

View File

@@ -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);
}
}