local errorHandler = {} function errorHandler.redscreen(msg) local scale = 0.5 local errorfont if love.filesystem.getInfo("fonts/font.ttf") then errorfont = love.graphics.newFont("fonts/font.ttf", 45 * scale) else errorfont = love.graphics.newFont(45 * scale) end love.graphics.reset() love.graphics.origin() love.graphics.clear(.4, 0, 0) love.graphics.setColor(1, 1, 1) local message = love.graphics.newText(errorfont, "Poppy has encountered a critical fault") local message2 = love.graphics.newText(errorfont, "Press q to exit") local message3 = love.graphics.newText(errorfont, msg) love.graphics.draw(message, 40, 40 * scale, 0, 1, 1) love.graphics.draw(message2, 40, 90 * scale, 0, 1, 1) love.graphics.draw(message3, 40, 140 * scale, 0, 1, 1) print(msg) local indent = 0 local messageline for line in debug.traceback():gmatch("([^\n]*)\n?") do print(line) messageline = love.graphics.newText(errorfont, line) love.graphics.draw(messageline, 40, (250 * scale) + indent, 0, 1, 1) indent = indent + 50 * scale end love.graphics.present() return function() love.event.pump() for event, action in love.event.poll() do if event == "quit" then return 1 end if event == "keypressed" then if action == "q" then love.event.quit( 1 ) end end end love.timer.sleep(0.1) end end return errorHandler