From 23c7c3b2d4d849c8983c356c868d1c562803ee44 Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Sun, 10 Jun 2018 17:43:51 -0600 Subject: [PATCH] Inventory state rendering --- gscats.2mg | Bin 819264 -> 819264 bytes inventory.s | 28 +++++++++++++++++++++------- player.s | 4 ++-- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/gscats.2mg b/gscats.2mg index 1d167bd8957278c1f2598b6d61d990189c0cb2b5..a9761ac5bfde0d652e10828e7144ce1c452f4e40 100644 GIT binary patch delta 306 zcmX@mV056tXoDgvx3(Yy!(#@HQ!3hmlXX~SjF9+D3>wbl-j_hpPiU}om@_koQ3+b=C+ z^i8OrA(7e4l{t-}m19AZ`XUAf1*Tk}5C_AG7Y~>iE_|%|m670aE2=LvH)%s|Wn#H>Kf2E^<@%mKulK+FZi+{+y}cq#z( CcUhGH delta 277 zcmX@mV056tXoDgvwwbllmeC28F*lGbA!O7*@P^z{GIjW7V&W1dm%$QMXnyF-R!rGF8ps z0)iDgU9+m9KzxaeOa?BG6)V{pfSi@0%&lw+lS3^sUhbD$wURwdVIe2T00ssTpym79 j9XObPm>Gy!fS47C*?^cGh&h0m6NtHhn0vVc2Tuh68kSHr diff --git a/inventory.s b/inventory.s index 90ec4c0..818387d 100644 --- a/inventory.s +++ b/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 diff --git a/player.s b/player.s index c252cda..8210bf2 100644 --- a/player.s +++ b/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