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

  1. DEF ITEM_ATTRF_NONE EQU 0
  2. DEF ITEM_ATTRF_USABLE EQU (1 << 0)
  3. DEF ITEM_ATTRF_WEAPON EQU (1 << 1)
  4. DEF ITEM_ATTRF_ARMOR EQU (1 << 2)
  5. DEF NEXT_ITEM_ID SET 1
  6. ; Declare a new item
  7. ; \1 Display name
  8. ; \2 Attributes
  9. ; \3 Sprite data filename
  10. MACRO Item
  11. ASSERT STRLEN("\1") < 16
  12. ; Define item ID symbol
  13. DEF ID_NAME EQUS "\1_ID"
  14. DEF {ID_NAME} EQU NEXT_ITEM_ID
  15. EXPORT {ID_NAME}
  16. REDEF NEXT_ITEM_ID SET NEXT_ITEM_ID + 1
  17. DB \2
  18. ; Display name
  19. DB "\1"
  20. REPT 16 - STRLEN("\1")
  21. DB 0
  22. ENDR
  23. ; Sprite data
  24. INCBIN \3
  25. ENDM
  26. SECTION "Item Data", ROM0
  27. ; NOTE: Macro invocation MUST be indented in order to be expanded correctly
  28. Items::
  29. Item COIN, ITEM_ATTRF_NONE, "png/sprite/item/coin.2bpp"