From 8b484f32abd174a1f38e519a29d37ad2bd9fdfc9 Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Sat, 25 Mar 2023 17:31:16 -0400 Subject: [PATCH] Added custom new clock: NES Clock --- apps/nesclock/ChangeLog | 1 + apps/nesclock/README.md | 8 + apps/nesclock/app-icon.js | 1 + apps/nesclock/app.js | 245 ++++++++++++++++++++++++++++ apps/nesclock/app.png | Bin 0 -> 1219 bytes apps/nesclock/kirby-screenshot.png | Bin 0 -> 5490 bytes apps/nesclock/mario1-screenshot.png | Bin 0 -> 4431 bytes apps/nesclock/mario2-screenshot.png | Bin 0 -> 5513 bytes apps/nesclock/mario3-screenshot.png | Bin 0 -> 5093 bytes apps/nesclock/metadata.json | 20 +++ apps/nesclock/settings.js | 37 +++++ apps/nesclock/zelda-screenshot.png | Bin 0 -> 6003 bytes 12 files changed, 312 insertions(+) create mode 100644 apps/nesclock/ChangeLog create mode 100644 apps/nesclock/README.md create mode 100644 apps/nesclock/app-icon.js create mode 100644 apps/nesclock/app.js create mode 100644 apps/nesclock/app.png create mode 100644 apps/nesclock/kirby-screenshot.png create mode 100644 apps/nesclock/mario1-screenshot.png create mode 100644 apps/nesclock/mario2-screenshot.png create mode 100644 apps/nesclock/mario3-screenshot.png create mode 100644 apps/nesclock/metadata.json create mode 100644 apps/nesclock/settings.js create mode 100644 apps/nesclock/zelda-screenshot.png diff --git a/apps/nesclock/ChangeLog b/apps/nesclock/ChangeLog new file mode 100644 index 000000000..f561b877f --- /dev/null +++ b/apps/nesclock/ChangeLog @@ -0,0 +1 @@ +0.01: First release of clock with faces for mario1-3, kirby, and zelda diff --git a/apps/nesclock/README.md b/apps/nesclock/README.md new file mode 100644 index 000000000..6b6ae9167 --- /dev/null +++ b/apps/nesclock/README.md @@ -0,0 +1,8 @@ +# NES Themed Clock + +NES Clock is a clock face that can display multiple themes based on a few NES(Nintendo Entertainment System) game title screens. + +This clock has the same base clock features as Anton Clock, but can be configured in settings to change the clock theme. + +## Compatibility +This clock was built for Bangle.js 2. It was inteded to be run with widgets. diff --git a/apps/nesclock/app-icon.js b/apps/nesclock/app-icon.js new file mode 100644 index 000000000..d857ec7ee --- /dev/null +++ b/apps/nesclock/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwwhC/AH4A/AH4A4/4A/AA8zACn/+cRAAsSkQAEkIOGn4XfABwXDiUzmQvUichkYXVAIRHSkczC4MzE4IvFC5UxA4cxI6IXFF7DnFkJSBmRYBCQJfIifzmYLBAQMxifd6cj7oXEDAKpCAQPxAQIOBj4XDloXGU4gvJmYvHd4pfGBgRYBHwIXDAAqPQAAq/P/5UBAAv/AAgMGCwIAXgAA/AH4A/AH4A2")) diff --git a/apps/nesclock/app.js b/apps/nesclock/app.js new file mode 100644 index 000000000..745831178 --- /dev/null +++ b/apps/nesclock/app.js @@ -0,0 +1,245 @@ +Graphics.prototype.setFontMarioBrosDS = function() { + // Actual height 60 (59 - 0) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('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'))), + 32, + atob("ExMeMS01MQ8aGhcpDykXIi0aLSk1LTExMTEPDxomGjExLS0tLSktMS0aLSktNS0xMTUtMS0tNTUxMS0aIho="), + 60|65536 + ); +}; + +Graphics.prototype.setFontSuperPlumberBrothers = function() { + // Actual height 18 (17 - 0) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('ABU//4AEBAUAh/AB4X8BA974E//EP/0D/+A//gBAwRBj3wDAX/z8/+//jkz//8/3/j+fFIMPgEf4F/+P/4//9//3/8h/ggYRCKAYRB/+P//j/v4/0AjgyBKAMDHIYABg5tF/AKCgeAJIIACJQJxBgE2IYOAEYMBCwM+gEMCwIABnhVCOgwIBKIQ8EvAkCA4YcDCYgIIAAUeLQIcECAPwj/8v6ZB/E/8EPwECcBHASYnz/4rCAQLyJwahB//DC4n3+BNBgH+j//w7ZBDwnf7/gB4JvBj/gj94HQhCCP4JcB/gHBn/94H/v4fBcARwBDQn3UoIAC/vndIKRBgP/cIPPBgP+XgSYBAAI4EuBQFv5QBFAI2B+/8jgVEIQI+BgfHwHxMwRXCBAT8BAAd8SgOAj3wh8eg+D4fACIU9YoN4gfegH3wAIICYMPwfB+PwEYMHDwP8ewTFCwEP8+/45TDCYLfCgBZB35wEQ4LXBAAaPC/iCBS4KPHgbxCCoYrBXAn8vCPGLIREECoOH//h/v4vxZCe4gVEJQJaCFAken/Hx/x8Y1BHxCsBY4w+HGwPP/vj/w+F/kHwA1EBAI+GBAcAj/AVIRdEAAI4BI4nAI4IPF4BHFCoIIBEYM8BgJXGLIQ2B//3BQoABBAJQHHwrOJCopcBG4yYBn/4h/+gKOCZxonBLIQjJAoX9JYQjB84HC44VD3/38/4B4KmIRYYABVQrJGMQhJBLQIVEBAIuCfQSTH9///asHDARCEjwoEJYYIBCIXAv4rE/+AI4UB//Dbgv8n/wTAR0G8ChD4AsCv7BBGoMHWYMfB4NAgEOOApHDA='))), + 32, + atob("BQQHCwcICAQFBQcJBAkECAcFBwcIBwcHBwcEBAcJBwcMBwcHBwcHBwcEBwcHCwcHBwkHBwcHBwsHBwcFCAU="), + 18|65536 + ); +}; + +Graphics.prototype.setFontKirbyClassic = function() { + // Actual height 16 (15 - 0) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('AC0P+cH/OABg88gEfA4kD8ARHoEDkUBz8A/8D/kB+Vgjfwj/gn1AjcggOQgAxGsEenEfxkI4Uf//ijGBx3A8/AgABBKQYBB4EEkECiHB/HAvPAgOAgeAg84g8/g0xwUQoEMsBZGnEAv0D2eD+HBzEgw0QoOImFsjkcgFPgE/wEcoEIkEAiH4DgKHCgInDv+A//w8Ec4EDNwsMgEjwFwCAKFBBwxaBOISaBgEwgEsgEyCYsQgEIgEEgECHoOAj/8g/+gBNCCAgAHGIQZBBAZdCA4NAD4QAGsBECXIc/gH4g/gWIJ6D4F/+F//k8n0cg8Px+H//B//ATwIUBhzcD/8H//H//hQ4LGCnE8EAM+j1/h1/EIPD/vg/nwhDYBXQMeGAOP2fHznj/3w//4IIMevjvEnjUCv8AvvA//8v/+n//CATxBSwMB4H9EYN4v88n+Ojvvh3/w8/wePMYUfcAP8j/+j/nh9zCAPBz/gRwISBuA+Bh0en8PMof/wLVBeIN4KYTeBQ4IBB4e88PcuBnBn4yBCoJpCgfwgf84J4B894vYSCh/8gf4cQUxwEY4DlF4Fj4ExBQ0BwB8BgBaBJANsgEzgEREIUMmEMjEGhgcFgEJTgOAgVAgI7ByEApEAkkAiQQGDowAB4OAsHAjFghlggUwgOYgHYbgTNBhx7BDQgJBIgMEjuCjnBxinCDAIAEfQP/wHAGIVH41n+cjjGRglIwUkv8Tv+YwFIsFgjlggbgCegMAn+Bbgf94F/8C2BgDjBh7gCKIP/8P/+DcBuecnfOj7rCwPvwAVBn+Av/wbQM+j0cg8Pg+H8/D+fA/LRCuAWB/whBh//w+B4fh8H/8E/IYJUDAYNwGgJUBIYXnnBDBnGOgECFAU4Kg+AnPAjjRD/0B//AGQPwvFwjk8v0ev8HL4MPwDNDEIN//hUBIZQpBCAZlBGQScBh/AgYQBnDsBCAX+h4lBVI8fPQP8j8/h0HU4KUBKwIQCGQJKCZAWAgOABwghB+EB/kD/0HAIP/4IQBj/4gEYaIRUCg4JB/4wBIYk/Z4UH/gfBOwWA8PAuHwCAP8h4yBD4JGDXQ874Ef4EH8EBFISUB4F/+BlBnEfjkH58H8///I/CPgLmCKgcP/+HnkD35WB8B2Bj0+gEGCwMB4eD/Ph/nx984uf8nn8h08CAKbEKgoyBZwKMCCAP/CAKaCgF4bg8D4CxBTgPAn/4WwRSCVIIQBJIQSCbgTJDgbRB/+An5DEv56ChkCh+Hw4uBAIKYDvxnBj0ACAJUBEYXgn/wIYN/gCIBjhlDgfDw/h54yD7k/h0eg8EgY5CKgP//n//1AgMggAMDMoRjBg4EBviiCAAUIgEkgETbwQTBAAQA=='))), + 32, + atob("CQcIDgsQDwQHBwkOBQYFBgoHCgkLCgkKCgkDBg4ODgkRCgoKCgkJCQsECQkHDAkKCgoLCAkICgwJCQkHBgc="), + 17|65536 + ); +}; + +Graphics.prototype.setFontKirbyClassicBig = function() { + // Actual height 58 (57 - 0) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('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'))), + 32, + atob("HhgcMiY5NQ4XFx4yExQTFCQZIyEoIyEjIyEKFDIyMiA8JCMjJCAfICYNHx4aKR4jIyMnHR8dIikfHyAXFBc="), + 60|65536 + ); +}; + + +Graphics.prototype.setFontZapf = function() { + // Actual height 56 (55 - 0) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('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'))), + 32, + atob("EhQVLiUwNQsXFx4yEhcSESUlJSUlJSUlJSUUFDIyMh47Ky8pMismLzQaGTInOi4uKy4vJSstKzsnKCgXERc="), + 60|65536 + ); +}; + +Graphics.prototype.setFontNES = function() { + // Actual height 12 (11 - 0) + return this.setFontCustom( + E.toString(require('heatshrink').decompress(atob('ACsPwH/3/7AQOA/AOFg/AvkHA4YFBwFwCAnh5//AAXh50cBBEAgeMplP/9Go98gIeCgfgkMCmce8EYg0Bx8xiERgHzg0ws3bs02sdt2YIBsEbgEwgZVFthTBJooAEkE/4xdBiEAwEWg0/4ANBgNghkD+EMAoIYCKAMQAQP/AogeBBwXwj8BEAQAKgeAnACKCo9wLpcHgfj8ANB/E/4f8sF2gdgm8DBATiBDIkzgcwm//v/3/6VDmBLCg9x+8fsf2ndn237v838c4CIUAgwyBg68B8duBwN3+9/sPgCIV4HYP4nOHzFxw44DgOAjBeB418u/Htk24YCCt/2/8HEYf+n/z/92eQL1Cs/2v8BCISOCAQNhBYIOB8F8g/ATQcDzg+CEAQCCBAU5agS9BvxlBCIlvv/nIILLIgeHnFzw4MHgMM8FAAwbsC4EkTgNGhkgCocCoEkARAOCCgNGDQMkEAM4EwJBFgFggx9B21gsxiBBwngv+H/F/8f/n/3/wICnwSDBYKwBuOGjFhw8YBAUP+CwCboaeMgH4n/j/1wu0DsE2gdwu8HmFgEYwOCsE3g8/4f8h5bCGpQCCsEwCI6NBAQqGCI4YsBI4ljs/2v9nNY4ZBDgVgBAV/CIQABKwhfHI4UAjkB+EfgALCAQIjDR4Q1EaAP+h/jz9w+8HEYkAHwjtBmACFEYzgB/EPwbyBLIoRIwE+CI0D/hlGLIk/LI9hw0YAQV/w/4FgIjIjdh20Pv/H/k/2AjIj1h81/v3398+NYUDw1+u/nfAc3sc3+d/gPgYojSCFIgIDB4UH/wLCTwp9DEYUH+BiCgfgj7dBR4IIBv4jDa4ngUJUHg99+/fTALFC/gICuFwLId8g/gvzuBHoV+BAN8B4UGg9h+0fs/2/dv2/jvk34dwR4QAB//4gOAiEAuBLBAIMHwEYgP/JQQ='))), + 32, + atob("DAwMDAgLDAwFBQYKDAwMBAwMDAwMDAwMDAwMBAoKCgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwFBAU="), + 12|65536 + ); +}; + +{ // must be inside our own scope here so that when we are unloaded everything disappears + // we also define functions using 'let fn = function() {..}' for the same reason. function decls are global +let drawTimeout; + +var bg_mario3 = { + width : 176, height : 165, bpp : 3, + transparent : 1, + buffer : require("heatshrink").decompress(atob("kmT0mQtMkyVImmSpMkjQCByUNAQNJgwLCwYLCoOkBAMg6QIBEDpBCwEJBYNAggLCgQsCgIsCgAgCgAgCLwIIBgESBAIgdIIXAgJKBsEANYMwgBrBzEANYNMgBrBk0ANYOTgBrCwEDFIIgdAwOAiAdBgEIDoMAgkYAYMChgDBgMGboWDAYVBwADBkHAAYIgdIIKkeYsZB/yV0gFAm3aRgMbtqtBhu2wEIg3bFgMDtuggUB23QgMA7dogGAtu0EDqDBgGQKYMApBTBBQMSAYMShIDBhMEbwMEwVAeQNBkDyBkGQCAIgdYv7FCIIQUCKAIgCCgRxBEAY1CNAIgCGoRoBIIQgcIIKRBAHpICIP5B/IIThBAALhBAAMQAYUIAYUEAYUCAYUBDwbiDEDxBBpgGBkMmD4WTD4VJCAMEknAD4MSsAfBhMwCAOEzADBoQgeIINJAX4C/AX4C/AX4C/AX4C/AQPtgAABk3EIPU8h//AAUDIPUD//MAgMP/kCIPFOj//n///18/+MIPFI//P//ypP/z/wIPX//n//pB+AAP5IPdOjnP5n//18/+MIPFJgf5n/ypMP/kCIPM8h0EY4UDH24CD9u2gEAk3Ea5XQB4MCthQ6yfASQX/+E5IPOQn/85IEB//AIPPh//zQQPn5/4a5QCux/8IAMkz/5/8EIPJAB5//75B+AAKD88PM/iDB8/P/HEIPGQn+T/4EB//AH2wCCyfA8FPYwPwnJB5yVO7dggECtg+4AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AVWTwEYHe/YgEA7BBD8PgiRB1pEJAYMAHYWT//8IO1CAwcCIPY2EkAECv8DIOucGwkhxKDBwGEQGYCByAGFhK/0AQh4GwJB/IPUnggJFwxB/IP5B8kgGGyBB/IP5B/IP5B/IP5B/IP5B/IP5BVu0AgE2H2GT2A1BII+TwQFBwEEIN+QiQDBgBBHCQdAIN+EAwcJIJVIKQRBsAwlAIJdiINs4IKFJgEAjhBrkIGEpBBLkBCBZFcJAwsEIJsAIP8AgIWGAUVOFQ0AQZ0xIP6EBIPkkIIUHINFIBhRBLgBB/IP5BD4hB/IP4ACghB/IP5B/IP5B/IP5BFIAZB8hICBoBB8wALDkBB7gQLEIP5B9iQLEwEAhxB3kALGgEAhJB/AAJB/AAOEIP8AjBB1gBBJBQxBvBw5ACgZBik9ggEBILMAiRBhkCECVZJBzhIGDE5BBQsRBgpAGEwBB6uBBegQHCp8AoQyKyehkYuH7AFDDYuQILlI/+IpMngEJgENwEAwEGBwMEkcApMmC4dJgAlDiQsFhJBc8fwIIMOhEf+E/8EP/AWC8dIsOchunmHCukA5OJIMw7BAoOOnhBHgnDgOAgUMmHAgOGAoMxkmcII0BQcEP4MAuE4/l+nArCgcBwI7BgHAwMBDoI3BIMsAhxBBgAvBAAMDAQIrCQYJBBgRBBwFAgeAnJBSG4gA7IP5BCyf/AHyDDv4HC4BNCj4HC+AHCg4HC/gHCgIgDMwYgcQYOAIP7FCIYIABn4LC8AHCh4HC/AHCgYHC/w9DEgYgcIP5B/IImSczwkDEDhB/IP5B/II2TAYOABgU/BYXgA4UPA4X4A4UDA4X+HoYkDEDhB/IP5B/IP5B/IP5B/IP5B/IP5BV4AGDAHUkyRA+IP5B/IP5B/IP5B/IP5B/ACA")) +}; + +var bg_mario1 = { + width : 176, height : 165, bpp : 3, + transparent : 1, + buffer : require("heatshrink").decompress(atob("kmSpIC/AX4C/AX4C/AX4C/AX4C/AX4C/ATE8z1P/mf/8n//P/4gU+V/n/+v4gB5IFBBwYmB5P/+fJ8///IjLEAU/IgIpCk5BU+f/MQN5n5BBngCBBweeOIJuB84jNIIIgBz1/IINPIKv/IKGTIIKJBYpqDBz6VBQa5BDYoYFBBwiDDYoIjNMQYjBcAPP/5BULIKkDXIM/+RBG//zIIP/OIIjKPQXkyaVD8mSvIREsJWDyVPJqQCWnn+ZAZcBp8/GouTkkEAoPnOIJQBMQ59CyZ0MAR38YodPboPPk4FBGoZBC+fP8iqB/jIJAoSeFQaxBRdgJBNp//ILi8CHwPJHweT57FGHwd5YtICQoAsrAX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AX4C/AREggEJIPtAH4OAghB8iQDByFAIPeQAYWAhBGCIPGEIIcJgRB6AYUggACBIPMhIIbDChJB4HIZBDwJB3pAJHyBB3oQJIghB2X4QJGoBB1yDPKJhICrwgMKgRB0AYUgBIkgQIMgF8MAU4WAhLxCggRHkIVG0gTBAoQaCILtC7ciGQNtyL7B23ICg4zDIIeg7aDCkmBIL82IIMJjZBBgmNIIOCCItIAYVAgAJC2HbthBCyBBg7NkwMbtmyoBBBrLyGoRBDBIeG7VEB4bdIAS2yrMtwNZlmW4Gsy1LsARFO4RBFy3bsgPDoBBdguS7dtyXJtu25Nk2wvBCImQDZGEPwtIKQYCYkMtHAI+BAQ1sgQ3FDY0lBIMMBAkCILcrHxBBDyQUDDZEl2mSCIIIDkBBapFbIJYCBpCVCIJOkyVMBYsJILNCHxYCC5DyBFpWApEEBAuBQbRBO4AUB7//4/+t//8f/m//+MGzcB/H/5v//l/83//0/+d//8f/O//+P/ggK/+b/4gS+VJg+QvMkwfInmSoPkj1JkHyh8kBwMHNQM8wfJkkeCIOSh4RBEH4gjgkAEAOCgAgCgAgCwAgCoAgCkEDEAMQgIgBhEAEEUH/xiC/4gC/+eEAP/54gBv/nEALmBEALmBMQTmDEEDF/EH8g+ALByF4BYIFBiQaBj0JDQMPggaBg+CDQOD4IsBoPgFgIgh/+B8jXB4Hya4PgNAMf+BoBh/4NAMH/gsBwf+FgL4BgfJEEPyv4gBvM/EAM8z/5MQNP/ggBk/+EAOT/4gB5P/WwX/EEWAgPAgFAgHggEggFwgEQgE4gEIgEcgEEgEOgECgEHgEBgEDwEAEEHf//H/1v//j/83//x/+b//4//N//8v/m//+n/zv//j/53//x/8EEHySQKkBSQPIcAKSBcAKzBcAIOBcAKzBUgKzBCIKzBCIIg/EEbUBEAOCgAgCgAgCwAgCoAgCkEDEAMQgIgBeoIgig/+MQX/EAX/zwgB//PEAN/84gBcwIgBcwJiCcwYggYv4g/kHwBYOQvALBAoMSDQMehIaBh8EDQMHwQaBwfBFgNB8AsBEEP/wPka4PA+TXB8BoBj/wNAMP/BoBg/8FgOD/wsBfAMD5Igh+V/EAN5n4gBnmf/JiBp/8EAMn/wgByf/EAPJ/62C/4giwEB4EAoEA8EAkEAuEAiEAnEAhEAjkAgkAh0AgUAg8AgMAgeAgAggA==")) +}; + +var bg_mario2 = { + width : 176, height : 165, bpp : 3, + transparent : 1, + buffer : require("heatshrink").decompress(atob("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")) +}; + +var bg_kirby = { + width : 176, height : 165, bpp : 3, + transparent : 2, + buffer : require("heatshrink").decompress(atob("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")) +}; + +var bg_zelda = { + width : 176, height : 165, bpp : 8, + transparent : 254, + buffer : require("heatshrink").decompress(atob("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")) +}; + +var settings = Object.assign({ + currentFace : "Mario 3" +}, require("Storage").readJSON("nesclock.json", true) || {}); + +let currentFace = {}; + +if (settings.currentFace == "Mario 3") { + currentFace = {'fontFace': "MarioBrosDS", + 'dateFontFace': "NES", + 'clockScale': 1, + 'clockOffsetX': 0, + 'clockOffsetY': 0, + 'dateOffsetX': 0, + 'dateOffsetY': 48, + 'clockShadowOffsetX': 5, + 'clockShadowOffsetY': 5, + 'dateShadowOffsetX': 1, + 'dateShadowOffsetY': 1, + 'dateScale': 1, + 'clockColor': "#4299f4", + 'dateColor': "#ffffff", + 'bgColor': "#f5bf66", + 'bgImage': bg_mario3}; +} else if (settings.currentFace == "Mario 2") { + currentFace = {'fontFace': "SuperPlumberBrothers", + 'dateFontFace': "NES", + 'clockScale': 3, + 'clockOffsetX': 0, + 'clockOffsetY': -8, + 'dateOffsetX': 0, + 'dateOffsetY': 54, + 'clockShadowOffsetX': 3, + 'clockShadowOffsetY': 3, + 'dateShadowOffsetX': 1, + 'dateShadowOffsetY': 1, + 'dateScale': 1, + 'clockColor': "#ffffff", + 'dateColor': "#ffffff", + 'bgColor': "#9290ff", + 'bgImage': bg_mario2}; +} else if (settings.currentFace == "Mario 1") { + currentFace = {'fontFace': "SuperPlumberBrothers", + 'dateFontFace': "NES", + 'clockScale': 4, + 'clockOffsetX': 0, + 'clockOffsetY': -8, + 'dateOffsetX': 0, + 'dateOffsetY': 54, + 'clockShadowOffsetX': 3, + 'clockShadowOffsetY': 3, + 'dateShadowOffsetX': 1, + 'dateShadowOffsetY': 1, + 'dateScale': 1, + 'clockColor': "#aa4e00", + 'dateColor': "#ffffff", + 'bgColor': "#9290ff", + 'bgImage': bg_mario1}; +} else if (settings.currentFace == "Kirby") { + currentFace = {'fontFace': "KirbyClassicBig", + 'dateFontFace': "KirbyClassic", + 'clockScale': 1, + 'clockOffsetX': 0, + 'clockOffsetY': 0, + 'dateOffsetX': 0, + 'dateOffsetY': 54, + 'clockShadowOffsetX': 3, + 'clockShadowOffsetY': 3, + 'dateShadowOffsetX': 2, + 'dateShadowOffsetY': 2, + 'dateScale': 1, + 'clockColor': "#ff00ff", + 'dateColor': "#fe6ecc", + 'bgColor': "#ffffff", + 'bgImage': bg_kirby}; +} else if (settings.currentFace == "Zelda") { + currentFace = {'fontFace': "Zapf", + 'dateFontFace': "NES", + 'clockScale': 1, + 'clockOffsetX': 0, + 'clockOffsetY': -10, + 'dateOffsetX': 0, + 'dateOffsetY': 40, + 'clockShadowOffsetX': 3, + 'clockShadowOffsetY': 3, + 'dateShadowOffsetX': 2, + 'dateShadowOffsetY': 2, + 'dateScale': 1, + 'clockColor': "#994e00", + 'dateColor': "#0c9300", + 'bgColor': "#feccc5", + 'bgImage': bg_zelda}; +} + +// Actually draw the watch face +let draw = function() { + var x = g.getWidth() / 2; + var y = g.getHeight() / 2; + g.reset().clearRect(Bangle.appRect); // clear whole background (w/o widgets) + + //Set Background color for face + g.setColor(currentFace.bgColor); + g.fillRect(Bangle.appRect); + g.drawImage(currentFace.bgImage, 0, 24); + var date = new Date(); + var timeStr = require("locale").time(date, 1); // Hour and minute + var dateStr = require("locale").date(date, 0).toUpperCase()+"\n"+ + require("locale").dow(date, 0).toUpperCase(); + //shadows + g.setColor(0,0,0); + g.setFontAlign(0, 0).setFont(currentFace.fontFace, currentFace.clockScale).drawString(timeStr, x+currentFace.clockOffsetX+currentFace.clockShadowOffsetX, y+currentFace.clockOffsetY+currentFace.clockShadowOffsetY); + g.setFontAlign(0, 0).setFont(currentFace.dateFontFace, currentFace.dateScale).drawString(dateStr, x+currentFace.dateOffsetX+currentFace.dateShadowOffsetX, y+currentFace.dateOffsetY+currentFace.dateShadowOffsetY); + + //main text + g.setColor(currentFace.clockColor); + g.setFontAlign(0, 0).setFont(currentFace.fontFace, currentFace.clockScale).drawString(timeStr, x+currentFace.clockOffsetX, y+currentFace.clockOffsetY); + // Show date and day of week + g.setColor(currentFace.dateColor); + g.setFontAlign(0, 0).setFont(currentFace.dateFontFace, currentFace.dateScale).drawString(dateStr, x+currentFace.dateOffsetX, y+currentFace.dateOffsetY); + + + + // queue next draw + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, 60000 - (Date.now() % 60000)); +}; + +// Show launcher when middle button pressed +Bangle.setUI({ + mode : "clock", + remove : function() { + // Called to unload all of the clock app + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + currentFace = undefined; + delete Graphics.prototype.setFontMarioBrosDS; + delete Graphics.prototype.setFontSuperPlumberBrothers; + delete Graphics.prototype.setFontKirbyClassic; + delete Graphics.prototype.setFontKirbyClassicBig; + delete Graphics.prototype.setFontZapf; + delete Graphics.prototype.setFontNES; + }}); +// Load widgets +Bangle.loadWidgets(); +draw(); +setTimeout(Bangle.drawWidgets,0); +} + diff --git a/apps/nesclock/app.png b/apps/nesclock/app.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6857fe3ffebda90bfae6555d6d69a767c485ac GIT binary patch literal 1219 zcmV;!1U&nRP)LUl6on@9!jAL?z-!478ay}y1Plvj&s>FGrMQz%=~-Uo!Qly-S*5DCY;aH z;eURY@9+FCzyARj7Z(>77Z(?o+ZNFu&wV6>vglR|X#^?D7sNn3Uk1dj7SkY7;r0~| zAT$8Wvgkb3iEY~rMKKI7n#beF$1WDJtdWNDX`05$)hjU!0}bH!bHDNB(JvYb1`wM) zho)fIkx$mlaD6b|aL!OD$kOG@Pyov1a>IcD?4pg7a@zJ%O6+1|vt6O0S({OmF*4~S z`CQhKPqA3|H&Rbsz?};h(E3m-9^HdoEOPR@lU%%TvBs`BI*V{~#8Ki*Iz>8}aHh5n zQx>ps(?&jg_kBz=OCaFq`4?ZHedq2PJ4JDRkTv2{kExfCl=S!Y1CUOoDA}dDX6aOt zk>O!SiAP49*-u7I0Sgu`Wc{P-@p`?es#@c)?e*g5Sse?8LbUH~ulfM!1AT}}XHBP2 zhcX}~djI9o_<-Jb>1L_*3ji=p6Vo(N6a__5D3{9!A<#69M54C&RAzN++g9RZ`^WG1 z6N!vAw`ZPhBcIO$FlWx}8+-tUTb5w|(v6l$F}(O5>_`j}334kRAkgsx((5CC?+WBM z-%qcA3a2}|*!9M4EXzVSbb8P9Ok&qL`Y>S=ZwiJnL>6s9TU>^iL|3fB{jU#BaY ztG|?4)5Mlu9vjHGz!u^bfP)@h z-JbJ6lt2%nOAHK6kd9VrdMpO+==eKDvrN1Id}j#OSj|1q8o-;pG7W96HWj!SxVww{ z4}j*nmv#%l{R6W`=;(n3;Ev8+qC*~#nD~|)c%=}bn5|Ax54?2;b|Vp6wpdtcL8{w zuuh|?s|vwcH8FtKWu9qZ+ELL3;Ev8+qN_b%p4cq_SNnJgc+vwk0DegCbr<3x$KN@u z$-GIK1>ifwvc_uefdGJ;>kt&UHgQ46job}p-UhG%@gFu}ZUE=!_-|WB-fUaL2{$i*xl1S-h`G-x zHFRWCQE#@bsiQvcm`<5OXm7@%o0L%*`^~mB2Ja?rZU9Rkr%S)LUI8Bw#MX!RX0~ks z`0#*~4oHBtfZoBeVUcgPE$kGz<9ir5*@$d@M$U&d-DbCK0oY(*3Sucmm=(Z#(svj+ zqiqYoAb>4LSs<|b_k3QfTW$ZIwsnv_cM6dlLUUYeb2f62X&(P3+ZKQc18@JUmCa^c zX0<$b<-o-hn2&)qhRSn9j-Baqi>W&>hAQ&SwsrF5Tmbek&};yHvu&NgyYtaBCvixC zxl&p*&FJX#avjWmW337vmbPTwX=A6c<^V7U-tBi>fY75@&xGjY{9WvuZR_c`v>lp) zfsx|A_1Pm0>`yY)n{8VFCRGOuXej&ARKt?nGZ1J=Z${gC`t3CgOr3<>hnNw-T!ls2 zsOD{-oSX~5gn_vYS&frW_Ny7g>f0+9AHg=u_6E=A*u;6+$8tY(I?V;(+$NN1qQJoX*QeE+ZENhYc>zordB%GW zS}+k1|08*>>ZWiV7;$jp*~W@P>!^3=(t3=UY13a_?@Y|~bQ=#fcWs!}hwil_aq_hQa4&t|!wQj`3R6|(+tbJ}c zqdkBv?^_00{nzucJWw0Y%KmWxCpWIQX2$~5-P+Jx_hvlQ0r+ii1m7L}H;kuk#E?ze ztqiQqHm(v80eFj`S|uB9^=L8fzb0bc*To3{cbv5e&jEMcH(mnKz zg7?$!@AJ=p>^Bb%p%#`y+p&u|t4%M{s`&SckC+pS1)jl8*-=m4H^h7^9h0ucF-N<7_7{apa|RJa(wV*o}$95h(ML*a8i7N zmA*d;jSj!}GXY!y*kYkD%V?S@odZ-0;Jp8tOS^WWN-&TRJN-lTRcooj_|*V*>dbT7 zPe`%(ZV29evb+_*9C$Z_y`XSyNGkHkA@u#yXZ4S`>NN&$J%Ae-EO{)-z#IG_R>2z}2Xn=cmpd#dK&!A0fb1em ztIC0MX-;4ux@wO2`@3EkQPYMBJ*xq%fY1c*T>x$zyEy?IaJB_v%Mlxht)I)ul-;}# z7XdI=2|#q+bKZ*8;u`|z@*VJr<#V?VmO$lsn-l_IxXq{@6#xww#j$E2STz8qfV4nd zt8Y<;v+f}T{DEL?ZUApAATVPO0H0}iHfF0Um?|KI;9DRPeG{mV6!{>jftmLr7J%jX z$OWn=fK_G)2Fd~>t(ihOZKq9?du*pqJS*t*49v0OzMS593U(@iEP7=d6cFyTfK$f_ zCX0ECT)OPwa>|+0gYkO}fSDap$Z=*sG^s&wnCzR4sip;p#X%kErY#>zO&^@&EdU4E zuzDst1NBq0>}cha6vS5h3$BBDO8WKyuV)3VjvF%Rk2dYA5DnR|$`KWy@UXAL*UE;W zUJ6&bYq}KWfKx6dpvaZW)c9jluV#4b=1JTI z92I_X;KlJA zJ!-yEWC3^shQnT#-5mWv9EO`M0N)ji$md-huM^SgL8}_>$N+ZlIW&UU=Jj+Zad(0D zk{Hv(OCg^M0G~@f74NiJ%rBjC!W1iXWWk#@sFW-uT}ivS0Q_VCJittCo%)Kk(SV$U zA&%9pE1(?yJS9CTMKk51e#>I90F2U%1Hj(vhlL7gAOWTu8NlWzb0wco31DX}6vZXl z&Qn{h1~95r5WxGM5O^W>nnfWy&2JBcfz|i_q@kF6cpe6R7{Ga8wB_`Ye?Fvhs~YQN zemK$?GY5A7l+|G|aE#(C7B0#|4*)*McIj)tZ zEC9y=EHRt;T?)t28`nT!H)@o>afka zr4Qc?0Q>_Tq*!%d5a3q;BeMWDgK6k+0^QAe>X0=ma(&&WM^uQ@?uh=?I$DD|Y$yPX z;EKw31DI0~IZCzimfSH8Clml~@Z}mSMqR+0ggR~a=-M5;H4N^pN1_pdDR$}tQ8Slj>tlg|Q}-$0TCsy(>5l-KDaY|uhz3V|gW+ST^P~r)9M=LdkQw;HNd@z#c$A43gpxz*dDJ`C|ci zU}Q|Bng&o1ygO0v4D8KC7KkT8%Al$?Iu!d|=Gg=`JmMSFZA-0@JOFIcEOpE4lsSES z2XIiorPzADJb-vWzYn|sjQDW1dC&v)g?3L3Z!z$Lq5L<8wgK$%%L1^+TdQpY57>2J zWDumThsarNmIs_3C;_|)@Rrr`L9M<{1y}Rs0nG!~GFob>fzXo^FW)Z@boPM%rOuV- zb`HrB@9}_M2d0un1+R7plU`Zj{`7b%Z=1%We{%k6IleVs8oyV&sJ}Y)lL0IZ+AGK1 zF1B;;a!J2GgLU+?`lsjgPp@+&Idpuq9XdX$f2($_^+)Y=w&Tla-UAHhpha_uF|yyY z-_9ld_7^7eNgy#L%1};5^^DJbrb=|9V#mcVH?}i3`n8w<`?swFgM+fovKfD71pBuj zz6_h*SSUZsd1c@dM8D@}21Mk#-fU3x3QDH z)V&4|VBawSEHP<-VKt`y1%C_n=iiU~C=(W6s?6kFKHN-l;Lzuv4nLfeIKAnc{r(HW zuU$Rb>s<=|dRq9NV(T8Lb~E zOQzk&%ow;hS2`FrUm;L=X1ku>pa6U{27tj_wE&yY56wj{f0>{o5FC@|%=ZKFkLeTR zU;YFFl$x9$L=hOBW#Ie+gE=!FDcODzTv;Kcl_csnhq-XmF#zmfV2HE%IQNnB*XX;1LwKzrtc+3|ILgucV_*;_^--uFf_4-V*uF8 zzzlQbOyXf`3OLAZOm3d{%Yk`et4wcK?tOyo$LMS>O{+Fcu6(hVw3lp1xpn?0yVro6 z*S66Z0Ip=Q{r&x!l`TRgv@%#-&vW%YJSJQ>zz;K3w%9w1S|12HTAR z;KmG`cF8n{<96pRCIR*27)#1EArM&OG7PPb=ar|d0FeG57$eQb0C2{@`AnCXi>q5w zX5n&AsZPsQH=InUF&|waTsfpw&7jp8g{iq*oU8tDewT9o1>haL@!an6HE=1%r1eo| zcMb)@Vy@3~sXk2W&S`$M7}v`Ai>iTPhg4 zjSl8E8M~_{^3LENa*JDDS$le7sNN3q-r2D9H%{cf>i2rV@jj@(3&6%Lu`_54Q?s|j zm=i*dF%bsl?gL9FXp+1d{n`7<_u=e1(&a>|PKkE`IAh>5*G&5>;a+Z@ld^XrD5EoP zdT=?gbW4nTM-E|T?rsNn$3lA(#dQax4p(yT>v`0-9r7U^q0RdMyo2~~3at{59Fm^- z7Y7<08Mycx-7~#W29D_eXzIX$_mY!kxR=@zAU6ZB=akGk))g;=D>+*ZzWu+m92Kq8 zvb*!n3@qIr{-q1QoSrhZcFT?HpVOk1|I&C;|K<|`j{WIi0jLR_8qf)2HvzDA6ic7w z#?t@JFPh|c9q4~^>k})NQ~|hmz_@#}^d7PJ7A~yaj zz_SWrF&O)<8oQ4`-Js}TiMUzrFj)^%L#qTr#=ODflz`2rKZfm6%93yb7E=`7<*(HXR zssuTkh+hC=>cE$j=4(Jvf2NFC_(rH#)2c}BUs_j==#Q>yCSzGn(UC=PEq`>icJ+*b31A9V*aS8=t2XYdx;UzI(vPfFQu*n>b{~w06RhH>U>>tlSDuwGY(+ul*Dly*eWvSNl-SBwP8ax zM@0;>nzwe6m2!0M;6^G%=3{Xulb+4rZTkV_;3B>GB7s19V`kq`e^Td)Hx3iM5uvM=s@|W87MMmeK=X;`%j#*%ZbZ`1DE!2Wf|SLCo<# z5d)0L(PCr9E!SFVAWa5~3ANl>>dTog9W8U9LK@8-^bpQrWOD<06%)m_? zzJ&Di09qFYLGJ^wr_jvhJ*e{i+_xl;-~j{&AkpCf_6*9U7eWp*f$)|t2`OO8!Q6`vcq74!~%jQ%q(8FuDO9(I&*-2tWt54F@onE7cIhhz_xI os(oJLuiCz~x?BBg^$Yg@KjpnPDJ9CBAOHXW07*qoM6N<$f|0>ipa1{> literal 0 HcmV?d00001 diff --git a/apps/nesclock/mario1-screenshot.png b/apps/nesclock/mario1-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..a8fc053b7c85b2e9660248574d972e5fef889a6b GIT binary patch literal 4431 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 Ax&QzG literal 0 HcmV?d00001 diff --git a/apps/nesclock/mario3-screenshot.png b/apps/nesclock/mario3-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..65a29f2603a57d8650c4c96e9954fe838a13bf37 GIT binary patch literal 5093 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 values[v], + min: 0, + max: values.length - 1, + wrap: true, + step: 1, + onchange: v => { + writer(values[v]); + writeSettings(); + } + }; + } + + function stringInSettings(name, values) { + return stringItems(settings[name], v => settings[name] = v, values); + } + + // Show the menu + E.showMenu({ + "" : { "title" : "NES Clock" }, + "< Back" : () => back(), + 'Game Theme': stringInSettings("currentFace", ["Mario 3", "Mario 2", "Mario 1", "Kirby", "Zelda"]), + }); +})(load); diff --git a/apps/nesclock/zelda-screenshot.png b/apps/nesclock/zelda-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ab474f6469bf865f3308d6f1470ca04aa42b45a7 GIT binary patch literal 6003 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 hK?G9t9L+cK