From e55c719a4961fab315cbeccd6a2a8e73e36b742d Mon Sep 17 00:00:00 2001 From: Ale32bit Date: Tue, 15 Dec 2015 18:54:15 +0100 Subject: [PATCH] Update sPhone.lua --- src/sPhone.lua | 191 ++----------------------------------------------- 1 file changed, 6 insertions(+), 185 deletions(-) diff --git a/src/sPhone.lua b/src/sPhone.lua index e4aac94..6634a37 100644 --- a/src/sPhone.lua +++ b/src/sPhone.lua @@ -1,142 +1,11 @@ -os.forceShutdown = os.shutdown - -local function crash(err) - if not sPhone then - sPhone = { - devMode = false, - } - end - term.setCursorBlink(false) - term.setBackgroundColor(colors.white) - term.clear() - term.setCursorPos(1,1) - term.setTextColor(colors.black) - if not err then - err = "Undefined Error" - end - - print("sPhone got an error :(\n") - term.setTextColor(colors.red) - print(err) - term.setTextColor(colors.black) - print("") - if sPhone.version then - print("sPhone "..sPhone.version) - end - print("Computer ID: "..os.getComputerID()) - if _CC_VERSION then - print("CC Version: ".._CC_VERSION) - print("MC Version: ".._MC_VERSION) - else - print("CC Version: Under 1.74") - print("MC Version: Undefined") - term.setTextColor(colors.red) - print("Update CC to 1.74 or higher") - term.setTextColor(colors.black) - end - print("LUA Version: ".._VERSION) - print("LUAJ Version: ".._LUAJ_VERSION) - print("Contact sPhone devs: GitHub: Sertex-Team/sPhone") - print("Thanks for using sPhone") - print("Press any key") - repeat - sleep(0) - until os.pullEvent("key") - if not sPhone.devMode then - _G.term = nil - end - term.setBackgroundColor(colors.black) - term.clear() - term.setCursorPos(1,1) - sleep(0.1) - shell.run("/rom/programs/shell") -end - -local function recovery() - term.setBackgroundColor(colors.white) - term.setTextColor(colors.black) - term.clear() - term.setCursorPos(1,1) - print("sPhone Recovery") - print("[1] Hard Reset") - print("[2] Update sPhone") - print("[3] Reset User Config") - print("[4] Continue Booting") - print("[5] Boot in safe mode") - while true do - local _, k = os.pullEvent("key") - if k == 2 then - term.setBackgroundColor(colors.black) - term.setTextColor(colors.white) - for k, v in pairs(fs.list("/")) do - if not fs.isReadOnly(v) then - if fs.isDir(v) then - shell.setDir(v) - for k, v in pairs(fs.list("/"..v)) do - fs.delete(v) - print("Removed "..shell.dir().."/"..v) - end - shell.setDir(shell.resolve("..")) - end - fs.delete(v) - print("Removed "..v) - end - end - print("Installing sPhone...") - sleep(0.5) - setfenv(loadstring(http.get("https://raw.githubusercontent.com/Sertex-Team/sPhone/master/src/installer.lua").readAll()),getfenv())() - elseif k == 3 then - setfenv(loadstring(http.get("https://raw.githubusercontent.com/Sertex-Team/sPhone/master/src/installer.lua").readAll()),getfenv())() - elseif k == 4 then - fs.delete("/.sPhone/config") - fs.delete("/.sPhone/cache") - os.reboot() - elseif k == 5 then - _G.safemode = false - break - elseif k == 6 then - _G.safemode = true - break - end - end -end - local function kernel() - term.setBackgroundColor(colors.white) - term.setCursorPos(1,1) - term.clear() - term.setTextColor(colors.black) - if fs.exists("/.sPhone/interfaces/bootImage") then - local bootImage = paintutils.loadImage("/.sPhone/interfaces/bootImage") - paintutils.drawImage(bootImage, 11,7) - else - print("Missing bootImage") - end - local w, h = term.getSize() - term.setBackgroundColor(colors.white) - term.setTextColor(colors.black) - term.setCursorPos(1,h) - write("Press ALT to recovery mode") - local bootTimer = os.startTimer(1) - while true do - local e,k = os.pullEvent() - if e == "key" and k == 56 then - recovery() - break - elseif e == "timer" then - _G.safemode = false - break - end - end _G.sPhone = { - version = "Alpha 2.10.1", + version = "Alpha 2.11", user = "Run sID", devMode = false, mainTerm = term.current() } - - if not fs.exists("/.sPhone/config/newIDSystem") then fs.delete("/.sPhone/config/username") fs.delete("/.sPhone/config/.sIDpw") @@ -218,6 +87,7 @@ local function kernel() sPhone.crash = crash end + _G.crash = nil function os.version() return "sPhone "..sPhone.version end @@ -912,57 +782,8 @@ end home() end - -local runningOnStartup - -term.setBackgroundColor(colors.black) -term.clear() -term.setCursorPos(1,1) -term.setTextColor(colors.white) - -if sPhone then - printError("sPhone already started") - return +if not sPhone then + kernel(...) +else + print("sPhone already started") end - -if not pocket or not term.isColor() then - printError("Computer not supported: use an Advanced Pocket Computer or an Advanced Wireless Pocket Computer") - return -end - -local tArgs = {...} - -os.oldPullEvent = os.pullEvent -os.pullEvent = os.pullEventRaw - -local argData = { - ["-u"] = false, - ["-s"] = false, -} - -if #tArgs > 0 then - while #tArgs > 0 do - local tArgs = table.remove(tArgs, 1) - if argData[tArgs] ~= nil then - argData[tArgs] = true - end - end -end - -if argData["-u"] then - print("Getting installer...") - setfenv(loadstring(http.get("https://raw.githubusercontent.com/Sertex-Team/sPhone/master/src/installer.lua").readAll()),getfenv())() -end - -if argData["-s"] then - runningOnStartup = true -end - -local ok, error = pcall(kernel) - -if not ok then - crash(error) -end - -crash("Something went wrong...") -_G.term = nil -- The OS ends here - This string force to crash the pda and shutdown