86 lines
No EOL
1.9 KiB
Lua
86 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, 2)
|
|
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
|
|
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 |