From 0f6f9129925fccf24369fc5a0f7daf8f4c638bb8 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Mon, 5 Dec 2011 00:45:42 +0100 Subject: DREAMWEB: 'loadSaveBox' ported to C++ --- engines/dreamweb/dreamgen.cpp | 312 ++++++++++++++++++++---------------------- engines/dreamweb/dreamgen.h | 90 ++++++------ engines/dreamweb/saveload.cpp | 3 + engines/dreamweb/stubs.h | 1 + 4 files changed, 200 insertions(+), 206 deletions(-) (limited to 'engines/dreamweb') diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 462bdf3f4d..0928b25253 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -2046,7 +2046,7 @@ void DreamGenContext::showGun() { data.byte(kRoomssample) = 34; loadRoomsSample(); data.byte(kVolume) = 0; - dx = 1112; + dx = 1099; loadIntoTemp(); createPanel2(); ds = data.word(kTempgraphics); @@ -2069,7 +2069,7 @@ void DreamGenContext::showGun() { al = 12; ah = 0; playChannel0(); - dx = 1086; + dx = 1073; loadTempText(); rollEndCredits2(); getRidOfTempText(); @@ -2317,7 +2317,7 @@ void DreamGenContext::initialMonCols() { void DreamGenContext::endGame() { STACK_CHECK; - dx = 1086; + dx = 1073; loadTempText(); monkSpeaking(); gettingShot(); @@ -2332,7 +2332,7 @@ void DreamGenContext::monkSpeaking() { STACK_CHECK; data.byte(kRoomssample) = 35; loadRoomsSample(); - dx = 1125; + dx = 1112; loadIntoTemp(); clearWork(); showMonk(); @@ -2399,7 +2399,7 @@ void DreamGenContext::gettingShot() { void DreamGenContext::bibleQuote() { STACK_CHECK; mode640x480(); - dx = 1138; + dx = 1125; showPCX(); fadeScreenUps(); cx = 80; @@ -2438,7 +2438,7 @@ hangonloope: void DreamGenContext::intro() { STACK_CHECK; - dx = 1073; + dx = 1060; loadTempText(); loadPalFromIFF(); setMode(); @@ -2571,7 +2571,7 @@ void DreamGenContext::realCredits() { mode640x480(); cx = 35; hangOn(); - dx = 1151; + dx = 1138; showPCX(); al = 12; ah = 0; @@ -2593,7 +2593,7 @@ void DreamGenContext::realCredits() { _cmp(data.byte(kLasthardkey), 1); if (flags.z()) goto realcreditsearly; - dx = 1164; + dx = 1151; showPCX(); al = 12; ah = 0; @@ -2615,7 +2615,7 @@ void DreamGenContext::realCredits() { _cmp(data.byte(kLasthardkey), 1); if (flags.z()) goto realcreditsearly; - dx = 1177; + dx = 1164; showPCX(); al = 12; ah = 0; @@ -2637,7 +2637,7 @@ void DreamGenContext::realCredits() { _cmp(data.byte(kLasthardkey), 1); if (flags.z()) goto realcreditsearly; - dx = 1190; + dx = 1177; showPCX(); al = 12; ah = 0; @@ -2659,7 +2659,7 @@ void DreamGenContext::realCredits() { _cmp(data.byte(kLasthardkey), 1); if (flags.z()) goto realcreditsearly; - dx = 1203; + dx = 1190; showPCX(); al = 12; ah = 0; @@ -2681,7 +2681,7 @@ void DreamGenContext::realCredits() { _cmp(data.byte(kLasthardkey), 1); if (flags.z()) goto realcreditsearly; - dx = 1216; + dx = 1203; showPCX(); fadeScreenUps(); cx = 60; @@ -5112,14 +5112,14 @@ void DreamGenContext::getDestInfo() { push(ax); dx = data; es = dx; - si = 1878; + si = 1865; _add(si, ax); cl = es.byte(si); ax = pop(); push(cx); dx = data; es = dx; - si = 1894; + si = 1881; _add(si, ax); ax = pop(); } @@ -5296,7 +5296,7 @@ clearedlocations: bx = ax; dx = data; es = dx; - _add(bx, 1878); + _add(bx, 1865); es.byte(bx) = 0; } @@ -5394,7 +5394,7 @@ void DreamGenContext::execCommand() { es = cs; bx = offset_comlist; ds = cs; - si = 1912; + si = 1899; al = ds.byte(si); _cmp(al, 0); if (!flags.z()) @@ -5487,7 +5487,7 @@ dirroot: si = offset_rootdir; _inc(si); es = cs; - di = 1567; + di = 1554; _inc(di); cx = 12; _movsb(cx, true); @@ -5589,7 +5589,7 @@ notyetassigned: push(bx); _add(bx, 2); ds = cs; - si = 1912; + si = 1899; checkpass: _lodsw(); ah = es.byte(bx); @@ -5660,7 +5660,7 @@ void DreamGenContext::read() { return; okcom: es = cs; - di = 1567; + di = 1554; ax = data.word(kTextfile1); data.word(kMonsource) = ax; ds = ax; @@ -5790,7 +5790,7 @@ keyok2: ds = cs; si = offset_operand1+1; es = cs; - di = 1567+1; + di = 1554+1; cx = 12; _movsb(cx, true); monitorLogo(); @@ -5917,7 +5917,7 @@ void DreamGenContext::parser() { al = '='; _stosb(); ds = cs; - si = 1912; + si = 1899; notspace1: _lodsw(); _cmp(al, 32); @@ -9071,9 +9071,9 @@ void DreamGenContext::dumpSymBox() { void DreamGenContext::useDiary() { STACK_CHECK; getRidOfReels(); - dx = 1047; + dx = 1034; loadIntoTemp(); - dx = 1060; + dx = 1047; loadTempText(); dx = 995; loadTempCharset(); @@ -9400,12 +9400,6 @@ opsblock1: blank(); } -void DreamGenContext::loadSaveBox() { - STACK_CHECK; - dx = 1034; - loadIntoTemp(); -} - void DreamGenContext::getBackToOps() { STACK_CHECK; _cmp(data.byte(kCommandtype), 201); @@ -9535,7 +9529,7 @@ void DreamGenContext::getNamePos() { _mul(cx); dx = data; es = dx; - bx = 2046; + bx = 2033; _add(bx, ax); al = data.byte(kCursorpos); ah = 0; @@ -9689,7 +9683,7 @@ void DreamGenContext::showNames() { STACK_CHECK; dx = data; es = dx; - si = 2046+1; + si = 2033+1; di = (60)+21; bx = (52)+10; cl = 0; @@ -10209,7 +10203,7 @@ void DreamGenContext::clearChanges() { di = 0; _stosw(cx, true); es = cs; - di = 1878; + di = 1865; al = 1; _stosb(2); al = 0; @@ -11009,115 +11003,115 @@ void DreamGenContext::__start() { //0x03f0: DREA MWEB .V00 .DRE 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, //0x0400: AMWE B.V9 9.DR EAMW - 0x45, 0x42, 0x2e, 0x47, 0x30, 0x38, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, - //0x0410: EB.G 08.D REAM WEB. - 0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x35, 0x31, - //0x0420: G14. DREA MWEB .T51 - 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x32, 0x00, 0x44, 0x52, - //0x0430: .DRE AMWE B.T8 2.DR - 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, - //0x0440: EAMW EB.T 83.D REAM - 0x57, 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, - //0x0450: WEB. VOL. DREA MWEB - 0x2e, 0x47, 0x31, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, - //0x0460: .G13 .DRE AMWE B.G1 - 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x30, 0x00, 0x44, - //0x0470: 5.DR EAMW EB.I 00.D - 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, - //0x0480: REAM WEB. I01. DREA - 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, - //0x0490: MWEB .I02 .DRE AMWE - 0x42, 0x2e, 0x49, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, - //0x04a0: B.I0 3.DR EAMW EB.I - 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x35, 0x00, - //0x04b0: 04.D REAM WEB. I05. - 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x36, 0x00, 0x44, 0x52, 0x45, - //0x04c0: DREA MWEB .I06 .DRE - 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, - //0x04d0: AMWE B.I0 7.DR EAMW - 0x45, 0x42, 0x2e, 0x50, 0x41, 0x4c, 0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, - //0x04e0: EB.P AL.. ...@ .... - 0x00, 0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, 0x00, 0x00, 0x40, - //0x04f0: .|.. .".. .,.. ...@ - 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, - //0x0500: .... .... ...@ .... - 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0xee, - //0x0510: .|.. .@.. .... .... - 0x00, 0x02, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xc8, 0xc4, 0x68, 0x00, 0x7c, 0x00, 0x04, 0x00, 0x2c, - //0x0520: .... .,.. .h.| ..., - 0x00, 0xcc, 0xc4, 0x18, 0x01, 0x34, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xb0, 0xc4, 0x68, 0x00, 0xd8, - //0x0530: .... .4.. .,.. .h.. - 0x00, 0x8a, 0x00, 0xc0, 0x00, 0xd0, 0xc4, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x7c, - //0x0540: .... .... .@.. ...| - 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, - //0x0550: ...@ .... .... .EXI - 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0560: T H ELP - 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, - //0x0570: LIS T R EAD - 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, - //0x0580: LOG ON K - 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, - //0x0590: EYS ..P UBLI - 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, - //0x05a0: C P UBLI C - 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, - //0x05b0: .. .BLA CKDR AGON - 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, - //0x05c0: RYA N ...H - 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, - //0x05d0: ENDR IX L OUIS - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, - //0x05e0: .. .SEP TIMU - 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, - //0x05f0: S BEC KETT - 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0600: ... - 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, - //0x0610: ."RO OT ." - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, - //0x0620: .000 - 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, 0x1c, 0xc8, 0xf3, - //0x0630: 0.00 .... .... .... - 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, - //0x0640: .... .... .... .... - 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, - //0x0650: .P.. .@.. .... ...w - 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, - //0x0660: ...R ...4 .F.. .>.o - 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 0xc8, 0x00, 0x00, 0x40, - //0x0670: .... ...D ...L ...@ - 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, - //0x0680: .... .... .w.. .R.. - 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 0xc8, 0xec, 0x00, 0xfc, - //0x0690: .D.F ...> .o.P .... - 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, - //0x06a0: .p.. .H.. .@.. .... - 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, - //0x06b0: .... ...$ .... R... - 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xb7, 0x00, 0xfa, 0x00, - //0x06c0: ..P. ..>. o... .... - 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, - //0x06d0: >.o. .... @... .... - 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, - //0x06e0: ..SP EECH R24C 0005 - 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, 0x45, - //0x06f0: .RAW .OBJ ECT NAME - 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x0700: ONE - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, 0x12, - //0x0710: ... - 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, - //0x0720: .... .... .... .... - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - //0x0730: .... ..D: .... .... + 0x45, 0x42, 0x2e, 0x47, 0x31, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, + //0x0410: EB.G 14.D REAM WEB. + 0x54, 0x35, 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x32, + //0x0420: T51. DREA MWEB .T82 + 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x54, 0x38, 0x33, 0x00, 0x44, 0x52, + //0x0430: .DRE AMWE B.T8 3.DR + 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, + //0x0440: EAMW EB.V OL.D REAM + 0x57, 0x45, 0x42, 0x2e, 0x47, 0x31, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, + //0x0450: WEB. G13. DREA MWEB + 0x2e, 0x47, 0x31, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, + //0x0460: .G15 .DRE AMWE B.I0 + 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x31, 0x00, 0x44, + //0x0470: 0.DR EAMW EB.I 01.D + 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, + //0x0480: REAM WEB. I02. DREA + 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, + //0x0490: MWEB .I03 .DRE AMWE + 0x42, 0x2e, 0x49, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, + //0x04a0: B.I0 4.DR EAMW EB.I + 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x36, 0x00, + //0x04b0: 05.D REAM WEB. I06. + 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x49, 0x30, 0x37, 0x00, 0x44, 0x52, 0x45, + //0x04c0: DREA MWEB .I07 .DRE + 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x50, 0x41, 0x4c, 0x00, 0x00, 0x01, 0x11, 0x01, 0x40, 0x01, + //0x04d0: AMWE B.PA L... ..@. + 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x94, 0xc4, + //0x04e0: .... |... "... ,... + 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, + //0x04f0: ..@. .... .... ..@. + 0x9d, 0x00, 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, + //0x0500: .... |... @... .... + 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xc8, 0xc4, 0x68, 0x00, 0x7c, 0x00, + //0x0510: .... .... ,... h.|. + 0x04, 0x00, 0x2c, 0x00, 0xcc, 0xc4, 0x18, 0x01, 0x34, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xb0, 0xc4, + //0x0520: ..,. .... 4... ,... + 0x68, 0x00, 0xd8, 0x00, 0x8a, 0x00, 0xc0, 0x00, 0xd0, 0xc4, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, + //0x0530: h... .... .... @... + 0xc6, 0x00, 0x7c, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, + //0x0540: ..|. ..@. .... .... + 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, + //0x0550: EXIT HE LP + 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, + //0x0560: LIST RE + 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, + //0x0570: AD LOGO N + 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, + //0x0580: KE YS ..PU + 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, + //0x0590: BLIC PU BLIC + 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, + //0x05a0: ... BLAC KDRA + 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, + //0x05b0: GON RYAN . + 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, + //0x05c0: ..HE NDRI X LO + 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, + //0x05d0: UIS ... SEPT + 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, + //0x05e0: IMUS BECK ETT + 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x05f0: . .. + 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x0600: . "ROO T + 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, + //0x0610: ." . + 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, + //0x0620: 0000 .00. .... .... + 0x1c, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x18, 0xc8, 0x0c, 0x01, 0x1c, 0x01, + //0x0630: .... .... .... .... + 0xa8, 0x00, 0xb8, 0x00, 0x50, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, + //0x0640: .... P... @... .... + 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x34, 0xc8, 0x46, 0x00, 0x89, 0x00, + //0x0650: ..w. ..R. ..4. F... + 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x4c, 0xc8, + //0x0660: >.o. .... ..D. ..L. + 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, + //0x0670: ..@. .... .... w... + 0x52, 0x00, 0x80, 0x00, 0x44, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x50, 0xc8, + //0x0680: R... D.F. ..>. o.P. + 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, + //0x0690: .... p... H... @... + 0xc8, 0x00, 0xa0, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, + //0x06a0: .... .... ..$. ...R + 0x00, 0x80, 0x00, 0xc0, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x80, 0xc8, 0xb7, + //0x06b0: .... .P.. .>.o .... + 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0xc4, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, + //0x06c0: ...> .o.. ...@ .... + 0x00, 0xa0, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, + //0x06d0: .... .SPE ECHR 24C0 + 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, + //0x06e0: 005. RAW. OBJE CT N + 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x06f0: AME ONE + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x0700: + 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + //0x0710: .... .... .... .... + 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x0720: .... .... .D:. .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x0730: .... .... .... .... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, //0x0740: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, //0x0750: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, 0x06, + 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0760: .... .... .... .... - 0x0b, 0x04, 0x07, 0x07, 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, //0x0770: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0780: .... .... .... .... @@ -11131,37 +11125,35 @@ void DreamGenContext::__start() { //0x07c0: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x07d0: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, //0x07e0: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, + 0xff, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x07f0: .... .... .... .... - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0800: .... .... .... .... - 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0810: .... .... .... .... - 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0820: .... .... .... .... - 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0830: .... .... .... .... - 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0840: .... .... .... .... - 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //0x0850: .... .... .... .... - 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - //0x0860: .... .... .... .... - 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, - //0x0870: .... .DRE AMWE B.D0 - 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x31, 0x00, 0x44, - //0x0880: 0.DR EAMW EB.D 01.D - 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x32, 0x00, 0x44, 0x52, 0x45, 0x41, - //0x0890: REAM WEB. D02. DREA - 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, - //0x08a0: MWEB .D03 .DRE AMWE - 0x42, 0x2e, 0x44, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, - //0x08b0: B.D0 4.DR EAMW EB.D - 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x36, 0x00, - //0x08c0: 05.D REAM WEB. D06. - 0x00, 0x00, 0x00, }; + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, + //0x0860: .... .... DREA MWEB + 0x2e, 0x44, 0x30, 0x30, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, + //0x0870: .D00 .DRE AMWE B.D0 + 0x31, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x32, 0x00, 0x44, + //0x0880: 1.DR EAMW EB.D 02.D + 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x33, 0x00, 0x44, 0x52, 0x45, 0x41, + //0x0890: REAM WEB. D03. DREA + 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, 0x30, 0x34, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, + //0x08a0: MWEB .D04 .DRE AMWE + 0x42, 0x2e, 0x44, 0x30, 0x35, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x44, + //0x08b0: B.D0 5.DR EAMW EB.D + 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 2c1e8005ff..6efddfac87 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -36,23 +36,23 @@ public: void __start(); #include "stubs.h" // Allow hand-reversed functions to have a signature different than void f() - static const uint16 offset_keys = 0x0599; - static const uint16 offset_comlist = 0x055d; - static const uint16 offset_destlist = 0x051f; - static const uint16 offset_money1poke = 0x062d; - static const uint16 offset_money2poke = 0x0632; - static const uint16 offset_operand1 = 0x0603; - static const uint16 offset_quitlist = 0x0509; - static const uint16 offset_opslist = 0x065f; - static const uint16 offset_openchangesize = 0x04e7; - static const uint16 offset_talklist = 0x04e9; - static const uint16 offset_rootdir = 0x0611; - static const uint16 offset_speechfile = 0x06e8; - static const uint16 offset_commandline = 0x06f5; - static const uint16 offset_diarylist = 0x0635; - static const uint16 offset_speechfilename = 0x06e2; - static const uint16 offset_decidelist = 0x06b8; - static const uint16 offset_discopslist = 0x0689; + static const uint16 offset_quitlist = 0x04fc; + static const uint16 offset_commandline = 0x06e8; + static const uint16 offset_money1poke = 0x0620; + static const uint16 offset_speechfile = 0x06db; + static const uint16 offset_money2poke = 0x0625; + static const uint16 offset_keys = 0x058c; + static const uint16 offset_talklist = 0x04dc; + static const uint16 offset_diarylist = 0x0628; + static const uint16 offset_rootdir = 0x0604; + static const uint16 offset_comlist = 0x0550; + static const uint16 offset_openchangesize = 0x04da; + static const uint16 offset_operand1 = 0x05f6; + static const uint16 offset_destlist = 0x0512; + static const uint16 offset_opslist = 0x0652; + static const uint16 offset_speechfilename = 0x06d5; + static const uint16 offset_decidelist = 0x06ab; + static const uint16 offset_discopslist = 0x067c; static const uint16 kStartvars = 0; static const uint16 kProgresspoints = 1; static const uint16 kWatchon = 2; @@ -431,34 +431,33 @@ public: static const uint16 kCharacterset3 = 995; static const uint16 kSamplename = 1008; static const uint16 kBasicsample = 1021; - static const uint16 kIcongraphics8 = 1034; - static const uint16 kDiarygraphic = 1047; - static const uint16 kDiarytext = 1060; - static const uint16 kIntrotextname = 1073; - static const uint16 kEndtextname = 1086; - static const uint16 kVolumetabname = 1099; - static const uint16 kGungraphic = 1112; - static const uint16 kMonkface = 1125; - static const uint16 kTitle0graphics = 1138; - static const uint16 kTitle1graphics = 1151; - static const uint16 kTitle2graphics = 1164; - static const uint16 kTitle3graphics = 1177; - static const uint16 kTitle4graphics = 1190; - static const uint16 kTitle5graphics = 1203; - static const uint16 kTitle6graphics = 1216; - static const uint16 kTitle7graphics = 1229; - static const uint16 kPalettescreen = 1242; - static const uint16 kCurrentfile = 1567; - static const uint16 kRoomscango = 1878; - static const uint16 kRoompics = 1894; - static const uint16 kOplist = 1909; - static const uint16 kInputline = 1912; - static const uint16 kPresslist = 2040; - static const uint16 kSavenames = 2046; - static const uint16 kSavefiles = 2165; - static const uint16 kQuitrequested = 2256; - static const uint16 kSubtitles = 2257; - static const uint16 kForeignrelease = 2258; + static const uint16 kDiarygraphic = 1034; + static const uint16 kDiarytext = 1047; + static const uint16 kIntrotextname = 1060; + static const uint16 kEndtextname = 1073; + static const uint16 kVolumetabname = 1086; + static const uint16 kGungraphic = 1099; + static const uint16 kMonkface = 1112; + static const uint16 kTitle0graphics = 1125; + static const uint16 kTitle1graphics = 1138; + static const uint16 kTitle2graphics = 1151; + static const uint16 kTitle3graphics = 1164; + static const uint16 kTitle4graphics = 1177; + static const uint16 kTitle5graphics = 1190; + static const uint16 kTitle6graphics = 1203; + static const uint16 kTitle7graphics = 1216; + static const uint16 kPalettescreen = 1229; + static const uint16 kCurrentfile = 1554; + static const uint16 kRoomscango = 1865; + static const uint16 kRoompics = 1881; + static const uint16 kOplist = 1896; + static const uint16 kInputline = 1899; + static const uint16 kPresslist = 2027; + static const uint16 kSavenames = 2033; + static const uint16 kSavefiles = 2152; + static const uint16 kQuitrequested = 2243; + static const uint16 kSubtitles = 2244; + static const uint16 kForeignrelease = 2245; static const uint16 kBlocktextdat = (0); static const uint16 kPersonframes = (0); static const uint16 kDebuglevel1 = (0); @@ -703,7 +702,6 @@ public: void selectSlot(); void openFileNoCheck(); void fadeUpMon(); - void loadSaveBox(); void soundEnd(); void redes(); void errorMessage1(); diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp index 910f74e86c..1a10d5b166 100644 --- a/engines/dreamweb/saveload.cpp +++ b/engines/dreamweb/saveload.cpp @@ -432,6 +432,9 @@ void DreamGenContext::loadOld() { data.byte(kGetback) = 0; } +void DreamGenContext::loadSaveBox() { + loadIntoTemp("DREAMWEB.G08"); +} } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index df424d3503..b4a217ab4b 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -405,6 +405,7 @@ void drunk(ReelRoutine &routine); void security(ReelRoutine &routine); void singleKey(uint8 key, uint16 x, uint16 y); + void loadSaveBox(); void loadKeypad(); void showKeypad(); void showOuterPad(); -- cgit v1.2.3