greebo Posted July 9, 2007 Report Share Posted July 9, 2007 Ah, yes, I can reproduce that crash even in Windows. There seems to be a problem when inserting the worldspawn entity into the scenegraph, which is a bit weird. I'll check that out. Quote Link to comment Share on other sites More sharing options...
greebo Posted July 9, 2007 Report Share Posted July 9, 2007 The crash seems to be related with the node resorting happening in Node_insertChildFirst(). This may or may not be related to my latest changes to the Traversable implementation, but I'm a bit sceptical here. It might be that this code has never been used up to this date, as this situation (model node is inserted into the scenegraph root before the worldspawn node) has never been encountered. I'm still investigating, this takes time because my 32-bit machine is so slow. Quote Link to comment Share on other sites More sharing options...
greebo Posted July 9, 2007 Report Share Posted July 9, 2007 Should be fixed, this was kind of tough. I recently changed the TraversableNodeset class to use std::vector instead of the home-grown UnsortedNodeset. What I missed was that the nodeset iterators have to stay valid even when a walker class removes an element during traversal. This is is obviously not provided by std::vector (an indication for this is also that the erase() method of std::vector runs in linear time), so I changed it to use std::list instead (whose erase() method runs in constant time). Anyway, it should work fine now. Please check it out on your end. Quote Link to comment Share on other sites More sharing options...
mohij Posted July 9, 2007 Author Report Share Posted July 9, 2007 It works great. :-) And now that I can test it, my patch also works. Quote Link to comment Share on other sites More sharing options...
greebo Posted July 10, 2007 Report Share Posted July 10, 2007 Your patch is on SVN now. I think you can cross off the task from the tracker now. What topic do you want to work on next? Quote Link to comment Share on other sites More sharing options...
mohij Posted July 11, 2007 Author Report Share Posted July 11, 2007 I'm quite short on time atm, so I'm not sure if I can continue to programm as regular as I did until now, sorry about that. So some task that isn't time dependant and can be done as I have time would be cool. Something that came into my mind yesterday is internationalization an UTF-8 (even though I have zero experience in that area). Quote Link to comment Share on other sites More sharing options...
greebo Posted July 11, 2007 Report Share Posted July 11, 2007 Little time is not a problem at all. We don't have any deadlines for our tasks, so almost anything would be suitable. What do you mean with internationalisation? Were you thinking about the language strings of the UI and such? Quote Link to comment Share on other sites More sharing options...
mohij Posted July 11, 2007 Author Report Share Posted July 11, 2007 Yes, exactly that. Quote Link to comment Share on other sites More sharing options...
greebo Posted July 11, 2007 Report Share Posted July 11, 2007 This would require a good concept, I reckon. OrbWeaver, what do you think about that? Quote Link to comment Share on other sites More sharing options...
OrbWeaver Posted July 11, 2007 Report Share Posted July 11, 2007 To be honest I'm not really seeing the return on investment of that task -- it would be a very large amount of work to do properly, just so that people could view the menus in Japanese katakana or whatever. Quote DarkRadiant homepage ⋄ DarkRadiant user guide ⋄ OrbWeaver's Dark Ambients ⋄ Blender export scripts Link to comment Share on other sites More sharing options...
Crispy Posted July 12, 2007 Report Share Posted July 12, 2007 What languages does vanilla D3 support anyway? Just European ones? The patch notes for D3 1.3.1 suggest that at least English, French, Italian, and Spanish are supported. I've had a little internationalisation (i18n for short) experience. There are lots of potential pitfalls and it is a bit of a pain; even more so if you're trying to retrofit existing code. Quote My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares. Link to comment Share on other sites More sharing options...
mohij Posted July 13, 2007 Author Report Share Posted July 13, 2007 Then something else is fine too, it should be fun though ;-) Quote Link to comment Share on other sites More sharing options...
greebo Posted July 14, 2007 Report Share Posted July 14, 2007 Depends on what you consider fun Things that come into my mind:There are a few smaller user requests on the tracker (camera speed, language tweaks) - nothing spectacular, but needs doing sometime.Some code refactoring. This can be boring, but you can learn a lot about the DarkRadiant codebase this way (at least I did). The struct Winding class in winding.h is such an example, which could be moved into the brush/ folder into proper file pairs.Speaker radius rendering (tracker). This can be challenging, but would be a welcome addition for mappers. Would get you involved with how to add renderables to the shadercache plus OpenGL commands.Maybe OrbWeaver has some more suggestions? Quote Link to comment Share on other sites More sharing options...
mohij Posted July 15, 2007 Author Report Share Posted July 15, 2007 I think the speaker radius thing sounds cool. It's probably a lot of copy and paste from light radius I guess. Quote Link to comment Share on other sites More sharing options...
greebo Posted July 15, 2007 Report Share Posted July 15, 2007 Yes, at least you'll have to read a lot of code from these classes. However, note that the light class might not be the best or clearest way to implement that type of things. Much code still is structured in GtkRadiant's style, which can express itself in things named in non-obvious ways, an obscure network of callbacks and base classes implemented as member variables instead of a clear class inheritance - sometimes complicated, where it could be easy and vice versa. You'll see that soon enough, I guess. I'd suggest you just dive in and we discuss that topic in a new thread. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.