Project

General

Profile

Activity

From 2008-03-22 to 2008-04-04

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.
danij
00:54 Revision bcee4f99 (github): Removed superfluous semicolon.
danij
00:53 Revision e36c9cfc (github): Optimize: Don't build a linedef AABB every time it is needed; cache in linedef_t instead.
danij
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).
danij
00:47 Revision 84035aa8 (github): Ensure the decoration list is properly inited to NULL.
danij
00:45 Revision b2748704 (github): Cleanup.
danij
00:43 Revision 45d92361 (github): Removed superfluous semicolon.
danij
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)).
danij

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... danij

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.
danij
16:09 Revision 7a85ef89 (github): The symbolic name of a material, is that of the material itself and not the texture resource it wraps.
danij
14:33 Revision 456dd0f2 (github): Updated jHexen's ANIMDEFS support in light of the changes to the animgroups.
danij
14:29 Revision 8170ba64 (github): Updated the ANIMATED lump support code in the games in light of the changes to the animgroups.
danij
14:16 Revision bdc667f6 (github): Updated the animgroups to allow mixing frames of any material type in one animation.
danij

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.
danij
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).
danij
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...
danij
01:28 Revision 244d4b65 (github): Removed function declarations for routines no longer in rend_list.c from rend_list.h.
danij
01:27 Revision e58efd6a (github): Removed now-unused parameter 'distanceOverride' from Rend_VertexColors(). Also removed an unnecessary clamp to the passed lightLevel.
danij
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.
danij

2008-03-30

17:09 Revision e3e3ef35 (github): Cleanup.
danij
17:05 Revision fba8ebda (github): Renamed visspritelightparams_t to collectaffectinglights_params_t to reflect its change in use.
danij
16:59 Revision 6054021d (github): Re-factored out modelparams_t->uniformColor, it is no longer needed.
danij
16:42 Revision 3e2947fe (github): Re-factored out modelparams_t->lightLevel, it is no longer needed.
danij
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...).
danij
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? :-)
danij
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. danij
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).
danij
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.
danij
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.
danij

2008-03-29

