Skip to main content
GameDev.net gamedev.net

PRO Tired of ads? Read GameDev.net ad-free and help keep the community independent with GameDev Pro — $3/month.

A C64 Game - Step 72

A C64 Game - Step 72

Endurion
Endurion
New Old Things · · 1 min read
3,104 0

A rather simple step, remember the story page? Now the next chapter text has been put in place, as well as a cool off text after beating the first boss.




Analog to the ShowChapter routine we add a ShowChapterEnd routine.

!zone ShowChapterEnd
ShowChapterEnd
          ;clear screen
          lda #32
          ldy #1
          jsr ClearScreen
          jsr ResetObjects

          ldy CHAPTER
          lda CHAPTER_END_PAGES_LO,y
          sta ZEROPAGE_POINTER_1
          lda CHAPTER_END_PAGES_HI,y
          sta ZEROPAGE_POINTER_1 + 1

          lda #0
          sta VIC_SPRITE_ENABLE
          sta VIC_SPRITE_X_EXTEND
          sta SPRITE_POS_X_EXTEND

          lda #1
          sta PARAM1
          lda #1
          sta PARAM2
          jsr DisplayText
          jmp StoryLoop

The StoryLoop routine is a part of the original ShowChapter routine doing the car movement and wait for button part. We simply reuse the code.


At the .GotoNextLevel label we add this to actually call the new code.

          lda LEVEL_NR
          cmp #10
          beq .ShowStory
          cmp #21
          beq .ShowStory
          jmp .NoStory

.ShowStory
          jsr ShowChapterEnd
          inc CHAPTER
          jsr ShowChapter
          pla
          pla

          lda #$0b
          sta VIC_CONTROL_MODE
          jsr StartLevel

          inc LEVEL_NR
          jsr BuildScreen

          jsr CopyLevelToBackBuffer
          jsr DisplayGetReady

          lda #$1b
          sta VIC_CONTROL_MODE
          jmp DisplayScoreDisplay

.NoStory

Have fun!

step72.zip

Previous Step Next Step

Discussion

Loading comments...