[Scummvm-cvs-logs] scummvm master -> a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9

wjp wjp at usecode.org
Sat Dec 3 22:10:59 CET 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c6b113c440 DREAMWEB: Move 'soundOnReels' out of dreamgen
a3a6fbd5ff DREAMWEB: Convert 'soundOnReels', including its data


Commit: c6b113c440183c095b5d1986730144596bd3c76c
    https://github.com/scummvm/scummvm/commit/c6b113c440183c095b5d1986730144596bd3c76c
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-12-03T13:10:18-08:00

Commit Message:
DREAMWEB: Move 'soundOnReels' out of dreamgen

Changed paths:
    devtools/tasmrecover/tasm-recover
    engines/dreamweb/dreamgen.cpp
    engines/dreamweb/dreamgen.h
    engines/dreamweb/sprite.cpp
    engines/dreamweb/stubs.h



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 150bc0f..d26964b 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -420,6 +420,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'showword',
 	'singlekey',
 	'sortoutmap',
+	'soundonreels',
 	'sparky',
 	'sparkydrip',
 	'splitintolines',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index f089297..121ec50 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -1909,51 +1909,6 @@ hissnoise:
 	playChannel1();
 }
 
-void DreamGenContext::soundOnReels() {
-	STACK_CHECK;
-	bl = data.byte(kReallocation);
-	_add(bl, bl);
-	_xor(bh, bh);
-	_add(bx, 991);
-	si = cs.word(bx);
-reelsoundloop:
-	al = cs.byte(si);
-	_cmp(al, 255);
-	if (flags.z())
-		goto endreelsound;
-	ax = cs.word(si+1);
-	_cmp(ax, data.word(kReelpointer));
-	if (!flags.z())
-		goto skipreelsound;
-	_cmp(ax, data.word(kLastsoundreel));
-	if (flags.z())
-		goto skipreelsound;
-	data.word(kLastsoundreel) = ax;
-	al = cs.byte(si);
-	_cmp(al, 64);
-	if (flags.c())
-		{ playChannel1(); return; };
-	_cmp(al, 128);
-	if (flags.c())
-		goto channel0once;
-	_and(al, 63);
-	ah = 255;
-	{ playChannel0(); return; };
-channel0once:
-	_and(al, 63);
-	ah = 0;
-	{ playChannel0(); return; };
-skipreelsound:
-	_add(si, 3);
-	goto reelsoundloop;
-endreelsound:
-	ax = data.word(kLastsoundreel);
-	_cmp(ax, data.word(kReelpointer));
-	if (flags.z())
-		return /* (nochange2) */;
-	data.word(kLastsoundreel) = -1;
-}
-
 void DreamGenContext::delEverything() {
 	STACK_CHECK;
 	al = data.byte(kMapysize);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 4d1244f..af03e19 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -895,7 +895,6 @@ public:
 	void selectOpenOb();
 	void security();
 	void showSlots();
-	void soundOnReels();
 	void useGun();
 	void autoAppear();
 	void openRyan();
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 92b78ce..f34f0c9 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -869,5 +869,50 @@ void DreamGenContext::reconstruct() {
 	data.byte(kHavedoneobs) = 0;
 }
 
+void DreamGenContext::soundOnReels() {
+	STACK_CHECK;
+	bl = data.byte(kReallocation);
+	_add(bl, bl);
+	_xor(bh, bh);
+	_add(bx, 991);
+	si = cs.word(bx);
+reelsoundloop:
+	al = cs.byte(si);
+	_cmp(al, 255);
+	if (flags.z())
+		goto endreelsound;
+	ax = cs.word(si+1);
+	_cmp(ax, data.word(kReelpointer));
+	if (!flags.z())
+		goto skipreelsound;
+	_cmp(ax, data.word(kLastsoundreel));
+	if (flags.z())
+		goto skipreelsound;
+	data.word(kLastsoundreel) = ax;
+	al = cs.byte(si);
+	_cmp(al, 64);
+	if (flags.c())
+		{ playChannel1(); return; };
+	_cmp(al, 128);
+	if (flags.c())
+		goto channel0once;
+	_and(al, 63);
+	ah = 255;
+	{ playChannel0(); return; };
+channel0once:
+	_and(al, 63);
+	ah = 0;
+	{ playChannel0(); return; };
+skipreelsound:
+	_add(si, 3);
+	goto reelsoundloop;
+endreelsound:
+	ax = data.word(kLastsoundreel);
+	_cmp(ax, data.word(kReelpointer));
+	if (flags.z())
+		return /* (nochange2) */;
+	data.word(kLastsoundreel) = -1;
+}
+
 } /*namespace dreamgen */
 
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index d600c42..70263fa 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -429,4 +429,5 @@
 	void loadPersonal();
 	void loadNews();
 	void loadCart();
+	void soundOnReels();
 


Commit: a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9
    https://github.com/scummvm/scummvm/commit/a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-12-03T13:10:18-08:00

Commit Message:
DREAMWEB: Convert 'soundOnReels', including its data

