<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Julien Templier &#187; Dreams</title>
	<atom:link href="http://www.templier.info/category/dreams/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.templier.info</link>
	<description>"It's not under construction, just perpetually unfinished"</description>
	<lastBuildDate>Thu, 23 Jul 2009 19:36:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Nightmares &#8211; a dynamic dream testing utility</title>
		<link>http://www.templier.info/2008/08/31/nightmares-a-dynamic-dream-testing-utility/</link>
		<comments>http://www.templier.info/2008/08/31/nightmares-a-dynamic-dream-testing-utility/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 00:03:09 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/08/31/nightmares-a-dynamic-dream-testing-utility/</guid>
		<description><![CDATA[Nightmares is a small application created to test dynamic dreams. It runs them in a window, allowing you to debug them easily or to record a preview video. You can set the window size (default is 800&#215;600), chose an output file and FourCC code for the output video. It currently only runs unprotected dreams: the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.templier.info/wp-content/uploads/2008/08/nightmares-build-10173-dynamic-dream-testing-utility.png"><img border="0" alt="Nightmares (Build 1.0.173) - Dynamic dream testing utility" align="right" src="http://www.templier.info/wp-content/uploads/2008/08/nightmares-build-10173-dynamic-dream-testing-utility-thumb.png" width="305" height="231" /></a>Nightmares is a small application created to test dynamic dreams. It runs them in a window,     <br />allowing you to debug them easily or to record a preview video.</p>
<p>You can set the window size (default is 800&#215;600), chose an output file and FourCC code for the output video.</p>
<p>It currently only runs unprotected dreams: the dreams that come with DeskScapes will work, but any dynamic dream that you bought won&#8217;t.</p>
<p>See the readme file for command line switches.</p>
<p>Download test build <a title="Nightmares" href="http://www.templier.info/downloads/Nightmares.zip">here</a>.</p>
<p>Update: Added preliminary support for protected Dreams (you will have to activate them first through DeskScapes).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/08/31/nightmares-a-dynamic-dream-testing-utility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TestDream Application</title>
		<link>http://www.templier.info/2008/07/30/testdream-application/</link>
		<comments>http://www.templier.info/2008/07/30/testdream-application/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 23:31:50 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/07/30/testdream-application/</guid>
		<description><![CDATA[Progress ! &#160; Still some bugs with the Bouncing Box sample, but it&#8217;s getting there. Now let&#8217;s proxy some dlls]]></description>
			<content:encoded><![CDATA[<p>Progress !</p>
<p><img height="231" alt="WaterColor" src="http://www.templier.info/wp-content/uploads/2008/07/watercolor-thumb.png" width="304" border="0" /><a href="http://www.templier.info/wp-content/uploads/2008/07/ovals.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="231" alt="Ovals" src="http://www.templier.info/wp-content/uploads/2008/07/ovals-thumb.png" width="305" border="0" /></a>&#160;</p>
<p><a href="http://www.templier.info/wp-content/uploads/2008/07/bouncingbox.png"><img height="231" alt="WaterDream" src="http://www.templier.info/wp-content/uploads/2008/07/waterdream-thumb.png" width="304" border="0" /><a href="http://www.templier.info/wp-content/uploads/2008/07/bouncingbox.png"><img height="231" alt="BouncingBox" src="http://www.templier.info/wp-content/uploads/2008/07/bouncingbox-thumb.png" width="304" border="0" /></a></a></p>
<p>Still some bugs with the Bouncing Box sample, but it&#8217;s getting there. Now let&#8217;s proxy some dlls <img src='http://www.templier.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> <a href="http://www.templier.info/wp-content/uploads/2008/07/bouncingbox.png"> </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/07/30/testdream-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Valentine Dream released!</title>
		<link>http://www.templier.info/2008/02/08/valentine-dream-released/</link>
		<comments>http://www.templier.info/2008/02/08/valentine-dream-released/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 18:25:17 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/02/08/valentine-dream-released/</guid>
		<description><![CDATA[You can download it from Wincustomize. Changes from the previous version: New &#34;Heart&#34; particle texture Blur is disabled by default (only for first time install) Toned down the blurring&#160;&#160;&#160; Fixed configuration window (no more reloading of the Dream on configuration change) Fixed reloading of textures Fixed behavior on higher quality settings Fixed crash in update [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 3px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Valentine Heart" align="right" src="http://www.templier.info/wp-content/uploads/2008/02/valentine-heart.png" width="220" height="164" /> You can download it from <a href="http://www.wincustomize.com/skins.aspx?skinid=880&amp;libid=50">Wincustomize</a>.</p>
<p>Changes from the previous version:</p>
<ul>
<li>New &quot;Heart&quot; particle texture </li>
<li>Blur is disabled by default (only for first time install) </li>
<li>Toned down the blurring&#160;&#160;&#160; </li>
<li>Fixed configuration window (no more reloading of the Dream on configuration change) </li>
<li>Fixed reloading of textures </li>
<li>Fixed behavior on higher quality settings </li>
<li>Fixed crash in update when the dream was not starting correctly </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/02/08/valentine-dream-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Valentine&#8217;s Dynamic Dream Progress</title>
		<link>http://www.templier.info/2008/02/05/valentines-dynamic-dream-progress/</link>
		<comments>http://www.templier.info/2008/02/05/valentines-dynamic-dream-progress/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 19:33:43 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/02/05/valentines-dynamic-dream-progress/</guid>
		<description><![CDATA[Since the last update, most of the work has been directed towards the configuration UI. Loading and saving settings is now fully implemented. I also added a slider to modify the size of the particles. What&#8217;s not working correctly yet: Applying a new configuration is causing the dream to reset. The colorize shader still needs [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-right: 0px; border-top: 0px; margin: 3px; border-left: 0px; border-bottom: 0px" height="289" alt="Valentine Dream Configuration Window" src="http://www.templier.info/wp-content/uploads/2008/02/configure-valentine-dream-new.png" width="241" align="right" border="0" /></p>
<p>Since the last update, most of the work has been directed towards the configuration UI. Loading and saving settings is now fully implemented. I also added a slider to modify the size of the particles. </p>
<p>What&#8217;s not working correctly yet:</p>
<ul>
<li>Applying a new configuration is causing the dream to reset.</li>
<li>The colorize shader still needs some work to make it use the particle color (the color is hard-coded right now).</li>
<li>More particle textures are needed</li>
<li>The colors need to be tweaked</li>
<li>The &quot;scaling&quot; code (to adapt to the different quality settings) is not working properly.</li>
<li>A few potential bugs in the config code <img src='http://www.templier.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>You can download a zip file containing the dll files and the resources, as well as a test program named TestDream that will load the dream inside it&#8217;s own window. Simply open a command prompt and launch it with &quot;TestDream.exe Valentine32.dll&quot;.</p>
<p>There is also a .Dream file inside, but remember that it hasn&#8217;t be tested extensively, so use it with caution (make sure to take a look at the readme file).</p>
<p><strong>Download:</strong> <a href="http://www.templier.info/downloads/ValentineDream.zip">Valentine Dream Test Build</a></p>
</p>
<p><img style="border-right: 0px; border-top: 0px; margin: 3px; border-left: 0px; border-bottom: 0px" height="164" alt="Valentine Red" src="http://www.templier.info/wp-content/uploads/2008/02/valentine-red.png" width="220" border="0" /> <img style="border-right: 0px; border-top: 0px; margin: 3px; border-left: 0px; border-bottom: 0px" height="163" alt="Valentine Rose" src="http://www.templier.info/wp-content/uploads/2008/02/valentine-rose.png" width="220" border="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/02/05/valentines-dynamic-dream-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First look at the Valentine Dream</title>
		<link>http://www.templier.info/2008/02/02/first-look-at-the-valentine-dream/</link>
		<comments>http://www.templier.info/2008/02/02/first-look-at-the-valentine-dream/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 13:14:33 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/02/02/first-look-at-the-valentine-dream/</guid>
		<description><![CDATA[Here we go: a very crude version of the configuration UI and two screenshots of the dream (with and without a background). The configuration is loaded from the registry at startup (and initialized if the dream is started for the first time). You can tweak it by changing the registry keys as the UI is [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 0px 3px; border-right-width: 0px" height="328" alt="Configure Valentine Dream" src="http://www.templier.info/wp-content/uploads/2008/02/configure-valentine-dream.png" width="273" align="right" border="0" />Here we go: a very crude version of the configuration UI and two screenshots of the dream (with and without a background).</p>
<p>The configuration is loaded from the registry at startup (and initialized if the dream is started for the first time). You can tweak it by changing the registry keys as the UI is not functional at the moment.</p>
<p>Once I have the config UI working I will make a test build available (probably not a .Dream at first) so that you can play with it a little <img src='http://www.templier.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>(Background picture is </em><a title="Valentine Favorites" href="http://www.flickr.com/photos/craftilyeverafter/2172443573/"><em>Valentine Favorites</em></a><em> by craftilyeverafter &#8211; Particle tutorial by Almar Joling was a great help) </em></p>
<p><em></em></p>
<p>&#160;</p>
<p><a href="http://www.templier.info/wp-content/uploads/2008/02/preview.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="176" alt="Preview" src="http://www.templier.info/wp-content/uploads/2008/02/preview-thumb.png" width="244" border="0" /></a> <a href="http://www.templier.info/wp-content/uploads/2008/02/preview2.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 0px 0px 10px; border-left: 0px; border-bottom: 0px" height="176" alt="Preview2" src="http://www.templier.info/wp-content/uploads/2008/02/preview2-thumb.png" width="244" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/02/02/first-look-at-the-valentine-dream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Valentine Day Dynamic Dream</title>
		<link>http://www.templier.info/2008/02/01/valentine-day-dynamic-dream/</link>
		<comments>http://www.templier.info/2008/02/01/valentine-day-dynamic-dream/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 05:17:56 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/02/01/valentine-day-dynamic-dream/</guid>
		<description><![CDATA[For valentine day, I decided to create a new dynamic dream: it will be an &#34;animated&#34; heart using particles. Time is limited, so I&#8217;m doing something simple. You will be able to tweak some settings such as change the color &#38; background, but most things will be hard-coded. It will use some particle system to [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 3px; border-right-width: 0px" height="181" alt="Sketch Dream" src="http://www.templier.info/wp-content/uploads/2008/02/sketch-dream.jpg" width="244" align="right" border="0" />For valentine day, I decided to create a new dynamic dream: it will be an &quot;animated&quot; heart using particles. Time is limited, so I&#8217;m doing something simple. You will be able to tweak some settings such as change the color &amp; background, but most things will be hard-coded.</p>
<p>It will use some particle system to create the heart itself. You will be able to change the color and texture used for the particles. The background will be chosen among a few different pictures, with a shader applied for blur &amp; coloration.</p>
<p><u>Things to do:</u></p>
<ul>
<li>load/save configuration </li>
<li>configuration UI </li>
<li>Particle &quot;engine&quot; </li>
<li>Background, with pixel shader for color &amp; blur </li>
</ul>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 3px; border-right-width: 0px" height="244" alt="Sketch Config" src="http://www.templier.info/wp-content/uploads/2008/02/sketch-config.jpg" width="224" align="left" border="0" />The plan is to get a first test build as soon as possible to get some feedback, with a pre-release build on February 8 for final tweaking. I expect to make a final release on February 12.</p>
<p>I need to find a few nice backgrounds (flick is my friend here <img src='http://www.templier.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ). Color selection for the heart will probably be limited to magenta and blue, with 2/3 different particle textures.</p>
<p>As you can see from the two pictures, I&#8217;m not really good at sketching <img src='http://www.templier.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I will try to get some screenshots of the real UI soon, so you can get a better idea of how it will look like.</p>
<p>BTW, for people wanting to create dynamic dreams, I can&#8217;t really release any source code right now, but you can start by downloading the December 2006 Microsoft DirectX SDK (the version is important!). Creating dynamic dreams is a lot like creating screensavers: get the CD3DScreensaver class that is part of DXUtil and start hacking on it. Converting that work to a dynamic dream should be relatively straightforward once the Dream SDK is released.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/02/01/valentine-day-dynamic-dream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic Dreams (in construction)</title>
		<link>http://www.templier.info/2008/01/22/dynamic-dreams-in-construction/</link>
		<comments>http://www.templier.info/2008/01/22/dynamic-dreams-in-construction/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 19:00:21 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/01/22/dynamic-dreams-in-construction/</guid>
		<description><![CDATA[After a few weeks building some tools to help me develop and debug dynamic dreams more easily, I&#8217;m back to  working on the dreams themselves. I have six dynamic dreams about to go into testing. There is still quite a lot of work to do before a public release, but they are kind of usable [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.templier.info/wp-content/uploads/2008/01/preview.png"><img border="0" align="left" width="244" src="http://www.templier.info/wp-content/uploads/2008/01/preview-thumb.png" alt="PlaneState" height="176" style="margin: 0px 3px 3px 0px; border: 0px" /></a>After a few weeks building some tools to help me develop and debug dynamic dreams more easily, I&#8217;m back to  working on the dreams themselves. I have six dynamic dreams about to go into testing. There is still quite a lot of work to do before a public release, but they are kind of usable and shouldn&#8217;t crash explorer randomly <img src='http://www.templier.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The most visible thing lacking is a proper configuration UI. Most of the settings are currently either hard-coded or read from a XML file (instead of the registry).</p>
<p>Those dreams are ports of XboxMediaCenter screensavers. Those are licensed under the GPL, so all source code will be available with the public release.</p>
<p>There are other screensavers in the collection, but they are not yet ready for testing. I will probably not release all of them (some do not make good dreams or are too hard to port).</p>
<p>Here is a description of the Dreams:<a href="http://www.templier.info/wp-content/uploads/2008/01/preview1.png"><img border="0" align="right" width="244" src="http://www.templier.info/wp-content/uploads/2008/01/preview-thumb1.png" alt="MatrixTrails" height="177" style="margin: 3px 0px 3px 3px; border: 0px" /></a></p>
<ul>
<li><strong>Asteroids</strong>: a simple asteroids game simulation (<u>note:</u> the IA is not really good at the game&#8230;).</li>
<li><strong>BioGenesis</strong>: this dream implements a &#8216;game of life&#8217; simulation. Not spectacular, but kind of mesmerizing to look at <img src='http://www.templier.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>MatrixTrails</strong>: the famous matrix letter effect. Really nice one!</li>
<li><strong>PingPong</strong>: the pong game (without score)</li>
<li><strong>PlaneState</strong>: this one is an adaptation of the <a target="_blank" href="http://www.plane9.com/">PlaneState Screensaver</a>. The different configurations are hard-coded and chosen randomly on startup.</li>
<li><strong>Stars</strong>: moving through a star field. A great demo, but probably not recommended for everyday use.</li>
</ul>
<table border="0" width="534" cellPadding="2" cellSpacing="10">
<tr>
<td width="251" vAlign="top"><a href="http://www.templier.info/wp-content/uploads/2008/01/preview2.png"><img border="0" width="251" src="http://www.templier.info/wp-content/uploads/2008/01/preview-thumb2.png" alt="BioGenesis" height="177" style="border: 0px" /></a></td>
<td width="251" vAlign="top"><a href="http://www.templier.info/wp-content/uploads/2008/01/preview3.png"><img border="0" width="244" src="http://www.templier.info/wp-content/uploads/2008/01/preview-thumb3.png" alt="Asteroids" height="175" style="border: 0px" /></a></td>
</tr>
<tr>
<td width="251" vAlign="top"><a href="http://www.templier.info/wp-content/uploads/2008/01/preview4.png"><img border="0" align="right" width="244" src="http://www.templier.info/wp-content/uploads/2008/01/preview-thumb4.png" alt="PingPong" height="177" style="border: 0px" /></a></td>
<td width="251" vAlign="top"><a href="http://www.templier.info/wp-content/uploads/2008/01/preview5.png"><img border="0" width="244" src="http://www.templier.info/wp-content/uploads/2008/01/preview-thumb5.png" alt="Stars" height="176" style="border: 0px" /></a></td>
</tr>
</table>
<p>Don&#8217;t hold you breath though, they probably won&#8217;t be released publicly until Stardock makes the Dream SDK available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/01/22/dynamic-dreams-in-construction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DreamBuilder &#8211; A command-line Dream builder</title>
		<link>http://www.templier.info/2008/01/21/dreambuilder-a-command-line-dream-builder/</link>
		<comments>http://www.templier.info/2008/01/21/dreambuilder-a-command-line-dream-builder/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 16:38:03 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Dreams]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.templier.info/2008/01/21/dreambuilder-a-command-line-dream-builder/</guid>
		<description><![CDATA[If you have tried to make Dreams in the past, you have been using DreamMaker. This application allows you to take a video file (or several of them in case of a trigger-based Dream) and &#34;compile&#34; it into a .Dream file. This Dream file also contains other information such as the name of the author, [...]]]></description>
			<content:encoded><![CDATA[<p>If you have tried to make Dreams in the past, you have been using DreamMaker. This application allows you to take a video file (or several of them in case of a trigger-based Dream) and &quot;compile&quot; it into a .Dream file. This Dream file also contains other information such as the name of the author, a website URL, copyright and permissions info, and a preview image.</p>
<p><a href="http://www.templier.info/wp-content/uploads/2008/01/matrixtrails.xmlnotepad2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 5px; border-right-width: 0px" height="192" alt="MatrixTrails.xml - Notepad2" src="http://www.templier.info/wp-content/uploads/2008/01/matrixtrails.xmlnotepad2-thumb.png" width="240" align="right" border="0" /></a>One of the current limitations of DreamMaker is the lack of a save/load mechanism, requiring you to retype everything each time you want to create a new Dream (or update an existing one). While this might not be a big deal with video and trigger-based Dreams, it begins to be a real pain the moment you start creating dynamic Dreams (even more so when you have 8 or 10 of them in development/testing at the same time). </p>
<p>Enter <strong>DreamBuilder</strong>: a command line tool to build Dreams. It uses a simple XML configuration file to load the info needed to build a Dream file. No more re-typing ! Now you can have the Dream creation cleanly integrated into you build process.</p>
<p>DreamBuilder is using the DreamMaker.dll file (part of the DreamMaker distribution) under the hood to create the Dream file, so the Dream files created will be the same that DreamMaker would have created. Error messages that DreamMaker normally shows are redirected to the console.</p>
<p><u>Pre-requisites:</u> </p>
<ul>
<li>.Net Framework 2.0 </li>
<li>DreamMaker v1.02+ should be installed (<a href="http://dream.wincustomize.com">http://dream.wincustomize.com</a>) </li>
</ul>
<p><u>Usage:</u></p>
<pre>DREAMBUILDER inputFile [/O&lt;outputDirectory&gt;] [/D&lt;variable&gt;=&lt;value&gt;]

    inputFile             Path the dream definition file
    /O&lt;outputDirectory&gt;   Path to the output directory
    /D&lt;variable&gt;=&lt;value&gt;  Defines a variable to be replaced in the XML configuration file.
                          Several such variables can be defined. </pre>
<p>By default, the Dream file will be created in the current directory, but you can specify an output directory (such as the default Dream directory in &quot;My Documents/Stardock/Dreams&quot;)</p>
<p><u>Configuration file:</u></p>
<p>Here is the example configuration file (included in the distribution). </p>
<pre class="code"><span style="color: blue">&lt;?</span><span style="color: #a31515">xml </span><span style="color: red">version</span><span style="color: blue">=</span>&quot;<span style="color: blue">1.0</span>&quot; <span style="color: red">encoding</span><span style="color: blue">=</span>&quot;<span style="color: blue">utf-8</span>&quot; <span style="color: blue">?&gt;
&lt;</span><span style="color: #a31515">dream</span><span style="color: blue">&gt;
    &lt;!-- </span><span style="color: green">Dream name - max size: 100 characters </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">name</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">name</span><span style="color: blue">&gt;
    &lt;!-- </span><span style="color: green">Dream description - max size: 600 characters </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">description</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">description</span><span style="color: blue">&gt;
    &lt;!-- </span><span style="color: green">Author name - max size: 100 characters </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">author</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">author</span><span style="color: blue">&gt;
    &lt;!-- </span><span style="color: green">Author url - max size: 200 characters </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">url</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">url</span><span style="color: blue">&gt;
    &lt;!-- </span><span style="color: green">Dream copyright information (optional) - max size: unknown </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">copyright</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">copyright</span><span style="color: blue">&gt;
    &lt;!-- </span><span style="color: green">Dream permissions information (optional) - max size: unknown </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">permissions</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">permissions</span><span style="color: blue">&gt;

    &lt;!-- </span><span style="color: green">full/relative path to preview file - max size: 256x256 - BMP, JPG, JPEG or PNG only </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">preview</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">preview</span><span style="color: blue">&gt;

    &lt;!-- </span><span style="color: green">3 possibilities: video / trigger / dynamic (if more than one is defined, the first one found is used, others are ignored) </span><span style="color: blue">--&gt;
    &lt;</span><span style="color: #a31515">data</span><span style="color: blue">&gt;

        &lt;!-- </span><span style="color: green">Video dream - full/relative path to video file - max size: 150MB - AVI, MPG, MPEG or WMV only </span><span style="color: blue">--&gt;
        &lt;</span><span style="color: #a31515">video</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">video</span><span style="color: blue">&gt;

        &lt;!-- </span><span style="color: green">Triggered video dream - type: only &quot;time&quot; is allowed at the moment</span><span style="color: blue">--&gt;
        &lt;</span><span style="color: #a31515">triggers </span><span style="color: red">type</span><span style="color: blue">=</span>&quot;<span style="color: blue">time</span>&quot;<span style="color: blue">&gt;
            &lt;!-- </span><span style="color: green">Trigger definition - at least two different triggers need to be defined </span><span style="color: blue">--&gt;
            &lt;</span><span style="color: #a31515">trigger</span><span style="color: blue">&gt;
                &lt;!-- </span><span style="color: green">Time to trigger the video - in hh:mm:ss format  </span><span style="color: blue">--&gt;
                &lt;</span><span style="color: #a31515">time</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">time</span><span style="color: blue">&gt;
                &lt;!-- </span><span style="color: green">full/relative path to the file - max size: 150MB - AVI, MPG or WMV only </span><span style="color: blue">--&gt;
                &lt;</span><span style="color: #a31515">path</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">path</span><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">trigger</span><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">triggers</span><span style="color: blue">&gt;

        &lt;!-- </span><span style="color: green">Dynamic Dream </span><span style="color: blue">--&gt;
        &lt;</span><span style="color: #a31515">dynamic</span><span style="color: blue">&gt;
            &lt;!-- </span><span style="color: green">Path to 32-bit dynamic dream dll </span><span style="color: blue">--&gt;
            &lt;</span><span style="color: #a31515">dll32</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">dll32</span><span style="color: blue">&gt;
            &lt;!-- </span><span style="color: green">Path to 64-bit dynamic dream dll </span><span style="color: blue">--&gt;
            &lt;</span><span style="color: #a31515">dll64</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">dll64</span><span style="color: blue">&gt;
            &lt;!-- </span><span style="color: green">Additional content (optional) - max number of files: 150 </span><span style="color: blue">--&gt;
            &lt;</span><span style="color: #a31515">resources</span><span style="color: blue">&gt;
                &lt;</span><span style="color: #a31515">resource</span><span style="color: blue">&gt;
                    &lt;!-- </span><span style="color: green">full/relative path to the file </span><span style="color: blue">--&gt;
                    &lt;</span><span style="color: #a31515">file</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">file</span><span style="color: blue">&gt;
                    &lt;!-- </span><span style="color: green">target path (relative to the root dream folder) </span><span style="color: blue">--&gt;
                    &lt;</span><span style="color: #a31515">path</span><span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">path</span><span style="color: blue">&gt;
                &lt;/</span><span style="color: #a31515">resource</span><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">resources</span><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">dynamic</span><span style="color: blue">&gt;

    &lt;/</span><span style="color: #a31515">data</span><span style="color: blue">&gt;

&lt;/</span><span style="color: #a31515">dream</span><span style="color: blue">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a><u></u></p>
<p>DreamBuilder is checking the XML configuration file against an XML Schema, so it will tell you if there is an error in your configuration (but the message might be a bit cryptic). </p>
<p><a href="http://www.templier.info/wp-content/uploads/2008/01/visual-studio-2005-command-prompt.png"><img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="195" alt="Visual Studio 2005 Command Prompt" src="http://www.templier.info/wp-content/uploads/2008/01/visual-studio-2005-command-prompt-thumb.png" width="240" align="left" border="0" /></a>DreamBuilder allows you to use relative paths when defining the files to use. By default, it will look for the files relative to the current directory.</p>
<p>This might be a problem if you are executing it from another folder that the one containing the files. This is why I introduced variable replacement: it provides a way to dynamically replace content in the configuration file. I use it for path handling, but you can also use it for other things such as adding a version number to the dream name.</p>
<p>The replacement step is happening before the file is parsed, so you can go crazy if you want, and generate the resource list at compile time for example.</p>
<p>You can have as many variables as you want (simply by adding another variable definition to the command line). To define a variable &quot;name&quot; with the value &quot;Julien&quot;, you use the following define: &quot;/Dname=Julien&quot;. You can then add a new variable to the XML configuration file: $name$. DreamBuilder will warn you if a variable exists without a substitution.</p>
<p><u>Example:</u></p>
<p>As an example, here is the config file I use for the MatrixTrails dynamic Dream:</p>
<pre class="code"><span style="color: blue">&lt;?</span><span style="color: #a31515">xml </span><span style="color: red">version</span><span style="color: blue">=</span>&quot;<span style="color: blue">1.0</span>&quot; <span style="color: red">encoding</span><span style="color: blue">=</span>&quot;<span style="color: blue">utf-8</span>&quot; <span style="color: blue">?&gt;
&lt;</span><span style="color: #a31515">dream</span><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">name</span><span style="color: blue">&gt;</span>MatrixTrails<span style="color: blue">&lt;/</span><span style="color: #a31515">name</span><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">description</span><span style="color: blue">&gt;</span>Matrix Trails Dream<span style="color: blue">&lt;/</span><span style="color: #a31515">description</span><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">author</span><span style="color: blue">&gt;</span>Julien Templier<span style="color: blue">&lt;/</span><span style="color: #a31515">author</span><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">url</span><span style="color: blue">&gt;</span>http://julien.wincustomize.com/<span style="color: blue">&lt;/</span><span style="color: #a31515">url</span><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">copyright</span><span style="color: blue">&gt;</span>Copyright (c) 2008, Julien Templier[...]<span style="color: blue">&lt;/</span><span style="color: #a31515">copyright</span><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">permissions</span><span style="color: blue">&gt;</span>This program is free software; you can redistribute it and/or [...]<span style="color: blue">&lt;/</span><span style="color: #a31515">permissions</span><span style="color: blue">&gt;

    &lt;</span><span style="color: #a31515">preview</span><span style="color: blue">&gt;</span>$resdir$/MatrixTrails.png<span style="color: blue">&lt;/</span><span style="color: #a31515">preview</span><span style="color: blue">&gt;

    &lt;</span><span style="color: #a31515">data</span><span style="color: blue">&gt;
        &lt;</span><span style="color: #a31515">dynamic</span><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">dll32</span><span style="color: blue">&gt;</span>$builddir$/MatrixTrails32.dll<span style="color: blue">&lt;/</span><span style="color: #a31515">dll32</span><span style="color: blue">&gt;
            &lt;</span><span style="color: #a31515">dll64</span><span style="color: blue">&gt;</span>$builddir$/MatrixTrails64.dll<span style="color: blue">&lt;/</span><span style="color: #a31515">dll64</span><span style="color: blue">&gt;

            &lt;</span><span style="color: #a31515">resources</span><span style="color: blue">&gt;
                &lt;</span><span style="color: #a31515">resource</span><span style="color: blue">&gt;
                    &lt;</span><span style="color: #a31515">file</span><span style="color: blue">&gt;</span>$resdir$/MatrixTrails.tga<span style="color: blue">&lt;/</span><span style="color: #a31515">file</span><span style="color: blue">&gt;
                    &lt;</span><span style="color: #a31515">path</span><span style="color: blue">&gt;</span>resources<span style="color: blue">&lt;/</span><span style="color: #a31515">path</span><span style="color: blue">&gt;
                &lt;/</span><span style="color: #a31515">resource</span><span style="color: blue">&gt;
            &lt;/</span><span style="color: #a31515">resources</span><span style="color: blue">&gt;
        &lt;/</span><span style="color: #a31515">dynamic</span><span style="color: blue">&gt;
    &lt;/</span><span style="color: #a31515">data</span><span style="color: blue">&gt;

&lt;/</span><span style="color: #a31515">dream</span><span style="color: blue">&gt;
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>You can see all the files have a variable at the beginning of the path. Those will be replaced when the Dream is built.</p>
<p>In Visual Studio, I then added a post-build step calling DreamBuilder that takes care of defining the right variables:</p>
<pre>DreamBuilder $(ProjectDir)/Resources/$(ProjectName).xml /O$(TargetDir) /Dresdir=$(ProjectDir)/Resources /Dbuilddir=$(TargetDir)</pre>
<p>That way, each time a build succeeds, a Dream is generated that can be easily tested &amp; distributed.</p>
<p><u>Download:</u></p>
<p>DreamBuilder is currently available as a zipped file (to be extracted to the directory of you choice). You might want to add it to your path to be able to call it from anywhere.</p>
<a class="downloadlink" href="http://www.templier.info/downloads/DreamBuilder.zip" title="Version 1.0.0.79 downloaded 109 times" >DreamBuilder (ZIP)</a>
<p>A MSI file is planned that will take care of adding the installation folder to the path.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.templier.info/2008/01/21/dreambuilder-a-command-line-dream-builder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
