Inventory state rendering
This commit is contained in:
parent
cfeefce8c3
commit
23c7c3b2d4
BIN
gscats.2mg
BIN
gscats.2mg
Binary file not shown.
28
inventory.s
28
inventory.s
|
@ -26,7 +26,10 @@ renderInventory:
|
|||
; Find inventory we need to render
|
||||
ldy currentPlayer
|
||||
PLAYERPTR_Y
|
||||
lda playerData+PD_INVENTORY,y
|
||||
tya
|
||||
clc
|
||||
adc #playerData
|
||||
adc #PD_INVENTORY
|
||||
sta PARAML1
|
||||
|
||||
; Compute initial VRAM position ($E1-relative)
|
||||
|
@ -59,15 +62,15 @@ RESTORE_AXY
|
|||
;
|
||||
renderInventoryItem:
|
||||
SAVE_AXY
|
||||
stx renderInventoryItemIndex
|
||||
|
||||
phy
|
||||
phx
|
||||
lda #2 ; Frame
|
||||
clc
|
||||
jsr DrawSpriteBank
|
||||
|
||||
; Find projectile type data
|
||||
ply ; Pushed as X
|
||||
ldy renderInventoryItemIndex
|
||||
PROJECTILETYPEPTR_Y
|
||||
|
||||
; Render projectile
|
||||
|
@ -78,6 +81,9 @@ renderInventoryItem:
|
|||
clc
|
||||
jsr DrawSpriteBank
|
||||
|
||||
lda renderInventoryItemIndex
|
||||
beq renderInventoryItem_abort ; First item shows no counter
|
||||
|
||||
; Render counter background
|
||||
clc
|
||||
pla
|
||||
|
@ -88,7 +94,10 @@ renderInventoryItem:
|
|||
jsr DrawSpriteBank
|
||||
|
||||
; Render counter
|
||||
lda #789
|
||||
ldy renderInventoryItemIndex
|
||||
lda (PARAML1),y
|
||||
xba
|
||||
and #$00ff
|
||||
sta PARAML0
|
||||
jsr intToString
|
||||
|
||||
|
@ -99,9 +108,14 @@ renderInventoryItem:
|
|||
lda #intToStringResult
|
||||
jsr DrawNumber
|
||||
|
||||
RESTORE_AXY
|
||||
renderInventoryItem_done:
|
||||
RESTORE_AXY
|
||||
rts
|
||||
|
||||
renderInventoryItemParam:
|
||||
.word 0,20
|
||||
renderInventoryItem_abort:
|
||||
ply ; Balance stack
|
||||
bra renderInventoryItem_done
|
||||
|
||||
renderInventoryItemIndex:
|
||||
.word 0
|
||||
|
||||
|
|
4
player.s
4
player.s
|
@ -20,7 +20,7 @@ playerData:
|
|||
.word 100 ; Anger
|
||||
.byte 8,"SPROCKET " ; Name
|
||||
.word 1 ; Base Sprite
|
||||
.word 10,0,0,0,0,0,0,0 ; Inventory
|
||||
.word 0,5,0,0,0,0,0,0 ; Inventory
|
||||
|
||||
.repeat 90
|
||||
.byte 0 ; Padding to 256-byte boundary
|
||||
|
@ -39,7 +39,7 @@ playerData:
|
|||
.word 100 ; Anger
|
||||
.byte 8,"TINKER " ; Name
|
||||
.word 0 ; Base Sprite
|
||||
.word 10,0,0,0,0,0,0,0 ; Inventory
|
||||
.word 0,5,0,0,0,0,0,0 ; Inventory
|
||||
|
||||
.repeat 90
|
||||
.byte 0 ; Padding to 256-byte boundary
|
||||
|
|
Loading…
Reference in New Issue