Project

General

Profile

« Previous | Next » 

Revision 52514af5

Added by danij almost 14 years ago

Continued work on ringzero:
  • Added a new resource class and type for fonts.
    • Fonts can now be found using the resource locator (except during intial engine startup).
    • Added a new namespace for font resources named "Fonts:" which is mapped in Zip archives and implemented a -fontdir2 command line option.
  • Merged font renderers for both the game and engine fonts.
    • All fonts are now managed and drawn using the same (public) API.
    • Added "Composite BitmapFont" definition parsing to DED and exported all game font definitions (previously in libcommon's R_LoadCompositeFonts).
    • The engine can now draw text using the same type-in and glitter effects as the games use on the menu by default.
    • The engine can now draw text blocks with embedded paramaters, e.g. "{r=1 g=0.85 b=0.3}Some yellow text". Todo: make use of this within the console renderer to break the current one-color-per-history-buffer-line limitation.
    • The engine-side "font" ccmd is now able to set the console font to a game font. The various game-side ccmds for this (e.g., "doomfont") have been removed (obsolete).
    • Removed the Windows-specific -gdifonts and -dumpfont command line options and corresponding functionality.
    • All fonts are now compiled to GL display lists for drawing. Todo: Rewrite font renderer with more modern render paths, utilizing VBOs and shaders.
  • Fixed: Numerous instances where the current font was not being set prior to evaluating text strings.
  • Changed (InFine): Attempting to set the font of a text object to an unknown (not found) font now has no effect.
  • Moved console background drawing wholly into the engine. Previously our API allowed each game to make changes to the GL state. This didn't work out to be very practical as the engine has no idea what (if anything) had changed and was unable to restore state afterwards. Moved cvar "con-zoom" over to the engine-side as "con-background-zoom".
  • Console text drawing is now handled wholly on engine-side. Now that the API allows for game-domain fonts to be drawn using the same font renderer API as the engine - it is no longer necessary to callback to the game.
  • Deleted data/fonts/readme.txt as the first port of call for documentation is now the wiki.
  • During a texreset ensure we delete Sky-sphere textures.
  • Further fixes to minor drawing issues in the console renderer.
  • Changed: Replaced ccmd "bgturn" with the cvar "con-background-turn". Works as before.
  • Changed: Renamed cvars "con-alpha" and "con-light" to "con-background-alpha" and "con-background-light" respectively.
  • Changed: Replaced the ccmd "conbg" with the cvar "con-background-material" (a uri).
  • Fixed: Console text shadowing did not work when using a game font.
  • Fixed: Notification callback not made when a CVT_CHARPTR type cvar changed.

Todo: Why are the game fonts sometimes rendering with no texture until a texreset?
Todo: Implement more robust parsing of a Composite BitmapFont definition and add a template-based name specification method.
Todo: Render composite bitmapfonts to a single texture.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences