As for the math bug....
After reading the link to the original post about it, it appears to be more of a bug than just an order of precedence.
From empty:
Quote: "It ignores the minus sign and the following constant value. This always happens if you have two operands with an operator other than subtraction before and after a subtraction. So
1+1-99+1
actually becomes
1+1+1=3
and
1+3-2+4-1+10
becomes
1+3+4+10=18
However, this is only the case with constant operands. With variables as operands it simply calculates additions first.
v1=1 : v3=3 : v2=2 : v4=4 : v10=10
a = v1+v3-v2+v4-v1+v10
becomes
a = 4-6-11
a = -13"
I can't see any case where you would "expect" it to work like this. Then again, who just strings a bunch of constants together like that in their code? If it doesn't happen with variables, then I doubt people are ever really bitten by the problem. I think it should be fixed if I ever decide to do any more updates. I'll have to see if it is something I can find.
Quote: "I know that SW3D as been working with a custom version of Dark Basic v1.x for a while now (prior to DBP release iirc), and it's been mentioned by RickV before that the reason his games tend to be able to do more than bog-standard releases is due to this fact.
"
I don't think that is true at all. There is a "special" version that was handed out to a select few that had a few additional commands. Shawn was not using this version though because it did not have the ability to use the Enhancement pack. Shawn is using Memblocks and a few outside dll's (one of which was written by me for support of the TrackIR hardware

). There wasn't any performance boost included in that "special" version. Shawn's games are truely THAT AMAZING. It is rediculous what he is able to do with DB Classic. His latest game, Renegades, should be seen as a benchmark of what can be done with the new version.
Quote: "I'm wondering how much of v1.2.0 is based on SW3D's original modifications? What sort of performance increase have you been able to gain with the enhancements?"
I didn't do any comparisons in performace between 1.1.3 and 1.2.0, but there really shouldn't be any boost at all. That wasn't really the goal of this update.
Quote: "On the whole DBv1 has never really been plagued by many really noticeable problems, except the static object flickering which has been noted is now fixed. No doubt this is actually due to removal of the retained mode."
I don't think the "flashing" problem had anything to do with retained mode. To be honest, I have no idea what caused it. There wasn't anything specific that I did to remove the problem. It just wasn't there once I did my first new compile. Removing retained mode was the last thing that I did during this update so it definately wasn't caused by that.
Quote: "Something I'd like to suggest (if this is still DirectX7.1 based) is could you change Transform & Lighting to an automatic check mode. "
Could you explain a little more? I'm not sure what you are asking for with this and what the benefit is.
Quote: "Would also like to see the fixed-function shaders (blend mode operations) to also be brought in. As they could really make things quite beautiful if used correctly. Blitz3D for example has them while still being Dx7 which allows for Normal Mapping which can add quite a bit of depth even to ageing engines. Especially as on most card with full shaders they can do it without any real performance drop."
Adding support for normal mapping is an update that I would love to do. I am definately going to look into this if I decide to do further updates.
Quote: "Could you also talk to TGC about them rebuilding 3D Game Maker with this new build? It would really help one of their best selling products become modern-hardware compatible."
I don't think that is in the cards. Since there really isn't any performance boost, some additional programming would have to be done to take advantage of the new commands. I guess there would be some benefit to making it more Vista compatable, but I still kind of doubt that is going to happen. I can ask though
Quote: "Something else that would be nice to see is the integration of the types that GuyS added in DarkEDIT. Realistically because of how they're done, it shouldn't really be much of a major change to compiled code; as his solution was a pre-processor that created multiple arrays. You could always impliment it a little more cleanly though."
That is a good idea, but I'm not sure if I want to get into that. Does TDK's new IDE do something similar for faking types? If I am going to spend time on future updates, I would rather do it enhancing the capabilities of the engine for things like the normal map support than I would extending the actual language. It is something that I could look at, but to be honest probably won't happen.
Quote: "Would be nice to see some interpreter performance increases, and a better performance collision/matrix system (these were the real performance killers back in the day). Just stuff to put on a list and check out when you have time mind."
I don't recall having any problems with the interpreter peformance. I can look at the matrix collision stuff at some point though.

a.k.a WOLF!