Help Wanted

quake two source engine – en972

en972

Member

Posts: 562
From: NOT TELLING!
Registered: 08-27-2004
How do I get the quake two scource engine (gpl thing) into my dev-cpp compiler?

------------------
Keep the holy day sacred.......halllllllukan

en972

Member

Posts: 562
From: NOT TELLING!
Registered: 08-27-2004
Question mainly directed to the two guys software guys

------------------
Keep the holy day sacred.......halllllllukan

en972

Member

Posts: 562
From: NOT TELLING!
Registered: 08-27-2004
please respond

------------------
Keep the holy day sacred.......halllllllukan

Briant

Member

Posts: 742
From: Stony Plain, Alberta, Canada
Registered: 01-20-2001
The Quake 2 engine source is primarily meant to be built with MSVC++ 6.0, but it shouldn't be too much work to port it to other compilers (they include makefiles for building on linux, solaris, etc.) The makefile that's in the same folder as the MSVC 6.0 .dsw file would be the first thing to look at, and see if Dev C++ handles a makefile with that format. Do you have any existing Dev C++ makefiles so you can compare?

------------------
Brian

en972

Member

Posts: 562
From: NOT TELLING!
Registered: 08-27-2004
I dont think I have any make files....but I'll check it out...

ok, I found a make file, but ther was no visual C++ folder. this makefile was just next to all the folders when I clicked quake 2

is this what i'm looking for? CFLAGS = -Wall -c -g -DNO_PRIVATE
LDFLAGS = -sectcreate __ICON __header rhapsody/QuakeWorld.iconheader -segprot __ICON r r -sectcreate __ICON app rhapsody/QuakeWorld.tiff -framework AppKit -framework Foundation
ODIR = rhapsody/output

EXEBASE = QuakeWorld
EXE = $(ODIR)/$(EXEBASE)
all: $(EXE)

_next:
make "CFLAGS = -Wall -c -g -DNO_PRIVATE" "ODIR = rhapsody/output"

_nextopt:
make "CFLAGS = -O2 -c -g -DNO_PRIVATE" "ODIR = rhapsody/output"

_irix:
make "CFLAGS = -c -Ofast=ip32_10k -Xcpluscomm -DNO_PRIVATE" "LDFLAGS = -Ofast=ip32_10k -lm" "ODIR = irix"

_osf:
make "CFLAGS = -c -O4 -DNO_PRIVATE" "LDFLAGS = -lm" "ODIR = osf"

