diff options
author | UnavailableDev <ggwildplay@gmail.com> | 2023-04-04 14:38:48 +0200 |
---|---|---|
committer | UnavailableDev <ggwildplay@gmail.com> | 2023-04-04 14:38:48 +0200 |
commit | 2ff7020ed6327a49abd3c57491c1286c34a62d40 (patch) | |
tree | a20c3af2bcd53c0cadacb141def6d6c61743acd6 /src/engine | |
parent | abfb6d3667e0c1955f09636ed72e48ed17129c84 (diff) |
dynamic tilemap integration
(without pallets)
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/level_const.c | 6 | ||||
-rw-r--r-- | src/engine/player_controller.c | 6 | ||||
-rw-r--r-- | src/engine/sprite_controller.h | 19 | ||||
-rw-r--r-- | src/engine/title_screen.c | 6 |
4 files changed, 21 insertions, 16 deletions
diff --git a/src/engine/level_const.c b/src/engine/level_const.c index 3847ad8..58b2514 100644 --- a/src/engine/level_const.c +++ b/src/engine/level_const.c @@ -7,16 +7,16 @@ hh_g_all_levels hh_init_game_levels(){ levels.current_level=0; levels.level[0].size.x=40; - levels.level[0].size.y=100; + levels.level[0].size.y=15; levels.level[0].hh_level_completed=false; levels.level[1].size.x=100; levels.level[1].size.y=28; levels.level[1].hh_level_completed=false; - FILE *fp = fopen("../test/bin/level1_test.bin", "rb"); + FILE *fp = fopen("static/shop_new.bin", "rb"); if (fp == NULL) { - printf("level1_test.bin not found!\n"); + printf("shop_new.bin not found!\n"); return levels; } fseek(fp, 0, SEEK_END); diff --git a/src/engine/player_controller.c b/src/engine/player_controller.c index 0fed82d..1b4eec8 100644 --- a/src/engine/player_controller.c +++ b/src/engine/player_controller.c @@ -5,6 +5,8 @@ #include "engine/player_controller.h" #include "input.h" +#include "static/tilemap.h" + #include "engine/animator.h" #include "engine/bullet.h" void hh_player_actions() { @@ -18,14 +20,14 @@ void hh_player_actions() { .vel = (vec2){0,0}, .size = (vec2){32,32}, .render = { - .frame0 = 80, + .frame0 = HH_TM_SLIME_OFFSET, .palette = 3, .ppu_foreground_index = 0, .fam = (hh_s_ppu_loc_fam_entry){ .horizontal_flip = false, .vertical_flip = false, .palette_index = 3, - .tilemap_index = 80, + .tilemap_index = HH_TM_SLIME_OFFSET, } } }, player_new = {0}; diff --git a/src/engine/sprite_controller.h b/src/engine/sprite_controller.h index fc6d3d3..244181c 100644 --- a/src/engine/sprite_controller.h +++ b/src/engine/sprite_controller.h @@ -15,6 +15,7 @@ #define HH_PAL_IDX_SKY 512 #define HH_PAL_IDX_BRICK 1 const static uint8_t hh_g_sprite_palette[HH_SPRITE_COUNT] = { + //TODO: FIGURE OUT HOW TO DEAL WITH DYNAMIC PALLETS //TODO: make a buffer of 16 no-collider sprites (instead of the current 1) 0,1,1,1,1,1,1,1,1,1, //1+9 1,1,1,1,1,1,1,1,1,1, //6+4 @@ -47,13 +48,13 @@ const static hh_ppu_loc_palette_table_t hh_g_palette = { {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}}, + {0x5,0x1,0x7}, + {0xd,0x8,0xa}},//24 {//slime {0x1,0x2,0x3}, {0x1,0x3,0x2}, @@ -72,16 +73,16 @@ const static hh_ppu_loc_palette_table_t hh_g_palette = { {0xe,0xe,0xe}, //elemental {0x0,0x0,0x0}, {0x0,0x0,0x0}}, - { - {0x0,0x0,0x0}, - {0x0,0x0,0x0}, - {0x0,0x0,0x0}, - {0x0,0x0,0x0}, - {0x0,0x0,0x0}, + {//crates + {0x5,0x7,0x7}, + {0x3,0x1,0x2}, + {0x6,0x2,0x2}, + {0x7,0x4,0x4}, + {0xa,0x7,0x5}, {0x0,0x0,0x0}, {0x0,0x0,0x0}, {0x0,0x0,0x0}}, - {//elemental + { {0x0,0x0,0x0}, {0x0,0x0,0x0}, {0x0,0x0,0x0}, diff --git a/src/engine/title_screen.c b/src/engine/title_screen.c index 9c7ed48..1e9e586 100644 --- a/src/engine/title_screen.c +++ b/src/engine/title_screen.c @@ -2,6 +2,8 @@ #include "ppu/types.h" #include "ppu/consts.h" +#include "static/tilemap.h" + #include "engine/draw_screen.h" #include "engine/entity.h" @@ -12,7 +14,7 @@ void hh_init_title_screen(){ //send data uint8_t idx = 0; - const uint8_t tilemap_offset = 59; + const uint8_t tilemap_offset = HH_TM_TITLE_SCREEN_ICON_OFFSET; int tiles_h = HH_PPU_BG_CANVAS_TILES_H; int vp_h = HH_PPU_SCREEN_WIDTH/HH_PPU_SPRITE_WIDTH; //screen_h in tiles int vert_offset = tiles_h*3; @@ -45,7 +47,7 @@ void hh_init_title_screen(){ } - const uint8_t letters_offset = 66; + const uint8_t letters_offset = HH_TM_TITLE_SCREEN_LETTERES_LARGE_OFFSET; const int _size_hooded = 7, _size_v = 2; // char* hh = "hooded"; |