diff --git a/engines/ultima/ultima8/filesys/file_system.cpp b/engines/ultima/ultima8/filesys/file_system.cpp index 7522aab6ce4..0a5394b410c 100644 --- a/engines/ultima/ultima8/filesys/file_system.cpp +++ b/engines/ultima/ultima8/filesys/file_system.cpp @@ -47,8 +47,13 @@ FileSystem::~FileSystem() { // Open a streaming file as readable. Streamed (0 on failure) Common::SeekableReadStream *FileSystem::ReadFile(const string &vfn) { Common::SeekableReadStream *readStream; - if (!rawOpen(readStream, vfn)) - return nullptr; + if (!rawOpen(readStream, vfn)) { + // Some games have some files in a "data" subdir. + string altpath = string::format("data/%s", vfn.c_str()); + if (!rawOpen(readStream, altpath)) { + return nullptr; + } + } return readStream; } diff --git a/engines/ultima/ultima8/games/remorse_game.cpp b/engines/ultima/ultima8/games/remorse_game.cpp index 0d123381c82..f9028447f50 100644 --- a/engines/ultima/ultima8/games/remorse_game.cpp +++ b/engines/ultima/ultima8/games/remorse_game.cpp @@ -75,8 +75,8 @@ bool RemorseGame::loadFiles() { if (!loadPalette("static/gamepal.pal", PaletteManager::Pal_Game)) return false; if (GAME_IS_REGRET) { - if (!loadPalette("static/cred.pal", PaletteManager::Pal_Cred)) - return false; + // This one is not used at the moment, so allowed to fail + loadPalette("static/cred.pal", PaletteManager::Pal_Cred); } if (!loadPalette("static/diff.pal", PaletteManager::Pal_Diff)) return false; @@ -84,8 +84,8 @@ bool RemorseGame::loadFiles() { return false; if (!loadPalette("static/misc2.pal", PaletteManager::Pal_Misc2)) return false; - if (!loadPalette("static/star.pal", PaletteManager::Pal_Star)) - return false; + // We don't use his one at the moment, ok to fail. + loadPalette("static/star.pal", PaletteManager::Pal_Star); pout << "Load GameData" << Std::endl; GameData::get_instance()->loadRemorseData();