Release Notes for Version 6.0

From C4 Engine Wiki
Jump to navigation Jump to search

Release date: January 27, 2017

(C4 version 6.0 corresponds to Tombstone version 2.0.)

Core Engine

  • Support for the Open Data Description Language has been updated to version 2.0.

Graphics Manager

  • A few new workarounds have been implemented to deal with subtle bugs in the AMD graphics driver.

Interface Manager

  • All text drawing, both in the user interface and in panel effects, now uses our new technology to render glyphs on the GPU directly from font outline data. A shader reads the quadratic Bézier curves from a special texture map for each glyph and calculates nicely antialiased edges at any resolution. The engine no longer uses texture maps to store pre-rendered bitmap versions of each glyph at one specific font size. Text is sharply rendered no matter how large it is scaled or how it is rotated. This technology anticipates the increasing ubiquity of higher DPI displays where glyphs are rendered at a higher resolution over the same physical area to achieve greater quality.
  • Every type of widget that draws text now has a font size setting. The font size corresponds to the height of the em square for the font. (The height of capital letters is usually around 70% of the em square height, but there is no strict rule about this.) Text widgets also have an independent scale factor, and the font size is multiplied by this scale factor to determine the final size of the glyphs that are rendered.
  • The text layout code in the engine now uses exact glyph advance widths to position characters, which results in fractional positioning that is correct at all font sizes. This has a much nicer appearance compared to the integral widths used by the texture-based glyphs in earlier versions of the engine.
  • The text layout code now also supports kerning. Using the tables contained in the original font, some pairs of glyphs are moved closer together, or sometimes further apart, to improve appearance. Kerning is enabled by default, but text widgets have a setting to disable it if desired.
  • Text can now have special effects applied, and they can be dynamically changed at run-time. Two effects are currently available, a shadow effect and a glow effect.
  • The color picker dialog now contains copy and paste buttons that operate on the current color.


Font Importer

  • The Font Importer now reads TrueType Font (.ttf) files directly instead of relying on the operating system to rasterize glyphs. This means that fonts can be imported on all platforms, and the results are identical on all platforms.
  • All Unicode values up to U+2FFFF are now support by the Font Importer, which is everything belonging to the Basic Multilingual Plane (BMP), as before, plus the Supplementary Multilingual Plane (SMP) and the Supplementary Ideographic Plane (SIP). This covers all renderable glyphs currently defined by Unicode.
  • When a font is imported, the settings in the Font Importer are saved to a config file so they can be restored if the font is ever imported again. This includes which ranges of glyphs are selected to be imported.

OpenGEX Importer

  • Support for the OpenGEX format has been updated to version 2.0.