diff options
Diffstat (limited to 'sky/disk.cpp')
-rw-r--r-- | sky/disk.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sky/disk.cpp b/sky/disk.cpp index 4f87166a91..8e91106602 100644 --- a/sky/disk.cpp +++ b/sky/disk.cpp @@ -210,8 +210,17 @@ uint8 *SkyDisk::loadFile(uint16 fileNr, uint8 *dest) { if (_fixedDest == NULL) free(_fileDest); - } else + } else { +#ifdef SCUMM_BIG_ENDIAN + if (!cflag) { + warning("patching header for uncompressed file %d", fileNr); + uint16 *headPtr = (uint16 *)_fileDest; + for (uint i = 0; i < sizeof(struct dataFileHeader) / 2; i++) + *(headPtr + i) = READ_LE_UINT16(headPtr + i); + } +#endif return _fileDest; + } return _compDest; } |