Doomsday Font and UI Tune-Up
<i>This post was originally made by <b>skyjake</b> on the dengDevs blog. It was posted under the category: Engine.</i>
In revisions 3230 through 3235 I have added a new set of fonts and tweaked the UI so that things look a bit better. Make sure to check out the new default settings for the console.
<ul>
<li>Three variants of the variable-width font (normal, light, bold).
<li>Console now has the Doomsday titlebar.
<li>Console background defaults look much better.
<li>Text drawing should be faster since no separate shadow has to be drawn.
</ul>
We still could revise the UI theme and colors, but I think these changes already make a significant improvement (IMHO!). I think there are a couple of details left to tune (console help box overflows), but on the whole it's looking quite good.
In revisions 3230 through 3235 I have added a new set of fonts and tweaked the UI so that things look a bit better. Make sure to check out the new default settings for the console.
<ul>
<li>Three variants of the variable-width font (normal, light, bold).
<li>Console now has the Doomsday titlebar.
<li>Console background defaults look much better.
<li>Text drawing should be faster since no separate shadow has to be drawn.
</ul>
We still could revise the UI theme and colors, but I think these changes already make a significant improvement (IMHO!). I think there are a couple of details left to tune (console help box overflows), but on the whole it's looking quite good.
Comments
<pre>*ptr++ = (alpha | (blue << 8) | (green << 16) | (red << 24));</pre>
ULONG() may have to be used, and the order of the components reversed.
I've noticed a few small issues:
<ul>
<li>Console text can be seen through the Doomsday titlebar due it's transparency.</li>
<li>Text inside UI buttons in the control panel is too low (about 6 relative pixels).</li>
<li>Setting the font to use DOOMFONT (eg) makes the font in the Doomsday titlebar huge, forcing the [gamename] string off screen.</li>
<li>The width of the cursor in the console doesn't match the width of the character underneath it. Never a problem with fixed width fonts.</li>
<li>CCMD "font": the 'default' settings need to be updated to match those of the font chosen at startup.</li>
</ul>
It would be nice if the UI faded out when adjusting the light range compression, ambient light level and other similar settings when in-game (maybe display the light range matrix too).
Also, I think the fading of the UI when adjusting the video settings currently is a little bit too slow.
What do you think of the slightly tweaked version of the Doomsday logo I created for the DEW? It has a bit of an under light which I think makes it look a bit better.
<blockquote>Text inside UI buttons in the control panel is too low (about 6 relative pixels).</blockquote> Yes, I noticed that too. It seems like it's caused by the rather high line height of Gill Sans. I'll tweak the font script and the renderer so that ascent+descent it used as line height, instead of the glyph bitmap height, and adjust the normal fonts' ascent to be a bit lower.
<blockquote>The width of the cursor in the console doesn't match the width of the character underneath it.</blockquote>Should be fixed now?
Well, its not urgent
<ul>
<li>Title bar height a bit shorter.
<li>Alignment of text in buttons (and other centered lines) should be better now.
<li>DOOMFONT does not mess up the title bar.
<li>Console cursor width seems OK to me now.
<li>"font default" updated.
</ul>
<blockquote>Also, I think the fading of the UI when adjusting the video settings currently is a little bit too slow.</blockquote> Also adjusted to be a bit faster. The speed should be a cvar, though. Look for UI_ALPHA_FADE_STEP in ui_main.c.
<blockquote>What do you think of the slightly tweaked version of the Doomsday logo I created for the DEW? It has a bit of an under light which I think makes it look a bit better.</blockquote> Looks fine, but in the control panel there is no light coming from underneath, so I don't think it would work there so well.
I've not really noticed any other problems other than:
When editing a text field in the UI - the cursor is not positioned correctly. It looks like it is being positioned relative based on fixed-width font?
Definetly broken here: <a href="http://www.daniel.ddsdesign.co.uk/Stuff/editfieldcursor.png" rel="nofollow">editfieldcursor.png</a>
Sorry, you're right I wasn't using revision 3243. I could have sworn I ran update before I commited my changelog entries...
<blockquote>When editing a text field in the UI - the cursor is not positioned correctly.</blockquote>
This issue is resolved in 3243 for me too.
However, I now get the following new warnings with 3243:
<blockquote>Src\con_main.c(2673) : warning C4013: 'GL_ChooseFixedFont' undefined; assuming extern returning int
Src\con_main.c(2673) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
Src\con_main.c(2688) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'</blockquote>