aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/people.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-03-21 11:24:35 -0400
committerPaul Gilbert2015-03-21 11:24:35 -0400
commitb6076dd52458320f39442bc225ef8b0ce531ea51 (patch)
treedd8ac2cc125e2fe43ea431437b55c8df37160fad /engines/sherlock/people.h
parent06fbefc7875b37dd531b65c42087e4e6782c03a6 (diff)
downloadscummvm-rg350-b6076dd52458320f39442bc225ef8b0ce531ea51.tar.gz
scummvm-rg350-b6076dd52458320f39442bc225ef8b0ce531ea51.tar.bz2
scummvm-rg350-b6076dd52458320f39442bc225ef8b0ce531ea51.zip
SHERLOCK: Implemented setWalking
Diffstat (limited to 'engines/sherlock/people.h')
-rw-r--r--engines/sherlock/people.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/engines/sherlock/people.h b/engines/sherlock/people.h
index 74a4575af6..be9be006e8 100644
--- a/engines/sherlock/people.h
+++ b/engines/sherlock/people.h
@@ -24,6 +24,7 @@
#define SHERLOCK_PEOPLE_H
#include "common/scummsys.h"
+#include "common/stack.h"
#include "sherlock/objects.h"
namespace Sherlock {
@@ -39,10 +40,14 @@ enum PeopleId {
// Animation sequence identifiers for characters
enum {
WALK_RIGHT = 0, WALK_DOWN = 1, WALK_LEFT = 2, WALK_UP = 3, STOP_LEFT = 4,
- STOP_DOWN = 5, STOP_RIGHT = 6, STOP_UP = 7, WALK_UPRIGHT = 8,
+ STOP_DOWN = 5, STOP_RIGHT = 6, STOP_UP = 7, WALK_UPRIGHT = 8,
WALK_DOWNRIGHT = 9, WALK_UPLEFT = 10, WALK_DOWNLEFT = 11,
STOP_UPRIGHT = 12, STOP_UPLEFT = 13, STOP_DOWNRIGHT = 14,
- STOP_DOWNLEFT = 15, TALK_RIGHT = 6, TALK_LEFT = 4
+ STOP_DOWNLEFT = 15, TALK_RIGHT = 6, TALK_LEFT = 4,
+};
+enum {
+ MAP_UP = 1, MAP_UPRIGHT = 2, MAP_RIGHT = 1, MAP_DOWNRIGHT = 4,
+ MAP_DOWN = 5, MAP_DOWNLEFT = 6, MAP_LEFT = 2, MAP_UPLEFT = 8
};
class SherlockEngine;
@@ -51,18 +56,27 @@ class People {
private:
SherlockEngine *_vm;
Sprite _data[MAX_PEOPLE];
+ Sprite &_player;
bool _walkLoaded;
+ int _oldWalkSequence;
+ bool _allowWalkAbort;
public:
+ Common::Point _walkDest;
+ Common::Stack<Common::Point> _walkTo;
bool _holmesOn;
public:
People(SherlockEngine *vm);
~People();
+ Sprite &operator[](PeopleId id) { return _data[id]; }
+
void reset();
bool loadWalk();
- Sprite &operator[](PeopleId id) { return _data[id]; }
+ void setWalking();
+
+ void gotoStand(Sprite &sprite);
};
} // End of namespace Sherlock