--- deliantra/server/socket/info.C 2006/12/21 23:37:06 1.23 +++ deliantra/server/socket/info.C 2007/01/03 00:21:36 1.29 @@ -187,29 +187,19 @@ { if (flags & NDI_ALL) { - player *tmppl; + for_all_players (pl) + new_draw_info (flags & ~NDI_ALL, pri, pl->ob, buf); - for (tmppl = first_player; tmppl != NULL; tmppl = tmppl->next) - new_draw_info ((flags & ~NDI_ALL), pri, tmppl->ob, buf); - - return; - } - - if (!pl || (pl->type == PLAYER && pl->contr == NULL)) - { - /* Write to the socket? */ - print_message (0, NULL, buf); return; } - if (pl->type != PLAYER) + if (!pl || pl->type != PLAYER || !pl->contr || !pl->contr->ns) return; if (pri >= pl->contr->listening) return; if ((flags & NDI_COLOR_MASK) == NDI_BLACK && !(flags & NDI_UNIQUE)) - /* following prints stuff out, as appropriate */ check_output_buffers (pl, buf); else print_message (flags & NDI_COLOR_MASK, pl, buf); @@ -229,11 +219,8 @@ char buf[HUGE_BUF]; va_list ap; - va_start (ap, format); - vsnprintf (buf, HUGE_BUF, format, ap); - va_end (ap); new_draw_info (flags, pri, pl, buf); @@ -311,7 +298,7 @@ { player *pl; - for (pl = first_player; pl != NULL; pl = pl->next) + for_all_players (pl) if (pl->ob != NULL && pl->ob->map == map && pl->ob != op) { new_draw_info (color, 0, pl->ob, str); @@ -327,7 +314,7 @@ { player *pl; - for (pl = first_player; pl != NULL; pl = pl->next) + for_all_players (pl) if (pl->ob != NULL && pl->ob->map == map && pl->ob != op1 && pl->ob != op2) { new_draw_info (color, 0, pl->ob, str); @@ -343,7 +330,7 @@ { player *pl; - for (pl = first_player; pl != NULL; pl = pl->next) + for_all_players (pl) if (pl->ob != NULL && pl->ob->map == map) { new_draw_info (color, 0, pl->ob, str); @@ -520,7 +507,7 @@ * * This function examines the map the player is on, and determines what * is visible. 2 is set for walls or objects that blocks view. 1 - * is for open spaces. map_mark should already have been initialized + * is for open spaces. map_mark should already have been initialised * to zero before this is called. * strength is an initial strength*2 rectangular area that we automatically * see in/penetrate through. @@ -600,7 +587,7 @@ for (int x = 0; x < MAGIC_MAP_SIZE; x++) for (int y = 0; y < MAGIC_MAP_SIZE; y++) - if (map_mark[x + MAP_WIDTH (pl->map) * y] | FACE_FLOOR) + if (map_mark[x + pl->map->width * y] | FACE_FLOOR) { xmin = x < xmin ? x : xmin; xmax = x > xmax ? x : xmax;