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 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 ../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 out/%_foreground-map.s: levels/%_foreground.tmx
../tools/mapgen/out/mapgen --depth=3 --input=foreground.tmx ../tools/mapgen/out/mapgen --depth=3 --input=levels/$*_foreground.tmx
@mv foreground-map.s out @mv foreground-map.s out/$*_foreground-map.s
@rm items-map.s @rm items-map.s
@mv items-indexes.s out @mv items-indexes.s out/$*_items-indexes.s
@rm foreground-indexes.s @rm foreground-indexes.s
@mv pathway-map.s out @mv pathway-map.s out/$*_pathway-map.s
@mv pathway-indexes.s out @mv pathway-indexes.s out/$*_pathway-indexes.s
out/background-map.s: background.tmx out/background-map.s: background.tmx
@@ -222,7 +222,9 @@ out/chaching.raw: assets/chaching.wav
out/yay.raw: assets/yay.wav out/yay.raw: assets/yay.wav
sox -v 2.0 assets/yay.wav -c 1 -r 4000 -b 8 out/yay.raw 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/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/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 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) move.w #(DMAF_SPRITE|DMAF_BLITTER|DMAF_SETCLR|DMAF_COPPER|DMAF_RASTER|DMAF_MASTER),DMACON(a6)
jsr InitialiseItems jsr InitialiseItems
jsr InstallLevelA
Reset: Reset:
lea livesCounterText,a0 lea livesCounterText,a0
bsr DecrementCounter bsr DecrementCounter
@@ -95,9 +96,11 @@ Reset:
lea player1Text,a1 lea player1Text,a1
move.w #192,d0 move.w #192,d0
jsr RenderCounter 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,pathwayRenderPending
move.w #0,pathwayClearPending move.w #0,pathwayClearPending
move.w #0,moving move.w #0,moving
@@ -117,8 +120,7 @@ Reset:
bne .notGameOver bne .notGameOver
bra GameOver bra GameOver
.notGameOver: .notGameOver:
lea message,a1 move.l startMessage,a1
move.w #128,d0
jsr Message jsr Message
@@ -300,14 +302,12 @@ Update:
GameOver: GameOver:
lea gameOverMessage,a1 lea gameOverMessage,a1
move.w #128,d0
jsr Message jsr Message
jsr InstallPaletteA jsr InstallLevelA
jsr WaitForJoystick jsr WaitForJoystick
move.l #level1ForegroundMap,startForegroundMapPtr
move.l #level1PathwayMap,startPathwayMapPtr
move.l #'0004',livesCounterText move.l #'0004',livesCounterText
jsr InitialiseItems jsr InitialiseItems
bra Reset bra Reset
@@ -319,25 +319,22 @@ LevelComplete:
jsr ResetPlayer jsr ResetPlayer
jsr SelectNextPlayerSprite jsr SelectNextPlayerSprite
move.l nextPaletteInstaller,a0 move.l nextLevelInstaller,a0
cmp.l #0,(a0) cmp.l #0,(a0)
bne .dontResetPaletteInstaller bne .dontResetLevelInstaller
move.l #paletteInstallers,nextPaletteInstaller move.l #levelInstallers,nextLevelInstaller
move.l nextPaletteInstaller,a0 move.l nextLevelInstaller,a0
.dontResetPaletteInstaller: .dontResetLevelInstaller:
move.l (a0),a1 move.l (a0),a1
jsr (a1) jsr (a1)
add.l #4,a0 add.l #4,a0
move.l a0,nextPaletteInstaller move.l a0,nextLevelInstaller
lea levelCompleteMessage,a1 move.l levelCompleteMessage,a1
move.w #100,d0
jsr Message jsr Message
jsr WaitForJoystick jsr WaitForJoystick
move.l #level1ForegroundMap,startForegroundMapPtr
move.l #level1PathwayMap,startPathwayMapPtr
move.l #'0004',livesCounterText move.l #'0004',livesCounterText
jsr InitialiseItems jsr InitialiseItems
bra Reset bra Reset
@@ -876,6 +873,15 @@ Message:
;; d0 - xpos ;; d0 - xpos
;; d1 - ypos ;; 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 d0,d1
move.w #(32*4)<<6|(8),d0 move.w #(32*4)<<6|(8),d0
lea mpanelOrig,a0 lea mpanelOrig,a0
@@ -955,21 +961,13 @@ player2Text:
dc.b "P2" dc.b "P2"
dc.b 0 dc.b 0
align 4 align 4
message:
dc.b "LETS PLAY!"
dc.b 0
align 4
gameOverMessage: gameOverMessage:
dc.b "GAME OVER" dc.b "GAME OVER"
dc.b 0 dc.b 0
align 4 align 4
levelCompleteMessage:
dc.b "LEVEL COMPLETE!"
dc.b 0
align 4
skippedFramesCounterText: skippedFramesCounterText:
dc.b "0000" dc.b "0000"
@@ -1413,19 +1411,9 @@ InstallFlagGreyPalette:
rts rts
InstallPaletteA: Level A,"LEVEL 1"
move.l #paletteA_playAreaPalette,playAreaPalette Level B,"LEVEL 2"
move.l #paletteA_playareaFade,playareaFade
move.l #paletteA_flagsFade,flagsFade
move.l #paletteA_tileFade,tileFade
rts
InstallPaletteB:
move.l #paletteB_playAreaPalette,playAreaPalette
move.l #paletteB_playareaFade,playareaFade
move.l #paletteB_flagsFade,flagsFade
move.l #paletteB_tileFade,tileFade
rts
foregroundOnscreen: foregroundOnscreen:
dc.l foregroundBitplanes1 dc.l foregroundBitplanes1
@@ -1438,38 +1426,11 @@ panel:
mpanel: mpanel:
incbin "out/mpanel.bin" incbin "out/mpanel.bin"
mpanelOrig: mpanelOrig:
incbin "out/mpanelOrig.bin" 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"
itemsMapOffset: itemsMapOffset:
dc.l itemsMap-level1ForegroundMap dc.l levelAItemsMap-levelAForegroundMap
foregroundMapPtr:
dc.l 0
pathwayMapPtr:
dc.l 0
startForegroundMapPtr:
dc.l level1ForegroundMap
startPathwayMapPtr:
dc.l level1PathwayMap
foregroundScrollPixels: foregroundScrollPixels:
dc.l FOREGROUND_SCROLL_PIXELS dc.l FOREGROUND_SCROLL_PIXELS
foregroundScrollX:
dc.l 0
frameCount: frameCount:
dc.l 0 dc.l 0
verticalBlankCount: verticalBlankCount:
@@ -1478,18 +1439,8 @@ movingCounter:
dc.w 0 dc.w 0
moving: moving:
dc.w 0 dc.w 0
foregroundPlayerTileAddress:
dc.l 0
pathwayRenderPending:
dc.w 0
pathwayPlayerTileAddress:
dc.l 0
pathwayClearPending:
dc.w 0
pathwayFadeCount: pathwayFadeCount:
dc.w 0 dc.w 0
tileFadePtr: tileFadePtr:
dc.l 0 dc.l 0
playareaFadePtr: playareaFadePtr:
@@ -1583,32 +1534,6 @@ deAnimIndexPattern:
panelGreyPalette: panelGreyPalette:
include "out/panel-grey-table.s" 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: playAreaPalette:
dc.l paletteA_playAreaPalette dc.l paletteA_playAreaPalette
playareaFade: playareaFade:
@@ -1618,13 +1543,13 @@ flagsFade:
tileFade: tileFade:
dc.l paletteA_tileFade dc.l paletteA_tileFade
paletteInstallers: levelInstallers:
dc.l InstallPaletteA dc.l InstallLevelA
dc.l InstallPaletteB dc.l InstallLevelB
dc.l 0 dc.l 0
nextPaletteInstaller: nextLevelInstaller:
dc.l paletteInstallers+4 dc.l levelInstallers+4
panelFade: panelFade:
include "out/panelFade.s" include "out/panelFade.s"
@@ -1636,7 +1561,32 @@ foregroundBitplanes1:
endif endif
.endSplash .endSplash
ds.b (IMAGESIZE*2)-(.endSplash-foregroundBitplanes1) 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: startUserstack:
ds.b $1000 ; size of stack ds.b $1000 ; size of stack
userstack: userstack:
+2 -1
View File
@@ -6,4 +6,5 @@
include "hardware/intbits.i" include "hardware/intbits.i"
include "hardware/blit.i" include "hardware/blit.i"
include "constants.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>