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 beq kbdScanPeriod
cmp #(' ' + $80) cmp #(' ' + $80)
beq kbdScanSpace beq kbdScanSpace
cmp #(';' + $80) ; cmp #(';' + $80) ; For debugging cat movement
beq kbdScanSemiColon ; beq kbdScanSemiColon ;
cmp #(39 + $80) ; cmp #(39 + $80) ;
beq kbdScanApostrophe ; beq kbdScanApostrophe ;
cmp #(9 + $80) cmp #(9 + $80)
bne kbdScanDebugPiggyback bne kbdScanDebugPiggyback
jmp kbdScanTab jmp kbdScanTab

View File

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

View File

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

View File

@ -151,6 +151,46 @@ projectileTypes:
.byte 0 ; Padding to 32-byte boundary .byte 0 ; Padding to 32-byte boundary
.endrepeat .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_DAMAGE = 0 ; Byte offsets into projectile type data structure
PT_RADIUS = 2 PT_RADIUS = 2

View File

@ -2,24 +2,24 @@
DrawSpriteBank : DrawSpriteBank :
ASL ; A=Sprite Number ($0000-$0025) ASL ; A=Sprite Number ($0000-$0027)
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,$1E00,$1700,$1800,$1D00,$2400,$2200 .dbyt $0C00,$0B00,$2000,$1800,$1A00,$1F00,$2600,$2400
.dbyt $1B00,$1C00,$2100,$2500,$1100,$1500,$1600,$2300 .dbyt $1D00,$1E00,$2300,$2700,$1100,$1500,$1600,$2500
.dbyt $2000,$1F00,$1A00,$1900,$0D00,$1200,$0600,$0000 .dbyt $2200,$2100,$1C00,$1B00,$0D00,$1200,$0600,$0000
.dbyt $0300,$0400,$1000,$1300,$0E00,$0900,$0800,$0700 .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 : 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,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 : SpriteBankBank00 :
JSL $AA0000 JSL $AA0000