[Scummvm-devel] Source code of the Tinsel engine

Paul Gilbert paulfgilbert at gmail.com
Sat Sep 22 01:27:33 CEST 2018


If you can manage to implement support for it, you'll have a friend for
life in me :) I loved this game when it first came out, but never had much
luck getting it to run on more modern versions of Windows. I toyed with the
idea of reversing it myself once or twice, but was too wary of the
potential complexities of the 3D player rendering code to really do
anything seriously.

As far as the Tinsel engine in ScummVM goes, support for Discworld 2 was
added in a fairly organic manner.. with a continuous process of trying to
run the game, getting a crash, incorrect rendering, etc., and then figuring
out how Tinsel 2 varied from Tinsel 1. Then adding in special case logic to
handle it properly. As such, there may well be miscellaneous and/or
redundant changes in Tinsel 2 that never made it into the ScummVM engine,
simply because the Tinsel 1 code still ran it indistinguishably. So yeh,
you definitely may have some trouble trying to compare some parts of the
raw assembly from Noir with the ScummVM engine even if they're unchanged
from Tinsel 2.

No matter what happens regarding source access, I'd love to hear about your
progress if you have a blog. And maybe, if you ever lose interest in the
project, consider making your disassembly available.. in case it can be
used as a basis by someone else in the future. We already have a track
record for this kind of thing, with the Xeen engine being finally completed
based on an in-progress disassembly that WizardStan did years ago.

Regards,

DreamMaster

On Fri, Sep 21, 2018 at 12:42 AM Eugene Sandulenko <sev.mail at gmail.com>
wrote:

> Hi Wobak,
>
> Originally, the sources were provided only for ScummVM Team and are not
> public.
>
> We started to work on the engine from the original sources, and we have a
> repository with all the intermediate commits transferring the engine to the
> current state.
>
> I would gladly help you with answering questions which could let you map
> out those functions. Perhaps, I will be able to pass you at least partial
> sources. It depends on how long you've been involved in ResidualVM, and how
> devoted you are to the idea of finishing your project.
>
>
> Eugene
>
> On Fri, 21 Sep 2018 at 09:14, Wobak J <WobakJ at web.de> wrote:
>
>> Hello,
>>
>> and first of all thanks for the great work on ScummVM!
>> I am working on statically analyzing Discworld Noir as a first step
>> towards implementing support for it in ResidualVM. I was able to label a
>> large portion of the functions by matching their control flow and call
>> sites to the tinsel source code in the Git repository.
>>
>> However, there are a lot of functions for which source and assembly
>> differ drastically. While many were likely changed in DW 3 to implement
>> the extended inventory, menu and mover system, I assume that in the code
>> available in the ScummVM repository, especially the lower-level
>> functions were modified to make the engine compatible with the ScummVM
>> infrastructure.
>>
>> It would be extremely helpful to have the original, unmodified DW 2
>> source code to separate these functions from the functions which were
>> actually changed between DW 2 and 3 and need to reimplemented.
>> Is there a particular person I can contact or was the code only supplied
>> under an NDA and may not be shared?
>>
>> Regards,
>> Wobak
>>
>> _______________________________________________
>> Scummvm-devel mailing list
>> Scummvm-devel at lists.scummvm.org
>> http://lists.scummvm.org/listinfo/scummvm-devel
>>
> _______________________________________________
> Scummvm-devel mailing list
> Scummvm-devel at lists.scummvm.org
> http://lists.scummvm.org/listinfo/scummvm-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20180921/a75379af/attachment.html>


More information about the Scummvm-devel mailing list