pasaeta loca de clang-format (despres m'arrepentiré pero bueno)
This commit is contained in:
875
source/param.cpp
875
source/param.cpp
@@ -1,12 +1,13 @@
|
||||
#include "param.h"
|
||||
|
||||
#include <SDL3/SDL.h> // Para SDL_LogCategory, SDL_LogError, SDL_LogInfo
|
||||
#include <fstream> // Para basic_istream, basic_ifstream, ifstream
|
||||
#include <sstream> // Para basic_istringstream
|
||||
#include <stdexcept> // Para runtime_error
|
||||
#include <string> // Para operator==, stoi, char_traits, string, ope...
|
||||
#include <SDL3/SDL.h> // Para SDL_LogCategory, SDL_LogError, SDL_LogInfo
|
||||
|
||||
#include "utils.h" // Para Zone, Color, NotifyPosition, getFileName
|
||||
#include <fstream> // Para basic_istream, basic_ifstream, ifstream
|
||||
#include <sstream> // Para basic_istringstream
|
||||
#include <stdexcept> // Para runtime_error
|
||||
#include <string> // Para operator==, stoi, char_traits, string, ope...
|
||||
|
||||
#include "utils.h" // Para Zone, Color, NotifyPosition, getFileName
|
||||
|
||||
Param param;
|
||||
|
||||
@@ -17,500 +18,420 @@ void precalculateZones();
|
||||
bool setParams(const std::string &var, const std::string &value);
|
||||
|
||||
// Establece valores por defecto a las variables
|
||||
void initParam()
|
||||
{
|
||||
// GAME
|
||||
param.game.width = 320;
|
||||
param.game.height = 256;
|
||||
param.game.item_size = 20;
|
||||
param.game.game_area.rect = {0, 0, param.game.width, param.game.height};
|
||||
param.game.play_area.rect = {0, 0, param.game.width, 216};
|
||||
param.game.name_entry_idle_time = 10;
|
||||
param.game.name_entry_total_time = 60;
|
||||
param.game.speed = 15;
|
||||
param.game.hit_stop = true;
|
||||
param.game.hit_stop_ms = 300;
|
||||
precalculateZones();
|
||||
void initParam() {
|
||||
// GAME
|
||||
param.game.width = 320;
|
||||
param.game.height = 256;
|
||||
param.game.item_size = 20;
|
||||
param.game.game_area.rect = {0, 0, param.game.width, param.game.height};
|
||||
param.game.play_area.rect = {0, 0, param.game.width, 216};
|
||||
param.game.name_entry_idle_time = 10;
|
||||
param.game.name_entry_total_time = 60;
|
||||
param.game.speed = 15;
|
||||
param.game.hit_stop = true;
|
||||
param.game.hit_stop_ms = 300;
|
||||
precalculateZones();
|
||||
|
||||
// SCOREBOARD
|
||||
param.scoreboard.rect = {0, 216, param.game.width, 40};
|
||||
param.scoreboard.separator_autocolor = false;
|
||||
param.scoreboard.separator_color = Color();
|
||||
param.scoreboard.easy_color = Color();
|
||||
param.scoreboard.normal_color = Color();
|
||||
param.scoreboard.hard_color = Color();
|
||||
param.scoreboard.text_autocolor = false;
|
||||
param.scoreboard.text_color1 = Color();
|
||||
param.scoreboard.text_color2 = Color();
|
||||
param.scoreboard.skip_countdown_value = 8;
|
||||
// SCOREBOARD
|
||||
param.scoreboard.rect = {0, 216, param.game.width, 40};
|
||||
param.scoreboard.separator_autocolor = false;
|
||||
param.scoreboard.separator_color = Color();
|
||||
param.scoreboard.easy_color = Color();
|
||||
param.scoreboard.normal_color = Color();
|
||||
param.scoreboard.hard_color = Color();
|
||||
param.scoreboard.text_autocolor = false;
|
||||
param.scoreboard.text_color1 = Color();
|
||||
param.scoreboard.text_color2 = Color();
|
||||
param.scoreboard.skip_countdown_value = 8;
|
||||
|
||||
// FADE
|
||||
param.fade.num_squares_width = param.game.width / 2;
|
||||
param.fade.num_squares_height = param.game.height / 2;
|
||||
param.fade.random_squares_delay = 1;
|
||||
param.fade.random_squares_mult = 500;
|
||||
param.fade.post_duration = 80;
|
||||
param.fade.venetian_size = 16;
|
||||
// FADE
|
||||
param.fade.num_squares_width = param.game.width / 2;
|
||||
param.fade.num_squares_height = param.game.height / 2;
|
||||
param.fade.random_squares_delay = 1;
|
||||
param.fade.random_squares_mult = 500;
|
||||
param.fade.post_duration = 80;
|
||||
param.fade.venetian_size = 16;
|
||||
|
||||
// TITLE
|
||||
param.title.press_start_position = 160;
|
||||
param.title.title_duration = 800;
|
||||
param.title.arcade_edition_position = 123;
|
||||
param.title.title_c_c_position = 11;
|
||||
param.title.bg_color = Color(255, 255, 255);
|
||||
// TITLE
|
||||
param.title.press_start_position = 160;
|
||||
param.title.title_duration = 800;
|
||||
param.title.arcade_edition_position = 123;
|
||||
param.title.title_c_c_position = 11;
|
||||
param.title.bg_color = Color(255, 255, 255);
|
||||
|
||||
// BACKGROUND
|
||||
param.background.attenuate_color = Color(255, 255, 255, 0);
|
||||
// BACKGROUND
|
||||
param.background.attenuate_color = Color(255, 255, 255, 0);
|
||||
|
||||
// BALLOONS
|
||||
param.balloon.settings.at(0) = ParamBalloon::Settings(0.09f, 2.60f);
|
||||
param.balloon.settings.at(1) = ParamBalloon::Settings(0.10f, 3.50f);
|
||||
param.balloon.settings.at(2) = ParamBalloon::Settings(0.10f, 4.50f);
|
||||
param.balloon.settings.at(3) = ParamBalloon::Settings(0.10f, 4.95f);
|
||||
// BALLOONS
|
||||
param.balloon.settings.at(0) = ParamBalloon::Settings(0.09f, 2.60f);
|
||||
param.balloon.settings.at(1) = ParamBalloon::Settings(0.10f, 3.50f);
|
||||
param.balloon.settings.at(2) = ParamBalloon::Settings(0.10f, 4.50f);
|
||||
param.balloon.settings.at(3) = ParamBalloon::Settings(0.10f, 4.95f);
|
||||
|
||||
param.balloon.color.at(0) = "blue";
|
||||
param.balloon.color.at(1) = "orange";
|
||||
param.balloon.color.at(2) = "red";
|
||||
param.balloon.color.at(3) = "green";
|
||||
param.balloon.color.at(0) = "blue";
|
||||
param.balloon.color.at(1) = "orange";
|
||||
param.balloon.color.at(2) = "red";
|
||||
param.balloon.color.at(3) = "green";
|
||||
|
||||
param.balloon.bouncing_sound = false;
|
||||
param.balloon.bouncing_sound = false;
|
||||
|
||||
// NOTIFICATION
|
||||
param.notification.pos_v = NotifyPosition::TOP;
|
||||
param.notification.pos_h = NotifyPosition::LEFT;
|
||||
param.notification.sound = false;
|
||||
param.notification.color = Color(48, 48, 48);
|
||||
// NOTIFICATION
|
||||
param.notification.pos_v = NotifyPosition::TOP;
|
||||
param.notification.pos_h = NotifyPosition::LEFT;
|
||||
param.notification.sound = false;
|
||||
param.notification.color = Color(48, 48, 48);
|
||||
|
||||
// INTRO
|
||||
param.intro.bg_color = Color::fromHex("543149");
|
||||
param.intro.card_color = Color::fromHex("CBDBFC");
|
||||
param.intro.shadow_color = Color::fromHex("00000080");
|
||||
param.intro.text_distance_from_bottom = 48;
|
||||
// INTRO
|
||||
param.intro.bg_color = Color::fromHex("543149");
|
||||
param.intro.card_color = Color::fromHex("CBDBFC");
|
||||
param.intro.shadow_color = Color::fromHex("00000080");
|
||||
param.intro.text_distance_from_bottom = 48;
|
||||
}
|
||||
|
||||
// Carga los parámetros desde un archivo
|
||||
void loadParamsFromFile(const std::string &file_path)
|
||||
{
|
||||
// Inicializa los parámetros con valores por defecto
|
||||
initParam();
|
||||
void loadParamsFromFile(const std::string &file_path) {
|
||||
// Inicializa los parámetros con valores por defecto
|
||||
initParam();
|
||||
|
||||
// Abre el archivo
|
||||
std::ifstream file(file_path);
|
||||
if (!file.is_open())
|
||||
{
|
||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Error: No se pudo abrir el archivo %s", file_path.c_str());
|
||||
throw std::runtime_error("No se pudo abrir el archivo: " + file_path);
|
||||
}
|
||||
// Abre el archivo
|
||||
std::ifstream file(file_path);
|
||||
if (!file.is_open()) {
|
||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Error: No se pudo abrir el archivo %s", file_path.c_str());
|
||||
throw std::runtime_error("No se pudo abrir el archivo: " + file_path);
|
||||
}
|
||||
|
||||
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "\nReading file: %s", getFileName(file_path).c_str());
|
||||
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "\nReading file: %s", getFileName(file_path).c_str());
|
||||
|
||||
std::string line, param1, param2;
|
||||
while (std::getline(file, line))
|
||||
{
|
||||
// Elimina comentarios
|
||||
auto comment_pos = line.find('#');
|
||||
if (comment_pos != std::string::npos)
|
||||
{
|
||||
line.resize(comment_pos);
|
||||
}
|
||||
std::string line, param1, param2;
|
||||
while (std::getline(file, line)) {
|
||||
// Elimina comentarios
|
||||
auto comment_pos = line.find('#');
|
||||
if (comment_pos != std::string::npos) {
|
||||
line.resize(comment_pos);
|
||||
}
|
||||
|
||||
// Usa un stream para separar palabras
|
||||
std::istringstream iss(line);
|
||||
if (iss >> param1 >> param2)
|
||||
{
|
||||
if (!setParams(param1, param2))
|
||||
{
|
||||
SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION, "Parámetro desconocido: %s", param1.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
// Usa un stream para separar palabras
|
||||
std::istringstream iss(line);
|
||||
if (iss >> param1 >> param2) {
|
||||
if (!setParams(param1, param2)) {
|
||||
SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION, "Parámetro desconocido: %s", param1.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Cierra el archivo
|
||||
file.close();
|
||||
// Cierra el archivo
|
||||
file.close();
|
||||
|
||||
// Realiza cálculos adicionales después de cargar los parámetros
|
||||
precalculateZones();
|
||||
// Realiza cálculos adicionales después de cargar los parámetros
|
||||
precalculateZones();
|
||||
}
|
||||
|
||||
// Asigna variables a partir de dos cadenas
|
||||
bool setParams(const std::string &var, const std::string &value)
|
||||
{
|
||||
// Indicador de éxito en la asignación
|
||||
auto success = true;
|
||||
|
||||
// GAME
|
||||
if (var == "game.width")
|
||||
{
|
||||
param.game.width = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.height")
|
||||
{
|
||||
param.game.height = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.item_size")
|
||||
{
|
||||
param.game.item_size = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.x")
|
||||
{
|
||||
param.game.play_area.rect.x = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.y")
|
||||
{
|
||||
param.game.play_area.rect.y = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.w")
|
||||
{
|
||||
param.game.play_area.rect.w = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.h")
|
||||
{
|
||||
param.game.play_area.rect.h = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.name_entry_idle_time")
|
||||
{
|
||||
param.game.name_entry_idle_time = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.name_entry_total_time")
|
||||
{
|
||||
param.game.name_entry_total_time = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.hit_stop")
|
||||
{
|
||||
param.game.hit_stop = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "game.hit_stop_ms")
|
||||
{
|
||||
param.game.hit_stop_ms = std::stoi(value);
|
||||
}
|
||||
|
||||
// FADE
|
||||
else if (var == "fade.color")
|
||||
{
|
||||
param.fade.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.num_squares_width")
|
||||
{
|
||||
param.fade.num_squares_width = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.num_squares_height")
|
||||
{
|
||||
param.fade.num_squares_height = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.random_squares_delay")
|
||||
{
|
||||
param.fade.random_squares_delay = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.random_squares_mult")
|
||||
{
|
||||
param.fade.random_squares_mult = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.post_duration")
|
||||
{
|
||||
param.fade.post_duration = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.venetian_size")
|
||||
{
|
||||
param.fade.venetian_size = std::stoi(value);
|
||||
}
|
||||
|
||||
// SCOREBOARD
|
||||
else if (var == "scoreboard.rect.x")
|
||||
{
|
||||
param.scoreboard.rect.x = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.rect.y")
|
||||
{
|
||||
param.scoreboard.rect.y = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.rect.w")
|
||||
{
|
||||
param.scoreboard.rect.w = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.rect.h")
|
||||
{
|
||||
param.scoreboard.rect.h = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.separator_autocolor")
|
||||
{
|
||||
param.scoreboard.separator_autocolor = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.separator_color")
|
||||
{
|
||||
param.scoreboard.separator_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.easy_color")
|
||||
{
|
||||
param.scoreboard.easy_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.normal_color")
|
||||
{
|
||||
param.scoreboard.normal_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.hard_color")
|
||||
{
|
||||
param.scoreboard.hard_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.text_autocolor")
|
||||
{
|
||||
param.scoreboard.text_autocolor = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.text_color1")
|
||||
{
|
||||
param.scoreboard.text_color1 = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.text_color2")
|
||||
{
|
||||
param.scoreboard.text_color2 = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.skip_countdown_value")
|
||||
{
|
||||
param.scoreboard.skip_countdown_value = std::stoi(value);
|
||||
}
|
||||
|
||||
// TITLE
|
||||
else if (var == "title.press_start_position")
|
||||
{
|
||||
param.title.press_start_position = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.title_duration")
|
||||
{
|
||||
param.title.title_duration = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.arcade_edition_position")
|
||||
{
|
||||
param.title.arcade_edition_position = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.title_c_c_position")
|
||||
{
|
||||
param.title.title_c_c_position = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.bg_color")
|
||||
{
|
||||
param.title.bg_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// BACKGROUND
|
||||
else if (var == "background.attenuate_color")
|
||||
{
|
||||
param.background.attenuate_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// BALLOON
|
||||
else if (var == "balloon.settings[0].vel")
|
||||
{
|
||||
param.balloon.settings.at(0).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[0].grav")
|
||||
{
|
||||
param.balloon.settings.at(0).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[1].vel")
|
||||
{
|
||||
param.balloon.settings.at(1).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[1].grav")
|
||||
{
|
||||
param.balloon.settings.at(1).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[2].vel")
|
||||
{
|
||||
param.balloon.settings.at(2).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[2].grav")
|
||||
{
|
||||
param.balloon.settings.at(2).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[3].vel")
|
||||
{
|
||||
param.balloon.settings.at(3).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[3].grav")
|
||||
{
|
||||
param.balloon.settings.at(3).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[0]")
|
||||
{
|
||||
param.balloon.color.at(0) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[1]")
|
||||
{
|
||||
param.balloon.color.at(1) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[2]")
|
||||
{
|
||||
param.balloon.color.at(2) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[3]")
|
||||
{
|
||||
param.balloon.color.at(3) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.bouncing_sound")
|
||||
{
|
||||
param.balloon.bouncing_sound = stringToBool(value);
|
||||
}
|
||||
|
||||
// NOTIFICACIONES
|
||||
else if (var == "notification.pos_h")
|
||||
{
|
||||
if (value == "LEFT")
|
||||
{
|
||||
param.notification.pos_h = NotifyPosition::LEFT;
|
||||
}
|
||||
else if (value == "MIDDLE")
|
||||
{
|
||||
param.notification.pos_h = NotifyPosition::MIDDLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
param.notification.pos_h = NotifyPosition::RIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
else if (var == "notification.pos_v")
|
||||
{
|
||||
param.notification.pos_v = value == "TOP" ? NotifyPosition::TOP : NotifyPosition::BOTTOM;
|
||||
}
|
||||
|
||||
else if (var == "notification.sound")
|
||||
{
|
||||
param.notification.sound = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "notification.color")
|
||||
{
|
||||
param.notification.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// SERVICE MENU
|
||||
else if (var == "service_menu.title_color")
|
||||
{
|
||||
param.service_menu.title_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.text_color")
|
||||
{
|
||||
param.service_menu.text_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.selected_color")
|
||||
{
|
||||
param.service_menu.selected_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.bg_color")
|
||||
{
|
||||
param.service_menu.bg_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.drop_shadow")
|
||||
{
|
||||
param.service_menu.drop_shadow = stringToBool(value);
|
||||
}
|
||||
|
||||
// INTRO
|
||||
else if (var == "intro.bg_color")
|
||||
{
|
||||
param.intro.bg_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "intro.card_color")
|
||||
{
|
||||
param.intro.card_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "intro.shadow_color")
|
||||
{
|
||||
param.intro.shadow_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "intro.text_distance_from_bottom")
|
||||
{
|
||||
param.intro.text_distance_from_bottom = std::stoi(value);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
else if (var == "debug.color")
|
||||
{
|
||||
param.debug.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// RESOURCE
|
||||
else if (var == "resource.color")
|
||||
{
|
||||
param.resource.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// RESTO
|
||||
else
|
||||
{
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success;
|
||||
bool setParams(const std::string &var, const std::string &value) {
|
||||
// Indicador de éxito en la asignación
|
||||
auto success = true;
|
||||
|
||||
// GAME
|
||||
if (var == "game.width") {
|
||||
param.game.width = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.height") {
|
||||
param.game.height = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.item_size") {
|
||||
param.game.item_size = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.x") {
|
||||
param.game.play_area.rect.x = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.y") {
|
||||
param.game.play_area.rect.y = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.w") {
|
||||
param.game.play_area.rect.w = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.play_area.rect.h") {
|
||||
param.game.play_area.rect.h = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.name_entry_idle_time") {
|
||||
param.game.name_entry_idle_time = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.name_entry_total_time") {
|
||||
param.game.name_entry_total_time = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "game.hit_stop") {
|
||||
param.game.hit_stop = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "game.hit_stop_ms") {
|
||||
param.game.hit_stop_ms = std::stoi(value);
|
||||
}
|
||||
|
||||
// FADE
|
||||
else if (var == "fade.color") {
|
||||
param.fade.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.num_squares_width") {
|
||||
param.fade.num_squares_width = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.num_squares_height") {
|
||||
param.fade.num_squares_height = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.random_squares_delay") {
|
||||
param.fade.random_squares_delay = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.random_squares_mult") {
|
||||
param.fade.random_squares_mult = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.post_duration") {
|
||||
param.fade.post_duration = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "fade.venetian_size") {
|
||||
param.fade.venetian_size = std::stoi(value);
|
||||
}
|
||||
|
||||
// SCOREBOARD
|
||||
else if (var == "scoreboard.rect.x") {
|
||||
param.scoreboard.rect.x = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.rect.y") {
|
||||
param.scoreboard.rect.y = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.rect.w") {
|
||||
param.scoreboard.rect.w = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.rect.h") {
|
||||
param.scoreboard.rect.h = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.separator_autocolor") {
|
||||
param.scoreboard.separator_autocolor = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.separator_color") {
|
||||
param.scoreboard.separator_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.easy_color") {
|
||||
param.scoreboard.easy_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.normal_color") {
|
||||
param.scoreboard.normal_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.hard_color") {
|
||||
param.scoreboard.hard_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.text_autocolor") {
|
||||
param.scoreboard.text_autocolor = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.text_color1") {
|
||||
param.scoreboard.text_color1 = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.text_color2") {
|
||||
param.scoreboard.text_color2 = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "scoreboard.skip_countdown_value") {
|
||||
param.scoreboard.skip_countdown_value = std::stoi(value);
|
||||
}
|
||||
|
||||
// TITLE
|
||||
else if (var == "title.press_start_position") {
|
||||
param.title.press_start_position = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.title_duration") {
|
||||
param.title.title_duration = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.arcade_edition_position") {
|
||||
param.title.arcade_edition_position = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.title_c_c_position") {
|
||||
param.title.title_c_c_position = std::stoi(value);
|
||||
}
|
||||
|
||||
else if (var == "title.bg_color") {
|
||||
param.title.bg_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// BACKGROUND
|
||||
else if (var == "background.attenuate_color") {
|
||||
param.background.attenuate_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// BALLOON
|
||||
else if (var == "balloon.settings[0].vel") {
|
||||
param.balloon.settings.at(0).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[0].grav") {
|
||||
param.balloon.settings.at(0).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[1].vel") {
|
||||
param.balloon.settings.at(1).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[1].grav") {
|
||||
param.balloon.settings.at(1).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[2].vel") {
|
||||
param.balloon.settings.at(2).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[2].grav") {
|
||||
param.balloon.settings.at(2).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[3].vel") {
|
||||
param.balloon.settings.at(3).vel = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.settings[3].grav") {
|
||||
param.balloon.settings.at(3).grav = std::stof(value);
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[0]") {
|
||||
param.balloon.color.at(0) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[1]") {
|
||||
param.balloon.color.at(1) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[2]") {
|
||||
param.balloon.color.at(2) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.color[3]") {
|
||||
param.balloon.color.at(3) = value;
|
||||
}
|
||||
|
||||
else if (var == "balloon.bouncing_sound") {
|
||||
param.balloon.bouncing_sound = stringToBool(value);
|
||||
}
|
||||
|
||||
// NOTIFICACIONES
|
||||
else if (var == "notification.pos_h") {
|
||||
if (value == "LEFT") {
|
||||
param.notification.pos_h = NotifyPosition::LEFT;
|
||||
} else if (value == "MIDDLE") {
|
||||
param.notification.pos_h = NotifyPosition::MIDDLE;
|
||||
} else {
|
||||
param.notification.pos_h = NotifyPosition::RIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
else if (var == "notification.pos_v") {
|
||||
param.notification.pos_v = value == "TOP" ? NotifyPosition::TOP : NotifyPosition::BOTTOM;
|
||||
}
|
||||
|
||||
else if (var == "notification.sound") {
|
||||
param.notification.sound = stringToBool(value);
|
||||
}
|
||||
|
||||
else if (var == "notification.color") {
|
||||
param.notification.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// SERVICE MENU
|
||||
else if (var == "service_menu.title_color") {
|
||||
param.service_menu.title_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.text_color") {
|
||||
param.service_menu.text_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.selected_color") {
|
||||
param.service_menu.selected_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.bg_color") {
|
||||
param.service_menu.bg_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "service_menu.drop_shadow") {
|
||||
param.service_menu.drop_shadow = stringToBool(value);
|
||||
}
|
||||
|
||||
// INTRO
|
||||
else if (var == "intro.bg_color") {
|
||||
param.intro.bg_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "intro.card_color") {
|
||||
param.intro.card_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "intro.shadow_color") {
|
||||
param.intro.shadow_color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
else if (var == "intro.text_distance_from_bottom") {
|
||||
param.intro.text_distance_from_bottom = std::stoi(value);
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
else if (var == "debug.color") {
|
||||
param.debug.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// RESOURCE
|
||||
else if (var == "resource.color") {
|
||||
param.resource.color = Color::fromHex(value);
|
||||
}
|
||||
|
||||
// RESTO
|
||||
else {
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
// Calcula variables a partir de otras variables
|
||||
void precalculateZones()
|
||||
{
|
||||
// playArea
|
||||
param.game.play_area.center_x = param.game.play_area.rect.w / 2;
|
||||
param.game.play_area.first_quarter_x = param.game.play_area.rect.w / 4;
|
||||
param.game.play_area.third_quarter_x = param.game.play_area.rect.w / 4 * 3;
|
||||
param.game.play_area.center_y = param.game.play_area.rect.h / 2;
|
||||
param.game.play_area.first_quarter_y = param.game.play_area.rect.h / 4;
|
||||
param.game.play_area.third_quarter_y = param.game.play_area.rect.h / 4 * 3;
|
||||
void precalculateZones() {
|
||||
// playArea
|
||||
param.game.play_area.center_x = param.game.play_area.rect.w / 2;
|
||||
param.game.play_area.first_quarter_x = param.game.play_area.rect.w / 4;
|
||||
param.game.play_area.third_quarter_x = param.game.play_area.rect.w / 4 * 3;
|
||||
param.game.play_area.center_y = param.game.play_area.rect.h / 2;
|
||||
param.game.play_area.first_quarter_y = param.game.play_area.rect.h / 4;
|
||||
param.game.play_area.third_quarter_y = param.game.play_area.rect.h / 4 * 3;
|
||||
|
||||
// gameArea
|
||||
param.game.game_area.rect = {0, 0, param.game.width, param.game.height};
|
||||
param.game.game_area.center_x = param.game.game_area.rect.w / 2;
|
||||
param.game.game_area.first_quarter_x = param.game.game_area.rect.w / 4;
|
||||
param.game.game_area.third_quarter_x = param.game.game_area.rect.w / 4 * 3;
|
||||
param.game.game_area.center_y = param.game.game_area.rect.h / 2;
|
||||
param.game.game_area.first_quarter_y = param.game.game_area.rect.h / 4;
|
||||
param.game.game_area.third_quarter_y = param.game.game_area.rect.h / 4 * 3;
|
||||
// gameArea
|
||||
param.game.game_area.rect = {0, 0, param.game.width, param.game.height};
|
||||
param.game.game_area.center_x = param.game.game_area.rect.w / 2;
|
||||
param.game.game_area.first_quarter_x = param.game.game_area.rect.w / 4;
|
||||
param.game.game_area.third_quarter_x = param.game.game_area.rect.w / 4 * 3;
|
||||
param.game.game_area.center_y = param.game.game_area.rect.h / 2;
|
||||
param.game.game_area.first_quarter_y = param.game.game_area.rect.h / 4;
|
||||
param.game.game_area.third_quarter_y = param.game.game_area.rect.h / 4 * 3;
|
||||
}
|
||||
Reference in New Issue
Block a user