diff options
23 files changed, 1221 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile index ef06f09c59fb..67c73d4a2372 100644 --- a/games/Makefile +++ b/games/Makefile @@ -315,6 +315,7 @@ SUBDIR += imaze SUBDIR += inform SUBDIR += interlogic + SUBDIR += ioquake3 SUBDIR += ishido SUBDIR += ivan SUBDIR += jchessboard diff --git a/games/ioquake3/Makefile b/games/ioquake3/Makefile new file mode 100644 index 000000000000..a89be3f852a7 --- /dev/null +++ b/games/ioquake3/Makefile @@ -0,0 +1,158 @@ +# New ports collection makefile for: ioquake3 +# Date created: 3 Jun 2006 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= ioquake3 +PORTVERSION= 1.33 +CATEGORIES= games +MASTER_SITES= ${MASTER_SITE_LOCAL} +MASTER_SITE_SUBDIR= alepulver + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= Cleaned-up and enhaced version of Quake 3 + +USE_BZIP2= yes +USE_GCC= 3.2+ +USE_GMAKE= yes +WRKSRC= ${WRKDIR}/quake3 + +OPTIONS= CLIENT "Build client" on \ + GAMELIBS "Build game libraries (when not mandatory)" off \ + 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 \ + VORBIS "Enable Ogg Vorbis codec support" off + +MAKE_ENV+= DEFAULT_BASEDIR="${Q3DIR}" LIBDIR="${LIBDIR}" \ + PTHREAD_LIBS="${PTHREAD_LIBS}" +PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}" + +LIBDIR= ${PREFIX}/lib/${PORTNAME} +SVN_REV= 777 +VM_ARCHS= amd64 i386 powerpc + +.include <bsd.port.pre.mk> + +.if ${OSVERSION} < 500000 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-code__unix__unix_shared.c +.endif + +.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 +# Vorbis +. if defined(WITH_VORBIS) +LIB_DEPENDS+= vorbis.3:${PORTSDIR}/audio/libvorbis +MAKE_ENV+= USE_CODEC_VORBIS=1 +. endif +.endif + +.if !defined(WITHOUT_CLIENT) +MAKE_ENV+= BUILD_CLIENT=1 +PLIST_SUB+= CLIENT="" +Q3BIN+= ioquake3 +.else +PLIST_SUB+= CLIENT="@comment " +.endif + +.if !defined(WITHOUT_DEDICATED) +MAKE_ENV+= BUILD_SERVER=1 +PLIST_SUB+= DEDICATED="" +Q3BIN+= 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="" +Q3BIN+= ioquake3-smp +.else +PLIST_SUB+= SMP="@comment " +.endif + +.if ${OSVERSION} < 500000 +post-patch: + @${REINPLACE_CMD} -e 's|stdint\.h|inttypes.h|' \ + ${BUILD_WRKSRC}/code/qcommon/q_shared.h +.endif + +do-install: +.for bin in ${Q3BIN} + ${INSTALL_PROGRAM} ${WRKSRC}/build/release/${bin} ${PREFIX}/bin +.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 + +post-install: +.if defined(WITH_SDL_AUDIO) || defined(WITH_OPENAL) + @${ECHO_CMD} + @${ECHO_CMD} "WARNING: if you have sound problems try recompiling without SDL_AUDIO and OPENAL options." | ${FMT} + @${ECHO_CMD} +.endif + +maint-gen-distfile: + @if [ -f ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ]; then \ + ${ECHO_CMD} "ERROR: the distfile already exists."; \ + ${FALSE}; \ + fi + svn export -r${SVN_REV} svn://svn.icculus.org/quake3/trunk quake3 + ${TAR} jcf ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} quake3 + ${RM} -rf quake3 + +.include "${.CURDIR}/../quake3-data/Makefile.include" +.include <bsd.port.post.mk> diff --git a/games/ioquake3/distinfo b/games/ioquake3/distinfo new file mode 100644 index 000000000000..17bc6407080a --- /dev/null +++ b/games/ioquake3/distinfo @@ -0,0 +1,3 @@ +MD5 (ioquake3-1.33.tar.bz2) = 0eaf6eb252e6b56d1195faf2d898c533 +SHA256 (ioquake3-1.33.tar.bz2) = 9e9b7f4d7b39eb82c8b1de9dc0ce62d0eed4d676d21e1adfb4930832c5123abb +SIZE (ioquake3-1.33.tar.bz2) = 2421997 diff --git a/games/ioquake3/files/extra-patch-code__unix__unix_shared.c b/games/ioquake3/files/extra-patch-code__unix__unix_shared.c new file mode 100644 index 000000000000..a0860384c25c --- /dev/null +++ b/games/ioquake3/files/extra-patch-code__unix__unix_shared.c @@ -0,0 +1,24 @@ +--- ./code/unix/unix_shared.c.orig Fri Nov 4 19:32:00 2005 ++++ ./code/unix/unix_shared.c Wed Jun 7 16:52:01 2006 +@@ -20,6 +20,7 @@ + =========================================================================== + */ + #include <sys/types.h> ++#include <sys/sysctl.h> + #include <sys/stat.h> + #include <errno.h> + #include <stdio.h> +@@ -430,6 +431,12 @@ + // sysconf() in libc, POSIX.1 compliant + unsigned int Sys_ProcessorCount(void) + { +- return sysconf(_SC_NPROCESSORS_ONLN); ++ int mib[2], value, len; ++ ++ mib[0] = CTL_HW; ++ mib[1] = HW_NCPU; ++ len = sizeof(value); ++ sysctl(mib, 2, &value, &len, NULL, 0); ++ return (value); + } + #endif diff --git a/games/ioquake3/files/patch-Makefile b/games/ioquake3/files/patch-Makefile new file mode 100644 index 000000000000..4830ebf93000 --- /dev/null +++ b/games/ioquake3/files/patch-Makefile @@ -0,0 +1,316 @@ +--- ./Makefile.orig Sat Apr 29 16:54:54 2006 ++++ ./Makefile Wed Jun 7 19:34:25 2006 +@@ -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,30 +96,10 @@ + 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_CODEC_VORBIS +-USE_CODEC_VORBIS=0 +-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 +@@ -407,18 +395,12 @@ + + ifeq ($(PLATFORM),freebsd) + +- ifneq (,$(findstring alpha,$(shell uname -m))) +- ARCH=axp +- else #default to i386 +- ARCH=i386 +- endif #alpha test +- +- +- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes ++ BASE_CFLAGS = -DARCH='\"$(ARCH)\"' -DLIBDIR='\"$(LIBDIR)\"' -I$(LOCALBASE)/include -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 +@@ -431,46 +413,61 @@ + BASE_CFLAGS += -DUSE_CODEC_VORBIS=1 + endif + +- ifeq ($(USE_SDL),1) +- BASE_CFLAGS += $(shell sdl11-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 +- 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 ++ LDFLAGS+=-lm + +- CLIENT_LDFLAGS = ++ CLIENT_LDFLAGS = -L$(LOCALBASE)/lib + +- ifeq ($(USE_SDL),1) +- CLIENT_LDFLAGS += $(shell sdl11-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 + +@@ -632,24 +629,24 @@ + TARGETS = + + ifneq ($(BUILD_SERVER),0) +- TARGETS += $(B)/ioq3ded.$(ARCH)$(BINEXT) ++ TARGETS += $(B)/ioq3ded$(BINEXT) + endif + + ifneq ($(BUILD_CLIENT),0) +- TARGETS += $(B)/ioquake3.$(ARCH)$(BINEXT) ++ TARGETS += $(B)/ioquake3$(BINEXT) + ifneq ($(BUILD_CLIENT_SMP),0) +- TARGETS += $(B)/ioquake3-smp.$(ARCH)$(BINEXT) ++ TARGETS += $(B)/ioquake3-smp$(BINEXT) + endif + 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) +@@ -707,11 +704,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) + +@@ -919,11 +916,11 @@ + $(B)/client/ftola.o \ + $(B)/client/snapvectora.o + endif +-ifeq ($(ARCH),x86_64) ++ifeq ($(ARCH),amd64) + Q3OBJ += $(B)/client/vm_x86_64.o + endif + +-ifeq ($(ARCH),ppc) ++ifeq ($(ARCH),powerpc) + ifneq ($(VM_PPC),) + Q3OBJ += $(B)/client/$(VM_PPC).o + endif +@@ -971,10 +968,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) + +@@ -1253,17 +1250,17 @@ + $(B)/ded/snapvectora.o $(B)/ded/matha.o + endif + +-ifeq ($(ARCH),x86_64) ++ifeq ($(ARCH),amd64) + Q3DOBJ += $(B)/ded/vm_x86_64.o + endif + +-ifeq ($(ARCH),ppc) ++ifeq ($(ARCH),powerpc) + ifneq ($(VM_PPC),) + 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) +@@ -1377,7 +1374,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 +@@ -1418,7 +1415,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 +@@ -1468,7 +1465,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 +@@ -1516,7 +1513,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 +@@ -1576,7 +1573,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 +@@ -1601,7 +1598,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/ioquake3/files/patch-code__botlib__be_interface.c b/games/ioquake3/files/patch-code__botlib__be_interface.c new file mode 100644 index 000000000000..dd57f36a808f --- /dev/null +++ b/games/ioquake3/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 Wed Jun 7 19:34:25 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/ioquake3/files/patch-code__qcommon__common.c b/games/ioquake3/files/patch-code__qcommon__common.c new file mode 100644 index 000000000000..c1fdcacdd58a --- /dev/null +++ b/games/ioquake3/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 Wed Jun 7 19:34:25 2006 +@@ -25,6 +25,7 @@ + #include "qcommon.h" + #include <setjmp.h> + #ifndef _WIN32 ++#include <sys/types.h> + #include <netinet/in.h> + #include <sys/stat.h> // umask + #else diff --git a/games/ioquake3/files/patch-code__qcommon__q_platform.h b/games/ioquake3/files/patch-code__qcommon__q_platform.h new file mode 100644 index 000000000000..c65c0b6f3705 --- /dev/null +++ b/games/ioquake3/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 Wed Jun 7 19:35:23 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/ioquake3/files/patch-code__unix__linux_glimp.c b/games/ioquake3/files/patch-code__unix__linux_glimp.c new file mode 100644 index 000000000000..987afc280e72 --- /dev/null +++ b/games/ioquake3/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 Wed Jun 7 19:34:25 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/ioquake3/files/patch-code__unix__unix_main.c b/games/ioquake3/files/patch-code__unix__unix_main.c new file mode 100644 index 000000000000..cd61c56a765f --- /dev/null +++ b/games/ioquake3/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 Wed Jun 7 19:34:25 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/ioquake3/pkg-descr b/games/ioquake3/pkg-descr new file mode 100644 index 000000000000..6bb3f4006f49 --- /dev/null +++ b/games/ioquake3/pkg-descr @@ -0,0 +1,11 @@ +This project, icculus.org/quake3 (sometimes referred to ioquake3, or ioq3 for +short) aims to build upon id Software's Quake 3 source code release. The +source code was released on August 20, 2005 under the GPL. Since then, we have +been cleaning up, fixing bugs, and adding features. Our permanent goal is to +create the open source Quake 3 distribution upon which people base their games +and projects. We also seek to have the perfect version of the engine for +playing Quake 3: Arena, Team Arena, and all popular mods. This distribution of +the engine has been ported to many new platforms and has had a slew of new +features added, along with massive bug extermination. + +WWW: http://icculus.org/quake3/ diff --git a/games/ioquake3/pkg-plist b/games/ioquake3/pkg-plist new file mode 100644 index 000000000000..a2fb5a77eb6c --- /dev/null +++ b/games/ioquake3/pkg-plist @@ -0,0 +1,12 @@ +%%DEDICATED%%bin/ioq3ded +%%CLIENT%%bin/ioquake3 +%%SMP%%bin/ioquake3-smp +%%GAMELIBS%%%%LIBDIR%%/baseq3/cgame.so +%%GAMELIBS%%%%LIBDIR%%/baseq3/qagame.so +%%GAMELIBS%%%%LIBDIR%%/baseq3/ui.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/cgame.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/qagame.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/ui.so +%%GAMELIBS%%@dirrm %%LIBDIR%%/missionpack +%%GAMELIBS%%@dirrm %%LIBDIR%%/baseq3 +%%GAMELIBS%%@dirrm %%LIBDIR%% diff --git a/games/iourbanterror/Makefile b/games/iourbanterror/Makefile new file mode 100644 index 000000000000..a89be3f852a7 --- /dev/null +++ b/games/iourbanterror/Makefile @@ -0,0 +1,158 @@ +# New ports collection makefile for: ioquake3 +# Date created: 3 Jun 2006 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= ioquake3 +PORTVERSION= 1.33 +CATEGORIES= games +MASTER_SITES= ${MASTER_SITE_LOCAL} +MASTER_SITE_SUBDIR= alepulver + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= Cleaned-up and enhaced version of Quake 3 + +USE_BZIP2= yes +USE_GCC= 3.2+ +USE_GMAKE= yes +WRKSRC= ${WRKDIR}/quake3 + +OPTIONS= CLIENT "Build client" on \ + GAMELIBS "Build game libraries (when not mandatory)" off \ + 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 \ + VORBIS "Enable Ogg Vorbis codec support" off + +MAKE_ENV+= DEFAULT_BASEDIR="${Q3DIR}" LIBDIR="${LIBDIR}" \ + PTHREAD_LIBS="${PTHREAD_LIBS}" +PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}" + +LIBDIR= ${PREFIX}/lib/${PORTNAME} +SVN_REV= 777 +VM_ARCHS= amd64 i386 powerpc + +.include <bsd.port.pre.mk> + +.if ${OSVERSION} < 500000 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-code__unix__unix_shared.c +.endif + +.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 +# Vorbis +. if defined(WITH_VORBIS) +LIB_DEPENDS+= vorbis.3:${PORTSDIR}/audio/libvorbis +MAKE_ENV+= USE_CODEC_VORBIS=1 +. endif +.endif + +.if !defined(WITHOUT_CLIENT) +MAKE_ENV+= BUILD_CLIENT=1 +PLIST_SUB+= CLIENT="" +Q3BIN+= ioquake3 +.else +PLIST_SUB+= CLIENT="@comment " +.endif + +.if !defined(WITHOUT_DEDICATED) +MAKE_ENV+= BUILD_SERVER=1 +PLIST_SUB+= DEDICATED="" +Q3BIN+= 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="" +Q3BIN+= ioquake3-smp +.else +PLIST_SUB+= SMP="@comment " +.endif + +.if ${OSVERSION} < 500000 +post-patch: + @${REINPLACE_CMD} -e 's|stdint\.h|inttypes.h|' \ + ${BUILD_WRKSRC}/code/qcommon/q_shared.h +.endif + +do-install: +.for bin in ${Q3BIN} + ${INSTALL_PROGRAM} ${WRKSRC}/build/release/${bin} ${PREFIX}/bin +.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 + +post-install: +.if defined(WITH_SDL_AUDIO) || defined(WITH_OPENAL) + @${ECHO_CMD} + @${ECHO_CMD} "WARNING: if you have sound problems try recompiling without SDL_AUDIO and OPENAL options." | ${FMT} + @${ECHO_CMD} +.endif + +maint-gen-distfile: + @if [ -f ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ]; then \ + ${ECHO_CMD} "ERROR: the distfile already exists."; \ + ${FALSE}; \ + fi + svn export -r${SVN_REV} svn://svn.icculus.org/quake3/trunk quake3 + ${TAR} jcf ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} quake3 + ${RM} -rf quake3 + +.include "${.CURDIR}/../quake3-data/Makefile.include" +.include <bsd.port.post.mk> diff --git a/games/iourbanterror/distinfo b/games/iourbanterror/distinfo new file mode 100644 index 000000000000..17bc6407080a --- /dev/null +++ b/games/iourbanterror/distinfo @@ -0,0 +1,3 @@ +MD5 (ioquake3-1.33.tar.bz2) = 0eaf6eb252e6b56d1195faf2d898c533 +SHA256 (ioquake3-1.33.tar.bz2) = 9e9b7f4d7b39eb82c8b1de9dc0ce62d0eed4d676d21e1adfb4930832c5123abb +SIZE (ioquake3-1.33.tar.bz2) = 2421997 diff --git a/games/iourbanterror/files/extra-patch-code__unix__unix_shared.c b/games/iourbanterror/files/extra-patch-code__unix__unix_shared.c new file mode 100644 index 000000000000..a0860384c25c --- /dev/null +++ b/games/iourbanterror/files/extra-patch-code__unix__unix_shared.c @@ -0,0 +1,24 @@ +--- ./code/unix/unix_shared.c.orig Fri Nov 4 19:32:00 2005 ++++ ./code/unix/unix_shared.c Wed Jun 7 16:52:01 2006 +@@ -20,6 +20,7 @@ + =========================================================================== + */ + #include <sys/types.h> ++#include <sys/sysctl.h> + #include <sys/stat.h> + #include <errno.h> + #include <stdio.h> +@@ -430,6 +431,12 @@ + // sysconf() in libc, POSIX.1 compliant + unsigned int Sys_ProcessorCount(void) + { +- return sysconf(_SC_NPROCESSORS_ONLN); ++ int mib[2], value, len; ++ ++ mib[0] = CTL_HW; ++ mib[1] = HW_NCPU; ++ len = sizeof(value); ++ sysctl(mib, 2, &value, &len, NULL, 0); ++ return (value); + } + #endif diff --git a/games/iourbanterror/files/patch-Makefile b/games/iourbanterror/files/patch-Makefile new file mode 100644 index 000000000000..4830ebf93000 --- /dev/null +++ b/games/iourbanterror/files/patch-Makefile @@ -0,0 +1,316 @@ +--- ./Makefile.orig Sat Apr 29 16:54:54 2006 ++++ ./Makefile Wed Jun 7 19:34:25 2006 +@@ -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,30 +96,10 @@ + 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_CODEC_VORBIS +-USE_CODEC_VORBIS=0 +-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 +@@ -407,18 +395,12 @@ + + ifeq ($(PLATFORM),freebsd) + +- ifneq (,$(findstring alpha,$(shell uname -m))) +- ARCH=axp +- else #default to i386 +- ARCH=i386 +- endif #alpha test +- +- +- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes ++ BASE_CFLAGS = -DARCH='\"$(ARCH)\"' -DLIBDIR='\"$(LIBDIR)\"' -I$(LOCALBASE)/include -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 +@@ -431,46 +413,61 @@ + BASE_CFLAGS += -DUSE_CODEC_VORBIS=1 + endif + +- ifeq ($(USE_SDL),1) +- BASE_CFLAGS += $(shell sdl11-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 +- 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 ++ LDFLAGS+=-lm + +- CLIENT_LDFLAGS = ++ CLIENT_LDFLAGS = -L$(LOCALBASE)/lib + +- ifeq ($(USE_SDL),1) +- CLIENT_LDFLAGS += $(shell sdl11-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 + +@@ -632,24 +629,24 @@ + TARGETS = + + ifneq ($(BUILD_SERVER),0) +- TARGETS += $(B)/ioq3ded.$(ARCH)$(BINEXT) ++ TARGETS += $(B)/ioq3ded$(BINEXT) + endif + + ifneq ($(BUILD_CLIENT),0) +- TARGETS += $(B)/ioquake3.$(ARCH)$(BINEXT) ++ TARGETS += $(B)/ioquake3$(BINEXT) + ifneq ($(BUILD_CLIENT_SMP),0) +- TARGETS += $(B)/ioquake3-smp.$(ARCH)$(BINEXT) ++ TARGETS += $(B)/ioquake3-smp$(BINEXT) + endif + 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) +@@ -707,11 +704,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) + +@@ -919,11 +916,11 @@ + $(B)/client/ftola.o \ + $(B)/client/snapvectora.o + endif +-ifeq ($(ARCH),x86_64) ++ifeq ($(ARCH),amd64) + Q3OBJ += $(B)/client/vm_x86_64.o + endif + +-ifeq ($(ARCH),ppc) ++ifeq ($(ARCH),powerpc) + ifneq ($(VM_PPC),) + Q3OBJ += $(B)/client/$(VM_PPC).o + endif +@@ -971,10 +968,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) + +@@ -1253,17 +1250,17 @@ + $(B)/ded/snapvectora.o $(B)/ded/matha.o + endif + +-ifeq ($(ARCH),x86_64) ++ifeq ($(ARCH),amd64) + Q3DOBJ += $(B)/ded/vm_x86_64.o + endif + +-ifeq ($(ARCH),ppc) ++ifeq ($(ARCH),powerpc) + ifneq ($(VM_PPC),) + 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) +@@ -1377,7 +1374,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 +@@ -1418,7 +1415,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 +@@ -1468,7 +1465,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 +@@ -1516,7 +1513,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 +@@ -1576,7 +1573,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 +@@ -1601,7 +1598,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/iourbanterror/files/patch-code__botlib__be_interface.c b/games/iourbanterror/files/patch-code__botlib__be_interface.c new file mode 100644 index 000000000000..dd57f36a808f --- /dev/null +++ b/games/iourbanterror/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 Wed Jun 7 19:34:25 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/iourbanterror/files/patch-code__qcommon__common.c b/games/iourbanterror/files/patch-code__qcommon__common.c new file mode 100644 index 000000000000..c1fdcacdd58a --- /dev/null +++ b/games/iourbanterror/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 Wed Jun 7 19:34:25 2006 +@@ -25,6 +25,7 @@ + #include "qcommon.h" + #include <setjmp.h> + #ifndef _WIN32 ++#include <sys/types.h> + #include <netinet/in.h> + #include <sys/stat.h> // umask + #else diff --git a/games/iourbanterror/files/patch-code__qcommon__q_platform.h b/games/iourbanterror/files/patch-code__qcommon__q_platform.h new file mode 100644 index 000000000000..c65c0b6f3705 --- /dev/null +++ b/games/iourbanterror/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 Wed Jun 7 19:35:23 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/iourbanterror/files/patch-code__unix__linux_glimp.c b/games/iourbanterror/files/patch-code__unix__linux_glimp.c new file mode 100644 index 000000000000..987afc280e72 --- /dev/null +++ b/games/iourbanterror/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 Wed Jun 7 19:34:25 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/iourbanterror/files/patch-code__unix__unix_main.c b/games/iourbanterror/files/patch-code__unix__unix_main.c new file mode 100644 index 000000000000..cd61c56a765f --- /dev/null +++ b/games/iourbanterror/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 Wed Jun 7 19:34:25 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/iourbanterror/pkg-descr b/games/iourbanterror/pkg-descr new file mode 100644 index 000000000000..6bb3f4006f49 --- /dev/null +++ b/games/iourbanterror/pkg-descr @@ -0,0 +1,11 @@ +This project, icculus.org/quake3 (sometimes referred to ioquake3, or ioq3 for +short) aims to build upon id Software's Quake 3 source code release. The +source code was released on August 20, 2005 under the GPL. Since then, we have +been cleaning up, fixing bugs, and adding features. Our permanent goal is to +create the open source Quake 3 distribution upon which people base their games +and projects. We also seek to have the perfect version of the engine for +playing Quake 3: Arena, Team Arena, and all popular mods. This distribution of +the engine has been ported to many new platforms and has had a slew of new +features added, along with massive bug extermination. + +WWW: http://icculus.org/quake3/ diff --git a/games/iourbanterror/pkg-plist b/games/iourbanterror/pkg-plist new file mode 100644 index 000000000000..a2fb5a77eb6c --- /dev/null +++ b/games/iourbanterror/pkg-plist @@ -0,0 +1,12 @@ +%%DEDICATED%%bin/ioq3ded +%%CLIENT%%bin/ioquake3 +%%SMP%%bin/ioquake3-smp +%%GAMELIBS%%%%LIBDIR%%/baseq3/cgame.so +%%GAMELIBS%%%%LIBDIR%%/baseq3/qagame.so +%%GAMELIBS%%%%LIBDIR%%/baseq3/ui.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/cgame.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/qagame.so +%%GAMELIBS%%%%LIBDIR%%/missionpack/ui.so +%%GAMELIBS%%@dirrm %%LIBDIR%%/missionpack +%%GAMELIBS%%@dirrm %%LIBDIR%%/baseq3 +%%GAMELIBS%%@dirrm %%LIBDIR%% |