Added victory sequence

This commit is contained in:
blondie7575 2024-02-01 09:53:38 -07:00
parent b10eaa850f
commit f532287345
15 changed files with 65 additions and 8 deletions

BIN
Art/040Pee.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

BIN
Art/040Pee.xcf Normal file

Binary file not shown.

BIN
Art/041Pee.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

BIN
Art/041Pee.xcf Normal file

Binary file not shown.

BIN
Art/042Pee.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 B

BIN
Art/042Pee.xcf Normal file

Binary file not shown.

BIN
Art/043Pee.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

BIN
Art/043Pee.xcf Normal file

Binary file not shown.

BIN
Art/044Pee.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

BIN
Art/044Pee.xcf Normal file

Binary file not shown.

Binary file not shown.

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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