Project

General

Profile

« Previous | Next » 

Revision 72359b49

Added by danij about 17 years ago

Lots of changes towards the $nplanes goal (part 1 of 3):

  • The separate routines for drawing sections of wall segs have now been folded into one parametrized routine used for all seg wall sections (except two-sided seg middles currently). The new routine is designed so that a z range is specified from the seg and all drawing responds accordingly (this is so that we can split into as many sections as we want where planes intersect the seg).
  • Made use of higher-level logic on seg clipping to reduce the dynlight projection workload.
  • Revised the way lights are projected onto rendpolys prior to being passed to RL_AddPoly(). We no longer maintain arrays of projected dynlight list ptrs for a predefined number of surfaces, instead a list is acquired for a given surface during the projected light processing and an index for this list is attached to the rendpoly_t.
  • Revised the way plane glows affect segs. A lumobj_t is now created for these and linked to the subsector being affected.

Todo: Currently the lists of projected lights are maintained until the start of the next frame. With the above changes to the way these are used this is no longer necessary. When a given rendpoly is free'd via R_FreeRendPoly() after being added to the render list(s) we could immediately recycle the dynnodes and dynlights of that list (they are no longer needed).

Other changes:

  • Game saving is now done in busy mode.
  • Variable naming conventions of some engine global variables and mobj_t members.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences