mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-24 03:24:50 +00:00
PINK: returned HandlerStartPage HandlerTimerSequences
This commit is contained in:
parent
66f880812a
commit
480d7fddbe
@ -147,12 +147,12 @@ static Object *createObject(int objectId) {
|
||||
case kHandlerLeftClick:
|
||||
return new HandlerLeftClick;
|
||||
case kHandlerStartPage:
|
||||
return new HandlerSequences(true, false);
|
||||
return new HandlerStartPage;
|
||||
case kHandlerTimer:
|
||||
case kHandlerTimerActions:
|
||||
return new HandlerTimerActions; // hack for Peril, but behavior is correct
|
||||
case kHandlerTimerSequences:
|
||||
return new HandlerSequences(false, true);
|
||||
return new HandlerTimerSequences;
|
||||
case kHandlerUseClick:
|
||||
return new HandlerUseClick;
|
||||
case kInventoryActor:
|
||||
|
@ -81,18 +81,12 @@ void HandlerSequences::handle(Actor *actor) {
|
||||
Sequence *sequence = sequencer->findSequence(_sequences[index]);
|
||||
|
||||
assert(sequence);
|
||||
if (_parallel)
|
||||
sequencer->authorParallelSequence(sequence, false);
|
||||
else
|
||||
sequencer->authorSequence(sequence, false);
|
||||
|
||||
if (_startPage)
|
||||
sequence->allowSkipping();
|
||||
authorSequence(sequencer, sequence);
|
||||
}
|
||||
|
||||
HandlerSequences::HandlerSequences(bool startPage, bool parallel) {
|
||||
_startPage = startPage;
|
||||
_parallel = parallel;
|
||||
void HandlerSequences::authorSequence(Sequencer *sequencer, Sequence *sequence) {
|
||||
sequencer->authorSequence(sequence, false);
|
||||
}
|
||||
|
||||
void HandlerLeftClick::toConsole() const {
|
||||
@ -173,4 +167,13 @@ void HandlerTimerActions::handle(Actor *actor) {
|
||||
}
|
||||
}
|
||||
|
||||
void HandlerStartPage::authorSequence(Sequencer *sequencer, Sequence *sequence) {
|
||||
HandlerSequences::authorSequence(sequencer, sequence);
|
||||
sequence->allowSkipping();
|
||||
}
|
||||
|
||||
void HandlerTimerSequences::authorSequence(Sequencer *sequencer, Sequence *sequence) {
|
||||
sequencer->authorParallelSequence(sequence, false);
|
||||
}
|
||||
|
||||
} // End of namespace Pink
|
||||
|
@ -49,18 +49,22 @@ protected:
|
||||
};
|
||||
|
||||
class Sequence;
|
||||
class Sequencer;
|
||||
|
||||
class HandlerSequences : public Handler {
|
||||
public:
|
||||
HandlerSequences(bool startPage = false, bool parallel = false);
|
||||
|
||||
void deserialize(Archive &archive) override;
|
||||
void handle(Actor *actor) override;
|
||||
|
||||
protected:
|
||||
virtual void authorSequence(Sequencer *sequencer, Sequence *sequence);
|
||||
|
||||
protected:
|
||||
StringArray _sequences;
|
||||
bool _startPage;
|
||||
bool _parallel;
|
||||
};
|
||||
|
||||
class HandlerStartPage : public HandlerSequences {
|
||||
void authorSequence(Sequencer *sequencer, Sequence *sequence) override;
|
||||
};
|
||||
|
||||
class HandlerLeftClick : public HandlerSequences {
|
||||
@ -91,6 +95,10 @@ private:
|
||||
StringArray _actions;
|
||||
};
|
||||
|
||||
class HandlerTimerSequences : public HandlerSequences {
|
||||
void authorSequence(Sequencer *sequencer, Sequence *sequence) override;
|
||||
};
|
||||
|
||||
} // End of namespace Pink
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user