diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ebc155..176d25f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,7 @@ set(SOURCES set(ASSETS res/tileset.png res/test.kble + res/burn.kble ) set(FLAGS -std=c99 -Os -Wall -Wextra -Wshadow) diff --git a/res/burn.kble b/res/burn.kble new file mode 100644 index 0000000..d63b9e9 Binary files /dev/null and b/res/burn.kble differ diff --git a/src/level.c b/src/level.c index b30f510..f4ff535 100644 --- a/src/level.c +++ b/src/level.c @@ -10,8 +10,8 @@ static struct Level level; extern bopti_image_t bimg_tileset; -extern struct LevelBin kble_test; -static const struct LevelBin *levels[] = {&kble_test, NULL}; +extern struct LevelBin kble_test, kble_burn; +static const struct LevelBin *levels[] = {&kble_test, &kble_burn, NULL}; static void level_free(void); diff --git a/src/player.c b/src/player.c index 171dff4..150484c 100644 --- a/src/player.c +++ b/src/player.c @@ -22,6 +22,7 @@ player_spawn(struct Player *p) p->air_state = AS_NEUTRAL; p->jump_buffer = 0; p->jump_grace = 0; + p->burn = 0; } void @@ -81,7 +82,7 @@ player_update(struct Player *p) /* burn and death */ if (collide(p->pos.x, p->pos.y, TILE_BURN)) { if (++p->burn >= BURN_DEATH) level_reload(); - } else { + } else if (p->burn) { p->burn--; }