How do I compile BZFlag in Visual Studio 2008?

Questions or HOWTOs about the above? Post 'em here...
Post Reply
The Slayer!
Private
Private
Posts: 4
Joined: Mon Apr 14, 2008 11:56 pm

How do I compile BZFlag in Visual Studio 2008?

Post by The Slayer! »

Hey guys,

I would like to know if any of you have successfully built BZFlag from scratch using MS Visual Studio 2008. I have been looking all over the place for tutorials, but to no avail :( . There are no tutorials that I could find when Googling it, and as Google is the best search engine, I doubt I will find any other tutorials any other way but this. I also read the README files included with the source, but the instructions were confusing and the info was not what I was looking for.

Are there any packages (like CURL, etc.) that I need before I can compile BZFlag client? Or can any of you guys point me to a good tutorial on how to compile BZFlag in Visual Studio 2008?

I would greatly appreciate any input! :)
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: How do I compile BZFlag in Visual Studio 2008?

Post by JeffM »

if you are trying to build bzflag 2.0.x in 2008, I would highly recommend against it. That version is older and was never updated to support the newer version of the compiler.

I would recommend using 2005 (yes there is a free version of it as well ).

You will need to ether build your own libCURL, or get a pre-made one , goolge can help you find it.

2.0.x is not set up to be built with out some development knowledge, and was actualy intended to be built with visual C++ 2003.

If you are building bzflag 2.99.x (what will be 3.0) bzflag will build "out of the box" with 2008 with no third party libs ( other then the platform SDK and direct X from Microsoft).
ImageJeffM
The Slayer!
Private
Private
Posts: 4
Joined: Mon Apr 14, 2008 11:56 pm

Re: How do I compile BZFlag in Visual Studio 2008?

Post by The Slayer! »

Hi there,

Thank you so much for the info! However, I'm a bit confused on this note:
If you are building bzflag 2.99.x (what will be 3.0) bzflag will build "out of the box" with 2008 with no third party libs ( other then the platform SDK and direct X from Microsoft).
I thought that the latest version of BZFlag was 2.10 (I saw that 2.12 "forgotten release" came out, as well), and I didn't see any 2.99X or 3 version :( . Is this a planned future version, or is it hidden somewhere obscure?

Thank you for your quick response!
:D
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: How do I compile BZFlag in Visual Studio 2008?

Post by joevano »

2.99.x is the current version under development. If you want to build it, you need to download a copy from the bzflag SVN repository. 2.99.x is not compatible with 2.0.x servers. There are some 2.99.x servers out there, but the code still has issues. Testers are always welcome though.
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln
User avatar
Branton
Private First Class
Private First Class
Posts: 18
Joined: Tue Apr 08, 2008 1:50 am

Re: How do I compile BZFlag in Visual Studio 2008?

Post by Branton »

I've managed to compile BZ with VC++ 2008 express (aka free) edition.

I had to get Libcurl to compile first (Google that one, it's was pretty easy).

I also had to download the MS DirectX SDK to get a few header files. I had to make some minor modifications to some of the source (such as changing #includes paths-- they were obvious once you get the compile errors).

I also had to make a change to the code to delete some directX (anitrosphic???) feature because I could not get that particular file to compile. Mostly very minor changes, commenting out code etc.

My goal was to get the bzflag to be compiled with he best optimization flags for my CPU. I was able to notice a significant increase in playability on my laptop afterwards.

-=-=--=-=-=-=-=- WARNING -=-=-=-=-=-=-=-=-=-
Now for the HUGE WARNING!!! If you do this and play with it as I do you will get banned for cheating! I've been banned for cheating on a group of very popular servers (which I will not name because I do not want to make the admin look bad) because my version number was wrong. Most peoples show 2.0.10.20071116-MAINT-W32VC71... Mine shows 2.0.10.<compiledate>-MAINTW32VC8.

Some admins have been kind enough to ask me about it before they banned and I was able to explain (Thanks Sniper15!) and I still play on their servers. So if you start seeing client version requests when you play you'll know why. I can only say that some admins assume anyone smart enough to compile the windows version is cheating. (let us not forget that linux people compile all the time) .

So let me say you've been warned.

And for the unnecessary disclaimer, I was not cheating...
-=-=-=-=-=- END WARNING -=-=-=-=-=-

Best of luck. I'm an accomplished programmer (albeit *nix) and it took me a about 2 weeks to get it working!
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: How do I compile BZFlag in Visual Studio 2008?

Post by JeffM »

you should not have to edit the code at all.

1) you probably just need GLEW, 2.0.x assumes you have it.
2) 2.0.x needs the direct X SDK from April 2007 or EARLIER. it will not work with ones after that with out changes.

