mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2025-12-23 04:22:50 +01:00
aefaef
This commit is contained in:
parent
ba9e2b1c7e
commit
a19f938132
@ -28,14 +28,14 @@ if fs.get("bin/edit.lua") == nil or fs.get("bin/edit.lua").isReadOnly() then tab
|
||||
|
||||
--Если нашло какое-то несоответствие сис. требованиям, то написать, что именно не так
|
||||
if #govno > 0 then
|
||||
print(" ")
|
||||
print("Analyzing computer for matching system requirements.")
|
||||
print(" ")
|
||||
for i = 1, #govno do
|
||||
print(govno[i])
|
||||
end
|
||||
print(" ")
|
||||
return
|
||||
print(" ")
|
||||
print("Analyzing computer for matching system requirements.")
|
||||
print(" ")
|
||||
for i = 1, #govno do
|
||||
print(govno[i])
|
||||
end
|
||||
print(" ")
|
||||
return
|
||||
end
|
||||
|
||||
------------------------------------------------------------------------------------------
|
||||
@ -54,72 +54,76 @@ local timing = 0.2
|
||||
|
||||
--ЗАГРУЗОЧКА С ГИТХАБА
|
||||
local function getFromGitHub(url, path)
|
||||
local sContent = ""
|
||||
local result, response = pcall(internet.request, url)
|
||||
if not result then
|
||||
return nil
|
||||
end
|
||||
local sContent = ""
|
||||
local result, response = pcall(internet.request, url)
|
||||
if not result then
|
||||
return nil
|
||||
end
|
||||
|
||||
if fs.exists(path) then fs.remove(path) end
|
||||
fs.makeDirectory(fs.path(path))
|
||||
local file = io.open(path, "w")
|
||||
if fs.exists(path) then fs.remove(path) end
|
||||
fs.makeDirectory(fs.path(path))
|
||||
local file = io.open(path, "w")
|
||||
|
||||
for chunk in response do
|
||||
file:write(chunk)
|
||||
sContent = sContent .. chunk
|
||||
end
|
||||
for chunk in response do
|
||||
file:write(chunk)
|
||||
sContent = sContent .. chunk
|
||||
end
|
||||
|
||||
file:close()
|
||||
file:close()
|
||||
|
||||
return sContent
|
||||
return sContent
|
||||
end
|
||||
|
||||
--БЕЗОПАСНАЯ ЗАГРУЗОЧКА
|
||||
local function getFromGitHubSafely(url, path)
|
||||
local success, sRepos = pcall(getFromGitHub, url, path)
|
||||
if not success then
|
||||
io.stderr:write("Could not connect to the Internet. Please ensure you have an Internet connection.")
|
||||
return -1
|
||||
end
|
||||
return sRepos
|
||||
local success, sRepos = pcall(getFromGitHub, url, path)
|
||||
if not success then
|
||||
io.stderr:write("Can't download \"" .. url .. "\"!\n")
|
||||
return -1
|
||||
end
|
||||
return sRepos
|
||||
end
|
||||
|
||||
--ЗАГРУЗОЧКА С ПАСТЕБИНА
|
||||
local function getFromPastebin(paste, filename)
|
||||
local cyka = ""
|
||||
local f, reason = io.open(filename, "w")
|
||||
if not f then
|
||||
io.stderr:write("Failed opening file for writing: " .. reason)
|
||||
return
|
||||
end
|
||||
--io.write("Downloading from pastebin.com... ")
|
||||
local url = "http://pastebin.com/raw.php?i=" .. paste
|
||||
local result, response = pcall(internet.request, url)
|
||||
if result then
|
||||
--io.write("success.\n")
|
||||
for chunk in response do
|
||||
--if not options.k then
|
||||
--string.gsub(chunk, "\r\n", "\n")
|
||||
--end
|
||||
f:write(chunk)
|
||||
cyka = cyka .. chunk
|
||||
end
|
||||
f:close()
|
||||
--io.write("Saved data to " .. filename .. "\n")
|
||||
else
|
||||
f:close()
|
||||
fs.remove(filename)
|
||||
io.stderr:write("HTTP request failed: " .. response .. "\n")
|
||||
end
|
||||
local cyka = ""
|
||||
local f, reason = io.open(filename, "w")
|
||||
if not f then
|
||||
io.stderr:write("Failed opening file for writing: " .. reason)
|
||||
return
|
||||
end
|
||||
--io.write("Downloading from pastebin.com... ")
|
||||
local url = "http://pastebin.com/raw.php?i=" .. paste
|
||||
local result, response = pcall(internet.request, url)
|
||||
if result then
|
||||
--io.write("success.\n")
|
||||
for chunk in response do
|
||||
--if not options.k then
|
||||
--string.gsub(chunk, "\r\n", "\n")
|
||||
--end
|
||||
f:write(chunk)
|
||||
cyka = cyka .. chunk
|
||||
end
|
||||
f:close()
|
||||
--io.write("Saved data to " .. filename .. "\n")
|
||||
else
|
||||
f:close()
|
||||
fs.remove(filename)
|
||||
io.stderr:write("HTTP request failed: " .. response .. "\n")
|
||||
end
|
||||
|
||||
return cyka
|
||||
return cyka
|
||||
end
|
||||
|
||||
local GitHubUserUrl = "https://raw.githubusercontent.com/"
|
||||
|
||||
getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/lib/ECSAPI.lua", "lib/ECSAPI.lua")
|
||||
local cyka
|
||||
print(" ")
|
||||
cyka = "colorlib.lua"; print("Downloading must-have libraries (" .. cyka .. ")"); getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/lib/" .. cyka, "lib/" .. cyka)
|
||||
cyka = "image.lua"; print("Downloading must-have libraries (" .. cyka .. ")"); getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/lib/" .. cyka, "lib/" .. cyka)
|
||||
cyka = "ECSAPI.lua"; print("Downloading must-have libraries (" .. cyka .. ")"); getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/lib/" .. cyka, "lib/" .. cyka)
|
||||
print(" ")
|
||||
|
||||
--Вот тут такой пиздец был!
|
||||
_G.ecs = require("ECSAPI")
|
||||
|
||||
ecs.setScale(installerScale)
|
||||
@ -134,127 +138,125 @@ local xWindowEnd, yWindowEnd = xWindow + windowWidth - 1, yWindow + windowHeight
|
||||
-------------------------------------------------------------------------------------------
|
||||
|
||||
local function clear()
|
||||
ecs.blankWindow(xWindow, yWindow, windowWidth, windowHeight)
|
||||
ecs.blankWindow(xWindow, yWindow, windowWidth, windowHeight)
|
||||
end
|
||||
|
||||
--ОБЪЕКТЫ
|
||||
local obj = {}
|
||||
local function newObj(class, name, ...)
|
||||
obj[class] = obj[class] or {}
|
||||
obj[class][name] = {...}
|
||||
obj[class] = obj[class] or {}
|
||||
obj[class][name] = {...}
|
||||
end
|
||||
|
||||
local function drawButton(name, isPressed)
|
||||
local buttonColor = 0x888888
|
||||
if isPressed then buttonColor = ecs.colors.blue end
|
||||
local d = {ecs.drawAdaptiveButton("auto", yWindowEnd - 3, 2, 1, name, buttonColor, 0xffffff)}
|
||||
newObj("buttons", name, d[1], d[2], d[3], d[4])
|
||||
local buttonColor = 0x888888
|
||||
if isPressed then buttonColor = ecs.colors.blue end
|
||||
local d = {ecs.drawAdaptiveButton("auto", yWindowEnd - 3, 2, 1, name, buttonColor, 0xffffff)}
|
||||
newObj("buttons", name, d[1], d[2], d[3], d[4])
|
||||
end
|
||||
|
||||
local function waitForClickOnButton(buttonName)
|
||||
while true do
|
||||
local e = { event.pull() }
|
||||
if e[1] == "touch" then
|
||||
if ecs.clickedAtArea(e[3], e[4], obj["buttons"][buttonName][1], obj["buttons"][buttonName][2], obj["buttons"][buttonName][3], obj["buttons"][buttonName][4]) then
|
||||
drawButton(buttonName, true)
|
||||
os.sleep(timing)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
while true do
|
||||
local e = { event.pull() }
|
||||
if e[1] == "touch" then
|
||||
if ecs.clickedAtArea(e[3], e[4], obj["buttons"][buttonName][1], obj["buttons"][buttonName][2], obj["buttons"][buttonName][3], obj["buttons"][buttonName][4]) then
|
||||
drawButton(buttonName, true)
|
||||
os.sleep(timing)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------СТАДИЯ ЗАГРУЗКИ НУЖНЫХ ПАКЕТОВ-----------------------
|
||||
|
||||
|
||||
ecs.clearScreen(padColor)
|
||||
|
||||
if not fs.exists("System/OS/Installer/OK.pic") or not fs.exists("System/OS/Installer/Downloading.pic") or not fs.exists("System/OS/Installer/OS_Logo.pic") or not fs.exists("System/OS/Installer/Languages.pic") then
|
||||
if not fs.exists("MineOS/System/OS/Installer/OK.pic") or not fs.exists("MineOS/System/OS/Installer/Downloading.pic") or not fs.exists("MineOS/System/OS/Installer/OS_Logo.pic") or not fs.exists("MineOS/System/OS/Installer/Languages.pic") then
|
||||
|
||||
local barWidth = math.floor(windowWidth / 2)
|
||||
local xBar = math.floor(xSize/2-barWidth/2)
|
||||
local yBar = math.floor(ySize/2) + 1
|
||||
local barWidth = math.floor(windowWidth / 2)
|
||||
local xBar = math.floor(xSize/2-barWidth/2)
|
||||
local yBar = math.floor(ySize/2) + 1
|
||||
|
||||
--создание первичного экрана чистенького
|
||||
--создание первичного экрана чистенького
|
||||
|
||||
clear()
|
||||
clear()
|
||||
|
||||
gpu.setBackground(ecs.windowColors.background)
|
||||
gpu.setForeground(ecs.colors.gray)
|
||||
ecs.centerText("x", yBar - 2, "Loading installer data")
|
||||
gpu.setBackground(ecs.windowColors.background)
|
||||
gpu.setForeground(ecs.colors.gray)
|
||||
ecs.centerText("x", yBar - 2, "Loading installer data")
|
||||
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, 0)
|
||||
os.sleep(timing)
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, 0)
|
||||
os.sleep(timing)
|
||||
|
||||
--local response = getSafe(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/Applications.txt", "System/OS/Applications.txt")
|
||||
|
||||
local preLoadApi = {
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/lib/image.lua", path = "lib/image.lua" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/lib/config.lua", path = "lib/config.lua" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/Languages.pic", path = "System/OS/Installer/Languages.pic" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/OK.pic", path = "System/OS/Installer/OK.pic" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/Downloading.pic", path = "System/OS/Installer/Downloading.pic" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/OS_Logo.pic", path = "System/OS/Installer/OS_Logo.pic" },
|
||||
--{ paste = "IgorTimofeev/OpenComputers/master/MineOS/License.txt", path = "System/OS/License.txt" },
|
||||
}
|
||||
--local response = getSafe(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/Applications.txt", "MineOS/System/OS/Applications.txt")
|
||||
|
||||
local preLoadApi = {
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/lib/config.lua", path = "lib/config.lua" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/Languages.pic", path = "MineOS/System/OS/Icons/Languages.pic" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/OK.pic", path = "MineOS/System/OS/Icons/OK.pic" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/Downloading.pic", path = "MineOS/System/OS/Icons/Downloading.pic" },
|
||||
{ paste = "IgorTimofeev/OpenComputers/master/Installer/OS_Logo.pic", path = "MineOS/System/OS/Icons/OS_Logo.pic" },
|
||||
}
|
||||
|
||||
local countOfAll = #preLoadApi
|
||||
local countOfAll = #preLoadApi
|
||||
|
||||
for i = 1, countOfAll do
|
||||
for i = 1, countOfAll do
|
||||
|
||||
local percent = i / countOfAll * 100
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, percent)
|
||||
local percent = i / countOfAll * 100
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, percent)
|
||||
|
||||
if fs.exists(preLoadApi[i]["path"]) then fs.remove(preLoadApi[i]["path"]) end
|
||||
fs.makeDirectory(fs.path(preLoadApi[i]["path"]))
|
||||
getFromGitHubSafely(GitHubUserUrl .. preLoadApi[i]["paste"], preLoadApi[i]["path"])
|
||||
if fs.exists(preLoadApi[i]["path"]) then fs.remove(preLoadApi[i]["path"]) end
|
||||
fs.makeDirectory(fs.path(preLoadApi[i]["path"]))
|
||||
getFromGitHubSafely(GitHubUserUrl .. preLoadApi[i]["paste"], preLoadApi[i]["path"])
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
applications = seri.unserialize(getFromPastebin("3j2x4dDn", "System/OS/Applications.txt"))
|
||||
applications = seri.unserialize(getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/Applications.txt", "MineOS/System/OS/Applications.txt"))
|
||||
|
||||
_G.image = require("image")
|
||||
local config = require("config")
|
||||
|
||||
local imageOS = image.load("System/OS/Installer/OS_Logo.pic")
|
||||
local imageLanguages = image.load("System/OS/Installer/Languages.pic")
|
||||
local imageDownloading = image.load("System/OS/Installer/Downloading.pic")
|
||||
local imageOK = image.load("System/OS/Installer/OK.pic")
|
||||
local imageOS = image.load("MineOS/System/OS/Icons/OS_Logo.pic")
|
||||
local imageLanguages = image.load("MineOS/System/OS/Icons/Languages.pic")
|
||||
local imageDownloading = image.load("MineOS/System/OS/Icons/Downloading.pic")
|
||||
local imageOK = image.load("MineOS/System/OS/Icons/OK.pic")
|
||||
|
||||
------------------------------ВЫБОР ЯЗЫКА------------------------------------
|
||||
|
||||
|
||||
do
|
||||
|
||||
clear()
|
||||
clear()
|
||||
|
||||
image.draw(math.ceil(xSize / 2 - 30), yWindow + 2, imageLanguages)
|
||||
image.draw(math.ceil(xSize / 2 - 30), yWindow + 2, imageLanguages)
|
||||
|
||||
--кнопа
|
||||
drawButton("Select language",false)
|
||||
--кнопа
|
||||
drawButton("Select language",false)
|
||||
|
||||
waitForClickOnButton("Select language")
|
||||
waitForClickOnButton("Select language")
|
||||
|
||||
local language = ecs.universalWindow("auto", "auto", 30, ecs.windowColors.background, true, {"EmptyLine"}, {"CenterText", 0x262626, "Select language"}, {"Select", 0x262626, 0x880000, "Russian", "English"}, {"Button", {0xffffff, 0x262626, "OK"}})
|
||||
language = language[1]
|
||||
--УСТАНАВЛИВАЕМ НУЖНЫЙ ЯЗЫК
|
||||
local path = "System/OS/Language.lua"
|
||||
fs.remove(path)
|
||||
fs.makeDirectory(fs.path(path))
|
||||
local file = io.open(path, "w")
|
||||
file:write("return \"" .. language .. "\"")
|
||||
file:close()
|
||||
_G._OSLANGUAGE = language
|
||||
local language = ecs.universalWindow("auto", "auto", 30, ecs.windowColors.background, true, {"EmptyLine"}, {"CenterText", 0x262626, "Select language"}, {"Select", 0x262626, 0x880000, "Russian", "English"}, {"Button", {0xffffff, 0x262626, "OK"}})
|
||||
language = language[1]
|
||||
--УСТАНАВЛИВАЕМ НУЖНЫЙ ЯЗЫК
|
||||
local path = "MineOS/System/OS/Language.lua"
|
||||
fs.remove(path)
|
||||
fs.makeDirectory(fs.path(path))
|
||||
local file = io.open(path, "w")
|
||||
file:write("return \"" .. language .. "\"")
|
||||
file:close()
|
||||
_G._OSLANGUAGE = language
|
||||
|
||||
--Качаем язык
|
||||
ecs.info("auto", "auto", " ", " Installing language packages...")
|
||||
local pathToLang = "System/OS/Installer/Language.lang"
|
||||
getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/Installer/" .. _G._OSLANGUAGE .. ".lang", pathToLang)
|
||||
getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/MineOS/License/" .. _G._OSLANGUAGE .. ".txt", "System/OS/License.txt")
|
||||
|
||||
--Ставим язык
|
||||
lang = config.readAll(pathToLang)
|
||||
--Качаем язык
|
||||
ecs.info("auto", "auto", " ", " Installing language packages...")
|
||||
local pathToLang = "MineOS/System/OS/Installer/Language.lang"
|
||||
getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/Installer/" .. _G._OSLANGUAGE .. ".lang", pathToLang)
|
||||
getFromGitHubSafely(GitHubUserUrl .. "IgorTimofeev/OpenComputers/master/MineOS/License/" .. _G._OSLANGUAGE .. ".txt", "MineOS/System/OS/License.txt")
|
||||
|
||||
--Ставим язык
|
||||
lang = config.readAll(pathToLang)
|
||||
|
||||
end
|
||||
|
||||
@ -263,121 +265,121 @@ end
|
||||
------------------------------СТАВИТЬ ЛИ ОСЬ------------------------------------
|
||||
|
||||
do
|
||||
clear()
|
||||
clear()
|
||||
|
||||
image.draw(math.ceil(xSize / 2 - 15), yWindow + 2, imageOS)
|
||||
image.draw(math.ceil(xSize / 2 - 15), yWindow + 2, imageOS)
|
||||
|
||||
--Текстик по центру
|
||||
gpu.setBackground(ecs.windowColors.background)
|
||||
gpu.setForeground(ecs.colors.gray)
|
||||
ecs.centerText("x", yWindowEnd - 5 , lang.beginOsInstall)
|
||||
--Текстик по центру
|
||||
gpu.setBackground(ecs.windowColors.background)
|
||||
gpu.setForeground(ecs.colors.gray)
|
||||
ecs.centerText("x", yWindowEnd - 5 , lang.beginOsInstall)
|
||||
|
||||
--кнопа
|
||||
drawButton("->",false)
|
||||
--кнопа
|
||||
drawButton("->",false)
|
||||
|
||||
waitForClickOnButton("->")
|
||||
waitForClickOnButton("->")
|
||||
|
||||
end
|
||||
|
||||
------------------------------ЛИЦ СОГЛАЩЕНЬКА------------------------------------------
|
||||
|
||||
do
|
||||
clear()
|
||||
|
||||
--Откуда рисовать условия согл
|
||||
local from = 1
|
||||
local xText, yText, TextWidth, TextHeight = xWindow + 4, yWindow + 2, windowWidth - 8, windowHeight - 7
|
||||
clear()
|
||||
|
||||
--Откуда рисовать условия согл
|
||||
local from = 1
|
||||
local xText, yText, TextWidth, TextHeight = xWindow + 4, yWindow + 2, windowWidth - 8, windowHeight - 7
|
||||
|
||||
--Читаем файл с лиц соглл
|
||||
local lines = {}
|
||||
local file = io.open("System/OS/License.txt", "r")
|
||||
for line in file:lines() do
|
||||
table.insert(lines, line)
|
||||
end
|
||||
file:close()
|
||||
--Читаем файл с лиц соглл
|
||||
local lines = {}
|
||||
local file = io.open("MineOS/System/OS/License.txt", "r")
|
||||
for line in file:lines() do
|
||||
table.insert(lines, line)
|
||||
end
|
||||
file:close()
|
||||
|
||||
--Штуку рисуем
|
||||
ecs.textField(xText, yText, TextWidth, TextHeight, lines, from, 0xffffff, 0x262626, 0x888888, ecs.colors.blue)
|
||||
--Штуку рисуем
|
||||
ecs.textField(xText, yText, TextWidth, TextHeight, lines, from, 0xffffff, 0x262626, 0x888888, ecs.colors.blue)
|
||||
|
||||
--Инфо рисуем
|
||||
--ecs.centerText("x", yWindowEnd - 5 ,"Принимаете ли вы условия лицензионного соглашения?")
|
||||
--Инфо рисуем
|
||||
--ecs.centerText("x", yWindowEnd - 5 ,"Принимаете ли вы условия лицензионного соглашения?")
|
||||
|
||||
--кнопа
|
||||
drawButton(lang.acceptLicense, false)
|
||||
--кнопа
|
||||
drawButton(lang.acceptLicense, false)
|
||||
|
||||
while true do
|
||||
local e = { event.pull() }
|
||||
if e[1] == "touch" then
|
||||
if ecs.clickedAtArea(e[3], e[4], obj["buttons"][lang.acceptLicense][1], obj["buttons"][lang.acceptLicense][2], obj["buttons"][lang.acceptLicense][3], obj["buttons"][lang.acceptLicense][4]) then
|
||||
drawButton(lang.acceptLicense, true)
|
||||
os.sleep(timing)
|
||||
break
|
||||
end
|
||||
elseif e[1] == "scroll" then
|
||||
if e[5] == -1 then
|
||||
if from < #lines then from = from + 1; ecs.textField(xText, yText, TextWidth, TextHeight, lines, from, 0xffffff, 0x262626, 0x888888, ecs.colors.blue) end
|
||||
else
|
||||
if from > 1 then from = from - 1; ecs.textField(xText, yText, TextWidth, TextHeight, lines, from, 0xffffff, 0x262626, 0x888888, ecs.colors.blue) end
|
||||
end
|
||||
end
|
||||
end
|
||||
while true do
|
||||
local e = { event.pull() }
|
||||
if e[1] == "touch" then
|
||||
if ecs.clickedAtArea(e[3], e[4], obj["buttons"][lang.acceptLicense][1], obj["buttons"][lang.acceptLicense][2], obj["buttons"][lang.acceptLicense][3], obj["buttons"][lang.acceptLicense][4]) then
|
||||
drawButton(lang.acceptLicense, true)
|
||||
os.sleep(timing)
|
||||
break
|
||||
end
|
||||
elseif e[1] == "scroll" then
|
||||
if e[5] == -1 then
|
||||
if from < #lines then from = from + 1; ecs.textField(xText, yText, TextWidth, TextHeight, lines, from, 0xffffff, 0x262626, 0x888888, ecs.colors.blue) end
|
||||
else
|
||||
if from > 1 then from = from - 1; ecs.textField(xText, yText, TextWidth, TextHeight, lines, from, 0xffffff, 0x262626, 0x888888, ecs.colors.blue) end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------СТАДИЯ ЗАГРУЗКИ-----------------------------------
|
||||
|
||||
do
|
||||
|
||||
local barWidth = math.floor(windowWidth * 2 / 3)
|
||||
local xBar = math.floor(xSize/2-barWidth/2)
|
||||
local yBar = yWindowEnd - 3
|
||||
local barWidth = math.floor(windowWidth * 2 / 3)
|
||||
local xBar = math.floor(xSize/2-barWidth/2)
|
||||
local yBar = yWindowEnd - 3
|
||||
|
||||
local function drawInfo(x, y, info)
|
||||
ecs.square(x, y, barWidth, 1, ecs.windowColors.background)
|
||||
ecs.colorText(x, y, ecs.colors.gray, info)
|
||||
end
|
||||
local function drawInfo(x, y, info)
|
||||
ecs.square(x, y, barWidth, 1, ecs.windowColors.background)
|
||||
ecs.colorText(x, y, ecs.colors.gray, info)
|
||||
end
|
||||
|
||||
ecs.blankWindow(xWindow,yWindow,windowWidth,windowHeight)
|
||||
ecs.blankWindow(xWindow,yWindow,windowWidth,windowHeight)
|
||||
|
||||
image.draw(math.floor(xSize/2 - 33), yWindow + 2, imageDownloading)
|
||||
image.draw(math.floor(xSize/2 - 33), yWindow + 2, imageDownloading)
|
||||
|
||||
ecs.colorTextWithBack(xBar, yBar - 1, ecs.colors.gray, ecs.windowColors.background, lang.osInstallation)
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, 0)
|
||||
os.sleep(timing)
|
||||
ecs.colorTextWithBack(xBar, yBar - 1, ecs.colors.gray, ecs.windowColors.background, lang.osInstallation)
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, 0)
|
||||
os.sleep(timing)
|
||||
|
||||
for app = 1, #applications do
|
||||
--ВСЕ ДЛЯ ГРАФОНА
|
||||
drawInfo(xBar, yBar + 1, lang.downloading .. " " .. applications[app]["name"])
|
||||
local percent = app / #applications * 100
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, percent)
|
||||
for app = 1, #applications do
|
||||
--ВСЕ ДЛЯ ГРАФОНА
|
||||
drawInfo(xBar, yBar + 1, lang.downloading .. " " .. applications[app]["name"])
|
||||
local percent = app / #applications * 100
|
||||
ecs.progressBar(xBar, yBar, barWidth, 1, 0xcccccc, ecs.colors.blue, percent)
|
||||
|
||||
--ВСЕ ДЛЯ ЗАГРУЗКИ
|
||||
local path = applications[app]["name"]
|
||||
if fs.exists(path) then fs.remove(path) end
|
||||
--ВСЕ ДЛЯ ЗАГРУЗКИ
|
||||
local path = applications[app]["name"]
|
||||
if fs.exists(path) then fs.remove(path) end
|
||||
|
||||
--Если тип = приложение
|
||||
if applications[app]["type"] == "Application" then
|
||||
fs.makeDirectory(path..".app/Resources")
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["url"], path..".app/"..fs.name(applications[app]["name"]..".lua"))
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["icon"], path..".app/Resources/Icon.pic")
|
||||
if applications[app]["resources"] then
|
||||
for i = 1, #applications[app]["resources"] do
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["resources"][i]["url"], path..".app/Resources/"..applications[app]["resources"][i]["name"])
|
||||
end
|
||||
end
|
||||
--Если тип = приложение
|
||||
if applications[app]["type"] == "Application" then
|
||||
fs.makeDirectory(path..".app/Resources")
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["url"], path..".app/"..fs.name(applications[app]["name"]..".lua"))
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["icon"], path..".app/Resources/Icon.pic")
|
||||
if applications[app]["resources"] then
|
||||
for i = 1, #applications[app]["resources"] do
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["resources"][i]["url"], path..".app/Resources/"..applications[app]["resources"][i]["name"])
|
||||
end
|
||||
end
|
||||
|
||||
--Если тип = другой, чужой, а мб и свой пастебин
|
||||
elseif applications[app]["type"] == "Pastebin" then
|
||||
fs.remove(applications[app]["name"])
|
||||
fs.makeDirectory(fs.path(applications[app]["name"]))
|
||||
getFromPastebin(applications[app]["url"], applications[app]["name"])
|
||||
--Если тип = другой, чужой, а мб и свой пастебин
|
||||
elseif applications[app]["type"] == "Pastebin" then
|
||||
fs.remove(applications[app]["name"])
|
||||
fs.makeDirectory(fs.path(applications[app]["name"]))
|
||||
getFromPastebin(applications[app]["url"], applications[app]["name"])
|
||||
|
||||
--А если че-то другое
|
||||
else
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["url"], path)
|
||||
end
|
||||
end
|
||||
--А если че-то другое
|
||||
else
|
||||
getFromGitHubSafely(GitHubUserUrl .. applications[app]["url"], path)
|
||||
end
|
||||
end
|
||||
|
||||
os.sleep(timing)
|
||||
os.sleep(timing)
|
||||
end
|
||||
|
||||
--------------------------СТАДИЯ ПЕРЕЗАГРУЗКИ КОМПА-----------------------------------
|
||||
@ -394,9 +396,9 @@ ecs.centerText("x",yWindowEnd - 5, lang.needToRestart)
|
||||
--Кнопа
|
||||
drawButton(lang.restart, false)
|
||||
|
||||
fs.remove("System/OS/Users.cfg")
|
||||
fs.remove("System/OS/Password.cfg")
|
||||
fs.remove("System/OS/WithoutProtection.cfg")
|
||||
fs.remove("MineOS/System/OS/Users.cfg")
|
||||
fs.remove("MineOS/System/OS/Password.cfg")
|
||||
fs.remove("MineOS/System/OS/WithoutProtection.cfg")
|
||||
|
||||
waitForClickOnButton(lang.restart)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user