<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Hello everyone<br><br>This is a little update and information on tinsel 2, plus a description of its current status and issues.<br><br>Background<br>=========<br>Tinsel was an engine that was written to support Discworld and Discworld 2, by Perfect Entertainment. Perfect Entertainment was originally two different companies, Teeny Weeny Games, and Perfect 10 which merged to become one company, Perfect Entertainment. The engine had three different versions, or "generations":<br>- V0, which was used in the Discworld demo<br>- V1, which was used in Discworld 1<br>- V2, which was used in Discworld 2<br><br>V0 + V1 are called "tinsel V1" / "tinsel 1" and V2 "tinsel V2" / "tinsel 2"<br><br>Tinsel in ScummVM<br>==============<br>Initially, many people started working on tinsel once we received the source of tinsel 1 - dreammaster, drmccoy, eriktorbjorn, fingolfin, joostp and md5 (in alphabetical order).<br>The source was very well structured and organized, however the engine used an out of the ordinary "trick" known as coroutines, which allow subroutines to pause and resume code execution. For more information, check here:<br>http://en.wikipedia.org/wiki/Coroutine<br>Coroutines are NOT supported natively in C++, so we followed Simon Tatham's approach:<br>http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html<br>and thus, tinsel 1 was created, and added to ScummVM's code tree. This adaptation was done almost entirely by fingolfin.<br><br>Later on, dreammaster started working on integrating tinsel 1 and tinsel 2 into a single engine, which would be able to support both Discworld 1 and 2. He did it, and with the help of drmccoy, who worked on BMV videos and sound, the new tinsel 2 engine was added to ScummVM's code tree yesterday, able to support both Discworld 1 and 2. Both games are completable.<br><br>Current status<br>===========<br>* Both games are completable under little-endian 32bit systems<br>* The demo versions of the games are not yet supported (the DW2 demo might be supported, if it's using the same version of the engine that the full version does).<br>* There might be issues in big endian and 64bit systems - although the code should cover endianess issues and issues with 64-bit pointers. Testing both games under such systems would be very helpful<br><br>Discworld Noir<br>==========<br>I'm not sure if this game uses the tinsel engine, however, since it has 3D graphics, it's not suited for ScummVM, but for the ScummVM subproject residual. Noone has worked on it, and I don't know if anyone will.<br><br>Thanks to:<br>========<br>John Young, for the source code of the engine<br>dreammaster, drmccoy, eriktorbjorn, fingolfin, joostp and md5 (in alphabetical order), for all their contributions<br><br><br>Regards<br>Filippos Karapetis (md5/thebluegr)<br><br /><hr />Send e-mail faster without improving your typing skills. <a href='http://windowslive.com/Explore/hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_speed_122008' target='_new'>Get your HotmailŪ account.</a></body>
</html>