diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 5 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 228 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 230 |
3 files changed, 232 insertions, 231 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 4e2e7b0692..fa480ea925 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -155,6 +155,11 @@ p = parser(skip_binary_data = [ 'increment2', 'keypadax', 'keypadcx', + 'soundbuffer', + 'cursloc', + 'liftsoundcount', + 'playblock', + 'gotfrom', # vgagrafx.asm 'cityname', 'extragraphics1', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 6f8cff0ff1..dfeda18d6c 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -2651,14 +2651,14 @@ void DreamGenContext::getDestInfo() { push(ax); dx = data; es = dx; - si = 1180; + si = 1174; _add(si, ax); cl = es.byte(si); ax = pop(); push(cx); dx = data; es = dx; - si = 1196; + si = 1190; _add(si, ax); ax = pop(); } @@ -2710,7 +2710,7 @@ clearedlocations: bx = ax; dx = data; es = dx; - _add(bx, 1180); + _add(bx, 1174); es.byte(bx) = 0; } @@ -2749,7 +2749,7 @@ dirroot: si = offset_rootdir; _inc(si); es = cs; - di = 1056; + di = 1050; _inc(di); cx = 12; _movsb(cx, true); @@ -2851,7 +2851,7 @@ notyetassigned: push(bx); _add(bx, 2); ds = cs; - si = 1214; + si = 1208; checkpass: _lodsw(); ah = es.byte(bx); @@ -2922,7 +2922,7 @@ void DreamGenContext::read() { return; okcom: es = cs; - di = 1056; + di = 1050; ax = data.word(kTextfile1); data.word(kMonsource) = ax; ds = ax; @@ -3052,7 +3052,7 @@ keyok2: ds = cs; si = offset_operand1+1; es = cs; - di = 1056+1; + di = 1050+1; cx = 12; _movsb(cx, true); monitorLogo(); @@ -3179,7 +3179,7 @@ void DreamGenContext::parser() { al = '='; _stosb(); ds = cs; - si = 1214; + si = 1208; notspace1: _lodsw(); _cmp(al, 32); @@ -3808,7 +3808,7 @@ nomatchslot: 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)+907-450+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)+901-444+68-0)/2; ax = 0; di = 0; _stosw(cx, true); @@ -3820,11 +3820,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 = 450; - cx = (907-450); + si = 444; + cx = (901-444); _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)+907-450); + 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)+901-444); ds = cs; si = 0; cx = (68-0); @@ -3842,11 +3842,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 = 450; - cx = (907-450); + di = 444; + cx = (901-444); _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)+907-450); + 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)+901-444); es = cs; di = 0; cx = (68-0); @@ -3860,7 +3860,7 @@ void DreamGenContext::clearChanges() { di = 0; _stosw(cx, true); es = cs; - di = 1180; + di = 1174; al = 1; _stosb(2); al = 0; @@ -4099,111 +4099,111 @@ void DreamGenContext::__start() { //0x0150: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0160: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x0170: .... .... .... .... 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x0180: .... .... .... .... - 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, //0x0190: .... .... .... .... - 0xff, 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, //0x01a0: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, - //0x01b0: .... .... .... .... - 0xff, 0x00, 0x01, 0x2c, 0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, 0x00, 0x32, - //0x01c0: ..., .... ...7 ...2 - 0x14, 0x00, 0x18, 0x16, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, - //0x01d0: .... .J.. ...! .K.. - 0x00, 0x01, 0x01, 0x2c, 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, - //0x01e0: ..., .... ..., .`.. - 0x00, 0x04, 0x01, 0x2c, 0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, - //0x01f0: ..., .v.. ..., .... - 0x00, 0x00, 0x05, 0x16, 0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, 0x00, 0x01, - //0x0200: .... .5.. .... .(.. - 0x00, 0x02, 0x05, 0x16, 0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, - //0x0210: .... .2.. .... .... - 0x00, 0x00, 0x02, 0x0b, 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, - //0x0220: .... .... .... .... - 0x00, 0x01, 0x17, 0x00, 0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, - //0x0230: .... 2... .... .... - 0x00, 0x00, 0x17, 0x00, 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, - //0x0240: .... 2+.. .... (... - 0x00, 0x01, 0x17, 0x16, 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, 0x00, 0x02, - //0x0250: .... (z.. .... (i.. - 0x00, 0x03, 0x17, 0x16, 0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, - //0x0260: .... (Q.. .... (... - 0x00, 0x05, 0x17, 0x16, 0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, - //0x0270: .... (... .... .... - 0x00, 0x00, 0x2d, 0x16, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, - //0x0280: ..-. .... ..-. .'.. - 0x00, 0x00, 0x2d, 0x16, 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, 0x00, 0x02, - //0x0290: ..-. .... .... ( .. - 0x00, 0x00, 0x07, 0x0b, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, 0x00, 0x02, - //0x02a0: .... .@.. .... .R.. - 0x00, 0x00, 0x1b, 0x0b, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, - //0x02b0: .... .... .... .... - 0x00, 0x00, 0x0e, 0x21, 0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, - //0x02c0: ...! (... .... .... - 0x00, 0x00, 0x02, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, 0x00, 0x02, - //0x02d0: .... .... .... 2... - 0x00, 0x00, 0x32, 0x16, 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, - //0x02e0: ..2. .y.. ..2. .... - 0x00, 0x00, 0x34, 0x16, 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, - //0x02f0: ..4. .... ..4. .... - 0x00, 0x00, 0x32, 0x16, 0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, 0x00, 0x02, - //0x0300: ..2. (h.7 ..5! .c.. - 0x00, 0x00, 0x32, 0x16, 0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, - //0x0310: ..2. (... ..2. .... - 0x00, 0x00, 0x34, 0x16, 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, - //0x0320: ..4. .9.. ..4. .... - 0x00, 0x00, 0x36, 0x00, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, - //0x0330: ..6. .H.. ..7, .... - 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, - //0x0340: .... .... .... .... - 0x00, 0x00, 0x0e, 0x16, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, - //0x0350: .... .,.. .... .... - 0x00, 0x00, 0x0c, 0x16, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, - //0x0360: .... .... .... ...2 - 0x14, 0x00, 0x0b, 0x0b, 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, - //0x0370: .... ...2 .... ...2 - 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 0x52, 0x45, 0x41, 0x4d, - //0x0380: ...! (..2 ...D REAM - 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x00, 0x01, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, - //0x0390: WEB. V99. .... PUBL - 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, - //0x03a0: IC PUBL IC - 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, - //0x03b0: . ..BL ACKD RAGO - 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, - //0x03c0: N RY AN ... - 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, - //0x03d0: HEND RIX LOUI - 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, - //0x03e0: S . ..SE PTIM - 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, - //0x03f0: US BE CKET T - 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0400: ... - 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, - //0x0410: ."R OOT . - 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, - //0x0420: " .00 - 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x4f, 0x42, 0x4a, 0x45, 0x43, - //0x0430: 00.0 0... ..$O BJEC - 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0440: T NA ME O NE - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0450: - 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, - //0x0460: . .... .... .... - 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, - //0x0470: .... .... .... D:.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x2c, 0x00, 0x14, + //0x01b0: .... .... .... .,.. + 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, 0x00, 0x32, 0x14, 0x00, 0x18, 0x16, 0x00, 0x4a, + //0x01c0: .... .7.. .2.. ...J + 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x1b, + //0x01d0: .... .!.K .... .,.. + 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c, 0x00, 0x76, + //0x01e0: .... .,.` .... .,.v + 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x16, 0x14, 0x35, + //0x01f0: .... .,.. .... ...5 + 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, 0x00, 0x01, 0x00, 0x02, 0x05, 0x16, 0x14, 0x32, + //0x0200: .... ...( .... ...2 + 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b, 0x0a, 0xb6, + //0x0210: .... .... .... .... + 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x17, 0x00, 0x32, 0x00, + //0x0220: .... .... .... ..2. + 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, 0x00, 0x00, 0x17, 0x00, 0x32, 0x2b, + //0x0230: .... .... .... ..2+ + 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, 0x00, 0x01, 0x17, 0x16, 0x28, 0x7a, + //0x0240: .... ..(. .... ..(z + 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, 0x00, 0x02, 0x00, 0x03, 0x17, 0x16, 0x28, 0x51, + //0x0250: .... ..(i .... ..(Q + 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, 0x00, 0x05, 0x17, 0x16, 0x28, 0x91, + //0x0260: .... ..(. .... ..(. + 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0xc8, + //0x0270: .... .... .... -... + 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0x19, + //0x0280: .... -..' .... -... + 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b, 0x14, 0x40, + //0x0290: .... ..( .... ...@ + 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b, 0x1e, 0x00, + //0x02a0: .... ...R .... .... + 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21, 0x28, 0x15, + //0x02b0: .... .... .... .!(. + 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x16, 0x00, 0x02, + //0x02c0: .... .... .... .... + 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x79, + //0x02d0: .... ..2. .... 2..y + 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xc0, + //0x02e0: .... 2... .... 4... + 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x68, + //0x02f0: .... 4... .... 2.(h + 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x00, + //0x0300: .7.. 5!.c .... 2.(. + 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x39, + //0x0310: .... 2... .... 4..9 + 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x36, 0x00, 0x00, 0x48, + //0x0320: .... 4... .... 6..H + 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + //0x0330: .... 7,.. .... .... + 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x2c, + //0x0340: .... .... .... ..., + 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16, 0x14, 0x00, + //0x0350: .... .... .... .... + 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b, 0x1e, 0x00, + //0x0360: .... .... .2.. .... + 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, + //0x0370: .2.. .... .2.. .!(. + 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, + //0x0380: .2.. .DRE AMWE B.V9 + 0x39, 0x00, 0x00, 0x01, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, + //0x0390: 9... ..PU BLIC + 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, + //0x03a0: PU BLIC ... + 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, + //0x03b0: BLAC KDRA GON RYAN + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, + //0x03c0: . ..HE NDRI + 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x03d0: X LO UIS + 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, + //0x03e0: ... SEPT IMUS + 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, + //0x03f0: BECK ETT . .. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, + //0x0400: . "ROO + 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x0410: T ." + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, + //0x0420: . 0000 .00. + 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, + //0x0430: .... $OBJ ECT NAME + 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x0440: ONE + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, + //0x0450: ... + 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, + //0x0460: .... .... .... .... + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x0470: .... ..D: .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0480: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0490: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, //0x04a0: .... .... .... .... - 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x04b0: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x04c0: .... .... .... .... @@ -4219,9 +4219,9 @@ void DreamGenContext::__start() { //0x0510: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0520: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, //0x0530: .... .... .... .... - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, }; + 0x00, }; ds.assign(src, src + sizeof(src)); dreamweb(); } diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index b565b4e13a..e530a3b968 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -32,13 +32,13 @@ namespace DreamGen { -static const uint16 offset_money1poke = 0x042e; -static const uint16 offset_operand1 = 0x0404; -static const uint16 offset_openchangesize = 0x0398; -static const uint16 offset_commandline = 0x043b; -static const uint16 offset_rootdir = 0x0412; -static const uint16 offset_money2poke = 0x0433; -static const uint16 offset_keys = 0x039a; +static const uint16 offset_money2poke = 0x042d; +static const uint16 offset_rootdir = 0x040c; +static const uint16 offset_openchangesize = 0x0392; +static const uint16 offset_keys = 0x0394; +static const uint16 offset_commandline = 0x0435; +static const uint16 offset_money1poke = 0x0428; +static const uint16 offset_operand1 = 0x03fe; static const uint16 kStartvars = 0; static const uint16 kProgresspoints = 1; static const uint16 kWatchon = 2; @@ -272,113 +272,109 @@ static const uint16 kDumpy = 291; static const uint16 kWalkandexam = 293; static const uint16 kWalkexamtype = 294; static const uint16 kWalkexamnum = 295; -static const uint16 kCursloc = 296; -static const uint16 kCurslocx = 298; -static const uint16 kCurslocy = 300; -static const uint16 kCurpos = 302; -static const uint16 kMonadx = 304; -static const uint16 kMonady = 306; -static const uint16 kGotfrom = 308; -static const uint16 kMonsource = 310; -static const uint16 kNumtodo = 312; -static const uint16 kTimecount = 314; -static const uint16 kCounttotimed = 316; -static const uint16 kTimedseg = 318; -static const uint16 kTimedoffset = 320; -static const uint16 kTimedy = 322; -static const uint16 kTimedx = 323; -static const uint16 kNeedtodumptimed = 324; -static const uint16 kLoadingorsave = 325; -static const uint16 kCurrentslot = 326; -static const uint16 kCursorpos = 327; -static const uint16 kColourpos = 328; -static const uint16 kFadedirection = 329; -static const uint16 kNumtofade = 330; -static const uint16 kFadecount = 331; -static const uint16 kAddtogreen = 332; -static const uint16 kAddtored = 333; -static const uint16 kAddtoblue = 334; -static const uint16 kLastsoundreel = 335; -static const uint16 kSpeechloaded = 337; -static const uint16 kSpeechlength = 338; -static const uint16 kVolume = 340; -static const uint16 kVolumeto = 341; -static const uint16 kVolumedirection = 342; -static const uint16 kVolumecount = 343; -static const uint16 kPlayblock = 344; -static const uint16 kWongame = 345; -static const uint16 kLasthardkey = 346; -static const uint16 kBufferin = 347; -static const uint16 kBufferout = 349; -static const uint16 kExtras = 351; -static const uint16 kWorkspace = 353; -static const uint16 kMapstore = 355; -static const uint16 kCharset1 = 357; -static const uint16 kBuffers = 359; -static const uint16 kMainsprites = 361; -static const uint16 kBackdrop = 363; -static const uint16 kMapdata = 365; -static const uint16 kSounddata = 367; -static const uint16 kSounddata2 = 369; -static const uint16 kRecordspace = 371; -static const uint16 kFreedat = 373; -static const uint16 kSetdat = 375; -static const uint16 kReel1 = 377; -static const uint16 kReel2 = 379; -static const uint16 kReel3 = 381; -static const uint16 kRoomdesc = 383; -static const uint16 kFreedesc = 385; -static const uint16 kSetdesc = 387; -static const uint16 kBlockdesc = 389; -static const uint16 kSetframes = 391; -static const uint16 kFreeframes = 393; -static const uint16 kPeople = 395; -static const uint16 kReels = 397; -static const uint16 kCommandtext = 399; -static const uint16 kPuzzletext = 401; -static const uint16 kTraveltext = 403; -static const uint16 kTempgraphics = 405; -static const uint16 kTempgraphics2 = 407; -static const uint16 kTempgraphics3 = 409; -static const uint16 kTempsprites = 411; -static const uint16 kTextfile1 = 413; -static const uint16 kTextfile2 = 415; -static const uint16 kTextfile3 = 417; -static const uint16 kBlinkframe = 419; -static const uint16 kBlinkcount = 420; -static const uint16 kReasseschanges = 421; -static const uint16 kPointerspath = 422; -static const uint16 kManspath = 423; -static const uint16 kPointerfirstpath = 424; -static const uint16 kFinaldest = 425; -static const uint16 kDestination = 426; -static const uint16 kLinestartx = 427; -static const uint16 kLinestarty = 429; -static const uint16 kLineendx = 431; -static const uint16 kLineendy = 433; -static const uint16 kLinepointer = 435; -static const uint16 kLinedirection = 436; -static const uint16 kLinelength = 437; -static const uint16 kLiftsoundcount = 438; -static const uint16 kCh0blockstocopy = 439; -static const uint16 kCh0playing = 441; -static const uint16 kCh0repeat = 442; -static const uint16 kCh1playing = 443; -static const uint16 kCh1blockstocopy = 444; -static const uint16 kSoundbufferwrite = 446; -static const uint16 kCurrentsample = 448; -static const uint16 kRoomssample = 449; -static const uint16 kReelroutines = 450; -static const uint16 kBasicsample = 907; -static const uint16 kCurrentfile = 1056; -static const uint16 kRoomscango = 1180; -static const uint16 kRoompics = 1196; -static const uint16 kOplist = 1211; -static const uint16 kInputline = 1214; -static const uint16 kPresslist = 1342; -static const uint16 kQuitrequested = 1348; -static const uint16 kSubtitles = 1349; -static const uint16 kForeignrelease = 1350; +static const uint16 kCurslocx = 296; +static const uint16 kCurslocy = 298; +static const uint16 kCurpos = 300; +static const uint16 kMonadx = 302; +static const uint16 kMonady = 304; +static const uint16 kMonsource = 306; +static const uint16 kNumtodo = 308; +static const uint16 kTimecount = 310; +static const uint16 kCounttotimed = 312; +static const uint16 kTimedseg = 314; +static const uint16 kTimedoffset = 316; +static const uint16 kTimedy = 318; +static const uint16 kTimedx = 319; +static const uint16 kNeedtodumptimed = 320; +static const uint16 kLoadingorsave = 321; +static const uint16 kCurrentslot = 322; +static const uint16 kCursorpos = 323; +static const uint16 kColourpos = 324; +static const uint16 kFadedirection = 325; +static const uint16 kNumtofade = 326; +static const uint16 kFadecount = 327; +static const uint16 kAddtogreen = 328; +static const uint16 kAddtored = 329; +static const uint16 kAddtoblue = 330; +static const uint16 kLastsoundreel = 331; +static const uint16 kSpeechloaded = 333; +static const uint16 kSpeechlength = 334; +static const uint16 kVolume = 336; +static const uint16 kVolumeto = 337; +static const uint16 kVolumedirection = 338; +static const uint16 kVolumecount = 339; +static const uint16 kWongame = 340; +static const uint16 kLasthardkey = 341; +static const uint16 kBufferin = 342; +static const uint16 kBufferout = 344; +static const uint16 kExtras = 346; +static const uint16 kWorkspace = 348; +static const uint16 kMapstore = 350; +static const uint16 kCharset1 = 352; +static const uint16 kBuffers = 354; +static const uint16 kMainsprites = 356; +static const uint16 kBackdrop = 358; +static const uint16 kMapdata = 360; +static const uint16 kSounddata = 362; +static const uint16 kSounddata2 = 364; +static const uint16 kRecordspace = 366; +static const uint16 kFreedat = 368; +static const uint16 kSetdat = 370; +static const uint16 kReel1 = 372; +static const uint16 kReel2 = 374; +static const uint16 kReel3 = 376; +static const uint16 kRoomdesc = 378; +static const uint16 kFreedesc = 380; +static const uint16 kSetdesc = 382; +static const uint16 kBlockdesc = 384; +static const uint16 kSetframes = 386; +static const uint16 kFreeframes = 388; +static const uint16 kPeople = 390; +static const uint16 kReels = 392; +static const uint16 kCommandtext = 394; +static const uint16 kPuzzletext = 396; +static const uint16 kTraveltext = 398; +static const uint16 kTempgraphics = 400; +static const uint16 kTempgraphics2 = 402; +static const uint16 kTempgraphics3 = 404; +static const uint16 kTempsprites = 406; +static const uint16 kTextfile1 = 408; +static const uint16 kTextfile2 = 410; +static const uint16 kTextfile3 = 412; +static const uint16 kBlinkframe = 414; +static const uint16 kBlinkcount = 415; +static const uint16 kReasseschanges = 416; +static const uint16 kPointerspath = 417; +static const uint16 kManspath = 418; +static const uint16 kPointerfirstpath = 419; +static const uint16 kFinaldest = 420; +static const uint16 kDestination = 421; +static const uint16 kLinestartx = 422; +static const uint16 kLinestarty = 424; +static const uint16 kLineendx = 426; +static const uint16 kLineendy = 428; +static const uint16 kLinepointer = 430; +static const uint16 kLinedirection = 431; +static const uint16 kLinelength = 432; +static const uint16 kCh0blockstocopy = 433; +static const uint16 kCh0playing = 435; +static const uint16 kCh0repeat = 436; +static const uint16 kCh1playing = 437; +static const uint16 kCh1blockstocopy = 438; +static const uint16 kSoundbufferwrite = 440; +static const uint16 kCurrentsample = 442; +static const uint16 kRoomssample = 443; +static const uint16 kReelroutines = 444; +static const uint16 kBasicsample = 901; +static const uint16 kCurrentfile = 1050; +static const uint16 kRoomscango = 1174; +static const uint16 kRoompics = 1190; +static const uint16 kOplist = 1205; +static const uint16 kInputline = 1208; +static const uint16 kPresslist = 1336; +static const uint16 kQuitrequested = 1342; +static const uint16 kSubtitles = 1343; +static const uint16 kForeignrelease = 1344; static const uint16 kBlocktextdat = (0); static const uint16 kPersonframes = (0); static const uint16 kDebuglevel1 = (0); @@ -417,8 +413,8 @@ static const uint16 kListofchanges = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768 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)+907-450); -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)+907-450+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)+901-444); +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)+901-444+68-0); static const uint16 kReellist = (0+(36*144)); static const uint16 kIntext = (0+(38*2)); static const uint16 kLengthofmap = (0+(66*60)); @@ -469,7 +465,7 @@ static const uint16 kKeypady = (72); static const uint16 kZoomx = (8); static const uint16 kInventx = (80); static const uint16 kMenux = (80+40); -static const uint16 kLenofreelrouts = (907-450); +static const uint16 kLenofreelrouts = (901-444); static const uint16 kHeaderlen = (96); |