Jump to content
The Dark Mod Forums

mohij for Dark Radiant coding


New Horizon

Recommended Posts

Received this PM today. I think the forum hickups ate his previous message.

 

I already sent this message four days ago or so, but I got no answer, so this is my second try...

Greebo PMed me and asked if I wanted to help coding with Dark Radiant. Even though I have virtually no programming experience (I just got through my first C++ book) I would really like to help (as this is how to gain experience ;-). But some support, perhaps some sort of "beginner task" would be really helpful, because Dark Radiant is not a small project.

Greebo said that if I were interested, I would have to ask you. So please tell me what you think.

 

In case you are interested, I want to use Dark Radiant with a different Game Engine, but I think that doesn't really make a difference.

 

Greetings,

mohij

Link to comment
Share on other sites

  • Replies 69
  • Created
  • Last Reply

Top Posters In This Topic

Hi everyone,

GTK- and Dark-Radiant are the only open source cross-platform level editors that exist (afaik). GTK-Radiant development will stop, once 1.5 final is released. The development model of GTK-Radiant didn't work out, because there are simply no more developers that want to build an editor just for others. I think it is better to have an editor that is developed for a specific game and can be adapted by other projects for use in their games than a generic editor that is not developed by the ones that use it in the end. The GTK-Radiant devs got exactly that problem.

The code in Dark Radiant was cleaned up (it only supports Doom 3 now) and is more easy to handle in that respect. I think Dark Radiant keeps the door open for adaption to other purposes. That's why I think the future lies with Dark Radiant and not GTK-Radiant.

 

But I think that's not the point at the moment, since OGE (the engine I mentioned) is not ready for usage yet (so adopting Dark Radiant to it is pointless) and for now I primarily want to get experience.

 

OrbWeaver: I think the resource files are the smallest problem when adapting Dark Radiant to another engine. And an exporter to the map format of another engine would have to be written in any case. So in that respect there isn't much difference between Dark- and GTK-Radiant.

 

Greetings,

mohij

Link to comment
Share on other sites

mohij, how familiar are you already with the DarkRadiant codebase? I gather you already downloaded the source and have a vital compile environment as you already pointed out a bug in the public forums. Are you building in Linux or Windows? (Wouldn't make much difference, just curious)

 

Depending on how much time you have, I can point you to a number of resources that are useful to have (like our wiki, the GTK reference manual and such).

 

Are you familiar with Doom3 or Quake3 mapping itself?

 

P.S. Welcome to the forums, btw. :)

Link to comment
Share on other sites

OrbWeaver: I think the resource files are the smallest problem when adapting Dark Radiant to another engine. And an exporter to the map format of another engine would have to be written in any case. So in that respect there isn't much difference between Dark- and GTK-Radiant.

 

I'm quite happy for DarkRadiant to be adapted for other purposes -- it is open-source after all -- however the only changes that can go into the main codebase (i.e. the current DarkRadiant SVN repository) are those which support Doom 3 or the DarkMod. Anything that was specific to another engine, such as the map file exporter you mentioned, would have to be maintained elsewhere.

 

With this in mind, you are certainly welcome to work on and submit a patch for an enhancement or fix that benefits all of us -- the DarkRadiant bugtracker would be a good place to identify issues needing attention.

Link to comment
Share on other sites

Greebo: I work under Gentoo Linux (I have Ubuntu and XP on external hard discs, but I hardly use them). I didn't look into the code base much more since I had to do a lot for school (just finished my final exams for grammar school). Since I am finished with the written exams there are only the oral exams left (in a month) so I have quite some time. I did some small (you wouldn't be impressed) maps for q3, but that's it and Doom 3 will be ordered tomorrow (I guess that's a must have when coding Dark Radiant ;-). I briefly browsed through the wiki, it helped with compiling but information is always welcome.

 

OrbWeaver: I never intended to get anything not Dark Mod specific into the tree, that would basicly result in the same dilemma the GTK-Radiant guys have, just as I said in my last post. And Bugtracker sounds good, will have a look.

Link to comment
Share on other sites

Ok, I'll post some links here that might come in handy:

 

Our DarkRadiant website: http://darkradiant.sourceforge.net

DarkRadiant / The Dark Mod Bugtracker: http://bugs.angua.at

DarkRadiant section on the Wiki: http://www.thirdfilms.com/darkwiki/index.p...tle=DarkRadiant

DarkRadiant coding guidelines (Wiki): http://www.thirdfilms.com/darkwiki/index.p...oding_standards

GTK reference: http://developer.gnome.org/doc/API/2.0/gtk/

iddevnet (Doom 3 reference for shaders and stuff): http://iddevnet.com/doom3/

C++ STL reference: http://www.cppreference.com/

C++ FAQ Lite: http://www.parashift.com/c++-faq-lite/

