(map, draw_map, MAP_HIGH): New map command flag `h' to highlight own
sectors; from Marc Olzheim.
This commit is contained in:
parent
727be2e126
commit
f841200923
4 changed files with 28 additions and 1 deletions
|
@ -52,6 +52,7 @@ extern void border(struct range *, s_char *, s_char *);
|
||||||
#define MAP_SHIP bit(0)
|
#define MAP_SHIP bit(0)
|
||||||
#define MAP_LAND bit(1)
|
#define MAP_LAND bit(1)
|
||||||
#define MAP_PLANE bit(2)
|
#define MAP_PLANE bit(2)
|
||||||
|
#define MAP_HIGH bit(3)
|
||||||
#define MAP_ALL MAP_SHIP | MAP_LAND | MAP_PLANE
|
#define MAP_ALL MAP_SHIP | MAP_LAND | MAP_PLANE
|
||||||
|
|
||||||
struct mapstr {
|
struct mapstr {
|
||||||
|
|
|
@ -60,6 +60,8 @@ the same for a ship.
|
||||||
.s1
|
.s1
|
||||||
If you give an 's' flag, all your ships will be shown on the map.
|
If you give an 's' flag, all your ships will be shown on the map.
|
||||||
An 'l' flag does the same for land units, and a 'p' for planes.
|
An 'l' flag does the same for land units, and a 'p' for planes.
|
||||||
'*' gives all of the above.
|
'*' shows all in this order: land units, ships, planes.
|
||||||
|
|
||||||
|
To highlight sectors owned by yourself, use the 'h' flag.
|
||||||
.s1
|
.s1
|
||||||
.SA "census, commodity, radar, realm, route, update, Maps"
|
.SA "census, commodity, radar, realm, route, update, Maps"
|
||||||
|
|
|
@ -118,6 +118,10 @@ map(void)
|
||||||
case 'P':
|
case 'P':
|
||||||
map_flags |= MAP_PLANE;
|
map_flags |= MAP_PLANE;
|
||||||
break;
|
break;
|
||||||
|
case 'h':
|
||||||
|
case 'H':
|
||||||
|
map_flags |= MAP_HIGH;
|
||||||
|
break;
|
||||||
case '*':
|
case '*':
|
||||||
map_flags |= MAP_ALL;
|
map_flags |= MAP_ALL;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -259,6 +259,26 @@ draw_map(int bmap, s_char origin, int map_flags, struct nstr_sect *nsp,
|
||||||
wmap[y][x] = (*lchr[(int)land.lnd_type].l_name) & ~0x20;
|
wmap[y][x] = (*lchr[(int)land.lnd_type].l_name) & ~0x20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (map_flags & MAP_HIGH) {
|
||||||
|
register s_char *ptr;
|
||||||
|
struct sctstr sect;
|
||||||
|
|
||||||
|
snxtsct_rewind(nsp);
|
||||||
|
if ((!player->god || country)) {
|
||||||
|
memset(bitmap, 0, (WORLD_X * WORLD_Y) / 8);
|
||||||
|
bitinit2(nsp, bitmap, country);
|
||||||
|
}
|
||||||
|
while (nxtsct(nsp, §) && !player->aborted) {
|
||||||
|
if ((!player->god || country) &&
|
||||||
|
!emp_getbit(nsp->x, nsp->y, bitmap)) {
|
||||||
|
if (!player->god)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ptr = &wmap[nsp->dy][nsp->dx];
|
||||||
|
if (sect.sct_own == player->cnum)
|
||||||
|
*ptr |= 0x80;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (origin)
|
if (origin)
|
||||||
wmap[5][10] = origin & ~0x20;
|
wmap[5][10] = origin & ~0x20;
|
||||||
for (y = nsp->range.ly, i = 0; i < nsp->range.height; y++, i++) {
|
for (y = nsp->range.ly, i = 0; i < nsp->range.height; y++, i++) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue