Jump to content
The Dark Mod Forums
Sign in to follow this  
mohij

MapExpressions

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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).

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

This would require a good concept, I reckon. OrbWeaver, what do you think about that?

Share this post


Link to post
Share on other sites

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.


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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...