aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/pink/objects/actors/lead_actor.cpp36
-rw-r--r--engines/pink/objects/actors/lead_actor.h14
-rw-r--r--engines/pink/objects/sequences/sequencer.cpp2
-rw-r--r--engines/pink/objects/sequences/sequencer.h2
-rw-r--r--engines/pink/pink.cpp1
5 files changed, 40 insertions, 15 deletions
diff --git a/engines/pink/objects/actors/lead_actor.cpp b/engines/pink/objects/actors/lead_actor.cpp
index 7f750e13ad..b406dc75a8 100644
--- a/engines/pink/objects/actors/lead_actor.cpp
+++ b/engines/pink/objects/actors/lead_actor.cpp
@@ -81,11 +81,37 @@ void LeadActor::update() {
}
void LeadActor::OnKeyboardButtonClick(Common::KeyCode code) {
- switch (code) {
- case Common::KEYCODE_SPACE:
- case Common::KEYCODE_RIGHT:
- _sequencer->skipSequence();
-
+ switch(_state) {
+ case kMoving:
+ switch (code){
+ case Common::KEYCODE_ESCAPE:
+ // set unk variables
+ // Fall Through intended
+ case Common::KEYCODE_SPACE:
+ //skip walking animation
+ default:
+ break;
+ }
+ case kInDialog1:
+ case kInDialog2:
+ case kPlayingVideo:
+ switch (code) {
+ case Common::KEYCODE_SPACE:
+ case Common::KEYCODE_RIGHT:
+ _sequencer->skipSubSequence();
+ break;
+ case Common::KEYCODE_ESCAPE:
+ //End sequence
+ break;
+ case Common::KEYCODE_LEFT:
+ //return to start of sequence
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
}
}
diff --git a/engines/pink/objects/actors/lead_actor.h b/engines/pink/objects/actors/lead_actor.h
index b60e35c95d..4e17bf285a 100644
--- a/engines/pink/objects/actors/lead_actor.h
+++ b/engines/pink/objects/actors/lead_actor.h
@@ -36,13 +36,13 @@ class LeadActor : public Actor {
public:
enum State {
kReady = 0,
- kMoving,
- kInDialog1, //???
- kInventory,
- kPDA,
- kInDialog2,//???
- kPlayingVideo, // ???
- kUnk_Loading // ????
+ kMoving = 1,
+ kInDialog1 = 2, //???
+ kInventory = 3,
+ kPDA = 4,
+ kInDialog2 = 5,//???
+ kPlayingVideo = 6, // ???
+ kUnk_Loading = 7// ????
};
diff --git a/engines/pink/objects/sequences/sequencer.cpp b/engines/pink/objects/sequences/sequencer.cpp
index 272065b284..6175140d46 100644
--- a/engines/pink/objects/sequences/sequencer.cpp
+++ b/engines/pink/objects/sequences/sequencer.cpp
@@ -81,7 +81,7 @@ void Sequencer::removeContext(SequenceContext *context) {
_context = 0;
}
-void Sequencer::skipSequence() {
+void Sequencer::skipSubSequence() {
if (_context && _context->getNextItemIndex() < _context->getSequence()->getItems().size())
_context->getSequence()->start(0);
}
diff --git a/engines/pink/objects/sequences/sequencer.h b/engines/pink/objects/sequences/sequencer.h
index 3ddf38762c..182862f651 100644
--- a/engines/pink/objects/sequences/sequencer.h
+++ b/engines/pink/objects/sequences/sequencer.h
@@ -49,7 +49,7 @@ public:
void update();
- void skipSequence();
+ void skipSubSequence();
public:
SequenceContext *_context;
diff --git a/engines/pink/pink.cpp b/engines/pink/pink.cpp
index 40bfaedbf6..45130155f6 100644
--- a/engines/pink/pink.cpp
+++ b/engines/pink/pink.cpp
@@ -104,7 +104,6 @@ Common::Error Pink::PinkEngine::run() {
case Common::EVENT_LBUTTONDOWN:
break;
-
case Common::EVENT_KEYDOWN:
_actor->OnKeyboardButtonClick(event.kbd.keycode);
break;