aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/dreamweb/dreamweb.h35
-rw-r--r--engines/dreamweb/keypad.cpp110
-rw-r--r--engines/dreamweb/monitor.cpp38
-rw-r--r--engines/dreamweb/newplace.cpp38
-rw-r--r--engines/dreamweb/print.cpp4
-rw-r--r--engines/dreamweb/saveload.cpp42
-rw-r--r--engines/dreamweb/stubs.cpp76
-rw-r--r--engines/dreamweb/titles.cpp9
-rw-r--r--engines/dreamweb/use.cpp4
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();
}