<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Buddha's ScummVM hacking blog</title>
	<atom:link href="http://buddhahacks.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://buddhahacks.wordpress.com</link>
	<description>My escapades into the world of reverse engineering ye goode olde adventure games</description>
	<lastBuildDate>Wed, 16 Dec 2009 21:46:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='buddhahacks.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Buddha's ScummVM hacking blog</title>
		<link>http://buddhahacks.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://buddhahacks.wordpress.com/osd.xml" title="Buddha&#039;s ScummVM hacking blog" />
	<atom:link rel='hub' href='http://buddhahacks.wordpress.com/?pushpress=hub'/>
		<item>
		<title>It&#8217;s moving&#8230; again&#8230; almost!</title>
		<link>http://buddhahacks.wordpress.com/2009/12/17/its-moving-again-almost/</link>
		<comments>http://buddhahacks.wordpress.com/2009/12/17/its-moving-again-almost/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 21:41:16 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=311</guid>
		<description><![CDATA[It&#8217;s been some time but now the executePlayerInput from Operation Stealth is completely reverse engineered. Here&#8217;s proof: Full graph of Operation Stealth&#8217;s executePlayerInput-function in IDA (2916&#215;2994 image i.e. LARGE!) I tried a semi-quick hack to put it into ScummVM and it did seem to help with my previous problem of borking the player input handling [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=311&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="mceTemp">It&#8217;s been some time but now the executePlayerInput from Operation Stealth is completely reverse engineered. Here&#8217;s proof:</p>
<dl class="wp-caption alignnone">
<dt class="wp-caption-dt"><a href="http://buddhahacks.files.wordpress.com/2009/12/ida-operation_stealth-executeplayerinput-full_graph.png"><img class="size-medium wp-image-312" title="ida-operation_stealth-executeplayerinput-full_graph" src="http://buddhahacks.files.wordpress.com/2009/12/ida-operation_stealth-executeplayerinput-full_graph.png?w=292&#038;h=300" alt="Full graph of Operation Stealth's executePlayerInput-function in IDA" width="292" height="300" /></a></dt>
<dd class="wp-caption-dd">Full graph of Operation Stealth&#8217;s executePlayerInput-function in IDA (2916&#215;2994 image i.e. LARGE!)</dd>
</dl>
<p>I tried a semi-quick hack to put it into ScummVM and it did seem to help with my previous problem of borking the player input handling with my incomplete fix in <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33872&amp;view=rev">r33872 </a>(See a <a href="http://forums.scummvm.org/viewtopic.php?p=53948#53948">forum post about the problem</a> or <a href="http://buddhahacks.wordpress.com/2008/08/19/summers-end/">my previous blog post</a> for more info). Feels good getting things done <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Now just to clean it up a bit and see that I didn&#8217;t break anything else with it&#8230; and yes, also committing it <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/311/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/311/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/311/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=311&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2009/12/17/its-moving-again-almost/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2009/12/ida-operation_stealth-executeplayerinput-full_graph.png?w=292" medium="image">
			<media:title type="html">ida-operation_stealth-executeplayerinput-full_graph</media:title>
		</media:content>
	</item>
		<item>
		<title>Summer&#8217;s end</title>
		<link>http://buddhahacks.wordpress.com/2008/08/19/summers-end/</link>
		<comments>http://buddhahacks.wordpress.com/2008/08/19/summers-end/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 23:21:28 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=250</guid>
		<description><![CDATA[Hi! Google Summer of Code 2008 just ended and I thought that it&#8217;d be good to make a new blog entry about where I got during the last days of GSoC and talk a bit about the overall experience. Status update The problem I was having with player movement last time really was just that, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=250&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! <a href="http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline">Google Summer of Code 2008 just ended</a> and I thought that it&#8217;d be good to make a new blog entry about where I got during the last days of <a href="http://en.wikipedia.org/wiki/Google_Summer_of_Code">GSoC</a> and talk a bit about the overall experience.</p>
<h3>Status update</h3>
<p>The problem I was having with player movement last time really was just that, the player movement routine (executePlayerInput) was incomplete. Once I reverse engineered Operation Stealth&#8217;s version of it and modified ScummVM&#8217;s current implementation (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33872&amp;view=rev">r33872</a>) of that function a bit I got the swimming working and I could get to the girl and free her:</p>
<div id="attachment_251" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-freeing_girl.png"><img class="size-medium wp-image-251" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-freeing_girl.png?w=300&#038;h=225" alt="Freeing the girl in ScummVM" width="300" height="225" /></a><p class="wp-caption-text">Freeing the girl in ScummVM</p></div>
<p>I might as well tell a bit about what happens in the game after that:</p>
<p>The player character and the girl swim to the surface and are rescued by a boat:</p>
<div id="attachment_252" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-being_rescued_by_boat.png"><img class="size-medium wp-image-252" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-being_rescued_by_boat.png?w=300&#038;h=225" alt="Being rescued by boat" width="300" height="225" /></a><p class="wp-caption-text">Being rescued by boat</p></div>
<p>The story goes on and they meet The Movement for The Liberation of Santa Paragua for the first time:</p>
<div id="attachment_253" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-meeting_the_movement.png"><img class="size-medium wp-image-253" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-meeting_the_movement.png?w=300&#038;h=225" alt="Meeting the movement" width="300" height="225" /></a><p class="wp-caption-text">Meeting the movement</p></div>
<p>Then they leave to infiltrate a palace:</p>
<div id="attachment_254" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-leaving_for_the_palace.png"><img class="size-medium wp-image-254" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-leaving_for_the_palace.png?w=300&#038;h=225" alt="Leaving for the palace" width="300" height="225" /></a><p class="wp-caption-text">Leaving for the palace</p></div>
<p>And enroute to the palace some masking bugs <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="attachment_255" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-enroute_to_palace-masking_bugs.png"><img class="size-medium wp-image-255" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-enroute_to_palace-masking_bugs.png?w=300&#038;h=225" alt="Masking bugging while enroute to the palace" width="300" height="225" /></a><p class="wp-caption-text">Masking bugging while enroute to the palace</p></div>
<p>And then after a cutscene at the palace there&#8217;s another arcade sequence: A labyrinth.</p>
<h4>The labyrinth</h4>
<p>Okay, so far I&#8217;ve gotten to the second arcade sequence which is a labyrinth:</p>
<div id="attachment_258" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth.png"><img class="size-medium wp-image-258" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth.png?w=300&#038;h=225" alt="First labyrinth" width="300" height="225" /></a><p class="wp-caption-text">First labyrinth</p></div>
<p>But there are some showstopping problems here. The player can be controlled but the doors that should revolve when walked against don&#8217;t revolve and so the arcade sequence is not yet completable.</p>
<p>I played Operation Stealth using <a href="http://www.dosbox.com/">DOSBox</a> to the labyrinth and used <a href="http://vogons.zetafleet.com/viewtopic.php?t=3944">DOSBox&#8217;s debugger</a> to look for the collision data page (And I found it! Yay!) and dumped it to a binary file. What I wanted to do was to compare the original&#8217;s collision data page to the ScummVM&#8217;s version in the labyrinth to see if there were any differences that could be breaking the gameplay. And voila, there were! Here are some pictures:</p>
<div id="attachment_256" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth_collision_page_data_from_dosbox.png"><img class="size-medium wp-image-256" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth_collision_page_data_from_dosbox.png?w=300&#038;h=187" alt="First labyrinth's collision data page dumped from DOSBox" width="300" height="187" /></a><p class="wp-caption-text">First labyrinth&#39;s collision data from DOSBox</p></div>
<div id="attachment_257" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth_collision_page_data.png"><img class="size-medium wp-image-257" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth_collision_page_data.png?w=300&#038;h=187" alt="First labyrinth's collision data from ScummVM" width="300" height="187" /></a><p class="wp-caption-text">First labyrinth&#39;s collision data from ScummVM</p></div>
<p>By the way the collision data page can currently be viewed in the Cine engine by pressing F11 (I added that in <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33877&amp;view=rev">r33877</a>).</p>
<p>I tried loading the collision data I dumped from DOSBox to Cine&#8217;s collision data page and yes, I got the doors to revolve! But alas, they didn&#8217;t yet work totally correctly, sometimes you could just simply walk through a door like it was thin air and sometimes a door would shake between two frames of animation a bit weirdly.</p>
<p>So it&#8217;s looking like at least there&#8217;s something wrong with how Cine currently manages the collision data or how it&#8217;s loaded. I checked the collision data loading routine <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/bg.cpp?revision=33669&amp;view=markup#l_65">loadCtOS</a> and the data conversion routine <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/gfx.cpp?revision=33976&amp;view=markup#l_1669">gfxConvertSpriteToRaw</a> that it uses. It looks like the gfxConvertSpriteToRaw is indeed correct, I reverse engineered a version of it myself from Operation Stealth&#8217;s disassembly, tried using my own version of it but it didn&#8217;t seem to make a difference at all. So that particular routine doesn&#8217;t look to be the culprit here.</p>
<h4>Release testing related bugfixes</h4>
<p>With the next stable version of ScummVM being prepared and release testing in progress I got some Future Wars related bug reports and did some bugfixing:</p>
<ul>
<li>Adlib sound related bugfix to fix a crash when teleporting to the swamp (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33935&amp;view=rev">r33935</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33937&amp;view=rev">r33937</a> 0.12.0)</li>
<li>Fix for overparanoid monks beating player unconscious (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33950&amp;view=rev">r33950</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33951&amp;view=rev">r33951</a> 0.12.0)</li>
<li>Fix for crashing when examing rubble above a manhole (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33967&amp;view=rev">r33967</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33966&amp;view=rev">r33966</a> 0.12.0)</li>
</ul>
<p>And with those fixes in place Future Wars&#8217;s English DOS floppy version should now be completable using the 0.12.0 branch.</p>
<h4>Reported Future Wars bugs still unfixed</h4>
<p>There are some regressions and bugs still left in the Cine engine though:</p>
<ul>
<li><a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2057656&amp;group_id=37116&amp;atid=418820">Bug #2057656</a>: FW: Assert during demo (regression)</li>
<li><a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2057637&amp;group_id=37116&amp;atid=418820">Bug #2057637</a>: FW: Spaceship glitches in demo (regression)</li>
<li><a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2057619&amp;group_id=37116&amp;atid=418820">Bug #2057619</a>: FW: Glitches in title display of demo (regression)</li>
<li><a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2055912&amp;group_id=37116&amp;atid=418820">Bug #2055912</a>: FW: incrustSprite fails on savegame loading</li>
<li><a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2055836&amp;group_id=37116&amp;atid=418820">Bug #2055836</a>: FW: Music is not restarted when loading a saved game</li>
<li><a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2019344&amp;group_id=37116&amp;atid=418820">Bug #2019344</a>: FW: crash with Amiga Italian version (photocopy room)</li>
</ul>
<h3>What I learned during this summer</h3>
<p>Ok, enough about the status update, here are some points I&#8217;d like to make about what I learned during this <em>summer of code</em>:</p>
<ul>
<li>A lot about reverse engineering &#8211; I feel a lot more competent in it now than I did before this summer &#8211; and in particular that <a href="http://www.hex-rays.com/idapro/freefiles/ida5preview.htm">IDA&#8217;s graph view</a> is simply essential, I wouldn&#8217;t dream about going back to not using it when reverse engineering something. It&#8217;s just absolutely essential, no doubt about that.</li>
<li>Tried <a href="http://valgrind.org/">Valgrind</a> for the first time and it looks like a good tool to have around when fixing memory corruption problems. I recommend giving it a go if you have memory corruption problems in a software you&#8217;re developing!</li>
<li>Tried <a href="http://vogons.zetafleet.com/viewtopic.php?t=3944">DOSBox&#8217;s debugger</a> for the first time and it looks also to be a useful piece of software, although I probably don&#8217;t know half of what can be done with it yet.</li>
<li>That I&#8217;m not always as productive as I might like to, my effort changes with the tasks I&#8217;m doing. So knowing how to focus and get things done even though the task might not be to my current liking is something I haven&#8217;t yet truly mastered. I&#8217;ve heard that if you are completely present in a situation and totally focused on something then that something *becomes* interesting, whatever it may be. Now that&#8217;d be a lifesaving thing to know how to do &#8211; maybe some meditation (e.g. <a href="http://en.wikipedia.org/wiki/Zazen">Zazen</a>) would be in order?</li>
<li>That I probably take my work too seriously at times: Getting something working felt great at times and not getting something working felt awful at other times. Or maybe it&#8217;s simply human nature to feel like that? Dunno. Anyway, I should probably know when to relax and let go, simply do and not measure my worth by what I get done but by the effort I put in regardless of the outcome (Yeah, quite the Gandhi talking <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ).</li>
</ul>
<h4>What&#8217;s so good about this reverse engineering thing anyway?</h4>
<p>All in all this summer was a learning experience for me. What I found particularly interesting was the reverse engineering bit, taking a function in disassembly, looking at how big and intractable it looks and then starting on it, bit by bit, part by part making it more and more understandable until what you have in front of you is something you actually are able to understand. An example:</p>
<div id="attachment_291" class="wp-caption aligncenter" style="width: 241px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-lowest_abstraction_level.png"><img class="size-medium wp-image-291" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-lowest_abstraction_level.png?w=231&#038;h=300" alt="This is the graph of executePlayerInput without any work done on it yet." width="231" height="300" /></a><p class="wp-caption-text">This is the graph of executePlayerInput function without any work done on it yet.</p></div>
<div id="attachment_292" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-quite_high_abstraction_level.png"><img class="size-medium wp-image-292" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-quite_high_abstraction_level.png?w=300&#038;h=127" alt="Here's how the function looks after quite a bit of abstracting done on it." width="300" height="127" /></a><p class="wp-caption-text">Here&#39;s how the function looks after quite a bit of abstracting done on it.</p></div>
<div id="attachment_293" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-highest_abstraction_level.png"><img class="size-medium wp-image-293" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-highest_abstraction_level.png?w=300&#038;h=130" alt="And here's the highest abstraction level graph that I made of the function." width="300" height="130" /></a><p class="wp-caption-text">And here&#39;s the highest abstraction level graph that I made of the function.</p></div>
<p>It&#8217;s quite a bit of work, I tell you, but it&#8217;s quite riveting (There&#8217;s that focus thing again. I mean, just take a look at what Merriam-Webster says about the word <a href="http://www.merriam-webster.com/dictionary/riveting">riveting</a>: <span class="sense_content">&#8220;having the power to fix the attention&#8221;). Yeah!</span></p>
<h3>What about the future?</h3>
<p>I&#8217;m still committed to making <a href="http://en.wikipedia.org/wiki/Operation_Stealth">Operation Stealth</a> completable although it&#8217;ll be outside this <a href="http://en.wikipedia.org/wiki/Google_Summer_of_Code">GSoC</a>. I&#8217;ll be fixing some of the <a href="http://wiki.scummvm.org/index.php/Cine">Cine</a> engine related bugs for the upcoming 0.12.0 release of <a href="http://www.scummvm.org/">ScummVM</a> too.</p>
<h3>Closing words</h3>
<p>I&#8217;d like to congratulate everyone who made it to the end of Google Summer of Code 2008! It was an interesting ride, glad so many people with such diverse projects could get along for it. Thanks Google!</p>
<p>And last but not least thanks to my mentor <a href="http://wiki.scummvm.org/index.php/User:Sev">Eugene</a> for guiding me to a more productive direction in my work at times during this summer. His sane voice was the voice of practicality and, I imagine, experience.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/250/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/250/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/250/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=250&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/08/19/summers-end/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-freeing_girl.png?w=300" medium="image">
			<media:title type="html">Freeing the girl in ScummVM</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-being_rescued_by_boat.png?w=300" medium="image">
			<media:title type="html">Being rescued by boat</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-meeting_the_movement.png?w=300" medium="image">
			<media:title type="html">Meeting the movement</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-leaving_for_the_palace.png?w=300" medium="image">
			<media:title type="html">Leaving for the palace</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-enroute_to_palace-masking_bugs.png?w=300" medium="image">
			<media:title type="html">Masking bugging while enroute to the palace</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth.png?w=300" medium="image">
			<media:title type="html">First labyrinth</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth_collision_page_data_from_dosbox.png?w=300" medium="image">
			<media:title type="html">First labyrinth's collision data page dumped from DOSBox</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-first_labyrinth_collision_page_data.png?w=300" medium="image">
			<media:title type="html">First labyrinth's collision data from ScummVM</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-lowest_abstraction_level.png?w=231" medium="image">
			<media:title type="html">This is the graph of executePlayerInput without any work done on it yet.</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-quite_high_abstraction_level.png?w=300" medium="image">
			<media:title type="html">Here's how the function looks after quite a bit of abstracting done on it.</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-executeplayerinput-ida-graph_view-highest_abstraction_level.png?w=300" medium="image">
			<media:title type="html">And here's the highest abstraction level graph that I made of the function.</media:title>
		</media:content>
	</item>
		<item>
		<title>Memory corruption hunting</title>
		<link>http://buddhahacks.wordpress.com/2008/08/13/memory-corruption-hunting/</link>
		<comments>http://buddhahacks.wordpress.com/2008/08/13/memory-corruption-hunting/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 16:57:56 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=178</guid>
		<description><![CDATA[Hi! I&#8217;ve been fixing lots of things in Operation Stealth. I started using Valgrind because the Cine engine corrupted memory and I didn&#8217;t know where to start fixing it. I&#8217;ve now got Valgrind running ScummVM under Ubuntu 8.04 which I&#8217;m running in VirtualBox. A virtual machine (VirtualBox) running a virtual machine (Valgrind), yay! One could [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=178&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! I&#8217;ve been fixing lots of things in Operation Stealth. I started using <a href="http://valgrind.org/">Valgrind</a> because the <a href="http://wiki.scummvm.org/index.php/Cine">Cine</a> engine corrupted memory and I didn&#8217;t know where to start fixing it. I&#8217;ve now got Valgrind running ScummVM under <a href="http://www.ubuntu.com/">Ubuntu</a> 8.04 which I&#8217;m running in <a href="http://www.virtualbox.org/">VirtualBox</a>. A virtual machine (VirtualBox) running a virtual machine (Valgrind), yay! One could think that it&#8217;d be dead slow, but actually it runs ok.</p>
<p>So I recommend trying out <a href="http://valgrind.org/">Valgrind</a> if you&#8217;ve got memory corruption problems with a program you&#8217;re developing even if you don&#8217;t run Linux natively, it can be used through a virtual machine like <a href="http://www.virtualbox.org/">VirtualBox</a>, <a href="http://bellard.org/qemu/">QEMU</a> or <a href="http://www.vmware.com/products/player/">VMWare</a>. I already got some memory corruption problems fixed with Valgrind&#8217;s help.</p>
<h3>Stuff done since last update:</h3>
<h4>Bugfixes:</h4>
<ul>
<li>Fixed popup boxes blocking animation (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33686&amp;view=rev">r33686</a>)</li>
<li>Partially fixed Adlib volume setting (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33700&amp;view=rev">r33700</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33701&amp;view=rev">r33701</a> 0.12.0)</li>
<li>Fixed &#8216;text hard to read&#8217; problems (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33792&amp;view=rev">r33792</a>)</li>
<li>Fixed inventory showing (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33795&amp;view=rev">r33795</a>)</li>
<li>Fixed verb handling bug (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33805&amp;view=rev">r33805</a>)</li>
</ul>
<h4>New functionality:</h4>
<ul>
<li>Implemented game speed changing by pressing &#8211; or + (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33689&amp;view=rev">r33689</a>)</li>
<li>Added moving using keyboard (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33698&amp;view=rev">r33698</a> &amp; <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33710&amp;view=rev">r33710</a>)</li>
<li>Basic support for CD Future Wars (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33703&amp;view=rev">r33703</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33705&amp;view=rev">r33705</a> 0.12.0)</li>
<li>Added drawing of type 22 overlays as filled rectangles (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33713&amp;view=rev">r33713</a>)</li>
<li>Preliminary drawing of type 21 overlays (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33721&amp;view=rev">r33721</a> &amp; <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33722&amp;view=rev">r33722</a>). WIP!</li>
<li>Implemented transparent cutscene textboxes (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33790&amp;view=rev">r33790</a>)</li>
</ul>
<div id="attachment_236" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-transparent_cutscene_textboxes_working.png"><img class="size-medium wp-image-236" src="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-transparent_cutscene_textboxes_working.png?w=300&#038;h=225" alt="Cutscene textboxes working in ScummVM" width="300" height="225" /></a><p class="wp-caption-text">Cutscene textboxes working in ScummVM</p></div>
<h4>Memory corruption and out of bounds access related changes:</h4>
<ul>
<li>Fixed rectangle drawing (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33687&amp;view=rev">r33687</a> &amp; <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33811&amp;view=rev">r</a><a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33811&amp;view=rev">33811</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33814&amp;view=rev">r33814</a> 0.12.0)</li>
<li>Added sanity tests to background scrolling (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33688&amp;view=rev">r33688</a>)</li>
<li>Converted objectTable to Common::Array (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33725&amp;view=rev">r33725</a>)</li>
<li>Converted animDataTable to Common::Array (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33726&amp;view=rev">r33726</a>)</li>
<li>Converted zoneData &amp; zoneQuery to Common::Array (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33727&amp;view=rev">r33727</a>)</li>
<li>Converted partBuffer to Common::Array (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33783&amp;view=rev">r33783</a>)</li>
<li>Converted palPtr to Common::Array (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33785&amp;view=rev">r33785</a>)</li>
<li>Fixed fontParamTable freeing (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33786&amp;view=rev">r33786</a>)</li>
<li>Converted commandBuffer to Common::String (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33793&amp;view=rev">r33793</a>)</li>
<li>Fixed handling of incorrect input data in loadMsg (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33810&amp;view=rev">r33810</a>)</li>
<li>Fixed initialization of instrument data (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33812&amp;view=rev">r33812</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33813&amp;view=rev">r33813</a> 0.12.0)</li>
</ul>
<h4>Cleanup:</h4>
<ul>
<li>Removed unnecessary textDataPtr (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33784&amp;view=rev">r33784</a>)</li>
</ul>
<p>And as Valgrind noticed some memory problems in the <a href="http://wiki.scummvm.org/index.php/AGI">AGI</a> engine&#8217;s sound engine I committed some fixes related to them (<a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33816&amp;view=rev">r33816</a> &amp; <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33822&amp;view=rev">r33822</a> trunk, <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33820&amp;view=rev">r33820</a> &amp; <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33823&amp;view=rev">r33823</a> 0.12.0). I had previously noticed that the AGI engine&#8217;s sound engine sometimes crashed when starting the first sound in an AGI game, so hopefully that&#8217;s fixed now.</p>
<h3>What next?</h3>
<p>Well, I got to the part where the player character is dropped into the sea with a woman, but I&#8217;m currently stuck there. After sorting out the memory corruption problems and testing the original game&#8217;s behaviour in this particular part it seems the problem is somehow related to incorrect character moving. The character should first swim near the girl and then try &#8220;Operate Girl&#8221; to untie her ropes (It works that way in the original). Here&#8217;s a picture of the thing working in DOSBox:</p>
<div id="attachment_234" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/dosbox-operation_stealth-untying_girls_ropes.png"><img class="size-medium wp-image-234" src="http://buddhahacks.files.wordpress.com/2008/08/dosbox-operation_stealth-untying_girls_ropes.png?w=300&#038;h=187" alt="Untying the girl's ropes under DOSBox" width="300" height="187" /></a><p class="wp-caption-text">Freeing the girl in DOSBox</p></div>
<p>But alas in ScummVM currently the player character can only be moved to the left and he automatically moves upwards almost all the time. So I can&#8217;t get to the girl to untie her and they both drown. With the memory corruption problems out of the way I&#8217;m looking into fixing this character moving problem next.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/178/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/178/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/178/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=178&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/08/13/memory-corruption-hunting/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/scummvm-operation_stealth-transparent_cutscene_textboxes_working.png?w=300" medium="image">
			<media:title type="html">Cutscene textboxes working in ScummVM</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/dosbox-operation_stealth-untying_girls_ropes.png?w=300" medium="image">
			<media:title type="html">Untying the girl's ropes under DOSBox</media:title>
		</media:content>
	</item>
		<item>
		<title>Got through the first arcade sequence</title>
		<link>http://buddhahacks.wordpress.com/2008/08/07/got-through-the-first-arcade-sequence/</link>
		<comments>http://buddhahacks.wordpress.com/2008/08/07/got-through-the-first-arcade-sequence/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 12:28:28 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=159</guid>
		<description><![CDATA[Hi! Got through the first arcade sequence in Operation Stealth and back onto dry land . But it wasn&#8217;t very easy, as there were problems to overcome: First arcade sequence was practically impossible to complete (Oxygen forced to maximum by a hack in r33667 for now so it&#8217;s possible to complete it) Player teleported to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=159&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! Got through the first arcade sequence in Operation Stealth and back onto dry land <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . But it wasn&#8217;t very easy, as there were problems to overcome:</p>
<ul>
<li>First arcade sequence was practically impossible to complete (Oxygen forced to maximum by a hack in <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33667">r33667</a> for now so it&#8217;s possible to complete it)</li>
<li>Player teleported to a wrong location when getting out of the water after the first arcade sequence (Fixed by fixing checkCollision function&#8217;s boundary checking in <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33668">r33668</a>)</li>
<li>Player got completely stuck after getting out of the water after the first arcade sequence (Introduced a hack in <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33673">r33673</a> to nudge the player off his position by one pixel to get him free)</li>
</ul>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-after_first_arcade_sequence.png"><img class="size-medium wp-image-161" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-after_first_arcade_sequence.png?w=300&#038;h=225" alt="The position where one could get stuck after the first arcade sequence" width="300" height="225" /></a><p class="wp-caption-text">Here&#39;s where one could get stuck after the first arcade sequence</p></div>
<p>So now the first arcade sequence is completable (Although by a hack) and one can get out of the water after it and continue playing.</p>
<p>BTW while playing I&#8217;ve noticed that although savegames work good enough to allow continuing playing the graphics aren&#8217;t always correct, see for yourself:</p>
<div id="attachment_162" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-beach_scene_bugging_after_loading.png"><img class="size-medium wp-image-162" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-beach_scene_bugging_after_loading.png?w=300&#038;h=225" alt="Beach scene bugging after loading" width="300" height="225" /></a><p class="wp-caption-text">Beach scene bugging after loading a savegame</p></div>
<h4>What next?</h4>
<p>Carrying onwards with the game! Let&#8217;s see how far I&#8217;ll get this time without encountering any showstopping bugs&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/159/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/159/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=159&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/08/07/got-through-the-first-arcade-sequence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-after_first_arcade_sequence.png?w=300" medium="image">
			<media:title type="html">The position where one could get stuck after the first arcade sequence</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-beach_scene_bugging_after_loading.png?w=300" medium="image">
			<media:title type="html">Beach scene bugging after loading</media:title>
		</media:content>
	</item>
		<item>
		<title>Got to the first arcade sequence</title>
		<link>http://buddhahacks.wordpress.com/2008/08/06/got-to-the-first-arcade-sequence/</link>
		<comments>http://buddhahacks.wordpress.com/2008/08/06/got-to-the-first-arcade-sequence/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 13:04:19 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=108</guid>
		<description><![CDATA[Hi! Played the 256 color PC version of Operation Stealth under ScummVM to the first arcade sequence. Found lots of bugs but only one that was a showstopper (Crash when leaving the airport) and another one that may be a showstopper (Moving in the first arcade sequence is so hard that it may be practically [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=108&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! Played the 256 color PC version of Operation Stealth under ScummVM to the first arcade sequence. Found lots of bugs but only one that was a showstopper (Crash when leaving the airport) and another one that may be a showstopper (Moving in the first arcade sequence is so hard that it may be practically impossible to complete it). Fixed the former bug already but not the latter one. Here&#8217;s a list of the bugs I found:</p>
<h3>Bugs found on first completion run try so far</h3>
<h4>#1: Verb-handling bug:</h4>
<p>If you open the briefcase with &#8220;Operate briefcase&#8221; the operate-verb will stay chosen and then you can choose &#8220;Operate calculator&#8221; again and again etc and it becomes &#8220;Operate calculator calculator calculator&#8230;&#8221; and finally crashes.</p>
<div id="attachment_126" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-verb_handling_bugs.png"><img class="size-medium wp-image-126" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-verb_handling_bugs.png?w=300&#038;h=225" alt="Verb handling bugs" width="300" height="225" /></a><p class="wp-caption-text">Verb handling bugs</p></div>
<h4>#2: Background handling bug:</h4>
<p>If you load a savegame that has the briefcase open the palette and the background will be wrong (If you opened the briefcase in the bathroom stall the background will be the bathroom stall but with wrong colors. Pen, passport and calculator in the briefcase are shown on top with correct colors though.</p>
<div id="attachment_127" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-briefcase_background_bugs.png"><img class="size-medium wp-image-127" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-briefcase_background_bugs.png?w=300&#038;h=225" alt="Briefcase's background bugs" width="300" height="225" /></a><p class="wp-caption-text">Briefcase&#39;s background bugs after loading</p></div>
<div id="attachment_128" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-briefcase_background_works.png"><img class="size-medium wp-image-128" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-briefcase_background_works.png?w=300&#038;h=225" alt="Briefcase's background working after not loading" width="300" height="225" /></a><p class="wp-caption-text">Briefcase&#39;s background works after not loading</p></div>
<h4>#3: Airport bag conveyor belt masking bug:</h4>
<p>If you go to the airport&#8217;s bag picking up scene where bags run in a circle on a conveyor belt then you&#8217;ll see that the scene looks pretty weird. Some masks are probably off&#8230; (Things go in front of stuff that they shouldn&#8217;t or something similar).</p>
<div id="attachment_120" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-conveyor_belt_masking_bugs.png"><img class="size-medium wp-image-120" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-conveyor_belt_masking_bugs.png?w=300&#038;h=225" alt="Conveyor belt masking bugs" width="300" height="225" /></a><p class="wp-caption-text">Conveyor belt masking bugs</p></div>
<div id="attachment_124" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-dosbox-conveyor_belt_masking_works.png"><img class="size-medium wp-image-124" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-dosbox-conveyor_belt_masking_works.png?w=300&#038;h=187" alt="Conveyor belt masking working in DOSBox" width="300" height="187" /></a><p class="wp-caption-text">Conveyor belt masking working in DOSBox</p></div>
<h4>#4: Fading bug:</h4>
<p>If for an example you go to the airport&#8217;s bathroom stall and open and close the briefcase you&#8217;ll get a double fading effect.</p>
<h4>#5: Inventory showing doesn&#8217;t work unless using the USE verb:</h4>
<p>If you right click to get the menu and choose INVENTORY nothing happens. It should show the inventory. If you choose the USE verb you&#8217;ll get to choose an item to use from the inventory though.</p>
<h4>#6: Game crashes or player is invisible when exiting the airport:</h4>
<p>First the game crashed when trying to leave the airport when it didn&#8217;t find some files JOHN01.ANI and JOHN02.ANI. Fixed the resource loading to handle missing files gracefully in <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33643&amp;view=rev">r33643</a>. After that the player character was completely invisible when walking behind the glass in the next scene. Looked into that and made a workaround by loading the corresponding SET files instead (It worked and looked fine) in <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33644&amp;view=rev">r33644</a>.</p>
<div id="attachment_137" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-silhuette_working_when_leaving_airport.png"><img class="size-medium wp-image-137" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-silhuette_working_when_leaving_airport.png?w=300&#038;h=225" alt="Silhuette animation working after fix" width="300" height="225" /></a><p class="wp-caption-text">Player visible behind glass after workaround</p></div>
<h4>#7: Music may hang on a note when scene changes:</h4>
<p>If for an example you leave the airport by a taxi and go downtown the music playing outside the airport may hang on a note and continue playing that single sound. The sound is quite annoying.</p>
<h4>#8: Text hard to read:</h4>
<p>For an example in the Santa Paragua&#8217;s bank when examining the stained glass door on the back the background of the popup box is light yellow and the text is white so it&#8217;s very hard to read what it says.</p>
<div id="attachment_129" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank-text_hard_to_read.png"><img class="size-medium wp-image-129" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank-text_hard_to_read.png?w=300&#038;h=225" alt="Text hard to read" width="300" height="225" /></a><p class="wp-caption-text">Text hard to read</p></div>
<h4>#9: Text box wraps around the screen:</h4>
<p>A &#8220;WATCH OOOOOUT!!!&#8221; text box wraps around the screen from the right to the left side in the Las Mimosas park during the drive-by shooting.</p>
<div id="attachment_130" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_park-text_wraps_around_screen.png"><img class="size-medium wp-image-130" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_park-text_wraps_around_screen.png?w=300&#038;h=225" alt="Text box wraps around screen" width="300" height="225" /></a><p class="wp-caption-text">Text box wraps around screen</p></div>
<h4>#10: Masking bugs at the hotel&#8217;s beach stairs:</h4>
<p>This might very well be just like the next bug but when walking to the stairs that go down to the hotel&#8217;s beach in Santa Paragua the masking bugs and the player character can seemingly walk through the railing.</p>
<div id="attachment_150" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-masking_bugs_at_hotel_beach.png"><img class="size-medium wp-image-150" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-masking_bugs_at_hotel_beach.png?w=300&#038;h=225" alt="Masking bugs at the hotel's beach stairs" width="300" height="225" /></a><p class="wp-caption-text">Masking bugs at the hotel&#39;s beach stairs</p></div>
<h4>#11: Masking bugs in the bank vault in Santa Paragua&#8217;s bank:</h4>
<p>When going to open the safe case in the bank&#8217;s vault in Santa Paragua the player character is seen in front of the bars although he&#8217;s walking behind them. The masking works later though&#8230; weird.</p>
<div id="attachment_131" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank_vault-bar_masking_bugs.png"><img class="size-medium wp-image-131" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank_vault-bar_masking_bugs.png?w=300&#038;h=225" alt="Vault bar masking bugs" width="300" height="225" /></a><p class="wp-caption-text">Vault bar masking bugs</p></div>
<div id="attachment_132" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank_vault-bar_masking_works.png"><img class="size-medium wp-image-132" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank_vault-bar_masking_works.png?w=300&#038;h=225" alt="Vault bar masking working in another scene" width="300" height="225" /></a><p class="wp-caption-text">Vault bar masking works</p></div>
<h4>#12: Popup box blocks animation when it shouldn&#8217;t:</h4>
<p>After getting caught by the enemy agents in Santa Paragua&#8217;s bank there&#8217;s a scene where it reads &#8220;Later, after a hard trip&#8230;&#8221; and the enemy agents and the protagonist walk from left to right on-screen. They don&#8217;t walk at all if one doesn&#8217;t click with the mouse (They should be animated even though there&#8217;s a popup box on-screen). So you can only get through the scene by clicking with the mouse many, many times but still, it&#8217;s possible.</p>
<div id="attachment_133" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-popup_box_blocks_animation.png"><img class="size-medium wp-image-133" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-popup_box_blocks_animation.png?w=300&#038;h=225" alt="Popup box blocking animation" width="300" height="225" /></a><p class="wp-caption-text">Popup box blocking animation</p></div>
<h4>#13: Game jams after failing first arcade sequence:</h4>
<p>If you die by being underwater for too long in the first arcade sequence the game jams. Nothing happens, music just keeps playing and the &#8220;It isn&#8217;t recommended to hang around underwater. This is the end of your exploits&#8221; box is shown and the loading menu can&#8217;t be accessed.</p>
<h4>#14: Red bar that shows the oxygen left isn&#8217;t updated:</h4>
<p>In the first arcade sequence the bar should show the amount of oxygen left but it doesn&#8217;t, it simply stays the same long red bar all the time (Still you can get killed by being underwater for too long).</p>
<div id="attachment_134" class="wp-caption aligncenter" style="width: 310px"><a href="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-first_arcade_sequence.png"><img class="size-medium wp-image-134" src="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-first_arcade_sequence.png?w=300&#038;h=225" alt="First arcade sequence" width="300" height="225" /></a><p class="wp-caption-text">First arcade sequence</p></div>
<h4>#15: It&#8217;s very hard to move in the first arcade sequence:</h4>
<p>The player character doesn&#8217;t move much if you just click once somewhere on-screen and keep the mouse button down. Neither does using the keyboard do any good (Movement using keyboard isn&#8217;t implemented yet, I think). So you just have to click furiously with the mouse to where you want to swim in order to get there. This may make the first arcade sequence practically impossible to complete.</p>
<h3>What next?</h3>
<p>Alright, I got to the first arcade sequence but it&#8217;s hard to play it. I&#8217;ll fix that so it can be played through and then carry on!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/108/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/108/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=108&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/08/06/got-to-the-first-arcade-sequence/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-verb_handling_bugs.png?w=300" medium="image">
			<media:title type="html">Verb handling bugs</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-briefcase_background_bugs.png?w=300" medium="image">
			<media:title type="html">Briefcase's background bugs</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-briefcase_background_works.png?w=300" medium="image">
			<media:title type="html">Briefcase's background working after not loading</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-conveyor_belt_masking_bugs.png?w=300" medium="image">
			<media:title type="html">Conveyor belt masking bugs</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-dosbox-conveyor_belt_masking_works.png?w=300" medium="image">
			<media:title type="html">Conveyor belt masking working in DOSBox</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-silhuette_working_when_leaving_airport.png?w=300" medium="image">
			<media:title type="html">Silhuette animation working after fix</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank-text_hard_to_read.png?w=300" medium="image">
			<media:title type="html">Text hard to read</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_park-text_wraps_around_screen.png?w=300" medium="image">
			<media:title type="html">Text box wraps around screen</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-masking_bugs_at_hotel_beach.png?w=300" medium="image">
			<media:title type="html">Masking bugs at the hotel's beach stairs</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank_vault-bar_masking_bugs.png?w=300" medium="image">
			<media:title type="html">Vault bar masking bugs</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-at_bank_vault-bar_masking_works.png?w=300" medium="image">
			<media:title type="html">Vault bar masking working in another scene</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-popup_box_blocks_animation.png?w=300" medium="image">
			<media:title type="html">Popup box blocking animation</media:title>
		</media:content>

		<media:content url="http://buddhahacks.files.wordpress.com/2008/08/operation_stealth-scummvm-first_arcade_sequence.png?w=300" medium="image">
			<media:title type="html">First arcade sequence</media:title>
		</media:content>
	</item>
		<item>
		<title>The big stretch begins!</title>
		<link>http://buddhahacks.wordpress.com/2008/08/05/the-big-stretch-begins/</link>
		<comments>http://buddhahacks.wordpress.com/2008/08/05/the-big-stretch-begins/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 13:33:06 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=103</guid>
		<description><![CDATA[Hi! Aaaaalright, got a couple of mostly annoying, but quite useful to fix to ease the playing, bugs fixed: Object selection bug in Operation Stealth (Fixed in r33620 in trunk) Text prompt updating regression (Fixed in r33637 in trunk, backported to branch-0-12-0 in r33638) So, savegames and the interface in Operation Stealth are working good [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=103&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! Aaaaalright, got a couple of mostly annoying, but quite useful to fix to ease the playing, bugs fixed:</p>
<ul>
<li>Object selection bug in Operation Stealth (Fixed in <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33620&amp;view=rev">r33620</a> in trunk)</li>
<li>Text prompt updating regression (Fixed in <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33637&amp;view=rev">r33637</a> in trunk, backported to branch-0-12-0 in <a href="http://scummvm.svn.sourceforge.net/scummvm/?rev=33638&amp;view=rev">r33638</a>)</li>
</ul>
<p>So, savegames and the interface in Operation Stealth are working good enough now to start the game completion run. So, Operation Stealth, here I come! Wish me luck <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/103/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/103/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=103&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/08/05/the-big-stretch-begins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>
	</item>
		<item>
		<title>Operation Stealth savegame loading works!</title>
		<link>http://buddhahacks.wordpress.com/2008/08/02/operation-stealth-savegame-loading-works/</link>
		<comments>http://buddhahacks.wordpress.com/2008/08/02/operation-stealth-savegame-loading-works/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 16:20:37 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=86</guid>
		<description><![CDATA[Hi! Got Operation Stealth&#8217;s savegame loading to work just now. HURRAH! I&#8217;m so enormously relieved that I just might explode or something . Yay! Really really good! The problem was that the animation data table entries were loaded using a different and less complete code when loading a savegame than when running the game and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=86&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! Got Operation Stealth&#8217;s savegame loading to work just now. HURRAH! I&#8217;m so enormously relieved that I just might explode or something <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Yay! Really really good!</p>
<p>The problem was that the animation data table entries were loaded using a different and less complete code when loading a savegame than when running the game and loading the entries using script opcodes like loadAbs, loadAnim etc. So what I did was I made it so that the savegame loading routine uses the exact same functions that are used by the resource loading related script opcodes (The changes I made are <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33529">r33529</a> and <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33530">r33530</a>).</p>
<p>Yay! Next up: Fixing the mouse cursor pointing problem in Operation Stealth (If you point at an object on-screen it&#8217;s recognized a bit to the right of its correct location. I think the problem most likely is in <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/various.cpp?revision=33446&amp;view=markup&amp;pathrev=33530#l_169">getObjectUnderCursor</a> and/or <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/various.cpp?revision=33446&amp;view=markup&amp;pathrev=33530#l_1665">executePlayerInput</a> functions).</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/86/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/86/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=86&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/08/02/operation-stealth-savegame-loading-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting systematic</title>
		<link>http://buddhahacks.wordpress.com/2008/07/31/getting-systematic/</link>
		<comments>http://buddhahacks.wordpress.com/2008/07/31/getting-systematic/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 10:11:55 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=55</guid>
		<description><![CDATA[Hi! These past few days have been pretty nerve wrecking. I&#8217;d eagerly want to get on with the reverse engineering but getting savegames working in Operation Stealth is 1) essential, 2) broken at the moment, 3) not looking like the straightforwardest code to fix (Or more like not knowing what to fix exactly). Not really [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=55&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! These past few days have been pretty nerve wrecking. I&#8217;d eagerly want to get on with the reverse engineering but getting savegames working in Operation Stealth is 1) essential, 2) broken at the moment, 3) not looking like the straightforwardest code to fix (Or more like not knowing what to fix exactly). Not really knowing how to swiftly and proficiently squash the bug but still knowing that I got to fix it before going forward with other stuff is infernal for motivation.</p>
<p>Still, I have been doing some testing with the bug, not very much, but some. Now I know what data seems to not be up to date after loading. The next step is getting systematic about it. Identify the functions that manipulate the data that&#8217;s making things break currently, understand why and where they are called and see where they should be called when loading a savegame to get the needed data up to date.</p>
<p>Currently Operation Stealth <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/various.cpp?revision=33446&amp;view=markup#l_2201">throws an assertion</a> in <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/various.cpp?revision=33446&amp;view=markup#l_2184">addAni</a> function which is called from <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/various.cpp?revision=33446&amp;view=markup#l_2290">processSeqListElement</a> which is called from <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/various.cpp?revision=33446&amp;view=markup#l_2412">processSeqList</a> which is in turn <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/main_loop.cpp?revision=33410&amp;view=markup#l_260">called from the main loop</a> (Now *that* was a nice elongated sentence if any <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). I did some debugging to see what values addAni is called with when playing the game and the only values I saw in the beginning of game were values related to the player character&#8217;s animation:</p>
<h3>Calls to addAni when walking around in the first room</h3>
<ul>
<li>param1=3, objIdx=1, var8=1, var14=0, param3=0 (Walking down)</li>
<li>param1=2, objIdx=1, var8=1, var14=0, param3=0 (Walking up)</li>
<li>param1=0, objIdx=1, var8=1, var14=1, param3=1 (Walking right)</li>
<li>param1=1, objIdx=1, var8=1, var14=2, param3=1 (Walking left)</li>
<li>param1=7, objIdx=1, var8=1, var14=0, param3=1 (Facing down)</li>
<li>param1=6, objIdx=1, var8=1, var14=0, param3=1 (Facing up)</li>
<li>param1=4, objIdx=1, var8=1, var14=0, param3=1 (Facing right)</li>
<li>param1=5, objIdx=1, var8=1, var14=0, param3=1 (Facing left)</li>
</ul>
<h4>Some clarifications:</h4>
<ul>
<li>E.g. facing left means that the player character is standing still and looking left.</li>
<li>var8 and var14 are actually member variables of a <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/engines/cine/various.h?revision=33349&amp;view=markup#l_45">SeqListElement</a> that&#8217;s given as a reference parameter to addAni.</li>
</ul>
<h4>Hypotheses made from the given addAni calls:</h4>
<ul>
<li>param3 is 0 when the player character is walking vertically, otherwise it&#8217;s 1.</li>
<li>element.var14 is 1 when the player character is walking right, 2 when his walking left and otherwise 0.</li>
<li>param1 identifies the used animation (Walking right, walking left, standing still and facing left etc).</li>
</ul>
<p>So, wish me luck with the debugging and let&#8217;s hope it&#8217;ll be over in no time!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=55&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/07/31/getting-systematic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>
	</item>
		<item>
		<title>Operation Stealth savegames bugging</title>
		<link>http://buddhahacks.wordpress.com/2008/07/29/operation-stealth-savegames-bugging/</link>
		<comments>http://buddhahacks.wordpress.com/2008/07/29/operation-stealth-savegames-bugging/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 13:12:49 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=45</guid>
		<description><![CDATA[Hi! Alright, now I&#8217;ve got a format for saving and loading Operation Stealth savegames. But the problem is that whilst saving seems to work and loading too, after I load an Operation Stealth savegame the game crashes in the main loop in processSeqList&#8230; something to do with all the animated stuff as I tried removing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=45&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi! Alright, now I&#8217;ve got a format for saving and loading Operation Stealth savegames. But the problem is that whilst saving seems to work and loading too, after I load an Operation Stealth savegame the game crashes in the main loop in processSeqList&#8230; something to do with all the animated stuff as I tried removing the call to processSeqList from the main loop and suddenly there were no characters on-screen at all <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  but at least it didn&#8217;t crash then.</p>
<p>So to get this bug smashed next&#8230; ROAR!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=45&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/07/29/operation-stealth-savegames-bugging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>
	</item>
		<item>
		<title>Savegame format coming together</title>
		<link>http://buddhahacks.wordpress.com/2008/07/28/savegame-format-coming-together/</link>
		<comments>http://buddhahacks.wordpress.com/2008/07/28/savegame-format-coming-together/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 08:06:00 +0000</pubDate>
		<dc:creator>Buddha</dc:creator>
				<category><![CDATA[Google Summer of Code 2008]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[ScummVM]]></category>

		<guid isPermaLink="false">http://buddhahacks.wordpress.com/?p=42</guid>
		<description><![CDATA[Hi, this savegame format thing has been getting on my nerves quite a bit. Last night I thought what the hell, I&#8217;ll get this done and just hacked together code to get forward (1, 2, 3). Recently I reverse engineered Operation Stealth&#8217;s PC version&#8217;s savegame loading routine and using that information I wrote documentation of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=42&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hi, this savegame format thing has been getting on my nerves quite a bit. Last night I thought what the hell, I&#8217;ll get this done and just hacked together code to get forward (<a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33338">1</a>, <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33339">2</a>, <a href="http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&amp;revision=33349">3</a>). Recently I reverse engineered Operation Stealth&#8217;s PC version&#8217;s savegame loading routine and using that information I wrote <a href="http://wiki.scummvm.org/index.php/Cine/Specifications#Savegames">documentation of the format</a> to ScummVM&#8217;s wiki.</p>
<p>My idea why I wanted to reverse engineer and use the information from the Operation Stealth&#8217;s disassembly for the savegame handling is that if I know what the original engine thought was important enough to be saved to a savegame file I can use that information to save pertinent parts of the Cine engine too. So what was good enough for the original Operation Stealth engine should be good enough for the Cine engine as well.</p>
<p>A word of warning about the savegames: The savegames for Operation Stealth are going to be very much a work in progress and therefore backward compatibility can be broken at practically any time and the changing formats will not be supported later. They are only a tool for development. A bit later it&#8217;d be very nice to share resources with the <a href="http://wiki.scummvm.org/index.php/SCUMM">SCUMM</a> &amp; <a href="http://wiki.scummvm.org/index.php/Tinsel">Tinsel</a> engines so the three engines could use the same code for handling their savegames.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/buddhahacks.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/buddhahacks.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/buddhahacks.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/buddhahacks.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/buddhahacks.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/buddhahacks.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/buddhahacks.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/buddhahacks.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/buddhahacks.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/buddhahacks.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/buddhahacks.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/buddhahacks.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/buddhahacks.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/buddhahacks.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/buddhahacks.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/buddhahacks.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buddhahacks.wordpress.com&amp;blog=3550044&amp;post=42&amp;subd=buddhahacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://buddhahacks.wordpress.com/2008/07/28/savegame-format-coming-together/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ade884f96b436b8b1243a5b818b404c7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Buddha</media:title>
		</media:content>
	</item>
	</channel>
</rss>
