[SCM] Quake 3 engine branch, debian-experimental, updated. debian/1.36+svn2224-1-1-g43d53b6

Simon McVittie smcv at debian.org
Sun Feb 26 22:14:37 UTC 2012


The following commit has been merged in the debian-experimental branch:
commit 43d53b63f770df870b3be7db51310a959340801c
Author: Simon McVittie <smcv at debian.org>
Date:   Sun Feb 26 21:55:17 2012 +0000

    Import some of the changes from OpenArena 0.8.8's engine
    
    * Import some of the changes from OpenArena 0.8.8's engine:
      - let servers set clients' sv_fps, which is used for movement prediction
      - remove FS_GamePureChecksum, which is never called
      - do not include the PK3 file containing qagame.qvm in pure-server
        checksums unless there is another reason to reference it, to allow
        server-side-only mods without forcing clients to have them
      - add support for a 9th colour escape code (^8, "COLOR_MENU", orange)
      - increase the maximum number of flares from 128 to 256
      - add sv_dorestart, which can be set by game code to force a full restart:
        some game modes in OpenArena can make use of this to avoid some full
        restarts

diff --git a/debian/changelog b/debian/changelog
index 169efeb..79df2bf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,19 @@
+ioquake3 (1.36+svn2224-2) UNRELEASED; urgency=low
+
+  * Import some of the changes from OpenArena 0.8.8's engine:
+    - let servers set clients' sv_fps, which is used for movement prediction
+    - remove FS_GamePureChecksum, which is never called
+    - do not include the PK3 file containing qagame.qvm in pure-server
+      checksums unless there is another reason to reference it, to allow
+      server-side-only mods without forcing clients to have them
+    - add support for a 9th colour escape code (^8, "COLOR_MENU", orange)
+    - increase the maximum number of flares from 128 to 256
+    - add sv_dorestart, which can be set by game code to force a full restart:
+      some game modes in OpenArena can make use of this to avoid some full
+      restarts
+
+ -- Simon McVittie <smcv at debian.org>  Sun, 26 Feb 2012 21:45:50 +0000
+
 ioquake3 (1.36+svn2224-1) unstable; urgency=low
 
   * New upstream snapshot
diff --git a/debian/patches/0002-Add-a-special-vmMagic-that-causes-equivalent-native-.patch b/debian/patches/0001-Add-a-special-vmMagic-that-causes-equivalent-native-.patch
similarity index 90%
rename from debian/patches/0002-Add-a-special-vmMagic-that-causes-equivalent-native-.patch
rename to debian/patches/0001-Add-a-special-vmMagic-that-causes-equivalent-native-.patch
index 2f754ec..b2e66a2 100644
--- a/debian/patches/0002-Add-a-special-vmMagic-that-causes-equivalent-native-.patch
+++ b/debian/patches/0001-Add-a-special-vmMagic-that-causes-equivalent-native-.patch
@@ -1,8 +1,7 @@
-From b2efe45819c6544372e6bb96ff3aae0c52d856a0 Mon Sep 17 00:00:00 2001
 From: Simon McVittie <smcv at debian.org>
 Date: Thu, 4 Aug 2011 08:36:09 +0100
-Subject: [PATCH] Add a special vmMagic that causes equivalent native code to
- be loaded instead
+Subject: Add a special vmMagic that causes equivalent native code to be
+ loaded instead
 
 This means that mods can build everything from source without relying on
 the non-GPL q3lcc compiler. By padding the fake QVM with bytes chosen
@@ -27,7 +26,7 @@ Forwarded: no
  4 files changed, 64 insertions(+), 5 deletions(-)
 
 diff --git a/code/qcommon/files.c b/code/qcommon/files.c
-index d2e906a..b8e04ee 100644
+index c577eab..ce525cf 100644
 --- a/code/qcommon/files.c
 +++ b/code/qcommon/files.c
 @@ -1384,7 +1384,7 @@ Return the searchpath in "startSearch".
@@ -58,10 +57,10 @@ index d2e906a..b8e04ee 100644
  			pack = search->pack;
  
 diff --git a/code/qcommon/qcommon.h b/code/qcommon/qcommon.h
-index eb5e45a..2f93ee4 100644
+index da6f3b7..ee5c714 100644
 --- a/code/qcommon/qcommon.h
 +++ b/code/qcommon/qcommon.h
