Hi Vladimir,<br><br>I may understand that after 6 months working on the engine and to conversion tool you're not eager to rewrite completely the hardcoded logic, but I also think that a C++ implementation would be a lot more readable for everyone. Would you keep on supporting it if someone/some people start to slowly rewrite those functions (and give support to this new hardcoded logic, most likely)?<br>
<br>If so, we could set as an objective to 'someday' rewrite the entire game logic in C++ and in the meantime fix all the glitches in the current implementation. It's a bit this way we act with engines not yet objectified, after all.<br>
<br>And again, ... Congratulations for your impressive work, and impressive results.<br><br>Best regards,<br>Arnaud<br><br><div class="gmail_quote">On Mon, Jun 20, 2011 at 9:13 AM, Vladimir Menshakov <span dir="ltr"><<a href="mailto:whoozle@yandex.ru">whoozle@yandex.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
<br>
20.06.2011, 11:03, "Bertrand Augereau" <<a href="mailto:bertrand_augereau@yahoo.fr">bertrand_augereau@yahoo.fr</a>>:<br>
<div class="im">> I quite agree with the philosophy of having everything reimplemented in proper C++, but wouldn't it be a shame not allowing people to play Dreamweb in ScummVM if it is completable and supported properly?<br>
</div>Let's face the truth - noone except engine authors will fix bugs except trivial/generic ones. So, I don't think that maintainability is *really* the case here. I think it's just form of self-preferences or so. Years ago people blamed computers for losing their jobs because of automation. Today the same people blame me for automatic rewriting the code. :)))<br>
I don't have another year to spend meaninglessly rewriting the code from c++ to c++. I will fully support dreamweb as a developer. But anyway I will not protest if you unmerge dreamweb, I'm pretty fed up struggling with windmills.<br>
<div class="im"><br>
> At least, now the world knows, and there is a solid basis for reimplementing incrementally parts of the engine from generated sphagetti code to clean C++. Now there is the question that Vladimir doesn't see it any useful.<br>
> Vladimir, you have to admit that reimplementing cleanly the engine would give a *much* better performance. You don't want to commit to memory everytime you touch a register and emulate flags, that's what an emulator does, and... watch out guys, here comes my point :)... this probably is what would prevent playing Dreamweb in Scummvm on a DS and possibly other slow platforms.<br>
</div>Let's try it on DS. Usually, simple SSA, found in every compiler, eliminates all unnecessary writes.<br>
<div><div></div><div class="h5"><br>
><br>
> Cheers,<br>
> Bertrand<br>
><br>
> --- En date de : Lun 20.6.11, Johannes Schickel <<a href="mailto:lordhoto@gmail.com">lordhoto@gmail.com</a>>; a écrit :<br>
><br>
>> De: Johannes Schickel <<a href="mailto:lordhoto@gmail.com">lordhoto@gmail.com</a>>;<br>
>> Objet: Re: [Scummvm-devel] Dreamweb code (+ general ScummVM focus/vision)<br>
>> À: "Vladimir Menshakov" <<a href="mailto:whoozle@yandex.ru">whoozle@yandex.ru</a>>;<br>
>> Cc: <a href="mailto:scummvm-devel@lists.sourceforge.net">scummvm-devel@lists.sourceforge.net</a><br>
>> Date: Lundi 20 juin 2011, 8h52<br>
>> On Mon, Jun 20, 2011 at 5:40 AM,<br>
>> Vladimir Menshakov <<a href="mailto:whoozle@yandex.ru">whoozle@yandex.ru</a>>;<br>
>> wrote:<br>
>>>> Albeit I think it's some nice demo of the<br>
>> asm->c conversion I do not think<br>
>>>> that is what we want in ScummVM. ScummVM is about<br>
>> reimplementing the game<br>
>>>> engines or at least supporting them with the help<br>
>> of original source code.<br>
>>>> This means to me the code should be at least<br>
>> somewhat proper reimplementation<br>
>>>> of the original logic in C++.<br>
>>> Who do you want to reimplement this engines?<br>
>> Seeing that we have most of our other engines reimplemented<br>
>> I am not<br>
>> sure whether this is a real argument. If nobody cares<br>
>> about<br>
>> implementing it, when we don't have it supported. I don't<br>
>> see anything<br>
>> bad about it.<br>
>>> What's wrong with robot reimplementing the engine?<br>
>>> What if I replace gotos with while/do and register<br>
>> names with locals. Will it be "proper" reimplementation?<br>
>><br>
>> If you furthermore strip all the code from runtime.h then I<br>
>> would<br>
>> think of considering it proper.<br>
>>>> Dreamweb definitly is not like that. What we have<br>
>> with dreamweb is what I would<br>
>>> And like that, then?<br>
>> Like a proper reimplementation of the game and not just an<br>
>> asm -> C<br>
>> conversion utilizing a "runtime" which is basically a<br>
>> register set +<br>
>> memory + glue code used to display graphics etc.<br>
>>>> Also like Max, I have the feeling that people are<br>
>> discouraging that we<br>
>>>> reimplement it properly due to it being a "waste<br>
>> of time" and having a big<br>
>>>> chance of causing "regressions". That is IMHO bad<br>
>> too, we want a proper C++<br>
>>>> reimplementation IMHO.<br>
>>> Again, define "proper" please.<br>
>> Proper in this context is a reimplementation in C++ which<br>
>> makes the<br>
>> logic clear to someone not knowing assembly. If you look at<br>
>> the<br>
>> dreamweb code in dreamgen.cpp it is not really much<br>
>> different than to<br>
>> look at the assembly code.<br>
>>>> I do not say we should remove it from master right<br>
>> now! We should rather talk<br>
>>>> about what we really want with ScummVM (or in<br>
>> ScummVM). IMHO the merging shows<br>
>>>> that we really do not live up to our standards<br>
>> anymore when it comes to<br>
>>>> supporting new games.<br>
>>> Please tell what's wrong the dreamweb, beside "you<br>
>> don't like it". Dreamweb is not emulated, but translated<br>
>> from original source.<br>
>><br>
>> That's right Dreamweb is not emulated strictly speaking.<br>
>> But just<br>
>> looking at the code in runtime.h clearly shows it is using<br>
>> some kind<br>
>> of "virtual machine" to execute the translated assembly.<br>
>> This is what<br>
>> I would not consider a proper reimplementation of the<br>
>> engine anymore.<br>
>>>> So is this the new way to go? Should we really<br>
>> accept code like this in the<br>
>>>> future?<br>
>>> Why not?<br>
>> Because it is not reimplemented.<br>
>>>> And also what are we going to do about the<br>
>> dreamweb code? Personally I think<br>
>>>> we should not support it officially till we have<br>
>> reimplemented it properly.<br>
>>> Again, no real arguments, just emotions. You think. We<br>
>> should not. Why not? It's playable, completable. People who<br>
>> uses scummvm really don't care about how this game got<br>
>> supported<br>
>><br>
>> That's right people do not care about how it's done. But<br>
>> SucmmVM is<br>
>> (or at least was) a project aimed at reimplementations of<br>
>> the game,<br>
>> not like some pseudo emulated translation.<br>
>><br>
>> // Johannes<br>
>><br>
>> ------------------------------------------------------------------------------<br>
>> EditLive Enterprise is the world's most technically<br>
>> advanced content<br>
>> authoring tool. Experience the power of Track Changes,<br>
>> Inline Image<br>
>> Editing and ensure content is compliant with Accessibility<br>
>> Checking.<br>
>> <a href="http://p.sf.net/sfu/ephox-dev2dev" target="_blank">http://p.sf.net/sfu/ephox-dev2dev</a><br>
>> _______________________________________________<br>
>> Scummvm-devel mailing list<br>
>> <a href="mailto:Scummvm-devel@lists.sourceforge.net">Scummvm-devel@lists.sourceforge.net</a><br>
>> <a href="https://lists.sourceforge.net/lists/listinfo/scummvm-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/scummvm-devel</a><br>
<br>
------------------------------------------------------------------------------<br>
EditLive Enterprise is the world's most technically advanced content<br>
authoring tool. Experience the power of Track Changes, Inline Image<br>
Editing and ensure content is compliant with Accessibility Checking.<br>
<a href="http://p.sf.net/sfu/ephox-dev2dev" target="_blank">http://p.sf.net/sfu/ephox-dev2dev</a><br>
_______________________________________________<br>
Scummvm-devel mailing list<br>
<a href="mailto:Scummvm-devel@lists.sourceforge.net">Scummvm-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/scummvm-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/scummvm-devel</a><br>
</div></div></blockquote></div><br>