diff options
Diffstat (limited to 'engines/pegasus/ai')
-rw-r--r-- | engines/pegasus/ai/ai_condition.cpp | 10 | ||||
-rw-r--r-- | engines/pegasus/ai/ai_condition.h | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/engines/pegasus/ai/ai_condition.cpp b/engines/pegasus/ai/ai_condition.cpp index df6d3227e5..09ecbfe349 100644 --- a/engines/pegasus/ai/ai_condition.cpp +++ b/engines/pegasus/ai/ai_condition.cpp @@ -102,7 +102,7 @@ bool AIOrCondition::fireCondition() { AITimerCondition::AITimerCondition(const TimeValue time, const TimeScale scale, const bool shouldStartTimer) { _timerFuse.primeFuse(time, scale); - _timerFuse.setFunctionPtr((tFunctionPtr)&AITimerFunction, (void *)this); + _timerFuse.setFunctor(new Common::Functor0Mem<void, AITimerCondition>(this, &AITimerCondition::fire)); _fired = false; if (shouldStartTimer) @@ -138,14 +138,14 @@ void AITimerCondition::readAICondition(Common::ReadStream *stream) { _timerFuse.lightFuse(); } -void AITimerCondition::AITimerFunction(FunctionPtr *, AITimerCondition *condition) { - condition->_fired = true; -} - bool AITimerCondition::fireCondition() { return _fired; } +void AITimerCondition::fire() { + _fired = true; +} + AILocationCondition::AILocationCondition(uint32 maxLocations) { _numLocations = 0; _maxLocations = maxLocations; diff --git a/engines/pegasus/ai/ai_condition.h b/engines/pegasus/ai/ai_condition.h index 2d93a52eab..f7fa1f33c8 100644 --- a/engines/pegasus/ai/ai_condition.h +++ b/engines/pegasus/ai/ai_condition.h @@ -136,7 +136,7 @@ public: virtual void readAICondition(Common::ReadStream *); protected: - static void AITimerFunction(FunctionPtr *, AITimerCondition *); + void fire(); FuseFunction _timerFuse; bool _fired; |