From a67f63f67f5871bfd92d4d93f2c6716a042a3464 Mon Sep 17 00:00:00 2001 From: Alejandro Pulver Date: Thu, 6 Sep 2007 03:50:23 +0000 Subject: [PATCH] OpenArena is an open-source content package for Quake III Arena licensed under the GPL, effectively creating a free stand-alone game. You do not need Quake III Arena to play this game. Bots were added starting in 0.6.0. They will spout taunts and everything! Concepts would be loose, so don't expect a remake of Klesk in his original Klesk form, or any direct remakes of any map/weapon/model. WWW: http://openarena.ws/ PR: ports/115072 Submitted by: Josh Tolbert --- games/Makefile | 1 + games/openarena/Makefile | 146 ++++++++ games/openarena/distinfo | 9 + games/openarena/files/patch-Makefile | 337 ++++++++++++++++++ .../files/patch-code__botlib__be_interface.c | 11 + .../files/patch-code__qcommon__common.c | 10 + .../files/patch-code__qcommon__q_platform.h | 15 + .../files/patch-code__unix__linux_glimp.c | 19 + .../files/patch-code__unix__unix_main.c | 31 ++ games/openarena/pkg-descr | 10 + games/openarena/pkg-message | 10 + games/openarena/pkg-plist | 23 ++ 12 files changed, 622 insertions(+) create mode 100644 games/openarena/Makefile create mode 100644 games/openarena/distinfo create mode 100644 games/openarena/files/patch-Makefile create mode 100644 games/openarena/files/patch-code__botlib__be_interface.c create mode 100644 games/openarena/files/patch-code__qcommon__common.c create mode 100644 games/openarena/files/patch-code__qcommon__q_platform.h create mode 100644 games/openarena/files/patch-code__unix__linux_glimp.c create mode 100644 games/openarena/files/patch-code__unix__unix_main.c create mode 100644 games/openarena/pkg-descr create mode 100644 games/openarena/pkg-message create mode 100644 games/openarena/pkg-plist diff --git a/games/Makefile b/games/Makefile index bbd64120c76e..f93b0d3676bb 100644 --- a/games/Makefile +++ b/games/Makefile @@ -531,6 +531,7 @@ SUBDIR += oneko-sakura SUBDIR += oolite SUBDIR += oonsoo + SUBDIR += openarena SUBDIR += openglad SUBDIR += openmortal SUBDIR += openttd diff --git a/games/openarena/Makefile b/games/openarena/Makefile new file mode 100644 index 000000000000..a809758e7278 --- /dev/null +++ b/games/openarena/Makefile @@ -0,0 +1,146 @@ +# New ports collection makefile for: openarena +# Date created: 2007-08-01 +# Whom: Josh Tolbert +# +# $FreeBSD$ +# + +PORTNAME= openarena +PORTVERSION= 0.7.1 +CATEGORIES= games +MASTER_SITES= http://openarena.ws/rel/070/:src \ + http://download.tuxfamily.net/cooker/openarena/rel070/:data \ + ftp://ftp.alepulver.com.ar/distfiles/:patch +DISTNAME= ioq3-src-oa +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:src \ + ${OA_DATA}:data \ + ${OA_PATCH}:patch +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} + +MAINTAINER= hemi@puresimplicity.net +COMMENT= GPL-licensed total conversion of Quake 3 + +EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip +LIB_DEPENDS= vorbis.4:${PORTSDIR}/audio/libvorbis + +USE_BZIP2= yes +USE_GMAKE= yes +NO_WRKSUBDIR= yes + +OPTIONS= CLIENT "Build client" on \ + DEDICATED "Build dedicated server" on \ + OPENAL "Enable OpenAL (3D sound) support" off \ + OPENAL_DLOPEN "Enable dynamic loading of OpenAL" off \ + OPTIMIZED_CFLAGS "Enable compilation optimizations" on \ + SDL_AUDIO "Use SDL for audio" off \ + SDL_VIDEO "Use SDL for video" off \ + SMP "Build SMP (threaded) client" on \ + +MAKE_ENV= DEFAULT_BASEDIR="${DATADIR}" LIBDIR="${LIBDIR}" \ + PTHREAD_LIBS="${PTHREAD_LIBS}" USE_CODEC_VORBIS=1 +PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}" + +LIBDIR= ${PREFIX}/lib/${PORTNAME} +VM_ARCHS= amd64 i386 powerpc +OA_DATA= oa070.zip +OA_PATCH= oa071-patch.zip + +.include + +.if defined(WITHOUT_CLIENT) && defined(WITHOUT_DEDICATED) && \ + defined(WITHOUT_SMP) +IGNORE= needs at least one of CLIENT, DEDICATED and SMP options +.endif + +.for i in ${ARCH} +. if ${VM_ARCHS:M${i}} != "" +HAVE_VM_COMPILED= yes +. endif +.endfor + +.if defined(HAVE_VM_COMPILED) +MAKE_ENV+= HAVE_VM_COMPILED=true +.endif + +.if !defined(WITHOUT_CLIENT) || !defined(WITHOUT_SMP) +# OpenAL +. if defined(WITH_OPENAL) +LIB_DEPENDS+= openal.0:${PORTSDIR}/audio/openal +MAKE_ENV+= USE_OPENAL=1 +. if defined(WITH_OPENAL_DLOPEN) +MAKE_ENV+= USE_OPENAL_DLOPEN=1 +. endif +. endif +# SDL +. if defined(WITH_SDL_AUDIO) +USE_SDL= sdl +MAKE_ENV+= USE_SDL_AUDIO=1 +. endif +. if defined(WITH_SDL_VIDEO) +USE_SDL= sdl +MAKE_ENV+= USE_SDL_VIDEO=1 +. else +USE_GL= yes +. endif +.endif + +.if !defined(WITHOUT_CLIENT) +MAKE_ENV+= BUILD_CLIENT=1 +PLIST_SUB+= CLIENT="" +OABIN+= ioquake3 +.else +PLIST_SUB+= CLIENT="@comment " +.endif + +.if !defined(WITHOUT_DEDICATED) +MAKE_ENV+= BUILD_SERVER=1 +PLIST_SUB+= DEDICATED="" +OABIN+= ioq3ded +.else +PLIST_SUB+= DEDICATED="@comment " +.endif + +.if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED) +MAKE_ENV+= BUILD_GAME_SO=1 +PLIST_SUB+= GAMELIBS="" +.else +PLIST_SUB+= GAMELIBS="@comment " +.endif + +.if !defined(WITHOUT_OPTIMIZED_CFLAGS) +MAKE_ENV+= USE_OPTIMIZED_CFLAGS=1 +.endif + +.if !defined(WITHOUT_SMP) +MAKE_ENV+= BUILD_CLIENT_SMP=1 +PLIST_SUB+= SMP="" +OABIN+= ioquake3-smp +.else +PLIST_SUB+= SMP="@comment " +.endif + +post-extract: +.for f in ${OA_DATA} ${OA_PATCH} + @${UNZIP_CMD} -qo ${DISTDIR}/${f} -d ${WRKDIR} +.endfor + +do-install: +.for bin in ${OABIN} + ${INSTALL_PROGRAM} ${WRKSRC}/build/release/${bin} \ + ${PREFIX}/bin/${bin:C/(ioquake3|ioq3)/${PORTNAME}/} +.endfor +.if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED) +.for dir in baseq3 missionpack + ${MKDIR} ${LIBDIR}/${dir} + ${INSTALL_PROGRAM} ${WRKSRC}/build/release/${dir}/*.so ${LIBDIR}/${dir} +.endfor +.endif + ${MKDIR} ${DATADIR} + ${CP} -R ${WRKDIR}/${PORTNAME}-0.7.0/baseoa ${DATADIR} + +post-install: + @${ECHO_CMD} + @${CAT} ${PKGMESSAGE} + @${ECHO_CMD} + +.include diff --git a/games/openarena/distinfo b/games/openarena/distinfo new file mode 100644 index 000000000000..49659f3e10c1 --- /dev/null +++ b/games/openarena/distinfo @@ -0,0 +1,9 @@ +MD5 (ioq3-src-oa.tar.bz2) = a43cd6044de919dd2af94fb4159ddb47 +SHA256 (ioq3-src-oa.tar.bz2) = b51a890a525e9a7c49fe9fe3808ec6bba0738014d008078bbd28244934d145b9 +SIZE (ioq3-src-oa.tar.bz2) = 3539582 +MD5 (oa070.zip) = 739548bfc5dc1d129d20c0f67d54df48 +SHA256 (oa070.zip) = f420978abedd701744de06bdba3a7c3624175aafb891101f77887581ce8576a1 +SIZE (oa070.zip) = 263123081 +MD5 (oa071-patch.zip) = 5fa31998009f8241ad3ded93eb81e701 +SHA256 (oa071-patch.zip) = 7f6162b04cf624fea73083430b7a5c7a15826fe3ce536c2280448f403fd3561a +SIZE (oa071-patch.zip) = 12287230 diff --git a/games/openarena/files/patch-Makefile b/games/openarena/files/patch-Makefile new file mode 100644 index 000000000000..ac77e4c5f58b --- /dev/null +++ b/games/openarena/files/patch-Makefile @@ -0,0 +1,337 @@ +--- Makefile.orig Sat Jul 7 02:50:34 2007 ++++ Makefile Sun Jul 29 04:30:00 2007 +@@ -26,11 +26,19 @@ + endif + endif + +-BUILD_CLIENT = +-BUILD_CLIENT_SMP = +-BUILD_SERVER = +-BUILD_GAME_SO = +-BUILD_GAME_QVM = ++BUILD_CLIENT?=0 ++BUILD_CLIENT_SMP?=0 ++BUILD_GAME_QVM?=0 ++BUILD_GAME_SO?=0 ++BUILD_SERVER?=0 ++HAVE_VM_COMPILED?=false ++USE_CODEC_VORBIS?=0 ++USE_LOCAL_HEADERS?=0 ++USE_OPENAL?=0 ++USE_OPENAL_DLOPEN?=0 ++USE_OPTIMIZED_CFLAGS?=0 ++USE_SDL_AUDIO?=0 ++USE_SDL_VIDEO?=0 + + ############################################################################# + # +@@ -88,18 +96,6 @@ + endif + export USE_CCACHE + +-ifndef USE_SDL +-USE_SDL=1 +-endif +- +-ifndef USE_OPENAL +-USE_OPENAL=1 +-endif +- +-ifndef USE_OPENAL_DLOPEN +-USE_OPENAL_DLOPEN=0 +-endif +- + ifndef USE_CURL + USE_CURL=1 + endif +@@ -112,18 +108,10 @@ + endif + endif + +-ifndef USE_CODEC_VORBIS +-USE_CODEC_VORBIS=1 +-endif +- +-ifndef USE_LOCAL_HEADERS +-USE_LOCAL_HEADERS=1 +-endif +- + ############################################################################# + + BD=$(BUILD_DIR)/debug-$(PLATFORM)-$(ARCH) +-BR=$(BUILD_DIR)/release-$(PLATFORM)-$(ARCH) ++BR=$(BUILD_DIR)/release + CDIR=$(MOUNT_DIR)/client + SDIR=$(MOUNT_DIR)/server + RDIR=$(MOUNT_DIR)/renderer +@@ -498,18 +486,12 @@ + + ifeq ($(PLATFORM),freebsd) + +- ifneq (,$(findstring alpha,$(shell uname -m))) +- ARCH=axp +- else #default to i386 +- ARCH=i386 +- endif #alpha test +- ++ BASE_CFLAGS = -DARCH='\"$(ARCH)\"' -DLIBDIR='\"$(LIBDIR)\"' -I$(LOCALBASE)/include -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes + +- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes +- +- GL_CFLAGS = -I/usr/X11R6/include ++ GL_CFLAGS = -I$(X11BASE)/include + + DEBUG_CFLAGS=$(BASE_CFLAGS) -g ++ RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -pipe + + ifeq ($(USE_OPENAL),1) + BASE_CFLAGS += -DUSE_OPENAL=1 +@@ -522,47 +504,61 @@ + BASE_CFLAGS += -DUSE_CODEC_VORBIS=1 + endif + +- ifeq ($(USE_SDL),1) +- BASE_CFLAGS += $(shell sdl-config --cflags) -DUSE_SDL_VIDEO=1 -DUSE_SDL_SOUND=1 ++ ifeq ($(USE_SDL_AUDIO),1) ++ BASE_CFLAGS += $(shell $(SDL_CONFIG) --cflags) ++ else ++ ifeq ($(USE_SDL_VIDEO),1) ++ BASE_CFLAGS += $(shell $(SDL_CONFIG) --cflags) ++ endif + endif + +- ifeq ($(ARCH),axp) +- CC=gcc +- BASE_CFLAGS += -DNO_VM_COMPILED +- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -ffast-math -funroll-loops \ +- -fomit-frame-pointer -fexpensive-optimizations +- else +- ifeq ($(ARCH),i386) +- CC=gcc +- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -mtune=pentiumpro \ +- -march=pentium -fomit-frame-pointer -pipe -ffast-math \ +- -falign-loops=2 -falign-jumps=2 -falign-functions=2 \ +- -funroll-loops -fstrength-reduce +- HAVE_VM_COMPILED=true +- else +- BASE_CFLAGS += -DNO_VM_COMPILED ++ ifeq ($(USE_SDL_AUDIO),1) ++ BASE_CFLAGS += -DUSE_SDL_SOUND=1 + endif ++ ++ ifeq ($(USE_SDL_VIDEO),1) ++ BASE_CFLAGS += -DUSE_SDL_VIDEO=1 ++ endif ++ ++ ifeq ($(USE_OPTIMIZED_CFLAGS),1) ++ RELEASE_CFLAGS+=-O3 -ffast-math -funroll-loops -fomit-frame-pointer \ ++ -fexpensive-optimizations ++ ifeq ($(ARCH),i386) ++ RELEASE_CFLAGS+=-falign-loops=2 -falign-jumps=2 -falign-functions=2 \ ++ -fstrength-reduce ++ endif ++ endif ++ ++ ifneq ($(HAVE_VM_COMPILED),true) ++ BASE_CFLAGS += -DNO_VM_COMPILED + endif + + SHLIBEXT=so + SHLIBCFLAGS=-fPIC + SHLIBLDFLAGS=-shared $(LDFLAGS) + +- THREAD_LDFLAGS=-lpthread ++ THREAD_LDFLAGS=$(PTHREAD_LIBS) + # don't need -ldl (FreeBSD) + LDFLAGS=-lm + +- CLIENT_LDFLAGS = ++ CLIENT_LDFLAGS = -L$(LOCALBASE)/lib + +- ifeq ($(USE_SDL),1) +- CLIENT_LDFLAGS += $(shell sdl-config --libs) ++ ifeq ($(USE_SDL_AUDIO),1) ++ CLIENT_LDFLAGS += $(shell $(SDL_CONFIG) --libs) + else +- CLIENT_LDFLAGS += -L/usr/X11R6/$(LIB) -lGL -lX11 -lXext -lXxf86dga -lXxf86vm ++ ifeq ($(USE_SDL_VIDEO),1) ++ CLIENT_LDFLAGS += $(shell $(SDL_CONFIG) --libs) ++ endif ++ endif ++ ++ ifneq ($(USE_SDL_VIDEO),1) ++ CLIENT_LDFLAGS += -L$(X11BASE)/lib -lGL -lX11 -lXext -lXxf86dga -lXxf86vm + endif + + ifeq ($(USE_OPENAL),1) ++ CLIENT_LDFLAGS += $(THREAD_LDFLAGS) + ifneq ($(USE_OPENAL_DLOPEN),1) +- CLIENT_LDFLAGS += $(THREAD_LDFLAGS) -lopenal ++ CLIENT_LDFLAGS += -lopenal + endif + endif + +@@ -570,7 +566,6 @@ + CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg + endif + +- + else # ifeq freebsd + + ############################################################################# +@@ -725,24 +720,25 @@ + TARGETS = + + ifneq ($(BUILD_SERVER),0) +- TARGETS += $(B)/ioq3ded.$(ARCH)$(BINEXT) ++ TARGETS += $(B)/ioq3ded$(BINEXT) + endif + + ifneq ($(BUILD_CLIENT),0) +- TARGETS += $(B)/ioquake3.$(ARCH)$(BINEXT) +- ifneq ($(BUILD_CLIENT_SMP),0) +- TARGETS += $(B)/ioquake3-smp.$(ARCH)$(BINEXT) +- endif ++ TARGETS += $(B)/ioquake3$(BINEXT) ++endif ++ ++ifneq ($(BUILD_CLIENT_SMP),0) ++ TARGETS += $(B)/ioquake3-smp$(BINEXT) + endif + + ifneq ($(BUILD_GAME_SO),0) + TARGETS += \ +- $(B)/baseq3/cgame$(ARCH).$(SHLIBEXT) \ +- $(B)/baseq3/qagame$(ARCH).$(SHLIBEXT) \ +- $(B)/baseq3/ui$(ARCH).$(SHLIBEXT) \ +- $(B)/missionpack/cgame$(ARCH).$(SHLIBEXT) \ +- $(B)/missionpack/qagame$(ARCH).$(SHLIBEXT) \ +- $(B)/missionpack/ui$(ARCH).$(SHLIBEXT) ++ $(B)/baseq3/cgame.$(SHLIBEXT) \ ++ $(B)/baseq3/qagame.$(SHLIBEXT) \ ++ $(B)/baseq3/ui.$(SHLIBEXT) \ ++ $(B)/missionpack/cgame.$(SHLIBEXT) \ ++ $(B)/missionpack/qagame.$(SHLIBEXT) \ ++ $(B)/missionpack/ui.$(SHLIBEXT) + endif + + ifneq ($(BUILD_GAME_QVM),0) +@@ -804,11 +800,11 @@ + $(MAKE) targets B=$(BD) CFLAGS="$(CFLAGS) $(DEBUG_CFLAGS) $(DEPEND_CFLAGS)" + + build_release: B=$(BR) +-build_release: makedirs tools ++build_release: makedirs + $(MAKE) targets B=$(BR) CFLAGS="$(CFLAGS) $(RELEASE_CFLAGS) $(DEPEND_CFLAGS)" + + #Build both debug and release builds +-all:build_debug build_release ++all:build_release + + targets: $(TARGETS) + +@@ -1022,13 +1018,10 @@ + ifeq ($(ARCH),i386) + Q3OBJ += $(B)/client/vm_x86.o + endif +- ifeq ($(ARCH),x86) +- Q3OBJ += $(B)/client/vm_x86.o +- endif +- ifeq ($(ARCH),x86_64) ++ ifeq ($(ARCH),amd64) + Q3OBJ += $(B)/client/vm_x86_64.o + endif +- ifeq ($(ARCH),ppc) ++ ifeq ($(ARCH),powerpc) + Q3OBJ += $(B)/client/$(VM_PPC).o + endif + endif +@@ -1075,10 +1068,10 @@ + $(B)/client/sdl_glimp_smp.o + endif + +-$(B)/ioquake3.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN) ++$(B)/ioquake3$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN) + $(CC) -o $@ $(Q3OBJ) $(Q3POBJ) $(CLIENT_LDFLAGS) $(LDFLAGS) $(LIBSDLMAIN) + +-$(B)/ioquake3-smp.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN) ++$(B)/ioquake3-smp$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN) + $(CC) -o $@ $(Q3OBJ) $(Q3POBJ_SMP) $(CLIENT_LDFLAGS) \ + $(THREAD_LDFLAGS) $(LDFLAGS) $(LIBSDLMAIN) + +@@ -1378,18 +1371,15 @@ + ifeq ($(ARCH),i386) + Q3DOBJ += $(B)/ded/vm_x86.o + endif +- ifeq ($(ARCH),x86) +- Q3DOBJ += $(B)/ded/vm_x86.o +- endif +- ifeq ($(ARCH),x86_64) ++ ifeq ($(ARCH),amd64) + Q3DOBJ += $(B)/ded/vm_x86_64.o + endif +- ifeq ($(ARCH),ppc) ++ ifeq ($(ARCH),powerpc) + Q3DOBJ += $(B)/ded/$(VM_PPC).o + endif + endif + +-$(B)/ioq3ded.$(ARCH)$(BINEXT): $(Q3DOBJ) ++$(B)/ioq3ded$(BINEXT): $(Q3DOBJ) + $(CC) -o $@ $(Q3DOBJ) $(LDFLAGS) + + $(B)/ded/sv_bot.o : $(SDIR)/sv_bot.c; $(DO_DED_CC) +@@ -1506,7 +1496,7 @@ + Q3CGOBJ = $(Q3CGOBJ_) $(B)/baseq3/cgame/cg_syscalls.o + Q3CGVMOBJ = $(Q3CGOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm + +-$(B)/baseq3/cgame$(ARCH).$(SHLIBEXT) : $(Q3CGOBJ) ++$(B)/baseq3/cgame.$(SHLIBEXT) : $(Q3CGOBJ) + $(CC) $(SHLIBLDFLAGS) -o $@ $(Q3CGOBJ) + + $(B)/baseq3/vm/cgame.qvm: $(Q3CGVMOBJ) $(CGDIR)/cg_syscalls.asm +@@ -1547,7 +1537,7 @@ + MPCGOBJ = $(MPCGOBJ_) $(B)/missionpack/cgame/cg_syscalls.o + MPCGVMOBJ = $(MPCGOBJ_:%.o=%.asm) $(B)/missionpack/game/bg_lib.asm + +-$(B)/missionpack/cgame$(ARCH).$(SHLIBEXT) : $(MPCGOBJ) ++$(B)/missionpack/cgame$(SHLIBEXT) : $(MPCGOBJ) + $(CC) $(SHLIBLDFLAGS) -o $@ $(MPCGOBJ) + + $(B)/missionpack/vm/cgame.qvm: $(MPCGVMOBJ) $(CGDIR)/cg_syscalls.asm +@@ -1597,7 +1587,7 @@ + Q3GOBJ = $(Q3GOBJ_) $(B)/baseq3/game/g_syscalls.o + Q3GVMOBJ = $(Q3GOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm + +-$(B)/baseq3/qagame$(ARCH).$(SHLIBEXT) : $(Q3GOBJ) ++$(B)/baseq3/qagame.$(SHLIBEXT) : $(Q3GOBJ) + $(CC) $(SHLIBLDFLAGS) -o $@ $(Q3GOBJ) + + $(B)/baseq3/vm/qagame.qvm: $(Q3GVMOBJ) $(GDIR)/g_syscalls.asm +@@ -1645,7 +1635,7 @@ + MPGOBJ = $(MPGOBJ_) $(B)/missionpack/game/g_syscalls.o + MPGVMOBJ = $(MPGOBJ_:%.o=%.asm) $(B)/missionpack/game/bg_lib.asm + +-$(B)/missionpack/qagame$(ARCH).$(SHLIBEXT) : $(MPGOBJ) ++$(B)/missionpack/qagame.$(SHLIBEXT) : $(MPGOBJ) + $(CC) $(SHLIBLDFLAGS) -o $@ $(MPGOBJ) + + $(B)/missionpack/vm/qagame.qvm: $(MPGVMOBJ) $(GDIR)/g_syscalls.asm +@@ -1705,7 +1695,7 @@ + Q3UIOBJ = $(Q3UIOBJ_) $(B)/missionpack/ui/ui_syscalls.o + Q3UIVMOBJ = $(Q3UIOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm + +-$(B)/baseq3/ui$(ARCH).$(SHLIBEXT) : $(Q3UIOBJ) ++$(B)/baseq3/ui.$(SHLIBEXT) : $(Q3UIOBJ) + $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(Q3UIOBJ) + + $(B)/baseq3/vm/ui.qvm: $(Q3UIVMOBJ) $(UIDIR)/ui_syscalls.asm +@@ -1730,7 +1720,7 @@ + MPUIOBJ = $(MPUIOBJ_) $(B)/missionpack/ui/ui_syscalls.o + MPUIVMOBJ = $(MPUIOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm + +-$(B)/missionpack/ui$(ARCH).$(SHLIBEXT) : $(MPUIOBJ) ++$(B)/missionpack/ui.$(SHLIBEXT) : $(MPUIOBJ) + $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(MPUIOBJ) + + $(B)/missionpack/vm/ui.qvm: $(MPUIVMOBJ) $(UIDIR)/ui_syscalls.asm diff --git a/games/openarena/files/patch-code__botlib__be_interface.c b/games/openarena/files/patch-code__botlib__be_interface.c new file mode 100644 index 000000000000..45e7f5e21246 --- /dev/null +++ b/games/openarena/files/patch-code__botlib__be_interface.c @@ -0,0 +1,11 @@ +--- ./code/botlib/be_interface.c.orig Wed Apr 26 10:36:58 2006 ++++ ./code/botlib/be_interface.c Sun Jun 11 17:26:26 2006 +@@ -155,7 +155,7 @@ + } else { + Com_sprintf(logfilename, sizeof(logfilename), "botlib.log"); + } +- Log_Open(logfilename); ++ Log_Open("/dev/null"); + // + botimport.Print(PRT_MESSAGE, "------- BotLib Initialization -------\n"); + // diff --git a/games/openarena/files/patch-code__qcommon__common.c b/games/openarena/files/patch-code__qcommon__common.c new file mode 100644 index 000000000000..6899017952d4 --- /dev/null +++ b/games/openarena/files/patch-code__qcommon__common.c @@ -0,0 +1,10 @@ +--- ./code/qcommon/common.c.orig Wed Apr 26 08:27:12 2006 ++++ ./code/qcommon/common.c Sun Jun 11 17:26:26 2006 +@@ -25,6 +25,7 @@ + #include "qcommon.h" + #include + #ifndef _WIN32 ++#include + #include + #include // umask + #else diff --git a/games/openarena/files/patch-code__qcommon__q_platform.h b/games/openarena/files/patch-code__qcommon__q_platform.h new file mode 100644 index 000000000000..543c8d5710ed --- /dev/null +++ b/games/openarena/files/patch-code__qcommon__q_platform.h @@ -0,0 +1,15 @@ +--- ./code/qcommon/q_platform.h.orig Tue Dec 27 16:46:01 2005 ++++ ./code/qcommon/q_platform.h Sun Jun 11 17:26:26 2006 +@@ -176,11 +176,7 @@ + #define ID_INLINE inline + #define PATH_SEP '/' + +-#ifdef __i386__ +-#define ARCH_STRING "i386" +-#elif defined __axp__ +-#define ARCH_STRING "alpha" +-#endif ++#define ARCH_STRING ARCH + + #if BYTE_ORDER == BIG_ENDIAN + #define Q3_BIG_ENDIAN diff --git a/games/openarena/files/patch-code__unix__linux_glimp.c b/games/openarena/files/patch-code__unix__linux_glimp.c new file mode 100644 index 000000000000..00304f2b5be1 --- /dev/null +++ b/games/openarena/files/patch-code__unix__linux_glimp.c @@ -0,0 +1,19 @@ +--- ./code/unix/linux_glimp.c.orig Sun Apr 30 11:32:56 2006 ++++ ./code/unix/linux_glimp.c Sun Jun 11 17:26:26 2006 +@@ -631,8 +631,14 @@ + + dx = ((int)event.xmotion.x - mwx); + dy = ((int)event.xmotion.y - mwy); +- mx += dx; +- my += dy; ++ if (abs(dx) > 1) ++ mx += dx * 2; ++ else ++ mx += dx; ++ if (abs(dy) > 1) ++ my += dy * 2; ++ else ++ my += dy; + + mwx = event.xmotion.x; + mwy = event.xmotion.y; diff --git a/games/openarena/files/patch-code__unix__unix_main.c b/games/openarena/files/patch-code__unix__unix_main.c new file mode 100644 index 000000000000..f539c9649a95 --- /dev/null +++ b/games/openarena/files/patch-code__unix__unix_main.c @@ -0,0 +1,31 @@ +--- ./code/unix/unix_main.c.orig Sun Feb 26 18:22:12 2006 ++++ ./code/unix/unix_main.c Sun Jun 11 17:26:26 2006 +@@ -774,6 +774,7 @@ + char curpath[MAX_OSPATH]; + char fname[MAX_OSPATH]; + char *basepath; ++ char *libpath; + char *homepath; + char *pwdpath; + char *cdpath; +@@ -789,14 +790,19 @@ + // TODO: use fs_searchpaths from files.c + pwdpath = Sys_Cwd(); + basepath = Cvar_VariableString( "fs_basepath" ); ++ libpath = LIBDIR; + homepath = Cvar_VariableString( "fs_homepath" ); + cdpath = Cvar_VariableString( "fs_cdpath" ); + gamedir = Cvar_VariableString( "fs_game" ); + +- libHandle = try_dlopen(pwdpath, gamedir, fname, fqpath); ++ if(!libHandle && homepath) ++ libHandle = try_dlopen(pwdpath, gamedir, fname, fqpath); + + if(!libHandle && homepath) + libHandle = try_dlopen(homepath, gamedir, fname, fqpath); ++ ++ if(!libHandle && basepath) ++ libHandle = try_dlopen(libpath, gamedir, fname, fqpath); + + if(!libHandle && basepath) + libHandle = try_dlopen(basepath, gamedir, fname, fqpath); diff --git a/games/openarena/pkg-descr b/games/openarena/pkg-descr new file mode 100644 index 000000000000..a3fb8984bf8b --- /dev/null +++ b/games/openarena/pkg-descr @@ -0,0 +1,10 @@ +OpenArena is an open-source content package for Quake III Arena licensed under +the GPL, effectively creating a free stand-alone game. You do not need Quake +III Arena to play this game. + +Bots were added starting in 0.6.0. They will spout taunts and everything! + +Concepts would be loose, so don't expect a remake of Klesk in his original +Klesk form, or any direct remakes of any map/weapon/model. + +WWW: http://openarena.ws/ diff --git a/games/openarena/pkg-message b/games/openarena/pkg-message new file mode 100644 index 000000000000..581f11640146 --- /dev/null +++ b/games/openarena/pkg-message @@ -0,0 +1,10 @@ +============================================================================== + +If you have sound problems with SDL try setting the variable "s_sdlSpeed" to +"44100". It will be saved to the configuration file. + +If you have sound problems with OpenAL recompile without it. Also the OPENAL +option causes the program to omit restoring gamma and mouse sensivity after +exitting. + +============================================================================== diff --git a/games/openarena/pkg-plist b/games/openarena/pkg-plist new file mode 100644 index 000000000000..a7b941999668 --- /dev/null +++ b/games/openarena/pkg-plist @@ -0,0 +1,23 @@ +%%DEDICATED%%bin/openarenaded +%%CLIENT%%bin/openarena +%%SMP%%bin/openarena-smp +%%DATADIR%%/baseoa/pak0.pk3 +%%DATADIR%%/baseoa/pak1-maps.pk3 +%%DATADIR%%/baseoa/pak2-players-mature.pk3 +%%DATADIR%%/baseoa/pak2-players.pk3 +%%DATADIR%%/baseoa/pak3-music.pk3 +%%DATADIR%%/baseoa/pak4-textures.pk3 +%%DATADIR%%/baseoa/pak5-TA.pk3 +%%DATADIR%%/baseoa/pak6-misc.pk3 +%%DATADIR%%/baseoa/pak7-patch.pk3 +%%GAMELIBS%%%%LIBDIR%%/baseoa/cgame.so +%%GAMELIBS%%%%LIBDIR%%/baseoa/qagame.so +%%GAMELIBS%%%%LIBDIR%%/baseoa/ui.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/cgame.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/qagame.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/ui.so +@dirrm %%DATADIR%%/baseoa +@dirrm %%DATADIR%% +%%GAMELIBS%%@dirrm %%LIBDIR%%/missionpack +%%GAMELIBS%%@dirrm %%LIBDIR%%/baseoa +%%GAMELIBS%%@dirrm %%LIBDIR%%