diff --git a/Source/Cutscenes.lua b/Source/Cutscenes.lua index e58a545..3d9e5b3 100644 --- a/Source/Cutscenes.lua +++ b/Source/Cutscenes.lua @@ -236,6 +236,9 @@ function beginEndCutscene() song:play(0) createStars() createMenu(mainmenu) + + imgBigRocket:hide() + end) song:play() diff --git a/Source/Editor.lua b/Source/Editor.lua index 95bf0d9..6656de8 100644 --- a/Source/Editor.lua +++ b/Source/Editor.lua @@ -225,11 +225,28 @@ function editUpdate() positionLerp.x = playdate.math.lerp(positionLerp.x, position.x * 16, 0.5) positionLerp.y = playdate.math.lerp(positionLerp.y, position.y * 16, 0.5) + if playdate.buttonIsPressed(playdate.kButtonA) then + if editor == "tiles" then + + tilemapEditor:setTileAtPosition(position.x+12,position.y+8,math.floor( tileIndex ) + 1) + for tile = 1, #tiles, 1 do + if tiles[tile].x == position.x + 12 and tiles[tile].y == position.y+8 then + table.remove(tiles,tile) + break + end + end + tiles[#tiles+1] = {x=position.x + 12, y=position.y + 8, t=math.floor( tileIndex ) + 1} + imgtiles = gfx.sprite.new(tilemapEditor) + end + end + if playdate.buttonJustPressed(playdate.kButtonA) then if editor == "pos2Saw" then sawblades[#sawblades+1] = {start={x=pos1.x,y=pos1.y},ends = {x=(position.x + 11) * 16,y=(position.y + 7) * 16}, speed = traveltime} editor = "main" tileIndex = 2 + elseif editor == "tiles" and math.floor( tileIndex ) == 0 then + editor = "main" elseif editor == "music" then selSong = editorSongs[math.floor(tileIndex) + 1] editor = "main" @@ -243,14 +260,6 @@ function editUpdate() editor = "main" tileIndex = 3 printTable(spins[#spins]) - elseif editor == "tiles" then - if math.floor( tileIndex ) == 0 then - editor = "main" - else - tilemapEditor:setTileAtPosition(position.x+12,position.y+8,math.floor( tileIndex ) + 1) - tiles[#tiles+1] = {x=position.x + 12, y=position.y + 8, t=math.floor( tileIndex ) + 1} - imgtiles = gfx.sprite.new(tilemapEditor) - end elseif editor == "main" then if math.floor( tileIndex ) == 0 then --[[ @@ -283,6 +292,10 @@ function editUpdate() end end + if playdate.isCrankDocked() then + editor = "main" + end + if playdate.buttonJustPressed(playdate.kButtonB) then if editor == "tiles" then tilemapEditor:setTileAtPosition(position.x+12,position.y+8,0) @@ -344,27 +357,27 @@ function editUpdate() end if editor ~= "settings" then - if playdate.buttonIsPressed(playdate.kButtonLeft) and positionLerp.x/16 < position.x +0.05 then + if playdate.buttonIsPressed(playdate.kButtonLeft) and positionLerp.x/16 < position.x +0.03 then if editor ~= "pos2Spin" then position.x -= 1 else armamount-=1 if armamount < 1 then armamount = 1 end end - elseif playdate.buttonIsPressed(playdate.kButtonRight) and positionLerp.x/16 > position.x -0.05 then + elseif playdate.buttonIsPressed(playdate.kButtonRight) and positionLerp.x/16 > position.x -0.03 then if editor ~= "pos2Spin" then position.x += 1 else armamount+=1 end end - if playdate.buttonIsPressed(playdate.kButtonUp) and positionLerp.y/16 < position.y+0.05 then + if playdate.buttonIsPressed(playdate.kButtonUp) and positionLerp.y/16 < position.y+0.03 then if editor ~= "pos2Spin" then position.y -= 1 else armlength += 1 end - elseif playdate.buttonIsPressed(playdate.kButtonDown) and positionLerp.y/16 > position.y -0.05 then + elseif playdate.buttonIsPressed(playdate.kButtonDown) and positionLerp.y/16 > position.y -0.03 then if editor ~= "pos2Spin" then position.y += 1 else @@ -473,7 +486,16 @@ end if editor == "tiles" then gfx.drawText("A TO PLACE \nB TO DELETE",0,0) local ind = math.floor( tileIndex / 8 ) * 8 - if tileIndex < 8 then imgExitMen:draw(366,8) else tileTable[1+ind]:draw(373,13) end + if tileIndex < 8 then + gfx.setColor(gfx.kColorXOR) + imgExitMen:draw(366,8) + gfx.fillRect(391,41,2,2) + gfx.fillRect(391,69,2,2) + gfx.fillRect(391,97,2,2) + gfx.fillRect(391,125,2,2) + else + tileTable[1+ind]:draw(373,13) + end tileTable[2+ind]:draw(373,41) tileTable[3+ind]:draw(373,69) tileTable[4+ind]:draw(373,97) @@ -564,5 +586,7 @@ end local gravs = {[0.2]="REGULAR",[0]="NONE",[-0.2]="NEGATIVE"} function getGrav() - return gravs[grav] + if gravs[grav] then + return gravs[grav] + else return grav end end \ No newline at end of file diff --git a/Source/Player.lua b/Source/Player.lua index 4e0f24f..896b390 100644 --- a/Source/Player.lua +++ b/Source/Player.lua @@ -20,10 +20,13 @@ sprRocket:setGroups({1,2,3}) local imgBigRocket = gfx.image.new("gfx/bigrocket") local imgBigFire = gfx.imagetable.new("gfx/bigrocketfire") +local imgSpawn = gfx.image.new("gfx/spawn") assert(imgBigRocket) assert(imgBigFire) +assert(imgSpawn) local loopBigFire = gfx.animation.loop.new(200,imgBigFire) local sprBigRocket = gfx.sprite.new(imgBigRocket) +local sprSpawn = gfx.sprite.new(imgSpawn) sprBigRocket:setCollideRect(0,0,64,64) sprBigRocket:setGroups({2}) sprBigRocket:setCollidesWithGroups({2}) @@ -34,6 +37,8 @@ local sfxDie = playdate.sound.sampleplayer.new("sfx/die") function setSpawn(_x,_y) startpos = {x=_x,y=_y} + miniExplode(sprSpawn.x,sprSpawn.y) + sprSpawn:moveTo(_x,_y) end local function die() @@ -51,6 +56,9 @@ function addPlayer(_x,_y,__x,__y) dead = false scale = 1 active = false + sprSpawn:add() + sprSpawn:moveTo(_x,_y) + velocity = {x=0,y=0} startpos = {x= _x,y=_y} sprBigRocket:moveTo(__x,__y) @@ -129,7 +137,7 @@ local function playerWin() exists = false dead = true - if playdate.buttonIsPressed(playdate.kButtonA) then + if playdate.buttonJustPressed(playdate.kButtonA) then song:stop() song:setFinishCallback(nil) if next then @@ -191,7 +199,7 @@ function updatePlayer() end elseif exists == true then - if inp and playdate.isCrankDocked() == false then + if (playdate.buttonJustPressed(playdate.kButtonUp) or playdate.buttonJustPressed(playdate.kButtonDown) or playdate.buttonJustPressed(playdate.kButtonLeft) or playdate.buttonJustPressed(playdate.kButtonRight) or playdate.buttonJustPressed(playdate.kButtonA) or playdate.buttonJustPressed(playdate.kButtonB)) and playdate.isCrankDocked() == false then active = true end local cx, cy = gfx.getDrawOffset() diff --git a/Source/Saws.lua b/Source/Saws.lua index 7780247..52ff128 100644 --- a/Source/Saws.lua +++ b/Source/Saws.lua @@ -123,7 +123,7 @@ function loadChecks(_checks) checks[i]:setGroups({2}) checks[i]:setCollidesWithGroups({3}) checks[i]:setZIndex(3) - checks[i]:setCollideRect(-6,-6 ,30,30) + checks[i]:setCollideRect(-3,-3 ,38,38) checks[i]:add() end end diff --git a/Source/gfx/spawn.png b/Source/gfx/spawn.png new file mode 100644 index 0000000..c4909dc Binary files /dev/null and b/Source/gfx/spawn.png differ diff --git a/Source/pdxinfo b/Source/pdxinfo index 164c98c..1758fd4 100644 --- a/Source/pdxinfo +++ b/Source/pdxinfo @@ -3,6 +3,6 @@ author=PossiblyAxolotl description=Help a crew of rockets collect energy to get back home! bundleID=com.PossiblyAxolotl.RocketBytes launchSoundPath=launcher/rocketing -version=1.2.1 -buildNumber=10201 +version=1.3.0 +buildNumber=10300 imagePath=launcher \ No newline at end of file