Many thanks to wryl and the folks at #Nova for teaching me about inversion of control. There doesn't have to be a single event loop.
MYEOA76OV2FPEYWVCSLANO62PG4V7KU2I4MRC2JL4AAGWHKSCIWAC
CC6INQTAHED2NO7Q34KIWHFHDKG3AL427DS2PY4MYJNX52PBQVTAC
ULKNZUZKI5PQM36OHZAJHMZVXSEM7UUEOVZPI55B64UBU3UD3REAC
OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC
YT5P6TO64XSMCZGTT4SVNFOWUN5ECNXTWCMFXN3YCDZUNH4H3IFAC
AVTNUQYRBW7IX2YQ3KDLVQ23RGW3BAKTAE7P73ASBYNKOHMQMH5AC
PJ5PQAQEEWQDDEPKP3RURCFDX7SSUIH4GZJCDZ6E6UU6G55KB7KAC
36Z442IVPXHZ7D2QI26YLN3TDDEMDRQ2GKBYQAD6NUHQZVCCY4VAC
LXFHXL2NSH7KLRNNN66OPNSU4DXZ6UU2CUPXUHCFEISDB6BY7KDAC
ORKN6EOBUFVAD2TXYW5OIKSL55RU24LOFDTTTXHDZUZ57QRDCY7QC
D2TYFYG2SQ5FH2ET3WXJ3HFJARQLN5WCMAYZVDTB4DLFRAP3YTSQC
IM6GSGVZTVICWIBWRCUXLIMXT3XE3H5LKJ3AITUA4AB3FTW5AJUAC
Mode = 'version_check'
-- continue initializing everything; hopefully we won't have errors during initialization
while true do
love.graphics.origin()
love.graphics.clear(love.graphics.getBackgroundColor())
love.graphics.setColor(1,1,0)
love.graphics.rectangle('fill', 30,30, 400,400)
love.graphics.setColor(0,0,0)
love.graphics.printf(("This app hasn't been tested with LÖVE version %s; please switch to version %s if you run into issues. Press any key to continue."):format(Version, Supported_versions[1]), 40,40, 400)
love.graphics.present()
if love.event then
love.event.pump()
for name, a,b,c,d,e,f in love.event.poll() do
if name == 'quit' then
if not love.quit or not love.quit() then
os.exit(1)
end
elseif name == 'keypressed' then
return
end
end
end
love.timer.sleep(0.01)
end
if Mode == 'version_check' then
love.graphics.setColor(1,1,0)
love.graphics.rectangle('fill', 30,30, 400,400)
love.graphics.setColor(0,0,0)
love.graphics.printf(("This app hasn't been tested with LÖVE version %s; please switch to version %s if you run into issues. Press any key to continue."):format(Version, Supported_versions[1]), 40,40, 400)
return
end