Inventory state rendering

This commit is contained in:
blondie7575 2018-06-10 17:43:51 -06:00
parent cfeefce8c3
commit 23c7c3b2d4
3 changed files with 23 additions and 9 deletions

Binary file not shown.

View File

@ -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

View File

@ -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