diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 25 | ||||
-rw-r--r-- | engines/dreamweb/dreambase.h | 3 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 60 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 387 | ||||
-rw-r--r-- | engines/dreamweb/keypad.cpp | 6 |
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); } |