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.34 by root, Thu Dec 4 03:52:00 2008 UTC vs.
Revision 1.35 by root, Thu Dec 4 22:32:41 2008 UTC

315 315
316 return 0; 316 return 0;
317} 317}
318 318
319/* radius, distance => lightness adjust */ 319/* radius, distance => lightness adjust */
320static sint8 darkness[MAX_LIGHT_RADIUS * 2 + 1][MAX_LIGHT_RADIUS + 1]; 320static sint8 darkness[MAX_LIGHT_RADIUS * 2 + 1][MAX_LIGHT_RADIUS * 3 / 2 + 1];
321 321
322static struct darkness_init 322static struct darkness_init
323{ 323{
324 darkness_init () 324 darkness_init ()
325 { 325 {
326 for (int radius = -MAX_LIGHT_RADIUS; radius <= MAX_LIGHT_RADIUS; ++radius) 326 for (int radius = -MAX_LIGHT_RADIUS; radius <= MAX_LIGHT_RADIUS; ++radius)
327 for (int distance = 0; distance <= MAX_LIGHT_RADIUS; ++distance) 327 for (int distance = 0; distance <= MAX_LIGHT_RADIUS * 3 / 2; ++distance)
328 { 328 {
329 // max intensity 329 // max intensity
330 int intensity = min (MAX_DARKNESS_LOS, abs (radius) + 1); 330 int intensity = min (MAX_DARKNESS_LOS, abs (radius) + 1);
331 331
332 // actual intensity 332 // actual intensity
333 intensity = max (0, lerp_rd (distance, 0, abs (radius) + 1, intensity, 0)); 333 intensity = max (0, lerp_rd (distance, 0, abs (radius) + 1, intensity, 0));
334 334
335 darkness [radius + MAX_LIGHT_RADIUS][distance] = radius < 0 335 darkness [radius + MAX_LIGHT_RADIUS][distance] = radius < 0
336 ? intensity 336 ? min (3, intensity)
337 : MAX_DARKNESS_LOS - intensity; 337 : MAX_DARKNESS_LOS - intensity;
338 } 338 }
339 } 339 }
340} darkness_init; 340} darkness_init;
341 341

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines