- Reactivat relleno de patró (fillp)

- [New] bcolor() per a especificar el color de fons del patró, si no es transparent.
- [New] subpal() per a fer intercanvis de color de la paleta
This commit is contained in:
2023-08-04 16:26:57 +02:00
parent 040697fcbd
commit d16f0fef07
5 changed files with 80 additions and 15 deletions

33
lua.cpp
View File

@@ -53,6 +53,12 @@ extern "C" {
return 0;
}
static int cpp_bcolor(lua_State *L) {
uint8_t col = luaL_optinteger(L, 1, 6);
bcolor(col);
return 0;
}
static int cpp_loadpal(lua_State *L) {
const char* str = luaL_checkstring(L, 1);
uint32_t *pal = loadpal(str);
@@ -126,6 +132,31 @@ extern "C" {
lua_pushinteger(L, gettrans());
return 1;
}
static int cpp_subpal(lua_State *L) {
const int numargs = lua_gettop(L);
uint8_t index, index2, color;
switch (numargs) {
case 0:
reset_subpal();
break;
case 1:
index = luaL_checkinteger(L, 1);
subpal(index,index);
break;
case 2:
index = luaL_checkinteger(L, 1);
color = luaL_checkinteger(L, 2);
subpal(index, color);
break;
case 3:
index = luaL_checkinteger(L, 1);
index2 = luaL_checkinteger(L, 2);
color = luaL_checkinteger(L, 3);
for (int i=index;i<=index2;++i) subpal(i, color);
break;
}
return 0;
}
/* static int cpp_pal(lua_State *L) {
int numargs = lua_gettop(L);
switch (numargs) {
@@ -842,6 +873,7 @@ void push_lua_funcs() {
lua_pushcfunction(L,cpp_cls); lua_setglobal(L, "cls");
lua_pushcfunction(L,cpp_color); lua_setglobal(L, "color");
lua_pushcfunction(L,cpp_bcolor); lua_setglobal(L, "bcolor");
lua_pushcfunction(L,cpp_loadpal); lua_setglobal(L, "loadpal");
lua_pushcfunction(L,cpp_setpal); lua_setglobal(L, "setpal");
@@ -849,6 +881,7 @@ void push_lua_funcs() {
lua_pushcfunction(L,cpp_getcolor); lua_setglobal(L, "getcolor");
lua_pushcfunction(L,cpp_settrans); lua_setglobal(L, "settrans");
lua_pushcfunction(L,cpp_gettrans); lua_setglobal(L, "gettrans");
lua_pushcfunction(L,cpp_subpal); lua_setglobal(L, "subpal");
lua_pushcfunction(L,cpp_pset); lua_setglobal(L, "pset");
lua_pushcfunction(L,cpp_pget); lua_setglobal(L, "pget");