From 04f97efdcd0fd8caefebbd7dfb7f353f486e4871 Mon Sep 17 00:00:00 2001 From: Matthew Duggan Date: Sun, 9 Jun 2024 19:54:40 +1000 Subject: [PATCH] DGDS: Avoid crashing on Dragon EGA --- engines/dgds/font.cpp | 8 +++++--- engines/dgds/resource.cpp | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/engines/dgds/font.cpp b/engines/dgds/font.cpp index d5364c3e804..ed373cefacc 100644 --- a/engines/dgds/font.cpp +++ b/engines/dgds/font.cpp @@ -33,8 +33,10 @@ namespace Dgds { Font *Font::load(const Common::String &filename, ResourceManager *resourceManager, Decompressor *decompressor) { Common::SeekableReadStream *fontFile = resourceManager->getResource(filename); - if (!fontFile) - error("Font file %s not found", filename.c_str()); + if (!fontFile) { + warning("Font file %s not found", filename.c_str()); + return nullptr; + } DgdsChunkReader chunk(fontFile); @@ -208,7 +210,7 @@ void FontManager::tryLoadFont(const char *fname, ResourceManager *resMgr, Decomp if (font) _fonts.setVal(ftype, font); else - error("Failed to load font %s", fname); + warning("Failed to load font %s", fname); } FontManager::FontType FontManager::fontTypeByName(const Common::String &filename) const { diff --git a/engines/dgds/resource.cpp b/engines/dgds/resource.cpp index d7e8d3797ab..fbcf4de6fc8 100644 --- a/engines/dgds/resource.cpp +++ b/engines/dgds/resource.cpp @@ -37,7 +37,8 @@ static const int FILENAME_LENGTH = 12; ResourceManager::ResourceManager() { const char *indexFiles[] = { - "volume.vga", // early Dragon versions + "volume.vga", // Dragon VGA versions + "volume.ega", // Dragon EGA versions "volume.rmf", // Beamish / HoC "volume.map" // Beamish CD };