Release Notes for Version 2.9
From Tombstone Engine Wiki
- The file formats have been updated a little bit in this version. While it's not a requirement, you may upgrade your resources to the newer formats by typing
updateworldsin the Command Console. Always backup your entire Data folder before doing this just in case something goes wrong.
- All of the unsigned integer types that previously began with
unsigned_have been changed to begin simply with
u. For example,
unsigned_int32is now just
Array::FindArrayElement()function has been renamed to
Array::FindArrayElementIndex()to make it clear what kind of information is returned.
- The Graphics Manager on Windows and Linux now require OpenGL 3.3 plus the
GL_ARB_texture_storage_multisampleextensions. Since Apple does not support some of these extensions (and never will), this means that Tombstone 2.9 does not run on the Mac. We are planning to implement a Metal back end for the Graphics Manager in version 3.0.
- The projection matrices used by the engine have been modified to produce device-space z coordinates in the range [0,1] with reversed depth. This greatly increases depth buffer precision and eliminates Z fighting artifacts when parallel surfaces near each other are viewed from far away.
- Generalized depth offset modifications and depth bounds test optimizations have been implemented to handle oblique near plane projections. This can improve the appearance of decals in reflection or refraction images, and it can improve performance of point/cube/spot light sources in reflection or refraction images.
- The motion blur algorithm has been improved and now generates better results. The velocity buffer has been changed to a two-channel format using 8 bits per channel, using half the space it previously used.
- The method used to split linear 32-bit depths into two 16-bit depths for the floating-point structure buffer has been improved. This gives better precision farther from the camera position.
- The font format has changed in this version. Any custom fonts that were previously imported must be imported again before they can be used.
- There are many new text rendering capabilities, including underline, strikethrough, horizontal stretch, transform-based subscript/superscripts, right-to-left writing directions, bidirectional layout, adaptive supersampling, rectangle primitives, fraction formatting, and hyphen-minus substitution. Settings have been added to the Text Widget that can be used to enable these in the Panel Editor, and new embedded format directives have been added to control them within a block of text. See the Slug User Manual for details about all of the text rendering features.
- A new Text Effect node has been added to the engine. This is used to place text on surfaces within a game world and apply materials to the glyphs so they appear to be painted on the surfaces. (This is completely different from using text in a panel effect.)
- The functions that build terrain geometry have been improved so that vertex sharing occurs as often as possible. Rebuilding terrain geometries can reduce the data size by roughly 5–10%.
- The Font Importer contains new settings for the size and position of underline and strikethrough decorations and the transforms for subscripts and superscripts. These are initialized to the values specified in the input TrueType font file.
- Two basic game projects called SimpleBall and SimpleChar are now included with the engine. See Simple Games.
- Several new tutorial worlds are included in the
Data/Tutorialfolder. Some of them are starting points for tutorial articles on the wiki.