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
|
||||
|
||||
; On last frame, freeze if needed
|
||||
lda renderAnimationFreezeFrame
|
||||
beq renderAnimationContinue
|
||||
inx
|
||||
cpx PARAML0
|
||||
beq renderAnimationDone
|
||||
dex
|
||||
|
||||
renderAnimationContinue:
|
||||
|
||||
; Restore background
|
||||
phx
|
||||
ldy SCRATCHL2
|
||||
|
@ -168,12 +178,36 @@ renderAnimationLoop:
|
|||
bne renderAnimationLoop
|
||||
|
||||
renderAnimationDone:
|
||||
stz renderAnimationFreezeFrame
|
||||
rts
|
||||
|
||||
renderAnimationSkip:
|
||||
plx
|
||||
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
|
||||
protectionRoutines:
|
||||
|
|
|
@ -33,6 +33,7 @@ beginGameplay:
|
|||
; Generate, compile, and clip terrain
|
||||
stz mapScrollPos
|
||||
stz leftScreenEdge
|
||||
stz mapScrollRequested
|
||||
lda #160-GAMEOBJECTWIDTH/4-2
|
||||
sta rightScreenEdge
|
||||
jsr generateTerrain
|
||||
|
@ -331,7 +332,7 @@ endTurnWrap:
|
|||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; endGame
|
||||
;
|
||||
; Handles someone winning
|
||||
; Handles someone winning. Assumes "someone" is current player
|
||||
;
|
||||
endGame:
|
||||
SAVE_AXY
|
||||
|
@ -351,6 +352,25 @@ endGameRender:
|
|||
lda #2
|
||||
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
|
||||
lda #1
|
||||
sta quitRequested
|
||||
|
@ -358,6 +378,8 @@ endGameRender:
|
|||
RESTORE_AXY
|
||||
rts
|
||||
|
||||
endGamePeePos:
|
||||
.word 0,0
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; scrollMap
|
||||
|
|
1
player.s
1
player.s
|
@ -134,7 +134,6 @@ playerCreateInit:
|
|||
sta playerData+PD_TREATS,y
|
||||
lda #0
|
||||
sta playerData+PD_ANGER,y
|
||||
lda #0
|
||||
sta playerData+PD_CURRWEAPON,y
|
||||
lda #1
|
||||
sta playersDirty
|
||||
|
|
14
spritebank.s
14
spritebank.s
|
@ -2,17 +2,18 @@
|
|||
|
||||
|
||||
DrawSpriteBank :
|
||||
ASL ; A=Sprite Number ($0000-$0027)
|
||||
ASL ; A=Sprite Number ($0000-$002C)
|
||||
TAX ; Y=Target Screen Address ($2000-$9D00)
|
||||
LDA SpriteBankNum,X ; Relative Sprite Number Table
|
||||
JMP (SpriteBankBank,X) ; Bank Number Table
|
||||
|
||||
SpriteBankNum :
|
||||
.dbyt $0C00,$0B00,$2000,$1800,$1A00,$1F00,$2600,$2400
|
||||
.dbyt $1D00,$1E00,$2300,$2700,$1100,$1500,$1600,$2500
|
||||
.dbyt $2200,$2100,$1C00,$1B00,$0D00,$1200,$0600,$0000
|
||||
.dbyt $0300,$0400,$1000,$1300,$0E00,$0900,$0800,$0700
|
||||
.dbyt $0200,$0100,$0500,$0F00,$1400,$0A00,$1900,$1700
|
||||
.dbyt $0D00,$0900,$2000,$1800,$1A00,$1F00,$2600,$2400
|
||||
.dbyt $1D00,$1E00,$2300,$2C00,$1100,$1500,$1600,$2500
|
||||
.dbyt $2200,$2100,$1C00,$1B00,$0E00,$1200,$0600,$0000
|
||||
.dbyt $0300,$0400,$1000,$1300,$0C00,$0B00,$0A00,$0700
|
||||
.dbyt $0100,$0200,$0500,$0F00,$1400,$0800,$1900,$1700
|
||||
.dbyt $2B00,$2A00,$2900,$2800,$2700
|
||||
|
||||
SpriteBankBank :
|
||||
.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 :
|
||||
JSL $AA0000
|
||||
|
|
Loading…
Reference in New Issue