aboutsummaryrefslogtreecommitdiff
path: root/engines/adl/adl.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/adl/adl.h')
-rw-r--r--engines/adl/adl.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/adl/adl.h b/engines/adl/adl.h
index e007b15545..ce421143ba 100644
--- a/engines/adl/adl.h
+++ b/engines/adl/adl.h
@@ -90,9 +90,19 @@ typedef Common::Functor1<ScriptEnv &, bool> Opcode;
#define IDI_WORD_SIZE 8
+enum Direction {
+ IDI_DIR_NORTH,
+ IDI_DIR_SOUTH,
+ IDI_DIR_EAST,
+ IDI_DIR_WEST,
+ IDI_DIR_UP,
+ IDI_DIR_DOWN,
+ IDI_DIR_TOTAL
+};
+
struct Room {
byte description;
- byte connections[6];
+ byte connections[IDI_DIR_TOTAL];
byte track;
byte sector;
byte offset;
@@ -207,6 +217,7 @@ protected:
bool o1_placeItem(ScriptEnv &env);
bool o1_setItemPic(ScriptEnv &env);
bool o1_resetPic(ScriptEnv &env);
+ template <Direction D>
bool o1_goDirection(ScriptEnv &env);
bool o1_takeItem(ScriptEnv &env);
bool o1_dropItem(ScriptEnv &env);