diff --git a/include/extern.h b/include/extern.h index 9e758b5f5..f83c83e2b 100644 --- a/include/extern.h +++ b/include/extern.h @@ -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)); diff --git a/include/hack.h b/include/hack.h index 9c0221d38..cb895aed8 100644 --- a/include/hack.h +++ b/include/hack.h @@ -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 ") diff --git a/src/cmd.c b/src/cmd.c index cbe4551e2..e944301ef 100644 --- 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;