<?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>multimolti's Techblog &#187; Programming</title> <atom:link href="http://www.multimolti.com/blog/category/programming/feed/" rel="self" type="application/rss+xml" /><link>http://www.multimolti.com/blog</link> <description>Technology, Computer and Programming news</description> <lastBuildDate>Thu, 01 Jul 2010 14:18:41 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.8.2</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Currency Exchange Rates API</title><link>http://www.multimolti.com/blog/2009/07/22/currency-exchange-rates-api/</link> <comments>http://www.multimolti.com/blog/2009/07/22/currency-exchange-rates-api/#comments</comments> <pubDate>Wed, 22 Jul 2009 09:45:42 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Hacking]]></category> <category><![CDATA[Information]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[api]]></category> <category><![CDATA[bing]]></category> <category><![CDATA[calculator]]></category> <category><![CDATA[converter]]></category> <category><![CDATA[currency]]></category> <category><![CDATA[currency exchange]]></category> <category><![CDATA[google]]></category> <category><![CDATA[php]]></category> <category><![CDATA[website]]></category> <category><![CDATA[xml]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=411</guid> <description><![CDATA[There are so many websites out there who can calculate Currency Exchange Rates for you, e.g. Google Search, Bing Search or Yahoo Currency Converter. But what if you just want to have the exchange rate to use in your Desktop or Web Application? It would be kinda troublesome to extract the rate from one of [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/05/19/new-intelligent-search-engine-wolframalpha-launched/' rel='bookmark' title='Permanent Link: New &#8220;intelligent&#8221; search engine Wolfram|Alpha launched'>New &#8220;intelligent&#8221; search engine Wolfram|Alpha launched</a></li><li><a
href='http://www.multimolti.com/blog/2009/04/19/peacekeeper-browser-benchmark-safari-clearly-performing-best/' rel='bookmark' title='Permanent Link: Peacekeeper Browser Benchmark &#8211; Safari clearly performing best!'>Peacekeeper Browser Benchmark &#8211; Safari clearly performing best!</a></li><li><a
href='http://www.multimolti.com/blog/2009/01/01/friendmap-facebook-application/' rel='bookmark' title='Permanent Link: FriendMap &#8211; Facebook Application'>FriendMap &#8211; Facebook Application</a></li></ol>]]></description> <content:encoded><![CDATA[<p>There are so many websites out there who can calculate Currency Exchange Rates for you, e.g. <a
href="http://www.google.de/search?source=ig&amp;hl=en&amp;rlz=&amp;q=100usd+to+eur&amp;btnG=Google+Search&amp;aq=f&amp;oq=" target="_blank">Google Search</a>, <a
href="http://www.bing.com/search?q=100+usd+to+eur&amp;go=&amp;form=QBLH&amp;qs=n" target="_blank">Bing Search</a> or <a
href="http://finance.yahoo.com/currency-converter#from=USD;to=EUR;amt=1" target="_blank">Yahoo Currency Converter</a>. But what if you just want to have the exchange rate to use in your Desktop or Web Application? It would be kinda troublesome to extract the rate from one of the websites above, especially when they decide to change the layout of their HTML code.</p><p>That&#8217;s why I decided to create a very simple <a
href="http://www.multimolti.com/apps/currencyapi/index.php" target="_blank">Currency Exchange Rates API</a>. This API allows you to either get the<a
href="http://www.multimolti.com/apps/currencyapi/index.php?curr=EUR" target="_blank"> conversion rate from US Dollar to your desired currency</a> or can <a
href="http://www.multimolti.com/apps/currencyapi/calculator.php?original=USD&amp;target=EUR&amp;value=100" target="_blank">directly convert an entered value</a>. The output is plain text, without HTML or XML attributes for easy access from all sources.</p><h2>How does it work?</h2><p>Just call the URL of the API with your desired exchange rate as parameter, e.g.<div
class="codesnip-container" ><a
href="http://www.multimolti.com/apps/currencyapi/index.php?curr=EUR" target="_blank">index.php?curr=EUR</a></div><p> for Euro. This will return the exchange rate from USD to EUR:</p><p><img
class="alignnone size-full wp-image-412" title="currencyapi01" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/07/currencyapi01.png" alt="currencyapi01" width="554" height="121" /></p><h2>Which currencies are supported?</h2><p>All in all, 126 different currencies are supported. See a <a
href="http://www.multimolti.com/apps/currencyapi/index.php" target="_blank">list of all supported currencies</a> on the index page.</p><h2>Are the values up-to-date?</h2><p>The API updates itself once an hour, so the values you&#8217;re getting may be up to 1h old. This should be good enough since these values are for information purposes only.</p><h2>How can I use the API on my website?</h2><p>This example shows how to use the API to display 100$ in € (please replace the &amp;amp; stuff in the URL with a normal &amp;, can&#8217;t display it correctly here):</p><div
class="codesnip-container" ><div
class="codesnip" style="font-family: monospace;"><span
class="re0">$amount</span> = <span
class="nu0">100</span>; <span
class="co1">// amount in your original currency, e.g USD</span></p><p><span
class="re0">$oricurr</span> = <span
class="st0">&quot;USD&quot;</span> <span
class="co1">// iso code for your original currency</span></p><p><span
class="re0">$newcurr</span> = <span
class="st0">&quot;EUR&quot;</span> <span
class="co1">// iso code for your new currency</span></p><p><span
class="re0">$url</span> = <span
class="st0">&quot;http://www.multimolti.com/apps/currencyapi/calculator.php?original=&quot;</span>.<span
class="re0">$oricurr</span>.<span
class="st0">&quot;&amp;amp;target=&quot;</span>.<span
class="re0">$newcurr</span>.<span
class="st0">&quot;&amp;amp;value=&quot;</span>.<span
class="re0">$amount</span>;</p><p><span
class="re0">$result</span> = <a
href="http://www.php.net/file_get_contents"><span
class="kw3">file_get_contents</span></a><span
class="br0">&#40;</span><span
class="re0">$url</span><span
class="br0">&#41;</span>;</p><p><a
href="http://www.php.net/echo"><span
class="kw3">echo</span></a> <span
class="re0">$result</span>.<span
class="st0">&quot; &quot;</span>.<span
class="re0">$newcurr</span>;</div></div><h2>How does the calculator work?</h2><p>The calculator works almost the same way as the API itself. Call <a
href="http://www.multimolti.com/apps/currencyapi/calculator.php?original=USD&amp;target=EUR&amp;value=100" target="_blank">calculator.php</a> with three parameters: <em>original</em>, <em>target</em> and <em>value</em>. <em>original</em> and <em>target</em> are ISO codes of the currency, and <em>value</em> is the amount of orignal currency to convert. The output is the corresponding amout of target currency.</p><p><img
class="alignnone size-full wp-image-413" title="currencyapi02" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/07/currencyapi02.png" alt="currencyapi02" width="532" height="68" /></p><h2>How accurate are the values?</h2><p>The acuracy of the exchange rates can&#8217;t be guaranteed. All values are for informational purposes only. See the <a
href="http://www.multimolti.com/apps/currencyapi/index.php" target="_blank">footer of the index page</a> for more information.</p><h2>Mirrors (most recent list):</h2><ul><li><a
href="http://www.multimolti.com/apps/currencyapi/index.php">http://www.multimolti.com/apps/currencyapi/index.php</a></li><li><a
href="http://www.lennart-moltrecht.com/apps/currencyapi/">http://www.lennart-moltrecht.com/apps/currencyapi/</a></li><li><a
href="http://tp1.com.ar/currency/">http://tp1.com.ar/currency/</a></li><li><a
href="http://www.sann-gmbh.com/currencyapi/">http://www.sann-gmbh.com/currencyapi/</a></li><li><a
href="http://static.hattrick-youthclub.org/currency/">http://static.hattrick-youthclub.org/currency/</a></li><li><a
href="http://financy.dbeuchert.com/">http://financy.dbeuchert.com/</a></li></ul><p>Please use multimolti.com or sann-gmbh.com since they&#8217;re the most stable ones!</p><h2>Websites using the Currency Exchange Rates API:</h2><ul><li><a
href="http://momento24.com/en/">http://momento24.com/en/</a>, &#8220;Currency&#8221; tab in the sidebar.</li><li>More will hopefully follow soon!</li></ul><p><strong>If there are any questions about the API, bug reports or feature requests, please feel free to comment!</strong></p> <img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=411&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/05/19/new-intelligent-search-engine-wolframalpha-launched/' rel='bookmark' title='Permanent Link: New &#8220;intelligent&#8221; search engine Wolfram|Alpha launched'>New &#8220;intelligent&#8221; search engine Wolfram|Alpha launched</a></li><li><a
href='http://www.multimolti.com/blog/2009/04/19/peacekeeper-browser-benchmark-safari-clearly-performing-best/' rel='bookmark' title='Permanent Link: Peacekeeper Browser Benchmark &#8211; Safari clearly performing best!'>Peacekeeper Browser Benchmark &#8211; Safari clearly performing best!</a></li><li><a
href='http://www.multimolti.com/blog/2009/01/01/friendmap-facebook-application/' rel='bookmark' title='Permanent Link: FriendMap &#8211; Facebook Application'>FriendMap &#8211; Facebook Application</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2009/07/22/currency-exchange-rates-api/feed/</wfw:commentRss> <slash:comments>30</slash:comments> </item> <item><title>New version (1.1) of Airship Assault released!</title><link>http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/</link> <comments>http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/#comments</comments> <pubDate>Thu, 28 May 2009 17:51:19 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Download]]></category> <category><![CDATA[Gaming]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[airship assault]]></category> <category><![CDATA[c#]]></category> <category><![CDATA[mice]]></category> <category><![CDATA[mouse]]></category> <category><![CDATA[multiinput]]></category> <category><![CDATA[multimouse]]></category> <category><![CDATA[multiplayer]]></category> <category><![CDATA[multiplayer game]]></category> <category><![CDATA[raw mouse]]></category> <category><![CDATA[shooting game]]></category> <category><![CDATA[xna]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=398</guid> <description><![CDATA[Today I uploaded the latest version of my MultiInput game &#8220;Airship Assault&#8221; which resolves most known bugs. ItÂ is the first game that uses my MultiInput library in order to support many players playing the same game on onecomputer with multiple mice connected to theÂ computer.
Major changes:Mouse sensitivity can now be changed ingame
Game Launcher added, checks whether [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/03/26/airship-assault-first-game-using-multiinput-technology/' rel='bookmark' title='Permanent Link: Airship Assault &#8211; First game using MultiInput-technology'>Airship Assault &#8211; First game using MultiInput-technology</a></li><li><a
href='http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/' rel='bookmark' title='Permanent Link: MultiInput class &#8211; multiple mice in your XNA game!'>MultiInput class &#8211; multiple mice in your XNA game!</a></li><li><a
href='http://www.multimolti.com/blog/2008/11/19/how-to-decompilereverse-engineerdisassemble-any-xna-game/' rel='bookmark' title='Permanent Link: How to decompile/reverse engineer/disassemble any XNA Game!'>How to decompile/reverse engineer/disassemble any XNA Game!</a></li></ol>]]></description> <content:encoded><![CDATA[<p>Today I uploaded the latest version of my MultiInput game &#8220;<a
href="http://www.lennart-moltrecht.com/?page_id=80">Airship Assault</a>&#8221; which resolves most known bugs. ItÂ <span>is the first game that uses my </span><a
href="http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/" target="_blank">MultiInput library</a><span> in order to support many players playing the same game on one<span
class="IL_LINK_STYLE">computer</span> with multiple mice connected to theÂ <span
class="IL_SPAN">computer</span>.</span></p><p><strong>Major changes:</strong></p><ul><li><span
style="font-weight: normal;">Mouse sensitivity can now be changed ingame</span></li><li><span
style="font-weight: normal;">Game Launcher added, checks whether XNA Framework 3.0 and .NET Framework 2.0 are installed before launching the game</span></li><li><span
style="font-weight: normal;">Optimized game file package</span></li><li><span
style="font-weight: normal;">Music file not needed to play the game, if missing, the game will just launch without music</span></li><li><span
style="font-weight: normal;">Source code optimized in many parts</span></li></ul><p><a
style="font-size: 18pt" href="http://www.lennart-moltrecht.com/?page_id=80">Download Airship Assault 1.1!</a></p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/05/airship_assault_11_3.jpg"><img
class="alignnone size-full wp-image-399" title="airship_assault_11_3" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/05/airship_assault_11_3.jpg" alt="airship_assault_11_3" width="475" height="358" /></a></p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/05/airship_assault_11_1.jpg"><img
class="alignnone size-medium wp-image-400" title="airship_assault_11_1" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/05/airship_assault_11_1-300x225.jpg" alt="airship_assault_11_1" width="240" height="180" /></a> <a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/05/airship_assault_11_2.jpg"><img
class="alignnone size-medium wp-image-401" title="airship_assault_11_2" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/05/airship_assault_11_2-300x225.jpg" alt="airship_assault_11_2" width="240" height="180" /></a></p> <img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=398&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/03/26/airship-assault-first-game-using-multiinput-technology/' rel='bookmark' title='Permanent Link: Airship Assault &#8211; First game using MultiInput-technology'>Airship Assault &#8211; First game using MultiInput-technology</a></li><li><a
href='http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/' rel='bookmark' title='Permanent Link: MultiInput class &#8211; multiple mice in your XNA game!'>MultiInput class &#8211; multiple mice in your XNA game!</a></li><li><a
href='http://www.multimolti.com/blog/2008/11/19/how-to-decompilereverse-engineerdisassemble-any-xna-game/' rel='bookmark' title='Permanent Link: How to decompile/reverse engineer/disassemble any XNA Game!'>How to decompile/reverse engineer/disassemble any XNA Game!</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>MultiInput class &#8211; multiple mice in your XNA game!</title><link>http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/</link> <comments>http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/#comments</comments> <pubDate>Sat, 21 Mar 2009 22:56:26 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Download]]></category> <category><![CDATA[Experiments]]></category> <category><![CDATA[Gaming]]></category> <category><![CDATA[Hardware]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[c#]]></category> <category><![CDATA[game]]></category> <category><![CDATA[keyboard]]></category> <category><![CDATA[microsoft]]></category> <category><![CDATA[multiinput]]></category> <category><![CDATA[multimouse]]></category> <category><![CDATA[multiple mice]]></category> <category><![CDATA[raw mouse]]></category> <category><![CDATA[shooter]]></category> <category><![CDATA[xna]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=330</guid> <description><![CDATA[I created a C# class that allows you to use more than one mouse in your XNA game. Of course this is also working with normal Windows applications, but I specially prepared it to work with XNA. This gives you new possibilities for multiplayer games on a single computer! Currently, it&#8217;s only working for mice, [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/03/26/airship-assault-first-game-using-multiinput-technology/' rel='bookmark' title='Permanent Link: Airship Assault &#8211; First game using MultiInput-technology'>Airship Assault &#8211; First game using MultiInput-technology</a></li><li><a
href='http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/' rel='bookmark' title='Permanent Link: New version (1.1) of Airship Assault released!'>New version (1.1) of Airship Assault released!</a></li><li><a
href='http://www.multimolti.com/blog/2008/11/19/how-to-decompilereverse-engineerdisassemble-any-xna-game/' rel='bookmark' title='Permanent Link: How to decompile/reverse engineer/disassemble any XNA Game!'>How to decompile/reverse engineer/disassemble any XNA Game!</a></li></ol>]]></description> <content:encoded><![CDATA[<p>I created a C# class that allows you to use more than one mouse in your XNA game. Of course this is also working with normal Windows applications, but I specially prepared it to work with XNA. This gives you new possibilities for multiplayer games on a single computer! Currently, it&#8217;s only working for mice, but I will add keyboard support soon.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/03/multiinput_01.rar">Download MultiInput.dll Version 0.1</a></p><p>I also created a game demonstrating how to use this class and what multiple mice can be used for. I think there are many games that could make use of more than one mouse to enable a cool multiplayer mode. Currently the game is in Alpha stage and doesn&#8217;t have many features. It supports up to 6 players (if that many mice are plugged in) who have to stop zeppelins from reaching the other side of the screen by shooting them down. Although there isn&#8217;t much to do except shooting the zeppelins, it&#8217;s quite funny already.</p><p><span
style="color: #ff0000;"><strong>UPDATE: NEW VERSION AVAILABLE: <span
style="color: #0000ff;"><a
href="http://www.multimolti.com/blog/2009/03/26/airship-assault-first-game-using-multiinput-technology/" target="_blank">Download Airship Assault here!</a></span><br
/> </strong></span></p><p><span
style="text-decoration: line-through;">Download MultiInput Sample Game Alpha Version 0.1</span></p><p><span
style="text-decoration: line-through;">Download and install the necessary XNA Framework 3.0 here</span></p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/03/multiinputgame_alpha_01.jpg"><img
class="alignnone size-full wp-image-333" title="multiinputgame_alpha_01" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/03/multiinputgame_alpha_01.jpg" alt="multiinputgame_alpha_01" width="539" height="423" /></a></p><p>Each crosshair can be controlled by one mouse/player. The number in brackets on the bottom is the amout of shots you&#8217;ve left in your magazine. Leftclick to shoot, rightclick to reload. When a zeppelin reaches the other side, you will lose a life.</p><p>I tested the game only with USB mice, they&#8217;re working fine, but it should also work with PS2 mice. If you encounter any errors, please tell me!</p><p><span
id="more-330"></span></p><h3>Using MultiInput.dll</h3><p>The usage of this class is really easy. Copy the DLL file to your project&#8217;s folder and set a reference to the DLL and a reference to the &#8220;System.Windows.Forms&#8221; namespace (don&#8217;t forget this!). Load the dll using</p><div
class="codesnip-container" ><div
class="codesnip" style="font-family: monospace;"><span
class="kw1">using</span> MultiInput;</div></div><p>Inside your Game class, you can use the code like this:</p><pre>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw4">class</span> Game1
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; MultiInputController inputController;
&nbsp; &nbsp; &nbsp; &nbsp; Color<span class="br0">&#91;</span><span class="br0">&#93;</span> mousecolors = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Color<span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="br0">&#123;</span> Color.<span class="me1">Red</span>, Color.<span class="me1">Blue</span>,
Color.<span class="me1">Green</span>, Color.<span class="me1">Yellow</span>, Color.<span class="me1">White</span>, Color.<span class="me1">Pink</span> <span class="br0">&#125;</span>;

&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> Game1<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inputController = <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> MultiInputController<span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">Window</span>.<span class="me1">Handle</span><span class="br0">&#41;</span>;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>

&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw1">override</span> <span class="kw1">void</span> UnloadContent<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// YOU MUST!!! USE THIS LINE, otherwise your game won't exit</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inputController.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; content.<span class="me1">Unload</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>

&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw1">override</span> <span class="kw1">void</span> Update<span class="br0">&#40;</span>GameTime gameTime<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span>RawMouse rawmouse <span class="kw1">in</span> inputController.<span class="me1">Mice</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// do whatever you like here</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">base</span>.<span class="me1">Update</span><span class="br0">&#40;</span>gameTime<span class="br0">&#41;</span>;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>

&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw1">override</span> <span class="kw1">void</span> Draw<span class="br0">&#40;</span>GameTime gameTime<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; spriteBatch.<span class="me1">Begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Draw each cursor</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">0</span>; i &amp;lt; inputController.<span class="me1">MiceCount</span>; i++<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RawMouse mouse = inputController.<span class="me1">Mice</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; spriteBatch.<span class="me1">Draw</span><span class="br0">&#40;</span>cursor,
<a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Vector2<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="kw4">float</span><span class="br0">&#41;</span><span class="br0">&#40;</span>mouse.<span class="me1">X</span> - cursor.<span class="me1">Width</span>/<span class="nu0">2</span><span class="br0">&#41;</span>,
<span class="br0">&#40;</span><span class="kw4">float</span><span class="br0">&#41;</span><span class="br0">&#40;</span>mouse.<span class="me1">Y</span> - cursor.<span class="me1">Height</span>/<span class="nu0">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span>, mousecolors<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; spriteBatch.<span class="me1">End</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>

&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</div>
</pre><img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=330&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/03/26/airship-assault-first-game-using-multiinput-technology/' rel='bookmark' title='Permanent Link: Airship Assault &#8211; First game using MultiInput-technology'>Airship Assault &#8211; First game using MultiInput-technology</a></li><li><a
href='http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/' rel='bookmark' title='Permanent Link: New version (1.1) of Airship Assault released!'>New version (1.1) of Airship Assault released!</a></li><li><a
href='http://www.multimolti.com/blog/2008/11/19/how-to-decompilereverse-engineerdisassemble-any-xna-game/' rel='bookmark' title='Permanent Link: How to decompile/reverse engineer/disassemble any XNA Game!'>How to decompile/reverse engineer/disassemble any XNA Game!</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/feed/</wfw:commentRss> <slash:comments>44</slash:comments> </item> <item><title>WortopiaBot &#8211; hack for online boggle games!</title><link>http://www.multimolti.com/blog/2009/02/21/wortopiabot-hack-for-online-boggle-games/</link> <comments>http://www.multimolti.com/blog/2009/02/21/wortopiabot-hack-for-online-boggle-games/#comments</comments> <pubDate>Sat, 21 Feb 2009 12:39:25 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Download]]></category> <category><![CDATA[Hacking]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[application]]></category> <category><![CDATA[bot]]></category> <category><![CDATA[c#]]></category> <category><![CDATA[cheat]]></category> <category><![CDATA[console]]></category> <category><![CDATA[hack]]></category> <category><![CDATA[program]]></category> <category><![CDATA[wortopia]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=314</guid> <description><![CDATA[In the last week, I created WortopiaBot which is a hack or cheat for all kind of multiplayer boggle games like Wortopia or WEBoggle. You can just start the program and wait a few seconds, then it will have solved the game and submit all possible words to the respective game server. Using the right [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2010/01/11/hack-and-reset-any-windows-7-user-password/' rel='bookmark' title='Permanent Link: Hack and Reset any Windows 7 user password'>Hack and Reset any Windows 7 user password</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/07/warcraft-iii-auto-refresh/' rel='bookmark' title='Permanent Link: Warcraft III Auto Refresh'>Warcraft III Auto Refresh</a></li><li><a
href='http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/' rel='bookmark' title='Permanent Link: New version (1.1) of Airship Assault released!'>New version (1.1) of Airship Assault released!</a></li></ol>]]></description> <content:encoded><![CDATA[<p>In the last week, I created WortopiaBot which is a hack or cheat for all kind of multiplayer boggle games like <a
href="http://wortopia.de/" target="_blank">Wortopia</a> or <a
href="http://weboggle.info/" target="_blank">WEBoggle</a>. You can just start the program and wait a few seconds, then it will have solved the game and submit all possible words to the respective game server. Using the right word database, the accuracy can be up to 100%.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/02/wortopiabotperfect_10_bin.rar">Download WortopiaBot 1.0 Perfect Edition</a></p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/02/wortopiabotperfect_10_src.rar">Download WortopiaBot 1.0 Perfect Edition source code</a></p><p>There are 2 versions of this bot, one is called &#8220;Perfect Edition&#8221; because it always reaches 100% if the program can access the right database. Before I found out that the original Wortopia database is available under open-source license, I used other databases that reached only around 80%. Thus I also created a &#8220;Learning Edition&#8221; that checks the words from last round and adds them to the database, in addition to the removal of wrong words. If the Learning Edition plays enough games, it should optimize its databaseÂ  to the same accuracy of the Perfect Edition.</p><p>The Learning Edition will be available for download from SourceForge soon.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/02/wortopia_bot01.jpg"><img
class="alignnone size-full wp-image-317" title="wortopia_bot01" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/02/wortopia_bot01.jpg" alt="wortopia_bot01" width="272" height="374" /><span
id="more-314"></span></a></p><p>I won&#8217;t give an detailed description of how the program works, if you&#8217;re interested, have a look at the source code. I think it is quite self-explaining, but if there are still questions, feel free to comment!</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/02/wortopia_bot02.jpg"><img
class="alignnone size-full wp-image-318" title="wortopia_bot02" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/02/wortopia_bot02.jpg" alt="wortopia_bot02" width="529" height="265" /></a></p><p>There is also an auto-starter tool that checks when a new round starts and launches WortopiaBot then. This is really useful if you use the Learning Edition and want to optimize the database as much as possible. You will find more about it in the readme file.</p> <img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=314&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2010/01/11/hack-and-reset-any-windows-7-user-password/' rel='bookmark' title='Permanent Link: Hack and Reset any Windows 7 user password'>Hack and Reset any Windows 7 user password</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/07/warcraft-iii-auto-refresh/' rel='bookmark' title='Permanent Link: Warcraft III Auto Refresh'>Warcraft III Auto Refresh</a></li><li><a
href='http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/' rel='bookmark' title='Permanent Link: New version (1.1) of Airship Assault released!'>New version (1.1) of Airship Assault released!</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2009/02/21/wortopiabot-hack-for-online-boggle-games/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>FriendMap &#8211; Facebook Application</title><link>http://www.multimolti.com/blog/2009/01/01/friendmap-facebook-application/</link> <comments>http://www.multimolti.com/blog/2009/01/01/friendmap-facebook-application/#comments</comments> <pubDate>Thu, 01 Jan 2009 21:40:31 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Information]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[ajax]]></category> <category><![CDATA[api]]></category> <category><![CDATA[application]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[geocoding]]></category> <category><![CDATA[geography]]></category> <category><![CDATA[google maps]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[map]]></category> <category><![CDATA[php]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=231</guid> <description><![CDATA[FriendMap is my first Facebook Application. It creates a zoomable world map for all your friends. Now you can see who lives where, who moved currently and how big the distance between you and a friend actually is!
The application features complete profile integration with boxes, tabs and feed stories and fully supports the Facebook user [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/07/22/currency-exchange-rates-api/' rel='bookmark' title='Permanent Link: Currency Exchange Rates API'>Currency Exchange Rates API</a></li><li><a
href='http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/' rel='bookmark' title='Permanent Link: Drivewatcher &#8211; useful tool to analyze hard disk operations'>Drivewatcher &#8211; useful tool to analyze hard disk operations</a></li><li><a
href='http://www.multimolti.com/blog/2008/09/23/iron-clone-of-googles-chrome-without-spying-code/' rel='bookmark' title='Permanent Link: Iron: Clone of Google&#8217;s Chrome without spying code'>Iron: Clone of Google&#8217;s Chrome without spying code</a></li></ol>]]></description> <content:encoded><![CDATA[<p><a
href="http://apps.facebook.com/friend-map/" target="_blank">FriendMap</a> is my first Facebook Application. It creates a zoomable world map for all your friends. Now you can see who lives where, who moved currently and how big the distance between you and a friend actually is!</p><p>The application features complete profile integration with boxes, tabs and feed stories and fully supports the Facebook user interface with invitations, notifications and so on. Thus it feels as if it were part of Facebook and not an external application.</p><p><a
href="http://apps.facebook.com/friend-map/" target="_blank">Go to the FriendMap Facebook Application</a></p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap02.jpg"><img
class="alignnone size-full wp-image-233" title="friendmap02" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap02.jpg" alt="" width="500" height="389" /></a></p><p><span
id="more-231"></span></p><p>The application is based on PHP and JavaScript. When a user creates a FriendMap, the addresses of all friends are send to the <a
href="http://geohash.org/" target="_blank">Geohash Geocoding Service</a> in order to aquire the geographical location. When the user wants to view the map, a custom map is created using the <a
href="http://code.google.com/intl/en/apis/maps/" target="_blank">Google Maps API</a> and fed with the location aquired earlier. This process uses Ajax, so the user experiences a very smooth process of creation.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap04.jpg"><img
class="alignnone size-full wp-image-235" title="friendmap04" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap04.jpg" alt="" width="500" height="107" /></a><br
/> The Geocoding process usually needs one second, so the first creation of a FriendMap takes depending on the amount of your friends up to five minutes. Friends who didn&#8217;t enter an address into their Facebook profile or whose city can&#8217;t be found are marked and can be shown and notified in the &#8220;Notify missing friends&#8221; tab.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap05.jpg"><img
class="alignnone size-full wp-image-236" title="friendmap05" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap05.jpg" alt="" width="500" height="210" /></a></p><p>Friends who live in the same city are grouped together so that the map won&#8217;t be too chaotic.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap06.jpg"><img
class="alignnone size-full wp-image-237" title="friendmap06" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap06.jpg" alt="" width="499" height="367" /></a><br
/> There is also a function to see the FriendMap of your friends who also installed this application.</p><p>The user can also integrate the FriendMap into his profile either as a box or a special tab. In the profile tabs and boxes, no dynamic code (using JavaScript) is allowed, so the Google Maps API can&#8217;t be used. Therefore the application creates a custom JPG image showing a non-interactive map. This map can also be embedded in forum posts, etc.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap07.jpg"><img
class="alignnone size-full wp-image-238" title="friendmap07" src="http://static2.multimolti.com/blog/wp-content/uploads/2009/01/friendmap07.jpg" alt="" width="500" height="344" /></a></p><p>I hope you like this application and install it to your Facebook account. Please give me feedback!</p> <img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=231&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/07/22/currency-exchange-rates-api/' rel='bookmark' title='Permanent Link: Currency Exchange Rates API'>Currency Exchange Rates API</a></li><li><a
href='http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/' rel='bookmark' title='Permanent Link: Drivewatcher &#8211; useful tool to analyze hard disk operations'>Drivewatcher &#8211; useful tool to analyze hard disk operations</a></li><li><a
href='http://www.multimolti.com/blog/2008/09/23/iron-clone-of-googles-chrome-without-spying-code/' rel='bookmark' title='Permanent Link: Iron: Clone of Google&#8217;s Chrome without spying code'>Iron: Clone of Google&#8217;s Chrome without spying code</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2009/01/01/friendmap-facebook-application/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PizzaProfi &#8211; create your own pizza</title><link>http://www.multimolti.com/blog/2008/12/20/my-submission-for-this-years-computing-competition/</link> <comments>http://www.multimolti.com/blog/2008/12/20/my-submission-for-this-years-computing-competition/#comments</comments> <pubDate>Sat, 20 Dec 2008 13:36:29 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Download]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[application]]></category> <category><![CDATA[c#]]></category> <category><![CDATA[pdf]]></category> <category><![CDATA[pizza]]></category> <category><![CDATA[program]]></category> <category><![CDATA[source code]]></category> <category><![CDATA[visual studio]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=225</guid> <description><![CDATA[Now that the results are out, I can upload my submission for the Bundeswettbewerb Informatik 2008, the German computing competition.
Download the Pizzaprofi application here!
Download the Pizzaprofi source code here!
This was the task:
Task 1: Pizzavision
Many people visiting a pizza restaurant enjoy to choose the ingredients of their pizza. It would be nice to see a preview [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/' rel='bookmark' title='Permanent Link: Drivewatcher &#8211; useful tool to analyze hard disk operations'>Drivewatcher &#8211; useful tool to analyze hard disk operations</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/21/wortopiabot-hack-for-online-boggle-games/' rel='bookmark' title='Permanent Link: WortopiaBot &#8211; hack for online boggle games!'>WortopiaBot &#8211; hack for online boggle games!</a></li><li><a
href='http://www.multimolti.com/blog/2008/09/30/microsoft-photosynth-create-3d-worlds-from-a-few-photos/' rel='bookmark' title='Permanent Link: Microsoft Photosynth &#8211; Create 3D worlds from a few photos'>Microsoft Photosynth &#8211; Create 3D worlds from a few photos</a></li></ol>]]></description> <content:encoded><![CDATA[<p>Now that the results are out, I can upload my submission for the <a
href="http://bwinf.de/" target="_blank">Bundeswettbewerb Informatik 2008</a>, the German computing competition.</p><p><a
href="http://multimolti.com/blog/wp-content/uploads/2008/12/PizzaProfi.rar">Download the Pizzaprofi application here!</a></p><p><a
href="http://www.file-upload.net/download-1328201/PizzaProfiSource.rar.html" target="_blank">Download the Pizzaprofi source code here!</a></p><p>This was the task:</p><blockquote><p><strong>Task 1: Pizzavision</strong><br
/> Many people visiting a pizza restaurant enjoy to choose the ingredients of their pizza. It would be nice to see a preview of the created pizza on a computer screen. Every guest should be able to choose from 12 given ingredients. Always after adding or removing something, the image of the pizza should be regenerated.<br
/> The pizza images should avoid ordering mistakes, be a pleasure for the guest and encourage him to add more ingredients.</p><p>1. Realize such a system<br
/> 2. Document the ordering procedure with the shown pizza images.</p></blockquote><p>I created an application that has got an ingredients list on the right side and shows you a randomly generated image on the left. All the algorithms are based on an initial number that can be set in the bottom left hand corner. Thus you can regenerate every image exactly the way it was if you remember the number.</p><p>The application can also save the generated image and shows you the price of your current pizza configuration. It&#8217;s all in German since the competition is a German one.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/12/pizza1.jpg"><img
class="alignnone size-full wp-image-226" title="pizza1" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/12/pizza1.jpg" alt="" width="500" height="384" /></a></p><p>You can find the <a
href="http://www.file-upload.net/download-1328161/BwInf-2008-Aufgabe-1-Dokumentation.pdf.html" target="_blank">complete documentation and explanation here</a>.</p> <img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=225&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/' rel='bookmark' title='Permanent Link: Drivewatcher &#8211; useful tool to analyze hard disk operations'>Drivewatcher &#8211; useful tool to analyze hard disk operations</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/21/wortopiabot-hack-for-online-boggle-games/' rel='bookmark' title='Permanent Link: WortopiaBot &#8211; hack for online boggle games!'>WortopiaBot &#8211; hack for online boggle games!</a></li><li><a
href='http://www.multimolti.com/blog/2008/09/30/microsoft-photosynth-create-3d-worlds-from-a-few-photos/' rel='bookmark' title='Permanent Link: Microsoft Photosynth &#8211; Create 3D worlds from a few photos'>Microsoft Photosynth &#8211; Create 3D worlds from a few photos</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2008/12/20/my-submission-for-this-years-computing-competition/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to decompile/reverse engineer/disassemble any XNA Game!</title><link>http://www.multimolti.com/blog/2008/11/19/how-to-decompilereverse-engineerdisassemble-any-xna-game/</link> <comments>http://www.multimolti.com/blog/2008/11/19/how-to-decompilereverse-engineerdisassemble-any-xna-game/#comments</comments> <pubDate>Wed, 19 Nov 2008 20:24:13 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Gaming]]></category> <category><![CDATA[Hacking]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Tutorials]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[.net framework]]></category> <category><![CDATA[c#]]></category> <category><![CDATA[decompiling]]></category> <category><![CDATA[reverse engineering]]></category> <category><![CDATA[source code]]></category> <category><![CDATA[xna]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=153</guid> <description><![CDATA[Today I&#8217;ll show you how to get the source code of any game that&#8217;s made using C#, the .NET Framework and Microsoft&#8217;s XNA Framework. Basically, this will also work for all .NET Applications, but for XNA Games it&#8217;s more difficult, so I will explain it for XNA here.
I hope you understand and like it, if [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/' rel='bookmark' title='Permanent Link: MultiInput class &#8211; multiple mice in your XNA game!'>MultiInput class &#8211; multiple mice in your XNA game!</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/07/warcraft-iii-auto-refresh/' rel='bookmark' title='Permanent Link: Warcraft III Auto Refresh'>Warcraft III Auto Refresh</a></li><li><a
href='http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/' rel='bookmark' title='Permanent Link: New version (1.1) of Airship Assault released!'>New version (1.1) of Airship Assault released!</a></li></ol>]]></description> <content:encoded><![CDATA[<p>Today I&#8217;ll show you how to get the source code of any game that&#8217;s made using C#, the .NET Framework and Microsoft&#8217;s XNA Framework. Basically, this will also work for all .NET Applications, but for XNA Games it&#8217;s more difficult, so I will explain it for XNA here.<br
/> I hope you understand and like it, if there are any issues, please comment to help me improving this tutorial!</p><p><span
style="color: #ff0000;"><strong>Warning:</strong> You may violate copyright laws in your country if you try to obtain property (in this case source code) that you don&#8217;t own! Check your legal situation before following this tutorial! I won&#8217;t be responsible for any criminal offence done with the information provided!</span></p><h3>Step-by-step tutorial to disassemble the game</h3><h4>Things you need</h4><ul><li>An XNA-based game</li><li><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/dotnetreflector51.rar">.NET Reflector</a></li><li>Visual Studio 2005/2008</li><li>XNA Game Studio 1.0/2.0/3.0</li></ul><h4>Decompiling the binary file</h4><p>First of all, you need a really great tool called .NET Reflector. You can download it from the <a
href="http://www.red-gate.com/products/reflector/" target="_blank">official website</a> or from <a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/dotnetreflector51.rar" target="_blank">my server</a>. The .NET Reflector can look inside .NET binaries (.exe and .dll files) and disassemble the code to any of these programming languages: <a
href="http://en.wikipedia.org/wiki/Common_Intermediate_Language">IL</a>, <a
href="http://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a>, <a
href="http://en.wikipedia.org/wiki/Visual_basic">Visual Basic</a>, <a
href="http://en.wikipedia.org/wiki/Delphi_programming_language">Delphi</a>, <a
href="http://en.wikipedia.org/wiki/Managed_Extensions_for_C%2B%2B">MC++</a> and <a
href="http://en.wikipedia.org/wiki/Chrome_(programming_language)">Chrome</a>.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble01.jpg"><img
class="alignnone size-full wp-image-155" title="disassemble01" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble01.jpg" alt="" width="500" height="307" /></a></p><p><span
id="more-153"></span></p><p>Once you start .NET Reflector, it should look something like the image above. As you can see, on the left is a list of all Assemblies found on your computer, and on the right the code of the selected one. If you don&#8217;t see the yellow part on the right, just go into any Namespace and class and double-click on a function.<br
/> Here you can already play around with it and look into the .NET Framework source, maybe you find some interesting parts of code <img
src='http://www.multimolti.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>Back to decompiling your game&#8230; I assume you have a complete game on your hard disk (the binary file and a content folder with all the game data inside).<br
/> For this tutorial, I&#8217;ll use <a
href="http://creators.xna.com/en-US/sample/picking" target="_blank">Mircosoft&#8217;s PickingSample</a>, I think I don&#8217;t violate any copyright laws doing it since it&#8217;s open source anyway. If I do, please tell me!<br
/> In .NET Reflector, select Open File, navigate to your game&#8217;s .exe file and double-click it. The application should immediately show the Assembly in the Assembly list. If you just want to have a look at the code, click at the Assembly and select the class/method you want, the Reflector will show the code on the right.<br
/> But we want to have the whole game&#8217;s code as a Visual Studio project. Rightclick on the Assembly (in this case &#8220;PickingSample&#8221;, click on &#8220;Export&#8230;&#8221; and enter the path where you want to project to be stored.</p><p>If you see a Window popping up like the one below, tell Reflector to load your XNA Framework binary files (click on the three dots on the right, then navigate to <em>C:\Program Files\Microsoft XNA\XNA Game Studio\v3.0\References\Windows\x86</em> and select the required file, in this case <em>Microsoft.Xna.Framework.Game.dll</em>).</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble02.jpg"><img
class="alignnone size-full wp-image-157" title="disassemble02" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble02.jpg" alt="" width="500" height="258" /></a></p><h4>Creating a Visual Studio project</h4><p>When the export is done, navigate to the directory where you exported the game to and open the project file .csproj (here <em>PickingSample.csproj</em>).</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble04.jpg"><img
class="alignnone size-full wp-image-158" title="disassemble04" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble04.jpg" alt="" width="500" height="248" /></a></p><p>Probably, your Visual Studio will ask you to convert the outdated project file, allow to do it and there you are! Now we have the whole source code in a Visual Studio project and can work on it, make changes and recompile it!</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble05.jpg"><img
class="alignnone size-full wp-image-159" title="disassemble05" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble05.jpg" alt="" width="499" height="393" /></a></p><h4>The first compilation of the disassembled code</h4><p>Press F5 to try to compile the project. The game will crash immediately after startup when trying to load models, sprites, sounds etc. because it can&#8217;t find your data files.</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble06.jpg"><img
class="alignnone size-full wp-image-160" title="disassemble06" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble06.jpg" alt="" width="500" height="208" /></a></p><p>All the data files required are within the original game you want to decompile, but converted to the XNB file format. Currently, there is no way to reverse-engineer these files, so we will just let them be as they are. Copy your original game&#8217;s content folder into your new project&#8217;s <em>\bin\Debug</em> folder and compile the project again. Now it should work!</p><h4>Missing things in the project</h4><p>In your new project, all the comments of the original code will be gone, the structure may be different and settings and resource files may cause some problems. But all in all, you have the source code of the original game!</p><h4>Additional steps</h4><p>If you still want to get more, like the Windows Explorer icon of the game, use a free tool like <a
href="http://www.irfanview.de/">IrfanView</a>, drag the .exe file into it, save the icon as PNG and import it into your project.</p><h3><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble07.jpg"><img
class="alignnone size-full wp-image-161" title="disassemble07" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/disassemble07.jpg" alt="" width="500" height="353" /></a></h3><h3>Trouble-shooting</h3><p><strong>I copied the content folder into my new project, but the game still crashes when loading the media files!</strong></p><p>Look properly at the error message you get. Is it similar to this one?</p><blockquote><p>Error loading &#8220;Content\Fonts\Menu&#8221;. Cannot find ContentTypeReader Microsoft.Xna.Framework.Content.ListReader`1[[Microsoft.Xna.Framework.Rectangle, Microsoft.Xna.Framework, <strong>Version=2.0.0.0</strong>, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d]].</p></blockquote><p>In this case, the game was compiled using XNA Game Studio 2.0 and thus the Content Pipeline 2.0, but I was running Visual Studio 2008 with Game Studio 3.0. The new Game Studio seems to have problems using older files, so the only thing you can do is installing Visual Studio 2005 and Game Studio 2.0 again. The same thing for Game Studio 1.0</p><p>If you encounter any problems following this tutorial, please comment so I can search for solutions and make this tutorial more complete!</p> <img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=153&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2009/03/22/multiinput-class-multiple-mice-in-your-xna-game/' rel='bookmark' title='Permanent Link: MultiInput class &#8211; multiple mice in your XNA game!'>MultiInput class &#8211; multiple mice in your XNA game!</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/07/warcraft-iii-auto-refresh/' rel='bookmark' title='Permanent Link: Warcraft III Auto Refresh'>Warcraft III Auto Refresh</a></li><li><a
href='http://www.multimolti.com/blog/2009/05/28/new-version-11-of-airship-assault-released/' rel='bookmark' title='Permanent Link: New version (1.1) of Airship Assault released!'>New version (1.1) of Airship Assault released!</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2008/11/19/how-to-decompilereverse-engineerdisassemble-any-xna-game/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Drivewatcher &#8211; useful tool to analyze hard disk operations</title><link>http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/</link> <comments>http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/#comments</comments> <pubDate>Sun, 16 Nov 2008 21:09:05 +0000</pubDate> <dc:creator>multimolti</dc:creator> <category><![CDATA[Computer]]></category> <category><![CDATA[Download]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[.net]]></category> <category><![CDATA[analyze]]></category> <category><![CDATA[application]]></category> <category><![CDATA[hard disk]]></category> <category><![CDATA[program]]></category><guid
isPermaLink="false">http://www.multimolti.de/blog/?p=146</guid> <description><![CDATA[Ever wanted to find out where MSN stores its contact database? Or Firefox saves your Cookies? Then Drivewatcher is the right tool for you!It analyzes every change that&#8217;s made to any of your hard disk drives. All partitions are shown as tabs, and every tab shows the time, the file path and the operation done [...]Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2008/12/20/my-submission-for-this-years-computing-competition/' rel='bookmark' title='Permanent Link: PizzaProfi &#8211; create your own pizza'>PizzaProfi &#8211; create your own pizza</a></li><li><a
href='http://www.multimolti.com/blog/2009/03/02/use-gmail-as-virtual-hard-disk-gmail-drive/' rel='bookmark' title='Permanent Link: Use GMail as virtual hard disk &#8211; GMail Drive'>Use GMail as virtual hard disk &#8211; GMail Drive</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/21/wortopiabot-hack-for-online-boggle-games/' rel='bookmark' title='Permanent Link: WortopiaBot &#8211; hack for online boggle games!'>WortopiaBot &#8211; hack for online boggle games!</a></li></ol>]]></description> <content:encoded><![CDATA[<p>Ever wanted to find out where MSN stores its contact database? Or Firefox saves your Cookies? Then Drivewatcher is the right tool for you!</p><p><a
rel="attachment wp-att-147" href="http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/drivewatcher01/"><img
class="alignnone size-full wp-image-147" title="Drivewatcher01" src="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/drivewatcher01.jpg" alt="" width="500" height="307" /></a></p><p>It analyzes every change that&#8217;s made to any of your hard disk drives. All partitions are shown as tabs, and every tab shows the time, the file path and the operation done on the particular file.<br
/> Even if you don&#8217;t want to find out what an application is doing, you can just try it to see how many file operations are done by system processes you&#8217;ve never heard of. Just give it a try!</p><p><a
href="http://static2.multimolti.com/blog/wp-content/uploads/2008/11/drivewatcher.zip">Drivewatcher 1.0 Download</a></p><p>Please comment if you like it or wish more features!</p> <img
src="http://www.multimolti.com/blog/?ak_action=api_record_view&id=146&type=feed" alt="" /><p>Related posts:<ol><li><a
href='http://www.multimolti.com/blog/2008/12/20/my-submission-for-this-years-computing-competition/' rel='bookmark' title='Permanent Link: PizzaProfi &#8211; create your own pizza'>PizzaProfi &#8211; create your own pizza</a></li><li><a
href='http://www.multimolti.com/blog/2009/03/02/use-gmail-as-virtual-hard-disk-gmail-drive/' rel='bookmark' title='Permanent Link: Use GMail as virtual hard disk &#8211; GMail Drive'>Use GMail as virtual hard disk &#8211; GMail Drive</a></li><li><a
href='http://www.multimolti.com/blog/2009/02/21/wortopiabot-hack-for-online-boggle-games/' rel='bookmark' title='Permanent Link: WortopiaBot &#8211; hack for online boggle games!'>WortopiaBot &#8211; hack for online boggle games!</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.multimolti.com/blog/2008/11/16/drivewatcher-useful-tool-to-analyze-hard-disk-operations/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 37/144 queries in 0.774 seconds using disk
Content Delivery Network via static2.multimolti.com

Served from: www.multimolti.com @ 2012-02-07 07:53:29 -->
