/
area/city/
area/crypts/
area/guilds/
area/psuedowild/
area/religion/
data/documents/MPDocs/
data/html/
data/mobprogs/
data/quest/
data/world/
data/world/_utilities/
data/world/images/
design/html/
notes/
player/
/* The world file location */
#define WORLD_FILE      "../data/world/the_world.gz"
#define IMAGE_FILE      "../data/world/images/untitled2.raw"
#define WEXIT_FILE      "../data/world/exits.txt"

/* Arbitrary defines for X/Y size of the world */
#define MAX_WIDTH       160
#define MAX_HEIGHT      160
#define MAX_WILD_SECTOR 32

int map[MAX_WIDTH][MAX_HEIGHT];

/* Global defines, for backward compadibility with socketmud */
#define D_MOBILE    CHAR_DATA
#define D_M         CHAR_DATA

/*
 * wilderness table
 */
struct wilderness_type
{
    char  * name;
    char  * char_sm;
    int     sector;
    int     red;        /* RBG: raw image numbers for load/save */
    int     green;
    int     blue;
    bool    passable;
    int     can_see_through;
};

extern struct wilderness_type wilderness_table[];

typedef struct wexit_data
{
    struct wexit_data       * next;
    char                    * name;             /* Name of exit, internal       */
    char                    * descr;            /* Player seen description      */
    int                       x;                /* Location X on map            */
    int                       y;                /* Location Y on map            */
    int                       to_room;          /* Vnum of room to enter        */
} WEXIT;

/* Declares */
void load_world_data        ();
void cmd_load_world         (D_MOBILE * ch, char *arg);
void cmd_save_world         (D_MOBILE * ch, char *arg);
void load_zworld            ();
void save_zworld            ();
void cmd_look               (D_MOBILE * ch, char *arg);
char *return_symbol         (int location);
int can_see_to              (D_M * ch, int target_x, int target_y);
void cmd_north              (D_MOBILE * ch, char *arg);
void cmd_south              (D_MOBILE * ch, char *arg);
void cmd_west               (D_MOBILE * ch, char *arg);
void cmd_east               (D_MOBILE * ch, char *arg);
bool check_move_ok          (D_M * ch, int direction);
void cmd_load_image         (D_MOBILE * ch, char *arg);
int return_sector_number    (int r, int g, int b);
void show_wild_chars        (CHAR_DATA * list, CHAR_DATA * ch);
void show_wild_objects      (CHAR_DATA * ch);
/*
 * world_move.c
 */
void load_wexit             ();
void save_wexit             ();
void do_wexits              (CHAR_DATA * ch, char *argument);
void check_wexit            (CHAR_DATA * ch);
bool check_wexit_move       (CHAR_DATA * ch);
void wdescr_set             (CHAR_DATA * ch, char *argument);
int return_direction        (CHAR_DATA * ch, CHAR_DATA * victim);
void cmd_hunt               (CHAR_DATA * ch, char *argument);
CHAR_DATA * can_see_wild    (CHAR_DATA * ch, CHAR_DATA * victim);
void cmd_enter              (CHAR_DATA * ch, char * argument);
WEXIT * get_wexit           (CHAR_DATA * ch, char *argument);