diff --git a/.gitignore b/.gitignore index da34c46..be87d3b 100644 --- a/.gitignore +++ b/.gitignore @@ -63,5 +63,6 @@ $RECYCLE.BIN/ .gitignore *.pdx .vscode +.VSCodeCounter *.zip *.ase \ No newline at end of file diff --git a/Source/Cutscenes.lua b/Source/Cutscenes.lua new file mode 100644 index 0000000..8ad7901 --- /dev/null +++ b/Source/Cutscenes.lua @@ -0,0 +1,26 @@ +import "CoreLibs/animation" +import "CoreLibs/animator" +import "CoreLibs/sprites" +local gfx = playdate.graphics + +local imgBigRocket = gfx.image.new("gfx/bigrocket") +local tabBigRocket = gfx.imagetable.new("gfx/bigrocketfire") +assert(imgBigRocket) +assert(tabBigRocket) + +local animBigRocket = gfx.animation.loop.new(200,tabBigRocket) + +local sprCutsceneBigRocket = gfx.sprite.new(tabBigRocket[1]) + +sprCutsceneBigRocket:setRotation(90) +sprCutsceneBigRocket:moveTo(0 - sprCutsceneBigRocket.height,120) + +function beginStartCutscene() + mode = "startCutscene" +end + +function updateStartCutscene() + gfx.clear() + + gfx.sprite.update() +end \ No newline at end of file diff --git a/Source/Editor.lua b/Source/Editor.lua index 5733a71..8e690f5 100644 --- a/Source/Editor.lua +++ b/Source/Editor.lua @@ -27,7 +27,7 @@ local pos1 = {x,y} local editor = "main" -local editorSongs = {"song1","song2","song5"} +local editorSongs = {"song1","song2","song5", "song6"} local selSong = "song2" local songIndexSel = 10 @@ -79,10 +79,12 @@ function newProject() playdate.keyboard.show("NEW LEVEL") end +local createNewFont = gfx.font.new("gfx/bigVisibleSpaces") function updateNewproj() gfx.clear() - gfx.drawText("LEVEL NAME:", 0, 105) - gfx.drawTextInRect(playdate.keyboard.text:upper(),0,125, 210, 80) + processStars(-10,-10) + gfx.drawText("LEVEL NAME:", 35, 100) + gfx.drawTextInRect(playdate.keyboard.text:upper(),0,130, 210, 80,0,nil,kTextAlignment.center,createNewFont) end function editLoadName(name) @@ -121,7 +123,7 @@ function playdate.keyboard.keyboardWillHideCallback(ok) page = 0 playdate.wait(0.3) editLoad() - else + elseif #playdate.keyboard.text:upper() > 0 then song:stop() mode = "editor" position = {x=89,y=93} @@ -141,6 +143,10 @@ function playdate.keyboard.keyboardWillHideCallback(ok) levelname = playdate.keyboard.text:upper() imgtiles:add() + else + page = 0 + playdate.wait(0.3) + editLoad() end end @@ -187,8 +193,8 @@ function editUpdate() elseif editor == "music" then - if tileIndex > 2.9 then tileIndex = 0 end - if tileIndex < 0 then tileIndex = 2.9 end + if tileIndex > #editorSongs - 0.1 then tileIndex = 0 end + if tileIndex < 0 then tileIndex = #editorSongs - 0.1 end curY = math.floor( tileIndex ) * 28 +7 @@ -514,5 +520,4 @@ function editClose() playdate.getSystemMenu():removeMenuItem(playdate.getSystemMenu():getMenuItems()[3]) playdate.getSystemMenu():removeMenuItem(playdate.getSystemMenu():getMenuItems()[2]) end -end - +end \ No newline at end of file diff --git a/Source/Main.lua b/Source/Main.lua index d82f0db..fc5ec33 100644 --- a/Source/Main.lua +++ b/Source/Main.lua @@ -7,6 +7,7 @@ import "CoreLibs/graphics" import "CoreLibs/sprites" import "CoreLibs/ui" +import "Cutscenes" import "Particles" import "Musicbox" import "Player" diff --git a/Source/Menu.lua b/Source/Menu.lua index 8c51ceb..ee0f69f 100644 --- a/Source/Menu.lua +++ b/Source/Menu.lua @@ -139,7 +139,7 @@ local function customLoad() logopos = -112 local lvls = playdate.file.listFiles("levels") local m = {} - m[0], m[1] = "customs", "MENU" + m[0], m[1] = "customs", "BACK" if #lvls - ((10*page)) <= 0 then page = 0 end if #lvls <= 11 then for i = 1, #lvls, 1 do @@ -162,7 +162,7 @@ function editLoad() barpos = 160 local lvls = playdate.file.listFiles("levels") local m = {} - m[0], m[1], m[2] = "edits", "MENU", "CREATE NEW" + m[0], m[1], m[2] = "edits", "BACK", "CREATE NEW" if #lvls - (1 + (9*page)) <= 0 then page = 0 end if #lvls <= 10 then for i = 1, #lvls, 1 do @@ -180,7 +180,7 @@ function editLoad() createMenu(m) end -songlist = {"EXTRAS","POV: YOU ARE A ROCKET","A LONELY, LOST SHIP", "LEVEL COMPLETE", "GAME COMPLETE", "CHIPVIBE2"} +songlist = {"BACK","POV: YOU ARE A ROCKET","A LONELY, LOST SHIP", "LEVEL COMPLETE", "GAME COMPLETE", "CHIPVIBE2", "ORANGER CHIP"} songlist[0] = "musicbox" function menuButtonPress(name, index) @@ -209,7 +209,7 @@ function menuButtonPress(name, index) local m = {} --barpos = 160 --logopos = -112 - m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "MENU", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT" + m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "BACK", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT" if playdate.file.exists("bonusLevels.rocketbytes") then m[6] = "EXTRA LEVELS" end @@ -233,10 +233,10 @@ function menuButtonPress(name, index) editLoad() end - elseif name == "BACK" or name == "CANCEL" or name == "MENU" then + elseif name == "BACK" or name == "CANCEL" then if menu == "musicbox" then local m = {} - m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "MENU", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT" + m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "BACK", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT" if playdate.file.exists("bonusLevels.rocketbytes") then m[6] = "EXTRA LEVELS" end @@ -246,7 +246,7 @@ function menuButtonPress(name, index) local m = {} --barpos = 160 --logopos = -112 - m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "MENU", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT" + m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "BACK", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT" if playdate.file.exists("bonusLevels.rocketbytes") then m[6] = "EXTRA LEVELS" end diff --git a/Source/gfx/Symbols.fnt b/Source/gfx/Symbols.fnt new file mode 100644 index 0000000..473fdbc --- /dev/null +++ b/Source/gfx/Symbols.fnt @@ -0,0 +1,22 @@ +--metrics={"baseline":17,"xHeight":1,"capHeight":1,"pairs":{},"left":[],"right":[]} +datalen=1472 +data=iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAEF0lEQVR4Xu1a25bCIAzU//9od4sFQ8gdqrTUlz26dhomw5CkPh/HvV4A+jnoNhBzg4zimnGiN9DWmwJ4vV6P57PcovdeBTMxE8d14fQGTRFVBdC5mIzfEB4k340zmiBKOSOU9M/HW43b30w6IMm6joIDMyvhWIG1LZV2VN5WeAFwUTuQ977XICgTAdmEWQfbzUJQZaSKgqpbomySOIyCGhxLoBb1NAqCKsoADmNtfAzjYeIZr2NxMEE4qVnpIwkiSeohBxBqShIy7nQN9ZkGBq8ZTVBFUs6yQzn7mqryQFtP9X+4uAg5GSxfewRBDUlOYyZPGitLZyGokOQkhyPXxM9ZtphpMcqXus11x+/GOWqLDSMJewI+fQgjx2ua5pgfQQqH4a6AGSA3zswKQmJpT7aztRqHKgjXNGdtVr9C0nYTZ21VqTGTbcE5yxYrXo0yEI1/2MDMDGQ5tsF3Dl8YZ9JKnE1cUqCuyZtw4xlwSqKpiQPaaultXg9HkHvyJmVMKP+tSuqJh0tQFTI3s2IJUsp288J+jENOOKVthk/HyxMU6ehhfQUJ6irJQVZmwWHVg30ItyvUPKi7qRvVHA7E0dqKklPJBjYFufdpKUrq517p405Ji0FrVSi+t3X8oRIUWRRFEh6sl6Py85CPXWNk0EVtFQ3HeMyXRCcFrUaQ5Dk48fcWY2wBz6Snecwyo0mTjSD2E+IJBVeNT33MW4ybOuaxeRZfgiX4NwZUXMsSrMhD/soVijC2yxDkLT3MrQYGxhdqNQn2knxy/ADnkGY18ZNJ2v5+a4InEN8Tz/BxB2ncG09G5TSehj74FQ4eAOI4zQMzNxBnrgqhVqJGxePOL/uQzViSiwM3uEWbVNXtx9E4bmKoGqbLzEAEs+BoqqNIY7eYu6NnTqOZcFKpAl/Uj66KUt6K5gmKNKxE4dhdmOXyYEA8VSywMxCaVZKgIZO3cuyhGRHlZZ5u2mMemFRq9OGtyNlxh9GkqwGZpc/BBShFbEQ9Gk6XgijmpcxBBVBZgtdGSDuaINKdBQ9qfINTDzK09NZCkHLEm3CsW42Lx0g67UErKYg6qcTd8hZB/dub0QrymrIx2+S6DAqyVu8JfzmTDilIOllwoeU14NmO+QhBOz/+H2+foVAkEuzeYokgTkWcgSGfyDedCYfrxUIEVSQlc2Ie9uUtIwzQZmlWrZWB+L173KHQqM5hmOutMtVGDt/GcavKGqAb+CoX3AQFt9hVBNC9jltBDgVphlrVXN2pOQlAU+DluOGTUKbdWEJ9hSBuXCmMMW+CqJ+8EP3XSTZLLEyTgu4txgzNbgV9HpSRU0VEEB6ureVBedxBnWL7ibY0QWXcIVhZIgj8fykFxSx+gauWUEFPHm+CHL1YD9GXvfZWkJLaP13HHogxSF09AAAAAElFTkSuQmCC +width=18 +height=18 + +tracking=1 + +space 11 +� 10 +u 17 +p 17 +d 17 +l 17 +r 17 +A 17 +C 17 +B 17 +D 17 +c 12 +O 14 + diff --git a/Source/gfx/bigVisibleSpaces.fnt b/Source/gfx/bigVisibleSpaces.fnt new file mode 100644 index 0000000..af81300 --- /dev/null +++ b/Source/gfx/bigVisibleSpaces.fnt @@ -0,0 +1,79 @@ +--metrics={"baseline":26,"xHeight":2,"capHeight":2,"pairs":{},"left":[],"right":[]} +datalen=4360 +data=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 +width=14 +height=18 + +tracking=1 + +0 14 +1 14 +2 14 +3 14 +4 14 +5 14 +6 14 +7 14 +8 14 +9 14 +space 14 +� 14 +A 14 +B 14 +C 14 +D 14 +E 14 +F 14 +G 14 +H 14 +I 14 +J 14 +K 14 +L 14 +M 14 +N 14 +O 14 +@ 14 +P 14 +Q 14 +R 14 +S 14 +T 14 +U 14 +V 14 +W 14 +X 14 +Y 14 +Z 14 +[ 8 +] 8 +\ 10 +( 8 +) 8 +{ 8 +| 6 +} 8 +~ 12 +: 6 +! 6 +? 14 +; 6 += 10 +- 10 ++ 10 +. 6 +< 12 +> 12 +/ 10 +^ 10 +_ 12 +, 6 +# 14 +' 6 +" 10 +$ 14 +% 14 +& 14 +` 8 +* 10 + diff --git a/Source/sfx/song6.wav b/Source/sfx/song6.wav new file mode 100644 index 0000000..ca17599 Binary files /dev/null and b/Source/sfx/song6.wav differ