aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdevtools/tasmrecover/tasm-recover25
-rw-r--r--engines/dreamweb/dreambase.h3
-rw-r--r--engines/dreamweb/dreamgen.cpp60
-rw-r--r--engines/dreamweb/dreamgen.h387
-rw-r--r--engines/dreamweb/keypad.cpp6
5 files changed, 240 insertions, 241 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 1f39fcfea6..9a46fb6151 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -52,6 +52,8 @@ p = parser(skip_binary_data = [
'openchangesize',
'roompics',
'roomscango',
+ 'oplist',
+ 'presslist',
# keypad.asm
'keypadlist',
'symbollist',
@@ -184,6 +186,29 @@ p = parser(skip_binary_data = [
'savesource',
'savex',
'savey',
+ 'persondata',
+ 'talknum',
+ 'saidno',
+ 'prioritydep',
+ 'currentkey2',
+ 'mustload',
+ 'answered',
+ 'slotdata',
+ 'thisslot',
+ 'slotflags',
+ 'numberinroom',
+ 'currentcel',
+ 'oldselection',
+ 'stopwalking',
+ 'mouseon',
+ 'played',
+ 'timer1',
+ 'timer2',
+ 'timer3',
+ 'wholetimer',
+ 'timer1to',
+ 'timer2to',
+ 'timer3to',
# vgagrafx.asm
'cityname',
'extragraphics1',
diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h
index c96604a263..ab0843663a 100644
--- a/engines/dreamweb/dreambase.h
+++ b/engines/dreamweb/dreambase.h
@@ -61,6 +61,9 @@ class DreamBase : public SegmentManager {
protected:
DreamWeb::DreamWebEngine *engine;
+ // from keypad.cpp
+ uint8 _pressList[6];
+
// from newplace.cpp
uint8 _roomsCanGo[16];
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 2d58aea6c5..66438cfd04 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -367,7 +367,7 @@ dirroot:
si = offset_rootdir;
_inc(si);
es = cs;
- di = 462;
+ di = 436;
_inc(di);
cx = 12;
_movsb(cx, true);
@@ -396,7 +396,7 @@ void DreamGenContext::read() {
return;
okcom:
es = cs;
- di = 462;
+ di = 436;
ax = data.word(kTextfile1);
data.word(kMonsource) = ax;
ds = ax;
@@ -526,7 +526,7 @@ keyok2:
ds = cs;
si = offset_operand1+1;
es = cs;
- di = 462+1;
+ di = 436+1;
cx = 12;
_movsb(cx, true);
monitorLogo();
@@ -608,7 +608,7 @@ void DreamGenContext::parser() {
al = '=';
_stosb();
ds = cs;
- si = 540;
+ si = 511;
notspace1:
_lodsw();
_cmp(al, 32);
@@ -658,12 +658,12 @@ void DreamGenContext::__start() {
//0x0080: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0090: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00,
- //0x00c0: .... .... ... ...
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 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,
@@ -678,30 +678,30 @@ void DreamGenContext::__start() {
//0x0120: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0130: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
//0x0140: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
- //0x0150: .... .... .... ....
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ //0x0150: .... .... .... ....
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00,
//0x0160: .... .... .... ....
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0170: .... .... .... ....
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0180: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
- //0x0190: .... .... .... ....
- 0x00, 0x00, 0x00, 0xff, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39,
- //0x01a0: .... .DRE AMWE B.V9
- 0x39, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
- //0x01b0: 9. .
- 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20,
- //0x01c0: "ROO T ."
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x0d, 0x0a, 0x0d, 0x0a,
- //0x01d0: . ....
- 0x24, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- //0x01e0: $... .... .... ....
- 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x01f0: .... .... .D:. ....
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
+ //0x0180: .... .... ...D REAM
+ 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x0190: WEB. V99.
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x01a0: ."R OOT
+ 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x01b0: . "
+ 0x20, 0x00, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01,
+ //0x01c0: ... ..$. .... ....
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44,
+ //0x01d0: .... .... .... ...D
+ 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ //0x01e0: :... .... .... ....
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ //0x01f0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0200: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -718,11 +718,7 @@ void DreamGenContext::__start() {
//0x0260: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0270: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0280: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- //0x0290: .... .... .... ....
- 0xff, 0xff, 0x00, 0x00, 0x00, };
+ 0x00, 0x00, };
ds.assign(src, src + sizeof(src));
dreamweb();
}
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 3da65cf189..a292384826 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -32,8 +32,8 @@
namespace DreamGen {
-static const uint16 offset_operand1 = 0x01b2;
-static const uint16 offset_rootdir = 0x01c0;
+static const uint16 offset_rootdir = 0x01a6;
+static const uint16 offset_operand1 = 0x0198;
static const uint16 kStartvars = 0;
static const uint16 kProgresspoints = 1;
static const uint16 kWatchon = 2;
@@ -147,210 +147,185 @@ static const uint16 kArrowad = 139;
static const uint16 kCurrentkey = 141;
static const uint16 kOldkey = 142;
static const uint16 kUseddirection = 143;
-static const uint16 kCurrentkey2 = 144;
-static const uint16 kTimercount = 145;
-static const uint16 kOldtimercount = 146;
-static const uint16 kMapx = 147;
-static const uint16 kMapy = 148;
-static const uint16 kNewscreen = 149;
-static const uint16 kRyanx = 150;
-static const uint16 kRyany = 151;
-static const uint16 kLastflag = 152;
-static const uint16 kOffsetx = 153;
-static const uint16 kOffsety = 155;
-static const uint16 kCurrentob = 157;
-static const uint16 kPrioritydep = 158;
-static const uint16 kDestpos = 159;
-static const uint16 kReallocation = 160;
-static const uint16 kRoomnum = 161;
-static const uint16 kNowinnewroom = 162;
-static const uint16 kResetmanxy = 163;
-static const uint16 kNewlocation = 164;
-static const uint16 kAutolocation = 165;
-static const uint16 kMustload = 166;
-static const uint16 kAnswered = 167;
-static const uint16 kSaidno = 168;
-static const uint16 kDoorcheck1 = 169;
-static const uint16 kDoorcheck2 = 170;
-static const uint16 kDoorcheck3 = 171;
-static const uint16 kDoorcheck4 = 172;
-static const uint16 kMousex = 173;
-static const uint16 kMousey = 175;
-static const uint16 kMousebutton = 177;
-static const uint16 kMousebutton1 = 179;
-static const uint16 kMousebutton2 = 181;
-static const uint16 kMousebutton3 = 183;
-static const uint16 kMousebutton4 = 185;
-static const uint16 kOldbutton = 187;
-static const uint16 kOldx = 189;
-static const uint16 kOldy = 191;
-static const uint16 kLastbutton = 193;
-static const uint16 kOldpointerx = 195;
-static const uint16 kOldpointery = 197;
-static const uint16 kDelherex = 199;
-static const uint16 kDelherey = 201;
-static const uint16 kPointerxs = 203;
-static const uint16 kPointerys = 204;
-static const uint16 kDelxs = 205;
-static const uint16 kDelys = 206;
-static const uint16 kPointerframe = 207;
-static const uint16 kPointerpower = 208;
-static const uint16 kAuxpointerframe = 209;
-static const uint16 kPointermode = 210;
-static const uint16 kPointerspeed = 211;
-static const uint16 kPointercount = 212;
-static const uint16 kInmaparea = 213;
-static const uint16 kSlotdata = 214;
-static const uint16 kThisslot = 215;
-static const uint16 kSlotflags = 216;
-static const uint16 kTalkmode = 217;
-static const uint16 kTalkpos = 218;
-static const uint16 kCharacter = 219;
-static const uint16 kPersondata = 220;
-static const uint16 kTalknum = 222;
-static const uint16 kNumberinroom = 223;
-static const uint16 kCurrentcel = 224;
-static const uint16 kOldselection = 225;
-static const uint16 kStopwalking = 226;
-static const uint16 kMouseon = 227;
-static const uint16 kPlayed = 228;
-static const uint16 kTimer1 = 230;
-static const uint16 kTimer2 = 231;
-static const uint16 kTimer3 = 232;
-static const uint16 kWholetimer = 233;
-static const uint16 kTimer1to = 235;
-static const uint16 kTimer2to = 236;
-static const uint16 kTimer3to = 237;
-static const uint16 kWatchdump = 238;
-static const uint16 kLogonum = 239;
-static const uint16 kOldlogonum = 240;
-static const uint16 kNetseg = 241;
-static const uint16 kNetpoint = 243;
-static const uint16 kCursorstate = 245;
-static const uint16 kPressed = 246;
-static const uint16 kPresspointer = 247;
-static const uint16 kGraphicpress = 249;
-static const uint16 kPresscount = 250;
-static const uint16 kLightcount = 251;
-static const uint16 kFolderpage = 252;
-static const uint16 kDiarypage = 253;
-static const uint16 kMenucount = 254;
-static const uint16 kSymboltopx = 255;
-static const uint16 kSymboltopnum = 256;
-static const uint16 kSymboltopdir = 257;
-static const uint16 kSymbolbotx = 258;
-static const uint16 kSymbolbotnum = 259;
-static const uint16 kSymbolbotdir = 260;
-static const uint16 kSymboltolight = 261;
-static const uint16 kSymbol1 = 262;
-static const uint16 kSymbol2 = 263;
-static const uint16 kSymbol3 = 264;
-static const uint16 kSymbolnum = 265;
-static const uint16 kDumpx = 266;
-static const uint16 kDumpy = 268;
-static const uint16 kWalkandexam = 270;
-static const uint16 kWalkexamtype = 271;
-static const uint16 kWalkexamnum = 272;
-static const uint16 kCurslocx = 273;
-static const uint16 kCurslocy = 275;
-static const uint16 kCurpos = 277;
-static const uint16 kMonadx = 279;
-static const uint16 kMonady = 281;
-static const uint16 kMonsource = 283;
-static const uint16 kNumtodo = 285;
-static const uint16 kTimecount = 287;
-static const uint16 kCounttotimed = 289;
-static const uint16 kTimedseg = 291;
-static const uint16 kTimedoffset = 293;
-static const uint16 kTimedy = 295;
-static const uint16 kTimedx = 296;
-static const uint16 kNeedtodumptimed = 297;
-static const uint16 kLoadingorsave = 298;
-static const uint16 kCurrentslot = 299;
-static const uint16 kCursorpos = 300;
-static const uint16 kColourpos = 301;
-static const uint16 kFadedirection = 302;
-static const uint16 kNumtofade = 303;
-static const uint16 kFadecount = 304;
-static const uint16 kAddtogreen = 305;
-static const uint16 kAddtored = 306;
-static const uint16 kAddtoblue = 307;
-static const uint16 kLastsoundreel = 308;
-static const uint16 kSpeechloaded = 310;
-static const uint16 kSpeechlength = 311;
-static const uint16 kVolume = 313;
-static const uint16 kVolumeto = 314;
-static const uint16 kVolumedirection = 315;
-static const uint16 kVolumecount = 316;
-static const uint16 kWongame = 317;
-static const uint16 kLasthardkey = 318;
-static const uint16 kBufferin = 319;
-static const uint16 kBufferout = 321;
-static const uint16 kExtras = 323;
-static const uint16 kWorkspace = 325;
-static const uint16 kMapstore = 327;
-static const uint16 kCharset1 = 329;
-static const uint16 kBuffers = 331;
-static const uint16 kMainsprites = 333;
-static const uint16 kBackdrop = 335;
-static const uint16 kMapdata = 337;
-static const uint16 kSounddata = 339;
-static const uint16 kSounddata2 = 341;
-static const uint16 kRecordspace = 343;
-static const uint16 kFreedat = 345;
-static const uint16 kSetdat = 347;
-static const uint16 kReel1 = 349;
-static const uint16 kReel2 = 351;
-static const uint16 kReel3 = 353;
-static const uint16 kRoomdesc = 355;
-static const uint16 kFreedesc = 357;
-static const uint16 kSetdesc = 359;
-static const uint16 kBlockdesc = 361;
-static const uint16 kSetframes = 363;
-static const uint16 kFreeframes = 365;
-static const uint16 kPeople = 367;
-static const uint16 kReels = 369;
-static const uint16 kCommandtext = 371;
-static const uint16 kPuzzletext = 373;
-static const uint16 kTraveltext = 375;
-static const uint16 kTempgraphics = 377;
-static const uint16 kTempgraphics2 = 379;
-static const uint16 kTempgraphics3 = 381;
-static const uint16 kTempsprites = 383;
-static const uint16 kTextfile1 = 385;
-static const uint16 kTextfile2 = 387;
-static const uint16 kTextfile3 = 389;
-static const uint16 kBlinkframe = 391;
-static const uint16 kBlinkcount = 392;
-static const uint16 kReasseschanges = 393;
-static const uint16 kPointerspath = 394;
-static const uint16 kManspath = 395;
-static const uint16 kPointerfirstpath = 396;
-static const uint16 kFinaldest = 397;
-static const uint16 kDestination = 398;
-static const uint16 kLinestartx = 399;
-static const uint16 kLinestarty = 401;
-static const uint16 kLineendx = 403;
-static const uint16 kLineendy = 405;
-static const uint16 kLinepointer = 407;
-static const uint16 kLinedirection = 408;
-static const uint16 kLinelength = 409;
-static const uint16 kCh0blockstocopy = 410;
-static const uint16 kCh0playing = 412;
-static const uint16 kCh0repeat = 413;
-static const uint16 kCh1playing = 414;
-static const uint16 kCh1blockstocopy = 415;
-static const uint16 kSoundbufferwrite = 417;
-static const uint16 kCurrentsample = 419;
-static const uint16 kRoomssample = 420;
-static const uint16 kBasicsample = 421;
-static const uint16 kCurrentfile = 462;
-static const uint16 kOplist = 537;
-static const uint16 kInputline = 540;
-static const uint16 kPresslist = 668;
-static const uint16 kQuitrequested = 674;
-static const uint16 kSubtitles = 675;
-static const uint16 kForeignrelease = 676;
+static const uint16 kTimercount = 144;
+static const uint16 kOldtimercount = 145;
+static const uint16 kMapx = 146;
+static const uint16 kMapy = 147;
+static const uint16 kNewscreen = 148;
+static const uint16 kRyanx = 149;
+static const uint16 kRyany = 150;
+static const uint16 kLastflag = 151;
+static const uint16 kOffsetx = 152;
+static const uint16 kOffsety = 154;
+static const uint16 kCurrentob = 156;
+static const uint16 kDestpos = 157;
+static const uint16 kReallocation = 158;
+static const uint16 kRoomnum = 159;
+static const uint16 kNowinnewroom = 160;
+static const uint16 kResetmanxy = 161;
+static const uint16 kNewlocation = 162;
+static const uint16 kAutolocation = 163;
+static const uint16 kDoorcheck1 = 164;
+static const uint16 kDoorcheck2 = 165;
+static const uint16 kDoorcheck3 = 166;
+static const uint16 kDoorcheck4 = 167;
+static const uint16 kMousex = 168;
+static const uint16 kMousey = 170;
+static const uint16 kMousebutton = 172;
+static const uint16 kMousebutton1 = 174;
+static const uint16 kMousebutton2 = 176;
+static const uint16 kMousebutton3 = 178;
+static const uint16 kMousebutton4 = 180;
+static const uint16 kOldbutton = 182;
+static const uint16 kOldx = 184;
+static const uint16 kOldy = 186;
+static const uint16 kLastbutton = 188;
+static const uint16 kOldpointerx = 190;
+static const uint16 kOldpointery = 192;
+static const uint16 kDelherex = 194;
+static const uint16 kDelherey = 196;
+static const uint16 kPointerxs = 198;
+static const uint16 kPointerys = 199;
+static const uint16 kDelxs = 200;
+static const uint16 kDelys = 201;
+static const uint16 kPointerframe = 202;
+static const uint16 kPointerpower = 203;
+static const uint16 kAuxpointerframe = 204;
+static const uint16 kPointermode = 205;
+static const uint16 kPointerspeed = 206;
+static const uint16 kPointercount = 207;
+static const uint16 kInmaparea = 208;
+static const uint16 kTalkmode = 209;
+static const uint16 kTalkpos = 210;
+static const uint16 kCharacter = 211;
+static const uint16 kWatchdump = 212;
+static const uint16 kLogonum = 213;
+static const uint16 kOldlogonum = 214;
+static const uint16 kNetseg = 215;
+static const uint16 kNetpoint = 217;
+static const uint16 kCursorstate = 219;
+static const uint16 kPressed = 220;
+static const uint16 kPresspointer = 221;
+static const uint16 kGraphicpress = 223;
+static const uint16 kPresscount = 224;
+static const uint16 kLightcount = 225;
+static const uint16 kFolderpage = 226;
+static const uint16 kDiarypage = 227;
+static const uint16 kMenucount = 228;
+static const uint16 kSymboltopx = 229;
+static const uint16 kSymboltopnum = 230;
+static const uint16 kSymboltopdir = 231;
+static const uint16 kSymbolbotx = 232;
+static const uint16 kSymbolbotnum = 233;
+static const uint16 kSymbolbotdir = 234;
+static const uint16 kSymboltolight = 235;
+static const uint16 kSymbol1 = 236;
+static const uint16 kSymbol2 = 237;
+static const uint16 kSymbol3 = 238;
+static const uint16 kSymbolnum = 239;
+static const uint16 kDumpx = 240;
+static const uint16 kDumpy = 242;
+static const uint16 kWalkandexam = 244;
+static const uint16 kWalkexamtype = 245;
+static const uint16 kWalkexamnum = 246;
+static const uint16 kCurslocx = 247;
+static const uint16 kCurslocy = 249;
+static const uint16 kCurpos = 251;
+static const uint16 kMonadx = 253;
+static const uint16 kMonady = 255;
+static const uint16 kMonsource = 257;
+static const uint16 kNumtodo = 259;
+static const uint16 kTimecount = 261;
+static const uint16 kCounttotimed = 263;
+static const uint16 kTimedseg = 265;
+static const uint16 kTimedoffset = 267;
+static const uint16 kTimedy = 269;
+static const uint16 kTimedx = 270;
+static const uint16 kNeedtodumptimed = 271;
+static const uint16 kLoadingorsave = 272;
+static const uint16 kCurrentslot = 273;
+static const uint16 kCursorpos = 274;
+static const uint16 kColourpos = 275;
+static const uint16 kFadedirection = 276;
+static const uint16 kNumtofade = 277;
+static const uint16 kFadecount = 278;
+static const uint16 kAddtogreen = 279;
+static const uint16 kAddtored = 280;
+static const uint16 kAddtoblue = 281;
+static const uint16 kLastsoundreel = 282;
+static const uint16 kSpeechloaded = 284;
+static const uint16 kSpeechlength = 285;
+static const uint16 kVolume = 287;
+static const uint16 kVolumeto = 288;
+static const uint16 kVolumedirection = 289;
+static const uint16 kVolumecount = 290;
+static const uint16 kWongame = 291;
+static const uint16 kLasthardkey = 292;
+static const uint16 kBufferin = 293;
+static const uint16 kBufferout = 295;
+static const uint16 kExtras = 297;
+static const uint16 kWorkspace = 299;
+static const uint16 kMapstore = 301;
+static const uint16 kCharset1 = 303;
+static const uint16 kBuffers = 305;
+static const uint16 kMainsprites = 307;
+static const uint16 kBackdrop = 309;
+static const uint16 kMapdata = 311;
+static const uint16 kSounddata = 313;
+static const uint16 kSounddata2 = 315;
+static const uint16 kRecordspace = 317;
+static const uint16 kFreedat = 319;
+static const uint16 kSetdat = 321;
+static const uint16 kReel1 = 323;
+static const uint16 kReel2 = 325;
+static const uint16 kReel3 = 327;
+static const uint16 kRoomdesc = 329;
+static const uint16 kFreedesc = 331;
+static const uint16 kSetdesc = 333;
+static const uint16 kBlockdesc = 335;
+static const uint16 kSetframes = 337;
+static const uint16 kFreeframes = 339;
+static const uint16 kPeople = 341;
+static const uint16 kReels = 343;
+static const uint16 kCommandtext = 345;
+static const uint16 kPuzzletext = 347;
+static const uint16 kTraveltext = 349;
+static const uint16 kTempgraphics = 351;
+static const uint16 kTempgraphics2 = 353;
+static const uint16 kTempgraphics3 = 355;
+static const uint16 kTempsprites = 357;
+static const uint16 kTextfile1 = 359;
+static const uint16 kTextfile2 = 361;
+static const uint16 kTextfile3 = 363;
+static const uint16 kBlinkframe = 365;
+static const uint16 kBlinkcount = 366;
+static const uint16 kReasseschanges = 367;
+static const uint16 kPointerspath = 368;
+static const uint16 kManspath = 369;
+static const uint16 kPointerfirstpath = 370;
+static const uint16 kFinaldest = 371;
+static const uint16 kDestination = 372;
+static const uint16 kLinestartx = 373;
+static const uint16 kLinestarty = 375;
+static const uint16 kLineendx = 377;
+static const uint16 kLineendy = 379;
+static const uint16 kLinepointer = 381;
+static const uint16 kLinedirection = 382;
+static const uint16 kLinelength = 383;
+static const uint16 kCh0blockstocopy = 384;
+static const uint16 kCh0playing = 386;
+static const uint16 kCh0repeat = 387;
+static const uint16 kCh1playing = 388;
+static const uint16 kCh1blockstocopy = 389;
+static const uint16 kSoundbufferwrite = 391;
+static const uint16 kCurrentsample = 393;
+static const uint16 kRoomssample = 394;
+static const uint16 kBasicsample = 395;
+static const uint16 kCurrentfile = 436;
+static const uint16 kInputline = 511;
+static const uint16 kQuitrequested = 639;
+static const uint16 kSubtitles = 640;
+static const uint16 kForeignrelease = 641;
static const uint16 kBlocktextdat = (0);
static const uint16 kPersonframes = (0);
static const uint16 kDebuglevel1 = (0);
diff --git a/engines/dreamweb/keypad.cpp b/engines/dreamweb/keypad.cpp
index 878fbda5bf..b165c00394 100644
--- a/engines/dreamweb/keypad.cpp
+++ b/engines/dreamweb/keypad.cpp
@@ -77,8 +77,8 @@ void DreamBase::showKeypad() {
bool DreamBase::isItRight(uint8 digit0, uint8 digit1, uint8 digit2, uint8 digit3) {
- return digit0 == data.byte(kPresslist+0) && digit1 == data.byte(kPresslist+1)
- && digit2 == data.byte(kPresslist+2) && digit3 == data.byte(kPresslist+3);
+ return digit0 == _pressList[0] && digit1 == _pressList[1]
+ && digit2 == _pressList[2] && digit3 == _pressList[3];
}
void DreamBase::addToPressList() {
@@ -88,7 +88,7 @@ void DreamBase::addToPressList() {
if (pressed == 10)
pressed = 0;
- data.byte(kPresslist + data.word(kPresspointer)) = pressed;
+ _pressList[data.word(kPresspointer)] = pressed;
++data.word(kPresspointer);
}