The following commit has been merged in the debian-experimental branch:
commit 43d53b63f770df870b3be7db51310a959340801c
Author: Simon McVittie <[email protected]>
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 <[email protected]>  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 <[email protected]>
 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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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

_______________________________________________
Pkg-games-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to