aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBertrand Augereau2011-12-04 17:53:55 +0100
committerBertrand Augereau2011-12-04 18:23:30 +0100
commit87ac82db27e10317370b3a7637cf094f4e1492b9 (patch)
tree1cf44933c52664d8a9d16d4de66a5e54dfcf142e /engines
parent8ff9e0cbff38e092b62dd55df4136aea2c8bff44 (diff)
downloadscummvm-rg350-87ac82db27e10317370b3a7637cf094f4e1492b9.tar.gz
scummvm-rg350-87ac82db27e10317370b3a7637cf094f4e1492b9.tar.bz2
scummvm-rg350-87ac82db27e10317370b3a7637cf094f4e1492b9.zip
DREAMWEB: kIcons1 and kIcons2 ownership transferred from the VM to the engine
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/dreamgen.cpp472
-rw-r--r--engines/dreamweb/dreamgen.h260
-rw-r--r--engines/dreamweb/dreamweb.cpp6
-rw-r--r--engines/dreamweb/dreamweb.h12
-rw-r--r--engines/dreamweb/runtime.h9
-rw-r--r--engines/dreamweb/structs.h5
-rw-r--r--engines/dreamweb/stubs.cpp31
-rw-r--r--engines/dreamweb/stubs.h2
8 files changed, 418 insertions, 379 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 172e822749..c25cef2444 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2046,7 +2046,7 @@ void DreamGenContext::showGun() {
data.byte(kRoomssample) = 34;
loadRoomsSample();
data.byte(kVolume) = 0;
- dx = 1172;
+ dx = 1168;
loadIntoTemp();
createPanel2();
ds = data.word(kTempgraphics);
@@ -2069,7 +2069,7 @@ void DreamGenContext::showGun() {
al = 12;
ah = 0;
playChannel0();
- dx = 1146;
+ dx = 1142;
loadTempText();
rollEndCredits2();
getRidOfTempText();
@@ -2317,7 +2317,7 @@ void DreamGenContext::initialMonCols() {
void DreamGenContext::endGame() {
STACK_CHECK;
- dx = 1146;
+ dx = 1142;
loadTempText();
monkSpeaking();
gettingShot();
@@ -2332,7 +2332,7 @@ void DreamGenContext::monkSpeaking() {
STACK_CHECK;
data.byte(kRoomssample) = 35;
loadRoomsSample();
- dx = 1185;
+ dx = 1181;
loadIntoTemp();
clearWork();
showMonk();
@@ -2399,7 +2399,7 @@ void DreamGenContext::gettingShot() {
void DreamGenContext::bibleQuote() {
STACK_CHECK;
mode640x480();
- dx = 1198;
+ dx = 1194;
showPCX();
fadeScreenUps();
cx = 80;
@@ -2438,7 +2438,7 @@ hangonloope:
void DreamGenContext::intro() {
STACK_CHECK;
- dx = 1133;
+ dx = 1129;
loadTempText();
loadPalFromIFF();
setMode();
@@ -2571,7 +2571,7 @@ void DreamGenContext::realCredits() {
mode640x480();
cx = 35;
hangOn();
- dx = 1211;
+ dx = 1207;
showPCX();
al = 12;
ah = 0;
@@ -2593,7 +2593,7 @@ void DreamGenContext::realCredits() {
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto realcreditsearly;
- dx = 1224;
+ dx = 1220;
showPCX();
al = 12;
ah = 0;
@@ -2615,7 +2615,7 @@ void DreamGenContext::realCredits() {
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto realcreditsearly;
- dx = 1237;
+ dx = 1233;
showPCX();
al = 12;
ah = 0;
@@ -2637,7 +2637,7 @@ void DreamGenContext::realCredits() {
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto realcreditsearly;
- dx = 1250;
+ dx = 1246;
showPCX();
al = 12;
ah = 0;
@@ -2659,7 +2659,7 @@ void DreamGenContext::realCredits() {
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto realcreditsearly;
- dx = 1263;
+ dx = 1259;
showPCX();
al = 12;
ah = 0;
@@ -2681,7 +2681,7 @@ void DreamGenContext::realCredits() {
_cmp(data.byte(kLasthardkey), 1);
if (flags.z())
goto realcreditsearly;
- dx = 1276;
+ dx = 1272;
showPCX();
fadeScreenUps();
cx = 60;
@@ -5112,14 +5112,14 @@ void DreamGenContext::getDestInfo() {
push(ax);
dx = data;
es = dx;
- si = 1938;
+ si = 1934;
_add(si, ax);
cl = es.byte(si);
ax = pop();
push(cx);
dx = data;
es = dx;
- si = 1954;
+ si = 1950;
_add(si, ax);
ax = pop();
}
@@ -5296,23 +5296,23 @@ clearedlocations:
bx = ax;
dx = data;
es = dx;
- _add(bx, 1938);
+ _add(bx, 1934);
es.byte(bx) = 0;
}
void DreamGenContext::readDestIcon() {
STACK_CHECK;
- dx = 1081;
+ dx = 1077;
loadIntoTemp();
- dx = 1094;
+ dx = 1090;
loadIntoTemp2();
- dx = 1055;
+ dx = 1051;
loadIntoTemp3();
}
void DreamGenContext::readCityPic() {
STACK_CHECK;
- dx = 1068;
+ dx = 1064;
loadIntoTemp();
}
@@ -5411,7 +5411,7 @@ void DreamGenContext::delChar() {
si = data.word(kCurpos);
_add(si, si);
es = cs;
- _add(si, 1972);
+ _add(si, 1968);
es.byte(si) = 0;
al = es.byte(si+1);
ah = 0;
@@ -5438,7 +5438,7 @@ void DreamGenContext::execCommand() {
es = cs;
bx = offset_comlist;
ds = cs;
- si = 1972;
+ si = 1968;
al = ds.byte(si);
_cmp(al, 0);
if (!flags.z())
@@ -5531,7 +5531,7 @@ dirroot:
si = offset_rootdir;
_inc(si);
es = cs;
- di = 1627;
+ di = 1623;
_inc(di);
cx = 12;
_movsb(cx, true);
@@ -5633,7 +5633,7 @@ notyetassigned:
push(bx);
_add(bx, 2);
ds = cs;
- si = 1972;
+ si = 1968;
checkpass:
_lodsw();
ah = es.byte(bx);
@@ -5704,7 +5704,7 @@ void DreamGenContext::read() {
return;
okcom:
es = cs;
- di = 1627;
+ di = 1623;
ax = data.word(kTextfile1);
data.word(kMonsource) = ax;
ds = ax;
@@ -5834,7 +5834,7 @@ keyok2:
ds = cs;
si = offset_operand1+1;
es = cs;
- di = 1627+1;
+ di = 1623+1;
cx = 12;
_movsb(cx, true);
monitorLogo();
@@ -5961,7 +5961,7 @@ void DreamGenContext::parser() {
al = '=';
_stosb();
ds = cs;
- si = 1972;
+ si = 1968;
notspace1:
_lodsw();
_cmp(al, 32);
@@ -8784,7 +8784,7 @@ nowinch:
void DreamGenContext::loadKeypad() {
STACK_CHECK;
- dx = 1042;
+ dx = 1038;
loadIntoTemp();
}
@@ -9121,11 +9121,11 @@ void DreamGenContext::dumpSymBox() {
void DreamGenContext::useDiary() {
STACK_CHECK;
getRidOfReels();
- dx = 1107;
+ dx = 1103;
loadIntoTemp();
- dx = 1120;
+ dx = 1116;
loadTempText();
- dx = 1003;
+ dx = 999;
loadTempCharset();
createPanel();
showIcon();
@@ -9452,7 +9452,7 @@ opsblock1:
void DreamGenContext::loadSaveBox() {
STACK_CHECK;
- dx = 1055;
+ dx = 1051;
loadIntoTemp();
}
@@ -9585,7 +9585,7 @@ void DreamGenContext::getNamePos() {
_mul(cx);
dx = data;
es = dx;
- bx = 2106;
+ bx = 2102;
_add(bx, ax);
al = data.byte(kCursorpos);
ah = 0;
@@ -9739,7 +9739,7 @@ void DreamGenContext::showNames() {
STACK_CHECK;
dx = data;
es = dx;
- si = 2106+1;
+ si = 2102+1;
di = (60)+21;
bx = (52)+10;
cl = 0;
@@ -10207,7 +10207,7 @@ void DreamGenContext::pickupOb() {
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)+991-534+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)+987-530+68-0)/2;
ax = 0;
di = 0;
_stosw(cx, true);
@@ -10219,11 +10219,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 = 534;
- cx = (991-534);
+ si = 530;
+ cx = (987-530);
_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)+991-534);
+ 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)+987-530);
ds = cs;
si = 0;
cx = (68-0);
@@ -10241,11 +10241,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 = 534;
- cx = (991-534);
+ di = 530;
+ cx = (987-530);
_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)+991-534);
+ 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)+987-530);
es = cs;
di = 0;
cx = (68-0);
@@ -10259,7 +10259,7 @@ void DreamGenContext::clearChanges() {
di = 0;
_stosw(cx, true);
es = cs;
- di = 1938;
+ di = 1934;
al = 1;
_stosb(2);
al = 0;
@@ -10981,199 +10981,199 @@ void DreamGenContext::__start() {
//0x0180: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0190: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff,
//0x01c0: .... .... .... ....
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0x17, 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,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
//0x01f0: .... .... .... ....
- 0x00, 0x00, 0xff, 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, 0x00, 0x00,
//0x0200: .... .... .... ....
- 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37,
- //0x0210: .... ..., .... ...7
- 0x00, 0x00, 0x00, 0x32, 0x14, 0x00, 0x18, 0x16, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21,
- //0x0220: ...2 .... .J.. ...!
- 0x0a, 0x4b, 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c,
- //0x0230: .K.. ..., .... ...,
- 0x00, 0x60, 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c, 0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c,
- //0x0240: .`.. ..., .v.. ...,
- 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x16, 0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16,
- //0x0250: .... .... .5.. ....
- 0x14, 0x28, 0x00, 0x01, 0x00, 0x02, 0x05, 0x16, 0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b,
- //0x0260: .(.. .... .2.. ....
- 0x0a, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b, 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b,
+ 0x00, 0x00, 0x01, 0x2c, 0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, 0x00, 0x32,
+ //0x0210: ..., .... ...7 ...2
+ 0x14, 0x00, 0x18, 0x16, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01,
+ //0x0220: .... .J.. ...! .K..
+ 0x00, 0x01, 0x01, 0x2c, 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03,
+ //0x0230: ..., .... ..., .`..
+ 0x00, 0x04, 0x01, 0x2c, 0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02,
+ //0x0240: ..., .v.. ..., ....
+ 0x00, 0x00, 0x05, 0x16, 0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, 0x00, 0x01,
+ //0x0250: .... .5.. .... .(..
+ 0x00, 0x02, 0x05, 0x16, 0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01,
+ //0x0260: .... .2.. .... ....
+ 0x00, 0x00, 0x02, 0x0b, 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02,
//0x0270: .... .... .... ....
- 0x0a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 0x00, 0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b,
- //0x0280: .... .... 2... ....
- 0x14, 0xfa, 0x00, 0x04, 0x00, 0x00, 0x17, 0x00, 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b,
- //0x0290: .... .... 2+.. ....
- 0x28, 0x82, 0x00, 0x02, 0x00, 0x01, 0x17, 0x16, 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16,
- //0x02a0: (... .... (z.. ....
- 0x28, 0x69, 0x00, 0x02, 0x00, 0x03, 0x17, 0x16, 0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b,
- //0x02b0: (i.. .... (Q.. ....
- 0x28, 0x87, 0x00, 0x02, 0x00, 0x05, 0x17, 0x16, 0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16,
- //0x02c0: (... .... (... ....
- 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16,
- //0x02d0: .... ..-. .... ..-.
- 0x1e, 0x27, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16,
- //0x02e0: .'.. ..-. .... ....
- 0x28, 0x20, 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16,
- //0x02f0: ( .. .... .@.. ....
- 0x14, 0x52, 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00,
- //0x0300: .R.. .... .... ....
- 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21, 0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b,
- //0x0310: .... ...! (... ....
- 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00,
- //0x0320: .... .... .... ....
- 0x32, 0x04, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16,
- //0x0330: 2... ..2. .y.. ..2.
- 0x1e, 0x00, 0x00, 0x14, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16,
- //0x0340: .... ..4. .... ..4.
- 0x1e, 0xe9, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21,
- //0x0350: .... ..2. (h.7 ..5!
- 0x00, 0x63, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16,
- //0x0360: .c.. ..2. (... ..2.
- 0x1e, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16,
- //0x0370: .... ..4. .9.. ..4.
- 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x36, 0x00, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c,
- //0x0380: .... ..6. .H.. ..7,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16,
+ 0x00, 0x01, 0x17, 0x00, 0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04,
+ //0x0280: .... 2... .... ....
+ 0x00, 0x00, 0x17, 0x00, 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02,
+ //0x0290: .... 2+.. .... (...
+ 0x00, 0x01, 0x17, 0x16, 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, 0x00, 0x02,
+ //0x02a0: .... (z.. .... (i..
+ 0x00, 0x03, 0x17, 0x16, 0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02,
+ //0x02b0: .... (Q.. .... (...
+ 0x00, 0x05, 0x17, 0x16, 0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02,
+ //0x02c0: .... (... .... ....
+ 0x00, 0x00, 0x2d, 0x16, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02,
+ //0x02d0: ..-. .... ..-. .'..
+ 0x00, 0x00, 0x2d, 0x16, 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, 0x00, 0x02,
+ //0x02e0: ..-. .... .... ( ..
+ 0x00, 0x00, 0x07, 0x0b, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, 0x00, 0x02,
+ //0x02f0: .... .@.. .... .R..
+ 0x00, 0x00, 0x1b, 0x0b, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02,
+ //0x0300: .... .... .... ....
+ 0x00, 0x00, 0x0e, 0x21, 0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01,
+ //0x0310: ...! (... .... ....
+ 0x00, 0x00, 0x02, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, 0x00, 0x02,
+ //0x0320: .... .... .... 2...
+ 0x00, 0x00, 0x32, 0x16, 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14,
+ //0x0330: ..2. .y.. ..2. ....
+ 0x00, 0x00, 0x34, 0x16, 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02,
+ //0x0340: ..4. .... ..4. ....
+ 0x00, 0x00, 0x32, 0x16, 0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, 0x00, 0x02,
+ //0x0350: ..2. (h.7 ..5! .c..
+ 0x00, 0x00, 0x32, 0x16, 0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02,
+ //0x0360: ..2. (... ..2. ....
+ 0x00, 0x00, 0x34, 0x16, 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02,
+ //0x0370: ..4. .9.. ..4. ....
+ 0x00, 0x00, 0x36, 0x00, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02,
+ //0x0380: ..6. .H.. ..7, ....
+ 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02,
//0x0390: .... .... .... ....
- 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16,
- //0x03a0: .... .... .,.. ....
- 0x1e, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b,
- //0x03b0: .... .... .... ....
- 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b, 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16,
- //0x03c0: ...2 .... ...2 ....
- 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x49,
- //0x03d0: ...2 ...! (..2 ...I
- 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x2e, 0x44, 0x41, 0x54, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
- //0x03e0: NSTA LL.D AT.D REAM
- 0x57, 0x45, 0x42, 0x2e, 0x43, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
- //0x03f0: WEB. C02. DREA MWEB
- 0x2e, 0x56, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39,
- //0x0400: .V00 .DRE AMWE B.V9
- 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x32, 0x00, 0x44,
- //0x0410: 9.DR EAMW EB.G 02.D
- 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x38, 0x00, 0x44, 0x52, 0x45, 0x41,
- //0x0420: REAM WEB. G08. DREA
- 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45,
- //0x0430: MWEB .G04 .DRE AMWE
- 0x42, 0x2e, 0x47, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47,
- //0x0440: B.G0 5.DR EAMW EB.G
- 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00,
- //0x0450: 06.D REAM WEB. G14.
- 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45,
- //0x0460: DREA MWEB .T51 .DRE
- 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57,
- //0x0470: AMWE B.T8 2.DR EAMW
- 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e,
- //0x0480: EB.T 83.D REAM WEB.
- 0x56, 0x4f, 0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33,
- //0x0490: VOL. DREA MWEB .G13
- 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52,
- //0x04a0: .DRE AMWE B.G1 5.DR
- 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
- //0x04b0: EAMW EB.I 00.D REAM
- 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
- //0x04c0: WEB. I01. DREA MWEB
- 0x2e, 0x49, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30,
- //0x04d0: .I02 .DRE AMWE B.I0
- 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x34, 0x00, 0x44,
- //0x04e0: 3.DR EAMW EB.I 04.D
- 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41,
- //0x04f0: REAM WEB. I05. DREA
- 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45,
- //0x0500: MWEB .I06 .DRE AMWE
- 0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x50,
- //0x0510: B.I0 7.DR EAMW EB.P
- 0x41, 0x4c, 0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0,
- //0x0520: AL.. ...@ .... .|..
- 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8,
- //0x0530: .".. .,.. ...@ ....
- 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00,
- //0x0540: .... ...@ .... .|..
- 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04,
- //0x0550: .@.. .... .... ....
- 0x00, 0x2c, 0x00, 0xc8, 0xc4, 0x68, 0x00, 0x7c, 0x00, 0x04, 0x00, 0x2c, 0x00, 0xcc, 0xc4, 0x18,
- //0x0560: .,.. .h.| ..., ....
- 0x01, 0x34, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xb0, 0xc4, 0x68, 0x00, 0xd8, 0x00, 0x8a, 0x00, 0xc0,
- //0x0570: .4.. .,.. .h.. ....
- 0x00, 0xd0, 0xc4, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40,
- //0x0580: .... .@.. ...| ...@
- 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20,
- //0x0590: .... .... .EXI T
- 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53,
- //0x05a0: H ELP LIS
- 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20,
- //0x05b0: T R EAD
- 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20,
- //0x05c0: LOG ON K EYS
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20,
- //0x05d0: ..P UBLI C
- 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
- //0x05e0: P UBLI C ..
- 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41,
- //0x05f0: .BLA CKDR AGON RYA
- 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52,
- //0x0600: N ...H ENDR
- 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20,
- //0x0610: IX L OUIS
- 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20,
- //0x0620: .. .SEP TIMU S
- 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20,
- //0x0630: BEC KETT ...
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f,
- //0x0640: ."RO
- 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20,
- //0x0650: OT ."
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30,
- //0x0660: .000 0.00
- 0x00, 0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83,
+ 0x00, 0x00, 0x0e, 0x16, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00,
+ //0x03a0: .... .,.. .... ....
+ 0x00, 0x00, 0x0c, 0x16, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32,
+ //0x03b0: .... .... .... ...2
+ 0x14, 0x00, 0x0b, 0x0b, 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32,
+ //0x03c0: .... ...2 .... ...2
+ 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x49, 0x4e, 0x53, 0x54, 0x41,
+ //0x03d0: ...! (..2 ...I NSTA
+ 0x4c, 0x4c, 0x2e, 0x44, 0x41, 0x54, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e,
+ //0x03e0: LL.D AT.D REAM WEB.
+ 0x43, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x30, 0x30,
+ //0x03f0: C02. DREA MWEB .V00
+ 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52,
+ //0x0400: .DRE AMWE B.V9 9.DR
+ 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
+ //0x0410: EAMW EB.G 02.D REAM
+ 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x38, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
+ //0x0420: WEB. G08. DREA MWEB
+ 0x2e, 0x47, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30,
+ //0x0430: .G04 .DRE AMWE B.G0
+ 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x36, 0x00, 0x44,
+ //0x0440: 5.DR EAMW EB.G 06.D
+ 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41,
+ //0x0450: REAM WEB. G14. DREA
+ 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45,
+ //0x0460: MWEB .T51 .DRE AMWE
+ 0x42, 0x2e, 0x54, 0x38, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54,
+ //0x0470: B.T8 2.DR EAMW EB.T
+ 0x38, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00,
+ //0x0480: 83.D REAM WEB. VOL.
+ 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33, 0x00, 0x44, 0x52, 0x45,
+ //0x0490: DREA MWEB .G13 .DRE
+ 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57,
+ //0x04a0: AMWE B.G1 5.DR EAMW
+ 0x45, 0x42, 0x2e, 0x49, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e,
+ //0x04b0: EB.I 00.D REAM WEB.
+ 0x49, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x32,
+ //0x04c0: I01. DREA MWEB .I02
+ 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x33, 0x00, 0x44, 0x52,
+ //0x04d0: .DRE AMWE B.I0 3.DR
+ 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
+ //0x04e0: EAMW EB.I 04.D REAM
+ 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
+ //0x04f0: WEB. I05. DREA MWEB
+ 0x2e, 0x49, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30,
+ //0x0500: .I06 .DRE AMWE B.I0
+ 0x37, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x50, 0x41, 0x4c, 0x00, 0x00,
+ //0x0510: 7.DR EAMW EB.P AL..
+ 0x01, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02,
+ //0x0520: ...@ .... .|.. ."..
+ 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff,
+ //0x0530: .,.. ...@ .... ....
+ 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00,
+ //0x0540: ...@ .... .|.. .@..
+ 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xc8,
+ //0x0550: .... .... .... .,..
+ 0xc4, 0x68, 0x00, 0x7c, 0x00, 0x04, 0x00, 0x2c, 0x00, 0xcc, 0xc4, 0x18, 0x01, 0x34, 0x01, 0x04,
+ //0x0560: .h.| ..., .... .4..
+ 0x00, 0x2c, 0x00, 0xb0, 0xc4, 0x68, 0x00, 0xd8, 0x00, 0x8a, 0x00, 0xc0, 0x00, 0xd0, 0xc4, 0x11,
+ //0x0570: .,.. .h.. .... ....
+ 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8,
+ //0x0580: .@.. ...| ...@ ....
+ 0x00, 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48,
+ //0x0590: .... .EXI T H
+ 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20,
+ //0x05a0: ELP LIS T
+ 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47,
+ //0x05b0: R EAD LOG
+ 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x05c0: ON K EYS
+ 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50,
+ //0x05d0: ..P UBLI C P
+ 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41,
+ //0x05e0: UBLI C .. .BLA
+ 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20,
+ //0x05f0: CKDR AGON RYA N
+ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20,
+ //0x0600: ...H ENDR IX
+ 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00,
+ //0x0610: L OUIS ..
+ 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43,
+ //0x0620: .SEP TIMU S BEC
+ 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x0630: KETT ...
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20,
+ //0x0640: ."RO OT
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ //0x0650: ."
+ 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca,
+ //0x0660: .000 0.00 ....
+ 0x00, 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18,
//0x0670: .... .... .... ....
- 0x00, 0x93, 0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00,
- //0x0680: .... .... .... .P..
- 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52,
- //0x0690: .@.. .... ...w ...R
- 0x00, 0x80, 0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc,
- //0x06a0: ...4 .F.. .>.o ....
- 0x00, 0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8,
- //0x06b0: ...D ...L ...@ ....
- 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46,
- //0x06c0: .... .w.. .R.. .D.F
- 0x00, 0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80,
- //0x06d0: ...> .o.P .... .p..
- 0x00, 0x48, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d,
- //0x06e0: .H.. .@.. .... ....
- 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00,
- //0x06f0: ...$ .... R... ..P.
- 0x93, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00,
- //0x0700: ..>. o... .... >.o.
- 0xc4, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50,
- //0x0710: .... @... .... ..SP
- 0x45, 0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57,
- //0x0720: EECH R24C 0005 .RAW
- 0x00, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45,
- //0x0730: .OBJ ECT NAME ONE
+ 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00,
+ //0x0680: .... .... .P.. .@..
+ 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34,
+ //0x0690: .... ...w ...R ...4
+ 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44,
+ //0x06a0: .F.. .>.o .... ...D
+ 0x00, 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff,
+ //0x06b0: ...L ...@ .... ....
+ 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e,
+ //0x06c0: .w.. .R.. .D.F ...>
+ 0x00, 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00,
+ //0x06d0: .o.P .... .p.. .H..
+ 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24,
+ //0x06e0: .@.. .... .... ...$
+ 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00,
+ //0x06f0: .... R... ..P. ..>.
+ 0x6f, 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00,
+ //0x0700: o... .... >.o. ....
+ 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48,
+ //0x0710: @... .... ..SP EECH
+ 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a,
+ //0x0720: R24C 0005 .RAW .OBJ
+ 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20,
+ //0x0730: ECT NAME ONE
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
//0x0740:
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10,
- //0x0750: ... ....
- 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- //0x0760: .... .... .... ....
- 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- //0x0770: ..D: .... .... ....
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01,
+ //0x0750: ... .... ....
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a,
+ //0x0760: .... .... .... ..D:
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ //0x0770: .... .... .... ....
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
//0x0780: .... .... .... ....
- 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00,
//0x0790: .... .... .... ....
- 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07,
+ 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00,
//0x07a0: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x07b0: .... .... .... ....
@@ -11191,33 +11191,33 @@ void DreamGenContext::__start() {
//0x0810: .... .... .... ....
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//0x0820: .... .... .... ....
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0830: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0840: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0850: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
//0x0860: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01,
//0x0870: .... .... .... ....
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01,
//0x0880: .... .... .... ....
- 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01,
//0x0890: .... .... .... ....
- 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- //0x08a0: .... .... .... ....
- 0x01, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x30, 0x00, 0x44, 0x52,
- //0x08b0: .DRE AMWE B.D0 0.DR
- 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
- //0x08c0: EAMW EB.D 01.D REAM
- 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42,
- //0x08d0: WEB. D02. DREA MWEB
- 0x2e, 0x44, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30,
- //0x08e0: .D03 .DRE AMWE B.D0
- 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x35, 0x00, 0x44,
- //0x08f0: 4.DR EAMW EB.D 05.D
- 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, };
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x52, 0x45,
+ //0x08a0: .... .... .... .DRE
+ 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57,
+ //0x08b0: AMWE B.D0 0.DR EAMW
+ 0x45, 0x42, 0x2e, 0x44, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e,
+ //0x08c0: EB.D 01.D REAM WEB.
+ 0x44, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x33,
+ //0x08d0: D02. DREA MWEB .D03
+ 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x34, 0x00, 0x44, 0x52,
+ //0x08e0: .DRE AMWE B.D0 4.DR
+ 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d,
+ //0x08f0: EAMW EB.D 05.D REAM
+ 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, };
ds.assign(src, src + sizeof(src));
dreamweb();
}
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index a080410e6e..80768274d4 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -36,23 +36,23 @@ public:
void __start();
#include "stubs.h" // Allow hand-reversed functions to have a signature different than void f()
- static const uint16 offset_diarylist = 0x0671;
- static const uint16 offset_discopslist = 0x06c5;
- static const uint16 offset_money2poke = 0x066e;
- static const uint16 offset_quitlist = 0x0545;
- static const uint16 offset_commandline = 0x0731;
- static const uint16 offset_keys = 0x05d5;
- static const uint16 offset_rootdir = 0x064d;
- static const uint16 offset_money1poke = 0x0669;
- static const uint16 offset_comlist = 0x0599;
- static const uint16 offset_opslist = 0x069b;
- static const uint16 offset_destlist = 0x055b;
- static const uint16 offset_speechfilename = 0x071e;
- static const uint16 offset_openchangesize = 0x0523;
- static const uint16 offset_operand1 = 0x063f;
- static const uint16 offset_decidelist = 0x06f4;
- static const uint16 offset_talklist = 0x0525;
- static const uint16 offset_speechfile = 0x0724;
+ static const uint16 offset_openchangesize = 0x051f;
+ static const uint16 offset_rootdir = 0x0649;
+ static const uint16 offset_decidelist = 0x06f0;
+ static const uint16 offset_speechfile = 0x0720;
+ static const uint16 offset_commandline = 0x072d;
+ static const uint16 offset_comlist = 0x0595;
+ static const uint16 offset_operand1 = 0x063b;
+ static const uint16 offset_speechfilename = 0x071a;
+ static const uint16 offset_opslist = 0x0697;
+ static const uint16 offset_talklist = 0x0521;
+ static const uint16 offset_money2poke = 0x066a;
+ static const uint16 offset_discopslist = 0x06c1;
+ static const uint16 offset_keys = 0x05d1;
+ static const uint16 offset_quitlist = 0x0541;
+ static const uint16 offset_money1poke = 0x0665;
+ static const uint16 offset_diarylist = 0x066d;
+ static const uint16 offset_destlist = 0x0557;
static const uint16 kStartvars = 0;
static const uint16 kProgresspoints = 1;
static const uint16 kWatchon = 2;
@@ -356,117 +356,115 @@ public:
static const uint16 kMapstore = 400;
static const uint16 kCharset1 = 402;
static const uint16 kTempcharset = 404;
- static const uint16 kIcons1 = 406;
- static const uint16 kIcons2 = 408;
- static const uint16 kBuffers = 410;
- static const uint16 kMainsprites = 412;
- static const uint16 kBackdrop = 414;
- static const uint16 kMapdata = 416;
- static const uint16 kSounddata = 418;
- static const uint16 kSounddata2 = 420;
- static const uint16 kRecordspace = 422;
- static const uint16 kFreedat = 424;
- static const uint16 kSetdat = 426;
- static const uint16 kReel1 = 428;
- static const uint16 kReel2 = 430;
- static const uint16 kReel3 = 432;
- static const uint16 kRoomdesc = 434;
- static const uint16 kFreedesc = 436;
- static const uint16 kSetdesc = 438;
- static const uint16 kBlockdesc = 440;
- static const uint16 kSetframes = 442;
- static const uint16 kFreeframes = 444;
- static const uint16 kPeople = 446;
- static const uint16 kReels = 448;
- static const uint16 kCommandtext = 450;
- static const uint16 kPuzzletext = 452;
- static const uint16 kTraveltext = 454;
- static const uint16 kTempgraphics = 456;
- static const uint16 kTempgraphics2 = 458;
- static const uint16 kTempgraphics3 = 460;
- static const uint16 kTempsprites = 462;
- static const uint16 kTextfile1 = 464;
- static const uint16 kTextfile2 = 466;
- static const uint16 kTextfile3 = 468;
- static const uint16 kBlinkframe = 470;
- static const uint16 kBlinkcount = 471;
- static const uint16 kReasseschanges = 472;
- static const uint16 kPointerspath = 473;
- static const uint16 kManspath = 474;
- static const uint16 kPointerfirstpath = 475;
- static const uint16 kFinaldest = 476;
- static const uint16 kDestination = 477;
- static const uint16 kLinestartx = 478;
- static const uint16 kLinestarty = 480;
- static const uint16 kLineendx = 482;
- static const uint16 kLineendy = 484;
- static const uint16 kIncrement1 = 486;
- static const uint16 kIncrement2 = 488;
- static const uint16 kLineroutine = 490;
- static const uint16 kLinepointer = 491;
- static const uint16 kLinedirection = 492;
- static const uint16 kLinelength = 493;
- static const uint16 kLiftsoundcount = 494;
- static const uint16 kEmmhandle = 495;
- static const uint16 kEmmpageframe = 497;
- static const uint16 kEmmhardwarepage = 499;
- static const uint16 kCh0emmpage = 500;
- static const uint16 kCh0offset = 502;
- static const uint16 kCh0blockstocopy = 504;
- static const uint16 kCh0playing = 506;
- static const uint16 kCh0repeat = 507;
- static const uint16 kCh0oldemmpage = 508;
- static const uint16 kCh0oldoffset = 510;
- static const uint16 kCh0oldblockstocopy = 512;
- static const uint16 kCh1playing = 514;
- static const uint16 kCh1emmpage = 515;
- static const uint16 kCh1offset = 517;
- static const uint16 kCh1blockstocopy = 519;
- static const uint16 kCh1blocksplayed = 521;
- static const uint16 kSoundbufferwrite = 523;
- static const uint16 kSoundemmpage = 525;
- static const uint16 kSpeechemmpage = 527;
- static const uint16 kCurrentsample = 529;
- static const uint16 kRoomssample = 530;
- static const uint16 kGameerror = 531;
- static const uint16 kHowmuchalloc = 532;
- static const uint16 kReelroutines = 534;
- static const uint16 kIdname = 991;
- static const uint16 kCharacterset3 = 1003;
- static const uint16 kSamplename = 1016;
- static const uint16 kBasicsample = 1029;
- static const uint16 kExtragraphics1 = 1042;
- static const uint16 kIcongraphics8 = 1055;
- static const uint16 kCityname = 1068;
- static const uint16 kTravelgraphic1 = 1081;
- static const uint16 kTravelgraphic2 = 1094;
- static const uint16 kDiarygraphic = 1107;
- static const uint16 kDiarytext = 1120;
- static const uint16 kIntrotextname = 1133;
- static const uint16 kEndtextname = 1146;
- static const uint16 kVolumetabname = 1159;
- static const uint16 kGungraphic = 1172;
- static const uint16 kMonkface = 1185;
- static const uint16 kTitle0graphics = 1198;
- static const uint16 kTitle1graphics = 1211;
- static const uint16 kTitle2graphics = 1224;
- static const uint16 kTitle3graphics = 1237;
- static const uint16 kTitle4graphics = 1250;
- static const uint16 kTitle5graphics = 1263;
- static const uint16 kTitle6graphics = 1276;
- static const uint16 kTitle7graphics = 1289;
- static const uint16 kPalettescreen = 1302;
- static const uint16 kCurrentfile = 1627;
- static const uint16 kRoomscango = 1938;
- static const uint16 kRoompics = 1954;
- static const uint16 kOplist = 1969;
- static const uint16 kInputline = 1972;
- static const uint16 kPresslist = 2100;
- static const uint16 kSavenames = 2106;
- static const uint16 kSavefiles = 2225;
- static const uint16 kQuitrequested = 2316;
- static const uint16 kSubtitles = 2317;
- static const uint16 kForeignrelease = 2318;
+ static const uint16 kBuffers = 406;
+ static const uint16 kMainsprites = 408;
+ static const uint16 kBackdrop = 410;
+ static const uint16 kMapdata = 412;
+ static const uint16 kSounddata = 414;
+ static const uint16 kSounddata2 = 416;
+ static const uint16 kRecordspace = 418;
+ static const uint16 kFreedat = 420;
+ static const uint16 kSetdat = 422;
+ static const uint16 kReel1 = 424;
+ static const uint16 kReel2 = 426;
+ static const uint16 kReel3 = 428;
+ static const uint16 kRoomdesc = 430;
+ static const uint16 kFreedesc = 432;
+ static const uint16 kSetdesc = 434;
+ static const uint16 kBlockdesc = 436;
+ static const uint16 kSetframes = 438;
+ static const uint16 kFreeframes = 440;
+ static const uint16 kPeople = 442;
+ static const uint16 kReels = 444;
+ static const uint16 kCommandtext = 446;
+ static const uint16 kPuzzletext = 448;
+ static const uint16 kTraveltext = 450;
+ static const uint16 kTempgraphics = 452;
+ static const uint16 kTempgraphics2 = 454;
+ static const uint16 kTempgraphics3 = 456;
+ static const uint16 kTempsprites = 458;
+ static const uint16 kTextfile1 = 460;
+ static const uint16 kTextfile2 = 462;
+ static const uint16 kTextfile3 = 464;
+ static const uint16 kBlinkframe = 466;
+ static const uint16 kBlinkcount = 467;
+ static const uint16 kReasseschanges = 468;
+ static const uint16 kPointerspath = 469;
+ static const uint16 kManspath = 470;
+ static const uint16 kPointerfirstpath = 471;
+ static const uint16 kFinaldest = 472;
+ static const uint16 kDestination = 473;
+ static const uint16 kLinestartx = 474;
+ static const uint16 kLinestarty = 476;
+ static const uint16 kLineendx = 478;
+ static const uint16 kLineendy = 480;
+ static const uint16 kIncrement1 = 482;
+ static const uint16 kIncrement2 = 484;
+ static const uint16 kLineroutine = 486;
+ static const uint16 kLinepointer = 487;
+ static const uint16 kLinedirection = 488;
+ static const uint16 kLinelength = 489;
+ static const uint16 kLiftsoundcount = 490;
+ static const uint16 kEmmhandle = 491;
+ static const uint16 kEmmpageframe = 493;
+ static const uint16 kEmmhardwarepage = 495;
+ static const uint16 kCh0emmpage = 496;
+ static const uint16 kCh0offset = 498;
+ static const uint16 kCh0blockstocopy = 500;
+ static const uint16 kCh0playing = 502;
+ static const uint16 kCh0repeat = 503;
+ static const uint16 kCh0oldemmpage = 504;
+ static const uint16 kCh0oldoffset = 506;
+ static const uint16 kCh0oldblockstocopy = 508;
+ static const uint16 kCh1playing = 510;
+ static const uint16 kCh1emmpage = 511;
+ static const uint16 kCh1offset = 513;
+ static const uint16 kCh1blockstocopy = 515;
+ static const uint16 kCh1blocksplayed = 517;
+ static const uint16 kSoundbufferwrite = 519;
+ static const uint16 kSoundemmpage = 521;
+ static const uint16 kSpeechemmpage = 523;
+ static const uint16 kCurrentsample = 525;
+ static const uint16 kRoomssample = 526;
+ static const uint16 kGameerror = 527;
+ static const uint16 kHowmuchalloc = 528;
+ static const uint16 kReelroutines = 530;
+ static const uint16 kIdname = 987;
+ static const uint16 kCharacterset3 = 999;
+ static const uint16 kSamplename = 1012;
+ static const uint16 kBasicsample = 1025;
+ static const uint16 kExtragraphics1 = 1038;
+ static const uint16 kIcongraphics8 = 1051;
+ static const uint16 kCityname = 1064;
+ static const uint16 kTravelgraphic1 = 1077;
+ static const uint16 kTravelgraphic2 = 1090;
+ static const uint16 kDiarygraphic = 1103;
+ static const uint16 kDiarytext = 1116;
+ static const uint16 kIntrotextname = 1129;
+ static const uint16 kEndtextname = 1142;
+ static const uint16 kVolumetabname = 1155;
+ static const uint16 kGungraphic = 1168;
+ static const uint16 kMonkface = 1181;
+ static const uint16 kTitle0graphics = 1194;
+ static const uint16 kTitle1graphics = 1207;
+ static const uint16 kTitle2graphics = 1220;
+ static const uint16 kTitle3graphics = 1233;
+ static const uint16 kTitle4graphics = 1246;
+ static const uint16 kTitle5graphics = 1259;
+ static const uint16 kTitle6graphics = 1272;
+ static const uint16 kTitle7graphics = 1285;
+ static const uint16 kPalettescreen = 1298;
+ static const uint16 kCurrentfile = 1623;
+ static const uint16 kRoomscango = 1934;
+ static const uint16 kRoompics = 1950;
+ static const uint16 kOplist = 1965;
+ static const uint16 kInputline = 1968;
+ static const uint16 kPresslist = 2096;
+ static const uint16 kSavenames = 2102;
+ static const uint16 kSavefiles = 2221;
+ static const uint16 kQuitrequested = 2312;
+ static const uint16 kSubtitles = 2313;
+ static const uint16 kForeignrelease = 2314;
static const uint16 kBlocktextdat = (0);
static const uint16 kPersonframes = (0);
static const uint16 kDebuglevel1 = (0);
@@ -505,8 +503,8 @@ public:
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)+991-534);
- 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)+991-534+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)+987-530);
+ 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)+987-530+68-0);
static const uint16 kReellist = (0+(36*144));
static const uint16 kIntext = (0+(38*2));
static const uint16 kLengthofmap = (0+(66*60));
@@ -558,7 +556,7 @@ public:
static const uint16 kInventx = (80);
static const uint16 kMenux = (80+40);
static const uint16 kHeaderlen = (96);
- static const uint16 kLenofreelrouts = (991-534);
+ static const uint16 kLenofreelrouts = (987-530);
void useWire();
void getNamePos();
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index a9cc1a9653..2902276476 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -63,10 +63,16 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
_channel0 = 0;
_channel1 = 0;
+ _icons1 = NULL;
+ _icons2 = NULL;
+
_language = gameDesc->desc.language;
}
DreamWebEngine::~DreamWebEngine() {
+ assert(_icons1 == NULL);
+ assert(_icons2 == NULL);
+
DebugMan.clearAllDebugChannels();
delete _console;
}
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h
index e0a55891ee..370342aa8a 100644
--- a/engines/dreamweb/dreamweb.h
+++ b/engines/dreamweb/dreamweb.h
@@ -42,6 +42,8 @@
namespace DreamGen {
+#include "dreamweb/structs.h"
+
// These are for ReelRoutine::reelPointer, which is a callback field.
const uint16 addr_backobject = 0xc170;
const uint16 addr_mainman = 0xc138;
@@ -128,6 +130,13 @@ public:
void stopSound(uint8 channel);
+ DreamGen::Frame *icons1() const { return (DreamGen::Frame *)_icons1; }
+ DreamGen::Frame *icons2() const { return (DreamGen::Frame *)_icons2; }
+ void setIcons1(void *frames) { assert(_icons1 == NULL); _icons1 = frames; }
+ void setIcons2(void *frames) { assert(_icons2 == NULL); _icons2 = frames; }
+ void freeIcons1() { free(_icons1); _icons1 = NULL; }
+ void freeIcons2() { free(_icons2); _icons2 = NULL; }
+
private:
void keyPressed(uint16 ascii);
void setSpeed(uint speed);
@@ -163,6 +172,9 @@ private:
Audio::SoundHandle _channelHandle[2];
uint8 _channel0, _channel1;
+ void *_icons1;
+ void *_icons2;
+
DreamGen::DreamGenContext _context;
};
diff --git a/engines/dreamweb/runtime.h b/engines/dreamweb/runtime.h
index 002f2ab8f2..db74c19055 100644
--- a/engines/dreamweb/runtime.h
+++ b/engines/dreamweb/runtime.h
@@ -300,9 +300,12 @@ public:
void deallocateSegment(uint16 id) {
SegmentMap::iterator i = _segments.find(id);
- assert(i != _segments.end());
- _segments.erase(i);
- _freeSegments.push_back(id);
+ if(i != _segments.end()) {
+ _segments.erase(i);
+ _freeSegments.push_back(id);
+ } else {
+ debug("Deallocating non existent segment! Client code should be fixed.");
+ }
}
inline void _cmp(uint8 a, uint8 b) {
diff --git a/engines/dreamweb/structs.h b/engines/dreamweb/structs.h
index 7f14fa4ae5..5496965155 100644
--- a/engines/dreamweb/structs.h
+++ b/engines/dreamweb/structs.h
@@ -20,6 +20,9 @@
*
*/
+#ifndef DREAMWEB_STRUCTS_H
+#define DREAMWEB_STRUCTS_H
+
#include "common/endian.h"
#include "common/rect.h"
@@ -285,3 +288,5 @@ struct Atmosphere {
uint8 _repeat;
};
+#endif
+
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 939b358404..f67547c934 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -640,8 +640,8 @@ void DreamGenContext::dreamweb() {
}
done: // The engine will need some cleaner finalization, let's put it here for now
getRidOfAll();
- deallocateMem(data.word(kIcons1));
- deallocateMem(data.word(kIcons2));
+ engine->freeIcons1();
+ engine->freeIcons2();
}
bool DreamGenContext::quitRequested() {
@@ -746,12 +746,14 @@ uint8 *DreamGenContext::textUnder() {
return getSegment(data.word(kBuffers)).ptr(kTextunder, 0);
}
-uint16 DreamGenContext::standardLoad(const char *fileName) {
+uint16 DreamGenContext::standardLoad(const char *fileName, uint16 *outSizeInBytes) {
FileHeader header;
engine->openFile(fileName);
engine->readFromFile((uint8 *)&header, sizeof(FileHeader));
uint16 sizeInBytes = header.len(0);
+ if (outSizeInBytes)
+ *outSizeInBytes = sizeInBytes;
uint16 result = allocateMem((sizeInBytes + 15) / 16);
engine->readFromFile(getSegment(result).ptr(0, 0), sizeInBytes);
engine->closeFile();
@@ -759,7 +761,7 @@ uint16 DreamGenContext::standardLoad(const char *fileName) {
}
void DreamGenContext::standardLoad() {
- ax = standardLoad((const char *)cs.ptr(dx, 0));
+ ax = standardLoad((const char *)cs.ptr(dx, 0), NULL);
}
void DreamGenContext::loadIntoTemp() {
@@ -2465,8 +2467,21 @@ void DreamGenContext::loadRoomsSample() {
void DreamGenContext::readSetData() {
data.word(kCharset1) = standardLoad("DREAMWEB.C00");
- data.word(kIcons1) = standardLoad("DREAMWEB.G00");
- data.word(kIcons2) = standardLoad("DREAMWEB.G01");
+
+ uint16 icons1SizeInBytes;
+ uint16 tempIcons1 = standardLoad("DREAMWEB.G00", &icons1SizeInBytes);
+ void *icons1Buffer = malloc(icons1SizeInBytes);
+ memcpy(icons1Buffer, getSegment(tempIcons1).ptr(0, 0), icons1SizeInBytes);
+ deallocateMem(tempIcons1);
+ engine->setIcons1(icons1Buffer);
+
+ uint16 icons2SizeInBytes;
+ uint16 tempIcons2 = standardLoad("DREAMWEB.G01", &icons2SizeInBytes);
+ void *icons2Buffer = malloc(icons2SizeInBytes);
+ memcpy(icons2Buffer, getSegment(tempIcons2).ptr(0, 0), icons2SizeInBytes);
+ deallocateMem(tempIcons2);
+ engine->setIcons2(icons2Buffer);
+
data.word(kMainsprites) = standardLoad("DREAMWEB.S00");
data.word(kPuzzletext) = standardLoad("DREAMWEB.T80");
data.word(kCommandtext) = standardLoad("DREAMWEB.T84");
@@ -2494,11 +2509,11 @@ Frame * DreamGenContext::tempGraphics3() {
}
Frame * DreamGenContext::icons1() {
- return (Frame *)getSegment(data.word(kIcons1)).ptr(0, 0);
+ return engine->icons1();
}
Frame * DreamGenContext::icons2() {
- return (Frame *)getSegment(data.word(kIcons2)).ptr(0, 0);
+ return engine->icons2();
}
void DreamGenContext::playChannel0(uint8 index, uint8 repeat) {
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 926434ec3b..83e375d625 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -32,7 +32,7 @@
void allocateWork();
void clearWork();
void standardLoad();
- uint16 standardLoad(const char *fileName); // Returns a segment handle which needs to be freed with deallocatemem for symmetry
+ uint16 standardLoad(const char *fileName, uint16 *outSizeInBytes = NULL); // Returns a segment handle which needs to be freed with deallocatemem for symmetry
void loadIntoTemp();
void loadIntoTemp2();
void loadIntoTemp3();