aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/files.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/files.h')
-rw-r--r--engines/xeen/files.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/xeen/files.h b/engines/xeen/files.h
index 343aea1e74..7c0817a850 100644
--- a/engines/xeen/files.h
+++ b/engines/xeen/files.h
@@ -26,6 +26,7 @@
#include "common/scummsys.h"
#include "common/array.h"
#include "common/file.h"
+#include "common/serializer.h"
#include "graphics/surface.h"
#include "xeen/xsurface.h"
@@ -61,6 +62,16 @@ public:
void openFile(const Common::String &filename, Common::Archive &archive);
};
+class XeenSerializer : public Common::Serializer {
+private:
+ Common::SeekableReadStream *_in;
+public:
+ XeenSerializer(Common::SeekableReadStream *in, Common::WriteStream *out) :
+ Common::Serializer(in, out), _in(in) {}
+
+ bool finished() const { return _in != nullptr && _in->pos() >= _in->size(); }
+};
+
/**
* Details of a single entry in a CC file index
*/
@@ -79,8 +90,6 @@ struct CCEntry {
* Base Xeen CC file implementation
*/
class BaseCCArchive : public Common::Archive {
-private:
- uint16 convertNameToId(const Common::String &resourceName) const;
protected:
Common::Array<CCEntry> _index;
@@ -88,6 +97,8 @@ protected:
virtual bool getHeaderEntry(const Common::String &resourceName, CCEntry &ccEntry) const;
public:
+ static uint16 convertNameToId(const Common::String &resourceName);
+public:
BaseCCArchive() {}
// Archive implementation