X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Fmap.h;h=46e627948ec6e78b49a1ddab6000e1a089b99d49;hp=078c5215dc741a9fefe4281fca81d47e9d671969;hb=HEAD;hpb=3e400c018c63baf66bb470124d6ab1a766fb3b1b diff --git a/include/map.h b/include/map.h index 078c5215d..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,43 +14,56 @@ * 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 . * * --- * - * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the - * related information and legal notices. It is expected that any future - * projects/authors will amend these files as needed. + * See files README, COPYING and CREDITS in the root of the source + * tree for related information and legal notices. It is expected + * that future projects/authors will amend these files as needed. * * --- * * map.h: Definitions for making maps - * + * * Known contributors to this file: - * + * */ #ifndef MAP_H #define MAP_H -#include "misc.h" -#include "xy.h" +#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(s_char *, register struct range *, int); -/* src/lib/subs/border.c */ -extern int map_set(natid, coord, coord, s_char, 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 border(struct range *, s_char *, s_char *); - -#define MAP_SHIP bit(0) -#define MAP_LAND bit(1) -#define MAP_PLANE bit(2) -#define MAP_HIGH bit(3) -#define MAP_ALL MAP_SHIP | MAP_LAND | MAP_PLANE +extern void blankfill(char *, struct range *, int); +extern void border(struct range *, char *, char *); +/* 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