aboutsummaryrefslogtreecommitdiff
path: root/engines/made/resource.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2008-04-21 20:20:34 +0000
committerFilippos Karapetis2008-04-21 20:20:34 +0000
commit54485c24c530288280174f6d286c8c0b367a8206 (patch)
tree3f2a547f0b380f6db26480e222ab5dc1cda75cc3 /engines/made/resource.cpp
parent169bf5ddba25a7ab63b405a48bccc449550a693e (diff)
downloadscummvm-rg350-54485c24c530288280174f6d286c8c0b367a8206.tar.gz
scummvm-rg350-54485c24c530288280174f6d286c8c0b367a8206.tar.bz2
scummvm-rg350-54485c24c530288280174f6d286c8c0b367a8206.zip
Some palette related fixes
svn-id: r31650
Diffstat (limited to 'engines/made/resource.cpp')
-rw-r--r--engines/made/resource.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/engines/made/resource.cpp b/engines/made/resource.cpp
index b7c185280c..cf49e0201b 100644
--- a/engines/made/resource.cpp
+++ b/engines/made/resource.cpp
@@ -38,21 +38,26 @@ Resource::~Resource() {
/* PictureResource */
-PictureResource::PictureResource() : _picture(NULL), _palette(NULL) {
+PictureResource::PictureResource() : _picture(NULL), _picturePalette(NULL) {
+ _hasPalette = false;
}
PictureResource::~PictureResource() {
- if (_picture)
+ if (_picture) {
delete _picture;
- if (_palette)
- delete[] _palette;
+ _picture = 0;
+ }
+ if (_picturePalette) {
+ delete[] _picturePalette;
+ _picturePalette = 0;
+ }
}
void PictureResource::load(byte *source, int size) {
Common::MemoryReadStream *sourceS = new Common::MemoryReadStream(source, size);
- bool hasPalette = sourceS->readByte() == 1;
+ _hasPalette = (sourceS->readByte() != 0);
sourceS->readByte();
sourceS->readByte();
sourceS->readByte();
@@ -66,9 +71,9 @@ void PictureResource::load(byte *source, int size) {
debug(2, "width = %d; height = %d\n", width, height);
- if (hasPalette) {
- _palette = new byte[768];
- sourceS->read(_palette, 768);
+ if (_hasPalette) {
+ _picturePalette = new byte[768];
+ sourceS->read(_picturePalette, 768);
}
_picture = new Graphics::Surface();