The Dark Mod: http://www.thedarkmod.com

 

Those are the sites I frequently use when coding. I guess you're coding in eclipse?

 

These are the astyle settings I use when refactoring legacy GtkRadiant code (you probably have something equivalent, I guess):

indent=tab brackets=attach indent-switches brackets=break-closing-headers

Link to comment
Share on other sites

Oh, I don't know whether it's normal or not, but that's DarkRadiant for you. :)

 

As long as the typedef is making sense and is logical, there is nothing wrong with it. Nevertheless there is a fricking damn LOT of legacy templated stuff from GtkRadiant that is more than confusing.

 

Which part are you referring to exactly? Maybe I can give some hints?

Link to comment
Share on other sites

I was looking at /include/iscenegraph.h iregistry.h (and some others). I do understand it, but I don't like it. Might be a matter of taste. Might also be that I just don't get the big picture yet, but that will change I guess.

 

Another question: Which header files are located in /include and which in /radiant? Seems like the ones in radiant are mostly the ones of the .cpp files, but there are exceptions. So, by what criteria are they sorted? (Hm, I do feel like a noob...)

Link to comment
Share on other sites

Radiant is based on a modular architecture -- for example, there is a module for handling the filesystem, a module for cataloging the shaders, another module for storing the scene information etc. Each of these modules has a interface written as an Abstract Base Class in a file within include, so include/iscenegraph.h is the interface for the scene graph module, for example.

 

The code in radiant/ is for the main Radiant binary, which as well as all of the GUI code also contains a number of other modules which are combined into the one binary rather than being in separate DLLs.

 

More information on the Wiki:

http://www.thirdfilms.com/darkwiki/index.p...t_module_system

Link to comment
Share on other sites

Cool! I guess you already found some of the mapping tutorials (Doom3world or the modwiki is usually a good place to start)?

 

Have you already learned about entities and spawnargs and such stuff? A basic understanding of how such maps are organized will definitely be useful when fiddling around with the editor.

Link to comment
Share on other sites

I think mapping tutorials aren't the problem. As I said, I did some (ugly) maps (basicly oneroom maps with funny waterpiles, mirrors and all the fun stuff there is, simply playing around with all those features). I know what entities are, no idea about spawnargs.

Link to comment
Share on other sites

Spawnargs are the key/value pairs on the entity, like "name", "origin", "model" and such. Good to hear that you already know stuff about mapping, I guess you're ready to start then?

 

Do you want to play around on your own with the codebase, or should Orbweaver or me pick a simple startup task for you?

Link to comment
Share on other sites

As I have no idea what is easy and what is hard or impossible (for me) to do, I think a little help with a what I can/can't do is a good idea.

The first thing that came to my mind while doing the first Doom 3 map was to changing the infobox in the entity creation menu (radiant/ui/ortho/EntityClassChooser.cpp) to a real non-modifiable box and add a search box.

Link to comment
Share on other sites

The first thing that came to my mind while doing the first Doom 3 map was to changing the infobox in the entity creation menu (radiant/ui/ortho/EntityClassChooser.cpp) to a real non-modifiable box and add a search box.

 

I thought it already was non-editable? Adding a search facility could be useful I guess, since with the hierarchical organisation we cannot rely on typeahead to find entities. If you want to look at the EntityClassChooser, a previous suggestion was to add either a recent entities list or a favourites list (or possibly both).

 

What is your main area of programming interest, e.g. GUIs, OpenGL, core algorithms etc?

Link to comment
Share on other sites

What do you mean by non-modifiable? In case you didn't know, the entity tree can be searched just by entering the search term, which lists all the items matching the sequence from the beginning.

 

OMG, OrbWeaver beat me to it, I really should use that "Preview Post" button next time. :)

Link to comment
Share on other sites

Okay, so much for the search feature.

But the box is editable, at least for me. It looks just like a normal text box. The information can be edited. Selecting another item and reselecting the old resets to the original info though. I think there are other ways to display text with GTK, but I didn't look into GTK yet.

Link to comment
Share on other sites

Okay, I already repaired this. OrbWeaver already said what had to be done. I guess that was to easy...

So a bigger task would perhaps be better.

 

ps. What about SVN access vs. sending patches to one of you?

 

Edit: I would prefer patches atm as I would really like someone having a look at what I screw around in there.

Link to comment
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.


  • Recent Status Updates

    • Ansome

      Finally got my PC back from the shop after my SSD got corrupted a week ago and damaged my motherboard. Scary stuff, but thank goodness it happened right after two months of FM development instead of wiping all my work before I could release it. New SSD, repaired Motherboard and BIOS, and we're ready to start working on my second FM with some added version control in the cloud just to be safe!
      · 0 replies
    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
×
×
  • Create New...