ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/los.C
(Generate patch)

Comparing deliantra/server/common/los.C (file contents):
Revision 1.26 by root, Mon May 28 21:21:40 2007 UTC vs.
Revision 1.27 by root, Sun Jun 3 17:42:39 2007 UTC

248 * Clears/initialises the los-array associated to the player 248 * Clears/initialises the los-array associated to the player
249 * controlling the object. 249 * controlling the object.
250 */ 250 */
251 251
252void 252void
253clear_los (object *op) 253clear_los (player *pl)
254{ 254{
255 /* This is safer than using the ns->mapx, mapy because 255 /* This is safer than using the ns->mapx, mapy because
256 * we index the blocked_los as a 2 way array, so clearing 256 * we index the blocked_los as a 2 way array, so clearing
257 * the first z spaces may not not cover the spaces we are 257 * the first z spaces may not not cover the spaces we are
258 * actually going to use 258 * actually going to use
259 */ 259 */
260 (void) memset ((void *) op->contr->blocked_los, 0, MAP_CLIENT_X * MAP_CLIENT_Y); 260 memset (pl->blocked_los, 0, MAP_CLIENT_X * MAP_CLIENT_Y);
261} 261}
262 262
263/* 263/*
264 * expand_sight goes through the array of what the given player is 264 * expand_sight goes through the array of what the given player is
265 * able to see, and expands the visible area a bit, so the player will, 265 * able to see, and expands the visible area a bit, so the player will,
458 458
459/* 459/*
460 * update_los() recalculates the array which specifies what is 460 * update_los() recalculates the array which specifies what is
461 * visible for the given player-object. 461 * visible for the given player-object.
462 */ 462 */
463
464void 463void
465update_los (object *op) 464update_los (object *op)
466{ 465{
467 int dx = op->contr->ns->mapx / 2, dy = op->contr->ns->mapy / 2, x, y; 466 int dx = op->contr->ns->mapx / 2, dy = op->contr->ns->mapy / 2, x, y;
468 467
469 if (QUERY_FLAG (op, FLAG_REMOVED)) 468 if (QUERY_FLAG (op, FLAG_REMOVED))
470 return; 469 return;
471 470
472 clear_los (op); 471 clear_los (op->contr);
472
473 if (QUERY_FLAG (op, FLAG_WIZ) /* ||XRAYS(op) */ ) 473 if (QUERY_FLAG (op, FLAG_WIZ) /* ||XRAYS(op) */ )
474 return; 474 return;
475 475
476 /* For larger maps, this is more efficient than the old way which 476 /* For larger maps, this is more efficient than the old way which
477 * used the chaining of the block array. Since many space views could 477 * used the chaining of the block array. Since many space views could

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines