aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/init.cpp
diff options
context:
space:
mode:
authorSven Hesse2007-07-31 01:43:32 +0000
committerSven Hesse2007-07-31 01:43:32 +0000
commit34292a6b586a44aa8fb9361369dddf854ce999c6 (patch)
tree4ec8a73772f15db9db8c6157d508aa3a283dbe96 /engines/gob/init.cpp
parent32d00708687d10152ebc84df86b84aaad2059478 (diff)
downloadscummvm-rg350-34292a6b586a44aa8fb9361369dddf854ce999c6.tar.gz
scummvm-rg350-34292a6b586a44aa8fb9361369dddf854ce999c6.tar.bz2
scummvm-rg350-34292a6b586a44aa8fb9361369dddf854ce999c6.zip
Minor DataIO-cleanup
svn-id: r28349
Diffstat (limited to 'engines/gob/init.cpp')
-rw-r--r--engines/gob/init.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/engines/gob/init.cpp b/engines/gob/init.cpp
index 85f95fb261..4712a19a5d 100644
--- a/engines/gob/init.cpp
+++ b/engines/gob/init.cpp
@@ -147,10 +147,12 @@ void Init::initGame(const char *totName) {
handle = _vm->_dataIO->openData(buffer);
if (handle >= 0) {
- // Get variables count
- _vm->_dataIO->seekData(handle, 0x2C, SEEK_SET);
- varsCount = _vm->_dataIO->readUint16(handle);
- _vm->_dataIO->closeData(handle);
+ DataStream *stream = _vm->_dataIO->openAsStream(handle, true);
+
+ stream->seek(0x2C);
+ varsCount = stream->readUint16LE();
+
+ delete stream;
_vm->_global->_inter_variables = new byte[varsCount * 4];
_vm->_global->_inter_variablesSizes = new byte[varsCount * 4];
@@ -178,9 +180,12 @@ void Init::initGame(const char *totName) {
_vm->_draw->closeScreen();
} else if ((imdHandle = _vm->_dataIO->openData("coktel.clt")) >= 0) {
_vm->_draw->initScreen();
+
+ stream = _vm->_dataIO->openAsStream(imdHandle, true);
_vm->_util->clearPalette();
- _vm->_dataIO->readData(imdHandle, (byte *) _vm->_draw->_vgaPalette, 768);
- _vm->_dataIO->closeData(imdHandle);
+ stream->read((byte *) _vm->_draw->_vgaPalette, 768);
+ delete stream;
+
imdHandle = _vm->_dataIO->openData("coktel.ims");
if (imdHandle >= 0) {
byte *sprBuf;