aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/pink/archive.cpp3
-rw-r--r--engines/pink/objects/actors/actor.cpp5
2 files changed, 5 insertions, 3 deletions
diff --git a/engines/pink/archive.cpp b/engines/pink/archive.cpp
index 919d5fc797..e3fab5342d 100644
--- a/engines/pink/archive.cpp
+++ b/engines/pink/archive.cpp
@@ -210,9 +210,8 @@ static Object* createObject(int objectId){
case kHandlerStartPage:
return new HandlerStartPage;
case kHandlerTimer:
- return new HandlerTimer;
case kHandlerTimerActions:
- return new HandlerTimerActions;
+ return new HandlerTimerActions; // hack for Peril, but behavior is correct
case kHandlerTimerSequences:
return new HandlerTimerSequences;
case kHandlerUseClick:
diff --git a/engines/pink/objects/actors/actor.cpp b/engines/pink/objects/actors/actor.cpp
index ba270ff7a5..dc4e59f231 100644
--- a/engines/pink/objects/actors/actor.cpp
+++ b/engines/pink/objects/actors/actor.cpp
@@ -45,10 +45,13 @@ Sequencer *Actor::getSequencer() const {
}
Action *Actor::findAction(const Common::String &name) {
- return *Common::find_if(_actions.begin(), _actions.end(), [&name]
+ Action ** action = Common::find_if(_actions.begin(), _actions.end(), [&name]
(Action* action) {
return name == action->getName();
});;
+ if (!action)
+ return nullptr;
+ return *action;
}
GamePage *Actor::getPage() const {