Project

General

Profile

« Previous | Next » 

Revision 0400eea4

Added by danij over 11 years ago

Refactor|Polyobj: Revised Polyobj's internal representation

Polyobj now represents the list of lines with a QList.

Polyobj now maintains a set of "unique vertexes". A vertex which
is referenced by multiple lines is only included once in this set.

Accordingly, the previous and original vertex coordinates are now
derived from the unique set of vertexes.

Made use of the unique vertex set to refactor away some remnant
nonsense logic inherited from Hexen, seemingly intended to prevent
translating referenced vertexes multiple times per move.

Made use of the previous vertex coordinates to undo a failed move
in Polyobj::move()

Relocated logic for finishing polyobjs upon map load to GameMap.

The map bounds are now defined as the sum of all axis-aligned
bounding boxes of all lines (was sectors).

Note that the map API version (DE_API_MAP) was bumped to 1101 as
these changes (and those which will soon follow) mandate changes
to the API itself. The version 1.0 API is no longer published.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences