You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

37 lines
736 B

DEF ITEM_ATTRF_NONE EQU 0
DEF ITEM_ATTRF_USABLE EQU (1 << 0)
DEF ITEM_ATTRF_WEAPON EQU (1 << 1)
DEF ITEM_ATTRF_ARMOR EQU (1 << 2)
DEF NEXT_ITEM_ID SET 1
; Declare a new item
; \1 Display name
; \2 Attributes
; \3 Sprite data filename
MACRO Item
ASSERT STRLEN("\1") < 16
; Define item ID symbol
DEF ID_NAME EQUS "\1_ID"
DEF {ID_NAME} EQU NEXT_ITEM_ID
EXPORT {ID_NAME}
REDEF NEXT_ITEM_ID SET NEXT_ITEM_ID + 1
DB \2
; Display name
DB "\1"
REPT 16 - STRLEN("\1")
DB 0
ENDR
; Sprite data
INCBIN \3
ENDM
SECTION "Item Data", ROM0
; NOTE: Macro invocation MUST be indented in order to be expanded correctly
Items::
Item COIN, ITEM_ATTRF_NONE, "png/sprite/item/coin.2bpp"