Project

General

Profile

« Previous | Next » 

Revision 9b00b94e

Added by danij over 17 years ago

Completely re-factored the subsector polygonization code to remove run-time memory requirements and to improve map loading speed.

Fixed issue resulting in drawing zero-area triangles introduced during the change to using the same list of fvertex_t for all subsector planes.

Replaced vertex_t->float pos2 with vertex_t->fvertex_t v to allow vertex and poly object coords to be treated universally. This change also allowed me to get rid of the additional memory (attached to subsector_t) used for storing vertices copied to rendpolys. We instead, allocate an array of pointers and link to the actual vertex->fvertex_t (this is also now a NULL terminated array).

A side benefit of this change is that because both segs and planes use the same fvertex_ts; there is zero chance of "sparklies" appearing between polyons due to rounding differences on vertex coords.

Subsector flag SUBF_MIDPOINT is no longer used publically; moved to an internal block in mapdata.hs (thus p_maptypes.h).

Changed the method of marking potentially visible seg sections to instead mark surface_ts, this greatly reduces the amount of special case code without changing the purpose; there is now a new surface frameflag SUFINF_PVIS which when set indicates that the given surface is potentially visible on this frame (has passed basic occlusion and back-facing tests).

Added a new line flag LINEF_SELFREF; use this when determining if a linedef is self-referencing (added to make it easier to check given only a seg).

Fixed issue in fakeradio where shadow edges were being created for segs of self-referencing linedefs.

When in wireframe mode, change the way fakeradio edge polys are rendered so they can be easily debugged.

Changed R_IsPointInSector2() and C_CheckSubsector() to use seg vertexes rather than the array of fvertex_ts stored for each subsector (better to use the real values now they are easily accessible).

Changed sec->reverbSSecs to a NULL terminated array.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences