diff options
-rw-r--r-- | engines/dreamweb/dreamweb.h | 35 | ||||
-rw-r--r-- | engines/dreamweb/keypad.cpp | 110 | ||||
-rw-r--r-- | engines/dreamweb/monitor.cpp | 38 | ||||
-rw-r--r-- | engines/dreamweb/newplace.cpp | 38 | ||||
-rw-r--r-- | engines/dreamweb/print.cpp | 4 | ||||
-rw-r--r-- | engines/dreamweb/saveload.cpp | 42 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 76 | ||||
-rw-r--r-- | engines/dreamweb/titles.cpp | 9 | ||||
-rw-r--r-- | engines/dreamweb/use.cpp | 4 |
9 files changed, 174 insertions, 182 deletions
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index 38016e5897..c67dfb3660 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -265,13 +265,28 @@ protected: TextFile _puzzleText; TextFile _commandText; - // graphics files - GraphicsFile _tempGraphics; - GraphicsFile _tempGraphics2; - GraphicsFile _tempGraphics3; + // local graphics files + GraphicsFile _keypadGraphics; + GraphicsFile _menuGraphics; + GraphicsFile _menuGraphics2; + GraphicsFile _folderGraphics; + GraphicsFile _folderGraphics2; + GraphicsFile _folderGraphics3; + GraphicsFile _folderCharset; + GraphicsFile _symbolGraphics; + GraphicsFile _diaryGraphics; + GraphicsFile _diaryCharset; + GraphicsFile _monitorGraphics; + GraphicsFile _monitorCharset; + GraphicsFile _newplaceGraphics; + GraphicsFile _newplaceGraphics2; + GraphicsFile _newplaceGraphics3; + GraphicsFile _cityGraphics; + GraphicsFile _saveGraphics; + + // global graphics files GraphicsFile _icons1; GraphicsFile _icons2; - GraphicsFile _tempCharset; GraphicsFile _charset1; GraphicsFile _mainSprites; const GraphicsFile *_currentCharset; @@ -797,15 +812,11 @@ public: void loadGraphicsFile(GraphicsFile &file, const char *fileName); void loadGraphicsSegment(GraphicsFile &file, Common::File &inFile, unsigned int len); void loadTextSegment(TextFile &file, Common::File &inFile, unsigned int len); - void loadIntoTemp(const char *fileName); - void loadIntoTemp2(const char *fileName); - void loadIntoTemp3(const char *fileName); - void loadTempCharset(const char *fileName); void loadTravelText(); void loadTempText(const char *fileName); void sortOutMap(); void loadRoomData(const Room &room, bool skipDat); - void useTempCharset(); + void useTempCharset(GraphicsFile *charset); void useCharset1(); void printMessage(uint16 x, uint16 y, uint8 index, uint8 maxWidth, bool centered); void printMessage2(uint16 x, uint16 y, uint8 index, uint8 maxWidth, bool centered, uint8 count); @@ -848,11 +859,7 @@ public: bool isItWorn(const DynObject *object); bool compare(uint8 index, uint8 flag, const char id[4]); void hangOnW(uint16 frameCount); - void getRidOfTemp(); void getRidOfTempText(); - void getRidOfTemp2(); - void getRidOfTemp3(); - void getRidOfTempCharset(); void getRidOfAll(); void placeSetObject(uint8 index); void removeSetObject(uint8 index); diff --git a/engines/dreamweb/keypad.cpp b/engines/dreamweb/keypad.cpp index 2a31652ace..172e85104f 100644 --- a/engines/dreamweb/keypad.cpp +++ b/engines/dreamweb/keypad.cpp @@ -93,7 +93,7 @@ void DreamWebEngine::enterCode(uint8 digit0, uint8 digit1, uint8 digit2, uint8 d } } _manIsOffScreen = 0; - getRidOfTemp(); + _keypadGraphics.clear(); restoreReels(); redrawMainScrn(); workToScreenM(); @@ -108,7 +108,7 @@ bool DreamWebEngine::isItRight(uint8 digit0, uint8 digit1, uint8 digit2, uint8 d } void DreamWebEngine::loadKeypad() { - loadIntoTemp("DREAMWEB.G02"); + loadGraphicsFile(_keypadGraphics, "DREAMWEB.G02"); } void DreamWebEngine::quitKey() { @@ -185,8 +185,8 @@ void DreamWebEngine::buttonPress(uint8 buttonId) { } void DreamWebEngine::showOuterPad() { - showFrame(_tempGraphics, kKeypadx-3, kKeypady-4, 1, 0); - showFrame(_tempGraphics, kKeypadx+74, kKeypady+76, 37, 0); + showFrame(_keypadGraphics, kKeypadx-3, kKeypady-4, 1, 0); + showFrame(_keypadGraphics, kKeypadx+74, kKeypady+76, 37, 0); } void DreamWebEngine::showKeypad() { @@ -214,7 +214,7 @@ void DreamWebEngine::showKeypad() { } if ((_lightCount >= 60) && (_lightCount < 100)) --frameIndex; - showFrame(_tempGraphics, kKeypadx+60, y, frameIndex, 0); + showFrame(_keypadGraphics, kKeypadx+60, y, frameIndex, 0); } } @@ -225,7 +225,7 @@ void DreamWebEngine::singleKey(uint8 key, uint16 x, uint16 y) { key -= 11; } key -= 20; - showFrame(_tempGraphics, x, y, key, 0); + showFrame(_keypadGraphics, x, y, key, 0); } void DreamWebEngine::dumpKeypad() { @@ -241,9 +241,9 @@ void DreamWebEngine::useMenu() { _vars._newObs = 0; drawFloor(); printSprites(); - showFrame(_tempGraphics2, kMenux-48, kMenuy-4, 4, 0); + showFrame(_menuGraphics2, kMenux-48, kMenuy-4, 4, 0); getUnderMenu(); - showFrame(_tempGraphics2, kMenux+54, kMenuy+72, 5, 0); + showFrame(_menuGraphics2, kMenux+54, kMenuy+72, 5, 0); workToScreenM(); _getBack = 0; do { @@ -265,8 +265,8 @@ void DreamWebEngine::useMenu() { } while ((_getBack != 1) && !_quitRequested); _manIsOffScreen = 0; redrawMainScrn(); - getRidOfTemp(); - getRidOfTemp2(); + _menuGraphics.clear(); + _menuGraphics2.clear(); restoreReels(); workToScreenM(); } @@ -289,12 +289,12 @@ void DreamWebEngine::showMenu() { ++_menuCount; if (_menuCount == 37*2) _menuCount = 0; - showFrame(_tempGraphics, kMenux, kMenuy, _menuCount / 2, 0); + showFrame(_menuGraphics, kMenux, kMenuy, _menuCount / 2, 0); } void DreamWebEngine::loadMenu() { - loadIntoTemp("DREAMWEB.S02"); // sprite name 3 - loadIntoTemp2("DREAMWEB.G07"); // mon. graphics 2 + loadGraphicsFile(_menuGraphics, "DREAMWEB.S02"); // sprite name 3 + loadGraphicsFile(_menuGraphics2, "DREAMWEB.G07"); // mon. graphics 2 } void DreamWebEngine::viewFolder() { @@ -317,10 +317,10 @@ void DreamWebEngine::viewFolder() { checkFolderCoords(); } while (_getBack == 0); _manIsOffScreen = 0; - getRidOfTemp(); - getRidOfTemp2(); - getRidOfTemp3(); - getRidOfTempCharset(); + _folderGraphics.clear(); + _folderGraphics2.clear(); + _folderGraphics3.clear(); + _folderCharset.clear(); restoreAll(); redrawMainScrn(); workToScreenM(); @@ -394,22 +394,22 @@ void DreamWebEngine::checkFolderCoords() { } void DreamWebEngine::loadFolder() { - loadIntoTemp("DREAMWEB.G09"); // folder graphics 1 - loadIntoTemp2("DREAMWEB.G10"); // folder graphics 2 - loadIntoTemp3("DREAMWEB.G11"); // folder graphics 3 - loadTempCharset("DREAMWEB.C02"); // character set 3 + loadGraphicsFile(_folderGraphics, "DREAMWEB.G09"); // folder graphics 1 + loadGraphicsFile(_folderGraphics2, "DREAMWEB.G10"); // folder graphics 2 + loadGraphicsFile(_folderGraphics3, "DREAMWEB.G11"); // folder graphics 3 + loadGraphicsFile(_folderCharset, "DREAMWEB.C02"); // character set 3 loadTempText("DREAMWEB.T50"); // folder text } void DreamWebEngine::showFolder() { _commandType = 255; if (_folderPage) { - useTempCharset(); + useTempCharset(&_folderCharset); createPanel2(); - showFrame(_tempGraphics, 0, 0, 0, 0); - showFrame(_tempGraphics, 143, 0, 1, 0); - showFrame(_tempGraphics, 0, 92, 2, 0); - showFrame(_tempGraphics, 143, 92, 3, 0); + showFrame(_folderGraphics, 0, 0, 0, 0); + showFrame(_folderGraphics, 143, 0, 1, 0); + showFrame(_folderGraphics, 0, 92, 2, 0); + showFrame(_folderGraphics, 143, 92, 3, 0); folderExit(); if (_folderPage != 1) showLeftPage(); @@ -419,25 +419,25 @@ void DreamWebEngine::showFolder() { underTextLine(); } else { createPanel2(); - showFrame(_tempGraphics3, 143-28, 0, 0, 0); - showFrame(_tempGraphics3, 143-28, 92, 1, 0); + showFrame(_folderGraphics3, 143-28, 0, 0, 0); + showFrame(_folderGraphics3, 143-28, 92, 1, 0); folderExit(); underTextLine(); } } void DreamWebEngine::folderExit() { - showFrame(_tempGraphics2, 296, 178, 6, 0); + showFrame(_folderGraphics2, 296, 178, 6, 0); } void DreamWebEngine::showLeftPage() { - showFrame(_tempGraphics2, 0, 12, 3, 0); + showFrame(_folderGraphics2, 0, 12, 3, 0); uint16 y = 12+5; for (size_t i = 0; i < 9; ++i) { - showFrame(_tempGraphics2, 0, y, 4, 0); + showFrame(_folderGraphics2, 0, y, 4, 0); y += 16; } - showFrame(_tempGraphics2, 0, y, 5, 0); + showFrame(_folderGraphics2, 0, y, 5, 0); _lineSpacing = 8; _charShift = 91; _kerning = 1; @@ -464,14 +464,14 @@ void DreamWebEngine::showLeftPage() { } void DreamWebEngine::showRightPage() { - showFrame(_tempGraphics2, 143, 12, 0, 0); + showFrame(_folderGraphics2, 143, 12, 0, 0); uint16 y = 12+37; for (size_t i = 0; i < 7; ++i) { - showFrame(_tempGraphics2, 143, y, 1, 0); + showFrame(_folderGraphics2, 143, y, 1, 0); y += 16; } - showFrame(_tempGraphics2, 143, y, 2, 0); + showFrame(_folderGraphics2, 143, y, 2, 0); _lineSpacing = 8; _kerning = 1; uint8 pageIndex = _folderPage - 1; @@ -491,7 +491,7 @@ void DreamWebEngine::showRightPage() { void DreamWebEngine::enterSymbol() { _manIsOffScreen = 1; getRidOfReels(); - loadIntoTemp("DREAMWEB.G12"); // symbol graphics + loadGraphicsFile(_symbolGraphics, "DREAMWEB.G12"); // symbol graphics _symbolTopX = 24; _symbolTopDir = 0; _symbolBotX = 24; @@ -529,7 +529,7 @@ void DreamWebEngine::enterSymbol() { turnAnyPathOn(0, _roomNum + 12); _manIsOffScreen = 0; redrawMainScrn(); - getRidOfTemp(); + _symbolGraphics.clear(); restoreReels(); workToScreenM(); playChannel1(13); @@ -539,7 +539,7 @@ void DreamWebEngine::enterSymbol() { turnAnyPathOff(0, _roomNum + 12); _manIsOffScreen = 0; redrawMainScrn(); - getRidOfTemp(); + _symbolGraphics.clear(); restoreReels(); workToScreenM(); } @@ -616,19 +616,19 @@ void DreamWebEngine::dumpSymbol() { } void DreamWebEngine::showSymbol() { - showFrame(_tempGraphics, kSymbolx, kSymboly, 12, 0); + showFrame(_symbolGraphics, kSymbolx, kSymboly, 12, 0); - showFrame(_tempGraphics, _symbolTopX + kSymbolx-44, kSymboly+20, _symbolTopNum, 32); + showFrame(_symbolGraphics, _symbolTopX + kSymbolx-44, kSymboly+20, _symbolTopNum, 32); uint8 nextTopSymbol = nextSymbol(_symbolTopNum); - showFrame(_tempGraphics, _symbolTopX + kSymbolx+5, kSymboly+20, nextTopSymbol, 32); + showFrame(_symbolGraphics, _symbolTopX + kSymbolx+5, kSymboly+20, nextTopSymbol, 32); uint8 nextNextTopSymbol = nextSymbol(nextTopSymbol); - showFrame(_tempGraphics, _symbolTopX + kSymbolx+54, kSymboly+20, nextNextTopSymbol, 32); + showFrame(_symbolGraphics, _symbolTopX + kSymbolx+54, kSymboly+20, nextNextTopSymbol, 32); - showFrame(_tempGraphics, _symbolBotX + kSymbolx-44, kSymboly+49, 6 + _symbolBotNum, 32); + showFrame(_symbolGraphics, _symbolBotX + kSymbolx-44, kSymboly+49, 6 + _symbolBotNum, 32); uint8 nextBotSymbol = nextSymbol(_symbolBotNum); - showFrame(_tempGraphics, _symbolBotX + kSymbolx+5, kSymboly+49, 6 + nextBotSymbol, 32); + showFrame(_symbolGraphics, _symbolBotX + kSymbolx+5, kSymboly+49, 6 + nextBotSymbol, 32); uint8 nextNextBotSymbol = nextSymbol(nextBotSymbol); - showFrame(_tempGraphics, _symbolBotX + kSymbolx+54, kSymboly+49, 6 + nextNextBotSymbol, 32); + showFrame(_symbolGraphics, _symbolBotX + kSymbolx+54, kSymboly+49, 6 + nextNextBotSymbol, 32); } uint8 DreamWebEngine::nextSymbol(uint8 symbol) { @@ -716,9 +716,9 @@ void DreamWebEngine::updateSymbolBot() { void DreamWebEngine::useDiary() { getRidOfReels(); - loadIntoTemp("DREAMWEB.G14"); + loadGraphicsFile(_diaryGraphics, "DREAMWEB.G14"); loadTempText("DREAMWEB.T51"); - loadTempCharset("DREAMWEB.C02"); + loadGraphicsFile(_diaryCharset, "DREAMWEB.C02"); createPanel(); showIcon(); showDiary(); @@ -751,9 +751,9 @@ void DreamWebEngine::useDiary() { } while (!_getBack && !_quitRequested); - getRidOfTemp(); + _diaryGraphics.clear(); getRidOfTempText(); - getRidOfTempCharset(); + _diaryCharset.clear(); restoreReels(); _manIsOffScreen = 0; redrawMainScrn(); @@ -761,8 +761,8 @@ void DreamWebEngine::useDiary() { } void DreamWebEngine::showDiary() { - showFrame(_tempGraphics, kDiaryx, kDiaryy + 37, 1, 0); - showFrame(_tempGraphics, kDiaryx + 176, kDiaryy + 108, 2, 0); + showFrame(_diaryGraphics, kDiaryx, kDiaryy + 37, 1, 0); + showFrame(_diaryGraphics, kDiaryx + 176, kDiaryy + 108, 2, 0); } void DreamWebEngine::showDiaryKeys() { @@ -776,10 +776,10 @@ void DreamWebEngine::showDiaryKeys() { if (_pressed == 'N') { byte frame = (_pressCount == 1) ? 3 : 4; - showFrame(_tempGraphics, kDiaryx + 94, kDiaryy + 97, frame, 0); + showFrame(_diaryGraphics, kDiaryx + 94, kDiaryy + 97, frame, 0); } else { byte frame = (_pressCount == 1) ? 5 : 6; - showFrame(_tempGraphics, kDiaryx + 151, kDiaryy + 71, frame, 0); + showFrame(_diaryGraphics, kDiaryx + 151, kDiaryy + 71, frame, 0); } if (_pressCount == 1) @@ -847,9 +847,9 @@ void DreamWebEngine::diaryKeyN() { } void DreamWebEngine::showDiaryPage() { - showFrame(_tempGraphics, kDiaryx, kDiaryy, 0, 0); + showFrame(_diaryGraphics, kDiaryx, kDiaryy, 0, 0); _kerning = 1; - useTempCharset(); + useTempCharset(&_diaryCharset); _charShift = 91+91; const uint8 *string = getTextInFile1(_diaryPage); uint16 y = kDiaryy + 16; diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp index d2f6b376ae..f5f064f855 100644 --- a/engines/dreamweb/monitor.cpp +++ b/engines/dreamweb/monitor.cpp @@ -54,11 +54,11 @@ void DreamWebEngine::useMon() { showIcon(); drawFloor(); getRidOfAll(); - loadIntoTemp("DREAMWEB.G03"); // mon. graphic name + loadGraphicsFile(_monitorGraphics, "DREAMWEB.G03"); // mon. graphic name loadPersonal(); loadNews(); loadCart(); - loadTempCharset("DREAMWEB.C01"); // character set 2 + loadGraphicsFile(_monitorCharset, "DREAMWEB.C01"); // character set 2 printOuterMon(); initialMonCols(); printLogo(); @@ -89,8 +89,8 @@ void DreamWebEngine::useMon() { if (_quitRequested) //TODO : Check why it crashes when put before the execcommand break; } while (!stop); - getRidOfTemp(); - getRidOfTempCharset(); + _monitorGraphics.clear(); + _monitorCharset.clear(); _textFile1.clear(); _textFile2.clear(); @@ -188,14 +188,14 @@ void DreamWebEngine::monitorLogo() { } void DreamWebEngine::printLogo() { - showFrame(_tempGraphics, 56, 32, 0, 0); + showFrame(_monitorGraphics, 56, 32, 0, 0); showCurrentFile(); } void DreamWebEngine::input() { memset(_inputLine, 0, 64); _curPos = 0; - printChar(_tempCharset, _monAdX, _monAdY, '>', 0, NULL, NULL); + printChar(_monitorCharset, _monAdX, _monAdY, '>', 0, NULL, NULL); multiDump(_monAdX, _monAdY, 6, 8); _monAdX += 6; _cursLocX = _monAdX; @@ -227,7 +227,7 @@ void DreamWebEngine::input() { continue; multiGet(_mapStore + _curPos * 256, _monAdX, _monAdY, 8, 8); uint8 charWidth; - printChar(_tempCharset, _monAdX, _monAdY, currentKey, 0, &charWidth, NULL); + printChar(_monitorCharset, _monAdX, _monAdY, currentKey, 0, &charWidth, NULL); _inputLine[_curPos * 2 + 1] = charWidth; _monAdX += charWidth; ++_curPos; @@ -266,7 +266,7 @@ void DreamWebEngine::printCurs() { multiGet(_textUnder, x, y, 6, height); ++_mainTimer; if ((_mainTimer & 16) == 0) - showFrame(_tempCharset, x, y, '/' - 32, 0); + showFrame(_monitorCharset, x, y, '/' - 32, 0); multiDump(x - 6, y, 12, height); } @@ -302,17 +302,17 @@ void DreamWebEngine::showCurrentFile() { while (*currentFile) { char c = *currentFile++; c = modifyChar(c); - printChar(_tempCharset, &x, 37, c, 0, NULL, NULL); + printChar(_monitorCharset, &x, 37, c, 0, NULL, NULL); } } void DreamWebEngine::accessLightOn() { - showFrame(_tempGraphics, 74, 182, 8, 0); + showFrame(_monitorGraphics, 74, 182, 8, 0); multiDump(74, 182, 12, 8); } void DreamWebEngine::accessLightOff() { - showFrame(_tempGraphics, 74, 182, 7, 0); + showFrame(_monitorGraphics, 74, 182, 7, 0); multiDump(74, 182, 12, 8); } @@ -345,22 +345,22 @@ void DreamWebEngine::netError() { } void DreamWebEngine::powerLightOn() { - showFrame(_tempGraphics, 257+4, 182, 6, 0); + showFrame(_monitorGraphics, 257+4, 182, 6, 0); multiDump(257+4, 182, 12, 8); } void DreamWebEngine::powerLightOff() { - showFrame(_tempGraphics, 257+4, 182, 5, 0); + showFrame(_monitorGraphics, 257+4, 182, 5, 0); multiDump(257+4, 182, 12, 8); } void DreamWebEngine::lockLightOn() { - showFrame(_tempGraphics, 56, 182, 10, 0); + showFrame(_monitorGraphics, 56, 182, 10, 0); multiDump(58, 182, 12, 8); } void DreamWebEngine::lockLightOff() { - showFrame(_tempGraphics, 56, 182, 9, 0); + showFrame(_monitorGraphics, 56, 182, 9, 0); multiDump(58, 182, 12, 8); } @@ -375,10 +375,10 @@ void DreamWebEngine::turnOnPower() { } void DreamWebEngine::printOuterMon() { - showFrame(_tempGraphics, 40, 32, 1, 0); - showFrame(_tempGraphics, 264, 32, 2, 0); - showFrame(_tempGraphics, 40, 12, 3, 0); - showFrame(_tempGraphics, 40, 164, 4, 0); + showFrame(_monitorGraphics, 40, 32, 1, 0); + showFrame(_monitorGraphics, 264, 32, 2, 0); + showFrame(_monitorGraphics, 40, 12, 3, 0); + showFrame(_monitorGraphics, 40, 164, 4, 0); } void DreamWebEngine::loadPersonal() { diff --git a/engines/dreamweb/newplace.cpp b/engines/dreamweb/newplace.cpp index 8083055da6..c484855da4 100644 --- a/engines/dreamweb/newplace.cpp +++ b/engines/dreamweb/newplace.cpp @@ -41,7 +41,7 @@ void DreamWebEngine::selectLocation() { _pointerFrame = 22; readCityPic(); showCity(); - getRidOfTemp(); + _cityGraphics.clear(); readDestIcon(); loadTravelText(); showPanel(); @@ -89,17 +89,17 @@ void DreamWebEngine::selectLocation() { _getBack = 0; } - getRidOfTemp(); - getRidOfTemp2(); - getRidOfTemp3(); + _newplaceGraphics.clear(); + _newplaceGraphics2.clear(); + _newplaceGraphics3.clear(); _travelText.clear(); } void DreamWebEngine::showCity() { clearWork(); - showFrame(_tempGraphics, 57, 32, 0, 0); - showFrame(_tempGraphics, 120+57, 32, 1, 0); + showFrame(_cityGraphics, 57, 32, 0, 0); + showFrame(_cityGraphics, 120+57, 32, 1, 0); } void DreamWebEngine::lookAtPlace() { @@ -113,10 +113,10 @@ void DreamWebEngine::lookAtPlace() { delPointer(); delTextLine(); getUnderCentre(); - showFrame(_tempGraphics3, 60, 72, 0, 0); - showFrame(_tempGraphics3, 60, 72 + 55, 4, 0); + showFrame(_newplaceGraphics3, 60, 72, 0, 0); + showFrame(_newplaceGraphics3, 60, 72 + 55, 4, 0); if (_foreignRelease) - showFrame(_tempGraphics3, 60, 72+55+21, 4, 0); + showFrame(_newplaceGraphics3, 60, 72+55+21, 4, 0); const uint8 *string = (const uint8 *)_travelText.getString(_destPos); findNextColon(&string); @@ -143,21 +143,21 @@ void DreamWebEngine::locationPic() { byte picture = roomPics[_destPos]; if (picture >= 6) - showFrame(_tempGraphics2, 104, 138 + 14, picture - 6, 0); // Second slot + showFrame(_newplaceGraphics2, 104, 138 + 14, picture - 6, 0); // Second slot else - showFrame(_tempGraphics, 104, 138 + 14, picture + 4, 0); + showFrame(_newplaceGraphics, 104, 138 + 14, picture + 4, 0); if (_destPos == _realLocation) - showFrame(_tempGraphics, 104, 140 + 14, 3, 0); // Currently in this location + showFrame(_newplaceGraphics, 104, 140 + 14, 3, 0); // Currently in this location const uint8 *string = (const uint8 *)_travelText.getString(_destPos); printDirect(string, 50, 20, 241, 241 & 1); } void DreamWebEngine::showArrows() { - showFrame(_tempGraphics, 116 - 12, 16, 0, 0); - showFrame(_tempGraphics, 226 + 12, 16, 1, 0); - showFrame(_tempGraphics, 280, 14, 2, 0); + showFrame(_newplaceGraphics, 116 - 12, 16, 0, 0); + showFrame(_newplaceGraphics, 226 + 12, 16, 1, 0); + showFrame(_newplaceGraphics, 280, 14, 2, 0); } void DreamWebEngine::nextDest() { @@ -259,13 +259,13 @@ void DreamWebEngine::resetLocation(uint8 index) { } void DreamWebEngine::readDestIcon() { - loadIntoTemp("DREAMWEB.G05"); - loadIntoTemp2("DREAMWEB.G06"); - loadIntoTemp3("DREAMWEB.G08"); + loadGraphicsFile(_newplaceGraphics, "DREAMWEB.G05"); + loadGraphicsFile(_newplaceGraphics2, "DREAMWEB.G06"); + loadGraphicsFile(_newplaceGraphics3, "DREAMWEB.G08"); } void DreamWebEngine::readCityPic() { - loadIntoTemp("DREAMWEB.G04"); + loadGraphicsFile(_cityGraphics, "DREAMWEB.G04"); } } // End of namespace DreamWeb diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp index 24e0183a07..a6b93a5590 100644 --- a/engines/dreamweb/print.cpp +++ b/engines/dreamweb/print.cpp @@ -210,7 +210,7 @@ const char *DreamWebEngine::monPrint(const char *string) { bool done = false; while (!done) { - uint16 count = getNumber(_tempCharset, (const uint8 *)iterator, 166, false, &x); + uint16 count = getNumber(_monitorCharset, (const uint8 *)iterator, 166, false, &x); do { char c = *iterator++; if (c == ':') @@ -226,7 +226,7 @@ const char *DreamWebEngine::monPrint(const char *string) { break; } c = modifyChar(c); - printChar(_tempCharset, &x, _monAdY, c, 0, NULL, NULL); + printChar(_monitorCharset, &x, _monAdY, c, 0, NULL, NULL); _cursLocX = x; _cursLocY = _monAdY; _mainTimer = 1; diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp index 4779d0baef..acc76572ef 100644 --- a/engines/dreamweb/saveload.cpp +++ b/engines/dreamweb/saveload.cpp @@ -178,7 +178,7 @@ void DreamWebEngine::doLoad(int savegameId) { // If we reach this point, loadPosition() has just been called. // Among other things, it will have filled g_MadeUpRoomDat. - getRidOfTemp(); + _saveGraphics.clear(); startLoading(g_madeUpRoomDat); loadRoomsSample(); @@ -270,7 +270,7 @@ void DreamWebEngine::saveGame() { descbuf[++desclen] = 1; // TODO: The below is copied from actualsave - getRidOfTemp(); + _saveGraphics.clear(); restoreAll(); // reels _textAddressX = 13; _textAddressY = 182; @@ -360,7 +360,7 @@ void DreamWebEngine::doSaveLoad() { _textAddressY = 182; _textLen = 240; if (_getBack != 4) { - getRidOfTemp(); + _saveGraphics.clear(); restoreAll(); redrawMainScrn(); workToScreenM(); @@ -388,16 +388,16 @@ void DreamWebEngine::getBackToOps() { } void DreamWebEngine::showMainOps() { - showFrame(_tempGraphics, kOpsx+10, kOpsy+10, 8, 0); - showFrame(_tempGraphics, kOpsx+59, kOpsy+30, 7, 0); - showFrame(_tempGraphics, kOpsx+128+4, kOpsy+12, 1, 0); + showFrame(_saveGraphics, kOpsx+10, kOpsy+10, 8, 0); + showFrame(_saveGraphics, kOpsx+59, kOpsy+30, 7, 0); + showFrame(_saveGraphics, kOpsx+128+4, kOpsy+12, 1, 0); } void DreamWebEngine::showDiscOps() { - showFrame(_tempGraphics, kOpsx+128+4, kOpsy+12, 1, 0); - showFrame(_tempGraphics, kOpsx+10, kOpsy+10, 9, 0); - showFrame(_tempGraphics, kOpsx+59, kOpsy+30, 10, 0); - showFrame(_tempGraphics, kOpsx+176+2, kOpsy+60-4, 5, 0); + showFrame(_saveGraphics, kOpsx+128+4, kOpsy+12, 1, 0); + showFrame(_saveGraphics, kOpsx+10, kOpsy+10, 9, 0); + showFrame(_saveGraphics, kOpsx+59, kOpsy+30, 10, 0); + showFrame(_saveGraphics, kOpsx+176+2, kOpsy+60-4, 5, 0); } void DreamWebEngine::discOps() { @@ -450,7 +450,7 @@ void DreamWebEngine::actualSave() { savePosition(slot, desc); - getRidOfTemp(); + _saveGraphics.clear(); restoreAll(); // reels _textAddressX = 13; _textAddressY = 182; @@ -703,12 +703,12 @@ void DreamWebEngine::loadOld() { void DreamWebEngine::showDecisions() { createPanel2(); showOpBox(); - showFrame(_tempGraphics, kOpsx + 17, kOpsy + 13, 6, 0); + showFrame(_saveGraphics, kOpsx + 17, kOpsy + 13, 6, 0); underTextLine(); } void DreamWebEngine::loadSaveBox() { - loadIntoTemp("DREAMWEB.G08"); + loadGraphicsFile(_saveGraphics, "DREAMWEB.G08"); } // show savegame names (original interface), and set kCursorpos @@ -822,37 +822,37 @@ void DreamWebEngine::selectSlot() { void DreamWebEngine::showSlots() { showFrame(_icons1, kOpsx + 158, kOpsy - 11, 12, 0); showFrame(_icons1, kOpsx + 158 + 18 * _saveLoadPage, kOpsy - 11, 13 + _saveLoadPage, 0); - showFrame(_tempGraphics, kOpsx + 7, kOpsy + 8, 2, 0); + showFrame(_saveGraphics, kOpsx + 7, kOpsy + 8, 2, 0); uint16 y = kOpsy + 11; for (int slot = 0; slot < 7; slot++) { if (slot == _currentSlot) - showFrame(_tempGraphics, kOpsx + 10, y, 3, 0); + showFrame(_saveGraphics, kOpsx + 10, y, 3, 0); y += 10; } } void DreamWebEngine::showOpBox() { - showFrame(_tempGraphics, kOpsx, kOpsy, 0, 0); + showFrame(_saveGraphics, kOpsx, kOpsy, 0, 0); // This call displays half of the ops dialog in the CD version. It's not // in the floppy version, and if it's called, a stray red dot is shown in // the game dialogs. if (isCD()) - showFrame(_tempGraphics, kOpsx, kOpsy + 55, 4, 0); + showFrame(_saveGraphics, kOpsx, kOpsy + 55, 4, 0); } void DreamWebEngine::showLoadOps() { - showFrame(_tempGraphics, kOpsx + 128 + 4, kOpsy + 12, 1, 0); - showFrame(_tempGraphics, kOpsx + 176 + 2, kOpsy + 60 - 4, 5, 0); + showFrame(_saveGraphics, kOpsx + 128 + 4, kOpsy + 12, 1, 0); + showFrame(_saveGraphics, kOpsx + 176 + 2, kOpsy + 60 - 4, 5, 0); printMessage(kOpsx + 104, kOpsy + 14, 55, 101, (101 & 1)); } void DreamWebEngine::showSaveOps() { - showFrame(_tempGraphics, kOpsx + 128 + 4, kOpsy + 12, 1, 0); - showFrame(_tempGraphics, kOpsx + 176 + 2, kOpsy + 60 - 4, 5, 0); + showFrame(_saveGraphics, kOpsx + 128 + 4, kOpsy + 12, 1, 0); + showFrame(_saveGraphics, kOpsx + 176 + 2, kOpsy + 60 - 4, 5, 0); printMessage(kOpsx + 104, kOpsy + 14, 54, 101, (101 & 1)); } diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 5f8ea53ada..4178fb489a 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -510,12 +510,27 @@ void DreamWebEngine::dreamwebFinalize() { _icons1.clear(); _icons2.clear(); _charset1.clear(); - _tempGraphics.clear(); - _tempGraphics2.clear(); - _tempGraphics3.clear(); - _tempCharset.clear(); _mainSprites.clear(); + // clear local graphics, just in case + _keypadGraphics.clear(); + _menuGraphics.clear(); + _menuGraphics2.clear(); + _folderGraphics.clear(); + _folderGraphics2.clear(); + _folderGraphics3.clear(); + _folderCharset.clear(); + _symbolGraphics.clear(); + _diaryGraphics.clear(); + _diaryCharset.clear(); + _monitorGraphics.clear(); + _monitorCharset.clear(); + _newplaceGraphics.clear(); + _newplaceGraphics2.clear(); + _newplaceGraphics3.clear(); + _cityGraphics.clear(); + _saveGraphics.clear(); + _exFrames.clear(); _exText.clear(); @@ -852,22 +867,6 @@ void DreamWebEngine::loadTextSegment(TextFile &file, Common::File &inFile, unsig inFile.read((uint8 *)file._text, len - headerSize); } -void DreamWebEngine::loadIntoTemp(const char *fileName) { - loadGraphicsFile(_tempGraphics, fileName); -} - -void DreamWebEngine::loadIntoTemp2(const char *fileName) { - loadGraphicsFile(_tempGraphics2, fileName); -} - -void DreamWebEngine::loadIntoTemp3(const char *fileName) { - loadGraphicsFile(_tempGraphics3, fileName); -} - -void DreamWebEngine::loadTempCharset(const char *fileName) { - loadGraphicsFile(_tempCharset, fileName); -} - void DreamWebEngine::hangOnCurs(uint16 frameCount) { for (uint16 i = 0; i < frameCount; ++i) { printCurs(); @@ -2065,30 +2064,14 @@ void DreamWebEngine::useCharset1() { _currentCharset = &_charset1; } -void DreamWebEngine::useTempCharset() { - _currentCharset = &_tempCharset; -} - -void DreamWebEngine::getRidOfTemp() { - _tempGraphics.clear(); +void DreamWebEngine::useTempCharset(GraphicsFile *charset) { + _currentCharset = charset; } void DreamWebEngine::getRidOfTempText() { _textFile1.clear(); } -void DreamWebEngine::getRidOfTemp2() { - _tempGraphics2.clear(); -} - -void DreamWebEngine::getRidOfTemp3() { - _tempGraphics3.clear(); -} - -void DreamWebEngine::getRidOfTempCharset() { - _tempCharset.clear(); -} - void DreamWebEngine::getRidOfAll() { delete[] _backdropBlocks; _backdropBlocks = 0; @@ -2765,7 +2748,7 @@ void DreamWebEngine::decide() { } while (!_getBack); if (_getBack != 4) - getRidOfTemp(); // room not loaded + _saveGraphics.clear(); // room not loaded _textAddressX = 13; _textAddressY = 182; @@ -2794,12 +2777,13 @@ void DreamWebEngine::showGun() { _roomsSample = 34; loadRoomsSample(); _volume = 0; - loadIntoTemp("DREAMWEB.G13"); + GraphicsFile graphics; + loadGraphicsFile(graphics, "DREAMWEB.G13"); createPanel2(); - showFrame(_tempGraphics, 100, 4, 0, 0); - showFrame(_tempGraphics, 158, 106, 1, 0); + showFrame(graphics, 100, 4, 0, 0); + showFrame(graphics, 158, 106, 1, 0); workToScreen(); - getRidOfTemp(); + graphics.clear(); fadeScreenUp(); hangOn(160); playChannel0(12, 0); @@ -3018,7 +3002,7 @@ void DreamWebEngine::lookAtCard() { getRidOfReels(); loadKeypad(); createPanel2(); - showFrame(_tempGraphics, 160, 80, 42, 128); + showFrame(_keypadGraphics, 160, 80, 42, 128); const uint8 *obText = getObTextStart(); findNextColon(&obText); findNextColon(&obText); @@ -3028,12 +3012,12 @@ void DreamWebEngine::lookAtCard() { workToScreenM(); hangOnW(280); createPanel2(); - showFrame(_tempGraphics, 160, 80, 42, 128); + showFrame(_keypadGraphics, 160, 80, 42, 128); printDirect(obText, 36, 130, 241, 241 & 1); workToScreenM(); hangOnW(200); _manIsOffScreen = 0; - getRidOfTemp(); + _keypadGraphics.clear(); restoreReels(); putBackObStuff(); } diff --git a/engines/dreamweb/titles.cpp b/engines/dreamweb/titles.cpp index 8ca5aa70b3..f4112f71f6 100644 --- a/engines/dreamweb/titles.cpp +++ b/engines/dreamweb/titles.cpp @@ -40,9 +40,10 @@ void DreamWebEngine::endGame() { void DreamWebEngine::monkSpeaking() { _roomsSample = 35; loadRoomsSample(); - loadIntoTemp("DREAMWEB.G15"); + GraphicsFile graphics; + loadGraphicsFile(graphics, "DREAMWEB.G15"); clearWork(); - showFrame(_tempGraphics, 160, 72, 0, 128); // show monk + showFrame(graphics, 160, 72, 0, 128); // show monk workToScreen(); _volume = 7; _volumeDirection = -1; @@ -74,7 +75,7 @@ void DreamWebEngine::monkSpeaking() { printResult = printDirect(&string, 36, &y, 239, 239 & 1); workToScreen(); clearWork(); - showFrame(_tempGraphics, 160, 72, 0, 128); // show monk + showFrame(graphics, 160, 72, 0, 128); // show monk hangOnP(240); if (_quitRequested) return; @@ -86,7 +87,7 @@ void DreamWebEngine::monkSpeaking() { _volumeTo = 7; fadeScreenDowns(); hangOn(300); - getRidOfTemp(); + graphics.clear(); } void DreamWebEngine::gettingShot() { diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp index fc0398c7b9..e59843539f 100644 --- a/engines/dreamweb/use.cpp +++ b/engines/dreamweb/use.cpp @@ -1501,7 +1501,7 @@ void DreamWebEngine::useCashCard() { showExit(); showMan(); uint16 y = (!_foreignRelease) ? 120 : 120 - 3; - showFrame(_tempGraphics, 114, y, 39, 0); + showFrame(_keypadGraphics, 114, y, 39, 0); const uint8 *obText = getObTextStart(); findNextColon(&obText); findNextColon(&obText); @@ -1517,7 +1517,7 @@ void DreamWebEngine::useCashCard() { _charShift = 0; workToScreenM(); hangOnP(400); - getRidOfTemp(); + _keypadGraphics.clear(); restoreReels(); putBackObStuff(); } |