Jump to content
The Dark Mod Forums

Building Doom 3 On Linux With Eclipse


OrbWeaver

Recommended Posts

Has anybody successfully set this up to work yet? I have got Eclipse to compile the D3 SDK code, but for some reason it (or Scons, I don't know which) is not using an incremental build - instead the entire project is rebuilt from scratch even if only a single file has changed.

 

Is there some flag you have to set in either Eclipse or SCons to use an incremental build, or is there some other problem which causes one of the tools to think that an complete rebuild is necessary?

Link to comment
Share on other sites

I am just using the vanilla D3 SDK at the moment, I don't have the TDM source code. I would like to get into a state where "hacking" on the D3 source is easy to do with Eclipse, which I find a particularly user-friendly IDE.

Link to comment
Share on other sites

OK, sorted it. For some reason SCons did not appear to be accessing the file signatures correctly when run under Eclipse causing it to perform a complete rebuild everytime.

 

I added the following line to src/SConstruct to tell SCons to use file timestamps rather than its own hash database to detect changes:

 

SourceSignatures('timestamp')

 

Now the problem appears solved.

Link to comment
Share on other sites

@Spar, would you say the things we have to get working in order to port to Linux are the rendering pipe for the lightgem, and the keyboard handler? Hopefully the keyboard handle should be pretty do-able, if we can find the source for one for Linux we can put it into the linux version of the src and make sure the outer function calls are the same (maybe we'll have to write some sort of outer function layer so that the calls within D3 to see which keys are pressed are translated into the specific kb handler calls for the platform?)

Link to comment
Share on other sites

Why does TDM need its own keyboard handler? Is the standard D3 functionality not sufficient?

 

I have also set up GtkRadiant so it compiles and builds properly under Eclipse, which would actually make parallel development very streamlined, especially with the really tight CVS/SVN integration.

Link to comment
Share on other sites

@Spar, would you say the things we have to get working in order to port to Linux are the rendering pipe for the lightgem, and the keyboard handler?

 

Yes. The pipe stuff should be easy and pretty straightforward, but I'm not sure about the keyboardhandler.

 

Hopefully the keyboard handle should be pretty do-able, if we can find the source for one for Linux we can put it into the linux version of the src and make sure the outer function calls are the same (maybe we'll have to write some sort of outer function layer so that the calls within D3 to see which keys are pressed are translated into the specific kb handler calls for the platform?)

 

Finding the source for the keyboardhandler is easy. I can give it to you right now. :) After all, this is Linux and I have all kind of kernel sources on my system. The problem is NOT to get the source, but to properly make it work in the Linux/Unix environment.

Gerhard

Link to comment
Share on other sites

Why does TDM need its own keyboard handler? Is the standard D3 functionality not sufficient?

 

In Doom 3 there are buttons and impulses. impulses can be an unlimited number (i.e. as many as you keyboard has keys), but buttons are limited to eight. Several of them are already used up like ATTACK, MOVE FORWARD, LEFT, RIGHT, BACKWARD so there are only three left. Because of a bug it's actually onlyu two left now, but I think this was fixed in the latest patch. Nevertheless if you want to have leaning reacting properly, instead of a toggle, then we need three directions for leaning already, which leaves no room for other stuff. I implemented a solution that you can make all keys into buttons, and this has to be ported on Linux as well.

Gerhard

Link to comment
Share on other sites

Finding the source for the keyboardhandler is easy. I can give it to you right now. After all, this is Linux and I have all kind of kernel sources on my system. The problem is NOT to get the source, but to properly make it work in the Linux/Unix environment.

 

Could you explain what "make it work" means in more detail? I'm not trying to argue, just curious.

Link to comment
Share on other sites

Well, the problem is that there is no direct keyboard handler in Unix. You are reding data from a terminal. I don't know how it would work if I would start to processes reading from the same terminal, I guess it simply wouldn't work. In Windows this is easier, because the API provides an interface for such a situation, but I'm not aware of such a mechanism on Unix. The code for that part is in the non-accessible area of Doom 3. the one where we have no keycard for. :) So we probably can't even take it from the keyboard and feed it in. But I have to look at this in more detail, because I'm not THAT good in such deep down Unix programming and usually you don't really need to ensure such hardware access. It might even be needed to write a kernel modul to support what we need. Sounds harder than it is though, because I experimented with that some time ago.

Gerhard

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

    • Baal

      Episode 3 of the second best Doom 3 mod, Phobos,  was just released.
      · 2 replies
    • snatcher

      TDM Modpack v4.2 released!
      · 1 reply
    • The Black Arrow

      Hey @nbohr1morehow come the zombies in The Dark Mod don't have a "resurrection" mechanic to it, similar to how Thief has it?
      They're quite a weak creature as of right now, it's merely a walking corpse that slashes you, making attacking them to kill them an actual strategy.
      Would be better if they had some cool mechanism to it that truly makes them a danger, such as the resurrection idea itself.
      · 3 replies
    • Ansome

      Query: when was the last time a zombie in a video game was unnerving or scary to you? I'm chipping away at my anniversary submission and I've been trying to gather opinions on the subject. I'm perfectly capable of lighting them well, changing their sfx, and creating effective ambience, but I'm worried that zombies at their core are just too overdone to be an effective payoff to the tension I'm creating.
      · 8 replies
    • nbohr1more

      The Lieutenant 3 is out! Congrats Frost_Salamander! ( raising awareness )
      · 2 replies
×
×
  • Create New...