diff options
author | Norbert Lange | 2009-08-24 17:51:47 +0000 |
---|---|---|
committer | Norbert Lange | 2009-08-24 17:51:47 +0000 |
commit | 917d4b78b36d6c5a5c25a03e7ee6a1c1b6a85fd5 (patch) | |
tree | e652563203a00f8acecfaafbf93c64dbfbd13f25 /engines/gob/save/savehandler.cpp | |
parent | 5f87d5090cfcb34cda3c1f5d430e0865344d7366 (diff) | |
parent | dd7868acc2512c9761d892e67a4837f4dc38bdc0 (diff) | |
download | scummvm-rg350-917d4b78b36d6c5a5c25a03e7ee6a1c1b6a85fd5.tar.gz scummvm-rg350-917d4b78b36d6c5a5c25a03e7ee6a1c1b6a85fd5.tar.bz2 scummvm-rg350-917d4b78b36d6c5a5c25a03e7ee6a1c1b6a85fd5.zip |
Merge with trunk
svn-id: r43701
Diffstat (limited to 'engines/gob/save/savehandler.cpp')
-rw-r--r-- | engines/gob/save/savehandler.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/gob/save/savehandler.cpp b/engines/gob/save/savehandler.cpp index 4e2c09bdca..5f24115a6c 100644 --- a/engines/gob/save/savehandler.cpp +++ b/engines/gob/save/savehandler.cpp @@ -229,6 +229,9 @@ int32 TempSpriteHandler::getSize() { } bool TempSpriteHandler::load(int16 dataVar, int32 size, int32 offset) { + if (isDummy(size)) + return true; + // Sprite available? if (!_sprite) return false; @@ -274,6 +277,9 @@ bool TempSpriteHandler::load(int16 dataVar, int32 size, int32 offset) { bool TempSpriteHandler::save(int16 dataVar, int32 size, int32 offset) { SurfaceDescPtr sprite; + if (isDummy(size)) + return true; + if (!createSprite(dataVar, size, offset, &sprite)) return false; @@ -320,6 +326,12 @@ bool TempSpriteHandler::createSprite(int16 dataVar, int32 size, return true; } +// A size of 0 means no proper sprite should be saved/loaded, +// but no error should be thrown either. +bool TempSpriteHandler::isDummy(int32 size) { + return (size == 0); +} + // A negative size is the flag for using a sprite bool TempSpriteHandler::isSprite(int32 size) { return (size < 0); |