aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/resources.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/resources.cpp')
-rw-r--r--engines/gob/resources.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/engines/gob/resources.cpp b/engines/gob/resources.cpp
index 8241821039..56941aa4c1 100644
--- a/engines/gob/resources.cpp
+++ b/engines/gob/resources.cpp
@@ -25,7 +25,7 @@
#include "common/util.h"
#include "common/endian.h"
-#include "common/stream.h"
+#include "common/memstream.h"
#include "gob/gob.h"
#include "gob/resources.h"
@@ -71,7 +71,7 @@ int16 Resource::getHeight() const {
return _height;
}
-Common::MemoryReadStream *Resource::stream() const {
+Common::SeekableReadStream *Resource::stream() const {
return _stream;
}
@@ -95,7 +95,7 @@ int32 TextItem::getSize() const {
return _size;
}
-Common::MemoryReadStream *TextItem::stream() const {
+Common::SeekableReadStream *TextItem::stream() const {
return _stream;
}
@@ -293,7 +293,7 @@ bool Resources::loadTOTResourceTable() {
bool Resources::loadEXTResourceTable() {
_extResourceTable = new EXTResourceTable;
- DataStream *stream = _vm->_dataIO->getDataStream(_extFile.c_str());
+ Common::SeekableReadStream *stream = _vm->_dataIO->getFile(_extFile);
if (!stream)
return false;
@@ -396,7 +396,7 @@ bool Resources::loadIMFile() {
imFile += num;
- DataStream *stream = _vm->_dataIO->getDataStream(imFile.c_str());
+ Common::SeekableReadStream *stream = _vm->_dataIO->getFile(imFile);
if (!stream)
return true;
@@ -431,7 +431,7 @@ bool Resources::loadEXFile() {
_exFile = "commun.ex";
_exFile += totProps.exFileNumber + '0';
- if (!_vm->_dataIO->existData(_exFile.c_str())) {
+ if (!_vm->_dataIO->hasFile(_exFile)) {
_exFile.clear();
return true;
}
@@ -473,7 +473,7 @@ Common::String Resources::getLocTextFile(const Common::String &fileBase,
break;
}
- if (!_vm->_dataIO->existData(locTextFile.c_str()))
+ if (!_vm->_dataIO->hasFile(locTextFile))
locTextFile.clear();
return locTextFile;
@@ -525,8 +525,7 @@ byte *Resources::loadTOTLocTexts(const Common::String &fileBase, int32 &size) {
if (locTextFile.empty())
return 0;
- size = _vm->_dataIO->getDataSize(locTextFile.c_str());
- return _vm->_dataIO->getData(locTextFile.c_str());
+ return _vm->_dataIO->getFile(locTextFile, size);
}
Resource *Resources::getResource(uint16 id, int16 *width, int16 *height) const {
@@ -682,10 +681,10 @@ Resource *Resources::getEXTResource(uint16 id) const {
if (extItem.packed) {
byte *packedData = data;
- size = READ_LE_UINT32(packedData);
- data = new byte[size];
+ int32 unpackSize;
+ data = _vm->_dataIO->unpack(packedData, size, unpackSize);
- _vm->_dataIO->unpackData(packedData, data);
+ size = unpackSize;
delete[] packedData;
}
@@ -724,7 +723,7 @@ byte *Resources::getIMData(TOTResourceItem &totItem) const {
}
byte *Resources::getEXTData(EXTResourceItem &extItem, uint32 size) const {
- DataStream *stream = _vm->_dataIO->getDataStream(_extFile.c_str());
+ Common::SeekableReadStream *stream = _vm->_dataIO->getFile(_extFile);
if (!stream)
return 0;
@@ -745,7 +744,7 @@ byte *Resources::getEXTData(EXTResourceItem &extItem, uint32 size) const {
}
byte *Resources::getEXData(EXTResourceItem &extItem, uint32 size) const {
- DataStream *stream = _vm->_dataIO->getDataStream(_exFile.c_str());
+ Common::SeekableReadStream *stream = _vm->_dataIO->getFile(_exFile);
if (!stream)
return 0;