-
-
Save prust/8c76c1c9f96aa3caca40d3d998a0c3f2 to your computer and use it in GitHub Desktop.
Auto-updater
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local async = require('async') | |
function love.load(args) | |
async.load() | |
async.ensure.atLeast(2) | |
local version = nil | |
local version_request = async.define("version_request", function() | |
local request = require('luajit-request') | |
local response = request.send(link to the version file) | |
return response.body, response.code | |
end) | |
local game_request = async.define("game_request", function(version) | |
local request = require('luajit-request') | |
local response = request.send(link to the game using the version variable) | |
return response.body, response.code | |
end) | |
version_request(function(result, status) | |
if status == 200 then | |
version = getVersion(result) -- TODO: define getVersion | |
if not love.filesystem.isFile('game_' .. version .. '.love') then | |
game_request(function(result, status) | |
if status == 200 then | |
love.filesystem.write('game_' .. version .. '.love', result) | |
love.filesystem.mount('game_' .. version .. '.love', '') | |
package.loaded.main = nil | |
package.loaded.conf = nil | |
love.conf = nil | |
love.init() | |
love.load(args) | |
end | |
end, version) | |
else | |
love.filesystem.mount('game_' .. version .. '.love') | |
package.loaded.main = nil | |
package.loaded.conf = nil | |
love.conf = nil | |
love.init() | |
love.load(args) | |
end | |
end | |
end) | |
end | |
function love.update(dt) | |
async.update() | |
end | |
function love.draw() | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment