colorins en la consola

This commit is contained in:
2026-04-10 20:56:12 +02:00
parent a40967e23a
commit 342b46ca32
7 changed files with 124 additions and 7 deletions

View File

@@ -586,6 +586,28 @@ namespace Options {
}
}
// Carga configuración de la consola desde YAML
void loadConsoleConfigFromYaml(const fkyaml::node& yaml) { // NOLINT(readability-function-cognitive-complexity)
if (!yaml.contains("console")) { return; }
const auto& c = yaml["console"];
if (c.contains("transparent")) {
try { console.transparent = c["transparent"].get_value<bool>(); } catch (...) {}
}
if (c.contains("bg_color")) {
try { console.bg_color = std::clamp(c["bg_color"].get_value<int>(), 0, 255); } catch (...) {}
}
if (c.contains("msg_color")) {
try { console.msg_color = std::clamp(c["msg_color"].get_value<int>(), 0, 255); } catch (...) {}
}
if (c.contains("prompt_color")) {
try { console.prompt_color = std::clamp(c["prompt_color"].get_value<int>(), 0, 255); } catch (...) {}
}
if (c.contains("command_color")) {
try { console.command_color = std::clamp(c["command_color"].get_value<int>(), 0, 255); } catch (...) {}
}
}
// Carga configuración de idioma desde YAML
void loadLocalizationFromYaml(const fkyaml::node& yaml) {
if (yaml.contains("localization")) {
@@ -650,6 +672,7 @@ namespace Options {
loadGamepadControlsFromYaml(yaml);
loadKioskConfigFromYaml(yaml);
loadLocalizationFromYaml(yaml);
loadConsoleConfigFromYaml(yaml);
std::cout << "Config file loaded successfully\n\n";
@@ -724,6 +747,16 @@ namespace Options {
file << " volume: " << audio.sound.volume << "\n";
file << "\n";
// CONSOLE
file << "# CONSOLE\n";
file << "console:\n";
file << " transparent: " << (console.transparent ? "true" : "false") << " # true = sin fondo, false = solida\n";
file << " bg_color: " << console.bg_color << " # indice de paleta del fondo (solo si transparent: false)\n";
file << " msg_color: " << console.msg_color << " # indice de paleta de los mensajes\n";
file << " prompt_color: " << console.prompt_color << " # indice de paleta del prompt y del borde\n";
file << " command_color: " << console.command_color << " # indice de paleta del texto escrito por el usuario\n";
file << "\n";
// VIDEO
file << "# VIDEO \n";
file << "video:\n";