Project

General

Profile

« Previous | Next » 

Revision 94f67844

Added by danij over 12 years ago

Optimize: T_SCROLL thinkers for material origin scrolling

Texture origin scrolling in the original games is implemented by
iterating all lines (and sectors in Heretic/Hexen) of the map on
each game tic, irrespective of the number of scrolling surfaces.

As Doomsday game plugins inteface with the map by proxy, via the
map update API (DMU), this iteration and the interactions needed
actually implement the scrolling added up to considerable amount
DMU API calls. (Hexen was the worst offender in that it would
repeatedly zero the plane material offsets for every plane on the
map, on each tic).

The introduction of T_SCROLL thinkers alleviates much of this
overhead, however there is still need to interface with DMU to
actually perform the scrolling.

Todo for later: This thinker should be relocated into the engine
and remodelled along the lines of a "map update agent" (see this
proposal article at the wiki: http://dengine.net/dew/index.php?title=Map_update_agents).

Todo for later: As the only variants are scroll angle/speed it
should also be possible to dynamically combine T_SCROLL thinkers,
such that a single thinker operates on a set of surfaces rather
than just one.

See bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2191907&group_id=74815&atid=542099#

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences