Remove cheesy work-around for broken MAPWIDTH()
MAPWIDTH(3) used to be one too small, which made rout() clobber the map row's terminating zero when the map spans the whole world in x. Since Chainsaw 2, rout() copied rows into an additional buffer to add a terminating zero. Remove that junk.
This commit is contained in:
parent
955ef7d51f
commit
f6e62bd929
1 changed files with 2 additions and 10 deletions
|
@ -59,7 +59,6 @@ rout(void)
|
|||
around */
|
||||
static char *mapbuf = NULL;
|
||||
static char **map = NULL;
|
||||
static char *buf = NULL;
|
||||
int i;
|
||||
|
||||
if ((ip = whatitem(player->argp[1], "What item? ")) == 0)
|
||||
|
@ -79,9 +78,7 @@ rout(void)
|
|||
map = NULL;
|
||||
}
|
||||
}
|
||||
if (!buf)
|
||||
buf = malloc(MAPWIDTH(3) + 12);
|
||||
if (!mapbuf || !map || !buf) {
|
||||
if (!mapbuf || !map) {
|
||||
pr("Memory error, tell the deity.\n");
|
||||
logerror("malloc failed in rout\n");
|
||||
return RET_FAIL;
|
||||
|
@ -92,7 +89,6 @@ rout(void)
|
|||
|
||||
natp = getnatp(player->cnum);
|
||||
xyrelrange(natp, &ns.range, &relrange);
|
||||
memset(mapbuf, 0, ((WORLD_Y * MAPWIDTH(3))));
|
||||
blankfill(mapbuf, &ns.range, 3);
|
||||
border(&relrange, " ", " ");
|
||||
|
||||
|
@ -107,11 +103,7 @@ rout(void)
|
|||
}
|
||||
for (row = 0, y = ns.range.ly; row < ns.range.height; y++, row++) {
|
||||
ry = yrel(natp, y);
|
||||
memset(buf, 0, (MAPWIDTH(3) + 10));
|
||||
sprintf(buf, "%4d ", ry);
|
||||
memcpy(buf + 5, map[row], ns.range.width * 2 + 1);
|
||||
sprintf(buf + 5 + ns.range.width * 2 + 1, " %-4d\n", ry);
|
||||
pr("%s", buf);
|
||||
pr("%4d %s %-4d\n", ry, map[row], ry);
|
||||
if (y >= WORLD_Y)
|
||||
y -= WORLD_Y;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue