Activity
From 2008-03-25 to 2008-04-07
2008-04-07
- 04:15 Revision 7d5dfb38 (github): In the BSP builder, don't use hedge_t to represent partitions. BSP_PickHEdge now returns a bspartition_t which is used instead. Todo, currently there are some unnecessary members in bspartition_t but due to other parts of the build process; they can't be removed yet.
- 04:08 Revision f8d9c5ca (github): Fixed: Drawing of middle surfaces on two-sided linedefs would have incorrect material y offset when lower unpegged.
2008-04-06
- 17:36 Revision 48bf28bd (github): Numerous optimizations:
- * Got rid of rendpoly_t. Whilst it was a convenient way to pass data around the renderer it was quite inflexible and ...
- 17:20 Revision 5e09c72c (github): Cleanup.
- 17:14 Revision f276c458 (github): Implemented a simple optimization in the BSP builder to only test collinear segs of a linedef once per round of evalPartition(). I nice ~36% speed boost ensues.
2008-04-04
- 23:30 Revision 3a206f4c (github): Optimize: 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.
- 00:54 Revision bcee4f99 (github): Removed superfluous semicolon.
- 00:53 Revision e36c9cfc (github): Optimize: Don't build a linedef AABB every time it is needed; cache in linedef_t instead.
- 00:50 Revision e8da6d46 (github): Disabled verbose message in LG_Init() for logging the light level of every sector (we don't really need to know when not debugging).
- 00:47 Revision 84035aa8 (github): Ensure the decoration list is properly inited to NULL.
- 00:45 Revision b2748704 (github): Cleanup.
- 00:43 Revision 45d92361 (github): Removed superfluous semicolon.
- 00:41 Revision 8602e293 (github): Optimize: 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, only the overlapping linedef algorithm benefits from this (was O(n2) now O(nlogn)).
2008-04-03
- 18:27 Revision 40338369 (github): Optimize: 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_CheckMaterialNumForName and R_MaterialNumForName should be optimized anyway but won't affect load speed by an order...
2008-04-01
- 18:11 Revision 6e41c6cf (github): Optimize: 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. - 16:09 Revision 7a85ef89 (github): The symbolic name of a material, is that of the material itself and not the texture resource it wraps.
- 14:33 Revision 456dd0f2 (github): Updated jHexen's ANIMDEFS support in light of the changes to the animgroups.
- 14:29 Revision 8170ba64 (github): Updated the ANIMATED lump support code in the games in light of the changes to the animgroups.
- 14:16 Revision bdc667f6 (github): Updated the animgroups to allow mixing frames of any material type in one animation.
2008-03-31
- 15:36 Revision 1214c107 (github): Manage surface enhancements such as decorations, reflections and attached ptcgens at material-level and not resource-type level. This means we can now (potentially) support these features with any type of material on any surface.
- 13:51 Revision 5233d374 (github): Handle smooth texture animation at material-level as opposed to resource-type level. This means that we can (potentially) support smoothing e.g. flats to textures and all material types (for example, we could have smoothed texture animations in the UI).
- 12:05 Revision 5bb54eea (github): Cache 2D distance to rendpoly vertexes in rendpoly_vertex_t.
- Removed parameter distanceOverride from Rend_VertexColorsApplyTorchLight(), it is no longer needed.
Fixed: Bug in occ... - 01:28 Revision 244d4b65 (github): Removed function declarations for routines no longer in rend_list.c from rend_list.h.
- 01:27 Revision e58efd6a (github): Removed now-unused parameter 'distanceOverride' from Rend_VertexColors(). Also removed an unnecessary clamp to the passed lightLevel.
- 01:08 Revision 854edf56 (github): Overhauled the lighting pipeline. Flushed out numerous issues and inconsistencies in the process. The result being altogether more balanced/coherent lighting. Needs optimizing.
2008-03-30
- 17:09 Revision e3e3ef35 (github): Cleanup.
- 17:05 Revision fba8ebda (github): Renamed visspritelightparams_t to collectaffectinglights_params_t to reflect its change in use.
- 16:59 Revision 6054021d (github): Re-factored out modelparams_t->uniformColor, it is no longer needed.
- 16:42 Revision 3e2947fe (github): Re-factored out modelparams_t->lightLevel, it is no longer needed.
- 16:17 Revision 04d80eb0 (github): Initial steps towards converging the world object, lighting pipelines to a single parametrized routine capable of supporting all visualizations (sprites, models, whatever...).
- 16:06 Revision 7b3ee857 (github): Fixed: Various issues in B_DestroyAllClasses() which resulted in accessing beyond the end of the bindClasses array and a memory leak. @skyjake - feeling tired when you wrote that? :-)
- 15:40 Revision 6ae234e4 (github): Fixed: We only need to make room for a binding class if it is not being inserted at the end of he bindClasses array, in B_InsertClass().
- Updated style. Do not use C++ keywords as variable names.
- 15:26 Revision 200e014b (github): Fixed: Various issues in W_ResizeLumpStorage() evident on the first visit (attempt to free NULL lumpCache, non-obvious use of memcpy).
- 12:44 Revision 7ff64f1e (github): Removed vissprite_t->data.psprite as it is now unused. Also, renamed R_DetermineLightsAffectingVisSprite() to R_CollectAffectingLights() as it is no longer limited for use with just vissprites.
- 12:23 Revision 16c23ac2 (github): Seperated out the psprite data from vissprite_t and into (the new) vispsprite_t as it didn't make much sense in the former and only made things more complicated elsewhere. Also, defer lighting of psprites until just before they are drawn.
2008-03-29
- 20:18 Revision afdd7a75 (github): Defer the lighting of world sprites and models until just before they are drawn.
- 18:28 Revision 4c2396f0 (github): Defer lighting of model decorations until just before Rend_RenderModel(). Also removed modelparams_t->subsector as it served no purpose.
- 17:19 Revision b50c4603 (github): Optimize: Plotted decoration origins do not change on the XY plane during plotting in decorateLineSection() so they are invariant to the inner vertical pattern loop.
- 17:09 Revision 8358b48c (github): Further optimized the calculation of decormodel yaw and pitch; yaw and pitch are invariant within the inner decoration plotting loops.
- 17:03 Revision 676f3e68 (github): Optimize: We do not need to calculate decormodel pitch and yaw every frame. Instead, calculate in decorateLineSection() when the position of the decoration is plotted and cache the result to surfacedecor_t.
- Fixed: decormodels are now lit by the lightgrid when bias lighting is enabled.
- 16:52 Revision 97ba0093 (github): Fixed: Planeglows could not be used independently from dynamic lights.
- 15:30 Revision 708c7a0e (github): Optimize: 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 fully initialized after level load.
- 15:24 Revision 2f45cd9a (github): When converting plane lumobjs to vlights we need to flip the plane normal z component.
- 15:21 Revision ef01a740 (github): Optimized P_FinalizedLevel() a bit.
- 13:28 Revision 709ccd18 (github): We shouldn't be worrying about the tracking of plane heights or surface material offsets until after the level has been fully loaded.
- 12:48 Revision 095387b3 (github): Changed MAX_SMOOTH_MATERIAL_MOVE to 8.
- 12:41 Revision 3a61120e (github): Implemented smoothing for scrolling surface materials. Basically a copy of the $smoothplanes stuff.
- 11:14 Revision aaee3951 (github): Renamed plane_t->visOffset to plane_t->visHeightDelta to avoid possible confusion.
- 10:30 Revision 45a42825 (github): Initial (naive) implementation of model decorations. Whilst functional, its decidedly clunky and sub-optimal at present (every model, decoration on every world surface is currently drawn every frame!).
2008-03-28
- 05:08 Revision 1670c196 (github): Fixed: checkMeleeRange() would forever fail if !cfg.netNoMaxZMonsterMeleeAttack due to the way the z height component was added to the distance calculation. Instead, do a z-height threshold check.
- 04:56 Revision 6c4146f4 (github): Fixed: Collisions with any mobj flagged MF_SPECIAL was broken (introduced in the last fix to resolve MF_SKULLFLY flagged things stopping at pickups). Everything appears to be working as expected now.
- 03:48 Revision c85c1e33 (github): Implemented a short, two-frame delay to player->extraLight changes to avoid flickering and accentuating y-shear artefacts when v-sync is disabled.
- 03:13 Revision 7ec6ddf3 (github): Fixed: Any mobj flagged with MF_SPECIAL would prevent other mobjs from passing through it.
- 02:14 Revision cdb0e93e (github): Fixed minor overlap issue in the fullscreen HUD, ammo indicators in jDoom.
- 01:28 Revision b7a65d0b (github): 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 update.
- 00:42 Revision 16d939bd (github): Mark the surfaces of a linedef's sides as needing a decoration update when the linedef's flags change (we allow changing the peggedness of textures at any time).
- 00:15 Revision a4f13626 (github): Removed the point in bbox checking in Rend_InitDecorationsForFrame() as it is now unnecessary.
- 00:12 Revision 121077a2 (github): Implemented a kludge to handle the manipulation of a decorlight's halofactor as they cannot yet be smoothly occluded like mobj-linked lumobjs.
2008-03-27
- 12:28 Revision 3ad90778 (github): Completed separation of the surface decoration, origin plotting from the projection into the world. The next step will involve moving the projection of non-light decorations to Rend_RenderSubsector()
- 09:51 Revision 5a6b6f9a (github): Stripped out the light adaptation stuff; it wasn't working out how I had envisioned (the lightModRange LUT remains).
- 08:46 Revision 1d22580b (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
- 08:45 Revision 32856023 (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
- 08:41 Revision 3642ed47 (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
- 08:37 Revision 2402822b (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
- 08:34 Revision 71d95e49 (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
- 08:30 Revision 026cabab (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc. Also fixed an attempt to free a NULL ptr.
- 08:18 Revision af9e2599 (github): Wrap shared struct ddplayer_t with the new player_t, within the engine so that we have both a public and an engine-internal section of this object.
- 01:06 Revision 08e7982b (github): Got rid of the "MAXPLAYERS" and "players" macros used internally in the engine to avoid any possible confusion.
2008-03-26
- 23:04 Revision d1abc82c (github): Fixed a problem in the save game code which could result in P_AddThinker() being called multiple times for the same mobj during load.
- 07:51 Revision 3a127fcb (github): Changed rendpoly_vertex_t->color to float. We now treat all color as float until the last possible moment where in the rend lists we currently convert to byte.
- 03:46 Revision 6d09e213 (github): Don't use the global texMagMode when loading UI graphics. This stops them from becoming pixelated if a user decides to change it (for retro kicks, no less).
- 01:50 Revision 4f97ffb2 (github): When drawing sky mask polys in the sky debug mode; ensure they are always drawn fullbright.
- 01:07 Revision 155074d8 (github): countMobjsOfTtype() requires a positive health property when counting. This means we do not need to alter the result if it is called AFTER the mobj that triggered it has been P_KillMobj'd
- 00:56 Revision 662db20a (github): Renamed the engine's PTR_SlideTraverse() to slideTraverse() and made it static to prevent issues when the engine's symbols are in the same namespace as the games'.
- 00:29 Revision eff10679 (github): Renamed the engine's PIT_CheckLine() to PIT_LineCollide() and PIT_CheckMobj() to PIT_MobjCollide() to prevent aliasing issues when the engine's symbols are in the same namespace as the games'.
2008-03-25
- 23:36 Revision d9cb0c44 (github): Fixed bug in the new algorithm for finding neighbouring sectors for spreading stair builds; always use the found sector from the last iteration as the compare sector for the current iteration.
- 22:45 Revision 2e93aa95 (github): When drawing the level fullbright; do not render mobj shadows as this looks particularly odd imo. Also, don't draw mobj shadows on glowing surfaces (e.g. nukedge).
- 22:08 Revision 5e41f160 (github): Fixed: Sky color used in non-sky sectors and vice-versa.
- 09:01 Revision 6f93cbce (github): Fixed DDMINFLOAT/DDMAXFLOAT mix ups in the P_FindSector* utility routines which led to all manner of line specials not working correctly (e.g. the raising bridge in DOOM2::Gantlet).
- 08:57 Revision 0bd9a792 (github): Revised the notation used to define DDMINFLOAT since the previous was wrapping around.
- 05:26 Revision 93167dc8 (github): Use the platform-specific version of sys_window.c on all platforms.
- 05:15 Revision 614f1583 (github): Explicitly add .c source files for Doomsday by name rather than using an automagical method to add all files matching *.c We need to do it this way in case we do NOT want to use sources in /portable and instead, use an alternative in say /win32
- 03:58 Revision 3c4788d4 (github): userDirOk is now a member of application_t
- 03:43 Revision beacdf57 (github): Fixed FTBFS issues with dd_uinit.c
- 03:31 Revision a406638c (github): Evidently, curses.h will #define "true" 1 and #define "false" 0 (which will mess with our own #defines for ddboolean_t) unless we #define NCURSES_ENABLE_STDBOOL_H 0 beforehand.
- 03:25 Revision ef829fe6 (github): Fixed a load more incorrect file encodings.
- 02:47 Revision 1215f490 (github): Ensure all the unix-specific source files are encoded as UNIX, UTF-8.
- 01:57 Revision 61e8ed52 (github): winCommand is now a property ddwindow_t
- 01:43 Revision eb254215 (github): Fixed more FTBFS issues in the nix command line console.
- 01:21 Revision ecfabfaf (github): Fixed a bunch of FTBFS issues in the *nix command line output.
- 00:19 Revision 9a766929 (github): Added path vs blockmap AABB clipping to both P_SightPathTraverse() and P_PathTraverse(). Due to the way the LOS traces have been traditionally handled, it meant that frequently the destination of the trace was completely outside the blockmap. This clipping ensures we only ever loop over valid blocks later on in these algorithms.
- 00:11 Revision 9ba5e06a (github): Removed old headers from the Doomsday vcproj
- 00:09 Revision 2ea654fa (github): When drawing the blockmap debug display, do not follow the target mobj if it is outside the blockmap.
Also available in: Atom