migrat Assets a la ultima versió (fitxers no hardcoded)
This commit is contained in:
@@ -43,7 +43,7 @@ Director::Director(std::vector<std::string> const& args) {
|
||||
Options::init();
|
||||
|
||||
// Comprueba los parametros del programa
|
||||
executable_path_ = checkProgramArguments(args);
|
||||
executable_path_ = getPath(checkProgramArguments(args));
|
||||
|
||||
// Crea el objeto que controla los ficheros de recursos
|
||||
Asset::init(executable_path_);
|
||||
@@ -239,235 +239,20 @@ void Director::initInput() {
|
||||
|
||||
// Crea el indice de ficheros
|
||||
auto Director::setFileList() -> bool {
|
||||
// Determinar el prefijo de ruta según la plataforma
|
||||
#ifdef MACOS_BUNDLE
|
||||
const std::string prefix = "/../Resources";
|
||||
const std::string PREFIX = "/../Resources";
|
||||
#else
|
||||
const std::string PREFIX;
|
||||
#endif
|
||||
|
||||
// Texto
|
||||
Asset::get()->add(PREFIX + "/data/font/smb2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/smb2.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/debug.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/debug.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/gauntlet.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/gauntlet.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/subatomic.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/subatomic.txt", AssetType::FONT);
|
||||
Asset::get()->add(PREFIX + "/data/font/8bithud.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/font/8bithud.txt", AssetType::FONT);
|
||||
// Construir ruta al archivo de configuración de assets
|
||||
std::string config_path = executable_path_ + PREFIX + "/config/assets.txt";
|
||||
|
||||
// Paletas
|
||||
Asset::get()->add(PREFIX + "/data/palette/zx-spectrum.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/zx-spectrum-adjusted.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/zxarne-5-2.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/black-and-white.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/green-phosphor.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/orange-screen.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/ruzx-spectrum.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/ruzx-spectrum-revision-2.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/pico-8.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/sweetie-16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/island-joy-16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/lost-century.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/na16.pal", AssetType::PALETTE);
|
||||
Asset::get()->add(PREFIX + "/data/palette/steam-lords.pal", AssetType::PALETTE);
|
||||
|
||||
// Shaders
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_vertex.glsl", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_fragment.glsl", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_vertex_es.glsl", AssetType::DATA);
|
||||
Asset::get()->add(PREFIX + "/data/shaders/crtpi_fragment_es.glsl", AssetType::DATA);
|
||||
|
||||
// Datos
|
||||
Asset::get()->add(PREFIX + "/data/input/gamecontrollerdb.txt", AssetType::DATA);
|
||||
|
||||
// Ficheros de sistema
|
||||
Asset::get()->add(system_folder_ + "/config.txt", AssetType::DATA, false, true);
|
||||
Asset::get()->add(system_folder_ + "/stats_buffer.csv", AssetType::DATA, false, true);
|
||||
Asset::get()->add(system_folder_ + "/stats.csv", AssetType::DATA, false, true);
|
||||
Asset::get()->add(system_folder_ + "/cheevos.bin", AssetType::DATA, false, true);
|
||||
|
||||
// Tilemaps y Rooms
|
||||
for (int i = 1; i <= 60; ++i) {
|
||||
std::string index = (i < 10 ? "0" : "") + std::to_string(i);
|
||||
Asset::get()->add(PREFIX + "/data/room/" + index + ".tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(PREFIX + "/data/room/" + index + ".room", AssetType::ROOM);
|
||||
}
|
||||
|
||||
// Tilesets
|
||||
Asset::get()->add(PREFIX + "/data/tilesets/standard.gif", AssetType::BITMAP);
|
||||
|
||||
// Enemigos
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad_bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad_bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/abad.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/amstrad_cs.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/amstrad_cs.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/flying_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/flying_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/stopped_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/stopped_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/walking_arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/walking_arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_door.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_door.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_machine.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/arounders_machine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bat.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bat.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_fire.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman_fire.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/batman.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bell.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bell.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bin.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bin.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bird.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bird.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/breakout.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/breakout.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bry.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/bry.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/chip.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/chip.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/code.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/code.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/congo.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/congo.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/crosshair.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/crosshair.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/demon.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/demon.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dimallas.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dimallas.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/floppy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/floppy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dong.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/dong.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/guitar.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/guitar.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/heavy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/heavy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#1.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#1.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#2.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#3.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailer_#3.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_alien.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_alien.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_human.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jailbattle_human.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jeannine.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/jeannine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lamp.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lamp.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lord_abad.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/lord_abad.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/matatunos.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/matatunos.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/mummy.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/mummy.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/paco.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/paco.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/elsa.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/elsa.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/qvoid.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/qvoid.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/robot.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/robot.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sam.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sam.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/shock.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/shock.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sigmasua.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/sigmasua.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spark.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spark.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/aerojailer.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/aerojailer.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/arounder.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/arounder.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/pepe_rosita_job.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/pepe_rosita_job.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/shooting_star.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/special/shooting_star.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spider.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/spider.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tree_thing.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tree_thing.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tuno.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tuno.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv_panel.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv_panel.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/tv.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/upv_student.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/upv_student.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/wave.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/wave.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/z80.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/enemies/z80.gif", AssetType::BITMAP);
|
||||
|
||||
// Jugador
|
||||
Asset::get()->add(PREFIX + "/data/player/player.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/player/player.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/player/player2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/player/player2.ani", AssetType::ANIMATION);
|
||||
Asset::get()->add(PREFIX + "/data/player/player_game_over.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/player/player_game_over.ani", AssetType::ANIMATION);
|
||||
|
||||
// Items
|
||||
Asset::get()->add(PREFIX + "/data/items/items.gif", AssetType::BITMAP);
|
||||
|
||||
// Musicas
|
||||
Asset::get()->add(PREFIX + "/data/music/title.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/game.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/loading_sound1.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/loading_sound2.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/loading_sound3.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/ending1.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/ending2.ogg", AssetType::MUSIC);
|
||||
Asset::get()->add(PREFIX + "/data/music/game_over.ogg", AssetType::MUSIC);
|
||||
|
||||
// Efectos de sonido
|
||||
Asset::get()->add(PREFIX + "/data/sound/item.wav", AssetType::SOUND);
|
||||
Asset::get()->add(PREFIX + "/data/sound/death.wav", AssetType::SOUND);
|
||||
Asset::get()->add(PREFIX + "/data/sound/notify.wav", AssetType::SOUND);
|
||||
|
||||
// Efectos de sonido para el salto
|
||||
for (int i = 1; i <= 24; ++i) {
|
||||
std::string jump_index = std::to_string(i);
|
||||
Asset::get()->add(PREFIX + "/data/sound/jump" + jump_index + ".wav", AssetType::SOUND);
|
||||
}
|
||||
|
||||
// Logo
|
||||
Asset::get()->add(PREFIX + "/data/logo/jailgames.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/logo/since_1998.gif", AssetType::BITMAP);
|
||||
|
||||
// Loading
|
||||
Asset::get()->add(PREFIX + "/data/loading/loading_screen_bn.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/loading/loading_screen_color.gif", AssetType::BITMAP);
|
||||
|
||||
// Title
|
||||
Asset::get()->add(PREFIX + "/data/title/title_logo.gif", AssetType::BITMAP);
|
||||
|
||||
// Ending
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending1.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending2.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending3.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending4.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/ending/ending5.gif", AssetType::BITMAP);
|
||||
|
||||
// Credits
|
||||
Asset::get()->add(PREFIX + "/data/credits/shine.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(PREFIX + "/data/credits/shine.ani", AssetType::ANIMATION);
|
||||
// Cargar todos los assets desde el archivo de configuración
|
||||
Asset::get()->loadFromFile(config_path, PREFIX, system_folder_);
|
||||
|
||||
// Verificar que todos los assets requeridos existen
|
||||
return Asset::get()->check();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user