From 99a29cf2e06489233c0756d8d701c2b31b95aead Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Tue, 18 Feb 2025 06:50:37 +0100 Subject: [PATCH] - Saving progress... --- data/main.lua | 6 +++--- lua.cpp | 29 +++++++++++++++-------------- vscode/library.lua | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 17 deletions(-) create mode 100644 vscode/library.lua diff --git a/data/main.lua b/data/main.lua index 158add2..47c142c 100644 --- a/data/main.lua +++ b/data/main.lua @@ -10,7 +10,7 @@ function mini.init() --turbo(false) --local perico = "péricòñ" --print(utf8.len(perico)) - ants = 0xc936; + Ants = 0xc936; s = surface.load("tiles01.gif") --surface.source(s) p = palette.load("tiles01.gif") @@ -29,12 +29,12 @@ function mini.update() end if system.isBeat() then - ants = (ants >> 12) | ((ants<<4)&0xffff) + Ants = (Ants >> 12) | ((Ants<<4)&0xffff) end surface.cls(5) draw.surface(s, 0, 0, 64, 64, 10, 10) draw.rect(10, 10, 73, 73, 8) - draw.setPattern(ants) + draw.setPattern(Ants) draw.rect(10, 10, 73, 73, 0) draw.setPattern(0xffff) diff --git a/lua.cpp b/lua.cpp index 67e1a3a..dee5cbf 100644 --- a/lua.cpp +++ b/lua.cpp @@ -315,7 +315,7 @@ extern "C" { // viewport // =============================================== - static int cpp_viewport_clip(lua_State *L) { + static int cpp_viewport_setClipping(lua_State *L) { if (lua_gettop(L) == 0) { clip(); } else { @@ -328,17 +328,17 @@ extern "C" { return 0; } - static int cpp_viewport_origin(lua_State *L) { - if (lua_gettop(L) == 0) { - lua_pushinteger(L, camx()); - lua_pushinteger(L, camy()); - return 2; - } else { - int x = luaL_checknumber(L, 1); - int y = luaL_checknumber(L, 2); - origin(x, y); - return 0; - } + static int cpp_viewport_setOrigin(lua_State *L) { + int x = luaL_checknumber(L, 1); + int y = luaL_checknumber(L, 2); + origin(x, y); + return 0; + } + + static int cpp_viewport_getOrigin(lua_State *L) { + lua_pushinteger(L, camx()); + lua_pushinteger(L, camy()); + return 2; } static int cpp_viewport_tolocal(lua_State *L) { @@ -848,8 +848,9 @@ void push_lua_funcs() { lua_setglobal(L, "subpalette"); lua_newtable(L); - lua_pushcfunction(L,cpp_viewport_clip); lua_setfield(L, -2, "clip"); - lua_pushcfunction(L,cpp_viewport_origin); lua_setfield(L, -2, "origin"); + lua_pushcfunction(L,cpp_viewport_setClipping); lua_setfield(L, -2, "setClipping"); + lua_pushcfunction(L,cpp_viewport_setOrigin); lua_setfield(L, -2, "setOrigin"); + lua_pushcfunction(L,cpp_viewport_getOrigin); lua_setfield(L, -2, "getOrigin"); lua_pushcfunction(L,cpp_viewport_tolocal); lua_setfield(L, -2, "tolocal"); lua_setglobal(L, "viewport"); diff --git a/vscode/library.lua b/vscode/library.lua new file mode 100644 index 0000000..7846112 --- /dev/null +++ b/vscode/library.lua @@ -0,0 +1,40 @@ +---@meta + +---@class mini +mini = {} + +---@class surface +surface = {} + +---@param w number +---@param h number +---@return number surface +function surface.new(w, h) end + +---@param filename string +---@return number surface +function surface.load(filename) end + +---@param surface number +---@param filename string +---@optional palette table +function surface.save(surface, filename, palette) end + +---@param surface number +function surface.free(surface) end + +---@param surface number +---@return number w, number h +function surface.getSize(surface) end + +---@param surface number +function surface.setTarget(surface) end + +---@param surface number +function surface.cls(surface) end + +---@optional surface number +---@param x number +---@param y number +---@return number color +function surface.getPixel(surface, x, y) end