diff options
Diffstat (limited to 'engines/draci/walking.h')
-rw-r--r-- | engines/draci/walking.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/engines/draci/walking.h b/engines/draci/walking.h new file mode 100644 index 0000000000..aff4fe7f95 --- /dev/null +++ b/engines/draci/walking.h @@ -0,0 +1,71 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/engines/draci/game.h $ + * $Id: game.h 45501 2009-10-29 15:26:48Z spalek $ + * + */ + +#ifndef DRACI_WALKING_H +#define DRACI_WALKING_H + +#include "common/rect.h" + +namespace Draci { + +class WalkingMap { +public: + WalkingMap() : _realWidth(0), _realHeight(0), _mapWidth(0), _mapHeight(0), _byteWidth(0), _data(NULL) { } + + void load(const byte *data, uint length); + bool isWalkable(int x, int y) const; + Common::Point findNearestWalkable(int x, int y, Common::Rect searchRect) const; + +private: + int _realWidth, _realHeight; + int _deltaX, _deltaY; + int _mapWidth, _mapHeight; + int _byteWidth; + const byte *_data; +}; + +/* + * Enumerates the directions the dragon can look into when arrived. + */ +enum SightDirection { + kDirectionLast, kDirectionMouse, kDirectionUnknown, + kDirectionRight, kDirectionLeft, kDirectionIntelligent +}; + +/** + * Enumerates the animations for the dragon's movement. + */ +enum Movement { + kMoveUndefined = -1, + kMoveDown, kMoveUp, kMoveRight, kMoveLeft, + kMoveRightDown, kMoveRightUp, kMoveLeftDown, kMoveLeftUp, + kMoveDownRight, kMoveUpRight, kMoveDownLeft, kMoveUpLeft, + kMoveLeftRight, kMoveRightLeft, kMoveUpStopLeft, kMoveUpStopRight, + kSpeakRight, kSpeakLeft, kStopRight, kStopLeft +}; + +} // End of namespace Draci + +#endif // DRACI_WALKING_H |