<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://c4engine.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Release_Notes_for_Version_5.0</id>
	<title>Release Notes for Version 5.0 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://c4engine.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Release_Notes_for_Version_5.0"/>
	<link rel="alternate" type="text/html" href="https://c4engine.com/wiki/index.php?title=Release_Notes_for_Version_5.0&amp;action=history"/>
	<updated>2026-04-13T07:17:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://c4engine.com/wiki/index.php?title=Release_Notes_for_Version_5.0&amp;diff=89&amp;oldid=prev</id>
		<title>Eric Lengyel: Created page with &quot;__NOTOC__ '''Release date:''' September 20, 2016  (C4 version 5.0 corresponds to Tombstone version 1.0.)  == Core Engine ==  * All C-style casts have been changed to constructor syntax.  * The &lt;code&gt;*&lt;/code&gt; and &lt;code&gt;%&lt;/code&gt; operators for dot product and cross product have been removed from the engine. The &lt;code&gt;Dot()&lt;/code&gt; and &lt;code&gt;Cross()&lt;/code&gt; functions should always be used instead.  * The container modification and iteration functions have been made more verbos...&quot;</title>
		<link rel="alternate" type="text/html" href="https://c4engine.com/wiki/index.php?title=Release_Notes_for_Version_5.0&amp;diff=89&amp;oldid=prev"/>
		<updated>2023-07-15T10:19:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ &amp;#039;&amp;#039;&amp;#039;Release date:&amp;#039;&amp;#039;&amp;#039; September 20, 2016  (C4 version 5.0 corresponds to Tombstone version 1.0.)  == Core Engine ==  * All C-style casts have been changed to constructor syntax.  * The &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; operators for dot product and cross product have been removed from the engine. The &amp;lt;code&amp;gt;Dot()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Cross()&amp;lt;/code&amp;gt; functions should always be used instead.  * The container modification and iteration functions have been made more verbos...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
