1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00

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.
This commit is contained in:
Alejandro Pulver 2008-03-24 20:42:28 +00:00
parent 9bd9be61d8
commit e11a39a39d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=209725
19 changed files with 469 additions and 1092 deletions

View File

@ -6,19 +6,19 @@
#
PORTNAME= alienarena
PORTVERSION= 2007.610
PORTVERSION= 2008
CATEGORIES= games
MASTER_SITES= ftp://ftp.simtel.com/pub/gamezone/31/5/17/
MASTER_SITES= http://offload1.icculus.org/alienarena/Files/
PKGNAMESUFFIX= -data
DISTNAME= ${PORTNAME}2007-20071011-linux
DISTNAME= ${PORTNAME}2008-linux20080227
MAINTAINER= alepulver@FreeBSD.org
COMMENT= Alien Arena 2006 (data)
COMMENT= Alien Arena 2008 (data)
USE_ZIP= yes
NO_BUILD= yes
NO_PACKAGE= Package will be 185MB, set FORCE_PACKAGE if you want it
WRKSRC= ${WRKDIR}/${PORTNAME}2007
WRKSRC= ${WRKDIR}/${PORTNAME}2008
.include <bsd.port.pre.mk>

View File

@ -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

View File

@ -1,16 +1,12 @@
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.
Note: this port only contains the data needed to run Alien Arena, shared by
the Linux and native ports of the game engine. To play Alien Arena you have to

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -1,5 +0,0 @@
#!/bin/sh
cd %%LIBDIR%% || exit 1
exec ./crded +set game arena "$@"

View File

@ -1,5 +0,0 @@
#!/bin/sh
cd %%LIBDIR%% || exit 1
exec ./crx.sdl +set game arena "$@"

View File

@ -1,5 +0,0 @@
#!/bin/sh
cd %%LIBDIR%% || exit 1
exec ./crx +set game arena "$@"

View File

@ -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)

View File

@ -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;

View File

@ -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

View File

@ -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");

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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);
}
}

View File

@ -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/

View File

@ -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.
==============================================================================