diff --git a/config/engine.toml b/config/engine.toml index bd46231..1ccda7f 100644 --- a/config/engine.toml +++ b/config/engine.toml @@ -8,6 +8,9 @@ rendering_engine = 0 [overlay] show_fps = true +[logging] +minimum_level = 1 + [font] default_font_name = "Consolas-Regular" default_font_size = 12 \ No newline at end of file diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 78ed4e1..ef48d10 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -54,7 +54,7 @@ Engine::Engine(std::unique_ptr game, this->game = std::move(game); this->input_processor = std::move(input_processor); this->parse_config(ENGINE_CONFIG_FILE); - Logger::set_minimum_loglevel(LogLevel::DEBUG); + Logger::set_minimum_loglevel(this->config.minimum_loglevel); this->setup_renderer(this->config.selected_renderer); } @@ -75,7 +75,8 @@ void Engine::parse_config(const std::string& config_file_path) { auto default_font_path = fmt::format("fonts/{}.ttf", table["font"]["default_font_name"].value_or(DEFAULT_FONT_NAME)); auto default_font_size = table["font"]["default_font_size"].value_or(DEFAULT_FONT_SIZE); new_config.default_font = TextRenderDetails{default_font_path, default_font_size, COLOR_WHITE}; - new_config.selected_renderer = static_cast(table["display"]["rendering_engine"].value_or(0)); + new_config.selected_renderer = static_cast(table["display"]["rendering_engine"].value_or((int)RendererTypes::SDL_HARDWARE)); + new_config.minimum_loglevel = static_cast(table["logging"]["minimum_level"].value_or((int)LogLevel::DEBUG)); }); this->config = new_config; } diff --git a/src/engine/engine.hpp b/src/engine/engine.hpp index 8abb7e3..283ec37 100644 --- a/src/engine/engine.hpp +++ b/src/engine/engine.hpp @@ -41,6 +41,7 @@ struct EngineConfig { std::string window_title; TextRenderDetails default_font; RendererTypes selected_renderer; + LogLevel minimum_loglevel; }; class Engine {