diff --git a/source/gfx.c b/source/gfx.c index 185ad75..da360f8 100644 --- a/source/gfx.c +++ b/source/gfx.c @@ -3,6 +3,8 @@ #include #include +#include <3ds/vram.h> + #include #include @@ -55,6 +57,12 @@ static int gfx_set3D(lua_State *L) { return 0; } +static int gfx_vramSpaceFree(lua_State *L) { + lua_pushinteger(L, vramSpaceFree()); + + return 1; +} + static int gfx_line(lua_State *L) { int x1 = luaL_checkinteger(L, 1); int y1 = luaL_checkinteger(L, 2); @@ -130,16 +138,17 @@ static int gfx_text(lua_State *L) { // Functions static const struct luaL_Reg gfx_lib[] = { - { "startFrame", gfx_startFrame}, - { "endFrame", gfx_endFrame }, - { "render", gfx_render }, - { "getFPS", gfx_getFPS }, - { "set3D", gfx_set3D }, - { "line", gfx_line }, - { "point", gfx_point }, - { "rectangle", gfx_rectangle }, - { "circle", gfx_circle }, - { "text", gfx_text }, + { "startFrame", gfx_startFrame }, + { "endFrame", gfx_endFrame }, + { "render", gfx_render }, + { "getFPS", gfx_getFPS }, + { "set3D", gfx_set3D }, + { "vramSpaceFree", gfx_vramSpaceFree }, + { "line", gfx_line }, + { "point", gfx_point }, + { "rectangle", gfx_rectangle }, + { "circle", gfx_circle }, + { "text", gfx_text }, { NULL, NULL } }; diff --git a/source/news.c b/source/news.c index 75a7864..6f333f0 100644 --- a/source/news.c +++ b/source/news.c @@ -18,10 +18,12 @@ static int news_notification(lua_State *L) { bool jpeg = false; if (lua_isboolean(L, 4)) jpeg = lua_toboolean(L, 4); - + lua_len(L, 3); + u32 imageDataLength = luaL_checkinteger(L, -1); + const u16* cTitle = 0; const u16* cMessage = 0; - u32 titleLength, messageLength, imageDataLength = 0; + u32 titleLength, messageLength; titleLength = (u32) utf8_to_utf16((uint16_t*)cTitle, (uint8_t*)title, sizeof(title)); messageLength = (u32) utf8_to_utf16((uint16_t*)cMessage, (uint8_t*)message, sizeof(message));