[quake2] Porting latest Quake2Max to Linux

Brendan Burns brendanburns at attbi.com
Sun Jul 13 22:24:30 EDT 2003

The error message which you are getting means that elsewhere (in 
another .h file (probably types.h)) there is another typedef.  A 
typedef is a way of telling the compiler:

typedef A B
see this type A which you already know about,  I want to define a type 
B which is equivalent.

So chances are good (check the icculus q_shared.h to be sure) that 
those typedefs are not in our headers.

On a (possibly more important) note, our plan regarding the q2max 
sources is to integrate the graphics improvements into our source base, 
not migrate over to the q2max source wholesale (since it is missing 
many of the linux specific improvements)

What this means is that while I'm sure getting q2max to build on linux 
will be a great learning experience for you, I'm not sure that it will 
result in anything that we will be able to merge back in to the icculus 
source base.

I don't mean to discourage you (on the contrary I think its a great way 
to learn) I just wanted to make sure that you weren't disappointed in 
the end.


On Sunday, July 13, 2003, at 04:55 PM, Joshua Barney wrote:

> I'm working on a rather incompetent port of Psychospaz's latest
> available source (v0.42) to Linux.
> Unfortunately I have effectively zero programming experience, besides
> some ancient Pascal classes I took back in junior high (that I
> flunked out of...  please don't laugh. ='P )
> I figure I'd kind of improvise a little bit and use the Icculus Q^2
> makefile with the Q2Max source, and after moving some C and header
> files into the appropriate spots, gcc will at least attempt to
> compile it now.
> I'm simply going through the errors as they pop up; most seem
> intuitive enough and have been fixed, but then this error cropped up:
> In file included from src/client/cl_ents.c:23:
> src/game/q_shared.h:55: redefinition of `byte'
> src/game/q_shared.h:55: `byte' previously declared here
> src/game/q_shared.h:56: conflicting types for `false'
> src/game/q_shared.h:56: previous declaration of `false'
> src/game/q_shared.h:56: conflicting types for `true'
> src/game/q_shared.h:56: previous declaration of `true'
> src/game/q_shared.h:56: confused by earlier errors, bailing out
> make[1]: *** [debugi386/client/cl_ents.o] Error 1
> make[1]: Leaving directory `/home/joshua/Quake2maX'
> make: *** [build_debug] Error 2
> I opened up q_shared.h and had a look.  The offending lines:
> typedef unsigned char 		byte;
> typedef enum {false, true}	qboolean;
> What does this mean?  Is "byte" one of those special words that means
> something to the compiler, that isn't supposed to be messed around
> with, like "void" or "int"?  And how can I stop it from being
> redefined?
> ~ Joshua
> =====
> "You can't have bread and loaf."
> __________________________________
> Do you Yahoo!?
> SBC Yahoo! DSL - Now only $29.95 per month!
> http://sbc.yahoo.com

More information about the quake2 mailing list