aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdevtools/tasmrecover/tasm-recover3
-rw-r--r--engines/dreamweb/backdrop.cpp27
-rw-r--r--engines/dreamweb/dreamgen.cpp374
-rw-r--r--engines/dreamweb/dreamgen.h565
-rw-r--r--engines/dreamweb/sprite.cpp51
-rw-r--r--engines/dreamweb/stubs.h7
-rw-r--r--engines/dreamweb/talk.cpp7
7 files changed, 513 insertions, 521 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 1e326cbf5d..56d71094a8 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -97,6 +97,9 @@ p = parser(skip_binary_data = [
'icons1',
'icons2',
'tempcharset',
+ 'currentframe',
+ 'takeoff',
+ 'reelpointer',
# vgagrafx.asm
'cityname',
'extragraphics1',
diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp
index 065ce638d4..cf07ffcfe2 100644
--- a/engines/dreamweb/backdrop.cpp
+++ b/engines/dreamweb/backdrop.cpp
@@ -105,15 +105,15 @@ uint8 DreamGenContext::getMapAd(const uint8 *setData) {
return 1;
}
-void DreamGenContext::calcFrFrame() {
+void DreamGenContext::calcFrFrame(uint16 frame) {
uint8 width, height;
- calcFrFrame(&width, &height);
+ calcFrFrame(frame, &width, &height);
cl = width;
ch = height;
}
-void DreamGenContext::calcFrFrame(uint8* width, uint8* height) {
- const Frame *frame = (const Frame *)getSegment(data.word(kFrsegment)).ptr(data.word(kCurrentframe) * sizeof(Frame), sizeof(Frame));
+void DreamGenContext::calcFrFrame(uint16 frameNum, uint8* width, uint8* height) {
+ const Frame *frame = (const Frame *)getSegment(data.word(kFrsegment)).ptr(frameNum * sizeof(Frame), sizeof(Frame));
data.word(kSavesource) = data.word(kFramesad) + frame->ptr();
data.byte(kSavesize+0) = frame->width;
data.byte(kSavesize+1) = frame->height;
@@ -151,17 +151,16 @@ void DreamGenContext::showAllObs() {
if (getMapAd(setEntry->mapad) == 0)
continue;
uint8 currentFrame = setEntry->frames[0];
- data.word(kCurrentframe) = currentFrame;
if (currentFrame == 0xff)
continue;
- calcFrFrame();
+ calcFrFrame(currentFrame);
uint16 x, y;
finalFrame(&x, &y);
setEntry->index = setEntry->frames[0];
if ((setEntry->type == 0) && (setEntry->priority != 5) && (setEntry->priority != 6)) {
x += data.word(kMapadx);
y += data.word(kMapady);
- showFrame(frames, x, y, data.word(kCurrentframe), 0);
+ showFrame(frames, x, y, currentFrame, 0);
} else
makeBackOb(setEntry);
@@ -251,15 +250,16 @@ void DreamGenContext::showAllFree() {
for(size_t i = 0; i < 80; ++i) {
uint8 mapAd = getMapAd(freeObjects[i].mapad);
if (mapAd != 0) {
- data.word(kCurrentframe) = 3 * data.byte(kCurrentfree);
uint8 width, height;
- calcFrFrame(&width, &height);
+ uint16 currentFrame = 3 * data.byte(kCurrentfree);
+ calcFrFrame(currentFrame, &width, &height);
uint16 x, y;
finalFrame(&x, &y);
if ((width != 0) || (height != 0)) {
x += data.word(kMapadx);
y += data.word(kMapady);
- showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x, y, data.word(kCurrentframe) & 0xff, 0);
+ assert(currentFrame < 256);
+ showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x, y, currentFrame, 0);
ObjPos *objPos = (ObjPos *)getSegment(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(ObjPos));
objPos->xMin = data.byte(kSavex);
objPos->yMin = data.byte(kSavey);
@@ -307,13 +307,14 @@ void DreamGenContext::showAllEx() {
continue;
if (getMapAd(object->mapad) == 0)
continue;
- data.word(kCurrentframe) = 3 * data.byte(kCurrentex);
uint8 width, height;
- calcFrFrame(&width, &height);
+ uint16 currentFrame = 3 * data.byte(kCurrentex);
+ calcFrFrame(currentFrame, &width, &height);
uint16 x, y;
finalFrame(&x, &y);
if ((width != 0) || (height != 0)) {
- showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x + data.word(kMapadx), y + data.word(kMapady), data.word(kCurrentframe) & 0xff, 0);
+ assert(currentFrame < 256);
+ showFrame((Frame *)getSegment(data.word(kFrsegment)).ptr(0, 0), x + data.word(kMapadx), y + data.word(kMapady), currentFrame, 0);
ObjPos *objPos = (ObjPos *)getSegment(data.word(kBuffers)).ptr(data.word(kListpos), sizeof(ObjPos));
objPos->xMin = data.byte(kSavex);
objPos->yMin = data.byte(kSavey);
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index aef64884e1..6216714cae 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -1138,7 +1138,7 @@ void DreamGenContext::showGun() {
data.byte(kRoomssample) = 34;
loadRoomsSample();
data.byte(kVolume) = 0;
- dx = 1061;
+ dx = 1055;
loadIntoTemp();
createPanel2();
ds = data.word(kTempgraphics);
@@ -1161,7 +1161,7 @@ void DreamGenContext::showGun() {
al = 12;
ah = 0;
playChannel0();
- dx = 1035;
+ dx = 1029;
loadTempText();
rollEndCredits2();
getRidOfTempText();
@@ -1409,7 +1409,7 @@ void DreamGenContext::initialMonCols() {
void DreamGenContext::endGame() {
STACK_CHECK;
- dx = 1035;
+ dx = 1029;
loadTempText();
monkSpeaking();
gettingShot();
@@ -1424,7 +1424,7 @@ void DreamGenContext::monkSpeaking() {
STACK_CHECK;
data.byte(kRoomssample) = 35;
loadRoomsSample();
- dx = 1074;
+ dx = 1068;
loadIntoTemp();
clearWork();
showMonk();
@@ -3579,14 +3579,14 @@ void DreamGenContext::getDestInfo() {
push(ax);
dx = data;
es = dx;
- si = 1661;
+ si = 1655;
_add(si, ax);
cl = es.byte(si);
ax = pop();
push(cx);
dx = data;
es = dx;
- si = 1677;
+ si = 1671;
_add(si, ax);
ax = pop();
}
@@ -3638,7 +3638,7 @@ clearedlocations:
bx = ax;
dx = data;
es = dx;
- _add(bx, 1661);
+ _add(bx, 1655);
es.byte(bx) = 0;
}
@@ -3708,7 +3708,7 @@ void DreamGenContext::execCommand() {
es = cs;
bx = offset_comlist;
ds = cs;
- si = 1695;
+ si = 1689;
al = ds.byte(si);
_cmp(al, 0);
if (!flags.z())
@@ -3801,7 +3801,7 @@ dirroot:
si = offset_rootdir;
_inc(si);
es = cs;
- di = 1350;
+ di = 1344;
_inc(di);
cx = 12;
_movsb(cx, true);
@@ -3903,7 +3903,7 @@ notyetassigned:
push(bx);
_add(bx, 2);
ds = cs;
- si = 1695;
+ si = 1689;
checkpass:
_lodsw();
ah = es.byte(bx);
@@ -3974,7 +3974,7 @@ void DreamGenContext::read() {
return;
okcom:
es = cs;
- di = 1350;
+ di = 1344;
ax = data.word(kTextfile1);
data.word(kMonsource) = ax;
ds = ax;
@@ -4104,7 +4104,7 @@ keyok2:
ds = cs;
si = offset_operand1+1;
es = cs;
- di = 1350+1;
+ di = 1344+1;
cx = 12;
_movsb(cx, true);
monitorLogo();
@@ -4231,7 +4231,7 @@ void DreamGenContext::parser() {
al = '=';
_stosb();
ds = cs;
- si = 1695;
+ si = 1689;
notspace1:
_lodsw();
_cmp(al, 32);
@@ -5818,11 +5818,11 @@ notwrapbackb:
void DreamGenContext::useDiary() {
STACK_CHECK;
getRidOfReels();
- dx = 1009;
+ dx = 1003;
loadIntoTemp();
- dx = 1022;
+ dx = 1016;
loadTempText();
- dx = 983;
+ dx = 977;
loadTempCharset();
createPanel();
showIcon();
@@ -6217,7 +6217,7 @@ void DreamGenContext::getNamePos() {
_mul(cx);
dx = data;
es = dx;
- bx = 1829;
+ bx = 1823;
_add(bx, ax);
al = data.byte(kCursorpos);
ah = 0;
@@ -6313,7 +6313,7 @@ void DreamGenContext::showNames() {
STACK_CHECK;
dx = data;
es = dx;
- si = 1829+1;
+ si = 1823+1;
di = (60)+21;
bx = (52)+10;
cl = 0;
@@ -6694,7 +6694,7 @@ notalley:
void DreamGenContext::clearBuffers() {
STACK_CHECK;
es = data.word(kBuffers);
- cx = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526+68-0)/2;
+ cx = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520+68-0)/2;
ax = 0;
di = 0;
_stosw(cx, true);
@@ -6706,11 +6706,11 @@ void DreamGenContext::clearBuffers() {
es = data.word(kBuffers);
di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64));
ds = cs;
- si = 526;
- cx = (983-526);
+ si = 520;
+ cx = (977-520);
_movsb(cx, true);
es = data.word(kBuffers);
- di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
+ di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520);
ds = cs;
si = 0;
cx = (68-0);
@@ -6728,11 +6728,11 @@ void DreamGenContext::clearChanges() {
ds = data.word(kBuffers);
si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64));
es = cs;
- di = 526;
- cx = (983-526);
+ di = 520;
+ cx = (977-520);
_movsb(cx, true);
ds = data.word(kBuffers);
- si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
+ si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520);
es = cs;
di = 0;
cx = (68-0);
@@ -6746,7 +6746,7 @@ void DreamGenContext::clearChanges() {
di = 0;
_stosw(cx, true);
es = cs;
- di = 1661;
+ di = 1655;
al = 1;
_stosb(2);
al = 0;
@@ -7156,14 +7156,14 @@ void DreamGenContext::__start() {
//0x0090: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00a0: .... .... .... ....
- 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, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00b0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x00e0: .. .... .... ....
+ 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ //0x00e0: .. .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x00f0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -7176,175 +7176,175 @@ void DreamGenContext::__start() {
//0x0130: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0140: .... .... .... ....
- 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, 0xff,
//0x0150: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0160: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0170: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0180: .... .... .... ....
- 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, 0xff,
//0x0190: .... .... .... ....
- 0x00, 0x00, 0x00, 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,
//0x01a0: .... .... .... ....
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
//0x01b0: .... .... .... ....
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x01c0: .... .... .... ....
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, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x01f0: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c,
- //0x0200: .... .... .... ...,
- 0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, 0x00, 0x32, 0x14, 0x00, 0x18, 0x16,
- //0x0210: .... ...7 ...2 ....
- 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c,
- //0x0220: .J.. ...! .K.. ...,
- 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c,
- //0x0230: .... ..., .`.. ...,
- 0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x16,
- //0x0240: .v.. ..., .... ....
- 0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, 0x00, 0x01, 0x00, 0x02, 0x05, 0x16,
- //0x0250: .5.. .... .(.. ....
- 0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b,
- //0x0260: .2.. .... .... ....
- 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 0x00,
- //0x0270: .... .... .... ....
- 0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, 0x00, 0x00, 0x17, 0x00,
- //0x0280: 2... .... .... ....
- 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, 0x00, 0x01, 0x17, 0x16,
- //0x0290: 2+.. .... (... ....
- 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, 0x00, 0x02, 0x00, 0x03, 0x17, 0x16,
- //0x02a0: (z.. .... (i.. ....
- 0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, 0x00, 0x05, 0x17, 0x16,
- //0x02b0: (Q.. .... (... ....
- 0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16,
- //0x02c0: (... .... .... ..-.
- 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16,
- //0x02d0: .... ..-. .'.. ..-.
- 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b,
- //0x02e0: .... .... ( .. ....
- 0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b,
- //0x02f0: .@.. .... .R.. ....
- 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21,
- //0x0300: .... .... .... ...!
- 0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x16,
- //0x0310: (... .... .... ....
- 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16,
- //0x0320: .... .... 2... ..2.
- 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, 0x00, 0x00, 0x34, 0x16,
- //0x0330: .y.. ..2. .... ..4.
- 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16,
- //0x0340: .... ..4. .... ..2.
- 0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16,
- //0x0350: (h.7 ..5! .c.. ..2.
- 0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16,
- //0x0360: (... ..2. .... ..4.
- 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x36, 0x00,
- //0x0370: .9.. ..4. .... ..6.
- 0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00,
- //0x0380: .H.. ..7, .... ....
- 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16,
- //0x0390: .... .... .... ....
- 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16,
- //0x03a0: .,.. .... .... ....
- 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b,
- //0x03b0: .... .... ...2 ....
- 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21,
- //0x03c0: ...2 .... ...2 ...!
- 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e,
- //0x03d0: (..2 ...D REAM WEB.
- 0x43, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39,
- //0x03e0: C02. DREA MWEB .V99
- 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52,
- //0x03f0: .DRE AMWE B.G1 4.DR
- 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
- //0x0400: EAMW EB.T 51.D REAM
- 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
- //0x0410: WEB. T83. DREA MWEB
- 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31,
- //0x0420: .VOL .DRE AMWE B.G1
- 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44,
- //0x0430: 3.DR EAMW EB.G 15.D
- 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x00, 0x01, 0x11, 0x01,
- //0x0440: REAM WEB. I07. ....
- 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00,
- //0x0450: @... ..|. ..". ..,.
- 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01,
- //0x0460: .... @... .... ....
- 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00,
- //0x0470: @... ..|. ..@. ....
- 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45,
- //0x0480: .... EXIT HE
- 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20,
- //0x0490: LP LIST
- 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f,
- //0x04a0: RE AD LOGO
- 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- //0x04b0: N KE YS
- 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55,
- //0x04c0: ..PU BLIC PU
- 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43,
- //0x04d0: BLIC ... BLAC
- 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20,
- //0x04e0: KDRA GON RYAN
- 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20,
- //0x04f0: . ..HE NDRI X
- 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00,
- //0x0500: LO UIS ...
- 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b,
- //0x0510: SEPT IMUS BECK
- 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- //0x0520: ETT . ..
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20,
- //0x0530: . "ROO T
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- //0x0540: ."
- 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca, 0x00,
- //0x0550: . 0000 .00. ....
- 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18, 0xc8,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x14, 0x00, 0x02, 0x00, 0x01,
+ //0x0200: .... .... .,.. ....
+ 0x01, 0x37, 0x00, 0x00, 0x00, 0x32, 0x14, 0x00, 0x18, 0x16, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00,
+ //0x0210: .7.. .2.. ...J ....
+ 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02,
+ //0x0220: .!.K .... .,.. ....
+ 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c, 0x00, 0x76, 0x00, 0x02, 0x00, 0x05,
+ //0x0230: .,.` .... .,.v ....
+ 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x16, 0x14, 0x35, 0x00, 0x03, 0x00, 0x00,
+ //0x0240: .,.. .... ...5 ....
+ 0x05, 0x16, 0x14, 0x28, 0x00, 0x01, 0x00, 0x02, 0x05, 0x16, 0x14, 0x32, 0x00, 0x01, 0x00, 0x03,
+ //0x0250: ...( .... ...2 ....
+ 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b, 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01,
+ //0x0260: .... .... .... ....
+ 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 0x00, 0x32, 0x00, 0x00, 0x03, 0x00, 0x00,
+ //0x0270: .... .... ..2. ....
+ 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, 0x00, 0x00, 0x17, 0x00, 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08,
+ //0x0280: .... .... ..2+ ....
+ 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, 0x00, 0x01, 0x17, 0x16, 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02,
+ //0x0290: ..(. .... ..(z ....
+ 0x17, 0x16, 0x28, 0x69, 0x00, 0x02, 0x00, 0x03, 0x17, 0x16, 0x28, 0x51, 0x00, 0x02, 0x00, 0x04,
+ //0x02a0: ..(i .... ..(Q ....
+ 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, 0x00, 0x05, 0x17, 0x16, 0x28, 0x91, 0x00, 0x02, 0x00, 0x06,
+ //0x02b0: ..(. .... ..(. ....
+ 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14,
+ //0x02c0: .... .... -... ....
+ 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00,
+ //0x02d0: -..' .... -... ....
+ 0x08, 0x16, 0x28, 0x20, 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00,
+ //0x02e0: ..( .... ...@ ....
+ 0x16, 0x16, 0x14, 0x52, 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00,
+ //0x02f0: ...R .... .... ....
+ 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21, 0x28, 0x15, 0x00, 0x01, 0x00, 0x00,
+ //0x0300: .... .... .!(. ....
+ 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
+ //0x0310: .... .... .... ....
+ 0x19, 0x00, 0x32, 0x04, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00,
+ //0x0320: ..2. .... 2..y ....
+ 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00,
+ //0x0330: 2... .... 4... ....
+ 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x68, 0x00, 0x37, 0x00, 0x00,
+ //0x0340: 4... .... 2.(h .7..
+ 0x35, 0x21, 0x00, 0x63, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x00, 0x00, 0x03, 0x00, 0x00,
+ //0x0350: 5!.c .... 2.(. ....
+ 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00,
+ //0x0360: 2... .... 4..9 ....
+ 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x36, 0x00, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00,
+ //0x0370: 4... .... 6..H ....
+ 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00,
+ //0x0380: 7,.. .... .... ....
+ 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00,
+ //0x0390: .... .... ..., ....
+ 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00,
+ //0x03a0: .... .... .... ....
+ 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b, 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00,
+ //0x03b0: .... .2.. .... .2..
+ 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00,
+ //0x03c0: .... .2.. .!(. .2..
+ 0xff, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x43, 0x30, 0x32, 0x00, 0x44, 0x52,
+ //0x03d0: .DRE AMWE B.C0 2.DR
+ 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
+ //0x03e0: EAMW EB.V 99.D REAM
+ 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
+ //0x03f0: WEB. G14. DREA MWEB
+ 0x2e, 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38,
+ //0x0400: .T51 .DRE AMWE B.T8
+ 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x44,
+ //0x0410: 3.DR EAMW EB.V OL.D
+ 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41,
+ //0x0420: REAM WEB. G13. DREA
+ 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45,
+ //0x0430: MWEB .G15 .DRE AMWE
+ 0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00,
+ //0x0440: B.I0 7... ..@. ....
+ 0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01,
+ //0x0450: |... "... ,... ..@.
+ 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00,
+ //0x0460: .... .... ..@. ....
+ 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58,
+ //0x0470: |... @... .... ..EX
+ 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20,
+ //0x0480: IT HELP
+ 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44,
+ //0x0490: LI ST READ
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x04a0: LO GON
+ 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c,
+ //0x04b0: KEYS .. PUBL
+ 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20,
+ //0x04c0: IC PUBL IC
+ 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f,
+ //0x04d0: . ..BL ACKD RAGO
+ 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00,
+ //0x04e0: N RY AN ...
+ 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49,
+ //0x04f0: HEND RIX LOUI
+ 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d,
+ //0x0500: S . ..SE PTIM
+ 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20,
+ //0x0510: US BE CKET T
+ 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x0520: ...
+ 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
+ //0x0530: ."R OOT .
+ 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30,
+ //0x0540: " .00
+ 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8,
+ //0x0550: 00.0 0... .... ....
+ 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00,
//0x0560: .... .... .... ....
- 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00,
- //0x0570: .... .... P... @...
- 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34, 0xc8,
- //0x0580: .... ..w. ..R. ..4.
- 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00,
- //0x0590: F... >.o. .... ..D.
- 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff,
- //0x05a0: ..L. ..@. .... ....
- 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00,
- //0x05b0: w... R... D.F. ..>.
- 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00, 0x00,
- //0x05c0: o.P. .... p... H...
- 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x81,
- //0x05d0: @... .... .... ..$.
- 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f,
- //0x05e0: ...R .... .P.. .>.o
- 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00, 0x40,
- //0x05f0: .... ...> .o.. ...@
- 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52,
- //0x0600: .... .... .SPE ECHR
- 0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a, 0x45,
- //0x0610: 24C0 005. RAW. OBJE
- 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20,
- //0x0620: CT N AME ONE
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- //0x0630:
- 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01,
- //0x0640: .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00,
- //0x0650: .... .... .... .D:.
+ 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff,
+ //0x0570: ..P. ..@. .... ....
+ 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00,
+ //0x0580: w... R... 4.F. ..>.
+ 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00,
+ //0x0590: o... .... D... L...
+ 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00,
+ //0x05a0: @... .... ..w. ..R.
+ 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00,
+ //0x05b0: ..D. F... >.o. P...
+ 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00,
+ //0x05c0: ..p. ..H. ..@. ....
+ 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80,
+ //0x05d0: .... .... $... .R..
+ 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa,
+ //0x05e0: ...P ...> .o.. ....
+ 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0,
+ //0x05f0: .>.o .... .@.. ....
+ 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30,
+ //0x0600: ...S PEEC HR24 C000
+ 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d,
+ //0x0610: 5.RA W.OB JECT NAM
+ 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x0620: E ON E
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10,
+ //0x0630: ..
+ 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+ //0x0640: .... .... .... ....
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ //0x0650: .... ...D :... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0660: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0670: .... .... .... ....
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08,
//0x0680: .... .... .... ....
- 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0690: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x06a0: .... .... .... ....
@@ -7360,23 +7360,23 @@ void DreamGenContext::__start() {
//0x06f0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0700: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02,
//0x0710: .... .... .... ....
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0720: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0730: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0740: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0750: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0760: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0770: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0780: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, };
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, };
ds.assign(src, src + sizeof(src));
dreamweb();
}
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index b8aecee432..fa7fa79173 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -32,21 +32,21 @@
namespace DreamGen {
-static const uint16 offset_speechfile = 0x060f;
-static const uint16 offset_operand1 = 0x052a;
-static const uint16 offset_comlist = 0x0484;
-static const uint16 offset_money2poke = 0x0559;
-static const uint16 offset_discopslist = 0x05b0;
-static const uint16 offset_openchangesize = 0x044c;
-static const uint16 offset_keys = 0x04c0;
-static const uint16 offset_diarylist = 0x055c;
-static const uint16 offset_quitlist = 0x046e;
-static const uint16 offset_rootdir = 0x0538;
-static const uint16 offset_decidelist = 0x05df;
-static const uint16 offset_money1poke = 0x0554;
-static const uint16 offset_commandline = 0x061c;
-static const uint16 offset_opslist = 0x0586;
-static const uint16 offset_talklist = 0x044e;
+static const uint16 offset_money1poke = 0x054e;
+static const uint16 offset_talklist = 0x0448;
+static const uint16 offset_decidelist = 0x05d9;
+static const uint16 offset_discopslist = 0x05aa;
+static const uint16 offset_openchangesize = 0x0446;
+static const uint16 offset_operand1 = 0x0524;
+static const uint16 offset_speechfile = 0x0609;
+static const uint16 offset_comlist = 0x047e;
+static const uint16 offset_opslist = 0x0580;
+static const uint16 offset_diarylist = 0x0556;
+static const uint16 offset_rootdir = 0x0532;
+static const uint16 offset_money2poke = 0x0553;
+static const uint16 offset_commandline = 0x0616;
+static const uint16 offset_keys = 0x04ba;
+static const uint16 offset_quitlist = 0x0468;
static const uint16 kStartvars = 0;
static const uint16 kProgresspoints = 1;
static const uint16 kWatchon = 2;
@@ -174,272 +174,269 @@ static const uint16 kFlagx = 154;
static const uint16 kFlagy = 155;
static const uint16 kCurrentex = 156;
static const uint16 kCurrentfree = 157;
-static const uint16 kCurrentframe = 158;
-static const uint16 kFramesad = 160;
-static const uint16 kDataad = 162;
-static const uint16 kFrsegment = 164;
-static const uint16 kObjectx = 166;
-static const uint16 kObjecty = 168;
-static const uint16 kOffsetx = 170;
-static const uint16 kOffsety = 172;
-static const uint16 kSavesize = 174;
-static const uint16 kSavesource = 176;
-static const uint16 kSavex = 178;
-static const uint16 kSavey = 179;
-static const uint16 kCurrentob = 180;
-static const uint16 kPrioritydep = 181;
-static const uint16 kDestpos = 182;
-static const uint16 kReallocation = 183;
-static const uint16 kRoomnum = 184;
-static const uint16 kNowinnewroom = 185;
-static const uint16 kResetmanxy = 186;
-static const uint16 kNewlocation = 187;
-static const uint16 kAutolocation = 188;
-static const uint16 kMustload = 189;
-static const uint16 kAnswered = 190;
-static const uint16 kSaidno = 191;
-static const uint16 kDoorcheck1 = 192;
-static const uint16 kDoorcheck2 = 193;
-static const uint16 kDoorcheck3 = 194;
-static const uint16 kDoorcheck4 = 195;
-static const uint16 kMousex = 196;
-static const uint16 kMousey = 198;
-static const uint16 kMousebutton = 200;
-static const uint16 kMousebutton1 = 202;
-static const uint16 kMousebutton2 = 204;
-static const uint16 kMousebutton3 = 206;
-static const uint16 kMousebutton4 = 208;
-static const uint16 kOldbutton = 210;
-static const uint16 kOldx = 212;
-static const uint16 kOldy = 214;
-static const uint16 kLastbutton = 216;
-static const uint16 kOldpointerx = 218;
-static const uint16 kOldpointery = 220;
-static const uint16 kDelherex = 222;
-static const uint16 kDelherey = 224;
-static const uint16 kPointerxs = 226;
-static const uint16 kPointerys = 227;
-static const uint16 kDelxs = 228;
-static const uint16 kDelys = 229;
-static const uint16 kPointerframe = 230;
-static const uint16 kPointerpower = 231;
-static const uint16 kAuxpointerframe = 232;
-static const uint16 kPointermode = 233;
-static const uint16 kPointerspeed = 234;
-static const uint16 kPointercount = 235;
-static const uint16 kInmaparea = 236;
-static const uint16 kReelpointer = 237;
-static const uint16 kSlotdata = 239;
-static const uint16 kThisslot = 240;
-static const uint16 kSlotflags = 241;
-static const uint16 kTakeoff = 242;
-static const uint16 kTalkmode = 244;
-static const uint16 kTalkpos = 245;
-static const uint16 kCharacter = 246;
-static const uint16 kPersondata = 247;
-static const uint16 kTalknum = 249;
-static const uint16 kNumberinroom = 250;
-static const uint16 kCurrentcel = 251;
-static const uint16 kOldselection = 252;
-static const uint16 kStopwalking = 253;
-static const uint16 kMouseon = 254;
-static const uint16 kPlayed = 255;
-static const uint16 kTimer1 = 257;
-static const uint16 kTimer2 = 258;
-static const uint16 kTimer3 = 259;
-static const uint16 kWholetimer = 260;
-static const uint16 kTimer1to = 262;
-static const uint16 kTimer2to = 263;
-static const uint16 kTimer3to = 264;
-static const uint16 kWatchdump = 265;
-static const uint16 kLogonum = 266;
-static const uint16 kOldlogonum = 267;
-static const uint16 kNewlogonum = 268;
-static const uint16 kNetseg = 269;
-static const uint16 kNetpoint = 271;
-static const uint16 kKeynum = 273;
-static const uint16 kCursorstate = 274;
-static const uint16 kPressed = 275;
-static const uint16 kPresspointer = 276;
-static const uint16 kGraphicpress = 278;
-static const uint16 kPresscount = 279;
-static const uint16 kKeypadax = 280;
-static const uint16 kKeypadcx = 282;
-static const uint16 kLightcount = 284;
-static const uint16 kFolderpage = 285;
-static const uint16 kDiarypage = 286;
-static const uint16 kMenucount = 287;
-static const uint16 kSymboltopx = 288;
-static const uint16 kSymboltopnum = 289;
-static const uint16 kSymboltopdir = 290;
-static const uint16 kSymbolbotx = 291;
-static const uint16 kSymbolbotnum = 292;
-static const uint16 kSymbolbotdir = 293;
-static const uint16 kSymboltolight = 294;
-static const uint16 kSymbol1 = 295;
-static const uint16 kSymbol2 = 296;
-static const uint16 kSymbol3 = 297;
-static const uint16 kSymbolnum = 298;
-static const uint16 kDumpx = 299;
-static const uint16 kDumpy = 301;
-static const uint16 kWalkandexam = 303;
-static const uint16 kWalkexamtype = 304;
-static const uint16 kWalkexamnum = 305;
-static const uint16 kCursloc = 306;
-static const uint16 kCurslocx = 308;
-static const uint16 kCurslocy = 310;
-static const uint16 kCurpos = 312;
-static const uint16 kMonadx = 314;
-static const uint16 kMonady = 316;
-static const uint16 kGotfrom = 318;
-static const uint16 kMonsource = 320;
-static const uint16 kNumtodo = 322;
-static const uint16 kTimecount = 324;
-static const uint16 kCounttotimed = 326;
-static const uint16 kTimedseg = 328;
-static const uint16 kTimedoffset = 330;
-static const uint16 kTimedy = 332;
-static const uint16 kTimedx = 333;
-static const uint16 kNeedtodumptimed = 334;
-static const uint16 kHandle = 335;
-static const uint16 kLoadingorsave = 337;
-static const uint16 kCurrentslot = 338;
-static const uint16 kCursorpos = 339;
-static const uint16 kColourpos = 340;
-static const uint16 kFadedirection = 341;
-static const uint16 kNumtofade = 342;
-static const uint16 kFadecount = 343;
-static const uint16 kAddtogreen = 344;
-static const uint16 kAddtored = 345;
-static const uint16 kAddtoblue = 346;
-static const uint16 kLastsoundreel = 347;
-static const uint16 kSoundbuffer = 349;
-static const uint16 kSoundbufferad = 351;
-static const uint16 kSoundbufferpage = 353;
-static const uint16 kSoundtimes = 354;
-static const uint16 kNeedsoundbuff = 355;
-static const uint16 kOldint9seg = 356;
-static const uint16 kOldint9add = 358;
-static const uint16 kOldint8seg = 360;
-static const uint16 kOldint8add = 362;
-static const uint16 kOldsoundintseg = 364;
-static const uint16 kOldsoundintadd = 366;
-static const uint16 kSoundbaseadd = 368;
-static const uint16 kDsp_status = 370;
-static const uint16 kDsp_write = 372;
-static const uint16 kDmaaddress = 374;
-static const uint16 kSoundint = 375;
-static const uint16 kSounddmachannel = 376;
-static const uint16 kSampleplaying = 377;
-static const uint16 kTestresult = 378;
-static const uint16 kCurrentirq = 379;
-static const uint16 kSpeechloaded = 380;
-static const uint16 kSpeechlength = 381;
-static const uint16 kVolume = 383;
-static const uint16 kVolumeto = 384;
-static const uint16 kVolumedirection = 385;
-static const uint16 kVolumecount = 386;
-static const uint16 kPlayblock = 387;
-static const uint16 kWongame = 388;
-static const uint16 kLasthardkey = 389;
-static const uint16 kBufferin = 390;
-static const uint16 kBufferout = 392;
-static const uint16 kExtras = 394;
-static const uint16 kWorkspace = 396;
-static const uint16 kMapstore = 398;
-static const uint16 kCharset1 = 400;
-static const uint16 kBuffers = 402;
-static const uint16 kMainsprites = 404;
-static const uint16 kBackdrop = 406;
-static const uint16 kMapdata = 408;
-static const uint16 kSounddata = 410;
-static const uint16 kSounddata2 = 412;
-static const uint16 kRecordspace = 414;
-static const uint16 kFreedat = 416;
-static const uint16 kSetdat = 418;
-static const uint16 kReel1 = 420;
-static const uint16 kReel2 = 422;
-static const uint16 kReel3 = 424;
-static const uint16 kRoomdesc = 426;
-static const uint16 kFreedesc = 428;
-static const uint16 kSetdesc = 430;
-static const uint16 kBlockdesc = 432;
-static const uint16 kSetframes = 434;
-static const uint16 kFreeframes = 436;
-static const uint16 kPeople = 438;
-static const uint16 kReels = 440;
-static const uint16 kCommandtext = 442;
-static const uint16 kPuzzletext = 444;
-static const uint16 kTraveltext = 446;
-static const uint16 kTempgraphics = 448;
-static const uint16 kTempgraphics2 = 450;
-static const uint16 kTempgraphics3 = 452;
-static const uint16 kTempsprites = 454;
-static const uint16 kTextfile1 = 456;
-static const uint16 kTextfile2 = 458;
-static const uint16 kTextfile3 = 460;
-static const uint16 kBlinkframe = 462;
-static const uint16 kBlinkcount = 463;
-static const uint16 kReasseschanges = 464;
-static const uint16 kPointerspath = 465;
-static const uint16 kManspath = 466;
-static const uint16 kPointerfirstpath = 467;
-static const uint16 kFinaldest = 468;
-static const uint16 kDestination = 469;
-static const uint16 kLinestartx = 470;
-static const uint16 kLinestarty = 472;
-static const uint16 kLineendx = 474;
-static const uint16 kLineendy = 476;
-static const uint16 kIncrement1 = 478;
-static const uint16 kIncrement2 = 480;
-static const uint16 kLineroutine = 482;
-static const uint16 kLinepointer = 483;
-static const uint16 kLinedirection = 484;
-static const uint16 kLinelength = 485;
-static const uint16 kLiftsoundcount = 486;
-static const uint16 kEmmhandle = 487;
-static const uint16 kEmmpageframe = 489;
-static const uint16 kEmmhardwarepage = 491;
-static const uint16 kCh0emmpage = 492;
-static const uint16 kCh0offset = 494;
-static const uint16 kCh0blockstocopy = 496;
-static const uint16 kCh0playing = 498;
-static const uint16 kCh0repeat = 499;
-static const uint16 kCh0oldemmpage = 500;
-static const uint16 kCh0oldoffset = 502;
-static const uint16 kCh0oldblockstocopy = 504;
-static const uint16 kCh1playing = 506;
-static const uint16 kCh1emmpage = 507;
-static const uint16 kCh1offset = 509;
-static const uint16 kCh1blockstocopy = 511;
-static const uint16 kCh1blocksplayed = 513;
-static const uint16 kSoundbufferwrite = 515;
-static const uint16 kSoundemmpage = 517;
-static const uint16 kSpeechemmpage = 519;
-static const uint16 kCurrentsample = 521;
-static const uint16 kRoomssample = 522;
-static const uint16 kGameerror = 523;
-static const uint16 kHowmuchalloc = 524;
-static const uint16 kReelroutines = 526;
-static const uint16 kCharacterset3 = 983;
-static const uint16 kBasicsample = 996;
-static const uint16 kDiarygraphic = 1009;
-static const uint16 kDiarytext = 1022;
-static const uint16 kEndtextname = 1035;
-static const uint16 kVolumetabname = 1048;
-static const uint16 kGungraphic = 1061;
-static const uint16 kMonkface = 1074;
-static const uint16 kTitle7graphics = 1087;
-static const uint16 kCurrentfile = 1350;
-static const uint16 kRoomscango = 1661;
-static const uint16 kRoompics = 1677;
-static const uint16 kOplist = 1692;
-static const uint16 kInputline = 1695;
-static const uint16 kPresslist = 1823;
-static const uint16 kSavenames = 1829;
-static const uint16 kQuitrequested = 1948;
-static const uint16 kSubtitles = 1949;
-static const uint16 kForeignrelease = 1950;
+static const uint16 kFramesad = 158;
+static const uint16 kDataad = 160;
+static const uint16 kFrsegment = 162;
+static const uint16 kObjectx = 164;
+static const uint16 kObjecty = 166;
+static const uint16 kOffsetx = 168;
+static const uint16 kOffsety = 170;
+static const uint16 kSavesize = 172;
+static const uint16 kSavesource = 174;
+static const uint16 kSavex = 176;
+static const uint16 kSavey = 177;
+static const uint16 kCurrentob = 178;
+static const uint16 kPrioritydep = 179;
+static const uint16 kDestpos = 180;
+static const uint16 kReallocation = 181;
+static const uint16 kRoomnum = 182;
+static const uint16 kNowinnewroom = 183;
+static const uint16 kResetmanxy = 184;
+static const uint16 kNewlocation = 185;
+static const uint16 kAutolocation = 186;
+static const uint16 kMustload = 187;
+static const uint16 kAnswered = 188;
+static const uint16 kSaidno = 189;
+static const uint16 kDoorcheck1 = 190;
+static const uint16 kDoorcheck2 = 191;
+static const uint16 kDoorcheck3 = 192;
+static const uint16 kDoorcheck4 = 193;
+static const uint16 kMousex = 194;
+static const uint16 kMousey = 196;
+static const uint16 kMousebutton = 198;
+static const uint16 kMousebutton1 = 200;
+static const uint16 kMousebutton2 = 202;
+static const uint16 kMousebutton3 = 204;
+static const uint16 kMousebutton4 = 206;
+static const uint16 kOldbutton = 208;
+static const uint16 kOldx = 210;
+static const uint16 kOldy = 212;
+static const uint16 kLastbutton = 214;
+static const uint16 kOldpointerx = 216;
+static const uint16 kOldpointery = 218;
+static const uint16 kDelherex = 220;
+static const uint16 kDelherey = 222;
+static const uint16 kPointerxs = 224;
+static const uint16 kPointerys = 225;
+static const uint16 kDelxs = 226;
+static const uint16 kDelys = 227;
+static const uint16 kPointerframe = 228;
+static const uint16 kPointerpower = 229;
+static const uint16 kAuxpointerframe = 230;
+static const uint16 kPointermode = 231;
+static const uint16 kPointerspeed = 232;
+static const uint16 kPointercount = 233;
+static const uint16 kInmaparea = 234;
+static const uint16 kSlotdata = 235;
+static const uint16 kThisslot = 236;
+static const uint16 kSlotflags = 237;
+static const uint16 kTalkmode = 238;
+static const uint16 kTalkpos = 239;
+static const uint16 kCharacter = 240;
+static const uint16 kPersondata = 241;
+static const uint16 kTalknum = 243;
+static const uint16 kNumberinroom = 244;
+static const uint16 kCurrentcel = 245;
+static const uint16 kOldselection = 246;
+static const uint16 kStopwalking = 247;
+static const uint16 kMouseon = 248;
+static const uint16 kPlayed = 249;
+static const uint16 kTimer1 = 251;
+static const uint16 kTimer2 = 252;
+static const uint16 kTimer3 = 253;
+static const uint16 kWholetimer = 254;
+static const uint16 kTimer1to = 256;
+static const uint16 kTimer2to = 257;
+static const uint16 kTimer3to = 258;
+static const uint16 kWatchdump = 259;
+static const uint16 kLogonum = 260;
+static const uint16 kOldlogonum = 261;
+static const uint16 kNewlogonum = 262;
+static const uint16 kNetseg = 263;
+static const uint16 kNetpoint = 265;
+static const uint16 kKeynum = 267;
+static const uint16 kCursorstate = 268;
+static const uint16 kPressed = 269;
+static const uint16 kPresspointer = 270;
+static const uint16 kGraphicpress = 272;
+static const uint16 kPresscount = 273;
+static const uint16 kKeypadax = 274;
+static const uint16 kKeypadcx = 276;
+static const uint16 kLightcount = 278;
+static const uint16 kFolderpage = 279;
+static const uint16 kDiarypage = 280;
+static const uint16 kMenucount = 281;
+static const uint16 kSymboltopx = 282;
+static const uint16 kSymboltopnum = 283;
+static const uint16 kSymboltopdir = 284;
+static const uint16 kSymbolbotx = 285;
+static const uint16 kSymbolbotnum = 286;
+static const uint16 kSymbolbotdir = 287;
+static const uint16 kSymboltolight = 288;
+static const uint16 kSymbol1 = 289;
+static const uint16 kSymbol2 = 290;
+static const uint16 kSymbol3 = 291;
+static const uint16 kSymbolnum = 292;
+static const uint16 kDumpx = 293;
+static const uint16 kDumpy = 295;
+static const uint16 kWalkandexam = 297;
+static const uint16 kWalkexamtype = 298;
+static const uint16 kWalkexamnum = 299;
+static const uint16 kCursloc = 300;
+static const uint16 kCurslocx = 302;
+static const uint16 kCurslocy = 304;
+static const uint16 kCurpos = 306;
+static const uint16 kMonadx = 308;
+static const uint16 kMonady = 310;
+static const uint16 kGotfrom = 312;
+static const uint16 kMonsource = 314;
+static const uint16 kNumtodo = 316;
+static const uint16 kTimecount = 318;
+static const uint16 kCounttotimed = 320;
+static const uint16 kTimedseg = 322;
+static const uint16 kTimedoffset = 324;
+static const uint16 kTimedy = 326;
+static const uint16 kTimedx = 327;
+static const uint16 kNeedtodumptimed = 328;
+static const uint16 kHandle = 329;
+static const uint16 kLoadingorsave = 331;
+static const uint16 kCurrentslot = 332;
+static const uint16 kCursorpos = 333;
+static const uint16 kColourpos = 334;
+static const uint16 kFadedirection = 335;
+static const uint16 kNumtofade = 336;
+static const uint16 kFadecount = 337;
+static const uint16 kAddtogreen = 338;
+static const uint16 kAddtored = 339;
+static const uint16 kAddtoblue = 340;
+static const uint16 kLastsoundreel = 341;
+static const uint16 kSoundbuffer = 343;
+static const uint16 kSoundbufferad = 345;
+static const uint16 kSoundbufferpage = 347;
+static const uint16 kSoundtimes = 348;
+static const uint16 kNeedsoundbuff = 349;
+static const uint16 kOldint9seg = 350;
+static const uint16 kOldint9add = 352;
+static const uint16 kOldint8seg = 354;
+static const uint16 kOldint8add = 356;
+static const uint16 kOldsoundintseg = 358;
+static const uint16 kOldsoundintadd = 360;
+static const uint16 kSoundbaseadd = 362;
+static const uint16 kDsp_status = 364;
+static const uint16 kDsp_write = 366;
+static const uint16 kDmaaddress = 368;
+static const uint16 kSoundint = 369;
+static const uint16 kSounddmachannel = 370;
+static const uint16 kSampleplaying = 371;
+static const uint16 kTestresult = 372;
+static const uint16 kCurrentirq = 373;
+static const uint16 kSpeechloaded = 374;
+static const uint16 kSpeechlength = 375;
+static const uint16 kVolume = 377;
+static const uint16 kVolumeto = 378;
+static const uint16 kVolumedirection = 379;
+static const uint16 kVolumecount = 380;
+static const uint16 kPlayblock = 381;
+static const uint16 kWongame = 382;
+static const uint16 kLasthardkey = 383;
+static const uint16 kBufferin = 384;
+static const uint16 kBufferout = 386;
+static const uint16 kExtras = 388;
+static const uint16 kWorkspace = 390;
+static const uint16 kMapstore = 392;
+static const uint16 kCharset1 = 394;
+static const uint16 kBuffers = 396;
+static const uint16 kMainsprites = 398;
+static const uint16 kBackdrop = 400;
+static const uint16 kMapdata = 402;
+static const uint16 kSounddata = 404;
+static const uint16 kSounddata2 = 406;
+static const uint16 kRecordspace = 408;
+static const uint16 kFreedat = 410;
+static const uint16 kSetdat = 412;
+static const uint16 kReel1 = 414;
+static const uint16 kReel2 = 416;
+static const uint16 kReel3 = 418;
+static const uint16 kRoomdesc = 420;
+static const uint16 kFreedesc = 422;
+static const uint16 kSetdesc = 424;
+static const uint16 kBlockdesc = 426;
+static const uint16 kSetframes = 428;
+static const uint16 kFreeframes = 430;
+static const uint16 kPeople = 432;
+static const uint16 kReels = 434;
+static const uint16 kCommandtext = 436;
+static const uint16 kPuzzletext = 438;
+static const uint16 kTraveltext = 440;
+static const uint16 kTempgraphics = 442;
+static const uint16 kTempgraphics2 = 444;
+static const uint16 kTempgraphics3 = 446;
+static const uint16 kTempsprites = 448;
+static const uint16 kTextfile1 = 450;
+static const uint16 kTextfile2 = 452;
+static const uint16 kTextfile3 = 454;
+static const uint16 kBlinkframe = 456;
+static const uint16 kBlinkcount = 457;
+static const uint16 kReasseschanges = 458;
+static const uint16 kPointerspath = 459;
+static const uint16 kManspath = 460;
+static const uint16 kPointerfirstpath = 461;
+static const uint16 kFinaldest = 462;
+static const uint16 kDestination = 463;
+static const uint16 kLinestartx = 464;
+static const uint16 kLinestarty = 466;
+static const uint16 kLineendx = 468;
+static const uint16 kLineendy = 470;
+static const uint16 kIncrement1 = 472;
+static const uint16 kIncrement2 = 474;
+static const uint16 kLineroutine = 476;
+static const uint16 kLinepointer = 477;
+static const uint16 kLinedirection = 478;
+static const uint16 kLinelength = 479;
+static const uint16 kLiftsoundcount = 480;
+static const uint16 kEmmhandle = 481;
+static const uint16 kEmmpageframe = 483;
+static const uint16 kEmmhardwarepage = 485;
+static const uint16 kCh0emmpage = 486;
+static const uint16 kCh0offset = 488;
+static const uint16 kCh0blockstocopy = 490;
+static const uint16 kCh0playing = 492;
+static const uint16 kCh0repeat = 493;
+static const uint16 kCh0oldemmpage = 494;
+static const uint16 kCh0oldoffset = 496;
+static const uint16 kCh0oldblockstocopy = 498;
+static const uint16 kCh1playing = 500;
+static const uint16 kCh1emmpage = 501;
+static const uint16 kCh1offset = 503;
+static const uint16 kCh1blockstocopy = 505;
+static const uint16 kCh1blocksplayed = 507;
+static const uint16 kSoundbufferwrite = 509;
+static const uint16 kSoundemmpage = 511;
+static const uint16 kSpeechemmpage = 513;
+static const uint16 kCurrentsample = 515;
+static const uint16 kRoomssample = 516;
+static const uint16 kGameerror = 517;
+static const uint16 kHowmuchalloc = 518;
+static const uint16 kReelroutines = 520;
+static const uint16 kCharacterset3 = 977;
+static const uint16 kBasicsample = 990;
+static const uint16 kDiarygraphic = 1003;
+static const uint16 kDiarytext = 1016;
+static const uint16 kEndtextname = 1029;
+static const uint16 kVolumetabname = 1042;
+static const uint16 kGungraphic = 1055;
+static const uint16 kMonkface = 1068;
+static const uint16 kTitle7graphics = 1081;
+static const uint16 kCurrentfile = 1344;
+static const uint16 kRoomscango = 1655;
+static const uint16 kRoompics = 1671;
+static const uint16 kOplist = 1686;
+static const uint16 kInputline = 1689;
+static const uint16 kPresslist = 1817;
+static const uint16 kSavenames = 1823;
+static const uint16 kQuitrequested = 1942;
+static const uint16 kSubtitles = 1943;
+static const uint16 kForeignrelease = 1944;
static const uint16 kBlocktextdat = (0);
static const uint16 kPersonframes = (0);
static const uint16 kDebuglevel1 = (0);
@@ -478,8 +475,8 @@ static const uint16 kListofchanges = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768
static const uint16 kUndertimedtext = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4));
static const uint16 kRainlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30));
static const uint16 kInitialreelrouts = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64));
-static const uint16 kInitialvars = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
-static const uint16 kLengthofbuffer = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526+68-0);
+static const uint16 kInitialvars = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520);
+static const uint16 kLengthofbuffer = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+977-520+68-0);
static const uint16 kReellist = (0+(36*144));
static const uint16 kIntext = (0+(38*2));
static const uint16 kLengthofmap = (0+(66*60));
@@ -531,7 +528,7 @@ static const uint16 kZoomx = (8);
static const uint16 kInventx = (80);
static const uint16 kMenux = (80+40);
static const uint16 kHeaderlen = (96);
-static const uint16 kLenofreelrouts = (983-526);
+static const uint16 kLenofreelrouts = (977-520);
class DreamGenContext : public DreamBase, public Context {
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 992a080f6c..b14cfc554c 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -464,36 +464,33 @@ void DreamGenContext::faceRightWay() {
data.byte(kLeavedirection) = dir;
}
-// Locate the reel segment (reel1, reel2, reel3) this frame is stored in.
-// The return value is a pointer to the start of the segment.
-// data.word(kCurrentframe) - data.word(kTakeoff) is the number of the frame
-// inside that segment
-Frame *DreamGenContext::findSource() {
- uint16 currentFrame = data.word(kCurrentframe);
- if (currentFrame < 160) {
- data.word(kTakeoff) = 0;
- return (Frame *)getSegment(data.word(kReel1)).ptr(0, 0);
- } else if (currentFrame < 320) {
- data.word(kTakeoff) = 160;
- return (Frame *)getSegment(data.word(kReel2)).ptr(0, 0);
- } else {
- data.word(kTakeoff) = 320;
- return (Frame *)getSegment(data.word(kReel3)).ptr(0, 0);
- }
-}
-
Reel *DreamBase::getReelStart(uint16 reelPointer) {
Reel *reel = (Reel *)getSegment(data.word(kReels)).ptr(kReellist + reelPointer * sizeof(Reel) * 8, sizeof(Reel));
return reel;
}
-void DreamGenContext::showReelFrame(Reel *reel) {
+// Locate the reel segment (reel1, reel2, reel3) this frame is stored in,
+// and adjust the frame number relative to this segment.
+const Frame *DreamBase::findSource(uint16 &frame) {
+ uint16 base;
+ if (frame < 160) {
+ base = data.word(kReel1);
+ } else if (frame < 320) {
+ frame -= 160;
+ base = data.word(kReel2);
+ } else {
+ frame -= 320;
+ base = data.word(kReel3);
+ }
+ return (const Frame *)getSegment(base).ptr(0, (frame+1)*sizeof(Frame));
+}
+
+void DreamBase::showReelFrame(Reel *reel) {
uint16 x = reel->x + data.word(kMapadx);
uint16 y = reel->y + data.word(kMapady);
- data.word(kCurrentframe) = reel->frame();
- Frame *source = findSource();
- uint16 frame = data.word(kCurrentframe) - data.word(kTakeoff);
- showFrame(source, x, y, frame, 8);
+ uint16 frame = reel->frame();
+ const Frame *base = findSource(frame);
+ showFrame(base, x, y, frame, 8);
}
void DreamGenContext::showGameReel() {
@@ -508,11 +505,9 @@ void DreamGenContext::showGameReel(ReelRoutine *routine) {
routine->setReelPointer(reelPointer);
}
-const Frame *DreamGenContext::getReelFrameAX(uint16 frame) {
- data.word(kCurrentframe) = frame;
- Frame *source = findSource();
- uint16 offset = data.word(kCurrentframe) - data.word(kTakeoff);
- return source + offset;
+const Frame *DreamBase::getReelFrameAX(uint16 frame) {
+ const Frame *base = findSource(frame);
+ return base + frame;
}
void DreamGenContext::showRain() {
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 3bbba77d93..80433c1134 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -115,11 +115,8 @@
void wideDoor(Sprite *sprite, SetObject *objData);
void lockedDoorway(Sprite *sprite, SetObject *objData);
void liftSprite(Sprite *sprite, SetObject *objData);
- Frame *findSource();
void showGameReel();
void showGameReel(ReelRoutine *routine);
- void showReelFrame(Reel *reel);
- const Frame *getReelFrameAX(uint16 frame);
void turnPathOn(uint8 param);
void turnPathOff(uint8 param);
void turnPathOn();
@@ -162,8 +159,8 @@
uint8 getMapAd(const uint8 *setData);
uint8 getXAd(const uint8 *setData, uint8 *result);
uint8 getYAd(const uint8 *setData, uint8 *result);
- void calcFrFrame();
- void calcFrFrame(uint8* width, uint8* height);
+ void calcFrFrame(uint16 frame);
+ void calcFrFrame(uint16 frame, uint8* width, uint8* height);
void finalFrame();
void finalFrame(uint16 *x, uint16 *y);
void showAllObs();
diff --git a/engines/dreamweb/talk.cpp b/engines/dreamweb/talk.cpp
index 42fc3523a5..86d1b886ef 100644
--- a/engines/dreamweb/talk.cpp
+++ b/engines/dreamweb/talk.cpp
@@ -30,10 +30,9 @@ uint16 DreamGenContext::getPersFrame(uint8 index) {
void DreamGenContext::convIcons() {
uint8 index = data.byte(kCharacter) & 127;
- data.word(kCurrentframe) = getPersFrame(index);
- Frame *frame = findSource();
- uint16 frameNumber = (data.word(kCurrentframe) - data.word(kTakeoff)) & 0xff;
- showFrame(frame, 234, 2, frameNumber, 0);
+ uint16 frame = getPersFrame(index);
+ const Frame *base = findSource(frame);
+ showFrame(base, 234, 2, frame, 0);
}
} // End of namespace DreamGen