diff options
| author | UnavailableDev <69792062+UnavailableDev@users.noreply.github.com> | 2023-04-06 16:39:12 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-06 16:39:12 +0200 | 
| commit | 8be7919774250cca23151bf1505cbb48d1dd45ee (patch) | |
| tree | c9876a5c0f1cfea1eb56a2c046bcb4d5813e2d78 /src/engine | |
| parent | d1c00c98ca0f2ca498284e60fa057a610cc5c461 (diff) | |
| parent | d8e8e63bac3ef5a203106c09731ed2e55c87688a (diff) | |
Merge pull request #59 from UnavailableDev/dev
rendering hp + strings
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/animator.c | 8 | ||||
| -rw-r--r-- | src/engine/animator.h | 5 | ||||
| -rw-r--r-- | src/engine/level_const.c | 6 | ||||
| -rw-r--r-- | src/engine/sprite_controller.h | 29 | ||||
| -rw-r--r-- | src/engine/types.h | 1 | 
5 files changed, 33 insertions, 16 deletions
| diff --git a/src/engine/animator.c b/src/engine/animator.c index e293eb1..71d0582 100644 --- a/src/engine/animator.c +++ b/src/engine/animator.c @@ -39,3 +39,11 @@ void hh_update_sprite(uint16_t *idx, hh_entity* in, vec_cor cam) {  		}  	}  } + +void hh_show_quad(uint16_t *idx, hh_s_rendering* in) { +	hh_s_ppu_loc_fam_entry temp = in->fam; +	temp.position_y = CLAMP(in->fam.position_y, -16, HH_PPU_SCREEN_HEIGHT); +	temp.position_x = CLAMP(in->fam.position_x, -16, HH_PPU_SCREEN_WIDTH); +	hh_ppu_update_foreground(++*idx, temp); +	temp.tilemap_index++; +} diff --git a/src/engine/animator.h b/src/engine/animator.h index 2f6e00d..3ace959 100644 --- a/src/engine/animator.h +++ b/src/engine/animator.h @@ -10,5 +10,8 @@ void hh_animate_hit(hh_s_rendering*, bool hit);  /** @brief updates current animation frame */  void hh_animate(hh_s_rendering*, uint16_t start, uint16_t end, uint8_t step); -/** @brief passively updates sprite*/ +/** @brief passively updates sprite */  void hh_update_sprite(uint16_t* idx, hh_entity* in, vec_cor cam); + +/** @brief always renders on same screen position */ +void hh_show_quad(uint16_t *idx, hh_s_rendering* in); diff --git a/src/engine/level_const.c b/src/engine/level_const.c index 2522814..4cd9a1b 100644 --- a/src/engine/level_const.c +++ b/src/engine/level_const.c @@ -4,7 +4,7 @@  hh_g_all_levels hh_init_game_levels(){  	hh_g_all_levels levels; -	levels.current_level=1; +	levels.current_level=0;  	levels.shop.size.x=40;  	levels.shop.size.y=15; @@ -18,9 +18,9 @@ hh_g_all_levels hh_init_game_levels(){  	levels.level[1].size.y=28;  	levels.level[1].hh_level_completed=false; -	FILE *fp = fopen("static/shop_new.bin", "rb"); +	FILE *fp = fopen("../test/bin/level1_test.bin", "rb");  	if (fp == NULL) { -		printf("shop_new.bin not found!\n"); +		printf("level1_test.bin not found!\n");  		return levels;  	}   	fseek(fp, 0, SEEK_END); diff --git a/src/engine/sprite_controller.h b/src/engine/sprite_controller.h index 3693850..93a2aaf 100644 --- a/src/engine/sprite_controller.h +++ b/src/engine/sprite_controller.h @@ -17,11 +17,15 @@  #define HH_PAL_IDX_SKY 0  #define HH_PAL_IDX_BRICK 1  #define HH_PAL_IDX_SLIME 2 +#define HH_PAL_IDX_HUD 2 +#define HH_PAL_IDX_BULLET 3 +#define HH_PAL_IDX_GOZER 3 +#define HH_PAL_IDX_TITLE_SCREEN_ICON 3  #define HH_PAL_IDX_CRATE 4  #define HH_PAL_IDX_SHOP 5 -#define HH_PAL_IDX_TITLE_SCREEN_ICON 3  #define HH_PAL_IDX_FONT 6  #define HH_PAL_IDX_DEV 7 +  const static uint8_t hh_g_sprite_palette[HH_TM_GROUPS] = {  	HH_PAL_IDX_SKY,  	HH_PAL_IDX_BRICK, @@ -29,12 +33,15 @@ const static uint8_t hh_g_sprite_palette[HH_TM_GROUPS] = {  	HH_PAL_IDX_SHOP,  	// HH_PAL_IDX_SHOP,  	HH_PAL_IDX_TITLE_SCREEN_ICON, -	HH_PAL_IDX_FONT, -	HH_PAL_IDX_SKY, -	HH_PAL_IDX_DEV, +	HH_PAL_IDX_TITLE_SCREEN_ICON, +	HH_PAL_IDX_HUD, +	HH_PAL_IDX_HUD, +	HH_PAL_IDX_BULLET, +	HH_PAL_IDX_GOZER,  	HH_PAL_IDX_SLIME, -	HH_PAL_IDX_DEV -	// HH_PAL_IDX_FONT +	HH_PAL_IDX_SLIME, +	HH_PAL_IDX_DEV, +	HH_PAL_IDX_FONT  }; @@ -62,11 +69,11 @@ const static hh_ppu_loc_palette_table_t hh_g_palette = {  		{0x1,0x2,0x3},  		{0x1,0x3,0x2},  		{0x4,0x8,0x3}, -		{0x7,0xa,0x4}, -		{0x0,0x0,0x0}, -		{0x0,0x0,0x0}, -		{0x0,0x0,0x0}, -		{0x0,0x0,0x0}}, +		{0x7,0xa,0x4},//hp HUD +		{0xa,0xc,0x5}, +		{0xa,0x3,0x3}, +		{0x0,0x0,0x1}, +		{0xe,0xe,0xe}},  	{//player //TODO: use one less color && update player indexed sprites  		{0x0,0x0,0x0},  		{0x1,0x1,0x1}, diff --git a/src/engine/types.h b/src/engine/types.h index 8040e46..5fc80fa 100644 --- a/src/engine/types.h +++ b/src/engine/types.h @@ -26,7 +26,6 @@ typedef struct {  	hh_s_ppu_loc_fam_entry fam; //screen  	uint16_t frame0;  	uint16_t palette; -	uint16_t ppu_foreground_index;  }hh_s_rendering; |