20:18 Revision afdd7a75 (github): Defer the lighting of world sprites and models until just before they are drawn.
danij
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.
danij
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.
danij
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.
danij
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. danij
16:52 Revision 97ba0093 (github): Fixed: Planeglows could not be used independently from dynamic lights.
danij
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. danij
15:24 Revision 2f45cd9a (github): When converting plane lumobjs to vlights we need to flip the plane normal z component.
danij
15:21 Revision ef01a740 (github): Optimized P_FinalizedLevel() a bit.
danij
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.
danij
12:48 Revision 095387b3 (github): Changed MAX_SMOOTH_MATERIAL_MOVE to 8.
danij
12:41 Revision 3a61120e (github): Implemented smoothing for scrolling surface materials. Basically a copy of the $smoothplanes stuff.
danij
11:14 Revision aaee3951 (github): Renamed plane_t->visOffset to plane_t->visHeightDelta to avoid possible confusion.
danij
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!).
danij

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.
danij
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.
danij
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.
danij
03:13 Revision 7ec6ddf3 (github): Fixed: Any mobj flagged with MF_SPECIAL would prevent other mobjs from passing through it.
danij
02:14 Revision cdb0e93e (github): Fixed minor overlap issue in the fullscreen HUD, ammo indicators in jDoom.
danij
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.
danij
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).
danij
00:15 Revision a4f13626 (github): Removed the point in bbox checking in Rend_InitDecorationsForFrame() as it is now unnecessary.
danij
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.
danij

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()
danij
09:51 Revision 5a6b6f9a (github): Stripped out the light adaptation stuff; it wasn't working out how I had envisioned (the lightModRange LUT remains).
danij
08:46 Revision 1d22580b (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
danij
08:45 Revision 32856023 (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
danij
08:41 Revision 3642ed47 (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
danij
08:37 Revision 2402822b (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
danij
08:34 Revision 71d95e49 (github): Use the memory management wrapper in M_Misc rather than raw calls to malloc() etc.
danij
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.
danij
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.
danij
01:06 Revision 08e7982b (github): Got rid of the "MAXPLAYERS" and "players" macros used internally in the engine to avoid any possible confusion.
danij

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.
danij
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.
danij
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).
danij
01:50 Revision 4f97ffb2 (github): When drawing sky mask polys in the sky debug mode; ensure they are always drawn fullbright.
danij
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
danij
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'.
danij
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'.
danij

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.
danij
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).
danij
22:08 Revision 5e41f160 (github): Fixed: Sky color used in non-sky sectors and vice-versa.
danij
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).
danij
08:57 Revision 0bd9a792 (github): Revised the notation used to define DDMINFLOAT since the previous was wrapping around.
danij
05:26 Revision 93167dc8 (github): Use the platform-specific version of sys_window.c on all platforms.
danij
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
danij
03:58 Revision 3c4788d4 (github): userDirOk is now a member of application_t
danij
03:43 Revision beacdf57 (github): Fixed FTBFS issues with dd_uinit.c
danij
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.
danij
03:25 Revision ef829fe6 (github): Fixed a load more incorrect file encodings.
danij
02:47 Revision 1215f490 (github): Ensure all the unix-specific source files are encoded as UNIX, UTF-8.
danij
01:57 Revision 61e8ed52 (github): winCommand is now a property ddwindow_t
danij
01:43 Revision eb254215 (github): Fixed more FTBFS issues in the nix command line console.
danij
01:21 Revision ecfabfaf (github): Fixed a bunch of FTBFS issues in the *nix command line output.
danij
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.
danij
00:11 Revision 9ba5e06a (github): Removed old headers from the Doomsday vcproj
danij
00:09 Revision 2ea654fa (github): When drawing the blockmap debug display, do not follow the target mobj if it is outside the blockmap.
danij

2008-03-24

02:22 Revision 630cd8be (github): Fix FTBFS issue with the window flags.
danij

2008-03-23

15:18 Revision 108a3e1e (github): Fixed various FTBFS issues when using the SDL window management.
danij
14:51 Revision f8095fb9 (github): Replaced the algorithm for finding neighbour sectors in processStairSector() with one that makes use of P_Iteratep()
danij
14:26 Revision 6ac2a6b1 (github): The thing id property is referenced with the constant MO_ID, not MO_TID.
danij
14:24 Revision 9739e4c6 (github): Added the missing map object MO_ID property identifier in jHexen.
danij
14:20 Revision cd1a10bb (github): Updated jHexen to use the new mechanisms for game-specific map data object lookup.
danij
14:05 Revision 9cbd3574 (github): Updated WolfTC to use the new mechanisms for game-specific map data object lookup.
danij
13:59 Revision fbf2c28a (github): Updated jHeretic to use the new mechanisms for game-specific map data object lookup.
danij
13:52 Revision 0dab4519 (github): Updated jDoom64 to use the new mechanisms for game-specific map data object lookup.
danij
13:50 Revision 5a18f8a5 (github): Added missing include for string.h
danij
04:57 Revision 3f29d680 (github): Begun splitting up RL_VertexColors(). Also, extended the torch lighting to allow for an RGB color to be specified and added a multiplicative blending mode (implemented for jDoom64's BFG explosion effect).
danij
00:27 Revision 20463f6d (github): In the light grid, apply z bias before calling Rend_GetLightAdaptVal() (tis the RightWay).
danij
00:26 Revision 0d149159 (github): Implemented a quick fix for the problem of INSTASIS think_t ptrs. This really should be resolved once and for all by creating a special engine-internal thinker function for both this and NOP/NIL.
danij
00:23 Revision 3db7dac6 (github): When determining if a camera player is in the void, extend the non-void z height range to be inclusive of the skyfix offsets.
danij
00:21 Revision 13eb534b (github): Removed the special cases for writing glowing vertices in the rend lists. Instead, handle glowing surfaces in RL_VertexColors() (note that bias lighting will currently override the glow but RL_VertexColors need splitting up anyway).
danij

2008-03-22

22:05 Revision b0f13796 (github): Fixed z offset bug with mobj-linked light halos.
danij
22:04 Revision 0912f31a (github): Fixed clipping issues with decor light halos.
danij
18:46 Revision e194a9d9 (github): Implemented a series of mechanisms to handle the transfer of game-specific map object data types and their values into the games. This code is early and there is a lot of room for optimization but svn is once again playable using jDoom (yay!). The rest of the supported games will be updated shortly.
danij
 

Also available in: Atom