Zep wrote: "Ortu found a nasty memory leak with Make Camera, Delete Camera
When a camera is deleted, memory is leaked..."
The program generated by the D3D9Ex compiler from your posted code does not appear to leak any memory on my machine. Care to elaborate a bit on how you came to this conclusion?
It isn't impossible that your OS (or D3D runtime) may cache some data structure used by the camera as long as you have plenty of free memory for example, and only reclaim it when it deems such appropriate. Though I don't think that is likely to be the case.
Zep wrote: "I have no idea if you are still working on this or not Rudolpho."
I am quite busy with work and a personal game project at the moment, as well as some home repairs. Work on this project is further hampered by the fact that I have to boot up Windows 7 to even work on it as Microsoft decided to deprecate most D3D9 debugging tools to such an extent that they flat out won't work on later Windows versions.
That said, if you find an issue feel free to drop a post describing it as well as possible (Green Gandalf's post above here with an attached mini project replicating the issue is a great example of something that is very helpful for me to have when addressing bugs) and I will try to get to it whenever I am able.
Zep wrote: "Is there a fork with your changes?"
There is not, this started as a request job by StarWraith 3D Games a couple of years ago and is, for the time being at least, not public source'd. Not that there's anything to hide
@Green Gandalf: Hm, that is indeed curious.
If you add the bounds flag and set it to true (one) at the end of the
ROTATE LIMB command it does work as intended for me:
rotate limb 1, 2, 0.0, 0.0, angle2#, 1
Can you try to manually provide that parameter and set it to zero when using U77RC7 and see if that works?
That flag denotes whether the bounds of the object has to be updated. I haven't had time to properly look through the function that accomplishes that but it is quite possible that it sets some flag that causes the new mesh data to be updated to the GPU and that isn't set by the
ROTATE LIMB command itself. If so it may be that this bounds updating was enabled by default in U77RC7. Otherwise something else may be at play here.