diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 38 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 119 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 3 |
4 files changed, 79 insertions, 82 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 37963a3967..cd683d4597 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -211,6 +211,7 @@ p = parser(skip_binary_data = [ 'timer2to', 'timer3to', 'oldsubject', + 'buffers', # vgagrafx.asm 'cityname', 'extragraphics1', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index eeb2d346d9..424c4ab71e 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -154,7 +154,7 @@ void DreamGenContext::read() { return; okcom: es = cs; - di = 420; + di = 418; ax = data.word(kTextfile1); data.word(kMonsource) = ax; ds = ax; @@ -284,7 +284,7 @@ keyok2: ds = cs; si = offset_operand1+1; es = cs; - di = 420+1; + di = 418+1; cx = 12; _movsb(cx, true); monitorLogo(); @@ -366,7 +366,7 @@ void DreamGenContext::parser() { al = '='; _stosb(); ds = cs; - si = 495; + si = 493; notspace1: _lodsw(); _cmp(al, 32); @@ -434,28 +434,28 @@ void DreamGenContext::__start() { //0x0110: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0120: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, //0x0130: .... .... .... .... - 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x0140: .... .... .... .... 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, 0x17, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0160: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0170: .... .... .... .... - 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, - //0x0180: .... .... .DRE AMWE - 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0190: B.V9 9. - 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x01a0: . " - 0x20, 0x00, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, - //0x01b0: ... ..$. .... .... - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, - //0x01c0: .... .... .... ...D - 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - //0x01d0: :... .... .... .... + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, + //0x0180: .... ...D REAM WEB. + 0x56, 0x39, 0x39, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x0190: V99. + 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, + //0x01a0: ." . + 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, + //0x01b0: .... $... .... .... + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, + //0x01c0: .... .... .... .D:. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x01d0: .... .... .... .... 0x00, 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, @@ -474,7 +474,7 @@ void DreamGenContext::__start() { //0x0250: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0260: .... .... .... .... - 0x00, 0x00, }; + }; ds.assign(src, src + sizeof(src)); dreamweb(); } diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 155c24d721..41c252ed72 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -32,7 +32,7 @@ namespace DreamGen { -static const uint16 offset_operand1 = 0x0196; +static const uint16 offset_operand1 = 0x0194; static const uint16 kStartvars = 0; static const uint16 kProgresspoints = 1; static const uint16 kWatchon = 2; @@ -265,65 +265,64 @@ static const uint16 kExtras = 295; static const uint16 kWorkspace = 297; static const uint16 kMapstore = 299; static const uint16 kCharset1 = 301; -static const uint16 kBuffers = 303; -static const uint16 kMainsprites = 305; -static const uint16 kBackdrop = 307; -static const uint16 kMapdata = 309; -static const uint16 kSounddata = 311; -static const uint16 kSounddata2 = 313; -static const uint16 kRecordspace = 315; -static const uint16 kFreedat = 317; -static const uint16 kSetdat = 319; -static const uint16 kReel1 = 321; -static const uint16 kReel2 = 323; -static const uint16 kReel3 = 325; -static const uint16 kRoomdesc = 327; -static const uint16 kFreedesc = 329; -static const uint16 kSetdesc = 331; -static const uint16 kBlockdesc = 333; -static const uint16 kSetframes = 335; -static const uint16 kFreeframes = 337; -static const uint16 kPeople = 339; -static const uint16 kReels = 341; -static const uint16 kCommandtext = 343; -static const uint16 kPuzzletext = 345; -static const uint16 kTraveltext = 347; -static const uint16 kTempgraphics = 349; -static const uint16 kTempgraphics2 = 351; -static const uint16 kTempgraphics3 = 353; -static const uint16 kTempsprites = 355; -static const uint16 kTextfile1 = 357; -static const uint16 kTextfile2 = 359; -static const uint16 kTextfile3 = 361; -static const uint16 kBlinkframe = 363; -static const uint16 kBlinkcount = 364; -static const uint16 kReasseschanges = 365; -static const uint16 kPointerspath = 366; -static const uint16 kManspath = 367; -static const uint16 kPointerfirstpath = 368; -static const uint16 kFinaldest = 369; -static const uint16 kDestination = 370; -static const uint16 kLinestartx = 371; -static const uint16 kLinestarty = 373; -static const uint16 kLineendx = 375; -static const uint16 kLineendy = 377; -static const uint16 kLinepointer = 379; -static const uint16 kLinedirection = 380; -static const uint16 kLinelength = 381; -static const uint16 kCh0blockstocopy = 382; -static const uint16 kCh0playing = 384; -static const uint16 kCh0repeat = 385; -static const uint16 kCh1playing = 386; -static const uint16 kCh1blockstocopy = 387; -static const uint16 kSoundbufferwrite = 389; -static const uint16 kCurrentsample = 391; -static const uint16 kRoomssample = 392; -static const uint16 kBasicsample = 393; -static const uint16 kCurrentfile = 420; -static const uint16 kInputline = 495; -static const uint16 kQuitrequested = 623; -static const uint16 kSubtitles = 624; -static const uint16 kForeignrelease = 625; +static const uint16 kMainsprites = 303; +static const uint16 kBackdrop = 305; +static const uint16 kMapdata = 307; +static const uint16 kSounddata = 309; +static const uint16 kSounddata2 = 311; +static const uint16 kRecordspace = 313; +static const uint16 kFreedat = 315; +static const uint16 kSetdat = 317; +static const uint16 kReel1 = 319; +static const uint16 kReel2 = 321; +static const uint16 kReel3 = 323; +static const uint16 kRoomdesc = 325; +static const uint16 kFreedesc = 327; +static const uint16 kSetdesc = 329; +static const uint16 kBlockdesc = 331; +static const uint16 kSetframes = 333; +static const uint16 kFreeframes = 335; +static const uint16 kPeople = 337; +static const uint16 kReels = 339; +static const uint16 kCommandtext = 341; +static const uint16 kPuzzletext = 343; +static const uint16 kTraveltext = 345; +static const uint16 kTempgraphics = 347; +static const uint16 kTempgraphics2 = 349; +static const uint16 kTempgraphics3 = 351; +static const uint16 kTempsprites = 353; +static const uint16 kTextfile1 = 355; +static const uint16 kTextfile2 = 357; +static const uint16 kTextfile3 = 359; +static const uint16 kBlinkframe = 361; +static const uint16 kBlinkcount = 362; +static const uint16 kReasseschanges = 363; +static const uint16 kPointerspath = 364; +static const uint16 kManspath = 365; +static const uint16 kPointerfirstpath = 366; +static const uint16 kFinaldest = 367; +static const uint16 kDestination = 368; +static const uint16 kLinestartx = 369; +static const uint16 kLinestarty = 371; +static const uint16 kLineendx = 373; +static const uint16 kLineendy = 375; +static const uint16 kLinepointer = 377; +static const uint16 kLinedirection = 378; +static const uint16 kLinelength = 379; +static const uint16 kCh0blockstocopy = 380; +static const uint16 kCh0playing = 382; +static const uint16 kCh0repeat = 383; +static const uint16 kCh1playing = 384; +static const uint16 kCh1blockstocopy = 385; +static const uint16 kSoundbufferwrite = 387; +static const uint16 kCurrentsample = 389; +static const uint16 kRoomssample = 390; +static const uint16 kBasicsample = 391; +static const uint16 kCurrentfile = 418; +static const uint16 kInputline = 493; +static const uint16 kQuitrequested = 621; +static const uint16 kSubtitles = 622; +static const uint16 kForeignrelease = 623; static const uint16 kBlocktextdat = (0); static const uint16 kPersonframes = (0); static const uint16 kDebuglevel1 = (0); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 65c9d73ecd..87bca3d67c 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -2474,7 +2474,6 @@ void DreamBase::drawFloor() { void DreamBase::allocateBuffers() { data.word(kExtras) = allocateMem(kLengthofextra/16); data.word(kMapdata) = allocateMem(kLengthofmap/16); - data.word(kBuffers) = allocateMem(kLengthofbuffer/16); data.word(kFreedat) = allocateMem(kFreedatlen/16); data.word(kSetdat) = allocateMem(kSetdatlen/16); data.word(kMapstore) = allocateMem(kLenofmapstore/16); @@ -3592,8 +3591,6 @@ void DreamBase::lookAtCard() { } void DreamBase::clearBuffers() { - memset(getSegment(data.word(kBuffers)).ptr(0, kLengthofbuffer), 0, kLengthofbuffer); - memset(getSegment(data.word(kExtras)).ptr(0, kLengthofextra), 0xFF, kLengthofextra); memcpy(_initialVars, data.ptr(kStartvars, kLengthofvars), kLengthofvars); |