|
config.NetCheckUpdates = config.NetCheckUpdates and Platform.pc and not Platform.developer |
|
|
|
function ContentUpdateDelay() |
|
return GetMap() ~= "" |
|
end |
|
|
|
function OnMsg.ContentUpdate(def, description) |
|
MsgClear("ContentUpdate") |
|
netConnectionReasons["UpdateDownload"] = true |
|
CreateRealTimeThread(function() |
|
while ContentUpdateDelay() do |
|
Sleep(1000) |
|
end |
|
if not NetIsConnected() then return end |
|
if "ok" == WaitQuestion( terminal.desktop, |
|
T(976054118486, "New Update Available"), |
|
Untranslated(description), |
|
T(754206455981, "Download & Install"), |
|
T(967444875712, "Cancel")) |
|
then |
|
AsyncCreatePath("AppData/Updates") |
|
local filename = string.format("AppData/Updates/%s", def.name) |
|
DebugPrint("Downloading update " .. filename) |
|
local err = NetDownloadContent(filename, def) |
|
NetDisconnect("UpdateDownload") |
|
if err then |
|
DebugPrint("Download failed " .. err) |
|
WaitMessage(terminal.desktop, T(727906756499, "Download error"), T(937469723848, "Download failed, please try again later.")) |
|
return |
|
end |
|
if Platform.pc then |
|
DebugPrint("Starting update" .. filename) |
|
Msg("ContentUpdateStart", filename) |
|
NetForceDisconnect("Update") |
|
Sleep(200) |
|
os.exec(ConvertToOSPath(filename)) |
|
quit() |
|
else |
|
DebugPrint("Cannot start update" .. filename) |
|
end |
|
end |
|
end) |
|
end |