diff options
-rw-r--r-- | engines/lab/detection.cpp | 2 | ||||
-rw-r--r-- | engines/lab/dispman.cpp | 2 | ||||
-rw-r--r-- | engines/lab/engine.cpp | 5 | ||||
-rw-r--r-- | engines/lab/intro.cpp | 2 | ||||
-rw-r--r-- | engines/lab/resource.cpp | 25 | ||||
-rw-r--r-- | engines/lab/special.cpp | 12 |
6 files changed, 34 insertions, 14 deletions
diff --git a/engines/lab/detection.cpp b/engines/lab/detection.cpp index 52d284562e..7bb9821891 100644 --- a/engines/lab/detection.cpp +++ b/engines/lab/detection.cpp @@ -87,7 +87,7 @@ static const ADGameDescription labDescriptions[] = { AD_ENTRY1s("doors", "7bf458df6ec30cc8ef4665e4d7c77f59", 2537), // game/doors Common::EN_ANY, Common::kPlatformAmiga, - ADGF_NO_FLAGS, + Lab::GF_LOWRES, GUIO0() }, AD_TABLE_END_MARKER diff --git a/engines/lab/dispman.cpp b/engines/lab/dispman.cpp index 77245ef843..3702e70b74 100644 --- a/engines/lab/dispman.cpp +++ b/engines/lab/dispman.cpp @@ -405,6 +405,7 @@ void DisplayMan::setUpScreens() { createScreen(_vm->_isHiRes); + // TODO: The CONTROL file is not present in the Amiga version Common::File *controlFile = _vm->_resource->openDataFile("P:Control"); for (uint16 i = 0; i < 20; i++) _vm->_moveImages[i] = new Image(controlFile, _vm); @@ -426,6 +427,7 @@ void DisplayMan::setUpScreens() { moveButtonList->push_back(e->createButton(257, y, 8, VKEY_RTARROW, moveImages[18], moveImages[19])); moveButtonList->push_back(e->createButton(289, y, 9, 'p', moveImages[10], moveImages[11])); + // TODO: The INV file is not present in the Amiga version Common::File *invFile = _vm->_resource->openDataFile("P:Inv"); if (_vm->getPlatform() == Common::kPlatformWindows) { for (uint16 imgIdx = 0; imgIdx < 10; imgIdx++) diff --git a/engines/lab/engine.cpp b/engines/lab/engine.cpp index 9b6ab6f936..70fe2fa00e 100644 --- a/engines/lab/engine.cpp +++ b/engines/lab/engine.cpp @@ -1154,7 +1154,10 @@ void LabEngine::go() { _graphics->setUpScreens(); _event->initMouse(); - _msgFont = _resource->getFont("P:AvanteG.12"); + if (getPlatform() != Common::kPlatformAmiga) + _msgFont = _resource->getFont("F:AvanteG.12"); + else + _msgFont = _resource->getFont("F:Map.fon"); _event->mouseHide(); Intro *intro = new Intro(this); diff --git a/engines/lab/intro.cpp b/engines/lab/intro.cpp index abd7018b59..22ad25abfc 100644 --- a/engines/lab/intro.cpp +++ b/engines/lab/intro.cpp @@ -325,7 +325,7 @@ void Intro::introSequence() { _vm->_graphics->blackAllScreen(); _vm->_music->updateMusic(); - TextFont *msgFont = _vm->_resource->getFont("P:Map.fon"); + TextFont *msgFont = _vm->_resource->getFont("F:Map.fon"); _vm->_anim->_noPalChange = true; nReadPict("Intro.1", true); 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] != ':') { diff --git a/engines/lab/special.cpp b/engines/lab/special.cpp index bf0938b45c..6e69578444 100644 --- a/engines/lab/special.cpp +++ b/engines/lab/special.cpp @@ -51,7 +51,7 @@ namespace Lab { * Does the things to properly set up the detective notes. */ void LabEngine::doNotes() { - TextFont *noteFont = _resource->getFont("P:Note.fon"); + TextFont *noteFont = _resource->getFont("F:Note.fon"); char *noteText = _resource->getText("Lab:Rooms/Notes"); Common::Rect textRect = Common::Rect(_utils->vgaScaleX(25) + _utils->svgaCord(15), _utils->vgaScaleY(50), _utils->vgaScaleX(295) - _utils->svgaCord(15), _utils->vgaScaleY(148)); @@ -66,7 +66,7 @@ void LabEngine::doNotes() { * OpenHiRes already called. */ void LabEngine::doWestPaper() { - TextFont *paperFont = _resource->getFont("P:News22.fon"); + TextFont *paperFont = _resource->getFont("F:News22.fon"); char *paperText = _resource->getText("Lab:Rooms/Date"); Common::Rect textRect = Common::Rect(_utils->vgaScaleX(57), _utils->vgaScaleY(77) + _utils->svgaCord(2), _utils->vgaScaleX(262), _utils->vgaScaleY(91)); @@ -74,7 +74,7 @@ void LabEngine::doWestPaper() { _graphics->closeFont(paperFont); delete[] paperText; - paperFont = _resource->getFont("P:News32.fon"); + paperFont = _resource->getFont("F:News32.fon"); paperText = _resource->getText("Lab:Rooms/Headline"); int fileLen = strlen(paperText) - 1; @@ -93,7 +93,7 @@ void LabEngine::doWestPaper() { _graphics->closeFont(paperFont); delete[] paperText; - paperFont = _resource->getFont("P:Note.fon"); + paperFont = _resource->getFont("F:Note.fon"); paperText = _resource->getText("Lab:Rooms/Col1"); charsPrinted = _graphics->flowText(paperFont, -4, 0, 0, false, false, false, true, _utils->vgaRectScale(45, y, 158, 148), paperText); delete[] paperText; @@ -109,7 +109,7 @@ void LabEngine::doWestPaper() { * Loads in the data for the journal. */ void LabEngine::loadJournalData() { - _journalFont = _resource->getFont("P:Journal.fon"); + _journalFont = _resource->getFont("F:Journal.fon"); _music->updateMusic(); char filename[20]; @@ -496,7 +496,7 @@ void LabEngine::doMonitor(char *background, char *textfile, bool isinteractive, _lastPage = false; _graphics->_fadePalette = _highPalette; - TextFont *monitorFont = _resource->getFont("P:Map.fon"); + TextFont *monitorFont = _resource->getFont("F:Map.fon"); Common::File *buttonFile = _resource->openDataFile("P:MonImage"); _monitorButton = new Image(buttonFile, this); delete buttonFile; |