convertit Asset i Audio

This commit is contained in:
2025-05-27 11:06:17 +02:00
parent 9bc07b2bcb
commit ada141cb09
29 changed files with 493 additions and 472 deletions

View File

@@ -84,21 +84,26 @@ Director::~Director()
// Inicializa todo
void Director::init()
{
Asset::init(executable_path_); // Crea el objeto que controla los ficheros de recursos
setFileList(); // Crea el indice de ficheros
loadOptionsFile(Asset::get()->get("config.txt")); // Carga el fichero de configuración
loadParams(); // Carga los parametros
loadScoreFile(); // Carga el fichero de puntuaciones
// Configuración inicial de recursos
Asset::get().init(executable_path_); // Inicializa el sistema de gestión de archivos
setFileList(); // Crea el índice de archivos
loadOptionsFile(Asset::get().get("config.txt")); // Carga el archivo de configuración
loadParams(); // Carga los parámetros del programa
loadScoreFile(); // Carga el archivo de puntuaciones
// Inicializa y crea el resto de objetos
lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language)));
Screen::init();
Audio::init();
Resource::init();
Input::init(Asset::get()->get("gamecontrollerdb.txt"));
bindInputs();
// Inicialización de subsistemas
lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language))); // Carga el archivo de idioma
Screen::init(); // Inicializa la pantalla y el sistema de renderizado
Audio::get(); // Activa el sistema de audio
Resource::init(); // Inicializa el sistema de gestión de recursos
Input::init(Asset::get().get("gamecontrollerdb.txt")); // Carga configuración de controles
bindInputs(); // Asigna los controles a la entrada del sistema
// Inicialización del sistema de notificaciones
Notifier::init(std::string(), Resource::get()->getText("8bithud"));
#ifdef DEBUG
// Configuración adicional en modo depuración
Screen::get()->initDebugInfo();
Screen::get()->setDebugInfoEnabled(true);
#endif
@@ -107,14 +112,12 @@ void Director::init()
// Cierra todo
void Director::close()
{
saveOptionsFile(Asset::get()->get("config.txt"));
saveOptionsFile(Asset::get().get("config.txt"));
Notifier::destroy();
Input::destroy();
Resource::destroy();
Audio::destroy();
Screen::destroy();
Asset::destroy();
SDL_Quit();
@@ -130,7 +133,7 @@ void Director::loadParams()
#ifdef ANBERNIC
const std::string paramFilePath = asset->get("param_320x240.txt");
#else
const std::string paramFilePath = overrides.param_file == "--320x240" ? Asset::get()->get("param_320x240.txt") : Asset::get()->get("param_320x256.txt");
const std::string paramFilePath = overrides.param_file == "--320x240" ? Asset::get().get("param_320x240.txt") : Asset::get().get("param_320x256.txt");
#endif
loadParamsFromFile(paramFilePath);
}
@@ -145,7 +148,7 @@ void Director::loadScoreFile()
}
else
{
manager->loadFromFile(Asset::get()->get("score.bin"));
manager->loadFromFile(Asset::get().get("score.bin"));
}
}
@@ -264,189 +267,189 @@ void Director::setFileList()
#endif
// Ficheros de configuración
Asset::get()->add(system_folder_ + "/config.txt", AssetType::DATA, false, true);
Asset::get()->add(system_folder_ + "/score.bin", AssetType::DATA, false, true);
Asset::get()->add(prefix + "/data/config/param_320x240.txt", AssetType::DATA);
Asset::get()->add(prefix + "/data/config/param_320x256.txt", AssetType::DATA);
Asset::get()->add(prefix + "/data/config/demo1.bin", AssetType::DATA);
Asset::get()->add(prefix + "/data/config/demo2.bin", AssetType::DATA);
Asset::get()->add(prefix + "/data/config/gamecontrollerdb.txt", AssetType::DATA);
Asset::get().add(system_folder_ + "/config.txt", AssetType::DATA, false, true);
Asset::get().add(system_folder_ + "/score.bin", AssetType::DATA, false, true);
Asset::get().add(prefix + "/data/config/param_320x240.txt", AssetType::DATA);
Asset::get().add(prefix + "/data/config/param_320x256.txt", AssetType::DATA);
Asset::get().add(prefix + "/data/config/demo1.bin", AssetType::DATA);
Asset::get().add(prefix + "/data/config/demo2.bin", AssetType::DATA);
Asset::get().add(prefix + "/data/config/gamecontrollerdb.txt", AssetType::DATA);
// Musicas
Asset::get()->add(prefix + "/data/music/intro.ogg", AssetType::MUSIC);
Asset::get()->add(prefix + "/data/music/playing.ogg", AssetType::MUSIC);
Asset::get()->add(prefix + "/data/music/title.ogg", AssetType::MUSIC);
Asset::get()->add(prefix + "/data/music/credits.ogg", AssetType::MUSIC);
Asset::get().add(prefix + "/data/music/intro.ogg", AssetType::MUSIC);
Asset::get().add(prefix + "/data/music/playing.ogg", AssetType::MUSIC);
Asset::get().add(prefix + "/data/music/title.ogg", AssetType::MUSIC);
Asset::get().add(prefix + "/data/music/credits.ogg", AssetType::MUSIC);
// Sonidos
Asset::get()->add(prefix + "/data/sound/balloon.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/bubble1.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/bubble2.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/bubble3.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/bubble4.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/bullet.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/clock.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/coffee_out.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/continue_clock.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/game_start.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/hi_score_achieved.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/item_drop.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/item_pickup.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/logo.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/notify.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/player_collision.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/power_ball_explosion.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/stage_change.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/tabe.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/title.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/voice_coffee.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/voice_get_ready.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/voice_no.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/voice_power_up.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/walk.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/debian_drop.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/debian_pickup.wav", AssetType::SOUND);
Asset::get()->add(prefix + "/data/sound/tabe_hit.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/balloon.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/bubble1.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/bubble2.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/bubble3.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/bubble4.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/bullet.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/clock.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/coffee_out.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/continue_clock.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/game_start.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/hi_score_achieved.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/item_drop.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/item_pickup.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/logo.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/notify.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/player_collision.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/power_ball_explosion.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/stage_change.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/tabe.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/title.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/voice_coffee.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/voice_get_ready.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/voice_no.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/voice_power_up.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/walk.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/debian_drop.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/debian_pickup.wav", AssetType::SOUND);
Asset::get().add(prefix + "/data/sound/tabe_hit.wav", AssetType::SOUND);
// Shaders
Asset::get()->add(prefix + "/data/shaders/crtpi_256.glsl", AssetType::DATA);
Asset::get()->add(prefix + "/data/shaders/crtpi_240.glsl", AssetType::DATA);
Asset::get().add(prefix + "/data/shaders/crtpi_256.glsl", AssetType::DATA);
Asset::get().add(prefix + "/data/shaders/crtpi_240.glsl", AssetType::DATA);
// Texturas
{ // Controllers
Asset::get()->add(prefix + "/data/gfx/controllers/controllers.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/controllers/controllers.png", AssetType::BITMAP);
}
{ // Balloons
Asset::get()->add(prefix + "/data/gfx/balloon/balloon1.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/balloon1.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/balloon/balloon2.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/balloon2.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/balloon/balloon3.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/balloon3.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/balloon/balloon4.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/balloon4.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/balloon1.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/balloon1.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/balloon2.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/balloon2.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/balloon3.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/balloon3.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/balloon4.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/balloon4.ani", AssetType::ANIMATION);
}
{ // Explosions
Asset::get()->add(prefix + "/data/gfx/balloon/explosion1.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/explosion1.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/balloon/explosion2.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/explosion2.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/balloon/explosion3.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/explosion3.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/balloon/explosion4.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/explosion4.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/explosion1.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/explosion1.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/explosion2.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/explosion2.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/explosion3.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/explosion3.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/explosion4.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/explosion4.ani", AssetType::ANIMATION);
}
{ // Power Ball
Asset::get()->add(prefix + "/data/gfx/balloon/powerball.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/balloon/powerball.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/balloon/powerball.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/balloon/powerball.ani", AssetType::ANIMATION);
}
{ // Bala
Asset::get()->add(prefix + "/data/gfx/bullet/bullet.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/bullet/bullet.png", AssetType::BITMAP);
}
{ // Tabe
Asset::get()->add(prefix + "/data/gfx/tabe/tabe.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/tabe/tabe.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/tabe/tabe.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/tabe/tabe.ani", AssetType::ANIMATION);
}
{ // Juego
Asset::get()->add(prefix + "/data/gfx/game/game_buildings.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/game/game_clouds1.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/game/game_clouds2.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/game/game_grass.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/game/game_power_meter.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/game/game_sky_colors.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/game/game_sun.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/game/game_moon.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_buildings.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_clouds1.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_clouds2.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_grass.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_power_meter.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_sky_colors.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_sun.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/game/game_moon.png", AssetType::BITMAP);
}
{ // Intro
Asset::get()->add(prefix + "/data/gfx/intro/intro1.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/intro/intro2.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/intro/intro3.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/intro/intro4.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/intro/intro5.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/intro/intro6.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/intro/intro1.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/intro/intro2.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/intro/intro3.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/intro/intro4.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/intro/intro5.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/intro/intro6.png", AssetType::BITMAP);
}
{ // Logo
Asset::get()->add(prefix + "/data/gfx/logo/logo_jailgames.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/logo/logo_jailgames_mini.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/logo/logo_since_1998.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/logo/logo_jailgames.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/logo/logo_jailgames_mini.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/logo/logo_since_1998.png", AssetType::BITMAP);
}
{ // Items
Asset::get()->add(prefix + "/data/gfx/item/item_points1_disk.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/item/item_points1_disk.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/item/item_points2_gavina.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/item/item_points2_gavina.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/item/item_points3_pacmar.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/item/item_points3_pacmar.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/item/item_clock.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/item/item_clock.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/item/item_coffee.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/item/item_coffee.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/item/item_debian.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/item/item_debian.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/item/item_coffee_machine.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/item/item_coffee_machine.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/item/item_points1_disk.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/item/item_points1_disk.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/item/item_points2_gavina.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/item/item_points2_gavina.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/item/item_points3_pacmar.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/item/item_points3_pacmar.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/item/item_clock.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/item/item_clock.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/item/item_coffee.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/item/item_coffee.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/item/item_debian.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/item/item_debian.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/item/item_coffee_machine.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/item/item_coffee_machine.ani", AssetType::ANIMATION);
}
{ // Titulo
Asset::get()->add(prefix + "/data/gfx/title/title_bg_tile.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/title/title_coffee.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/title/title_crisis.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/title/title_arcade_edition.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/title/title_dust.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/title/title_dust.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/title/title_bg_tile.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/title/title_coffee.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/title/title_crisis.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/title/title_arcade_edition.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/title/title_dust.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/title/title_dust.ani", AssetType::ANIMATION);
}
{ // Jugador 1
Asset::get()->add(prefix + "/data/gfx/player/player1.gif", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/player/player1_1_coffee_palette.gif", AssetType::PALETTE);
Asset::get()->add(prefix + "/data/gfx/player/player1_2_coffee_palette.gif", AssetType::PALETTE);
Asset::get()->add(prefix + "/data/gfx/player/player1_invencible_palette.gif", AssetType::PALETTE);
Asset::get()->add(prefix + "/data/gfx/player/player1_power.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/player/player1.gif", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/player/player1_1_coffee_palette.gif", AssetType::PALETTE);
Asset::get().add(prefix + "/data/gfx/player/player1_2_coffee_palette.gif", AssetType::PALETTE);
Asset::get().add(prefix + "/data/gfx/player/player1_invencible_palette.gif", AssetType::PALETTE);
Asset::get().add(prefix + "/data/gfx/player/player1_power.png", AssetType::BITMAP);
}
{ // Jugador 2
Asset::get()->add(prefix + "/data/gfx/player/player2.gif", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/gfx/player/player2_1_coffee_palette.gif", AssetType::PALETTE);
Asset::get()->add(prefix + "/data/gfx/player/player2_2_coffee_palette.gif", AssetType::PALETTE);
Asset::get()->add(prefix + "/data/gfx/player/player2_invencible_palette.gif", AssetType::PALETTE);
Asset::get()->add(prefix + "/data/gfx/player/player2_power.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/player/player2.gif", AssetType::BITMAP);
Asset::get().add(prefix + "/data/gfx/player/player2_1_coffee_palette.gif", AssetType::PALETTE);
Asset::get().add(prefix + "/data/gfx/player/player2_2_coffee_palette.gif", AssetType::PALETTE);
Asset::get().add(prefix + "/data/gfx/player/player2_invencible_palette.gif", AssetType::PALETTE);
Asset::get().add(prefix + "/data/gfx/player/player2_power.png", AssetType::BITMAP);
}
{ // Animaciones del jugador
Asset::get()->add(prefix + "/data/gfx/player/player.ani", AssetType::ANIMATION);
Asset::get()->add(prefix + "/data/gfx/player/player_power.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/player/player.ani", AssetType::ANIMATION);
Asset::get().add(prefix + "/data/gfx/player/player_power.ani", AssetType::ANIMATION);
}
// Fuentes de texto
Asset::get()->add(prefix + "/data/font/8bithud.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/font/8bithud.txt", AssetType::FONT);
Asset::get()->add(prefix + "/data/font/smb2.gif", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/font/smb2_palette1.pal", AssetType::PALETTE);
Asset::get()->add(prefix + "/data/font/smb2.txt", AssetType::FONT);
Asset::get()->add(prefix + "/data/font/04b_25.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/font/04b_25.txt", AssetType::FONT);
Asset::get()->add(prefix + "/data/font/04b_25_2x.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/font/04b_25_2x.txt", AssetType::FONT);
Asset::get()->add(prefix + "/data/font/04b_25_metal.png", AssetType::BITMAP);
Asset::get()->add(prefix + "/data/font/04b_25_grey.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/font/8bithud.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/font/8bithud.txt", AssetType::FONT);
Asset::get().add(prefix + "/data/font/smb2.gif", AssetType::BITMAP);
Asset::get().add(prefix + "/data/font/smb2_palette1.pal", AssetType::PALETTE);
Asset::get().add(prefix + "/data/font/smb2.txt", AssetType::FONT);
Asset::get().add(prefix + "/data/font/04b_25.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/font/04b_25.txt", AssetType::FONT);
Asset::get().add(prefix + "/data/font/04b_25_2x.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/font/04b_25_2x.txt", AssetType::FONT);
Asset::get().add(prefix + "/data/font/04b_25_metal.png", AssetType::BITMAP);
Asset::get().add(prefix + "/data/font/04b_25_grey.png", AssetType::BITMAP);
// Textos
Asset::get()->add(prefix + "/data/lang/es_ES.txt", AssetType::LANG);
Asset::get()->add(prefix + "/data/lang/en_UK.txt", AssetType::LANG);
Asset::get()->add(prefix + "/data/lang/ba_BA.txt", AssetType::LANG);
Asset::get().add(prefix + "/data/lang/es_ES.txt", AssetType::LANG);
Asset::get().add(prefix + "/data/lang/en_UK.txt", AssetType::LANG);
Asset::get().add(prefix + "/data/lang/ba_BA.txt", AssetType::LANG);
// Si falta algun fichero, sale del programa
if (!Asset::get()->check())
if (!Asset::get().check())
{
throw std::runtime_error("Falta algun fichero");
}
@@ -601,8 +604,8 @@ void Director::runDemoGame()
// Ejecuta la sección init
void Director::runInit()
{
Audio::get()->stopMusic();
Audio::get()->stopAllSounds();
Audio::get().stopMusic();
Audio::get().stopAllSounds();
if (section::options == section::Options::RELOAD || true)
{
Resource::get()->reload();
@@ -674,19 +677,19 @@ std::string Director::getLangFile(lang::Code code)
switch (code)
{
case lang::Code::ba_BA:
return Asset::get()->get("ba_BA.txt");
return Asset::get().get("ba_BA.txt");
break;
case lang::Code::es_ES:
return Asset::get()->get("es_ES.txt");
return Asset::get().get("es_ES.txt");
break;
case lang::Code::en_UK:
return Asset::get()->get("en_UK.txt");
return Asset::get().get("en_UK.txt");
break;
default:
break;
}
return Asset::get()->get("en_UK.txt");
return Asset::get().get("en_UK.txt");
}
#ifdef ARCADE