* ---
*
* maps.c: Map routines
- *
+ *
* Known contributors to this file:
* Ken Stevens, 1995
* Steve McClure, 1998
+ * Markus Armbruster, 2004-2008
* Ron Koenderink, 2006
*/
}
}
if (!bitmap)
- bitmap = malloc((WORLD_X * WORLD_Y) / 8);
+ bitmap = malloc(WORLD_SZ() / 8);
if (!wmapbuf || !wmap || !bitmap) {
pr("Memory error, tell the deity.\n");
logerror("malloc failed in draw_map\n");
struct sctstr sect;
if (!player->god) {
- memset(bitmap, 0, (WORLD_X * WORLD_Y) / 8);
+ memset(bitmap, 0, WORLD_SZ() / 8);
bitinit2(nsp, bitmap, player->cnum);
}
while (nxtsct(nsp, §) && !player->aborted) {
int changed = 0;
if (!player->god) {
- memset(bitmap, 0, (WORLD_X * WORLD_Y) / 8);
+ memset(bitmap, 0, WORLD_SZ() / 8);
bitinit2(nsp, bitmap, player->cnum);
}
while (nxtsct(nsp, §) && !player->aborted) {
i = 0;
while (ef_mappable[i] != EF_BAD) {
if (map_flags & ef_unit_map[i]) {
- snxtitem_all(&ni, ef_mappable[i]);
+ snxtitem_area(&ni, ef_mappable[i], &nsp->range);
while (nxtitem(&ni, &unit)) {
if (unit.gen.own == 0)
continue;
if (unit.gen.own != player->cnum && !player->god)
continue;
- if (!xyinrange(unit.gen.x, unit.gen.y, &nsp->range))
- continue;
- x = xnorm(unit.gen.x - nsp->range.lx);
- y = ynorm(unit.gen.y - nsp->range.ly);
+ x = deltx(&nsp->range, unit.gen.x);
+ y = delty(&nsp->range, unit.gen.y);
if (ef_mappable[i] == EF_NUKE)
wmap[y][x] = 'N';
struct sctstr sect;
snxtsct_rewind(nsp);
- if (!player->god) {
- memset(bitmap, 0, (WORLD_X * WORLD_Y) / 8);
- bitinit2(nsp, bitmap, player->cnum);
- }
while (nxtsct(nsp, §) && !player->aborted) {
- if (!player->god && !emp_getbit(nsp->x, nsp->y, bitmap))
- continue;
if (sect.sct_own == player->cnum)
wmap[nsp->dy][nsp->dx] |= 0x80;
}
}
range.lx = xnorm(unit.gen.x - 10);
- range.hx = xnorm(unit.gen.x + 11);
+ range.hx = xnorm(unit.gen.x + 10);
range.ly = ynorm(unit.gen.y - 5);
- range.hy = ynorm(unit.gen.y + 6);
+ range.hy = ynorm(unit.gen.y + 5);
xysize_range(&range);
snxtsct_area(nsp, &range);
return RET_OK;
np = getnatp(player->cnum);
sprintf(coordinates, "%d:%d,%d:%d",
- xrel(np, curx - 10), xrel(np, curx + 11),
- yrel(np, cury - 5), yrel(np, cury + 6));
+ xrel(np, curx - 10), xrel(np, curx + 10),
+ yrel(np, cury - 5), yrel(np, cury + 5));
arg = coordinates;
map_flag_arg = NULL;
} else {