aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdevtools/tasmrecover/tasm-recover2
-rw-r--r--engines/dreamweb/dreamgen.cpp8
-rw-r--r--engines/dreamweb/dreamgen.h86
-rw-r--r--engines/dreamweb/sound.cpp12
-rw-r--r--engines/dreamweb/structs.h12
-rw-r--r--engines/dreamweb/stubs.cpp2
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() {