]> granicus.if.org Git - nethack/commitdiff
directions (trunk only)
authornethack.rankin <nethack.rankin>
Thu, 22 Feb 2007 05:24:05 +0000 (05:24 +0000)
committernethack.rankin <nethack.rankin>
Thu, 22 Feb 2007 05:24:05 +0000 (05:24 +0000)
     Some groundwork useful for the interface code I've been working on.
If we already have some direction to name-of-direction code somewhere, I
couldn't find it.

include/extern.h
include/hack.h
src/cmd.c

index 9e758b5f55e5b033174e5d32be55669cb2981840..f83c83e2b74319401f7cbea6d6a9e4bac7601b32 100644 (file)
@@ -194,6 +194,7 @@ E void FDECL(dtoxy, (coord *,int));
 E int FDECL(movecmd, (CHAR_P));
 E int FDECL(getdir, (const char *));
 E void NDECL(confdir);
+E const char *FDECL(directionname, (int));
 E int FDECL(isok, (int,int));
 E int FDECL(get_adjacent_loc, (const char *, const char *, XCHAR_P, XCHAR_P, coord *));
 E const char *FDECL(click_to_cmd, (int,int,int));
index 9c0221d388f6799d51dd1a8385176e429c55e894..cb895aed84100e95df178dc77a1270b6c4568cc3 100644 (file)
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)hack.h     3.5     2007/01/02      */
+/*     SCCS Id: @(#)hack.h     3.5     2007/02/21      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -316,6 +316,7 @@ NEARDATA extern coord bhitpos;      /* place where throw or zap hits or stops */
 #define POTION_OCCUPANT_CHANCE(n) (13 + 2*(n))
 #define WAND_BACKFIRE_CHANCE 100
 #define BALL_IN_MON    (u.uswallow && uball && uball->where == OBJ_FREE)
+#define NODIAG(monnum) ((monnum) == PM_GRID_BUG)
 
 /* Flags to control menus */
 #define MENUTYPELEN sizeof("traditional ")
index cbe4551e254b542027e4c7d94ca2c1b1cf62e73b..e944301ef565ebf5a2c2af7a3584ac4feb5f1da7 100644 (file)
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)cmd.c      3.5     2007/02/05      */
+/*     SCCS Id: @(#)cmd.c      3.5     2007/02/21      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -21,8 +21,6 @@ struct cmd Cmd = { 0 };               /* flag.h */
 #define CMD_TRAVEL     (char)0x90
 #define CMD_CLICKLOOK  (char)0x8F
 
-#define NODIAG(monnum) ((monnum) == PM_GRID_BUG)
-
 #ifdef DEBUG
 /*
  * only one "wiz_debug_cmd" routine should be available (in whatever
@@ -2634,6 +2632,20 @@ confdir()
        return;
 }
 
+const char *
+directionname(dir)
+int dir;
+{
+       static NEARDATA const char * const dirnames[] = {
+               "west", "northwest", "north", "northeast",
+               "east", "southeast", "south", "southwest",
+               "down", "up",
+       };
+
+       if (dir < 0 || dir >= SIZE(dirnames)) return "invalid";
+       return dirnames[dir];
+}
+
 int
 isok(x,y)
 register int x, y;