aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/archive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction/archive.cpp')
-rw-r--r--engines/parallaction/archive.cpp9
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;