Project

General

Profile

Activity

From 2010-05-10 to 2010-05-23

2010-05-23

11:34 Revision 2cd1bca9 (github): Further clean up of the composite font drawing in preparation for the more extensive changes needed for accurate calculation of the visible dimensions of formatted Text blocks.
danij
03:39 Revision e5063af9 (github): Further fix to the interpretation of break directives in paramater Text blocks.
danij
03:37 Revision 97028cfb (github): Modified the Amplify algorithm to ignore masked pixels when calculating the max value.
GLTexture_Prepare was not converting hires patches to monochrome if set.
Todo: Rewrite the conversion stage of GLTex...
danij

2010-05-22

22:41 Revision 1fb4b1c3 (github): Began clean up of GL_DrawText in preparation for implementing a proper visible dimension calculator for Text.
* Split the paramater block parsing out of GL_DrawText.
* Added drawtextstate_t and separated initialization and call...
danij
21:34 Revision 0b5fa1f6 (github): Added a couple of comments to gl_drawcompositefont.h explaining the terms Text and Text fragment in the context of this API.
danij
21:26 Revision 9b3df05a (github): Moved patch drawing methods out of hu_stuff and into gl_drawpatch Renamed all patch drawing methods swapping the prefix M_ for GL_
danij
18:05 Revision 2d7133d7 (github): Couple of minor fixes to type-in effect selection in the menu.
danij
17:52 Revision 12bac7c3 (github): Removed garbage code in gl_drawcompositefont.c
danij
17:50 Revision fad4c056 (github): Completed next phase of the game-side 2D drawing clean up:
* Split the text drawing out of hu_stuff and into gl_drawcompositefont
* Renamed all text drawing methods swapping th...
danij
15:25 Revision c29258a0 (github): Created M_DrawTextFragmentShadowed and reworked Heretic's IN_DrawTime to call it. Replaced all calls to Heretic's IN_DrawNumber with calls to M_DrawTextFragmentShadowed. Removed IN_DrawNumber.
danij

2010-05-21

18:08 Revision 0b8cfdd4 (github): Added All games: Sequential cycling of player weapons using next/prev until the current weapon is fully lowered (for example, if the player owns weapons one through four and four is currently readied; cycling the previous weapon three times in quick succession will select weapon one without). Added "Sequential" item to the Weapons option menu. Added cvar "player-weapon-cycle-sequential".
danij
14:48 Revision dfe7653c (github): Fixed sharpview reset was being done in R_SetupFrame, meaning that if multiple viewports were in effect only the first drawn would ever snap to the sharp position after a fixed 35hz tic.
danij
14:45 Revision 43a4985b (github): Changed All games: Allow camera players to move almost twice as fast as non-camera players when "running".
danij
07:17 Revision 13e6367b (github): Changed: When loading sprites add an additonal 1-pixel border around the graphic which is then scaled and clipped out at render time. This addresses various GL filtering issues where a sprite contains color information in the edge texels.
danij
05:19 Revision 63b078a3 (github): Changed: Implemented GL_ScaleBufferNearest; a nearest neighbor image scaling algorithm for use with tiny graphics (w*h < 16) rather than hq2x. The hq2x algorithm can do nothing to help graphics this small and better results can be obtained with the simple nearest neighbor algorithm.
danij
02:47 Revision 691bc6fb (github): Changed: Do not disable the ColorOutlines algorithm on Patches loaded with the Upscale and Sharpen filter applied (defer until after the upscale).
danij
02:05 Revision be9eb346 (github): Replaced the global patchinfo_t structs in the DOOM64 intermission with patchid_t
danij
02:01 Revision 4060437c (github): Updated the DOOM64 intermission to use the GF_SMALL font.
danij
01:27 Revision 5544a4fe (github): Fixed Pause graphic offset again.
danij
01:27 Revision 11236c31 (github): Changed DOOM: Draw all owned keys on the statusbar if not cvar "hud-keys-combine" (e.g., if the player owns both the Blue Keycard and the Blue Skull they will both be drawn in slot 1).
danij
00:24 Revision de9001ea (github): Various changes to the processing of Patches loaded with the Upscale and Sharpen/Monochrome filters:
* If applying both, defer Monochrome until after the Indexed+A to RGBA translation. Doing it the other way around we ... danij

