[Scummvm-devel] Dreamweb code (+ general ScummVM focus/vision)

Johannes Schickel lordhoto at scummvm.org
Mon Jun 20 02:52:30 CEST 2011


Hi,

since I had no chance to take part in the actual Dreamweb merge discussion and 
due to some talks with Max about this matter I decided to write down my views 
on the Dreamweb codebase in our master branch.

Let me first of all say I think it's great that we support Dreamweb now, even 
though I never played it myself. The asm->c conversion is some cool work too. 
Kudos to whoozle for that.

Albeit I think it's some nice demo of the asm->c conversion I do not think 
that is what we want in ScummVM. ScummVM is about reimplementing the game 
engines or at least supporting them with the help of original source code. 
This means to me the code should be at least somewhat proper reimplementation 
of the original logic in C++.

Dreamweb definitly is not like that. What we have with dreamweb is what I would 
call a "precompiled emulator" right now. I.e. we precompile parts of the 
original assembly to run in an runtime enviorment which is partly emulating an 
x86. Other parts, as I understand it, mostly hardware/file access level, are 
reimplemented though. This is IMHO fundamently different to our goals in 
ScummVM. Sadly I had no time to voice my opinion when the merge discussion 
happened, one of the reasons why that other mail about a new merging procedure 
is on -devel now.

Also like Max, I have the feeling that people are discouraging that we 
reimplement it properly due to it being a "waste of time" and having a big 
chance of causing "regressions". That is IMHO bad too, we want a proper C++ 
reimplementation IMHO.

Thus before other people will start to use similar techniques in their engines 
and hope that we will include them too, I wanted to express that I think we 
should not accept any of this in the future. And honestly we should not have 
accepted it in the case of dreamweb too IMHO.

I do not say we should remove it from master right now! We should rather talk 
about what we really want with ScummVM (or in ScummVM). IMHO the merging shows 
that we really do not live up to our standards anymore when it comes to 
supporting new games.

So is this the new way to go? Should we really accept code like this in the 
future?

And also what are we going to do about the dreamweb code? Personally I think 
we should not support it officially till we have reimplemented it properly.


I am happy to hear your views on this. And I want to point out again that I 
value that whoozle worked on dreamweb. If someone involved in getting dreamweb 
to wrok on ScummVM is offended by this mail then I am deeply sorry about this.

// Johannes




More information about the Scummvm-devel mailing list