From e10a101a4a9c9b1dfd98b0dc12edc56ada5f9087 Mon Sep 17 00:00:00 2001 From: Firew0lf Date: Thu, 31 Dec 2015 15:41:09 +0100 Subject: [PATCH] Added some examples, fixed a typo --- sdcard/3ds/ctruLua/examples/cfgu/cfgu.lua | 56 ++++++++++++++++++++ sdcard/3ds/ctruLua/examples/httpc/httpc.lua | 43 +++++++++++++++ sdcard/3ds/ctruLua/examples/map/map.csv | 6 +++ sdcard/3ds/ctruLua/examples/map/map.lua | 49 +++++++++++++++++ sdcard/3ds/ctruLua/examples/map/tileset.png | Bin 0 -> 185 bytes sdcard/3ds/ctruLua/examples/ptm/ptm.lua | 21 ++++++++ sdcard/3ds/ctruLua/examples/qtm/qtm.lua | 48 +++++++++++++++++ source/cfgu.c | 4 +- 8 files changed, 225 insertions(+), 2 deletions(-) create mode 100644 sdcard/3ds/ctruLua/examples/cfgu/cfgu.lua create mode 100644 sdcard/3ds/ctruLua/examples/httpc/httpc.lua create mode 100644 sdcard/3ds/ctruLua/examples/map/map.csv create mode 100644 sdcard/3ds/ctruLua/examples/map/map.lua create mode 100644 sdcard/3ds/ctruLua/examples/map/tileset.png create mode 100644 sdcard/3ds/ctruLua/examples/ptm/ptm.lua create mode 100644 sdcard/3ds/ctruLua/examples/qtm/qtm.lua diff --git a/sdcard/3ds/ctruLua/examples/cfgu/cfgu.lua b/sdcard/3ds/ctruLua/examples/cfgu/cfgu.lua new file mode 100644 index 0000000..90db095 --- /dev/null +++ b/sdcard/3ds/ctruLua/examples/cfgu/cfgu.lua @@ -0,0 +1,56 @@ +local ctr = require("ctr") +local gfx = require("ctr.gfx") +local hid = require("ctr.hid") +local cfgu = require("ctr.cfgu") + +local regions = { + [cfgu.REGION_JPN] = "Japan", + [cfgu.REGION_USA] = "America", + [cfgu.REGION_EUR] = "Europe", + [cfgu.REGION_AUS] = "Australia", + [cfgu.REGION_CHN] = "China", + [cfgu.REGION_KOR] = "Korea", + [cfgu.REGION_TWN] = "Taiwan" +} + +local languages = { + [cfgu.LANGUAGE_JP] = "Japanese", + [cfgu.LANGUAGE_EN] = "English", + [cfgu.LANGUAGE_FR] = "French", + [cfgu.LANGUAGE_DE] = "Deutch", + [cfgu.LANGUAGE_IT] = "Italian", + [cfgu.LANGUAGE_ES] = "Spanish", + [cfgu.LANGUAGE_ZH] = "Chinese", + [cfgu.LANGUAGE_KO] = "Korean", + [cfgu.LANGUAGE_NL] = "Dutch", + [cfgu.LANGUAGE_PT] = "Portuguese", + [cfgu.LANGUAGE_RU] = "Russian", + [cfgu.LANGUAGE_TW] = "Taiwanese" +} + +local models = { + [cfgu.MODEL_3DS] = "3DS", + [cfgu.MODEL_3DSXL] = "3DS XL", + [cfgu.MODEL_N3DS] = "New 3DS", + [cfgu.MODEL_2DS] = "2DS", + [cfgu.MODEL_N3DSXL] = "New 3DS XL" +} + +while ctr.run() do + hid.read() + keys = hid.keys() + if keys.down.start then break end + + gfx.start(gfx.BOTTOM) + gfx.text(2, 2, "CFGU example") + gfx.text(2, 20, "Region: "..regions[cfgu.getRegion()]) + gfx.text(2, 30, "Model: "..models[cfgu.getModel()]) + gfx.text(2, 40, "Language: "..models[cfgu.getLanguage()]) + gfx.text(2, 50, "Username: "..cfgu.getUsername()) + local m,d = cfgu.getBirthday() + gfx.text(2, 60, "Birthday: "..d.."/"..m) + gfx.text(2, 70, "0 Hash: "..cfgu.genHash(0)) + gfx.stop() + + gfx.render() +end diff --git a/sdcard/3ds/ctruLua/examples/httpc/httpc.lua b/sdcard/3ds/ctruLua/examples/httpc/httpc.lua new file mode 100644 index 0000000..7ff1ef5 --- /dev/null +++ b/sdcard/3ds/ctruLua/examples/httpc/httpc.lua @@ -0,0 +1,43 @@ +local ctr = require("ctr") +local gfx = require("ctr.gfx") +local hid = require("ctr.hid") +local httpc = require("ctr.httpc") + +local err = 0 +local addr = "https://wtfismyip.com/text" +local dls = 0 + +local context = assert(httpc.context()) + +assert(context:open(addr)) +assert(context:beginRequest()) + +local data = assert(context:downloadData()) + +while ctr.run() do + hid.read() + keys = hid.keys() + if keys.held.start then break end + if keys.down.b then + assert(context:open(addr)) + assert(context:beginRequest()) + data = assert(context:downloadData()) + dls = dls + 1 + end + + gfx.startFrame(gfx.TOP) + gfx.text(0, 0, data) + gfx.text(0, 20, "Downloaded "..dls.." times.") + gfx.endFrame() + + gfx.startFrame(gfx.BOTTOM) + gfx.text(2, 2, "HTTP Contexts example") + gfx.text(2, 20, "The data is downloaded from '"..addr.."'.") + gfx.text(2, 30, "Press [B] to redownload.") + gfx.endFrame() + + gfx.render() +end + + +context:close() diff --git a/sdcard/3ds/ctruLua/examples/map/map.csv b/sdcard/3ds/ctruLua/examples/map/map.csv new file mode 100644 index 0000000..6035e4c --- /dev/null +++ b/sdcard/3ds/ctruLua/examples/map/map.csv @@ -0,0 +1,6 @@ +0,0,0,0,0,0 +0,1,1,1,1,0 +0,1,3,2,1,0 +0,1,2,3,1,0 +0,1,1,1,1,0 +0,0,0,0,0,0 diff --git a/sdcard/3ds/ctruLua/examples/map/map.lua b/sdcard/3ds/ctruLua/examples/map/map.lua new file mode 100644 index 0000000..835c6d6 --- /dev/null +++ b/sdcard/3ds/ctruLua/examples/map/map.lua @@ -0,0 +1,49 @@ +local ctr = require("ctr") +local gfx = require("ctr.gfx") +local map = require("ctr.gfx.map") +local texture = require("ctr.gfx.texture") +local hid = require("ctr.hid") + +local tileset = assert(texture.load("tileset.png")) +local map = assert(map.load("map.csv", tileset, 16, 16)) + +local x,y = 0,0 +local s = 0 + +while ctr.run() do + hid.read() + local keys = hid.keys() + if keys.down.start then break end + if keys.held.up then + y = y - 1 + elseif keys.held.down then + y = y + 1 + end + if keys.held.left then + x = x - 1 + elseif keys.held.right then + x = x + 1 + end + if keys.held.r then + s = s + 1 + map:setSpace(s,s) + elseif keys.held.l then + s = s - 1 + map:setSpace(s,s) + end + + gfx.start(gfx.TOP) + map:draw(x,y) + gfx.stop() + + gfx.start(gfx.BOTTOM) + gfx.text(2, 2, "Map example") + gfx.text(2, 20, "Press L (-) and R (+) to change the space between the tiles") + gfx.text(2, 30, "Move the map with the D-pad or the C-pad") + gfx.stop() + + gfx.render() +end + +map:unload() +tileset:unload() diff --git a/sdcard/3ds/ctruLua/examples/map/tileset.png b/sdcard/3ds/ctruLua/examples/map/tileset.png new file mode 100644 index 0000000000000000000000000000000000000000..65c40e5594c57ac12a7000a69ec56764dbed8989 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8pdfpR zr>`sfeI9vkChOd|Q&)jPk|nMYCC>S|xv6<249-QVi6yBi3gww484B*6z5(HleBwYw z#-1*YAs)xyUfsycz`()eSn_{vA)8R{nR@?qOHy1dWw!J&1648HSTTq12Z+_se}KW` V1*^478p~IZgr}>Y%Q~loCIFoPF{uCm literal 0 HcmV?d00001 diff --git a/sdcard/3ds/ctruLua/examples/ptm/ptm.lua b/sdcard/3ds/ctruLua/examples/ptm/ptm.lua new file mode 100644 index 0000000..4420c3c --- /dev/null +++ b/sdcard/3ds/ctruLua/examples/ptm/ptm.lua @@ -0,0 +1,21 @@ +local ctr = require("ctr") +local gfx = require("ctr.gfx") +local hid = require("ctr.hid") +local ptm = require("ctr.ptm") + +while ctr.run() do + hid.read() + local keys = hid.keys() + if keys.down.start then break end + + gfx.start(gfx.TOP) + gfx.text(2, 2, "PTM example") + local level = ptm.getBatteryLevel() + gfx.text(2, 20, "Battery level: ["..string.rep("|", level)..string.rep(" ", 5-level).."]") + gfx.text(2, 30, "Charging: "..((ptm.getBatteryChargeState() and "Yes") or "No")) + gfx.text(2, 40, "You walked: "..ptm.getTotalStepCount().." steps") + gfx.text(2, 50, "Counting: "..((ptm.getPedometerState() and "Yes") or "No")) + gfx.stop() + + gfx.render() +end diff --git a/sdcard/3ds/ctruLua/examples/qtm/qtm.lua b/sdcard/3ds/ctruLua/examples/qtm/qtm.lua new file mode 100644 index 0000000..25533c2 --- /dev/null +++ b/sdcard/3ds/ctruLua/examples/qtm/qtm.lua @@ -0,0 +1,48 @@ +local ctr = require("ctr") +local hid = require("ctr.hid") +local gfx = require("ctr.gfx") +local qtm = require("ctr.qtm") + +qtm.init() + +if not qtm.checkInitialized() then + while ctr.run() do + hid.read() + if hid.keys().down.start then + break + end + gfx.start(gfx.TOP) + gfx.text(2, 2, "Couldn't initialize the QTM module.") + gfx.text(2, 12, "You need a New 3DS in order to use this.") + gfx.stop() + gfx.render() + end + return +end + +while ctr.run() do + hid.read() + local keys = hid.keys() + if keys.down.start then break end + + local infos = qtm.getHeadTrackingInfo() + + gfx.start(gfx.TOP) + if infos:checkHeadFullyDetected() then + for i=1, 4 do + gfx.point(infos:convertCoordToScreen(1, 400, 240)) + end + end + gfx.stop() + + gfx.start(gfx.BOTTOM) + gfx.text(0, 0, "QTM example") + for i=1, 4 do + local x,y = infos[i] + gfx.text(0, 10*i, i..": "..x..";"..y) + end + gfx.stop() + + gfx.render() +end + diff --git a/source/cfgu.c b/source/cfgu.c index f74abae..1700e47 100644 --- a/source/cfgu.c +++ b/source/cfgu.c @@ -215,7 +215,7 @@ struct { char *name; int value; } cfgu_constants[] = { /*** Constant returned by `getLanguage` if the language is Italian. It is equal to `4`. - @field LANGUAGE_JP + @field LANGUAGE_IT */ {"LANGUAGE_IT", CFG_LANGUAGE_IT}, /*** @@ -276,7 +276,7 @@ struct { char *name; int value; } cfgu_constants[] = { /*** Constant returned by `getModel` if the console is a New 3DS. It is equal to `2`. - @field MODEL_3DSXL + @field MODEL_N3DS */ {"MODEL_N3DS", 2}, /***