Package: xqf
Version: 1.0.4-directhex3
Severity: normal
Tags: patch

*** Please type your report below this line ***

Years back, Valve replaced the networking infrastructure in
their games with Steam. In the process, the method for running
different game types changed - previously, one would run

"wine hl.exe -game cstrike" to run CounterStrike.

The new method is:

"wine steam.exe -applaunch 10", where each game has a unique
numeric ID, and the old "-game XXXX" options can no longer
be used.

XQF already includes functionality to handle this kind of
issue, in the "Custom Args" tab. However, Custom Args are
ignored for all games except UT2003, UT2004 and Quake 3.

The attached patch replaces the old hl.exe behaviour with
the new steam.exe behaviour, and adds some default Custom
Args to the appropriate place.

-- System Information:
Debian Release: testing/unstable
 APT prefers testing
 APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-1-amd64-k8
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

Versions of packages xqf depends on:
ii libc6 2.3.5-13 GNU C Library: Shared libraries an ii libgdk-pixbuf2 0.22.0-11 The GdkPixBuf image library, gtk+ ii libgeoip1 1.3.14-2 A non-DNS IP-to-country resolver l
ii  libglib1.2                1.2.10-10.1    The GLib library of C routines
ii libgtk1.2 1.2.10-18 The GIMP Toolkit set of widgets fo ii libx11-6 6.9.0.dfsg.1-4 X Window System protocol client li ii libxext6 6.9.0.dfsg.1-4 X Window System miscellaneous exte ii libxi6 6.9.0.dfsg.1-4 X Window System Input extension li ii qstat 2.10-1 Command-line tool for querying qua
ii  zlib1g                    1:1.2.3-9      compression library - runtime

xqf recommends no packages.

-- no debconf information

--- ../../xqf-1.0.4/src/game.c	2005-10-18 20:26:35.000000000 +0100
+++ game.c	2006-03-02 22:46:49.000000000 +0000
@@ -2507,8 +2507,10 @@
   char *argv[32];
   int argi = 0;
   char *cmd;
+  char** additional_args = NULL;
   struct game *g = &games[con->s->type];
   int retval;
+  int i;
 
   cmd = strdup_strip (g->cmd);
 
@@ -2516,14 +2518,14 @@
   while ((argv[argi] = strtok (NULL, delim)) != NULL)
     argi++;
 
-  if(con->s->type == HL2_SERVER) // XXX
-  {
-    argv[argi++] = "-steam";
-  }
+  // Append additional args if needed
+  i = 0;
+  additional_args = get_custom_arguments(g->type, con->s->game);
 
-  if (con->gamedir) {
-    argv[argi++] = "-game";
-    argv[argi++] = con->gamedir;
+  while(additional_args && additional_args[i] )
+  {
+    argv[argi++] = additional_args[i];
+    i++;
   }
 
   if (con->server) {
--- ../../xqf-1.0.4/src/pref.c	2005-10-17 11:17:58.000000000 +0100
+++ pref.c	2006-03-02 22:55:55.000000000 +0000
@@ -2361,6 +2361,23 @@
       add_custom_args_defaults2("AoCampaignLobbyGame", "-mod=AlienSwarm -log=AlienSwarm.log",UT2004_SERVER, data);
       break;
 
+    case HL2_SERVER:
+      add_custom_args_defaults2("cstrike", "-applaunch 240",HL2_SERVER, data);
+      add_custom_args_defaults2("dod", "-applaunch 300",HL2_SERVER, data);
+      add_custom_args_defaults2("hl2mp", "-applaunch 320",HL2_SERVER, data);
+      break;
+
+    case HL_SERVER:
+      add_custom_args_defaults2("cstrike", "-applaunch 10",HL_SERVER, data);
+      add_custom_args_defaults2("tfc", "-applaunch 20",HL_SERVER, data);
+      add_custom_args_defaults2("dod", "-applaunch 30",HL_SERVER, data);
+      add_custom_args_defaults2("dmc", "-applaunch 40",HL_SERVER, data);
+      add_custom_args_defaults2("op4", "-applaunch 50",HL_SERVER, data);
+      add_custom_args_defaults2("ricochet", "-applaunch 60",HL_SERVER, data);
+      add_custom_args_defaults2("valve", "-applaunch 70",HL_SERVER, data);
+      add_custom_args_defaults2("czero", "-applaunch 80",HL_SERVER, data);
+      break;
+
     default:
       dialog_ok (NULL, _("There are no defaults for this game"));
       break;

Reply via email to