aboutsummaryrefslogtreecommitdiff
path: root/engines/access/char.cpp
diff options
context:
space:
mode:
authorStrangerke2015-01-19 20:53:53 +0100
committerStrangerke2015-01-19 20:53:53 +0100
commitc810ee9a5af2bdd8e27e5b558bb6838d3521541c (patch)
treec2d082f938e7a1a026d9846665d30545136d0d80 /engines/access/char.cpp
parent6ba81a974936d25846cd4e273393c39f206ad2f7 (diff)
downloadscummvm-rg350-c810ee9a5af2bdd8e27e5b558bb6838d3521541c.tar.gz
scummvm-rg350-c810ee9a5af2bdd8e27e5b558bb6838d3521541c.tar.bz2
scummvm-rg350-c810ee9a5af2bdd8e27e5b558bb6838d3521541c.zip
ACCESS: MM - Make CharEntry version-dependent
Diffstat (limited to 'engines/access/char.cpp')
-rw-r--r--engines/access/char.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/engines/access/char.cpp b/engines/access/char.cpp
index 01b3349c84..c4fb0f2f6c 100644
--- a/engines/access/char.cpp
+++ b/engines/access/char.cpp
@@ -27,11 +27,15 @@
namespace Access {
-CharEntry::CharEntry(const byte *data) {
+CharEntry::CharEntry(const byte *data, int gameType) {
Common::MemoryReadStream s(data, 999);
_charFlag = s.readByte();
- _estabIndex = s.readSint16LE();
+ if (gameType == GType_MartianMemorandum)
+ _estabIndex = -1;
+ else
+ _estabIndex = s.readSint16LE();
+
_screenFile.load(s);
_paletteFile.load(s);
_startColor = s.readUint16LE();
@@ -73,16 +77,16 @@ CharManager::CharManager(AccessEngine *vm) : Manager(vm) {
// Setup character list
if (_vm->isDemo()) {
for (int i = 0; i < 27; ++i)
- _charTable.push_back(CharEntry(Amazon::CHARTBL_DEMO[i]));
+ _charTable.push_back(CharEntry(Amazon::CHARTBL_DEMO[i], vm->getGameID()));
} else {
for (int i = 0; i < 37; ++i)
- _charTable.push_back(CharEntry(Amazon::CHARTBL[i]));
+ _charTable.push_back(CharEntry(Amazon::CHARTBL[i], vm->getGameID()));
}
break;
case GType_MartianMemorandum:
for (int i = 0; i < 27; ++i)
- _charTable.push_back(CharEntry(Martian::CHARTBL_MM[i]));
+ _charTable.push_back(CharEntry(Martian::CHARTBL_MM[i], vm->getGameID()));
break;
default: