aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dreamweb')
-rw-r--r--engines/dreamweb/backdrop.cpp38
-rw-r--r--engines/dreamweb/dreambase.h143
-rw-r--r--engines/dreamweb/dreamgen.cpp30
-rw-r--r--engines/dreamweb/dreamgen.h177
-rw-r--r--engines/dreamweb/dreamweb.cpp157
-rw-r--r--engines/dreamweb/keypad.cpp76
-rw-r--r--engines/dreamweb/monitor.cpp100
-rw-r--r--engines/dreamweb/newplace.cpp90
-rw-r--r--engines/dreamweb/object.cpp410
-rw-r--r--engines/dreamweb/pathfind.cpp112
-rw-r--r--engines/dreamweb/people.cpp132
-rw-r--r--engines/dreamweb/print.cpp50
-rw-r--r--engines/dreamweb/saveload.cpp234
-rw-r--r--engines/dreamweb/sprite.cpp274
-rw-r--r--engines/dreamweb/stubs.cpp1052
-rw-r--r--engines/dreamweb/talk.cpp82
-rw-r--r--engines/dreamweb/titles.cpp142
-rw-r--r--engines/dreamweb/use.cpp456
-rw-r--r--engines/dreamweb/vgafades.cpp106
-rw-r--r--engines/dreamweb/vgagrafx.cpp16
20 files changed, 1981 insertions, 1896 deletions
diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp
index 295be471f0..e5c2f30abd 100644
--- a/engines/dreamweb/backdrop.cpp
+++ b/engines/dreamweb/backdrop.cpp
@@ -25,8 +25,8 @@
namespace DreamGen {
void DreamBase::doBlocks() {
- uint16 dstOffset = data.word(kMapady) * 320 + data.word(kMapadx);
- uint16 mapOffset = kMap + data.byte(kMapy) * kMapwidth + data.byte(kMapx);
+ uint16 dstOffset = _mapAdY * 320 + _mapAdX;
+ uint16 mapOffset = kMap + _mapY * kMapwidth + _mapX;
const uint8 *mapData = _mapData + mapOffset;
uint8 *dstBuffer = workspace() + dstOffset;
@@ -67,9 +67,9 @@ uint8 DreamBase::getXAd(const uint8 *setData, uint8 *result) {
uint8 v2 = setData[2];
if (v0 != 0)
return 0;
- if (v1 < data.byte(kMapx))
+ if (v1 < _mapX)
return 0;
- v1 -= data.byte(kMapx);
+ v1 -= _mapX;
if (v1 >= 11)
return 0;
*result = (v1 << 4) | v2;
@@ -79,9 +79,9 @@ uint8 DreamBase::getXAd(const uint8 *setData, uint8 *result) {
uint8 DreamBase::getYAd(const uint8 *setData, uint8 *result) {
uint8 v0 = setData[3];
uint8 v1 = setData[4];
- if (v0 < data.byte(kMapy))
+ if (v0 < _mapY)
return 0;
- v0 -= data.byte(kMapy);
+ v0 -= _mapY;
if (v0 >= 10)
return 0;
*result = (v0 << 4) | v1;
@@ -145,8 +145,8 @@ void DreamBase::showAllObs() {
calcFrFrame(frameBase._frames[currentFrame], &width, &height, x, y, &objPos);
setEntry->index = setEntry->frames[0];
if ((setEntry->type == 0) && (setEntry->priority != 5) && (setEntry->priority != 6)) {
- x += data.word(kMapadx);
- y += data.word(kMapady);
+ x += _mapAdX;
+ y += _mapAdY;
showFrame(frameBase, x, y, currentFrame, 0);
} else
makeBackOb(setEntry, x, y);
@@ -193,18 +193,18 @@ void DreamBase::getDimension(uint8 *mapXstart, uint8 *mapYstart, uint8 *mapXsize
*mapYstart = yStart;
*mapXsize = xEnd - xStart;
*mapYsize = yEnd - yStart;
- data.word(kMapxstart) = xStart << 4;
- data.word(kMapystart) = yStart << 4;
- data.byte(kMapxsize) = *mapXsize << 4;
- data.byte(kMapysize) = *mapYsize << 4;
+ _mapXStart = xStart << 4;
+ _mapYStart = yStart << 4;
+ _mapXSize = *mapXsize << 4;
+ _mapYSize = *mapYsize << 4;
}
void DreamBase::calcMapAd() {
uint8 mapXstart, mapYstart;
uint8 mapXsize, mapYsize;
getDimension(&mapXstart, &mapYstart, &mapXsize, &mapYsize);
- data.word(kMapadx) = data.word(kMapoffsetx) - 8 * (mapXsize + 2 * mapXstart - 11);
- data.word(kMapady) = data.word(kMapoffsety) - 8 * (mapYsize + 2 * mapYstart - 10);
+ _mapAdX = _mapOffsetX - 8 * (mapXsize + 2 * mapXstart - 11);
+ _mapAdY = _mapOffsetY - 8 * (mapYsize + 2 * mapYstart - 10);
}
void DreamBase::showAllFree() {
@@ -223,8 +223,8 @@ void DreamBase::showAllFree() {
uint16 currentFrame = 3 * i;
calcFrFrame(frameBase._frames[currentFrame], &width, &height, x, y, &objPos);
if ((width != 0) || (height != 0)) {
- x += data.word(kMapadx);
- y += data.word(kMapady);
+ x += _mapAdX;
+ y += _mapAdY;
assert(currentFrame < 256);
showFrame(frameBase, x, y, currentFrame, 0);
objPos.index = i;
@@ -236,7 +236,7 @@ void DreamBase::showAllFree() {
void DreamBase::drawFlags() {
MapFlag *mapFlag = _mapFlags;
- uint16 mapOffset = kMap + data.byte(kMapy) * kMapwidth + data.byte(kMapx);
+ uint16 mapOffset = kMap + _mapY * kMapwidth + _mapX;
const uint8 *mapData = _mapData + mapOffset;
for (size_t i = 0; i < 10; ++i) {
@@ -261,7 +261,7 @@ void DreamBase::showAllEx() {
DynObject *object = objects + i;
if (object->mapad[0] == 0xff)
continue;
- if (object->currentLocation != data.byte(kReallocation))
+ if (object->currentLocation != _realLocation)
continue;
uint16 x, y;
if (getMapAd(object->mapad, &x, &y) == 0)
@@ -272,7 +272,7 @@ void DreamBase::showAllEx() {
calcFrFrame(frameBase._frames[currentFrame], &width, &height, x, y, &objPos);
if ((width != 0) || (height != 0)) {
assert(currentFrame < 256);
- showFrame(frameBase, x + data.word(kMapadx), y + data.word(kMapady), currentFrame, 0);
+ showFrame(frameBase, x + _mapAdX, y + _mapAdY, currentFrame, 0);
objPos.index = i;
_exList.push_back(objPos);
}
diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h
index 47f0cec24f..9d59c3fc6f 100644
--- a/engines/dreamweb/dreambase.h
+++ b/engines/dreamweb/dreambase.h
@@ -188,6 +188,149 @@ public:
bool _speechLoaded;
+ // misc variables
+ uint8 _speechCount;
+ uint16 _charShift;
+ uint8 _kerning;
+ uint8 _brightness;
+ uint8 _roomLoaded;
+ uint8 _didZoom;
+ uint16 _lineSpacing;
+ uint16 _textAddressX;
+ uint16 _textAddressY;
+ uint8 _textLen;
+ uint16 _lastXPos;
+ uint8 _itemFrame;
+ uint8 _withObject;
+ uint8 _withType;
+ uint16 _lookCounter;
+ uint8 _command;
+ uint8 _commandType;
+ uint8 _objectType;
+ uint8 _getBack;
+ uint8 _invOpen;
+ uint8 _mainMode;
+ uint8 _pickUp;
+ uint8 _lastInvPos;
+ uint8 _examAgain;
+ uint8 _newTextLine;
+ uint8 _openedOb;
+ uint8 _openedType;
+ uint16 _mapAdX;
+ uint16 _mapAdY;
+ uint16 _mapOffsetX;
+ uint16 _mapOffsetY;
+ uint16 _mapXStart;
+ uint16 _mapYStart;
+ uint8 _mapXSize;
+ uint8 _mapYSize;
+ uint8 _haveDoneObs;
+ uint8 _manIsOffScreen;
+ uint8 _facing;
+ uint8 _leaveDirection;
+ uint8 _turnToFace;
+ uint8 _turnDirection;
+ uint16 _mainTimer;
+ uint8 _introCount;
+ uint8 _currentKey;
+ uint8 _timerCount;
+ uint8 _mapX;
+ uint8 _mapY;
+ uint8 _ryanX;
+ uint8 _ryanY;
+ uint8 _lastFlag;
+ uint8 _destPos;
+ uint8 _realLocation;
+ uint8 _roomNum;
+ uint8 _nowInNewRoom;
+ uint8 _resetManXY;
+ uint8 _newLocation;
+ uint8 _autoLocation;
+ uint16 _mouseX;
+ uint16 _mouseY;
+ uint16 _mouseButton;
+ uint16 _oldButton;
+ uint16 _oldX;
+ uint16 _oldY;
+ uint16 _oldPointerX;
+ uint16 _oldPointerY;
+ uint16 _delHereX;
+ uint16 _delHereY;
+ uint8 _pointerXS;
+ uint8 _pointerYS;
+ uint8 _delXS;
+ uint8 _delYS;
+ uint8 _pointerFrame;
+ uint8 _pointerPower;
+ uint8 _pointerMode;
+ uint8 _pointerSpeed;
+ uint8 _pointerCount;
+ uint8 _inMapArea;
+ uint8 _talkMode;
+ uint8 _talkPos;
+ uint8 _character;
+ uint8 _watchDump;
+ uint8 _logoNum;
+ uint8 _oldLogoNum;
+ uint8 _pressed;
+ uint16 _pressPointer;
+ uint8 _graphicPress;
+ uint8 _pressCount;
+ uint8 _lightCount;
+ uint8 _folderPage;
+ uint8 _diaryPage;
+ uint8 _menuCount;
+ uint8 _symbolTopX;
+ uint8 _symbolTopNum;
+ uint8 _symbolTopDir;
+ uint8 _symbolBotX;
+ uint8 _symbolBotNum;
+ uint8 _symbolBotDir;
+ uint16 _dumpX;
+ uint16 _dumpY;
+ uint8 _walkAndExam;
+ uint8 _walkExamType;
+ uint8 _walkExamNum;
+ uint16 _cursLocX;
+ uint16 _cursLocY;
+ uint16 _curPos;
+ uint16 _monAdX;
+ uint16 _monAdY;
+ uint16 _timeCount;
+ uint16 _countToTimed;
+ uint8 _timedY;
+ uint8 _timedX;
+ uint8 _needToDumpTimed;
+ uint8 _loadingOrSave;
+ uint8 _currentSlot;
+ uint8 _cursorPos;
+ uint8 _colourPos;
+ uint8 _fadeDirection;
+ uint8 _numToFade;
+ uint8 _fadeCount;
+ uint8 _addToGreen;
+ uint8 _addToRed;
+ uint8 _addToBlue;
+ uint16 _lastSoundReel;
+ uint8 _lastHardKey;
+ uint16 _bufferIn;
+ uint16 _bufferOut;
+ uint8 _blinkFrame;
+ uint8 _blinkCount;
+ uint8 _reAssesChanges;
+ uint8 _pointersPath;
+ uint8 _mansPath;
+ uint8 _pointerFirstPath;
+ uint8 _finalDest;
+ uint8 _destination;
+ uint16 _lineStartX;
+ uint16 _lineStartY;
+ uint16 _lineEndX;
+ uint16 _lineEndY;
+ uint8 _linePointer;
+ uint8 _lineDirection;
+ uint8 _lineLength;
+
// from backdrop.cpp
void doBlocks();
uint8 getXAd(const uint8 *setData, uint8 *result);
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 239725c263..7f4c8e437a 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -37,35 +37,7 @@ void DreamGenContext::__start() {
//0x0020: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0xff, 0x00,
//0x0030: .... .... .... ....
- 0xff, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0xb6,
- //0x0040: ...0 .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0050: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0060: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0070: .... h.&. .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0080: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
- //0x0090: .... .... .... ....
- 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x00a0: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x00b0: .... .... .... ....
- 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x00c0: ... ... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x00d0: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x00e0: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x00f0: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0100: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0110: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
+ 0xff, 0x00, 0x00, 0x30, };
ds.assign(src, src + sizeof(src));
dreamweb();
}
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index fa13b47c2d..e47c44a83a 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -89,179 +89,6 @@ static const uint16 kLastweapon = 64;
static const uint16 kDreamnumber = 65;
static const uint16 kRoomafterdream = 66;
static const uint16 kShakecounter = 67;
-static const uint16 kSpeechcount = 68;
-static const uint16 kCharshift = 69;
-static const uint16 kKerning = 71;
-static const uint16 kBrightness = 72;
-static const uint16 kRoomloaded = 73;
-static const uint16 kDidzoom = 74;
-static const uint16 kLinespacing = 75;
-static const uint16 kTextaddressx = 77;
-static const uint16 kTextaddressy = 79;
-static const uint16 kTextlen = 81;
-static const uint16 kLastxpos = 82;
-static const uint16 kIcontop = 84;
-static const uint16 kIconleft = 86;
-static const uint16 kItemframe = 88;
-static const uint16 kRoomad = 89;
-static const uint16 kWithobject = 91;
-static const uint16 kWithtype = 92;
-static const uint16 kLookcounter = 93;
-static const uint16 kCommand = 95;
-static const uint16 kCommandtype = 96;
-static const uint16 kOldcommandtype = 97;
-static const uint16 kObjecttype = 98;
-static const uint16 kGetback = 99;
-static const uint16 kInvopen = 100;
-static const uint16 kMainmode = 101;
-static const uint16 kPickup = 102;
-static const uint16 kLastinvpos = 103;
-static const uint16 kExamagain = 104;
-static const uint16 kNewtextline = 105;
-static const uint16 kOpenedob = 106;
-static const uint16 kOpenedtype = 107;
-static const uint16 kOldmapadx = 108;
-static const uint16 kOldmapady = 110;
-static const uint16 kMapadx = 112;
-static const uint16 kMapady = 114;
-static const uint16 kMapoffsetx = 116;
-static const uint16 kMapoffsety = 118;
-static const uint16 kMapxstart = 120;
-static const uint16 kMapystart = 122;
-static const uint16 kMapxsize = 124;
-static const uint16 kMapysize = 125;
-static const uint16 kHavedoneobs = 126;
-static const uint16 kManisoffscreen = 127;
-static const uint16 kRainspace = 128;
-static const uint16 kFacing = 129;
-static const uint16 kLeavedirection = 130;
-static const uint16 kTurntoface = 131;
-static const uint16 kTurndirection = 132;
-static const uint16 kMaintimer = 133;
-static const uint16 kIntrocount = 135;
-static const uint16 kArrowad = 136;
-static const uint16 kCurrentkey = 138;
-static const uint16 kOldkey = 139;
-static const uint16 kUseddirection = 140;
-static const uint16 kTimercount = 141;
-static const uint16 kOldtimercount = 142;
-static const uint16 kMapx = 143;
-static const uint16 kMapy = 144;
-static const uint16 kNewscreen = 145;
-static const uint16 kRyanx = 146;
-static const uint16 kRyany = 147;
-static const uint16 kLastflag = 148;
-static const uint16 kOffsetx = 149;
-static const uint16 kOffsety = 151;
-static const uint16 kCurrentob = 153;
-static const uint16 kDestpos = 154;
-static const uint16 kReallocation = 155;
-static const uint16 kRoomnum = 156;
-static const uint16 kNowinnewroom = 157;
-static const uint16 kResetmanxy = 158;
-static const uint16 kNewlocation = 159;
-static const uint16 kAutolocation = 160;
-static const uint16 kDoorcheck1 = 161;
-static const uint16 kDoorcheck2 = 162;
-static const uint16 kDoorcheck3 = 163;
-static const uint16 kDoorcheck4 = 164;
-static const uint16 kMousex = 165;
-static const uint16 kMousey = 167;
-static const uint16 kMousebutton = 169;
-static const uint16 kMousebutton1 = 171;
-static const uint16 kMousebutton2 = 173;
-static const uint16 kMousebutton3 = 175;
-static const uint16 kMousebutton4 = 177;
-static const uint16 kOldbutton = 179;
-static const uint16 kOldx = 181;
-static const uint16 kOldy = 183;
-static const uint16 kLastbutton = 185;
-static const uint16 kOldpointerx = 187;
-static const uint16 kOldpointery = 189;
-static const uint16 kDelherex = 191;
-static const uint16 kDelherey = 193;
-static const uint16 kPointerxs = 195;
-static const uint16 kPointerys = 196;
-static const uint16 kDelxs = 197;
-static const uint16 kDelys = 198;
-static const uint16 kPointerframe = 199;
-static const uint16 kPointerpower = 200;
-static const uint16 kAuxpointerframe = 201;
-static const uint16 kPointermode = 202;
-static const uint16 kPointerspeed = 203;
-static const uint16 kPointercount = 204;
-static const uint16 kInmaparea = 205;
-static const uint16 kTalkmode = 206;
-static const uint16 kTalkpos = 207;
-static const uint16 kCharacter = 208;
-static const uint16 kWatchdump = 209;
-static const uint16 kLogonum = 210;
-static const uint16 kOldlogonum = 211;
-static const uint16 kPressed = 212;
-static const uint16 kPresspointer = 213;
-static const uint16 kGraphicpress = 215;
-static const uint16 kPresscount = 216;
-static const uint16 kLightcount = 217;
-static const uint16 kFolderpage = 218;
-static const uint16 kDiarypage = 219;
-static const uint16 kMenucount = 220;
-static const uint16 kSymboltopx = 221;
-static const uint16 kSymboltopnum = 222;
-static const uint16 kSymboltopdir = 223;
-static const uint16 kSymbolbotx = 224;
-static const uint16 kSymbolbotnum = 225;
-static const uint16 kSymbolbotdir = 226;
-static const uint16 kDumpx = 227;
-static const uint16 kDumpy = 229;
-static const uint16 kWalkandexam = 231;
-static const uint16 kWalkexamtype = 232;
-static const uint16 kWalkexamnum = 233;
-static const uint16 kCurslocx = 234;
-static const uint16 kCurslocy = 236;
-static const uint16 kCurpos = 238;
-static const uint16 kMonadx = 240;
-static const uint16 kMonady = 242;
-static const uint16 kNumtodo = 244;
-static const uint16 kTimecount = 246;
-static const uint16 kCounttotimed = 248;
-static const uint16 kTimedseg = 250;
-static const uint16 kTimedoffset = 252;
-static const uint16 kTimedy = 254;
-static const uint16 kTimedx = 255;
-static const uint16 kNeedtodumptimed = 256;
-static const uint16 kLoadingorsave = 257;
-static const uint16 kCurrentslot = 258;
-static const uint16 kCursorpos = 259;
-static const uint16 kColourpos = 260;
-static const uint16 kFadedirection = 261;
-static const uint16 kNumtofade = 262;
-static const uint16 kFadecount = 263;
-static const uint16 kAddtogreen = 264;
-static const uint16 kAddtored = 265;
-static const uint16 kAddtoblue = 266;
-static const uint16 kLastsoundreel = 267;
-static const uint16 kLasthardkey = 269;
-static const uint16 kBufferin = 270;
-static const uint16 kBufferout = 272;
-static const uint16 kWorkspace = 274;
-static const uint16 kMainsprites = 276;
-static const uint16 kBackdrop = 278;
-static const uint16 kRecordspace = 280;
-static const uint16 kBlinkframe = 282;
-static const uint16 kBlinkcount = 283;
-static const uint16 kReasseschanges = 284;
-static const uint16 kPointerspath = 285;
-static const uint16 kManspath = 286;
-static const uint16 kPointerfirstpath = 287;
-static const uint16 kFinaldest = 288;
-static const uint16 kDestination = 289;
-static const uint16 kLinestartx = 290;
-static const uint16 kLinestarty = 292;
-static const uint16 kLineendx = 294;
-static const uint16 kLineendy = 296;
-static const uint16 kLinepointer = 298;
-static const uint16 kLinedirection = 299;
-static const uint16 kLinelength = 300;
static const uint16 kBlocktextdat = (0);
static const uint16 kPersonframes = (0);
static const uint16 kDebuglevel1 = (0);
@@ -269,14 +96,14 @@ static const uint16 kDebuglevel2 = (0);
static const uint16 kPlayback = (0);
static const uint16 kMap = (0);
static const uint16 kSettextdat = (0);
+static const uint16 kTextunder = (0);
static const uint16 kSpanish = (0);
static const uint16 kRecording = (0);
-static const uint16 kFlags = (0);
static const uint16 kGerman = (0);
-static const uint16 kTextunder = (0);
static const uint16 kPathdata = (0);
static const uint16 kDemo = (0);
static const uint16 kFramedata = (0);
+static const uint16 kFlags = (0);
static const uint16 kExframedata = (0);
static const uint16 kIntextdat = (0);
static const uint16 kFreetextdat = (0);
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index de6a48170d..4e7257bcd3 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -95,7 +95,7 @@ void DreamWebEngine::waitForVSync() {
void DreamWebEngine::quit() {
_base._quitRequested = true;
- _base.data.byte(DreamGen::kLasthardkey) = 1;
+ _base._lastHardKey = 1;
}
void DreamWebEngine::processEvents() {
@@ -130,8 +130,8 @@ void DreamWebEngine::processEvents() {
break;
case Common::KEYCODE_c: //skip statue puzzle
- _base.data.byte(DreamGen::kSymbolbotnum) = 3;
- _base.data.byte(DreamGen::kSymboltopnum) = 5;
+ _base._symbolBotNum = 3;
+ _base._symbolTopNum = 5;
break;
default:
@@ -161,7 +161,7 @@ void DreamWebEngine::processEvents() {
break;
}
- _base.data.byte(DreamGen::kLasthardkey) = hardKey;
+ _base._lastHardKey = hardKey;
// The rest of the keys are converted to ASCII. This
// is fairly restrictive, and eventually we may want
@@ -267,13 +267,13 @@ Common::String DreamWebEngine::getSavegameFilename(int slot) const {
void DreamWebEngine::keyPressed(uint16 ascii) {
debug(2, "key pressed = %04x", ascii);
- uint16 in = (_base.data.word(DreamGen::kBufferin) + 1) & 0x0f;
- uint16 out = _base.data.word(DreamGen::kBufferout);
+ uint16 in = (_base._bufferIn + 1) & 0x0f;
+ uint16 out = _base._bufferOut;
if (in == out) {
warning("keyboard buffer is full");
return;
}
- _base.data.word(DreamGen::kBufferin) = in;
+ _base._bufferIn = in;
DreamGen::g_keyBuffer[in] = ascii;
}
@@ -431,6 +431,149 @@ DreamBase::DreamBase(DreamWeb::DreamWebEngine *en) :
_oldSubject._type = 0;
_oldSubject._index = 0;
+
+ // misc variables
+ _speechCount = 0;
+ _charShift = 0;
+ _kerning = 0;
+ _brightness = 0;
+ _roomLoaded = 0;
+ _didZoom = 0;
+ _lineSpacing = 10;
+ _textAddressX = 13;
+ _textAddressY = 182;
+ _textLen = 0;
+ _lastXPos = 0;
+ _itemFrame = 0;
+ _withObject = 0;
+ _withType = 0;
+ _lookCounter = 0;
+ _command = 0;
+ _commandType = 0;
+ _objectType = 0;
+ _getBack = 0;
+ _invOpen = 0;
+ _mainMode = 0;
+ _pickUp = 0;
+ _lastInvPos = 0;
+ _examAgain = 0;
+ _newTextLine = 0;
+ _openedOb = 0;
+ _openedType = 0;
+ _mapAdX = 0;
+ _mapAdY = 0;
+ _mapOffsetX = 104;
+ _mapOffsetY = 38;
+ _mapXStart = 0;
+ _mapYStart = 0;
+ _mapXSize = 0;
+ _mapYSize = 0;
+ _haveDoneObs = 0;
+ _manIsOffScreen = 0;
+ _facing = 0;
+ _leaveDirection = 0;
+ _turnToFace = 0;
+ _turnDirection = 0;
+ _mainTimer = 0;
+ _introCount = 0;
+ _currentKey = 0;
+ _timerCount = 0;
+ _mapX = 0;
+ _mapY = 0;
+ _ryanX = 0;
+ _ryanY = 0;
+ _lastFlag = 0;
+ _destPos = 0;
+ _realLocation = 0;
+ _roomNum = 0;
+ _nowInNewRoom = 0;
+ _resetManXY = 0;
+ _newLocation = 0xFF;
+ _autoLocation = 0xFF;
+ _mouseX = 0;
+ _mouseY = 0;
+ _mouseButton = 0;
+ _oldButton = 0;
+ _oldX = 0;
+ _oldY = 0;
+ _oldPointerX = 0;
+ _oldPointerY = 0;
+ _delHereX = 0;
+ _delHereY = 0;
+ _pointerXS = 32;
+ _pointerYS = 32;
+ _delXS = 0;
+ _delYS = 0;
+ _pointerFrame = 0;
+ _pointerPower = 0;
+ _pointerMode = 0;
+ _pointerSpeed = 0;
+ _pointerCount = 0;
+ _inMapArea = 0;
+ _talkMode = 0;
+ _talkPos = 0;
+ _character = 0;
+ _watchDump = 0;
+ _logoNum = 0;
+ _oldLogoNum = 0;
+ _pressed = 0;
+ _pressPointer = 0;
+ _graphicPress = 0;
+ _pressCount = 0;
+ _lightCount = 0;
+ _folderPage = 0;
+ _diaryPage = 0;
+ _menuCount = 0;
+ _symbolTopX = 0;
+ _symbolTopNum = 0;
+ _symbolTopDir = 0;
+ _symbolBotX = 0;
+ _symbolBotNum = 0;
+ _symbolBotDir = 0;
+ _dumpX = 0;
+ _dumpY = 0;
+ _walkAndExam = 0;
+ _walkExamType = 0;
+ _walkExamNum = 0;
+ _cursLocX = 0;
+ _cursLocY = 0;
+ _curPos = 0;
+ _monAdX = 0;
+ _monAdY = 0;
+ _timeCount = 0;
+ _countToTimed = 0;
+ _timedY = 0;
+ _timedX = 0;
+ _needToDumpTimed = 0;
+ _loadingOrSave = 0;
+ _currentSlot = 0;
+ _cursorPos = 0;
+ _colourPos = 0;
+ _fadeDirection = 0;
+ _numToFade = 0;
+ _fadeCount = 0;
+ _addToGreen = 0;
+ _addToRed = 0;
+ _addToBlue = 0;
+ _lastSoundReel = 0;
+ _lastHardKey = 0;
+ _bufferIn = 0;
+ _bufferOut = 0;
+ _blinkFrame = 23;
+ _blinkCount = 0;
+ _reAssesChanges = 0;
+ _pointersPath = 0;
+ _mansPath = 0;
+ _pointerFirstPath = 0;
+ _finalDest = 0;
+ _destination = 0;
+ _lineStartX = 0;
+ _lineStartY = 0;
+ _lineEndX = 0;
+ _lineEndY = 0;
+ _linePointer = 0;
+ _lineDirection = 0;
+ _lineLength = 0;
}
} // End of namespace DreamGen
diff --git a/engines/dreamweb/keypad.cpp b/engines/dreamweb/keypad.cpp
index 5f83ddbef5..5ef6ba70d4 100644
--- a/engines/dreamweb/keypad.cpp
+++ b/engines/dreamweb/keypad.cpp
@@ -33,9 +33,9 @@ void DreamBase::putUnderMenu() {
}
void DreamBase::singleKey(uint8 key, uint16 x, uint16 y) {
- if (key == data.byte(kGraphicpress)) {
+ if (key == _graphicPress) {
key += 11;
- if (data.byte(kPresscount) < 8)
+ if (_pressCount < 8)
key -= 11;
}
key -= 20;
@@ -58,8 +58,8 @@ void DreamBase::showKeypad() {
singleKey(30, kKeypadx+53, kKeypady+41);
singleKey(31, kKeypadx+9, kKeypady+59);
singleKey(32, kKeypadx+31, kKeypady+59);
- if (data.byte(kLightcount)) {
- --data.byte(kLightcount);
+ if (_lightCount) {
+ --_lightCount;
uint8 frameIndex;
uint16 y;
if (data.byte(kLockstatus)) {
@@ -69,7 +69,7 @@ void DreamBase::showKeypad() {
frameIndex = 41;
y = kKeypady+4+63;
}
- if ((data.byte(kLightcount) >= 60) && (data.byte(kLightcount) < 100))
+ if ((_lightCount >= 60) && (_lightCount < 100))
--frameIndex;
showFrame(_tempGraphics, kKeypadx+60, y, frameIndex, 0);
}
@@ -82,14 +82,14 @@ bool DreamBase::isItRight(uint8 digit0, uint8 digit1, uint8 digit2, uint8 digit3
}
void DreamBase::addToPressList() {
- if (data.word(kPresspointer) == 5)
+ if (_pressPointer == 5)
return;
- uint8 pressed = data.byte(kPressed);
+ uint8 pressed = _pressed;
if (pressed == 10)
pressed = 0;
- _pressList[data.word(kPresspointer)] = pressed;
- ++data.word(kPresspointer);
+ _pressList[_pressPointer] = pressed;
+ ++_pressPointer;
}
void DreamBase::enterCode(uint8 digit0, uint8 digit1, uint8 digit2, uint8 digit3) {
@@ -120,44 +120,44 @@ void DreamBase::enterCode(uint8 digit0, uint8 digit1, uint8 digit2, uint8 digit3
showPointer();
workToScreen();
delPointer();
- data.word(kPresspointer) = 0;
- data.byte(kGetback) = 0;
+ _pressPointer = 0;
+ _getBack = 0;
while (true) {
delPointer();
readMouse();
showKeypad();
showPointer();
vSync();
- if (data.byte(kPresscount) == 0) {
- data.byte(kPressed) = 255;
- data.byte(kGraphicpress) = 255;
+ if (_pressCount == 0) {
+ _pressed = 255;
+ _graphicPress = 255;
vSync();
} else
- --data.byte(kPresscount);
+ --_pressCount;
dumpPointer();
dumpKeypad();
dumpTextLine();
checkCoords(keypadList);
- if (_quitRequested || (data.byte(kGetback) == 1))
+ if (_quitRequested || (_getBack == 1))
break;
- if (data.byte(kLightcount) == 1) {
+ if (_lightCount == 1) {
if (data.byte(kLockstatus) == 0)
break;
} else {
- if (data.byte(kPresscount) == 40) {
+ if (_pressCount == 40) {
addToPressList();
- if (data.byte(kPressed) == 11) {
+ if (_pressed == 11) {
if (isItRight(digit0, digit1, digit2, digit3))
data.byte(kLockstatus) = 0;
playChannel1(11);
- data.byte(kLightcount) = 120;
- data.word(kPresspointer) = 0;
+ _lightCount = 120;
+ _pressPointer = 0;
}
}
}
}
- data.byte(kManisoffscreen) = 0;
+ _manIsOffScreen = 0;
getRidOfTemp();
restoreReels();
redrawMainScrn();
@@ -210,14 +210,14 @@ void DreamBase::buttonEnter() {
void DreamBase::buttonPress(uint8 buttonId) {
uint8 commandType = 100 + buttonId;
- if (data.byte(kCommandtype) != commandType) {
- data.byte(kCommandtype) = commandType;
+ if (_commandType != commandType) {
+ _commandType = commandType;
commandOnly(buttonId + 4);
}
- if ((data.word(kMousebutton) & 1) && (data.word(kMousebutton) != data.word(kOldbutton))) {
- data.byte(kPressed) = buttonId;
- data.byte(kGraphicpress) = buttonId + 21;
- data.byte(kPresscount) = 40;
+ if ((_mouseButton & 1) && (_mouseButton != _oldButton)) {
+ _pressed = buttonId;
+ _graphicPress = buttonId + 21;
+ _pressCount = 40;
if (buttonId != 11)
playChannel1(10);
}
@@ -233,35 +233,35 @@ void DreamBase::dumpKeypad() {
}
void DreamBase::dumpSymbol() {
- data.byte(kNewtextline) = 0;
+ _newTextLine = 0;
multiDump(kSymbolx, kSymboly + 20, 104, 60);
}
void DreamBase::dumpSymBox() {
- if (data.word(kDumpx) != 0xFFFF) {
- multiDump(data.word(kDumpx), data.word(kDumpy), 30, 77);
- data.word(kDumpx) = 0xFFFF;
+ if (_dumpX != 0xFFFF) {
+ multiDump(_dumpX, _dumpY, 30, 77);
+ _dumpX = 0xFFFF;
}
}
void DreamBase::quitSymbol() {
- if (data.byte(kSymboltopx) != 24 || data.byte(kSymbolbotx) != 24) {
+ if (_symbolTopX != 24 || _symbolBotX != 24) {
blank();
return;
};
- if (data.byte(kCommandtype) != 222) {
- data.byte(kCommandtype) = 222;
+ if (_commandType != 222) {
+ _commandType = 222;
commandOnly(18);
}
- if (data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton == _oldButton)
return; // notqs
- if (!(data.word(kMousebutton) & 1))
+ if (!(_mouseButton & 1))
return;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
} // End of namespace DreamGen
diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp
index 471d5eca8b..375ab9fcdd 100644
--- a/engines/dreamweb/monitor.cpp
+++ b/engines/dreamweb/monitor.cpp
@@ -66,8 +66,8 @@ void DreamBase::useMon() {
turnOnPower();
fadeUpYellows();
fadeUpMonFirst();
- data.word(kMonadx) = 76;
- data.word(kMonady) = 141;
+ _monAdX = 76;
+ _monAdY = 141;
monMessage(1);
hangOnCurs(120);
monMessage(2);
@@ -76,15 +76,15 @@ void DreamBase::useMon() {
hangOnCurs(100);
printLogo();
scrollMonitor();
- data.word(kBufferin) = 0;
- data.word(kBufferout) = 0;
+ _bufferIn = 0;
+ _bufferOut = 0;
bool stop = false;
do {
- uint16 oldMonadx = data.word(kMonadx);
- uint16 oldMonady = data.word(kMonady);
+ uint16 oldMonadx = _monAdX;
+ uint16 oldMonady = _monAdY;
input();
- data.word(kMonadx) = oldMonadx;
- data.word(kMonady) = oldMonady;
+ _monAdX = oldMonadx;
+ _monAdY = oldMonady;
stop = execCommand();
if (_quitRequested) //TODO : Check why it crashes when put before the execcommand
break;
@@ -96,9 +96,9 @@ void DreamBase::useMon() {
_textFile2.clear();
_textFile3.clear();
- data.byte(kGetback) = 1;
+ _getBack = 1;
playChannel1(26);
- data.byte(kManisoffscreen) = 0;
+ _manIsOffScreen = 0;
restoreAll();
redrawMainScrn();
workToScreenM();
@@ -171,8 +171,8 @@ bool DreamBase::execCommand() {
void DreamBase::monitorLogo() {
- if (data.byte(kLogonum) != data.byte(kOldlogonum)) {
- data.byte(kOldlogonum) = data.byte(kLogonum);
+ if (_logoNum != _oldLogoNum) {
+ _oldLogoNum = _logoNum;
//fadeDownMon(); // FIXME: Commented out in ASM
printLogo();
printUnderMon();
@@ -194,12 +194,12 @@ void DreamBase::printLogo() {
void DreamBase::input() {
memset(_inputLine, 0, 64);
- data.word(kCurpos) = 0;
- printChar(_tempCharset, data.word(kMonadx), data.word(kMonady), '>', 0, NULL, NULL);
- multiDump(data.word(kMonadx), data.word(kMonady), 6, 8);
- data.word(kMonadx) += 6;
- data.word(kCurslocx) = data.word(kMonadx);
- data.word(kCurslocy) = data.word(kMonady);
+ _curPos = 0;
+ printChar(_tempCharset, _monAdX, _monAdY, '>', 0, NULL, NULL);
+ multiDump(_monAdX, _monAdY, 6, 8);
+ _monAdX += 6;
+ _cursLocX = _monAdX;
+ _cursLocY = _monAdY;
while (true) {
printCurs();
vSync();
@@ -207,31 +207,31 @@ void DreamBase::input() {
readKey();
if (_quitRequested)
return;
- uint8 currentKey = data.byte(kCurrentkey);
+ uint8 currentKey = _currentKey;
if (currentKey == 0)
continue;
if (currentKey == 13)
return;
if (currentKey == 8) {
- if (data.word(kCurpos) > 0)
+ if (_curPos > 0)
delChar();
continue;
}
- if (data.word(kCurpos) == 28)
+ if (_curPos == 28)
continue;
- if ((currentKey == 32) && (data.word(kCurpos) == 0))
+ if ((currentKey == 32) && (_curPos == 0))
continue;
currentKey = makeCaps(currentKey);
- _inputLine[data.word(kCurpos) * 2 + 0] = currentKey;
+ _inputLine[_curPos * 2 + 0] = currentKey;
if (currentKey > 'Z')
continue;
- multiGet(_mapStore + data.word(kCurpos) * 256, data.word(kMonadx), data.word(kMonady), 8, 8);
+ multiGet(_mapStore + _curPos * 256, _monAdX, _monAdY, 8, 8);
uint8 charWidth;
- printChar(_tempCharset, data.word(kMonadx), data.word(kMonady), currentKey, 0, &charWidth, NULL);
- _inputLine[data.word(kCurpos) * 2 + 1] = charWidth;
- data.word(kMonadx) += charWidth;
- ++data.word(kCurpos);
- data.word(kCurslocx) += charWidth;
+ printChar(_tempCharset, _monAdX, _monAdY, currentKey, 0, &charWidth, NULL);
+ _inputLine[_curPos * 2 + 1] = charWidth;
+ _monAdX += charWidth;
+ ++_curPos;
+ _cursLocX += charWidth;
}
}
@@ -243,20 +243,20 @@ byte DreamBase::makeCaps(byte c) {
}
void DreamBase::delChar() {
- --data.word(kCurpos);
- _inputLine[data.word(kCurpos) * 2] = 0;
- uint8 width = _inputLine[data.word(kCurpos) * 2 + 1];
- data.word(kMonadx) -= width;
- data.word(kCurslocx) -= width;
- uint16 offset = data.word(kCurpos);
+ --_curPos;
+ _inputLine[_curPos * 2] = 0;
+ uint8 width = _inputLine[_curPos * 2 + 1];
+ _monAdX -= width;
+ _cursLocX -= width;
+ uint16 offset = _curPos;
offset = ((offset & 0x00ff) << 8) | ((offset & 0xff00) >> 8);
- multiPut(_mapStore + offset, data.word(kMonadx), data.word(kMonady), 8, 8);
- multiDump(data.word(kMonadx), data.word(kMonady), 8, 8);
+ multiPut(_mapStore + offset, _monAdX, _monAdY, 8, 8);
+ multiDump(_monAdX, _monAdY, 8, 8);
}
void DreamBase::printCurs() {
- uint16 x = data.word(kCurslocx);
- uint16 y = data.word(kCurslocy);
+ uint16 x = _cursLocX;
+ uint16 y = _cursLocY;
uint16 height;
if (_foreignRelease) {
y -= 3;
@@ -264,15 +264,15 @@ void DreamBase::printCurs() {
} else
height = 8;
multiGet(_textUnder, x, y, 6, height);
- ++data.word(kMaintimer);
- if ((data.word(kMaintimer) & 16) == 0)
+ ++_mainTimer;
+ if ((_mainTimer & 16) == 0)
showFrame(_tempCharset, x, y, '/' - 32, 0);
multiDump(x - 6, y, 12, height);
}
void DreamBase::delCurs() {
- uint16 x = data.word(kCurslocx);
- uint16 y = data.word(kCurslocy);
+ uint16 x = _cursLocX;
+ uint16 y = _cursLocY;
uint16 width = 6;
uint16 height;
if (_foreignRelease) {
@@ -433,7 +433,7 @@ const char *DreamBase::getKeyAndLogo(const char *foundString) {
if (monitorKeyEntries[keyNum].keyAssigned == 1) {
// Key OK
- data.byte(kLogonum) = newLogo;
+ _logoNum = newLogo;
return foundString + 4;
} else {
monMessage(12); // "Access denied, key required -"
@@ -476,7 +476,7 @@ void DreamBase::dirCom() {
return;
}
- data.byte(kLogonum) = 0;
+ _logoNum = 0;
memcpy(_currentFile+1, "ROOT ", 12);
monitorLogo();
scrollMonitor();
@@ -564,7 +564,7 @@ void DreamBase::read() {
// "keyok1"
found = searchForString(name, found);
if (!found) {
- data.byte(kLogonum) = data.byte(kOldlogonum);
+ _logoNum = _oldLogoNum;
monMessage(11);
return;
}
@@ -615,11 +615,11 @@ void DreamBase::signOn() {
monMessage(15);
- uint16 prevX = data.word(kMonadx);
- uint16 prevY = data.word(kMonady);
+ uint16 prevX = _monAdX;
+ uint16 prevY = _monAdY;
input(); // password input
- data.word(kMonadx) = prevX;
- data.word(kMonady) = prevY;
+ _monAdX = prevX;
+ _monAdY = prevY;
inputLine = (const char *)_inputLine;
inputLine.toUppercase();
diff --git a/engines/dreamweb/newplace.cpp b/engines/dreamweb/newplace.cpp
index 43b334ca3f..3093968969 100644
--- a/engines/dreamweb/newplace.cpp
+++ b/engines/dreamweb/newplace.cpp
@@ -28,17 +28,17 @@ void DreamBase::newPlace() {
if (data.byte(kNeedtotravel) == 1) {
data.byte(kNeedtotravel) = 0;
selectLocation();
- } else if (data.byte(kAutolocation) != 0xFF) {
- data.byte(kNewlocation) = data.byte(kAutolocation);
- data.byte(kAutolocation) = 0xFF;
+ } else if (_autoLocation != 0xFF) {
+ _newLocation = _autoLocation;
+ _autoLocation = 0xFF;
}
}
void DreamBase::selectLocation() {
- data.byte(kInmaparea) = 0;
+ _inMapArea = 0;
clearBeforeLoad();
- data.byte(kGetback) = 0;
- data.byte(kPointerframe) = 22;
+ _getBack = 0;
+ _pointerFrame = 22;
readCityPic();
showCity();
getRidOfTemp();
@@ -50,15 +50,15 @@ void DreamBase::selectLocation() {
showExit();
locationPic();
underTextLine();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
readMouse();
- data.byte(kPointerframe) = 0;
+ _pointerFrame = 0;
showPointer();
workToScreen();
playChannel0(9, 255);
- data.byte(kNewlocation) = 255;
+ _newLocation = 255;
- while (data.byte(kNewlocation) == 255) {
+ while (_newLocation == 255) {
if (_quitRequested)
break;
@@ -69,7 +69,7 @@ void DreamBase::selectLocation() {
dumpPointer();
dumpTextLine();
- if (data.byte(kGetback) == 1)
+ if (_getBack == 1)
break;
RectWithCallback<DreamBase> destList[] = {
@@ -84,9 +84,9 @@ void DreamBase::selectLocation() {
checkCoords(destList);
}
- if (_quitRequested || data.byte(kGetback) == 1 || data.byte(kNewlocation) == data.byte(kLocation)) {
- data.byte(kNewlocation) = data.byte(kReallocation);
- data.byte(kGetback) = 0;
+ if (_quitRequested || _getBack == 1 || _newLocation == data.byte(kLocation)) {
+ _newLocation = _realLocation;
+ _getBack = 0;
}
getRidOfTemp();
@@ -103,14 +103,14 @@ void DreamBase::showCity() {
}
void DreamBase::lookAtPlace() {
- if (data.byte(kCommandtype) != 224) {
- data.byte(kCommandtype) = 224;
+ if (_commandType != 224) {
+ _commandType = 224;
commandOnly(27);
}
- if (!(data.word(kMousebutton) & 1) ||
- data.word(kMousebutton) == data.word(kOldbutton) ||
- data.byte(kDestpos) >= 15)
+ if (!(_mouseButton & 1) ||
+ _mouseButton == _oldButton ||
+ _destPos >= 15)
return; // noinfo
delPointer();
@@ -121,14 +121,14 @@ void DreamBase::lookAtPlace() {
if (_foreignRelease)
showFrame(_tempGraphics3, 60, 72+55+21, 4, 0);
- const uint8 *string = (const uint8 *)_travelText.getString(data.byte(kDestpos));
+ const uint8 *string = (const uint8 *)_travelText.getString(_destPos);
findNextColon(&string);
uint16 y = (_foreignRelease) ? 84 + 4 : 84;
printDirect(&string, 63, &y, 191, 191 & 1);
workToScreenM();
hangOnP(500);
- data.byte(kPointermode) = 0;
- data.byte(kPointerframe) = 0;
+ _pointerMode = 0;
+ _pointerFrame = 0;
putUnderCentre();
workToScreenM();
}
@@ -143,17 +143,17 @@ void DreamBase::putUnderCentre() {
void DreamBase::locationPic() {
const int roomPics[] = { 5, 0, 3, 2, 4, 1, 10, 9, 8, 6, 11, 4, 7, 7, 0 };
- byte picture = roomPics[data.byte(kDestpos)];
+ byte picture = roomPics[_destPos];
if (picture >= 6)
showFrame(_tempGraphics2, 104, 138 + 14, picture - 6, 0); // Second slot
else
showFrame(_tempGraphics, 104, 138 + 14, picture + 4, 0);
- if (data.byte(kDestpos) == data.byte(kReallocation))
+ if (_destPos == _realLocation)
showFrame(_tempGraphics, 104, 140 + 14, 3, 0); // Currently in this location
- const uint8 *string = (const uint8 *)_travelText.getString(data.byte(kDestpos));
+ const uint8 *string = (const uint8 *)_travelText.getString(_destPos);
DreamBase::printDirect(string, 50, 20, 241, 241 & 1);
}
@@ -164,21 +164,21 @@ void DreamBase::showArrows() {
}
void DreamBase::nextDest() {
- if (data.byte(kCommandtype) != 218) {
- data.byte(kCommandtype) = 218;
+ if (_commandType != 218) {
+ _commandType = 218;
commandOnly(28);
}
- if (!(data.word(kMousebutton) & 1) || data.word(kOldbutton) == 1)
+ if (!(_mouseButton & 1) || _oldButton == 1)
return; // nodu
do {
- data.byte(kDestpos)++;
- if (data.byte(kDestpos) == 15)
- data.byte(kDestpos) = 0; // last destination
- } while (!getLocation(data.byte(kDestpos)));
+ _destPos++;
+ if (_destPos == 15)
+ _destPos = 0; // last destination
+ } while (!getLocation(_destPos));
- data.byte(kNewtextline) = 1;
+ _newTextLine = 1;
delTextLine();
delPointer();
showPanel();
@@ -193,21 +193,21 @@ void DreamBase::nextDest() {
}
void DreamBase::lastDest() {
- if (data.byte(kCommandtype) != 219) {
- data.byte(kCommandtype) = 219;
+ if (_commandType != 219) {
+ _commandType = 219;
commandOnly(29);
}
- if (!(data.word(kMousebutton) & 1) || data.word(kOldbutton) == 1)
+ if (!(_mouseButton & 1) || _oldButton == 1)
return; // nodd
do {
- data.byte(kDestpos)--;
- if (data.byte(kDestpos) == 0xFF)
- data.byte(kDestpos) = 15; // first destination
- } while (!getLocation(data.byte(kDestpos)));
+ _destPos--;
+ if (_destPos == 0xFF)
+ _destPos = 15; // first destination
+ } while (!getLocation(_destPos));
- data.byte(kNewtextline) = 1;
+ _newTextLine = 1;
delTextLine();
delPointer();
showPanel();
@@ -222,15 +222,15 @@ void DreamBase::lastDest() {
}
void DreamBase::destSelect() {
- if (data.byte(kCommandtype) != 222) {
- data.byte(kCommandtype) = 222;
+ if (_commandType != 222) {
+ _commandType = 222;
commandOnly(30);
}
- if (!(data.word(kMousebutton) & 1) || data.word(kOldbutton) == 1)
+ if (!(_mouseButton & 1) || _oldButton == 1)
return; // notrav
- data.byte(kNewlocation) = data.byte(kDestpos);
+ _newLocation = _destPos;
}
uint8 DreamBase::getLocation(uint8 index) {
diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp
index 6e5ae8a813..57e9c9c10e 100644
--- a/engines/dreamweb/object.cpp
+++ b/engines/dreamweb/object.cpp
@@ -61,7 +61,7 @@ bool DreamBase::isItWorn(const DynObject *object) {
}
void DreamBase::wornError() {
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
delPointer();
printMessage(76, 21, 57, 240, false);
workToScreenM();
@@ -69,7 +69,7 @@ void DreamBase::wornError() {
showPanel();
showMan();
examIcon();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
workToScreenM();
}
@@ -95,10 +95,10 @@ void DreamBase::obToInv(uint8 index, uint8 flag, uint16 x, uint16 y) {
}
void DreamBase::obPicture() {
- if (data.byte(kObjecttype) == kSetObjectType1)
+ if (_objectType == kSetObjectType1)
return;
- uint8 frame = 3 * data.byte(kCommand) + 1;
- if (data.byte(kObjecttype) == kExObjectType)
+ uint8 frame = 3 * _command + 1;
+ if (_objectType == kExObjectType)
showFrame(_exFrames, 160, 68, frame, 0x80);
else
showFrame(_freeFrames, 160, 68, frame, 0x80);
@@ -116,19 +116,19 @@ void DreamBase::obIcons() {
}
void DreamBase::examineOb(bool examineAgain) {
- data.byte(kPointermode) = 0;
- data.word(kTimecount) = 0;
+ _pointerMode = 0;
+ _timeCount = 0;
while (true) {
if (examineAgain) {
- data.byte(kInmaparea) = 0;
- data.byte(kExamagain) = 0;
- data.byte(kOpenedob) = 255;
- data.byte(kOpenedtype) = 255;
- data.byte(kInvopen) = 0;
- data.byte(kObjecttype) = data.byte(kCommandtype);
- data.byte(kItemframe) = 0;
- data.byte(kPointerframe) = 0;
+ _inMapArea = 0;
+ _examAgain = 0;
+ _openedOb = 255;
+ _openedType = 255;
+ _invOpen = 0;
+ _objectType = _commandType;
+ _itemFrame = 0;
+ _pointerFrame = 0;
createPanel();
showPanel();
showMan();
@@ -137,7 +137,7 @@ void DreamBase::examineOb(bool examineAgain) {
obPicture();
describeOb();
underTextLine();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
readMouse();
showPointer();
workToScreen();
@@ -151,9 +151,9 @@ void DreamBase::examineOb(bool examineAgain) {
dumpPointer();
dumpTextLine();
delPointer();
- data.byte(kGetback) = 0;
+ _getBack = 0;
- switch (data.byte(kInvopen)) {
+ switch (_invOpen) {
case 0: {
RectWithCallback<DreamBase> examList[] = {
{ 273,320,157,198,&DreamBase::getBackFromOb },
@@ -196,20 +196,20 @@ void DreamBase::examineOb(bool examineAgain) {
if (_quitRequested)
break;
- if (data.byte(kExamagain) != 0)
+ if (_examAgain != 0)
examineAgain = true;
- else if (data.byte(kGetback) != 0)
+ else if (_getBack != 0)
break;
}
- data.byte(kPickup) = 0;
- if (data.word(kWatchingtime) != 0 || data.byte(kNewlocation) == 255) {
+ _pickUp = 0;
+ if (data.word(kWatchingtime) != 0 || _newLocation == 255) {
// isWatching
makeMainScreen();
}
- data.byte(kInvopen) = 0;
- data.byte(kOpenedob) = 255;
+ _invOpen = 0;
+ _openedOb = 255;
}
void DreamBase::inventory() {
@@ -218,20 +218,20 @@ void DreamBase::inventory() {
return;
}
- if (data.byte(kCommandtype) != 239) {
- data.byte(kCommandtype) = 239;
+ if (_commandType != 239) {
+ _commandType = 239;
commandOnly(32);
}
- if (data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton == _oldButton)
return;
- if (!(data.word(kMousebutton) & 1)) // only on left mouse button
+ if (!(_mouseButton & 1)) // only on left mouse button
return;
- data.word(kTimecount) = 0;
- data.byte(kPointermode) = 0;
- data.byte(kInmaparea) = 0;
+ _timeCount = 0;
+ _pointerMode = 0;
+ _inMapArea = 0;
animPointer();
createPanel();
showPanel();
@@ -239,14 +239,14 @@ void DreamBase::inventory() {
showMan();
showExit();
underTextLine();
- data.byte(kPickup) = 0;
- data.byte(kInvopen) = 2;
+ _pickUp = 0;
+ _invOpen = 2;
openInv();
readMouse();
showPointer();
workToScreen();
delPointer();
- data.byte(kOpenedob) = 255;
+ _openedOb = 255;
examineOb(false);
}
@@ -261,15 +261,15 @@ void DreamBase::transferText(uint8 from, uint8 to) {
}
void DreamBase::getBackFromOb() {
- if (data.byte(kPickup) != 1)
+ if (_pickUp != 1)
getBack1();
else
blank();
}
byte DreamBase::getOpenedSlotCount() {
- byte obj = data.byte(kOpenedob);
- switch (data.byte(kOpenedtype)) {
+ byte obj = _openedOb;
+ switch (_openedType) {
case 4:
return getExAd(obj)->slotCount;
case 2:
@@ -280,8 +280,8 @@ byte DreamBase::getOpenedSlotCount() {
}
byte DreamBase::getOpenedSlotSize() {
- byte obj = data.byte(kOpenedob);
- switch (data.byte(kOpenedtype)) {
+ byte obj = _openedOb;
+ switch (_openedType) {
case 4:
return getExAd(obj)->slotSize;
case 2:
@@ -294,11 +294,11 @@ byte DreamBase::getOpenedSlotSize() {
void DreamBase::openOb() {
uint8 commandLine[64] = "OBJECT NAME ONE ";
- copyName(data.byte(kOpenedtype), data.byte(kOpenedob), commandLine);
+ copyName(_openedType, _openedOb, commandLine);
printMessage(kInventx, kInventy+86, 62, 240, false);
- printDirect(commandLine, data.word(kLastxpos) + 5, kInventy+86, 220, false);
+ printDirect(commandLine, _lastXPos + 5, kInventy+86, 220, false);
fillOpen();
_openChangeSize = getOpenedSlotCount() * kItempicsize + kInventx;
@@ -310,8 +310,8 @@ void DreamBase::identifyOb() {
return;
}
- uint16 initialX = data.word(kMousex) - data.word(kMapadx);
- uint16 initialY = data.word(kMousey) - data.word(kMapady);
+ uint16 initialX = _mouseX - _mapAdX;
+ uint16 initialY = _mouseY - _mapAdY;
if (initialX >= 22 * 8 || initialY >= 20 * 8) {
blank();
@@ -321,16 +321,16 @@ void DreamBase::identifyOb() {
byte x = initialX & 0xFF;
byte y = initialY & 0xFF;
- data.byte(kInmaparea) = 1;
- data.byte(kPointerspath) = findPathOfPoint(x, y);
- data.byte(kPointerfirstpath) = findFirstPath(x, y);
+ _inMapArea = 1;
+ _pointersPath = findPathOfPoint(x, y);
+ _pointerFirstPath = findFirstPath(x, y);
if (checkIfEx(x, y) || checkIfFree(x, y) ||
checkIfPerson(x, y) || checkIfSet(x, y))
return; // finishidentify
- x = (data.word(kMousex) - data.word(kMapadx)) & 0xFF;
- y = (data.word(kMousey) - data.word(kMapady)) & 0xFF;
+ x = (_mouseX - _mapAdX) & 0xFF;
+ y = (_mouseY - _mapAdY) & 0xFF;
byte flag, flagEx, type, flagX, flagY;
checkOne(x, y, &flag, &flagEx, &type, &flagX, &flagY);
@@ -342,11 +342,11 @@ void DreamBase::identifyOb() {
}
ObjectRef DreamBase::findInvPos() {
- uint16 x = data.word(kMousex) - kInventx;
- uint16 y = data.word(kMousey) - kInventy;
+ uint16 x = _mouseX - kInventx;
+ uint16 y = _mouseY - kInventy;
uint8 pos = (x / kItempicsize) + (y / kItempicsize) * 5;
uint8 invPos = data.byte(kRyanpage) * 10 + pos;
- data.byte(kLastinvpos) = invPos;
+ _lastInvPos = invPos;
return _ryanInvList[invPos];
}
@@ -357,26 +357,26 @@ void DreamBase::selectOb() {
return;
}
- data.byte(kWithobject) = objectId._index;
- data.byte(kWithtype) = objectId._type;
+ _withObject = objectId._index;
+ _withType = objectId._type;
- if (objectId != _oldSubject || data.byte(kCommandtype) != 221) {
+ if (objectId != _oldSubject || _commandType != 221) {
if (objectId == _oldSubject)
- data.byte(kCommandtype) = 221;
+ _commandType = 221;
_oldSubject = objectId;
commandWithOb(0, objectId._type, objectId._index);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
delPointer();
- data.byte(kInvopen) = 0;
+ _invOpen = 0;
useRoutine();
}
void DreamBase::setPickup() {
- if (data.byte(kObjecttype) != kSetObjectType1 && data.byte(kObjecttype) != kSetObjectType3) {
+ if (_objectType != kSetObjectType1 && _objectType != kSetObjectType3) {
// Object types 1 and 3 are excluded, so the resulting object is a DynObject
uint8 dummy;
DynObject *object = (DynObject *)getAnyAd(&dummy, &dummy);
@@ -389,12 +389,12 @@ void DreamBase::setPickup() {
return;
}
- if (data.byte(kCommandtype) != 209) {
- data.byte(kCommandtype) = 209;
- commandWithOb(33, data.byte(kObjecttype), data.byte(kCommand));
+ if (_commandType != 209) {
+ _commandType = 209;
+ commandWithOb(33, _objectType, _command);
}
- if (data.word(kMousebutton) != 1 || data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton != 1 || _mouseButton == _oldButton)
return;
createPanel();
@@ -402,20 +402,20 @@ void DreamBase::setPickup() {
showMan();
showExit();
examIcon();
- data.byte(kPickup) = 1;
- data.byte(kInvopen) = 2;
-
- if (data.byte(kObjecttype) != kExObjectType) {
- assert(data.byte(kObjecttype) == kFreeObjectType);
- data.byte(kOpenedob) = 255;
- data.byte(kItemframe) = transferToEx(data.byte(kCommand));
- data.byte(kObjecttype) = kExObjectType;
- DynObject *object = getExAd(data.byte(kItemframe));
+ _pickUp = 1;
+ _invOpen = 2;
+
+ if (_objectType != kExObjectType) {
+ assert(_objectType == kFreeObjectType);
+ _openedOb = 255;
+ _itemFrame = transferToEx(_command);
+ _objectType = kExObjectType;
+ DynObject *object = getExAd(_itemFrame);
object->mapad[0] = 20;
object->mapad[1] = 255;
} else {
- data.byte(kItemframe) = data.byte(kCommand);
- data.byte(kOpenedob) = 255;
+ _itemFrame = _command;
+ _openedOb = 255;
}
openInv();
@@ -486,16 +486,16 @@ void DreamBase::deleteExObject(uint8 index) {
}
void DreamBase::removeObFromInv() {
- if (data.byte(kCommand) == 100)
+ if (_command == 100)
return; // object doesn't exist
- assert(data.byte(kObjecttype) == kExObjectType);
+ assert(_objectType == kExObjectType);
- deleteExObject(data.byte(kCommand));
+ deleteExObject(_command);
}
void DreamBase::inToInv() {
- if (!data.byte(kPickup)) {
+ if (!_pickUp) {
outOfInv();
return;
}
@@ -507,25 +507,25 @@ void DreamBase::inToInv() {
return;
}
- subject._type = data.byte(kObjecttype);
- subject._index = data.byte(kItemframe);
+ subject._type = _objectType;
+ subject._index = _itemFrame;
- if (subject != _oldSubject || data.byte(kCommandtype) != 220) {
+ if (subject != _oldSubject || _commandType != 220) {
if (subject == _oldSubject)
- data.byte(kCommandtype) = 220;
+ _commandType = 220;
_oldSubject = subject;
commandWithOb(35, subject._type, subject._index);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return; // notletgo2
delPointer();
- DynObject *object = getExAd(data.byte(kItemframe));
+ DynObject *object = getExAd(_itemFrame);
object->mapad[0] = 4;
object->mapad[1] = 255;
- object->mapad[2] = data.byte(kLastinvpos);
- data.byte(kPickup) = 0;
+ object->mapad[2] = _lastInvPos;
+ _pickUp = 0;
fillRyan();
readMouse();
showPointer();
@@ -542,26 +542,26 @@ void DreamBase::outOfInv() {
return;
}
- if (data.word(kMousebutton) == 2) {
+ if (_mouseButton == 2) {
reExFromInv();
return;
}
- if (subject != _oldSubject || data.byte(kCommandtype) != 221) {
+ if (subject != _oldSubject || _commandType != 221) {
if (subject == _oldSubject)
- data.byte(kCommandtype) = 221;
+ _commandType = 221;
_oldSubject = subject;
commandWithOb(36, subject._type, subject._index);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
delPointer();
- data.byte(kPickup) = 1;
+ _pickUp = 1;
subject = findInvPos();
- data.byte(kObjecttype) = subject._type;
- data.byte(kItemframe) = subject._index;
+ _objectType = subject._type;
+ _itemFrame = subject._index;
assert(subject._type == kExObjectType);
DynObject *object = getExAd(subject._index);
object->mapad[0] = 20;
@@ -588,21 +588,21 @@ const uint8 *DreamBase::getObTextStart() {
const uint8 *textBase;
const uint8 *text;
uint16 textOff;
- if (data.byte(kObjecttype) == kFreeObjectType) {
+ if (_objectType == kFreeObjectType) {
textBase = (const uint8 *)_freeDesc._text;
textOff = kFreetext;
- text = (const uint8 *)_freeDesc.getString(data.byte(kCommand));
- } else if (data.byte(kObjecttype) == kSetObjectType1) {
+ text = (const uint8 *)_freeDesc.getString(_command);
+ } else if (_objectType == kSetObjectType1) {
textBase = (const uint8 *)_setDesc._text;
textOff = kSettext;
- text = (const uint8 *)_setDesc.getString(data.byte(kCommand));
+ text = (const uint8 *)_setDesc.getString(_command);
} else {
textBase = (const uint8 *)_exText._text;
textOff = kExtext;
- text = (const uint8 *)_exText.getString(data.byte(kCommand));
+ text = (const uint8 *)_exText.getString(_command);
}
- if (data.byte(kObjecttype) != kSetObjectType1)
+ if (_objectType != kSetObjectType1)
return text;
const uint8 *obname = text;
@@ -631,7 +631,7 @@ const uint8 *DreamBase::getObTextStart() {
// arbitrary give-up counter
// FIXME: Make this more precise to avoid reading out of bounds
if (text - (textBase - textOff) >= 8000) {
- warning("Object description for %d/%d not found", data.byte(kObjecttype), data.byte(kCommand));
+ warning("Object description for %d/%d not found", _objectType, _command);
return obname;
}
}
@@ -654,16 +654,16 @@ const uint8 *DreamBase::getObTextStart() {
}
void DreamBase::dropObject() {
- if (data.byte(kCommandtype) != 223) {
- data.byte(kCommandtype) = 223;
- if (!data.byte(kPickup)) {
+ if (_commandType != 223) {
+ _commandType = 223;
+ if (!_pickUp) {
blank();
return;
}
- commandWithOb(37, data.byte(kObjecttype), data.byte(kItemframe));
+ commandWithOb(37, _objectType, _itemFrame);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
if (isItWorn(getEitherAdCPP())) {
@@ -671,9 +671,9 @@ void DreamBase::dropObject() {
return;
}
- if (data.byte(kReallocation) != 47) {
+ if (_realLocation != 47) {
byte flag, flagEx, type, flagX, flagY;
- checkOne(data.byte(kRyanx) + 12, data.byte(kRyany) + 12, &flag, &flagEx, &type, &flagX, &flagY);
+ checkOne(_ryanX + 12, _ryanY + 12, &flag, &flagEx, &type, &flagX, &flagY);
if (flag >= 2) {
dropError();
@@ -684,26 +684,26 @@ void DreamBase::dropObject() {
return;
}
- if (data.byte(kMapxsize) == 64 && data.byte(kMapysize) == 64) {
+ if (_mapXSize == 64 && _mapYSize == 64) {
// Inside lift
dropError();
return;
}
- if (compare(data.byte(kItemframe), 4, "GUNA") || compare(data.byte(kItemframe), 4, "SHLD")) {
+ if (compare(_itemFrame, 4, "GUNA") || compare(_itemFrame, 4, "SHLD")) {
cantDrop();
return;
}
- data.byte(kObjecttype) = 4;
- DynObject *object = getExAd(data.byte(kItemframe));
+ _objectType = 4;
+ DynObject *object = getExAd(_itemFrame);
object->mapad[0] = 0;
- object->mapad[1] = ((data.byte(kRyanx) + 4) >> 4) + data.byte(kMapx);
- object->mapad[2] = (data.byte(kRyanx) + 4) & 0xF;
- object->mapad[3] = ((data.byte(kRyany) + 8) >> 4) + data.byte(kMapy);
- object->mapad[4] = (data.byte(kRyany) + 8) & 0xF;
- data.byte(kPickup) = 0;
- object->currentLocation = data.byte(kReallocation);
+ object->mapad[1] = ((_ryanX + 4) >> 4) + _mapX;
+ object->mapad[2] = (_ryanX + 4) & 0xF;
+ object->mapad[3] = ((_ryanY + 8) >> 4) + _mapY;
+ object->mapad[4] = (_ryanY + 8) & 0xF;
+ _pickUp = 0;
+ object->currentLocation = _realLocation;
}
bool DreamBase::checkObjectSize() {
@@ -744,16 +744,16 @@ void DreamBase::selectOpenOb() {
return;
}
- if (data.byte(kCommandtype) != 224) {
- data.byte(kCommandtype) = 224;
- commandWithOb(38, data.byte(kObjecttype), data.byte(kCommand));
+ if (_commandType != 224) {
+ _commandType = 224;
+ commandWithOb(38, _objectType, _command);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
- data.byte(kOpenedob) = data.byte(kCommand);
- data.byte(kOpenedtype) = data.byte(kObjecttype);
+ _openedOb = _command;
+ _openedType = _objectType;
createPanel();
showPanel();
showMan();
@@ -770,45 +770,45 @@ void DreamBase::selectOpenOb() {
void DreamBase::reExFromInv() {
ObjectRef objectId = findInvPos();
- data.byte(kCommandtype) = objectId._type;
- data.byte(kCommand) = objectId._index;
- data.byte(kExamagain) = 1;
- data.byte(kPointermode) = 0;
+ _commandType = objectId._type;
+ _command = objectId._index;
+ _examAgain = 1;
+ _pointerMode = 0;
}
void DreamBase::swapWithInv() {
ObjectRef subject;
- subject._type = data.byte(kObjecttype);
- subject._index = data.byte(kItemframe);
- if (subject != _oldSubject || data.byte(kCommandtype) != 243) {
+ subject._type = _objectType;
+ subject._index = _itemFrame;
+ if (subject != _oldSubject || _commandType != 243) {
if (subject == _oldSubject)
- data.byte(kCommandtype) = 243;
+ _commandType = 243;
_oldSubject = subject;
commandWithOb(34, subject._type, subject._index);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
- byte prevType = data.byte(kObjecttype);
- byte prevFrame = data.byte(kItemframe);
+ byte prevType = _objectType;
+ byte prevFrame = _itemFrame;
ObjectRef objectId = findInvPos();
- data.byte(kItemframe) = objectId._index;
- data.byte(kObjecttype) = objectId._type;
+ _itemFrame = objectId._index;
+ _objectType = objectId._type;
DynObject *object = getEitherAdCPP();
object->mapad[0] = 20;
object->mapad[1] = 255;
- byte prevType2 = data.byte(kObjecttype);
- byte prevFrame2 = data.byte(kItemframe);
- data.byte(kObjecttype) = prevType;
- data.byte(kItemframe) = prevFrame;
+ byte prevType2 = _objectType;
+ byte prevFrame2 = _itemFrame;
+ _objectType = prevType;
+ _itemFrame = prevFrame;
delPointer();
object = getEitherAdCPP();
object->mapad[0] = 4;
object->mapad[1] = 255;
- object->mapad[2] = data.byte(kLastinvpos);
- data.byte(kObjecttype) = prevType2;
- data.byte(kItemframe) = prevFrame2;
+ object->mapad[2] = _lastInvPos;
+ _objectType = prevType2;
+ _itemFrame = prevFrame2;
fillRyan();
readMouse();
showPointer();
@@ -817,10 +817,10 @@ void DreamBase::swapWithInv() {
}
void DreamBase::useOpened() {
- if (data.byte(kOpenedob) == 255)
+ if (_openedOb == 255)
return; // cannot use opened object
- if (!data.byte(kPickup)) {
+ if (!_pickUp) {
outOfOpen();
return;
}
@@ -832,21 +832,21 @@ void DreamBase::useOpened() {
return;
}
- if (data.byte(kPickup) != 1) {
+ if (_pickUp != 1) {
blank();
return;
}
- objectId._type = data.byte(kObjecttype);
- objectId._index = data.byte(kItemframe);
- if (objectId != _oldSubject || data.byte(kCommandtype) != 227) {
+ objectId._type = _objectType;
+ objectId._index = _itemFrame;
+ if (objectId != _oldSubject || _commandType != 227) {
if (objectId == _oldSubject)
- data.byte(kCommandtype) = 227;
+ _commandType = 227;
_oldSubject = objectId;
commandWithOb(35, objectId._type, objectId._index);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
if (isItWorn(getEitherAdCPP())) {
@@ -856,8 +856,8 @@ void DreamBase::useOpened() {
delPointer();
- if (data.byte(kItemframe) == data.byte(kOpenedob) &&
- data.byte(kObjecttype) == data.byte(kOpenedtype)) {
+ if (_itemFrame == _openedOb &&
+ _objectType == _openedType) {
errorMessage1();
return;
}
@@ -865,12 +865,12 @@ void DreamBase::useOpened() {
if (!checkObjectSize())
return;
- data.byte(kPickup) = 0;
+ _pickUp = 0;
DynObject *object = getEitherAdCPP();
- object->mapad[0] = data.byte(kOpenedtype);
- object->mapad[1] = data.byte(kOpenedob);
- object->mapad[2] = data.byte(kLastinvpos);
- object->mapad[3] = data.byte(kReallocation);
+ object->mapad[0] = _openedType;
+ object->mapad[1] = _openedOb;
+ object->mapad[2] = _lastInvPos;
+ object->mapad[3] = _realLocation;
fillOpen();
underTextLine();
readMouse();
@@ -881,7 +881,7 @@ void DreamBase::useOpened() {
}
void DreamBase::outOfOpen() {
- if (data.byte(kOpenedob) == 255)
+ if (_openedOb == 255)
return; // cannot use opened object
ObjectRef objectId = findOpenPos();
@@ -891,32 +891,32 @@ void DreamBase::outOfOpen() {
return;
}
- if (objectId != _oldSubject || data.byte(kCommandtype) != 228) {
+ if (objectId != _oldSubject || _commandType != 228) {
if (objectId == _oldSubject)
- data.byte(kCommandtype) = 228;
+ _commandType = 228;
_oldSubject = objectId;
commandWithOb(36, objectId._type, objectId._index);
}
- if (data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton == _oldButton)
return; // notletgo4
- if (data.word(kMousebutton) != 1) {
- if (data.word(kMousebutton) == 2)
+ if (_mouseButton != 1) {
+ if (_mouseButton == 2)
reExFromOpen();
return;
}
delPointer();
- data.byte(kPickup) = 1;
+ _pickUp = 1;
objectId = findOpenPos();
- data.byte(kObjecttype) = objectId._type;
- data.byte(kItemframe) = objectId._index;
+ _objectType = objectId._type;
+ _itemFrame = objectId._index;
- if (data.byte(kObjecttype) != kExObjectType) {
+ if (_objectType != kExObjectType) {
assert(objectId._type == kFreeObjectType);
- data.byte(kItemframe) = transferToEx(objectId._index);
- data.byte(kObjecttype) = kExObjectType;
+ _itemFrame = transferToEx(objectId._index);
+ _objectType = kExObjectType;
}
DynObject *object = getEitherAdCPP();
@@ -934,16 +934,16 @@ void DreamBase::outOfOpen() {
void DreamBase::swapWithOpen() {
ObjectRef subject;
- subject._type = data.byte(kObjecttype);
- subject._index = data.byte(kItemframe);
- if (subject != _oldSubject || data.byte(kCommandtype) != 242) {
+ subject._type = _objectType;
+ subject._index = _itemFrame;
+ if (subject != _oldSubject || _commandType != 242) {
if (subject == _oldSubject)
- data.byte(kCommandtype) = 242;
+ _commandType = 242;
_oldSubject = subject;
commandWithOb(34, subject._type, subject._index);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
if (isItWorn(getEitherAdCPP())) {
@@ -953,8 +953,8 @@ void DreamBase::swapWithOpen() {
delPointer();
- if (data.byte(kItemframe) == data.byte(kOpenedob) &&
- data.byte(kObjecttype) == data.byte(kOpenedtype)) {
+ if (_itemFrame == _openedOb &&
+ _objectType == _openedType) {
errorMessage1();
return;
}
@@ -962,33 +962,33 @@ void DreamBase::swapWithOpen() {
if (!checkObjectSize())
return;
- byte prevType = data.byte(kObjecttype);
- byte prevFrame = data.byte(kItemframe);
+ byte prevType = _objectType;
+ byte prevFrame = _itemFrame;
ObjectRef objectId = findOpenPos();
- data.byte(kObjecttype) = objectId._type;
- data.byte(kItemframe) = objectId._index;
+ _objectType = objectId._type;
+ _itemFrame = objectId._index;
- if (data.byte(kObjecttype) != kExObjectType) {
+ if (_objectType != kExObjectType) {
assert(objectId._type == kFreeObjectType);
- data.byte(kItemframe) = transferToEx(objectId._index);
- data.byte(kObjecttype) = kExObjectType;
+ _itemFrame = transferToEx(objectId._index);
+ _objectType = kExObjectType;
}
DynObject *object = getEitherAdCPP();
object->mapad[0] = 20;
object->mapad[1] = 255;
- byte prevType2 = data.byte(kObjecttype);
- byte prevFrame2 = data.byte(kItemframe);
- data.byte(kObjecttype) = prevType;
- data.byte(kItemframe) = prevFrame;
+ byte prevType2 = _objectType;
+ byte prevFrame2 = _itemFrame;
+ _objectType = prevType;
+ _itemFrame = prevFrame;
object = getEitherAdCPP();
- object->mapad[0] = data.byte(kOpenedtype);
- object->mapad[1] = data.byte(kOpenedob);
- object->mapad[2] = data.byte(kLastinvpos);
- object->mapad[3] = data.byte(kReallocation);
- data.byte(kObjecttype) = prevType2;
- data.byte(kItemframe) = prevFrame2;
+ object->mapad[0] = _openedType;
+ object->mapad[1] = _openedOb;
+ object->mapad[2] = _lastInvPos;
+ object->mapad[3] = _realLocation;
+ _objectType = prevType2;
+ _itemFrame = prevFrame2;
fillOpen();
fillRyan();
underTextLine();
@@ -1000,8 +1000,8 @@ void DreamBase::swapWithOpen() {
}
ObjectRef DreamBase::findOpenPos() {
- uint8 pos = (data.word(kMousex) - kInventx) / kItempicsize;
- data.byte(kLastinvpos) = pos;
+ uint8 pos = (_mouseX - kInventx) / kItempicsize;
+ _lastInvPos = pos;
return _openInvList[pos];
}
@@ -1016,12 +1016,12 @@ byte DreamBase::transferToEx(uint8 from) {
memcpy(exObject, freeObject, sizeof(DynObject));
- exObject->currentLocation = data.byte(kReallocation);
- exObject->initialLocation = data.byte(kReallocation);
+ exObject->currentLocation = _realLocation;
+ exObject->initialLocation = _realLocation;
exObject->index = from;
exObject->mapad[0] = 4;
exObject->mapad[1] = 255;
- exObject->mapad[2] = data.byte(kLastinvpos);
+ exObject->mapad[2] = _lastInvPos;
transferFrame(from, pos, 0);
transferFrame(from, pos, 1);
@@ -1053,11 +1053,11 @@ void DreamBase::findAllOpen() {
for (uint8 i = 0; i < kNumexobjects; ++i) {
const DynObject *obj = getExAd(i);
- if (obj->mapad[1] != data.byte(kOpenedob))
+ if (obj->mapad[1] != _openedOb)
continue;
- if (obj->mapad[0] != data.byte(kOpenedtype))
+ if (obj->mapad[0] != _openedType)
continue;
- if (data.byte(kOpenedtype) != kExObjectType && obj->mapad[3] != data.byte(kReallocation))
+ if (_openedType != kExObjectType && obj->mapad[3] != _realLocation)
continue;
uint8 slot = obj->mapad[2];
assert(slot < 16);
@@ -1067,9 +1067,9 @@ void DreamBase::findAllOpen() {
for (uint8 i = 0; i < 80; ++i) {
const DynObject *obj = getFreeAd(i);
- if (obj->mapad[1] != data.byte(kOpenedob))
+ if (obj->mapad[1] != _openedOb)
continue;
- if (obj->mapad[0] != data.byte(kOpenedtype))
+ if (obj->mapad[0] != _openedType)
continue;
uint8 slot = obj->mapad[2];
_openInvList[slot]._index = i;
@@ -1095,8 +1095,8 @@ void DreamBase::pickupConts(uint8 from, uint8 containerEx) {
DynObject *exObj = getExAd(pos);
memcpy(exObj, freeObj, sizeof(DynObject));
- exObj->currentLocation = data.byte(kReallocation);
- exObj->initialLocation = data.byte(kReallocation);
+ exObj->currentLocation = _realLocation;
+ exObj->initialLocation = _realLocation;
exObj->index = index;
exObj->mapad[0] = 4; // kExObjectType?
exObj->mapad[1] = containerEx;
diff --git a/engines/dreamweb/pathfind.cpp b/engines/dreamweb/pathfind.cpp
index 8a0596149e..6254fe7755 100644
--- a/engines/dreamweb/pathfind.cpp
+++ b/engines/dreamweb/pathfind.cpp
@@ -25,7 +25,7 @@
namespace DreamGen {
void DreamBase::turnPathOn(uint8 param) {
- findOrMake(param, 0xff, data.byte(kRoomnum) + 100);
+ findOrMake(param, 0xff, _roomNum + 100);
PathNode *roomsPaths = getRoomsPaths()->nodes;
if (param == 0xff)
return;
@@ -33,7 +33,7 @@ void DreamBase::turnPathOn(uint8 param) {
}
void DreamBase::turnPathOff(uint8 param) {
- findOrMake(param, 0x00, data.byte(kRoomnum) + 100);
+ findOrMake(param, 0x00, _roomNum + 100);
PathNode *roomsPaths = getRoomsPaths()->nodes;
if (param == 0xff)
return;
@@ -51,84 +51,84 @@ void DreamBase::turnAnyPathOff(uint8 param, uint8 room) {
}
RoomPaths *DreamBase::getRoomsPaths() {
- return &_pathData[data.byte(kRoomnum)];
+ return &_pathData[_roomNum];
}
void DreamBase::faceRightWay() {
PathNode *paths = getRoomsPaths()->nodes;
- uint8 dir = paths[data.byte(kManspath)].dir;
- data.byte(kTurntoface) = dir;
- data.byte(kLeavedirection) = dir;
+ uint8 dir = paths[_mansPath].dir;
+ _turnToFace = dir;
+ _leaveDirection = dir;
}
void DreamBase::setWalk() {
- if (data.byte(kLinepointer) != 254) {
+ if (_linePointer != 254) {
// Already walking
- data.byte(kFinaldest) = data.byte(kPointerspath);
- } else if (data.byte(kPointerspath) == data.byte(kManspath)) {
+ _finalDest = _pointersPath;
+ } else if (_pointersPath == _mansPath) {
// Can't walk
faceRightWay();
} else if (data.byte(kWatchmode) == 1) {
// Holding reel
- data.byte(kDestafterhold) = data.byte(kPointerspath);
+ data.byte(kDestafterhold) = _pointersPath;
data.byte(kWatchmode) = 2;
} else if (data.byte(kWatchmode) == 2) {
// Can't walk
} else {
- data.byte(kDestination) = data.byte(kPointerspath);
- data.byte(kFinaldest) = data.byte(kPointerspath);
- if (data.word(kMousebutton) != 2 || data.word(kCommandtype) == 3) {
+ _destination = _pointersPath;
+ _finalDest = _pointersPath;
+ if (_mouseButton != 2 || _commandType == 3) {
autoSetWalk();
} else {
- data.byte(kWalkandexam) = 1;
- data.byte(kWalkexamtype) = data.byte(kCommandtype);
- data.byte(kWalkexamnum) = data.byte(kCommand);
+ _walkAndExam = 1;
+ _walkExamType = _commandType;
+ _walkExamNum = _command;
autoSetWalk();
}
}
}
void DreamBase::autoSetWalk() {
- if (data.byte(kFinaldest) == data.byte(kManspath))
+ if (_finalDest == _mansPath)
return;
const RoomPaths *roomsPaths = getRoomsPaths();
checkDest(roomsPaths);
- data.word(kLinestartx) = roomsPaths->nodes[data.byte(kManspath)].x - 12;
- data.word(kLinestarty) = roomsPaths->nodes[data.byte(kManspath)].y - 12;
- data.word(kLineendx) = roomsPaths->nodes[data.byte(kDestination)].x - 12;
- data.word(kLineendy) = roomsPaths->nodes[data.byte(kDestination)].y - 12;
+ _lineStartX = roomsPaths->nodes[_mansPath].x - 12;
+ _lineStartY = roomsPaths->nodes[_mansPath].y - 12;
+ _lineEndX = roomsPaths->nodes[_destination].x - 12;
+ _lineEndY = roomsPaths->nodes[_destination].y - 12;
bresenhams();
- if (data.byte(kLinedirection) != 0) {
- data.byte(kLinepointer) = data.byte(kLinelength) - 1;
- data.byte(kLinedirection) = 1;
+ if (_lineDirection != 0) {
+ _linePointer = _lineLength - 1;
+ _lineDirection = 1;
return;
}
- data.byte(kLinepointer) = 0;
+ _linePointer = 0;
}
void DreamBase::checkDest(const RoomPaths *roomsPaths) {
const PathSegment *segments = roomsPaths->segments;
- const uint8 tmp = data.byte(kManspath) << 4;
- uint8 destination = data.byte(kDestination);
+ const uint8 tmp = _mansPath << 4;
+ uint8 destination = _destination;
for (size_t i = 0; i < 24; ++i) {
if ((segments[i].b0 & 0xf0) == tmp &&
- (segments[i].b0 & 0x0f) == data.byte(kDestination)) {
- data.byte(kDestination) = segments[i].b1 & 0x0f;
+ (segments[i].b0 & 0x0f) == _destination) {
+ _destination = segments[i].b1 & 0x0f;
return;
}
if (((segments[i].b0 & 0x0f) << 4) == tmp &&
- ((segments[i].b0 & 0xf0) >> 4) == data.byte(kDestination)) {
+ ((segments[i].b0 & 0xf0) >> 4) == _destination) {
destination = segments[i].b1 & 0x0f;
}
}
- data.byte(kDestination) = destination;
+ _destination = destination;
}
void DreamBase::findXYFromPath() {
const PathNode *roomsPaths = getRoomsPaths()->nodes;
- data.byte(kRyanx) = roomsPaths[data.byte(kManspath)].x - 12;
- data.byte(kRyany) = roomsPaths[data.byte(kManspath)].y - 12;
+ _ryanX = roomsPaths[_mansPath].x - 12;
+ _ryanY = roomsPaths[_mansPath].y - 12;
}
bool DreamBase::checkIfPathIsOn(uint8 index) {
@@ -140,10 +140,10 @@ bool DreamBase::checkIfPathIsOn(uint8 index) {
void DreamBase::bresenhams() {
workoutFrames();
Common::Point *lineData = &_lineData[0];
- int16 startX = (int16)data.word(kLinestartx);
- int16 startY = (int16)data.word(kLinestarty);
- int16 endX = (int16)data.word(kLineendx);
- int16 endY = (int16)data.word(kLineendy);
+ int16 startX = (int16)_lineStartX;
+ int16 startY = (int16)_lineStartY;
+ int16 endX = (int16)_lineEndX;
+ int16 endY = (int16)_lineEndY;
if (endX == startX) {
uint16 deltaY;
@@ -151,15 +151,15 @@ void DreamBase::bresenhams() {
if (endY < startY) {
deltaY = startY - endY;
y = (int8)endY;
- data.byte(kLinedirection) = 1;
+ _lineDirection = 1;
} else {
deltaY = endY - startY;
y = (int8)startY;
- data.byte(kLinedirection) = 0;
+ _lineDirection = 0;
}
++deltaY;
int8 x = (int8)startX;
- data.byte(kLinelength) = deltaY;
+ _lineLength = deltaY;
for (; deltaY; --deltaY) {
lineData->x = x;
lineData->y = y;
@@ -173,14 +173,14 @@ void DreamBase::bresenhams() {
deltaX = startX - endX;
SWAP(startX, endX);
SWAP(startY, endY);
- data.word(kLinestartx) = (uint16)startX;
- data.word(kLinestarty) = (uint16)startY;
- data.word(kLineendx) = (uint16)endX;
- data.word(kLineendy) = (uint16)endY;
- data.byte(kLinedirection) = 1;
+ _lineStartX = (uint16)startX;
+ _lineStartY = (uint16)startY;
+ _lineEndX = (uint16)endX;
+ _lineEndY = (uint16)endY;
+ _lineDirection = 1;
} else {
deltaX = endX - startX;
- data.byte(kLinedirection) = 0;
+ _lineDirection = 0;
}
int16 increment;
@@ -188,7 +188,7 @@ void DreamBase::bresenhams() {
int8 x = (int8)startX;
int8 y = (int8)startY;
++deltaX;
- data.byte(kLinelength) = deltaX;
+ _lineLength = deltaX;
for (; deltaX; --deltaX) {
lineData->x = x;
lineData->y = y;
@@ -225,7 +225,7 @@ void DreamBase::bresenhams() {
++delta1;
int8 x = (int8)startX;
int8 y = (int8)startY;
- data.byte(kLinelength) = delta1;
+ _lineLength = delta1;
if (lineRoutine != 1) {
for (; delta1; --delta1) {
lineData->x = x;
@@ -261,10 +261,10 @@ void DreamBase::workoutFrames() {
// We have to use signed arithmetic here because these values can
// be slightly negative when walking off-screen
- int lineStartX = (int16)data.word(kLinestartx);
- int lineStartY = (int16)data.word(kLinestarty);
- int lineEndX = (int16)data.word(kLineendx);
- int lineEndY = (int16)data.word(kLineendy);
+ int lineStartX = (int16)_lineStartX;
+ int lineStartY = (int16)_lineStartY;
+ int lineEndX = (int16)_lineEndX;
+ int lineEndY = (int16)_lineEndY;
diffx = ABS(lineStartX - lineEndX);
@@ -302,12 +302,12 @@ void DreamBase::workoutFrames() {
}
}
- data.byte(kTurntoface) = tmp & 7;
- data.byte(kTurndirection) = 0;
+ _turnToFace = tmp & 7;
+ _turnDirection = 0;
}
byte DreamBase::findFirstPath(byte x, byte y) {
- PathNode *paths = _pathData[data.byte(kRoomnum)].nodes;
+ PathNode *paths = _pathData[_roomNum].nodes;
for (uint8 index = 0; index < 12; index++) {
if (paths[index].x1 == 0xff && paths[index].y1 == 0xff)
@@ -326,7 +326,7 @@ byte DreamBase::findFirstPath(byte x, byte y) {
}
byte DreamBase::findPathOfPoint(byte x, byte y) {
- PathNode *paths = _pathData[data.byte(kRoomnum)].nodes;
+ PathNode *paths = _pathData[_roomNum].nodes;
for (uint8 index = 0; index < 12; index++) {
if (paths[index].on != 0xff)
diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp
index 5b04e5be60..0ab39eea9f 100644
--- a/engines/dreamweb/people.cpp
+++ b/engines/dreamweb/people.cpp
@@ -130,12 +130,12 @@ void DreamBase::setupInitialReelRoutines() {
void DreamBase::updatePeople() {
_peopleList.clear();
- ++data.word(kMaintimer);
+ ++_mainTimer;
for (int i = 0; _reelRoutines[i].reallocation != 255; ++i) {
- if (_reelRoutines[i].reallocation == data.byte(kReallocation) &&
- _reelRoutines[i].mapX == data.byte(kMapx) &&
- _reelRoutines[i].mapY == data.byte(kMapy)) {
+ if (_reelRoutines[i].reallocation == _realLocation &&
+ _reelRoutines[i].mapX == _mapX &&
+ _reelRoutines[i].mapY == _mapY) {
assert(reelCallbacks[i]);
(this->*(reelCallbacks[i]))(_reelRoutines[i]);
}
@@ -146,12 +146,12 @@ void DreamBase::madmanText() {
byte origCount;
if (isCD()) {
- if (data.byte(kSpeechcount) >= 63)
+ if (_speechCount >= 63)
return;
if (_channel1Playing != 255)
return;
- origCount = data.byte(kSpeechcount);
- ++data.byte(kSpeechcount);
+ origCount = _speechCount;
+ ++_speechCount;
} else {
if (data.byte(kCombatcount) >= 61)
return;
@@ -174,7 +174,7 @@ void DreamBase::madman(ReelRoutine &routine) {
if (newReelPointer == 10) {
loadTempText("DREAMWEB.T82");
data.byte(kCombatcount) = (uint8)-1;
- data.byte(kSpeechcount) = 0;
+ _speechCount = 0;
}
++newReelPointer;
if (newReelPointer == 294) {
@@ -204,18 +204,18 @@ void DreamBase::madman(ReelRoutine &routine) {
routine.setReelPointer(newReelPointer);
}
showGameReel(&routine);
- routine.mapX = data.byte(kMapx);
+ routine.mapX = _mapX;
madMode();
}
void DreamBase::madMode() {
data.word(kWatchingtime) = 2;
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
if (data.byte(kCombatcount) < (isCD() ? 65 : 63))
return;
if (data.byte(kCombatcount) >= (isCD() ? 70 : 68))
return;
- data.byte(kPointermode) = 2;
+ _pointerMode = 2;
}
void DreamBase::addToPeopleList(ReelRoutine *routine) {
@@ -291,7 +291,7 @@ void DreamBase::sparky(ReelRoutine &routine) {
void DreamBase::rockstar(ReelRoutine &routine) {
if ((routine.reelPointer() == 303) || (routine.reelPointer() == 118)) {
- data.byte(kNewlocation) = 45;
+ _newLocation = 45;
showGameReel(&routine);
return;
}
@@ -317,12 +317,12 @@ void DreamBase::rockstar(ReelRoutine &routine) {
showGameReel(&routine);
if (routine.reelPointer() == 78) {
addToPeopleList(&routine);
- data.byte(kPointermode) = 2;
+ _pointerMode = 2;
data.word(kWatchingtime) = 0;
} else {
data.word(kWatchingtime) = 2;
- data.byte(kPointermode) = 0;
- routine.mapY = data.byte(kMapy);
+ _pointerMode = 0;
+ routine.mapY = _mapY;
}
}
@@ -433,11 +433,11 @@ void DreamBase::introMagic1(ReelRoutine &routine) {
nextReelPointer = 121;
routine.setReelPointer(nextReelPointer);
if (nextReelPointer == 121) {
- ++data.byte(kIntrocount);
+ ++_introCount;
intro1Text();
- if (data.byte(kIntrocount) == 8) {
- data.byte(kMapy) += 10;
- data.byte(kNowinnewroom) = 1;
+ if (_introCount == 8) {
+ _mapY += 10;
+ _nowInNewRoom = 1;
}
}
}
@@ -458,11 +458,11 @@ void DreamBase::introMagic3(ReelRoutine &routine) {
if (checkSpeed(routine)) {
uint16 nextReelPointer = routine.reelPointer() + 1;
if (nextReelPointer == 218)
- data.byte(kGetback) = 1;
+ _getBack = 1;
routine.setReelPointer(nextReelPointer);
}
showGameReel(&routine);
- routine.mapX = data.byte(kMapx);
+ routine.mapX = _mapX;
}
void DreamBase::candles1(ReelRoutine &routine) {
@@ -516,7 +516,7 @@ void DreamBase::gates(ReelRoutine &routine) {
if (nextReelPointer >= 110)
routine.period = 2;
if (nextReelPointer == 120) {
- data.byte(kGetback) = 1;
+ _getBack = 1;
nextReelPointer = 119;
}
routine.setReelPointer(nextReelPointer);
@@ -529,7 +529,7 @@ void DreamBase::security(ReelRoutine &routine) {
if (routine.reelPointer() == 32) {
if (data.byte(kLastweapon) == 1) {
data.word(kWatchingtime) = 10;
- if ((data.byte(kManspath) == 9) && (data.byte(kFacing) == 0)) {
+ if ((_mansPath == 9) && (_facing == 0)) {
data.byte(kLastweapon) = (uint8)-1;
routine.incReelPointer();
}
@@ -632,7 +632,7 @@ void DreamBase::priest(ReelRoutine &routine) {
if (routine.reelPointer() == 8)
return; // priestspoken
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
data.word(kWatchingtime) = 2;
if (checkSpeed(routine)) {
@@ -653,12 +653,12 @@ void DreamBase::monkAndRyan(ReelRoutine &routine) {
if (checkSpeed(routine)) {
uint16 nextReelPointer = routine.reelPointer() + 1;
if (nextReelPointer == 83) {
- data.byte(kIntrocount)++;
+ _introCount++;
textForMonk();
nextReelPointer = 77;
- if (data.byte(kIntrocount) == 57) {
- data.byte(kGetback) = 1;
+ if (_introCount == 57) {
+ _getBack = 1;
return;
}
}
@@ -692,13 +692,13 @@ void DreamBase::introMonks1(ReelRoutine &routine) {
uint16 nextReelPointer = routine.reelPointer() + 1;
if (nextReelPointer == 80) {
- data.byte(kMapy) += 10;
- data.byte(kNowinnewroom) = 1;
+ _mapY += 10;
+ _nowInNewRoom = 1;
showGameReel(&routine);
return;
} else if (nextReelPointer == 30) {
- data.byte(kMapy) -= 10;
- data.byte(kNowinnewroom) = 1;
+ _mapY -= 10;
+ _nowInNewRoom = 1;
nextReelPointer = 51;
}
@@ -714,32 +714,32 @@ void DreamBase::introMonks1(ReelRoutine &routine) {
}
showGameReel(&routine);
- routine.mapY = data.byte(kMapy);
+ routine.mapY = _mapY;
}
void DreamBase::introMonks2(ReelRoutine &routine) {
if (checkSpeed(routine)) {
uint16 nextReelPointer = routine.reelPointer() + 1;
if (nextReelPointer == 87) {
- data.byte(kIntrocount)++;
+ _introCount++;
monks2text();
- if (data.byte(kIntrocount), 19)
+ if (_introCount == 19)
nextReelPointer = 87;
else
nextReelPointer = 74;
}
if (nextReelPointer == 110) {
- data.byte(kIntrocount)++;
+ _introCount++;
monks2text();
- if (data.byte(kIntrocount) == 35)
+ if (_introCount == 35)
nextReelPointer = 111;
else
nextReelPointer = 98;
} else if (nextReelPointer == 176) {
- data.byte(kGetback) = 1;
+ _getBack = 1;
} else if (nextReelPointer == 125) {
nextReelPointer = 140;
}
@@ -763,7 +763,7 @@ void DreamBase::soldier1(ReelRoutine &routine) {
}
} else if (data.byte(kLastweapon) == 1) {
data.word(kWatchingtime) = 10;
- if (data.byte(kManspath) == 2 && data.byte(kFacing) == 4)
+ if (_mansPath == 2 && _facing == 4)
routine.incReelPointer();
data.byte(kLastweapon) = 0xFF;
data.byte(kCombatcount) = 0;
@@ -844,7 +844,7 @@ void DreamBase::heavy(ReelRoutine &routine) {
if (checkSpeed(routine))
routine.incReelPointer();
}
- } else if (data.byte(kLastweapon) == 1 && data.byte(kManspath) == 5 && data.byte(kFacing) == 4) {
+ } else if (data.byte(kLastweapon) == 1 && _mansPath == 5 && _facing == 4) {
// Heavy wait
data.byte(kLastweapon) = (byte)-1;
routine.incReelPointer();
@@ -858,7 +858,7 @@ void DreamBase::heavy(ReelRoutine &routine) {
void DreamBase::helicopter(ReelRoutine &routine) {
if (routine.reelPointer() == 203) {
// Won helicopter
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
return;
}
@@ -889,13 +889,13 @@ void DreamBase::helicopter(ReelRoutine &routine) {
}
showGameReel(&routine);
- routine.mapX = data.byte(kMapx);
+ routine.mapX = _mapX;
if (routine.reelPointer() < 9 && data.byte(kCombatcount) >= 7) {
- data.byte(kPointermode) = 2;
+ _pointerMode = 2;
data.word(kWatchingtime) = 0;
} else {
// Not waiting helicopter
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
data.word(kWatchingtime) = 2;
}
}
@@ -912,7 +912,7 @@ void DreamBase::mugger(ReelRoutine &routine) {
routine.incReelPointer();
showGameReel(&routine);
- routine.mapX = data.byte(kMapx);
+ routine.mapX = _mapX;
} else {
createPanel2();
showIcon();
@@ -923,15 +923,15 @@ void DreamBase::mugger(ReelRoutine &routine) {
workToScreen();
hangOn(300);
routine.setReelPointer(140);
- data.byte(kManspath) = 2;
- data.byte(kFinaldest) = 2;
+ _mansPath = 2;
+ _finalDest = 2;
findXYFromPath();
- data.byte(kResetmanxy) = 1;
- data.byte(kCommand) = findExObject("WETA");
- data.byte(kObjecttype) = kExObjectType;
+ _resetManXY = 1;
+ _command = findExObject("WETA");
+ _objectType = kExObjectType;
removeObFromInv();
- data.byte(kCommand) = findExObject("WETB");
- data.byte(kObjecttype) = kExObjectType;
+ _command = findExObject("WETB");
+ _objectType = kExObjectType;
removeObFromInv();
makeMainScreen();
DreamBase::setupTimedUse(48, 70, 10, 68 - 32, 54 + 64);
@@ -942,14 +942,14 @@ void DreamBase::mugger(ReelRoutine &routine) {
// Exiting the elevator of Sartain's industries, Sartain (the businessman) and
// two bodyguards are expecting Ryan.
void DreamBase::businessMan(ReelRoutine &routine) {
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
data.word(kWatchingtime) = 2;
if (routine.reelPointer() == 2)
DreamBase::setupTimedUse(49, 30, 1, 68, 174); // First
if (routine.reelPointer() == 95) {
// Businessman combat won - end
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
data.word(kWatchingtime) = 0;
return;
}
@@ -983,10 +983,10 @@ void DreamBase::businessMan(ReelRoutine &routine) {
turnPathOn(1);
turnPathOn(2);
turnPathOff(3);
- data.byte(kManspath) = 5;
- data.byte(kFinaldest) = 5;
+ _mansPath = 5;
+ _finalDest = 5;
findXYFromPath();
- data.byte(kResetmanxy) = 1;
+ _resetManXY = 1;
nextReelPointer = 92;
}
}
@@ -995,18 +995,18 @@ void DreamBase::businessMan(ReelRoutine &routine) {
}
showGameReel(&routine);
- routine.mapY = data.byte(kMapy);
+ routine.mapY = _mapY;
if (routine.reelPointer() == 14) {
data.word(kWatchingtime) = 0;
- data.byte(kPointermode) = 2;
+ _pointerMode = 2;
}
}
void DreamBase::endGameSeq(ReelRoutine &routine) {
if (checkSpeed(routine)) {
uint16 nextReelPointer = routine.reelPointer() + 1;
- if (nextReelPointer == 51 && data.byte(kIntrocount) != 140) {
- data.byte(kIntrocount)++;
+ if (nextReelPointer == 51 && _introCount != 140) {
+ _introCount++;
textForEnd();
nextReelPointer = 50;
}
@@ -1021,11 +1021,11 @@ void DreamBase::endGameSeq(ReelRoutine &routine) {
}
if (nextReelPointer == 340)
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
showGameReel(&routine);
- routine.mapY = data.byte(kMapy);
+ routine.mapY = _mapY;
if (routine.reelPointer() == 145) {
routine.setReelPointer(146);
@@ -1038,7 +1038,7 @@ void DreamBase::poolGuard(ReelRoutine &routine) {
// Combat over 2
showGameReel(&routine);
data.word(kWatchingtime) = 2;
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
data.byte(kCombatcount)++;
if (data.byte(kCombatcount) < 100)
return; // doneover2
@@ -1048,7 +1048,7 @@ void DreamBase::poolGuard(ReelRoutine &routine) {
} else if (routine.reelPointer() == 185) {
// Combat over 1
data.word(kWatchingtime) = 0;
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
turnPathOn(0);
turnPathOff(1);
return;
@@ -1099,10 +1099,10 @@ void DreamBase::poolGuard(ReelRoutine &routine) {
showGameReel(&routine);
if (routine.reelPointer() != 121 && routine.reelPointer() != 146) {
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
data.word(kWatchingtime) = 2;
} else {
- data.byte(kPointermode) = 2;
+ _pointerMode = 2;
data.word(kWatchingtime) = 0;
}
}
diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp
index 9bdebc1e14..3a27b7e05f 100644
--- a/engines/dreamweb/print.cpp
+++ b/engines/dreamweb/print.cpp
@@ -50,7 +50,7 @@ uint8 DreamBase::getNextWord(const GraphicsFile &charSet, const uint8 *string, u
firstChar = engine->modifyChar(firstChar);
if (firstChar != 255) {
uint8 secondChar = *string;
- uint8 width = charSet._frames[firstChar - 32 + data.word(kCharshift)].width;
+ uint8 width = charSet._frames[firstChar - 32 + _charShift].width;
width = kernChars(firstChar, secondChar, width);
*totalWidth += width;
}
@@ -68,9 +68,9 @@ void DreamBase::printChar(const GraphicsFile &charSet, uint16* x, uint16 y, uint
height = &dummyHeight;
if (_foreignRelease)
y -= 3;
- uint16 tmp = c - 32 + data.word(kCharshift);
+ uint16 tmp = c - 32 + _charShift;
showFrame(charSet, *x, y, tmp & 0x1ff, (tmp >> 8) & 0xfe, width, height);
- if (data.byte(kKerning), 0)
+ if (_kerning == 0)
*width = kernChars(c, nextChar, *width);
(*x) += *width;
}
@@ -80,8 +80,8 @@ void DreamBase::printChar(const GraphicsFile &charSet, uint16 x, uint16 y, uint8
}
uint8 DreamBase::printSlow(const uint8 *string, uint16 x, uint16 y, uint8 maxWidth, bool centered) {
- data.byte(kPointerframe) = 1;
- data.byte(kPointermode) = 3;
+ _pointerFrame = 1;
+ _pointerMode = 3;
do {
uint16 offset = x;
uint16 charCount = getNumber(_charset1, string, maxWidth, centered, &offset);
@@ -96,17 +96,17 @@ uint8 DreamBase::printSlow(const uint8 *string, uint16 x, uint16 y, uint8 maxWid
}
if (charCount != 1) {
c1 = engine->modifyChar(c1);
- data.word(kCharshift) = 91;
+ _charShift = 91;
uint16 offset2 = offset;
printBoth(_charset1, &offset2, y, c1, c2);
- data.word(kCharshift) = 0;
+ _charShift = 0;
for (int i=0; i<2; ++i) {
uint16 mouseState = waitFrames();
if (_quitRequested)
return 0;
if (mouseState == 0)
continue;
- if (mouseState != data.word(kOldbutton)) {
+ if (mouseState != _oldButton) {
return 1;
}
}
@@ -124,7 +124,7 @@ uint8 DreamBase::printDirect(const uint8* string, uint16 x, uint16 y, uint8 maxW
}
uint8 DreamBase::printDirect(const uint8** string, uint16 x, uint16 *y, uint8 maxWidth, bool centered) {
- data.word(kLastxpos) = x;
+ _lastXPos = x;
const GraphicsFile &charSet = *_currentCharset;
while (true) {
uint16 offset = x;
@@ -140,10 +140,10 @@ uint8 DreamBase::printDirect(const uint8** string, uint16 x, uint16 *y, uint8 ma
c = engine->modifyChar(c);
uint8 width, height;
printChar(charSet, &i, *y, c, nextChar, &width, &height);
- data.word(kLastxpos) = i;
+ _lastXPos = i;
--charCount;
} while (charCount);
- *y += data.word(kLinespacing);
+ *y += _lineSpacing;
}
}
@@ -200,12 +200,12 @@ uint16 DreamBase::waitFrames() {
vSync();
dumpPointer();
delPointer();
- return data.word(kMousebutton);
+ return _mouseButton;
}
const char *DreamBase::monPrint(const char *string) {
- data.byte(kKerning) = 1;
- uint16 x = data.word(kMonadx);
+ _kerning = 1;
+ uint16 x = _monAdX;
const char *iterator = string;
bool done = false;
while (!done) {
@@ -226,22 +226,22 @@ const char *DreamBase::monPrint(const char *string) {
break;
}
c = engine->modifyChar(c);
- printChar(_tempCharset, &x, data.word(kMonady), c, 0, NULL, NULL);
- data.word(kCurslocx) = x;
- data.word(kCurslocy) = data.word(kMonady);
- data.word(kMaintimer) = 1;
+ printChar(_tempCharset, &x, _monAdY, c, 0, NULL, NULL);
+ _cursLocX = x;
+ _cursLocY = _monAdY;
+ _mainTimer = 1;
printCurs();
vSync();
lockMon();
delCurs();
} while (--count);
- x = data.word(kMonadx);
+ x = _monAdX;
scrollMonitor();
- data.word(kCurslocx) = data.word(kMonadx);
+ _cursLocX = _monAdX;
}
- data.byte(kKerning) = 0;
+ _kerning = 0;
return iterator;
}
@@ -254,7 +254,7 @@ void DreamBase::rollEndCreditsGameWon() {
multiGet(_mapStore, 75, 20, 160, 160);
const uint8 *string = getTextInFile1(3);
- const int linespacing = data.word(kLinespacing);
+ const int linespacing = _lineSpacing;
for (int i = 0; i < 254; ++i) {
// Output the text, initially with an offset of 10 pixels,
@@ -293,7 +293,7 @@ void DreamBase::rollEndCreditsGameLost() {
multiGet(_mapStore, 25, 20, 160, 160);
const uint8 *string = getTextInFile1(49);
- const int linespacing = data.word(kLinespacing);
+ const int linespacing = _lineSpacing;
for (int i = 0; i < 80; ++i) {
// Output the text, initially with an offset of 10 pixels,
@@ -315,7 +315,7 @@ void DreamBase::rollEndCreditsGameLost() {
vSync();
multiDump(25, 20, 160, 160);
- if (data.byte(kLasthardkey) == 1)
+ if (_lastHardKey == 1)
return;
}
@@ -325,7 +325,7 @@ void DreamBase::rollEndCreditsGameLost() {
c = *string++;
} while (c != ':' && c != 0);
- if (data.byte(kLasthardkey) == 1)
+ if (_lastHardKey == 1)
return;
}
diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp
index e2af04df75..9faf93ae8e 100644
--- a/engines/dreamweb/saveload.cpp
+++ b/engines/dreamweb/saveload.cpp
@@ -45,33 +45,33 @@ void syncReelRoutine(Common::Serializer &s, ReelRoutine *reel) {
}
void DreamBase::loadGame() {
- if (data.byte(kCommandtype) != 246) {
- data.byte(kCommandtype) = 246;
+ if (_commandType != 246) {
+ _commandType = 246;
commandOnly(41);
}
- if (data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton == _oldButton)
return; // "noload"
- if (data.word(kMousebutton) == 1)
+ if (_mouseButton == 1)
doLoad(-1);
}
// if -1, open menu to ask for slot to load
// if >= 0, directly load from that slot
void DreamBase::doLoad(int savegameId) {
- data.byte(kLoadingorsave) = 1;
+ _loadingOrSave = 1;
if (ConfMan.getBool("dreamweb_originalsaveload") && savegameId == -1) {
showOpBox();
showLoadOps();
- data.byte(kCurrentslot) = 0;
+ _currentSlot = 0;
showSlots();
showNames();
- data.byte(kPointerframe) = 0;
+ _pointerFrame = 0;
workToScreenM();
namesToOld();
- data.byte(kGetback) = 0;
+ _getBack = 0;
- while (data.byte(kGetback) == 0) {
+ while (_getBack == 0) {
if (_quitRequested)
return;
delPointer();
@@ -88,7 +88,7 @@ void DreamBase::doLoad(int savegameId) {
{ 0xFFFF,0,0,0,0 }
};
checkCoords(loadlist);
- if (data.byte(kGetback) == 2)
+ if (_getBack == 2)
return; // "quitloaded"
}
} else {
@@ -106,13 +106,13 @@ void DreamBase::doLoad(int savegameId) {
}
if (savegameId < 0) {
- data.byte(kGetback) = 0;
+ _getBack = 0;
return;
}
loadPosition(savegameId);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
// If we reach this point, loadPosition() has just been called.
@@ -122,17 +122,17 @@ void DreamBase::doLoad(int savegameId) {
startLoading(g_madeUpRoomDat);
loadRoomsSample();
- data.byte(kRoomloaded) = 1;
- data.byte(kNewlocation) = 255;
+ _roomLoaded = 1;
+ _newLocation = 255;
clearSprites();
initMan();
initRain();
- data.word(kTextaddressx) = 13;
- data.word(kTextaddressy) = 182;
- data.byte(kTextlen) = 240;
+ _textAddressX = 13;
+ _textAddressY = 182;
+ _textLen = 240;
startup();
workToScreen();
- data.byte(kGetback) = 4;
+ _getBack = 4;
}
@@ -142,28 +142,28 @@ void DreamBase::saveGame() {
return;
}
- if (data.byte(kCommandtype) != 247) {
- data.byte(kCommandtype) = 247;
+ if (_commandType != 247) {
+ _commandType = 247;
commandOnly(44);
}
- if (data.word(kMousebutton) != 1)
+ if (_mouseButton != 1)
return;
- data.byte(kLoadingorsave) = 2;
+ _loadingOrSave = 2;
if (ConfMan.getBool("dreamweb_originalsaveload")) {
showOpBox();
showSaveOps();
- data.byte(kCurrentslot) = 0;
+ _currentSlot = 0;
showSlots();
showNames();
workToScreenM();
namesToOld();
- data.word(kBufferin) = 0;
- data.word(kBufferout) = 0;
- data.byte(kGetback) = 0;
+ _bufferIn = 0;
+ _bufferOut = 0;
+ _getBack = 0;
- while (data.byte(kGetback) == 0) {
+ while (_getBack == 0) {
if (_quitRequested)
return;
delPointer();
@@ -197,7 +197,7 @@ void DreamBase::saveGame() {
delete dialog;
if (savegameId < 0) {
- data.byte(kGetback) = 0;
+ _getBack = 0;
return;
}
@@ -214,9 +214,9 @@ void DreamBase::saveGame() {
// TODO: The below is copied from actualsave
getRidOfTemp();
restoreAll(); // reels
- data.word(kTextaddressx) = 13;
- data.word(kTextaddressy) = 182;
- data.byte(kTextlen) = 240;
+ _textAddressX = 13;
+ _textAddressY = 182;
+ _textLen = 240;
redrawMainScrn();
workToScreen(); // show the main screen without the mouse pointer
@@ -225,7 +225,7 @@ void DreamBase::saveGame() {
savePosition(savegameId, descbuf);
workToScreenM();
- data.byte(kGetback) = 4;
+ _getBack = 4;
}
}
@@ -238,24 +238,24 @@ void DreamBase::oldToNames() {
}
void DreamBase::saveLoad() {
- if (data.word(kWatchingtime) || (data.byte(kPointermode) == 2)) {
+ if (data.word(kWatchingtime) || (_pointerMode == 2)) {
blank();
return;
}
- if (data.byte(kCommandtype) != 253) {
- data.byte(kCommandtype) = 253;
+ if (_commandType != 253) {
+ _commandType = 253;
commandOnly(43);
}
- if ((data.word(kMousebutton) != data.word(kOldbutton)) && (data.word(kMousebutton) & 1))
+ if ((_mouseButton != _oldButton) && (_mouseButton & 1))
doSaveLoad();
}
void DreamBase::doSaveLoad() {
- data.byte(kPointerframe) = 0;
- data.word(kTextaddressx) = 70;
- data.word(kTextaddressy) = 182-8;
- data.byte(kTextlen) = 181;
- data.byte(kManisoffscreen) = 1;
+ _pointerFrame = 0;
+ _textAddressX = 70;
+ _textAddressY = 182-8;
+ _textLen = 181;
+ _manIsOffScreen = 1;
clearWork();
createPanel2();
underTextLine();
@@ -283,11 +283,11 @@ void DreamBase::doSaveLoad() {
showMainOps();
workToScreenM();
}
- data.byte(kGetback) = 0;
+ _getBack = 0;
do { // wait ops
if (_quitRequested) {
- data.byte(kManisoffscreen) = 0;
+ _manIsOffScreen = 0;
return;
}
@@ -298,20 +298,20 @@ void DreamBase::doSaveLoad() {
dumpTextLine();
delPointer();
checkCoords(opsList);
- } while (!data.byte(kGetback));
- } while (data.byte(kGetback) == 2);
+ } while (!_getBack);
+ } while (_getBack == 2);
- data.word(kTextaddressx) = 13;
- data.word(kTextaddressy) = 182;
- data.byte(kTextlen) = 240;
- if (data.byte(kGetback) != 4) {
+ _textAddressX = 13;
+ _textAddressY = 182;
+ _textLen = 240;
+ if (_getBack != 4) {
getRidOfTemp();
restoreAll();
redrawMainScrn();
workToScreenM();
- data.byte(kCommandtype) = 200;
+ _commandType = 200;
}
- data.byte(kManisoffscreen) = 0;
+ _manIsOffScreen = 0;
}
void DreamBase::getBackFromOps() {
@@ -322,15 +322,15 @@ void DreamBase::getBackFromOps() {
}
void DreamBase::getBackToOps() {
- if (data.byte(kCommandtype) != 201) {
- data.byte(kCommandtype) = 201;
+ if (_commandType != 201) {
+ _commandType = 201;
commandOnly(42);
}
- if (data.word(kMousebutton) != data.word(kOldbutton)) {
- if (data.word(kMousebutton) & 1) {
+ if (_mouseButton != _oldButton) {
+ if (_mouseButton & 1) {
oldToNames();
- data.byte(kGetback) = 2;
+ _getBack = 2;
}
}
}
@@ -349,21 +349,21 @@ void DreamBase::showDiscOps() {
}
void DreamBase::discOps() {
- if (data.byte(kCommandtype) != 249) {
- data.byte(kCommandtype) = 249;
+ if (_commandType != 249) {
+ _commandType = 249;
commandOnly(43);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
scanForNames();
- data.byte(kLoadingorsave) = 2;
+ _loadingOrSave = 2;
showOpBox();
showDiscOps();
- data.byte(kCurrentslot) = 0;
+ _currentSlot = 0;
workToScreenM();
- data.byte(kGetback) = 0;
+ _getBack = 0;
RectWithCallback<DreamBase> discOpsList[] = {
{ kOpsx+59,kOpsx+114,kOpsy+30,kOpsy+76,&DreamBase::loadGame },
@@ -384,19 +384,19 @@ void DreamBase::discOps() {
dumpPointer();
dumpTextLine();
checkCoords(discOpsList);
- } while (!data.byte(kGetback));
+ } while (!_getBack);
}
void DreamBase::actualSave() {
- if (data.byte(kCommandtype) != 222) {
- data.byte(kCommandtype) = 222;
+ if (_commandType != 222) {
+ _commandType = 222;
commandOnly(44);
}
- if (!(data.word(kMousebutton) & 1))
+ if (!(_mouseButton & 1))
return;
- unsigned int slot = data.byte(kCurrentslot);
+ unsigned int slot = _currentSlot;
const char *desc = &_saveNames[17*slot];
if (desc[1] == 0) // The actual description string starts at desc[1]
@@ -406,31 +406,31 @@ void DreamBase::actualSave() {
getRidOfTemp();
restoreAll(); // reels
- data.word(kTextaddressx) = 13;
- data.word(kTextaddressy) = 182;
- data.byte(kTextlen) = 240;
+ _textAddressX = 13;
+ _textAddressY = 182;
+ _textLen = 240;
redrawMainScrn();
workToScreenM();
- data.byte(kGetback) = 4;
+ _getBack = 4;
}
void DreamBase::actualLoad() {
- if (data.byte(kCommandtype) != 221) {
- data.byte(kCommandtype) = 221;
+ if (_commandType != 221) {
+ _commandType = 221;
commandOnly(41);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || data.word(kMousebutton) != 1)
+ if (_mouseButton == _oldButton || _mouseButton != 1)
return;
- unsigned int slot = data.byte(kCurrentslot);
+ unsigned int slot = _currentSlot;
const char *desc = &_saveNames[17*slot];
if (desc[1] == 0) // The actual description string starts at desc[1]
return;
- loadPosition(data.byte(kCurrentslot));
- data.byte(kGetback) = 1;
+ loadPosition(_currentSlot);
+ _getBack = 1;
}
void DreamBase::savePosition(unsigned int slot, const char *descbuf) {
@@ -439,11 +439,11 @@ void DreamBase::savePosition(unsigned int slot, const char *descbuf) {
Room madeUpRoom = currentRoom;
madeUpRoom.roomsSample = _roomsSample;
- madeUpRoom.mapX = data.byte(kMapx);
- madeUpRoom.mapY = data.byte(kMapy);
+ madeUpRoom.mapX = _mapX;
+ madeUpRoom.mapY = _mapY;
madeUpRoom.liftFlag = data.byte(kLiftflag);
- madeUpRoom.b21 = data.byte(kManspath);
- madeUpRoom.facing = data.byte(kFacing);
+ madeUpRoom.b21 = _mansPath;
+ madeUpRoom.facing = _facing;
madeUpRoom.b27 = 255;
Common::String filename = engine->getSavegameFilename(slot);
@@ -521,7 +521,7 @@ void DreamBase::savePosition(unsigned int slot, const char *descbuf) {
}
void DreamBase::loadPosition(unsigned int slot) {
- data.word(kTimecount) = 0;
+ _timeCount = 0;
clearChanges();
Common::String filename = engine->getSavegameFilename(slot);
@@ -639,22 +639,22 @@ uint DreamBase::scanForNames() {
}
void DreamBase::loadOld() {
- if (data.byte(kCommandtype) != 252) {
- data.byte(kCommandtype) = 252;
+ if (_commandType != 252) {
+ _commandType = 252;
commandOnly(48);
}
- if (!(data.word(kMousebutton) & 1))
+ if (!(_mouseButton & 1))
return;
doLoad(-1);
- if (data.byte(kGetback) == 4 || _quitRequested)
+ if (_getBack == 4 || _quitRequested)
return;
showDecisions();
workToScreenM();
- data.byte(kGetback) = 0;
+ _getBack = 0;
}
void DreamBase::showDecisions() {
@@ -674,52 +674,52 @@ void DreamBase::showNames() {
// The first character of the savegame name is unused
Common::String name(&_saveNames[17*slot + 1]);
- if (slot != data.byte(kCurrentslot)) {
+ if (slot != _currentSlot) {
printDirect((const uint8 *)name.c_str(), kOpsx + 21, kOpsy + 10*slot + 10, 200, false);
continue;
}
- if (data.byte(kLoadingorsave) != 2) {
- data.word(kCharshift) = 91;
+ if (_loadingOrSave != 2) {
+ _charShift = 91;
printDirect((const uint8 *)name.c_str(), kOpsx + 21, kOpsy + 10*slot + 10, 200, false);
- data.word(kCharshift) = 0;
+ _charShift = 0;
continue;
}
int pos = name.size();
- data.byte(kCursorpos) = pos;
+ _cursorPos = pos;
name += '/'; // cursor character
printDirect((const uint8 *)name.c_str(), kOpsx + 21, kOpsy + 10*slot + 10, 200, false);
}
}
void DreamBase::checkInput() {
- if (data.byte(kLoadingorsave) == 3)
+ if (_loadingOrSave == 3)
return;
readKey();
// The first character of the savegame name is unused
- char *name = &_saveNames[17*data.byte(kCurrentslot) + 1];
+ char *name = &_saveNames[17*_currentSlot + 1];
- if (data.byte(kCurrentkey) == 0) {
+ if (_currentKey == 0) {
return;
- } else if (data.byte(kCurrentkey) == 13) {
- data.byte(kLoadingorsave) = 3;
- } else if (data.byte(kCurrentkey) == 8) {
- if (data.byte(kCursorpos) == 0)
+ } else if (_currentKey == 13) {
+ _loadingOrSave = 3;
+ } else if (_currentKey == 8) {
+ if (_cursorPos == 0)
return;
- --data.byte(kCursorpos);
- name[data.byte(kCursorpos)] = 0;
- name[data.byte(kCursorpos)+1] = 1;
+ --_cursorPos;
+ name[_cursorPos] = 0;
+ name[_cursorPos+1] = 1;
} else {
- if (data.byte(kCursorpos) == 14)
+ if (_cursorPos == 14)
return;
- name[data.byte(kCursorpos)] = data.byte(kCurrentkey);
- name[data.byte(kCursorpos)+1] = 0;
- name[data.byte(kCursorpos)+2] = 1;
- ++data.byte(kCursorpos);
+ name[_cursorPos] = _currentKey;
+ name[_cursorPos+1] = 0;
+ name[_cursorPos+2] = 1;
+ ++_cursorPos;
}
showOpBox();
@@ -730,28 +730,28 @@ void DreamBase::checkInput() {
}
void DreamBase::selectSlot() {
- if (data.byte(kCommandtype) != 244) {
- data.byte(kCommandtype) = 244;
+ if (_commandType != 244) {
+ _commandType = 244;
commandOnly(45);
}
- if (data.word(kMousebutton) != 1 || data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton != 1 || _mouseButton == _oldButton)
return; // noselslot
- if (data.byte(kLoadingorsave) == 3)
- data.byte(kLoadingorsave)--;
+ if (_loadingOrSave == 3)
+ _loadingOrSave--;
oldToNames();
- int y = data.word(kMousey) - (kOpsy + 4);
+ int y = _mouseY - (kOpsy + 4);
if (y < 11)
- data.byte(kCurrentslot) = 0;
+ _currentSlot = 0;
else
- data.byte(kCurrentslot) = y / 11;
+ _currentSlot = y / 11;
delPointer();
showOpBox();
showSlots();
showNames();
- if (data.byte(kLoadingorsave) == 1)
+ if (_loadingOrSave == 1)
showLoadOps();
else
showSaveOps();
@@ -767,7 +767,7 @@ void DreamBase::showSlots() {
uint16 y = kOpsy + 11;
for (int slot = 0; slot < 7; slot++) {
- if (slot == data.byte(kCurrentslot))
+ if (slot == _currentSlot)
showFrame(_tempGraphics, kOpsx + 10, y, 3, 0);
y += 10;
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 83a05b9bb0..096333f4b6 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -42,15 +42,15 @@ void DreamBase::printSprites() {
void DreamBase::printASprite(const Sprite *sprite) {
uint16 x, y;
if (sprite->y >= 220) {
- y = data.word(kMapady) - (256 - sprite->y);
+ y = _mapAdY - (256 - sprite->y);
} else {
- y = sprite->y + data.word(kMapady);
+ y = sprite->y + _mapAdY;
}
if (sprite->x >= 220) {
- x = data.word(kMapadx) - (256 - sprite->x);
+ x = _mapAdX - (256 - sprite->x);
} else {
- x = sprite->x + data.word(kMapadx);
+ x = sprite->x + _mapAdX;
}
uint8 c;
@@ -104,23 +104,23 @@ void DreamBase::spriteUpdate() {
backObject(&sprite);
}
- if (data.byte(kNowinnewroom) == 1)
+ if (_nowInNewRoom == 1)
break;
}
}
void DreamBase::initMan() {
- Sprite *sprite = makeSprite(data.byte(kRyanx), data.byte(kRyany), addr_mainman, &_mainSprites, 0);
+ Sprite *sprite = makeSprite(_ryanX, _ryanY, addr_mainman, &_mainSprites, 0);
sprite->priority = 4;
sprite->speed = 0;
sprite->walkFrame = 0;
}
void DreamBase::mainMan(Sprite *sprite) {
- if (data.byte(kResetmanxy) == 1) {
- data.byte(kResetmanxy) = 0;
- sprite->x = data.byte(kRyanx);
- sprite->y = data.byte(kRyany);
+ if (_resetManXY == 1) {
+ _resetManXY = 0;
+ sprite->x = _ryanX;
+ sprite->y = _ryanY;
sprite->walkFrame = 0;
}
@@ -129,84 +129,84 @@ void DreamBase::mainMan(Sprite *sprite) {
return;
sprite->speed = 0;
- if (data.byte(kTurntoface) != data.byte(kFacing)) {
+ if (_turnToFace != _facing) {
aboutTurn(sprite);
} else {
- if ((data.byte(kTurndirection) != 0) && (data.byte(kLinepointer) == 254)) {
- data.byte(kReasseschanges) = 1;
- if (data.byte(kFacing) == data.byte(kLeavedirection))
+ if ((_turnDirection != 0) && (_linePointer == 254)) {
+ _reAssesChanges = 1;
+ if (_facing == _leaveDirection)
checkForExit(sprite);
}
- data.byte(kTurndirection) = 0;
- if (data.byte(kLinepointer) == 254) {
+ _turnDirection = 0;
+ if (_linePointer == 254) {
sprite->walkFrame = 0;
} else {
++sprite->walkFrame;
if (sprite->walkFrame == 11)
sprite->walkFrame = 1;
walking(sprite);
- if (data.byte(kLinepointer) != 254) {
- if ((data.byte(kFacing) & 1) == 0)
+ if (_linePointer != 254) {
+ if ((_facing & 1) == 0)
walking(sprite);
else if ((sprite->walkFrame != 2) && (sprite->walkFrame != 7))
walking(sprite);
}
- if (data.byte(kLinepointer) == 254) {
- if (data.byte(kTurntoface) == data.byte(kFacing)) {
- data.byte(kReasseschanges) = 1;
- if (data.byte(kFacing) == data.byte(kLeavedirection))
+ if (_linePointer == 254) {
+ if (_turnToFace == _facing) {
+ _reAssesChanges = 1;
+ if (_facing == _leaveDirection)
checkForExit(sprite);
}
}
}
}
static const uint8 facelist[] = { 0,60,33,71,11,82,22,93 };
- sprite->frameNumber = sprite->walkFrame + facelist[data.byte(kFacing)];
- data.byte(kRyanx) = sprite->x;
- data.byte(kRyany) = sprite->y;
+ sprite->frameNumber = sprite->walkFrame + facelist[_facing];
+ _ryanX = sprite->x;
+ _ryanY = sprite->y;
}
void DreamBase::walking(Sprite *sprite) {
uint8 comp;
- if (data.byte(kLinedirection) != 0) {
- --data.byte(kLinepointer);
+ if (_lineDirection != 0) {
+ --_linePointer;
comp = 200;
} else {
- ++data.byte(kLinepointer);
- comp = data.byte(kLinelength);
+ ++_linePointer;
+ comp = _lineLength;
}
- if (data.byte(kLinepointer) < comp) {
- sprite->x = (uint8)_lineData[data.byte(kLinepointer)].x;
- sprite->y = (uint8)_lineData[data.byte(kLinepointer)].y;
+ if (_linePointer < comp) {
+ sprite->x = (uint8)_lineData[_linePointer].x;
+ sprite->y = (uint8)_lineData[_linePointer].y;
return;
}
- data.byte(kLinepointer) = 254;
- data.byte(kManspath) = data.byte(kDestination);
- if (data.byte(kDestination) == data.byte(kFinaldest)) {
+ _linePointer = 254;
+ _mansPath = _destination;
+ if (_destination == _finalDest) {
faceRightWay();
return;
}
- data.byte(kDestination) = data.byte(kFinaldest);
+ _destination = _finalDest;
autoSetWalk();
}
void DreamBase::aboutTurn(Sprite *sprite) {
bool incdir = true;
- if (data.byte(kTurndirection) == 1)
+ if (_turnDirection == 1)
incdir = true;
- else if ((int8)data.byte(kTurndirection) == -1)
+ else if ((int8)_turnDirection == -1)
incdir = false;
else {
- if (data.byte(kFacing) < data.byte(kTurntoface)) {
- uint8 delta = data.byte(kTurntoface) - data.byte(kFacing);
+ if (_facing < _turnToFace) {
+ uint8 delta = _turnToFace - _facing;
if (delta >= 4)
incdir = false;
else
incdir = true;
} else {
- uint8 delta = data.byte(kFacing) - data.byte(kTurntoface);
+ uint8 delta = _facing - _turnToFace;
if (delta >= 4)
incdir = true;
else
@@ -215,12 +215,12 @@ void DreamBase::aboutTurn(Sprite *sprite) {
}
if (incdir) {
- data.byte(kTurndirection) = 1;
- data.byte(kFacing) = (data.byte(kFacing) + 1) & 7;
+ _turnDirection = 1;
+ _facing = (_facing + 1) & 7;
sprite->walkFrame = 0;
} else {
- data.byte(kTurndirection) = (uint8)-1;
- data.byte(kFacing) = (data.byte(kFacing) - 1) & 7;
+ _turnDirection = (uint8)-1;
+ _facing = (_facing - 1) & 7;
sprite->walkFrame = 0;
}
}
@@ -276,8 +276,8 @@ void DreamBase::wideDoor(Sprite *sprite, SetObject *objData) {
}
void DreamBase::doDoor(Sprite *sprite, SetObject *objData, Common::Rect check) {
- int ryanx = data.byte(kRyanx);
- int ryany = data.byte(kRyany);
+ int ryanx = _ryanX;
+ int ryany = _ryanY;
// Automatically opening doors: check if Ryan is in range
@@ -292,7 +292,7 @@ void DreamBase::doDoor(Sprite *sprite, SetObject *objData, Common::Rect check) {
++sprite->animFrame;
if (sprite->animFrame == 1) { // doorsound2
uint8 soundIndex;
- if (data.byte(kReallocation) == 5) // hoteldoor2
+ if (_realLocation == 5) // hoteldoor2
soundIndex = 13;
else
soundIndex = 0;
@@ -309,7 +309,7 @@ void DreamBase::doDoor(Sprite *sprite, SetObject *objData, Common::Rect check) {
if (sprite->animFrame == 5) { // doorsound1;
uint8 soundIndex;
- if (data.byte(kReallocation) == 5) // hoteldoor1
+ if (_realLocation == 5) // hoteldoor1
soundIndex = 13;
else
soundIndex = 1;
@@ -331,8 +331,8 @@ void DreamBase::steady(Sprite *sprite, SetObject *objData) {
}
void DreamBase::lockedDoorway(Sprite *sprite, SetObject *objData) {
- int ryanx = data.byte(kRyanx);
- int ryany = data.byte(kRyany);
+ int ryanx = _ryanX;
+ int ryany = _ryanY;
Common::Rect check(-24, -30, 10, 12);
check.translate(sprite->x, sprite->y);
@@ -449,8 +449,8 @@ const GraphicsFile *DreamBase::findSource(uint16 &frame) {
}
void DreamBase::showReelFrame(Reel *reel) {
- uint16 x = reel->x + data.word(kMapadx);
- uint16 y = reel->y + data.word(kMapady);
+ uint16 x = reel->x + _mapAdX;
+ uint16 y = reel->y + _mapAdY;
uint16 frame = reel->frame();
const GraphicsFile *base = findSource(frame);
showFrame(*base, x, y, frame, 8);
@@ -480,8 +480,8 @@ void DreamBase::showRain() {
for (i = _rainList.begin(); i != _rainList.end(); ++i) {
Rain &rain = *i;
- uint16 y = rain.y + data.word(kMapady) + data.word(kMapystart);
- uint16 x = rain.x + data.word(kMapadx) + data.word(kMapxstart);
+ uint16 y = rain.y + _mapAdY + _mapYStart;
+ uint16 x = rain.x + _mapAdX + _mapXStart;
uint16 size = rain.size;
uint16 offset = (rain.w3 - rain.b5) & 511;
rain.w3 = offset;
@@ -497,9 +497,9 @@ void DreamBase::showRain() {
if (_channel1Playing != 255)
return;
- if (data.byte(kReallocation) == 2 && data.byte(kBeenmugged) != 1)
+ if (_realLocation == 2 && data.byte(kBeenmugged) != 1)
return;
- if (data.byte(kReallocation) == 55)
+ if (_realLocation == 55)
return;
if (engine->randomNumber() >= 1) // play thunder with 1 in 256 chance
@@ -516,22 +516,22 @@ void DreamBase::showRain() {
void DreamBase::moveMap(uint8 param) {
switch (param) {
case 32:
- data.byte(kMapy) -= 20;
+ _mapY -= 20;
break;
case 16:
- data.byte(kMapy) -= 10;
+ _mapY -= 10;
break;
case 8:
- data.byte(kMapy) += 10;
+ _mapY += 10;
break;
case 2:
- data.byte(kMapx) += 11;
+ _mapX += 11;
break;
default:
- data.byte(kMapx) -= 11;
+ _mapX -= 11;
break;
}
- data.byte(kNowinnewroom) = 1;
+ _nowInNewRoom = 1;
}
void DreamBase::checkOne(uint8 x, uint8 y, uint8 *flag, uint8 *flagEx, uint8 *type, uint8 *flagX, uint8 *flagY) {
@@ -545,7 +545,7 @@ void DreamBase::checkOne(uint8 x, uint8 y, uint8 *flag, uint8 *flagEx, uint8 *ty
uint8 DreamBase::getBlockOfPixel(uint8 x, uint8 y) {
uint8 flag, flagEx, type, flagX, flagY;
- checkOne(x + data.word(kMapxstart), y + data.word(kMapystart), &flag, &flagEx, &type, &flagX, &flagY);
+ checkOne(x + _mapXStart, y + _mapYStart, &flag, &flagEx, &type, &flagX, &flagY);
if (flag & 1)
return 0;
else
@@ -560,7 +560,7 @@ void DreamBase::splitIntoLines(uint8 x, uint8 y) {
while (!getBlockOfPixel(x, y)) {
--x;
++y;
- if (x == 0 || y >= data.byte(kMapysize))
+ if (x == 0 || y >= _mapYSize)
return;
}
@@ -573,7 +573,7 @@ void DreamBase::splitIntoLines(uint8 x, uint8 y) {
while (getBlockOfPixel(x, y)) {
--x;
++y;
- if (x == 0 || y >= data.byte(kMapysize))
+ if (x == 0 || y >= _mapYSize)
break;
++length;
}
@@ -582,7 +582,7 @@ void DreamBase::splitIntoLines(uint8 x, uint8 y) {
rain.w3 = (engine->randomNumber() << 8) | engine->randomNumber();
rain.b5 = (engine->randomNumber() & 3) + 4;
_rainList.push_back(rain);
- } while (x > 0 && y < data.byte(kMapysize));
+ } while (x > 0 && y < _mapYSize);
}
struct RainLocation {
@@ -630,8 +630,8 @@ void DreamBase::initRain() {
// look up location in rainLocationList to determine rainSpacing
for (r = rainLocationList; r->location != 0xff; ++r) {
- if (r->location == data.byte(kReallocation) &&
- r->x == data.byte(kMapx) && r->y == data.byte(kMapy)) {
+ if (r->location == _realLocation &&
+ r->x == _mapX && r->y == _mapY) {
rainSpacing = r->rainSpacing;
break;
}
@@ -651,7 +651,7 @@ void DreamBase::initRain() {
} while (delta >= rainSpacing);
x += delta;
- if (x >= data.byte(kMapxsize))
+ if (x >= _mapXSize)
break;
splitIntoLines(x, 0);
@@ -666,25 +666,25 @@ void DreamBase::initRain() {
} while (delta >= rainSpacing);
y += delta;
- if (y >= data.byte(kMapysize))
+ if (y >= _mapYSize)
break;
- splitIntoLines(data.byte(kMapxsize) - 1, y);
+ splitIntoLines(_mapXSize - 1, y);
} while (true);
}
void DreamBase::intro1Text() {
- if (data.byte(kIntrocount) != 2 && data.byte(kIntrocount) != 4 && data.byte(kIntrocount) != 6)
+ if (_introCount != 2 && _introCount != 4 && _introCount != 6)
return;
if (isCD() && _channel1Playing != 255) {
- data.byte(kIntrocount)--;
+ _introCount--;
} else {
- if (data.byte(kIntrocount) == 2)
+ if (_introCount == 2)
setupTimedTemp(40, 82, 34, 130, 90, 1);
- else if (data.byte(kIntrocount) == 4)
+ else if (_introCount == 4)
setupTimedTemp(41, 82, 34, 130, 90, 1);
- else if (data.byte(kIntrocount) == 6)
+ else if (_introCount == 6)
setupTimedTemp(42, 82, 34, 130, 90, 1);
}
}
@@ -706,84 +706,84 @@ void DreamBase::intro3Text(uint16 nextReelPointer) {
void DreamBase::monks2text() {
bool isGermanCD = isCD() && engine->getLanguage() == Common::DE_DEU;
- if (data.byte(kIntrocount) == 1)
+ if (_introCount == 1)
setupTimedTemp(8, 82, 36, 160, 120, 1);
- else if (data.byte(kIntrocount) == (isGermanCD ? 5 : 4))
+ else if (_introCount == (isGermanCD ? 5 : 4))
setupTimedTemp(9, 82, 36, 160, 120, 1);
- else if (data.byte(kIntrocount) == (isGermanCD ? 9 : 7))
+ else if (_introCount == (isGermanCD ? 9 : 7))
setupTimedTemp(10, 82, 36, 160, 120, 1);
- else if (data.byte(kIntrocount) == 10 && !isGermanCD) {
+ else if (_introCount == 10 && !isGermanCD) {
if (isCD())
- data.byte(kIntrocount) = 12;
+ _introCount = 12;
setupTimedTemp(11, 82, 0, 105, 120, 1);
- } else if (data.byte(kIntrocount) == 13 && isGermanCD) {
- data.byte(kIntrocount) = 14;
+ } else if (_introCount == 13 && isGermanCD) {
+ _introCount = 14;
setupTimedTemp(11, 82, 0, 105, 120, 1);
- } else if (data.byte(kIntrocount) == 13 && !isGermanCD) {
+ } else if (_introCount == 13 && !isGermanCD) {
if (isCD())
- data.byte(kIntrocount) = 17;
+ _introCount = 17;
else
setupTimedTemp(12, 82, 0, 120, 120, 1);
- } else if (data.byte(kIntrocount) == 16 && !isGermanCD)
+ } else if (_introCount == 16 && !isGermanCD)
setupTimedTemp(13, 82, 0, 135, 120, 1);
- else if (data.byte(kIntrocount) == 19)
+ else if (_introCount == 19)
setupTimedTemp(14, 82, 36, 160, 100, 1);
- else if (data.byte(kIntrocount) == (isGermanCD ? 23 : 22))
+ else if (_introCount == (isGermanCD ? 23 : 22))
setupTimedTemp(15, 82, 36, 160, 120, 1);
- else if (data.byte(kIntrocount) == (isGermanCD ? 27 : 25))
+ else if (_introCount == (isGermanCD ? 27 : 25))
setupTimedTemp(16, 82, 36, 160, 120, 1);
- else if (data.byte(kIntrocount) == (isCD() ? 27 : 28) && !isGermanCD)
+ else if (_introCount == (isCD() ? 27 : 28) && !isGermanCD)
setupTimedTemp(17, 82, 36, 160, 120, 1);
- else if (data.byte(kIntrocount) == 30 && isGermanCD)
+ else if (_introCount == 30 && isGermanCD)
setupTimedTemp(17, 82, 36, 160, 120, 1);
- else if (data.byte(kIntrocount) == (isGermanCD ? 35 : 31))
+ else if (_introCount == (isGermanCD ? 35 : 31))
setupTimedTemp(18, 82, 36, 160, 120, 1);
}
void DreamBase::textForEnd() {
- if (data.byte(kIntrocount) == 20)
+ if (_introCount == 20)
setupTimedTemp(0, 83, 34, 20, 60, 1);
- else if (data.byte(kIntrocount) == (isCD() ? 50 : 65))
+ else if (_introCount == (isCD() ? 50 : 65))
setupTimedTemp(1, 83, 34, 20, 60, 1);
- else if (data.byte(kIntrocount) == (isCD() ? 85 : 110))
+ else if (_introCount == (isCD() ? 85 : 110))
setupTimedTemp(2, 83, 34, 20, 60, 1);
}
void DreamBase::textForMonkHelper(uint8 textIndex, uint8 voiceIndex, uint8 x, uint8 y, uint16 countToTimed, uint16 timeCount) {
if (isCD() && _channel1Playing != 255)
- data.byte(kIntrocount)--;
+ _introCount--;
else
setupTimedTemp(textIndex, voiceIndex, x, y, countToTimed, timeCount);
}
void DreamBase::textForMonk() {
- if (data.byte(kIntrocount) == 1)
+ if (_introCount == 1)
textForMonkHelper(19, 82, 68, 154, 120, 1);
- else if (data.byte(kIntrocount) == 5)
+ else if (_introCount == 5)
textForMonkHelper(20, 82, 68, 38, 120, 1);
- else if (data.byte(kIntrocount) == 9)
+ else if (_introCount == 9)
textForMonkHelper(21, 82, 48, 154, 120, 1);
- else if (data.byte(kIntrocount) == 13)
+ else if (_introCount == 13)
textForMonkHelper(22, 82, 68, 38, 120, 1);
- else if (data.byte(kIntrocount) == (isCD() ? 15 : 17))
+ else if (_introCount == (isCD() ? 15 : 17))
textForMonkHelper(23, 82, 68, 154, 120, 1);
- else if (data.byte(kIntrocount) == 21)
+ else if (_introCount == 21)
textForMonkHelper(24, 82, 68, 38, 120, 1);
- else if (data.byte(kIntrocount) == 25)
+ else if (_introCount == 25)
textForMonkHelper(25, 82, 68, 154, 120, 1);
- else if (data.byte(kIntrocount) == 29)
+ else if (_introCount == 29)
textForMonkHelper(26, 82, 68, 38, 120, 1);
- else if (data.byte(kIntrocount) == 33)
+ else if (_introCount == 33)
textForMonkHelper(27, 82, 68, 154, 120, 1);
- else if (data.byte(kIntrocount) == 37)
+ else if (_introCount == 37)
textForMonkHelper(28, 82, 68, 154, 120, 1);
- else if (data.byte(kIntrocount) == 41)
+ else if (_introCount == 41)
textForMonkHelper(29, 82, 68, 38, 120, 1);
- else if (data.byte(kIntrocount) == 45)
+ else if (_introCount == 45)
textForMonkHelper(30, 82, 68, 154, 120, 1);
- else if (data.byte(kIntrocount) == (isCD() ? 52 : 49))
+ else if (_introCount == (isCD() ? 52 : 49))
textForMonkHelper(31, 82, 68, 154, 220, 1);
- else if (data.byte(kIntrocount) == 53) {
+ else if (_introCount == 53) {
fadeScreenDowns();
if (isCD()) {
_volumeTo = 7;
@@ -801,15 +801,15 @@ void DreamBase::reelsOnScreen() {
}
void DreamBase::reconstruct() {
- if (data.byte(kHavedoneobs) == 0)
+ if (_haveDoneObs == 0)
return;
data.byte(kNewobs) = 1;
drawFloor();
spriteUpdate();
printSprites();
- if (_foreignRelease && (data.byte(kReallocation) == 20))
+ if (_foreignRelease && (_realLocation == 20))
underTextLine();
- data.byte(kHavedoneobs) = 0;
+ _haveDoneObs = 0;
}
@@ -1065,7 +1065,7 @@ static const ReelSound *g_roomByRoom[] = {
void DreamBase::soundOnReels(uint16 reelPointer) {
- const ReelSound *r = g_roomByRoom[data.byte(kReallocation)];
+ const ReelSound *r = g_roomByRoom[_realLocation];
if (engine->getLanguage() == Common::DE_DEU && r == g_roomSound29)
r = g_roomSound29_German;
@@ -1073,9 +1073,9 @@ void DreamBase::soundOnReels(uint16 reelPointer) {
for (; r->_sample != 255; ++r) {
if (r->_reelPointer != reelPointer)
continue;
- if (r->_reelPointer == data.word(kLastsoundreel))
+ if (r->_reelPointer == _lastSoundReel)
continue;
- data.word(kLastsoundreel) = r->_reelPointer;
+ _lastSoundReel = r->_reelPointer;
if (r->_sample < 64) {
playChannel1(r->_sample);
return;
@@ -1087,12 +1087,12 @@ void DreamBase::soundOnReels(uint16 reelPointer) {
playChannel0(r->_sample & 63, 255);
}
- if (data.word(kLastsoundreel) != reelPointer)
- data.word(kLastsoundreel) = (uint16)-1;
+ if (_lastSoundReel != reelPointer)
+ _lastSoundReel = (uint16)-1;
}
void DreamBase::clearBeforeLoad() {
- if (data.byte(kRoomloaded) != 1)
+ if (_roomLoaded != 1)
return /* (noclear) */;
clearReels();
@@ -1111,7 +1111,7 @@ void DreamBase::clearBeforeLoad() {
_freeFrames.clear();
_freeDesc.clear();
- data.byte(kRoomloaded) = 0;
+ _roomLoaded = 0;
}
void DreamBase::clearReels() {
@@ -1121,12 +1121,12 @@ void DreamBase::clearReels() {
}
void DreamBase::getRidOfReels() {
- if (data.byte(kRoomloaded))
+ if (_roomLoaded)
clearReels();
}
void DreamBase::liftNoise(uint8 index) {
- if (data.byte(kReallocation) == 5 || data.byte(kReallocation) == 21)
+ if (_realLocation == 5 || _realLocation == 21)
playChannel1(13); // hiss noise
else
playChannel1(index);
@@ -1134,42 +1134,42 @@ void DreamBase::liftNoise(uint8 index) {
void DreamBase::checkForExit(Sprite *sprite) {
uint8 flag, flagEx, type, flagX, flagY;
- checkOne(data.byte(kRyanx) + 12, data.byte(kRyany) + 12, &flag, &flagEx, &type, &flagX, &flagY);
- data.byte(kLastflag) = flag;
+ checkOne(_ryanX + 12, _ryanY + 12, &flag, &flagEx, &type, &flagX, &flagY);
+ _lastFlag = flag;
if (flag & 64) {
- data.byte(kAutolocation) = flagEx;
+ _autoLocation = flagEx;
return;
}
if (!(flag & 32)) {
if (flag & 4) {
// adjust left
- data.byte(kLastflag) = 0;
- data.byte(kMapx) -= 11;
+ _lastFlag = 0;
+ _mapX -= 11;
sprite->x = 16 * flagEx;
- data.byte(kNowinnewroom) = 1;
+ _nowInNewRoom = 1;
} else if (flag & 2) {
// adjust right
- data.byte(kMapx) += 11;
+ _mapX += 11;
sprite->x = 16 * flagEx - 2;
- data.byte(kNowinnewroom) = 1;
+ _nowInNewRoom = 1;
} else if (flag & 8) {
// adjust down
- data.byte(kMapy) += 10;
+ _mapY += 10;
sprite->y = 16 * flagEx;
- data.byte(kNowinnewroom) = 1;
+ _nowInNewRoom = 1;
} else if (flag & 16) {
// adjust up
- data.byte(kMapy) -= 10;
+ _mapY -= 10;
sprite->y = 16 * flagEx;
- data.byte(kNowinnewroom) = 1;
+ _nowInNewRoom = 1;
}
return;
}
- if (data.byte(kReallocation) == 2) {
+ if (_realLocation == 2) {
// Can't leave Louis' until you found shoes
int shoeCount = 0;
@@ -1180,7 +1180,7 @@ void DreamBase::checkForExit(Sprite *sprite) {
uint8 text = shoeCount ? 43 : 42;
setupTimedUse(text, 80, 10, 68, 64);
- data.byte(kTurntoface) = (data.byte(kFacing) + 4) & 7;
+ _turnToFace = (_facing + 4) & 7;
return;
}
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 0c7877f8e4..10f8ea18cc 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -25,7 +25,7 @@
namespace DreamGen {
-// Keyboard buffer. data.word(kBufferin) and data.word(kBufferout) are indexes
+// Keyboard buffer. _bufferIn and _bufferOut are indexes
// into this, making it a ring buffer
uint8 g_keyBuffer[16];
@@ -474,7 +474,7 @@ void DreamBase::dreamweb() {
allocateBuffers();
// setMouse
- data.word(kOldpointerx) = 0xffff;
+ _oldPointerX = 0xffff;
fadeDOS();
getTime();
@@ -530,7 +530,7 @@ void DreamBase::dreamweb() {
if (_quitRequested)
goto done;
- if (data.byte(kGetback) == 4)
+ if (_getBack == 4)
startNewGame = false; // savegame has been loaded
}
@@ -562,20 +562,20 @@ void DreamBase::dreamweb() {
loadPalFromIFF();
data.byte(kLocation) = 255;
data.byte(kRoomafterdream) = 1;
- data.byte(kNewlocation) = 35;
+ _newLocation = 35;
_volume = 7;
loadRoom();
clearSprites();
initMan();
entryTexts();
entryAnims();
- data.byte(kDestpos) = 3;
+ _destPos = 3;
initialInv();
- data.byte(kLastflag) = 32;
+ _lastFlag = 32;
startup1();
_volumeTo = 0;
_volumeDirection = -1;
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
}
@@ -603,7 +603,7 @@ void DreamBase::dreamweb() {
break;
if (data.word(kWatchingtime) > 0) {
- if (data.byte(kFinaldest) == data.byte(kManspath))
+ if (_finalDest == _mansPath)
data.word(kWatchingtime)--;
}
@@ -613,7 +613,7 @@ void DreamBase::dreamweb() {
if (data.byte(kMandead) == 4)
break;
- if (data.byte(kNewlocation) != 255) {
+ if (_newLocation != 255) {
// "loadNew"
clearBeforeLoad();
loadRoom();
@@ -621,9 +621,9 @@ void DreamBase::dreamweb() {
initMan();
entryTexts();
entryAnims();
- data.byte(kNewlocation) = 255;
+ _newLocation = 255;
startup();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
workToScreenM();
}
}
@@ -697,7 +697,7 @@ void DreamBase::screenUpdate() {
animPointer();
showPointer();
- if ((data.word(kWatchingtime) == 0) && (data.byte(kNewlocation) != 0xff))
+ if ((data.word(kWatchingtime) == 0) && (_newLocation != 0xff))
return;
vSync();
uint16 mouseState = 0;
@@ -736,9 +736,9 @@ void DreamBase::screenUpdate() {
showPointer();
vSync();
- data.word(kOldbutton) = data.word(kMousebutton);
+ _oldButton = _mouseButton;
mouseState |= readMouseState();
- data.word(kMousebutton) = mouseState;
+ _mouseButton = mouseState;
dumpPointer();
dumpWatch();
@@ -746,8 +746,8 @@ void DreamBase::screenUpdate() {
}
void DreamBase::startup() {
- data.byte(kCurrentkey) = 0;
- data.byte(kMainmode) = 0;
+ _currentKey = 0;
+ _mainMode = 0;
createPanel();
data.byte(kNewobs) = 1;
drawFloor();
@@ -836,7 +836,7 @@ void DreamBase::hangOnCurs(uint16 frameCount) {
}
void DreamBase::seeCommandTail() {
- data.byte(kBrightness) = 1;
+ _brightness = 1;
}
void DreamBase::quickQuit() {
@@ -848,27 +848,27 @@ void DreamBase::quickQuit2() {
}
void DreamBase::readMouse() {
- data.word(kOldbutton) = data.word(kMousebutton);
+ _oldButton = _mouseButton;
uint16 state = readMouseState();
- data.word(kMousebutton) = state;
+ _mouseButton = state;
}
uint16 DreamBase::readMouseState() {
- data.word(kOldx) = data.word(kMousex);
- data.word(kOldy) = data.word(kMousey);
+ _oldX = _mouseX;
+ _oldY = _mouseY;
uint16 x, y, state;
engine->mouseCall(&x, &y, &state);
- data.word(kMousex) = x;
- data.word(kMousey) = y;
+ _mouseX = x;
+ _mouseY = y;
return state;
}
void DreamBase::dumpTextLine() {
- if (data.byte(kNewtextline) != 1)
+ if (_newTextLine != 1)
return;
- data.byte(kNewtextline) = 0;
- uint16 x = data.word(kTextaddressx);
- uint16 y = data.word(kTextaddressy);
+ _newTextLine = 0;
+ uint16 x = _textAddressX;
+ uint16 y = _textAddressY;
if (_foreignRelease)
y -= 3;
multiDump(x, y, 228, 13);
@@ -876,16 +876,16 @@ void DreamBase::dumpTextLine() {
void DreamBase::getUnderTimed() {
if (_foreignRelease)
- multiGet(_underTimedText, data.byte(kTimedx), data.byte(kTimedy) - 3, 240, kUnderTimedTextSizeY_f);
+ multiGet(_underTimedText, _timedX, _timedY - 3, 240, kUnderTimedTextSizeY_f);
else
- multiGet(_underTimedText, data.byte(kTimedx), data.byte(kTimedy), 240, kUnderTimedTextSizeY);
+ multiGet(_underTimedText, _timedX, _timedY, 240, kUnderTimedTextSizeY);
}
void DreamBase::putUnderTimed() {
if (_foreignRelease)
- multiPut(_underTimedText, data.byte(kTimedx), data.byte(kTimedy) - 3, 240, kUnderTimedTextSizeY_f);
+ multiPut(_underTimedText, _timedX, _timedY - 3, 240, kUnderTimedTextSizeY_f);
else
- multiPut(_underTimedText, data.byte(kTimedx), data.byte(kTimedy), 240, kUnderTimedTextSizeY);
+ multiPut(_underTimedText, _timedX, _timedY, 240, kUnderTimedTextSizeY);
}
void DreamBase::triggerMessage(uint16 index) {
@@ -915,23 +915,23 @@ void DreamBase::processTrigger() {
}
void DreamBase::useTimedText() {
- if (data.word(kTimecount) == 0)
+ if (_timeCount == 0)
return;
- --data.word(kTimecount);
- if (data.word(kTimecount) == 0) {
+ --_timeCount;
+ if (_timeCount == 0) {
putUnderTimed();
- data.byte(kNeedtodumptimed) = 1;
+ _needToDumpTimed = 1;
return;
}
- if (data.word(kTimecount) == data.word(kCounttotimed))
+ if (_timeCount == _countToTimed)
getUnderTimed();
- else if (data.word(kTimecount) > data.word(kCounttotimed))
+ else if (_timeCount > _countToTimed)
return;
const uint8 *string = (const uint8 *)_timedString;
- printDirect(string, data.byte(kTimedx), data.byte(kTimedy), 237, true);
- data.byte(kNeedtodumptimed) = 1;
+ printDirect(string, _timedX, _timedY, 237, true);
+ _needToDumpTimed = 1;
}
void DreamBase::setupTimedTemp(uint8 textIndex, uint8 voiceIndex, uint8 x, uint8 y, uint16 countToTimed, uint16 timeCount) {
@@ -949,25 +949,25 @@ void DreamBase::setupTimedTemp(uint8 textIndex, uint8 voiceIndex, uint8 x, uint8
}
#endif
- if (data.word(kTimecount) != 0)
+ if (_timeCount != 0)
return;
- data.byte(kTimedy) = y;
- data.byte(kTimedx) = x;
- data.word(kCounttotimed) = countToTimed;
- data.word(kTimecount) = timeCount + countToTimed;
+ _timedY = y;
+ _timedX = x;
+ _countToTimed = countToTimed;
+ _timeCount = timeCount + countToTimed;
_timedString = _textFile1.getString(textIndex);
debug(1, "setupTimedTemp: (%d, %d) => '%s'", textIndex, voiceIndex, _timedString);
}
void DreamBase::dumpTimedText() {
- if (data.byte(kNeedtodumptimed) != 1)
+ if (_needToDumpTimed != 1)
return;
- uint8 y = data.byte(kTimedy);
+ uint8 y = _timedY;
if (_foreignRelease)
y -= 3;
- multiDump(data.byte(kTimedx), y, 240, kUndertimedysize);
- data.byte(kNeedtodumptimed) = 0;
+ multiDump(_timedX, y, 240, kUndertimedysize);
+ _needToDumpTimed = 0;
}
void DreamBase::getTime() {
@@ -994,13 +994,13 @@ void DreamBase::deallocateMem(uint16 segment) {
}
void DreamBase::DOSReturn() {
- if (data.byte(kCommandtype) != 250) {
- data.byte(kCommandtype) = 250;
+ if (_commandType != 250) {
+ _commandType = 250;
commandOnly(46);
}
- if (data.word(kMousebutton) & 1) {
- data.word(kMousebutton) = 0;
+ if (_mouseButton & 1) {
+ _mouseButton = 0;
engine->quit();
}
}
@@ -1028,23 +1028,23 @@ void DreamBase::lockMon() {
// key because calling readkey() drains characters from the input
// buffer, we we want the user to be able to type ahead while the text
// is being printed.
- if (data.byte(kLasthardkey) == 57) {
+ if (_lastHardKey == 57) {
// Clear the keyboard buffer. Otherwise the space that caused
// the pause will be read immediately unpause the game.
do {
readKey();
- } while (data.byte(kCurrentkey) != 0);
+ } while (_currentKey != 0);
lockLightOn();
while (!engine->shouldQuit()) {
engine->waitForVSync();
readKey();
- if (data.byte(kCurrentkey) == ' ')
+ if (_currentKey == ' ')
break;
}
// Forget the last "hard" key, otherwise the space that caused
// the unpausing will immediately re-pause the game.
- data.byte(kLasthardkey) = 0;
+ _lastHardKey = 0;
lockLightOff();
}
}
@@ -1059,19 +1059,19 @@ void DreamBase::clearAndLoad(uint8 *buf, uint8 c,
void DreamBase::startLoading(const Room &room) {
data.byte(kCombatcount) = 0;
_roomsSample = room.roomsSample;
- data.byte(kMapx) = room.mapX;
- data.byte(kMapy) = room.mapY;
+ _mapX = room.mapX;
+ _mapY = room.mapY;
data.byte(kLiftflag) = room.liftFlag;
- data.byte(kManspath) = room.b21;
- data.byte(kDestination) = room.b21;
- data.byte(kFinaldest) = room.b21;
- data.byte(kFacing) = room.facing;
- data.byte(kTurntoface) = room.facing;
+ _mansPath = room.b21;
+ _destination = room.b21;
+ _finalDest = room.b21;
+ _facing = room.facing;
+ _turnToFace = room.facing;
data.byte(kCounttoopen) = room.countToOpen;
data.byte(kLiftpath) = room.liftPath;
data.byte(kDoorpath) = room.doorPath;
data.byte(kLastweapon) = (uint8)-1;
- data.byte(kReallocation) = room.realLocation;
+ _realLocation = room.realLocation;
loadRoomData(room, false);
@@ -1079,14 +1079,14 @@ void DreamBase::startLoading(const Room &room) {
deleteTaken();
setAllChanges();
autoAppear();
-// const Room &newRoom = g_roomData[data.byte(kNewlocation)];
+// const Room &newRoom = g_roomData[_newLocation];
data.byte(kLastweapon) = (uint8)-1;
data.byte(kMandead) = 0;
- data.word(kLookcounter) = 160;
- data.byte(kNewlocation) = 255;
- data.byte(kLinepointer) = 254;
+ _lookCounter = 160;
+ _newLocation = 255;
+ _linePointer = 254;
if (room.b27 != 255) {
- data.byte(kManspath) = room.b27;
+ _mansPath = room.b27;
autoSetWalk();
}
findXYFromPath();
@@ -1096,24 +1096,24 @@ void DreamBase::dealWithSpecial(uint8 firstParam, uint8 secondParam) {
uint8 type = firstParam - 220;
if (type == 0) {
placeSetObject(secondParam);
- data.byte(kHavedoneobs) = 1;
+ _haveDoneObs = 1;
} else if (type == 1) {
removeSetObject(secondParam);
- data.byte(kHavedoneobs) = 1;
+ _haveDoneObs = 1;
} else if (type == 2) {
placeFreeObject(secondParam);
- data.byte(kHavedoneobs) = 1;
+ _haveDoneObs = 1;
} else if (type == 3) {
removeFreeObject(secondParam);
- data.byte(kHavedoneobs) = 1;
+ _haveDoneObs = 1;
} else if (type == 4) {
switchRyanOff();
} else if (type == 5) {
- data.byte(kTurntoface) = secondParam;
- data.byte(kFacing) = secondParam;
+ _turnToFace = secondParam;
+ _facing = secondParam;
switchRyanOn();
} else if (type == 6) {
- data.byte(kNewlocation) = secondParam;
+ _newLocation = secondParam;
} else {
moveMap(secondParam);
}
@@ -1137,7 +1137,7 @@ void DreamBase::plotReel(uint16 &reelPointer) {
void DreamBase::crosshair() {
uint8 frame;
- if ((data.byte(kCommandtype) != 3) && (data.byte(kCommandtype) < 10)) {
+ if ((_commandType != 3) && (_commandType < 10)) {
frame = 9;
} else {
frame = 29;
@@ -1147,16 +1147,16 @@ void DreamBase::crosshair() {
void DreamBase::delTextLine() {
if (_foreignRelease)
- multiPut(_textUnder, data.byte(kTextaddressx), data.word(kTextaddressy) - 3, kUnderTextSizeX_f, kUnderTextSizeY_f);
+ multiPut(_textUnder, _textAddressX, _textAddressY - 3, kUnderTextSizeX_f, kUnderTextSizeY_f);
else
- multiPut(_textUnder, data.byte(kTextaddressx), data.word(kTextaddressy), kUnderTextSizeX, kUnderTextSizeY);
+ multiPut(_textUnder, _textAddressX, _textAddressY, kUnderTextSizeX, kUnderTextSizeY);
}
void DreamBase::commandOnly(uint8 command) {
delTextLine();
const uint8 *string = (const uint8 *)_commandText.getString(command);
- printDirect(string, data.word(kTextaddressx), data.word(kTextaddressy), data.byte(kTextlen), (bool)(data.byte(kTextlen) & 1));
- data.byte(kNewtextline) = 1;
+ printDirect(string, _textAddressX, _textAddressY, _textLen, (bool)(_textLen & 1));
+ _newTextLine = 1;
}
bool DreamBase::checkIfPerson(uint8 x, uint8 y) {
@@ -1244,46 +1244,46 @@ void DreamBase::copyName(uint8 type, uint8 index, uint8 *dst) {
void DreamBase::commandWithOb(uint8 command, uint8 type, uint8 index) {
uint8 commandLine[64] = "OBJECT NAME ONE ";
delTextLine();
- uint8 textLen = data.byte(kTextlen);
+ uint8 textLen = _textLen;
const uint8 *string = (const uint8 *)_commandText.getString(command);
- printDirect(string, data.word(kTextaddressx), data.word(kTextaddressy), textLen, (bool)(textLen & 1));
+ printDirect(string, _textAddressX, _textAddressY, textLen, (bool)(textLen & 1));
copyName(type, index, commandLine);
- uint16 x = data.word(kLastxpos);
+ uint16 x = _lastXPos;
if (command != 0)
x += 5;
- printDirect(commandLine, x, data.word(kTextaddressy), textLen, (bool)(textLen & 1));
- data.byte(kNewtextline) = 1;
+ printDirect(commandLine, x, _textAddressY, textLen, (bool)(textLen & 1));
+ _newTextLine = 1;
}
void DreamBase::examineObText() {
- commandWithOb(1, data.byte(kCommandtype), data.byte(kCommand));
+ commandWithOb(1, _commandType, _command);
}
void DreamBase::blockNameText() {
- commandWithOb(0, data.byte(kCommandtype), data.byte(kCommand));
+ commandWithOb(0, _commandType, _command);
}
void DreamBase::personNameText() {
- commandWithOb(2, data.byte(kCommandtype), data.byte(kCommand) & 127);
+ commandWithOb(2, _commandType, _command & 127);
}
void DreamBase::walkToText() {
- commandWithOb(3, data.byte(kCommandtype), data.byte(kCommand));
+ commandWithOb(3, _commandType, _command);
}
void DreamBase::findOrMake(uint8 index, uint8 value, uint8 type) {
Change *change = _listOfChanges;
for (; change->index != 0xff; ++change) {
- if (index == change->index && data.byte(kReallocation) == change->location && type == change->type) {
+ if (index == change->index && _realLocation == change->location && type == change->type) {
change->value = value;
return;
}
}
change->index = index;
- change->location = data.byte(kReallocation);
+ change->location = _realLocation;
change->value = value;
change->type = type;
}
@@ -1291,7 +1291,7 @@ void DreamBase::findOrMake(uint8 index, uint8 value, uint8 type) {
void DreamBase::setAllChanges() {
Change *change = _listOfChanges;
for (; change->index != 0xff; ++change)
- if (change->location == data.byte(kReallocation))
+ if (change->location == _realLocation)
doChange(change->index, change->value, change->type);
}
@@ -1304,25 +1304,25 @@ DynObject *DreamBase::getExAd(uint8 index) {
}
DynObject *DreamBase::getEitherAdCPP() {
- if (data.byte(kObjecttype) == kExObjectType)
- return getExAd(data.byte(kItemframe));
+ if (_objectType == kExObjectType)
+ return getExAd(_itemFrame);
else
- return getFreeAd(data.byte(kItemframe));
+ return getFreeAd(_itemFrame);
}
void *DreamBase::getAnyAd(uint8 *slotSize, uint8 *slotCount) {
- if (data.byte(kObjecttype) == kExObjectType) {
- DynObject *exObject = getExAd(data.byte(kCommand));
+ if (_objectType == kExObjectType) {
+ DynObject *exObject = getExAd(_command);
*slotSize = exObject->slotSize;
*slotCount = exObject->slotCount;
return exObject;
- } else if (data.byte(kObjecttype) == kFreeObjectType) {
- DynObject *freeObject = getFreeAd(data.byte(kCommand));
+ } else if (_objectType == kFreeObjectType) {
+ DynObject *freeObject = getFreeAd(_command);
*slotSize = freeObject->slotSize;
*slotCount = freeObject->slotCount;
return freeObject;
} else { // 1 or 3. 0 should never happen
- SetObject *setObject = getSetAd(data.byte(kCommand));
+ SetObject *setObject = getSetAd(_command);
// Note: the original returned slotCount/priority (bytes 4 and 5)
// instead of slotSize/slotCount (bytes 3 and 4).
// Changed this for consistency with the Ex/Free cases, and also
@@ -1361,7 +1361,7 @@ void DreamBase::doChange(uint8 index, uint8 value, uint8 type) {
void DreamBase::deleteTaken() {
for (size_t i = 0; i < kNumexobjects; ++i) {
uint8 location = _exData[i].initialLocation;
- if (location == data.byte(kReallocation)) {
+ if (location == _realLocation) {
uint8 index = _exData[i].index;
_freeDat[index].mapad[0] = 0xfe;
}
@@ -1388,42 +1388,42 @@ void DreamBase::removeSetObject(uint8 index) {
}
bool DreamBase::finishedWalking() {
- return (data.byte(kLinepointer) == 254) && (data.byte(kFacing) == data.byte(kTurntoface));
+ return (_linePointer == 254) && (_facing == _turnToFace);
}
void DreamBase::getFlagUnderP(uint8 *flag, uint8 *flagEx) {
uint8 type, flagX, flagY;
- checkOne(data.word(kMousex) - data.word(kMapadx), data.word(kMousey) - data.word(kMapady), flag, flagEx, &type, &flagX, &flagY);
- data.byte(kLastflag) = *flag;
+ checkOne(_mouseX - _mapAdX, _mouseY - _mapAdY, flag, flagEx, &type, &flagX, &flagY);
+ _lastFlag = *flag;
}
void DreamBase::walkAndExamine() {
if (!finishedWalking())
return;
- data.byte(kCommandtype) = data.byte(kWalkexamtype);
- data.byte(kCommand) = data.byte(kWalkexamnum);
- data.byte(kWalkandexam) = 0;
- if (data.byte(kCommandtype) != 5)
+ _commandType = _walkExamType;
+ _command = _walkExamNum;
+ _walkAndExam = 0;
+ if (_commandType != 5)
examineOb();
}
void DreamBase::obName(uint8 command, uint8 commandType) {
- if (data.byte(kReasseschanges) == 0) {
- if ((commandType == data.byte(kCommandtype)) && (command == data.byte(kCommand))) {
- if (data.byte(kWalkandexam) == 1) {
+ if (_reAssesChanges == 0) {
+ if ((commandType == _commandType) && (command == _command)) {
+ if (_walkAndExam == 1) {
walkAndExamine();
return;
- } else if (data.word(kMousebutton) == 0)
+ } else if (_mouseButton == 0)
return;
- else if ((data.byte(kCommandtype) == 3) && (data.byte(kLastflag) < 2))
+ else if ((_commandType == 3) && (_lastFlag < 2))
return;
- else if ((data.byte(kManspath) != data.byte(kPointerspath)) || (data.byte(kCommandtype) == 3)) {
+ else if ((_mansPath != _pointersPath) || (_commandType == 3)) {
setWalk();
- data.byte(kReasseschanges) = 1;
+ _reAssesChanges = 1;
return;
} else if (!finishedWalking())
return;
- else if (data.byte(kCommandtype) == 5) {
+ else if (_commandType == 5) {
if (data.word(kWatchingtime) == 0)
talk();
return;
@@ -1434,21 +1434,21 @@ void DreamBase::obName(uint8 command, uint8 commandType) {
}
}
} else
- data.byte(kReasseschanges) = 0;
+ _reAssesChanges = 0;
- data.byte(kCommand) = command;
- data.byte(kCommandtype) = commandType;
- if ((data.byte(kLinepointer) != 254) || (data.word(kWatchingtime) != 0) || (data.byte(kFacing) != data.byte(kTurntoface))) {
+ _command = command;
+ _commandType = commandType;
+ if ((_linePointer != 254) || (data.word(kWatchingtime) != 0) || (_facing != _turnToFace)) {
blockNameText();
return;
- } else if (data.byte(kCommandtype) != 3) {
- if (data.byte(kManspath) != data.byte(kPointerspath)) {
+ } else if (_commandType != 3) {
+ if (_mansPath != _pointersPath) {
walkToText();
return;
- } else if (data.byte(kCommandtype) == 3) {
+ } else if (_commandType == 3) {
blockNameText();
return;
- } else if (data.byte(kCommandtype) == 5) {
+ } else if (_commandType == 5) {
personNameText();
return;
} else {
@@ -1456,9 +1456,9 @@ void DreamBase::obName(uint8 command, uint8 commandType) {
return;
}
}
- if (data.byte(kManspath) == data.byte(kPointerspath)) {
+ if (_mansPath == _pointersPath) {
uint8 flag, flagEx, type, flagX, flagY;
- checkOne(data.byte(kRyanx) + 12, data.byte(kRyany) + 12, &flag, &flagEx, &type, &flagX, &flagY);
+ checkOne(_ryanX + 12, _ryanY + 12, &flag, &flagEx, &type, &flagX, &flagY);
if (flag < 2) {
blockNameText();
return;
@@ -1467,10 +1467,10 @@ void DreamBase::obName(uint8 command, uint8 commandType) {
uint8 flag, flagEx;
getFlagUnderP(&flag, &flagEx);
- if (data.byte(kLastflag) < 2) {
+ if (_lastFlag < 2) {
blockNameText();
return;
- } else if (data.byte(kLastflag) >= 128) {
+ } else if (_lastFlag >= 128) {
blockNameText();
return;
} else {
@@ -1480,29 +1480,29 @@ void DreamBase::obName(uint8 command, uint8 commandType) {
}
void DreamBase::delPointer() {
- if (data.word(kOldpointerx) == 0xffff)
+ if (_oldPointerX == 0xffff)
return;
- data.word(kDelherex) = data.word(kOldpointerx);
- data.word(kDelherey) = data.word(kOldpointery);
- data.byte(kDelxs) = data.byte(kPointerxs);
- data.byte(kDelys) = data.byte(kPointerys);
- multiPut(_pointerBack, data.word(kDelherex), data.word(kDelherey), data.byte(kPointerxs), data.byte(kPointerys));
+ _delHereX = _oldPointerX;
+ _delHereY = _oldPointerY;
+ _delXS = _pointerXS;
+ _delYS = _pointerYS;
+ multiPut(_pointerBack, _delHereX, _delHereY, _pointerXS, _pointerYS);
}
void DreamBase::showBlink() {
- if (data.byte(kManisoffscreen) == 1)
+ if (_manIsOffScreen == 1)
return;
- ++data.byte(kBlinkcount);
+ ++_blinkCount;
if (data.byte(kShadeson) != 0)
return;
- if (data.byte(kReallocation) >= 50) // eyesshut
+ if (_realLocation >= 50) // eyesshut
return;
- if (data.byte(kBlinkcount) != 3)
+ if (_blinkCount != 3)
return;
- data.byte(kBlinkcount) = 0;
- uint8 blinkFrame = data.byte(kBlinkframe);
+ _blinkCount = 0;
+ uint8 blinkFrame = _blinkFrame;
++blinkFrame; // Implicit %256
- data.byte(kBlinkframe) = blinkFrame;
+ _blinkFrame = blinkFrame;
if (blinkFrame > 6)
blinkFrame = 6;
static const uint8 blinkTab[] = { 16,18,18,17,16,16,16 };
@@ -1513,28 +1513,28 @@ void DreamBase::showBlink() {
void DreamBase::dumpBlink() {
if (data.byte(kShadeson) != 0)
return;
- if (data.byte(kBlinkcount) != 0)
+ if (_blinkCount != 0)
return;
- if (data.byte(kBlinkframe) >= 6)
+ if (_blinkFrame >= 6)
return;
multiDump(44, 32, 16, 12);
}
void DreamBase::dumpPointer() {
dumpBlink();
- multiDump(data.word(kDelherex), data.word(kDelherey), data.byte(kDelxs), data.byte(kDelys));
- if ((data.word(kOldpointerx) != data.word(kDelherex)) || (data.word(kOldpointery) != data.word(kDelherey)))
- multiDump(data.word(kOldpointerx), data.word(kOldpointery), data.byte(kPointerxs), data.byte(kPointerys));
+ multiDump(_delHereX, _delHereY, _delXS, _delYS);
+ if ((_oldPointerX != _delHereX) || (_oldPointerY != _delHereY))
+ multiDump(_oldPointerX, _oldPointerY, _pointerXS, _pointerYS);
}
template <class T>
void DreamBase::checkCoords(const RectWithCallback<T> *rectWithCallbacks) {
- if (data.byte(kNewlocation) != 0xff)
+ if (_newLocation != 0xff)
return;
const RectWithCallback<T> *r;
for (r = rectWithCallbacks; r->_xMin != 0xffff; ++r) {
- if (r->contains(data.word(kMousex), data.word(kMousey))) {
+ if (r->contains(_mouseX, _mouseY)) {
(((T *)this)->*(r->_callback))();
return;
}
@@ -1543,17 +1543,17 @@ void DreamBase::checkCoords(const RectWithCallback<T> *rectWithCallbacks) {
void DreamBase::showPointer() {
showBlink();
- uint16 x = data.word(kMousex);
- data.word(kOldpointerx) = data.word(kMousex);
- uint16 y = data.word(kMousey);
- data.word(kOldpointery) = data.word(kMousey);
- if (data.byte(kPickup) == 1) {
+ uint16 x = _mouseX;
+ _oldPointerX = _mouseX;
+ uint16 y = _mouseY;
+ _oldPointerY = _mouseY;
+ if (_pickUp == 1) {
const GraphicsFile *frames;
- if (data.byte(kObjecttype) != kExObjectType)
+ if (_objectType != kExObjectType)
frames = &_freeFrames;
else
frames = &_exFrames;
- const Frame *frame = &frames->_frames[(3 * data.byte(kItemframe) + 1)];
+ const Frame *frame = &frames->_frames[(3 * _itemFrame + 1)];
uint8 width = frame->width;
uint8 height = frame->height;
@@ -1561,58 +1561,58 @@ void DreamBase::showPointer() {
width = 12;
if (height < 12)
height = 12;
- data.byte(kPointerxs) = width;
- data.byte(kPointerys) = height;
+ _pointerXS = width;
+ _pointerYS = height;
uint16 xMin = (x >= width / 2) ? x - width / 2 : 0;
uint16 yMin = (y >= height / 2) ? y - height / 2 : 0;
- data.word(kOldpointerx) = xMin;
- data.word(kOldpointery) = yMin;
+ _oldPointerX = xMin;
+ _oldPointerY = yMin;
multiGet(_pointerBack, xMin, yMin, width, height);
- showFrame(*frames, x, y, 3 * data.byte(kItemframe) + 1, 128);
+ showFrame(*frames, x, y, 3 * _itemFrame + 1, 128);
showFrame(_icons1, x, y, 3, 128);
} else {
- const Frame *frame = &_icons1._frames[data.byte(kPointerframe) + 20];
+ const Frame *frame = &_icons1._frames[_pointerFrame + 20];
uint8 width = frame->width;
uint8 height = frame->height;
if (width < 12)
width = 12;
if (height < 12)
height = 12;
- data.byte(kPointerxs) = width;
- data.byte(kPointerys) = height;
+ _pointerXS = width;
+ _pointerYS = height;
multiGet(_pointerBack, x, y, width, height);
- showFrame(_icons1, x, y, data.byte(kPointerframe) + 20, 0);
+ showFrame(_icons1, x, y, _pointerFrame + 20, 0);
}
}
void DreamBase::animPointer() {
- if (data.byte(kPointermode) == 2) {
- data.byte(kPointerframe) = 0;
- if ((data.byte(kReallocation) == 14) && (data.byte(kCommandtype) == 211))
- data.byte(kPointerframe) = 5;
+ if (_pointerMode == 2) {
+ _pointerFrame = 0;
+ if ((_realLocation == 14) && (_commandType == 211))
+ _pointerFrame = 5;
return;
- } else if (data.byte(kPointermode) == 3) {
- if (data.byte(kPointerspeed) != 0) {
- --data.byte(kPointerspeed);
+ } else if (_pointerMode == 3) {
+ if (_pointerSpeed != 0) {
+ --_pointerSpeed;
} else {
- data.byte(kPointerspeed) = 5;
- ++data.byte(kPointercount);
- if (data.byte(kPointercount) == 16)
- data.byte(kPointercount) = 0;
+ _pointerSpeed = 5;
+ ++_pointerCount;
+ if (_pointerCount == 16)
+ _pointerCount = 0;
}
static const uint8 flashMouseTab[] = { 1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2 };
- data.byte(kPointerframe) = flashMouseTab[data.byte(kPointercount)];
+ _pointerFrame = flashMouseTab[_pointerCount];
return;
}
if (data.word(kWatchingtime) != 0) {
- data.byte(kPointerframe) = 11;
+ _pointerFrame = 11;
return;
}
- data.byte(kPointerframe) = 0;
- if (data.byte(kInmaparea) == 0)
+ _pointerFrame = 0;
+ if (_inMapArea == 0)
return;
- if (data.byte(kPointerfirstpath) == 0)
+ if (_pointerFirstPath == 0)
return;
uint8 flag, flagEx;
getFlagUnderP(&flag, &flagEx);
@@ -1621,22 +1621,22 @@ void DreamBase::animPointer() {
if (flag >= 128)
return;
if (flag & 4) {
- data.byte(kPointerframe) = 3;
+ _pointerFrame = 3;
return;
}
if (flag & 16) {
- data.byte(kPointerframe) = 4;
+ _pointerFrame = 4;
return;
}
if (flag & 2) {
- data.byte(kPointerframe) = 5;
+ _pointerFrame = 5;
return;
}
if (flag & 8) {
- data.byte(kPointerframe) = 6;
+ _pointerFrame = 6;
return;
}
- data.byte(kPointerframe) = 8;
+ _pointerFrame = 8;
}
void DreamBase::printMessage(uint16 x, uint16 y, uint8 index, uint8 maxWidth, bool centered) {
@@ -1707,7 +1707,7 @@ bool DreamBase::isCD() {
}
void DreamBase::showIcon() {
- if (data.byte(kReallocation) < 50) {
+ if (_realLocation < 50) {
showPanel();
showMan();
roomName();
@@ -1775,12 +1775,12 @@ void DreamBase::hangOnW(uint16 frameCount) {
}
void DreamBase::hangOnP(uint16 count) {
- data.word(kMaintimer) = 0;
- uint8 pointerFrame = data.byte(kPointerframe);
- uint8 pickup = data.byte(kPickup);
- data.byte(kPointermode) = 3;
- data.byte(kPickup) = 0;
- data.byte(kCommandtype) = 255;
+ _mainTimer = 0;
+ uint8 pointerFrame = _pointerFrame;
+ uint8 pickup = _pickUp;
+ _pointerMode = 3;
+ _pickUp = 0;
+ _commandType = 255;
readMouse();
animPointer();
showPointer();
@@ -1797,14 +1797,14 @@ void DreamBase::hangOnP(uint16 count) {
dumpPointer();
if (_quitRequested)
break;
- if (data.word(kMousebutton) != 0 && data.word(kMousebutton) != data.word(kOldbutton))
+ if (_mouseButton != 0 && _mouseButton != _oldButton)
break;
}
delPointer();
- data.byte(kPointerframe) = pointerFrame;
- data.byte(kPickup) = pickup;
- data.byte(kPointermode) = 0;
+ _pointerFrame = pointerFrame;
+ _pickUp = pickup;
+ _pointerMode = 0;
}
uint8 DreamBase::findNextColon(const uint8 **string) {
@@ -1817,18 +1817,18 @@ uint8 DreamBase::findNextColon(const uint8 **string) {
}
void DreamBase::enterSymbol() {
- data.byte(kManisoffscreen) = 1;
+ _manIsOffScreen = 1;
getRidOfReels();
loadIntoTemp("DREAMWEB.G12"); // symbol graphics
- data.byte(kSymboltopx) = 24;
- data.byte(kSymboltopdir) = 0;
- data.byte(kSymbolbotx) = 24;
- data.byte(kSymbolbotdir) = 0;
+ _symbolTopX = 24;
+ _symbolTopDir = 0;
+ _symbolBotX = 24;
+ _symbolBotDir = 0;
redrawMainScrn();
showSymbol();
underTextLine();
workToScreenM();
- data.byte(kGetback) = 0;
+ _getBack = 0;
do {
delPointer();
updateSymbolTop();
@@ -1850,12 +1850,12 @@ void DreamBase::enterSymbol() {
{ 0xFFFF,0,0,0,0 }
};
checkCoords(symbolList);
- } while ((data.byte(kGetback) == 0) && !_quitRequested);
- if ((data.byte(kSymbolbotnum) == 3) && (data.byte(kSymboltopnum) == 5)) {
+ } while ((_getBack == 0) && !_quitRequested);
+ if ((_symbolBotNum == 3) && (_symbolTopNum == 5)) {
removeSetObject(43);
placeSetObject(46);
- turnAnyPathOn(0, data.byte(kRoomnum) + 12);
- data.byte(kManisoffscreen) = 0;
+ turnAnyPathOn(0, _roomNum + 12);
+ _manIsOffScreen = 0;
redrawMainScrn();
getRidOfTemp();
restoreReels();
@@ -1864,8 +1864,8 @@ void DreamBase::enterSymbol() {
} else {
removeSetObject(46);
placeSetObject(43);
- turnAnyPathOff(0, data.byte(kRoomnum) + 12);
- data.byte(kManisoffscreen) = 0;
+ turnAnyPathOff(0, _roomNum + 12);
+ _manIsOffScreen = 0;
redrawMainScrn();
getRidOfTemp();
restoreReels();
@@ -1874,17 +1874,17 @@ void DreamBase::enterSymbol() {
}
void DreamBase::zoomOnOff() {
- if (data.word(kWatchingtime) != 0 || data.byte(kPointermode) == 2) {
+ if (data.word(kWatchingtime) != 0 || _pointerMode == 2) {
blank();
return;
}
- if (data.byte(kCommandtype) != 222) {
- data.byte(kCommandtype) = 222;
+ if (_commandType != 222) {
+ _commandType = 222;
commandOnly(39);
}
- if (!(data.word(kMousebutton) & 1) || (data.word(kMousebutton) == data.word(kOldbutton)))
+ if (!(_mouseButton & 1) || (_mouseButton == _oldButton))
return;
data.byte(kZoomon) ^= 1;
@@ -1912,7 +1912,7 @@ void DreamBase::sortOutMap() {
}
void DreamBase::mainScreen() {
- data.byte(kInmaparea) = 0;
+ _inMapArea = 0;
if (data.byte(kWatchon) == 1) {
RectWithCallback<DreamBase> mainList[] = {
{ 44,70,32,46,&DreamBase::look },
@@ -1937,7 +1937,7 @@ void DreamBase::mainScreen() {
checkCoords(mainList2);
}
- if (data.byte(kWalkandexam) != 0)
+ if (_walkAndExam != 0)
walkAndExamine();
}
@@ -1949,10 +1949,10 @@ void DreamBase::showWatch() {
}
void DreamBase::dumpWatch() {
- if (data.byte(kWatchdump) != 1)
+ if (_watchDump != 1)
return;
multiDump(256, 21, 40, 12);
- data.byte(kWatchdump) = 0;
+ _watchDump = 0;
}
void DreamBase::showTime() {
@@ -1978,12 +1978,12 @@ void DreamBase::showTime() {
void DreamBase::watchCount() {
if (data.byte(kWatchon) == 0)
return;
- ++data.byte(kTimercount);
- if (data.byte(kTimercount) == 9) {
+ ++_timerCount;
+ if (_timerCount == 9) {
showFrame(_charset1, 268+4, 21, 91*3+21, 0);
- data.byte(kWatchdump) = 1;
- } else if (data.byte(kTimercount) == 18) {
- data.byte(kTimercount) = 0;
+ _watchDump = 1;
+ } else if (_timerCount == 18) {
+ _timerCount = 0;
++data.byte(kSecondcount);
if (data.byte(kSecondcount) == 60) {
data.byte(kSecondcount) = 0;
@@ -1996,20 +1996,20 @@ void DreamBase::watchCount() {
}
}
showTime();
- data.byte(kWatchdump) = 1;
+ _watchDump = 1;
}
}
void DreamBase::roomName() {
printMessage(88, 18, 53, 240, false);
- uint16 textIndex = data.byte(kRoomnum);
+ uint16 textIndex = _roomNum;
if (textIndex >= 32)
textIndex -= 32;
- data.word(kLinespacing) = 7;
+ _lineSpacing = 7;
uint8 maxWidth = (data.byte(kWatchon) == 1) ? 120 : 160;
const uint8 *string = (const uint8 *)_roomDesc.getString(textIndex);
printDirect(string, 88, 25, maxWidth, false);
- data.word(kLinespacing) = 10;
+ _lineSpacing = 10;
useCharset1();
}
@@ -2020,16 +2020,16 @@ void DreamBase::zoomIcon() {
}
void DreamBase::loadRoom() {
- data.byte(kRoomloaded) = 1;
- data.word(kTimecount) = 0;
- data.word(kMaintimer) = 0;
- data.word(kMapoffsetx) = 104;
- data.word(kMapoffsety) = 38;
- data.word(kTextaddressx) = 13;
- data.word(kTextaddressy) = 182;
- data.byte(kTextlen) = 240;
- data.byte(kLocation) = data.byte(kNewlocation);
- const Room &room = g_roomData[data.byte(kNewlocation)];
+ _roomLoaded = 1;
+ _timeCount = 0;
+ _mainTimer = 0;
+ _mapOffsetX = 104;
+ _mapOffsetY = 38;
+ _textAddressX = 13;
+ _textAddressY = 182;
+ _textLen = 240;
+ data.byte(kLocation) = _newLocation;
+ const Room &room = g_roomData[_newLocation];
startLoading(room);
loadRoomsSample();
switchRyanOn();
@@ -2057,20 +2057,20 @@ void DreamBase::readSetData() {
}
void DreamBase::findRoomInLoc() {
- uint8 x = data.byte(kMapx) / 11;
- uint8 y = data.byte(kMapy) / 10;
+ uint8 x = _mapX / 11;
+ uint8 y = _mapY / 10;
uint8 roomNum = y * 6 + x;
- data.byte(kRoomnum) = roomNum;
+ _roomNum = roomNum;
}
void DreamBase::autoLook() {
- if ((data.word(kMousex) != data.word(kOldx)) || (data.word(kMousey) != data.word(kOldy))) {
- data.word(kLookcounter) = 1000;
+ if ((_mouseX != _oldX) || (_mouseY != _oldY)) {
+ _lookCounter = 1000;
return;
}
- --data.word(kLookcounter);
- if (data.word(kLookcounter))
+ --_lookCounter;
+ if (_lookCounter)
return;
if (data.word(kWatchingtime))
return;
@@ -2078,15 +2078,15 @@ void DreamBase::autoLook() {
}
void DreamBase::look() {
- if (data.word(kWatchingtime) || (data.byte(kPointermode) == 2)) {
+ if (data.word(kWatchingtime) || (_pointerMode == 2)) {
blank();
return;
}
- if (data.byte(kCommandtype) != 241) {
- data.byte(kCommandtype) = 241;
+ if (_commandType != 241) {
+ _commandType = 241;
commandOnly(25);
}
- if ((data.word(kMousebutton) == 1) && (data.word(kMousebutton) != data.word(kOldbutton)))
+ if ((_mouseButton == 1) && (_mouseButton != _oldButton))
doLook();
}
@@ -2095,21 +2095,21 @@ void DreamBase::doLook() {
showIcon();
underTextLine();
workToScreenM();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
dumpTextLine();
- uint8 index = data.byte(kRoomnum) & 31;
+ uint8 index = _roomNum & 31;
const uint8 *string = (const uint8 *)_roomDesc.getString(index);
findNextColon(&string);
uint16 x;
- if (data.byte(kReallocation) < 50)
+ if (_realLocation < 50)
x = 66;
else
x = 40;
if (printSlow(string, x, 80, 241, true) != 1)
hangOnP(400);
- data.byte(kPointermode) = 0;
- data.byte(kCommandtype) = 0;
+ _pointerMode = 0;
+ _commandType = 0;
redrawMainScrn();
workToScreenM();
}
@@ -2224,10 +2224,10 @@ void DreamBase::restoreAll() {
}
void DreamBase::restoreReels() {
- if (data.byte(kRoomloaded) == 0)
+ if (_roomLoaded == 0)
return;
- const Room &room = g_roomData[data.byte(kReallocation)];
+ const Room &room = g_roomData[_realLocation];
engine->openFile(room.name);
@@ -2259,8 +2259,8 @@ void DreamBase::loadFolder() {
}
void DreamBase::showFolder() {
- data.byte(kCommandtype) = 255;
- if (data.byte(kFolderpage)) {
+ _commandType = 255;
+ if (_folderPage) {
useTempCharset();
createPanel2();
showFrame(_tempGraphics, 0, 0, 0, 0);
@@ -2268,9 +2268,9 @@ void DreamBase::showFolder() {
showFrame(_tempGraphics, 0, 92, 2, 0);
showFrame(_tempGraphics, 143, 92, 3, 0);
folderExit();
- if (data.byte(kFolderpage) != 1)
+ if (_folderPage != 1)
showLeftPage();
- if (data.byte(kFolderpage) != 12)
+ if (_folderPage != 12)
showRightPage();
useCharset1();
underTextLine();
@@ -2291,22 +2291,22 @@ void DreamBase::showLeftPage() {
y += 16;
}
showFrame(_tempGraphics2, 0, y, 5, 0);
- data.word(kLinespacing) = 8;
- data.word(kCharshift) = 91;
- data.byte(kKerning) = 1;
- uint8 pageIndex = data.byte(kFolderpage) - 2;
+ _lineSpacing = 8;
+ _charShift = 91;
+ _kerning = 1;
+ uint8 pageIndex = _folderPage - 2;
const uint8 *string = getTextInFile1(pageIndex * 2);
y = 48;
for (size_t i = 0; i < 2; ++i) {
uint8 lastChar;
do {
lastChar = printDirect(&string, 2, &y, 140, false);
- y += data.word(kLinespacing);
+ y += _lineSpacing;
} while (lastChar != '\0');
}
- data.byte(kKerning) = 0;
- data.word(kCharshift) = 0;
- data.word(kLinespacing) = 10;
+ _kerning = 0;
+ _charShift = 0;
+ _lineSpacing = 10;
uint8 *bufferToSwap = workspace() + (48*320)+2;
for (size_t i = 0; i < 120; ++i) {
for (size_t j = 0; j < 65; ++j) {
@@ -2325,20 +2325,20 @@ void DreamBase::showRightPage() {
}
showFrame(_tempGraphics2, 143, y, 2, 0);
- data.word(kLinespacing) = 8;
- data.byte(kKerning) = 1;
- uint8 pageIndex = data.byte(kFolderpage) - 1;
+ _lineSpacing = 8;
+ _kerning = 1;
+ uint8 pageIndex = _folderPage - 1;
const uint8 *string = getTextInFile1(pageIndex * 2);
y = 48;
for (size_t i = 0; i < 2; ++i) {
uint8 lastChar;
do {
lastChar = printDirect(&string, 152, &y, 140, false);
- y += data.word(kLinespacing);
+ y += _lineSpacing;
} while (lastChar != '\0');
}
- data.byte(kKerning) = 0;
- data.word(kLinespacing) = 10;
+ _kerning = 0;
+ _lineSpacing = 10;
}
void DreamBase::showExit() {
@@ -2384,47 +2384,47 @@ void DreamBase::checkFolderCoords() {
}
void DreamBase::nextFolder() {
- if (data.byte(kFolderpage) == 12) {
+ if (_folderPage == 12) {
blank();
return;
}
- if (data.byte(kCommandtype) != 201) {
- data.byte(kCommandtype) = 201;
+ if (_commandType != 201) {
+ _commandType = 201;
commandOnly(16);
}
- if ((data.word(kMousebutton) == 1) && (data.word(kMousebutton) != data.word(kOldbutton))) {
- ++data.byte(kFolderpage);
+ if ((_mouseButton == 1) && (_mouseButton != _oldButton)) {
+ ++_folderPage;
folderHints();
delPointer();
showFolder();
- data.word(kMousebutton) = 0;
+ _mouseButton = 0;
checkFolderCoords();
workToScreenM();
}
}
void DreamBase::lastFolder() {
- if (data.byte(kFolderpage) == 0) {
+ if (_folderPage == 0) {
blank();
return;
}
- if (data.byte(kCommandtype) != 202) {
- data.byte(kCommandtype) = 202;
+ if (_commandType != 202) {
+ _commandType = 202;
commandOnly(17);
}
- if ((data.word(kMousebutton) == 1) && (data.word(kMousebutton) != data.word(kOldbutton))) {
- --data.byte(kFolderpage);
+ if ((_mouseButton == 1) && (_mouseButton != _oldButton)) {
+ --_folderPage;
delPointer();
showFolder();
- data.word(kMousebutton) = 0;
+ _mouseButton = 0;
checkFolderCoords();
workToScreenM();
}
}
void DreamBase::folderHints() {
- if (data.byte(kFolderpage) == 5) {
+ if (_folderPage == 5) {
if ((data.byte(kAidedead) != 1) && (getLocation(13) != 1)) {
setLocation(13);
showFolder();
@@ -2433,7 +2433,7 @@ void DreamBase::folderHints() {
workToScreenM();
hangOnP(200);
}
- } else if (data.byte(kFolderpage) == 9) {
+ } else if (_folderPage == 9) {
if (getLocation(7) != 1) {
setLocation(7);
showFolder();
@@ -2492,10 +2492,10 @@ void DreamBase::loadMenu() {
}
void DreamBase::showMenu() {
- ++data.byte(kMenucount);
- if (data.byte(kMenucount) == 37*2)
- data.byte(kMenucount) = 0;
- showFrame(_tempGraphics, kMenux, kMenuy, data.byte(kMenucount) / 2, 0);
+ ++_menuCount;
+ if (_menuCount == 37*2)
+ _menuCount = 0;
+ showFrame(_tempGraphics, kMenux, kMenuy, _menuCount / 2, 0);
}
void DreamBase::dumpMenu() {
@@ -2515,7 +2515,7 @@ void DreamBase::useMenu() {
getUnderMenu();
showFrame(_tempGraphics2, kMenux+54, kMenuy+72, 5, 0);
workToScreenM();
- data.byte(kGetback) = 0;
+ _getBack = 0;
do {
delPointer();
putUnderMenu();
@@ -2532,8 +2532,8 @@ void DreamBase::useMenu() {
{ 0xFFFF,0,0,0,0 }
};
checkCoords(menuList);
- } while ((data.byte(kGetback) != 1) && !_quitRequested);
- data.byte(kManisoffscreen) = 0;
+ } while ((_getBack != 1) && !_quitRequested);
+ _manIsOffScreen = 0;
redrawMainScrn();
getRidOfTemp();
getRidOfTemp2();
@@ -2546,9 +2546,9 @@ void DreamBase::atmospheres() {
const Atmosphere *a = &g_atmosphereList[0];
for (; a->_location != 255; ++a) {
- if (a->_location != data.byte(kReallocation))
+ if (a->_location != _realLocation)
continue;
- if (a->_mapX != data.byte(kMapx) || a->_mapY != data.byte(kMapy))
+ if (a->_mapX != _mapX || a->_mapY != _mapY)
continue;
if (a->_sound != _channel0Playing) {
@@ -2564,21 +2564,21 @@ void DreamBase::atmospheres() {
// jnz notlouisvol
// I'm interpreting this as if the cmp reallocation is below the jz
- if (data.byte(kMapy) == 0) {
+ if (_mapY == 0) {
_volume = 0; // "fullvol"
return;
}
- if (data.byte(kReallocation) == 2 && data.byte(kMapx) == 22 && data.byte(kMapy) == 10)
+ if (_realLocation == 2 && _mapX == 22 && _mapY == 10)
_volume = 5; // "louisvol"
- if (isCD() && data.byte(kReallocation) == 14) {
- if (data.byte(kMapx) == 33) {
+ if (isCD() && _realLocation == 14) {
+ if (_mapX == 33) {
_volume = 0; // "ismad2"
return;
}
- if (data.byte(kMapx) == 22) {
+ if (_mapX == 22) {
_volume = 5;
return;
}
@@ -2586,13 +2586,13 @@ void DreamBase::atmospheres() {
}
}
- if (data.byte(kReallocation) == 2) {
- if (data.byte(kMapx) == 22) {
+ if (_realLocation == 2) {
+ if (_mapX == 22) {
_volume = 5; // "louisvol"
return;
}
- if (data.byte(kMapx) == 11) {
+ if (_mapX == 11) {
_volume = 0; // "fullvol"
return;
}
@@ -2615,115 +2615,115 @@ uint8 DreamBase::nextSymbol(uint8 symbol) {
void DreamBase::showSymbol() {
showFrame(_tempGraphics, kSymbolx, kSymboly, 12, 0);
- showFrame(_tempGraphics, data.byte(kSymboltopx) + kSymbolx-44, kSymboly+20, data.byte(kSymboltopnum), 32);
- uint8 nextTopSymbol = nextSymbol(data.byte(kSymboltopnum));
- showFrame(_tempGraphics, data.byte(kSymboltopx) + kSymbolx+5, kSymboly+20, nextTopSymbol, 32);
+ showFrame(_tempGraphics, _symbolTopX + kSymbolx-44, kSymboly+20, _symbolTopNum, 32);
+ uint8 nextTopSymbol = nextSymbol(_symbolTopNum);
+ showFrame(_tempGraphics, _symbolTopX + kSymbolx+5, kSymboly+20, nextTopSymbol, 32);
uint8 nextNextTopSymbol = nextSymbol(nextTopSymbol);
- showFrame(_tempGraphics, data.byte(kSymboltopx) + kSymbolx+54, kSymboly+20, nextNextTopSymbol, 32);
+ showFrame(_tempGraphics, _symbolTopX + kSymbolx+54, kSymboly+20, nextNextTopSymbol, 32);
- showFrame(_tempGraphics, data.byte(kSymbolbotx) + kSymbolx-44, kSymboly+49, 6 + data.byte(kSymbolbotnum), 32);
- uint8 nextBotSymbol = nextSymbol(data.byte(kSymbolbotnum));
- showFrame(_tempGraphics, data.byte(kSymbolbotx) + kSymbolx+5, kSymboly+49, 6 + nextBotSymbol, 32);
+ showFrame(_tempGraphics, _symbolBotX + kSymbolx-44, kSymboly+49, 6 + _symbolBotNum, 32);
+ uint8 nextBotSymbol = nextSymbol(_symbolBotNum);
+ showFrame(_tempGraphics, _symbolBotX + kSymbolx+5, kSymboly+49, 6 + nextBotSymbol, 32);
uint8 nextNextBotSymbol = nextSymbol(nextBotSymbol);
- showFrame(_tempGraphics, data.byte(kSymbolbotx) + kSymbolx+54, kSymboly+49, 6 + nextNextBotSymbol, 32);
+ showFrame(_tempGraphics, _symbolBotX + kSymbolx+54, kSymboly+49, 6 + nextNextBotSymbol, 32);
}
void DreamBase::readKey() {
- uint16 bufOut = data.word(kBufferout);
+ uint16 bufOut = _bufferOut;
- if (bufOut == data.word(kBufferin)) {
+ if (bufOut == _bufferIn) {
// empty buffer
- data.byte(kCurrentkey) = 0;
+ _currentKey = 0;
return;
}
bufOut = (bufOut + 1) & 15; // The buffer has size 16
- data.byte(kCurrentkey) = g_keyBuffer[bufOut];
- data.word(kBufferout) = bufOut;
+ _currentKey = g_keyBuffer[bufOut];
+ _bufferOut = bufOut;
}
void DreamBase::setTopLeft() {
- if (data.byte(kSymboltopdir) != 0) {
+ if (_symbolTopDir != 0) {
blank();
return;
}
- if (data.byte(kCommandtype) != 210) {
- data.byte(kCommandtype) = 210;
+ if (_commandType != 210) {
+ _commandType = 210;
commandOnly(19);
}
- if (data.word(kMousebutton) != 0)
- data.byte(kSymboltopdir) = 0xFF;
+ if (_mouseButton != 0)
+ _symbolTopDir = 0xFF;
}
void DreamBase::setTopRight() {
- if (data.byte(kSymboltopdir) != 0) {
+ if (_symbolTopDir != 0) {
blank();
return;
}
- if (data.byte(kCommandtype) != 211) {
- data.byte(kCommandtype) = 211;
+ if (_commandType != 211) {
+ _commandType = 211;
commandOnly(20);
}
- if (data.word(kMousebutton) != 0)
- data.byte(kSymboltopdir) = 1;
+ if (_mouseButton != 0)
+ _symbolTopDir = 1;
}
void DreamBase::setBotLeft() {
- if (data.byte(kSymbolbotdir) != 0) {
+ if (_symbolBotDir != 0) {
blank();
return;
}
- if (data.byte(kCommandtype) != 212) {
- data.byte(kCommandtype) = 212;
+ if (_commandType != 212) {
+ _commandType = 212;
commandOnly(21);
}
- if (data.word(kMousebutton) != 0)
- data.byte(kSymbolbotdir) = 0xFF;
+ if (_mouseButton != 0)
+ _symbolBotDir = 0xFF;
}
void DreamBase::setBotRight() {
- if (data.byte(kSymbolbotdir) != 0) {
+ if (_symbolBotDir != 0) {
blank();
return;
}
- if (data.byte(kCommandtype) != 213) {
- data.byte(kCommandtype) = 213;
+ if (_commandType != 213) {
+ _commandType = 213;
commandOnly(22);
}
- if (data.word(kMousebutton) != 0)
- data.byte(kSymbolbotdir) = 1;
+ if (_mouseButton != 0)
+ _symbolBotDir = 1;
}
void DreamBase::newGame() {
- if (data.byte(kCommandtype) != 251) {
- data.byte(kCommandtype) = 251;
+ if (_commandType != 251) {
+ _commandType = 251;
commandOnly(47);
}
- if (data.word(kMousebutton) == 1)
- data.byte(kGetback) = 3;
+ if (_mouseButton == 1)
+ _getBack = 3;
}
void DreamBase::pickupOb(uint8 command, uint8 pos) {
- data.byte(kLastinvpos) = pos;
- data.byte(kObjecttype) = kFreeObjectType;
- data.byte(kItemframe) = command;
- data.byte(kCommand) = command;
+ _lastInvPos = pos;
+ _objectType = kFreeObjectType;
+ _itemFrame = command;
+ _command = command;
//uint8 dummy;
//getAnyAd(&dummy, &dummy); // was in the original source, seems useless here
transferToEx(command);
}
void DreamBase::initialInv() {
- if (data.byte(kReallocation) != 24)
+ if (_realLocation != 24)
return;
pickupOb(11, 5);
@@ -2743,15 +2743,15 @@ void DreamBase::initialInv() {
}
void DreamBase::walkIntoRoom() {
- if (data.byte(kLocation) == 14 && data.byte(kMapx) == 22) {
- data.byte(kDestination) = 1;
- data.byte(kFinaldest) = 1;
+ if (data.byte(kLocation) == 14 && _mapX == 22) {
+ _destination = 1;
+ _finalDest = 1;
autoSetWalk();
}
}
void DreamBase::afterIntroRoom() {
- if (data.byte(kNowinnewroom) == 0)
+ if (_nowInNewRoom == 0)
return; // notnewintro
clearWork();
@@ -2762,11 +2762,11 @@ void DreamBase::afterIntroRoom() {
spriteUpdate();
printSprites();
workToScreen();
- data.byte(kNowinnewroom) = 0;
+ _nowInNewRoom = 0;
}
void DreamBase::redrawMainScrn() {
- data.word(kTimecount) = 0;
+ _timeCount = 0;
createPanel();
data.byte(kNewobs) = 0;
drawFloor();
@@ -2776,12 +2776,12 @@ void DreamBase::redrawMainScrn() {
getUnderZoom();
underTextLine();
readMouse();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
}
void DreamBase::blank() {
- if (data.byte(kCommandtype) != 199) {
- data.byte(kCommandtype) = 199;
+ if (_commandType != 199) {
+ _commandType = 199;
commandOnly(0);
}
}
@@ -2802,22 +2802,22 @@ void DreamBase::makeMainScreen() {
showIcon();
getUnderZoom();
underTextLine();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
animPointer();
workToScreenM();
- data.byte(kCommandtype) = 200;
- data.byte(kManisoffscreen) = 0;
+ _commandType = 200;
+ _manIsOffScreen = 0;
}
void DreamBase::openInv() {
- data.byte(kInvopen) = 1;
+ _invOpen = 1;
printMessage(80, 58 - 10, 61, 240, (240 & 1));
fillRyan();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
}
void DreamBase::obsThatDoThings() {
- if (!compare(data.byte(kCommand), data.byte(kObjecttype), "MEMB"))
+ if (!compare(_command, _objectType, "MEMB"))
return; // notlouiscard
if (getLocation(4) != 1) {
@@ -2829,23 +2829,23 @@ void DreamBase::obsThatDoThings() {
void DreamBase::describeOb() {
const uint8 *obText = getObTextStart();
uint16 y = 92;
- if (_foreignRelease && data.byte(kObjecttype) == kSetObjectType1)
+ if (_foreignRelease && _objectType == kSetObjectType1)
y = 82;
- data.word(kCharshift) = 91 + 91;
+ _charShift = 91 + 91;
printDirect(&obText, 33, &y, 241, 241 & 1);
- data.word(kCharshift) = 0;
+ _charShift = 0;
y = 104;
- if (_foreignRelease && data.byte(kObjecttype) == kSetObjectType1)
+ if (_foreignRelease && _objectType == kSetObjectType1)
y = 94;
printDirect(&obText, 36, &y, 241, 241 & 1);
obsThatDoThings();
// Additional text
- if (compare(data.byte(kCommand), data.byte(kObjecttype), "CUPE")) {
+ if (compare(_command, _objectType, "CUPE")) {
// Empty cup
const uint8 *string = (const uint8 *)_puzzleText.getString(40);
printDirect(string, 36, y + 10, 241, 241 & 1);
- } else if (compare(data.byte(kCommand), data.byte(kObjecttype), "CUPF")) {
+ } else if (compare(_command, _objectType, "CUPF")) {
// Full cup
const uint8 *string = (const uint8 *)_puzzleText.getString(39);
printDirect(string, 36, y + 10, 241, 241 & 1);
@@ -2853,13 +2853,13 @@ void DreamBase::describeOb() {
}
void DreamBase::delEverything() {
- if (data.byte(kMapysize) + data.word(kMapoffsety) < 182) {
+ if (_mapYSize + _mapOffsetY < 182) {
mapToPanel();
} else {
// Big room
- data.byte(kMapysize) -= 8;
+ _mapYSize -= 8;
mapToPanel();
- data.byte(kMapysize) += 8;
+ _mapYSize += 8;
}
}
@@ -2882,7 +2882,7 @@ void DreamBase::errorMessage1() {
}
void DreamBase::errorMessage2() {
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
delPointer();
printMessage(76, 21, 59, 240, (240 & 1));
readMouse();
@@ -2928,7 +2928,7 @@ void DreamBase::putBackObStuff() {
obPicture();
describeOb();
underTextLine();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
readMouse();
showPointer();
workToScreen();
@@ -2945,12 +2945,12 @@ void DreamBase::dumpZoom() {
}
void DreamBase::examineInventory() {
- if (data.byte(kCommandtype) != 249) {
- data.byte(kCommandtype) = 249;
+ if (_commandType != 249) {
+ _commandType = 249;
commandOnly(32);
}
- if (!(data.word(kMousebutton) & 1))
+ if (!(_mouseButton & 1))
return;
createPanel();
@@ -2958,8 +2958,8 @@ void DreamBase::examineInventory() {
showMan();
showExit();
examIcon();
- data.byte(kPickup) = 0;
- data.byte(kInvopen) = 2;
+ _pickUp = 0;
+ _invOpen = 2;
openInv();
workToScreenM();
}
@@ -2974,9 +2974,9 @@ void DreamBase::showDiary() {
void DreamBase::underTextLine() {
if (_foreignRelease)
- multiGet(_textUnder, data.byte(kTextaddressx), data.word(kTextaddressy) - 3, kUnderTextSizeX_f, kUnderTextSizeY_f);
+ multiGet(_textUnder, _textAddressX, _textAddressY - 3, kUnderTextSizeX_f, kUnderTextSizeY_f);
else
- multiGet(_textUnder, data.byte(kTextaddressx), data.word(kTextaddressy), kUnderTextSizeX, kUnderTextSizeY);
+ multiGet(_textUnder, _textAddressX, _textAddressY, kUnderTextSizeX, kUnderTextSizeY);
}
void DreamBase::getUnderZoom() {
@@ -2993,15 +2993,15 @@ void DreamBase::showWatchReel() {
data.word(kReeltowatch) = reelPointer;
// check for shake
- if (data.byte(kReallocation) == 26 && reelPointer == 104)
+ if (_realLocation == 26 && reelPointer == 104)
data.byte(kShakecounter) = 0xFF;
}
void DreamBase::watchReel() {
if (data.word(kReeltowatch) != 0xFFFF) {
- if (data.byte(kManspath) != data.byte(kFinaldest))
+ if (_mansPath != _finalDest)
return; // Wait until stopped walking
- if (data.byte(kTurntoface) != data.byte(kFacing))
+ if (_turnToFace != _facing)
return;
if (--data.byte(kSpeedcount) != 0xFF) {
@@ -3033,8 +3033,8 @@ void DreamBase::watchReel() {
if (data.word(kReeltohold) == data.word(kEndofholdreel)) {
data.word(kReeltohold) = 0xFFFF;
data.byte(kWatchmode) = 0xFF;
- data.byte(kDestination) = data.byte(kDestafterhold);
- data.byte(kFinaldest) = data.byte(kDestafterhold);
+ _destination = data.byte(kDestafterhold);
+ _finalDest = data.byte(kDestafterhold);
autoSetWalk();
return;
}
@@ -3045,22 +3045,22 @@ void DreamBase::watchReel() {
}
void DreamBase::afterNewRoom() {
- if (data.byte(kNowinnewroom) == 0)
+ if (_nowInNewRoom == 0)
return; // notnew
- data.word(kTimecount) = 0;
+ _timeCount = 0;
createPanel();
- data.byte(kCommandtype) = 0;
+ _commandType = 0;
findRoomInLoc();
if (data.byte(kRyanon) != 1) {
- data.byte(kManspath) = findPathOfPoint(data.byte(kRyanx) + 12, data.byte(kRyany) + 12);
+ _mansPath = findPathOfPoint(_ryanX + 12, _ryanY + 12);
findXYFromPath();
- data.byte(kResetmanxy) = 1;
+ _resetManXY = 1;
}
data.byte(kNewobs) = 1;
drawFloor();
- data.word(kLookcounter) = 160;
- data.byte(kNowinnewroom) = 0;
+ _lookCounter = 160;
+ _nowInNewRoom = 0;
showIcon();
spriteUpdate();
printSprites();
@@ -3077,20 +3077,20 @@ void DreamBase::afterNewRoom() {
void DreamBase::madmanRun() {
if (data.byte(kLocation) != 14 ||
- data.byte(kMapx) != 22 ||
- data.byte(kPointermode) != 2 ||
+ _mapX != 22 ||
+ _pointerMode != 2 ||
data.byte(kMadmanflag) != 0) {
identifyOb();
return;
}
- if (data.byte(kCommandtype) != 211) {
- data.byte(kCommandtype) = 211;
+ if (_commandType != 211) {
+ _commandType = 211;
commandOnly(52);
}
- if (data.word(kMousebutton) == 1 &&
- data.word(kMousebutton) != data.word(kOldbutton))
+ if (_mouseButton == 1 &&
+ _mouseButton != _oldButton)
data.byte(kLastweapon) = 8;
}
@@ -3099,18 +3099,18 @@ void DreamBase::decide() {
setMode();
loadPalFromIFF();
clearPalette();
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
data.word(kWatchingtime) = 0;
- data.byte(kPointerframe) = 0;
- data.word(kTextaddressx) = 70;
- data.word(kTextaddressy) = 182 - 8;
- data.byte(kTextlen) = 181;
- data.byte(kManisoffscreen) = 1;
+ _pointerFrame = 0;
+ _textAddressX = 70;
+ _textAddressY = 182 - 8;
+ _textLen = 181;
+ _manIsOffScreen = 1;
loadSaveBox();
showDecisions();
workToScreen();
fadeScreenUp();
- data.byte(kGetback) = 0;
+ _getBack = 0;
RectWithCallback<DreamBase> decideList[] = {
{ kOpsx+69,kOpsx+124,kOpsy+30,kOpsy+76,&DreamBase::newGame },
@@ -3131,34 +3131,34 @@ void DreamBase::decide() {
dumpTextLine();
delPointer();
checkCoords(decideList);
- } while (!data.byte(kGetback));
+ } while (!_getBack);
- if (data.byte(kGetback) != 4)
+ if (_getBack != 4)
getRidOfTemp(); // room not loaded
- data.word(kTextaddressx) = 13;
- data.word(kTextaddressy) = 182;
- data.byte(kTextlen) = 240;
+ _textAddressX = 13;
+ _textAddressY = 182;
+ _textLen = 240;
}
void DreamBase::showGun() {
- data.byte(kAddtored) = 0;
- data.byte(kAddtogreen) = 0;
- data.byte(kAddtoblue) = 0;
+ _addToRed = 0;
+ _addToGreen = 0;
+ _addToBlue = 0;
palToStartPal();
palToEndPal();
greyscaleSum();
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
hangOn(130);
endPalToStart();
clearEndPal();
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
hangOn(200);
_roomsSample = 34;
loadRoomsSample();
@@ -3178,47 +3178,47 @@ void DreamBase::showGun() {
}
void DreamBase::diaryKeyP() {
- if (data.byte(kCommandtype) != 214) {
- data.byte(kCommandtype) = 214;
+ if (_commandType != 214) {
+ _commandType = 214;
commandOnly(23);
}
- if (!data.word(kMousebutton) ||
- data.word(kOldbutton) == data.word(kMousebutton) ||
- data.byte(kPresscount))
+ if (!_mouseButton ||
+ _oldButton == _mouseButton ||
+ _pressCount)
return; // notkeyp
playChannel1(16);
- data.byte(kPresscount) = 12;
- data.byte(kPressed) = 'P';
- data.byte(kDiarypage)--;
+ _pressCount = 12;
+ _pressed = 'P';
+ _diaryPage--;
- if (data.byte(kDiarypage) == 0xFF)
- data.byte(kDiarypage) = 11;
+ if (_diaryPage == 0xFF)
+ _diaryPage = 11;
}
void DreamBase::diaryKeyN() {
- if (data.byte(kCommandtype) != 213) {
- data.byte(kCommandtype) = 213;
+ if (_commandType != 213) {
+ _commandType = 213;
commandOnly(23);
}
- if (!data.word(kMousebutton) ||
- data.word(kOldbutton) == data.word(kMousebutton) ||
- data.byte(kPresscount))
+ if (!_mouseButton ||
+ _oldButton == _mouseButton ||
+ _pressCount)
return; // notkeyn
playChannel1(16);
- data.byte(kPresscount) = 12;
- data.byte(kPressed) = 'N';
- data.byte(kDiarypage)++;
+ _pressCount = 12;
+ _pressed = 'N';
+ _diaryPage++;
- if (data.byte(kDiarypage) == 12)
- data.byte(kDiarypage) = 0;
+ if (_diaryPage == 12)
+ _diaryPage = 0;
}
void DreamBase::dropError() {
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
delPointer();
printMessage(76, 21, 56, 240, 240 & 1);
workToScreenM();
@@ -3226,12 +3226,12 @@ void DreamBase::dropError() {
showPanel();
showMan();
examIcon();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
workToScreenM();
}
void DreamBase::cantDrop() {
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
delPointer();
printMessage(76, 21, 24, 240, 240 & 1);
workToScreenM();
@@ -3239,29 +3239,29 @@ void DreamBase::cantDrop() {
showPanel();
showMan();
examIcon();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
workToScreenM();
}
void DreamBase::getBack1() {
- if (data.byte(kPickup) != 0) {
+ if (_pickUp != 0) {
blank();
return;
}
- if (data.byte(kCommandtype) != 202) {
- data.byte(kCommandtype) = 202;
+ if (_commandType != 202) {
+ _commandType = 202;
commandOnly(26);
}
- if (data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton == _oldButton)
return;
- if (data.word(kMousebutton) & 1) {
+ if (_mouseButton & 1) {
// Get back
- data.byte(kGetback) = 1;
- data.byte(kPickup) = 0;
+ _getBack = 1;
+ _pickUp = 0;
}
}
@@ -3270,11 +3270,11 @@ void DreamBase::autoAppear() {
// In alley
resetLocation(5);
setLocation(10);
- data.byte(kDestpos) = 10;
+ _destPos = 10;
return;
}
- if (data.byte(kReallocation) == 24) {
+ if (_realLocation == 24) {
// In Eden's apartment
if (data.byte(kGeneraldead) == 1) {
data.byte(kGeneraldead)++;
@@ -3295,37 +3295,37 @@ void DreamBase::autoAppear() {
}
} else {
// Not in Eden's
- if (data.byte(kReallocation) == 25) {
+ if (_realLocation == 25) {
// Sart roof
data.byte(kNewsitem) = 3;
resetLocation(6);
setLocation(11);
- data.byte(kDestpos) = 11;
+ _destPos = 11;
} else {
- if (data.byte(kReallocation) == 2 && data.byte(kRockstardead) != 0)
+ if (_realLocation == 2 && data.byte(kRockstardead) != 0)
placeSetObject(23);
}
}
}
void DreamBase::quitKey() {
- if (data.byte(kCommandtype) != 222) {
- data.byte(kCommandtype) = 222;
+ if (_commandType != 222) {
+ _commandType = 222;
commandOnly(4);
}
- if (data.word(kMousebutton) != data.word(kOldbutton) && (data.word(kMousebutton) & 1))
- data.byte(kGetback) = 1;
+ if (_mouseButton != _oldButton && (_mouseButton & 1))
+ _getBack = 1;
}
void DreamBase::setupTimedUse(uint16 textIndex, uint16 countToTimed, uint16 timeCount, byte x, byte y) {
- if (data.word(kTimecount) != 0)
+ if (_timeCount != 0)
return; // can't setup
- data.byte(kTimedy) = y;
- data.byte(kTimedx) = x;
- data.word(kCounttotimed) = countToTimed;
- data.word(kTimecount) = timeCount + countToTimed;
+ _timedY = y;
+ _timedX = x;
+ _countToTimed = countToTimed;
+ _timeCount = timeCount + countToTimed;
_timedString = _puzzleText.getString(textIndex);
debug(1, "setupTimedUse: %d => '%s'", textIndex, _timedString);
}
@@ -3389,8 +3389,8 @@ void DreamBase::entryAnims() {
switchRyanOff();
break;
case 26: // under church
- data.byte(kSymboltopnum) = 2;
- data.byte(kSymbolbotnum) = 1;
+ _symbolTopNum = 2;
+ _symbolBotNum = 1;
break;
case 45: // entered Dreamweb
data.byte(kKeeperflag) = 0;
@@ -3402,7 +3402,7 @@ void DreamBase::entryAnims() {
switchRyanOff();
break;
default:
- if (data.byte(kReallocation) == 46 && data.byte(kSartaindead) == 1) { // Crystal
+ if (_realLocation == 46 && data.byte(kSartaindead) == 1) { // Crystal
removeFreeObject(0);
} else if (data.byte(kLocation) == 9 && !checkIfPathIsOn(2) && data.byte(kAidedead) != 0) {
// Top of church
@@ -3430,105 +3430,105 @@ void DreamBase::entryAnims() {
data.byte(kSpeedcount) = 1;
switchRyanOff();
} else if (data.byte(kLocation) == 24) { // Eden's again
- turnAnyPathOn(2, data.byte(kRoomnum) - 1);
+ turnAnyPathOn(2, _roomNum - 1);
}
}
}
void DreamBase::updateSymbolTop() {
- if (!data.byte(kSymboltopdir))
+ if (!_symbolTopDir)
return; // topfinished
- if (data.byte(kSymboltopdir) == (byte)-1) {
+ if (_symbolTopDir == (byte)-1) {
// Backward
- data.byte(kSymboltopx)--;
- if (data.byte(kSymboltopx) != (byte)-1) {
+ _symbolTopX--;
+ if (_symbolTopX != (byte)-1) {
// Not wrapping
- if (data.byte(kSymboltopx) != 24)
+ if (_symbolTopX != 24)
return; // topfinished
- data.byte(kSymboltopdir) = 0;
+ _symbolTopDir = 0;
} else {
- data.byte(kSymboltopx) = 48;
- data.byte(kSymboltopnum)++;
- if (data.byte(kSymboltopnum) != 6)
+ _symbolTopX = 48;
+ _symbolTopNum++;
+ if (_symbolTopNum != 6)
return; // topfinished
- data.byte(kSymboltopnum) = 0;
+ _symbolTopNum = 0;
}
} else {
// Forward
- data.byte(kSymboltopx)++;
- if (data.byte(kSymboltopx) != 49) {
+ _symbolTopX++;
+ if (_symbolTopX != 49) {
// Not wrapping
- if (data.byte(kSymboltopx) != 24)
+ if (_symbolTopX != 24)
return; // topfinished
- data.byte(kSymboltopdir) = 0;
+ _symbolTopDir = 0;
} else {
- data.byte(kSymboltopx) = 0;
- data.byte(kSymboltopnum)--;
- if (data.byte(kSymboltopnum) != (byte)-1)
+ _symbolTopX = 0;
+ _symbolTopNum--;
+ if (_symbolTopNum != (byte)-1)
return; // topfinished
- data.byte(kSymboltopnum) = 5;
+ _symbolTopNum = 5;
}
}
}
void DreamBase::updateSymbolBot() {
- if (!data.byte(kSymbolbotdir))
+ if (!_symbolBotDir)
return; // botfinished
- if (data.byte(kSymbolbotdir) == (byte)-1) {
+ if (_symbolBotDir == (byte)-1) {
// Backward
- data.byte(kSymbolbotx)--;
- if (data.byte(kSymbolbotx) != (byte)-1) {
+ _symbolBotX--;
+ if (_symbolBotX != (byte)-1) {
// Not wrapping
- if (data.byte(kSymbolbotx) != 24)
+ if (_symbolBotX != 24)
return; // botfinished
- data.byte(kSymbolbotdir) = 0;
+ _symbolBotDir = 0;
} else {
- data.byte(kSymbolbotx) = 48;
- data.byte(kSymbolbotnum)++;
- if (data.byte(kSymbolbotnum) != 6)
+ _symbolBotX = 48;
+ _symbolBotNum++;
+ if (_symbolBotNum != 6)
return; // botfinished
- data.byte(kSymbolbotnum) = 0;
+ _symbolBotNum = 0;
}
} else {
// Forward
- data.byte(kSymbolbotx)++;
- if (data.byte(kSymbolbotx) != 49) {
+ _symbolBotX++;
+ if (_symbolBotX != 49) {
// Not wrapping
- if (data.byte(kSymbolbotx) != 24)
+ if (_symbolBotX != 24)
return; // botfinished
- data.byte(kSymbolbotdir) = 0;
+ _symbolBotDir = 0;
} else {
- data.byte(kSymbolbotx) = 0;
- data.byte(kSymbolbotnum)--;
- if (data.byte(kSymbolbotnum) != (byte)-1)
+ _symbolBotX = 0;
+ _symbolBotNum--;
+ if (_symbolBotNum != (byte)-1)
return; // botfinished
- data.byte(kSymbolbotnum) = 5;
+ _symbolBotNum = 5;
}
}
}
void DreamBase::showDiaryPage() {
showFrame(_tempGraphics, kDiaryx, kDiaryy, 0, 0);
- data.byte(kKerning) = 1;
+ _kerning = 1;
useTempCharset();
- data.word(kCharshift) = 91+91;
- const uint8 *string = getTextInFile1(data.byte(kDiarypage));
+ _charShift = 91+91;
+ const uint8 *string = getTextInFile1(_diaryPage);
uint16 y = kDiaryy + 16;
printDirect(&string, kDiaryx + 48, &y, 240, 240 & 1);
y = kDiaryy + 16;
printDirect(&string, kDiaryx + 129, &y, 240, 240 & 1);
y = kDiaryy + 23;
printDirect(&string, kDiaryx + 48, &y, 240, 240 & 1);
- data.byte(kKerning) = 0;
- data.word(kCharshift) = 0;
+ _kerning = 0;
+ _charShift = 0;
useCharset1();
}
void DreamBase::dumpDiaryKeys() {
- if (data.byte(kPresscount) == 1) {
- if (data.byte(kSartaindead) != 1 && data.byte(kDiarypage) == 5 && getLocation(6) != 1) {
+ if (_pressCount == 1) {
+ if (data.byte(kSartaindead) != 1 && _diaryPage == 5 && getLocation(6) != 1) {
// Add Sartain Industries note
setLocation(6);
delPointer();
@@ -3553,7 +3553,7 @@ void DreamBase::dumpDiaryKeys() {
}
void DreamBase::lookAtCard() {
- data.byte(kManisoffscreen) = 1;
+ _manIsOffScreen = 1;
getRidOfReels();
loadKeypad();
createPanel2();
@@ -3571,7 +3571,7 @@ void DreamBase::lookAtCard() {
printDirect(obText, 36, 130, 241, 241 & 1);
workToScreenM();
hangOnW(200);
- data.byte(kManisoffscreen) = 0;
+ _manIsOffScreen = 0;
getRidOfTemp();
restoreReels();
putBackObStuff();
@@ -3605,28 +3605,28 @@ void DreamBase::clearChanges() {
}
void DreamBase::showDiaryKeys() {
- if (!data.byte(kPresscount))
+ if (!_pressCount)
return; // nokeyatall
- data.byte(kPresscount)--;
+ _pressCount--;
- if (!data.byte(kPresscount))
+ if (!_pressCount)
return; // nokeyatall
- if (data.byte(kPressed) == 'N') {
- byte frame = (data.byte(kPresscount) == 1) ? 3 : 4;
+ if (_pressed == 'N') {
+ byte frame = (_pressCount == 1) ? 3 : 4;
showFrame(_tempGraphics, kDiaryx + 94, kDiaryy + 97, frame, 0);
} else {
- byte frame = (data.byte(kPresscount) == 1) ? 5 : 6;
+ byte frame = (_pressCount == 1) ? 5 : 6;
showFrame(_tempGraphics, kDiaryx + 151, kDiaryy + 71, frame, 0);
}
- if (data.byte(kPresscount) == 1)
+ if (_pressCount == 1)
showDiaryPage();
}
void DreamBase::edensFlatReminders() {
- if (data.byte(kReallocation) != 24 || data.byte(kMapx) != 44)
+ if (_realLocation != 24 || _mapX != 44)
return; // not in Eden's lift
if (data.byte(kProgresspoints))
@@ -3654,15 +3654,15 @@ void DreamBase::edensFlatReminders() {
}
void DreamBase::incRyanPage() {
- if (data.byte(kCommandtype) != 222) {
- data.byte(kCommandtype) = 222;
+ if (_commandType != 222) {
+ _commandType = 222;
commandOnly(31);
}
- if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ if (_mouseButton == _oldButton || !(_mouseButton & 1))
return;
- data.byte(kRyanpage) = (data.word(kMousex) - (kInventx + 167)) / 18;
+ data.byte(kRyanpage) = (_mouseX - (kInventx + 167)) / 18;
delPointer();
fillRyan();
@@ -3690,7 +3690,7 @@ void DreamBase::purgeAnItem() {
for (size_t i = 0; i < kNumexobjects; ++i) {
if (extraObjects[i].mapad[0] && extraObjects[i].id[0] == 255 &&
- extraObjects[i].initialLocation != data.byte(kReallocation)) {
+ extraObjects[i].initialLocation != _realLocation) {
deleteExObject(i);
return;
}
diff --git a/engines/dreamweb/talk.cpp b/engines/dreamweb/talk.cpp
index 5478a0f1f2..a1bbbe51da 100644
--- a/engines/dreamweb/talk.cpp
+++ b/engines/dreamweb/talk.cpp
@@ -25,9 +25,9 @@
namespace DreamGen {
void DreamBase::talk() {
- data.byte(kTalkpos) = 0;
- data.byte(kInmaparea) = 0;
- data.byte(kCharacter) = data.byte(kCommand);
+ _talkPos = 0;
+ _inMapArea = 0;
+ _character = _command;
createPanel();
showPanel();
showMan();
@@ -35,7 +35,7 @@ void DreamBase::talk() {
underTextLine();
convIcons();
startTalk();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
readMouse();
showPointer();
workToScreen();
@@ -55,13 +55,13 @@ void DreamBase::talk() {
vSync();
dumpPointer();
dumpTextLine();
- data.byte(kGetback) = 0;
+ _getBack = 0;
checkCoords(talkList);
if (_quitRequested)
break;
- } while (!data.byte(kGetback));
+ } while (!_getBack);
- if (data.byte(kTalkpos) >= 4)
+ if (_talkPos >= 4)
_personData->b7 |= 128;
redrawMainScrn();
@@ -74,7 +74,7 @@ void DreamBase::talk() {
}
void DreamBase::convIcons() {
- uint8 index = data.byte(kCharacter) & 127;
+ uint8 index = _character & 127;
uint16 frame = getPersFrame(index);
const GraphicsFile *base = findSource(frame);
showFrame(*base, 234, 2, frame, 0);
@@ -85,21 +85,21 @@ uint16 DreamBase::getPersFrame(uint8 index) {
}
void DreamBase::startTalk() {
- data.byte(kTalkmode) = 0;
+ _talkMode = 0;
- const uint8 *str = getPersonText(data.byte(kCharacter) & 0x7F, 0);
+ const uint8 *str = getPersonText(_character & 0x7F, 0);
uint16 y;
- data.word(kCharshift) = 91+91;
+ _charShift = 91+91;
y = 64;
printDirect(&str, 66, &y, 241, true);
- data.word(kCharshift) = 0;
+ _charShift = 0;
y = 80;
printDirect(&str, 66, &y, 241, true);
_speechLoaded = false;
- loadSpeech('R', data.byte(kReallocation), 'C', 64*(data.byte(kCharacter) & 0x7F));
+ loadSpeech('R', _realLocation, 'C', 64*(_character & 0x7F));
if (_speechLoaded) {
_volumeDirection = 1;
_volumeTo = 6;
@@ -112,37 +112,37 @@ const uint8 *DreamBase::getPersonText(uint8 index, uint8 talkPos) {
}
void DreamBase::moreTalk() {
- if (data.byte(kTalkmode) != 0) {
+ if (_talkMode != 0) {
redes();
return;
}
- if (data.byte(kCommandtype) != 215) {
- data.byte(kCommandtype) = 215;
+ if (_commandType != 215) {
+ _commandType = 215;
commandOnly(49);
}
- if (data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton == _oldButton)
return; // nomore
- if (!(data.word(kMousebutton) & 1))
+ if (!(_mouseButton & 1))
return;
- data.byte(kTalkmode) = 2;
- data.byte(kTalkpos) = 4;
+ _talkMode = 2;
+ _talkPos = 4;
- if (data.byte(kCharacter) >= 100)
- data.byte(kTalkpos) = 48; // second part
+ if (_character >= 100)
+ _talkPos = 48; // second part
doSomeTalk();
}
void DreamBase::doSomeTalk() {
while (true) {
- const uint8 *str = getPersonText(data.byte(kCharacter) & 0x7F, data.byte(kTalkpos));
+ const uint8 *str = getPersonText(_character & 0x7F, _talkPos);
if (*str == 0) {
// endheartalk
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
return;
}
@@ -154,21 +154,21 @@ void DreamBase::doSomeTalk() {
printDirect(str, 164, 64, 144, false);
- loadSpeech('R', data.byte(kReallocation), 'C', (64 * (data.byte(kCharacter) & 0x7F)) + data.byte(kTalkpos));
+ loadSpeech('R', _realLocation, 'C', (64 * (_character & 0x7F)) + _talkPos);
if (_speechLoaded)
playChannel1(62);
- data.byte(kPointermode) = 3;
+ _pointerMode = 3;
workToScreenM();
if (hangOnPQ())
return;
- data.byte(kTalkpos)++;
+ _talkPos++;
- str = getPersonText(data.byte(kCharacter) & 0x7F, data.byte(kTalkpos));
+ str = getPersonText(_character & 0x7F, _talkPos);
if (*str == 0) {
// endheartalk
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
return;
}
@@ -180,22 +180,22 @@ void DreamBase::doSomeTalk() {
convIcons();
printDirect(str, 48, 128, 144, false);
- loadSpeech('R', data.byte(kReallocation), 'C', (64 * (data.byte(kCharacter) & 0x7F)) + data.byte(kTalkpos));
+ loadSpeech('R', _realLocation, 'C', (64 * (_character & 0x7F)) + _talkPos);
if (_speechLoaded)
playChannel1(62);
- data.byte(kPointermode) = 3;
+ _pointerMode = 3;
workToScreenM();
if (hangOnPQ())
return;
}
- data.byte(kTalkpos)++;
+ _talkPos++;
}
}
bool DreamBase::hangOnPQ() {
- data.byte(kGetback) = 0;
+ _getBack = 0;
RectWithCallback<DreamBase> quitList[] = {
{ 273,320,157,198,&DreamBase::getBack1 },
@@ -215,10 +215,10 @@ bool DreamBase::hangOnPQ() {
dumpTextLine();
checkCoords(quitList);
- if (data.byte(kGetback) == 1 || _quitRequested) {
+ if (_getBack == 1 || _quitRequested) {
// Quit conversation
delPointer();
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
cancelCh1();
return true;
}
@@ -228,25 +228,25 @@ bool DreamBase::hangOnPQ() {
if (speechFlag == 40)
break;
}
- } while (!data.word(kMousebutton) || data.word(kOldbutton));
+ } while (!_mouseButton || _oldButton);
delPointer();
- data.byte(kPointermode) = 0;
+ _pointerMode = 0;
return false;
}
void DreamBase::redes() {
- if (_channel1Playing != 255 || data.byte(kTalkmode) != 2) {
+ if (_channel1Playing != 255 || _talkMode != 2) {
blank();
return;
}
- if (data.byte(kCommandtype) != 217) {
- data.byte(kCommandtype) = 217;
+ if (_commandType != 217) {
+ _commandType = 217;
commandOnly(50);
}
- if (!(data.word(kMousebutton) & 1))
+ if (!(_mouseButton & 1))
return;
delPointer();
diff --git a/engines/dreamweb/titles.cpp b/engines/dreamweb/titles.cpp
index 529f400ff6..ff3566f5d7 100644
--- a/engines/dreamweb/titles.cpp
+++ b/engines/dreamweb/titles.cpp
@@ -69,7 +69,7 @@ void DreamBase::monkSpeaking() {
}
void DreamBase::gettingShot() {
- data.byte(kNewlocation) = 55;
+ _newLocation = 55;
clearPalette();
loadIntroRoom();
fadeScreenUps();
@@ -86,34 +86,34 @@ void DreamBase::bibleQuote() {
fadeScreenUps();
hangOne(80);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "biblequotearly"
}
hangOne(560);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "biblequotearly"
}
fadeScreenDowns();
hangOne(200);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "biblequotearly"
}
cancelCh0();
- data.byte(kLasthardkey) = 0;
+ _lastHardKey = 0;
}
void DreamBase::hangOne(uint16 delay) {
do {
vSync();
- if (data.byte(kLasthardkey) == 1)
+ if (_lastHardKey == 1)
return; // "hangonearly"
} while (--delay);
}
@@ -122,7 +122,7 @@ void DreamBase::intro() {
loadTempText("DREAMWEB.T82");
loadPalFromIFF();
setMode();
- data.byte(kNewlocation) = 50;
+ _newLocation = 50;
clearPalette();
loadIntroRoom();
_volume = 7;
@@ -132,61 +132,61 @@ void DreamBase::intro() {
fadeScreenUps();
runIntroSeq();
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "introearly"
}
clearBeforeLoad();
- data.byte(kNewlocation) = 52;
+ _newLocation = 52;
loadIntroRoom();
runIntroSeq();
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "introearly"
}
clearBeforeLoad();
- data.byte(kNewlocation) = 53;
+ _newLocation = 53;
loadIntroRoom();
runIntroSeq();
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "introearly"
}
clearBeforeLoad();
allPalette();
- data.byte(kNewlocation) = 54;
+ _newLocation = 54;
loadIntroRoom();
runIntroSeq();
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "introearly"
}
getRidOfTempText();
clearBeforeLoad();
- data.byte(kLasthardkey) = 0;
+ _lastHardKey = 0;
}
void DreamBase::runIntroSeq() {
- data.byte(kGetback) = 0;
+ _getBack = 0;
do {
vSync();
- if (data.byte(kLasthardkey) == 1)
+ if (_lastHardKey == 1)
break;
spriteUpdate();
vSync();
- if (data.byte(kLasthardkey) == 1)
+ if (_lastHardKey == 1)
break;
delEverything();
@@ -196,20 +196,20 @@ void DreamBase::runIntroSeq() {
useTimedText();
vSync();
- if (data.byte(kLasthardkey) == 1)
+ if (_lastHardKey == 1)
break;
dumpMap();
dumpTimedText();
vSync();
- if (data.byte(kLasthardkey) == 1)
+ if (_lastHardKey == 1)
break;
- } while (data.byte(kGetback) != 1);
+ } while (_getBack != 1);
- if (data.byte(kLasthardkey) == 1) {
+ if (_lastHardKey == 1) {
getRidOfTempText();
clearBeforeLoad();
}
@@ -222,7 +222,7 @@ void DreamBase::runIntroSeq() {
void DreamBase::runEndSeq() {
atmospheres();
- data.byte(kGetback) = 0;
+ _getBack = 0;
do {
vSync();
@@ -237,19 +237,19 @@ void DreamBase::runEndSeq() {
dumpMap();
dumpTimedText();
vSync();
- } while (data.byte(kGetback) != 1);
+ } while (_getBack != 1);
}
void DreamBase::loadIntroRoom() {
- data.byte(kIntrocount) = 0;
+ _introCount = 0;
data.byte(kLocation) = 255;
loadRoom();
- data.word(kMapoffsetx) = 72;
- data.word(kMapoffsety) = 16;
+ _mapOffsetX = 72;
+ _mapOffsetY = 16;
clearSprites();
data.byte(kThroughdoor) = 0;
- data.byte(kCurrentkey) = '0';
- data.byte(kMainmode) = 0;
+ _currentKey = '0';
+ _mainMode = 0;
clearWork();
data.byte(kNewobs) = 1;
drawFloor();
@@ -275,24 +275,24 @@ void DreamBase::realCredits() {
hangOne(2);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
allPalette();
hangOne(80);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
fadeScreenDowns();
hangOne(256);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
@@ -300,24 +300,24 @@ void DreamBase::realCredits() {
playChannel0(12, 0);
hangOne(2);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
allPalette();
hangOne(80);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
fadeScreenDowns();
hangOne(256);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
@@ -325,24 +325,24 @@ void DreamBase::realCredits() {
playChannel0(12, 0);
hangOne(2);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
allPalette();
hangOne(80);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
fadeScreenDowns();
hangOne(256);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
@@ -350,24 +350,24 @@ void DreamBase::realCredits() {
playChannel0(12, 0);
hangOne(2);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
allPalette();
hangOne(80);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
fadeScreenDowns();
hangOne(256);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
@@ -375,24 +375,24 @@ void DreamBase::realCredits() {
playChannel0(12, 0);
hangOne(2);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
allPalette();
hangOne(80);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
fadeScreenDowns();
hangOne(256);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
@@ -400,23 +400,23 @@ void DreamBase::realCredits() {
fadeScreenUps();
hangOne(60);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
playChannel0(13, 0);
hangOne(350);
- if (data.byte(kLasthardkey) == 1) {
- data.byte(kLasthardkey) = 0;
+ if (_lastHardKey == 1) {
+ _lastHardKey = 0;
return; // "realcreditsearly"
}
fadeScreenDowns();
hangOne(256);
- data.byte(kLasthardkey) = 0;
+ _lastHardKey = 0;
}
} // End of namespace DreamGen
diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp
index f2dce4d603..94c9d20ea7 100644
--- a/engines/dreamweb/use.cpp
+++ b/engines/dreamweb/use.cpp
@@ -121,10 +121,10 @@ void DreamBase::useRoutine() {
{ &DreamBase::hotelBell, "BELL" },
};
- if (data.byte(kReallocation) >= 50) {
- if (data.byte(kPointerpower) == 0)
+ if (_realLocation >= 50) {
+ if (_pointerPower == 0)
return;
- data.byte(kPointerpower) = 0;
+ _pointerPower = 0;
}
uint8 dummy;
@@ -160,7 +160,7 @@ void DreamBase::useRoutine() {
workToScreenM();
hangOnP(50);
putBackObStuff();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
}
void DreamBase::useText(const uint8 *string) {
@@ -191,13 +191,13 @@ void DreamBase::showSecondUse() {
}
void DreamBase::viewFolder() {
- data.byte(kManisoffscreen) = 1;
+ _manIsOffScreen = 1;
getRidOfAll();
loadFolder();
- data.byte(kFolderpage) = 0;
+ _folderPage = 0;
showFolder();
workToScreenM();
- data.byte(kGetback) = 0;
+ _getBack = 0;
do {
if (_quitRequested)
break;
@@ -208,8 +208,8 @@ void DreamBase::viewFolder() {
dumpPointer();
dumpTextLine();
checkFolderCoords();
- } while (data.byte(kGetback) == 0);
- data.byte(kManisoffscreen) = 0;
+ } while (_getBack == 0);
+ _manIsOffScreen = 0;
getRidOfTemp();
getRidOfTemp2();
getRidOfTemp3();
@@ -226,7 +226,7 @@ void DreamBase::edensCDPlayer() {
data.word(kEndwatchreel) = 42;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::hotelBell() {
@@ -244,33 +244,33 @@ void DreamBase::playGuitar() {
void DreamBase::useElevator1() {
showFirstUse();
selectLocation();
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useElevator2() {
showFirstUse();
if (data.byte(kLocation) == 23) // In pool hall
- data.byte(kNewlocation) = 31;
+ _newLocation = 31;
else
- data.byte(kNewlocation) = 23;
+ _newLocation = 23;
data.byte(kCounttoclose) = 20;
data.byte(kCounttoopen) = 0;
data.word(kWatchingtime) = 80;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useElevator3() {
showFirstUse();
data.byte(kCounttoclose) = 20;
- data.byte(kNewlocation) = 34;
+ _newLocation = 34;
data.word(kReeltowatch) = 46;
data.word(kEndwatchreel) = 63;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kWatchingtime) = 80;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useElevator4() {
@@ -281,24 +281,24 @@ void DreamBase::useElevator4() {
data.byte(kSpeedcount) = 1;
data.byte(kCounttoclose) = 20;
data.word(kWatchingtime) = 80;
- data.byte(kGetback) = 1;
- data.byte(kNewlocation) = 24;
+ _getBack = 1;
+ _newLocation = 24;
}
void DreamBase::useElevator5() {
placeSetObject(4);
removeSetObject(0);
- data.byte(kNewlocation) = 20;
+ _newLocation = 20;
data.word(kWatchingtime) = 80;
data.byte(kLiftflag) = 1;
data.byte(kCounttoclose) = 8;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useHatch() {
showFirstUse();
- data.byte(kNewlocation) = 40;
- data.byte(kGetback) = 1;
+ _newLocation = 40;
+ _getBack = 1;
}
void DreamBase::wheelSound() {
@@ -311,22 +311,22 @@ void DreamBase::callHotelLift() {
playChannel1(12);
showFirstUse();
data.byte(kCounttoopen) = 8;
- data.byte(kGetback) = 1;
- data.byte(kDestination) = 5;
- data.byte(kFinaldest) = 5;
+ _getBack = 1;
+ _destination = 5;
+ _finalDest = 5;
autoSetWalk();
turnPathOn(4);
}
void DreamBase::useShield() {
- if (data.byte(kReallocation) != 20 || data.byte(kCombatcount) == 0) {
+ if (_realLocation != 20 || data.byte(kCombatcount) == 0) {
// Not in Sart room
showFirstUse();
putBackObStuff();
} else {
data.byte(kLastweapon) = 3;
showSecondUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kProgresspoints)++;
removeObFromInv();
}
@@ -340,7 +340,7 @@ void DreamBase::useCoveredBox() {
data.word(kEndwatchreel) = 66;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useRailing() {
@@ -350,7 +350,7 @@ void DreamBase::useRailing() {
data.word(kEndwatchreel) = 30;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kMandead) = 4;
}
@@ -362,7 +362,7 @@ void DreamBase::wearWatch() {
} else {
showFirstUse();
data.byte(kWatchon) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
uint8 dummy;
makeWorn((DynObject *)getAnyAd(&dummy, &dummy));
}
@@ -376,7 +376,7 @@ void DreamBase::wearShades() {
} else {
data.byte(kShadeson) = 1;
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
uint8 dummy;
makeWorn((DynObject *)getAnyAd(&dummy, &dummy));
}
@@ -384,7 +384,7 @@ void DreamBase::wearShades() {
void DreamBase::useChurchHole() {
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.word(kWatchingtime) = 28;
data.word(kReeltowatch) = 13;
data.word(kEndwatchreel) = 26;
@@ -406,14 +406,14 @@ void DreamBase::sitDownInBar() {
data.word(kEndofholdreel) = 83;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
}
void DreamBase::useDryer() {
playChannel1(12);
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useBalcony() {
@@ -426,30 +426,30 @@ void DreamBase::useBalcony() {
turnPathOff(4);
turnPathOff(5);
data.byte(kProgresspoints)++;
- data.byte(kManspath) = 6;
- data.byte(kDestination) = 6;
- data.byte(kFinaldest) = 6;
+ _mansPath = 6;
+ _destination = 6;
+ _finalDest = 6;
findXYFromPath();
switchRyanOff();
- data.byte(kResetmanxy) = 1;
+ _resetManXY = 1;
data.word(kWatchingtime) = 30 * 2;
data.word(kReeltowatch) = 183;
data.word(kEndwatchreel) = 212;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useWindow() {
- if (data.byte(kManspath) != 6) {
+ if (_mansPath != 6) {
// Not on balcony
showSecondUse();
putBackObStuff();
} else {
data.byte(kProgresspoints)++;
showFirstUse();
- data.byte(kNewlocation) = 29;
- data.byte(kGetback) = 1;
+ _newLocation = 29;
+ _getBack = 1;
}
}
@@ -460,16 +460,16 @@ void DreamBase::trapDoor() {
data.word(kWatchingtime) = 20 * 2;
data.word(kReeltowatch) = 181;
data.word(kEndwatchreel) = 197;
- data.byte(kNewlocation) = 26;
+ _newLocation = 26;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::callEdensLift() {
showFirstUse();
data.byte(kCounttoopen) = 8;
- data.byte(kGetback) = 1;
+ _getBack = 1;
turnPathOn(2);
}
@@ -481,62 +481,62 @@ void DreamBase::callEdensDLift() {
} else {
showFirstUse();
data.byte(kCounttoopen) = 8;
- data.byte(kGetback) = 1;
+ _getBack = 1;
turnPathOn(2);
}
}
void DreamBase::openYourNeighbour() {
enterCode(255, 255, 255, 255);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openRyan() {
enterCode(5, 1, 0, 6);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openPoolBoss() {
enterCode(5, 2, 2, 2);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openEden() {
enterCode(2, 8, 6, 5);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openSarters() {
enterCode(7, 8, 3, 3);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openLouis() {
enterCode(5, 2, 3, 8);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useWall() {
showFirstUse();
- if (data.byte(kManspath) != 3) {
+ if (_mansPath != 3) {
data.word(kWatchingtime) = 30*2;
data.word(kReeltowatch) = 2;
data.word(kEndwatchreel) = 31;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
turnPathOn(3);
turnPathOn(4);
turnPathOff(0);
turnPathOff(1);
turnPathOff(2);
turnPathOff(5);
- data.byte(kManspath) = 3;
- data.byte(kFinaldest) = 3;
+ _mansPath = 3;
+ _finalDest = 3;
findXYFromPath();
- data.byte(kResetmanxy) = 1;
+ _resetManXY = 1;
switchRyanOff();
} else {
// Go back over
@@ -545,52 +545,52 @@ void DreamBase::useWall() {
data.word(kEndwatchreel) = 60;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
turnPathOff(3);
turnPathOff(4);
turnPathOn(0);
turnPathOn(1);
turnPathOn(2);
turnPathOn(5);
- data.byte(kManspath) = 5;
- data.byte(kFinaldest) = 5;
+ _mansPath = 5;
+ _finalDest = 5;
findXYFromPath();
- data.byte(kResetmanxy) = 1;
+ _resetManXY = 1;
switchRyanOff();
}
}
void DreamBase::useLadder() {
showFirstUse();
- data.byte(kMapx) = data.byte(kMapx) - 11;
+ _mapX = _mapX - 11;
findRoomInLoc();
- data.byte(kFacing) = 6;
- data.byte(kTurntoface) = 6;
- data.byte(kManspath) = 0;
- data.byte(kDestination) = 0;
- data.byte(kFinaldest) = 0;
+ _facing = 6;
+ _turnToFace = 6;
+ _mansPath = 0;
+ _destination = 0;
+ _finalDest = 0;
findXYFromPath();
- data.byte(kResetmanxy) = 1;
- data.byte(kGetback) = 1;
+ _resetManXY = 1;
+ _getBack = 1;
}
void DreamBase::useLadderB() {
showFirstUse();
- data.byte(kMapx) = data.byte(kMapx) + 11;
+ _mapX = _mapX + 11;
findRoomInLoc();
- data.byte(kFacing) = 2;
- data.byte(kTurntoface) = 2;
- data.byte(kManspath) = 1;
- data.byte(kDestination) = 1;
- data.byte(kFinaldest) = 1;
+ _facing = 2;
+ _turnToFace = 2;
+ _mansPath = 1;
+ _destination = 1;
+ _finalDest = 1;
findXYFromPath();
- data.byte(kResetmanxy) = 1;
- data.byte(kGetback) = 1;
+ _resetManXY = 1;
+ _getBack = 1;
}
void DreamBase::slabDoorA() {
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 13;
@@ -604,7 +604,7 @@ void DreamBase::slabDoorA() {
data.byte(kProgresspoints)++;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 42;
- data.byte(kNewlocation) = 47;
+ _newLocation = 47;
}
}
@@ -612,7 +612,7 @@ void DreamBase::slabDoorB() {
if (data.byte(kDreamnumber) != 1) {
// Wrong
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 44;
@@ -629,20 +629,20 @@ void DreamBase::slabDoorB() {
// Got crystal
showFirstUse();
data.byte(kProgresspoints)++;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 44;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 71;
- data.byte(kNewlocation) = 47;
+ _newLocation = 47;
}
}
}
void DreamBase::slabDoorC() {
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 108;
@@ -656,13 +656,13 @@ void DreamBase::slabDoorC() {
data.byte(kProgresspoints)++;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 135;
- data.byte(kNewlocation) = 47;
+ _newLocation = 47;
}
}
void DreamBase::slabDoorD() {
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 75;
@@ -676,13 +676,13 @@ void DreamBase::slabDoorD() {
data.byte(kProgresspoints)++;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 102;
- data.byte(kNewlocation) = 47;
+ _newLocation = 47;
}
}
void DreamBase::slabDoorE() {
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 141;
@@ -696,13 +696,13 @@ void DreamBase::slabDoorE() {
data.byte(kProgresspoints)++;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 168;
- data.byte(kNewlocation) = 47;
+ _newLocation = 47;
}
}
void DreamBase::slabDoorF() {
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
data.word(kReeltowatch) = 171;
@@ -716,17 +716,17 @@ void DreamBase::slabDoorF() {
data.byte(kProgresspoints)++;
data.word(kWatchingtime) = 60;
data.word(kEndwatchreel) = 197;
- data.byte(kNewlocation) = 47;
+ _newLocation = 47;
}
}
bool DreamBase::defaultUseHandler(const char *id) {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return true; // event handled
}
- if (!compare(data.byte(kWithobject), data.byte(kWithtype), id)) {
+ if (!compare(_withObject, _withType, id)) {
// Wrong item
showPuzText(14, 300);
putBackObStuff();
@@ -747,7 +747,7 @@ void DreamBase::useChurchGate() {
data.word(kEndwatchreel) = 70;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kProgresspoints)++;
turnPathOn(3);
if (data.byte(kAidedead) != 0)
@@ -756,78 +756,78 @@ void DreamBase::useChurchGate() {
void DreamBase::useGun() {
- if (data.byte(kObjecttype) != kExObjectType) {
+ if (_objectType != kExObjectType) {
// gun is not taken
showSecondUse();
putBackObStuff();
- } else if (data.byte(kReallocation) == 22) {
+ } else if (_realLocation == 22) {
// in pool room
showPuzText(34, 300);
data.byte(kLastweapon) = 1;
data.byte(kCombatcount) = 39;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kProgresspoints)++;
- } else if (data.byte(kReallocation) == 25) {
+ } else if (_realLocation == 25) {
// helicopter
showPuzText(34, 300);
data.byte(kLastweapon) = 1;
data.byte(kCombatcount) = 19;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kDreamnumber) = 2;
data.byte(kRoomafterdream) = 38;
data.byte(kSartaindead) = 1;
data.byte(kProgresspoints)++;
- } else if (data.byte(kReallocation) == 27) {
+ } else if (_realLocation == 27) {
// in rock room
showPuzText(46, 300);
- data.byte(kPointermode) = 2;
+ _pointerMode = 2;
data.byte(kRockstardead) = 1;
data.byte(kLastweapon) = 1;
data.byte(kNewsitem) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kRoomafterdream) = 32;
data.byte(kDreamnumber) = 0;
data.byte(kProgresspoints)++;
- } else if (data.byte(kReallocation) == 8 && data.byte(kMapx) == 22 && data.byte(kMapy) == 40
- && !isSetObOnMap(92) && data.byte(kManspath) != 9) {
+ } else if (_realLocation == 8 && _mapX == 22 && _mapY == 40
+ && !isSetObOnMap(92) && _mansPath != 9) {
// by studio
- data.byte(kDestination) = 9;
- data.byte(kFinaldest) = 9;
+ _destination = 9;
+ _finalDest = 9;
autoSetWalk();
data.byte(kLastweapon) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kProgresspoints)++;
- } else if (data.byte(kReallocation) == 6 && data.byte(kMapx) == 11 && data.byte(kMapy) == 20
+ } else if (_realLocation == 6 && _mapX == 11 && _mapY == 20
&& isSetObOnMap(5)) {
// sarters
- data.byte(kDestination) = 1;
- data.byte(kFinaldest) = 1;
+ _destination = 1;
+ _finalDest = 1;
autoSetWalk();
removeSetObject(5);
placeSetObject(6);
- turnAnyPathOn(1, data.byte(kRoomnum) - 1);
+ turnAnyPathOn(1, _roomNum - 1);
data.byte(kLiftflag) = 1;
data.word(kWatchingtime) = 40*2;
data.word(kReeltowatch) = 4;
data.word(kEndwatchreel) = 43;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kProgresspoints)++;
- } else if (data.byte(kReallocation) == 29) {
+ } else if (_realLocation == 29) {
// aide
- data.byte(kGetback) = 1;
+ _getBack = 1;
resetLocation(13);
setLocation(12);
- data.byte(kDestpos) = 12;
- data.byte(kDestination) = 2;
- data.byte(kFinaldest) = 2;
+ _destPos = 12;
+ _destination = 2;
+ _finalDest = 2;
autoSetWalk();
data.word(kWatchingtime) = 164*2;
data.word(kReeltowatch) = 3;
@@ -839,25 +839,25 @@ void DreamBase::useGun() {
data.byte(kRoomafterdream) = 33;
data.byte(kProgresspoints)++;
- } else if (data.byte(kReallocation) == 23 && data.byte(kMapx) == 0 && data.byte(kMapy) == 50) {
+ } else if (_realLocation == 23 && _mapX == 0 && _mapY == 50) {
// with boss
- if (data.byte(kManspath) != 5) {
- data.byte(kDestination) = 5;
- data.byte(kFinaldest) = 5;
+ if (_mansPath != 5) {
+ _destination = 5;
+ _finalDest = 5;
autoSetWalk();
}
data.byte(kLastweapon) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
- } else if (data.byte(kReallocation) == 8 && data.byte(kMapx) == 11 && data.byte(kMapy) == 10) {
+ } else if (_realLocation == 8 && _mapX == 11 && _mapY == 10) {
// tv soldier
- if (data.byte(kManspath) != 2) {
- data.byte(kDestination) = 2;
- data.byte(kFinaldest) = 2;
+ if (_mansPath != 2) {
+ _destination = 2;
+ _finalDest = 2;
autoSetWalk();
}
data.byte(kLastweapon) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
} else {
showFirstUse();
@@ -867,20 +867,20 @@ void DreamBase::useGun() {
void DreamBase::useFullCart() {
data.byte(kProgresspoints)++;
- turnAnyPathOn(2, data.byte(kRoomnum) + 6);
- data.byte(kManspath) = 4;
- data.byte(kFacing) = 4;
- data.byte(kTurntoface) = 4;
- data.byte(kFinaldest) = 4;
+ turnAnyPathOn(2, _roomNum + 6);
+ _mansPath = 4;
+ _facing = 4;
+ _turnToFace = 4;
+ _finalDest = 4;
findXYFromPath();
- data.byte(kResetmanxy) = 1;
+ _resetManXY = 1;
showFirstUse();
data.word(kWatchingtime) = 72 * 2;
data.word(kReeltowatch) = 58;
data.word(kEndwatchreel) = 142;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useClearBox() {
@@ -895,7 +895,7 @@ void DreamBase::useClearBox() {
data.word(kEndwatchreel) = 105;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openTVDoor() {
@@ -905,16 +905,16 @@ void DreamBase::openTVDoor() {
// Key on TV
showFirstUse();
data.byte(kLockstatus) = 0;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::usePlate() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "SCRW")) {
+ if (compare(_withObject, _withType, "SCRW")) {
// Unscrew plate
playChannel1(20);
showFirstUse();
@@ -923,8 +923,8 @@ void DreamBase::usePlate() {
removeSetObject(25);
placeFreeObject(0);
data.byte(kProgresspoints)++;
- data.byte(kGetback) = 1;
- } else if (compare(data.byte(kWithobject), data.byte(kWithtype), "KNFE")) {
+ _getBack = 1;
+ } else if (compare(_withObject, _withType, "KNFE")) {
// Tried knife
showPuzText(54, 300);
putBackObStuff();
@@ -936,12 +936,12 @@ void DreamBase::usePlate() {
}
void DreamBase::usePlinth() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (!compare(data.byte(kWithobject), data.byte(kWithtype), "DKEY")) {
+ if (!compare(_withObject, _withType, "DKEY")) {
// Wrong key
showFirstUse();
putBackObStuff();
@@ -953,8 +953,8 @@ void DreamBase::usePlinth() {
data.word(kEndwatchreel) = 104;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
- data.byte(kNewlocation) = data.byte(kRoomafterdream);
+ _getBack = 1;
+ _newLocation = data.byte(kRoomafterdream);
}
}
@@ -970,21 +970,21 @@ void DreamBase::useElvDoor() {
data.word(kEndwatchreel) = 77;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useObject() {
- data.byte(kWithobject) = 255;
+ _withObject = 255;
- if (data.byte(kCommandtype) != 229) {
- data.byte(kCommandtype) = 229;
- commandWithOb(51, data.byte(kObjecttype), data.byte(kCommand));
+ if (_commandType != 229) {
+ _commandType = 229;
+ commandWithOb(51, _objectType, _command);
}
- if (data.word(kMousebutton) == data.word(kOldbutton))
+ if (_mouseButton == _oldButton)
return; // nouse
- if (data.word(kMousebutton) & 1)
+ if (_mouseButton & 1)
useRoutine();
}
@@ -1002,13 +1002,13 @@ void DreamBase::useWinch() {
data.word(kEndwatchreel) = 217;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kDestpos) = 1;
- data.byte(kNewlocation) = 45;
+ _destPos = 1;
+ _newLocation = 45;
data.byte(kDreamnumber) = 1;
data.byte(kRoomafterdream) = 44;
data.byte(kGeneraldead) = 1;
data.byte(kNewsitem) = 2;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kProgresspoints)++;
}
@@ -1016,14 +1016,14 @@ void DreamBase::useCart() {
if (defaultUseHandler("ROCK"))
return;
- DynObject *exObject = getExAd(data.byte(kWithobject));
+ DynObject *exObject = getExAd(_withObject);
exObject->mapad[0] = 0;
- removeSetObject(data.byte(kCommand));
- placeSetObject(data.byte(kCommand) + 1);
+ removeSetObject(_command);
+ placeSetObject(_command + 1);
data.byte(kProgresspoints)++;
playChannel1(17);
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useTrainer() {
@@ -1045,7 +1045,7 @@ void DreamBase::chewy() {
uint8 dummy;
DynObject *object = (DynObject *)getAnyAd(&dummy, &dummy);
object->mapad[0] = 255;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useHole() {
@@ -1054,10 +1054,10 @@ void DreamBase::useHole() {
showFirstUse();
removeSetObject(86);
- DynObject *exObject = getExAd(data.byte(kWithobject));
+ DynObject *exObject = getExAd(_withObject);
exObject->mapad[0] = 255;
data.byte(kCanmovealtar) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openHotelDoor() {
@@ -1067,7 +1067,7 @@ void DreamBase::openHotelDoor() {
playChannel1(16);
showFirstUse();
data.byte(kLockstatus) = 0;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::openHotelDoor2() {
@@ -1099,7 +1099,7 @@ void DreamBase::usePoolReader() {
playChannel1(17);
showFirstUse();
data.byte(kCounttoopen) = 6;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
}
@@ -1121,7 +1121,7 @@ void DreamBase::useCardReader1() {
showPuzText(18, 300);
data.byte(kProgresspoints)++;
data.word(kCard1money) = 12432;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
}
@@ -1148,7 +1148,7 @@ void DreamBase::useCardReader2() {
data.byte(kGunpassflag) = 1;
data.word(kCard1money) -= 2000;
data.byte(kProgresspoints)++;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
}
@@ -1170,43 +1170,43 @@ void DreamBase::useCardReader3() {
data.byte(kProgresspoints)++;
data.word(kCard1money) -= 8300;
data.byte(kCardpassflag) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
}
void DreamBase::useLighter() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (!compare(data.byte(kWithobject), data.byte(kWithtype), "SMKE")) {
+ if (!compare(_withObject, _withType, "SMKE")) {
showFirstUse();
putBackObStuff();
} else {
showPuzText(9, 300);
- DynObject *withObj = getExAd(data.byte(kWithobject));
+ DynObject *withObj = getExAd(_withObject);
withObj->mapad[0] = 255;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
}
void DreamBase::useWire() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "KNFE")) {
+ if (compare(_withObject, _withType, "KNFE")) {
removeSetObject(51);
placeSetObject(52);
showPuzText(11, 300);
data.byte(kProgresspoints)++;
- data.byte(kGetback) = 1;
+ _getBack = 1;
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "AXED")) {
+ if (compare(_withObject, _withType, "AXED")) {
showPuzText(16, 300);
putBackObStuff();
return;
@@ -1224,11 +1224,11 @@ void DreamBase::openTomb() {
data.word(kEndwatchreel) = 33;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::hotelControl() {
- if (data.byte(kReallocation) != 21 || data.byte(kMapx) != 33)
+ if (_realLocation != 21 || _mapX != 33)
showSecondUse(); // Not right control
else
showFirstUse();
@@ -1237,7 +1237,7 @@ void DreamBase::hotelControl() {
}
void DreamBase::useCooker() {
- if (checkInside(data.byte(kCommand), data.byte(kObjecttype)) == kNumexobjects)
+ if (checkInside(_command, _objectType) == kNumexobjects)
showFirstUse();
else
showSecondUse(); // Food inside
@@ -1268,7 +1268,7 @@ void DreamBase::useDiary() {
showPointer();
workToScreen();
delPointer();
- data.byte(kGetback) = 0;
+ _getBack = 0;
RectWithCallback<DreamBase> diaryList[] = {
{ kDiaryx+94,kDiaryx+110,kDiaryy+97,kDiaryy+113,&DreamBase::diaryKeyN },
@@ -1288,43 +1288,43 @@ void DreamBase::useDiary() {
dumpDiaryKeys();
dumpTextLine();
checkCoords(diaryList);
- } while (!data.byte(kGetback) && !_quitRequested);
+ } while (!_getBack && !_quitRequested);
getRidOfTemp();
getRidOfTempText();
getRidOfTempCharset();
restoreReels();
- data.byte(kManisoffscreen) = 0;
+ _manIsOffScreen = 0;
redrawMainScrn();
workToScreenM();
}
void DreamBase::useControl() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "KEYA")) { // Right key
+ if (compare(_withObject, _withType, "KEYA")) { // Right key
playChannel1(16);
if (data.byte(kLocation) == 21) { // Going down
showPuzText(3, 300);
- data.byte(kNewlocation) = 30;
+ _newLocation = 30;
} else {
showPuzText(0, 300);
- data.byte(kNewlocation) = 21;
+ _newLocation = 21;
}
data.byte(kCounttoclose) = 8;
data.byte(kCounttoopen) = 0;
data.word(kWatchingtime) = 80;
- data.byte(kGetback) = 1;
+ _getBack = 1;
return;
}
- if (data.byte(kReallocation) == 21) {
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "KNFE")) {
+ if (_realLocation == 21) {
+ if (compare(_withObject, _withType, "KNFE")) {
// Jimmy controls
placeSetObject(50);
placeSetObject(51);
@@ -1335,8 +1335,8 @@ void DreamBase::useControl() {
playChannel1(14);
showPuzText(10, 300);
data.byte(kProgresspoints)++;
- data.byte(kGetback) = 1;
- } else if (compare(data.byte(kWithobject), data.byte(kWithtype), "AXED")) {
+ _getBack = 1;
+ } else if (compare(_withObject, _withType, "AXED")) {
// Axe on controls
showPuzText(16, 300);
data.byte(kProgresspoints)++;
@@ -1354,23 +1354,23 @@ void DreamBase::useControl() {
}
void DreamBase::useSlab() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (!compare(data.byte(kWithobject), data.byte(kWithtype), "JEWL")) {
+ if (!compare(_withObject, _withType, "JEWL")) {
showPuzText(14, 300);
putBackObStuff();
return;
}
- DynObject *exObject = getExAd(data.byte(kWithobject));
+ DynObject *exObject = getExAd(_withObject);
exObject->mapad[0] = 0;
- removeSetObject(data.byte(kCommand));
- placeSetObject(data.byte(kCommand) + 1);
- if (data.byte(kCommand) + 1 == 54) {
+ removeSetObject(_command);
+ placeSetObject(_command + 1);
+ if (_command + 1 == 54) {
// Last slab
turnPathOn(0);
data.word(kWatchingtime) = 22;
@@ -1382,23 +1382,23 @@ void DreamBase::useSlab() {
data.byte(kProgresspoints)++;
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::usePipe() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "CUPE")) {
+ if (compare(_withObject, _withType, "CUPE")) {
// Fill cup
showPuzText(36, 300);
putBackObStuff();
- DynObject *exObject = getExAd(data.byte(kWithobject));
+ DynObject *exObject = getExAd(_withObject);
exObject->id[3] = 'F'-'A'; // CUPE (empty cup) -> CUPF (full cup)
return;
- } else if (compare(data.byte(kWithobject), data.byte(kWithtype), "CUPF")) {
+ } else if (compare(_withObject, _withType, "CUPF")) {
// Already full
showPuzText(35, 300);
putBackObStuff();
@@ -1409,16 +1409,16 @@ void DreamBase::usePipe() {
}
void DreamBase::useOpenBox() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "CUPF")) {
+ if (compare(_withObject, _withType, "CUPF")) {
// Destroy open box
data.byte(kProgresspoints)++;
showPuzText(37, 300);
- DynObject *exObject = getExAd(data.byte(kWithobject));
+ DynObject *exObject = getExAd(_withObject);
exObject->id[3] = 'E'-'A'; // CUPF (full cup) -> CUPE (empty cup)
data.word(kWatchingtime) = 140;
data.word(kReeltowatch) = 105;
@@ -1426,11 +1426,11 @@ void DreamBase::useOpenBox() {
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
turnPathOn(4);
- data.byte(kGetback) = 1;
+ _getBack = 1;
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "CUPE")) {
+ if (compare(_withObject, _withType, "CUPE")) {
// Open box wrong
showPuzText(38, 300);
putBackObStuff();
@@ -1441,14 +1441,14 @@ void DreamBase::useOpenBox() {
}
void DreamBase::runTap() {
- if (data.byte(kWithobject) == 255) {
+ if (_withObject == 255) {
withWhat();
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "CUPE")) {
+ if (compare(_withObject, _withType, "CUPE")) {
// Fill cup from tap
- DynObject *exObject = getExAd(data.byte(kWithobject));
+ DynObject *exObject = getExAd(_withObject);
exObject->id[3] = 'F'-'A'; // CUPE (empty cup) -> CUPF (full cup)
playChannel1(8);
showPuzText(57, 300);
@@ -1456,7 +1456,7 @@ void DreamBase::runTap() {
return;
}
- if (compare(data.byte(kWithobject), data.byte(kWithtype), "CUPF")) {
+ if (compare(_withObject, _withType, "CUPF")) {
// Cup from tap full
showPuzText(58, 300);
putBackObStuff();
@@ -1468,13 +1468,13 @@ void DreamBase::runTap() {
}
void DreamBase::useAxe() {
- if (data.byte(kReallocation) != 22) {
+ if (_realLocation != 22) {
// Not in pool
showFirstUse();
return;
}
- if (data.byte(kMapy) == 10) {
+ if (_mapY == 10) {
// Axe on door
showPuzText(15, 300);
data.byte(kProgresspoints)++;
@@ -1483,14 +1483,14 @@ void DreamBase::useAxe() {
data.word(kEndwatchreel) = 77;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
return;
}
showSecondUse();
data.byte(kProgresspoints)++;
data.byte(kLastweapon) = 2;
- data.byte(kGetback) = 1;
+ _getBack = 1;
removeObFromInv();
}
@@ -1502,17 +1502,17 @@ void DreamBase::useHandle() {
} else {
// Wire has been cut
showPuzText(13, 300);
- data.byte(kNewlocation) = 22;
+ _newLocation = 22;
}
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
void DreamBase::useAltar() {
if (findExObject("CNDA") == 114 || findExObject("CNDB") == 114) {
// Things on altar
showFirstUse();
- data.byte(kGetback) = 1;
+ _getBack = 1;
return;
}
@@ -1526,10 +1526,10 @@ void DreamBase::useAltar() {
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
DreamBase::setupTimedUse(47, 32, 98, 52, 76);
- data.byte(kGetback) = 1;
+ _getBack = 1;
} else {
showPuzText(23, 300);
- data.byte(kGetback) = 1;
+ _getBack = 1;
}
}
@@ -1541,19 +1541,19 @@ void DreamBase::withWhat() {
showMan();
showExit();
- copyName(data.byte(kObjecttype), data.byte(kCommand), commandLine);
+ copyName(_objectType, _command, commandLine);
printMessage2(100, 21, 63, 200, false, 2);
- uint16 x = data.word(kLastxpos) + 5;
+ uint16 x = _lastXPos + 5;
printDirect(commandLine, x, 21, 220, false);
- printMessage2(data.word(kLastxpos) + 5, 21, 63, 200, false, 3);
+ printMessage2(_lastXPos + 5, 21, 63, 200, false, 3);
fillRyan();
- data.byte(kCommandtype) = 255;
+ _commandType = 255;
readMouse();
showPointer();
workToScreen();
delPointer();
- data.byte(kInvopen) = 2;
+ _invOpen = 2;
}
void DreamBase::notHeldError() {
@@ -1584,12 +1584,12 @@ void DreamBase::useCashCard() {
printDirect(&obText, 36, &y, 36, 36 & 1);
char amountStr[10];
sprintf(amountStr, "%04d", data.word(kCard1money) / 10);
- data.word(kCharshift) = 91 * 2 + 75;
+ _charShift = 91 * 2 + 75;
printDirect((const uint8 *)amountStr, 160, 155, 240, 240 & 1);
sprintf(amountStr, "%02d", (data.word(kCard1money) % 10) * 10);
- data.word(kCharshift) = 91 * 2 + 85;
+ _charShift = 91 * 2 + 85;
printDirect((const uint8 *)amountStr, 187, 155, 240, 240 & 1);
- data.word(kCharshift) = 0;
+ _charShift = 0;
workToScreenM();
hangOnP(400);
getRidOfTemp();
@@ -1604,7 +1604,7 @@ void DreamBase::useStereo() {
if (data.byte(kLocation) != 0) {
showPuzText(4, 400);
putBackObStuff();
- } else if (data.byte(kMapx) != 11) {
+ } else if (_mapX != 11) {
showPuzText(5, 400);
putBackObStuff();
} else if (checkInside(findSetObject("CDPL"), 1) == kNumexobjects) {
@@ -1653,7 +1653,7 @@ void DreamBase::showPuzText(uint16 command, uint16 count) {
void DreamBase::useButtonA() {
if (!isSetObOnMap(95)) {
showFirstUse();
- turnAnyPathOn(0, data.byte(kRoomnum) - 1);
+ turnAnyPathOn(0, _roomNum - 1);
removeSetObject(9);
placeSetObject(95);
data.word(kWatchingtime) = 15 * 2;
@@ -1661,7 +1661,7 @@ void DreamBase::useButtonA() {
data.word(kEndwatchreel) = 85;
data.byte(kWatchspeed) = 1;
data.byte(kSpeedcount) = 1;
- data.byte(kGetback) = 1;
+ _getBack = 1;
data.byte(kProgresspoints)++;
} else {
// Done this bit
diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp
index 3833050003..8359518f61 100644
--- a/engines/dreamweb/vgafades.cpp
+++ b/engines/dreamweb/vgafades.cpp
@@ -67,21 +67,21 @@ void DreamBase::fadeDOS() {
}
void DreamBase::doFade() {
- if (data.byte(kFadedirection) == 0)
+ if (_fadeDirection == 0)
return;
engine->processEvents();
- uint8 *src = _startPal + 3 * data.byte(kColourpos);
- engine->setPalette(src, data.byte(kColourpos), data.byte(kNumtofade));
+ uint8 *src = _startPal + 3 * _colourPos;
+ engine->setPalette(src, _colourPos, _numToFade);
- data.byte(kColourpos) += data.byte(kNumtofade);
- if (data.byte(kColourpos) == 0)
+ _colourPos += _numToFade;
+ if (_colourPos == 0)
fadeCalculation();
}
void DreamBase::fadeCalculation() {
- if (data.byte(kFadecount) == 0) {
- data.byte(kFadedirection) = 0;
+ if (_fadeCount == 0) {
+ _fadeDirection = 0;
return;
}
@@ -95,21 +95,21 @@ void DreamBase::fadeCalculation() {
else if (s > e)
--startPal[i];
else {
- if (data.byte(kFadecount) <= e)
+ if (_fadeCount <= e)
++startPal[i];
}
}
- --data.byte(kFadecount);
+ --_fadeCount;
}
void DreamBase::fadeUpYellows() {
palToEndPal();
memset(_endPal + 231 * 3, 0, 8 * 3);
memset(_endPal + 246 * 3, 0, 1 * 3);
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
hangOn(128);
}
@@ -118,10 +118,10 @@ void DreamBase::fadeUpMonFirst() {
palToEndPal();
memset(_startPal + 231 * 3, 0, 8 * 3);
memset(_startPal + 246 * 3, 0, 1 * 3);
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
hangOn(64);
playChannel1(26);
hangOn(64);
@@ -133,10 +133,10 @@ void DreamBase::fadeDownMon() {
palToEndPal();
memset(_endPal + 231 * 3, 0, 8 * 3);
memset(_endPal + 246 * 3, 0, 1 * 3);
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
hangOn(64);
}
@@ -145,10 +145,10 @@ void DreamBase::fadeUpMon() {
palToEndPal();
memset(_startPal + 231 * 3, 0, 8 * 3);
memset(_startPal + 246 * 3, 0, 1 * 3);
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
hangOn(128);
}
@@ -163,46 +163,46 @@ void DreamBase::initialMonCols() {
void DreamBase::fadeScreenUp() {
clearStartPal();
palToEndPal();
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
}
void DreamBase::fadeScreenUps() {
clearStartPal();
palToEndPal();
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 64;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 64;
}
void DreamBase::fadeScreenUpHalf() {
endPalToStart();
palToEndPal();
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 31;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 32;
+ _fadeDirection = 1;
+ _fadeCount = 31;
+ _colourPos = 0;
+ _numToFade = 32;
}
void DreamBase::fadeScreenDown() {
palToStartPal();
clearEndPal();
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 128;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 128;
}
void DreamBase::fadeScreenDowns() {
palToStartPal();
clearEndPal();
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 63;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 64;
+ _fadeDirection = 1;
+ _fadeCount = 63;
+ _colourPos = 0;
+ _numToFade = 64;
}
void DreamBase::fadeScreenDownHalf() {
@@ -219,15 +219,15 @@ void DreamBase::fadeScreenDownHalf() {
memcpy(endPal + (56*3), startPal + (56*3), 3*5);
memcpy(endPal + (77*3), startPal + (77*3), 3*2);
- data.byte(kFadedirection) = 1;
- data.byte(kFadecount) = 31;
- data.byte(kColourpos) = 0;
- data.byte(kNumtofade) = 32;
+ _fadeDirection = 1;
+ _fadeCount = 31;
+ _colourPos = 0;
+ _numToFade = 32;
}
void DreamBase::clearPalette() {
- data.byte(kFadedirection) = 0;
+ _fadeDirection = 0;
clearStartPal();
dumpCurrent();
}
@@ -247,17 +247,17 @@ void DreamBase::greyscaleSum() {
tmp = grey;
//if (tmp != 0) // FIXME: The assembler code has this check commented out. Bug or feature?
- tmp += data.byte(kAddtored);
+ tmp += _addToRed;
*dst++ = tmp;
tmp = grey;
if (tmp != 0)
- tmp += data.byte(kAddtogreen);
+ tmp += _addToGreen;
*dst++ = tmp;
tmp = grey;
if (tmp != 0)
- tmp += data.byte(kAddtoblue);
+ tmp += _addToBlue;
*dst++ = tmp;
}
}
diff --git a/engines/dreamweb/vgagrafx.cpp b/engines/dreamweb/vgagrafx.cpp
index 5096db8a00..ad5fd34d58 100644
--- a/engines/dreamweb/vgagrafx.cpp
+++ b/engines/dreamweb/vgagrafx.cpp
@@ -287,7 +287,7 @@ void DreamBase::showFrameInternal(const uint8 *pSrc, uint16 x, uint16 y, uint8 e
*/
}
if (effectsFlag & 8) { // printList
- //addToPrintList(x - data.word(kMapadx), y - data.word(kMapady)); // NB: Commented in the original asm
+ //addToPrintList(x - _mapAdX, y - _mapAdY); // NB: Commented in the original asm
}
if (effectsFlag & 4) { // flippedX
frameOutFx(workspace(), pSrc, 320, width, height, x, y);
@@ -337,11 +337,11 @@ void DreamBase::zoom() {
return;
if (data.byte(kZoomon) != 1)
return;
- if (data.byte(kCommandtype) >= 199) {
+ if (_commandType >= 199) {
putUnderZoom();
return;
}
- uint16 srcOffset = (data.word(kOldpointery) - 9) * 320 + (data.word(kOldpointerx) - 11);
+ uint16 srcOffset = (_oldPointerY - 9) * 320 + (_oldPointerX - 11);
uint16 dstOffset = (kZoomy + 4) * 320 + (kZoomx + 5);
const uint8 *src = workspace() + srcOffset;
uint8 *dst = workspace() + dstOffset;
@@ -357,19 +357,19 @@ void DreamBase::zoom() {
dst += 320*2;
}
crosshair();
- data.byte(kDidzoom) = 1;
+ _didZoom = 1;
}
void DreamBase::panelToMap() {
- multiGet(_mapStore, data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize));
+ multiGet(_mapStore, _mapXStart + _mapAdX, _mapYStart + _mapAdY, _mapXSize, _mapYSize);
}
void DreamBase::mapToPanel() {
- multiPut(_mapStore, data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize));
+ multiPut(_mapStore, _mapXStart + _mapAdX, _mapYStart + _mapAdY, _mapXSize, _mapYSize);
}
void DreamBase::dumpMap() {
- multiDump(data.word(kMapxstart) + data.word(kMapadx), data.word(kMapystart) + data.word(kMapady), data.byte(kMapxsize), data.byte(kMapysize));
+ multiDump(_mapXStart + _mapAdX, _mapYStart + _mapAdY, _mapXSize, _mapYSize);
}
bool DreamBase::pixelCheckSet(const ObjPos *pos, uint8 x, uint8 y) {
@@ -392,7 +392,7 @@ void DreamBase::loadPalFromIFF() {
uint8 *dst = _mainPal;
for (size_t i = 0; i < 256*3; ++i) {
uint8 c = src[i] / 4;
- if (data.byte(kBrightness) == 1) {
+ if (_brightness == 1) {
if (c) {
c = c + c / 2 + c / 4;
if (c > 63)