aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/handlers/handler.cpp
diff options
context:
space:
mode:
authorwhiterandrek2018-04-02 08:57:56 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit49d5ea28c023a43f7d1444b55ac8c06df9966128 (patch)
tree37db0a106b33970b934243f8c48adcb12c12255e /engines/pink/objects/handlers/handler.cpp
parente48ac17f68ccd1b4432d9d6e15e811a88ea8daf4 (diff)
downloadscummvm-rg350-49d5ea28c023a43f7d1444b55ac8c06df9966128.tar.gz
scummvm-rg350-49d5ea28c023a43f7d1444b55ac8c06df9966128.tar.bz2
scummvm-rg350-49d5ea28c023a43f7d1444b55ac8c06df9966128.zip
PINK: added basic cursor implementation, fixed sequenceAudio restarting and skipping, fixed various mem leaks, hopefully fixed finding of transparent color index.
Diffstat (limited to 'engines/pink/objects/handlers/handler.cpp')
-rw-r--r--engines/pink/objects/handlers/handler.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/pink/objects/handlers/handler.cpp b/engines/pink/objects/handlers/handler.cpp
index a848cfd98e..8916bc0b3b 100644
--- a/engines/pink/objects/handlers/handler.cpp
+++ b/engines/pink/objects/handlers/handler.cpp
@@ -37,7 +37,7 @@ void Handler::deserialize(Archive &archive) {
archive >> _sideEffects;
}
-bool Handler::isSuitable(LeadActor *actor) {
+bool Handler::isSuitable(Actor *actor) {
for (int i = 0; i < _conditions.size(); ++i) {
if (!_conditions[i]->evaluate(actor)){
return false;
@@ -56,6 +56,15 @@ void Handler::onMessage(LeadActor *actor) {
executeSideEffects(actor);
}
+Handler::~Handler() {
+ for (int i = 0; i < _sideEffects.size(); ++i) {
+ delete _sideEffects[i];
+ }
+ for (int i = 0; i < _conditions.size(); ++i) {
+ delete _conditions[i];
+ }
+}
+
void HandlerSequences::deserialize(Archive &archive) {
Handler::deserialize(archive);
archive >> _sequences;