mirror of
https://github.com/blondie7575/GSCats.git
synced 2025-02-10 01:30:33 +00:00
Inventory selection
This commit is contained in:
parent
23c7c3b2d4
commit
3144b7c9fb
BIN
Art/Select_008.xcf
Normal file
BIN
Art/Select_008.xcf
Normal file
Binary file not shown.
BIN
Art/select_008.gif
Normal file
BIN
Art/select_008.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 127 B |
BIN
SpriteBank00.bin
BIN
SpriteBank00.bin
Binary file not shown.
@ -63,8 +63,6 @@ beginGameplay:
|
||||
jsr clipTerrain
|
||||
jsl renderTerrainSpans
|
||||
|
||||
jsr renderInventory
|
||||
|
||||
gameplayLoop:
|
||||
jsr syncVBL
|
||||
BORDER_COLOR #$0
|
||||
@ -145,9 +143,10 @@ gameplayLoopProjectiles:
|
||||
gameplayLoopProjectilesSkip:
|
||||
jsr updateProjectileCollisions
|
||||
|
||||
; lda turnRequested
|
||||
; beq gameplayLoopVictoryCondition
|
||||
; jsr endTurn
|
||||
lda inventoryDirty
|
||||
beq gameplayLoopVictoryCondition
|
||||
stz inventoryDirty
|
||||
jsr renderInventory
|
||||
|
||||
gameplayLoopVictoryCondition:
|
||||
lda gameOver
|
||||
@ -357,6 +356,8 @@ terrainDirty:
|
||||
.word 1
|
||||
projectilesDirty:
|
||||
.word 1
|
||||
inventoryDirty:
|
||||
.word 1
|
||||
activePlayer:
|
||||
.word 0
|
||||
currentPlayer:
|
||||
|
BIN
gscats.2mg
BIN
gscats.2mg
Binary file not shown.
18
input.s
18
input.s
@ -38,6 +38,8 @@ kbdScan:
|
||||
beq kbdScanESC
|
||||
cmp #(127 + $80)
|
||||
beq kbdScanDEL
|
||||
cmp #(9 + $80)
|
||||
beq kbdScanTab
|
||||
|
||||
kbdScanDone:
|
||||
BITS16
|
||||
@ -113,6 +115,22 @@ kbdScanDEL:
|
||||
sta paused
|
||||
rts
|
||||
|
||||
kbdScanTab:
|
||||
BITS16
|
||||
ldy currentPlayer
|
||||
PLAYERPTR_Y
|
||||
lda playerData+PD_CURRWEAPON,y
|
||||
inc
|
||||
cmp #INVENTORY_ITEMS
|
||||
bne kbdScanTab_store
|
||||
lda #0
|
||||
|
||||
kbdScanTab_store:
|
||||
sta playerData+PD_CURRWEAPON,y
|
||||
inc inventoryDirty
|
||||
rts
|
||||
|
||||
|
||||
breakpoint:
|
||||
.word 0
|
||||
|
||||
|
20
inventory.s
20
inventory.s
@ -81,6 +81,20 @@ renderInventoryItem:
|
||||
clc
|
||||
jsr DrawSpriteBank
|
||||
|
||||
; Render selection
|
||||
ldy currentPlayer
|
||||
PLAYERPTR_Y
|
||||
lda playerData+PD_CURRWEAPON,y
|
||||
cmp renderInventoryItemIndex
|
||||
bne renderInventoryItem_unselected
|
||||
|
||||
ply
|
||||
phy
|
||||
lda #8
|
||||
clc
|
||||
jsr DrawSpriteBank
|
||||
|
||||
renderInventoryItem_unselected:
|
||||
lda renderInventoryItemIndex
|
||||
beq renderInventoryItem_abort ; First item shows no counter
|
||||
|
||||
@ -94,10 +108,10 @@ renderInventoryItem:
|
||||
jsr DrawSpriteBank
|
||||
|
||||
; Render counter
|
||||
ldy renderInventoryItemIndex
|
||||
lda renderInventoryItemIndex
|
||||
asl
|
||||
tay
|
||||
lda (PARAML1),y
|
||||
xba
|
||||
and #$00ff
|
||||
sta PARAML0
|
||||
jsr intToString
|
||||
|
||||
|
7
player.s
7
player.s
@ -21,8 +21,9 @@ playerData:
|
||||
.byte 8,"SPROCKET " ; Name
|
||||
.word 1 ; Base Sprite
|
||||
.word 0,5,0,0,0,0,0,0 ; Inventory
|
||||
.word 0 ; Current weapon
|
||||
|
||||
.repeat 90
|
||||
.repeat 88
|
||||
.byte 0 ; Padding to 256-byte boundary
|
||||
.endrepeat
|
||||
|
||||
@ -40,8 +41,9 @@ playerData:
|
||||
.byte 8,"TINKER " ; Name
|
||||
.word 0 ; Base Sprite
|
||||
.word 0,5,0,0,0,0,0,0 ; Inventory
|
||||
.word 0 ; Current weapon
|
||||
|
||||
.repeat 90
|
||||
.repeat 88
|
||||
.byte 0 ; Padding to 256-byte boundary
|
||||
.endrepeat
|
||||
|
||||
@ -51,6 +53,7 @@ PD_ANGER = 136
|
||||
PD_NAME = 138
|
||||
PD_BASESPRITE = 148
|
||||
PD_INVENTORY = 150
|
||||
PD_CURRWEAPON = 166
|
||||
PD_SIZE = 256
|
||||
|
||||
.macro PLAYERPTR_Y
|
||||
|
@ -2,16 +2,18 @@
|
||||
|
||||
|
||||
DrawSpriteBank :
|
||||
ASL ; A=Sprite Number ($0000-$0007)
|
||||
ASL ; A=Sprite Number ($0000-$0008)
|
||||
TAX ; Y=Target Screen Address ($2000-$9D00)
|
||||
LDA SpriteBankNum,X ; Relative Sprite Number Table
|
||||
JMP (SpriteBankBank,X) ; Bank Number Table
|
||||
|
||||
SpriteBankNum :
|
||||
.dbyt $0100,$0000,$0500,$0200,$0300,$0700,$0400,$0600
|
||||
.dbyt $0800
|
||||
|
||||
SpriteBankBank :
|
||||
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
||||
.addr SpriteBankBank00
|
||||
|
||||
SpriteBankBank00 :
|
||||
JSL $AA0000
|
||||
|
Loading…
x
Reference in New Issue
Block a user