Engine Reset Issues

edited 2007 Jul 18 in Developers
<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.

Comments

  • <blockquote>Can you have a look at that skyjake?</blockquote> I could, if I was able to compile and run the engine. :) It's currently (rev 4879) failing to build (apparently <tt>materialtype_t</tt> has "incomplete type"), and also it appears no one has implemented the SDL version of the window management functions (<tt>dd_uinit.c</tt>, I think). If you could take care of those, I would be happy to take a look, and maybe even do some real development toward Beta 6, also.

    I think it would be good if we didn't commit so much partially-implemented and/or "TODO" stuff.
  • I'm not sure what the issue is with materialtype_t, it compiles fine under Microsoft VC at least. I'll look at it.

    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.
  • I have been looking into it - but I'm still not convinced its the right thing to do (it sounds like a nice idea for editing - but not for playing, which doesn't need multiple windows). I've already established that we can't do multiple windows with SDL.

    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***
  • <blockquote>
    (rev 4879) failing to build (apparently materialtype_t has “incomplete type”)
    </blockquote>
    Should be fixed in rev 4882.
Sign In or Register to comment.