singletons
This commit is contained in:
@@ -88,8 +88,8 @@ Director::Director(int argc, const char *argv[]) {
|
||||
}
|
||||
|
||||
// Crea el objeto que controla los ficheros de recursos
|
||||
asset = new Asset(executablePath);
|
||||
asset->setVerbose(Options::settings.console);
|
||||
Asset::init(executablePath);
|
||||
Asset::get()->setVerbose(Options::settings.console);
|
||||
|
||||
// Si falta algún fichero no inicia el programa
|
||||
if (!setFileList()) {
|
||||
@@ -106,18 +106,18 @@ Director::Director(int argc, const char *argv[]) {
|
||||
Texture::setGlobalScaleMode(Options::video.scale_mode);
|
||||
|
||||
// Crea los objetos
|
||||
lang = new Lang(asset);
|
||||
lang->setLang(Options::settings.language);
|
||||
Lang::init();
|
||||
Lang::get()->setLang(Options::settings.language);
|
||||
|
||||
#ifdef __EMSCRIPTEN__
|
||||
input = new Input("/gamecontrollerdb.txt");
|
||||
Input::init("/gamecontrollerdb.txt");
|
||||
#else
|
||||
{
|
||||
const std::string binDir = std::filesystem::path(executablePath).parent_path().string();
|
||||
#ifdef MACOS_BUNDLE
|
||||
input = new Input(binDir + "/../Resources/gamecontrollerdb.txt");
|
||||
Input::init(binDir + "/../Resources/gamecontrollerdb.txt");
|
||||
#else
|
||||
input = new Input(binDir + "/gamecontrollerdb.txt");
|
||||
Input::init(binDir + "/gamecontrollerdb.txt");
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
@@ -130,22 +130,22 @@ Director::Director(int argc, const char *argv[]) {
|
||||
// intenta reclamar la ventana para el dispositivo SDL3 GPU.
|
||||
//
|
||||
// Por eso el constructor de Screen NO carga notificationText desde
|
||||
// Resource; se enlaza después vía `screen->initNotifications()`.
|
||||
screen = new Screen(window, renderer, asset);
|
||||
// Resource; se enlaza después vía `Screen::get()->initNotifications()`.
|
||||
Screen::init(window, renderer);
|
||||
|
||||
#ifndef NO_SHADERS
|
||||
if (Options::video.gpu.acceleration) {
|
||||
screen->initShaders();
|
||||
Screen::get()->initShaders();
|
||||
}
|
||||
#endif
|
||||
|
||||
// Ahora sí, precarga todos los recursos en memoria (texturas, sonidos,
|
||||
// música, ...). Vivirán durante toda la vida de la app.
|
||||
Resource::init(renderer, asset, input);
|
||||
Resource::init(renderer);
|
||||
|
||||
// Completa el enlazado de Screen con recursos que necesitan Resource
|
||||
// inicializado (actualmente sólo el Text de las notificaciones).
|
||||
screen->initNotifications();
|
||||
Screen::get()->initNotifications();
|
||||
|
||||
activeSection = ActiveSection::None;
|
||||
}
|
||||
@@ -163,14 +163,14 @@ Director::~Director() {
|
||||
|
||||
// Screen puede tener referencias a Text propiedad de Resource: destruir
|
||||
// Screen antes que Resource.
|
||||
delete screen;
|
||||
Screen::destroy();
|
||||
|
||||
// Libera todos los recursos precargados antes de cerrar SDL.
|
||||
Resource::destroy();
|
||||
|
||||
delete asset;
|
||||
delete input;
|
||||
delete lang;
|
||||
Asset::destroy();
|
||||
Input::destroy();
|
||||
Lang::destroy();
|
||||
delete section;
|
||||
|
||||
SDL_DestroyRenderer(renderer);
|
||||
@@ -186,51 +186,51 @@ Director::~Director() {
|
||||
// Inicializa el objeto input
|
||||
void Director::initInput() {
|
||||
// Establece si ha de mostrar mensajes
|
||||
input->setVerbose(Options::settings.console);
|
||||
Input::get()->setVerbose(Options::settings.console);
|
||||
|
||||
// Busca si hay un mando conectado
|
||||
input->discoverGameController();
|
||||
Input::get()->discoverGameController();
|
||||
|
||||
// Teclado - Movimiento del jugador
|
||||
input->bindKey(input_up, SDL_SCANCODE_UP);
|
||||
input->bindKey(input_down, SDL_SCANCODE_DOWN);
|
||||
input->bindKey(input_left, SDL_SCANCODE_LEFT);
|
||||
input->bindKey(input_right, SDL_SCANCODE_RIGHT);
|
||||
input->bindKey(input_fire_left, SDL_SCANCODE_Q);
|
||||
input->bindKey(input_fire_center, SDL_SCANCODE_W);
|
||||
input->bindKey(input_fire_right, SDL_SCANCODE_E);
|
||||
Input::get()->bindKey(input_up, SDL_SCANCODE_UP);
|
||||
Input::get()->bindKey(input_down, SDL_SCANCODE_DOWN);
|
||||
Input::get()->bindKey(input_left, SDL_SCANCODE_LEFT);
|
||||
Input::get()->bindKey(input_right, SDL_SCANCODE_RIGHT);
|
||||
Input::get()->bindKey(input_fire_left, SDL_SCANCODE_Q);
|
||||
Input::get()->bindKey(input_fire_center, SDL_SCANCODE_W);
|
||||
Input::get()->bindKey(input_fire_right, SDL_SCANCODE_E);
|
||||
|
||||
// Teclado - Otros
|
||||
input->bindKey(input_accept, SDL_SCANCODE_RETURN);
|
||||
input->bindKey(input_cancel, SDL_SCANCODE_ESCAPE);
|
||||
input->bindKey(input_pause, SDL_SCANCODE_ESCAPE);
|
||||
input->bindKey(input_exit, SDL_SCANCODE_ESCAPE);
|
||||
input->bindKey(input_window_dec_size, SDL_SCANCODE_F1);
|
||||
input->bindKey(input_window_inc_size, SDL_SCANCODE_F2);
|
||||
input->bindKey(input_window_fullscreen, SDL_SCANCODE_F3);
|
||||
input->bindKey(input_prev_preset, SDL_SCANCODE_F8);
|
||||
input->bindKey(input_next_preset, SDL_SCANCODE_F9);
|
||||
input->bindKey(input_toggle_shader, SDL_SCANCODE_F10);
|
||||
input->bindKey(input_toggle_shader_type, SDL_SCANCODE_F11);
|
||||
Input::get()->bindKey(input_accept, SDL_SCANCODE_RETURN);
|
||||
Input::get()->bindKey(input_cancel, SDL_SCANCODE_ESCAPE);
|
||||
Input::get()->bindKey(input_pause, SDL_SCANCODE_ESCAPE);
|
||||
Input::get()->bindKey(input_exit, SDL_SCANCODE_ESCAPE);
|
||||
Input::get()->bindKey(input_window_dec_size, SDL_SCANCODE_F1);
|
||||
Input::get()->bindKey(input_window_inc_size, SDL_SCANCODE_F2);
|
||||
Input::get()->bindKey(input_window_fullscreen, SDL_SCANCODE_F3);
|
||||
Input::get()->bindKey(input_prev_preset, SDL_SCANCODE_F8);
|
||||
Input::get()->bindKey(input_next_preset, SDL_SCANCODE_F9);
|
||||
Input::get()->bindKey(input_toggle_shader, SDL_SCANCODE_F10);
|
||||
Input::get()->bindKey(input_toggle_shader_type, SDL_SCANCODE_F11);
|
||||
|
||||
// Mando - Movimiento del jugador
|
||||
input->bindGameControllerButton(input_up, SDL_GAMEPAD_BUTTON_DPAD_UP);
|
||||
input->bindGameControllerButton(input_down, SDL_GAMEPAD_BUTTON_DPAD_DOWN);
|
||||
input->bindGameControllerButton(input_left, SDL_GAMEPAD_BUTTON_DPAD_LEFT);
|
||||
input->bindGameControllerButton(input_right, SDL_GAMEPAD_BUTTON_DPAD_RIGHT);
|
||||
input->bindGameControllerButton(input_fire_left, SDL_GAMEPAD_BUTTON_WEST);
|
||||
input->bindGameControllerButton(input_fire_center, SDL_GAMEPAD_BUTTON_NORTH);
|
||||
input->bindGameControllerButton(input_fire_right, SDL_GAMEPAD_BUTTON_EAST);
|
||||
Input::get()->bindGameControllerButton(input_up, SDL_GAMEPAD_BUTTON_DPAD_UP);
|
||||
Input::get()->bindGameControllerButton(input_down, SDL_GAMEPAD_BUTTON_DPAD_DOWN);
|
||||
Input::get()->bindGameControllerButton(input_left, SDL_GAMEPAD_BUTTON_DPAD_LEFT);
|
||||
Input::get()->bindGameControllerButton(input_right, SDL_GAMEPAD_BUTTON_DPAD_RIGHT);
|
||||
Input::get()->bindGameControllerButton(input_fire_left, SDL_GAMEPAD_BUTTON_WEST);
|
||||
Input::get()->bindGameControllerButton(input_fire_center, SDL_GAMEPAD_BUTTON_NORTH);
|
||||
Input::get()->bindGameControllerButton(input_fire_right, SDL_GAMEPAD_BUTTON_EAST);
|
||||
|
||||
// Mando - Otros
|
||||
// SOUTH queda sin asignar para evitar salidas accidentales: pausa/cancel se hace con START/BACK.
|
||||
input->bindGameControllerButton(input_accept, SDL_GAMEPAD_BUTTON_EAST);
|
||||
Input::get()->bindGameControllerButton(input_accept, SDL_GAMEPAD_BUTTON_EAST);
|
||||
#ifdef GAME_CONSOLE
|
||||
input->bindGameControllerButton(input_pause, SDL_GAMEPAD_BUTTON_BACK);
|
||||
input->bindGameControllerButton(input_exit, SDL_GAMEPAD_BUTTON_START);
|
||||
Input::get()->bindGameControllerButton(input_pause, SDL_GAMEPAD_BUTTON_BACK);
|
||||
Input::get()->bindGameControllerButton(input_exit, SDL_GAMEPAD_BUTTON_START);
|
||||
#else
|
||||
input->bindGameControllerButton(input_pause, SDL_GAMEPAD_BUTTON_START);
|
||||
input->bindGameControllerButton(input_exit, SDL_GAMEPAD_BUTTON_BACK);
|
||||
Input::get()->bindGameControllerButton(input_pause, SDL_GAMEPAD_BUTTON_START);
|
||||
Input::get()->bindGameControllerButton(input_exit, SDL_GAMEPAD_BUTTON_BACK);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -313,123 +313,123 @@ bool Director::setFileList() {
|
||||
#endif
|
||||
|
||||
// Ficheros de configuración
|
||||
asset->add(systemFolder + "/score.bin", t_data, false, true);
|
||||
asset->add(prefix + "/data/demo/demo.bin", t_data);
|
||||
Asset::get()->add(systemFolder + "/score.bin", t_data, false, true);
|
||||
Asset::get()->add(prefix + "/data/demo/demo.bin", t_data);
|
||||
|
||||
// Musicas
|
||||
asset->add(prefix + "/data/music/intro.ogg", t_music);
|
||||
asset->add(prefix + "/data/music/playing.ogg", t_music);
|
||||
asset->add(prefix + "/data/music/title.ogg", t_music);
|
||||
Asset::get()->add(prefix + "/data/music/intro.ogg", t_music);
|
||||
Asset::get()->add(prefix + "/data/music/playing.ogg", t_music);
|
||||
Asset::get()->add(prefix + "/data/music/title.ogg", t_music);
|
||||
|
||||
// Sonidos
|
||||
asset->add(prefix + "/data/sound/balloon.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/bubble1.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/bubble2.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/bubble3.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/bubble4.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/bullet.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/coffeeout.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/hiscore.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/itemdrop.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/itempickup.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/menu_move.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/menu_select.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/player_collision.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/stage_change.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/title.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/clock.wav", t_sound);
|
||||
asset->add(prefix + "/data/sound/powerball.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/balloon.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/bubble1.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/bubble2.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/bubble3.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/bubble4.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/bullet.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/coffeeout.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/hiscore.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/itemdrop.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/itempickup.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/menu_move.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/menu_select.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/player_collision.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/stage_change.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/title.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/clock.wav", t_sound);
|
||||
Asset::get()->add(prefix + "/data/sound/powerball.wav", t_sound);
|
||||
|
||||
// Texturas
|
||||
asset->add(prefix + "/data/gfx/balloon1.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/balloon1.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/balloon2.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/balloon2.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/balloon3.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/balloon3.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/balloon4.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/balloon4.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/bullet.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon1.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon1.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon2.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon2.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon3.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon3.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon4.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/balloon4.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/bullet.png", t_bitmap);
|
||||
|
||||
asset->add(prefix + "/data/gfx/game_buildings.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/game_clouds.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/game_grass.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/game_power_meter.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/game_sky_colors.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/game_text.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/game_buildings.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/game_clouds.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/game_grass.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/game_power_meter.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/game_sky_colors.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/game_text.png", t_bitmap);
|
||||
|
||||
asset->add(prefix + "/data/gfx/intro.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/logo.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/menu_game_over.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/menu_game_over_end.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/intro.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/logo.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/menu_game_over.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/menu_game_over_end.png", t_bitmap);
|
||||
|
||||
asset->add(prefix + "/data/gfx/item_points1_disk.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/item_points1_disk.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/item_points2_gavina.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/item_points2_gavina.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/item_points3_pacmar.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/item_points3_pacmar.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/item_clock.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/item_clock.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/item_coffee.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/item_coffee.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/item_coffee_machine.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/item_coffee_machine.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_points1_disk.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_points1_disk.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_points2_gavina.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_points2_gavina.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_points3_pacmar.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_points3_pacmar.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_clock.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_clock.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_coffee.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_coffee.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_coffee_machine.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/item_coffee_machine.ani", t_data);
|
||||
|
||||
asset->add(prefix + "/data/gfx/title_bg_tile.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/title_coffee.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/title_crisis.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/title_dust.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/title_dust.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/title_gradient.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/title_bg_tile.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/title_coffee.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/title_crisis.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/title_dust.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/title_dust.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/title_gradient.png", t_bitmap);
|
||||
|
||||
asset->add(prefix + "/data/gfx/player_head.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/player_body.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/player_legs.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/player_death.ani", t_data);
|
||||
asset->add(prefix + "/data/gfx/player_fire.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_head.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_body.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_legs.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_death.ani", t_data);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_fire.ani", t_data);
|
||||
|
||||
asset->add(prefix + "/data/gfx/player_bal1_head.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_bal1_body.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_bal1_legs.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_bal1_death.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_bal1_fire.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_bal1_head.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_bal1_body.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_bal1_legs.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_bal1_death.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_bal1_fire.png", t_bitmap);
|
||||
|
||||
asset->add(prefix + "/data/gfx/player_arounder_head.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_arounder_body.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_arounder_legs.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_arounder_death.png", t_bitmap);
|
||||
asset->add(prefix + "/data/gfx/player_arounder_fire.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_arounder_head.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_arounder_body.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_arounder_legs.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_arounder_death.png", t_bitmap);
|
||||
Asset::get()->add(prefix + "/data/gfx/player_arounder_fire.png", t_bitmap);
|
||||
|
||||
// Fuentes
|
||||
asset->add(prefix + "/data/font/8bithud.png", t_font);
|
||||
asset->add(prefix + "/data/font/8bithud.txt", t_font);
|
||||
asset->add(prefix + "/data/font/nokia.png", t_font);
|
||||
asset->add(prefix + "/data/font/nokia_big2.png", t_font);
|
||||
asset->add(prefix + "/data/font/nokia.txt", t_font);
|
||||
asset->add(prefix + "/data/font/nokia2.png", t_font);
|
||||
asset->add(prefix + "/data/font/nokia2.txt", t_font);
|
||||
asset->add(prefix + "/data/font/nokia_big2.txt", t_font);
|
||||
asset->add(prefix + "/data/font/smb2_big.png", t_font);
|
||||
asset->add(prefix + "/data/font/smb2_big.txt", t_font);
|
||||
asset->add(prefix + "/data/font/smb2.png", t_font);
|
||||
asset->add(prefix + "/data/font/smb2.txt", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/8bithud.png", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/8bithud.txt", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/nokia.png", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/nokia_big2.png", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/nokia.txt", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/nokia2.png", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/nokia2.txt", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/nokia_big2.txt", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/smb2_big.png", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/smb2_big.txt", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/smb2.png", t_font);
|
||||
Asset::get()->add(prefix + "/data/font/smb2.txt", t_font);
|
||||
|
||||
// Textos
|
||||
asset->add(prefix + "/data/lang/es_ES.txt", t_lang);
|
||||
asset->add(prefix + "/data/lang/en_UK.txt", t_lang);
|
||||
asset->add(prefix + "/data/lang/ba_BA.txt", t_lang);
|
||||
Asset::get()->add(prefix + "/data/lang/es_ES.txt", t_lang);
|
||||
Asset::get()->add(prefix + "/data/lang/en_UK.txt", t_lang);
|
||||
Asset::get()->add(prefix + "/data/lang/ba_BA.txt", t_lang);
|
||||
|
||||
// Menus
|
||||
asset->add(prefix + "/data/menu/title.men", t_data);
|
||||
asset->add(prefix + "/data/menu/title_gc.men", t_data);
|
||||
asset->add(prefix + "/data/menu/options.men", t_data);
|
||||
asset->add(prefix + "/data/menu/options_gc.men", t_data);
|
||||
asset->add(prefix + "/data/menu/pause.men", t_data);
|
||||
asset->add(prefix + "/data/menu/gameover.men", t_data);
|
||||
asset->add(prefix + "/data/menu/player_select.men", t_data);
|
||||
Asset::get()->add(prefix + "/data/menu/title.men", t_data);
|
||||
Asset::get()->add(prefix + "/data/menu/title_gc.men", t_data);
|
||||
Asset::get()->add(prefix + "/data/menu/options.men", t_data);
|
||||
Asset::get()->add(prefix + "/data/menu/options_gc.men", t_data);
|
||||
Asset::get()->add(prefix + "/data/menu/pause.men", t_data);
|
||||
Asset::get()->add(prefix + "/data/menu/gameover.men", t_data);
|
||||
Asset::get()->add(prefix + "/data/menu/player_select.men", t_data);
|
||||
|
||||
return asset->check();
|
||||
return Asset::get()->check();
|
||||
}
|
||||
|
||||
// Comprueba los parametros del programa
|
||||
@@ -540,17 +540,17 @@ void Director::handleSectionTransition() {
|
||||
activeSection = targetSection;
|
||||
switch (activeSection) {
|
||||
case ActiveSection::Logo:
|
||||
logo = std::make_unique<Logo>(renderer, screen, asset, input, section);
|
||||
logo = std::make_unique<Logo>(renderer, section);
|
||||
break;
|
||||
case ActiveSection::Intro:
|
||||
intro = std::make_unique<Intro>(renderer, screen, asset, input, lang, section);
|
||||
intro = std::make_unique<Intro>(renderer, section);
|
||||
break;
|
||||
case ActiveSection::Title:
|
||||
title = std::make_unique<Title>(renderer, screen, input, asset, lang, section);
|
||||
title = std::make_unique<Title>(renderer, section);
|
||||
break;
|
||||
case ActiveSection::Game: {
|
||||
const int numPlayers = section->subsection == SUBSECTION_GAME_PLAY_1P ? 1 : 2;
|
||||
game = std::make_unique<Game>(numPlayers, 0, renderer, screen, asset, lang, input, false, section);
|
||||
game = std::make_unique<Game>(numPlayers, 0, renderer, false, section);
|
||||
break;
|
||||
}
|
||||
case ActiveSection::None:
|
||||
@@ -611,16 +611,16 @@ SDL_AppResult Director::handleEvent(SDL_Event *event) {
|
||||
// Hot-plug de mandos
|
||||
if (event->type == SDL_EVENT_GAMEPAD_ADDED) {
|
||||
std::string name;
|
||||
if (input->handleGamepadAdded(event->gdevice.which, name)) {
|
||||
screen->notify(name + " " + lang->getText(94),
|
||||
if (Input::get()->handleGamepadAdded(event->gdevice.which, name)) {
|
||||
Screen::get()->notify(name + " " + Lang::get()->getText(94),
|
||||
color_t{0x40, 0xFF, 0x40},
|
||||
color_t{0, 0, 0},
|
||||
2500);
|
||||
}
|
||||
} else if (event->type == SDL_EVENT_GAMEPAD_REMOVED) {
|
||||
std::string name;
|
||||
if (input->handleGamepadRemoved(event->gdevice.which, name)) {
|
||||
screen->notify(name + " " + lang->getText(95),
|
||||
if (Input::get()->handleGamepadRemoved(event->gdevice.which, name)) {
|
||||
Screen::get()->notify(name + " " + Lang::get()->getText(95),
|
||||
color_t{0xFF, 0x50, 0x50},
|
||||
color_t{0, 0, 0},
|
||||
2500);
|
||||
@@ -650,4 +650,3 @@ SDL_AppResult Director::handleEvent(SDL_Event *event) {
|
||||
|
||||
return SDL_APP_CONTINUE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user