aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/mads_scene.h
diff options
context:
space:
mode:
authorPaul Gilbert2010-07-16 13:15:18 +0000
committerPaul Gilbert2010-07-16 13:15:18 +0000
commit379a55f089f70ee961bacf3072eead629cb1d2e3 (patch)
tree6ff50fd7003dce5c4a402ef188bae08d695953aa /engines/m4/mads_scene.h
parentb062488987ed43d10d404f91c52e502fe3c44a37 (diff)
downloadscummvm-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.h14
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;