And yes, you built with VC8 instead of 7.1 so one would hope that it would report differently.

I can not imagine that optimization flags would change game play that much, as the majority of the speed issues are due to your graphics card, and compiling does not change that.
ImageJeffM
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: How do I compile BZFlag in Visual Studio 2008?

Post by joevano »

Banning based on the string returned from /clientquery is ridiculous!!! Having the knowledge of compiling (and programming) even on a windows platform DOES NOT constitute a cheater. I compile a windows client. Am I a cheater? JeffM compiles windows clients, is he a cheater? I could go on and on with that line of thought.... any good cheater would change the client query string anyway. The /clientquery string is a 100% unreliable indicator of cheating!!! PERIOD!!! It may raise a red flag to watch them, but without some other evidence any action is unwarranted.
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln
The Slayer!
Private
Private
Posts: 4
Joined: Mon Apr 14, 2008 11:56 pm

Re: How do I compile BZFlag in Visual Studio 2008?

Post by The Slayer! »

joevano wrote:2.99.x is the current version under development. If you want to build it, you need to download a copy from the bzflag SVN repository. 2.99.x is not compatible with 2.0.x servers. There are some 2.99.x servers out there, but the code still has issues. Testers are always welcome though.
Thanks! Do you have any idea when BZFlag will move officially to the 2.99.X release? I can't wait :)
Anyhow, thanks for the info! I will dig into this....
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: How do I compile BZFlag in Visual Studio 2008?

Post by joevano »

The Slayer! wrote:Thanks! Do you have any idea when BZFlag will move officially to the 2.99.X release? I can't wait :)
Unfortunately, looks like you will have to wait. Officially, the time line is that we will try and release 3.0 before the sun looses all it's hydrogen and turns into a black dwarf. Of course, as always there are no guarantees...
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln
User avatar
Branton
Private First Class
Private First Class
Posts: 18
Joined: Tue Apr 08, 2008 1:50 am

Re: How do I compile BZFlag in Visual Studio 2008?

Post by Branton »

joevano wrote:Banning based on the string returned from /clientquery is ridiculous!!! Having the knowledge of compiling (and programming) even on a windows platform DOES NOT constitute a cheater. I compile a windows client. Am I a cheater? JeffM compiles windows clients, is he a cheater? I could go on and on with that line of thought.... any good cheater would change the client query string anyway. The /clientquery string is a 100% unreliable indicator of cheating!!! PERIOD!!! It may raise a red flag to watch them, but without some other evidence any action is unwarranted.
I completely agree! but your know what... it still happens. I got a "clientquery" and a few seconds later I was kicked and banned.

I've thought about hacking the version just so people don't always accuse me of that after the client query.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: How do I compile BZFlag in Visual Studio 2008?

Post by JeffM »

just don't play on such poorly admined servers.
ImageJeffM
The Slayer!
Private
Private
Posts: 4
Joined: Mon Apr 14, 2008 11:56 pm

Re: How do I compile BZFlag in Visual Studio 2008?

Post by The Slayer! »

joevano wrote: Unfortunately, looks like you will have to wait. Officially, the time line is that we will try and release 3.0 before the sun looses all it's hydrogen and turns into a black dwarf. Of course, as always there are no guarantees...
LOL! :D that is most unfortunate :)
In that case, I think I would better invest my time and effort into trying to make the current 2.10 version compile in MS Visual Studio 2008 Pro. Ah, so goes life.... :(
Anxuiz
Private First Class
Private First Class
Posts: 31
Joined: Fri Sep 05, 2008 3:38 am

Re: How do I compile BZFlag in Visual Studio 2008?

Post by Anxuiz »

In my opinion, it is easier to compile BZFlag on VC++9 than the other versions because it has the windows platform SDK built in :D

I've successfully compiled 2.0.12 and 2.99 (revision 19210) with VC9, but this is what I needed:

GLEW (latest version)
DirectX April 2007
LibCURL (without SDL)
PDCurses (latest version)

After I linked to those libraries, I just built the BZFlag solution...and tada! It runs and compiles perfectly :)

-Yassen
User avatar
blast
General
General
Posts: 4933
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: How do I compile BZFlag in Visual Studio 2008?

Post by blast »

Yassen wrote:LibCURL (without SDL)
I'm guessing you mean without SSL. ;)
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Re: How do I compile BZFlag in Visual Studio 2008?

Post by JeffM »

if you do not use the "distribution" build targets, 2.99.x only needs direct X, we will handle the rest internal.
ImageJeffM
Post Reply