Added game controls for movement
This commit is contained in:
parent
9de1664895
commit
926e69e33d
Binary file not shown.
After Width: | Height: | Size: 137 B |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 137 B |
Binary file not shown.
Binary file not shown.
8
input.s
8
input.s
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
21
player.s
21
player.s
|
@ -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
|
||||||
|
|
40
projectile.s
40
projectile.s
|
@ -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
|
||||||
|
|
12
spritebank.s
12
spritebank.s
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue