aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/gob.h
diff options
context:
space:
mode:
authorSven Hesse2012-06-28 22:54:05 +0200
committerSven Hesse2012-07-30 01:44:42 +0200
commit4fc3a88c5f0b053323aeaeac658dafb8e4606662 (patch)
tree0889eb2314c738f713ea2075d06a162bfed70797 /engines/gob/gob.h
parent83896dea3edc3bcfb1e414b61644c7ca266e1cce (diff)
downloadscummvm-rg350-4fc3a88c5f0b053323aeaeac658dafb8e4606662.tar.gz
scummvm-rg350-4fc3a88c5f0b053323aeaeac658dafb8e4606662.tar.bz2
scummvm-rg350-4fc3a88c5f0b053323aeaeac658dafb8e4606662.zip
GOB: Add support for different methods of handling Endianness
The Once Upon A Time games handle endianness different in ANI, DEC and RXY files than Geisha does. We need to support both approaches.
Diffstat (limited to 'engines/gob/gob.h')
-rw-r--r--engines/gob/gob.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/gob/gob.h b/engines/gob/gob.h
index 9b919098d6..df73404596 100644
--- a/engines/gob/gob.h
+++ b/engines/gob/gob.h
@@ -149,6 +149,13 @@ enum Features {
kFeaturesTrueColor = 1 << 7
};
+enum EndiannessMethod {
+ kEndiannessMethodLE, ///< Always little endian.
+ kEndiannessMethodBE, ///< Always big endian.
+ kEndiannessMethodSystem, ///< Follows system endianness.
+ kEndiannessMethodAltFile ///< Different endianness in alternate file.
+};
+
enum {
kDebugFuncOp = 1 << 0,
kDebugDrawOp = 1 << 1,
@@ -172,6 +179,8 @@ private:
int32 _features;
Common::Platform _platform;
+ EndiannessMethod _endiannessMethod;
+
uint32 _pauseStart;
// Engine APIs
@@ -232,6 +241,7 @@ public:
void pauseGame();
+ EndiannessMethod getEndiannessMethod() const;
Endianness getEndianness() const;
Common::Platform getPlatform() const;
GameType getGameType() const;