aboutsummaryrefslogtreecommitdiff
path: root/engines/macventure/container.h
diff options
context:
space:
mode:
authorBorja Lorente2016-06-25 20:45:53 +0200
committerBorja Lorente2016-08-14 18:39:27 +0200
commit4837b7750a5494f7002f8f7c5d47ba44621dd425 (patch)
tree6bede815159a671a94d9a71dea9e30c78152e3dd /engines/macventure/container.h
parent25f086e63b2b007ba03a47dcdab2426369edf01f (diff)
downloadscummvm-rg350-4837b7750a5494f7002f8f7c5d47ba44621dd425.tar.gz
scummvm-rg350-4837b7750a5494f7002f8f7c5d47ba44621dd425.tar.bz2
scummvm-rg350-4837b7750a5494f7002f8f7c5d47ba44621dd425.zip
MACVENTURE: Add rect collission for main game window
Diffstat (limited to 'engines/macventure/container.h')
-rw-r--r--engines/macventure/container.h31
1 files changed, 11 insertions, 20 deletions
diff --git a/engines/macventure/container.h b/engines/macventure/container.h
index 4dc5172fd7..440c0cb977 100644
--- a/engines/macventure/container.h
+++ b/engines/macventure/container.h
@@ -42,6 +42,8 @@ class Container {
public:
Container(const char *filename) {
+ _filename = Common::String(filename);
+
if (!_file.open(filename))
error("Could not open %s", filename);
@@ -172,9 +174,11 @@ public:
* getItemByteSize should be called before this one
*/
Common::SeekableReadStream *getItem(uint32 id) {
+ _res->seek(0);
+ Common::SeekableReadStream *res = _res->readStream(_res->size());
if (_simplified) {
- _res->seek((id * _lenObjs) + sizeof(_header), SEEK_SET);
- return _res;
+ res->seek((id * _lenObjs) + sizeof(_header), SEEK_SET);
+ return res;
} else {
uint32 groupID = (id >> 6);
uint32 objectIndex = id & 0x3f; // Index within the group
@@ -184,9 +188,9 @@ public:
offset += _groups[groupID].lengths[i];
}
- _res->seek(_groups[groupID].offset + offset + sizeof(_header), SEEK_SET);
+ res->seek(_groups[groupID].offset + offset + sizeof(_header), SEEK_SET);
- return _res;
+ return res;
}
}
@@ -202,27 +206,14 @@ protected:
uint16 _huff[15]; // huffman masks
uint8 _lens[16]; // huffman lengths
Common::Array<ItemGroup> _groups;
-
+
+ Common::String _filename;
Common::File _file;
Common::SeekableReadStream *_res;
-
- // To be moved
- //byte _remainderOffset;
+
};
-/*
-template <typedef T>
-class PersistentContainer : public Container {
-public:
- PersistentContainer(Common::String filename) :
- Container(filename) {
- // Load
- }
-
-private:
-
-};*/
} // End of namespace MacVenture