diff --git a/data/lang/ba_BA.txt b/data/lang/ba_BA.txt index 88d981a..46e5478 100644 --- a/data/lang/ba_BA.txt +++ b/data/lang/ba_BA.txt @@ -206,7 +206,7 @@ NORMAL DIFICIL ## 69 - MENU DE OPCIONES -TECLAT +Teclat ## 70 - MENU DE OPCIONES MANDO diff --git a/data/lang/en_UK.txt b/data/lang/en_UK.txt index eba96e2..b16d861 100644 --- a/data/lang/en_UK.txt +++ b/data/lang/en_UK.txt @@ -206,7 +206,7 @@ NORMAL HARD ## 69 - MENU DE OPCIONES -KEYBOARD +Keyboard ## 70 - MENU DE OPCIONES GAME CONTROLLER diff --git a/data/lang/es_ES.txt b/data/lang/es_ES.txt index be019ca..4ab7bae 100644 --- a/data/lang/es_ES.txt +++ b/data/lang/es_ES.txt @@ -206,7 +206,7 @@ NORMAL DIFICIL ## 69 - MENU DE OPCIONES -TECLADO +Teclado ## 70 - MENU DE OPCIONES MANDO diff --git a/source/director.cpp b/source/director.cpp index 9b93220..27e6575 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -233,6 +233,12 @@ void Director::bindInputs() options.controllers.at(i).buttons.at(j) = Input::get()->getControllerBinding(i, options.controllers.at(i).inputs.at(j)); } } + + // Asegura que algún jugador tenga el teclado asignado + if (getPlayerWhoUsesKeyboard() == 0) + { + setKeyboardToPlayer(1); + } } // Inicializa JailAudio diff --git a/source/options.cpp b/source/options.cpp index fa6b787..f57f357 100644 --- a/source/options.cpp +++ b/source/options.cpp @@ -166,17 +166,21 @@ bool saveOptionsFile(std::string file_path) // Opciones de mandos file << "\n\n## CONTROLLERS\n"; + int controller_index = 0; for (const auto &controller : options.controllers) { file << "\n"; - file << "controller." << controller.index << ".name=" << controller.name << "\n"; - file << "controller." << controller.index << ".player=" << controller.player_id << "\n"; - file << "controller." << controller.index << ".type=" << static_cast(controller.type) << "\n"; - file << "controller." << controller.index << ".button.fire_left=" << controller.buttons.at(0) << "\n"; - file << "controller." << controller.index << ".button.fire_center=" << controller.buttons.at(1) << "\n"; - file << "controller." << controller.index << ".button.fire_right=" << controller.buttons.at(2) << "\n"; - file << "controller." << controller.index << ".button.start=" << controller.buttons.at(3) << "\n"; - file << "controller." << controller.index << ".button.service=" << controller.buttons.at(4) << "\n"; + file << "controller." << controller_index << ".name=" << controller.name << "\n"; + file << "controller." << controller_index << ".player=" << controller.player_id << "\n"; + file << "controller." << controller_index << ".type=" << static_cast(controller.type) << "\n"; + file << "controller." << controller_index << ".button.fire_left=" << controller.buttons.at(0) << "\n"; + file << "controller." << controller_index << ".button.fire_center=" << controller.buttons.at(1) << "\n"; + file << "controller." << controller_index << ".button.fire_right=" << controller.buttons.at(2) << "\n"; + file << "controller." << controller_index << ".button.start=" << controller.buttons.at(3) << "\n"; + file << "controller." << controller_index << ".button.service=" << controller.buttons.at(4) << "\n"; + + // Incrementa el índice + ++controller_index; } // Cierra el fichero diff --git a/source/title.cpp b/source/title.cpp index c532831..8fe8147 100644 --- a/source/title.cpp +++ b/source/title.cpp @@ -173,7 +173,7 @@ void Title::checkEvents() { // Comprueba el input para el resto de objetos define_buttons_->checkEvents(); - + // Si define_buttons_ está habilitado, es él quien gestiona los eventos if (!define_buttons_->isEnabled()) { @@ -213,16 +213,19 @@ void Title::checkEvents() case SDLK_3: // Intercambia los mandos entre los dos jugadores { swapControllers(); + resetCounter(); break; } case SDLK_4: // Muestra la asignacion de mandos { showControllers(); + resetCounter(); break; } case SDLK_5: // Intercambia la asignación del teclado { swapKeyboard(); + resetCounter(); break; } default: @@ -311,7 +314,8 @@ void Title::swapControllers() void Title::swapKeyboard() { swapOptionsKeyboard(); - Notifier::get()->showText("Teclat per al jugador " + std::to_string(getPlayerWhoUsesKeyboard())); + std::string text = lang::getText(100) + std::to_string(getPlayerWhoUsesKeyboard()) + ": " + lang::getText(69); + Notifier::get()->showText(text); } // Muestra información sobre los controles y los jugadores @@ -340,5 +344,4 @@ void Title::showControllers() } Notifier::get()->showText(text.at(0), text.at(1)); - resetCounter(); }