Gleeok wrote:The overwhelming consensus is that 'ZC3' would have zero compatibility with ZC, and also use zero code from ZC, and I also strongly agree. However, both would be open source, so tools could be written to 'upgrade' quest data to other, more useable, formats. Back before 2.5, it seems ZC didn't really need any resource handling, and that's one of those things you have to put in at the core of the engine. FFCs currently take up roughly 3/4 of all map memory, that's why all the fingers are being pointed to that right now. 😊 (I actually had no idea that was the case until you brought it up last week)
See now, my repeated questioning, and analysis, does give useful results. 😛
I'll be curious what, if anything, you decide to do about this, for 2.60.
As to zero-compatibility, it all comes down to what you use as a base. I see no reason why ZScript couldn't have an API, to compile, or run via a JIT compiler, but tile datum, and other references would need a compatibility library. As long as you are in control of the engine, making such a library set, or entire framework, should be possible; but clearly not a primary objective. As I've said before, ZC-ifying Solarus might be the easiest route there.
You may even disambiguate it, with a name shift, such as ZC-III. That would prevent versioning problems with future forks of the ZC sources. I can only imagine the confusion if the present ZC source, after 2.60, makes it past ZC 3.0, while ZC3 is using the same numbering scheme, and especially if someone releases ZC 3.1 using the present engine, while the new ZC3 is at 3.0. Utter, confusion.
I'm more curious on what your plans are for engine changes in 2.60, at this point. I don;t know how much practical aid I could render, but suggestions, feedback, and testing are all well and good from my standpoint. Never having seen a single line, of any of the sources, and knowing only vague bits of the internal workings, I'm essentially stabbing in the dark with many of these suggestions, comments, and concerns.