diff --git a/scenes/game_scene.c b/scenes/game_scene.c index a1706a2..aedd2c8 100644 --- a/scenes/game_scene.c +++ b/scenes/game_scene.c @@ -17,6 +17,7 @@ static RenderInfoNode all_tile_rendernodes[MAX_N_TILES] = {0}; #define CONTROL_LAYER 1 static void level_scene_render_func(Scene_t* scene) { + Font* menu_font = get_font(&scene->engine->assets, "MenuFont"); LevelSceneData_t* data = &(CONTAINER_OF(scene, LevelScene_t, scene)->data); static char buffer[512]; @@ -61,6 +62,10 @@ static void level_scene_render_func(Scene_t* scene) air_pos.x -= 32; } } + if (sc_map_size_64v(&scene->ent_manager.entities_map[PLAYER_ENT_TAG]) == 0) + { + DrawTextEx(*menu_font, "Press R to Try Again", (Vector2){32, data->game_rec.height/2 - 64}, 64, 4, WHITE); + } // For DEBUG int gui_x = 5; sprintf(buffer, "%u %u", sc_map_size_64v(&scene->ent_manager.entities), GetFPS()); @@ -156,6 +161,7 @@ static void level_do_action(Scene_t* scene, ActionType_t action, bool pressed) static void render_regular_game_scene(Scene_t* scene) { TracyCZoneN(ctx, "GameRender", true) + update_entity_manager(&scene->ent_manager); // This function will render the game scene outside of the intended draw function // Just for clarity and separation of logic LevelSceneData_t* data = &(CONTAINER_OF(scene, LevelScene_t, scene)->data); diff --git a/scenes/scene_systems.c b/scenes/scene_systems.c index f911045..c2da0ee 100644 --- a/scenes/scene_systems.c +++ b/scenes/scene_systems.c @@ -242,7 +242,6 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num) } } break; - default: break; } @@ -288,6 +287,7 @@ bool load_level_tilemap(LevelScene_t* scene, unsigned int level_num) } } + scene->data.camera.mode = CAMERA_FOLLOW_PLAYER; return true; }