2010-05-20

23:00 Revision 6bc681c1 (github): Fixed missing tens of seconds digit when less than 10 in DOOM's WI_drawTime.
danij
21:28 Revision 04412904 (github): Replaced the global patchinfo_t structs used in the DOOM intermission with patchid_t
danij
12:08 Revision 191af5ab (github): Created a font out of DOOM's WI* patches (used in the intermission). Updated the DOOM intermission to use the new GF_SMALL font for drawing the kills, items, secrets percentages and par plus time.
danij
09:15 Revision f25c3114 (github): Replaced existing calls to DrINumber by building a text fragment for the value to be drawn and passing that to M_DrawTextFragment4. Removed DrINumber in Hexen.
Adjusted text fragment tracking of the status bar counters in Hexen to better match the original game.
Implemented mo...
danij
08:19 Revision 739dd11a (github): Replaced existing calls to DrINumber by building a text fragment for the value to be drawn and passing that to M_DrawTextFragment4. Removed DrINumber in Heretic.
Adjusted text fragment tracking of the status bar counters in Heretic to better match the original game (note: the or... danij
06:37 Revision 2437203c (github): Replaced existing calls to Hu_DrawSmallNum by building a text fragment for the value to be drawn and passing that to M_DrawTextFragment4.
Removed Hu_DrawSmallNum. danij
05:34 Revision a3a6f49e (github): Further fixes to the positioning and visible dimension calculation of the spinning Tomb of Power indicator in Heretic.
danij
05:22 Revision 80d3ee14 (github): Replaced existing calls to M_DrawSmallNumber by building a text fragment for the value to be drawn and passing that to M_DrawTextFragment4.
Removed M_DrawSmallNumber.
Updated the spinning Tomb of Power indicator in Heretic to accurately calculate the actual...
danij
05:07 Revision c8f1ac10 (github): Lets try that again... (clearly I need sleep, haha).
danij
05:04 Revision df9ab2ae (github): Fix off-by-one character track inaccuracy error in M_TextFragmentWidth2.
danij
05:01 Revision 4da287cf (github): Implemented the typographic concept of "tracking" for text-fragments.
danij
04:34 Revision be4215f3 (github): Updated the current mana counter, health, armor and frags widgets in HEXEN to accurately calculate the actual visible dimensions of the widget.
danij
04:30 Revision dd1e9f74 (github): Updated the current ammo, health, armor and frags widgets in DOOM to accurately calculate the actual visible dimensions of the widget.
danij
04:20 Revision fb6eb7a3 (github): Replaced existing calls to Hu_DrawNum by building a text fragment for the value to be drawn and passing that to M_DrawTextFragment3.
Removed Hu_DrawNum. danij
03:09 Revision 16cfb6a5 (github): Temporarily moved internal HUD widget state out of st_number_t and into hudstate_t and removed st_number_t.
Deleted plugins/common/st_lib.c and plugins/common/include/st_lib.h from the source tree. danij
02:32 Revision 9e21dc99 (github): Removed st_multiicon_t completely; this widget actually had no useful internal state as all values can be trivially computed at draw time.
danij
00:01 Revision e38d8709 (github): Removed st_icon_t completely; this widget actually had no useful internal state as all values can be trivially computed at draw time.
danij

2010-05-19

23:52 Revision 097650aa (github): Removed STlib_DrawNum completely, existing calls replaced with direct calls to Hu_DrawNum
danij
23:50 Revision e85b204f (github): Replaced the st_number_t* ptr argument of STlib_DrawNum with an integer value, making it the caller's responsibility to pass it.
danij

2010-05-18

07:53 Revision 8bad8d3f (github): Completed next step of the game-side 2D drawing clean up; moved all draw paramaters from the st_number_t struct into the draw routine for associated widget. As most of these values can be considered constants they need not be held as state variables.
danij
05:30 Revision 92792554 (github): Changed DOOM: Changed the built-in Patch replacement strings for the main menu load/save items and the headings on the load/save menus to better match the original patches.
danij
05:28 Revision a809f959 (github): Changed DOOM: Changed the default colors for the menu, fullscreen HUD and large statusbar counters to better match the original Patches.
danij
04:01 Revision 8c02860e (github): Rounded up the rest of the special-case text drawing methods and moved them into hu_stuff.c ready for assimilation.
danij
03:17 Revision 69a30972 (github): Changed Heretic/Hexen: Remapped the FONTA character patches for ASCII 91-94 to minimize impact on the standard naming convention. The new mapping only requires swapping the patches for characters 91<>95.
Don't forget to re-run packres.py! danij
02:29 Revision 2d850969 (github): Clean up.
danij
02:28 Revision 41d3a0ca (github): Fix type-in effect on multi-line/paramater-formated text.
danij
00:07 Revision bd0fb239 (github): For now, simply ignore paramater blocks in M_TextHeight until the parser for which is reimplemented.
danij

2010-05-17

23:40 Revision 90b30406 (github): M_TextFragmentHeight was missing a zero check for end of string.
danij
23:29 Revision b269a764 (github): Quickly implemented a basic method for horizontal alignment of Patch based text strings.
* Renamed all M_DrawText* methods to M_DrawTextFragment and modified so that they now draw only a single line of text... danij
09:03 Revision d95c05d1 (github): Fix Patch vertical alignment offset in M_DrawPatch2.
Next step: Implement proper alignment of multi-line text strings in M_DrawText4 and introduce a lineheight paramater. danij
08:56 Revision c4561fd8 (github): Fix alignment of Heretic fullscreen health and current item widgets.
danij
08:56 Revision 32ece30d (github): Fix important game message vertical offset.
danij
07:40 Revision 54a56543 (github): Further fixes to the player in-void status checking.
danij
07:39 Revision 5d107427 (github): Clean up.
danij
06:33 Revision e33e2a35 (github): Updated calls to M_DrawText to use the default value for font where appropriate.
danij
06:29 Revision 5bbaa6c5 (github): Updated calls to M_DrawText and M_DrawPatch to use the default value for flags where appropriate.
danij
06:02 Revision 4a08eb6f (github): Further smoothed the offset scrolling of the player message log.
danij
05:59 Revision 58df1483 (github): Removed the color+alpha arguments from the paramater lists of the various M_DrawText methods. Text is now always drawn using the current GL color.
danij
03:08 Revision e4017d54 (github): Implemented DGL_GetFloatv for the purposes of querying the current GL color and/or alpha and returning floating point values.
danij
02:59 Revision 5daf0f45 (github): Added TOPLEFT/BOTTOMLEFT/TOPRIGHT/BOTTOMRIGHT drawText and drawPatch flags for improved brevity when making calls to these methods.
danij
02:31 Revision 923d383e (github): Completed the next phase of the game-side 2D drawing cleanup; implemented vertical alignment/positioning flags for Patches and text strings. Also began removing game-side global copies of patchinfo_t, which are no longer needed.
Todo: Implement proper alignment calculations for paramaterized Patch replacement strings. The current algorithm for ... danij

2010-05-16

23:10 Revision d4f686f2 (github): Fixed positioning of the message scale slider handle in the HUD options menu.
danij
22:09 Revision 754ef06d (github): Fixed All games: After a teleport the player's view bob offset was not zeroed, resulting in brief interpolation of the view height from the old relative height back to zero.
Fixed DOOM/Heretic: Teleporting voodoodolls would affect the real player's view height offset and look direction. danij
20:12 Revision 52969736 (github): Changed: Disabled the BlackOutlines algorithm previously used on Upscale and Sharpen patches. The black outlines only really worked with Heretic's big green font yet made the others look much worse. If this enhancement is to be automatically applied then it needs to be much smarter; calculate a "contrast" paramater from the original image data and use the contrast as in inverse scale factor on the size and darkness of the outline.
danij
20:08 Revision 46012fe5 (github): Clean up.
danij
08:31 Revision 82d14c9b (github): Fixed alpha blending artefacts on the menu sliders in Heretic and Hexen when fading in/out.
danij
07:27 Revision 784734a5 (github): Fixed: Patches prepared using the Upscale and Sharpen conversion filter subsequently put throught the hq2x filter (again) if Smart Filtering is enabled.
Clean up. danij
06:03 Revision 67ce4288 (github): Clean up.
danij
05:38 Revision 4fa1b344 (github): Tweaked the color of the statusbar ammo/maxammo counters adding a bit more red into the mix.
danij
05:25 Revision 02bcd647 (github): Fixed positioning of the Paused graphic.
danij
05:25 Revision 44eb7761 (github): Made unhighlighted items in the fullscreen HUD inventory widget a bit less translucent as they were difficult to distinguish.
danij
05:23 Revision 946d96d8 (github): Made a font out of the Hexen IN* Patches (used on the statusbar and the fullscreen HUD).
danij
05:00 Revision 0dfcb1d0 (github): Created a font from the Heretic IN* patches (used on the statusbar and the fullscreen HUD).
danij
05:00 Revision 4b9ee65e (github): Further menu color widget fixes.
danij
04:59 Revision b3a4ca43 (github): Clean up.
danij
04:58 Revision 56d256b0 (github): Fixed compilation errors in jDoom64.
danij
02:55 Revision 3d9f054a (github): Created a font out of DOOM's STT* font Patches (used for the armor and health percentages and frag count).
danij
02:21 Revision f2a1944a (github): Changed: When loading Patch format graphics with both the Upscale and Sharpen and Monochrome translation/filters enabled do the Monochrome conversion first, then Upscale and Sharpen. As this produces better results. The Upscale method utilizes the HQ2x algorithm which aims to retain the shape of regions with similar colors. By doing the monochrome conversion first, regions of similar luminosity but different hue are no longer treated as distinct seperate forms.
Fixed: Under/overflow in GL_DeSaturatePalettedImage resulting in visible artefacts in Patches. danij

2010-05-15

23:45 Revision bcf3f36e (github): Made a font out of the STYSNUM patches in DOOM (used for the owned/max ammo counters on the statusbar). Note that although the owned weapon icons use the same patches I'm not using the font drawing methods for these; although the original resources depict the number of the weapon slot this may not be the case in mods i.e., they are icons and not counters.
danij
20:40 Revision 14da0310 (github): Made a font out of the SMALLIN number patches in Hexen.
danij
08:12 Revision 06a96aca (github): Fixed: Buffer overflow vulnerability in WI_DrawParamText.
Removed HUlib_drawTextLine2; no longer used.
Fixed fatal error in R_FindPatchTex due to missing font character patches.
danij
07:12 Revision 774c9fe9 (github): Further standardising on conventions with the game-side text/character drawing methods.
danij
06:55 Revision deeac67a (github): Removed HU_DrawBNumber and DrBNumber completely; they are no longer used.
danij
06:49 Revision 8db1b027 (github): Utilize M_DrawShadowedChar2 rather than M_DrawShadowedPatch3 in HU_DrawBNumber and DrBNumber.
danij
06:44 Revision 8c1c6fe0 (github): Utilize M_DrawShadowedChar in IN_DrawNumber
danij
06:38 Revision ff23d241 (github): Added a DTF_* flags argument to M_DrawShadowedChar2
danij
06:35 Revision 182efa9c (github): Replaced redundant patch positioning calculations in IN_DrawNumber with use of the appropriate DTF_ alignment flag.
danij
06:28 Revision 91b928d4 (github): Replace function calls to M_DrawPatch2 in text drawing methods with M_DrawChar2.
danij
06:12 Revision 16a6a37c (github): Use M_DrawPatch2 rather than M_DrawPatch in the specialised text string drawing methods.
danij
06:08 Revision 914ebcb9 (github): Removed duplicate font patch look up logic in the various text drawing routines.
danij
05:25 Revision b326d362 (github): Various text typein fixes.
danij
04:53 Revision 2484c109 (github): Removed the defTypeIn and defShadow arguments of WI_DrawParamText as now redundant.
danij
04:41 Revision ef52cd3c (github): Turned the flagTypeIn and flagShadow arguments for M_DrawText3/4/5 into DTF_* flags.
danij
04:15 Revision 79543261 (github): Reordered argument lists for the various M_DrawText routines moving color+alpha further toward the end of the list.
danij
03:15 Revision 1151daf6 (github): Renamed many of the game-side 2D drawing functions to follow a standard convention.
danij
01:49 Revision 46ee399f (github): Standardize argument list ordering of M_DrawBackgroundBox moving the colour+alpha to the end (inline with the conventions applied to the rest of the 2D drawing methods).
danij

2010-05-14

20:25 Revision 8c593dde (github): Continuing clean up of game-side 2D drawing.
danij
18:05 Revision 11ad2ff3 (github): Restore verbose warning about missing Patches in R_GetPatchTex.
danij
08:24 Revision e50e3afc (github): Fixed: Bilinear filtering of UI Patches was determined by the "World" setting in the control panel.
danij
08:20 Revision 2ebc0543 (github): Renamed cvar "rend-tex-filter-raw" to "rend-tex-filter-ui".
Removed ccmd "smoothscr" now unnecessary as the cvar "rend-tex-filter-ui" can be modified directly. danij
08:04 Revision 6b424948 (github): Fix Read This background patch selection in DOOM2 (correct patch is "HELP" not "HELP1").
danij
07:48 Revision 751117bf (github): Changed All games: Allow the gravity multiplier to work in single player games as well as multiplayer.
danij
07:28 Revision 2e1b6e85 (github): Fixed scale problem with Patch drawing.
danij
05:44 Revision a38a0aae (github): Collect together all the patchtex_t and patchinfo_t routines.
danij
05:28 Revision be6d7afe (github): Clean up.
danij
04:59 Revision 5630aa0a (github): Merged the specialized drawPatch routine in Heretic's st_stuff.c with Hu_DrawPatch.
danij
04:40 Revision 4270b621 (github): Moved DGL_DrawPatch into libcommon and renamed Hu_DrawPatch.
danij
03:41 Revision 4403fca6 (github): Refactored DGL_DrawRawScreen to assume the caller has already configured the DGL state as necessary. Removed DGL_DrawRawScreen_CS.
danij
03:06 Revision 0d1f6695 (github): Moved DGL_DrawShadowedPatch out of the engine and into libcommon. Renamed as Hu_DrawShadowedPatch.
danij
03:00 Revision 3a4251f5 (github): Removed the old DGL_DrawPatch, replaced all calls with DGL_DrawPatch_CS (and adding any necessary state changes) then renamed DGL_DrawPatch_CS to DGL_DrawPatch. All patch drawing now assumes the correct GL state has been setup prior to calling DGL_DrawPatch.
danij
02:46 Revision eee3c88e (github): Removed DGL_DrawAltFuzzPatch.
danij
02:41 Revision b1cb3557 (github): Removed DGL_DrawFuzzPatch.
danij
02:35 Revision 3f266bdd (github): Removed DGL_DrawPatchLitAlpha.
danij
02:06 Revision 3eec54f9 (github): Changed the prefix for the various GL_* drawing routines for Patch and Raw textures to DGL_ in preparation for assimilation into the DGL subsystem.
danij
00:07 Revision 1befd4fa (github): Standardize argument list ordering of GL Patch drawing functions inline with the conventions applied to the rest of the API.
danij

2010-05-13

23:23 Revision ca1659ac (github): Initial steps towards using logical Patch identifiers rather than lump indices.
danij
21:41 Revision 53676ef9 (github): Removed the last remaining instances where Patch data is referenced directly by lump indices using W_GetNumForName/W_CheckNumForName game-side.
Precache the intermission Patches in Heretic. danij
20:40 Revision d79132a6 (github): Fix typo.
danij
20:35 Revision 76a81ac5 (github): Do not use W_CheckNumForName with Patches.
Removed Draw_TeleportIcon in Hexen as its no longer used. danij
20:32 Revision d479f45b (github): Continuing clean up of game-side resource referencing/identification; centralize map identifier string lookup and utilize P_MapExists rather than W_CheckNumForName.
danij
04:29 Revision 4eef8c03 (github): Precache the spinning gold skull and the bull with fire on the Heretic and Hexen (respectively) drawn in the menu.
danij
04:28 Revision 56ff826d (github): R_GetPatchTex must gracefully handle invalid lump indices.
danij
03:10 Revision 2710df03 (github): Do not draw the load/save plaques when loading/saving the game in Hexen; Doomsday draws the progress wheel in this spot and drawing both looks untidy.
danij
03:06 Revision 63766c93 (github): Precache more patches used with UI drawing (in the process removing public use of lump indices as identifiers).
Clean up. danij
02:05 Revision 7d5b94fa (github): Further type tweaks in GUI_DrawWidgets to maintain accuracy.
danij
02:00 Revision 1553f0f8 (github): Changed DOOM/Heretic: As the kills/items/secrets counters are now part of the regular HUD they should be colored by the cfg.hudColor.
danij
01:58 Revision 9824be0a (github): Accumulate drawn widget group dimensions using floats rather than integers as discarding the fractional part (introduced by the per-widget scaling) can add up to a large degree of inaccuracy (resulting in inconsistent positioning).
danij
01:29 Revision 3a6fd598 (github): Precache patches used for drawing the menu sliders.
danij
00:58 Revision fcbb3e3b (github): Various fixes to minor drawing issues in the DOOM menu (strings that should type-in but don't, alpha blending artefacts on the slider widgets, etc).
danij
00:09 Revision 74593263 (github): Draw a shadow behind slider widgets in the menu if menu-shadow is enabled.
Todo: Use this method elsewhere rather than duplicate code (e.g., the automap uses a similar routine for drawing glow... danij

2010-05-12

22:40 Revision ea7313f9 (github): Fixed All games: Menu-shadow did not work.
danij
22:39 Revision 56cd04d6 (github): Font kerning fix for "Upscale and Sharpen" patches take 2. I see what this was trying to do now.
danij
22:12 Revision 7a197089 (github): Fixed DOOM: Fullscreen HUD counters drawn using the menu text shadow and type-in effect if enabled.
danij
22:05 Revision a4262053 (github): Fixed paletted flats erroneously identified as having an alpha channel after recent changes to GLTexture_Prepare
danij
21:35 Revision 7ef75b64 (github): Fix line endings.
danij
17:39 Revision 8720062e (github): Reinstated the upscale and sharpen and monochrome patch loading conversion/translation algorithms.
Fixed: Font kerning on Patch based fonts loaded using the "Upscale and Sharpen" algorithm. danij
16:22 Revision 1ef51aae (github): Fixed lightmap loading after recent changes to GLTexture_Prepare.
danij
15:41 Revision 2cd45c1b (github): Added verbose log message detailing the paramaters for balancing done to detail textures by the Equalize algorithm.
danij
14:51 Revision 5a32e3c4 (github): Fix typo.
danij
05:41 Revision d2f6e3a1 (github): Updated class menu player sprite preview in Hexen.
danij
05:40 Revision 7af13588 (github): Fixed broken shiny texture loading after recent changes to GLTexture_Prepare.
danij
04:11 Revision 8c393cae (github): Added: Equalization algorithm used on detail textures during load which balances them toward the optimum average and amplifies the hi/low variance to achieve better results (with poor source textures) when rendering. Note this does not mean that artists no longer have to take care to do this during the creation process. A well authored detail texture will produce far better results than a bad one relying on this algorithm.
danij
00:11 Revision 3b691050 (github): Continuing the clean up of GLTexture_Prepare (and texture loading in general).
danij

2010-05-11

19:08 Revision daf68f50 (github): Began clean up of GLTexture_Prepare.
danij
07:09 Revision 23c87026 (github): Use the gltexture instance wrapper with graphics loaded in DOOM Patch format. Created new instance flags for "monochrome" and "upscale and sharpen" and incorporated them into the instancing.
Note this means that the current Patch precaching methods will generate unused instances because the public Patch dra... danij

2010-05-10

23:40 Revision b887b857 (github): Changed: Removed the splitting of large Patch and Raw format graphics into two textures. Back when this was implemented the maximum texture dimensions supported by many GL implementations was considerably smaller than is common today. So to preserve quality Doomsday would split "large" graphics up into two smaller parts. This resulted in several architectural issues as drawing these graphics necesitated the use of dedicated methods for the purpose. Today with maximum texture dimensions so much larger and support for non-power-of-two textures being common place, this splitting is no longer useful for 99% of systems and has now been removed.
danij
22:53 Revision d2850541 (github): Refactored the API for patch precaching in preparation for more extensive changes needed to support the HI_START/HI_END method for high resolution textures.
* lumppatch_t is now engine-internal.
* Removed R_CachePatch from libcommon by combining it with R_PrecachePatch.
danij
00:46 Revision ab23bae7 (github): Fix line endings.
danij
00:28 Revision e3ddd2e1 (github): Further fixes and tweaks to mobj/player movement. I think it just about feels right now.
danij
 

Also available in: Atom