diff options
| author | Willem Jan Palenstijn | 2011-12-03 22:09:21 +0100 | 
|---|---|---|
| committer | Willem Jan Palenstijn | 2011-12-03 22:10:18 +0100 | 
| commit | a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9 (patch) | |
| tree | fc5195c67d39bb12128d4471ddb56e6477e5a8cd /engines | |
| parent | c6b113c440183c095b5d1986730144596bd3c76c (diff) | |
| download | scummvm-rg350-a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9.tar.gz scummvm-rg350-a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9.tar.bz2 scummvm-rg350-a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9.zip  | |
DREAMWEB: Convert 'soundOnReels', including its data
Diffstat (limited to 'engines')
| -rw-r--r-- | engines/dreamweb/dreamgen.cpp | 458 | ||||
| -rw-r--r-- | engines/dreamweb/dreamgen.h | 146 | ||||
| -rw-r--r-- | engines/dreamweb/sprite.cpp | 318 | 
3 files changed, 534 insertions, 388 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 121ec5040a..9596090f86 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. .@.. ...! -		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: .;.. =..? ..@. .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... ..@. .... |... -		0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00,  -		//0x0770: "... ,... ..@. .... -		0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00,  -		//0x0780: .... ..@. .... |... -		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: .... @... ..|. ..@. -		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. ..@. .... -		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: .... .@.. ...| ..." +		0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0,  +		//0x0580: ..., .... .@.. .... +		0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40,  +		//0x0590: .... .@.. ...| ...@ +		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: ...@ .... .|.. .@.. +		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.. .@.. .... +		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: ..@. .... .... 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 af03e1936d..25f72c999a 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 f34f0c9616..a2763aeed5 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 */  | 
