diff options
Diffstat (limited to 'engines/parallaction/archive.cpp')
-rw-r--r-- | engines/parallaction/archive.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/parallaction/archive.cpp b/engines/parallaction/archive.cpp index 0486c6d684..e71b216eac 100644 --- a/engines/parallaction/archive.cpp +++ b/engines/parallaction/archive.cpp @@ -68,8 +68,13 @@ void Archive::open(const char *file) { error("archive '%s' not found", path); bool isSmallArchive = false; - if (_vm->getFeatures() & GF_DEMO) - isSmallArchive = _archive.size() == SIZEOF_SMALL_ARCHIVE; + if (_vm->getPlatform() == Common::kPlatformAmiga) { + if (_vm->getFeatures() & GF_DEMO) { + isSmallArchive = _archive.size() == SIZEOF_SMALL_ARCHIVE; + } else if (_vm->getFeatures() & GF_LANG_MULT) { + isSmallArchive = (_archive.readUint32BE() != MKID_BE('NDOS')); + } + } _numFiles = (isSmallArchive) ? SMALL_ARCHIVE_FILES_NUM : NORMAL_ARCHIVE_FILES_NUM; |