diff options
author | Filippos Karapetis | 2008-04-21 20:20:34 +0000 |
---|---|---|
committer | Filippos Karapetis | 2008-04-21 20:20:34 +0000 |
commit | 54485c24c530288280174f6d286c8c0b367a8206 (patch) | |
tree | 3f2a547f0b380f6db26480e222ab5dc1cda75cc3 /engines/made/resource.cpp | |
parent | 169bf5ddba25a7ab63b405a48bccc449550a693e (diff) | |
download | scummvm-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.cpp | 21 |
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(); |