diff options
| author | UnavailableDev <69792062+UnavailableDev@users.noreply.github.com> | 2023-03-13 17:10:26 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-13 17:10:26 +0100 | 
| commit | 5a747929ed2099755fb03c930ea68c77fda805b3 (patch) | |
| tree | c32d981fb030e05754671f359f1a76eb3d0ded32 /src/engine/sprite_controller.h | |
| parent | 3c6648e99101e20873c952b3796b0f9e765378fc (diff) | |
| parent | 2aa4abf6a3c268f7729f91b08115aac8f2e5bdae (diff) | |
Merge pull request #28 from UnavailableDev/game-engine
Game engine
Diffstat (limited to 'src/engine/sprite_controller.h')
| -rw-r--r-- | src/engine/sprite_controller.h | 106 | 
1 files changed, 106 insertions, 0 deletions
diff --git a/src/engine/sprite_controller.h b/src/engine/sprite_controller.h new file mode 100644 index 0000000..001a459 --- /dev/null +++ b/src/engine/sprite_controller.h @@ -0,0 +1,106 @@ +#pragma once +#include <stdint.h> + +#include "ppu/types.h" + +// handles sprites + +// Bg sprites + +// Fg or entity sprites + +//TODO: pack data inside of sprite_palette LUT +//HH_PPU_PALETTE_COUNT +#define HH_SPRITE_COUNT 40 +#define HH_PAL_IDX_SKY 0 +#define HH_PAL_IDX_BRICK 1 +const static uint8_t hh_g_sprite_palette[HH_SPRITE_COUNT] = { +	0,1,1,1,1,1,1,1,1,1, //1+9 +	1,1,1,1,1,1,1,1,1,1, //6+4 +	1,1,1,1,1,1,1,1,1,	//9 +	7,7,7,2,7,7,1,2,7 +	//other palettes here: +}; + + +const static hh_ppu_loc_palette_table_t hh_g_palette = { +	{//palette info here +		{0x1,0x2,0x3}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}}, +	{//Bricks +		{0x1,0x2,0x3},//01 +		{0xd,0x8,0xa},//24 +		{0x0,0x0,0x1},//25 +		{0x1,0x1,0x1},//26 +		{0x1,0x1,0x2},//27 +		{0x2,0x2,0x3},//28 +		{0x3,0x4,0x5},//29 +		{0x5,0x1,0x7}}, +	{//slime +		{0x1,0x2,0x3}, +		{0x1,0x3,0x2}, +		{0x4,0x8,0x3}, +		{0x7,0xa,0x4}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}}, +	{ +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}}, +	{ +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}}, +	{ +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}}, +	{ +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}, +		{0x0,0x0,0x0}}, +	{ +		{0x0,0xf,0xf}, +		{0xf,0xf,0xf}, +		{0xf,0x0,0xf}, +		{0xf,0xf,0x0}, +		{0xf,0x0,0x0}, +		{0x0,0xf,0x0}, +		{0x0,0x0,0xf}, +		{0x0,0x0,0x0}} +}; + +void hh_setup_palettes(); + +/** @brief return palette index that belongs to tilemap index */ +uint8_t hh_get_palette(uint8_t tile_idx); + +bool hh_colidable(uint8_t tile_idx);  |