Jump to content
The Dark Mod Forums

Zaccheus Application Thread:


Recommended Posts

Hy guys,

 

I tend to hang around at TTLG.com and thus heard about this amazing project you folks are doing here.

 

New Horizon said I should register here, as I'm considering joining your team, if you'll have me.

:o)

 

 

Quick background:

 

Professionally, I've worked as a full time C++ developer for over 5 years and have a degree in computing.

As a hobby, I've been coding in C/C++ (and assembler!) since the 80's.

Regarding Thief, I've been playing ever since TheDarkProject came out.

 

I will say up-front:

For various reasons (including Borland's lack of D3D support), I am only just getting into Direct3D.

 

But I know quite a bit about 3D graphics (real-time & ray-tracing) and have written my own real-time 3D rendering engine: The whole 3D to 2D transformation, lighting and texturing is handled by my code. I only use the Windows API function 'Polygon' to draw a 2D polygon onto a flat device context. ( screenshots ).

 

Currently I'm working on my 3rd Thief FM ("GoingDown") and am also writing an SDK for a generic file format called 'Dendros' which I plan to use for Gravel v3.

 

I would have contacted you earlier and I did have a look at your 'vacancies' section a while ago, but I must confess that I didn't really seem to have any of the requested experience.

 

However, if I can help you guys in any way (maybe even just writing simple tools which transform something from format X into format Y), I'd be happy to help because I think the DarkMod has great potential.

 

 

EDIT:

Switched off smilies in this post.

Edited by Zaccheus
Link to post
Share on other sites

Your backgrounds sounds good. :) So I would suggest to make you a contributor and give you an assigment so we can see how you work. What you could implement would be the leaning stuff. If you need help with keybindings, that's easy enough and I already did it several times. So you would need to ind out where to best put this and implement it. Forward, left/right leaning. IMO that is a small independent task whch should get you started with the Doom 3 SDK code. What you need is a Visual Net compiler. I fyou don't have one there is a free Beta 2005 available which I use for development.

 

If you have samples of earlier code I would also like to see a bit.

Gerhard

Link to post
Share on other sites

I can send you some of the code for the Gravel SDK.

 

I use the Microsoft Visual C++ Toolkit 2003 with my own IDE.

That should be Ok.

 

I got Doom3 this afternoon, I'll have to look into getting the SDK installed (I assume there's a link on Doom3.com).

 

So am I right in assuming I can write the leaning functionality as a stand alone extension (presumably moving the camera in an arc), or do I need to get your framework code as well?

 

(If I need to integrate my stuff into your VC++ Projects/Solution, I guess I'll need to get that VC beta)

Edited by Zaccheus
Link to post
Share on other sites

Hi Zaccheus. I don't know why you would think you didn't have the required experience, that sounds like more than enough! (I'm a physical science guy with a little programming background, and they took me for some reason :) ) .

 

We don't do that much Direct3D programming that I know of. Much of the render engine source is NOT included in the SDK, so we can't change the low level render mechanics.

 

As for VCC2003Toolkit : I used this at first to compile the vanilla D3 source, but I found I was too lazy to set up the makefiles properly for our darkmod source. So I ended up switching to VCC2005Beta. But if you're skilled in makefiles and building all the dependencies and whatnot, I don't see why you couldn't use 2003Toolkit.

Link to post
Share on other sites
I think Ishtvan also uses that version of the compiler. Only thing is you can't commit changes to the workspace probably if you add files. Not sure about this though, how compatible they are.

Cool.

 

I guess I should get Doom 3 & the SDK installed on my PC now.

:D

 

The VC++ Toolkit compiler is identical to the VC++ .net 2003 compiler, it just comes without an IDE. So I had to write my own (screenshot). ;)

 

> If you have samples of earlier code I would also like to see a bit.

I've attached the latest version of the Gravel v3 Physics Engine source code.

 

EDIT - removed source. Please contact me if you want to have a look.

:)

Edited by Zaccheus
Link to post
Share on other sites

Ok I've installed, patched and played Doom3 (we are converting that to Thief ?! B) ) and also have the SDK installed (which version are we using?), but to quote GamersHell:

"This SDK contains source code and header files for a variety of game subsystems, example maps and models, project files and more, but very little documentation."

 

So ... any place I can find some documentation?

 

Anyhow, I'll start off by getting the code to compile.

:)

Edited by Zaccheus
Link to post
Share on other sites

At least I now have some idea how it all fits together.

:lol:

 

Feel free to suggest other URLs though. ;)

 

Please confirm:

It is SDK 2 (edit: v1.1) that I should be using, right?

 

EDIT:

For some reason Doom3_SDK_2.exe installs SDK 1.1 - oh well.

:blink:

Edited by Zaccheus
Link to post
Share on other sites

Yes, we are using 1.1 as far as I know.

 

There is very little documentation, you kind've have to spend a week staring at the code to start to understand the inner workings (thats what I had to do at least). src/game/game_local.cpp seems to be the "outermost" code that calls everything else when the game starts up, when you load a map, etc. For leaning and player movement, you might want to look at the src/game/Player class, which inherits src/game/Entity class (which is huge because it applies to any "entity" in the game, players, lights, AI, etc). I don't know if that helps at all.

Edited by Ishtvan
Link to post
Share on other sites
Btw, in case you run into any common problems, these threads on www.doom3world.org should be helpful:

 

http://www.doom3world.org/phpbb2/viewtopic.php?t=6733

 

And this thread specifically for VCC2003 Toolkit:

 

http://banditsteals.ba.funpic.de/d3files/

Since this compiling under Windows will only result in windows binaries, what about Linux? I guess somebody needs then to compile your code under Linux, too. Is somebody doing this already?

 

I'm just asking, because portability up-front is much easier than to discover in 3 months that the Linux build is absolutely broken. Normaly, what people do is to set up a repository (svn, cvs etc) and then somebody (else) goes and does nightly downloads of the latest code, and an automatic build on the important platforms. That means that each change that breaks something will be discovered soon, instead of weeks later.

 

So, whats the Linux status of the extra code? ;)

 

Just for the record, today I managed to compile the Linux SDK it via scons. Yeah! :D

 

Cheers,

 

Tels

 

Edit:forgot smileys :)

Edited by Tels

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Link to post
Share on other sites

As long as we are not using any Windows API calls (or Microsoft extensions to the language), it should compile on Linux without any problems.

 

Personally I think we should concentrate on getting it all working at all (while keeping portablity in mind) and once we have a solid code base, we can think about other platforms.

Link to post
Share on other sites
Since this compiling under Windows will only result in windows binaries, what about Linux? I guess somebody needs then to compile your code under Linux, too. Is somebody doing this already?

 

Currently not. But ensuring that it will finally run on Linux is one of my priorities as I run Linux as my main system. :)

 

I'm just asking, because portability up-front is much easier than to discover in 3 months that the Linux build is absolutely broken.

 

It's not as bad in this case, because the only issue we can get is compiler errors. Operating system platforms should be minor because we are coding within D3 and not withing an operating system.

 

Just for the record, today I managed to compile the Linux SDK it via scons. Yeah! :D

 

Well, this sounds like you could be our Linux tester. :) My problem is that I can't run D3 on Linux right now, because I have no sounddriver for my card Creative Audigy ZS 2, which I bought specifically for T3. :( Maybe there is already a driver available because this was some months ago when I last checked.

Gerhard

Link to post
Share on other sites
When you do this, make a backup of the original files that you are about to modify. When you are finished, then send me the original and the new file so I can diff it to see what you changed. If you need help just ask.

Will do.

:)

Link to post
Share on other sites
It's not as bad in this case, because the only issue we can get is compiler errors. Operating system platforms should be minor because we are coding within D3 and not withing an operating system.

 

Well, thats the theory, anyway :P

 

Well, this sounds like you could be our Linux tester. :)

 

Sure :)

 

My problem is that I can't run D3 on Linux right now, because I have no sounddriver for my card Creative Audigy ZS 2, which I bought specifically for T3. :( Maybe there is already a driver available because this was some months ago when I last checked.

 

Did you check http://opensource.creative.com/soundcard.html? They list your card es supported by emu10K (if I read this correctly), so it _should_ work. :ph34r:

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

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.

×
×
  • Create New...