Changed paths:
    devtools/tasmrecover/tasm-recover
    engines/dreamweb/dreamgen.cpp
    engines/dreamweb/dreamgen.h
    engines/dreamweb/sprite.cpp



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index d26964b..6c549d5 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -69,6 +69,10 @@ p = parser(skip_binary_data = [
 	'reelcalls',
 	'facelist',
 	'rainlocations',
+	'roombyroom',
+	'r0','r1','r2','r6','r8','r9','r10','r11','r12','r13','r14',
+	'r20','r22','r23','r25','r26','r27','r28','r29',
+	'r45','r46','r47','r52','r53','r55',
 	# use.asm
 	'uselist',
 	# vgagrafx.asm
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 121ec50..9596090 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2142,7 +2142,7 @@ void DreamGenContext::showGun() {
 	data.byte(kRoomssample) = 34;
 	loadRoomsSample();
 	data.byte(kVolume) = 0;
-	dx = 1747;
+	dx = 1250;
 	loadIntoTemp();
 	createPanel2();
 	ds = data.word(kTempgraphics);
@@ -2165,7 +2165,7 @@ void DreamGenContext::showGun() {
 	al = 12;
 	ah = 0;
 	playChannel0();
-	dx = 1708;
+	dx = 1211;
 	loadTempText();
 	rollEndCredits2();
 	getRidOfTempText();
@@ -2423,7 +2423,7 @@ void DreamGenContext::titles() {
 
 void DreamGenContext::endGame() {
 	STACK_CHECK;
-	dx = 1708;
+	dx = 1211;
 	loadTempText();
 	monkSpeaking();
 	gettingShot();
@@ -2438,7 +2438,7 @@ void DreamGenContext::monkSpeaking() {
 	STACK_CHECK;
 	data.byte(kRoomssample) = 35;
 	loadRoomsSample();
-	dx = 1760;
+	dx = 1263;
 	loadIntoTemp();
 	clearWork();
 	showMonk();
@@ -2505,7 +2505,7 @@ void DreamGenContext::gettingShot() {
 void DreamGenContext::bibleQuote() {
 	STACK_CHECK;
 	mode640x480();
-	dx = 1773;
+	dx = 1276;
 	showPCX();
 	fadeScreenUps();
 	cx = 80;
@@ -2544,7 +2544,7 @@ hangonloope:
 
 void DreamGenContext::intro() {
 	STACK_CHECK;
-	dx = 1695;
+	dx = 1198;
 	loadTempText();
 	loadPalFromIFF();
 	setMode();
@@ -2677,7 +2677,7 @@ void DreamGenContext::realCredits() {
 	mode640x480();
 	cx = 35;
 	hangOn();
-	dx = 1786;
+	dx = 1289;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2699,7 +2699,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1799;
+	dx = 1302;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2721,7 +2721,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1812;
+	dx = 1315;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2743,7 +2743,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1825;
+	dx = 1328;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2765,7 +2765,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1838;
+	dx = 1341;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2787,7 +2787,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1851;
+	dx = 1354;
 	showPCX();
 	fadeScreenUps();
 	cx = 60;
@@ -5228,14 +5228,14 @@ void DreamGenContext::getDestInfo() {
 	push(ax);
 	dx = data;
 	es = dx;
-	si = 2529;
+	si = 2032;
 	_add(si, ax);
 	cl = es.byte(si);
 	ax = pop();
 	push(cx);
 	dx = data;
 	es = dx;
-	si = 2545;
+	si = 2048;
 	_add(si, ax);
 	ax = pop();
 }
@@ -5412,23 +5412,23 @@ clearedlocations:
 	bx = ax;
 	dx = data;
 	es = dx;
-	_add(bx, 2529);
+	_add(bx, 2032);
 	es.byte(bx) = 0;
 }
 
 void DreamGenContext::readDestIcon() {
 	STACK_CHECK;
-	dx = 1630;
+	dx = 1133;
 	loadIntoTemp();
-	dx = 1643;
+	dx = 1146;
 	loadIntoTemp2();
-	dx = 1604;
+	dx = 1107;
 	loadIntoTemp3();
 }
 
 void DreamGenContext::readCityPic() {
 	STACK_CHECK;
-	dx = 1617;
+	dx = 1120;
 	loadIntoTemp();
 }
 
@@ -5527,7 +5527,7 @@ void DreamGenContext::delChar() {
 	si = data.word(kCurpos);
 	_add(si, si);
 	es = cs;
-	_add(si, 2563);
+	_add(si, 2066);
 	es.byte(si) = 0;
 	al = es.byte(si+1);
 	ah = 0;
@@ -5554,7 +5554,7 @@ void DreamGenContext::execCommand() {
 	es = cs;
 	bx = offset_comlist;
 	ds = cs;
-	si = 2563;
+	si = 2066;
 	al = ds.byte(si);
 	_cmp(al, 0);
 	if (!flags.z())
@@ -5647,7 +5647,7 @@ dirroot:
 	si = offset_rootdir;
 	_inc(si);
 	es = cs;
-	di = 2202;
+	di = 1705;
 	_inc(di);
 	cx = 12;
 	_movsb(cx, true);
@@ -5749,7 +5749,7 @@ notyetassigned:
 	push(bx);
 	_add(bx, 2);
 	ds = cs;
-	si = 2563;
+	si = 2066;
 checkpass:
 	_lodsw();
 	ah = es.byte(bx);
@@ -5820,7 +5820,7 @@ void DreamGenContext::read() {
 	return;
 okcom:
 	es = cs;
-	di = 2202;
+	di = 1705;
 	ax = data.word(kTextfile1);
 	data.word(kMonsource) = ax;
 	ds = ax;
@@ -5950,7 +5950,7 @@ keyok2:
 	ds = cs;
 	si = offset_operand1+1;
 	es = cs;
-	di = 2202+1;
+	di = 1705+1;
 	cx = 12;
 	_movsb(cx, true);
 	monitorLogo();
@@ -6077,7 +6077,7 @@ void DreamGenContext::parser() {
 	al = '=';
 	_stosb();
 	ds = cs;
-	si = 2563;
+	si = 2066;
 notspace1:
 	_lodsw();
 	_cmp(al, 32);
@@ -8900,7 +8900,7 @@ nowinch:
 
 void DreamGenContext::loadKeypad() {
 	STACK_CHECK;
-	dx = 1591;
+	dx = 1094;
 	loadIntoTemp();
 }
 
@@ -9237,11 +9237,11 @@ void DreamGenContext::dumpSymBox() {
 void DreamGenContext::useDiary() {
 	STACK_CHECK;
 	getRidOfReels();
-	dx = 1656;
+	dx = 1159;
 	loadIntoTemp();
-	dx = 1669;
+	dx = 1172;
 	loadTempText();
-	dx = 1526;
+	dx = 1029;
 	loadTempCharset();
 	createPanel();
 	showIcon();
@@ -9568,7 +9568,7 @@ opsblock1:
 
 void DreamGenContext::loadSaveBox() {
 	STACK_CHECK;
-	dx = 1604;
+	dx = 1107;
 	loadIntoTemp();
 }
 
@@ -9701,7 +9701,7 @@ void DreamGenContext::getNamePos() {
 	_mul(cx);
 	dx = data;
 	es = dx;
-	bx = 2697;
+	bx = 2200;
 	_add(bx, ax);
 	al = data.byte(kCursorpos);
 	ah = 0;
@@ -9855,7 +9855,7 @@ void DreamGenContext::showNames() {
 	STACK_CHECK;
 	dx = data;
 	es = dx;
-	si = 2697+1;
+	si = 2200+1;
 	di = (60)+21;
 	bx = (52)+10;
 	cl = 0;
@@ -10375,7 +10375,7 @@ void DreamGenContext::clearChanges() {
 	di = 0;
 	_stosw(cx, true);
 	es = cs;
-	di = 2529;
+	di = 2032;
 	al = 1;
 	_stosb(2);
 	al = 0;
@@ -11279,247 +11279,185 @@ void DreamGenContext::__start() {
 		//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, 0x4f, 
-		//0x03d0: ...2 ...! (..2 ...O
-		0x04, 0x50, 0x04, 0x54, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x67, 0x04, 0x4f, 0x04, 0x6e, 
-		//0x03e0: .P.T .O.O .O.g .O.n
-		0x04, 0x7e, 0x04, 0x85, 0x04, 0x89, 0x04, 0x8d, 0x04, 0x91, 0x04, 0x9e, 0x04, 0x4f, 0x04, 0x4f, 
-		//0x03f0: .~.. .... .... .O.O
-		0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0xc0, 0x04, 0x4f, 0x04, 0xd6, 0x04, 0xf5, 0x04, 0x4f, 
-		//0x0400: .O.O .O.. .O.. ...O
-		0x04, 0x02, 0x05, 0x18, 0x05, 0x2e, 0x05, 0x47, 0x05, 0x5a, 0x05, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 
-		//0x0410: .... ...G .Z.O .O.O
-		0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 
-		//0x0420: .O.O .O.O .O.O .O.O
-		0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0x6a, 0x05, 0x71, 0x05, 0x96, 0x05, 0x4f, 
-		//0x0430: .O.O .O.O .j.q ...O
-		0x04, 0x4f, 0x04, 0x4f, 0x04, 0x4f, 0x04, 0xa3, 0x05, 0xa7, 0x05, 0x4f, 0x04, 0xae, 0x05, 0xff, 
-		//0x0440: .O.O .O.. ...O ....
-		0x0f, 0x01, 0x01, 0xff, 0x0c, 0x05, 0x00, 0x0d, 0x15, 0x00, 0x0f, 0x23, 0x00, 0x11, 0x32, 0x00, 
-		//0x0450: .... .... ...# ..2.
-		0x12, 0x67, 0x00, 0x13, 0x6c, 0x00, 0xff, 0x12, 0x13, 0x00, 0x13, 0x17, 0x00, 0xff, 0x0c, 0x33, 
-		//0x0460: .g.. l... .... ...3
-		0x00, 0x0d, 0x35, 0x00, 0x0e, 0x0e, 0x00, 0x0f, 0x14, 0x00, 0x00, 0x4e, 0x00, 0xff, 0x0c, 0x77, 
-		//0x0470: ..5. .... ...N ...w
-		0x00, 0x0c, 0x91, 0x00, 0xff, 0x0d, 0x10, 0x00, 0xff, 0x0d, 0x14, 0x00, 0xff, 0x0e, 0x10, 0x00, 
-		//0x0480: .... .... .... ....
-		0xff, 0x0f, 0x04, 0x00, 0x10, 0x08, 0x00, 0x11, 0x86, 0x00, 0x12, 0x99, 0x00, 0xff, 0x0d, 0x6c, 
-		//0x0490: .... .... .... ...l
-		0x00, 0x0f, 0x46, 0x01, 0x0f, 0x4b, 0x01, 0x0f, 0x50, 0x01, 0x0f, 0x56, 0x01, 0x0f, 0x5c, 0x01, 
-		//0x04a0: ..F. .K.. P..V ....
-		0x0f, 0x62, 0x01, 0x12, 0x9f, 0x00, 0x12, 0xb2, 0x00, 0x93, 0xd9, 0x00, 0x54, 0xe4, 0x00, 0xff, 
-		//0x04b0: .b.. .... .... T...
-		0x0d, 0x14, 0x00, 0x0d, 0x15, 0x00, 0x0f, 0x22, 0x00, 0x0d, 0x34, 0x00, 0x0d, 0x37, 0x00, 0x19, 
-		//0x04c0: .... ..." ..4. .7..
-		0x39, 0x00, 0x15, 0x49, 0x00, 0xff, 0x0d, 0xc4, 0x00, 0x0d, 0xea, 0x00, 0x0d, 0x9c, 0x00, 0x0e, 
-		//0x04d0: 9..I .... .... ....
-		0x81, 0x00, 0x0d, 0x7c, 0x00, 0x0f, 0xa2, 0x00, 0x0f, 0xc8, 0x00, 0x0f, 0xef, 0x00, 0x11, 0x63, 
-		//0x04e0: ...| .... .... ...c
-		0x00, 0x0c, 0x34, 0x00, 0xff, 0x0f, 0x38, 0x00, 0x10, 0x40, 0x00, 0x13, 0x16, 0x00, 0x14, 0x21, 
-		//0x04f0: ..4. ..8. . at .. ...!
-		0x00, 0xff, 0x14, 0x0b, 0x00, 0x14, 0x0f, 0x00, 0x0f, 0x1c, 0x00, 0x0d, 0x50, 0x00, 0x15, 0x52, 
-		//0x0500: .... .... .... P..R
-		0x00, 0x93, 0x57, 0x00, 0x57, 0x80, 0x00, 0xff, 0x0c, 0x0d, 0x00, 0x0e, 0x27, 0x00, 0x0c, 0x43, 
-		//0x0510: ..W. W... .... '..C
-		0x00, 0x0c, 0x4b, 0x00, 0x0c, 0x53, 0x00, 0x0c, 0x5b, 0x00, 0x0f, 0x66, 0x00, 0xff, 0x16, 0x24, 
-		//0x0520: ..K. .S.. [..f ...$
-		0x00, 0x0d, 0x7d, 0x00, 0x12, 0x58, 0x00, 0x0f, 0x6b, 0x00, 0x0e, 0x7f, 0x00, 0x0e, 0x9a, 0x00, 
-		//0x0530: ..}. .X.. k... ....
-		0x93, 0xaa, 0x00, 0x57, 0xe8, 0x00, 0xff, 0x15, 0x10, 0x00, 0x15, 0x48, 0x00, 0x15, 0xcd, 0x00, 
-		//0x0540: ...W .... ...H ....
-		0x16, 0x3f, 0x00, 0x97, 0x63, 0x00, 0x58, 0x9e, 0x00, 0xff, 0x0d, 0x15, 0x00, 0x0e, 0x18, 0x00, 
-		//0x0550: .?.. c.X. .... ....
-		0x93, 0x32, 0x00, 0x57, 0x4b, 0x00, 0x18, 0x80, 0x00, 0xff, 0x53, 0x2e, 0x00, 0x10, 0xa7, 0x00, 
-		//0x0560: .2.W K... ..S. ....
-		0xff, 0x10, 0x13, 0x00, 0x0e, 0x24, 0x00, 0x10, 0x32, 0x00, 0x0e, 0x41, 0x00, 0x10, 0x51, 0x00, 
-		//0x0570: .... .$.. 2..A ..Q.
-		0x0e, 0x60, 0x00, 0x10, 0x72, 0x00, 0x0e, 0x81, 0x00, 0x10, 0x93, 0x00, 0x0e, 0xa2, 0x00, 0x10, 
-		//0x0580: .`.. r... .... ....
-		0xb1, 0x00, 0x0e, 0xbf, 0x00, 0xff, 0x0d, 0x30, 0x00, 0x0e, 0x29, 0x00, 0x0f, 0x4e, 0x00, 0x10, 
-		//0x0590: .... ...0 ..). .N..
-		0x5c, 0x00, 0xff, 0x10, 0x73, 0x00, 0xff, 0x15, 0x67, 0x00, 0x14, 0xc7, 0x00, 0xff, 0x11, 0x35, 
-		//0x05a0: .... s... g... ...5
-		0x00, 0x11, 0x36, 0x00, 0x11, 0x37, 0x00, 0x11, 0x38, 0x00, 0x11, 0x39, 0x00, 0x11, 0x3a, 0x00, 
-		//0x05b0: ..6. .7.. 8..9 ..:.
-		0x11, 0x3b, 0x00, 0x11, 0x3d, 0x00, 0x11, 0x3f, 0x00, 0x11, 0x40, 0x00, 0x11, 0x41, 0x00, 0xff, 
-		//0x05c0: .;.. =..? .. at . .A..
-		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x53, 0x30, 0x30, 0x00, 0x49, 0x4e, 0x53, 
-		//0x05d0: DREA MWEB .S00 .INS
-		0x54, 0x41, 0x4c, 0x4c, 0x2e, 0x44, 0x41, 0x54, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 
-		//0x05e0: TALL .DAT .DRE AMWE
-		0x42, 0x2e, 0x43, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x43, 
-		//0x05f0: B.C0 0.DR EAMW EB.C
-		0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x30, 0x30, 0x00, 
-		//0x0600: 02.D REAM WEB. V00.
-		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 
-		//0x0610: DREA MWEB .V99 .DRE
-		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
-		//0x0620: AMWE B.G0 0.DR EAMW
-		0x45, 0x42, 0x2e, 0x47, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
-		//0x0630: EB.G 01.D REAM WEB.
-		0x47, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x38, 
-		//0x0640: G02. DREA MWEB .G08
-		0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x34, 0x00, 0x44, 0x52, 
-		//0x0650: .DRE AMWE B.G0 4.DR
-		0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 
-		//0x0660: EAMW EB.G 05.D REAM
-		0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 
-		//0x0670: WEB. G06. DREA MWEB
-		0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x35, 
-		//0x0680: .G14 .DRE AMWE B.T5
-		0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x30, 0x00, 0x44, 
-		//0x0690: 1.DR EAMW EB.T 80.D
-		0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 
-		//0x06a0: REAM WEB. T82. DREA
-		0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 
-		//0x06b0: MWEB .T83 .DRE AMWE
-		0x42, 0x2e, 0x54, 0x38, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 
-		//0x06c0: B.T8 4.DR EAMW EB.V
-		0x4f, 0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33, 0x00, 
-		//0x06d0: OL.D REAM WEB. G13.
-		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52, 0x45, 
-		//0x06e0: DREA MWEB .G15 .DRE
-		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
-		//0x06f0: AMWE B.I0 0.DR EAMW
-		0x45, 0x42, 0x2e, 0x49, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
-		//0x0700: EB.I 01.D REAM WEB.
-		0x49, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x33, 
-		//0x0710: I02. DREA MWEB .I03
-		0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x34, 0x00, 0x44, 0x52, 
-		//0x0720: .DRE AMWE B.I0 4.DR
-		0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 
-		//0x0730: EAMW EB.I 05.D REAM
-		0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 
-		//0x0740: WEB. I06. DREA MWEB
-		0x2e, 0x49, 0x30, 0x37, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x50, 0x41, 
-		//0x0750: .I07 .DRE AMWE B.PA
-		0x4c, 0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0, 0x00, 
-		//0x0760: L... .. at . .... |...
-		0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 
-		//0x0770: "... ,... .. at . ....
-		0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 
-		//0x0780: .... .. at . .... |...
-		0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04, 0x00, 
-		//0x0790: @... .... .... ....
-		0x2c, 0x00, 0xc8, 0xc4, 0x68, 0x00, 0x7c, 0x00, 0x04, 0x00, 0x2c, 0x00, 0xcc, 0xc4, 0x18, 0x01, 
-		//0x07a0: ,... h.|. ..,. ....
-		0x34, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xb0, 0xc4, 0x68, 0x00, 0xd8, 0x00, 0x8a, 0x00, 0xc0, 0x00, 
-		//0x07b0: 4... ,... h... ....
-		0xd0, 0xc4, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 
-		//0x07c0: .... @... ..|. .. at .
-		0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 
-		//0x07d0: .... .... EXIT     
-		0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 
-		//0x07e0:   HE LP        LIST
-		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-		//0x07f0:        RE AD       
-		0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 
-		//0x0800: LOGO N      KE YS  
-		0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 
-		//0x0810:      ..PU BLIC     
-		0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 
-		//0x0820:   PU BLIC       ...
-		0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 
-		//0x0830: BLAC KDRA GON  RYAN
-		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 
-		//0x0840:         . ..HE NDRI
-		0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 
-		//0x0850: X      LO UIS      
-		0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 
-		//0x0860:  ... SEPT IMUS     
-		0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 
-		//0x0870: BECK ETT     . ..  
-		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 
-		//0x0880:              . "ROO
-		0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 
-		//0x0890: T          ."      
-		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 
-		//0x08a0:         . 0000 .00.
-		0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 
-		//0x08b0: .... .... .... ....
-		0x93, 0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 
-		//0x08c0: .... .... .... P...
-		0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 
-		//0x08d0: @... .... ..w. ..R.
-		0x80, 0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 
-		//0x08e0: ..4. F... >.o. ....
-		0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 
-		//0x08f0: ..D. ..L. .. at . ....
-		0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 
-		//0x0900: .... w... R... D.F.
-		0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 
-		//0x0910: ..>. o.P. .... p...
-		0x48, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 
-		//0x0920: H... @... .... ....
-		0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 
-		//0x0930: ..$. ...R .... .P..
-		0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 
-		//0x0940: .>.o .... ...> .o..
-		0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 
-		//0x0950: ...@ .... .... .SPE
-		0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 
-		//0x0960: ECHR 24C0 005. RAW.
-		0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 
-		//0x0970: OBJE CT N AME  ONE 
+		0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 
+		//0x03d0: ...2 ...! (..2 ...D
+		0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x53, 0x30, 0x30, 0x00, 0x49, 0x4e, 0x53, 0x54, 
+		//0x03e0: REAM WEB. S00. INST
+		0x41, 0x4c, 0x4c, 0x2e, 0x44, 0x41, 0x54, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 
+		//0x03f0: ALL. DAT. DREA MWEB
+		0x2e, 0x43, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x43, 0x30, 
+		//0x0400: .C00 .DRE AMWE B.C0
+		0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x30, 0x30, 0x00, 0x44, 
+		//0x0410: 2.DR EAMW EB.V 00.D
+		0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 
+		//0x0420: REAM WEB. V99. DREA
+		0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 
+		//0x0430: MWEB .G00 .DRE AMWE
+		0x42, 0x2e, 0x47, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 
+		//0x0440: B.G0 1.DR EAMW EB.G
+		0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x38, 0x00, 
+		//0x0450: 02.D REAM WEB. G08.
+		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 
+		//0x0460: DREA MWEB .G04 .DRE
+		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
+		//0x0470: AMWE B.G0 5.DR EAMW
+		0x45, 0x42, 0x2e, 0x47, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
+		//0x0480: EB.G 06.D REAM WEB.
+		0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x35, 0x31, 
+		//0x0490: G14. DREA MWEB .T51
+		0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x30, 0x00, 0x44, 0x52, 
+		//0x04a0: .DRE AMWE B.T8 0.DR
+		0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 
+		//0x04b0: EAMW EB.T 82.D REAM
+		0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 
+		//0x04c0: WEB. T83. DREA MWEB
+		0x2e, 0x54, 0x38, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x4f, 
+		//0x04d0: .T84 .DRE AMWE B.VO
+		0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33, 0x00, 0x44, 
+		//0x04e0: L.DR EAMW EB.G 13.D
+		0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 
+		//0x04f0: REAM WEB. G15. DREA
+		0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 
+		//0x0500: MWEB .I00 .DRE AMWE
+		0x42, 0x2e, 0x49, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 
+		//0x0510: B.I0 1.DR EAMW EB.I
+		0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x33, 0x00, 
+		//0x0520: 02.D REAM WEB. I03.
+		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 
+		//0x0530: DREA MWEB .I04 .DRE
+		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
+		//0x0540: AMWE B.I0 5.DR EAMW
+		0x45, 0x42, 0x2e, 0x49, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
+		//0x0550: EB.I 06.D REAM WEB.
+		0x49, 0x30, 0x37, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x50, 0x41, 0x4c, 
+		//0x0560: I07. DREA MWEB .PAL
+		0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0, 0x00, 0x22, 
+		//0x0570: .... . at .. ...| ..."
+		0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 
+		//0x0580: ..., .... . at .. ....
+		0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 
+		//0x0590: .... . at .. ...| ...@
+		0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04, 0x00, 0x2c, 
+		//0x05a0: .... .... .... ...,
+		0x00, 0xc8, 0xc4, 0x68, 0x00, 0x7c, 0x00, 0x04, 0x00, 0x2c, 0x00, 0xcc, 0xc4, 0x18, 0x01, 0x34, 
+		//0x05b0: ...h .|.. .,.. ...4
+		0x01, 0x04, 0x00, 0x2c, 0x00, 0xb0, 0xc4, 0x68, 0x00, 0xd8, 0x00, 0x8a, 0x00, 0xc0, 0x00, 0xd0, 
+		//0x05c0: ..., ...h .... ....
+		0xc4, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 
+		//0x05d0: ...@ .... .|.. . at ..
+		0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x05e0: .... ...E XIT      
+		0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 
+		//0x05f0:  HEL P       L IST 
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 
+		//0x0600:       REA D       L
+		0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 
+		//0x0610: OGON       KEY S   
+		0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x0620:    . .PUB LIC      
+		0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 
+		//0x0630:  PUB LIC       ...B
+		0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 
+		//0x0640: LACK DRAG ON R YAN 
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 
+		//0x0650:        .. .HEN DRIX
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x0660:       LOU IS       
+		0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 
+		//0x0670: ...S EPTI MUS     B
+		0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 
+		//0x0680: ECKE TT     .. .   
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 
+		//0x0690:             ." ROOT
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x06a0:           ."       
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 
+		//0x06b0:        .0 000. 00..
+		0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 
+		//0x06c0: .... .... .... ....
+		0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 
+		//0x06d0: .... .... ...P ...@
+		0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 
+		//0x06e0: .... .... .w.. .R..
+		0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 
+		//0x06f0: .4.F ...> .o.. ....
+		0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 
+		//0x0700: .D.. .L.. . at .. ....
+		0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 
+		//0x0710: ...w ...R ...D .F..
+		0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 
+		//0x0720: .>.o .P.. ...p ...H
+		0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 
+		//0x0730: ...@ .... .... ....
+		0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 
+		//0x0740: .$.. ..R. .... P...
+		0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 
+		//0x0750: >.o. .... ..>. o...
+		0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 
+		//0x0760: .. at . .... .... SPEE
+		0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 
+		//0x0770: CHR2 4C00 05.R AW.O
+		0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 
+		//0x0780: BJEC T NA ME O NE  
 		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
-		//0x0980:                    
-		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 
-		//0x0990:           .... ....
-		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
-		//0x09a0: .... .... .... ....
-		0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x09b0: .... .... .... ....
-		0x00, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x09c0: .D:. .... .... ....
+		//0x0790:                    
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 
+		//0x07a0:         . .... ....
+		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
+		//0x07b0: .... .... .... ....
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+		//0x07c0: .... .... .... ....
+		0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+		//0x07d0: D:.. .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x09d0: .... .... .... ....
-		0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x09e0: .... .... .... ....
-		0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 
-		//0x09f0: .... .... .... ....
+		//0x07e0: .... .... .... ....
+		0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+		//0x07f0: .... .... .... ....
+		0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 
+		//0x0800: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a00: .... .... .... ....
+		//0x0810: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a10: .... .... .... ....
+		//0x0820: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a20: .... .... .... ....
+		//0x0830: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a30: .... .... .... ....
+		//0x0840: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a40: .... .... .... ....
+		//0x0850: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a50: .... .... .... ....
+		//0x0860: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a60: .... .... .... ....
+		//0x0870: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
-		//0x0a70: .... .... .... ....
-		0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 
-		//0x0a80: .... .... .... ....
+		//0x0880: .... .... .... ....
+		0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+		//0x0890: .... .... .... ....
+		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 
+		//0x08a0: .... .... .... ....
 		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 
-		//0x0a90: .... .... .... ....
+		//0x08b0: .... .... .... ....
 		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 
-		//0x0aa0: .... .... .... ....
+		//0x08c0: .... .... .... ....
 		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 
-		//0x0ab0: .... .... .... ....
+		//0x08d0: .... .... .... ....
 		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 
-		//0x0ac0: .... .... .... ....
+		//0x08e0: .... .... .... ....
 		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 
-		//0x0ad0: .... .... .... ....
-		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 
-		//0x0ae0: .... .... .... ....
-		0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
-		//0x0af0: .... .... .... ....
-		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 
-		//0x0b00: DREA MWEB .D00 .DRE
-		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
-		//0x0b10: AMWE B.D0 1.DR EAMW
-		0x45, 0x42, 0x2e, 0x44, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
-		//0x0b20: EB.D 02.D REAM WEB.
-		0x44, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x34, 
-		//0x0b30: D03. DREA MWEB .D04
-		0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x35, 0x00, 0x44, 0x52, 
-		//0x0b40: .DRE AMWE B.D0 5.DR
-		0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, };
+		//0x08f0: .... .... .... ....
+		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 
+		//0x0900: .... .... .... ...D
+		0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 
+		//0x0910: REAM WEB. D00. DREA
+		0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 
+		//0x0920: MWEB .D01 .DRE AMWE
+		0x42, 0x2e, 0x44, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 
+		//0x0930: B.D0 2.DR EAMW EB.D
+		0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x34, 0x00, 
+		//0x0940: 03.D REAM WEB. D04.
+		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 
+		//0x0950: DREA MWEB .D05 .DRE
+		0x41, 0x4d, 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 af03e19..25f72c9 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -36,24 +36,24 @@ public:
 	void __start();
 #include "stubs.h" // Allow hand-reversed functions to have a signature different than void f()
 
-	static const uint16 offset_talklist = 0x0764;
-	static const uint16 offset_money2poke = 0x08ad;
-	static const uint16 offset_speechfilename = 0x095d;
-	static const uint16 offset_discopslist = 0x0904;
-	static const uint16 offset_commandline = 0x0970;
-	static const uint16 offset_quitlist = 0x0784;
-	static const uint16 offset_speechfile = 0x0963;
-	static const uint16 offset_keybuffer = 0x09b1;
-	static const uint16 offset_operand1 = 0x087e;
-	static const uint16 offset_opslist = 0x08da;
-	static const uint16 offset_diarylist = 0x08b0;
-	static const uint16 offset_decidelist = 0x0933;
-	static const uint16 offset_comlist = 0x07d8;
-	static const uint16 offset_destlist = 0x079a;
-	static const uint16 offset_keys = 0x0814;
-	static const uint16 offset_openchangesize = 0x0762;
-	static const uint16 offset_money1poke = 0x08a8;
-	static const uint16 offset_rootdir = 0x088c;
+	static const uint16 offset_commandline = 0x077f;
+	static const uint16 offset_money2poke = 0x06bc;
+	static const uint16 offset_keys = 0x0623;
+	static const uint16 offset_keybuffer = 0x07c0;
+	static const uint16 offset_diarylist = 0x06bf;
+	static const uint16 offset_decidelist = 0x0742;
+	static const uint16 offset_operand1 = 0x068d;
+	static const uint16 offset_rootdir = 0x069b;
+	static const uint16 offset_opslist = 0x06e9;
+	static const uint16 offset_discopslist = 0x0713;
+	static const uint16 offset_comlist = 0x05e7;
+	static const uint16 offset_quitlist = 0x0593;
+	static const uint16 offset_speechfilename = 0x076c;
+	static const uint16 offset_money1poke = 0x06b7;
+	static const uint16 offset_talklist = 0x0573;
+	static const uint16 offset_openchangesize = 0x0571;
+	static const uint16 offset_destlist = 0x05a9;
+	static const uint16 offset_speechfile = 0x0772;
 	static const uint16 kStartvars = 0;
 	static const uint16 kProgresspoints = 1;
 	static const uint16 kWatchon = 2;
@@ -432,74 +432,48 @@ public:
 	static const uint16 kGameerror = 531;
 	static const uint16 kHowmuchalloc = 532;
 	static const uint16 kReelroutines = 534;
-	static const uint16 kRoombyroom = 991;
-	static const uint16 kR0 = 1103;
-	static const uint16 kR1 = 1104;
-	static const uint16 kR2 = 1108;
-	static const uint16 kR6 = 1127;
-	static const uint16 kR8 = 1134;
-	static const uint16 kR9 = 1150;
-	static const uint16 kR10 = 1157;
-	static const uint16 kR11 = 1161;
-	static const uint16 kR12 = 1165;
-	static const uint16 kR13 = 1169;
-	static const uint16 kR14 = 1182;
-	static const uint16 kR20 = 1216;
-	static const uint16 kR22 = 1238;
-	static const uint16 kR23 = 1269;
-	static const uint16 kR25 = 1282;
-	static const uint16 kR26 = 1304;
-	static const uint16 kR27 = 1326;
-	static const uint16 kR28 = 1351;
-	static const uint16 kR29 = 1370;
-	static const uint16 kR45 = 1386;
-	static const uint16 kR46 = 1393;
-	static const uint16 kR47 = 1430;
-	static const uint16 kR52 = 1443;
-	static const uint16 kR53 = 1447;
-	static const uint16 kR55 = 1454;
-	static const uint16 kSpritename1 = 1488;
-	static const uint16 kIdname = 1501;
-	static const uint16 kCharacterset1 = 1513;
-	static const uint16 kCharacterset3 = 1526;
-	static const uint16 kSamplename = 1539;
-	static const uint16 kBasicsample = 1552;
-	static const uint16 kIcongraphics0 = 1565;
-	static const uint16 kIcongraphics1 = 1578;
-	static const uint16 kExtragraphics1 = 1591;
-	static const uint16 kIcongraphics8 = 1604;
-	static const uint16 kCityname = 1617;
-	static const uint16 kTravelgraphic1 = 1630;
-	static const uint16 kTravelgraphic2 = 1643;
-	static const uint16 kDiarygraphic = 1656;
-	static const uint16 kDiarytext = 1669;
-	static const uint16 kPuzzletextname = 1682;
-	static const uint16 kIntrotextname = 1695;
-	static const uint16 kEndtextname = 1708;
-	static const uint16 kCommandtextname = 1721;
-	static const uint16 kVolumetabname = 1734;
-	static const uint16 kGungraphic = 1747;
-	static const uint16 kMonkface = 1760;
-	static const uint16 kTitle0graphics = 1773;
-	static const uint16 kTitle1graphics = 1786;
-	static const uint16 kTitle2graphics = 1799;
-	static const uint16 kTitle3graphics = 1812;
-	static const uint16 kTitle4graphics = 1825;
-	static const uint16 kTitle5graphics = 1838;
-	static const uint16 kTitle6graphics = 1851;
-	static const uint16 kTitle7graphics = 1864;
-	static const uint16 kPalettescreen = 1877;
-	static const uint16 kCurrentfile = 2202;
-	static const uint16 kRoomscango = 2529;
-	static const uint16 kRoompics = 2545;
-	static const uint16 kOplist = 2560;
-	static const uint16 kInputline = 2563;
-	static const uint16 kPresslist = 2691;
-	static const uint16 kSavenames = 2697;
-	static const uint16 kSavefiles = 2816;
-	static const uint16 kQuitrequested = 2907;
-	static const uint16 kSubtitles = 2908;
-	static const uint16 kForeignrelease = 2909;
+	static const uint16 kSpritename1 = 991;
+	static const uint16 kIdname = 1004;
+	static const uint16 kCharacterset1 = 1016;
+	static const uint16 kCharacterset3 = 1029;
+	static const uint16 kSamplename = 1042;
+	static const uint16 kBasicsample = 1055;
+	static const uint16 kIcongraphics0 = 1068;
+	static const uint16 kIcongraphics1 = 1081;
+	static const uint16 kExtragraphics1 = 1094;
+	static const uint16 kIcongraphics8 = 1107;
+	static const uint16 kCityname = 1120;
+	static const uint16 kTravelgraphic1 = 1133;
+	static const uint16 kTravelgraphic2 = 1146;
+	static const uint16 kDiarygraphic = 1159;
+	static const uint16 kDiarytext = 1172;
+	static const uint16 kPuzzletextname = 1185;
+	static const uint16 kIntrotextname = 1198;
+	static const uint16 kEndtextname = 1211;
+	static const uint16 kCommandtextname = 1224;
+	static const uint16 kVolumetabname = 1237;
+	static const uint16 kGungraphic = 1250;
+	static const uint16 kMonkface = 1263;
+	static const uint16 kTitle0graphics = 1276;
+	static const uint16 kTitle1graphics = 1289;
+	static const uint16 kTitle2graphics = 1302;
+	static const uint16 kTitle3graphics = 1315;
+	static const uint16 kTitle4graphics = 1328;
+	static const uint16 kTitle5graphics = 1341;
+	static const uint16 kTitle6graphics = 1354;
+	static const uint16 kTitle7graphics = 1367;
+	static const uint16 kPalettescreen = 1380;
+	static const uint16 kCurrentfile = 1705;
+	static const uint16 kRoomscango = 2032;
+	static const uint16 kRoompics = 2048;
+	static const uint16 kOplist = 2063;
+	static const uint16 kInputline = 2066;
+	static const uint16 kPresslist = 2194;
+	static const uint16 kSavenames = 2200;
+	static const uint16 kSavefiles = 2319;
+	static const uint16 kQuitrequested = 2410;
+	static const uint16 kSubtitles = 2411;
+	static const uint16 kForeignrelease = 2412;
 	static const uint16 kBlocktextdat = (0);
 	static const uint16 kPersonframes = (0);
 	static const uint16 kDebuglevel1 = (0);
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index f34f0c9..a2763ae 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -869,49 +869,283 @@ void DreamGenContext::reconstruct() {
 	data.byte(kHavedoneobs) = 0;
 }
 
+
+
+struct ReelSound {
+	uint8 _sample;
+	uint16 _reelPointer;
+};
+
+static const ReelSound g_roomSound0[] = {
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound1[] = {
+	{ 15, 257 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound2[] = {
+	{ 12, 5 },
+	{ 13, 21 },
+	{ 15, 35 }, // hitting floor?
+	{ 17, 50 },
+	{ 18, 103 },
+	{ 19, 108 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound6[] = {
+	{ 18, 19 },
+	{ 19, 23 },
+	{ 255,0 }
+};
+static const ReelSound g_roomSound8[] = {
+	
+	{ 12, 51 },
+	{ 13, 53 },
+	{ 14, 14 },
+	{ 15, 20 },
+	{ 0, 78 },
+	{ 255,0 }
+};
+static const ReelSound g_roomSound9[] = {
+
+	{ 12, 119 },
+	{ 12, 145 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound10[] = {
+	{ 13, 16 },
+	{ 255,0 }
+};
+	
+static const ReelSound g_roomSound11[] = {
+	{ 13, 20 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound12[] = {
+	{ 14, 16 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound13[] = {
+	{ 15, 4 },
+	{ 16, 8 },
+	{ 17, 134 },
+	{ 18, 153 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound14[] = {
+	{ 13, 108 },
+	{ 15, 326 },
+	{ 15, 331 },
+	{ 15, 336 },
+	{ 15, 342 },
+	{ 15, 348 },
+	{ 15, 354 },
+	{ 18, 159 },
+	{ 18, 178 },
+	{ 19+128, 217 },
+	{ 20+64, 228 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound20[] = {
+	{ 13, 20 },
+	{ 13, 21 },
+	{ 15, 34 },
+	{ 13, 52 },
+	{ 13, 55 },
+	{ 25, 57 },
+	{ 21, 73 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound22[] = {
+	{ 13, 196 },
+	{ 13, 234 },
+	{ 13, 156 },
+	{ 14, 129 },
+	{ 13, 124 },
+	{ 15, 162 },
+	{ 15, 200 },
+	{ 15, 239 },
+	{ 17, 99 },
+	{ 12, 52 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound23[] = {
+	{ 15, 56 },
+	{ 16, 64 },
+	{ 19, 22 },
+	{ 20, 33 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound25[] = {
+	{ 20, 11 },
+	{ 20, 15 },
+	{ 15, 28 },
+	{ 13, 80 },
+	{ 21, 82 },
+	{ 19+128, 87 },
+	{ 23+64, 128 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound26[] = {
+	{ 12, 13 },
+	{ 14, 39 },
+	{ 12, 67 },
+	{ 12, 75 },
+	{ 12, 83 },
+	{ 12, 91 },
+	{ 15, 102 }, // was 90, should be mine cart
+	{ 255,0 }
+};
+	
+static const ReelSound g_roomSound27[] = {
+	{ 22, 36 },
+	{ 13, 125 },
+	{ 18, 88 },
+	{ 15, 107 },
+	{ 14, 127 },
+	{ 14, 154 },
+	{ 19+128, 170 },
+	{ 23+64, 232 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound28[] = {
+	{ 21, 16 },
+	{ 21, 72 },
+	{ 21, 205 },
+	{ 22, 63 }, // 65
+	{ 23+128, 99 },
+	{ 24+64, 158 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound29[] = {
+	{ 13, 21 },
+	{ 14, 24 },
+	{ 19+128, 50 },
+	{ 23+64, 75 },
+	{ 24, 128 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound29_German[] = {
+	{ 13, 21 },
+	{ 14, 24 },
+	{ 19+128, 50 },
+	{ 23+64, 75 },
+	{ 255,0 }
+};
+
+
+static const ReelSound g_roomSound45[] = {
+	{ 19+64, 46 },
+	{ 16, 167 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound46[] = {
+	{ 16, 19 },
+	{ 14, 36 },
+	{ 16, 50 },
+	{ 14, 65 },
+	{ 16, 81 },
+	{ 14, 96 },
+	{ 16, 114 },
+	{ 14, 129 },
+	{ 16, 147 },
+	{ 14, 162 },
+	{ 16, 177 },
+	{ 14, 191 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound47[] = {
+	{ 13, 48 },
+	{ 14, 41 },
+	{ 15, 78 },
+	{ 16, 92 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound52[] = {
+	{ 16, 115 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound53[] = {
+	{ 21, 103 },
+	{ 20, 199 },
+	{ 255,0 }
+};
+
+static const ReelSound g_roomSound55[] = {
+	{ 17, 53 },
+	{ 17, 54 },
+	{ 17, 55 },
+	{ 17, 56 },
+	{ 17, 57 },
+	{ 17, 58 },
+	{ 17, 59 },
+	{ 17, 61 },
+	{ 17, 63 },
+	{ 17, 64 },
+	{ 17, 65 },
+	{ 255,0 }
+};
+
+static const ReelSound *g_roomByRoom[] = {
+	g_roomSound0,g_roomSound1,g_roomSound2,g_roomSound0,g_roomSound0,
+	g_roomSound0,g_roomSound6,g_roomSound0,g_roomSound8,g_roomSound9,
+	g_roomSound10,g_roomSound11,g_roomSound12,g_roomSound13,g_roomSound14,
+	g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,
+	g_roomSound20,g_roomSound0,g_roomSound22,g_roomSound23,g_roomSound0,
+	g_roomSound25,g_roomSound26,g_roomSound27,g_roomSound28,g_roomSound29,
+	g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,
+	g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,
+	g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,g_roomSound0,
+	g_roomSound45,g_roomSound46,g_roomSound47,g_roomSound0,g_roomSound0,
+	g_roomSound0,g_roomSound0,g_roomSound52,g_roomSound53,g_roomSound0,
+	g_roomSound55
+};
+
+
 void DreamGenContext::soundOnReels() {
-	STACK_CHECK;
-	bl = data.byte(kReallocation);
-	_add(bl, bl);
-	_xor(bh, bh);
-	_add(bx, 991);
-	si = cs.word(bx);
-reelsoundloop:
-	al = cs.byte(si);
-	_cmp(al, 255);
-	if (flags.z())
-		goto endreelsound;
-	ax = cs.word(si+1);
-	_cmp(ax, data.word(kReelpointer));
-	if (!flags.z())
-		goto skipreelsound;
-	_cmp(ax, data.word(kLastsoundreel));
-	if (flags.z())
-		goto skipreelsound;
-	data.word(kLastsoundreel) = ax;
-	al = cs.byte(si);
-	_cmp(al, 64);
-	if (flags.c())
-		{ playChannel1(); return; };
-	_cmp(al, 128);
-	if (flags.c())
-		goto channel0once;
-	_and(al, 63);
-	ah = 255;
-	{ playChannel0(); return; };
-channel0once:
-	_and(al, 63);
-	ah = 0;
-	{ playChannel0(); return; };
-skipreelsound:
-	_add(si, 3);
-	goto reelsoundloop;
-endreelsound:
-	ax = data.word(kLastsoundreel);
-	_cmp(ax, data.word(kReelpointer));
-	if (flags.z())
-		return /* (nochange2) */;
-	data.word(kLastsoundreel) = -1;
+	const ReelSound *r = g_roomByRoom[data.byte(kReallocation)];
+
+	if (data.byte(kForeignrelease) && r == g_roomSound29)
+		r = g_roomSound29_German;
+
+	for (; r->_sample != 255; ++r) {
+		if (r->_reelPointer != data.word(kReelpointer))
+			continue;
+		if (r->_reelPointer == data.word(kLastsoundreel))
+			continue;
+		data.word(kLastsoundreel) = r->_reelPointer;
+		if (r->_sample < 64) {
+			playChannel1(r->_sample);
+			return;
+		}
+		if (r->_sample < 128) {
+			playChannel0(r->_sample & 63, 0);
+			return;
+		}
+		playChannel0(r->_sample & 63, 255);
+	}
+
+	if (data.word(kReelpointer) != data.word(kLastsoundreel))
+		data.word(kLastsoundreel) = -1;
 }
 
 } /*namespace dreamgen */






More information about the Scummvm-git-logs mailing list