diff --git a/028.bs/Makefile b/028.bs/Makefile index f914b26..9bcf830 100644 --- a/028.bs/Makefile +++ b/028.bs/Makefile @@ -5,6 +5,7 @@ BACKGROUND_GREY_COLOR=777 paletteA_BACKGROUND_COLOR_LONG=000 153 238 255 paletteB_BACKGROUND_COLOR_LONG=000 000 102 187 paletteC_BACKGROUND_COLOR_LONG=210 002 053 255 +paletteD_BACKGROUND_COLOR_LONG=134 134 134 255 MAX_P61_SIZE=$(shell ls -Sl assets/P61.* | awk '{print $$5}' | head -1) @@ -284,11 +285,13 @@ out/main.o: $(IMAGEDATA) \ out/level3_foreground-map.s\ out/level4_foreground-map.s\ out/level5_foreground-map.s\ + out/level6_foreground-map.s\ out/background-map.s Makefile link.script.x\ out/menu-palette.s\ out/paletteA_playarea_fade.s out/paletteA_flags_fade.s out/paletteA_foreground-palette-table.s out/paletteA_tileFade.s\ out/paletteB_playarea_fade.s out/paletteB_flags_fade.s out/paletteB_foreground-palette-table.s out/paletteB_tileFade.s\ out/paletteC_playarea_fade.s out/paletteC_flags_fade.s out/paletteC_foreground-palette-table.s out/paletteC_tileFade.s\ + out/paletteD_playarea_fade.s out/paletteD_flags_fade.s out/paletteD_foreground-palette-table.s out/paletteD_tileFade.s\ out/panelFade.s out/jump.raw out/falling.raw out/chaching.raw out/whoosh.raw out/yay.raw diff --git a/028.bs/TODO.txt b/028.bs/TODO.txt new file mode 100644 index 0000000..1be508e --- /dev/null +++ b/028.bs/TODO.txt @@ -0,0 +1,2 @@ +(1) Check second pass path rendering +(2) sprite per level diff --git a/028.bs/assets/palette.txt b/028.bs/assets/palette.txt index f9bb6d6..3a9a6f3 100644 --- a/028.bs/assets/palette.txt +++ b/028.bs/assets/palette.txt @@ -26,3 +26,6 @@ background # ??? # main cloud # cloud hilight +# balloon outline +# balloon main +# balloon ropes diff --git a/028.bs/assets/paletteD_background.pal b/028.bs/assets/paletteD_background.pal new file mode 100644 index 0000000..abdac4a --- /dev/null +++ b/028.bs/assets/paletteD_background.pal @@ -0,0 +1,8 @@ +000 000 014 255 +000 000 000 255 +070 070 070 255 +050 050 050 255 +173 173 173 255 +159 030 000 255 +154 154 154 255 +000 000 000 000 diff --git a/028.bs/assets/paletteD_foreground_flags.pal b/028.bs/assets/paletteD_foreground_flags.pal new file mode 100644 index 0000000..13f45f4 --- /dev/null +++ b/028.bs/assets/paletteD_foreground_flags.pal @@ -0,0 +1,8 @@ +000 000 000 255 +150 150 150 255 +200 200 200 255 +066 036 019 255 +090 094 025 255 +218 202 127 255 +000 000 000 255 +000 000 000 255 diff --git a/028.bs/assets/paletteD_foreground_playarea.pal b/028.bs/assets/paletteD_foreground_playarea.pal new file mode 100644 index 0000000..f998e11 --- /dev/null +++ b/028.bs/assets/paletteD_foreground_playarea.pal @@ -0,0 +1,8 @@ +000 153 238 255 +253 174 017 255 +233 216 100 255 +066 036 019 255 +090 094 025 255 +218 202 127 255 +106 126 054 255 +255 000 000 255 diff --git a/028.bs/game1.s b/028.bs/game1.s index 7b9c25a..d132352 100644 --- a/028.bs/game1.s +++ b/028.bs/game1.s @@ -344,13 +344,16 @@ GameOver: cmp.l #tutorialLevelInstallers,nextLevelInstaller blt .notTutorial move.l #levelInstallers,nextLevelInstaller - move.l #"0001",levelCounter + move.l #"0001",levelCounter + bra .dontRegisterHighScore .notTutorial: + jsr RegisterHighScore +.dontRegisterHighScore: lea gameOverMessage,a1 jsr Message jsr WaitForJoystick jsr RestorePanel - jsr RegisterHighScore + jmp ShowHighScore TutorialOver: @@ -891,7 +894,7 @@ BlitCountdown: Level 91,"STAY ON THE PATHWAYS!",100,2*2,12,10,"WELL DONE!",A,21,0,1 Level 92,"COLLECT COINS!",100,2*2,12,10,"NEXT COLLECT AN ARROW...",A,21,0,1 Level 93,"PRESS FIRE TO ACTIVATE THE ARROW",100,2*2,12,10,"WHOOHOO",A,21,0,1 - Level 94,"WATCH OUT FOR BEES!",100,2*2,12,10,"LOL - BEES",A,21,0,1 + Level 94,"WATCH OUT FOR BEES!",100,2*2,12,10,"LOL - BEES :-)",A,21,0,1 Level 95,"REMEMBER THE PATHWAYS BEFORE THEY FADE!",75,2*2,12,10,"CLOCKS WILL STOP THE BOARD MOVING",A,21,0,1 Level 96,"PRESS FIRE TO ACTIVATE THE CLOCK",200,2*2,12,10,"EYES WILL UNHIDE THE BOARD",A,21,0,1 Level 97,"PRESS FIRE TO ACTIVATE THE EYE",100,2*2,12,10,"LEVEL 7",A,21,0,1 @@ -900,11 +903,14 @@ BlitCountdown: Level 2,"HAVING FUN YET?",70,2*2,12,10,"LEVEL 2",B,98,2,0 Level 3,"GIDDY UP!",50,4*2,8,6,"GETTING FASTER!, LEVEL 3 COMPLETE!",C,98,2,0 Level 4,"LETS GO?",25,4*2,8,6,"LEVEL 4 COMPLETE",C,98,2,0 - Level 5,"WHAT? WHAT?!",50,4*2,8,6,"NICE! LEVEL 5 COMPLETE!",A,98,1,0 + Level 5,"KABOOM?!",75,4*2,8,6,"PHEW!!! LEVEL 5 COMPLETE!",D,99,1,0 + Level 6,"WHAT? WHAT?!",50,4*2,8,6,"NICE! LEVEL 6 COMPLETE!",A,98,1,0 + Palette A Palette B - Palette C + Palette C + Palette D levelData: ds.b (level2End-level2Start)+1024 @@ -1032,6 +1038,7 @@ levelInstallers: dc.l InstallLevel3 dc.l InstallLevel4 dc.l InstallLevel5 + dc.l InstallLevel6 dc.l 0 nextLevelInstaller: dc.l levelInstallers @@ -1126,22 +1133,4 @@ startUserstack: ds.b $1000 ; size of stack userstack: endif - - if 0 - LevelData 91,"STAY ON THE PATHWAYS!",100,2*2,12,10,"WELL DONE!",A,21,0 - LevelData 92,"COLLECT COINS!",100,2*2,12,10,"NEXT COLLECT AN ARROW...",A,21,0 - LevelData 93,"PRESS FIRE TO ACTIVATE THE ARROW",100,2*2,12,10,"WHOOHOO",A,21,0 - LevelData 94,"WATCH OUT FOR BEES!",100,2*2,12,10,"LOL - BEES",A,21,0 - LevelData 95,"REMEMBER THE PATHWAYS BEFORE THEY FADE!",75,2*2,12,10,"CLOCKS WILL STOP THE BOARD MOVING",A,21,0 - LevelData 96,"PRESS FIRE TO ACTIVATE THE CLOCK",200,2*2,12,10,"EYES WILL UNHIDE THE BOARD",A,21,0 - LevelData 97,"PRESS FIRE TO ACTIVATE THE EYE",100,2*2,12,10,"LEVEL 7",A,21,0 - - LevelData 1,"LET'S TRY A LONGER LEVEL!",75,2*2,12,10,"PHEW!, LEVEL 1 COMPLETE!",B,99,2 - LevelData 2,"HAVING FUN YET?",70,2*2,12,10,"LEVEL 2",B,98,2 - - LevelData 3,"GIDDY UP!",50,4*2,8,6,"GETTING FASTER!, LEVEL 3 COMPLETE!",C,98,2 - LevelData 4,"LETS GO?",25,4*2,8,6,"LEVEL 4 COMPLETE",C,98,2 - - LevelData 5,"WHAT? WHAT?!",50,4*2,8,6,"NICE! LEVEL 5 COMPLETE!",A,98,1 - endif end \ No newline at end of file diff --git a/028.bs/highscore.s b/028.bs/highscore.s index 01d3c00..143a920 100644 --- a/028.bs/highscore.s +++ b/028.bs/highscore.s @@ -155,15 +155,17 @@ HighlightScore: beq .match move.w #MENU_TEXT_COLOR,(a0) move.w #MENU_TEXT_BOTTOM_COLOR,MENU_BOTTOM_OFFSET(a0) - add.l #4,a1 - add.l #MENU_OFFSET,a0 - bra .loop + bra .notMatch .match: move.w #MENU_SELECTED_TOP_COLOR,(a0) move.w #MENU_SELECTED_BOTTOM_COLOR,MENU_BOTTOM_OFFSET(a0) +.notMatch: + add.l #MENU_OFFSET,a0 + add.l #4,a1 + bra .loop .done: rts - + highScore: dc.b " HI SCORES " dc.b 0 diff --git a/028.bs/levels/level5_foreground.tmx b/028.bs/levels/level5_foreground.tmx index 605a6ee..9c6bc2b 100644 --- a/028.bs/levels/level5_foreground.tmx +++ b/028.bs/levels/level5_foreground.tmx @@ -8,17 +8,17 @@ - eJxjZ2BgsGLEjtlH5eguZwekmYBYDAtNSG4rmXLkmolPXyWZ+mghR45bLKHxooVDHkSD5OrxyOHTN1Tk6O2/3TjkYPExEOmH3DwwnN1JbP4YDnK40uRgcidy/lhIx3QwKjd88sfyYewWWHxIM+Bug9FCbjC2MQeTHAC1RFwJ + eJztVsENwjAMDHy6QT5skA3gkb14dRwm4NXlaCQsGXO5OKmK+uARRXC1fYnv3E4hhNsJr+mP/QwTPK/rbJ4rvyPAYvjGItgL9jT/SXwmnLJ5HnHx1vPG3cNnHTmvNyc6wwiXsl/X+GR46Hsv2KwwzSGRvKlyRombQZxgC+ih5HyQegvBancgmHDVOzqDzol64eFSw+K7H7bXTAdIWx4d1DzQq2XLoccDLA71w/oYcRmZGz3+aOkAYWi+tPzRquf1nDduT3/0cqlhyB9MP2yeoxk6qmVbT+dkOkea6anH/DGSc4s/2LzzeqflD/2OYDkRl5H3VY8/tIc1xnJuuTPmjwu4U1l7YEf6xjwSJvgLZ0FuDg== - eJztVLsOwjAMTJA6dUdi6hcw9f8/gIkvYOoXMLESqz3peo1NqJhQT4qK4tf57JDSgX/Cq5zb8q3Z9uZsgVf3W9zLeQa2a/5Nnb0AhxZ0xa8v55G2nGt3hnM5J6oz5nU9i7M7TyODzWLIc33DlGb/SNtPPXg2y3kJ9NC90FzKCTxrvSu0die+Vnukuz77nKM+jL+nO7ia3loPHGAbyDYt9TxtkYv3/ZHWc1UMtGu196h7YcBv+PO84e/tqgHzq+lnPYK/9s/9QFvdc8SprZOZMiKbNwvlpL0+l1zgon3C5mnE/wMG3hnlOZGN9YHN01r5eDNDLHK1AnGepoDW7Z25tcyC6zLwjqGVvjno7b0TvL0aL/SgOT1orhqQr+bHux/p0JqTNcH3krdxXj2Nj/jyXcQdGiH3gQOGNxaubFI= + eJztVTEOgzAMDEMnXtCJFzB16/8XJl7AxAuYupaoPXG9+kJUdWDAErKIsX322SGlU44uw/o8CrZbU+eXv+sbH+sXXBzT5WPtZDSxFznXmLW11GK5N9vjpF1tF2Nvg/Nc2xL4ocZr4INeRtxz3eP7Xf1yHs3HPEW9Vawpbf6qnezZGQtzwVgWwgFd4gO1Rvmn9N2//M2cXn2f6TziDjG65lNrzHwWcQkOoDnfSBi457At4s/11fLh5pF3gPcYuiNbJzW4PnHOyeRHzbAhfiSuNp0NjrknWsdANnCI+pEfvEc9+Md+6BnmgXnqg54BRzSPLGwv7QfqdMJc8n9H96mWC8Rkf50Xnk3FprwAS6RrY2bJWHQ/sPf63+E54rtB8+p9hx7NBdue6LxG+HV+IizsBw4dFo3tcAGP3ot4r4npaij1zNUwp1OOKE+jEXLd - eJztVUkOwzAIdJ7WxY3bdDvlUuf/36iixhJCJoCx1Rwyl0gBDzBg7NyOrSN2v++xy9sPxP+EdO7N+P0bVH0UbsZ6JPFOlTSLQp453rVyn1INQ+P+W/g1OnPzjn01/iWw9uuOzk8bvKdnJqew2GetA/BNO8cD+4T2kbY/UB+fOVtjzz0Ijly8Ui7MK90RXC6cngHZ4R1p8UascY6CeM/CnC5K7o8yjoSfgnbmoYa9sUc1evwiOLQzLOG0wqrXjnb4Au6/EfY= + eJztlNsKgCAMhvPVUguyw00RdHj/14gupCEynAeS8rt1+/w30Koq/JmavZ0gnO4DM2g4mGWPPJdij5cn3JlycIfeL0B/T3RR62dCPXSfDn26Xnjsw8VvZsLwyRCDLZP3K0GOgZDpIOY33QvSLy1nuezrpkGyjBFyQn8Mnw2qF5sZYwX/bypaonvyyKLv8OlNBXXuQh5ccOIMiw== diff --git a/028.bs/levels/level6_foreground.tmx b/028.bs/levels/level6_foreground.tmx new file mode 100644 index 0000000..605a6ee --- /dev/null +++ b/028.bs/levels/level6_foreground.tmx @@ -0,0 +1,24 @@ + + + + + + + + + + + eJxjZ2BgsGLEjtlH5eguZwekmYBYDAtNSG4rmXLkmolPXyWZ+mghR45bLKHxooVDHkSD5OrxyOHTN1Tk6O2/3TjkYPExEOmH3DwwnN1JbP4YDnK40uRgcidy/lhIx3QwKjd88sfyYewWWHxIM+Bug9FCbjC2MQeTHAC1RFwJ + + + + + eJztVLsOwjAMTJA6dUdi6hcw9f8/gIkvYOoXMLESqz3peo1NqJhQT4qK4tf57JDSgX/Cq5zb8q3Z9uZsgVf3W9zLeQa2a/5Nnb0AhxZ0xa8v55G2nGt3hnM5J6oz5nU9i7M7TyODzWLIc33DlGb/SNtPPXg2y3kJ9NC90FzKCTxrvSu0die+Vnukuz77nKM+jL+nO7ia3loPHGAbyDYt9TxtkYv3/ZHWc1UMtGu196h7YcBv+PO84e/tqgHzq+lnPYK/9s/9QFvdc8SprZOZMiKbNwvlpL0+l1zgon3C5mnE/wMG3hnlOZGN9YHN01r5eDNDLHK1AnGepoDW7Z25tcyC6zLwjqGVvjno7b0TvL0aL/SgOT1orhqQr+bHux/p0JqTNcH3krdxXj2Nj/jyXcQdGiH3gQOGNxaubFI= + + + + + eJztVUkOwzAIdJ7WxY3bdDvlUuf/36iixhJCJoCx1Rwyl0gBDzBg7NyOrSN2v++xy9sPxP+EdO7N+P0bVH0UbsZ6JPFOlTSLQp453rVyn1INQ+P+W/g1OnPzjn01/iWw9uuOzk8bvKdnJqew2GetA/BNO8cD+4T2kbY/UB+fOVtjzz0Ijly8Ui7MK90RXC6cngHZ4R1p8UascY6CeM/CnC5K7o8yjoSfgnbmoYa9sUc1evwiOLQzLOG0wqrXjnb4Au6/EfY= + + + diff --git a/028.bs/pickups.s b/028.bs/pickups.s index 941bcc5..056d3c1 100644 --- a/028.bs/pickups.s +++ b/028.bs/pickups.s @@ -10,7 +10,7 @@ PICKUP_OFFSET equ (SCREEN_WIDTH_BYTES*PANEL_BIT_DEPTH*17)+(272/8) PICKUP_NUM_FLASHES equ 6 -PICKUP_DEBOUNCE_FRAMES equ 50 +PICKUP_DEBOUNCE_FRAMES equ 10 PICKUP_SAFE_TILE1 equ $f02 PICKUP_SAFE_TILE2 equ $1682 diff --git a/028.bs/player.s b/028.bs/player.s index 8281a48..e807df1 100644 --- a/028.bs/player.s +++ b/028.bs/player.s @@ -172,6 +172,11 @@ ProcessJoystick: ;; 812 ;; 7 3 ;; 654 + btst.b #0,joystick + beq .joystickNotPressed1 + jsr UsePickup +.joystickNotPressed1: + jsr ReadJoystick cmp.w #0,spriteR bne .skip @@ -181,23 +186,32 @@ ProcessJoystick: bne .skip cmp.w #0,spriteL bne .skip - + cmp.w #0,spriteAutoMoveEnabled + if 1 beq .autoMoveDisabled - ;; Set fast as default, will be overridden to correct speed move.w #PLAYER_FAST_PAUSE_PIXELS,playerPausePixels move.w #PLAYER_FAST_CHECK_MISS_PIXELS,playerMissPixels - + else + beq .autoMoveDisabled2 + move.w #PLAYER_FAST_PAUSE_PIXELS,playerPausePixels + move.w #PLAYER_FAST_CHECK_MISS_PIXELS,playerMissPixels +.autoMoveDisabled2: + endif + + bsr GetNextAutoMove cmp.w #1,d0 - beq .skip + beq .skip .autoMoveDisabled: + if 0 btst.b #0,joystick beq .joystickNotPressed jsr UsePickup .joystickNotPressed: + endif cmp.b #3,joystickpos bne .notRight diff --git a/028.bs/splash_usage.txt b/028.bs/splash_usage.txt new file mode 100644 index 0000000..1e4db8c --- /dev/null +++ b/028.bs/splash_usage.txt @@ -0,0 +1 @@ +BOB_SAVE_SIZE*2*4