diff options
author | Vladimir Menshakov | 2011-06-12 13:06:27 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:34:17 +0200 |
commit | 7eb8e0bbe7151a09bec7e3a4afb4f4e6ffd8b335 (patch) | |
tree | 9229c6b3584167f16b1822c549a0e95ac38fc13c | |
parent | 8ea7a7a3d1e92bfd9b8f4836cba4492bb91fc8da (diff) | |
download | scummvm-rg350-7eb8e0bbe7151a09bec7e3a4afb4f4e6ffd8b335.tar.gz scummvm-rg350-7eb8e0bbe7151a09bec7e3a4afb4f4e6ffd8b335.tar.bz2 scummvm-rg350-7eb8e0bbe7151a09bec7e3a4afb4f4e6ffd8b335.zip |
DREAMWEB: unstubbed dontloadseg
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 14 | ||||
-rw-r--r-- | engines/dreamweb/dreamweb.h | 1 |
2 files changed, 14 insertions, 1 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index b5e2a1328c..fb65e71abf 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -181,6 +181,12 @@ void DreamWebEngine::openFile(const Common::String &name) { } } +uint32 DreamWebEngine::skipBytes(uint32 bytes) { + if (!_file.seek(bytes, SEEK_CUR)) + error("seekk failed"); + return _file.pos(); +} + uint32 DreamWebEngine::readFromFile(uint8 *dst, unsigned size) { processEvents(); if (!_file.isOpen()) @@ -427,7 +433,13 @@ void createfile(Context &context) { } void dontloadseg(Context &context) { - ::error("dontloadseg"); + context.ax = context.es.word(context.di); + context._add(context.di, 2); + context.dx = context.ax; + context.cx = 0; + unsigned pos = engine()->skipBytes(context.dx); + context.dx = pos >> 16; + context.ax = pos & 0xffff; } void mousecall(Context &context) { diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index 0666bb8518..78c8960b79 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -80,6 +80,7 @@ public: void openFile(const Common::String &name); uint32 readFromFile(uint8 *dst, unsigned size); + uint32 skipBytes(uint32 bytes); void closeFile(); void mouseCall(); //fill mouse pos and button state |