[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