First pass at inventory menu rendering

This commit is contained in:
blondie7575 2018-04-20 13:04:39 -07:00
parent edd5d3cf10
commit d5666cd3a6
11 changed files with 82 additions and 2 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 104 B

View File

@ -7,6 +7,7 @@
objects = {
/* Begin PBXFileReference section */
700B5E6F2069831000B31C00 /* inventory.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = inventory.s; sourceTree = "<group>"; };
700C39C51F2E5CA800C24F9C /* tables.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = tables.s; sourceTree = "<group>"; };
700F21DE1F43E31300D7007D /* input.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = input.s; sourceTree = "<group>"; };
700F21DF1F4A364600D7007D /* projectile.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = projectile.s; sourceTree = "<group>"; };
@ -54,6 +55,7 @@
700C39C51F2E5CA800C24F9C /* tables.s */,
70E266E31F6F262D005AC7E4 /* circleTable.s */,
70F0869F1F413A89002446C3 /* player.s */,
700B5E6F2069831000B31C00 /* inventory.s */,
700F21DF1F4A364600D7007D /* projectile.s */,
70A80FB01F43D7F200BD34C9 /* gamemanager.s */,
70E554C41F807ADB00F3C871 /* spritebank.s */,

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

Binary file not shown.

View File

@ -50,6 +50,8 @@ beginGameplay:
jsr clipTerrain
jsl renderTerrainSpans
jsr renderInventory
gameplayLoop:
jsr syncVBL
BORDER_COLOR #$0

View File

@ -56,7 +56,7 @@ placeGameObjectOnTerrain:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; vramPtr
;
; PARAML0 = Pointer to gameobject data
; PARAML0 = Pointer to X,Y (16 bits each)
; X => Offset to upper left corner of VRAM, or -1 if offscreen
;
; Trashes SCRATCHL

Binary file not shown.

View File

@ -46,6 +46,7 @@ quitGame:
.include "gamemanager.s"
.include "input.s"
.include "projectile.s"
.include "inventory.s"
endMainBank2:

67
inventory.s Normal file
View File

@ -0,0 +1,67 @@
;
; inventory
; Code and data structures related to the weapons inventory and store
;
; Created by Quinn Dunki on 8/13/17
;
INVENTORY_ITEMS = 6
ITEM_WIDTH = 16 ; In pixels
ICON_WIDTH = 8 ; In pixels
ICON_ORIGIN = (ITEM_WIDTH-ICON_WIDTH)/4 ; In bytes
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; renderInventory
;
;
renderInventory:
SAVE_AXY
; Compute initial VRAM position
ldy #(8192 + (160*10 + (160*ICON_ORIGIN + ICON_ORIGIN)))
ldx #0
renderInventoryLoop:
jsr renderInventoryItem
tya ; Advance VRAM pointer
clc
adc #ITEM_WIDTH/2
tay
inx
cpx #INVENTORY_ITEMS
bne renderInventoryLoop
RESTORE_AXY
rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; renderInventoryItem
;
; X = Item index
; Y = VRAM pos
;
renderInventoryItem:
SAVE_AXY
phy
phx
lda #1
clc
jsr DrawSpriteBank
plx
ply
txa
clc
jsr DrawSpriteBank
RESTORE_AXY
rts
renderInventoryItemParam:
.word 0,20

View File

@ -8,7 +8,7 @@ DrawSpriteBank :
JMP (SpriteBankBank,X) ; Bank Number Table
SpriteBankNum :
.dbyt $0000,$0500,$0400,$0100,$0200,$0600,$0300
.dbyt $0000,$0400,$0500,$0100,$0200,$0600,$0300
SpriteBankBank :
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00