level switching wip

This commit is contained in:
alpine9000
2016-05-13 13:53:02 +10:00
parent fe4d9688d5
commit 0cfdfdc88a
6 changed files with 150 additions and 119 deletions
+9 -7
View File
@@ -192,14 +192,14 @@ out/panelFade.s: assets/panel.pal ../tools/fade/out/fade
out/%_tileFade.s: out/%_tileFadeFrom.pal out/%_tileFadeTo.pal ../tools/fade/out/fade
../tools/fade/out/fade --steps=64 --colors=2 --from=out/$*_tileFadeFrom.pal --to=out/$*_tileFadeTo.pal --output=$*_tileFade > out/$*_tileFade.s
out/foreground-map.s: foreground.tmx
../tools/mapgen/out/mapgen --depth=3 --input=foreground.tmx
@mv foreground-map.s out
out/%_foreground-map.s: levels/%_foreground.tmx
../tools/mapgen/out/mapgen --depth=3 --input=levels/$*_foreground.tmx
@mv foreground-map.s out/$*_foreground-map.s
@rm items-map.s
@mv items-indexes.s out
@mv items-indexes.s out/$*_items-indexes.s
@rm foreground-indexes.s
@mv pathway-map.s out
@mv pathway-indexes.s out
@mv pathway-map.s out/$*_pathway-map.s
@mv pathway-indexes.s out/$*_pathway-indexes.s
out/background-map.s: background.tmx
@@ -222,7 +222,9 @@ out/chaching.raw: assets/chaching.wav
out/yay.raw: assets/yay.wav
sox -v 2.0 assets/yay.wav -c 1 -r 4000 -b 8 out/yay.raw
out/main.o: $(IMAGEDATA) out/background-map.s out/foreground-map.s Makefile link.script.x\
out/main.o: $(IMAGEDATA) \
out/levelA_foreground-map.s out/levelB_foreground-map.s \
out/background-map.s Makefile link.script.x\
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/panelFade.s out/jump.raw out/falling.raw out/chaching.raw out/whoosh.raw out/yay.raw
+61 -111
View File
@@ -86,6 +86,7 @@ Entry:
move.w #(DMAF_SPRITE|DMAF_BLITTER|DMAF_SETCLR|DMAF_COPPER|DMAF_RASTER|DMAF_MASTER),DMACON(a6)
jsr InitialiseItems
jsr InstallLevelA
Reset:
lea livesCounterText,a0
bsr DecrementCounter
@@ -95,9 +96,11 @@ Reset:
lea player1Text,a1
move.w #192,d0
jsr RenderCounter
move.l startForegroundMapPtr,foregroundMapPtr
move.l startPathwayMapPtr,pathwayMapPtr
move.l startForegroundMapPtr,foregroundMapPtr
move.l startPathwayMapPtr,pathwayMapPtr
move.w #0,pathwayRenderPending
move.w #0,pathwayClearPending
move.w #0,moving
@@ -117,8 +120,7 @@ Reset:
bne .notGameOver
bra GameOver
.notGameOver:
lea message,a1
move.w #128,d0
move.l startMessage,a1
jsr Message
@@ -300,14 +302,12 @@ Update:
GameOver:
lea gameOverMessage,a1
move.w #128,d0
jsr Message
jsr InstallPaletteA
jsr InstallLevelA
jsr WaitForJoystick
move.l #level1ForegroundMap,startForegroundMapPtr
move.l #level1PathwayMap,startPathwayMapPtr
move.l #'0004',livesCounterText
jsr InitialiseItems
bra Reset
@@ -319,25 +319,22 @@ LevelComplete:
jsr ResetPlayer
jsr SelectNextPlayerSprite
move.l nextPaletteInstaller,a0
move.l nextLevelInstaller,a0
cmp.l #0,(a0)
bne .dontResetPaletteInstaller
move.l #paletteInstallers,nextPaletteInstaller
move.l nextPaletteInstaller,a0
.dontResetPaletteInstaller:
bne .dontResetLevelInstaller
move.l #levelInstallers,nextLevelInstaller
move.l nextLevelInstaller,a0
.dontResetLevelInstaller:
move.l (a0),a1
jsr (a1)
add.l #4,a0
move.l a0,nextPaletteInstaller
move.l a0,nextLevelInstaller
lea levelCompleteMessage,a1
move.w #100,d0
move.l levelCompleteMessage,a1
jsr Message
jsr WaitForJoystick
move.l #level1ForegroundMap,startForegroundMapPtr
move.l #level1PathwayMap,startPathwayMapPtr
move.l #'0004',livesCounterText
jsr InitialiseItems
bra Reset
@@ -876,6 +873,15 @@ Message:
;; d0 - xpos
;; d1 - ypos
move.w #SCREEN_WIDTH/2,d0
move.l a1,a2
.loop:
cmp.b #0,(a2)+
beq .lengthComplete
sub.w #4,d0
bra .loop
.lengthComplete:
move.w d0,d1
move.w #(32*4)<<6|(8),d0
lea mpanelOrig,a0
@@ -955,21 +961,13 @@ player2Text:
dc.b "P2"
dc.b 0
align 4
message:
dc.b "LETS PLAY!"
dc.b 0
align 4
gameOverMessage:
dc.b "GAME OVER"
dc.b 0
align 4
levelCompleteMessage:
dc.b "LEVEL COMPLETE!"
dc.b 0
align 4
skippedFramesCounterText:
dc.b "0000"
@@ -1413,19 +1411,9 @@ InstallFlagGreyPalette:
rts
InstallPaletteA:
move.l #paletteA_playAreaPalette,playAreaPalette
move.l #paletteA_playareaFade,playareaFade
move.l #paletteA_flagsFade,flagsFade
move.l #paletteA_tileFade,tileFade
rts
Level A,"LEVEL 1"
Level B,"LEVEL 2"
InstallPaletteB:
move.l #paletteB_playAreaPalette,playAreaPalette
move.l #paletteB_playareaFade,playareaFade
move.l #paletteB_flagsFade,flagsFade
move.l #paletteB_tileFade,tileFade
rts
foregroundOnscreen:
dc.l foregroundBitplanes1
@@ -1438,38 +1426,11 @@ panel:
mpanel:
incbin "out/mpanel.bin"
mpanelOrig:
incbin "out/mpanelOrig.bin"
level1ForegroundMap:
include "out/foreground-map.s"
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
level1PathwayMap:
include "out/pathway-map.s"
itemsMap:
include "out/items-indexes.s"
incbin "out/mpanelOrig.bin"
itemsMapOffset:
dc.l itemsMap-level1ForegroundMap
foregroundMapPtr:
dc.l 0
pathwayMapPtr:
dc.l 0
startForegroundMapPtr:
dc.l level1ForegroundMap
startPathwayMapPtr:
dc.l level1PathwayMap
dc.l levelAItemsMap-levelAForegroundMap
foregroundScrollPixels:
dc.l FOREGROUND_SCROLL_PIXELS
foregroundScrollX:
dc.l 0
dc.l FOREGROUND_SCROLL_PIXELS
frameCount:
dc.l 0
verticalBlankCount:
@@ -1478,18 +1439,8 @@ movingCounter:
dc.w 0
moving:
dc.w 0
foregroundPlayerTileAddress:
dc.l 0
pathwayRenderPending:
dc.w 0
pathwayPlayerTileAddress:
dc.l 0
pathwayClearPending:
dc.w 0
pathwayFadeCount:
dc.w 0
tileFadePtr:
dc.l 0
playareaFadePtr:
@@ -1583,32 +1534,6 @@ deAnimIndexPattern:
panelGreyPalette:
include "out/panel-grey-table.s"
paletteA_playAreaPalette:
include "out/paletteA_foreground-palette-table.s"
include "out/background-palette-table.s"
paletteA_playareaFade:
include "out/paletteA_playarea_fade.s"
paletteA_flagsFade:
include "out/paletteA_flags_fade.s"
paletteA_tileFade:
include "out/paletteA_tileFade.s"
paletteB_playAreaPalette:
include "out/paletteB_foreground-palette-table.s"
include "out/background-palette-table.s"
paletteB_playareaFade:
include "out/paletteB_playarea_fade.s"
paletteB_flagsFade:
include "out/paletteB_flags_fade.s"
paletteB_tileFade:
include "out/paletteB_tileFade.s"
playAreaPalette:
dc.l paletteA_playAreaPalette
playareaFade:
@@ -1618,13 +1543,13 @@ flagsFade:
tileFade:
dc.l paletteA_tileFade
paletteInstallers:
dc.l InstallPaletteA
dc.l InstallPaletteB
levelInstallers:
dc.l InstallLevelA
dc.l InstallLevelB
dc.l 0
nextPaletteInstaller:
dc.l paletteInstallers+4
nextLevelInstaller:
dc.l levelInstallers+4
panelFade:
include "out/panelFade.s"
@@ -1636,7 +1561,32 @@ foregroundBitplanes1:
endif
.endSplash
ds.b (IMAGESIZE*2)-(.endSplash-foregroundBitplanes1)
section .bss
startMessage:
dc.l 0
levelCompleteMessage:
dc.l 0
foregroundMapPtr:
dc.l 0
pathwayMapPtr:
dc.l 0
startForegroundMapPtr:
dc.l 0
startPathwayMapPtr:
dc.l 0
foregroundPlayerTileAddress:
dc.l 0
pathwayRenderPending:
dc.w 0
pathwayPlayerTileAddress:
dc.l 0
pathwayClearPending:
dc.w 0
foregroundScrollX:
dc.l 0
section .bss
startUserstack:
ds.b $1000 ; size of stack
userstack:
+2 -1
View File
@@ -6,4 +6,5 @@
include "hardware/intbits.i"
include "hardware/blit.i"
include "constants.i"
include "macros.i"
include "macros.i"
include "level.i"
+54
View File
@@ -0,0 +1,54 @@
Level: macro
InstallLevel\1:
move.l #level\1StartMessage,startMessage
move.l #level\1CompleteMessage,levelCompleteMessage
move.l #level\1ForegroundMap,startForegroundMapPtr
move.l #level\1PathwayMap,startPathwayMapPtr
move.l #level\1ForegroundMap,foregroundMapPtr
move.l #level\1PathwayMap,pathwayMapPtr
move.l #palette\1_playAreaPalette,playAreaPalette
move.l #palette\1_playareaFade,playareaFade
move.l #palette\1_flagsFade,flagsFade
move.l #palette\1_tileFade,tileFade
rts
level\1ForegroundMap:
include "out/level\1_foreground-map.s"
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
dc.w $FFFF
level\1PathwayMap:
include "out/level\1_pathway-map.s"
level\1ItemsMap:
include "out/level\1_items-indexes.s"
level\1StartMessage:
dc.b \2
dc.b 0
align 4
level\1CompleteMessage:
dc.b \2
dc.b " COMPLETE!"
dc.b 0
align 4
palette\1_playAreaPalette:
include "out/palette\1_foreground-palette-table.s"
include "out/background-palette-table.s"
palette\1_playareaFade:
include "out/palette\1_playarea_fade.s"
palette\1_flagsFade:
include "out/palette\1_flags_fade.s"
palette\1_tileFade:
include "out/palette\1_tileFade.s"
endm
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="100" height="8" tilewidth="16" tileheight="16" nextobjectid="1">
<tileset firstgid="1" name="foreground" tilewidth="16" tileheight="16" tilecount="320" columns="20">
<image source="assets/assets.png" width="320" height="256"/>
</tileset>
<tileset firstgid="321" name="items" tilewidth="16" tileheight="16" tilecount="320" columns="20">
<image source="assets/items.png" trans="000000" width="320" height="256"/>
</tileset>
<layer name="foreground" width="100" height="8">
<data encoding="base64" compression="zlib">
eJxjZ2BgsGLEjtlH5eguZwekmYBYDAtNidxWPHKVNLBvqMtZQuNFC4c8iB5scrvJ1FdPZ33k+AEWH5TE9Wg6p03+wJfulpOZDuidB8iVI9d/1HYnNfLHqBz1yo2hWH/QIp0PFjlYfEgz4G6D0UJuMLYxB5McAAccW5U=
</data>
</layer>
<layer name="pathway" width="100" height="8">
<data encoding="base64" compression="zlib">
eJztlD0OwjAMheOhU0+QqSdg4v4HYOoJmDgBEyu10FPdh5M0bRFI5JOiSGli+/mnITT+hbOEcJLl3tjHOK37wTZ7mW1rnR4Vb9fEcglzD3wS6+doDYDz38krf9b33j7vxN9tDPDDsXMtvVh6OmP7FujycnTNfGM/OR/eO/WLGo7OHWiL07qFZW+hJoze2zI7sMU7iPJ+18Zid2Bnjb9Z/TYPXky5eOHDi5NzlkPrPEhaS4le0m+21KQ0Hxb0qPWnuodEnaCVbeiZ3XmucObN3Na8Kbk5Tmkp4Wn07K79Z3McNb31DWrzZvMRf1hXo8wTZUo3PA==
</data>
</layer>
<layer name="items" width="100" height="8">
<data encoding="base64" compression="zlib">
eJztVVsOgjAQpNfxFooooqIBq/e/CZDQpJbusw3hg/mEmdnZ2Y8WxY4t4WTkmiNT0xnZDMdrFJkoz7WQY97UL9Zxaf65Gn/foyc87ok7lRk60XpwdNT+ruNY1x+z5DreGfB9AN8hfogbwgvzSBDLleLH0Wq7sOP/au669rhv5B4WuSOEisG1HofDfzJ2S4FEfxB6T/uF+ak+a+Qm4b04uBAajedXoIHmt5nfGsiP2j8G6Tsh7fCK8DX3WBMvIt9v4/l38DEAYj8UWQ==
</data>
</layer>
</map>