Game Over "animation" - TEST ONLY!

This commit is contained in:
Pecusx
2022-07-18 12:44:33 +02:00
parent f05af218f4
commit 19200be905
6 changed files with 68 additions and 2 deletions
+5 -1
View File
@@ -36,7 +36,11 @@ TanksWeaponsTableL
.by <TanksWeapon1,<TanksWeapon2,<TanksWeapon3,<TanksWeapon4,<TanksWeapon5,<TanksWeapon6 .by <TanksWeapon1,<TanksWeapon2,<TanksWeapon3,<TanksWeapon4,<TanksWeapon5,<TanksWeapon6
TanksWeaponsTableH TanksWeaponsTableH
.by >TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6 .by >TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6
;--------------
XtankOffsetGO_L
.by 6,56,106,156,206,0
XtankOffsetGO_H
.by 0,0,0,0,0,1
;-----4x4 texts----- ;-----4x4 texts-----
LineTop LineTop
dta d"(%%%%%%%%%%%%)", $ff dta d"(%%%%%%%%%%%%)", $ff
+10
View File
@@ -93,6 +93,16 @@ dl ; MAIN game display list
.byte $41 .byte $41
.word dl .word dl
;----------------------------------------------- ;-----------------------------------------------
GameOverDL
.byte $70,$70,$70,$70,$70,$70,$70,$20
.byte $4f ; 1 line
.word display+(40*32)
:31 .byte $0f ; 31 lines
.byte $70
.byte $41
.word GameOverDL
;-----------------------------------------------
;Screen displays go first to avoid crossing 4kb barrier ;Screen displays go first to avoid crossing 4kb barrier
;----------------------------------------------- ;-----------------------------------------------
OptionsScreen OptionsScreen
+1 -1
View File
@@ -462,7 +462,7 @@ endcircleloop
.endp .endp
;-------------------------------------------------- ;--------------------------------------------------
.proc clearscreen .proc ClearScreen
;-------------------------------------------------- ;--------------------------------------------------
lda #$ff lda #$ff
+2
View File
@@ -128,6 +128,8 @@ START
; Startup sequence ; Startup sequence
jsr Initialize jsr Initialize
jsr GameOverScreen ; only for test !!!
jsr Options ;startup screen jsr Options ;startup screen
lda escFlag lda escFlag
BIN
View File
Binary file not shown.
+50
View File
@@ -1828,6 +1828,56 @@ FinishResultDisplay
jmp TypeLine4x4 ; jsr:rts jmp TypeLine4x4 ; jsr:rts
.endp .endp
;--------------------------------------------------
.proc GameOverScreen
;--------------------------------------------------
jsr ClearScreen
jsr ClearPMmemory
mwa #GameOverDL dlptrs
lda #%00111110 ; normal screen width, DL on, P/M on
sta dmactls
jsr ColorsOfSprites
VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs
; initial tank positions randomization
ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1
@
jsr RandomizeTankPos
dex
bpl @-
MainTanksFloatingLoop
; main tanks floating loop
ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1
AllTanksFloatingDown
stx TankNr
inc Ytankstable,x
lda Ytankstable,x
; cmp #32 ; tank over screen - not visible
cmp #80 ; tank under screen - new tank randomize
bne TankOnScreen
jsr RandomizeTankPos
TankOnScreen
jsr DrawTankNr
jsr DrawTankParachute
ldx TankNr
dex
bpl AllTanksFloatingDown
jmp MainTanksFloatingLoop ; neverending loop
rts
RandomizeTankPos
randomize 8 32
sta Ytankstable,x
randomize 0 180
sta AngleTable,x
randomize 0 (49-8)
and #%11111110 ; correction for PMG
clc
adc XtankOffsetGO_L,x
sta XtankstableL,x
lda XtankOffsetGO_H,x
adc #0
sta XtankstableH,x
rts
.endp
;------------------------------------------------- ;-------------------------------------------------
.proc DisplayStatus .proc DisplayStatus
;------------------------------------------------- ;-------------------------------------------------