• Advertisement
Sign in to follow this  

Quake 3 Arena source code

This topic is 3086 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Where can I find quake 3 arena source code for windows, that isn't a point release? And can I compile it with Dev-C++?

Share this post


Link to post
Share on other sites
Advertisement
Everything's at ftp://ftp.idsoftware.com/
What do you mean by "not point release"? Do you want a 1.0 or prerelease version?!

As far as Dev-C++ is concerned, no idea. Dev-C++ is old and generally Code::Blocks or Visual Studio Express (it's free) is recommended instead. For compiling older sources, it should still be possible to get hold of Visual C++ Toolkit 2003.

Share this post


Link to post
Share on other sites
Don't expect to learn good programming practices from the Quake 3 source. As far as I can tell, it's a bloody mess.

Share this post


Link to post
Share on other sites
Quote:
Original post by DevFred
Don't expect to learn good programming practices from the Quake 3 source. As far as I can tell, it's a bloody mess.


I found the source code awesome because it was so lean. I also learned a lot about pragmatic programming from it.

Share this post


Link to post
Share on other sites
Can I use "CodeGear RAD Studio C++ Builder 2007" instead of Dev-C++ to compile Quake 3 arena source code?

What I mean for "not point release", is that there is an 1.32b release for linux but not for windows.

Share this post


Link to post
Share on other sites
I guess that's a patch for the game or SDK, not the source code (which is at version 1.32c).

Quote:
Can I use "CodeGear RAD Studio C++ Builder 2007" instead of Dev-C++ to compile Quake 3 arena source code?

It should be most compatible with gcc or Visual C++, but I found this which indicates it also compiles using Borland compilers. I have no idea, though, if C++ Builder is still technically Borland C++.

Share this post


Link to post
Share on other sites
Ok, I have found visual c++ 6 on one of my cd's, can someone tell me how to compile q3a source code with this version, I have difficulties with this?

Share this post


Link to post
Share on other sites
Quote:
Ok, I have found visual c++ 6 on one of my cd's, can someone tell me how to compile q3a source code with this version, I have difficulties with this?
Don't use Visual Studio 6 (it's over ten years old). Instead, download the current version of Visual C++ Express (which is free).

As for the difficulties you're having compiling the source, you'll probably need to provide some more details.

Share this post


Link to post
Share on other sites
Here is the thing I want to compile quake 3 arena source code but I can't download and install newest version of the visual c++, becouse of my slow-as-hell internet connection, and I have visual c++ 6.0 version. I know that the program has changed more or less but it is still one the same program. So how can I do this?

Share this post


Link to post
Share on other sites
Quote:

Here is the thing I want to compile quake 3 arena source code but I can't download and install newest version of the visual c++, becouse of my slow-as-hell internet connection, and I have visual c++ 6.0 version. I know that the program has changed more or less but it is still one the same program. So how can I do this?

Actually, it's a fundamentally different program -- Visual C++ 6.0 existed before C++ was standardized, so the "C++" it understands and compiles is very different from the C++ that began to exist after the standard was introduced -- including, likely, whatever C++ that exists in the Q3A code. You are probably going to have a difficult time of it. Most of it's C, but you're still likely to have issues.

But still, we can't help you unless you tell us what specifically you are having trouble doing. Getting specific compiler errors? Don't even know where to start? What parts of the documentation have you read? What have you tried?

Share this post


Link to post
Share on other sites
Check to see if there is a file with .dsw extension. This would be a VC++6 project file.
If three isn't, there is probably a makefile.
I wonder what ID used to compile Quake 3 back in 1999.

Share this post


Link to post
Share on other sites
The thing is I have finally get an microsoft visual c++ program, and I don't know where to start, there aren't any dsp or dsw files, but there is an sln, and vcproj files that are designed for VC7 / viusal c++ 2003 expresds edition. So what now?

Share this post


Link to post
Share on other sites
there is few of them, but can I use mingw compiler with visual c++ 6.0

Share this post


Link to post
Share on other sites
Just a heads up: Quake 3 Arena was/is straight C, no C++. An existing project, ioquake3 at [link] http://ioquake3.org/ [/link] also exists.

Share this post


Link to post
Share on other sites
is it good or bad if that is C and not C++, becouse I still can't compile this code?

Share this post


Link to post
Share on other sites
Quote:
Original post by nebrad
is it good or bad if that is C and not C++, becouse I still can't compile this code?
None of us are psychics. Tell us the specific errors you are getting and we can help you (e.g. "a.cs(170,30): error CS1026: ) expected"), otherwise you'll have an easier time praying to the programming gods.

Share this post


Link to post
Share on other sites
You should download Visual Studio 2003 Toolkit (that's the free Visual Studio 2003 compiler). I think you can compile the project using the MSBuild software.

Share this post


Link to post
Share on other sites
finally, I have found prjconverter.exe program that converts VC 7 to VC6 project files, and I can compile much of the code, but I can't compile quake 3 project, all other projects can be compiled.

I get 4 errors:

unresolved external symbol _glConfig

unresolved external symbol _GetRefAPI

unresolved external symbol _GetBotLibAPI

fatal error LNK1120: 3 unresolved externals

How can I fix this?

Share this post


Link to post
Share on other sites
Quote:
Original post by DevFred
Don't expect to learn good programming practices from the Quake 3 source. As far as I can tell, it's a bloody mess.


you're absolutely right. Carmack & co. has odd style - something like "just do it".

btw, they're still using C (not C++) ?

Share this post


Link to post
Share on other sites
Quote:
Original post by DevFred
Don't expect to learn good programming practices from the Quake 3 source. As far as I can tell, it's a bloody mess.


Indeed. I was amazed at how bad the code was considering Carmack's reputation.

IIRC it was full of one letter variable names, gotos and had a real dearth of comments. It was spaghetti.

Share this post


Link to post
Share on other sites
Quote:
Original post by VirtualVoid
Quote:
Original post by DevFred
Don't expect to learn good programming practices from the Quake 3 source. As far as I can tell, it's a bloody mess.


you're absolutely right. Carmack & co. has odd style - something like "just do it".

btw, they're still using C (not C++) ?

Yes, he just gets the job done;)
He just made a post not long ago to that effect when he was trying to get wolfenstein ported to the iphone. I guess they contracted it out to some 3rd party and they responded that it would take them like 3 months or so to do the work and he replied forget it and did it himself in like a week!

"The developers came back and said it would take two months and exceed their budget...As usual, my off the cuff estimate of "Two days!" was optimistic, but I did get it done in four, and the game is definitely more pleasant at 8x the frame rate"-Carmack
Showoff LOL!
He also mentions that anyone is welcome to clean up his messy source so yeah I think he's aware of it:
"
In the end, I decided to stick with the Redux codebase, but I got a lot more free with hacking big chunks of it out. I reimplemented load / save game (fixing the inevitable pointer bugs involved), and by littering asserts throughout the code, I tracked the other problem down to an issue with making a signed comparison against one of the new enum types that compare as unsigned. I'm still not positive if this was the right call, since the codebase is sort of a mess with lots of vestigial code that doesn't really do anything, and I don't have time to clean it all up right now.

Of course, someone else is welcome to do that.
"
The rest of the article at iphone development

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement