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>