diff options
Diffstat (limited to 'engines/lab/resource.cpp')
-rw-r--r-- | engines/lab/resource.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/engines/lab/resource.cpp b/engines/lab/resource.cpp index 668b31b6d2..7629d0c389 100644 --- a/engines/lab/resource.cpp +++ b/engines/lab/resource.cpp @@ -51,6 +51,7 @@ void Resource::readStaticText() { } TextFont *Resource::getFont(const char *fileName) { + // TODO: Add support for the font format of the Amiga version Common::File *dataFile = openDataFile(fileName, MKTAG('V', 'G', 'A', 'F')); uint32 headerSize = 4 + 2 + 256 * 3 + 4; @@ -154,15 +155,29 @@ Common::String Resource::translateFileName(Common::String filename) { filename.toUppercase(); Common::String fileNameStrFinal; - if (filename.hasPrefix("P:")) { + if (filename.hasPrefix("P:") || filename.hasPrefix("F:")) { if (_vm->_isHiRes) fileNameStrFinal = "GAME/SPICT/"; else fileNameStrFinal = "GAME/PICT/"; - } else if (filename.hasPrefix("LAB:")) - fileNameStrFinal = "GAME/"; - else if (filename.hasPrefix("MUSIC:")) - fileNameStrFinal = "GAME/MUSIC/"; + + if (_vm->getPlatform() == Common::kPlatformAmiga) { + if (filename.hasPrefix("P:")) { + fileNameStrFinal = "PICT/"; + } else { + fileNameStrFinal = "LABFONTS/"; + filename += "T"; // all the Amiga fonts have a ".FONT" suffix + } + } + } else if (filename.hasPrefix("LAB:")) { + if (_vm->getPlatform() != Common::kPlatformAmiga) + fileNameStrFinal = "GAME/"; + } else if (filename.hasPrefix("MUSIC:")) { + if (_vm->getPlatform() != Common::kPlatformAmiga) + fileNameStrFinal = "GAME/MUSIC/"; + else + fileNameStrFinal = "MUSIC/"; + } if (filename.contains(':')) { while (filename[0] != ':') { |