melee / ranged effects
[gemrb.git] / gemrb / core / PathFinder.h
blob3b1d2248309c1c1a0f8773509db6feb09b789384
1 /* GemRB - Infinity Engine Emulator
2 * Copyright (C) 2003 The GemRB Project
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 #ifndef PATHFINDER_H
21 #define PATHFINDER_H
23 //searchmap conversion bits
25 enum {
26 PATH_MAP_IMPASSABLE = 0,
27 PATH_MAP_PASSABLE = 1,
28 PATH_MAP_TRAVEL = 2,
29 PATH_MAP_NO_SEE = 4,
30 PATH_MAP_SIDEWALL = 8,
31 PATH_MAP_AREAMASK = 15,
32 PATH_MAP_FREE = 0,
33 PATH_MAP_DOOR_OPAQUE = 16,
34 PATH_MAP_DOOR_TRANSPARENT = 32,
35 PATH_MAP_PC = 64,
36 PATH_MAP_NPC = 128,
37 PATH_MAP_ACTOR = (PATH_MAP_PC|PATH_MAP_NPC),
38 PATH_MAP_DOOR = (PATH_MAP_DOOR_OPAQUE|PATH_MAP_DOOR_TRANSPARENT),
39 PATH_MAP_NOTAREA = (PATH_MAP_ACTOR|PATH_MAP_DOOR),
40 PATH_MAP_NOTDOOR = (PATH_MAP_ACTOR|PATH_MAP_AREAMASK),
41 PATH_MAP_NOTACTOR = (PATH_MAP_DOOR|PATH_MAP_AREAMASK)
44 struct PathNode {
45 PathNode* Parent;
46 PathNode* Next;
47 unsigned short x;
48 unsigned short y;
49 unsigned int orient;
52 #endif