diff options
Diffstat (limited to 'engines/dreamweb')
-rw-r--r-- | engines/dreamweb/backdrop.cpp | 38 | ||||
-rw-r--r-- | engines/dreamweb/dreambase.h | 143 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 30 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 177 | ||||
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 157 | ||||
-rw-r--r-- | engines/dreamweb/keypad.cpp | 76 | ||||
-rw-r--r-- | engines/dreamweb/monitor.cpp | 100 | ||||
-rw-r--r-- | engines/dreamweb/newplace.cpp | 90 | ||||
-rw-r--r-- | engines/dreamweb/object.cpp | 410 | ||||
-rw-r--r-- | engines/dreamweb/pathfind.cpp | 112 | ||||
-rw-r--r-- | engines/dreamweb/people.cpp | 132 | ||||
-rw-r--r-- | engines/dreamweb/print.cpp | 50 | ||||
-rw-r--r-- | engines/dreamweb/saveload.cpp | 234 | ||||
-rw-r--r-- | engines/dreamweb/sprite.cpp | 274 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 1052 | ||||
-rw-r--r-- | engines/dreamweb/talk.cpp | 82 | ||||
-rw-r--r-- | engines/dreamweb/titles.cpp | 142 | ||||
-rw-r--r-- | engines/dreamweb/use.cpp | 456 | ||||
-rw-r--r-- | engines/dreamweb/vgafades.cpp | 106 | ||||
-rw-r--r-- | engines/dreamweb/vgagrafx.cpp | 16 |
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) |