From 136a79ed7396f14eb13123254e50385da71e35da Mon Sep 17 00:00:00 2001 From: Igor Timofeev Date: Tue, 24 Jan 2017 07:18:31 +0300 Subject: [PATCH] aefae --- .DS_Store | Bin 18436 -> 18436 bytes Applications.txt | 4 +- Applications/.DS_Store | Bin 79876 -> 79876 bytes Applications/init.lua | 205 ----------------------------------------- MineOS/Init.lua | 13 +-- lib/MineOSCore.lua | 6 +- 6 files changed, 9 insertions(+), 219 deletions(-) delete mode 100755 Applications/init.lua diff --git a/.DS_Store b/.DS_Store index 6957189cc5b7755f63a04951d02bff74851cb284..026d3a7c6c3452780b8dbb54a18a72107c9e6805 100644 GIT binary patch delta 908 zcmaKrSxA&o7>2)hT;@NX)ZZC%8I94=SxnI}7u3MLa4kzCF|u4H7_w1R1dE&&1IY^E zm}Ry=7ZGU-j0!~sbx}kYkq*&C1(MiRbrF;ZQNQz>L}2IU{m%Px4j8xR z24-cY#HHtYn06#|r4~$E?D-Ti6Qs>h!(~I1CPsT=Ow}4piaA|4?HY>1y>khIF1G$*pWxTT`>6 zO|`OljwDyI-93)ZE@!(-H8*qd(_HK>6vMQ95(;fTr36)$9lKh}Ac;1RorprTqA1bGI-1+sn~5}|D{PDkn}|xw+HAnYRlQTgjUqn4B97biZj05(Wyn(! z^F~D*Vv?;!qpXo6-zCkiWPS=5HOtK6Mma!Xpr*NboXh?SBsI-1P|`pJhvbckHbn7K zzLkaHGm}Y5SR00WmBxQryr3DHQ#dTqF9awIbjtkWU_lD9k&i-@pcGrM4K>(_TGT1S z--jkN`vACn0D5r*N71KX7{FC zt}|jznRl#bK54>V>TV&LHH{63C$VMmsz1PVjMslWFrJZ~PJkIA<+|2)gL Fu-|*V(E9)Y delta 810 zcmaLVT}YEr90u_7%<0}YkK4OVozC*zoKqLm=H9t!S#Eyh#}uh1T@Y{BsV0r2jSP?=nIK^@P3Figa+^FR&&g}@hQ!Dx@`ZdQE94s#NJa|O&>#bu z$ihb0;DiJhyr@S58qtK^*oXaS#Q}8UAo_3!hcSdvoWMzp;SA2^;2frK9+xnK>$r(o zJj4PPv4kjI;VokLz#iB{d}h8}k(K9jY*}YeiM4gL>9pY=vJ{gxNc@h^dHfYYY*!J*<%b43 diff --git a/Applications.txt b/Applications.txt index e9719d74..0af308f8 100644 --- a/Applications.txt +++ b/Applications.txt @@ -253,7 +253,7 @@ name="lib/MineOSCore.lua", url="IgorTimofeev/OpenComputers/master/lib/MineOSCore.lua", type="Library", - version=1.49, + version=1.50, }, { name="lib/advancedLua.lua", @@ -442,7 +442,7 @@ url="IgorTimofeev/OpenComputers/master/MineOS/Init.lua", type="Script", forceDownload=true, - version=1.13, + version=1.14, }, { name="etc/profile", diff --git a/Applications/.DS_Store b/Applications/.DS_Store index 538c77cb04174318ac84ffb2e2b782ed4da4fc71..5b1a1bc54e48a1dd91d64ee2e8abf11c92e69b8f 100644 GIT binary patch delta 43 zcmV+`0M!44@C1bL1dvYwM6po2uK^X4@QD<&Ah5Uwvk14q2a~~gFq1DvB(v 0 then - screen = address - end - end - - -- Report boot progress if possible. - local gpu = component.list("gpu", true)() - local w, h - if gpu and screen then - component.invoke(gpu, "bind", screen) - w, h = component.invoke(gpu, "maxResolution") - component.invoke(gpu, "setResolution", w, h) - component.invoke(gpu, "setBackground", background) - component.invoke(gpu, "setForeground", foreground) - component.invoke(gpu, "fill", 1, 1, w, h, " ") - end - - local function centerText(y, text, color) - if gpu and screen then - local msgWidth = unicode.len(text) - local x = math.floor(w / 2 - msgWidth / 2) - component.invoke(gpu, "fill", 1, y, w, 1, " ") - component.invoke(gpu, "setForeground", color) - component.invoke(gpu, "set", x, y, text) - end - end - - local y = math.floor(h / 2 - 1) - - local function status(text) - centerText(y, "MineOS", logoColor) - centerText(y + 1, text, foreground) - end - - status("Booting " .. _OSVERSION .. "...") - - -- Custom low-level loadfile/dofile implementation reading from our ROM. - local function loadfile(file) - status("Loading " .. file) - local handle, reason = rom.open(file) - if not handle then - error(reason) - end - local buffer = "" - repeat - local data, reason = rom.read(handle) - if not data and reason then - error(reason) - end - buffer = buffer .. (data or "") - until not data - rom.close(handle) - return load(buffer, "=" .. file) - end - - local function dofile(file) - local program, reason = loadfile(file) - if program then - local result = table.pack(pcall(program)) - if result[1] then - return table.unpack(result, 2, result.n) - else - error(result[2]) - end - else - error(reason) - end - end - - status("Initializing package management") - - -- Load file system related libraries we need to load other stuff moree - -- comfortably. This is basically wrapper stuff for the file streams - -- provided by the filesystem components. - local package = dofile("/lib/package.lua") - - do - -- Unclutter global namespace now that we have the package module. - _G.component = nil - _G.computer = nil - _G.process = nil - _G.unicode = nil - - -- Initialize the package module with some of our own APIs. - package.loaded.component = component - package.loaded.computer = computer - package.loaded.unicode = unicode - package.preload["buffer"] = loadfile("/lib/buffer.lua") - package.preload["filesystem"] = loadfile("/lib/filesystem.lua") - - -- Inject the package and io modules into the global namespace, as in Lua. - _G.package = package - _G.io = loadfile("/lib/io.lua")() - - --mark modules for delay loaded api - -- package.delayed["text"] = true - -- package.delayed["sh"] = true - -- package.delayed["transforms"] = true - -- package.delayed["term"] = true - end - - status("Initializing file system") - - -- Mount the ROM and temporary file systems to allow working on the file - -- system module from this point on. - require("filesystem").mount(computer.getBootAddress(), "/") - package.preload={} - - status("Running boot scripts") - - -- Run library startup scripts. These mostly initialize event handlers. - local scripts = {} - for _, file in rom.inits() do - local path = "boot/" .. file - if not rom.isDirectory(path) then - table.insert(scripts, path) - end - end - table.sort(scripts) - for i = 1, #scripts do - dofile(scripts[i]) - end - - status("Initializing components") - - local primaries = {} - for c, t in component.list() do - local s = component.slot(c) - if not primaries[t] or (s >= 0 and s < primaries[t].slot) then - primaries[t] = {address=c, slot=s} - end - computer.pushSignal("component_added", c, t) - end - for t, c in pairs(primaries) do - component.setPrimary(t, c.address) - end -end - --- MineOS Init data -do - -- Загружаем необходимые библиотеки, дабы избежать потерь памяти - local shell = require("shell"); shell.setWorkingDirectory("") - local ecs = require("ECSAPI") - local component = require("component") - - -- Загружаем параметры ОС - ecs.loadOSSettings() - _G._OSLANGUAGE = _G.OSSettings.language - - -- Выставляем адекватный масштаб монитора - ecs.fadeOut(background, 0x1b1b1b, 0.05) - -- component.gpu.setBackground(background) - component.gpu.fill(1, 1, 160, 50, " ") - ecs.setScale(1) - - -- Завершаем работу с инициализацией - os.sleep(0.1) -- Allow signal processing by libraries. - require("computer").pushSignal("init") - os.sleep(0.1) -- Allow init processing. - runlevel = 1 -end - -while true do - local result, reason = pcall(loadfile("bin/sh.lua")) - if not result then - io.stderr:write((reason ~= nil and tostring(reason) or "unknown error") .. "\n") - io.write("Press any key to continue.\n") - os.sleep(0.5) - require("event").pull("key") - end -end diff --git a/MineOS/Init.lua b/MineOS/Init.lua index 58585320..4c80f448 100755 --- a/MineOS/Init.lua +++ b/MineOS/Init.lua @@ -176,21 +176,16 @@ do local shell = require("shell"); shell.setWorkingDirectory("") local ecs = require("ECSAPI") local component = require("component") - - -- Загружаем параметры ОС - ecs.loadOSSettings() - _G._OSLANGUAGE = _G.OSSettings.language - + -- Загружаем параметры ОС (через инит-метод идет загрузка OSSettings) + require("MineOSCore") -- Выставляем адекватный масштаб монитора ecs.fadeOut(background, 0x1b1b1b, 0.05) - -- component.gpu.setBackground(background) - component.gpu.fill(1, 1, 160, 50, " ") ecs.setScale(1) -- Завершаем работу с инициализацией os.sleep(0.1) -- Allow signal processing by libraries. require("computer").pushSignal("init") - os.sleep(0.1) -- Allow init processing. + os.sleep(0.1) -- Allow init processing by libraries. runlevel = 1 end @@ -202,4 +197,4 @@ while true do os.sleep(0.5) require("event").pull("key") end -end +end \ No newline at end of file diff --git a/lib/MineOSCore.lua b/lib/MineOSCore.lua index b4bb8ebc..1a476aae 100755 --- a/lib/MineOSCore.lua +++ b/lib/MineOSCore.lua @@ -26,7 +26,7 @@ MineOSCore.paths = {} MineOSCore.paths.OS = "/MineOS/" MineOSCore.paths.system = MineOSCore.paths.OS .. "System/" MineOSCore.paths.wallpaper = MineOSCore.paths.system .. "OS/Wallpaper.lnk" -MineOSCore.paths.localizationFile = MineOSCore.paths.system .. "OS/Languages/" .. _G.OSSettings.language .. ".lang" +MineOSCore.paths.localizationFiles = MineOSCore.paths.system .. "OS/Languages/" MineOSCore.paths.icons = MineOSCore.paths.system .. "OS/Icons/" MineOSCore.paths.applications = MineOSCore.paths.OS .. "Applications/" MineOSCore.paths.pictures = MineOSCore.paths.OS .. "Pictures/" @@ -223,8 +223,8 @@ function MineOSCore.loadStandartIcons() end function MineOSCore.init() - if not _G.OSSettings then MineOSCore.loadOSSettings() end - MineOSCore.localization = table.fromFile(MineOSCore.paths.localizationFile) + MineOSCore.loadOSSettings() + MineOSCore.localization = table.fromFile(MineOSCore.paths.localizationFiles .. _G.OSSettings.language .. ".lang") MineOSCore.loadStandartIcons() end