March 2013
|
2013-03-29
|
| :
| NativePath remembers the current work path
|
2013-03-22
|
| :
| O(1) index lookup of map elements in a list
|
December 2012
|
2012-12-07
|
| :
| Removed the redundant central texture index
|
2012-12-06
|
| :
| Use de::Path with FS1::PathListItem
|
2012-12-05
|
| :
| Use Unicode in file name pattern matching
|
November 2012
|
2012-11-18
|
| :
| Restructured model loading
|
September 2012
|
2012-09-20
|
| :
| Reduced map load times by a further ~10%
|
2012-09-12
|
| :
| Use native math function in bamsAtan2()
|
July 2012
|
2012-07-27
|
| :
| Use a dictionary of resolved materials during map conversion
|
2012-07-26
|
| :
| T_SCROLL thinkers for material origin scrolling
|
March 2012
|
2012-03-08
|
| :
| Reduced stack usage in pathConstructor()
|
November 2011
|
2011-11-03
|
| :
| Use parallel hash tables in PathDirectory
|
October 2011
|
2011-10-30
|
| :
| Update MaterialSnapshots only when necessary
|
September 2011
|
2011-09-29
|
| :
| Do not bother buffering unknown chunks in models
|
August 2011
|
2011-08-14
|
| :
| Sort PathDirectoryNodes into separate hash lists by node type, speeding up searches significantly (e.g., when searching CVars ~65% of the directory is now immediately rejected).
|
April 2011
|
2011-04-15
|
| :
| Implemented a path fragment hashing scheme to FileDirectory in place of the simple linear search and significantly improving the average-case search time. This is now of the same time-complexity as the search algorithm used with material namespaces (
|
2011-04-08
|
| :
| createGlowLightForSurface can early out if the Surface's Material is not presently glowing at this time.
|
February 2011
|
2011-02-19
|
| :
| Reworked F_CreateUriList* so as to remove the requirement for a terminating semicolon (applies to the F_FindResource* family too). Optimized using a fixedsize local buffer on the stack and we now parse in one pass.
|
August 2010
|
2010-08-09
|
| :
| If both left and right lightlevels are the same when drawing a wall, use the vector version of lightVertex so as to potentially benefit from SSE.
|
July 2010
|
2010-07-24
|
| :
| Do not project LT_PLANE-type Lumobjs for glowing Surfaces in zero-height Sectors.
|
June 2009
|
2009-06-17
|
| :
| Optimize memory management in the deferred mobj spawn system. Allocate spawn queue nodes in batches of 32. Maintain a list of unused nodes to be recycled later.
|
2009-06-12
|
| :
| Pruned redundant code in R_RegisterSkin; we now use the resource locator for searching a model's local directory and will also handle trying each supported graphic file format in said location.
|
May 2009
|
2009-05-01
|
| :
| Improved load time with large maps (memory allocation of vertexillums).
|
March 2009
|
2009-03-26
|
| :
| Separate thinkers into lists by their function in P_ThinkerAdd. Iterate over only those thinkers whose function matches, or all if not specified in P_IterateThinkers.
|
February 2009
|
2009-02-13
|
| :
| Make use of the materialbind_t namespace hash tables in P_DeleteMaterialTextures and printMaterials.
|
2009-02-13
|
| :
| Use seperate hash tables for each materialbind_t namespace.
|
2009-02-03
|
| :
| We can early out of LOIT_ClipLumObjBySight as soon as we determine the lumobj is clipped.
|
November 2008
|
2008-11-03
|
| :
| Optimized sprite precaching in R_PrecacheLevel. Now only caches the materials of sprites used by states of mobjs actually present on the map. This is more conservative than the previous implementation which would attempt to precache every last sprite
|
June 2008
|
2008-06-28
|
| :
| Reworked XG_Ticker so that thinking for extended lines and sectors is handled in thinkers rather than iterating every linedef and sector in the map, every frame.
|
April 2008
|
2008-04-09
|
| :
| Replaced the method used to determine the alpha delta for "soft" surfaces; project the viewer onto the line being tested and then calculate the approximate distance to the resultant point.
|
2008-04-04
|
| :
| Various improvements to the P_BuildSubsectorBlockMap() algorithm for a nice 73% speed increase. Also, no need to calculate the map vertex AABB here as we have a cached result in gamemap_t.
|
2008-04-03
|
| :
| Don't build a linedef AABB every time it is needed; cache in linedef_t instead.
|
2008-04-03
|
| :
| When loading a map, build the BLOCKMAP first rather than the BSP. The BLOCKMAP can be built in a fraction of the time it takes to build the BSP, so, by building it first we can use it's spatial information to accelerate the BSP generation. Currently,
|
2008-04-03
|
| :
| Reduce redundant material id lookups during map loading. Changed the MPE_SidedefCreate and MPE_PlaneCreate create to accept material ids rather than name strings and updated wadmapconverter to do the lookup once at material registration time. R_Check
|
2008-04-01
|
| :
| Store a ptr to material in animframe_t rather than a material type plus index so that there is no need to look it up. Moved R_PrecacheMaterial() into r_materials.c Various other minor tweaks and cleanup.
|
March 2008
|
2008-03-29
|
| :
| Plotted decoration origins do not change on the XY plane during plotting in decorateLineSection() so they are invariant to the inner vertical pattern loop.
|
2008-03-29
|
| :
| Further optimized the calculation of decormodel yaw and pitch; yaw and pitch are invariant within the inner decoration plotting loops.
|
2008-03-29
|
| :
| There is no need to call R_PointInSubsector() from createSurfaceDecoration(). Instead, determine the decorations' subsector in decorateLineSection() and cache the result in surfacedecor_t. Also, ensure the surface material offset tracking buffers are
|
2008-03-29
|
| :
| Optimized P_FinalizedLevel() a bit.
|
2008-03-27
|
| :
| When a plane moves, mark all wall surfaces in the same sector as the moving plane as requiring a decoration update. Also, further optimized the decoration plotting; we only need to know the dimensions of the surface material during a decoration updat
|
2008-03-09
|
| :
| Optimized Rend_RadioSubsectorEdges() a bit.
|
January 2008
|
2008-01-28
|
| :
| Optimized the clockwise winding algorithm used in the creation of BSPs. By utilizing the newly created BSP structure itself for traversal it meant the global node and subsector arrays could be removed entirely.
|
August 2007
|
2007-08-06
|
| :
| Further optimized renderWalls() to reduce the number of DMU calls. This includes using P_SubsectorBoxIterator() to reduce the number of subsectors in the set that must be drawn to those (possibly) within the map's view frame (instead of attempting to
|
July 2007
|
2007-07-02
|
| :
| Minor tweaks to the routines used for querying the existence of OpenGL extensions. Don't use bit shifts when multiplying/dividing by a power of two in texture.c, leave the decision to optimize up to the compiler.
|
May 2007
|
2007-05-06
|
| :
| Revised seg vertex order used during render, now uses a [bl, tl, br, tr] order and I've changed the render primitive to DGL_TRIANGLE_STRIP. Changes were made in preparation for planned changes to optimize wall seg rendering.
|
October 2005
|
2005-10-15
|
| :
| Optimized event processing, Mac tweaks
|
June 2003
|
2003-06-05
|
| :
| Optimized model loading using file hash, profiling
|
2003-06-03
|
| :
| Optimized zipentry searching uses a binary search
|