aboutsummaryrefslogtreecommitdiff
path: root/engines/director/sprite.cpp
diff options
context:
space:
mode:
authorstevenhoefel2017-03-12 00:18:03 +1100
committerstevenhoefel2017-03-12 00:18:03 +1100
commitfba1368267c470f66099bb833359b9d7fec6273e (patch)
treec1c87f7244562aefb86f7a93102d8320bdafaa83 /engines/director/sprite.cpp
parent145d60b663d94796e031872b5782fa4a8609f86a (diff)
downloadscummvm-rg350-fba1368267c470f66099bb833359b9d7fec6273e.tar.gz
scummvm-rg350-fba1368267c470f66099bb833359b9d7fec6273e.tar.bz2
scummvm-rg350-fba1368267c470f66099bb833359b9d7fec6273e.zip
DIRECTOR: pre-load cast members.
Diffstat (limited to 'engines/director/sprite.cpp')
-rw-r--r--engines/director/sprite.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp
index 019966762e..9d219d6076 100644
--- a/engines/director/sprite.cpp
+++ b/engines/director/sprite.cpp
@@ -53,7 +53,11 @@ Sprite::Sprite() {
_stretch = 0;
_type = kInactiveSprite;
- _cast = nullptr;
+ _bitmapCast = nullptr;
+ _textCast = nullptr;
+ _buttonCast = nullptr;
+ _shapeCast = nullptr;
+
_blend = 0;
_lineSize = 1;
@@ -90,7 +94,11 @@ Sprite::Sprite(const Sprite &sprite) {
_stretch = sprite._stretch;
_type = sprite._type;
- _cast = sprite._cast;
+ _bitmapCast = sprite._bitmapCast;
+ _shapeCast = sprite._shapeCast;
+ _textCast = sprite._textCast;
+ _buttonCast = sprite._buttonCast;
+
_constraint = sprite._constraint;
_moveable = sprite._moveable;
_blend = sprite._blend;
@@ -107,7 +115,14 @@ Sprite::Sprite(const Sprite &sprite) {
}
Sprite::~Sprite() {
- delete _cast;
+ if (_bitmapCast)
+ delete _bitmapCast;
+ if (_shapeCast)
+ delete _shapeCast;
+ if (_textCast)
+ delete _textCast;
+ if (_buttonCast)
+ delete _buttonCast;
}
} // End of namespace Director