From 3ef4739bf0358300f5bdd050c07851631fc76cae Mon Sep 17 00:00:00 2001 From: Igor Timofeev Date: Wed, 29 Jun 2016 14:08:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D0=B8=D0=B7=D0=B6=D0=B5=20?= =?UTF-8?q?=D0=B1=D1=83=D1=84=D0=B5=D1=80,=20=D0=B0=20=D0=B5=D1=89=D0=B5?= =?UTF-8?q?=20=D0=BE=D1=81=D0=BA=D0=B0=20=D1=87=D1=83=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=82=D0=BE=D0=B6=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Applications.txt | 4 ++-- MineOS/OS.lua | 14 ++++++-------- lib/doubleBuffering.lua | 17 +++++------------ 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/Applications.txt b/Applications.txt index 4dae55f4..882ab104 100644 --- a/Applications.txt +++ b/Applications.txt @@ -8,7 +8,7 @@ about="IgorTimofeev/OpenComputers/master/MineOS/About/", type="Script", forceDownload=true, - version=3.22, + version=3.23, }, { name="MineOS/Pictures/Raspberry.pic", @@ -401,7 +401,7 @@ name="lib/doubleBuffering.lua", url="IgorTimofeev/OpenComputers/master/lib/doubleBuffering.lua", type="Library", - version=1.11, + version=1.12, }, { name="lib/thread.lua", diff --git a/MineOS/OS.lua b/MineOS/OS.lua index 91a69142..9fa240f0 100644 --- a/MineOS/OS.lua +++ b/MineOS/OS.lua @@ -1,5 +1,3 @@ --- package.loaded.MineOSCore = nil --- _G.MineOSCore = nil ---------------------------------------------- Копирайт, епта ------------------------------------------------------------------------ @@ -16,23 +14,23 @@ local copyright = [[ ]] -- Вычищаем копирайт из оперативки, ибо мы не можем тратить СТОЛЬКО памяти. --- Сколько тут, раз, два, три... 295 ASCII-символов! --- А это, между прочим, 59 раз по слову "Пидор". Но один раз - не пидорас, поэтому очищаем. --- Я передумал, не очищаем, пригодится еще. Вот же ж неоптимизированная параша! +-- Сколько тут, раз, два, три... 282 UTF-8 символа! +-- А это, между прочим, 56 раз по слову "Пидор". Но один раз - не пидорас, поэтому очищаем. + +-- Я передумал, не очищаем, пригодится еще кое-где. Вот же ж костыльная параша! -- copyright = nil ---------------------------------------------- Библиотеки ------------------------------------------------------------------------ -- Адаптивная загрузка необходимых библиотек и компонентов local libraries = { + component = "component", + image = "image", buffer = "doubleBuffering", MineOSCore = "MineOSCore", GUI = "GUI", - image = "image", ecs = "ECSAPI", - component = "component", event = "event", - term = "term", files = "files", context = "context", SHA2 = "SHA2", diff --git a/lib/doubleBuffering.lua b/lib/doubleBuffering.lua index fc4f9a4d..4f498aa8 100644 --- a/lib/doubleBuffering.lua +++ b/lib/doubleBuffering.lua @@ -7,13 +7,7 @@ local libraries = { ["colorlib"] = "colorlib", } -local components = { - ["gpu"] = "gpu", -} - -for library in pairs(libraries) do if not _G[library] then _G[library] = require(libraries[library]) end end -for comp in pairs(components) do if not _G[comp] then _G[comp] = _G.component[components[comp]] end end -libraries, components = nil, nil +for library in pairs(libraries) do if not _G[library] then _G[library] = require(libraries[library]) end end; libraries = nil local buffer = {} local debug = false @@ -64,7 +58,7 @@ function buffer.start() buffer.screen = {} buffer.screen.current = {} buffer.screen.new = {} - buffer.screen.width, buffer.screen.height = gpu.getResolution() + buffer.screen.width, buffer.screen.height = component.gpu.getResolution() buffer.resetDrawLimit() @@ -533,21 +527,20 @@ function buffer.draw(force) --Перебираем все цвета текста и фона, выполняя гпу-операции for foreground in pairs(buffer.screen.changes) do - if indexPlus1 ~= foreground then gpu.setForeground(foreground); indexPlus1 = foreground end + if indexPlus1 ~= foreground then component.gpu.setForeground(foreground); indexPlus1 = foreground end for background in pairs(buffer.screen.changes[foreground]) do - if index ~= background then gpu.setBackground(background); index = background end + if index ~= background then component.gpu.setBackground(background); index = background end for i = 1, #buffer.screen.changes[foreground][background], 2 do --Конвертируем указанный индекс в координаты x, y = convertIndexToCoords(buffer.screen.changes[foreground][background][i]) --Выставляем ту самую собранную строку из одинаковых цветов - gpu.set(x, y, buffer.screen.changes[foreground][background][i + 1]) + component.gpu.set(x, y, buffer.screen.changes[foreground][background][i + 1]) end end end --Очищаем память, ибо незачем нам хранить третий буфер - buffer.screen.changes = {} buffer.screen.changes = nil end