Code: Select all
function love.run ( )
-- based on LÖVE 0.8.0 main loop code
math.randomseed ( os.time ( ) )
love.handlers.quit = function ( ) return love.quit and ( love.quit() ~= true ) or false end
local ot, nt = 0, 0
local lt_getMicroTime, lt_sleep = love.timer.getMicroTime, love.timer.sleep
local le_pump, le_poll = love.event.pump, love.event.poll
local lg_clear, lg_present = love.graphics.clear, love.graphics.present
local love_handlers = love.handlers
if love.init then love.init ( ) end
nt = lt_getMicroTime ( )
while true do
ot = nt
nt = lt_getMicroTime ( )
le_pump ( )
for e,a,b,c,d in le_poll ( ) do
if love_handlers[ e ] ( a, b, c, d ) == false then
love.audio.stop()
return
end
end
love.update ( nt - ot )
lg_clear ( )
love.draw ( )
lg_present ( )
lt_sleep ( 0 )
end
end
----
Thanks Robin for shorter version of quit event handler function, and for some clarifications.