Added victory sequence
This commit is contained in:
parent
b10eaa850f
commit
f532287345
Binary file not shown.
After Width: | Height: | Size: 174 B |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 176 B |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 179 B |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 180 B |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 181 B |
Binary file not shown.
Binary file not shown.
34
animation.s
34
animation.s
|
@ -154,6 +154,16 @@ renderAnimationLoop:
|
||||||
|
|
||||||
jsr delayMedium
|
jsr delayMedium
|
||||||
|
|
||||||
|
; On last frame, freeze if needed
|
||||||
|
lda renderAnimationFreezeFrame
|
||||||
|
beq renderAnimationContinue
|
||||||
|
inx
|
||||||
|
cpx PARAML0
|
||||||
|
beq renderAnimationDone
|
||||||
|
dex
|
||||||
|
|
||||||
|
renderAnimationContinue:
|
||||||
|
|
||||||
; Restore background
|
; Restore background
|
||||||
phx
|
phx
|
||||||
ldy SCRATCHL2
|
ldy SCRATCHL2
|
||||||
|
@ -168,12 +178,36 @@ renderAnimationLoop:
|
||||||
bne renderAnimationLoop
|
bne renderAnimationLoop
|
||||||
|
|
||||||
renderAnimationDone:
|
renderAnimationDone:
|
||||||
|
stz renderAnimationFreezeFrame
|
||||||
rts
|
rts
|
||||||
|
|
||||||
renderAnimationSkip:
|
renderAnimationSkip:
|
||||||
plx
|
plx
|
||||||
bra renderAnimationDone
|
bra renderAnimationDone
|
||||||
|
|
||||||
|
renderAnimationFreezeFrame:
|
||||||
|
.word 0
|
||||||
|
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
; renderAnimationFreeze
|
||||||
|
;
|
||||||
|
; Plays an entire animation statelessly, and freezes on the last frame
|
||||||
|
;
|
||||||
|
; Y = Base sprite index
|
||||||
|
; X = Number of frames
|
||||||
|
; A = Animation size (use constants above)
|
||||||
|
; PARAML0 = Pointer to X,Y (16 bits each, Y is bottom relative)
|
||||||
|
;
|
||||||
|
; Trashes A,X,Y,PARAML0,PARAML1,PARAML2,SCRATCHL2
|
||||||
|
;
|
||||||
|
renderAnimationFreeze:
|
||||||
|
pha
|
||||||
|
lda #1
|
||||||
|
sta renderAnimationFreezeFrame
|
||||||
|
pla
|
||||||
|
jmp renderAnimation
|
||||||
|
|
||||||
|
|
||||||
; Jump tables for various animation sizes
|
; Jump tables for various animation sizes
|
||||||
protectionRoutines:
|
protectionRoutines:
|
||||||
|
|
|
@ -33,6 +33,7 @@ beginGameplay:
|
||||||
; Generate, compile, and clip terrain
|
; Generate, compile, and clip terrain
|
||||||
stz mapScrollPos
|
stz mapScrollPos
|
||||||
stz leftScreenEdge
|
stz leftScreenEdge
|
||||||
|
stz mapScrollRequested
|
||||||
lda #160-GAMEOBJECTWIDTH/4-2
|
lda #160-GAMEOBJECTWIDTH/4-2
|
||||||
sta rightScreenEdge
|
sta rightScreenEdge
|
||||||
jsr generateTerrain
|
jsr generateTerrain
|
||||||
|
@ -331,7 +332,7 @@ endTurnWrap:
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; endGame
|
; endGame
|
||||||
;
|
;
|
||||||
; Handles someone winning
|
; Handles someone winning. Assumes "someone" is current player
|
||||||
;
|
;
|
||||||
endGame:
|
endGame:
|
||||||
SAVE_AXY
|
SAVE_AXY
|
||||||
|
@ -351,6 +352,25 @@ endGameRender:
|
||||||
lda #2
|
lda #2
|
||||||
jsl renderStringFar
|
jsl renderStringFar
|
||||||
|
|
||||||
|
; Play pee animation under loser (non-current player)
|
||||||
|
lda currentPlayer
|
||||||
|
eor #1
|
||||||
|
tay
|
||||||
|
PLAYERPTR_Y
|
||||||
|
lda playerData+GO_POSX,y
|
||||||
|
sta endGamePeePos
|
||||||
|
lda playerData+GO_POSY,y
|
||||||
|
dec
|
||||||
|
dec
|
||||||
|
sta endGamePeePos+2
|
||||||
|
lda #endGamePeePos
|
||||||
|
sta PARAML0
|
||||||
|
ldy #40
|
||||||
|
ldx #5
|
||||||
|
lda #ANIMATION_SIZE_16x16
|
||||||
|
jsr renderAnimationFreeze
|
||||||
|
|
||||||
|
; Wait for keypress
|
||||||
jsr kbdWaitForAnyKey
|
jsr kbdWaitForAnyKey
|
||||||
lda #1
|
lda #1
|
||||||
sta quitRequested
|
sta quitRequested
|
||||||
|
@ -358,6 +378,8 @@ endGameRender:
|
||||||
RESTORE_AXY
|
RESTORE_AXY
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
endGamePeePos:
|
||||||
|
.word 0,0
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; scrollMap
|
; scrollMap
|
||||||
|
|
1
player.s
1
player.s
|
@ -134,7 +134,6 @@ playerCreateInit:
|
||||||
sta playerData+PD_TREATS,y
|
sta playerData+PD_TREATS,y
|
||||||
lda #0
|
lda #0
|
||||||
sta playerData+PD_ANGER,y
|
sta playerData+PD_ANGER,y
|
||||||
lda #0
|
|
||||||
sta playerData+PD_CURRWEAPON,y
|
sta playerData+PD_CURRWEAPON,y
|
||||||
lda #1
|
lda #1
|
||||||
sta playersDirty
|
sta playersDirty
|
||||||
|
|
14
spritebank.s
14
spritebank.s
|
@ -2,17 +2,18 @@
|
||||||
|
|
||||||
|
|
||||||
DrawSpriteBank :
|
DrawSpriteBank :
|
||||||
ASL ; A=Sprite Number ($0000-$0027)
|
ASL ; A=Sprite Number ($0000-$002C)
|
||||||
TAX ; Y=Target Screen Address ($2000-$9D00)
|
TAX ; Y=Target Screen Address ($2000-$9D00)
|
||||||
LDA SpriteBankNum,X ; Relative Sprite Number Table
|
LDA SpriteBankNum,X ; Relative Sprite Number Table
|
||||||
JMP (SpriteBankBank,X) ; Bank Number Table
|
JMP (SpriteBankBank,X) ; Bank Number Table
|
||||||
|
|
||||||
SpriteBankNum :
|
SpriteBankNum :
|
||||||
.dbyt $0C00,$0B00,$2000,$1800,$1A00,$1F00,$2600,$2400
|
.dbyt $0D00,$0900,$2000,$1800,$1A00,$1F00,$2600,$2400
|
||||||
.dbyt $1D00,$1E00,$2300,$2700,$1100,$1500,$1600,$2500
|
.dbyt $1D00,$1E00,$2300,$2C00,$1100,$1500,$1600,$2500
|
||||||
.dbyt $2200,$2100,$1C00,$1B00,$0D00,$1200,$0600,$0000
|
.dbyt $2200,$2100,$1C00,$1B00,$0E00,$1200,$0600,$0000
|
||||||
.dbyt $0300,$0400,$1000,$1300,$0E00,$0900,$0800,$0700
|
.dbyt $0300,$0400,$1000,$1300,$0C00,$0B00,$0A00,$0700
|
||||||
.dbyt $0200,$0100,$0500,$0F00,$1400,$0A00,$1900,$1700
|
.dbyt $0100,$0200,$0500,$0F00,$1400,$0800,$1900,$1700
|
||||||
|
.dbyt $2B00,$2A00,$2900,$2800,$2700
|
||||||
|
|
||||||
SpriteBankBank :
|
SpriteBankBank :
|
||||||
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
||||||
|
@ -20,6 +21,7 @@ SpriteBankBank :
|
||||||
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
||||||
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
||||||
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
||||||
|
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
||||||
|
|
||||||
SpriteBankBank00 :
|
SpriteBankBank00 :
|
||||||
JSL $AA0000
|
JSL $AA0000
|
||||||
|
|
Loading…
Reference in New Issue