clean:
rm -f $(ODIR)/*.o $(EXE)

REF_SOFT_SYSTEM_FILES = $(ODIR)/r_next.o

REF_SOFT_FILES = $(ODIR)/d_polyse.o $(ODIR)/d_scan.o $(ODIR)/draw.o $(ODIR)/model.o $(ODIR)/r_aclip.o $(ODIR)/r_alias.o $(ODIR)/r_bsp.o $(ODIR)/r_draw.o $(ODIR)/r_edge.o $(ODIR)/r_efrag.o $(ODIR)/r_inter.o $(ODIR)/r_light.o $(ODIR)/r_main.o $(ODIR)/r_misc.o $(ODIR)/r_part.o $(ODIR)/r_sky.o $(ODIR)/r_sprite.o $(ODIR)/r_surf.o $(REF_SOFT_SYSTEM_FILES)

CLIENT_SYSTEM_FILES = $(ODIR)/in_next.o $(ODIR)/cd_null.o $(ODIR)/snd_next.o $(ODIR)/vid_null.o
SOUND_FILES = $(ODIR)/snd_dma.o $(ODIR)/snd_mix.o $(ODIR)/snd_mem.o
CLIENT_FILES = $(ODIR)/cl_demo.o $(ODIR)/cl_ents.o $(ODIR)/cl_input.o $(ODIR)/cl_main.o $(ODIR)/cl_parse.o $(ODIR)/cl_pred.o $(ODIR)/cl_tent.o $(ODIR)/console.o $(ODIR)/keys.o $(ODIR)/menu.o $(ODIR)/sbar.o $(ODIR)/screen.o $(ODIR)/view.o $(SOUND_FILES) $(CLIENT_SYSTEM_FILES) $(REF_SOFT_FILES)
#CLIENT_FILES = $(ODIR)/cl_null.o


SERVER_FILES = $(ODIR)/pr_cmds.o $(ODIR)/pr_edict.o $(ODIR)/pr_exec.o $(ODIR)/sv_ccmds.o $(ODIR)/sv_ents.o $(ODIR)/sv_init.o $(ODIR)/sv_main.o $(ODIR)/sv_move.o $(ODIR)/sv_phys.o $(ODIR)/sv_send.o $(ODIR)/sv_user.o $(ODIR)/world.o
#SERVER_FILES = $(ODIR)/sv_null.o


QCOMMON_SYSTEM_FILES = $(ODIR)/net_udp.o $(ODIR)/sys_next.o
QCOMMON_FILES = $(ODIR)/cmd.o $(ODIR)/cmodel.o $(ODIR)/common.o $(ODIR)/crc.o $(ODIR)/cvar.o $(ODIR)/files.o $(ODIR)/mathlib.o $(ODIR)/net_chan.o $(ODIR)/pmove.o $(QCOMMON_SYSTEM_FILES)

$(EXE): $(CLIENT_FILES) $(SERVER_FILES) $(QCOMMON_FILES)
cc -o $(EXE) $(CLIENT_FILES) $(SERVER_FILES) $(QCOMMON_FILES) $(LDFLAGS)

#===========================================================================

$(ODIR)/cl_null.o : client/cl_null.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

$(ODIR)/cl_demo.o : client/cl_demo.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cl_ents.o : client/cl_ents.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cl_input.o : client/cl_input.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cl_main.o : client/cl_main.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cl_parse.o : client/cl_parse.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cl_pred.o : client/cl_pred.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cl_tent.o : client/cl_tent.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/console.o : client/console.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/keys.o : client/keys.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/menu.o : client/menu.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sbar.o : client/sbar.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/screen.o : client/screen.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/view.o : client/view.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

$(ODIR)/snd_dma.o : client/snd_dma.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/snd_mix.o : client/snd_mix.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/snd_mem.o : client/snd_mem.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

$(ODIR)/cd_null.o : client/cd_null.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/in_null.o : client/in_null.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/snd_null.o : client/snd_null.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/vid_null.o : client/vid_null.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

$(ODIR)/in_next.o : rhapsody/in_next.m
cc $(CFLAGS) -o $@ $?
$(ODIR)/snd_next.o : rhapsody/snd_next.m
cc $(CFLAGS) -o $@ $?

#===========================================================================

$(ODIR)/sv_null.o : server/sv_null.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

$(ODIR)/pr_cmds.o : server/pr_cmds.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/pr_edict.o : server/pr_edict.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/pr_exec.o : server/pr_exec.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_ccmds.o : server/sv_ccmds.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_ents.o : server/sv_ents.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_init.o : server/sv_init.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_main.o : server/sv_main.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_move.o : server/sv_move.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_phys.o : server/sv_phys.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_send.o : server/sv_send.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sv_user.o : server/sv_user.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/world.o : server/world.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

#===========================================================================

$(ODIR)/d_polyse.o : ref_soft/d_polyse.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/d_scan.o : ref_soft/d_scan.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/draw.o : ref_soft/draw.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/model.o : ref_soft/model.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_aclip.o : ref_soft/r_aclip.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_alias.o : ref_soft/r_alias.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_bsp.o : ref_soft/r_bsp.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_draw.o : ref_soft/r_draw.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_edge.o : ref_soft/r_edge.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_efrag.o : ref_soft/r_efrag.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_inter.o : ref_soft/r_inter.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_light.o : ref_soft/r_light.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_main.o : ref_soft/r_main.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_misc.o : ref_soft/r_misc.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_part.o : ref_soft/r_part.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_sky.o : ref_soft/r_sky.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_sprite.o : ref_soft/r_sprite.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/r_surf.o : ref_soft/r_surf.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

$(ODIR)/r_next.o : rhapsody/r_next.m
cc $(CFLAGS) -o $@ $?

#===========================================================================

$(ODIR)/cmd.o : qcommon/cmd.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cmodel.o : qcommon/cmodel.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/common.o : qcommon/common.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/crc.o : qcommon/crc.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/cvar.o : qcommon/cvar.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/files.o : qcommon/files.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/mathlib.o : qcommon/mathlib.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/net_chan.o : qcommon/net_chan.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/net_udp.o : qcommon/net_udp.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/pmove.o : qcommon/pmove.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i

$(ODIR)/sys_null.o : qcommon/sys_null.c
cc $(CFLAGS) -E $? | tr -d '\015' > /tmp/temp.i
cc $(CFLAGS) -o $@ /tmp/temp.i
$(ODIR)/sys_next.o : rhapsody/sys_next.m
cc $(CFLAGS) -o $@ $?


------------------
Keep the holy day sacred.......halllllllukan

[This message has been edited by en972 (edited February 03, 2005).]

Briant

Member

Posts: 742
From: Stony Plain, Alberta, Canada
Registered: 01-20-2001
Yes, that's the main makefile. The makefile tells the compiler how to build the project, and you usually invoke it from the command-line with something like "make -f makefile" or similar (I have no idea what Dev C++ requires to launch the build via a makefile, but that's the concept). Now you need to determine if Dev C++ can use that makefile, or if the makefile will need to be adjusted/rewritten. I would search out some of the other larger discussion boards, like the ones at http://www.gamedev.net/community/forums/default.asp , and ask if anyone else has managed to build the Q2 source with the Dev C++ compiler, and what steps they went through to do it.

Another option is to buy MSVC 6.0 or higher off of Ebay for cheap, and save yourself some grief.

------------------
Brian

en972

Member

Posts: 562
From: NOT TELLING!
Registered: 08-27-2004
Ok, good idea, thanks

------------------
Keep the holy day sacred.......halllllllukan

outcast

Member

Posts: 40
From: Guatemala City, Guatemala
Registered: 12-08-2004
They are going to release the Quake III engine open source soon aren't they? Jeff

------------------
Jeff McArthur. Creating Nak'Urij
BlueGill Studios Games

bennythebear

Member

Posts: 1225
From: kentucky,usa
Registered: 12-13-2003
that would be cool if they released quake 3 for open source. i wonder how useful their networking stuff would be...?

------------------
proverbs 17:28
Even a fool, when he holdeth his peace, is counted wise: and he that shutteth his lips is esteemed a man of understanding.

www.gfa.org - Gospel for Asia

www.persecution.com - Voice of the Martyrs

GUMP

Member

Posts: 1335
From: Melbourne, FL USA
Registered: 11-09-2002
Oddly enough, I posted earlier in this thread but my post disappeared...

http://www.armadilloaerospace.com/n.x/johnc/Recent%20Updates

quote:
I [John Carmack] intended to release the Q3 source under the GPL by the end of 2004, but we had another large technology licensing deal go through, and it would be poor form to make the source public a few months after a company paid hundreds of thousands of dollars for full rights to it. True, being public under the GPL isn’t the same as having a royalty free license without the need to disclose the source, but I’m pretty sure there would be some hard feelings.

Previous source code releases were held up until the last commercial license of the technology shipped, but with the evolving nature of game engines today, it is a lot less clear. There are still bits of early Quake code in Half Life 2, and the remaining licensees of Q3 technology intend to continue their internal developments along similar lines, so there probably won’t be nearly as sharp a cutoff as before. I am still committed to making as much source public as I can, and I won’t wait until the titles from the latest deal have actually shipped, but it is still going to be a little while before I feel comfortable doing the release.


No new word on what project this is and when it'll release so it could be quite a while before the source is released.