diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 2 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 8 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 86 | ||||
-rw-r--r-- | engines/dreamweb/sound.cpp | 12 | ||||
-rw-r--r-- | engines/dreamweb/structs.h | 12 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 2 |
6 files changed, 49 insertions, 73 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 598f1e852d..1da99429f9 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -239,6 +239,8 @@ p = parser(skip_binary_data = [ 'cursorstate', 'ch0blockstocopy', 'ch1blockstocopy', + 'sounddata', + 'sounddata2', # vgagrafx.asm 'cityname', 'extragraphics1', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index f3b9851db6..777961fcef 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -65,17 +65,15 @@ void DreamGenContext::__start() { //0x0100: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0110: .... .... .... .... - 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, 0xff, 0xff, 0xff, //0x0120: .... .... .... .... 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x0130: .... .... .... .... 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, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0150: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, - //0x0160: .... .... .... .... - }; + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, }; ds.assign(src, src + sizeof(src)); dreamweb(); } diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index e5887c7fde..b736c3c9cb 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -256,50 +256,48 @@ static const uint16 kCharset1 = 286; static const uint16 kMainsprites = 288; static const uint16 kBackdrop = 290; static const uint16 kMapdata = 292; -static const uint16 kSounddata = 294; -static const uint16 kSounddata2 = 296; -static const uint16 kRecordspace = 298; -static const uint16 kFreedat = 300; -static const uint16 kSetdat = 302; -static const uint16 kReel1 = 304; -static const uint16 kReel2 = 306; -static const uint16 kReel3 = 308; -static const uint16 kRoomdesc = 310; -static const uint16 kFreedesc = 312; -static const uint16 kSetdesc = 314; -static const uint16 kBlockdesc = 316; -static const uint16 kSetframes = 318; -static const uint16 kFreeframes = 320; -static const uint16 kPeople = 322; -static const uint16 kReels = 324; -static const uint16 kCommandtext = 326; -static const uint16 kPuzzletext = 328; -static const uint16 kTraveltext = 330; -static const uint16 kTempgraphics = 332; -static const uint16 kTempgraphics2 = 334; -static const uint16 kTempgraphics3 = 336; -static const uint16 kTempsprites = 338; -static const uint16 kTextfile1 = 340; -static const uint16 kTextfile2 = 342; -static const uint16 kTextfile3 = 344; -static const uint16 kBlinkframe = 346; -static const uint16 kBlinkcount = 347; -static const uint16 kReasseschanges = 348; -static const uint16 kPointerspath = 349; -static const uint16 kManspath = 350; -static const uint16 kPointerfirstpath = 351; -static const uint16 kFinaldest = 352; -static const uint16 kDestination = 353; -static const uint16 kLinestartx = 354; -static const uint16 kLinestarty = 356; -static const uint16 kLineendx = 358; -static const uint16 kLineendy = 360; -static const uint16 kLinepointer = 362; -static const uint16 kLinedirection = 363; -static const uint16 kLinelength = 364; -static const uint16 kCh0playing = 365; -static const uint16 kCh0repeat = 366; -static const uint16 kCh1playing = 367; +static const uint16 kRecordspace = 294; +static const uint16 kFreedat = 296; +static const uint16 kSetdat = 298; +static const uint16 kReel1 = 300; +static const uint16 kReel2 = 302; +static const uint16 kReel3 = 304; +static const uint16 kRoomdesc = 306; +static const uint16 kFreedesc = 308; +static const uint16 kSetdesc = 310; +static const uint16 kBlockdesc = 312; +static const uint16 kSetframes = 314; +static const uint16 kFreeframes = 316; +static const uint16 kPeople = 318; +static const uint16 kReels = 320; +static const uint16 kCommandtext = 322; +static const uint16 kPuzzletext = 324; +static const uint16 kTraveltext = 326; +static const uint16 kTempgraphics = 328; +static const uint16 kTempgraphics2 = 330; +static const uint16 kTempgraphics3 = 332; +static const uint16 kTempsprites = 334; +static const uint16 kTextfile1 = 336; +static const uint16 kTextfile2 = 338; +static const uint16 kTextfile3 = 340; +static const uint16 kBlinkframe = 342; +static const uint16 kBlinkcount = 343; +static const uint16 kReasseschanges = 344; +static const uint16 kPointerspath = 345; +static const uint16 kManspath = 346; +static const uint16 kPointerfirstpath = 347; +static const uint16 kFinaldest = 348; +static const uint16 kDestination = 349; +static const uint16 kLinestartx = 350; +static const uint16 kLinestarty = 352; +static const uint16 kLineendx = 354; +static const uint16 kLineendy = 356; +static const uint16 kLinepointer = 358; +static const uint16 kLinedirection = 359; +static const uint16 kLinelength = 360; +static const uint16 kCh0playing = 361; +static const uint16 kCh0repeat = 362; +static const uint16 kCh1playing = 363; static const uint16 kBlocktextdat = (0); static const uint16 kPersonframes = (0); static const uint16 kDebuglevel1 = (0); diff --git a/engines/dreamweb/sound.cpp b/engines/dreamweb/sound.cpp index 23a12c2b30..1eefedaae2 100644 --- a/engines/dreamweb/sound.cpp +++ b/engines/dreamweb/sound.cpp @@ -57,12 +57,8 @@ void DreamBase::volumeAdjust() { void DreamBase::playChannel0(uint8 index, uint8 repeat) { data.byte(kCh0playing) = index; - Sound *soundBank; - if (index >= 12) { - soundBank = (Sound *)getSegment(data.word(kSounddata2)).ptr(0, 0); + if (index >= 12) index -= 12; - } else - soundBank = (Sound *)getSegment(data.word(kSounddata)).ptr(0, 0); data.byte(kCh0repeat) = repeat; } @@ -72,12 +68,8 @@ void DreamBase::playChannel1(uint8 index) { return; data.byte(kCh1playing) = index; - Sound *soundBank; - if (index >= 12) { - soundBank = (Sound *)getSegment(data.word(kSounddata2)).ptr(0, 0); + if (index >= 12) index -= 12; - } else - soundBank = (Sound *)getSegment(data.word(kSounddata)).ptr(0, 0); } void DreamBase::cancelCh0() { diff --git a/engines/dreamweb/structs.h b/engines/dreamweb/structs.h index 7a9db54051..af8b3e9f00 100644 --- a/engines/dreamweb/structs.h +++ b/engines/dreamweb/structs.h @@ -239,18 +239,6 @@ struct RoomPaths { PathSegment segments[24]; }; -struct Sound { - uint8 w1_lo; - uint8 w1_hi; - uint16 offset() const { return READ_LE_UINT16(&w1_lo); } - void setOffset(uint16 v) { WRITE_LE_UINT16(&w1_lo, v); } - uint8 w3_lo; // block count (low byte) - unused in ScummVM - uint8 w3_hi; // block count (high byte) - unused in ScummVM - //uint16 blockCount() const { return READ_LE_UINT16(&w3_lo); } - //void setBlockCount(uint16 v) { WRITE_LE_UINT16(&w3_lo, v); } - uint8 b5; -}; - struct FileHeader { char _desc[50]; uint16 _len[20]; diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 8ad7b3d114..1392d16dd7 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -2465,8 +2465,6 @@ void DreamBase::allocateBuffers() { data.word(kFreedat) = allocateMem(kFreedatlen/16); data.word(kSetdat) = allocateMem(kSetdatlen/16); data.word(kMapstore) = allocateMem(kLenofmapstore/16); - data.word(kSounddata) = allocateMem(2048/16); - data.word(kSounddata2) = allocateMem(2048/16); } void DreamBase::workToScreenM() { |