'''Release date:''' September 20, 2016&lt;br /&gt;
&lt;br /&gt;
(C4 version 5.0 corresponds to Tombstone version 1.0.)&lt;br /&gt;
&lt;br /&gt;
== Core Engine ==&lt;br /&gt;
&lt;br /&gt;
* All C-style casts have been changed to constructor syntax.&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; operators for dot product and cross product have been removed from the engine. The &amp;lt;code&amp;gt;Dot()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Cross()&amp;lt;/code&amp;gt; functions should always be used instead.&lt;br /&gt;
&lt;br /&gt;
* The container modification and iteration functions have been made more verbose.&lt;br /&gt;
&lt;br /&gt;
* In all callback-type functions, the term &amp;quot;proc&amp;quot; has been changed to &amp;quot;callback&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;GraphEdge&amp;lt;/code&amp;gt; class has been renamed to &amp;lt;code&amp;gt;GraphRelation&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;Singleton&amp;lt;/code&amp;gt; template has been named to &amp;lt;code&amp;gt;Global&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;Manipulator&amp;lt;/code&amp;gt; class has been renamed to &amp;lt;code&amp;gt;Director&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;BuildSettingList()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;CommitSetting()&amp;lt;/code&amp;gt; functions have been added to replace the &amp;lt;code&amp;gt;GetSettingCount()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GetSetting()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;SetSetting()&amp;lt;/code&amp;gt; functions.&lt;br /&gt;
&lt;br /&gt;
* CPU timings have been added to engine, and they are displayed in the Time window.&lt;br /&gt;
&lt;br /&gt;
* All of the various resource formats have been updated. There is now a common header followed by resource-specific data.&lt;br /&gt;
&lt;br /&gt;
=== World Manager ===&lt;br /&gt;
&lt;br /&gt;
* The cell graphs into which objects are organized for each zone are now octrees instead of tall quadtrees.&lt;br /&gt;
&lt;br /&gt;
* Detail rings have been added to the engine. Each geometry node has a detail ring setting that determines at what distance the geometry starts to fade out. A world can have detail property that specifies the detail ring sizes. Indirect portals and camera widgets can specify a distance scale that modifies the sizes of all detail rings for geometry that is rendered through them.&lt;br /&gt;
&lt;br /&gt;
* A special root region graph has been added for lights to solve shadowing problems when lights are rooted in multiple zones that can see each other through portals.&lt;br /&gt;
&lt;br /&gt;
* The impostor system has been updated. Impostors now have better transition blends, and they are no longer required to be vertical.&lt;br /&gt;
&lt;br /&gt;
* The remote portal cover render stage has been removed from the engine.&lt;br /&gt;
&lt;br /&gt;
* Remote cameras have been renamed to indirect cameras, and remote portals have been renamed to indirect portals.&lt;br /&gt;
&lt;br /&gt;
* Parallel code for shadow map generation has been added to the engine to improve performance.&lt;br /&gt;
&lt;br /&gt;
* Multisampled rendering is now permanently on, and the engine uses a custom downsampling shader.&lt;br /&gt;
&lt;br /&gt;
* Infrastructure necessary for upcoming secondary frame buffer effects has been implemented.&lt;br /&gt;
&lt;br /&gt;
=== Graphics Manager ===&lt;br /&gt;
&lt;br /&gt;
* The motion blur effect has been improved for discontinuous screen-space velocities.&lt;br /&gt;
&lt;br /&gt;
* Clipping plane support has been added to vertex shaders. Clipping planes are exposed for widgets.&lt;br /&gt;
&lt;br /&gt;
* The engine now has the ability to reference material resources from material objects.&lt;br /&gt;
&lt;br /&gt;
* The fog rendering code has been enhanced.&lt;br /&gt;
&lt;br /&gt;
=== Interface Manager ===&lt;br /&gt;
&lt;br /&gt;
* All text rendering in the engine has been replaced with a new technology that renders glyphs directly from outline data directly on the GPU. Support for kerning and tracking have been added.&lt;br /&gt;
&lt;br /&gt;
=== Sound Manager ===&lt;br /&gt;
&lt;br /&gt;
* The engine now uses a new proprietary audio format.&lt;br /&gt;
&lt;br /&gt;
* The sound streaming code has been changed to use triple buffering. This ensures that there can be no breaks when a streaming sound loops or starts a new file.&lt;br /&gt;
&lt;br /&gt;
=== Controllers ===&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;Controller::ScheduleSleep()&amp;lt;/code&amp;gt; function and Schedule Sleep script method have been added to the engine.&lt;br /&gt;
&lt;br /&gt;
* The ability now exists for a script method to delete the node to which the script is attached or one of its predecessors.&lt;br /&gt;
&lt;br /&gt;
=== Physics ===&lt;br /&gt;
&lt;br /&gt;
* The Shape node now supports dynamic shape substances.&lt;br /&gt;
&lt;br /&gt;
* The Set Shape Substance modifier has been added to the engine.&lt;br /&gt;
&lt;br /&gt;
=== Math Library ===&lt;br /&gt;
&lt;br /&gt;
* Custom versions of all transcendental functions and inverse trig functions have been implemented in the engine.&lt;br /&gt;
&lt;br /&gt;
* The various vector, bivector, and trivector classes have been improved.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
=== World Editor ===&lt;br /&gt;
&lt;br /&gt;
* The [[World Editor]] now has a complete set of landscaping paint tools.&lt;br /&gt;
&lt;br /&gt;
* The performance of radiosity space generation has been improved by breaking the work into parallel jobs.&lt;br /&gt;
&lt;br /&gt;
* A new tilt setting has been added to the placement adjuster in the World Editor and [[Landscaping Editor]].&lt;br /&gt;
&lt;br /&gt;
* A new director cell graph has been implemented in the [[World Editor]]. This drastically improves performance for scenes containing a lot of vegetation.&lt;br /&gt;
&lt;br /&gt;
* The rendering code and picking code in the [[World Editor]] have been modified to use the cell graph. Director bounding spheres have been removed.&lt;br /&gt;
&lt;br /&gt;
* The list of available materials in the [[World Editor]] is now displayed in the [[Material Page]], and the Material Manager has been renamed to [[Material Editor]].&lt;br /&gt;
&lt;br /&gt;
* [[Material Editor]] functionality for external material resources has been added.&lt;br /&gt;
&lt;br /&gt;
=== Script Editor ===&lt;br /&gt;
&lt;br /&gt;
* The method appearance in the [[Script Editor]] has been changed to a larger box size.&lt;br /&gt;
&lt;br /&gt;
=== Texture Tool ===&lt;br /&gt;
&lt;br /&gt;
* The configuration files for [[Texture Importer]] have been updated to use the OpenDDL format.&lt;br /&gt;
&lt;br /&gt;
=== Sound Tool ===&lt;br /&gt;
&lt;br /&gt;
* A [[Sound Importer]] tool has been added, and it converts &amp;lt;code&amp;gt;.wav&amp;lt;/code&amp;gt; files to the new format.&lt;/div&gt;</summary>
		<author><name>Eric Lengyel</name></author>
	</entry>
</feed>