diff options
author | alepulver <alepulver@FreeBSD.org> | 2008-03-25 04:42:28 +0800 |
---|---|---|
committer | alepulver <alepulver@FreeBSD.org> | 2008-03-25 04:42:28 +0800 |
commit | b74a0a6c5b73eb16e7ceb9e0e68ff5488d8e978e (patch) | |
tree | a2c5fab728e6f72a35f1effd1f92f8306bd88fd8 /games/alienarena | |
parent | 32dfddd893e13fca0a80aefd5f7979cafed30292 (diff) | |
download | freebsd-ports-gnome-b74a0a6c5b73eb16e7ceb9e0e68ff5488d8e978e.tar.gz freebsd-ports-gnome-b74a0a6c5b73eb16e7ceb9e0e68ff5488d8e978e.tar.zst freebsd-ports-gnome-b74a0a6c5b73eb16e7ceb9e0e68ff5488d8e978e.zip |
Both data and program:
- Update to version 2008.
Only for games/alienarena:
- Remove local patches (now integrated upstream).
- Check for WITH_* instead of !WITHOUT_* (avoid double negation).
- Add note about using the SDL version in FreeBSD >= 7 because of sound
problems.
Diffstat (limited to 'games/alienarena')
-rw-r--r-- | games/alienarena/Makefile | 35 | ||||
-rw-r--r-- | games/alienarena/distinfo | 6 | ||||
-rw-r--r-- | games/alienarena/files/alienarena-ded.in | 5 | ||||
-rw-r--r-- | games/alienarena/files/alienarena-sdl.in | 5 | ||||
-rw-r--r-- | games/alienarena/files/alienarena.in | 5 | ||||
-rw-r--r-- | games/alienarena/files/patch-Makefile | 52 | ||||
-rw-r--r-- | games/alienarena/files/patch-client__menu.c | 148 | ||||
-rw-r--r-- | games/alienarena/files/patch-game__acesrc__acebot.h | 16 | ||||
-rw-r--r-- | games/alienarena/files/patch-game__acesrc__acebot_nodes.c | 15 | ||||
-rw-r--r-- | games/alienarena/files/patch-game__acesrc__acebot_spawn.c | 26 | ||||
-rw-r--r-- | games/alienarena/files/patch-qcommon__files.c | 201 | ||||
-rw-r--r-- | games/alienarena/files/patch-ref_gl__qgl.h | 18 | ||||
-rw-r--r-- | games/alienarena/files/patch-ref_gl__r_script.c | 83 | ||||
-rw-r--r-- | games/alienarena/pkg-descr | 22 | ||||
-rw-r--r-- | games/alienarena/pkg-message | 5 |
15 files changed, 33 insertions, 609 deletions
diff --git a/games/alienarena/Makefile b/games/alienarena/Makefile index 17ebafa5c50a..fe329a0b2cf7 100644 --- a/games/alienarena/Makefile +++ b/games/alienarena/Makefile @@ -6,14 +6,13 @@ # PORTNAME= alienarena -PORTVERSION= 2007.610 -PORTREVISION= 1 +PORTVERSION= 2008 CATEGORIES= games -MASTER_SITES= ftp://ftp.simtel.com/pub/gamezone/31/5/17/ -DISTNAME= ${PORTNAME}2007-20071011-linux +MASTER_SITES= http://offload1.icculus.org/alienarena/Files/ +DISTNAME= ${PORTNAME}2008-linux20080227 MAINTAINER= alepulver@FreeBSD.org -COMMENT= Alien Arena 2006 (native version) +COMMENT= Alien Arena 2008 (native version) RUN_DEPENDS= ${DATADIR}/arena/default.cfg:${PORTSDIR}/games/alienarena-data @@ -23,7 +22,7 @@ USE_GMAKE= yes MAKE_ENV= WITH_DATADIR=yes WITH_LIBDIR=yes \ DATADIR="${DATADIR}" LIBDIR="${LIBDIR}" -WRKSRC= ${WRKDIR}/${PORTNAME}2007/source +WRKSRC= ${WRKDIR}/${PORTNAME}2008/source ALL_TARGET= build-release OPTIONS= CLIENT "Build client" on \ @@ -42,36 +41,36 @@ LIBDIR= ${PREFIX}/lib/${PORTNAME} IGNORE= needs at least one executable (CLIENT, DEDICATED or SDL) .endif -.if !defined(WITHOUT_CLIENT) || !defined(WITHOUT_SDL) +.if defined(WITH_CLIENT) || defined(WITH_SDL) LIB_DEPENDS+= curl.4:${PORTSDIR}/ftp/curl \ jpeg.9:${PORTSDIR}/graphics/jpeg \ png.5:${PORTSDIR}/graphics/png USE_GL= yes .endif -.if defined(WITHOUT_CLIENT) -MAKE_ENV+= BUILD=DEDICATED -.elif defined(WITHOUT_DEDICATED) +.if defined(WITH_CLIENT) MAKE_ENV+= BUILD=CLIENT +.elif defined(WITH_DEDICATED) +MAKE_ENV+= BUILD=DEDICATED .endif -.if !defined(WITHOUT_CLIENT) +.if defined(WITH_CLIENT) PLIST_SUB+= CLIENT="" .else PLIST_SUB+= CLIENT="@comment " .endif -.if !defined(WITHOUT_DEDICATED) +.if defined(WITH_DEDICATED) PLIST_SUB+= DEDICATED="" .else PLIST_SUB+= DEDICATED="@comment " .endif -.if !defined(WITHOUT_OPTIMIZED_CFLAGS) -MAKE_ENV+= OPTIMIZED_CFLAGS=YES +.if defined(WITHOUT_OPTIMIZED_CFLAGS) +MAKE_ENV+= OPTIMIZED_CFLAGS=no .endif -.if !defined(WITHOUT_SDL) +.if defined(WITH_SDL) USE_SDL= sdl PLIST_SUB+= SDL="" .else @@ -87,15 +86,15 @@ do-install: ${LN} -s ${DATADIR}/arena/* ${LIBDIR}/arena ${LN} -s ${DATADIR}/botinfo ${LIBDIR} ${LN} -s ${DATADIR}/data1/* ${LIBDIR}/data1 -.if !defined(WITHOUT_CLIENT) +.if defined(WITH_CLIENT) ${INSTALL_PROGRAM} ${WRKSRC}/release/crx \ ${PREFIX}/bin/${PORTNAME} .endif -.if !defined(WITHOUT_DEDICATED) +.if defined(WITH_DEDICATED) ${INSTALL_PROGRAM} ${WRKSRC}/release/crded \ ${PREFIX}/bin/${PORTNAME}-ded .endif -.if !defined(WITHOUT_SDL) +.if defined(WITH_SDL) ${INSTALL_PROGRAM} ${WRKSRC}/release/crx.sdl \ ${PREFIX}/bin/${PORTNAME}-sdl .endif diff --git a/games/alienarena/distinfo b/games/alienarena/distinfo index f2ad41d5aa9f..2271faf461f4 100644 --- a/games/alienarena/distinfo +++ b/games/alienarena/distinfo @@ -1,3 +1,3 @@ -MD5 (alienarena2007-20071011-linux.zip) = 7ebb0dfeec4be80311921a075379c8dc -SHA256 (alienarena2007-20071011-linux.zip) = 33036bd0dec77ae06c113d8e06718bd6f9e42efb634ee304c3fd9d48184c2e20 -SIZE (alienarena2007-20071011-linux.zip) = 245067302 +MD5 (alienarena2008-linux20080227.zip) = 5fcb17a65e220b1aad5ec25f97b35932 +SHA256 (alienarena2008-linux20080227.zip) = fe4325465b1b12e8a39552022d812531adae5273a79c2940514568b533e73e44 +SIZE (alienarena2008-linux20080227.zip) = 223329701 diff --git a/games/alienarena/files/alienarena-ded.in b/games/alienarena/files/alienarena-ded.in deleted file mode 100644 index 1071c8bd7681..000000000000 --- a/games/alienarena/files/alienarena-ded.in +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -cd %%LIBDIR%% || exit 1 - -exec ./crded +set game arena "$@" diff --git a/games/alienarena/files/alienarena-sdl.in b/games/alienarena/files/alienarena-sdl.in deleted file mode 100644 index d09ae2fdf5c2..000000000000 --- a/games/alienarena/files/alienarena-sdl.in +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -cd %%LIBDIR%% || exit 1 - -exec ./crx.sdl +set game arena "$@" diff --git a/games/alienarena/files/alienarena.in b/games/alienarena/files/alienarena.in deleted file mode 100644 index 2f71ae336a90..000000000000 --- a/games/alienarena/files/alienarena.in +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -cd %%LIBDIR%% || exit 1 - -exec ./crx +set game arena "$@" diff --git a/games/alienarena/files/patch-Makefile b/games/alienarena/files/patch-Makefile deleted file mode 100644 index 3316dd54ec77..000000000000 --- a/games/alienarena/files/patch-Makefile +++ /dev/null @@ -1,52 +0,0 @@ ---- ./Makefile.orig Fri May 25 01:00:34 2007 -+++ ./Makefile Sat Jul 21 13:39:48 2007 -@@ -22,6 +22,10 @@ - # Build binary that uses SDL for sound when "1". - SDLSOUND?=1 - -+# Adds DATADIR/LIBDIR (see below) to the data and library search path. -+WITH_DATADIR?=no -+WITH_LIBDIR?=no -+ - # Selects the component to build; ALL, GAME, or DEDICATED - BUILD?=ALL - -@@ -53,6 +57,20 @@ - - BASE_CFLAGS=$(CFLAGS) -Dstricmp=strcasecmp -D_stricmp=strcasecmp -I$(X11BASE)/include - -+# DATADIR / LIBDIR support. -+ -+PREFIX?=/usr/local -+ -+ifeq ($(strip $(WITH_DATADIR)),yes) -+DATADIR?=$(PREFIX)/share/alienarena -+BASE_CFLAGS+=-DDATADIR='\"$(DATADIR)\"' -+endif -+ -+ifeq ($(strip $(WITH_LIBDIR)),yes) -+LIBDIR?=$(PREFIX)/lib/alienarena -+BASE_CFLAGS+=-DLIBDIR='\"$(LIBDIR)\"' -+endif -+ - RELEASE_CFLAGS=$(BASE_CFLAGS) - - ifeq ($(strip $(OPTIMIZED_CFLAGS)),yes) -@@ -128,13 +146,13 @@ - $(BUILDDIR)/crx - endif - -+ifeq ($(strip $(BUILD)),CLIENT) -+ TARGETS+=$(BUILDDIR)/crx -+endif -+ - ifeq ($(strip $(BUILD)),DEDICATED) - SDLSOUND=0 - TARGETS+=$(BUILDDIR)/crded --endif -- --ifeq ($(strip $(BUILD)),GAME) -- TARGETS+=$(BUILDDIR)/crx - endif - - ifeq ($(strip $(SDLSOUND)),1) diff --git a/games/alienarena/files/patch-client__menu.c b/games/alienarena/files/patch-client__menu.c deleted file mode 100644 index 51abd7e0bf14..000000000000 --- a/games/alienarena/files/patch-client__menu.c +++ /dev/null @@ -1,148 +0,0 @@ ---- ./client/menu.c.orig Tue Dec 11 18:57:14 2007 -+++ ./client/menu.c Wed Dec 12 00:31:03 2007 -@@ -5104,143 +5104,16 @@ - - static void PlayerConfig_ScanDirectories( void ) - { -- char findname[1024]; - char scratch[1024]; - int ndirs = 0, npms = 0; - char **dirnames; - int i; - -- extern char **FS_ListFiles( char *, int *, unsigned, unsigned ); -+ extern char **FS_ListFiles2( char *, int *, unsigned, unsigned ); - - s_numplayermodels = 0; - -- //get dirs from gamedir first. -- -- Com_sprintf( findname, sizeof(findname), "%s/players/*.*", FS_Gamedir() ); -- -- dirnames = FS_ListFiles( findname, &ndirs, SFF_SUBDIR, 0 ); -- -- if ( dirnames ) { -- -- /* -- ** go through the subdirectories -- */ -- npms = ndirs; -- if ( npms > MAX_PLAYERMODELS ) -- npms = MAX_PLAYERMODELS; -- -- for ( i = 0; i < npms; i++ ) -- { -- int k, s; -- char *a, *b, *c; -- char **pcxnames; -- char **skinnames; -- int npcxfiles; -- int nskins = 0; -- -- if ( dirnames[i] == 0 ) -- continue; -- -- // verify the existence of tris.md2 -- strcpy( scratch, dirnames[i] ); -- strcat( scratch, "/tris.md2" ); -- if ( !Sys_FindFirst( scratch, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM ) ) -- { -- free( dirnames[i] ); -- dirnames[i] = 0; -- Sys_FindClose(); -- continue; -- } -- Sys_FindClose(); -- -- // verify the existence of at least one skin -- strcpy( scratch, dirnames[i] ); -- strcat( scratch, "/*.tga" ); -- pcxnames = FS_ListFiles( scratch, &npcxfiles, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM ); -- -- if ( !pcxnames ) -- { -- free( dirnames[i] ); -- dirnames[i] = 0; -- continue; -- } -- -- // count valid skins, which consist of a skin with a matching "_i" icon -- for ( k = 0; k < npcxfiles-1; k++ ) -- { -- if ( !strstr( pcxnames[k], "_i.tga" ) ) -- { -- if ( IconOfSkinExists( pcxnames[k], pcxnames, npcxfiles - 1 ) ) -- { -- nskins++; -- } -- } -- } -- if ( !nskins ) -- continue; -- -- skinnames = malloc( sizeof( char * ) * ( nskins + 1 ) ); -- memset( skinnames, 0, sizeof( char * ) * ( nskins + 1 ) ); -- -- // copy the valid skins -- for ( s = 0, k = 0; k < npcxfiles-1; k++ ) -- { -- char *a, *b, *c; -- -- if ( !strstr( pcxnames[k], "_i.tga" ) ) -- { -- if ( IconOfSkinExists( pcxnames[k], pcxnames, npcxfiles - 1 ) ) -- { -- a = strrchr( pcxnames[k], '/' ); -- b = strrchr( pcxnames[k], '\\' ); -- -- if ( a > b ) -- c = a; -- else -- c = b; -- -- strcpy( scratch, c + 1 ); -- -- if ( strrchr( scratch, '.' ) ) -- *strrchr( scratch, '.' ) = 0; -- -- skinnames[s] = strdup( scratch ); -- s++; -- } -- } -- } -- -- // at this point we have a valid player model -- s_pmi[s_numplayermodels].nskins = nskins; -- s_pmi[s_numplayermodels].skindisplaynames = skinnames; -- -- // make short name for the model -- a = strrchr( dirnames[i], '/' ); -- b = strrchr( dirnames[i], '\\' ); -- -- if ( a > b ) -- c = a; -- else -- c = b; -- -- strncpy( s_pmi[s_numplayermodels].displayname, c + 1, MAX_DISPLAYNAME-1 ); -- strcpy( s_pmi[s_numplayermodels].directory, c + 1 ); -- -- FreeFileList( pcxnames, npcxfiles ); -- -- s_numplayermodels++; -- } -- if ( dirnames ) -- FreeFileList( dirnames, ndirs ); -- } -- -- /* -- ** get a list of directories from basedir -- */ -- -- Com_sprintf( findname, sizeof(findname), "%s/players/*.*", BASEDIRNAME); -- -- dirnames = FS_ListFiles( findname, &ndirs, SFF_SUBDIR, 0 ); -+ dirnames = FS_ListFiles2( "players/*.*", &ndirs, SFF_SUBDIR, 0 ); - - if ( !dirnames ) - return; diff --git a/games/alienarena/files/patch-game__acesrc__acebot.h b/games/alienarena/files/patch-game__acesrc__acebot.h deleted file mode 100644 index f37dff649cc7..000000000000 --- a/games/alienarena/files/patch-game__acesrc__acebot.h +++ /dev/null @@ -1,16 +0,0 @@ ---- ./game/acesrc/acebot.h.orig Fri Jun 1 14:05:51 2007 -+++ ./game/acesrc/acebot.h Sat Jul 21 09:32:13 2007 -@@ -60,6 +60,13 @@ - #ifndef _ACEBOT_H - #define _ACEBOT_H - -+// Directory for reading files in "botinfo", writing is always done in "." -+#ifdef DATADIR -+#define BOTDIR DATADIR -+#else -+#define BOTDIR "." -+#endif -+ - // Only 100 allowed for now (probably never be enough edicts for 'em - #define MAX_BOTS 100 - diff --git a/games/alienarena/files/patch-game__acesrc__acebot_nodes.c b/games/alienarena/files/patch-game__acesrc__acebot_nodes.c deleted file mode 100644 index 86f0fc03d700..000000000000 --- a/games/alienarena/files/patch-game__acesrc__acebot_nodes.c +++ /dev/null @@ -1,15 +0,0 @@ ---- ./game/acesrc/acebot_nodes.c.orig Fri Mar 23 23:28:55 2007 -+++ ./game/acesrc/acebot_nodes.c Sat Jul 21 09:32:49 2007 -@@ -726,11 +726,7 @@ - - safe_bprintf(PRINT_MEDIUM,"Saving node table..."); - --#ifdef __unix__ -- strcpy(filename,"botinfo/nav/"); --#else -- strcpy(filename,"botinfo\\nav\\"); --#endif -+ strcpy(filename,BOTDIR"/botinfo/nav/"); - strcat(filename,level.mapname); - strcat(filename,".nod"); - diff --git a/games/alienarena/files/patch-game__acesrc__acebot_spawn.c b/games/alienarena/files/patch-game__acesrc__acebot_spawn.c deleted file mode 100644 index 7a79342db3e2..000000000000 --- a/games/alienarena/files/patch-game__acesrc__acebot_spawn.c +++ /dev/null @@ -1,26 +0,0 @@ ---- ./game/acesrc/acebot_spawn.c.orig Wed Apr 25 18:22:21 2007 -+++ ./game/acesrc/acebot_spawn.c Sat Jul 21 09:34:40 2007 -@@ -126,11 +126,11 @@ - - //bots and configurations will be loaded level specific - if (((int)(dmflags->value) & DF_SKINTEAMS) || ctf->value || tca->value || cp->value) -- strcpy(bot_filename, "botinfo/team.tmp"); -+ strcpy(bot_filename, BOTDIR"/botinfo/team.tmp"); - else if(sv_custombots->value) -- sprintf(bot_filename, "botinfo/custom%i.tmp", sv_custombots->integer); -+ sprintf(bot_filename, BOTDIR"/botinfo/custom%i.tmp", sv_custombots->integer); - else -- sprintf(bot_filename, "botinfo/%s.tmp", level.mapname); -+ sprintf(bot_filename, BOTDIR"/botinfo/%s.tmp", level.mapname); - - if((pIn = fopen(bot_filename, "rb" )) == NULL) - return; // bail -@@ -543,7 +543,7 @@ - //if not a respawn, load bot configuration file(specific to each bot) - info = Info_ValueForKey (bot->client->pers.userinfo, "name"); - -- sprintf(bot_configfilename, "botinfo/%s.cfg", info); -+ sprintf(bot_configfilename, BOTDIR"/botinfo/%s.cfg", info); - ACECO_ReadConfig(bot_configfilename); - - //set config items diff --git a/games/alienarena/files/patch-qcommon__files.c b/games/alienarena/files/patch-qcommon__files.c deleted file mode 100644 index 06f0f58e91b2..000000000000 --- a/games/alienarena/files/patch-qcommon__files.c +++ /dev/null @@ -1,201 +0,0 @@ ---- ./qcommon/files.c.orig Tue Dec 11 18:57:14 2007 -+++ ./qcommon/files.c Tue Dec 11 21:51:48 2007 -@@ -734,6 +734,12 @@ - else - { - Cvar_FullSet ("gamedir", dir, CVAR_SERVERINFO|CVAR_NOSET); -+#ifdef DATADIR -+ FS_AddGameDirectory (va("%s/%s", DATADIR, dir) ); -+#endif -+#ifdef LIBDIR -+ FS_AddGameDirectory (va("%s/%s", LIBDIR, dir) ); -+#endif - FS_AddGameDirectory (va("%s/%s", fs_basedir->string, dir) ); - #ifdef __unix__ - FS_AddHomeAsGameDirectory(dir); -@@ -834,7 +840,156 @@ - return list; - } - --//#ifdef __unix__ -+/* -+ * CompareAttributesPack -+ * -+ * Compare file attributes (musthave and canthave) in packed files. If -+ * "output" is not NULL, "size" is greater than zero and the file matches the -+ * attributes then a copy of the matching string will be placed there (with -+ * SFF_SUBDIR it changes). -+ * -+ * Returns a boolean value, true if the attributes match the file. -+ */ -+qboolean -+ComparePackFiles(const char *findname, const char *name, -+ unsigned musthave, unsigned canthave, char *output, int size) -+{ -+ qboolean retval; -+ char *ptr; -+ char buffer[MAX_OSPATH]; -+ -+ strncpy(buffer, name, sizeof(buffer)-1); -+ buffer[sizeof(buffer)-1] = '\0'; -+ -+ if ((canthave & SFF_SUBDIR) && name[strlen(name)-1] == '/') -+ return (false); -+ -+ if (musthave & SFF_SUBDIR) { -+ if ((ptr = strrchr(buffer, '/')) != NULL) -+ *ptr = '\0'; -+ else -+ return (false); -+ } -+ -+ if ((musthave & SFF_HIDDEN) || (canthave & SFF_HIDDEN)) { -+ if ((ptr = strrchr(buffer, '/')) == NULL) -+ ptr = buffer; -+ if (((musthave & SFF_HIDDEN) && ptr[1] != '.') || -+ ((canthave & SFF_HIDDEN) && ptr[1] == '.')) -+ return (false); -+ } -+ -+ if (canthave & SFF_RDONLY) -+ return (false); -+ -+ retval = glob_match((char *)findname, buffer); -+ -+ if (retval && output != NULL) { -+ strncpy(output, buffer, size-1); -+ buffer[size-1] = '\0'; -+ } -+ -+ return (retval); -+} -+ -+/* -+ * FS_ListFiles2 -+ * -+ * Create a list of files that match a criteria. -+ * -+ * Searchs are relative to the game directory and use all the search paths -+ * including .pak and .pk3 files. -+ */ -+char ** -+FS_ListFiles2(char *findname, int *numfiles, unsigned musthave, unsigned canthave) -+{ -+ searchpath_t *search; /* Search path. */ -+ int i, j; /* Loop counters. */ -+ int nfiles; /* Number of files found. */ -+ int tmpnfiles; /* Temp number of files. */ -+ char **tmplist; /* Temporary list of files. */ -+ char **list; /* List of files found. */ -+ char path[MAX_OSPATH]; /* Temporary path. */ -+ -+ nfiles = 0; -+ list = malloc(sizeof(char *)); -+ -+ for (search = fs_searchpaths; search != NULL; search = search->next) { -+ if (search->pack != NULL) { -+ for (i = 0, j = 0; i < search->pack->numfiles; i++) -+ if (ComparePackFiles(findname, -+ search->pack->files[i].name, -+ musthave, canthave, NULL, 0)) -+ j++; -+ if (j == 0) -+ continue; -+ nfiles += j; -+ list = realloc(list, nfiles * sizeof(char *)); -+ for (i = 0, j = nfiles - j; -+ i < search->pack->numfiles; -+ i++) -+ if (ComparePackFiles(findname, -+ search->pack->files[i].name, -+ musthave, canthave, path, sizeof(path))) -+ list[j++] = strdup(path); -+ } else if (search->filename != NULL) { -+ Com_sprintf(path, sizeof(path), "%s/%s", -+ search->filename, findname); -+ tmplist = FS_ListFiles(path, &tmpnfiles, musthave, -+ canthave); -+ if (tmplist != NULL) { -+ tmpnfiles--; -+ nfiles += tmpnfiles; -+ list = realloc(list, nfiles * sizeof(char *)); -+ for (i = 0, j = nfiles - tmpnfiles; -+ i < tmpnfiles; -+ i++, j++) -+ list[j] = strdup(tmplist[i] + -+ strlen(search->filename) + 1); -+ FS_FreeFileList(tmplist, tmpnfiles); -+ } -+ } -+ } -+ -+ /* Delete duplicates. */ -+ tmpnfiles = 0; -+ for (i = 0; i < nfiles; i++) { -+ if (list[i] == NULL) -+ continue; -+ for (j = i + 1; j < nfiles; j++) -+ if (list[j] != NULL && -+ strcmp(list[i], list[j]) == 0) { -+ free(list[j]); -+ list[j] = NULL; -+ tmpnfiles++; -+ } -+ } -+ -+ if (tmpnfiles > 0) { -+ nfiles -= tmpnfiles; -+ tmplist = malloc(nfiles * sizeof(char *)); -+ for (i = 0, j = 0; i < nfiles + tmpnfiles; i++) -+ if (list[i] != NULL) -+ tmplist[j++] = list[i]; -+ free(list); -+ list = tmplist; -+ } -+ -+ /* Add a guard. */ -+ if (nfiles > 0) { -+ nfiles++; -+ list = realloc(list, nfiles * sizeof(char *)); -+ list[nfiles - 1] = NULL; -+ } else { -+ free(list); -+ list = NULL; -+ } -+ -+ *numfiles = nfiles; -+ -+ return (list); -+} -+ - void FS_FreeFileList (char **list, int n) // jit - { - int i; -@@ -850,7 +1005,6 @@ - - free(list); - } --//#endif - - /* - ** FS_Dir_f -@@ -976,6 +1130,19 @@ - Cmd_AddCommand ("path", FS_Path_f); - Cmd_AddCommand ("link", FS_Link_f); - Cmd_AddCommand ("dir", FS_Dir_f ); -+ -+ // -+ // DATADIR / LIBDIR support. -+ // Both directories are used to load data and libraries from, allowing -+ // different OSes to have them where they want, according to their -+ // conventions. -+ // -+#ifdef DATADIR -+ FS_AddGameDirectory (va("%s/"BASEDIRNAME, DATADIR)); -+#endif -+#ifdef LIBDIR -+ FS_AddGameDirectory (va("%s/"BASEDIRNAME, LIBDIR)); -+#endif - - // - // basedir <path> diff --git a/games/alienarena/files/patch-ref_gl__qgl.h b/games/alienarena/files/patch-ref_gl__qgl.h deleted file mode 100644 index 8469c641b12f..000000000000 --- a/games/alienarena/files/patch-ref_gl__qgl.h +++ /dev/null @@ -1,18 +0,0 @@ ---- ref_gl/qgl.h.orig Sat Jul 21 11:52:11 2007 -+++ ref_gl/qgl.h Sat Jul 21 11:54:16 2007 -@@ -393,6 +393,7 @@ - extern void ( APIENTRY * qglClientActiveTextureARB)( GLenum ); - - extern void ( APIENTRY * qglMultiTexCoord3fvARB)( GLenum, GLfloat * ); -+#if 0 - // jitwater - fragment programs (pixel shaders) - typedef void (APIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string); - typedef void (APIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program); -@@ -412,6 +413,7 @@ - typedef void (APIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params); - typedef void (APIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params); - typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string); -+#endif - - #ifdef _WIN32 - diff --git a/games/alienarena/files/patch-ref_gl__r_script.c b/games/alienarena/files/patch-ref_gl__r_script.c deleted file mode 100644 index 67c682a277b4..000000000000 --- a/games/alienarena/files/patch-ref_gl__r_script.c +++ /dev/null @@ -1,83 +0,0 @@ ---- ref_gl/r_script.c.orig Wed Dec 12 01:22:30 2007 -+++ ref_gl/r_script.c Wed Dec 12 01:21:49 2007 -@@ -1020,35 +1020,16 @@ - free(buf); - } - --extern char **FS_ListFiles( char *, int *, unsigned, unsigned ); -+extern char **FS_ListFiles2( char *, int *, unsigned, unsigned ); - extern void FS_FreeFileList (char **list, int n); - void RS_ScanPathForScripts (void) - { - char script[MAX_OSPATH]; -- char dirstring[1024], *c; -+ char *c; - char **script_list; - int script_count, i; -- char *path = NULL; -- -- -- Com_sprintf(dirstring, sizeof(dirstring), "%s/scripts/*.rscript", FS_Gamedir()); -- script_list = FS_ListFiles(dirstring, &script_count, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM); -- -- if(script_list) { -- for (i = 0; i < script_count-1; i++) -- { -- c = COM_SkipPath(script_list[i]); -- Com_sprintf(script, MAX_OSPATH, "scripts/%s", c); -- RS_LoadScript(script); -- } -- -- FS_FreeFileList(script_list, script_count); -- } -- -- script_count = 0; - -- Com_sprintf(dirstring, sizeof(dirstring), "%s/scripts/*.rscript", BASEDIRNAME); -- script_list = FS_ListFiles(dirstring, &script_count, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM); -+ script_list = FS_ListFiles2("scripts/*.rscript", &script_count, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM); - - if(script_list) { - for (i = 0; i < script_count-1; i++) -@@ -1057,32 +1038,12 @@ - Com_sprintf(script, MAX_OSPATH, "scripts/%s", c); - RS_LoadScript(script); - } -- - FS_FreeFileList(script_list, script_count); - } - - script_count = 0; - if(gl_normalmaps->value) { //search for normal map scripts ONLY if we are using normal mapping -- -- Com_sprintf(dirstring, sizeof(dirstring), "%s/scripts/normals/*.rscript", FS_Gamedir()); -- script_list = FS_ListFiles(dirstring, &script_count, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM); -- -- if(script_list) { -- for (i = 0; i < script_count-1; i++) -- { -- c = COM_SkipPath(script_list[i]); -- Com_sprintf(script, MAX_OSPATH, "scripts/normals/%s", c); -- RS_LoadScript(script); -- } -- -- FS_FreeFileList(script_list, script_count); -- } -- -- script_count = 0; -- -- Com_sprintf(dirstring, sizeof(dirstring), "%s/scripts/normals/*.rscript", BASEDIRNAME); -- script_list = FS_ListFiles(dirstring, &script_count, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM); -- -+ script_list = FS_ListFiles("scripts/normals/*.rscript", &script_count, 0, SFF_SUBDIR | SFF_HIDDEN | SFF_SYSTEM); - if(script_list) { - for (i = 0; i < script_count-1; i++) - { -@@ -1090,7 +1051,6 @@ - Com_sprintf(script, MAX_OSPATH, "scripts/normals/%s", c); - RS_LoadScript(script); - } -- - FS_FreeFileList(script_list, script_count); - } - } diff --git a/games/alienarena/pkg-descr b/games/alienarena/pkg-descr index 0ca0e5c3a1dd..e47afdcfe300 100644 --- a/games/alienarena/pkg-descr +++ b/games/alienarena/pkg-descr @@ -1,15 +1,11 @@ -AA2K7 is the latest version of a freeware online deathmatch game that was -first introduced to the public in October, 2004. Since that initial release, -nearly every aspect of the game has been revamped, in fact, much of the -content and code from the November 2005 release of Alien Arena 2006 has been -redone as well. It's like an entirely new game, and it may shock people just -how much it has improved in less than a year's time. With 35 levels, five -modes of play, loads of mutators, built-in bots, 11 player characters, 8 -weapons(with alt-fire modes), the game has an endless supply of replayability. -With so many new features, AA2K7 is nearly an entirely new game when held in -comparison to it's predecessor. With the trials and tribulations of software -development, endless hours of playing, gathering feedback, COR Entertainment -has been able to not only fine tune and perfect it's flagship game, but add -completely new dimensions to it. +Alien Arena 2008 is a free standalone deathmatch game based on source code +released by id Software. Begun by COR Entertainment in 2004, the game combines +a 1950s-era sci-fi atmosphere with gameplay similar to the Quake, Doom, and +Unreal Tournament series. Alien Arena focuses mainly on online multiplayer +action, although it does contain single player campaigns against bots. + +Alien Arena has been released for Microsoft Windows, Linux and FreeBSD. Alien +Arena has been free-to-play since its inception, and there are currently no +plans to change it to pay-to-play. WWW: http://red.planetarena.org/ diff --git a/games/alienarena/pkg-message b/games/alienarena/pkg-message index e53dc65ea779..f2567ac85b13 100644 --- a/games/alienarena/pkg-message +++ b/games/alienarena/pkg-message @@ -2,7 +2,7 @@ Alien Arena (native version) has been installed. -The OSS (native FreeBSD sound) version of Alien Arena 2006 (named +The OSS (native FreeBSD sound) version of Alien Arena 2008 (named "alienarena") uses by default a slow sound speed, which causes a notable delay. To solve this you have to run it once like this: @@ -12,4 +12,7 @@ Where <speed> could be 22050 and 44100 for example (the default that has the delay is 11025, and the SDL version uses 22050). The value of "sndspeed" will be saved in the configuration file for future runs. +NOTE: in FreeBSD 7 or newer please use the SDL version, as the other one has +problems with sound. + ============================================================================== |