aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2011-12-03 22:09:21 +0100
committerWillem Jan Palenstijn2011-12-03 22:10:18 +0100
commita3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9 (patch)
treefc5195c67d39bb12128d4471ddb56e6477e5a8cd
parentc6b113c440183c095b5d1986730144596bd3c76c (diff)
downloadscummvm-rg350-a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9.tar.gz
scummvm-rg350-a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9.tar.bz2
scummvm-rg350-a3a6fbd5ff6567738c3aaa76a4f6e0e8acc8dbb9.zip
DREAMWEB: Convert 'soundOnReels', including its data
-rwxr-xr-xdevtools/tasmrecover/tasm-recover4
-rw-r--r--engines/dreamweb/dreamgen.cpp458
-rw-r--r--engines/dreamweb/dreamgen.h146
-rw-r--r--engines/dreamweb/sprite.cpp318
4 files changed, 538 insertions, 388 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index d26964b69e..6c549d55a2 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -69,6 +69,10 @@ p = parser(skip_binary_data = [
'reelcalls',
'facelist',
'rainlocations',
+ 'roombyroom',
+ 'r0','r1','r2','r6','r8','r9','r10','r11','r12','r13','r14',
+ 'r20','r22','r23','r25','r26','r27','r28','r29',
+ 'r45','r46','r47','r52','r53','r55',
# use.asm
'uselist',
# vgagrafx.asm
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 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 */