Change cart loading and begin work on loading carts in the program's operation

This commit is contained in:
Robert Miles 2018-08-02 07:26:36 -04:00
parent b04953c3d2
commit 240960da90
2 changed files with 12 additions and 6 deletions

View File

@ -1,5 +1,6 @@
local Cart = {
code = function() return function() end, function() end end
update = function() end,
draw = function() end,
}
local function split(str)
@ -28,6 +29,10 @@ function Cart:loadCart(s)
local ok,err = pcall(loadstring,code)
if not ok then error(err) end
sandbox(err)
ret.code = err
update, draw = err()
ret.update = update
ret.draw = draw
return ret
end
return {Cart=Cart}

View File

@ -10,20 +10,21 @@ function _G.sandbox(f)
end
setfenv(f,glob)
end
local Cart = require("cart").Cart
local cart
function love.load()
require("cindy").applyPatch()
_G.scr = love.graphics.newCanvas(256,240)
love.graphics.setCanvas(scr)
local test = load("rectfill(0,0,5,5,10)")
sandbox(test)
test()
cart = Cart:loadCart("test.lua")
end
function love.update(dt)
if love.keyboard.isDown("escape") then love.event.quit() end
cart.update()
end
function love.draw()
cart.draw()
love.graphics.setBackgroundColor(0,0,0)
love.graphics.setColor(255,255,255)
love.graphics.draw(scr,0,0,0,CONFIG.scalefactor,CONFIG.scalefactor)