<?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>Gobsmacked</title>
	<atom:link href="http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=433" rel="self" type="application/rss+xml" />
	<link>http://drmccoy.de/gobsmacked</link>
	<description>Notes about ScummVM&#039;s Gob engine</description>
	<lastBuildDate>Wed, 13 Jun 2012 02:29:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4</generator>
		<item>
		<title>Of Geishas and AdLib music</title>
		<link>http://drmccoy.de/gobsmacked/?p=512</link>
		<comments>http://drmccoy.de/gobsmacked/?p=512#comments</comments>
		<pubDate>Wed, 13 Jun 2012 02:29:09 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[Fascination]]></category>
		<category><![CDATA[Geisha]]></category>
		<category><![CDATA[Gob]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[AdLib]]></category>
		<category><![CDATA[Coktel Vision]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Reversing]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=512</guid>
		<description><![CDATA[As I mentioned in Part I of what I half-jokingly called my &#8220;yearly update&#8221;, Geisha was only missing two hard-coded minigames, so it was kind of a low-hanging fruit to get supported. Unfortunately, as happens very often with me, I didn&#8217;t actually finish implemented those minigames just then, turning instead to other projects of mine. [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in <a title="Yearly Update, Part I: ScummVM" href="http://drmccoy.de/gobsmacked/?p=433">Part I of what I half-jokingly called my &#8220;yearly update&#8221;</a>, <a href="http://wiki.scummvm.org/index.php/Geisha">Geisha</a> was only missing two hard-coded minigames, so it was kind of a low-hanging fruit to get supported. Unfortunately, as happens very often with me, I didn&#8217;t actually finish implemented those minigames just then, turning instead to other projects of mine.</p>
<p><span id="more-512"></span></p>
<p>I did implement one of them, Diving, a month later. But the other one, Penetration, lingered in its unimplemented state for another 5 month. Until about two weeks ago, when the urge to finally have Geisha done became too great for me to handle. Which then lead to me actually working on the Gob engine again, and since last Saturday, Geisha is officially supported by the daily build of ScummVM (and will be in the coming ScummVM 1.5.0 release).</p>
<p>There was just one tiny thing still bothering me: The missing <a href="https://en.wikipedia.org/wiki/Ad_Lib,_Inc.">AdLib</a> music, in MDY/TBR format (.mdy files containing the music score, .tbr files containing the instrument parameters). I&#8217;m a sucker for a good AdLib (and <a href="https://en.wikipedia.org/wiki/MOS_Technology_SID">SID</a>, <a href="https://en.wikipedia.org/wiki/Module_file">MOD</a>, <a href="https://en.wikipedia.org/wiki/Video_game_music_culture">&#8230;</a>) tune.</p>
<p>Now, like <a href="http://wiki.scummvm.org/index.php/Fascination">Fascination</a>, Geisha contains a <a href="https://en.wikipedia.org/wiki/Pulse-code_modulation">PCM</a>-based alternative, but it&#8217;s far from sounding as awesome as proper AdLib music. We did have some code intending to play those MDY files in the repository, but it was hopelessly broken. Moreover, this code and the ADL (a later <a href="http://wiki.scummvm.org/index.php/Coktel_Vision">Coktel Vision</a> AdLib music file format) player&#8217;s was in a very shoddy and undocumented.</p>
<p>Therefore, I decided to just rewrite it completely, which I then did over the weekend. The result is a new working MDY player, a fixed glitch in the ADL player, and, maybe most importantly, clean and documented code for the Gob AdLib stuff.</p>
<p>And what is also very interesting is that I found out that the MDY/TBR format is in actuality the <a href="http://www.vgmpf.com/Wiki/index.php?title=MUS_%28AdLib%29">MUS/SND</a> format &#8212; apparently created by Ad Lib as a more simple alternative to the <a href="http://www.vgmpf.com/Wiki/index.php?title=ROL">ROL</a> format. This format has been used in other, non-Coktel-Vision, games as well, so it might just be that it can be reused by potential future ScummVM engines.</p>
<p>Just shows how what you think is a straight-forward task can still surprise you. <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=512&amp;md5=3dcb74194008761973b3a8d0878dfbcf" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=512</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D512&amp;language=en_GB&amp;category=text&amp;title=Of+Geishas+and+AdLib+music&amp;description=As+I+mentioned+in+Part+I+of+what+I+half-jokingly+called+my+%26%238220%3Byearly+update%26%238221%3B%2C+Geisha+was+only+missing+two+hard-coded+minigames%2C+so+it+was+kind+of+a+low-hanging+fruit+to...&amp;tags=AdLib%2CCoktel+Vision%2CFascination%2CGob%2Cmusic%2CReversing%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Yearly Update, Part II: eos</title>
		<link>http://drmccoy.de/gobsmacked/?p=484</link>
		<comments>http://drmccoy.de/gobsmacked/?p=484#comments</comments>
		<pubDate>Sat, 24 Dec 2011 23:53:00 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[eos]]></category>
		<category><![CDATA[xoreos]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Aurora]]></category>
		<category><![CDATA[BioWare]]></category>
		<category><![CDATA[Dragon Age]]></category>
		<category><![CDATA[Jade Empire]]></category>
		<category><![CDATA[Knights of the Old Republic]]></category>
		<category><![CDATA[KotOR]]></category>
		<category><![CDATA[KotOR2]]></category>
		<category><![CDATA[Neverwinter Nights]]></category>
		<category><![CDATA[NWN]]></category>
		<category><![CDATA[NWN2]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[RPG]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=484</guid>
		<description><![CDATA[[Minor Update: Because of name clashes, eos has been renamed to xoreos.] As promised in my last post, I will now talk about eos. &#8220;What is eos?&#8221;, I hear you ask. Well, in short, it&#8217;s an open source project I started to portably reimplement BioWare&#8216;s 3D engines, starting with Neverwinter Night&#8216;s Aurora engine. Quite a [...]]]></description>
			<content:encoded><![CDATA[<p>[<strong>Minor Update</strong>: Because of name clashes, eos has been renamed to xoreos.]</p>
<p>As promised in my <a href="http://drmccoy.de/gobsmacked/?p=433">last post</a>, I will now talk about eos.</p>
<p>&#8220;What is eos?&#8221;, I hear you ask. Well, in short, it&#8217;s an open source project I started to portably reimplement <a href="https://en.wikipedia.org/wiki/BioWare">BioWare</a>&#8216;s 3D engines, starting with <a href="http://www.mobygames.com/game/neverwinter-nights">Neverwinter Night</a>&#8216;s Aurora engine. Quite a daring task, and one I can&#8217;t begin to hope to finish on my own, especially since I&#8217;m not really that versed in all that 3D stuff. But working on it is fun and scratches an itch, and maybe more people will join me in that particular quest some day.</p>
<p><span id="more-484"></span></p>
<p>Here&#8217;s a quick rundown on the current state of eos:</p>
<h4><span style="text-decoration: underline;">General</span></h4>
<p>Working:</p>
<ul>
<li>&#8220;Engine&#8221; framework</li>
<li>Global configuration subsystem</li>
<li>Debug console with readline-like abilities</li>
<li>Reading classes for a shockful of BioWare file formats, including archives, images, <a href="https://github.com/DrMcCoy/eos/blob/master/doc/specs/bioware/GFF_Format.pdf?raw=true">GFF</a> formats</li>
<li>Resource manager</li>
<li>Basic manager classes for 3D graphics and sound</li>
<li>Playing of <a href="https://en.wikipedia.org/wiki/Bink_Video">Bink</a> videos (decoder courtesy of the <a href="http://ffmpeg.org/">FFmpeg</a> project)</li>
<li><a href="http://wiki.multimedia.cx/index.php?title=XMV">XMV</a> demuxer (<a href="https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/xmv.c">which we then reworked to fit into FFmpeg</a>)</li>
</ul>
<p>Missing:</p>
<ul>
<li>Animation subsystem</li>
<li>3D positional audio</li>
<li>WMV p-frames</li>
</ul>
<h4><span style="text-decoration: underline;">Neverwinter Nights</span></h4>
<p>Working:</p>
<ul>
<li>Partially working main menu</li>
<li>Loading of modules and areas, including placeables and creatures</li>
<li>Moving around in areas</li>
<li>Interacting with doors</li>
<li>Talking to NPCs</li>
<li>Script execution</li>
</ul>
<p>Missing:</p>
<ul>
<li>Area lighting</li>
<li>Most script functions</li>
<li>Proper &#8220;segmented&#8221; models (each body part a separate model)</li>
<li>PC, walking, combat, inventory, journal</li>
<li>Script triggers</li>
</ul>
<p><center><iframe src="http://www.youtube.com/embed/WaRfBsZVO3Y" frameborder="0" width="420" height="315"></iframe></center></p>
<h4><span style="text-decoration: underline;">Knights of the Old Republic (1 + 2)</span></h4>
<p>Working:</p>
<ul>
<li>Very stubby main menu</li>
<li>Loading of areas, including placeables and creatures</li>
<li>Moving around in areas</li>
<li>Unswizzling Xbox textures</li>
</ul>
<p>Missing:</p>
<ul>
<li>Interacting with objects, dialogs</li>
<li>Scripts</li>
<li>PC, walking, combat, inventory, journal</li>
<li>Area lighting</li>
<li>Proper materials, including metallic reflections</li>
</ul>
<p><center><iframe src="http://www.youtube.com/embed/rawkCx9apHg" frameborder="0" width="420" height="315"></iframe></center></p>
<h4><span style="text-decoration: underline;">Jade Empire</span></h4>
<p>Menu loading works partially, everything else is still missing.</p>
<h4><span style="text-decoration: underline;">Neverwinter Nights 2</span></h4>
<p>Model loading works partially, everything else is still missing.</p>
<h4><span style="text-decoration: underline;">The Witcher</span></h4>
<p>Model loading works partially, everything else is still missing.</p>
<h4><span style="text-decoration: underline;">Dragon Age: Origins</span></h4>
<p>Texture loading works, everything else is still missing.</p>
<h4><span style="text-decoration: underline;">Sonic Chronicles: The Dark Brotherhood</span></h4>
<p>HERF archive reading and texture loading works, everything else is missing.</p>
<h4><span style="text-decoration: underline;">Dragon Age 2</span></h4>
<p>A potential target, but made difficult due to the changed archive format which doesn&#8217;t include file names anymore, only their hashes.</p>
<p>&nbsp;</p>
<p>As can be seen, the current focus is mostly on Neverwinter Nights and Knights of the Old Republic, but even there, a lot is still missing and the games are of course far from being actually playable. I am mostly working alone on that project, with help from <a href="http://clone2727.blogspot.com/">clone2727</a>; chances of eos ever becoming usable are next to none this way.</p>
<p>If anyone out there is interested in helping, this would increase said chances and we&#8217;d be overjoyed. I&#8217;m especially looking for someone with actual OpenGL experience who could probably completely rewrite my graphics code to be far more effective. Of course, there&#8217;s a lot of other places that need capable hands. <a href="https://gist.github.com/128249998dc9d4b8414d">A quick and dirty TODO I&#8217;ve written a while ago can be found here</a>. <a href="https://github.com/DrMcCoy/xoreos">The project itself is located on github, here</a>.</p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=484&amp;md5=557ad62354ecf9516d7e85ae9ad0f2be" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=484</wfw:commentRss>
		<slash:comments>26</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D484&amp;language=en_GB&amp;category=text&amp;title=Yearly+Update%2C+Part+II%3A+eos&amp;description=%5BMinor+Update%3A+Because+of+name+clashes%2C+eos+has+been+renamed+to+xoreos.%5D+As+promised+in+my+last+post%2C+I+will+now+talk+about+eos.+%26%238220%3BWhat+is+eos%3F%26%238221%3B%2C+I+hear+you...&amp;tags=3D%2CAurora%2CBioWare%2CDragon+Age%2Ceos%2CJade+Empire%2CKnights+of+the+Old+Republic%2CKotOR%2CKotOR2%2CNeverwinter+Nights%2CNWN%2CNWN2%2COpenGL%2CRPG%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Yearly Update, Part I: ScummVM</title>
		<link>http://drmccoy.de/gobsmacked/?p=433</link>
		<comments>http://drmccoy.de/gobsmacked/?p=433#comments</comments>
		<pubDate>Fri, 23 Dec 2011 20:49:06 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[Dark Seed II]]></category>
		<category><![CDATA[Fascination]]></category>
		<category><![CDATA[Geisha]]></category>
		<category><![CDATA[Gob]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[Urban Runner]]></category>
		<category><![CDATA[Adventure]]></category>
		<category><![CDATA[Coktel Vision]]></category>
		<category><![CDATA[Puzzle]]></category>
		<category><![CDATA[Reversing]]></category>
		<category><![CDATA[walk]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=433</guid>
		<description><![CDATA[Well, it&#8217;s been a year since you&#8217;ve last heard from me, so I thought an update on what I&#8217;ve been doing is in order. As this will be a tad longer, I&#8217;ll do that in two parts: This here first post will cover ScummVM-related things, while the next post will talk about eos (which you [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it&#8217;s been a year since you&#8217;ve last heard from me, so I thought an update on what I&#8217;ve been doing is in order.<br />
As this will be a tad longer, I&#8217;ll do that in two parts: This here first post will cover ScummVM-related things, <a href="http://drmccoy.de/gobsmacked/?p=484">while the next post will talk about eos</a> (which you might not have heard about yet).</p>
<p><span id="more-433"></span></p>
<p>So, without further ado, let&#8217;s dive right into ScummVM with&#8230;</p>
<h4><span style="text-decoration: underline;">Urban Runner</span></h4>
<p>Since<a title="All Beauty Must End" href="http://drmccoy.de/gobsmacked/?p=407"> my last post on Urban Runner</a>, a lot has happened: The hotel lock-up has been fixed (thanks to SylvianTV), saving has been implemented and a handful of glitches has been stomped. As of ScummVM 1.3.0 (May 28, 2011), Urban Runner is fully working and supported.</p>
<p><center><iframe src="http://www.youtube.com/embed/CUT5p6u6w9w" frameborder="0" width="420" height="315"></iframe></center>If you watch the video, you can see one tiny remaining glitch: A few video frames are corrupt, filling the screen with garbage. Unfortunately, this is not exactly a bug in ScummVM, but the videos in the data files are really broken. When taking the raw Indeo3&#8242;d video data from these frames and decoding that using a vanilla Indeo3 decoder, it displays as garbage too. However, the decoder the game uses somehow &#8220;detects&#8221; where the frames are broken and just stop decoding that frame. If you run the original Urban Runner EXE, you can actually see that happening when the background noise stops moving for that one frame. So far, we have been unable to duplicate that detection so that it works for all cases and doesn&#8217;t break anything.</p>
<p>Another problem that showed later was that saving and loading didn&#8217;t work on the PSP. After investigating the issue, we found the cause: the number of file handles on the PSP is severely limited. Since I&#8217;m opening all manually open all archive files on startup &#8212; the CD detection script doesn&#8217;t work when all data files are in one directory and the NO_CD mode requires all data files to be present in CD1.ITK &#8212; this already maxed out the available file handles. Luckily, I was able to resolve that by not manually opening CD1.ITK; the scripts already open it, but I, wrongly, feared they might try to close and reopen it.</p>
<h4><span style="text-decoration: underline;">Adibou</span></h4>
<p>After Urban Runner was working, I started investigating the script opcodes needed for the <a title="Adi" href="https://fr.wikipedia.org/wiki/Adi_%28personnage%29">Adi</a> and Adibou (<a title="Addy" href="https://de.wikipedia.org/wiki/Addy">Addy</a> and Addy Junior in German) educational games. Among them are opcodes to read string and integer values out of INI and xBase database files, for which I wrote quick loader classes. After a few days, I managed to get the environment CDs (which ship with each game to serve as a hub to start the individual lessons and provide some quick games to play in between) partially playable. With a lot of glitches, of course.</p>
<p><center><iframe src="http://www.youtube.com/embed/cqJiYsAPXgk" frameborder="0" width="420" height="315"></iframe></center>Most noticeable are the missing animations, but that&#8217;s far from being everything that&#8217;s missing.<br />
Please note that it also only includes second generation Adibou games. Third generation ones are still completely unplayable (and actually use a different scripting language altogether, so support is questionable at best). And fourth and later generations are not even Gob, so completely out of scope for this ScummVM engine.</p>
<h4><span style="text-decoration: underline;">Geisha</span></h4>
<p>The next Coktel Vision game I&#8217;ve turned to is <a title="Geisha" href="http://www.mobygames.com/game/geisha">Geisha</a>, an erotic puzzle adventure (or rather, a lot of puzzles embedded into a thin layer of adventuring). Under the hood, it&#8217;s very similar to <a title="Fascination is alive!" href="http://drmccoy.de/gobsmacked/?p=395">Fascination</a>, so it seemed like a low hanging fruit to finish. In fact, it is now already completable in ScummVM. The only thing missing is two hardcoded minigames, Diving and Penetration. I also already implemented about half of Diving; Penetration, however, is still completely unimplemented.</p>
<p>Still missing as well is a player for the AdLib music format MDY/TBR (the former containing the track, the latter the instrument definitions). Like in Fascination, there is exactly one MDY track in Geisha, the title music. And like in Fascination, there is a PCM-based alternative, which is normally played when there is no AdLib compatible sound card, and on the Atari ST. Right now, ScummVM always plays that alternative in both games, but it would be nice to have the AdLib music working too. <a title="Strangerke" href="http://drmccoy.de/gobsmacked/?author=4">Strangerke</a> already started writing an MDY player, but it&#8217;s currently still not working properly.</p>
<p>Being an erotic adventure, it does feature full nudity. I&#8217;d like to keep this blog somewhat family-friendly, so I&#8217;m not embedding any videos or screenshots.</p>
<h4><span style="text-decoration: underline;">Dark Seed II</span></h4>
<p>One game I did not make any real progress on is Dark Seed II. The scripts seem to work somehow differently to how I thought they would. Right now, they lock up in at least two places early on: when talking to the fortune teller and when entering the mirror labyrinth (both located on the carnival grounds). Moreover, I can&#8217;t seem to understand the numerical parameters accompanying a lot of the opcodes, and I&#8217;m not sure about the evaluation order of the different functions.</p>
<p>Likewise, the walking code is still wrong, as I can&#8217;t find the correct ways to evaluate the walkmap scaling parameter, and the character scaling factor. The algorithm I use is also probably not the optimal one for the provided walkmaps.</p>
<p>Nearly all the code (except the archive decompression) I have written is not based on reverse engineering, but educated guesses, and in those cases, I apparently guessed wrong and am not &#8220;educated&#8221; enough to guess correctly. To fix this, I will have to actually reverse the binary.</p>
<p>As an interesting side note, we found out that there is a Japanese Sega Saturn version of Dark Seed II. The archives are organized a bit differently, and the movies are Cinepak instead of MSVideo1 and Indeo3, but adding support for the former was easy and <a title="clone2727" href="http://clone2727.blogspot.com/">clone2727</a> already had a decoder for the latter, so the state of the version in ScummVM is similar to the DOS versions. The only missing features are proper line wrapping according to Japanese grammar rules (instead of just allowing wrapping after each character), the different dialog interface (the Japanese version plays more like a Japanese graphical novel) and the Saturn-specific music format. If anyone has any information on that music format, I&#8217;d be very much interested.</p>
<p><a href="http://drmccoy.de/gobsmacked/wp-content/uploads/2011/12/DS2SaturnCorrected.png"><img class="aligncenter size-full wp-image-482" title="Dark Seed II, Japanese, Sega Saturn (Corrected line trimming)" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2011/12/DS2SaturnCorrected.png" alt="The Japanese Sega Saturn version of Dark Seed II" width="640" height="480" /></a></p>
<p><strong>Update:</strong> Thanks to <a href="http://wiki.scummvm.org/index.php/User:Peres">peres</a> for informing me that the last character in each line was wrong (I can&#8217;t read Japanese, so I hadn&#8217;t noticed). It turned out to be a bug in my line trimming functions and is now fixed. The screenshot above has been changed to reflex the fix. For comparison, <a href="http://drmccoy.de/gobsmacked/wp-content/uploads/2011/12/DS2Saturn.png">here&#8217;s the broken version</a>.</p>
<h4><span style="text-decoration: underline;">Conclusion</span></h4>
<p>2011 was a bit of a slow year for me when it comes to ScummVM. I fixed a few bugs, started a few things, but didn&#8217;t really finish anything (except for Urban Runner, but the lion&#8217;s share there was done in 2010).<br />
I&#8217;ll talk more about what I&#8217;ve done in the other big project I was involved in in <a href="http://drmccoy.de/gobsmacked/?p=484">the next post</a>.</p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=433&amp;md5=47baaa2ad4a158713a3d86a235b6d8fa" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=433</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D433&amp;language=en_GB&amp;category=text&amp;title=Yearly+Update%2C+Part+I%3A+ScummVM&amp;description=Well%2C+it%26%238217%3Bs+been+a+year+since+you%26%238217%3Bve+last+heard+from+me%2C+so+I+thought+an+update+on+what+I%26%238217%3Bve+been+doing+is+in+order.+As+this+will+be+a+tad...&amp;tags=Adventure%2CCoktel+Vision%2CDark+Seed+II%2CFascination%2CGob%2CPuzzle%2CReversing%2CScummVM%2CUrban+Runner%2Cwalk%2Cblog" type="text/html" />
	</item>
		<item>
		<title>All Beauty Must End</title>
		<link>http://drmccoy.de/gobsmacked/?p=407</link>
		<comments>http://drmccoy.de/gobsmacked/?p=407#comments</comments>
		<pubDate>Mon, 17 Jan 2011 16:24:48 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[Gob]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[Urban Runner]]></category>
		<category><![CDATA[Coktel Vision]]></category>
		<category><![CDATA[Dithering]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[YUV]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=407</guid>
		<description><![CDATA[Yesterday, I implemented the last remaining bit Urban Runner needed for 16bit graphics support, making all my dithering exploits useless. After ScummVM got 16bit support for GSoC 2009, I chose to wait a bit before adapting the gob engine, since a lot of other code was entangled into the problem, including the CoktelVideo classes and [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I implemented the last remaining bit Urban Runner needed for 16bit graphics support, making all my <a href="?p=16">dithering exploits</a> useless. <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-407"></span></p>
<p>After ScummVM got 16bit support for <a href="http://code.google.com/soc/">GSoC</a> 2009, I chose to wait a bit before adapting the gob engine, since a lot of other code was entangled into the problem, including the CoktelVideo classes and the Indeo3 decoder.<br />
But then <a href="http://clone2727.blogspot.com/">clone2727</a> came along and completely revamped the VideoDecoder interface, making it 16bit-ready. So I rewrote the <a href="http://wiki.multimedia.cx/index.php?title=IMD">IMD</a>/<a href="http://wiki.multimedia.cx/index.php?title=VMD">VMD</a> classes to fit that interface accordingly. Next, I rewrote the gob engine drawing functions to support 16bit surfaces as well, and plugged everything together to get Urban Runner&#8217;s Indeo3 VMDs running in 16bit colour mode.</p>
<p>Unfortunately, I then hit a road block. One big thing still missing for a full 16bit Urban Runner experience was still high-color non-Indeo3&#8242;d VMD videos. I tried several approaches, but after the CoktelDecoder rewrite, they either didn&#8217;t work anymore or were dead-ugly. Becoming frustrated quickly, I started several other projects, handled some RL problems, etc., basically stopping working on it completely for several months.</p>
<p>Until yesterday. I found a way to implement the missing pieces, fixed a few smaller issue, and can now lay all that all to rest. So, I officially declare my <a href="http://drmccoy.de/gobsmacked/?tag=dithering">dithering &#8220;series&#8221;</a> dead <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .</p>
<p>Now, what&#8217;s next?<br />
First of all, the one big problem in Urban Runner, the hotel lock-up, is still present. However, a guy by the handle of <a href="http://sourceforge.net/users/sylvaintv/">SylvainTV</a> took a good look and gave me some valuable hints: The videos are supposed to play &#8220;in the background&#8221;, while the script execution continues. According to him, he hacked in a small proof of concept, and with that, the lock-up is gone. Of course, I need to find the proper way of hooking that into the engine, otherwise I invite all hell of strange bugs <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> . I already have a few suspicious I need to check out.</p>
<p>Another glitch that&#8217;s bugging me is how the sprites aren&#8217;t completely correct yet. All sprite data in Urban Runner is in <a href="https://secure.wikimedia.org/wikipedia/en/wiki/YUV">YUV</a> (or YUV840, I guess you&#8217;d call it, since each 4&#215;4 block of Y has one U and V value) and I apparently haven&#8217;t figured the exact format out yet. As you can see in the following screenshot, it looks like one colour channel is a bit offset to the lower right. The original does not feature that glitch, so it&#8217;s obviously my fault. <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<div id="attachment_414" class="wp-caption aligncenter" style="width: 383px"><a href="http://drmccoy.de/gobsmacked/wp-content/uploads/2011/01/urban_menu_yuv.png"><img class="size-full wp-image-414 " style="border: 1px solid black;" title="Urban Runner menu, 3x" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2011/01/urban_menu_yuv.png" alt="Urban Runner menu, 3x magnified, showing a colour channel glitch" width="373" height="171" /></a><p class="wp-caption-text">Urban Runner menu, 3x magnified</p></div>
<p style="text-align: center;">
<p>Anyone who might me interested in looking over my code and fiddling a bit with it, please contact me. <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>UPDATE</strong>: Thanks, again, to SylvainTV, the YUV glitch is fixed. <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_428" class="wp-caption aligncenter" style="width: 382px"><a href="http://drmccoy.de/gobsmacked/wp-content/uploads/2011/01/urban_menu_yuv_fixed.png"><img class="size-full wp-image-428" title="Urban Runner menu, 3x, fixed" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2011/01/urban_menu_yuv_fixed.png" alt="Urban Runner menu, 3x magnified, showing no colour channel glitch" width="372" height="168" /></a><p class="wp-caption-text">Urban Runner menu, 3x magnified, fixed</p></div>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=407&amp;md5=476c36cfd948331768b488c605f1f68f" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=407</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D407&amp;language=en_GB&amp;category=text&amp;title=All+Beauty+Must+End&amp;description=Yesterday%2C+I+implemented+the+last+remaining+bit+Urban+Runner+needed+for+16bit+graphics+support%2C+making+all+my+dithering+exploits+useless.+After+ScummVM+got+16bit+support+for+GSoC+2009%2C+I+chose...&amp;tags=Coktel+Vision%2CDithering%2CGob%2CScummVM%2Cvideos%2CYUV%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Fascination is alive!</title>
		<link>http://drmccoy.de/gobsmacked/?p=395</link>
		<comments>http://drmccoy.de/gobsmacked/?p=395#comments</comments>
		<pubDate>Mon, 23 Aug 2010 13:51:45 +0000</pubDate>
		<dc:creator>Strangerke</dc:creator>
				<category><![CDATA[Fascination]]></category>
		<category><![CDATA[Gob]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[Coktel Vision]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=395</guid>
		<description><![CDATA[In the previous post, I wrote that I&#8217;ll try to give some news about Fascination progress before the summer. I tried More seriously, the good news came very recently: in less than two weeks, with the impressive help of SylvainTV, all the versions of Fascination became playable and completable, or at least all the ones [...]]]></description>
			<content:encoded><![CDATA[<p>In the previous post, I wrote that I&#8217;ll try to give some news about Fascination progress before the summer. I tried <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>More seriously, the good news came very recently: in less than two weeks, with the impressive help of SylvainTV, all the versions of Fascination became playable and completable, or at least all the ones I possess.</p>
<p>The main thing missing currently, only used by PC versions of the game, is the AdLib player (and IMHO, the SoundBlaster sounds a lot better). There&#8217;s a wrong delay (too short) between rooms in several places of most versions. This seems to be caused by the delay required at the time to load from the floppies, and it&#8217;s easily patchable.</p>
<p>Last detail, the (rare) CD version still requires a tool for the STK extraction. joostp is cleaning it up, and will commit it when it&#8217;ll be in a good state.</p>
<p>Maybe it&#8217;s a good time now to grab your originals and send us some feedback on the game, specially if you find some of those too short delays!</p>

<a href='http://drmccoy.de/gobsmacked/?attachment_id=396' title='You&#039;ll suffer...'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/08/scummvm00008-150x150.png" class="attachment-thumbnail" alt="You&#039;ll suffer..." title="You&#039;ll suffer..." /></a>
<a href='http://drmccoy.de/gobsmacked/?attachment_id=397' title='That&#039;s all folks...'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/08/scummvm00000-150x150.png" class="attachment-thumbnail" alt="That&#039;s all folks..." title="That&#039;s all folks..." /></a>

 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=395&amp;md5=d456d11293041129a5a9ec1d81172e39" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=395</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D395&amp;language=en_GB&amp;category=text&amp;title=Fascination+is+alive%21&amp;description=In+the+previous+post%2C+I+wrote+that+I%26%238217%3Bll+try+to+give+some+news+about+Fascination+progress+before+the+summer.+I+tried+More+seriously%2C+the+good+news+came+very+recently%3A+in...&amp;tags=Coktel+Vision%2CFascination%2CGob%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Some progress with Fascination</title>
		<link>http://drmccoy.de/gobsmacked/?p=376</link>
		<comments>http://drmccoy.de/gobsmacked/?p=376#comments</comments>
		<pubDate>Fri, 05 Feb 2010 23:46:21 +0000</pubDate>
		<dc:creator>Strangerke</dc:creator>
				<category><![CDATA[Fascination]]></category>
		<category><![CDATA[Gob]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[Coktel Vision]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=376</guid>
		<description><![CDATA[Finally, the support of Fascination is showing some interesting progress! These last two weeks, the window behavior has been fixed, the hotspots correctly handled in them, and it&#8217;s now even possible to play through some levels. DrMcCoy even added a save/load function that works perfectly! There are still a lot of glitches in the floppy [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, the support of Fascination is showing some interesting progress! These last two weeks, the window behavior has been fixed, the hotspots correctly handled in them, and it&#8217;s now even possible to play through some levels. DrMcCoy even added a save/load function that works perfectly! There are still a lot of glitches in the floppy versions (almost none in the CD version) and it&#8217;s not completable for various reasons, depending on the platform and language concerned.</p>
<p>Here are some screenshots of the CD version.</p>

<a href='http://drmccoy.de/gobsmacked/?attachment_id=381' title='Intro'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/02/scummvm00001-150x150.png" class="attachment-thumbnail" alt="Intro" title="Intro" /></a>
<a href='http://drmccoy.de/gobsmacked/?attachment_id=382' title='Some windows opened...'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/02/scummvm00002-150x150.png" class="attachment-thumbnail" alt="Some windows opened..." title="Some windows opened..." /></a>
<a href='http://drmccoy.de/gobsmacked/?attachment_id=383' title='Window interaction and hotspots'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/02/scummvm00003-150x150.png" class="attachment-thumbnail" alt="Window interaction and hotspots" title="Window interaction and hotspots" /></a>
<a href='http://drmccoy.de/gobsmacked/?attachment_id=384' title='Second screen, showing the censored book'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/02/scummvm00004-150x150.png" class="attachment-thumbnail" alt="Second screen, showing the censored book" title="Second screen, showing the censored book" /></a>
<a href='http://drmccoy.de/gobsmacked/?attachment_id=385' title='By the pool...'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/02/scummvm00005-150x150.png" class="attachment-thumbnail" alt="By the pool..." title="By the pool..." /></a>
<a href='http://drmccoy.de/gobsmacked/?attachment_id=386' title='Closet view'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/02/scummvm00006-150x150.png" class="attachment-thumbnail" alt="Closet view" title="Closet view" /></a>
<a href='http://drmccoy.de/gobsmacked/?attachment_id=387' title='Q.U.L. headquarter'><img width="150" height="150" src="http://drmccoy.de/gobsmacked/wp-content/uploads/2010/02/scummvm00007-150x150.png" class="attachment-thumbnail" alt="Q.U.L. headquarter" title="Q.U.L. headquarter" /></a>

<p>Stay tuned for further news! I promise I&#8217;ll try to give some before this summer <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=376&amp;md5=5d181474c64410c8df2725af75ff47b9" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=376</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D376&amp;language=en_GB&amp;category=text&amp;title=Some+progress+with+Fascination&amp;description=Finally%2C+the+support+of+Fascination+is+showing+some+interesting+progress%21+These+last+two+weeks%2C+the+window+behavior+has+been+fixed%2C+the+hotspots+correctly+handled+in+them%2C+and+it%26%238217%3Bs+now+even...&amp;tags=Coktel+Vision%2CFascination%2CScummVM%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Another Dark Seed II video&#8230;</title>
		<link>http://drmccoy.de/gobsmacked/?p=365</link>
		<comments>http://drmccoy.de/gobsmacked/?p=365#comments</comments>
		<pubDate>Fri, 01 Jan 2010 15:19:42 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[Dark Seed II]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[walk]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=365</guid>
		<description><![CDATA[Hey, here&#8217;s another small video, this time with Mike walking in-game (without pathfinding) and talking to Hank in the diner. Also a nice showcase for most of the remaining graphical glitches (highlighted in the annotations) :]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Hey, here&#8217;s another small video, this time with Mike walking in-game (without pathfinding) and talking to Hank in the diner. Also a nice showcase for most of the remaining graphical glitches (highlighted in the annotations) <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  :</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/hf3yZtccX3g&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/hf3yZtccX3g&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=365&amp;md5=14e20f934cf91dd169753f3cd44a2929" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=365</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D365&amp;language=en_GB&amp;category=text&amp;title=Another+Dark+Seed+II+video%26%238230%3B&amp;description=Hey%2C+here%26%238217%3Bs+another+small+video%2C+this+time+with+Mike+walking+in-game+%28without+pathfinding%29+and+talking+to+Hank+in+the+diner.+Also+a+nice+showcase+for+most+of+the+remaining+graphical...&amp;tags=Dark+Seed+II%2CScummVM%2Cwalk%2Cblog" type="text/html" />
	</item>
		<item>
		<title>I can walk! It&#8217;s a miracle!</title>
		<link>http://drmccoy.de/gobsmacked/?p=356</link>
		<comments>http://drmccoy.de/gobsmacked/?p=356#comments</comments>
		<pubDate>Tue, 29 Dec 2009 15:46:04 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[Dark Seed II]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[walk]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=356</guid>
		<description><![CDATA[Instead of continuing working, I&#8217;ll rather goof and play around with video capturing . So you can now gaze at some working Mike walking animations:]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Instead of continuing working, I&#8217;ll rather goof and play around with video capturing <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . So you can now gaze at some working Mike walking animations:</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/HIwDEhVjrdc&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/HIwDEhVjrdc&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=356&amp;md5=82dc464f4fe57188e855557ac152d0f4" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=356</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D356&amp;language=en_GB&amp;category=text&amp;title=I+can+walk%21+It%26%238217%3Bs+a+miracle%21&amp;description=Instead+of+continuing+working%2C+I%26%238217%3Bll+rather+goof+and+play+around+with+video+capturing+.+So+you+can+now+gaze+at+some+working+Mike+walking+animations%3A&amp;tags=animation%2CDark+Seed+II%2CScummVM%2Cwalk%2Cblog" type="text/html" />
	</item>
		<item>
		<title>An inconvenience solved</title>
		<link>http://drmccoy.de/gobsmacked/?p=345</link>
		<comments>http://drmccoy.de/gobsmacked/?p=345#comments</comments>
		<pubDate>Sun, 27 Dec 2009 22:28:32 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[Dark Seed II]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[Cursor]]></category>
		<category><![CDATA[New Executable]]></category>
		<category><![CDATA[Resource Table]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=345</guid>
		<description><![CDATA[Just a minor update: Thanks to sev, who pointed me to the right place in the wine sources, I managed to solve the cursor inconvenience . The problem was, of course, my own damn fault; I misunderstood the nature of cursor resources. They&#8217;re not, as I assumed, plain cursors, one by one each taking up [...]]]></description>
			<content:encoded><![CDATA[<p>Just a minor update: Thanks to <a href="http://sev-notes.blogspot.com/">sev</a>, who pointed me to the right place in the wine sources, I managed to solve the <a href="?p=328">cursor inconvenience</a> <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>The problem was, of course, my own damn fault; I misunderstood the nature of cursor resources. They&#8217;re not, as I assumed, plain cursors, one by one each taking up a resource entry. Instead, there are cursor groups, each capable of possessing a variable amount of cursor images. That isn&#8217;t even a quirk of NE files, it&#8217;s like that in PE files as we well, so my complaining about the executables being in that old format doesn&#8217;t apply either. Mea culpa.</p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=345&amp;md5=1bf1860c8a3564a987572bf27ebc47ba" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=345</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D345&amp;language=en_GB&amp;category=text&amp;title=An+inconvenience+solved&amp;description=Just+a+minor+update%3A+Thanks+to+sev%2C+who+pointed+me+to+the+right+place+in+the+wine+sources%2C+I+managed+to+solve+the+cursor+inconvenience+.+The+problem+was%2C+of...&amp;tags=Cursor%2CDark+Seed+II%2CNew+Executable%2CResource+Table%2CScummVM%2Cblog" type="text/html" />
	</item>
		<item>
		<title>The aforementioned cursor inconvenience</title>
		<link>http://drmccoy.de/gobsmacked/?p=328</link>
		<comments>http://drmccoy.de/gobsmacked/?p=328#comments</comments>
		<pubDate>Sat, 26 Dec 2009 00:04:40 +0000</pubDate>
		<dc:creator>DrMcCoy</dc:creator>
				<category><![CDATA[Dark Seed II]]></category>
		<category><![CDATA[ScummVM]]></category>
		<category><![CDATA[Cursor]]></category>
		<category><![CDATA[New Executable]]></category>
		<category><![CDATA[Resource Table]]></category>

		<guid isPermaLink="false">http://drmccoy.de/gobsmacked/?p=328</guid>
		<description><![CDATA[In the previous post, I mentioned an inconvenience with the cursors. Here&#8217;s the gist of it: In Dark Seed II, the cursors are embedded into the resource part of the Windows 3.x (NE, &#8220;New Executable&#8221;) executable dark0001.exe. Specs are available on the Microsoft website, but they don&#8217;t quite match the executable, which claims that each [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a href="?p=268">previous post</a>, I mentioned an inconvenience with the cursors. Here&#8217;s the gist of it:</p>
<p>In Dark Seed II, the cursors are embedded into the resource part of the Windows 3.x (NE, &#8220;New Executable&#8221;) executable dark0001.exe. Specs are available on the Microsoft website, but they don&#8217;t quite match the executable, which claims that each cursor is only 32 byte big.<span id="more-328"></span></p>
<p>I did manage to extract the cursors in the end, with the help of the great tool &#8220;Multi Ripper&#8221; (a project that sadly appears to be dead). But when I then began to look for the resulting cursors in the Dark Seed executable, I couldn&#8217;t find them there, at least not directly: The headers are, only partly though, in the resource table, where you would expect them. However, the cursors&#8217; data are at a completely different place, a place that I couldn&#8217;t construct with any of the offsets I read from the various tables. So I am completely at a loss.</p>
<p>Running Multi Ripper through a disassembler didn&#8217;t really help either, since it&#8217;s either deliberately obfuscated, or just completely unreadable due to it being written mostly in Clipper (yeah o_O). The link to a wine resource compiler <a href="http://blog.quendi.de/">Fingolfin</a> send me didn&#8217;t help either (thanks again for looking, though); that compiler agrees with neither the specs, nor with the executable.</p>
<p>Since I was able to at least extract the cursors, I did what I had to do: hard-code the cursor data. So right now, the Dark Seed II engine comes with about 10kb of static cursor data. Not much of a problem, but certainly not as &#8220;nice&#8221; and clean as I&#8217;d like.</p>
<p>Well, if any of you happens to know a thing or two about resource tables in New Executables, please, pipe in and tell me what I did horribly wrong. <img src='http://drmccoy.de/gobsmacked/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <p><a href="http://drmccoy.de/gobsmacked/?flattrss_redirect&amp;id=328&amp;md5=f15befcfb98033e8a65913bd45b713f3" title="Flattr" target="_blank"><img src="http://drmccoy.de/gobsmacked/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://drmccoy.de/gobsmacked/?feed=rss2&#038;p=328</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=DrMcCoy&amp;popout=1&amp;url=http%3A%2F%2Fdrmccoy.de%2Fgobsmacked%2F%3Fp%3D328&amp;language=en_GB&amp;category=text&amp;title=The+aforementioned+cursor+inconvenience&amp;description=In+the+previous+post%2C+I+mentioned+an+inconvenience+with+the+cursors.+Here%26%238217%3Bs+the+gist+of+it%3A+In+Dark+Seed+II%2C+the+cursors+are+embedded+into+the+resource+part+of+the...&amp;tags=Cursor%2CDark+Seed+II%2CNew+Executable%2CResource+Table%2CScummVM%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
