Update sPhone.lua
This commit is contained in:
parent
33afe31976
commit
e55c719a49
1 changed files with 6 additions and 185 deletions
191
src/sPhone.lua
191
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
|
||||
|
|
Loading…
Reference in a new issue