Added game controls for movement

This commit is contained in:
blondie7575 2024-01-21 17:27:12 -07:00
parent 9de1664895
commit 926e69e33d
10 changed files with 70 additions and 13 deletions

BIN
Art/038MoveLeft.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

BIN
Art/038MoveLeft.xcf Normal file

Binary file not shown.

BIN
Art/039MoveRight.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 B

BIN
Art/039MoveRight.xcf Normal file

Binary file not shown.

Binary file not shown.

View File

@ -109,10 +109,10 @@ kbdScanGameplay:
beq kbdScanPeriod
cmp #(' ' + $80)
beq kbdScanSpace
cmp #(';' + $80)
beq kbdScanSemiColon
cmp #(39 + $80)
beq kbdScanApostrophe
; cmp #(';' + $80) ; For debugging cat movement
; beq kbdScanSemiColon ;
; cmp #(39 + $80) ;
; beq kbdScanApostrophe ;
cmp #(9 + $80)
bne kbdScanDebugPiggyback
jmp kbdScanTab

View File

@ -6,7 +6,7 @@
;
INVENTORY_ITEMS = 3
INVENTORY_ITEMS = 5
ITEM_WIDTH = 16 ; In pixels
ITEM_HEIGHT = 16 ; In pixels
ICON_WIDTH = 8 ; In pixels

View File

@ -24,7 +24,7 @@ playerData:
.word 0 ; Anger
.byte 8,"SPROCKET " ; Name
.word 29 ; Base Sprite
.word 0,5,7,0,0,0,0,0 ; Prices
.word 0,5,7,1,1,0,0,0 ; Prices
.word 0 ; Current weapon
.word 0 ; Treats
.repeat 86
@ -45,7 +45,7 @@ playerData:
.word 0 ; Anger
.byte 8,"TINKER " ; Name
.word 20 ; Base Sprite
.word 0,5,7,0,0,0,0,0 ; Prices
.word 0,5,7,1,1,0,0,0 ; Prices
.word 0 ; Current weapon
.word 0 ; Treats
@ -246,6 +246,13 @@ playerFire:
sbc SCRATCHL
sta playerData+PD_TREATS,y
; Check for movement
lda playerData+PD_CURRWEAPON,y
cmp #3
beq playerFireMoveLeft
cmp #4
beq playerFireMoveRight
; Animate the shooting
phy
ldy SCRATCHL2
@ -273,6 +280,16 @@ playerFire_abort:
pla ; Balance stack
bra playerFire_done
playerFireMoveLeft:
lda #-2
sta playerMoveRequested
bra playerFire_abort
playerFireMoveRight:
lda #2
sta playerMoveRequested
bra playerFire_abort
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; playerIntersectRect

View File

@ -151,6 +151,46 @@ projectileTypes:
.byte 0 ; Padding to 32-byte boundary
.endrepeat
; Move Left
.word 0 ; Damage
.word 0 ; Crater radius
.word 0 ; Frame 0
.word 38 ; Frame 1
.word 0 ; Frame 2
.addr 0 ; Deploy
.addr 0 ; Update
.addr 0 ; Render
.addr 0 ; Unrender
.addr 0 ; Protect
.addr 0 ; Cleanup
.word 0 ; Directional
.word 0 ; Mining
.repeat 6
.byte 0 ; Padding to 32-byte boundary
.endrepeat
; Move Right
.word 0 ; Damage
.word 0 ; Crater radius
.word 0 ; Frame 0
.word 39 ; Frame 1
.word 0 ; Frame 2
.addr 0 ; Deploy
.addr 0 ; Update
.addr 0 ; Render
.addr 0 ; Unrender
.addr 0 ; Protect
.addr 0 ; Cleanup
.word 0 ; Directional
.word 0 ; Mining
.repeat 6
.byte 0 ; Padding to 32-byte boundary
.endrepeat
PT_DAMAGE = 0 ; Byte offsets into projectile type data structure
PT_RADIUS = 2

View File

@ -2,24 +2,24 @@
DrawSpriteBank :
ASL ; A=Sprite Number ($0000-$0025)
ASL ; A=Sprite Number ($0000-$0027)
TAX ; Y=Target Screen Address ($2000-$9D00)
LDA SpriteBankNum,X ; Relative Sprite Number Table
JMP (SpriteBankBank,X) ; Bank Number Table
SpriteBankNum :
.dbyt $0C00,$0B00,$1E00,$1700,$1800,$1D00,$2400,$2200
.dbyt $1B00,$1C00,$2100,$2500,$1100,$1500,$1600,$2300
.dbyt $2000,$1F00,$1A00,$1900,$0D00,$1200,$0600,$0000
.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
.dbyt $0200,$0100,$0500,$0F00,$1400,$0A00,$1900,$1700
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
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
SpriteBankBank00 :
JSL $AA0000