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

tramboi bertrand_augereau at yahoo.fr
Sun Dec 4 16:55:27 CET 2011


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

Summary:
dfd1ff2db3 DREAMWEB: kTempCharset and kCurrentSet are managed out of the VM


Commit: dfd1ff2db33f16b3a9c8e832aeb1bced4c1ea0d8
    https://github.com/scummvm/scummvm/commit/dfd1ff2db33f16b3a9c8e832aeb1bced4c1ea0d8
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-12-04T09:54:08-08:00

Commit Message:
DREAMWEB: kTempCharset and kCurrentSet are managed out of the VM

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



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 0f1edbc..ef7a08d 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -81,8 +81,10 @@ p = parser(skip_binary_data = [
 	# use.asm
 	'uselist',
 	# vars.asm
+	'currentset',
 	'icons1',
 	'icons2',
+	'tempcharset',
 	# vgagrafx.asm
 	'shaketable',
 	'symbolgraphic',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index c25cef2..e0e5809 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 = 1168;
+	dx = 1164;
 	loadIntoTemp();
 	createPanel2();
 	ds = data.word(kTempgraphics);
@@ -2069,7 +2069,7 @@ void DreamGenContext::showGun() {
 	al = 12;
 	ah = 0;
 	playChannel0();
-	dx = 1142;
+	dx = 1138;
 	loadTempText();
 	rollEndCredits2();
 	getRidOfTempText();
@@ -2317,7 +2317,7 @@ void DreamGenContext::initialMonCols() {
 
 void DreamGenContext::endGame() {
 	STACK_CHECK;
-	dx = 1142;
+	dx = 1138;
 	loadTempText();
 	monkSpeaking();
 	gettingShot();
@@ -2332,7 +2332,7 @@ void DreamGenContext::monkSpeaking() {
 	STACK_CHECK;
 	data.byte(kRoomssample) = 35;
 	loadRoomsSample();
-	dx = 1181;
+	dx = 1177;
 	loadIntoTemp();
 	clearWork();
 	showMonk();
@@ -2399,7 +2399,7 @@ void DreamGenContext::gettingShot() {
 void DreamGenContext::bibleQuote() {
 	STACK_CHECK;
 	mode640x480();
-	dx = 1194;
+	dx = 1190;
 	showPCX();
 	fadeScreenUps();
 	cx = 80;
@@ -2438,7 +2438,7 @@ hangonloope:
 
 void DreamGenContext::intro() {
 	STACK_CHECK;
-	dx = 1129;
+	dx = 1125;
 	loadTempText();
 	loadPalFromIFF();
 	setMode();
@@ -2571,7 +2571,7 @@ void DreamGenContext::realCredits() {
 	mode640x480();
 	cx = 35;
 	hangOn();
-	dx = 1207;
+	dx = 1203;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2593,7 +2593,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1220;
+	dx = 1216;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2615,7 +2615,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1233;
+	dx = 1229;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2637,7 +2637,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1246;
+	dx = 1242;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2659,7 +2659,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1259;
+	dx = 1255;
 	showPCX();
 	al = 12;
 	ah = 0;
@@ -2681,7 +2681,7 @@ void DreamGenContext::realCredits() {
 	_cmp(data.byte(kLasthardkey), 1);
 	if (flags.z())
 		goto realcreditsearly;
-	dx = 1272;
+	dx = 1268;
 	showPCX();
 	fadeScreenUps();
 	cx = 60;
@@ -5112,14 +5112,14 @@ void DreamGenContext::getDestInfo() {
 	push(ax);
 	dx = data;
 	es = dx;
-	si = 1934;
+	si = 1930;
 	_add(si, ax);
 	cl = es.byte(si);
 	ax = pop();
 	push(cx);
 	dx = data;
 	es = dx;
-	si = 1950;
+	si = 1946;
 	_add(si, ax);
 	ax = pop();
 }
@@ -5296,23 +5296,23 @@ clearedlocations:
 	bx = ax;
 	dx = data;
 	es = dx;
-	_add(bx, 1934);
+	_add(bx, 1930);
 	es.byte(bx) = 0;
 }
 
 void DreamGenContext::readDestIcon() {
 	STACK_CHECK;
-	dx = 1077;
+	dx = 1073;
 	loadIntoTemp();
-	dx = 1090;
+	dx = 1086;
 	loadIntoTemp2();
-	dx = 1051;
+	dx = 1047;
 	loadIntoTemp3();
 }
 
 void DreamGenContext::readCityPic() {
 	STACK_CHECK;
-	dx = 1064;
+	dx = 1060;
 	loadIntoTemp();
 }
 
@@ -5411,7 +5411,7 @@ void DreamGenContext::delChar() {
 	si = data.word(kCurpos);
 	_add(si, si);
 	es = cs;
-	_add(si, 1968);
+	_add(si, 1964);
 	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 = 1968;
+	si = 1964;
 	al = ds.byte(si);
 	_cmp(al, 0);
 	if (!flags.z())
@@ -5531,7 +5531,7 @@ dirroot:
 	si = offset_rootdir;
 	_inc(si);
 	es = cs;
-	di = 1623;
+	di = 1619;
 	_inc(di);
 	cx = 12;
 	_movsb(cx, true);
@@ -5633,7 +5633,7 @@ notyetassigned:
 	push(bx);
 	_add(bx, 2);
 	ds = cs;
-	si = 1968;
+	si = 1964;
 checkpass:
 	_lodsw();
 	ah = es.byte(bx);
@@ -5704,7 +5704,7 @@ void DreamGenContext::read() {
 	return;
 okcom:
 	es = cs;
-	di = 1623;
+	di = 1619;
 	ax = data.word(kTextfile1);
 	data.word(kMonsource) = ax;
 	ds = ax;
@@ -5834,7 +5834,7 @@ keyok2:
 	ds = cs;
 	si = offset_operand1+1;
 	es = cs;
-	di = 1623+1;
+	di = 1619+1;
 	cx = 12;
 	_movsb(cx, true);
 	monitorLogo();
@@ -5961,7 +5961,7 @@ void DreamGenContext::parser() {
 	al = '=';
 	_stosb();
 	ds = cs;
-	si = 1968;
+	si = 1964;
 notspace1:
 	_lodsw();
 	_cmp(al, 32);
@@ -8784,7 +8784,7 @@ nowinch:
 
 void DreamGenContext::loadKeypad() {
 	STACK_CHECK;
-	dx = 1038;
+	dx = 1034;
 	loadIntoTemp();
 }
 
@@ -9121,11 +9121,11 @@ void DreamGenContext::dumpSymBox() {
 void DreamGenContext::useDiary() {
 	STACK_CHECK;
 	getRidOfReels();
-	dx = 1103;
+	dx = 1099;
 	loadIntoTemp();
-	dx = 1116;
+	dx = 1112;
 	loadTempText();
-	dx = 999;
+	dx = 995;
 	loadTempCharset();
 	createPanel();
 	showIcon();
@@ -9452,7 +9452,7 @@ opsblock1:
 
 void DreamGenContext::loadSaveBox() {
 	STACK_CHECK;
-	dx = 1051;
+	dx = 1047;
 	loadIntoTemp();
 }
 
@@ -9585,7 +9585,7 @@ void DreamGenContext::getNamePos() {
 	_mul(cx);
 	dx = data;
 	es = dx;
-	bx = 2102;
+	bx = 2098;
 	_add(bx, ax);
 	al = data.byte(kCursorpos);
 	ah = 0;
@@ -9739,7 +9739,7 @@ void DreamGenContext::showNames() {
 	STACK_CHECK;
 	dx = data;
 	es = dx;
-	si = 2102+1;
+	si = 2098+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)+987-530+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)+983-526+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 = 530;
-	cx = (987-530);
+	si = 526;
+	cx = (983-526);
 	_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)+987-530);
+	di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
 	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 = 530;
-	cx = (987-530);
+	di = 526;
+	cx = (983-526);
 	_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)+987-530);
+	si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
 	es = cs;
 	di = 0;
 	cx = (68-0);
@@ -10259,7 +10259,7 @@ void DreamGenContext::clearChanges() {
 	di = 0;
 	_stosw(cx, true);
 	es = cs;
-	di = 1934;
+	di = 1930;
 	al = 1;
 	_stosb(2);
 	al = 0;
@@ -10973,207 +10973,207 @@ void DreamGenContext::__start() {
 		//0x0140: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x0150: .... .... .... ....
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 
+		0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 
 		//0x0160: .... .... .... ....
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x0170: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x0180: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x0190: .... .... .... ....
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+		0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 		//0x01a0: .... .... .... ....
 		0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
 		//0x01b0: .... .... .... ....
-		0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+		0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 
 		//0x01c0: .... .... .... ....
-		0xff, 0xff, 0x17, 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, 
 		//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, 0xff, 0x00, 
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x01f0: .... .... .... ....
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 
-		//0x0200: .... .... .... ....
-		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, 
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 
+		//0x0200: .... .... .... ...,
+		0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, 0x00, 0x32, 0x14, 0x00, 0x18, 0x16, 
+		//0x0210: .... ...7 ...2 ....
+		0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c, 
+		//0x0220: .J.. ...! .K.. ...,
+		0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c, 
+		//0x0230: .... ..., .`.. ...,
+		0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x16, 
+		//0x0240: .v.. ..., .... ....
+		0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, 0x00, 0x01, 0x00, 0x02, 0x05, 0x16, 
+		//0x0250: .5.. .... .(.. ....
+		0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b, 
+		//0x0260: .2.. .... .... ....
+		0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 0x00, 
 		//0x0270: .... .... .... ....
-		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: .... . at .. .... .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, 
+		0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, 0x00, 0x00, 0x17, 0x00, 
+		//0x0280: 2... .... .... ....
+		0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, 0x00, 0x01, 0x17, 0x16, 
+		//0x0290: 2+.. .... (... ....
+		0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, 0x00, 0x02, 0x00, 0x03, 0x17, 0x16, 
+		//0x02a0: (z.. .... (i.. ....
+		0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, 0x00, 0x05, 0x17, 0x16, 
+		//0x02b0: (Q.. .... (... ....
+		0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 
+		//0x02c0: (... .... .... ..-.
+		0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 
+		//0x02d0: .... ..-. .'.. ..-.
+		0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b, 
+		//0x02e0: .... .... ( .. ....
+		0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b, 
+		//0x02f0: . at .. .... .R.. ....
+		0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21, 
+		//0x0300: .... .... .... ...!
+		0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x16, 
+		//0x0310: (... .... .... ....
+		0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 
+		//0x0320: .... .... 2... ..2.
+		0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, 0x00, 0x00, 0x34, 0x16, 
+		//0x0330: .y.. ..2. .... ..4.
+		0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 
+		//0x0340: .... ..4. .... ..2.
+		0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 
+		//0x0350: (h.7 ..5! .c.. ..2.
+		0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 
+		//0x0360: (... ..2. .... ..4.
+		0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x36, 0x00, 
+		//0x0370: .9.. ..4. .... ..6.
+		0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00, 
+		//0x0380: .H.. ..7, .... ....
+		0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16, 
 		//0x0390: .... .... .... ....
-		0x00, 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: ...@ .... .|.. . at ..
-		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: . at .. ...| ...@ ....
-		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, 
+		0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16, 
+		//0x03a0: .,.. .... .... ....
+		0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b, 
+		//0x03b0: .... .... ...2 ....
+		0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 
+		//0x03c0: ...2 .... ...2 ...!
+		0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x2e, 0x44, 
+		//0x03d0: (..2 ...I NSTA LL.D
+		0x41, 0x54, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x43, 0x30, 0x32, 0x00, 
+		//0x03e0: AT.D REAM WEB. C02.
+		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 
+		//0x03f0: DREA MWEB .V00 .DRE
+		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
+		//0x0400: AMWE B.V9 9.DR EAMW
+		0x45, 0x42, 0x2e, 0x47, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
+		//0x0410: EB.G 02.D REAM WEB.
+		0x47, 0x30, 0x38, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x34, 
+		//0x0420: G08. DREA MWEB .G04
+		0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x35, 0x00, 0x44, 0x52, 
+		//0x0430: .DRE AMWE B.G0 5.DR
+		0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 
+		//0x0440: EAMW EB.G 06.D REAM
+		0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 
+		//0x0450: WEB. G14. DREA MWEB
+		0x2e, 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 
+		//0x0460: .T51 .DRE AMWE B.T8
+		0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 
+		//0x0470: 2.DR EAMW EB.T 83.D
+		0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 
+		//0x0480: REAM WEB. VOL. DREA
+		0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 
+		//0x0490: MWEB .G13 .DRE AMWE
+		0x42, 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 
+		//0x04a0: B.G1 5.DR EAMW EB.I
+		0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x31, 0x00, 
+		//0x04b0: 00.D REAM WEB. I01.
+		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 
+		//0x04c0: DREA MWEB .I02 .DRE
+		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
+		//0x04d0: AMWE B.I0 3.DR EAMW
+		0x45, 0x42, 0x2e, 0x49, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
+		//0x04e0: EB.I 04.D REAM WEB.
+		0x49, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x36, 
+		//0x04f0: I05. DREA MWEB .I06
+		0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x44, 0x52, 
+		//0x0500: .DRE AMWE B.I0 7.DR
+		0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x50, 0x41, 0x4c, 0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 
+		//0x0510: EAMW EB.P AL.. ...@
+		0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 
+		//0x0520: .... .|.. .".. .,..
+		0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 
+		//0x0530: ...@ .... .... ...@
+		0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 
+		//0x0540: .... .|.. . at .. ....
+		0xca, 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xc8, 0xc4, 0x68, 0x00, 0x7c, 
+		//0x0550: .... .... .,.. .h.|
+		0x00, 0x04, 0x00, 0x2c, 0x00, 0xcc, 0xc4, 0x18, 0x01, 0x34, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xb0, 
+		//0x0560: ..., .... .4.. .,..
+		0xc4, 0x68, 0x00, 0xd8, 0x00, 0x8a, 0x00, 0xc0, 0x00, 0xd0, 0xc4, 0x11, 0x01, 0x40, 0x01, 0x9d, 
+		//0x0570: .h.. .... .... . at ..
+		0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 
+		//0x0580: ...| ...@ .... ....
+		0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 
+		//0x0590: .EXI T       H ELP 
+		0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 
+		//0x05a0:       LIS T       R
+		0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 
+		//0x05b0: EAD        LOG ON  
+		0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 
+		//0x05c0:    K EYS        ..P
+		0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 
+		//0x05d0: UBLI C       P UBLI
+		0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 
+		//0x05e0: C      .. .BLA CKDR
+		0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x05f0: AGON  RYA N        
+		0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 
+		//0x0600: ...H ENDR IX      L
+		0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 
+		//0x0610: OUIS        .. .SEP
+		0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 
+		//0x0620: TIMU S     BEC KETT
+		0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x0630:      ...           
+		0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x0640:      ."RO OT       
+		0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x0650:   ."               
+		0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 
+		//0x0660: .000 0.00 .... ....
+		0x00, 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 
 		//0x0670: .... .... .... ....
-		0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 
-		//0x0680: .... .... .P.. . at ..
-		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: . at .. .... .... ...$
-		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     
+		0x01, 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 
+		//0x0680: .... .P.. . at .. ....
+		0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 
+		//0x0690: ...w ...R ...4 .F..
+		0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 
+		//0x06a0: .>.o .... ...D ...L
+		0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 
+		//0x06b0: ...@ .... .... .w..
+		0x00, 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 
+		//0x06c0: .R.. .D.F ...> .o.P
+		0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 
+		//0x06d0: .... .p.. .H.. . at ..
+		0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 
+		//0x06e0: .... .... ...$ ....
+		0x52, 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 
+		//0x06f0: R... ..P. ..>. o...
+		0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 
+		//0x0700: .... >.o. .... @...
+		0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 
+		//0x0710: .... ..SP EECH R24C
+		0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 
+		//0x0720: 0005 .RAW .OBJ ECT 
+		0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
+		//0x0730: NAME  ONE          
 		0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 
 		//0x0740:                    
-		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:
+		0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+		//0x0750:  ... .... .... ....
+		0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 
+		//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, 
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 
 		//0x0780: .... .... .... ....
-		0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 
 		//0x0790: .... .... .... ....
-		0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 
+		0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x07a0: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x07b0: .... .... .... ....
@@ -11189,35 +11189,35 @@ void DreamGenContext::__start() {
 		//0x0800: .... .... .... ....
 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
 		//0x0810: .... .... .... ....
-		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 
 		//0x0820: .... .... .... ....
-		0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+		0xff, 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
 		//0x0830: .... .... .... ....
-		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, 0x01, 0x01, 0x01, 0x01, 
 		//0x0840: .... .... .... ....
-		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, 0x01, 0x01, 0x01, 
 		//0x0850: .... .... .... ....
-		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, 0x01, 0x01, 
 		//0x0860: .... .... .... ....
-		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, 0x01, 
 		//0x0870: .... .... .... ....
-		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, 
 		//0x0880: .... .... .... ....
-		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, 
 		//0x0890: .... .... .... ....
-		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, };
+		0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 
+		//0x08a0: .... .... .DRE AMWE
+		0x42, 0x2e, 0x44, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 
+		//0x08b0: B.D0 0.DR EAMW EB.D
+		0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x32, 0x00, 
+		//0x08c0: 01.D REAM WEB. D02.
+		0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 
+		//0x08d0: DREA MWEB .D03 .DRE
+		0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 
+		//0x08e0: AMWE B.D0 4.DR EAMW
+		0x45, 0x42, 0x2e, 0x44, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 
+		//0x08f0: EB.D 05.D REAM WEB.
+		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 8076827..d93136f 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_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 offset_keys = 0x05cd;
+	static const uint16 offset_decidelist = 0x06ec;
+	static const uint16 offset_destlist = 0x0553;
+	static const uint16 offset_diarylist = 0x0669;
+	static const uint16 offset_operand1 = 0x0637;
+	static const uint16 offset_rootdir = 0x0645;
+	static const uint16 offset_openchangesize = 0x051b;
+	static const uint16 offset_comlist = 0x0591;
+	static const uint16 offset_speechfile = 0x071c;
+	static const uint16 offset_quitlist = 0x053d;
+	static const uint16 offset_money1poke = 0x0661;
+	static const uint16 offset_speechfilename = 0x0716;
+	static const uint16 offset_money2poke = 0x0666;
+	static const uint16 offset_talklist = 0x051d;
+	static const uint16 offset_discopslist = 0x06bd;
+	static const uint16 offset_opslist = 0x0693;
+	static const uint16 offset_commandline = 0x0729;
 	static const uint16 kStartvars = 0;
 	static const uint16 kProgresspoints = 1;
 	static const uint16 kWatchon = 2;
@@ -258,213 +258,211 @@ public:
 	static const uint16 kTimer2to = 263;
 	static const uint16 kTimer3to = 264;
 	static const uint16 kWatchdump = 265;
-	static const uint16 kCurrentset = 266;
-	static const uint16 kLogonum = 268;
-	static const uint16 kOldlogonum = 269;
-	static const uint16 kNewlogonum = 270;
-	static const uint16 kNetseg = 271;
-	static const uint16 kNetpoint = 273;
-	static const uint16 kKeynum = 275;
-	static const uint16 kCursorstate = 276;
-	static const uint16 kPressed = 277;
-	static const uint16 kPresspointer = 278;
-	static const uint16 kGraphicpress = 280;
-	static const uint16 kPresscount = 281;
-	static const uint16 kKeypadax = 282;
-	static const uint16 kKeypadcx = 284;
-	static const uint16 kLightcount = 286;
-	static const uint16 kFolderpage = 287;
-	static const uint16 kDiarypage = 288;
-	static const uint16 kMenucount = 289;
-	static const uint16 kSymboltopx = 290;
-	static const uint16 kSymboltopnum = 291;
-	static const uint16 kSymboltopdir = 292;
-	static const uint16 kSymbolbotx = 293;
-	static const uint16 kSymbolbotnum = 294;
-	static const uint16 kSymbolbotdir = 295;
-	static const uint16 kSymboltolight = 296;
-	static const uint16 kSymbol1 = 297;
-	static const uint16 kSymbol2 = 298;
-	static const uint16 kSymbol3 = 299;
-	static const uint16 kSymbolnum = 300;
-	static const uint16 kDumpx = 301;
-	static const uint16 kDumpy = 303;
-	static const uint16 kWalkandexam = 305;
-	static const uint16 kWalkexamtype = 306;
-	static const uint16 kWalkexamnum = 307;
-	static const uint16 kCursloc = 308;
-	static const uint16 kCurslocx = 310;
-	static const uint16 kCurslocy = 312;
-	static const uint16 kCurpos = 314;
-	static const uint16 kMonadx = 316;
-	static const uint16 kMonady = 318;
-	static const uint16 kGotfrom = 320;
-	static const uint16 kMonsource = 322;
-	static const uint16 kNumtodo = 324;
-	static const uint16 kTimecount = 326;
-	static const uint16 kCounttotimed = 328;
-	static const uint16 kTimedseg = 330;
-	static const uint16 kTimedoffset = 332;
-	static const uint16 kTimedy = 334;
-	static const uint16 kTimedx = 335;
-	static const uint16 kNeedtodumptimed = 336;
-	static const uint16 kHandle = 337;
-	static const uint16 kLoadingorsave = 339;
-	static const uint16 kCurrentslot = 340;
-	static const uint16 kCursorpos = 341;
-	static const uint16 kColourpos = 342;
-	static const uint16 kFadedirection = 343;
-	static const uint16 kNumtofade = 344;
-	static const uint16 kFadecount = 345;
-	static const uint16 kAddtogreen = 346;
-	static const uint16 kAddtored = 347;
-	static const uint16 kAddtoblue = 348;
-	static const uint16 kLastsoundreel = 349;
-	static const uint16 kSoundbuffer = 351;
-	static const uint16 kSoundbufferad = 353;
-	static const uint16 kSoundbufferpage = 355;
-	static const uint16 kSoundtimes = 356;
-	static const uint16 kNeedsoundbuff = 357;
-	static const uint16 kOldint9seg = 358;
-	static const uint16 kOldint9add = 360;
-	static const uint16 kOldint8seg = 362;
-	static const uint16 kOldint8add = 364;
-	static const uint16 kOldsoundintseg = 366;
-	static const uint16 kOldsoundintadd = 368;
-	static const uint16 kSoundbaseadd = 370;
-	static const uint16 kDsp_status = 372;
-	static const uint16 kDsp_write = 374;
-	static const uint16 kDmaaddress = 376;
-	static const uint16 kSoundint = 377;
-	static const uint16 kSounddmachannel = 378;
-	static const uint16 kSampleplaying = 379;
-	static const uint16 kTestresult = 380;
-	static const uint16 kCurrentirq = 381;
-	static const uint16 kSpeechloaded = 382;
-	static const uint16 kSpeechlength = 383;
-	static const uint16 kVolume = 385;
-	static const uint16 kVolumeto = 386;
-	static const uint16 kVolumedirection = 387;
-	static const uint16 kVolumecount = 388;
-	static const uint16 kPlayblock = 389;
-	static const uint16 kWongame = 390;
-	static const uint16 kLasthardkey = 391;
-	static const uint16 kBufferin = 392;
-	static const uint16 kBufferout = 394;
-	static const uint16 kExtras = 396;
-	static const uint16 kWorkspace = 398;
-	static const uint16 kMapstore = 400;
-	static const uint16 kCharset1 = 402;
-	static const uint16 kTempcharset = 404;
-	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 kLogonum = 266;
+	static const uint16 kOldlogonum = 267;
+	static const uint16 kNewlogonum = 268;
+	static const uint16 kNetseg = 269;
+	static const uint16 kNetpoint = 271;
+	static const uint16 kKeynum = 273;
+	static const uint16 kCursorstate = 274;
+	static const uint16 kPressed = 275;
+	static const uint16 kPresspointer = 276;
+	static const uint16 kGraphicpress = 278;
+	static const uint16 kPresscount = 279;
+	static const uint16 kKeypadax = 280;
+	static const uint16 kKeypadcx = 282;
+	static const uint16 kLightcount = 284;
+	static const uint16 kFolderpage = 285;
+	static const uint16 kDiarypage = 286;
+	static const uint16 kMenucount = 287;
+	static const uint16 kSymboltopx = 288;
+	static const uint16 kSymboltopnum = 289;
+	static const uint16 kSymboltopdir = 290;
+	static const uint16 kSymbolbotx = 291;
+	static const uint16 kSymbolbotnum = 292;
+	static const uint16 kSymbolbotdir = 293;
+	static const uint16 kSymboltolight = 294;
+	static const uint16 kSymbol1 = 295;
+	static const uint16 kSymbol2 = 296;
+	static const uint16 kSymbol3 = 297;
+	static const uint16 kSymbolnum = 298;
+	static const uint16 kDumpx = 299;
+	static const uint16 kDumpy = 301;
+	static const uint16 kWalkandexam = 303;
+	static const uint16 kWalkexamtype = 304;
+	static const uint16 kWalkexamnum = 305;
+	static const uint16 kCursloc = 306;
+	static const uint16 kCurslocx = 308;
+	static const uint16 kCurslocy = 310;
+	static const uint16 kCurpos = 312;
+	static const uint16 kMonadx = 314;
+	static const uint16 kMonady = 316;
+	static const uint16 kGotfrom = 318;
+	static const uint16 kMonsource = 320;
+	static const uint16 kNumtodo = 322;
+	static const uint16 kTimecount = 324;
+	static const uint16 kCounttotimed = 326;
+	static const uint16 kTimedseg = 328;
+	static const uint16 kTimedoffset = 330;
+	static const uint16 kTimedy = 332;
+	static const uint16 kTimedx = 333;
+	static const uint16 kNeedtodumptimed = 334;
+	static const uint16 kHandle = 335;
+	static const uint16 kLoadingorsave = 337;
+	static const uint16 kCurrentslot = 338;
+	static const uint16 kCursorpos = 339;
+	static const uint16 kColourpos = 340;
+	static const uint16 kFadedirection = 341;
+	static const uint16 kNumtofade = 342;
+	static const uint16 kFadecount = 343;
+	static const uint16 kAddtogreen = 344;
+	static const uint16 kAddtored = 345;
+	static const uint16 kAddtoblue = 346;
+	static const uint16 kLastsoundreel = 347;
+	static const uint16 kSoundbuffer = 349;
+	static const uint16 kSoundbufferad = 351;
+	static const uint16 kSoundbufferpage = 353;
+	static const uint16 kSoundtimes = 354;
+	static const uint16 kNeedsoundbuff = 355;
+	static const uint16 kOldint9seg = 356;
+	static const uint16 kOldint9add = 358;
+	static const uint16 kOldint8seg = 360;
+	static const uint16 kOldint8add = 362;
+	static const uint16 kOldsoundintseg = 364;
+	static const uint16 kOldsoundintadd = 366;
+	static const uint16 kSoundbaseadd = 368;
+	static const uint16 kDsp_status = 370;
+	static const uint16 kDsp_write = 372;
+	static const uint16 kDmaaddress = 374;
+	static const uint16 kSoundint = 375;
+	static const uint16 kSounddmachannel = 376;
+	static const uint16 kSampleplaying = 377;
+	static const uint16 kTestresult = 378;
+	static const uint16 kCurrentirq = 379;
+	static const uint16 kSpeechloaded = 380;
+	static const uint16 kSpeechlength = 381;
+	static const uint16 kVolume = 383;
+	static const uint16 kVolumeto = 384;
+	static const uint16 kVolumedirection = 385;
+	static const uint16 kVolumecount = 386;
+	static const uint16 kPlayblock = 387;
+	static const uint16 kWongame = 388;
+	static const uint16 kLasthardkey = 389;
+	static const uint16 kBufferin = 390;
+	static const uint16 kBufferout = 392;
+	static const uint16 kExtras = 394;
+	static const uint16 kWorkspace = 396;
+	static const uint16 kMapstore = 398;
+	static const uint16 kCharset1 = 400;
+	static const uint16 kBuffers = 402;
+	static const uint16 kMainsprites = 404;
+	static const uint16 kBackdrop = 406;
+	static const uint16 kMapdata = 408;
+	static const uint16 kSounddata = 410;
+	static const uint16 kSounddata2 = 412;
+	static const uint16 kRecordspace = 414;
+	static const uint16 kFreedat = 416;
+	static const uint16 kSetdat = 418;
+	static const uint16 kReel1 = 420;
+	static const uint16 kReel2 = 422;
+	static const uint16 kReel3 = 424;
+	static const uint16 kRoomdesc = 426;
+	static const uint16 kFreedesc = 428;
+	static const uint16 kSetdesc = 430;
+	static const uint16 kBlockdesc = 432;
+	static const uint16 kSetframes = 434;
+	static const uint16 kFreeframes = 436;
+	static const uint16 kPeople = 438;
+	static const uint16 kReels = 440;
+	static const uint16 kCommandtext = 442;
+	static const uint16 kPuzzletext = 444;
+	static const uint16 kTraveltext = 446;
+	static const uint16 kTempgraphics = 448;
+	static const uint16 kTempgraphics2 = 450;
+	static const uint16 kTempgraphics3 = 452;
+	static const uint16 kTempsprites = 454;
+	static const uint16 kTextfile1 = 456;
+	static const uint16 kTextfile2 = 458;
+	static const uint16 kTextfile3 = 460;
+	static const uint16 kBlinkframe = 462;
+	static const uint16 kBlinkcount = 463;
+	static const uint16 kReasseschanges = 464;
+	static const uint16 kPointerspath = 465;
+	static const uint16 kManspath = 466;
+	static const uint16 kPointerfirstpath = 467;
+	static const uint16 kFinaldest = 468;
+	static const uint16 kDestination = 469;
+	static const uint16 kLinestartx = 470;
+	static const uint16 kLinestarty = 472;
+	static const uint16 kLineendx = 474;
+	static const uint16 kLineendy = 476;
+	static const uint16 kIncrement1 = 478;
+	static const uint16 kIncrement2 = 480;
+	static const uint16 kLineroutine = 482;
+	static const uint16 kLinepointer = 483;
+	static const uint16 kLinedirection = 484;
+	static const uint16 kLinelength = 485;
+	static const uint16 kLiftsoundcount = 486;
+	static const uint16 kEmmhandle = 487;
+	static const uint16 kEmmpageframe = 489;
+	static const uint16 kEmmhardwarepage = 491;
+	static const uint16 kCh0emmpage = 492;
+	static const uint16 kCh0offset = 494;
+	static const uint16 kCh0blockstocopy = 496;
+	static const uint16 kCh0playing = 498;
+	static const uint16 kCh0repeat = 499;
+	static const uint16 kCh0oldemmpage = 500;
+	static const uint16 kCh0oldoffset = 502;
+	static const uint16 kCh0oldblockstocopy = 504;
+	static const uint16 kCh1playing = 506;
+	static const uint16 kCh1emmpage = 507;
+	static const uint16 kCh1offset = 509;
+	static const uint16 kCh1blockstocopy = 511;
+	static const uint16 kCh1blocksplayed = 513;
+	static const uint16 kSoundbufferwrite = 515;
+	static const uint16 kSoundemmpage = 517;
+	static const uint16 kSpeechemmpage = 519;
+	static const uint16 kCurrentsample = 521;
+	static const uint16 kRoomssample = 522;
+	static const uint16 kGameerror = 523;
+	static const uint16 kHowmuchalloc = 524;
+	static const uint16 kReelroutines = 526;
+	static const uint16 kIdname = 983;
+	static const uint16 kCharacterset3 = 995;
+	static const uint16 kSamplename = 1008;
+	static const uint16 kBasicsample = 1021;
+	static const uint16 kExtragraphics1 = 1034;
+	static const uint16 kIcongraphics8 = 1047;
+	static const uint16 kCityname = 1060;
+	static const uint16 kTravelgraphic1 = 1073;
+	static const uint16 kTravelgraphic2 = 1086;
+	static const uint16 kDiarygraphic = 1099;
+	static const uint16 kDiarytext = 1112;
+	static const uint16 kIntrotextname = 1125;
+	static const uint16 kEndtextname = 1138;
+	static const uint16 kVolumetabname = 1151;
+	static const uint16 kGungraphic = 1164;
+	static const uint16 kMonkface = 1177;
+	static const uint16 kTitle0graphics = 1190;
+	static const uint16 kTitle1graphics = 1203;
+	static const uint16 kTitle2graphics = 1216;
+	static const uint16 kTitle3graphics = 1229;
+	static const uint16 kTitle4graphics = 1242;
+	static const uint16 kTitle5graphics = 1255;
+	static const uint16 kTitle6graphics = 1268;
+	static const uint16 kTitle7graphics = 1281;
+	static const uint16 kPalettescreen = 1294;
+	static const uint16 kCurrentfile = 1619;
+	static const uint16 kRoomscango = 1930;
+	static const uint16 kRoompics = 1946;
+	static const uint16 kOplist = 1961;
+	static const uint16 kInputline = 1964;
+	static const uint16 kPresslist = 2092;
+	static const uint16 kSavenames = 2098;
+	static const uint16 kSavefiles = 2217;
+	static const uint16 kQuitrequested = 2308;
+	static const uint16 kSubtitles = 2309;
+	static const uint16 kForeignrelease = 2310;
 	static const uint16 kBlocktextdat = (0);
 	static const uint16 kPersonframes = (0);
 	static const uint16 kDebuglevel1 = (0);
@@ -503,8 +501,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)+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 kInitialvars = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526);
+	static const uint16 kLengthofbuffer = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+983-526+68-0);
 	static const uint16 kReellist = (0+(36*144));
 	static const uint16 kIntext = (0+(38*2));
 	static const uint16 kLengthofmap = (0+(66*60));
@@ -556,7 +554,7 @@ public:
 	static const uint16 kInventx = (80);
 	static const uint16 kMenux = (80+40);
 	static const uint16 kHeaderlen = (96);
-	static const uint16 kLenofreelrouts = (987-530);
+	static const uint16 kLenofreelrouts = (983-526);
 
 	void useWire();
 	void getNamePos();
@@ -598,6 +596,7 @@ public:
 	void introMonks1();
 	void resetLocation();
 	void introMonks2();
+	void advisor();
 	void additionalText();
 	void useElevator5();
 	void useElevator4();
@@ -681,7 +680,7 @@ public:
 	void lockLightOff();
 	void wearWatch();
 	void runIntroSeq();
-	void advisor();
+	void nextColon();
 	void attendant();
 	void nextSymbol();
 	void monks2text();
@@ -691,7 +690,6 @@ public:
 	void openHotelDoor();
 	void blank();
 	void drinker();
-	void nextColon();
 	void placeFreeObject();
 	void allPalette();
 	void adjustRight();
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 2902276..51000ca 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -65,6 +65,7 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
 
 	_icons1 = NULL;
 	_icons2 = NULL;
+	_tempCharset = NULL;
 
 	_language = gameDesc->desc.language;
 }
@@ -72,6 +73,7 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
 DreamWebEngine::~DreamWebEngine() {
 	assert(_icons1 == NULL);
 	assert(_icons2 == NULL);
+	assert(_tempCharset == NULL);
 
 	DebugMan.clearAllDebugChannels();
 	delete _console;
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h
index 370342a..62db94a 100644
--- a/engines/dreamweb/dreamweb.h
+++ b/engines/dreamweb/dreamweb.h
@@ -137,6 +137,13 @@ public:
 	void freeIcons1() { free(_icons1); _icons1 = NULL; }
 	void freeIcons2() { free(_icons2); _icons2 = NULL; }
 
+	DreamGen::Frame *tempCharset() const { return (DreamGen::Frame *)_tempCharset; }
+	void setTempCharset(void *frames) { assert(_tempCharset == NULL); _tempCharset = frames; }
+	void freeTempCharset() { free(_tempCharset); _tempCharset = NULL; }
+
+	DreamGen::Frame *currentCharset() const { return _currentCharset; }
+	void setCurrentCharset(DreamGen::Frame *charset) { _currentCharset = charset; }
+
 private:
 	void keyPressed(uint16 ascii);
 	void setSpeed(uint speed);
@@ -174,6 +181,8 @@ private:
 
 	void *_icons1;
 	void *_icons2;
+	void *_tempCharset;
+	DreamGen::Frame *_currentCharset;
 
 	DreamGen::DreamGenContext _context;
 };
diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp
index 88df606..ebd160a 100644
--- a/engines/dreamweb/monitor.cpp
+++ b/engines/dreamweb/monitor.cpp
@@ -106,7 +106,7 @@ void DreamGenContext::input() {
 	char *inputLine = (char *)cs.ptr(kInputline, 64);
 	memset(inputLine, 0, 64);
 	data.word(kCurpos) = 0;
-	printChar(tempCharset(), data.word(kMonadx), data.word(kMonady), '>', 0, NULL, NULL);
+	printChar(engine->tempCharset(), data.word(kMonadx), data.word(kMonady), '>', 0, NULL, NULL);
 	multiDump(data.word(kMonadx), data.word(kMonady), 6, 8);
 	data.word(kMonadx) += 6;
 	data.word(kCurslocx) = data.word(kMonadx);
@@ -140,7 +140,7 @@ void DreamGenContext::input() {
 			continue;
 		multiGet(getSegment(data.word(kMapstore)).ptr(data.word(kCurpos) * 256, 0), data.word(kMonadx), data.word(kMonady), 8, 8);
 		uint8 charWidth;
-		printChar(tempCharset(), data.word(kMonadx), data.word(kMonady), currentKey, 0, &charWidth, NULL);
+		printChar(engine->tempCharset(), data.word(kMonadx), data.word(kMonady), currentKey, 0, &charWidth, NULL);
 		inputLine[data.word(kCurpos) * 2 + 1] = charWidth;
 		data.word(kMonadx) += charWidth;
 		++data.word(kCurpos);
@@ -160,7 +160,7 @@ void DreamGenContext::printCurs() {
 	multiGet(textUnder(), x, y, 6, height);
 	++data.word(kMaintimer);
 	if ((data.word(kMaintimer) & 16) == 0)
-		showFrame(tempCharset(), x, y, '/' - 32, 0);
+		showFrame(engine->tempCharset(), x, y, '/' - 32, 0);
 	multiDump(x - 6, y, 12, height);
 }
 
@@ -195,7 +195,7 @@ void DreamGenContext::showCurrentFile() {
 	while (*currentFile) {
 		char c = *currentFile++;
 		c = engine->modifyChar(c);
-		printChar(tempCharset(), &x, 37, c, 0, NULL, NULL);
+		printChar(engine->tempCharset(), &x, 37, c, 0, NULL, NULL);
 	}
 }
 
diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp
index 2d2d40b..1057a85 100644
--- a/engines/dreamweb/print.cpp
+++ b/engines/dreamweb/print.cpp
@@ -149,7 +149,7 @@ uint8 DreamGenContext::printDirect(const uint8* string, uint16 x, uint16 y, uint
 
 uint8 DreamGenContext::printDirect(const uint8** string, uint16 x, uint16 *y, uint8 maxWidth, bool centered) {
 	data.word(kLastxpos) = x;
-	const Frame *charSet = (const Frame *)getSegment(data.word(kCurrentset)).ptr(0, 0);
+	const Frame *charSet = engine->currentCharset();
 	while (true) {
 		uint16 offset = x;
 		uint8 charCount = getNumber(charSet, *string, maxWidth, centered, &offset);
@@ -244,7 +244,7 @@ void DreamGenContext::monPrint() {
 const char *DreamGenContext::monPrint(const char *string) {
 	data.byte(kKerning) = 1;
 	uint16 x = data.word(kMonadx);
-	Frame *charset = tempCharset();
+	Frame *charset = engine->tempCharset();
 	const char *iterator = string;
 	bool done = false;
 	while (!done) {
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 12dc39b..85d39a8 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -804,11 +804,7 @@ void DreamGenContext::loadTempCharset() {
 }
 
 void DreamGenContext::loadTempCharset(const char *fileName) {
-	data.word(kTempcharset) = standardLoad(fileName);
-}
-
-Frame *DreamGenContext::tempCharset() {
-	return (Frame *)getSegment(data.word(kTempcharset)).ptr(0, 0);
+	engine->setTempCharset(standardLoadCPP(fileName));
 }
 
 void DreamGenContext::hangOnCurs(uint16 frameCount) {
@@ -2487,8 +2483,7 @@ void DreamGenContext::readSetData() {
 	data.word(kMainsprites) = standardLoad("DREAMWEB.S00");
 	data.word(kPuzzletext) = standardLoad("DREAMWEB.T80");
 	data.word(kCommandtext) = standardLoad("DREAMWEB.T84");
-	ax = data.word(kCharset1);
-	data.word(kCurrentset) = ax;
+	useCharset1();
 	if (data.byte(kSoundint) == 0xff)
 		return;
 
@@ -2620,11 +2615,11 @@ void DreamGenContext::doLook() {
 }
 
 void DreamGenContext::useCharset1() {
-	data.word(kCurrentset) = data.word(kCharset1);
+	engine->setCurrentCharset((Frame *)getSegment(data.word(kCharset1)).ptr(0, 0));
 }
 
 void DreamGenContext::useTempCharset() {
-	data.word(kCurrentset) = data.word(kTempcharset);
+	engine->setCurrentCharset(engine->tempCharset());
 }
 
 void DreamGenContext::getRidOfTemp() {
@@ -2644,7 +2639,7 @@ void DreamGenContext::getRidOfTemp3() {
 }
 
 void DreamGenContext::getRidOfTempCharset() {
-	deallocateMem(data.word(kTempcharset));
+	engine->freeTempCharset();
 }
 
 void DreamGenContext::getRidOfTempsP() {
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index b630167..ffc0d4b 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -42,7 +42,6 @@
 	void loadIntoTemp3(const char *fileName);
 	void loadTempCharset();
 	void loadTempCharset(const char *fileName);
-	Frame *tempCharset();
 	void saveLoad();
 	void printCurs();
 	void delCurs();






More information about the Scummvm-git-logs mailing list