1
0
forked from redo/BlockLua

.clang-format updates

This commit is contained in:
2025-10-06 17:00:12 -04:00
parent 5718ba8e6b
commit ed5c254480
15 changed files with 617 additions and 650 deletions

View File

@@ -14,7 +14,7 @@
#include "luainterp.cpp"
#include "lualibts.cpp"
lua_State *gL;
lua_State* gL;
#include "tsliblua.cpp"
// Global variables
@@ -22,9 +22,9 @@ lua_State *gL;
// Setup
// Hack to encode the contents of text files as static strings
#define INCLUDE_BIN(varname, filename) \
asm("_" #varname ": .incbin \"" filename "\""); \
asm(".byte 0"); \
#define INCLUDE_BIN(varname, filename) \
asm("_" #varname ": .incbin \"" filename "\""); \
asm(".byte 0"); \
extern char varname[];
INCLUDE_BIN(bll_fileLuaEnvSafe, "lua-env-safe.lua");
INCLUDE_BIN(bll_fileLuaEnv, "lua-env.lua");
@@ -39,10 +39,10 @@ INCLUDE_BIN(bll_fileLuaLibblTypes, "util/libbl-types.lua");
INCLUDE_BIN(bll_fileTsLibblSupport, "util/libbl-support.cs");
INCLUDE_BIN(bll_fileLoadaddons, "util/loadaddons.cs");
#define BLL_LOAD_LUA(lstate, vname) \
if (!bll_LuaEval(lstate, vname)) { \
BlPrintf(" Error executing " #vname); \
return false; \
#define BLL_LOAD_LUA(lstate, vname) \
if (!bll_LuaEval(lstate, vname)) { \
BlPrintf(" Error executing " #vname); \
return false; \
}
bool init() {
@@ -65,9 +65,8 @@ bool init() {
#endif
// Expose Lua API to TS
BlAddFunction(NULL, NULL, "_bllua_luacall", bll_ts_luacall,
"LuaCall(name, ...) - Call Lua function and return result", 2,
20);
BlAddFunction(
NULL, NULL, "_bllua_luacall", bll_ts_luacall, "LuaCall(name, ...) - Call Lua function and return result", 2, 20);
BlEval(bll_fileTsEnv);
// Load utilities
@@ -103,7 +102,7 @@ bool deinit() {
return true;
}
bool __stdcall DllMain(HINSTANCE hinstance, DWORD reason, void *reserved) {
bool __stdcall DllMain(HINSTANCE hinstance, DWORD reason, void* reserved) {
switch (reason) {
case DLL_PROCESS_ATTACH:
return init();

View File

@@ -6,7 +6,7 @@
#include "lua.h"
#include <cstring>
int bll_error_handler(lua_State *L) {
int bll_error_handler(lua_State* L) {
lua_getfield(L, LUA_GLOBALSINDEX, "_bllua_on_error");
if (!lua_isfunction(L, -1)) {
BlPrintf(" Lua error handler: _bllua_on_error not defined.");
@@ -21,7 +21,8 @@ int bll_error_handler(lua_State *L) {
lua_pcall(L, 1, 1, 0);
return 1;
}
int bll_pcall(lua_State *L, int nargs, int nret) {
int bll_pcall(lua_State* L, int nargs, int nret) {
// calculate stack position for message handler
int hpos = lua_gettop(L) - nargs;
// push custom error message handler
@@ -36,7 +37,7 @@ int bll_pcall(lua_State *L, int nargs, int nret) {
}
// Display the last Lua error in the BL console
void bll_printError(lua_State *L, const char *operation, const char *item) {
void bll_printError(lua_State* L, const char* operation, const char* item) {
// error_handler(L);
BlPrintf("\x03Lua error: %s", lua_tostring(L, -1));
BlPrintf("\x03 (%s: %s)", operation, item);
@@ -44,7 +45,7 @@ void bll_printError(lua_State *L, const char *operation, const char *item) {
}
// Eval a string of Lua code
bool bll_LuaEval(lua_State *L, const char *str) {
bool bll_LuaEval(lua_State* L, const char* str) {
if (luaL_loadbuffer(L, str, strlen(str), "input") || bll_pcall(L, 0, 1)) {
bll_printError(L, "eval", str);
return false;
@@ -55,9 +56,10 @@ bool bll_LuaEval(lua_State *L, const char *str) {
// Convert a Lua stack entry into a string for providing to TS
// Use static buffer to avoid excessive malloc
char bll_arg_buffer[BLL_ARG_COUNT][BLL_ARG_MAX];
bool bll_toarg(lua_State *L, char *buf, int i, bool err) {
bool bll_toarg(lua_State* L, char* buf, int i, bool err) {
if (lua_isstring(L, i)) {
const char *str = lua_tostring(L, i);
const char* str = lua_tostring(L, i);
if (strlen(str) >= BLL_ARG_MAX) {
if (err)
luaL_error(L, "argument to TS is too long - max length is 8192");

View File

@@ -8,10 +8,10 @@
#define BLL_ARG_MAX 8192
extern char bll_arg_buffer[BLL_ARG_COUNT][BLL_ARG_MAX];
bool bll_toarg(lua_State *L, char *buf, int i, bool err);
int bll_pcall(lua_State *L, int nargs, int nret);
void bll_printError(lua_State *L, const char *operation, const char *item);
bool bll_toarg(lua_State* L, char* buf, int i, bool err);
int bll_pcall(lua_State* L, int nargs, int nret);
void bll_printError(lua_State* L, const char* operation, const char* item);
extern lua_State *gL;
extern lua_State* gL;
#endif

View File

@@ -9,8 +9,7 @@
#include "lua.h"
#include "luainterp.hpp"
int bll_TsCall(lua_State *L, const char *oname, const char *fname, int argc,
int ofs) {
int bll_TsCall(lua_State* L, const char* oname, const char* fname, int argc, int ofs) {
ADDR obj = (ADDR)NULL;
if (oname) {
obj = BlObject(oname);
@@ -23,15 +22,15 @@ int bll_TsCall(lua_State *L, const char *oname, const char *fname, int argc,
return luaL_error(L, "Lua->TS call: Too many arguments (Max is 19)");
}
char *argv[BLL_ARG_COUNT];
char* argv[BLL_ARG_COUNT];
for (int i = 0; i < argc; i++) {
char *argbuf = bll_arg_buffer[i];
char* argbuf = bll_arg_buffer[i];
argv[i] = argbuf;
bll_toarg(L, argbuf, i + ofs + 1, true);
}
// /:^| /
const char *res;
const char* res;
if (obj) {
switch (argc) {
case 0:
@@ -56,71 +55,65 @@ int bll_TsCall(lua_State *L, const char *oname, const char *fname, int argc,
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4]);
break;
case 7:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5]);
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]);
break;
case 8:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6]);
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]);
break;
case 9:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7]);
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]);
break;
case 10:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8]);
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8]);
break;
case 11:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9]);
break;
case 12:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10]);
break;
case 13:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11]);
break;
case 14:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11], argv[12]);
break;
case 15:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11], argv[12], argv[13]);
break;
case 16:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11], argv[12], argv[13], argv[14]);
break;
case 17:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11], argv[12], argv[13], argv[14], argv[15]);
break;
case 18:
res =
BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15], argv[16]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11], argv[12], argv[13], argv[14], argv[15], argv[16]);
break;
case 19:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15],
argv[16], argv[17]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11], argv[12], argv[13], argv[14], argv[15], argv[16], argv[17]);
break;
case 20:
res = BlCallObj(obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4],
argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15],
argv[16], argv[17], argv[18]);
res = BlCallObj(
obj, fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9],
argv[10], argv[11], argv[12], argv[13], argv[14], argv[15], argv[16], argv[17], argv[18]);
break;
default:
res = "";
@@ -150,64 +143,60 @@ int bll_TsCall(lua_State *L, const char *oname, const char *fname, int argc,
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]);
break;
case 7:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6]);
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]);
break;
case 8:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7]);
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7]);
break;
case 9:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8]);
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8]);
break;
case 10:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9]);
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9]);
break;
case 11:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10]);
break;
case 12:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11]);
break;
case 13:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11],
argv[12]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12]);
break;
case 14:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11],
argv[12], argv[13]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13]);
break;
case 15:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11],
argv[12], argv[13], argv[14]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14]);
break;
case 16:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11],
argv[12], argv[13], argv[14], argv[15]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15]);
break;
case 17:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11],
argv[12], argv[13], argv[14], argv[15], argv[16]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15], argv[16]);
break;
case 18:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11],
argv[12], argv[13], argv[14], argv[15], argv[16], argv[17]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15], argv[16], argv[17]);
break;
case 19:
res = BlCall(fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5],
argv[6], argv[7], argv[8], argv[9], argv[10], argv[11],
argv[12], argv[13], argv[14], argv[15], argv[16], argv[17],
argv[18]);
res = BlCall(
fname, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10],
argv[11], argv[12], argv[13], argv[14], argv[15], argv[16], argv[17], argv[18]);
break;
default:
res = "";
@@ -219,57 +208,58 @@ int bll_TsCall(lua_State *L, const char *oname, const char *fname, int argc,
return 1;
}
// Lua lib function: ts.call
int bll_lua_tscall(lua_State *L) {
int bll_lua_tscall(lua_State* L) {
int argc = lua_gettop(L) - 1; // number of arguments after function name
if (argc < 0)
return luaL_error(L, "_bllua_ts.call: Must provide a function name");
const char *fname = luaL_checkstring(L, 1);
const char* fname = luaL_checkstring(L, 1);
return bll_TsCall(L, NULL, fname, argc, 1);
}
// Lua lib function: ts.callobj
int bll_lua_tscallobj(lua_State *L) {
int argc =
lua_gettop(L) - 2; // number of arguments after function name and object?
if (argc < 0)
return luaL_error(
L, "_bllua_ts.callobj: Must provide an object and function name");
const char *oname = luaL_checkstring(L, 1);
const char *fname = luaL_checkstring(L, 2);
// Lua lib function: ts.callobj
int bll_lua_tscallobj(lua_State* L) {
int argc = lua_gettop(L) - 2; // number of arguments after function name and object?
if (argc < 0)
return luaL_error(L, "_bllua_ts.callobj: Must provide an object and function name");
const char* oname = luaL_checkstring(L, 1);
const char* fname = luaL_checkstring(L, 2);
return bll_TsCall(L, oname, fname, argc, 2);
}
// Lua lib function: ts.getvar
int bll_lua_tsgetvar(lua_State *L) {
const char *vname = luaL_checkstring(L, 1);
int bll_lua_tsgetvar(lua_State* L) {
const char* vname = luaL_checkstring(L, 1);
const char *var = BlGetVar(vname);
const char* var = BlGetVar(vname);
lua_pushstring(L, var);
return 1;
}
// Lua lib function: ts.getfield
int bll_lua_tsgetfield(lua_State *L) {
const char *oname = luaL_checkstring(L, 1);
const char *vname = luaL_checkstring(L, 2);
int bll_lua_tsgetfield(lua_State* L) {
const char* oname = luaL_checkstring(L, 1);
const char* vname = luaL_checkstring(L, 2);
ADDR obj = BlObject(oname);
if (!obj) {
return luaL_error(L, "_bllua_ts.getfield: Object not found");
}
const char *val = BlGetField(obj, vname, NULL);
const char* val = BlGetField(obj, vname, NULL);
lua_pushstring(L, val);
return 1;
}
// Lua lib function: ts.setfield
int bll_lua_tssetfield(lua_State *L) {
const char *oname = luaL_checkstring(L, 1);
const char *vname = luaL_checkstring(L, 2);
const char *val = luaL_checkstring(L, 3);
int bll_lua_tssetfield(lua_State* L) {
const char* oname = luaL_checkstring(L, 1);
const char* vname = luaL_checkstring(L, 2);
const char* val = luaL_checkstring(L, 3);
ADDR obj = BlObject(oname);
if (!obj) {
return luaL_error(L, "_bllua_ts.setfield: Object not found");
@@ -280,17 +270,17 @@ int bll_lua_tssetfield(lua_State *L) {
}
// Lua lib function: ts.eval
int bll_lua_tseval(lua_State *L) {
const char *str = luaL_checkstring(L, 1);
const char *res = BlEval(str);
int bll_lua_tseval(lua_State* L) {
const char* str = luaL_checkstring(L, 1);
const char* res = BlEval(str);
lua_pushstring(L, res);
return 1;
}
// Lua lib function: ts.echo
// Print to BL console - used in Lua print implementation
int bll_lua_tsecho(lua_State *L) {
const char *str = luaL_checkstring(L, 1);
int bll_lua_tsecho(lua_State* L) {
const char* str = luaL_checkstring(L, 1);
BlPrintf("%s", str);
return 0;
}
@@ -301,4 +291,5 @@ const luaL_Reg bll_lua_reg[] = {
{"setfield", bll_lua_tssetfield}, {"eval", bll_lua_tseval},
{"echo", bll_lua_tsecho}, {NULL, NULL},
};
void llibbl_init(lua_State *L) { luaL_register(L, "_bllua_ts", bll_lua_reg); }
void llibbl_init(lua_State* L) { luaL_register(L, "_bllua_ts", bll_lua_reg); }

View File

@@ -5,7 +5,7 @@
#include "BlHooks.hpp"
#include "luainterp.hpp"
bool bll_LuaCall(const char *fname, int argc, const char *argv[]) {
bool bll_LuaCall(const char* fname, int argc, const char* argv[]) {
lua_getglobal(gL, fname);
for (int i = 0; i < argc; i++) {
lua_pushstring(gL, argv[i]);
@@ -18,7 +18,7 @@ bool bll_LuaCall(const char *fname, int argc, const char *argv[]) {
}
// TS lib function: luacall
const char *bll_ts_luacall(ADDR obj, int argc, const char *argv[]) {
const char* bll_ts_luacall(ADDR obj, int argc, const char* argv[]) {
if (argc < 2)
return "";
@@ -26,7 +26,7 @@ const char *bll_ts_luacall(ADDR obj, int argc, const char *argv[]) {
return "";
}
char *retbuf = BlReturnBuffer(BLL_ARG_MAX);
char* retbuf = BlReturnBuffer(BLL_ARG_MAX);
bll_toarg(gL, retbuf, -1, false); // provide returned value to ts
lua_pop(gL, 1); // pop returned value
return retbuf;