---@diagnostic disable: undefined-global movementSpeed = 3; bannerTextureWidth = 509; buttonHeight = 50; buttonWidth = 110; bigButtonWidth = 150; bigButtonHeight = buttonHeight; characterSelectType = "" Input = { prevKeys = {}, isKeyPressedOnce = function(key) local code = getKeycodeByName(key) local wasDown = Input.prevKeys[code] local isDown = keys[code] Input.prevKeys[code] = isDown return isDown and not wasDown end, isKeyDown = function(key) local code = getKeycodeByName(key) return keys[code] end } Timer = { timers = {} } function Timer.after(delay, callback) table.insert(Timer.timers, { time = delay, action = callback }) end function Timer.delay(seconds) local start = os.clock() while (os.clock() - start) < seconds do -- Busy wait, blocking here end end function Timer.clearAllTimers() Timer.timers = {} end function Timer.update(dt) for i = #Timer.timers, 1, -1 do local t = Timer.timers[i] t.time = t.time - dt if t.time <= 0 then t.action() table.remove(Timer.timers, i) end end end function Setup() setBgImage("assets/backgrounds/city-background-1.png") playSoundLoop("assets/sounds/Main Menu - Background Music (Knockout).wav") end function Local2PButton() characterSelectType = "Local 2P" dofile("assets/scripts/character-select.lua") Setup() end function MultiplayerButton() characterSelectType = "Multiplayer" dofile("assets/scripts/character-select.lua") Setup() end function SettingsButton() dofile("assets/scripts/settings.lua") Setup() end function Update() queueTextureForRender("assets/gui/mainMenu_banner.png", WIDTH // 2 - bannerTextureWidth // 2, 0) queueButtonForRender("Local 2P", WIDTH // 2 - buttonWidth // 2, HEIGHT // 2 - buttonHeight // 2, buttonWidth, buttonHeight, "Local2PButton"); queueButtonForRender("Multiplayer", WIDTH // 2 - bigButtonWidth // 2, HEIGHT // 2 - bigButtonHeight // 2 + 55, bigButtonWidth, bigButtonHeight, "MultiplayerButton"); queueButtonForRender("Settings", WIDTH // 2 - buttonWidth // 2, HEIGHT // 2 - buttonHeight // 2 + 55 + 55, buttonWidth, buttonHeight, "SettingsButton"); queueButtonForRender("Quit Game", WIDTH - bigButtonWidth - 20, 20, bigButtonWidth, bigButtonHeight, "quitGame") end