aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/disk_ns.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/parallaction/disk_ns.cpp')
-rw-r--r--engines/parallaction/disk_ns.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp
index c24eaf7007..43f20be054 100644
--- a/engines/parallaction/disk_ns.cpp
+++ b/engines/parallaction/disk_ns.cpp
@@ -460,10 +460,13 @@ void DosDisk_ns::loadBackground(BackgroundInfo& info, const char *filename) {
info._mask = new MaskBuffer;
info._mask->create(info.width, info.height);
info._mask->bigEndian = true;
- info.path.create(info.width, info.height);
+
+ info._path = new PathBuffer;
+ info._path->create(info.width, info.height);
+ info._path->bigEndian = true;
Graphics::PackBitsReadStream pbstream(*stream);
- unpackBackground(&pbstream, (byte*)info.bg.pixels, info._mask->data, info.path.data);
+ unpackBackground(&pbstream, (byte*)info.bg.pixels, info._mask->data, info._path->data);
delete stream;
}
@@ -479,8 +482,10 @@ void DosDisk_ns::loadMaskAndPath(BackgroundInfo& info, const char *name) {
sprintf(path, "%s.msk", name);
Common::SeekableReadStream *stream = openFile(path);
parseDepths(info, *stream);
- info.path.create(info.width, info.height);
- stream->read(info.path.data, info.path.size);
+ info._path = new PathBuffer;
+ info._path->create(info.width, info.height);
+ info._path->bigEndian = true;
+ stream->read(info._path->data, info._path->size);
info._mask = new MaskBuffer;
info._mask->create(info.width, info.height);
info._mask->bigEndian = true;
@@ -1075,8 +1080,10 @@ void AmigaDisk_ns::loadPath(BackgroundInfo& info, const char *name) {
Graphics::PackBitsReadStream stream(*s);
- info.path.create(info.width, info.height);
- stream.read(info.path.data, info.path.size);
+ info._path = new PathBuffer;
+ info._path->create(info.width, info.height);
+ info._path->bigEndian = false;
+ stream.read(info._path->data, info._path->size);
delete s;