Activity
From 2011-04-07 to 2011-04-20
2011-04-20
- 20:04 Revision d1ec31a0 (github): Refactored users of M_ReadFile to use M_ReadFileCLib instead.
- Fixed jDoom: Memory leak in SV_v19_LoadGame - if the saved game is determined to be from an unsupported version this ...
- 18:53 Revision 60165cf2 (github): Do not use the lump cache in dpdehreader's ReadDehackedLump - we are currently copying the lump into a local buffer anyway (for the sake of adding a terminating zero, yuck). Instead simply determine the size of the lump and read it directly into our local buffer.
- 17:56 Revision 6af1cd58 (github): Minor cleanup.
- 17:56 Revision 8d61b336 (github): Removed W_CRCNumber from the public API as it is of no use to plugins. The rest of the API allows access to our internal file system using an abstract interface which hides the detail of whether resources have been loaded from Zip, the real local file system or indeed the WAD lump directory. Simply taking a CRC of the IWAD's lump directory is of no benefit for writing to save games (the only possible reason I can see why this was made public).
- Removed W_OpenAuxiliary from the public API. We abstract access to WAD lumps so the game should never need to call it...
- 16:25 Revision 4d436513 (github): Fixed hires texture loading. Each ResourceNamespace still require's it's own FileDirectory (which is cleared every time the namespace is rebuilt) as there is no existing logic to update namespaces when a new set of files are added.
- Todo: It should now be possible to determine which resource namespace(s) need updating after each file addition/remov...
- 15:27 Revision 0fe9641e (github): Removed superfluous '0' character in mapdata.hs
- 06:42 Revision e52eb3b4 (github): Make use of the "raw" texture hash in FinaleInterpreter
- 06:41 Revision 0f62d869 (github): Allow Material to inherit it's logical dimensions from the those of it's primary Texture are prepare time if they have not already been set.
- When a Material's logical dimensions change - update all world surfaces currently using it (light decorations).
- 06:41 Revision b2c81026 (github): Represent the symbolic names in patchcompositetex_t, patchtex_t, rawtex_t and spritetex_t as ddstring_t
2011-04-19
- 19:43 Revision b3a474dd (github): Client sends accurate position w/momentum
- Previously the client was sending position coordinates
only as (short) integers, without the fractional part. This
ca... - 19:17 Revision 4a59fa49 (github): Client: Fixed showing of HUD messages sent by server
- The DDPF_LOCAL flag should not be relied upon.
- 19:16 Revision c62ce776 (github): jDoom: Fixed problem with key pickup notification
- The message about key pickup was not shown.
- 17:19 Revision 27484a24 (github): Client: Fixed HUD info updates
- Keycards, ammo, etc. were not updated in the client's status bar.
- 16:46 Revision cf2e72eb (github): Client: Fixed client getting stuck
- Server seems to think some valid coordinates are invalid.
The client was getting stuck near corners. - 16:45 Revision d4fd1685 (github): Fixed intermission in multiplayer
- Fire/Use-to-skip was not working.
- 14:17 Revision 70c2e5dd (github): Fixed map change notifications
- The server was not sending any information about map changes
to the client. - 14:02 Revision e0b4149f (github): Fixed PathDirectory's const iterate method was not functionally equivalent to the non-const version.
- 13:59 Revision 571425f8 (github): Client: Fixed view filter (palette effect for pain etc.)
- When the server sets the filter color, the client will not turn off the
view filter until the server says so. - 13:11 Revision 8858fbdb (github): Couple of minor fixes to previous commit.
- 12:55 Revision 1774d113 (github): Reimplemented the console variable directory using an instance of PathDirectory. In addition to improved average search times we are saving around 400k of system memory, which is a nice bonus.
- 12:36 Revision 6730c54c (github): Client: Fixed explosion of missiles
- On clientside missiles will run through their explosion
sequence when they hit something, but the damage
is dealt onl... - 12:35 Revision ff2c1155 (github): Server sends mobj type to clients
- The mobj type (and mobjinfo) are important for the game logic
so it knows how to treat the mobjs. - 12:33 Revision 1019566a (github): Minor cleanup
- 09:53 Revision b6fcf33c (github): More robust sharp ticking
- Now it is impossible for the fractional frameTime to become desynchronized
with the fixed 35 Hz ticks, because it is ...
2011-04-18
- 23:54 Revision b560e772 (github): Renamed ddccmd_t to ccmd_t
- 23:51 Revision 50136dfb (github): Renamed ccmd_t to ccmdtemplate_t
- 23:36 Revision 53752c83 (github): Refactored away the copy of ccmd_t (used during command registration) stored in ddcmd_t
- 22:46 Revision 375d7668 (github): Renamed ddcvar_t to cvar_t
- 22:43 Revision 3cbfb29a (github): Renamed cvar_t to cvartemplate_t
- 22:29 Revision 51d76633 (github): Refactored Con_FindVariable into Con_GetVariableType and removed the cvar argument from the notification callback. This addresses an engine-internal object visibility issue in the public API.
- Fixed ddcvar_t to cvar_t cast problem in the multiplayer player setup menu.
- 17:33 Revision 9acdb07e (github): Removed obsolete scripts
- 17:28 Revision 0fe3d3f4 (github): Client: Fixed picking up of items (and player pos changes)
- Instead of trying to handle object position changes on its own, the engine
now relies on the exported P_TryMove3f. Th... - 17:17 Revision 975e2729 (github): Added P_TryMove3f
- The function is in the common game plugin and is exported out from the game.
- 01:57 Revision 0687fa21 (github): Don't use Str_Copy in PathDirectory::internName as this makes a "full copy", allocating storage equal to the reserved size in the source string.
- My first thought was to implement a "squeeze" method (in Qt parlance) but as ddstring_t allocates from the Zone and t...
- 00:38 Revision c7e02041 (github): Minor tweaks to PathDirectoryNode::ComposePath and function header comments in pathdirectory.h
- 00:26 Revision 26683707 (github): When composing paths to branches in PathDirectoryNode_ComposePath always add a closing delimiter.
- Cleanup.
2011-04-17
- 21:46 Revision a5bfc90e (github): Further optimizations to PathDirectory:
- * Added node name interning mechanism.
* Store node name hashes alongside the interned name to avoid rehashing.
* Use... - 11:27 Revision 565b0daf (github): Client: Allow spawning objects with MF_LOCAL
2011-04-16
- 20:27 Revision 170d8191 (github): Refactored PathDirectory turning the path fragment delimiter into an insert-time/compose-time argument. It is now possible to populate the directory without needing to convert directory separators so long as they have been normalized prior to insertion (i.e., not mixed, for example "data/jdoom\models/"). PathDirectory itself can now be used to do the "conversion" at compose-time.
- 19:43 Revision a8fcae31 (github): Unmanaged texture upload log message in _DEBUG builds now verbose >= 1
- 19:16 Revision 6514c1aa (github): Fixed: F_AllResourcePaths resulted in bogus leaf nodes being added to FileDirectory for all subdirectories of the matched search path. For example, if the directory data\jdoom\models\ exists in the real filesystem and the search data\jdoom\* is executed, a new leaf was created for "models" despite it not being a leaf.
- Optimize: PathDirectory once again no longer stores the path delimiter along with each non-leaf path fragment.
- 15:36 Revision d2e17668 (github): Further minor optimizations to PathDirectory
- 04:01 Revision 6cc7007c (github): Fix typo in previous commit.
- 03:50 Revision 35e24a98 (github): Refactored away fixed-length path buffer in PathDirectoryNode::MatchDirectory
- Cleanup.
2011-04-15
- 20:59 Revision 8f47c3fa (github): Reimplemented FileDirectory, encapsulating an instance of PathDirectory.
- 18:29 Revision 42aae911 (github): Client: Fixed tick smoothing (for the most part)
- Removed the obsolete client-only player think. Now the client
uses the regular P_PlayerThink(). - 16:19 Revision a39468d0 (github): Cosmetic whitespace changes in source
- 16:19 Revision 391157bc (github): Fixed view info calculations in R_SetupFrame
- The view information for effectively only calculated for
player #0 only, as the final parameters were always set
for ... - 16:16 Revision a66ee864 (github): Client: MobjThinker ignores partial/unpredictable clmobjs
- 14:20 Revision cb60404f (github): Applied the path fragment hash optimization to PathDirectory.
- Switched PathDirectory and FileDirectory to allocate all internally used storage (other than ddstring_t) from the rea...
- 13:04 Revision fc7ef442 (github): Optimize: 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 (hint, hint).
- Todo: Apply the same optimization to PathDirectory
- 12:47 Revision 3daf1986 (github): CCmd "Load" should look for RC_PACKAGE resources and not attempt to guess (thus allowing WAD/PK3/ZIP resources to be found from a search string which doesn't specify a file extension).
- 00:46 Revision 83768f32 (github): Reimplemented the material namespace namehash.
2011-04-14
- 19:09 Revision 1e477958 (github): Client: Fixed issue with "ghost" MT_TROOPs
- The client was spawning local MT_TROOPs that couldn't
be damaged. - 18:28 Revision 64ef9a3c (github): Fixed weapon change glitches in multiplayer
- On server-side the player controls were never checked
and the player brain was uninitialized (thus the forced
change ... - 17:45 Revision 08d00044 (github): Fixed: Particle generator flags ptf_vflat, ptf_hflat and ptf_flat should be ignored for line and model type particles.
- Replaced P_CheckPtcPlanes as it no longer necessary. We track changes to a surface's current material, so instead do ...
- 15:23 Revision 28b960ed (github): MSVC: Fixed pointer arithmetic in cl_mobj.c
- 13:49 Revision 5d6e7cd5 (github): Split the material binding definition association links out of MaterialBind and into a new info struct named MaterialBindInfo. This extended info is now only attached to the binding upon successful preparation of the first derived variant of the associated Material (reducing storage overhead for unused Materials).
2011-04-12
- 22:54 Revision 2b0e4cd5 (github): Z height information in mobj deltas
- The Z information is sent also if just the plane heights change.
- 22:52 Revision f91ccd91 (github): Mobj flags synced from server to client
- In an effort to ensure that mobj state is properly transmitted from
the server to the clients, moved the mobj flags a... - 18:51 Revision e6013015 (github): Client mobjs are treated like regular mobjs
- The client mobjs are added to the thinker list and use the game's
mobj thinker function. However, at the moment, P_Mo...
2011-04-11
- 18:56 Revision ae7e1daa (github): Refactoring clientside mobjs and player data
- Client mobjs are now equivalent to game mobjs + an attached extra info struct.
This allows handling the mobjs as-is i... - 18:53 Revision 9c93e2dd (github): Fixing warnings and doing general code cleanup.
- For instance, there were some unused music functions in the Quicktime driver.
- 09:05 Revision 1773041a (github): GL texel minification and magnification modes are now defined in TextureVariantSpecification
- Todo: Refactor TextureVariantSpecification removing all magic numbers, dualities etc, etc.
2011-04-10
- 13:56 Revision 97fb9d8c (github): Refactoring continues:
- * Reimplemented updating of Materials after an engine reset/update. The new mechanism moves all update logic into the...
2011-04-09
- 21:55 Revision b93d3dbb (github): Refactoring continues:
- * Removed patching of de::Material within the Materials subsystem and re-implemented it within the DED reader, patchi...
- 12:24 Revision 9ca351f2 (github): Reimplemented Def_CreateAutoMaterials to generate new Material definitions rather than interface directly with the Materials subsystem. All concrete Materials are now constructed from definitions in the same manner and at the same time.
- 09:19 Revision 8efc5ac7 (github): Continued refactor of the Textures and Materials subsystems:
- * Record logical dimensions of a texture in de::Texture, set to width = height = 0 in the default constructor. Added ...
2011-04-08
- 09:14 Revision 464280eb (github): Returned dpExample back to a releasable state.
- 08:51 Revision f80ced95 (github): Removed the experimental model decoration stuff. It was only implemented as way for various individuals to test their work-in-progress models in-game. I now need to make some changes to this subsystem and as this code isn't going to go into a release build its time for it to go.
- It is still available in our revision history, so if you want to continue experimenting with it you can do so by chec...
- 08:02 Revision 553649e4 (github): Fixed: R_PrecacheMap was in charge of initializing the decorated and glowing surface lists. Consequently they would not be built if playing back a demo.
- Minor cleanup.
- 07:51 Revision 94341fc8 (github): Optimize: createGlowLightForSurface can early out if the Surface's Material is not presently glowing at this time.
- 06:02 Revision 3c19bad2 (github): Visibility of TextureVariant can now be restricted to the Textures and Materials subsystems.
- Todo: Materials should not need to know of them either - refactor API
- 03:16 Revision 5ce03664 (github): Relocated image analysis records out of TextureVariant and into Texture as these aren't really variable. If we do want per-variant values it would be trivial to transform the general case according to the variant's specification in an accessor.
- Perform image analyses immediately after source image load and prior to variant construction/preparation.
2011-04-07
- 09:57 Revision 29e01b67 (github): Moved the method argument for Textures::chooseVariant to the front as it looks prettier :-)
- Removed type argument from choosevariantworker_paramaters_t as we don't need to know at this level.
- 09:40 Revision 3b8f9c56 (github): Cleanup.
- 07:27 Revision 080698c0 (github): Switched Texturess::findPreparedVariant to use an exact-match method when looking for suitable candidates as the rest of the subsystem should be functionally correct (if not all that pretty in places). Added a _DEBUG only sanity check to assit in routing out any remaining bugs. So far so good.
- Do not do a full texture/material specification comparison if given two pointers to the same object.
- 04:37 Revision 8aeb8d2f (github): Refactor: All routines in gl_tex.c/h which use ColorPalettes are now passed pointers to them rather than their associated indices in the list owned by the refresh module. R_ToColorPalette now results in a fatal error if given an invalid palette index.
- 04:04 Revision b66f9338 (github): Relocated GL_PalettizeImage, GL_QuantizeImageToPalette and GL_DeSaturatePalettedImage from gl_texmanager.c/h and into gl_tex.c/h where they belong.
- 03:00 Revision af1d54ea (github): Fixed a couple of typos in comments.
- 02:38 Revision a3124840 (github): Optimize: Store detail texture variant specifications into a set of buckets according to their quantized contrast value. As detail specifications have only one property (i.e., the contrast value) this means that search/selection performance is now bounded to O(1) with no divergence for best/worst cases.
- 00:07 Revision 4922d9be (github): Optimize: Refactored away unnecessary heap allocation in getVariantSpecificationForContext. Querying for and retrieval of a known TextureVariantSpecification no longer involves dynamic allocations.
Also available in: Atom