X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Fmap.h;h=46e627948ec6e78b49a1ddab6000e1a089b99d49;hp=f8d703b3496211ddc284a522700e05b69564cc17;hb=HEAD;hpb=e42053d928a9757f2fc2b9fa58e08be29f963e28 diff --git a/include/map.h b/include/map.h index f8d703b34..46e627948 100644 --- a/include/map.h +++ b/include/map.h @@ -1,11 +1,11 @@ /* * Empire - A multi-player, client/server Internet based war game. - * Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak, - * Ken Stevens, Steve McClure + * Copyright (C) 1986-2021, Dave Pare, Jeff Bailey, Thomas Ruschak, + * Ken Stevens, Steve McClure, Markus Armbruster * - * This program is free software; you can redistribute it and/or modify + * Empire is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -14,8 +14,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * along with this program. If not, see . * * --- * @@ -26,9 +25,9 @@ * --- * * map.h: Definitions for making maps - * + * * Known contributors to this file: - * + * */ #ifndef MAP_H @@ -36,21 +35,35 @@ #include "types.h" -#define MAPWIDTH(persec) ((WORLD_X/2) * ((persec) + 1) + 1) +/* + * Width of the body of a map using @persec characters per sector. + * + * One row shows WORLD_X/2 sectors, separated by one space. Requires + * WORLD_X/2 * (@persec+1) - 1 characters. + * + * Every other row is indented so that the center of the first sector + * is aligned with the space separating the first two sectors in the + * adjacent rows. For odd @persec, that's (@persec+1)/2 additional + * characters. For even @persec, it's either @persec/2 or @persec/2 + 1, + * depending on whether we align the character left or right of the + * center with the space (the map will look rather odd either way). + * + * We need one more character for the terminating zero. + */ +#define MAPWIDTH(persec) (WORLD_X/2 * ((persec) + 1) + ((persec) + 2) / 2) -extern void blankfill(char *, struct range *, int); /* src/lib/subs/bigmap.c */ extern int map_set(natid, coord, coord, char, int); extern void writebmap(natid); extern void writemap(natid); /* src/lib/subs/border.c */ +extern void blankfill(char *, struct range *, int); extern void border(struct range *, char *, char *); - -#define MAP_PLANE bit(0) /* this order must match */ -#define MAP_SHIP bit(1) /* priority of the map and */ -#define MAP_LAND bit(2) /* ef_unit_list */ -#define MAP_NUKE bit(3) -#define MAP_HIGH bit(4) -#define MAP_ALL MAP_SHIP | MAP_LAND | MAP_PLANE | MAP_NUKE +/* src/lib/subs/maps.c */ +extern int do_map(int bmap, int unit_type, char *arg1, char *arg2); +extern int display_region_map(int, int, coord, coord, char *, char *); +extern int nav_map(int, int, int); +extern int bmaps_intersect(natid, natid); +extern int share_bmap(natid, natid, struct nstr_sect *, char, char *); #endif