-@@ -624,7 +624,7 @@ qboolean FS_FileExists( const char *file );
+@@ -626,7 +626,7 @@ qboolean FS_FileExists( const char *file );
  
  qboolean FS_CreatePath (char *OSPath);
  
@@ -86,10 +85,10 @@ index 7f1ef96..e3515b4 100644
  	int		vmMagic;
  
 diff --git a/code/qcommon/vm.c b/code/qcommon/vm.c
-index c500aea..64cd648 100644
+index 13e41b0..6bf23bd 100644
 --- a/code/qcommon/vm.c
 +++ b/code/qcommon/vm.c
-@@ -370,6 +370,7 @@ vmHeader_t *VM_LoadQVM( vm_t *vm, qboolean alloc ) {
+@@ -371,6 +371,7 @@ vmHeader_t *VM_LoadQVM( vm_t *vm, qboolean alloc, qboolean unpure)
  	union {
  		vmHeader_t	*h;
  		void				*v;
@@ -97,7 +96,7 @@ index c500aea..64cd648 100644
  	} header;
  
  	// load the image
-@@ -390,6 +391,54 @@ vmHeader_t *VM_LoadQVM( vm_t *vm, qboolean alloc ) {
+@@ -391,6 +392,54 @@ vmHeader_t *VM_LoadQVM( vm_t *vm, qboolean alloc, qboolean unpure)
  	// show where the qvm was loaded from
  	FS_Which(filename, vm->searchPath);
  
@@ -152,7 +151,7 @@ index c500aea..64cd648 100644
  	if( LittleLong( header.h->vmMagic ) == VM_MAGIC_VER2 ) {
  		Com_Printf( "...which has vmMagic VM_MAGIC_VER2\n" );
  
-@@ -573,7 +622,7 @@ vm_t *VM_Create( const char *module, intptr_t (*systemCalls)(intptr_t *),
+@@ -610,7 +659,7 @@ vm_t *VM_Create( const char *module, intptr_t (*systemCalls)(intptr_t *),
  
  	do
  	{
@@ -161,7 +160,7 @@ index c500aea..64cd648 100644
  		
  		if(retval == VMI_NATIVE)
  		{
-@@ -605,6 +654,12 @@ vm_t *VM_Create( const char *module, intptr_t (*systemCalls)(intptr_t *),
+@@ -642,6 +691,12 @@ vm_t *VM_Create( const char *module, intptr_t (*systemCalls)(intptr_t *),
  
  	vm->systemCall = systemCalls;
  
@@ -174,6 +173,3 @@ index c500aea..64cd648 100644
  	// allocate space for the jump targets, which will be filled in by the compile/prep functions
  	vm->instructionCount = header->instructionCount;
  	vm->instructionPointers = Hunk_Alloc(vm->instructionCount * sizeof(*vm->instructionPointers), h_high);
--- 
-1.7.5.4
-
diff --git a/debian/patches/0003-Double-the-maximum-number-of-cvars.patch b/debian/patches/0002-Double-the-maximum-number-of-cvars.patch
similarity index 95%
rename from debian/patches/0003-Double-the-maximum-number-of-cvars.patch
rename to debian/patches/0002-Double-the-maximum-number-of-cvars.patch
index cb0faa0..b47d2a1 100644
--- a/debian/patches/0003-Double-the-maximum-number-of-cvars.patch
+++ b/debian/patches/0002-Double-the-maximum-number-of-cvars.patch
@@ -13,7 +13,7 @@ Forwarded: no
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/code/qcommon/cvar.c b/code/qcommon/cvar.c
-index fa4c00c..34f42d0 100644
+index 9321e9c..bb03643 100644
 --- a/code/qcommon/cvar.c
 +++ b/code/qcommon/cvar.c
 @@ -28,7 +28,7 @@ cvar_t		*cvar_vars = NULL;
@@ -25,4 +25,3 @@ index fa4c00c..34f42d0 100644
  cvar_t		cvar_indexes[MAX_CVARS];
  int			cvar_numIndexes;
  
--- 
diff --git a/debian/patches/0004-Increase-the-command-buffer-from-16K-to-128K-followi.patch b/debian/patches/0003-Increase-the-command-buffer-from-16K-to-128K-followi.patch
similarity index 94%
rename from debian/patches/0004-Increase-the-command-buffer-from-16K-to-128K-followi.patch
rename to debian/patches/0003-Increase-the-command-buffer-from-16K-to-128K-followi.patch
index 3167f38..4458177 100644
--- a/debian/patches/0004-Increase-the-command-buffer-from-16K-to-128K-followi.patch
+++ b/debian/patches/0003-Increase-the-command-buffer-from-16K-to-128K-followi.patch
@@ -9,7 +9,7 @@ Forwarded: no
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/code/qcommon/cmd.c b/code/qcommon/cmd.c
-index 15c2d89..f9de5a1 100644
+index 8020207..b415381 100644
 --- a/code/qcommon/cmd.c
 +++ b/code/qcommon/cmd.c
 @@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
@@ -21,4 +21,3 @@ index 15c2d89..f9de5a1 100644
  #define	MAX_CMD_LINE	1024
  
  typedef struct {
--- 
diff --git a/debian/patches/0005-Double-the-default-com_hunkMegs-to-128M.patch b/debian/patches/0004-Double-the-default-com_hunkMegs-to-128M.patch
similarity index 95%
rename from debian/patches/0005-Double-the-default-com_hunkMegs-to-128M.patch
rename to debian/patches/0004-Double-the-default-com_hunkMegs-to-128M.patch
index 9c7d5e9..2b6ed5c 100644
--- a/debian/patches/0005-Double-the-default-com_hunkMegs-to-128M.patch
+++ b/debian/patches/0004-Double-the-default-com_hunkMegs-to-128M.patch
@@ -12,7 +12,7 @@ Forwarded: no
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/code/qcommon/common.c b/code/qcommon/common.c
-index 498614f..2c4f727 100644
+index 7f79047..158193e 100644
 --- a/code/qcommon/common.c
 +++ b/code/qcommon/common.c
 @@ -38,7 +38,7 @@ int demo_protocols[] =
@@ -24,4 +24,3 @@ index 498614f..2c4f727 100644
  #define DEF_COMZONEMEGS		24
  #define DEF_COMHUNKMEGS_S	XSTRING(DEF_COMHUNKMEGS)
  #define DEF_COMZONEMEGS_S	XSTRING(DEF_COMZONEMEGS)
--- 
diff --git a/debian/patches/0005-Add-support-for-a-9th-colour-8-COLOR_MENU-orange.patch b/debian/patches/0005-Add-support-for-a-9th-colour-8-COLOR_MENU-orange.patch
new file mode 100644
index 0000000..61f8272
--- /dev/null
+++ b/debian/patches/0005-Add-support-for-a-9th-colour-8-COLOR_MENU-orange.patch
@@ -0,0 +1,110 @@
+From: Simon McVittie <smcv at debian.org>
+Date: Fri, 24 Feb 2012 08:57:31 +0000
+Subject: Add support for a 9th colour (^8, COLOR_MENU, orange)
+
+Origin: OpenArena 0.8.8
+Forwarded: no
+---
+ code/client/cl_console.c |    8 ++++----
+ code/qcommon/q_math.c    |    5 ++++-
+ code/qcommon/q_shared.h  |   21 +++++++++++++++++++--
+ 3 files changed, 27 insertions(+), 7 deletions(-)
+
+diff --git a/code/client/cl_console.c b/code/client/cl_console.c
+index 3d5ef02..39aba7c 100644
+--- a/code/client/cl_console.c
++++ b/code/client/cl_console.c
+@@ -555,8 +555,8 @@ void Con_DrawNotify (void)
+ 			if ( ( text[x] & 0xff ) == ' ' ) {
+ 				continue;
+ 			}
+-			if ( ( (text[x]>>8)&7 ) != currentColor ) {
+-				currentColor = (text[x]>>8)&7;
++			if ( ( (text[x]>>8) % NUMBER_OF_COLORS ) != currentColor ) {
++				currentColor = (text[x]>>8) % NUMBER_OF_COLORS;
+ 				re.SetColor( g_color_table[currentColor] );
+ 			}
+ 			SCR_DrawSmallChar( cl_conXOffset->integer + con.xadjust + (x+1)*SMALLCHAR_WIDTH, v, text[x] & 0xff );
+@@ -691,8 +691,8 @@ void Con_DrawSolidConsole( float frac ) {
+ 				continue;
+ 			}
+ 
+-			if ( ( (text[x]>>8)&7 ) != currentColor ) {
+-				currentColor = (text[x]>>8)&7;
++			if ( ( (text[x]>>8) % NUMBER_OF_COLORS ) != currentColor ) {
++				currentColor = (text[x]>>8) % NUMBER_OF_COLORS;
+ 				re.SetColor( g_color_table[currentColor] );
+ 			}
+ 			SCR_DrawSmallChar(  con.xadjust + (x+1)*SMALLCHAR_WIDTH, y, text[x] & 0xff );
+diff --git a/code/qcommon/q_math.c b/code/qcommon/q_math.c
+index ce47317..31ef861 100644
+--- a/code/qcommon/q_math.c
++++ b/code/qcommon/q_math.c
+@@ -47,7 +47,7 @@ vec4_t		colorLtGrey	= {0.75, 0.75, 0.75, 1};
+ vec4_t		colorMdGrey	= {0.5, 0.5, 0.5, 1};
+ vec4_t		colorDkGrey	= {0.25, 0.25, 0.25, 1};
+ 
+-vec4_t	g_color_table[8] =
++vec4_t	g_color_table[NUMBER_OF_COLORS] =
+ 	{
+ 	{0.0, 0.0, 0.0, 1.0},
+ 	{1.0, 0.0, 0.0, 1.0},
+@@ -57,6 +57,9 @@ vec4_t	g_color_table[8] =
+ 	{0.0, 1.0, 1.0, 1.0},
+ 	{1.0, 0.0, 1.0, 1.0},
+ 	{1.0, 1.0, 1.0, 1.0},
++#ifdef WITH_OPENARENA
++	{1.0, 0.43, 0.0, 1.0},
++#endif
+ 	};
+ 
+ 
+diff --git a/code/qcommon/q_shared.h b/code/qcommon/q_shared.h
+index fc667c0..58a848d 100644
+--- a/code/qcommon/q_shared.h
++++ b/code/qcommon/q_shared.h
+@@ -387,8 +387,19 @@ extern	vec4_t		colorLtGrey;
+ extern	vec4_t		colorMdGrey;
+ extern	vec4_t		colorDkGrey;
+ 
++#ifdef WITH_OPENARENA
++#define NUMBER_OF_COLORS 9
++#else
++#define NUMBER_OF_COLORS 8
++#endif
++
+ #define Q_COLOR_ESCAPE	'^'
++
++#ifdef WITH_OPENARENA
++#define Q_IsColorString(p)	((p) && *(p) == Q_COLOR_ESCAPE && *((p)+1) && *((p)+1) >= '0' && *((p)+1) <= '8') // ^[0-8]
++#else
+ #define Q_IsColorString(p)	((p) && *(p) == Q_COLOR_ESCAPE && *((p)+1) && isalnum(*((p)+1))) // ^[0-9a-zA-Z]
++#endif
+ 
+ #define COLOR_BLACK	'0'
+ #define COLOR_RED	'1'
+@@ -398,7 +409,10 @@ extern	vec4_t		colorDkGrey;
+ #define COLOR_CYAN	'5'
+ #define COLOR_MAGENTA	'6'
+ #define COLOR_WHITE	'7'
+-#define ColorIndex(c)	(((c) - '0') & 0x07)
++#ifdef WITH_OPENARENA
++#define COLOR_MENU	'8'
++#endif
++#define ColorIndex(c)	(((c) - '0') % NUMBER_OF_COLORS)
+ 
+ #define S_COLOR_BLACK	"^0"
+ #define S_COLOR_RED	"^1"
+@@ -408,8 +422,11 @@ extern	vec4_t		colorDkGrey;
+ #define S_COLOR_CYAN	"^5"
+ #define S_COLOR_MAGENTA	"^6"
+ #define S_COLOR_WHITE	"^7"
++#ifdef WITH_OPENARENA
++#define S_COLOR_MENU	"^8"
++#endif
+ 
+-extern vec4_t	g_color_table[8];
++extern vec4_t	g_color_table[NUMBER_OF_COLORS];
+ 
+ #define	MAKERGB( v, r, g, b ) v[0]=r;v[1]=g;v[2]=b
+ #define	MAKERGBA( v, r, g, b, a ) v[0]=r;v[1]=g;v[2]=b;v[3]=a
diff --git a/debian/patches/0006-Add-sv_dorestart-which-can-be-set-by-game-code-to-re.patch b/debian/patches/0006-Add-sv_dorestart-which-can-be-set-by-game-code-to-re.patch
new file mode 100644
index 0000000..79cd8df
--- /dev/null
+++ b/debian/patches/0006-Add-sv_dorestart-which-can-be-set-by-game-code-to-re.patch
@@ -0,0 +1,75 @@
+From: Simon McVittie <smcv at debian.org>
+Date: Fri, 24 Feb 2012 09:12:10 +0000
+Subject: Add sv_dorestart, which can be set by game code to restart the map
+
+Origin: OpenArena
+Forwarded: no
+---
+ code/server/server.h   |    1 +
+ code/server/sv_ccmds.c |    6 +++++-
+ code/server/sv_init.c  |    1 +
+ code/server/sv_main.c  |    1 +
+ 4 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/code/server/server.h b/code/server/server.h
+index be74916..9a5965a 100644
+--- a/code/server/server.h
++++ b/code/server/server.h
+@@ -287,6 +287,7 @@ extern	cvar_t	*sv_dlRate;
+ extern	cvar_t	*sv_minPing;
+ extern	cvar_t	*sv_maxPing;
+ extern	cvar_t	*sv_gametype;
++extern	cvar_t	*sv_dorestart;
+ extern	cvar_t	*sv_pure;
+ extern	cvar_t	*sv_floodProtect;
+ extern	cvar_t	*sv_lanForceRate;
+diff --git a/code/server/sv_ccmds.c b/code/server/sv_ccmds.c
+index 8ddb94d..5f31593 100644
+--- a/code/server/sv_ccmds.c
++++ b/code/server/sv_ccmds.c
+@@ -173,6 +173,9 @@ static void SV_Map_f( void ) {
+ 	// force latched values to get set
+ 	Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_USERINFO | CVAR_LATCH );
+ 
++	//Notice that we have done a restart
++	sv_dorestart->integer = 0;
++
+ 	cmd = Cmd_Argv(0);
+ 	if( Q_stricmpn( cmd, "sp", 2 ) == 0 ) {
+ 		Cvar_SetValue( "g_gametype", GT_SINGLE_PLAYER );
+@@ -262,9 +265,10 @@ static void SV_MapRestart_f( void ) {
+ 
+ 	// check for changes in variables that can't just be restarted
+ 	// check for maxclients change
+-	if ( sv_maxclients->modified || sv_gametype->modified ) {
++	if ( sv_maxclients->modified || sv_gametype->modified || sv_dorestart->integer ) {
+ 		char	mapname[MAX_QPATH];
+ 
++		sv_dorestart->integer = 0;
+ 		Com_Printf( "variable change -- restarting.\n" );
+ 		// restart the map the slow way
+ 		Q_strncpyz( mapname, Cvar_VariableString( "mapname" ), sizeof( mapname ) );
+diff --git a/code/server/sv_init.c b/code/server/sv_init.c
+index 89f4ceb..3d904bc 100644
+--- a/code/server/sv_init.c
++++ b/code/server/sv_init.c
+@@ -635,6 +635,7 @@ void SV_Init (void)
+ 	Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO);
+ 	Cvar_Get ("timelimit", "0", CVAR_SERVERINFO);
+ 	sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH );
++	sv_dorestart = Cvar_Get ("sv_dorestart", "0", 0);
+ 	Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO);
+ 	sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM);
+ 	sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO);
+diff --git a/code/server/sv_main.c b/code/server/sv_main.c
+index d7b88ed..11add69 100644
+--- a/code/server/sv_main.c
++++ b/code/server/sv_main.c
+@@ -54,6 +54,7 @@ cvar_t	*sv_dlRate;
+ cvar_t	*sv_minPing;
+ cvar_t	*sv_maxPing;
+ cvar_t	*sv_gametype;
++cvar_t	*sv_dorestart;
+ cvar_t	*sv_pure;
+ cvar_t	*sv_floodProtect;
+ cvar_t	*sv_lanForceRate; // dedicated 1 (LAN) server forces local client rates to 99999 (bug #491)
diff --git a/debian/patches/0007-Increase-maximum-number-of-flares-to-256.patch b/debian/patches/0007-Increase-maximum-number-of-flares-to-256.patch
new file mode 100644
index 0000000..8b38bcc
--- /dev/null
+++ b/debian/patches/0007-Increase-maximum-number-of-flares-to-256.patch
@@ -0,0 +1,22 @@
+From: Simon McVittie <smcv at debian.org>
+Date: Fri, 24 Feb 2012 09:24:49 +0000
+Subject: Increase maximum number of flares to 256
+
+Origin: OpenArena
+---
+ code/renderer/tr_flares.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/code/renderer/tr_flares.c b/code/renderer/tr_flares.c
+index 05b1835..ca1438a 100644
+--- a/code/renderer/tr_flares.c
++++ b/code/renderer/tr_flares.c
+@@ -79,7 +79,7 @@ typedef struct flare_s {
+ 	vec3_t		color;
+ } flare_t;
+ 
+-#define		MAX_FLARES		128
++#define		MAX_FLARES		256
+ 
+ flare_t		r_flareStructs[MAX_FLARES];
+ flare_t		*r_activeFlares, *r_inactiveFlares;
diff --git a/debian/patches/0008-Let-servers-set-sv_fps-too.patch b/debian/patches/0008-Let-servers-set-sv_fps-too.patch
new file mode 100644
index 0000000..d8665e3
--- /dev/null
+++ b/debian/patches/0008-Let-servers-set-sv_fps-too.patch
@@ -0,0 +1,24 @@
+From: Simon McVittie <smcv at debian.org>
+Date: Fri, 24 Feb 2012 09:37:31 +0000
+Subject: Let servers set sv_fps, too
+
+---
+ code/client/cl_parse.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/code/client/cl_parse.c b/code/client/cl_parse.c
+index 78f4a92..b029996 100644
+--- a/code/client/cl_parse.c
++++ b/code/client/cl_parse.c
+@@ -417,9 +417,9 @@ void CL_SystemInfoChanged( void ) {
+ 			// If this cvar may not be modified by a server discard the value.
+ 			if(!(cvar_flags & (CVAR_SYSTEMINFO | CVAR_SERVER_CREATED | CVAR_USER_CREATED)))
+ 			{
+-#ifndef STANDALONE
++#if !defined(STANDALONE) || defined(WITH_OPENARENA)
+ 				if(Q_stricmp(key, "g_synchronousClients") && Q_stricmp(key, "pmove_fixed") &&
+-				   Q_stricmp(key, "pmove_msec"))
++				   Q_stricmp(key, "pmove_msec") && Q_stricmp(key, "sv_fps"))
+ #endif
+ 				{
+ 					Com_Printf(S_COLOR_YELLOW "WARNING: server is not allowed to set %s=%s\n", key, value);
diff --git a/debian/patches/0009-FS_GamePureChecksum-remove-never-called.patch b/debian/patches/0009-FS_GamePureChecksum-remove-never-called.patch
new file mode 100644
index 0000000..a11003a
--- /dev/null
+++ b/debian/patches/0009-FS_GamePureChecksum-remove-never-called.patch
@@ -0,0 +1,60 @@
+From: Simon McVittie <smcv at debian.org>
+Date: Fri, 24 Feb 2012 09:43:13 +0000
+Subject: FS_GamePureChecksum: remove, never called
+
+Origin: OpenArena
+---
+ code/qcommon/files.c   |   25 -------------------------
+ code/qcommon/qcommon.h |    3 ---
+ 2 files changed, 0 insertions(+), 28 deletions(-)
+
+diff --git a/code/qcommon/files.c b/code/qcommon/files.c
+index ce525cf..e2db430 100644
+--- a/code/qcommon/files.c
++++ b/code/qcommon/files.c
+@@ -3439,31 +3439,6 @@ static void FS_CheckPak0( void )
+ 
+ /*
+ =====================
+-FS_GamePureChecksum
+-
+-Returns the checksum of the pk3 from which the server loaded the qagame.qvm
+-=====================
+-*/
+-const char *FS_GamePureChecksum( void ) {
+-	static char	info[MAX_STRING_TOKENS];
+-	searchpath_t *search;
+-
+-	info[0] = 0;
+-
+-	for ( search = fs_searchpaths ; search ; search = search->next ) {
+-		// is the element a pak file?
+-		if ( search->pack ) {
+-			if (search->pack->referenced & FS_QAGAME_REF) {
+-				Com_sprintf(info, sizeof(info), "%d", search->pack->checksum);
+-			}
+-		}
+-	}
+-
+-	return info;
+-}
+-
+-/*
+-=====================
+ FS_LoadedPakChecksums
+ 
+ Returns a space separated string containing the checksums of all loaded pk3 files.
+diff --git a/code/qcommon/qcommon.h b/code/qcommon/qcommon.h
+index ee5c714..22e2d63 100644
+--- a/code/qcommon/qcommon.h
++++ b/code/qcommon/qcommon.h
+@@ -700,9 +700,6 @@ int		FS_Seek( fileHandle_t f, long offset, int origin );
+ 
+ qboolean FS_FilenameCompare( const char *s1, const char *s2 );
+ 
+-const char *FS_GamePureChecksum( void );
+-// Returns the checksum of the pk3 from which the server loaded the qagame.qvm
+-
+ const char *FS_LoadedPakNames( void );
+ const char *FS_LoadedPakChecksums( void );
+ const char *FS_LoadedPakPureChecksums( void );
diff --git a/debian/patches/0010-Do-not-reference-a-pak-file-just-because-it-contains.patch b/debian/patches/0010-Do-not-reference-a-pak-file-just-because-it-contains.patch
new file mode 100644
index 0000000..d23b244
--- /dev/null
+++ b/debian/patches/0010-Do-not-reference-a-pak-file-just-because-it-contains.patch
@@ -0,0 +1,34 @@
+From: Simon McVittie <smcv at debian.org>
+Date: Fri, 24 Feb 2012 09:51:25 +0000
+Subject: Do not reference a pak file just because it contains qagame.qvm
+
+This allows for server-side-only code mods. Clients don't need to execute
+qagame.qvm, so it doesn't matter whether they have the same one as the
+server. FS_ReferencedPakPureChecksums only respects flags numerically
+less than FS_QAGAME_REF anyway, so this doesn't change the checksums.
+
+Origin: OpenArena
+---
+ code/qcommon/files.c |    3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+diff --git a/code/qcommon/files.c b/code/qcommon/files.c
+index e2db430..83f1e95 100644
+--- a/code/qcommon/files.c
++++ b/code/qcommon/files.c
+@@ -1222,14 +1222,13 @@ long FS_FOpenFileReadDir(const char *filename, searchpath_t *search, fileHandle_
+ 						   !FS_IsExt(filename, ".bot", len) &&
+ 						   !FS_IsExt(filename, ".arena", len) &&
+ 						   !FS_IsExt(filename, ".menu", len) &&
++						   Q_stricmp(filename, "qagame.qvm") != 0 &&
+ 						   !strstr(filename, "levelshots"))
+ 						{
+ 							pak->referenced |= FS_GENERAL_REF;
+ 						}
+ 					}
+ 
+-					if(strstr(filename, "qagame.qvm"))
+-						pak->referenced |= FS_QAGAME_REF;
+ 					if(strstr(filename, "cgame.qvm"))
+ 						pak->referenced |= FS_CGAME_REF;
+ 					if(strstr(filename, "ui.qvm"))
diff --git a/debian/patches/series b/debian/patches/series
index f16a3a2..a19b62f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,10 @@
-0002-Add-a-special-vmMagic-that-causes-equivalent-native-.patch
-0003-Double-the-maximum-number-of-cvars.patch
-0004-Increase-the-command-buffer-from-16K-to-128K-followi.patch
-0005-Double-the-default-com_hunkMegs-to-128M.patch
+0001-Add-a-special-vmMagic-that-causes-equivalent-native-.patch
+0002-Double-the-maximum-number-of-cvars.patch
+0003-Increase-the-command-buffer-from-16K-to-128K-followi.patch
+0004-Double-the-default-com_hunkMegs-to-128M.patch
+0005-Add-support-for-a-9th-colour-8-COLOR_MENU-orange.patch
+0006-Add-sv_dorestart-which-can-be-set-by-game-code-to-re.patch
+0007-Increase-maximum-number-of-flares-to-256.patch
+0008-Let-servers-set-sv_fps-too.patch
+0009-FS_GamePureChecksum-remove-never-called.patch
+0010-Do-not-reference-a-pak-file-just-because-it-contains.patch

-- 
Quake 3 engine



More information about the Pkg-games-commits mailing list