[Scummvm-git-logs] scummvm master -> 480d7fddbe4a217e1733fee7588be93fa95504d6

whiterandrek whiterandrek at gmail.com
Fri Jun 5 16:33:48 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
480d7fddbe PINK: returned HandlerStartPage HandlerTimerSequences


Commit: 480d7fddbe4a217e1733fee7588be93fa95504d6
    https://github.com/scummvm/scummvm/commit/480d7fddbe4a217e1733fee7588be93fa95504d6
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-06-05T19:31:50+03:00

Commit Message:
PINK: returned HandlerStartPage HandlerTimerSequences

Changed paths:
    engines/pink/archive.cpp
    engines/pink/objects/handlers/handler.cpp
    engines/pink/objects/handlers/handler.h


diff --git a/engines/pink/archive.cpp b/engines/pink/archive.cpp
index cdae516b82..355131d955 100644
--- a/engines/pink/archive.cpp
+++ b/engines/pink/archive.cpp
@@ -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:
diff --git a/engines/pink/objects/handlers/handler.cpp b/engines/pink/objects/handlers/handler.cpp
index 953f420f90..e74e33e1b8 100644
--- a/engines/pink/objects/handlers/handler.cpp
+++ b/engines/pink/objects/handlers/handler.cpp
@@ -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
diff --git a/engines/pink/objects/handlers/handler.h b/engines/pink/objects/handlers/handler.h
index b7997ff05a..4eac5c076d 100644
--- a/engines/pink/objects/handlers/handler.h
+++ b/engines/pink/objects/handlers/handler.h
@@ -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




More information about the Scummvm-git-logs mailing list