diff options
Diffstat (limited to 'engines/parallaction')
-rw-r--r-- | engines/parallaction/archive.cpp | 10 | ||||
-rw-r--r-- | engines/parallaction/disk.h | 9 | ||||
-rw-r--r-- | engines/parallaction/location.cpp | 2 |
3 files changed, 12 insertions, 9 deletions
diff --git a/engines/parallaction/archive.cpp b/engines/parallaction/archive.cpp index eb26756695..e22bdeae08 100644 --- a/engines/parallaction/archive.cpp +++ b/engines/parallaction/archive.cpp @@ -27,6 +27,16 @@ namespace Parallaction { +struct ArchivedFile { + uint16 _index; + uint32 _offset; + uint32 _cursor; + uint16 field_A; // unused + uint16 field_C; // unused + uint32 _endOffset; +}; + + #define MAX_ARCHIVE_ENTRIES 384 #define DIRECTORY_OFFSET_IN_FILE 0x4000 diff --git a/engines/parallaction/disk.h b/engines/parallaction/disk.h index bff58ad73e..894a95e353 100644 --- a/engines/parallaction/disk.h +++ b/engines/parallaction/disk.h @@ -31,14 +31,7 @@ namespace Parallaction { // ARCHIVE MANAGEMENT //------------------------------------------------------ -struct ArchivedFile { - uint16 _index; - uint32 _offset; - uint32 _cursor; - uint16 field_A; // unused - uint16 field_C; // unused - uint32 _endOffset; -}; +struct ArchivedFile; void openArchive(const char *file); void closeArchive(); diff --git a/engines/parallaction/location.cpp b/engines/parallaction/location.cpp index 917d049fcc..79bb8e5b3d 100644 --- a/engines/parallaction/location.cpp +++ b/engines/parallaction/location.cpp @@ -73,7 +73,7 @@ void Parallaction::parseLocation(const char *filename) { if (!file) errorFileNotFound(filename); } - uint32 count = file->_endOffset - file->_offset; + uint32 count = getArchivedFileLength(archivefile); location_src = (char*)memAlloc(0x4000); _locationScript = new Script(location_src); |