Files
jeopardy/main.lua
T

92 lines
2.7 KiB
Lua

local logger = require("utils/logger")
local lovehandler = require("utils/love_file_handler")
multi, thread = require("multi"):init({priority=true})
multi.setClock(require("socket").gettime) -- When on linux os.clock doesn't reture actual seconds the program has elapsed for
GLOBAL, THREAD = require("multi.integration.loveManager"):init()
local fileHandler, logCtrl = lovehandler.new("logs/jeopardy.log", {
max_size = 512 * 1024, -- rotate at 512 KB
max_files = 3,
buffered = false, -- write every line immediately (safest for games)
})
lovehandler.auto_flush_on_quit(logCtrl)
log = logger.new("jeopardy", {
level = logger.LEVELS.DEBUG,
handlers = {
logger.handlers.ConsoleHandler({ colours = true }),
fileHandler,
},
})
local gui = require("gui")
local color = require("gui.core.color")
local title = require("menus.title")
local menu = require("gui.core.menus")
color.indexColor("bg","#2b348b")
color.indexColor("tile_bg","#5459e4")
color.indexColor("header_tile","#2a2e91")
color.indexColor("status_font", "#e4b82a")
color.indexColor("title_font","#b16d24")
color.indexColor("question_bg","#363ac8")
color.indexColor("tile_font","#ffffff")
color.indexColor("header_font","#fef6eeda")
require("gui.addons")
gui:setHotKey({"f11"})(function()
fullscreen, fstype = love.window.getFullscreen()
love.window.setFullscreen(not fullscreen, "desktop")
end)
local loadLog = log:child("load")
local old = multi.error
multi.error = function(self, err)
loadLog:error("Error: %s", err)
loadLog:error(debug.traceback())
love.quit()
end
function love.load()
loadLog:info("Starting Jeopardy Game")
loadLog:debug("Setting game identity to jeopardy")
for i,v in ipairs(color.listColors(showAllColors)) do
loadLog:debug("Indexed color %s",v)
end
love.filesystem.setIdentity("jeopardy")
loadLog:trace("Creating save directory")
success = love.filesystem.createDirectory("")
if not success then
loadLog:fatal("Unable to create save directory")
love.quit()
end
loadLog:trace("Creating save directory")
gui:cacheImage({"assets/images/checked.png","assets/images/unchecked.png","assets/images/speaker.png"})
gui:setAspectSize(1920, 1080)
gui.aspect_ratio = true
loadLog:debug("Creating main background image")
local bg = gui:newImageLabel("assets/images/background.png")
bg:fullFrame()
loadLog:debug("Init menu module")
menu.init(bg)
loadLog:debug("Displaying title menu")
title:visible(true)
end
function love.update(dt)
gui.update(dt)
multi:uManager(dt)
end
function love.draw()
gui.draw()
end