aboutsummaryrefslogtreecommitdiff
path: root/sky/disk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sky/disk.cpp')
-rw-r--r--sky/disk.cpp11
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;
}