demand load levels
This commit is contained in:
parent
08c25629c9
commit
cd8194cf01
|
@ -341,6 +341,11 @@ InitialiseNewGame:
|
|||
|
||||
GameOver:
|
||||
sub.l #4,nextLevelInstaller
|
||||
cmp.l #tutorialLevelInstallers,nextLevelInstaller
|
||||
blt .notTutorial
|
||||
move.l #levelInstallers,nextLevelInstaller
|
||||
move.l #"0001",levelCounter
|
||||
.notTutorial:
|
||||
lea gameOverMessage,a1
|
||||
jsr Message
|
||||
jsr WaitForJoystick
|
||||
|
@ -381,9 +386,9 @@ LevelComplete:
|
|||
jsr HidePlayer
|
||||
jsr SelectNextPlayerSprite
|
||||
move.l levelCompleteMessage,a1
|
||||
jsr Message
|
||||
jsr Message
|
||||
jsr WaitForJoystick
|
||||
bsr InstallNextLevel
|
||||
jsr WaitForJoystick
|
||||
jsr RestorePanel
|
||||
jsr ResetItems
|
||||
bra Reset
|
||||
|
@ -872,33 +877,37 @@ BlitCountdown:
|
|||
|
||||
include "os.i"
|
||||
|
||||
;; variable prefix
|
||||
;; level name
|
||||
;; frames before pathway starts fading
|
||||
;; pathway fading steps per frame (must be a factor of 64)
|
||||
;; frames player pauses between each jump
|
||||
;; frames after jump before player miss is checked
|
||||
;; level complete name
|
||||
;; palette
|
||||
Level 91,"STAY ON THE PATHWAYS!",100,2*2,12,10,"WELL DONE!",A,21,0
|
||||
Level 92,"COLLECT COINS!",100,2*2,12,10,"NEXT COLLECT AN ARROW...",A,21,0
|
||||
Level 93,"PRESS FIRE TO ACTIVATE THE ARROW",100,2*2,12,10,"WHOOHOO",A,21,0
|
||||
Level 94,"WATCH OUT FOR BEES!",100,2*2,12,10,"LOL - BEES",A,21,0
|
||||
Level 95,"REMEMBER THE PATHWAYS BEFORE THEY FADE!",75,2*2,12,10,"CLOCKS WILL STOP THE BOARD MOVING",A,21,0
|
||||
Level 96,"PRESS FIRE TO ACTIVATE THE CLOCK",200,2*2,12,10,"EYES WILL UNHIDE THE BOARD",A,21,0
|
||||
Level 97,"PRESS FIRE TO ACTIVATE THE EYE",100,2*2,12,10,"LEVEL 7",A,21,0
|
||||
|
||||
Level 1,"LET'S TRY A LONGER LEVEL!",75,2*2,12,10,"PHEW!, LEVEL 1 COMPLETE!",B,99,2
|
||||
Level 2,"HAVING FUN YET?",70,2*2,12,10,"LEVEL 2",B,98,2
|
||||
;; \1 variable prefix
|
||||
;; \2 level name
|
||||
;; \3 frames before pathway starts fading
|
||||
;; \4 pathway fading steps per frame (must be a factor of 64)
|
||||
;; \5 frames player pauses between each jump
|
||||
;; \6 frames after jump before player miss is checked
|
||||
;; \7 level complete name
|
||||
;; \8 palette
|
||||
;; \9 num columns
|
||||
;; \a music module index
|
||||
;; \b 0 = load from disk, 1 = resident
|
||||
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 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
|
||||
|
||||
Level 3,"GIDDY UP!",50,4*2,8,6,"GETTING FASTER!, LEVEL 3 COMPLETE!",C,98,2
|
||||
Level 4,"LETS GO?",25,4*2,8,6,"LEVEL 4 COMPLETE",C,98,2
|
||||
|
||||
Level 5,"WHAT? WHAT?!",50,4*2,8,6,"NICE! LEVEL 5 COMPLETE!",A,98,1
|
||||
Level 1,"LET'S TRY A LONGER LEVEL!",75,2*2,12,10,"PHEW!, LEVEL 1 COMPLETE!",B,99,0,1
|
||||
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
|
||||
|
||||
Palette A
|
||||
Palette B
|
||||
Palette C
|
||||
|
||||
levelData:
|
||||
ds.b (level2End-level2Start)+1024
|
||||
|
||||
include "copper.i"
|
||||
|
||||
|
@ -1117,5 +1126,22 @@ 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
|
|
@ -1,12 +1,8 @@
|
|||
Level: macro
|
||||
InstallLevel\1:
|
||||
movem.l d0/a0-a1,-(sp)
|
||||
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 #level\1PathwayMap+8,pathwayLastSafeTileAddress
|
||||
move.l #palette\8_playAreaPalette,playAreaPalette
|
||||
move.l #palette\8_playareaFade,playareaFade
|
||||
move.l #palette\8_flagsFade,flagsFade
|
||||
|
@ -17,14 +13,52 @@ InstallLevel\1:
|
|||
move.w #\6,playerLevelMissPixels
|
||||
move.l #\9,playerXColumnLastSafe
|
||||
move.l #\9,playerXColumn
|
||||
move.w #\a,d0
|
||||
|
||||
if \b=0
|
||||
lea levelData,a0
|
||||
lea level\1Start,a1
|
||||
move.l #level\1End-level\1Start,d0
|
||||
jsr LoadDiskData
|
||||
move.l #levelData+(level\1ForegroundMap-level\1Start),startForegroundMapPtr
|
||||
move.l #levelData+(level\1PathwayMap-level\1Start),startPathwayMapPtr
|
||||
move.l #levelData+(level\1ForegroundMap-level\1Start),foregroundMapPtr
|
||||
move.l #levelData+(level\1PathwayMap-level\1Start),pathwayMapPtr
|
||||
move.l #levelData+(level\1PathwayMap-level\1Start)+8,pathwayLastSafeTileAddress
|
||||
move.l #levelData+(level\1ForegroundMapEnd-level\1Start),endForegroundMapPtr
|
||||
move.l #levelData+(level\1ItemsMapEnd-level\1Start),itemsMapEndPtr
|
||||
move.l #level\1ItemsMap-level\1ForegroundMap,itemsMapOffset
|
||||
else
|
||||
move.l #level\1ForegroundMap,startForegroundMapPtr
|
||||
move.l #level\1PathwayMap,startPathwayMapPtr
|
||||
move.l #level\1ForegroundMap,foregroundMapPtr
|
||||
move.l #level\1PathwayMap,pathwayMapPtr
|
||||
move.l #level\1PathwayMap+8,pathwayLastSafeTileAddress
|
||||
move.l #level\1ForegroundMapEnd,endForegroundMapPtr
|
||||
move.l #level\1ItemsMapEnd,itemsMapEndPtr
|
||||
move.l #level\1ItemsMap-level\1ForegroundMap,itemsMapOffset
|
||||
endif
|
||||
move.w #\a,d0
|
||||
jsr StartMusic
|
||||
movem.l (sp)+,d0/a0-a1
|
||||
rts
|
||||
|
||||
align 4
|
||||
level\1StartMessage:
|
||||
dc.b \2
|
||||
dc.b 0
|
||||
align 4
|
||||
|
||||
level\1CompleteMessage:
|
||||
dc.b \7
|
||||
dc.b 0
|
||||
align 4
|
||||
|
||||
|
||||
if \b=0
|
||||
section .noload
|
||||
cnop 0,512
|
||||
endif
|
||||
level\1Start:
|
||||
level\1ForegroundMap:
|
||||
include "out/level\1_foreground-map.s"
|
||||
level\1ForegroundMapEnd:
|
||||
|
@ -41,18 +75,11 @@ level\1PathwayMap:
|
|||
level\1ItemsMap:
|
||||
include "out/level\1_items-indexes.s"
|
||||
level\1ItemsMapEnd:
|
||||
|
||||
level\1StartMessage:
|
||||
dc.b \2
|
||||
dc.b 0
|
||||
align 4
|
||||
|
||||
level\1CompleteMessage:
|
||||
dc.b \7
|
||||
dc.b 0
|
||||
align 4
|
||||
|
||||
|
||||
cnop 0,512
|
||||
level\1End:
|
||||
if \b=0
|
||||
section CODE
|
||||
endif
|
||||
endm
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue