Abans de clavar-li ma a Input

This commit is contained in:
2024-11-01 20:01:17 +01:00
parent 2dd8bbbbf7
commit a1ccb6102a
3 changed files with 27 additions and 39 deletions

View File

@@ -110,30 +110,18 @@ Director::Director(int argc, const char *argv[])
manager->loadFromFile(Asset::get()->get("score.bin"));
}
// Inicializa SDL
// Inicializa todo
initSDL();
// Inicializa JailAudio
initJailAudio();
// Inicializa el texto de debug
dbg_init(renderer_);
// Crea los objetos
lang::loadFromFile(getLangFile((lang::Code)options.game.language));
lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language)));
Screen::init(window_, renderer_);
Resource::init();
Input::init(Asset::get()->get("gamecontrollerdb.txt"));
bindInputs();
auto notifier_text = std::make_shared<Text>(Resource::get()->getTexture("8bithud.png"), Resource::get()->getTextFile("8bithud.txt"));
Notifier::init(std::string(), notifier_text, Asset::get()->get("notify.wav"));
OnScreenHelp::init();
globalInputs::init();
}
@@ -204,16 +192,20 @@ void Director::bindInputs()
}
// Mapea las asignaciones a los botones desde el archivo de configuración, si se da el caso
for (int i = 0; i < num_gamepads; ++i)
for (int index = 0; index < (int)options.controller.size(); ++index)
if (Input::get()->getControllerName(i) == options.controller[index].name)
for (size_t i = 0; i < num_gamepads; ++i)
{
for (size_t index = 0; index < options.controller.size(); ++index)
{
if (Input::get()->getControllerName(i) == options.controller.at(index).name)
{
options.controller[index].plugged = true;
for (int j = 0; j < (int)options.controller[index].inputs.size(); ++j)
options.controller.at(index).plugged = true;
for (size_t j = 0; j < options.controller.at(index).inputs.size(); ++j)
{
Input::get()->bindGameControllerButton(i, options.controller[index].inputs[j], options.controller[index].buttons[j]);
Input::get()->bindGameControllerButton(i, options.controller.at(index).inputs.at(j), options.controller.at(index).buttons.at(j));
}
}
}
}
// Asigna botones a inputs desde otros inputs
for (int i = 0; i < num_gamepads; ++i)