Engine Reset Issues
<i>This post was originally made by <b>danij</b> on the dengDevs blog. It was posted under the categories: Engine, Mac OS X, Unix/Linux, Windows.</i>
I've been experiencing issues with engine resets for quite a while now, so I went in search of the cause of the problem.
First thing I found is that there is an issue with particle generator management. During a reset, definitions are re-read and thus any ptrs to the old structures become invalid, so all active ptcgen_t->def ptrs need to be updated. I've had a go at this myself but found the particle generator code too tricky to understand and/or something isn't working as expected because when iterating the active generators; their type (flat/state/type) is not being accurately determined.
Can you have a look at that skyjake? See particle.c around line #1422.
The second issue is similar to the above, material_t->xlat needs updating after both a reset and a texreset with a new texture translation ptr.
I've been experiencing issues with engine resets for quite a while now, so I went in search of the cause of the problem.
First thing I found is that there is an issue with particle generator management. During a reset, definitions are re-read and thus any ptrs to the old structures become invalid, so all active ptcgen_t->def ptrs need to be updated. I've had a go at this myself but found the particle generator code too tricky to understand and/or something isn't working as expected because when iterating the active generators; their type (flat/state/type) is not being accurately determined.
Can you have a look at that skyjake? See particle.c around line #1422.
The second issue is similar to the above, material_t->xlat needs updating after both a reset and a texreset with a new texture translation ptr.
Comments
I think it would be good if we didn't commit so much partially-implemented and/or "TODO" stuff.
I believe Yagisan was looking into the window management under *nix, though it would seem he hasn't had the time.
I've recently setup Ubuntu on my machine so Yagisan, if you won't have time; let me know and I'll try to get something working under *nix too.
As for commiting partially-implemented stuff to svn, almost everything I commit I believe to be working 100%, at least under Windows as the current svn builds and runs OK for me. However, there are some issues with the deferred GL task system and texture loading which mean I have to disable most addons (e.g. detail textures simply do not work at all). Any TODO remarks I do make in commit messages are generally concerning potential improvements which I intend to implement, which I have observed in the process.
Currently I'm looking through the various *NIX windowing toolkits to try and find one that fits our needs, but ***that won't help skyjake on OSX***
(rev 4879) failing to build (apparently materialtype_t has “incomplete type”)
</blockquote>
Should be fixed in rev 4882.