Permalink
Browse files

Added some sleep mode related functions, fixed the example, fixed som…

…e things
  • Loading branch information...
Firew0lf committed May 9, 2016
1 parent b4ceb20 commit 5494f3d2e5e9c56e592fc994e079eb7128638c22
Showing with 34 additions and 4 deletions.
  1. +2 −1 sdcard/3ds/ctruLua/examples/example.lua
  2. +26 −0 source/apt.c
  3. +2 −0 source/font.c
  4. +2 −1 source/httpc.c
  5. +2 −2 source/ptm.c
@@ -10,6 +10,7 @@ local angle = 0

local texture1 = gfx.texture.load(ctr.root.."icon.png");
if not texture1 then error("Giants ducks came from another planet") end
local tWidth, tHeight = texture1:getSize()

gfx.color.setBackground(gfx.color.RGBA8(200, 200, 200))
gfx.set3D(true)
@@ -66,7 +67,7 @@ while ctr.run() do
gfx.text(5, 17, "Hello world, from Lua ! éàçù", 20, gfx.color.RGBA8(0, 0, 0))
gfx.text(5, 50, "Time: "..os.date())

texture1:draw(280, 80, angle);
texture1:draw(280, 80, angle, tWidth/2, tHeight/2);

local cx, cy = hid.circle()
gfx.rectangle(40, 90, 60, 60, 0, 0xDDDDDDFF)
@@ -107,6 +107,30 @@ static int apt_getMenuAppID(lua_State *L) {
return 1;
}

/***
Allow or not the system to enter sleep mode.
@function setSleepAllowed
@tparam boolean allowed `true` to allow, `false` to disallow
*/
static int apt_setSleepAllowed(lua_State *L) {
bool allowed = lua_toboolean(L, 1);

aptSetSleepAllowed(allowed);

return 0;
}

/***
Check if sleep mode is allowed.
@function isSleepAllowed
@treturn boolean `true` is allowed, false if not.
*/
static int apt_isSleepAllowed(lua_State *L) {
lua_pushboolean(L, aptIsSleepAllowed());

return 1;
}

static const struct luaL_Reg apt_lib[] = {
{"openSession", apt_openSession },
{"closeSession", apt_closeSession },
@@ -117,6 +141,8 @@ static const struct luaL_Reg apt_lib[] = {
{"setStatusPower", apt_setStatusPower },
{"signalReadyForSleep", apt_signalReadyForSleep},
{"getMenuAppID", apt_getMenuAppID },
{"setSleepAllowed", apt_setSleepAllowed },
{"isSleepAllowed", apt_isSleepAllowed },
{NULL, NULL}
};

@@ -189,4 +189,6 @@ void unload_font_lib(lua_State *L) {

if (luaL_testudata(L, -1, "LFont") != NULL)
sftd_free_font(((font_userdata *)lua_touserdata(L, -1))->font); // Unload current font

lua_pop(L, 1);
}
@@ -174,13 +174,14 @@ static int httpc_downloadData(lua_State *L) {

ret = httpcDownloadData(context, buff, size, NULL);
if (ret != 0) {
free(buff);
lua_pushnil(L);
lua_pushinteger(L, ret);
return 2;
}

lua_pushstring(L, (char*)buff);
//free(buff); FIXME we need to free this buffer at some point ?
free(buff);
//lua_pushinteger(L, size); // only for test purposes.
return 1;
}
@@ -45,13 +45,13 @@ static int ptm_shutdown(lua_State *L) {
/***
Return the shell state.
@function getShellState
@treturn number shell state
@treturn boolean shell state, `true` if open, `false` if closed.
*/
static int ptm_getShellState(lua_State *L) {
u8 out = 0;
PTMU_GetShellState(&out);

lua_pushinteger(L, out);
lua_pushboolean(L, out);

return 1;
}

1 comment on commit 5494f3d

@Firew0lf

This comment has been minimized.

Copy link
Member Author

Firew0lf commented on 5494f3d May 9, 2016

You'll need the latest version of the ctrulib, commit 2810c4d3a8468d08bba5a18a563f854a58151f4a

Please sign in to comment.