So, 95% of the reason you cant release code is... because you cant auto format it, and code insight doesn't work with your changes.
This given the original DeleD code compiled with Delphi 7 which didn't have source formatting or better code insight than Lazarus.
There is a difference between porting and hacking to pieces.
IMHO, you should have:
1) Focused on the Lazarus port first with minimal changes (which adhere to Delphi 7 standards) and are portable to Linux/Mac.
2) Uploaded the code, and allowed users to bug check for 6 months. If the job was done right, it would have gained new Mac/Linux users.
Then, fork the code and apply your fancy template code changes.
Thats just my view, and it may be the view of others
*Yawn*.
I'm going to be honest: I don't know who you are, or why you're so specifically worked up over this post, right now. As far as I can recall you are not even someone who has ever replied to my DeleD thread, to date? I was expecting that I might get a reply like yours, but I figured it would be from someone like, say, JuhaManninen (and I would have been perfectly ok with that, as I honestly find his posts rather entertaining most of the time!)
Yes, the original code compiled with Delphi 7. However, that is less than irrelevant in this context, and it's mind-boggling that you mention that in the
same sentence as your comment about cross-platform compatibility. The original codebase was (and still is in some places, I've yet to find workarounds for everything) chock-full of good-old-fashioned late 90s/early 2000s Windows-centric Delphi tropes: as in,
the sort of things that you would totally expect to find in an application written between 2004 and 2011, in Delphi 5 to 7. The sort of things, more specifically, that would make it literally impossible to ever get the application running on a non-Windows-platform. The approach you're suggesting I should have taken to the codebase is literally the opposite of what has allowed me to make real progress in the work I've done so far.
Imagine if you will that I had uploaded my changes to Github within the first week or so I started working on the codebase, and made the same post on these forums as I did in reality: I absolutely guarantee you that we'd still be sitting around endlessly debating things like whether we should rewrite the parts of the application that used Graphics32 to use BGRABitmap. Or, to give another example, whether we should rewrite the parts of the application that used the original developers "home-grown" image loading/manipulation code to use BGRABitmap. Both of these are things that I just went ahead and did after considering the pros/cons for about an hour, and as I suspected they both ended up being the right decision. It's the difference between DeleD actually being able to properly support PNG textures (which it does now) and not doing so, which it didn't before. However, it
could have, very easily, at any point in the last 12 years had the original developers simply not been so stubborn, accepted the fact that their PNG loading routines didn't work, and just used any of the number of libraries that could have done it for them. (I mean, despite the problems with Graphics32 that lead me to replace its use, they were already using it and it could have have least done THAT for them... so why keep hammering away at their own stuff? Makes zero sense.)
Furthermore: Nothing I've done should even be thought of as "porting" to begin with, and I certainly don't think I've been "hacking it to pieces". The application as JuhaManninen left it already technically compiled in Lazarus: it just didn't really work. What I've done has all been related to simply making it run as intended at first, and later improving it/adding features/etcetera.
The bottom line is: it was and still is an application in desperate need of far more than "minimal changes", and an application in desperate need of an overall development attitude that does not involve thinking Delphi 7 matters at all in 2016 (it doesn't.) Delphi 7 was never anything more than "pretty good" for
what it was at the time it was released. It was certainly
never "great" as so many people seem to believe, and it's
definitely not something that should be aspired to as any kind of standard in this day and age.
Now, does anyone have any relevant information about the
ability of Lazarus to parse Generics? Because even if I'm the worst programmer in the world, and indeed literally a demon sent from Programmer Hell to stir up controvery..... the fact remains that Lazarus has some serious problems parsing Generics.