[Scummvm-devel] Dreamweb engine inclusion.

Max Horn max at quendi.de
Tue Jun 14 13:45:46 CEST 2011


Am 14.06.2011 um 13:17 schrieb Eugene Sandulenko:

> On 14 June 2011 12:32, Willem Jan Palenstijn <wjp at usecode.org> wrote:
>> Apparently there's a restricted .asm file that is the input for this
>> recompiler?
>> 
>> If so, this makes me wonder if this is sufficiently open source for us (and for
>> the GPL). Note that the GPLv2 defines source as "the preferred form of the work
>> for making modifications to it". So this depends on your intentions for the
>> future.
> No, this is not that way.
> 
> We got original sources from the authors, and as usual, they're under
> NDA, i.e. ScummVM Team only.
> Together with it we got an explicit permission to use it as we want
> for implementing a GPL licensed engine.
> 
> The sources (besides, they include the game editor too) are written in
> ASM, and they required manual translation, which we started. Then
> Vladimir came with an idea of automatical preprocessing, and instead
> of generating pseudocode like we do with some of the engines, he
> generates C code.
> 
> So basically dreamgen.cpp is equivalent to a .dat file in other
> engines. After several developments it will be practically static.
> 
> I do not think that there is a real sense of making that code readable
> or something, but we can fix bugs in it as we do with other engines.
> 
> Of course, a bit more brains could be added to the translator, such as
> loop detection, but all in all, refactoring those 20k lines of
> basically assembly code will bring us no gain.

Really, no gain? 
So what if there are bugs in the dreamweb engine? Do we then go and fix the bug in the original assembler code, then run the regeneration process again?

fuzzie's email makes me believe that the current generated code triggers warnings. If this is the case, and if we can't fix those warnings (because whenever we fix a bug, we need to regenerate that code, which would remove the fix), then I see a severe problem. Maybe if the code generator can be fixed to produce warning-free code, this is acceptable. 

Anyway, I am quite skeptical at this point. But I see that the dreamweb code has been put on github, so I'll give it a spin and reserve my judgement until I had a closer look.


Cheers,
Max





More information about the Scummvm-devel mailing list