Rocket-Bytes/Source/Main.lua
PossiblyAxolotl 29c4d0e106 mathbad
2022-05-14 10:34:53 -06:00

87 lines
No EOL
1.9 KiB
Lua

import "CoreLibs/graphics"
import "CoreLibs/sprites"
import "CoreLibs/ui"
import "Player"
import "Map"
import "Menu"
import "Saws"
import "Editor"
mode = "menu"
map = "data/saw.rocketbyte"
deaths = 0
local gfx <const> = playdate.graphics
local disp <const> = playdate.display
local font <const> = gfx.font.new("gfx/big")
local dev = false
gfx.setFont(font)
gfx.setBackgroundColor(gfx.kColorBlack)
song = playdate.sound.fileplayer.new("sfx/song1")
song:setVolume(0)
song:setVolume(0.5,0.5, 1)
song:play(0)
local imgCrank = gfx.image.new("gfx/crank")
gfx.setColor(gfx.kColorWhite)
-- {"START NEW GAME","CONTINUE","USER LEVELS", "EXIT"}
mainMenuCreation()
createMenu(mainmenu)
local menu = playdate.getSystemMenu()
local menuButton, error = menu:addMenuItem("Game Menu", function()
if mode == "game" then
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
end
mainMenuCreation()
createMenu(mainmenu)
end)
local devButton, error = menu:addCheckmarkMenuItem("dev stats", false, function(value)
dev = value
end)
--addMap("levels/level.json")
playdate.ui.crankIndicator:start()
function playdate.update()
if mode == "menu" then
updateMenu()
elseif mode == "game" or mode == "play" then
song:setVolume(0.5)
updatePlayer()
gfx.sprite.update()
local ox, oy = gfx.getDrawOffset()
gfx.drawText(deaths,-ox + 1,-oy + 1)
if playdate.isCrankDocked() then
playdate.ui.crankIndicator:update()
end
elseif mode == "newproj" then
gfx.clear()
updateNewproj()
end
if dev then
local ox, oy = gfx.getDrawOffset()
playdate.drawFPS(0,20)
gfx.drawText(math.floor( playdate.getCrankPosition() ), -ox, -oy + 35)
end
updateSaws()
end
function playdate.gameWillTerminate()
if mode == "game" then
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
end
end