diff options
author | Paul Gilbert | 2010-07-16 13:15:18 +0000 |
---|---|---|
committer | Paul Gilbert | 2010-07-16 13:15:18 +0000 |
commit | 379a55f089f70ee961bacf3072eead629cb1d2e3 (patch) | |
tree | 6ff50fd7003dce5c4a402ef188bae08d695953aa /engines/m4/mads_scene.h | |
parent | b062488987ed43d10d404f91c52e502fe3c44a37 (diff) | |
download | scummvm-rg350-379a55f089f70ee961bacf3072eead629cb1d2e3.tar.gz scummvm-rg350-379a55f089f70ee961bacf3072eead629cb1d2e3.tar.bz2 scummvm-rg350-379a55f089f70ee961bacf3072eead629cb1d2e3.zip |
Implemented path-finding logic for accurate player movement
svn-id: r50936
Diffstat (limited to 'engines/m4/mads_scene.h')
-rw-r--r-- | engines/m4/mads_scene.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/m4/mads_scene.h b/engines/m4/mads_scene.h index 66fefcb0c0..7defe613bd 100644 --- a/engines/m4/mads_scene.h +++ b/engines/m4/mads_scene.h @@ -36,22 +36,34 @@ namespace M4 { class MadsInterfaceView; #define DEPTH_BANDS_SIZE 15 +#define MAX_ROUTE_NODES 22 class SceneNode { public: Common::Point pt; + int indexes[MAX_ROUTE_NODES]; + + bool active; + + SceneNode() { + active = false; + } void load(Common::SeekableReadStream *stream); }; +typedef Common::Array<SceneNode> SceneNodeList; + class MadsSceneResources: public SceneResources { +private: + int getRouteFlags(const Common::Point &src, const Common::Point &dest, M4Surface *depthSurface); public: int _sceneId; int _artFileNum; int _depthStyle; int _width; int _height; - Common::Array<SceneNode> _nodes; + SceneNodeList _nodes; Common::Array<Common::String> _setNames; int _yBandsStart, _yBandsEnd; int _maxScale, _minScale; |