MudOSa4DGD/
MudOSa4DGD/bin/
MudOSa4DGD/data/
MudOSa4DGD/doc/
MudOSa4DGD/doc/driver/
MudOSa4DGD/doc/efun/bitstrings/
MudOSa4DGD/doc/efun/command/
MudOSa4DGD/doc/efun/communication/
MudOSa4DGD/doc/efun/heart_beat/
MudOSa4DGD/doc/efun/interactive/
MudOSa4DGD/doc/efun/inventory/
MudOSa4DGD/doc/efun/living/
MudOSa4DGD/doc/efun/mappings/
MudOSa4DGD/doc/efun/strings/
MudOSa4DGD/doc/efun/uid/
MudOSa4DGD/doc/funs/
MudOSa4DGD/doc/language/
MudOSa4DGD/mudlib/dgd/doc/
MudOSa4DGD/mudlib/dgd/lib/include/dgd/
MudOSa4DGD/mudlib/dgd/lib/std/
MudOSa4DGD/mudlib/dgd/lib/sys/
MudOSa4DGD/mudlib/dgd/log/
MudOSa4DGD/mudlib/log/
MudOSa4DGD/mudlib/std/include/
MudOSa4DGD/mudlib/std/obj/
/*
 * dirs.c
 *
 * SFUN: Direction functions
 * Supported directions: north, northeast, east, southeast, south,
 * 			 southwest, west, northwest, up, down
 *
 * (C) Frank Schmidt, Jesus@NorseMUD
 *
 */


/* get direction opposite of <dir> */
static string get_opposite_dir(string dir) {
  switch (dir) {
  case "north":     return "south";
  case "south":     return "north";
  case "west":      return "east";
  case "east":      return "west";
  case "down":      return "up";
  case "up":        return "down";
  case "northeast": return "southwest";
  case "northwest": return "southeast";
  case "southeast": return "northwest";
  case "southwest": return "northeast";
  }
  /* couldn't find direction */
  return 0;
}


/* get direction command abbreviation (for exits) */
static string get_dir_abbrev(string dir) {
  switch (dir) {
  case "n":  return "north";
  case "s":  return "south";
  case "w":  return "west";
  case "e":  return "east";
  case "d":  return "down";
  case "u":  return "up";
  case "ne": return "northeast";
  case "nw": return "northwest";
  case "se": return "southeast";
  case "sw": return "southwest";
  case "north":  return "n";
  case "south":  return "s";
  case "west":  return "w";
  case "east":  return "e";
  case "down":  return "d";
  case "up":  return "u";
  case "northeast": return "ne";
  case "northwest": return "nw";
  case "southeast": return "se";
  case "southwest": return "sw";
  }

  /* couldn't find abbreviation, return 0 */
  return 0;
}