diff options
author | Sven Hesse | 2012-06-28 22:54:05 +0200 |
---|---|---|
committer | Sven Hesse | 2012-07-30 01:44:42 +0200 |
commit | 4fc3a88c5f0b053323aeaeac658dafb8e4606662 (patch) | |
tree | 0889eb2314c738f713ea2075d06a162bfed70797 /engines/gob/gob.cpp | |
parent | 83896dea3edc3bcfb1e414b61644c7ca266e1cce (diff) | |
download | scummvm-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.cpp')
-rw-r--r-- | engines/gob/gob.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp index 02aea63377..fcf98f0355 100644 --- a/engines/gob/gob.cpp +++ b/engines/gob/gob.cpp @@ -184,6 +184,10 @@ void GobEngine::validateVideoMode(int16 videoMode) { error("Video mode 0x%X is not supported", videoMode); } +EndiannessMethod GobEngine::getEndiannessMethod() const { + return _endiannessMethod; +} + Endianness GobEngine::getEndianness() const { if ((getPlatform() == Common::kPlatformAmiga) || (getPlatform() == Common::kPlatformMacintosh) || @@ -403,6 +407,8 @@ Common::Error GobEngine::initGameParts() { // just detect some devices some of which will be always there if the music is not disabled _noMusic = MidiDriver::getMusicType(MidiDriver::detectDevice(MDT_PCSPK | MDT_MIDI | MDT_ADLIB)) == MT_NULL ? true : false; + _endiannessMethod = kEndiannessMethodSystem; + _global = new Global(this); _util = new Util(this); _dataIO = new DataIO(); @@ -433,6 +439,8 @@ Common::Error GobEngine::initGameParts() { _goblin = new Goblin_v1(this); _scenery = new Scenery_v1(this); _saveLoad = new SaveLoad_Geisha(this, _targetName.c_str()); + + _endiannessMethod = kEndiannessMethodAltFile; break; case kGameTypeFascination: |