[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