Compare commits

...

3 Commits

Author SHA1 Message Date
7ed9f76f15 :3 2024-08-25 23:47:51 +03:00
2a8932a19f :3 2024-08-25 23:36:03 +03:00
28ceac8643 :3 2024-08-25 22:00:12 +03:00
4 changed files with 42 additions and 13 deletions

View File

@@ -7,7 +7,7 @@ local require = function(path)
return __DEFAULT_IMPORT(path)
end
end
local __UPDATE_HASH = "56dffe1d3654b028310d4c9dc976b7c7cc8c9d5a"
local __UPDATE_HASH = "18ceba38b88d8a5429e953d23257a26a01c642cf"
rawset(__BUNDLER_FILES, "updater.lua", function ()
local utils = require("utils.lua")
local config = require("config.lua")
@@ -109,6 +109,7 @@ rawset(__BUNDLER_FILES, "ui.lua", function ()
local basalt = require("basalt")
local config = require("config.lua")
local updater = require("updater.lua")
local blibs = require("main").blibs;
local monitor = utils.Cast(peripheral.find("monitor"))
local drive = utils.Cast(peripheral.find("drive"))
local mod = {}
@@ -128,6 +129,7 @@ rawset(__BUNDLER_FILES, "ui.lua", function ()
end
basalt.debug("test")
if ui.pin == config.correctPin then
blibs.notifier.notify("5", "Unlocked door :3 love u");
ui.enterButton:setBackground(colors.green)
ui.pinLabel:setText("Welcome")
redstone.setOutput("front", true)
@@ -194,7 +196,7 @@ rawset(__BUNDLER_FILES, "ui.lua", function ()
end
end
local status, err = pcall(function ()
parallel.waitForAll(basalt.autoUpdate, updater.UpdateChecker)
parallel.waitForAll(basalt.autoUpdate)
end)
if not status and err ~= "Terminated" then
print("Error detected: " .. err)
@@ -230,15 +232,16 @@ end)
rawset(__BUNDLER_FILES, "main.lua", function ()
local utils = require("utils.lua")
local updater = require("updater.lua")
local main = {}
local mod = {}
KEYPADOS_VERSION = "4.0"
function main.Main()
function mod.main(blibs)
mod.blibs = blibs;
utils.MonReset(0.5)
updater.GetBasalt()
utils.MonPrint("keypadOS v" .. KEYPADOS_VERSION)
utils.MonReset(1)
require("ui.lua").InitUi()
end
return main
return mod;
end)
require("main.lua").Main()
return require("main.lua").Main

View File

@@ -1,13 +1,36 @@
-- keycardOS "bootloader", has no access to basalt
-- intended for checking for updates, and automatically updating basalt if it is missing
local utils = require("utils.lua")
local updater = require("updater.lua")
local main = {}
local mod = {}
KEYPADOS_VERSION = "4.0"
function main.Main()
--- @class BootloaderLibs
--- @field log Logger
--- @field updater Updater
--- @field notifier Notifier
--- @field json JsonParser
--- @class Logger
--- @field error fun(...)
--- @field warn fun(...)
--- @field info fun(...)
--- @field debug fun(...)
--- @class Updater
--- @field addEntry fun(path: string, branch: string, url: string)
--- @class JsonParser
--- @field decode fun(s: string): table
--- @field encode fun(s: table): string
--- @class Notifier
--- @field notify fun(priority: "1"|"2"|"3"|"4"|"5", body: string)
---@param blibs BootloaderLibs
function mod.main(blibs)
mod.blibs = blibs;
utils.MonReset(0.5)
updater.GetBasalt()
utils.MonPrint("keypadOS v" .. KEYPADOS_VERSION)
@@ -16,5 +39,5 @@ function main.Main()
end
return main
return mod;

View File

@@ -2,6 +2,8 @@ local utils = require("utils.lua")
local basalt = require("basalt")
local config = require("config.lua")
local updater = require("updater.lua")
local blibs = require("main").blibs;
--- @type Monitor
local monitor = utils.Cast(peripheral.find("monitor"))
--- @type drive
@@ -38,6 +40,7 @@ local function unlockDoor(ui)
basalt.debug("test")
if ui.pin == config.correctPin then
blibs.notifier.notify("5", "Unlocked door :3 love u");
ui.enterButton:setBackground(colors.green)
ui.pinLabel:setText("Welcome")
redstone.setOutput("front", true)
@@ -117,7 +120,7 @@ function mod.InitUi()
end
local status, err = pcall(function ()
parallel.waitForAll(basalt.autoUpdate, updater.UpdateChecker)
parallel.waitForAll(basalt.autoUpdate)
end)
if not status and err ~= "Terminated" then

2
x.py
View File

@@ -56,7 +56,7 @@ def main():
print(f"=== FILE: {file}");
buf += read_file(file);
buf += "require(\"main.lua\").Main()\n";
buf += "return require(\"main.lua\").Main\n";
if MINIMISE:
buf = minimise(buf);