Guardada en el fichero de configuración la asignación de cada mando a cada jugador
This commit is contained in:
@@ -48,7 +48,7 @@ Director::Director(int argc, char *argv[])
|
|||||||
|
|
||||||
// Carga los parametros para configurar el juego
|
// Carga los parametros para configurar el juego
|
||||||
const std::string paramFilePath = paramFileArgument == "--320x240" ? asset->get("param_320x240.txt") : asset->get("param_320x256.txt");
|
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
|
// Carga el fichero de configuración
|
||||||
loadConfigFile();
|
loadConfigFile();
|
||||||
@@ -776,6 +776,7 @@ bool Director::saveConfigFile()
|
|||||||
{
|
{
|
||||||
const std::string joyIndex = std::to_string(index + 1);
|
const std::string joyIndex = std::to_string(index + 1);
|
||||||
file << "controller" + joyIndex + ".name=" + options->controller[index].name + "\n";
|
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_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_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";
|
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;
|
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")
|
else if (var == "controller1.inputs.fire_left")
|
||||||
{
|
{
|
||||||
options->controller[0].buttons[0] = (SDL_GameControllerButton)std::stoi(value);
|
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;
|
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")
|
else if (var == "controller2.inputs.fire_left")
|
||||||
{
|
{
|
||||||
options->controller[1].buttons[0] = (SDL_GameControllerButton)std::stoi(value);
|
options->controller[1].buttons[0] = (SDL_GameControllerButton)std::stoi(value);
|
||||||
|
|||||||
@@ -3,39 +3,39 @@
|
|||||||
// Comprueba el botón de servicio del controlador "index"
|
// Comprueba el botón de servicio del controlador "index"
|
||||||
int checkServiceButton(Input *input, int index)
|
int checkServiceButton(Input *input, int index)
|
||||||
{
|
{
|
||||||
if (input->checkInput(input_service, true, INPUT_USE_GAMECONTROLLER, index))
|
if (input->checkInput(input_service, INPUT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
if (input->checkInput(input_start, false, INPUT_USE_GAMECONTROLLER, index))
|
if (input->checkInput(input_start, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
return SERVICE_EXIT;
|
return SERVICE_EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (input->checkInput(input_fire_left, false, INPUT_USE_GAMECONTROLLER, index))
|
else if (input->checkInput(input_fire_left, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
return SERVICE_CONFIG;
|
return SERVICE_CONFIG;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (input->checkInput(input_fire_center, false, INPUT_USE_GAMECONTROLLER, index))
|
else if (input->checkInput(input_fire_center, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
return SERVICE_SHADERS;
|
return SERVICE_SHADERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (input->checkInput(input_fire_right, false, INPUT_USE_GAMECONTROLLER, index))
|
else if (input->checkInput(input_fire_right, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
return SERVICE_PAUSE;
|
return SERVICE_PAUSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (input->checkInput(input_up, false, INPUT_USE_GAMECONTROLLER, index))
|
else if (input->checkInput(input_up, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
return SERVICE_SWAP_CONTROLLERS;
|
return SERVICE_SWAP_CONTROLLERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (input->checkInput(input_down, false, INPUT_USE_GAMECONTROLLER, index))
|
else if (input->checkInput(input_down, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
return SERVICE_RESET;
|
return SERVICE_RESET;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (input->checkInput(input_left, false, INPUT_USE_GAMECONTROLLER, index))
|
else if (input->checkInput(input_left, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, index))
|
||||||
{
|
{
|
||||||
return SERVICE_MUTE;
|
return SERVICE_MUTE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -277,6 +277,11 @@ void Title::checkInput()
|
|||||||
section->options = SECTION_OPTIONS_QUIT_SHUTDOWN;
|
section->options = SECTION_OPTIONS_QUIT_SHUTDOWN;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SERVICE_RESET:
|
||||||
|
section->name = SECTION_PROG_LOGO;
|
||||||
|
screen->showNotification("Reset");
|
||||||
|
break;
|
||||||
|
|
||||||
case SERVICE_SHADERS:
|
case SERVICE_SHADERS:
|
||||||
screen->switchShaders();
|
screen->switchShaders();
|
||||||
break;
|
break;
|
||||||
@@ -287,6 +292,8 @@ void Title::checkInput()
|
|||||||
|
|
||||||
case SERVICE_SWAP_CONTROLLERS:
|
case SERVICE_SWAP_CONTROLLERS:
|
||||||
defineButtons->swapControllers();
|
defineButtons->swapControllers();
|
||||||
|
screen->showNotification("Swap Controllers");
|
||||||
|
resetCounter();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user