Guardada en el fichero de configuración la asignación de cada mando a cada jugador

This commit is contained in:
2024-09-15 13:29:05 +02:00
parent 8fc217f0e3
commit c40c59275a
3 changed files with 27 additions and 9 deletions

View File

@@ -48,7 +48,7 @@ Director::Director(int argc, char *argv[])
// Carga los parametros para configurar el juego
const std::string paramFilePath = paramFileArgument == "--320x240" ? asset->get("param_320x240.txt") : asset->get("param_320x256.txt");
loadParams(paramFilePath);
loadParams(paramFilePath);
// Carga el fichero de configuración
loadConfigFile();
@@ -776,6 +776,7 @@ bool Director::saveConfigFile()
{
const std::string joyIndex = std::to_string(index + 1);
file << "controller" + joyIndex + ".name=" + options->controller[index].name + "\n";
file << "controller" + joyIndex + ".player=" + std::to_string(options->controller[index].playerId) + "\n";
file << "controller" + joyIndex + ".inputs.fire_left=" + std::to_string((int)options->controller[index].buttons[0]) + "\n";
file << "controller" + joyIndex + ".inputs.fire_center=" + std::to_string((int)options->controller[index].buttons[1]) + "\n";
file << "controller" + joyIndex + ".inputs.fire_right=" + std::to_string((int)options->controller[index].buttons[2]) + "\n";
@@ -1065,6 +1066,11 @@ bool Director::setOptions(options_t *options, std::string var, std::string value
options->controller[0].name = value;
}
else if (var == "controller1.player")
{
options->controller[0].playerId = std::max(1, std::min(2, std::stoi(value)));
}
else if (var == "controller1.inputs.fire_left")
{
options->controller[0].buttons[0] = (SDL_GameControllerButton)std::stoi(value);
@@ -1095,6 +1101,11 @@ bool Director::setOptions(options_t *options, std::string var, std::string value
options->controller[1].name = value;
}
else if (var == "controller2.player")
{
options->controller[1].playerId = std::max(1, std::min(2, std::stoi(value)));
}
else if (var == "controller2.inputs.fire_left")
{
options->controller[1].buttons[0] = (SDL_GameControllerButton)std::stoi(value);