diff options
author | Filippos Karapetis | 2011-12-12 13:09:19 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-12 13:10:07 +0200 |
commit | 83610d98b074d9661880167e9ab3ab23db12a181 (patch) | |
tree | cc5dcbd8153ae062dcc65154749ecccfc4b78878 | |
parent | 18cfbc6c2da9a55ac4ead063348e264f50924075 (diff) | |
download | scummvm-rg350-83610d98b074d9661880167e9ab3ab23db12a181.tar.gz scummvm-rg350-83610d98b074d9661880167e9ab3ab23db12a181.tar.bz2 scummvm-rg350-83610d98b074d9661880167e9ab3ab23db12a181.zip |
Revert "DREAMWEB: Simplify the time display code"
This reverts commit 546c6a07e4803541647ad18d69c650fdd4cf974c.
This wasn't a good idea, after all - it breaks saves and the game
time is always the real time (which is not what the original did - it
only synced the game time with the real time at the beginning)
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 3 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 266 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 731 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 33 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
5 files changed, 529 insertions, 505 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index d9d39b95c4..dac600a261 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -133,9 +133,6 @@ p = parser(skip_binary_data = [ 'currentirq', 'gameerror', 'howmuchalloc', - 'secondcount', - 'minutecount', - 'hourcount', # vgagrafx.asm 'cityname', 'extragraphics1', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 21a0213980..94658a164b 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -2996,14 +2996,14 @@ void DreamGenContext::getDestInfo() { push(ax); dx = data; es = dx; - si = 1284; + si = 1287; _add(si, ax); cl = es.byte(si); ax = pop(); push(cx); dx = data; es = dx; - si = 1300; + si = 1303; _add(si, ax); ax = pop(); } @@ -3055,7 +3055,7 @@ clearedlocations: bx = ax; dx = data; es = dx; - _add(bx, 1284); + _add(bx, 1287); es.byte(bx) = 0; } @@ -3091,7 +3091,7 @@ void DreamGenContext::execCommand() { es = cs; bx = offset_comlist; ds = cs; - si = 1318; + si = 1321; al = ds.byte(si); _cmp(al, 0); if (!flags.z()) @@ -3184,7 +3184,7 @@ dirroot: si = offset_rootdir; _inc(si); es = cs; - di = 1160; + di = 1163; _inc(di); cx = 12; _movsb(cx, true); @@ -3286,7 +3286,7 @@ notyetassigned: push(bx); _add(bx, 2); ds = cs; - si = 1318; + si = 1321; checkpass: _lodsw(); ah = es.byte(bx); @@ -3357,7 +3357,7 @@ void DreamGenContext::read() { return; okcom: es = cs; - di = 1160; + di = 1163; ax = data.word(kTextfile1); data.word(kMonsource) = ax; ds = ax; @@ -3487,7 +3487,7 @@ keyok2: ds = cs; si = offset_operand1+1; es = cs; - di = 1160+1; + di = 1163+1; cx = 12; _movsb(cx, true); monitorLogo(); @@ -3614,7 +3614,7 @@ void DreamGenContext::parser() { al = '='; _stosb(); ds = cs; - si = 1318; + si = 1321; notspace1: _lodsw(); _cmp(al, 32); @@ -5530,7 +5530,7 @@ notalley: 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)+938-481+65-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)+941-484+68-0)/2; ax = 0; di = 0; _stosw(cx, true); @@ -5542,14 +5542,14 @@ 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 = 481; - cx = (938-481); + si = 484; + cx = (941-484); _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)+938-481); + 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)+941-484); ds = cs; si = 0; - cx = (65-0); + cx = (68-0); _movsb(cx, true); clearChanges(); } @@ -5564,14 +5564,14 @@ 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 = 481; - cx = (938-481); + di = 484; + cx = (941-484); _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)+938-481); + 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)+941-484); es = cs; di = 0; - cx = (65-0); + cx = (68-0); _movsb(cx, true); data.byte(kExpos) = 0; data.word(kExframepos) = 0; @@ -5582,7 +5582,7 @@ void DreamGenContext::clearChanges() { di = 0; _stosw(cx, true); es = cs; - di = 1284; + di = 1287; al = 1; _stosb(2); al = 0; @@ -5775,36 +5775,36 @@ searchmess: void DreamGenContext::__start() { static const uint8 src[] = { - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0000: .... .... .... .... - 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, //0x0010: .... .... .... .... - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0020: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0xff, 0x00, //0x0030: .... .... .... .... - 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0xb6, 0x00, 0x00, 0x00, - //0x0040: 0... .... .... .... + 0xff, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0xb6, + //0x0040: ...0 .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0050: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0060: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - //0x0070: .... h.&. .... .... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x0070: .... ...h .&.. .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0080: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0090: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00a0: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00b0: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00c0: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, - //0x00d0: .... .... .... . . 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - //0x00e0: .... .... .... .... + //0x00d0: .... .... .... .... + 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x00e0: .. .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x00f0: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5821,125 +5821,125 @@ 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, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, //0x0190: .... .... .... .... - 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x01a0: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x01b0: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x01c0: .... .... .... .... - 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x01d0: .... .... .... .... - 0x00, 0x01, 0x2c, 0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, 0x00, 0x32, 0x14, - //0x01e0: ..,. .... ..7. ..2. - 0x00, 0x18, 0x16, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, 0x00, 0x01, 0x00, - //0x01f0: .... J... ..!. K... - 0x01, 0x01, 0x2c, 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, 0x00, 0x03, 0x00, - //0x0200: ..,. .... ..,. `... - 0x04, 0x01, 0x2c, 0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, 0x00, 0x02, 0x00, - //0x0210: ..,. v... ..,. .... - 0x00, 0x05, 0x16, 0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, 0x00, 0x01, 0x00, - //0x0220: .... 5... .... (... - 0x02, 0x05, 0x16, 0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, 0x00, 0x01, 0x00, - //0x0230: .... 2... .... .... - 0x00, 0x02, 0x0b, 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x01, 0x2c, 0x00, 0x14, 0x00, 0x02, 0x00, 0x01, 0x01, 0x37, 0x00, 0x00, + //0x01e0: .... .,.. .... .7.. + 0x00, 0x32, 0x14, 0x00, 0x18, 0x16, 0x00, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x18, 0x21, 0x0a, 0x4b, + //0x01f0: .2.. ...J .... .!.K + 0x00, 0x01, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x1b, 0x00, 0x02, 0x00, 0x02, 0x01, 0x2c, 0x00, 0x60, + //0x0200: .... .,.. .... .,.` + 0x00, 0x03, 0x00, 0x04, 0x01, 0x2c, 0x00, 0x76, 0x00, 0x02, 0x00, 0x05, 0x01, 0x2c, 0x0a, 0x00, + //0x0210: .... .,.v .... .,.. + 0x00, 0x02, 0x00, 0x00, 0x05, 0x16, 0x14, 0x35, 0x00, 0x03, 0x00, 0x00, 0x05, 0x16, 0x14, 0x28, + //0x0220: .... ...5 .... ...( + 0x00, 0x01, 0x00, 0x02, 0x05, 0x16, 0x14, 0x32, 0x00, 0x01, 0x00, 0x03, 0x02, 0x0b, 0x0a, 0xc0, + //0x0230: .... ...2 .... .... + 0x00, 0x01, 0x00, 0x00, 0x02, 0x0b, 0x0a, 0xb6, 0x00, 0x02, 0x00, 0x01, 0x08, 0x0b, 0x0a, 0x00, //0x0240: .... .... .... .... - 0x01, 0x17, 0x00, 0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, 0x00, 0x04, 0x00, - //0x0250: ...2 .... .... .... - 0x00, 0x17, 0x00, 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, 0x00, 0x02, 0x00, - //0x0260: ...2 +... ...( .... - 0x01, 0x17, 0x16, 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, 0x00, 0x02, 0x00, - //0x0270: ...( z... ...( i... - 0x03, 0x17, 0x16, 0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, 0x00, 0x02, 0x00, - //0x0280: ...( Q... ...( .... - 0x05, 0x17, 0x16, 0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, - //0x0290: ...( .... .... .... - 0x00, 0x2d, 0x16, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, 0x00, 0x02, 0x00, - //0x02a0: .-.. .... .-.. '... - 0x00, 0x2d, 0x16, 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, 0x00, 0x02, 0x00, - //0x02b0: .-.. .... ...( ... - 0x00, 0x07, 0x0b, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, 0x00, 0x02, 0x00, - //0x02c0: .... @... .... R... - 0x00, 0x1b, 0x0b, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x02, 0x00, 0x01, 0x17, 0x00, 0x32, 0x00, 0x00, 0x03, 0x00, 0x00, 0x1c, 0x0b, 0x14, 0xfa, + //0x0250: .... ..2. .... .... + 0x00, 0x04, 0x00, 0x00, 0x17, 0x00, 0x32, 0x2b, 0x00, 0x02, 0x00, 0x08, 0x17, 0x0b, 0x28, 0x82, + //0x0260: .... ..2+ .... ..(. + 0x00, 0x02, 0x00, 0x01, 0x17, 0x16, 0x28, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x17, 0x16, 0x28, 0x69, + //0x0270: .... ..(z .... ..(i + 0x00, 0x02, 0x00, 0x03, 0x17, 0x16, 0x28, 0x51, 0x00, 0x02, 0x00, 0x04, 0x17, 0x0b, 0x28, 0x87, + //0x0280: .... ..(Q .... ..(. + 0x00, 0x02, 0x00, 0x05, 0x17, 0x16, 0x28, 0x91, 0x00, 0x02, 0x00, 0x06, 0x04, 0x16, 0x1e, 0x00, + //0x0290: .... ..(. .... .... + 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0xc8, 0x00, 0x00, 0x00, 0x14, 0x2d, 0x16, 0x1e, 0x27, + //0x02a0: .... -... .... -..' + 0x00, 0x02, 0x00, 0x00, 0x2d, 0x16, 0x1e, 0x19, 0x00, 0x02, 0x00, 0x00, 0x08, 0x16, 0x28, 0x20, + //0x02b0: .... -... .... ..( + 0x00, 0x02, 0x00, 0x00, 0x07, 0x0b, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x16, 0x16, 0x14, 0x52, + //0x02c0: .... ...@ .... ...R + 0x00, 0x02, 0x00, 0x00, 0x1b, 0x0b, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x14, 0x00, 0x1e, 0x00, //0x02d0: .... .... .... .... - 0x00, 0x0e, 0x21, 0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, 0x00, 0x01, 0x00, - //0x02e0: ..!( .... .... .... - 0x00, 0x02, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, 0x00, 0x02, 0x00, - //0x02f0: .... .... ...2 .... - 0x00, 0x32, 0x16, 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, 0x00, 0x14, 0x00, - //0x0300: .2.. y... .2.. .... - 0x00, 0x34, 0x16, 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, 0x00, 0x02, 0x00, - //0x0310: .4.. .... .4.. .... - 0x00, 0x32, 0x16, 0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, 0x00, 0x02, 0x00, - //0x0320: .2.( h.7. .5!. c... - 0x00, 0x32, 0x16, 0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, 0x00, 0x02, 0x00, - //0x0330: .2.( .... .2.. .... - 0x00, 0x34, 0x16, 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, 0x00, 0x02, 0x00, - //0x0340: .4.. 9... .4.. .... - 0x00, 0x36, 0x00, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, - //0x0350: .6.. H... .7,. .... - 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x0e, 0x21, 0x28, 0x15, 0x00, 0x01, 0x00, 0x00, 0x1d, 0x0b, 0x0a, 0x00, + //0x02e0: .... .!(. .... .... + 0x00, 0x01, 0x00, 0x00, 0x02, 0x16, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x32, 0x04, + //0x02f0: .... .... .... ..2. + 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x79, 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x1e, 0x00, + //0x0300: .... 2..y .... 2... + 0x00, 0x14, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xc0, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0xe9, + //0x0310: .... 4... .... 4... + 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x68, 0x00, 0x37, 0x00, 0x00, 0x35, 0x21, 0x00, 0x63, + //0x0320: .... 2.(h .7.. 5!.c + 0x00, 0x02, 0x00, 0x00, 0x32, 0x16, 0x28, 0x00, 0x00, 0x03, 0x00, 0x00, 0x32, 0x16, 0x1e, 0xa2, + //0x0330: .... 2.(. .... 2... + 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x39, 0x00, 0x02, 0x00, 0x00, 0x34, 0x16, 0x1e, 0x00, + //0x0340: .... 4..9 .... 4... + 0x00, 0x02, 0x00, 0x00, 0x36, 0x00, 0x00, 0x48, 0x00, 0x03, 0x00, 0x00, 0x37, 0x2c, 0x00, 0x00, + //0x0350: .... 6..H .... 7,.. + 0x00, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x02, //0x0360: .... .... .... .... - 0x00, 0x0e, 0x16, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, 0x00, 0x00, 0x00, - //0x0370: .... ,... .... .... - 0x00, 0x0c, 0x16, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, 0x00, 0x32, 0x14, - //0x0380: .... .... .... ..2. - 0x00, 0x0b, 0x0b, 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, 0x00, 0x32, 0x14, - //0x0390: .... ..2. .... ..2. - 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, - //0x03a0: ..!( ..2. ..DR EAMW - 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, - //0x03b0: EB.V 99.D REAM WEB. - 0x56, 0x4f, 0x4c, 0x00, 0x00, 0x01, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x03c0: VOL. ..EX IT - 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, - //0x03d0: HELP LI ST - 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, - //0x03e0: READ LO - 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, - //0x03f0: GON KEYS - 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0400: .. PUBL IC - 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, - //0x0410: PUBL IC . ..BL - 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, - //0x0420: ACKD RAGO N RY AN - 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, - //0x0430: ... HEND RIX - 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, - //0x0440: LOUI S . - 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, - //0x0450: ..SE PTIM US BE - 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, - //0x0460: CKET T ... - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, - //0x0470: ."R OOT - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0480: . " - 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0x0d, 0x0a, - //0x0490: .00 00.0 0... - 0x0d, 0x0a, 0x24, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, - //0x04a0: ..$O BJEC T NA ME O - 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x04b0: NE - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, - //0x04c0: . .... - 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, + 0x00, 0x02, 0x00, 0x00, 0x0e, 0x16, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x16, 0x1e, 0xae, + //0x0370: .... ..., .... .... + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x16, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0x0b, 0x14, 0x00, + //0x0380: .... .... .... .... + 0x00, 0x32, 0x14, 0x00, 0x0b, 0x0b, 0x1e, 0x00, 0x00, 0x32, 0x14, 0x00, 0x0b, 0x16, 0x14, 0x00, + //0x0390: .2.. .... .2.. .... + 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 0x52, 0x45, + //0x03a0: .2.. .!(. .2.. .DRE + 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, + //0x03b0: AMWE B.V9 9.DR EAMW + 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x00, 0x01, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, + //0x03c0: EB.V OL.. .EXI T + 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, + //0x03d0: H ELP LIS + 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x03e0: T R EAD + 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, + //0x03f0: LOG ON K EYS + 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, + //0x0400: ..P UBLI C + 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, + //0x0410: P UBLI C .. + 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, + //0x0420: .BLA CKDR AGON RYA + 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, + //0x0430: N ...H ENDR + 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, + //0x0440: IX L OUIS + 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, + //0x0450: .. .SEP TIMU S + 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, + //0x0460: BEC KETT ... + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, + //0x0470: ."RO + 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, + //0x0480: OT ." + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, + //0x0490: .000 0.00 + 0x00, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, + //0x04a0: .... .$OB JECT NAM + 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x04b0: E ON E + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, + //0x04c0: .. + 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, //0x04d0: .... .... .... .... - 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - //0x04e0: .... D:.. .... .... + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x04e0: .... ...D :... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x04f0: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0500: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, //0x0510: .... .... .... .... - 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x0b, 0x04, 0x07, 0x07, 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, 0x00, 0x00, //0x0530: .... .... .... .... @@ -5955,7 +5955,9 @@ void DreamGenContext::__start() { //0x0580: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0590: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, }; + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + //0x05a0: .... .... .... .... + 0x00, 0x00, }; ds.assign(src, src + sizeof(src)); dreamweb(); } diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 56f53c6efb..ef45dd5a97 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -32,370 +32,373 @@ namespace DreamGen { -static const uint16 offset_money2poke = 0x049b; -static const uint16 offset_openchangesize = 0x03c4; -static const uint16 offset_keys = 0x0402; -static const uint16 offset_money1poke = 0x0496; -static const uint16 offset_rootdir = 0x047a; -static const uint16 offset_operand1 = 0x046c; -static const uint16 offset_commandline = 0x04a3; -static const uint16 offset_comlist = 0x03c6; +static const uint16 offset_money1poke = 0x0499; +static const uint16 offset_openchangesize = 0x03c7; +static const uint16 offset_comlist = 0x03c9; +static const uint16 offset_money2poke = 0x049e; +static const uint16 offset_commandline = 0x04a6; +static const uint16 offset_rootdir = 0x047d; +static const uint16 offset_keys = 0x0405; +static const uint16 offset_operand1 = 0x046f; static const uint16 kStartvars = 0; static const uint16 kProgresspoints = 1; static const uint16 kWatchon = 2; static const uint16 kShadeson = 3; -static const uint16 kZoomon = 4; -static const uint16 kLocation = 5; -static const uint16 kExpos = 6; -static const uint16 kExframepos = 7; -static const uint16 kExtextpos = 9; -static const uint16 kCard1money = 11; -static const uint16 kListpos = 13; -static const uint16 kRyanpage = 15; -static const uint16 kWatchingtime = 16; -static const uint16 kReeltowatch = 18; -static const uint16 kEndwatchreel = 20; -static const uint16 kSpeedcount = 22; -static const uint16 kWatchspeed = 23; -static const uint16 kReeltohold = 24; -static const uint16 kEndofholdreel = 26; -static const uint16 kWatchmode = 28; -static const uint16 kDestafterhold = 29; -static const uint16 kNewsitem = 30; -static const uint16 kLiftflag = 31; -static const uint16 kLiftpath = 32; -static const uint16 kLockstatus = 33; -static const uint16 kDoorpath = 34; -static const uint16 kCounttoopen = 35; -static const uint16 kCounttoclose = 36; -static const uint16 kRockstardead = 37; -static const uint16 kGeneraldead = 38; -static const uint16 kSartaindead = 39; -static const uint16 kAidedead = 40; -static const uint16 kBeenmugged = 41; -static const uint16 kGunpassflag = 42; -static const uint16 kCanmovealtar = 43; -static const uint16 kTalkedtoattendant = 44; -static const uint16 kTalkedtosparky = 45; -static const uint16 kTalkedtoboss = 46; -static const uint16 kTalkedtorecep = 47; -static const uint16 kCardpassflag = 48; -static const uint16 kMadmanflag = 49; -static const uint16 kKeeperflag = 50; -static const uint16 kLasttrigger = 51; -static const uint16 kMandead = 52; -static const uint16 kSeed = 53; -static const uint16 kNeedtotravel = 56; -static const uint16 kThroughdoor = 57; -static const uint16 kNewobs = 58; -static const uint16 kRyanon = 59; -static const uint16 kCombatcount = 60; -static const uint16 kLastweapon = 61; -static const uint16 kDreamnumber = 62; -static const uint16 kRoomafterdream = 63; -static const uint16 kShakecounter = 64; -static const uint16 kSpeechcount = 65; -static const uint16 kCharshift = 66; -static const uint16 kKerning = 68; -static const uint16 kBrightness = 69; -static const uint16 kRoomloaded = 70; -static const uint16 kDidzoom = 71; -static const uint16 kLinespacing = 72; -static const uint16 kTextaddressx = 74; -static const uint16 kTextaddressy = 76; -static const uint16 kTextlen = 78; -static const uint16 kLastxpos = 79; -static const uint16 kIcontop = 81; -static const uint16 kIconleft = 83; -static const uint16 kItemframe = 85; -static const uint16 kItemtotran = 86; -static const uint16 kRoomad = 87; -static const uint16 kOldsubject = 89; -static const uint16 kWithobject = 91; -static const uint16 kWithtype = 92; -static const uint16 kLookcounter = 93; -static const uint16 kCommand = 95; -static const uint16 kCommandtype = 96; -static const uint16 kOldcommandtype = 97; -static const uint16 kObjecttype = 98; -static const uint16 kGetback = 99; -static const uint16 kInvopen = 100; -static const uint16 kMainmode = 101; -static const uint16 kPickup = 102; -static const uint16 kLastinvpos = 103; -static const uint16 kExamagain = 104; -static const uint16 kNewtextline = 105; -static const uint16 kOpenedob = 106; -static const uint16 kOpenedtype = 107; -static const uint16 kOldmapadx = 108; -static const uint16 kOldmapady = 110; -static const uint16 kMapadx = 112; -static const uint16 kMapady = 114; -static const uint16 kMapoffsetx = 116; -static const uint16 kMapoffsety = 118; -static const uint16 kMapxstart = 120; -static const uint16 kMapystart = 122; -static const uint16 kMapxsize = 124; -static const uint16 kMapysize = 125; -static const uint16 kHavedoneobs = 126; -static const uint16 kManisoffscreen = 127; -static const uint16 kRainspace = 128; -static const uint16 kFacing = 129; -static const uint16 kLeavedirection = 130; -static const uint16 kTurntoface = 131; -static const uint16 kTurndirection = 132; -static const uint16 kMaintimer = 133; -static const uint16 kIntrocount = 135; -static const uint16 kArrowad = 136; -static const uint16 kCurrentkey = 138; -static const uint16 kOldkey = 139; -static const uint16 kUseddirection = 140; -static const uint16 kCurrentkey2 = 141; -static const uint16 kTimercount = 142; -static const uint16 kOldtimercount = 143; -static const uint16 kMapx = 144; -static const uint16 kMapy = 145; -static const uint16 kNewscreen = 146; -static const uint16 kRyanx = 147; -static const uint16 kRyany = 148; -static const uint16 kLastflag = 149; -static const uint16 kLastflagex = 150; -static const uint16 kFlagx = 151; -static const uint16 kFlagy = 152; -static const uint16 kCurrentex = 153; -static const uint16 kCurrentfree = 154; -static const uint16 kFramesad = 155; -static const uint16 kDataad = 157; -static const uint16 kFrsegment = 159; -static const uint16 kObjectx = 161; -static const uint16 kObjecty = 163; -static const uint16 kOffsetx = 165; -static const uint16 kOffsety = 167; -static const uint16 kSavesize = 169; -static const uint16 kSavesource = 171; -static const uint16 kSavex = 173; -static const uint16 kSavey = 174; -static const uint16 kCurrentob = 175; -static const uint16 kPrioritydep = 176; -static const uint16 kDestpos = 177; -static const uint16 kReallocation = 178; -static const uint16 kRoomnum = 179; -static const uint16 kNowinnewroom = 180; -static const uint16 kResetmanxy = 181; -static const uint16 kNewlocation = 182; -static const uint16 kAutolocation = 183; -static const uint16 kMustload = 184; -static const uint16 kAnswered = 185; -static const uint16 kSaidno = 186; -static const uint16 kDoorcheck1 = 187; -static const uint16 kDoorcheck2 = 188; -static const uint16 kDoorcheck3 = 189; -static const uint16 kDoorcheck4 = 190; -static const uint16 kMousex = 191; -static const uint16 kMousey = 193; -static const uint16 kMousebutton = 195; -static const uint16 kMousebutton1 = 197; -static const uint16 kMousebutton2 = 199; -static const uint16 kMousebutton3 = 201; -static const uint16 kMousebutton4 = 203; -static const uint16 kOldbutton = 205; -static const uint16 kOldx = 207; -static const uint16 kOldy = 209; -static const uint16 kLastbutton = 211; -static const uint16 kOldpointerx = 213; -static const uint16 kOldpointery = 215; -static const uint16 kDelherex = 217; -static const uint16 kDelherey = 219; -static const uint16 kPointerxs = 221; -static const uint16 kPointerys = 222; -static const uint16 kDelxs = 223; -static const uint16 kDelys = 224; -static const uint16 kPointerframe = 225; -static const uint16 kPointerpower = 226; -static const uint16 kAuxpointerframe = 227; -static const uint16 kPointermode = 228; -static const uint16 kPointerspeed = 229; -static const uint16 kPointercount = 230; -static const uint16 kInmaparea = 231; -static const uint16 kSlotdata = 232; -static const uint16 kThisslot = 233; -static const uint16 kSlotflags = 234; -static const uint16 kTalkmode = 235; -static const uint16 kTalkpos = 236; -static const uint16 kCharacter = 237; -static const uint16 kPersondata = 238; -static const uint16 kTalknum = 240; -static const uint16 kNumberinroom = 241; -static const uint16 kCurrentcel = 242; -static const uint16 kOldselection = 243; -static const uint16 kStopwalking = 244; -static const uint16 kMouseon = 245; -static const uint16 kPlayed = 246; -static const uint16 kTimer1 = 248; -static const uint16 kTimer2 = 249; -static const uint16 kTimer3 = 250; -static const uint16 kWholetimer = 251; -static const uint16 kTimer1to = 253; -static const uint16 kTimer2to = 254; -static const uint16 kTimer3to = 255; -static const uint16 kWatchdump = 256; -static const uint16 kLogonum = 257; -static const uint16 kOldlogonum = 258; -static const uint16 kNewlogonum = 259; -static const uint16 kNetseg = 260; -static const uint16 kNetpoint = 262; -static const uint16 kKeynum = 264; -static const uint16 kCursorstate = 265; -static const uint16 kPressed = 266; -static const uint16 kPresspointer = 267; -static const uint16 kGraphicpress = 269; -static const uint16 kPresscount = 270; -static const uint16 kKeypadax = 271; -static const uint16 kKeypadcx = 273; -static const uint16 kLightcount = 275; -static const uint16 kFolderpage = 276; -static const uint16 kDiarypage = 277; -static const uint16 kMenucount = 278; -static const uint16 kSymboltopx = 279; -static const uint16 kSymboltopnum = 280; -static const uint16 kSymboltopdir = 281; -static const uint16 kSymbolbotx = 282; -static const uint16 kSymbolbotnum = 283; -static const uint16 kSymbolbotdir = 284; -static const uint16 kSymboltolight = 285; -static const uint16 kSymbol1 = 286; -static const uint16 kSymbol2 = 287; -static const uint16 kSymbol3 = 288; -static const uint16 kSymbolnum = 289; -static const uint16 kDumpx = 290; -static const uint16 kDumpy = 292; -static const uint16 kWalkandexam = 294; -static const uint16 kWalkexamtype = 295; -static const uint16 kWalkexamnum = 296; -static const uint16 kCursloc = 297; -static const uint16 kCurslocx = 299; -static const uint16 kCurslocy = 301; -static const uint16 kCurpos = 303; -static const uint16 kMonadx = 305; -static const uint16 kMonady = 307; -static const uint16 kGotfrom = 309; -static const uint16 kMonsource = 311; -static const uint16 kNumtodo = 313; -static const uint16 kTimecount = 315; -static const uint16 kCounttotimed = 317; -static const uint16 kTimedseg = 319; -static const uint16 kTimedoffset = 321; -static const uint16 kTimedy = 323; -static const uint16 kTimedx = 324; -static const uint16 kNeedtodumptimed = 325; -static const uint16 kLoadingorsave = 326; -static const uint16 kCurrentslot = 327; -static const uint16 kCursorpos = 328; -static const uint16 kColourpos = 329; -static const uint16 kFadedirection = 330; -static const uint16 kNumtofade = 331; -static const uint16 kFadecount = 332; -static const uint16 kAddtogreen = 333; -static const uint16 kAddtored = 334; -static const uint16 kAddtoblue = 335; -static const uint16 kLastsoundreel = 336; -static const uint16 kSpeechloaded = 338; -static const uint16 kSpeechlength = 339; -static const uint16 kVolume = 341; -static const uint16 kVolumeto = 342; -static const uint16 kVolumedirection = 343; -static const uint16 kVolumecount = 344; -static const uint16 kPlayblock = 345; -static const uint16 kWongame = 346; -static const uint16 kLasthardkey = 347; -static const uint16 kBufferin = 348; -static const uint16 kBufferout = 350; -static const uint16 kExtras = 352; -static const uint16 kWorkspace = 354; -static const uint16 kMapstore = 356; -static const uint16 kCharset1 = 358; -static const uint16 kBuffers = 360; -static const uint16 kMainsprites = 362; -static const uint16 kBackdrop = 364; -static const uint16 kMapdata = 366; -static const uint16 kSounddata = 368; -static const uint16 kSounddata2 = 370; -static const uint16 kRecordspace = 372; -static const uint16 kFreedat = 374; -static const uint16 kSetdat = 376; -static const uint16 kReel1 = 378; -static const uint16 kReel2 = 380; -static const uint16 kReel3 = 382; -static const uint16 kRoomdesc = 384; -static const uint16 kFreedesc = 386; -static const uint16 kSetdesc = 388; -static const uint16 kBlockdesc = 390; -static const uint16 kSetframes = 392; -static const uint16 kFreeframes = 394; -static const uint16 kPeople = 396; -static const uint16 kReels = 398; -static const uint16 kCommandtext = 400; -static const uint16 kPuzzletext = 402; -static const uint16 kTraveltext = 404; -static const uint16 kTempgraphics = 406; -static const uint16 kTempgraphics2 = 408; -static const uint16 kTempgraphics3 = 410; -static const uint16 kTempsprites = 412; -static const uint16 kTextfile1 = 414; -static const uint16 kTextfile2 = 416; -static const uint16 kTextfile3 = 418; -static const uint16 kBlinkframe = 420; -static const uint16 kBlinkcount = 421; -static const uint16 kReasseschanges = 422; -static const uint16 kPointerspath = 423; -static const uint16 kManspath = 424; -static const uint16 kPointerfirstpath = 425; -static const uint16 kFinaldest = 426; -static const uint16 kDestination = 427; -static const uint16 kLinestartx = 428; -static const uint16 kLinestarty = 430; -static const uint16 kLineendx = 432; -static const uint16 kLineendy = 434; -static const uint16 kIncrement1 = 436; -static const uint16 kIncrement2 = 438; -static const uint16 kLineroutine = 440; -static const uint16 kLinepointer = 441; -static const uint16 kLinedirection = 442; -static const uint16 kLinelength = 443; -static const uint16 kLiftsoundcount = 444; -static const uint16 kEmmhandle = 445; -static const uint16 kEmmpageframe = 447; -static const uint16 kEmmhardwarepage = 449; -static const uint16 kCh0emmpage = 450; -static const uint16 kCh0offset = 452; -static const uint16 kCh0blockstocopy = 454; -static const uint16 kCh0playing = 456; -static const uint16 kCh0repeat = 457; -static const uint16 kCh0oldemmpage = 458; -static const uint16 kCh0oldoffset = 460; -static const uint16 kCh0oldblockstocopy = 462; -static const uint16 kCh1playing = 464; -static const uint16 kCh1emmpage = 465; -static const uint16 kCh1offset = 467; -static const uint16 kCh1blockstocopy = 469; -static const uint16 kCh1blocksplayed = 471; -static const uint16 kSoundbufferwrite = 473; -static const uint16 kSoundemmpage = 475; -static const uint16 kSpeechemmpage = 477; -static const uint16 kCurrentsample = 479; -static const uint16 kRoomssample = 480; -static const uint16 kReelroutines = 481; -static const uint16 kBasicsample = 938; -static const uint16 kVolumetabname = 951; -static const uint16 kCurrentfile = 1160; -static const uint16 kRoomscango = 1284; -static const uint16 kRoompics = 1300; -static const uint16 kOplist = 1315; -static const uint16 kInputline = 1318; -static const uint16 kPresslist = 1446; -static const uint16 kQuitrequested = 1452; -static const uint16 kSubtitles = 1453; -static const uint16 kForeignrelease = 1454; +static const uint16 kSecondcount = 4; +static const uint16 kMinutecount = 5; +static const uint16 kHourcount = 6; +static const uint16 kZoomon = 7; +static const uint16 kLocation = 8; +static const uint16 kExpos = 9; +static const uint16 kExframepos = 10; +static const uint16 kExtextpos = 12; +static const uint16 kCard1money = 14; +static const uint16 kListpos = 16; +static const uint16 kRyanpage = 18; +static const uint16 kWatchingtime = 19; +static const uint16 kReeltowatch = 21; +static const uint16 kEndwatchreel = 23; +static const uint16 kSpeedcount = 25; +static const uint16 kWatchspeed = 26; +static const uint16 kReeltohold = 27; +static const uint16 kEndofholdreel = 29; +static const uint16 kWatchmode = 31; +static const uint16 kDestafterhold = 32; +static const uint16 kNewsitem = 33; +static const uint16 kLiftflag = 34; +static const uint16 kLiftpath = 35; +static const uint16 kLockstatus = 36; +static const uint16 kDoorpath = 37; +static const uint16 kCounttoopen = 38; +static const uint16 kCounttoclose = 39; +static const uint16 kRockstardead = 40; +static const uint16 kGeneraldead = 41; +static const uint16 kSartaindead = 42; +static const uint16 kAidedead = 43; +static const uint16 kBeenmugged = 44; +static const uint16 kGunpassflag = 45; +static const uint16 kCanmovealtar = 46; +static const uint16 kTalkedtoattendant = 47; +static const uint16 kTalkedtosparky = 48; +static const uint16 kTalkedtoboss = 49; +static const uint16 kTalkedtorecep = 50; +static const uint16 kCardpassflag = 51; +static const uint16 kMadmanflag = 52; +static const uint16 kKeeperflag = 53; +static const uint16 kLasttrigger = 54; +static const uint16 kMandead = 55; +static const uint16 kSeed = 56; +static const uint16 kNeedtotravel = 59; +static const uint16 kThroughdoor = 60; +static const uint16 kNewobs = 61; +static const uint16 kRyanon = 62; +static const uint16 kCombatcount = 63; +static const uint16 kLastweapon = 64; +static const uint16 kDreamnumber = 65; +static const uint16 kRoomafterdream = 66; +static const uint16 kShakecounter = 67; +static const uint16 kSpeechcount = 68; +static const uint16 kCharshift = 69; +static const uint16 kKerning = 71; +static const uint16 kBrightness = 72; +static const uint16 kRoomloaded = 73; +static const uint16 kDidzoom = 74; +static const uint16 kLinespacing = 75; +static const uint16 kTextaddressx = 77; +static const uint16 kTextaddressy = 79; +static const uint16 kTextlen = 81; +static const uint16 kLastxpos = 82; +static const uint16 kIcontop = 84; +static const uint16 kIconleft = 86; +static const uint16 kItemframe = 88; +static const uint16 kItemtotran = 89; +static const uint16 kRoomad = 90; +static const uint16 kOldsubject = 92; +static const uint16 kWithobject = 94; +static const uint16 kWithtype = 95; +static const uint16 kLookcounter = 96; +static const uint16 kCommand = 98; +static const uint16 kCommandtype = 99; +static const uint16 kOldcommandtype = 100; +static const uint16 kObjecttype = 101; +static const uint16 kGetback = 102; +static const uint16 kInvopen = 103; +static const uint16 kMainmode = 104; +static const uint16 kPickup = 105; +static const uint16 kLastinvpos = 106; +static const uint16 kExamagain = 107; +static const uint16 kNewtextline = 108; +static const uint16 kOpenedob = 109; +static const uint16 kOpenedtype = 110; +static const uint16 kOldmapadx = 111; +static const uint16 kOldmapady = 113; +static const uint16 kMapadx = 115; +static const uint16 kMapady = 117; +static const uint16 kMapoffsetx = 119; +static const uint16 kMapoffsety = 121; +static const uint16 kMapxstart = 123; +static const uint16 kMapystart = 125; +static const uint16 kMapxsize = 127; +static const uint16 kMapysize = 128; +static const uint16 kHavedoneobs = 129; +static const uint16 kManisoffscreen = 130; +static const uint16 kRainspace = 131; +static const uint16 kFacing = 132; +static const uint16 kLeavedirection = 133; +static const uint16 kTurntoface = 134; +static const uint16 kTurndirection = 135; +static const uint16 kMaintimer = 136; +static const uint16 kIntrocount = 138; +static const uint16 kArrowad = 139; +static const uint16 kCurrentkey = 141; +static const uint16 kOldkey = 142; +static const uint16 kUseddirection = 143; +static const uint16 kCurrentkey2 = 144; +static const uint16 kTimercount = 145; +static const uint16 kOldtimercount = 146; +static const uint16 kMapx = 147; +static const uint16 kMapy = 148; +static const uint16 kNewscreen = 149; +static const uint16 kRyanx = 150; +static const uint16 kRyany = 151; +static const uint16 kLastflag = 152; +static const uint16 kLastflagex = 153; +static const uint16 kFlagx = 154; +static const uint16 kFlagy = 155; +static const uint16 kCurrentex = 156; +static const uint16 kCurrentfree = 157; +static const uint16 kFramesad = 158; +static const uint16 kDataad = 160; +static const uint16 kFrsegment = 162; +static const uint16 kObjectx = 164; +static const uint16 kObjecty = 166; +static const uint16 kOffsetx = 168; +static const uint16 kOffsety = 170; +static const uint16 kSavesize = 172; +static const uint16 kSavesource = 174; +static const uint16 kSavex = 176; +static const uint16 kSavey = 177; +static const uint16 kCurrentob = 178; +static const uint16 kPrioritydep = 179; +static const uint16 kDestpos = 180; +static const uint16 kReallocation = 181; +static const uint16 kRoomnum = 182; +static const uint16 kNowinnewroom = 183; +static const uint16 kResetmanxy = 184; +static const uint16 kNewlocation = 185; +static const uint16 kAutolocation = 186; +static const uint16 kMustload = 187; +static const uint16 kAnswered = 188; +static const uint16 kSaidno = 189; +static const uint16 kDoorcheck1 = 190; +static const uint16 kDoorcheck2 = 191; +static const uint16 kDoorcheck3 = 192; +static const uint16 kDoorcheck4 = 193; +static const uint16 kMousex = 194; +static const uint16 kMousey = 196; +static const uint16 kMousebutton = 198; +static const uint16 kMousebutton1 = 200; +static const uint16 kMousebutton2 = 202; +static const uint16 kMousebutton3 = 204; +static const uint16 kMousebutton4 = 206; +static const uint16 kOldbutton = 208; +static const uint16 kOldx = 210; +static const uint16 kOldy = 212; +static const uint16 kLastbutton = 214; +static const uint16 kOldpointerx = 216; +static const uint16 kOldpointery = 218; +static const uint16 kDelherex = 220; +static const uint16 kDelherey = 222; +static const uint16 kPointerxs = 224; +static const uint16 kPointerys = 225; +static const uint16 kDelxs = 226; +static const uint16 kDelys = 227; +static const uint16 kPointerframe = 228; +static const uint16 kPointerpower = 229; +static const uint16 kAuxpointerframe = 230; +static const uint16 kPointermode = 231; +static const uint16 kPointerspeed = 232; +static const uint16 kPointercount = 233; +static const uint16 kInmaparea = 234; +static const uint16 kSlotdata = 235; +static const uint16 kThisslot = 236; +static const uint16 kSlotflags = 237; +static const uint16 kTalkmode = 238; +static const uint16 kTalkpos = 239; +static const uint16 kCharacter = 240; +static const uint16 kPersondata = 241; +static const uint16 kTalknum = 243; +static const uint16 kNumberinroom = 244; +static const uint16 kCurrentcel = 245; +static const uint16 kOldselection = 246; +static const uint16 kStopwalking = 247; +static const uint16 kMouseon = 248; +static const uint16 kPlayed = 249; +static const uint16 kTimer1 = 251; +static const uint16 kTimer2 = 252; +static const uint16 kTimer3 = 253; +static const uint16 kWholetimer = 254; +static const uint16 kTimer1to = 256; +static const uint16 kTimer2to = 257; +static const uint16 kTimer3to = 258; +static const uint16 kWatchdump = 259; +static const uint16 kLogonum = 260; +static const uint16 kOldlogonum = 261; +static const uint16 kNewlogonum = 262; +static const uint16 kNetseg = 263; +static const uint16 kNetpoint = 265; +static const uint16 kKeynum = 267; +static const uint16 kCursorstate = 268; +static const uint16 kPressed = 269; +static const uint16 kPresspointer = 270; +static const uint16 kGraphicpress = 272; +static const uint16 kPresscount = 273; +static const uint16 kKeypadax = 274; +static const uint16 kKeypadcx = 276; +static const uint16 kLightcount = 278; +static const uint16 kFolderpage = 279; +static const uint16 kDiarypage = 280; +static const uint16 kMenucount = 281; +static const uint16 kSymboltopx = 282; +static const uint16 kSymboltopnum = 283; +static const uint16 kSymboltopdir = 284; +static const uint16 kSymbolbotx = 285; +static const uint16 kSymbolbotnum = 286; +static const uint16 kSymbolbotdir = 287; +static const uint16 kSymboltolight = 288; +static const uint16 kSymbol1 = 289; +static const uint16 kSymbol2 = 290; +static const uint16 kSymbol3 = 291; +static const uint16 kSymbolnum = 292; +static const uint16 kDumpx = 293; +static const uint16 kDumpy = 295; +static const uint16 kWalkandexam = 297; +static const uint16 kWalkexamtype = 298; +static const uint16 kWalkexamnum = 299; +static const uint16 kCursloc = 300; +static const uint16 kCurslocx = 302; +static const uint16 kCurslocy = 304; +static const uint16 kCurpos = 306; +static const uint16 kMonadx = 308; +static const uint16 kMonady = 310; +static const uint16 kGotfrom = 312; +static const uint16 kMonsource = 314; +static const uint16 kNumtodo = 316; +static const uint16 kTimecount = 318; +static const uint16 kCounttotimed = 320; +static const uint16 kTimedseg = 322; +static const uint16 kTimedoffset = 324; +static const uint16 kTimedy = 326; +static const uint16 kTimedx = 327; +static const uint16 kNeedtodumptimed = 328; +static const uint16 kLoadingorsave = 329; +static const uint16 kCurrentslot = 330; +static const uint16 kCursorpos = 331; +static const uint16 kColourpos = 332; +static const uint16 kFadedirection = 333; +static const uint16 kNumtofade = 334; +static const uint16 kFadecount = 335; +static const uint16 kAddtogreen = 336; +static const uint16 kAddtored = 337; +static const uint16 kAddtoblue = 338; +static const uint16 kLastsoundreel = 339; +static const uint16 kSpeechloaded = 341; +static const uint16 kSpeechlength = 342; +static const uint16 kVolume = 344; +static const uint16 kVolumeto = 345; +static const uint16 kVolumedirection = 346; +static const uint16 kVolumecount = 347; +static const uint16 kPlayblock = 348; +static const uint16 kWongame = 349; +static const uint16 kLasthardkey = 350; +static const uint16 kBufferin = 351; +static const uint16 kBufferout = 353; +static const uint16 kExtras = 355; +static const uint16 kWorkspace = 357; +static const uint16 kMapstore = 359; +static const uint16 kCharset1 = 361; +static const uint16 kBuffers = 363; +static const uint16 kMainsprites = 365; +static const uint16 kBackdrop = 367; +static const uint16 kMapdata = 369; +static const uint16 kSounddata = 371; +static const uint16 kSounddata2 = 373; +static const uint16 kRecordspace = 375; +static const uint16 kFreedat = 377; +static const uint16 kSetdat = 379; +static const uint16 kReel1 = 381; +static const uint16 kReel2 = 383; +static const uint16 kReel3 = 385; +static const uint16 kRoomdesc = 387; +static const uint16 kFreedesc = 389; +static const uint16 kSetdesc = 391; +static const uint16 kBlockdesc = 393; +static const uint16 kSetframes = 395; +static const uint16 kFreeframes = 397; +static const uint16 kPeople = 399; +static const uint16 kReels = 401; +static const uint16 kCommandtext = 403; +static const uint16 kPuzzletext = 405; +static const uint16 kTraveltext = 407; +static const uint16 kTempgraphics = 409; +static const uint16 kTempgraphics2 = 411; +static const uint16 kTempgraphics3 = 413; +static const uint16 kTempsprites = 415; +static const uint16 kTextfile1 = 417; +static const uint16 kTextfile2 = 419; +static const uint16 kTextfile3 = 421; +static const uint16 kBlinkframe = 423; +static const uint16 kBlinkcount = 424; +static const uint16 kReasseschanges = 425; +static const uint16 kPointerspath = 426; +static const uint16 kManspath = 427; +static const uint16 kPointerfirstpath = 428; +static const uint16 kFinaldest = 429; +static const uint16 kDestination = 430; +static const uint16 kLinestartx = 431; +static const uint16 kLinestarty = 433; +static const uint16 kLineendx = 435; +static const uint16 kLineendy = 437; +static const uint16 kIncrement1 = 439; +static const uint16 kIncrement2 = 441; +static const uint16 kLineroutine = 443; +static const uint16 kLinepointer = 444; +static const uint16 kLinedirection = 445; +static const uint16 kLinelength = 446; +static const uint16 kLiftsoundcount = 447; +static const uint16 kEmmhandle = 448; +static const uint16 kEmmpageframe = 450; +static const uint16 kEmmhardwarepage = 452; +static const uint16 kCh0emmpage = 453; +static const uint16 kCh0offset = 455; +static const uint16 kCh0blockstocopy = 457; +static const uint16 kCh0playing = 459; +static const uint16 kCh0repeat = 460; +static const uint16 kCh0oldemmpage = 461; +static const uint16 kCh0oldoffset = 463; +static const uint16 kCh0oldblockstocopy = 465; +static const uint16 kCh1playing = 467; +static const uint16 kCh1emmpage = 468; +static const uint16 kCh1offset = 470; +static const uint16 kCh1blockstocopy = 472; +static const uint16 kCh1blocksplayed = 474; +static const uint16 kSoundbufferwrite = 476; +static const uint16 kSoundemmpage = 478; +static const uint16 kSpeechemmpage = 480; +static const uint16 kCurrentsample = 482; +static const uint16 kRoomssample = 483; +static const uint16 kReelroutines = 484; +static const uint16 kBasicsample = 941; +static const uint16 kVolumetabname = 954; +static const uint16 kCurrentfile = 1163; +static const uint16 kRoomscango = 1287; +static const uint16 kRoompics = 1303; +static const uint16 kOplist = 1318; +static const uint16 kInputline = 1321; +static const uint16 kPresslist = 1449; +static const uint16 kQuitrequested = 1455; +static const uint16 kSubtitles = 1456; +static const uint16 kForeignrelease = 1457; static const uint16 kBlocktextdat = (0); static const uint16 kPersonframes = (0); static const uint16 kDebuglevel1 = (0); @@ -434,8 +437,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)+938-481); -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)+938-481+65-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)+941-484); +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)+941-484+68-0); static const uint16 kReellist = (0+(36*144)); static const uint16 kIntext = (0+(38*2)); static const uint16 kLengthofmap = (0+(66*60)); @@ -477,16 +480,16 @@ static const uint16 kOpsx = (60); static const uint16 kMaplength = (60); static const uint16 kSymbolx = (64); static const uint16 kSetdatlen = (64*128); -static const uint16 kLengthofvars = (65-0); static const uint16 kMapwidth = (66); static const uint16 kTextstart = (66*2); static const uint16 kMaplen = (66*60); static const uint16 kDiaryx = (68+24); +static const uint16 kLengthofvars = (68-0); 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 = (938-481); +static const uint16 kLenofreelrouts = (941-484); static const uint16 kHeaderlen = (96); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index dd2e16e00b..226c085a2b 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -480,6 +480,7 @@ void DreamGenContext::dreamweb() { data.word(kOldpointerx) = 0xffff; fadeDOS(); + getTime(); clearBuffers(); clearPalette(); set16ColPalette(); @@ -936,6 +937,18 @@ void DreamGenContext::dumpTimedText() { data.byte(kNeedtodumptimed) = 0; } +void DreamGenContext::getTime() { + TimeDate t; + g_system->getTimeAndDate(t); + debug(1, "\tgettime: %02d:%02d:%02d", t.tm_hour, t.tm_min, t.tm_sec); + ch = t.tm_hour; + cl = t.tm_min; + dh = t.tm_sec; + data.byte(kSecondcount) = dh; + data.byte(kMinutecount) = cl; + data.byte(kHourcount) = ch; +} + uint16 DreamGenContext::allocateMem(uint16 paragraphs) { uint size = (paragraphs + 2) * 16; debug(1, "allocate mem, %u bytes", size); @@ -2058,12 +2071,9 @@ void DreamBase::showTime() { return; Frame *charset = (Frame *)getSegment(data.word(kCharset1)).ptr(0, 0); - TimeDate t; - g_system->getTimeAndDate(t); - - int seconds = t.tm_sec; - int minutes = t.tm_min; - int hours = t.tm_hour; + int seconds = data.byte(kSecondcount); + int minutes = data.byte(kMinutecount); + int hours = data.byte(kHourcount); showFrame(charset, 282+5, 21, 91*3+10 + seconds / 10, 0); showFrame(charset, 282+9, 21, 91*3+10 + seconds % 10, 0); @@ -2086,6 +2096,17 @@ void DreamGenContext::watchCount() { data.byte(kWatchdump) = 1; } else if (data.byte(kTimercount) == 18) { data.byte(kTimercount) = 0; + ++data.byte(kSecondcount); + if (data.byte(kSecondcount) == 60) { + data.byte(kSecondcount) = 0; + ++data.byte(kMinutecount); + if (data.byte(kMinutecount) == 60) { + data.byte(kMinutecount) = 0; + ++data.byte(kHourcount); + if (data.byte(kHourcount) == 24) + data.byte(kHourcount) = 0; + } + } showTime(); data.byte(kWatchdump) = 1; } diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index f4f8f96f4b..950da21574 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -528,6 +528,7 @@ void selectLocation(); void showGroup(); void loadSpeech(); + void getTime(); void set16ColPalette(); void examineInventory(); void showSaveOps(); |