diff options
author | Vladimir Menshakov | 2011-06-12 17:11:51 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:34:18 +0200 |
commit | 8ddbbc0c504893dad7fbde6a48b6edb668b249f9 (patch) | |
tree | a6ede10ad35fa8e765c6a29906c2b6b70869a495 | |
parent | fdcb21ffee2688fec1c1b34ebf4a0a14fe4fcbf1 (diff) | |
download | scummvm-rg350-8ddbbc0c504893dad7fbde6a48b6edb668b249f9.tar.gz scummvm-rg350-8ddbbc0c504893dad7fbde6a48b6edb668b249f9.tar.bz2 scummvm-rg350-8ddbbc0c504893dad7fbde6a48b6edb668b249f9.zip |
DREAMWEB: moved out file write/read from sources
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 540 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 4 | ||||
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 17 | ||||
-rw-r--r-- | engines/dreamweb/dreamweb.h | 6 |
4 files changed, 332 insertions, 235 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index cad1987df4..10766a7599 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -178,6 +178,8 @@ void showsaveops(Context &context); void readkey(Context &context); void getnamepos(Context &context); void selectslot(Context &context); +void loadposition(Context &context); +void saveposition(Context &context); void restoreall(Context &context); void redrawmainscrn(Context &context); void checkinput(Context &context); @@ -16308,6 +16310,106 @@ void oldtonames(Context & context) { return; } +void saveposition(Context & context) { + makeheader(context); + context.al = context.data.byte(kCurrentslot); + context.ah = 0; + context.push(context.ax); + context.cx = 13; + context._mul(context.cx); + context.dx = context.data; + context.ds = context.dx; + context.dx = 8469; + context._add(context.dx, context.ax); + openforsave(context); + context.dx = context.data; + context.ds = context.dx; + context.dx = 5862; + context.cx = (5958-5862); + savefilewrite(context); + context.dx = context.data; + context.es = context.dx; + context.di = 5912; + context.ax = context.pop(); + context.cx = 17; + context._mul(context.cx); + context.dx = context.data; + context.ds = context.dx; + context.dx = 8350; + context._add(context.dx, context.ax); + saveseg(context); + context.dx = context.data; + context.ds = context.dx; + context.dx = 0; + saveseg(context); + context.ds = context.data.word(kExtras); + context.dx = (0); + saveseg(context); + context.ds = context.data.word(kBuffers); + context.dx = (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)); + saveseg(context); + context.dx = context.data; + context.ds = context.dx; + context.dx = 7750; + saveseg(context); + context.dx = context.data; + context.ds = context.dx; + context.dx = 534; + saveseg(context); +fquit: + closefile(context); + return; +} + +void loadposition(Context & context) { + context.data.word(kTimecount) = 0; + clearchanges(context); + context.al = context.data.byte(kCurrentslot); + context.ah = 0; + context.push(context.ax); + context.cx = 13; + context._mul(context.cx); + context.dx = context.data; + context.ds = context.dx; + context.dx = 8469; + context._add(context.dx, context.ax); + openfile(context); + context.ah = 0x3f; + context.ds = context.cs; + context.dx = 5862; + context.cx = (5958-5862); + savefileread(context); + context.es = context.cs; + context.di = 5912; + context.ax = context.pop(); + context.cx = 17; + context._mul(context.cx); + context.dx = context.data; + context.ds = context.dx; + context.dx = 8350; + context._add(context.dx, context.ax); + loadseg(context); + context.dx = context.data; + context.ds = context.dx; + context.dx = 0; + loadseg(context); + context.ds = context.data.word(kExtras); + context.dx = (0); + loadseg(context); + context.ds = context.data.word(kBuffers); + context.dx = (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)); + loadseg(context); + context.dx = context.data; + context.ds = context.dx; + context.dx = 7750; + loadseg(context); + context.ds = context.cs; + context.dx = 534; + loadseg(context); + closefile(context); + return; +} + void makeheader(Context & context) { context.dx = context.data; context.es = context.dx; @@ -20779,21 +20881,21 @@ void __start(Context &context) { 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x48, 0xc3, 0x04, 0x01, 0x2c, 0x01, 0x00, 0x00, 0x2c, 0x00, 0x84, 0xc5, 0xd2, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x2c, 0x00, 0xe0, 0xc3, 0x90, 0x00, 0xb0, 0x00, 0x40, 0x00, 0x60, 0x00, 0x84, 0xc3, 0x00, 0x00, 0x32, 0x00, 0x32, 0x00, 0xc8, 0x00, 0x88, 0xc3, - 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, + 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x48, 0xc3, 0xff, 0x00, 0x26, 0x01, 0x00, 0x00, 0x18, 0x00, 0xcc, 0xc3, 0xf7, 0x00, 0x2d, 0x01, 0x28, 0x00, 0x38, 0x00, 0x4c, 0xc3, 0x50, 0x00, 0x00, 0x01, 0x9e, 0x00, 0xca, 0x00, 0xe4, 0xc3, 0x50, 0x00, 0x2c, 0x01, 0x3a, 0x00, 0x92, 0x00, 0x9c, 0xc3, 0x00, 0x00, - 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, + 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x48, 0xc3, 0xf7, 0x00, 0x2d, 0x01, 0x28, 0x00, 0x38, 0x00, 0x4c, 0xc3, 0x50, 0x00, 0x2c, 0x01, 0x3a, 0x00, 0x92, 0x00, 0xc0, 0xc6, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, - 0x9c, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x80, 0xc4, 0xf0, 0x00, + 0xa4, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x80, 0xc4, 0xf0, 0x00, 0x22, 0x01, 0x02, 0x00, 0x2c, 0x00, 0x98, 0xc4, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, - 0x9c, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x80, 0xc4, 0x00, 0x00, - 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04, 0x00, + 0xa4, 0xca, 0xff, 0xff, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x80, 0xc4, 0x00, 0x00, + 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0xee, 0x00, 0x02, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xcc, 0xc4, 0x68, 0x00, 0x7c, 0x00, 0x04, 0x00, 0x2c, 0x00, 0xd0, 0xc4, 0x18, 0x01, 0x34, 0x01, 0x04, 0x00, 0x2c, 0x00, 0xb4, 0xc4, 0x68, 0x00, 0xd8, 0x00, 0x8a, 0x00, 0xc0, 0x00, 0xd4, 0xc4, 0x11, 0x01, 0x40, 0x01, 0x9d, 0x00, 0xc6, 0x00, 0x80, 0xc4, 0x00, 0x00, 0x40, 0x01, - 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x48, 0x45, 0x4c, + 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0x45, 0x58, 0x49, 0x54, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x4c, 0x49, 0x53, 0x54, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, @@ -20840,28 +20942,28 @@ void __start(Context &context) { 0xc7, 0xc9, 0x00, 0xde, 0x00, 0x71, 0x00, 0x82, 0x00, 0x7c, 0xc7, 0x9d, 0x00, 0xb2, 0x00, 0x83, 0x00, 0x91, 0x00, 0x80, 0xc7, 0xb3, 0x00, 0xde, 0x00, 0x83, 0x00, 0x91, 0x00, 0x84, 0xc7, 0xdc, 0x00, 0xea, 0x00, 0x98, 0x00, 0xa6, 0x00, 0x54, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, - 0x00, 0x9c, 0xca, 0xff, 0xff, 0xae, 0x00, 0xbc, 0x00, 0x84, 0x00, 0x94, 0x00, 0x54, 0xc7, 0x00, - 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0x18, 0x01, 0x40, 0x01, 0xa0, + 0x00, 0xa4, 0xca, 0xff, 0xff, 0xae, 0x00, 0xbc, 0x00, 0x84, 0x00, 0x94, 0x00, 0x54, 0xc7, 0x00, + 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0x18, 0x01, 0x40, 0x01, 0xa0, 0x00, 0xc8, 0x00, 0x54, 0xc7, 0x8f, 0x00, 0x2c, 0x01, 0x06, 0x00, 0xc2, 0x00, 0xbc, 0xc7, 0x00, 0x00, 0x8f, 0x00, 0x06, 0x00, 0xc2, 0x00, 0xc4, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, - 0x00, 0x9c, 0xca, 0xff, 0xff, 0x68, 0x00, 0x80, 0x00, 0x3a, 0x00, 0x48, 0x00, 0xe0, 0xc7, 0x40, + 0x00, 0xa4, 0xca, 0xff, 0xff, 0x68, 0x00, 0x80, 0x00, 0x3a, 0x00, 0x48, 0x00, 0xe0, 0xc7, 0x40, 0x00, 0x74, 0x00, 0x4c, 0x00, 0x6a, 0x00, 0xe4, 0xc7, 0x74, 0x00, 0xa8, 0x00, 0x4c, 0x00, 0x6a, 0x00, 0xe8, 0xc7, 0x40, 0x00, 0x74, 0x00, 0x6a, 0x00, 0x88, 0x00, 0xec, 0xc7, 0x74, 0x00, 0xa8, - 0x00, 0x6a, 0x00, 0x88, 0x00, 0xf0, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, + 0x00, 0x6a, 0x00, 0x88, 0x00, 0xf0, 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0xba, 0x00, 0xca, 0x00, 0x9d, 0x00, 0xad, 0x00, 0x20, 0xc8, 0xf3, 0x00, 0x03, 0x01, 0x83, 0x00, 0x93, 0x00, 0x1c, 0xc8, 0x0c, 0x01, 0x1c, 0x01, 0xa8, 0x00, 0xb8, 0x00, 0x54, - 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, + 0xc7, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x38, 0xc8, 0x46, 0x00, 0x89, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x84, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x44, 0x00, 0x98, 0x00, 0x50, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, - 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x4c, + 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x4c, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x40, 0x00, 0x98, 0x00, 0x5c, 0xc8, 0x3e, 0x00, 0x98, 0x00, 0x38, - 0x00, 0x85, 0x00, 0x78, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, + 0x00, 0x85, 0x00, 0x78, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0x77, 0x00, 0xae, 0x00, 0x52, 0x00, 0x80, 0x00, 0x48, 0xc8, 0x46, 0x00, 0x8b, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x54, 0xc8, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x4c, 0xc8, 0x00, - 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0xec, 0x00, 0xfc, 0x00, 0x70, + 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0xec, 0x00, 0xfc, 0x00, 0x70, 0x00, 0x80, 0x00, 0x4c, 0xc8, 0xbc, 0x00, 0xfa, 0x00, 0x40, 0x00, 0x98, 0x00, 0x58, 0xc8, 0x3e, 0x00, 0x98, 0x00, 0x38, 0x00, 0x85, 0x00, 0x78, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, - 0x00, 0x9c, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x44, 0x72, 0x65, 0x61, 0x6d, 0x77, 0x65, + 0x00, 0xa4, 0xca, 0xff, 0xff, 0x0d, 0x0a, 0x0d, 0x0a, 0x44, 0x72, 0x65, 0x61, 0x6d, 0x77, 0x65, 0x62, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x0d, 0x0a, 0x55, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x20, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x4d, 0x65, 0x6d, @@ -20925,18 +21027,18 @@ void __start(Context &context) { 0x0d, 0x0a, 0x24, 0x0d, 0x0a, 0x0d, 0x0a, 0x54, 0x72, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x44, 0x72, 0x65, 0x61, 0x6d, 0x77, 0x65, 0x62, 0x20, 0x43, 0x44, 0x20, 0x69, 0x6e, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x2e, 0x2e, 0x2e, 0x2e, 0x0d, 0x0a, 0x0d, - 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xbc, 0xc8, 0x50, 0x00, + 0x0a, 0x0d, 0x0a, 0x24, 0x81, 0x00, 0xb8, 0x00, 0x52, 0x00, 0x80, 0x00, 0xc4, 0xc8, 0x50, 0x00, 0x93, 0x00, 0x3e, 0x00, 0x6f, 0x00, 0x84, 0xc8, 0xb7, 0x00, 0xfa, 0x00, 0x3e, 0x00, 0x6f, 0x00, - 0xc0, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0x9c, 0xca, 0xff, 0xff, 0x53, 0x50, + 0xc8, 0xc8, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xa4, 0xca, 0xff, 0xff, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x52, 0x32, 0x34, 0x43, 0x30, 0x30, 0x30, 0x35, 0x2e, 0x52, 0x41, 0x57, 0x00, 0x87, 0x83, 0x81, 0x82, 0x2c, 0x00, 0x46, 0x00, 0x20, 0x00, 0x2e, 0x00, 0x74, 0xc4, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x80, 0xc3, 0xe2, 0x00, 0xf4, 0x00, 0x0a, 0x00, 0x1a, 0x00, 0x2c, 0xc8, 0xe2, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x28, 0x00, 0x30, 0xc8, 0xf0, 0x00, 0x04, - 0x01, 0x64, 0x00, 0x7c, 0x00, 0xc8, 0xc9, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xd0, + 0x01, 0x64, 0x00, 0x7c, 0x00, 0xd0, 0xc9, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xd8, 0xc9, 0xff, 0xff, 0x2c, 0x00, 0x46, 0x00, 0x20, 0x00, 0x2e, 0x00, 0x74, 0xc4, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x80, 0xc3, 0x12, 0x01, 0x24, 0x01, 0x0a, 0x00, 0x1a, 0x00, 0x2c, 0xc8, 0x12, 0x01, 0x24, 0x01, 0x1a, 0x00, 0x28, 0x00, 0x30, 0xc8, 0xf0, 0x00, 0x04, 0x01, 0x64, - 0x00, 0x7c, 0x00, 0xc8, 0xc9, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xd0, 0xc9, 0xff, + 0x00, 0x7c, 0x00, 0xd0, 0xc9, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xc8, 0x00, 0xd8, 0xc9, 0xff, 0xff, 0x00, 0x21, 0x0a, 0x0f, 0xff, 0x00, 0x16, 0x0a, 0x0f, 0xff, 0x00, 0x16, 0x00, 0x0f, 0xff, 0x00, 0x0b, 0x00, 0x0f, 0xff, 0x00, 0x0b, 0x0a, 0x0f, 0xff, 0x00, 0x00, 0x0a, 0x0f, 0xff, 0x01, 0x2c, 0x0a, 0x06, 0xff, 0x01, 0x2c, 0x00, 0x0d, 0xff, 0x02, 0x21, 0x00, 0x06, 0xff, 0x02, 0x16, @@ -21720,205 +21822,207 @@ void __dispatch_call(Context &context, unsigned addr) { case 0xc888: error(context); break; case 0xc88c: namestoold(context); break; case 0xc890: oldtonames(context); break; - case 0xc894: saveposition(context); break; - case 0xc898: loadposition(context); break; - case 0xc89c: loadseg(context); break; - case 0xc8a0: makeheader(context); break; - case 0xc8a4: storeit(context); break; - case 0xc8a8: saveseg(context); break; - case 0xc8ac: findlen(context); break; - case 0xc8b0: scanfornames(context); break; - case 0xc8b4: decide(context); break; - case 0xc8b8: showdecisions(context); break; - case 0xc8bc: newgame(context); break; - case 0xc8c0: loadold(context); break; - case 0xc8c4: loadspeech(context); break; - case 0xc8c8: createname(context); break; - case 0xc8cc: loadsample(context); break; - case 0xc8d0: loadsecondsample(context); break; - case 0xc8d4: soundstartup(context); break; - case 0xc8d8: trysoundalloc(context); break; - case 0xc8dc: setsoundoff(context); break; - case 0xc8e0: checksoundint(context); break; - case 0xc8e4: enablesoundint(context); break; - case 0xc8e8: disablesoundint(context); break; - case 0xc8ec: interupttest(context); break; - case 0xc8f0: soundend(context); break; - case 0xc8f4: out22c(context); break; - case 0xc8f8: playchannel0(context); break; - case 0xc8fc: playchannel1(context); break; - case 0xc900: makenextblock(context); break; - case 0xc904: volumeadjust(context); break; - case 0xc908: loopchannel0(context); break; - case 0xc90c: cancelch0(context); break; - case 0xc910: cancelch1(context); break; - case 0xc914: channel0only(context); break; - case 0xc918: channel1only(context); break; - case 0xc91c: channel0tran(context); break; - case 0xc920: bothchannels(context); break; - case 0xc924: saveems(context); break; - case 0xc928: restoreems(context); break; - case 0xc92c: domix(context); break; - case 0xc930: dmaend(context); break; - case 0xc934: startdmablock(context); break; - case 0xc938: setuppit(context); break; - case 0xc93c: getridofpit(context); break; - case 0xc940: pitinterupt(context); break; - case 0xc944: dreamweb(context); break; - case 0xc948: entrytexts(context); break; - case 0xc94c: entryanims(context); break; - case 0xc950: initialinv(context); break; - case 0xc954: pickupob(context); break; - case 0xc958: setupemm(context); break; - case 0xc95c: removeemm(context); break; - case 0xc960: checkforemm(context); break; - case 0xc964: checkbasemem(context); break; - case 0xc968: allocatebuffers(context); break; - case 0xc96c: clearbuffers(context); break; - case 0xc970: clearchanges(context); break; - case 0xc974: clearbeforeload(context); break; - case 0xc978: clearreels(context); break; - case 0xc97c: clearrest(context); break; - case 0xc980: deallocatemem(context); break; - case 0xc984: allocatemem(context); break; - case 0xc98c: parseblaster(context); break; - case 0xc990: startup(context); break; - case 0xc994: startup1(context); break; - case 0xc998: screenupdate(context); break; - case 0xc99c: watchreel(context); break; - case 0xc9a0: checkforshake(context); break; - case 0xc9a4: watchcount(context); break; - case 0xc9a8: showtime(context); break; - case 0xc9ac: dumpwatch(context); break; - case 0xc9b0: showbyte(context); break; - case 0xc9b4: onedigit(context); break; - case 0xc9b8: twodigitnum(context); break; - case 0xc9bc: showword(context); break; - case 0xc9c0: convnum(context); break; - case 0xc9c4: mainscreen(context); break; - case 0xc9c8: madmanrun(context); break; - case 0xc9cc: checkcoords(context); break; - case 0xc9d0: identifyob(context); break; - case 0xc9d4: checkifperson(context); break; - case 0xc9d8: checkifset(context); break; - case 0xc9dc: checkifex(context); break; - case 0xc9e0: checkiffree(context); break; - case 0xc9e4: isitdescribed(context); break; - case 0xc9e8: findpathofpoint(context); break; - case 0xc9ec: findfirstpath(context); break; - case 0xc9f0: turnpathon(context); break; - case 0xc9f4: turnpathoff(context); break; - case 0xc9f8: turnanypathon(context); break; - case 0xc9fc: turnanypathoff(context); break; - case 0xca00: checkifpathison(context); break; - case 0xca04: afternewroom(context); break; - case 0xca08: atmospheres(context); break; - case 0xca0c: walkintoroom(context); break; - case 0xca10: afterintroroom(context); break; - case 0xca14: obname(context); break; - case 0xca18: finishedwalking(context); break; - case 0xca1c: examineobtext(context); break; - case 0xca20: commandwithob(context); break; - case 0xca24: commandonly(context); break; - case 0xca28: printmessage(context); break; - case 0xca2c: printmessage2(context); break; - case 0xca30: blocknametext(context); break; - case 0xca34: personnametext(context); break; - case 0xca38: walktotext(context); break; - case 0xca3c: getflagunderp(context); break; - case 0xca40: setwalk(context); break; - case 0xca44: autosetwalk(context); break; - case 0xca48: checkdest(context); break; - case 0xca4c: bresenhams(context); break; - case 0xca50: workoutframes(context); break; - case 0xca54: getroomspaths(context); break; - case 0xca58: copyname(context); break; - case 0xca5c: findobname(context); break; - case 0xca60: showicon(context); break; - case 0xca64: middlepanel(context); break; - case 0xca68: showman(context); break; - case 0xca6c: showpanel(context); break; - case 0xca70: roomname(context); break; - case 0xca74: usecharset1(context); break; - case 0xca78: usetempcharset(context); break; - case 0xca7c: showexit(context); break; - case 0xca80: panelicons1(context); break; - case 0xca84: showwatch(context); break; - case 0xca88: gettime(context); break; - case 0xca8c: zoomicon(context); break; - case 0xca90: showblink(context); break; - case 0xca94: dumpblink(context); break; - case 0xca98: worktoscreenm(context); break; - case 0xca9c: blank(context); break; - case 0xcaa0: allpointer(context); break; - case 0xcaa4: hangonp(context); break; - case 0xcaa8: hangonw(context); break; - case 0xcaac: hangoncurs(context); break; - case 0xcab0: getunderzoom(context); break; - case 0xcab4: dumpzoom(context); break; - case 0xcab8: putunderzoom(context); break; - case 0xcabc: crosshair(context); break; - case 0xcac0: showpointer(context); break; - case 0xcac4: delpointer(context); break; - case 0xcac8: dumppointer(context); break; - case 0xcacc: undertextline(context); break; - case 0xcad0: deltextline(context); break; - case 0xcad4: dumptextline(context); break; - case 0xcad8: animpointer(context); break; - case 0xcadc: setmouse(context); break; - case 0xcae0: readmouse(context); break; - case 0xcae4: mousecall(context); break; - case 0xcae8: readmouse1(context); break; - case 0xcaec: readmouse2(context); break; - case 0xcaf0: readmouse3(context); break; - case 0xcaf4: readmouse4(context); break; - case 0xcaf8: readkey(context); break; - case 0xcafc: convertkey(context); break; - case 0xcb00: randomnum1(context); break; - case 0xcb04: randomnum2(context); break; - case 0xcb0c: hangon(context); break; - case 0xcb10: loadtraveltext(context); break; - case 0xcb14: loadintotemp(context); break; - case 0xcb18: loadintotemp2(context); break; - case 0xcb1c: loadintotemp3(context); break; - case 0xcb20: loadtempcharset(context); break; - case 0xcb24: standardload(context); break; - case 0xcb28: loadtemptext(context); break; - case 0xcb2c: loadroom(context); break; - case 0xcb30: loadroomssample(context); break; - case 0xcb34: getridofreels(context); break; - case 0xcb38: getridofall(context); break; - case 0xcb3c: restorereels(context); break; - case 0xcb40: restoreall(context); break; - case 0xcb44: sortoutmap(context); break; - case 0xcb48: startloading(context); break; - case 0xcb4c: disablepath(context); break; - case 0xcb50: findxyfrompath(context); break; - case 0xcb54: findroominloc(context); break; - case 0xcb58: getroomdata(context); break; - case 0xcb5c: readheader(context); break; - case 0xcb60: dontloadseg(context); break; - case 0xcb64: allocateload(context); break; - case 0xcb68: fillspace(context); break; - case 0xcb6c: getridoftemp(context); break; - case 0xcb70: getridoftemptext(context); break; - case 0xcb74: getridoftemp2(context); break; - case 0xcb78: getridoftemp3(context); break; - case 0xcb7c: getridoftempcharset(context); break; - case 0xcb80: getridoftempsp(context); break; - case 0xcb84: readsetdata(context); break; - case 0xcb88: createfile(context); break; - case 0xcb8c: openfile(context); break; - case 0xcb90: openfilenocheck(context); break; - case 0xcb94: openforsave(context); break; - case 0xcb98: closefile(context); break; - case 0xcb9c: readfromfile(context); break; - case 0xcba0: setkeyboardint(context); break; - case 0xcba4: resetkeyboard(context); break; - case 0xcba8: keyboardread(context); break; - case 0xcbac: walkandexamine(context); break; - case 0xcbb0: doload(context); break; - case 0xcbb4: generalerror(context); break; + case 0xc894: savefilewrite(context); break; + case 0xc898: savefileread(context); break; + case 0xc89c: saveposition(context); break; + case 0xc8a0: loadposition(context); break; + case 0xc8a4: loadseg(context); break; + case 0xc8a8: makeheader(context); break; + case 0xc8ac: storeit(context); break; + case 0xc8b0: saveseg(context); break; + case 0xc8b4: findlen(context); break; + case 0xc8b8: scanfornames(context); break; + case 0xc8bc: decide(context); break; + case 0xc8c0: showdecisions(context); break; + case 0xc8c4: newgame(context); break; + case 0xc8c8: loadold(context); break; + case 0xc8cc: loadspeech(context); break; + case 0xc8d0: createname(context); break; + case 0xc8d4: loadsample(context); break; + case 0xc8d8: loadsecondsample(context); break; + case 0xc8dc: soundstartup(context); break; + case 0xc8e0: trysoundalloc(context); break; + case 0xc8e4: setsoundoff(context); break; + case 0xc8e8: checksoundint(context); break; + case 0xc8ec: enablesoundint(context); break; + case 0xc8f0: disablesoundint(context); break; + case 0xc8f4: interupttest(context); break; + case 0xc8f8: soundend(context); break; + case 0xc8fc: out22c(context); break; + case 0xc900: playchannel0(context); break; + case 0xc904: playchannel1(context); break; + case 0xc908: makenextblock(context); break; + case 0xc90c: volumeadjust(context); break; + case 0xc910: loopchannel0(context); break; + case 0xc914: cancelch0(context); break; + case 0xc918: cancelch1(context); break; + case 0xc91c: channel0only(context); break; + case 0xc920: channel1only(context); break; + case 0xc924: channel0tran(context); break; + case 0xc928: bothchannels(context); break; + case 0xc92c: saveems(context); break; + case 0xc930: restoreems(context); break; + case 0xc934: domix(context); break; + case 0xc938: dmaend(context); break; + case 0xc93c: startdmablock(context); break; + case 0xc940: setuppit(context); break; + case 0xc944: getridofpit(context); break; + case 0xc948: pitinterupt(context); break; + case 0xc94c: dreamweb(context); break; + case 0xc950: entrytexts(context); break; + case 0xc954: entryanims(context); break; + case 0xc958: initialinv(context); break; + case 0xc95c: pickupob(context); break; + case 0xc960: setupemm(context); break; + case 0xc964: removeemm(context); break; + case 0xc968: checkforemm(context); break; + case 0xc96c: checkbasemem(context); break; + case 0xc970: allocatebuffers(context); break; + case 0xc974: clearbuffers(context); break; + case 0xc978: clearchanges(context); break; + case 0xc97c: clearbeforeload(context); break; + case 0xc980: clearreels(context); break; + case 0xc984: clearrest(context); break; + case 0xc988: deallocatemem(context); break; + case 0xc98c: allocatemem(context); break; + case 0xc994: parseblaster(context); break; + case 0xc998: startup(context); break; + case 0xc99c: startup1(context); break; + case 0xc9a0: screenupdate(context); break; + case 0xc9a4: watchreel(context); break; + case 0xc9a8: checkforshake(context); break; + case 0xc9ac: watchcount(context); break; + case 0xc9b0: showtime(context); break; + case 0xc9b4: dumpwatch(context); break; + case 0xc9b8: showbyte(context); break; + case 0xc9bc: onedigit(context); break; + case 0xc9c0: twodigitnum(context); break; + case 0xc9c4: showword(context); break; + case 0xc9c8: convnum(context); break; + case 0xc9cc: mainscreen(context); break; + case 0xc9d0: madmanrun(context); break; + case 0xc9d4: checkcoords(context); break; + case 0xc9d8: identifyob(context); break; + case 0xc9dc: checkifperson(context); break; + case 0xc9e0: checkifset(context); break; + case 0xc9e4: checkifex(context); break; + case 0xc9e8: checkiffree(context); break; + case 0xc9ec: isitdescribed(context); break; + case 0xc9f0: findpathofpoint(context); break; + case 0xc9f4: findfirstpath(context); break; + case 0xc9f8: turnpathon(context); break; + case 0xc9fc: turnpathoff(context); break; + case 0xca00: turnanypathon(context); break; + case 0xca04: turnanypathoff(context); break; + case 0xca08: checkifpathison(context); break; + case 0xca0c: afternewroom(context); break; + case 0xca10: atmospheres(context); break; + case 0xca14: walkintoroom(context); break; + case 0xca18: afterintroroom(context); break; + case 0xca1c: obname(context); break; + case 0xca20: finishedwalking(context); break; + case 0xca24: examineobtext(context); break; + case 0xca28: commandwithob(context); break; + case 0xca2c: commandonly(context); break; + case 0xca30: printmessage(context); break; + case 0xca34: printmessage2(context); break; + case 0xca38: blocknametext(context); break; + case 0xca3c: personnametext(context); break; + case 0xca40: walktotext(context); break; + case 0xca44: getflagunderp(context); break; + case 0xca48: setwalk(context); break; + case 0xca4c: autosetwalk(context); break; + case 0xca50: checkdest(context); break; + case 0xca54: bresenhams(context); break; + case 0xca58: workoutframes(context); break; + case 0xca5c: getroomspaths(context); break; + case 0xca60: copyname(context); break; + case 0xca64: findobname(context); break; + case 0xca68: showicon(context); break; + case 0xca6c: middlepanel(context); break; + case 0xca70: showman(context); break; + case 0xca74: showpanel(context); break; + case 0xca78: roomname(context); break; + case 0xca7c: usecharset1(context); break; + case 0xca80: usetempcharset(context); break; + case 0xca84: showexit(context); break; + case 0xca88: panelicons1(context); break; + case 0xca8c: showwatch(context); break; + case 0xca90: gettime(context); break; + case 0xca94: zoomicon(context); break; + case 0xca98: showblink(context); break; + case 0xca9c: dumpblink(context); break; + case 0xcaa0: worktoscreenm(context); break; + case 0xcaa4: blank(context); break; + case 0xcaa8: allpointer(context); break; + case 0xcaac: hangonp(context); break; + case 0xcab0: hangonw(context); break; + case 0xcab4: hangoncurs(context); break; + case 0xcab8: getunderzoom(context); break; + case 0xcabc: dumpzoom(context); break; + case 0xcac0: putunderzoom(context); break; + case 0xcac4: crosshair(context); break; + case 0xcac8: showpointer(context); break; + case 0xcacc: delpointer(context); break; + case 0xcad0: dumppointer(context); break; + case 0xcad4: undertextline(context); break; + case 0xcad8: deltextline(context); break; + case 0xcadc: dumptextline(context); break; + case 0xcae0: animpointer(context); break; + case 0xcae4: setmouse(context); break; + case 0xcae8: readmouse(context); break; + case 0xcaec: mousecall(context); break; + case 0xcaf0: readmouse1(context); break; + case 0xcaf4: readmouse2(context); break; + case 0xcaf8: readmouse3(context); break; + case 0xcafc: readmouse4(context); break; + case 0xcb00: readkey(context); break; + case 0xcb04: convertkey(context); break; + case 0xcb08: randomnum1(context); break; + case 0xcb0c: randomnum2(context); break; + case 0xcb14: hangon(context); break; + case 0xcb18: loadtraveltext(context); break; + case 0xcb1c: loadintotemp(context); break; + case 0xcb20: loadintotemp2(context); break; + case 0xcb24: loadintotemp3(context); break; + case 0xcb28: loadtempcharset(context); break; + case 0xcb2c: standardload(context); break; + case 0xcb30: loadtemptext(context); break; + case 0xcb34: loadroom(context); break; + case 0xcb38: loadroomssample(context); break; + case 0xcb3c: getridofreels(context); break; + case 0xcb40: getridofall(context); break; + case 0xcb44: restorereels(context); break; + case 0xcb48: restoreall(context); break; + case 0xcb4c: sortoutmap(context); break; + case 0xcb50: startloading(context); break; + case 0xcb54: disablepath(context); break; + case 0xcb58: findxyfrompath(context); break; + case 0xcb5c: findroominloc(context); break; + case 0xcb60: getroomdata(context); break; + case 0xcb64: readheader(context); break; + case 0xcb68: dontloadseg(context); break; + case 0xcb6c: allocateload(context); break; + case 0xcb70: fillspace(context); break; + case 0xcb74: getridoftemp(context); break; + case 0xcb78: getridoftemptext(context); break; + case 0xcb7c: getridoftemp2(context); break; + case 0xcb80: getridoftemp3(context); break; + case 0xcb84: getridoftempcharset(context); break; + case 0xcb88: getridoftempsp(context); break; + case 0xcb8c: readsetdata(context); break; + case 0xcb90: createfile(context); break; + case 0xcb94: openfile(context); break; + case 0xcb98: openfilenocheck(context); break; + case 0xcb9c: openforsave(context); break; + case 0xcba0: closefile(context); break; + case 0xcba4: readfromfile(context); break; + case 0xcba8: setkeyboardint(context); break; + case 0xcbac: resetkeyboard(context); break; + case 0xcbb0: keyboardread(context); break; + case 0xcbb4: walkandexamine(context); break; + case 0xcbb8: doload(context); break; + case 0xcbbc: generalerror(context); break; default: ::error("invalid call to %04x dispatched", (uint16)context.ax); } } diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 40e3539a0d..d2db7f2ae6 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -60,8 +60,8 @@ namespace dreamgen { void scanfornames(Context &context); void saveseg(Context &context); void loadseg(Context &context); - void loadposition(Context &context); - void saveposition(Context &context); + void savefileread(Context &context); + void savefilewrite(Context &context); void error(Context &context); void generalerror(Context &context); void dosreturn(Context &context); diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index db49b74da2..2c03e369e1 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -29,7 +29,7 @@ #include "common/EventRecorder.h" #include "common/file.h" #include "common/func.h" -#include "common/iff_container.h" +#include "common/savefile.h" #include "common/system.h" #include "common/timer.h" #include "common/util.h" @@ -290,7 +290,6 @@ void DreamWebEngine::cls() { _system->fillScreen(0); } - } // End of namespace DreamWeb @@ -585,6 +584,12 @@ void saveseg(Context &context) { ::error("saveseg"); } +void savefilewrite(Context &context) { +} + +void savefileread(Context &context) { +} + void loadseg(Context &context) { context.ax = context.es.word(context.di); context.di += 2; @@ -597,14 +602,6 @@ void loadseg(Context &context) { context.flags._c = false; } -void loadposition(Context &context) { - ::error("loadposition"); -} - -void saveposition(Context &context) { - ::error("saveposition"); -} - void error(Context &context) { ::error("error"); } diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index 78c8960b79..633d5075e0 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -36,10 +36,6 @@ #include "dreamweb/dreamgen.h" #include "dreamweb/console.h" -namespace Graphics { - class Surface; -} - namespace DreamWeb { // Engine Debug Flags @@ -79,7 +75,7 @@ public: uint8 randomNumber() { return _rnd.getRandomNumber(255); } void openFile(const Common::String &name); - uint32 readFromFile(uint8 *dst, unsigned size); + uint32 readFromFile(uint8 *data, unsigned size); uint32 skipBytes(uint32 bytes); void closeFile(); |