/**************************************************************************** * [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame | \\._.// * * -----------------------------------------------------------| (0...0) * * SMAUG 1.4 (C) 1994, 1995, 1996, 1998 by Derek Snider | ).:.( * * -----------------------------------------------------------| {o o} * * SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus, | / ' ' \ * * Scryn, Rennard, Swordbearer, Gorog, Grishnakh, Nivek, |~'~.VxvxV.~'~* * Tricops and Fireblade | * * ------------------------------------------------------------------------ * * Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * Win32 port by Nick Gammon * * ------------------------------------------------------------------------ * * Overland Map Display and Support Headers * ****************************************************************************/ #define OVERLAND_SOLAN 16000 #define OVERLAND_LOW_MOB 16000 #define OVERLAND_HI_MOB 16499 #define TREE_O_VNUM 16070 #define GRASS_O_VNUM 16071 #define CORN_O_VNUM 16119 #define GRAIN_O_VNUM 16120 #define MAX_X 1500 #define MAX_Y 1000 #define ENTRY_X 258 #define ENTRY_Y 250 #define LAST_PORTAL 100 #define MAX_MOB_HOLDER 200 typedef enum { MAP_SOLAN, MAP_MAX } map_types; #define NO_SNOW(sector) (no_snow(sector)) //Globals /* 3 arrays */ extern unsigned char map_sector[MAP_MAX][MAX_X + 1][MAX_Y + 1]; extern unsigned char kingdom_sector[MAP_MAX][MAX_X + 1][MAX_Y + 1]; extern short resource_sector[MAP_MAX][MAX_X + 1][MAX_Y + 1]; extern char weather_sector[MAP_MAX][MAX_X + 1][MAX_Y + 1]; extern const int front_cr[8][30]; extern char *const owindd[16]; extern char *const map_names[MAP_MAX]; extern int winddir; extern int windstr; #define MAP_DIR "../maps/" #define ENTRANCE_FILE "entrances.dat" #define SNOW_FILE SYSTEM_DIR "snow.dat" typedef struct coord_data COORD_DATA; typedef struct entrance_data ENTRANCE_DATA; typedef struct portal_data PORTAL_DATA; extern ENTRANCE_DATA *first_entrance; extern ENTRANCE_DATA *last_entrance; struct coord_data { sh_int x; sh_int y; }; struct portal_data { sh_int x; sh_int y; sh_int map; char *desc; }; struct entrance_data { ENTRANCE_DATA *next; ENTRANCE_DATA *prev; COORD_DATA *here; /* Coordinates the entrance is at */ COORD_DATA *there; /* Coordinates the entrance goes to, if any */ sh_int tomap; /* Map it goes to, if any */ sh_int onmap; /* Which map it's on */ int vnum; /* Target vnum if it goes to a regular zone */ }; struct sect_color_type { sh_int sector; /* Terrain sector */ char *color; /* Color to display as */ char *symbol; /* Symbol you see for the sector */ char *print; /* Printing symbol */ char *invert; /* Background color?? */ sh_int encounter; /* Encounter chance */ sh_int move; /* Movement costs */ char *desc; /* Description of sector type */ bool canpass; /* Impassable terrain */ char *tilefile; //Filename of the Tile used }; DECLARE_DO_FUN(do_mapedit); /* Map OLC function */ DECLARE_DO_FUN(do_mapat); /* Ranged map OLC editor */ DECLARE_DO_FUN(do_coords); /* To jump to different coordinates on the map */ void save_snow args((void)); void load_snow args((void)); ENTRANCE_DATA *check_entrance args((CHAR_DATA * ch, int map, int x, int y)); bool no_snow args((int sector)); void enter_map args((CHAR_DATA * ch, int x, int y, int continent)); void leave_map args((CHAR_DATA * ch, ROOM_INDEX_DATA * target, int dir, int qexit)); void generate_wind_dir args((CHAR_DATA * ch, int x, int y, int map)); void create_front args((int type)); void check_torn_damage args((int x, int y, int map)); void show_temp args((CHAR_DATA * ch, int x, int y, int map)); int generate_temperature args((CHAR_DATA * ch, int x, int y, int map)); void update_local_weather args((FRONT_DATA * fnt, int type)); void generate_forecast args((CHAR_DATA * ch, int x, int y, int map)); void display_map args((CHAR_DATA * ch, sh_int vx, sh_int vy, sh_int eoc)); int get_curr_dir args((int x, int fx, int y, int fy));