From 78550c91cf7d4dae6956b8cceb8ac457bab3b422 Mon Sep 17 00:00:00 2001 From: Forest Belton <65484+forestbelton@users.noreply.github.com> Date: Mon, 6 Sep 2021 16:40:24 -0400 Subject: [PATCH] Begin tile data layout work --- inc/game.inc | 24 ++++++++++++++++++++++++ inc/player.inc | 2 -- png/sprite/item/coin.png | Bin 228 -> 0 bytes png/sprite/item/coin_left.png | Bin 0 -> 161 bytes png/sprite/item/coin_right.png | Bin 0 -> 149 bytes src/item.s | 13 ++++++++----- src/main.s | 10 +++++----- src/player.s | 6 +++++- 8 files changed, 42 insertions(+), 13 deletions(-) delete mode 100644 inc/player.inc delete mode 100644 png/sprite/item/coin.png create mode 100644 png/sprite/item/coin_left.png create mode 100644 png/sprite/item/coin_right.png diff --git a/inc/game.inc b/inc/game.inc index 74e105e..51e16b8 100644 --- a/inc/game.inc +++ b/inc/game.inc @@ -1,2 +1,26 @@ +; Game states DEF GAME_STATEF_TITLE EQU (1 << 0) DEF GAME_STATEF_GAME EQU (1 << 1) + +; Player states +DEF PLAYER_STATEF_WALK EQU (1 << 0) +DEF PLAYER_STATEF_JUMP EQU (1 << 1) + +; Tile data allocations +DEF ALLOC_SIZE_FONT EQU 37 +DEF ALLOC_SIZE_PLAYER EQU 52 +DEF ALLOC_SIZE_BACKGROUND EQU 32 +DEF ALLOC_SIZE_ITEMS EQU 20 +DEF ALLOC_SIZE_MONSTERS EQU 108 + +DEF TILE_INDEX_FONT EQU 0 +DEF TILE_INDEX_PLAYER EQU ALLOC_SIZE_FONT +DEF TILE_INDEX_BACKGROUND EQU ALLOC_SIZE_FONT + ALLOC_SIZE_PLAYER +DEF TILE_INDEX_ITEMS EQU ALLOC_SIZE_FONT + ALLOC_SIZE_PLAYER + ALLOC_SIZE_BACKGROUND +DEF TILE_INDEX_MONSTERS EQU ALLOC_SIZE_FONT + ALLOC_SIZE_PLAYER + ALLOC_SIZE_BACKGROUND + ALLOC_SIZE_ITEMS + +ASSERT TILE_INDEX_PLAYER == 37 +ASSERT TILE_INDEX_BACKGROUND == 89 +ASSERT TILE_INDEX_ITEMS == 121 +ASSERT TILE_INDEX_MONSTERS == 141 +ASSERT TILE_INDEX_MONSTERS + ALLOC_SIZE_MONSTERS < 256 diff --git a/inc/player.inc b/inc/player.inc deleted file mode 100644 index 3874d76..0000000 --- a/inc/player.inc +++ /dev/null @@ -1,2 +0,0 @@ -DEF PLAYER_STATEF_WALK EQU 0 -DEF PLAYER_STATEF_JUMP EQU 1 \ No newline at end of file diff --git a/png/sprite/item/coin.png b/png/sprite/item/coin.png deleted file mode 100644 index f62f5ed97f53f6dca8ae294786dfdfdcb3f2a8b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|EK(yp(|mmy zv_PsD7~3-$SU^gESPF<47?>6?!9_S0FeBI?$!$K789*w^)5S4FLbA6%kney3hjZ%9 zy&rUBdNw~eIj7&{&&^3+7l+&ynp$Si@1t69X_m2)g?QEb48?$DyNhq0(NSM$eO2j9 x?usnwmdKI;Vst0GK&4J^%m! literal 0 HcmV?d00001 diff --git a/src/item.s b/src/item.s index ee6de84..1a0a201 100644 --- a/src/item.s +++ b/src/item.s @@ -8,7 +8,6 @@ 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 @@ -25,13 +24,17 @@ MACRO Item REPT 16 - STRLEN("\1") DB 0 ENDR - - ; Sprite data - INCBIN \3 ENDM +SECTION "Item Sprite Data", ROM0 + +COIN_LEFT:: INCBIN "png/sprite/item/coin_left.2bpp" +COIN_RIGHT:: INCBIN "png/sprite/item/coin_right.2bpp" + 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" + Item COIN, ITEM_ATTRF_NONE + +SECTION "Item Code", ROM0 diff --git a/src/main.s b/src/main.s index b790923..9b3a69c 100644 --- a/src/main.s +++ b/src/main.s @@ -37,12 +37,12 @@ start: call OAM_Init call Keys_Init - ; set palette + ; set palettes ld a, %11100100 - ld hl, rOBP0 - ld [hl], a - ld hl, rBGP - ld [hl], a + ld [rOBP0], a + ld [rBGP], a + ld a, %00011100 + ld [rOBP1], a ld a, GAME_STATEF_TITLE ld [state], a diff --git a/src/player.s b/src/player.s index 390325a..ae5d74e 100644 --- a/src/player.s +++ b/src/player.s @@ -1,6 +1,6 @@ +INCLUDE "game.inc" INCLUDE "hardware.inc" INCLUDE "oam.inc" -INCLUDE "player.inc" INCLUDE "util.inc" Section "Player Data", WRAM0 @@ -369,3 +369,7 @@ Player_AddInvItem:: pop de ret + +; Remove item(s) from the player's inventory +; @param b Item ID +; @param c Item quantity \ No newline at end of file