Package: gravitywars
Version: 1.102-31
Severity: normal
Tags: patch

The man page lists a command-line option:

  level-code
     You’ll receive this code after you complete a level, and can use it to
     warp directly to that level when the game starts.

Complete the first level, and at the start of the second level there's a
password in the status bar at the top of the screen.  Put it on the command
line and it's supported to start on the second level

BUG: it's a bad variation of case-sensitive.  In the game, it's displayed in
upper-case, but it will only be accepted on the command-line in lower-case.


While I think it would be better to replace this entirely with in-game
options (such as saving the players progress, and in-game choice of starting
level from those already reached), the attached patch will at least make
upper-case work.

(Patch applies on top of the joystick patch; I'm about to suggest that that
code should be cleaned up.)

Steve


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.29.1 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages gravitywars depends on:
ii  libc6                        2.9-6       GNU C Library: Shared libraries
ii  libsdl1.2debian              1.2.13-4+b1 Simple DirectMedia Layer

gravitywars recommends no packages.

gravitywars suggests no packages.

-- no debconf information
Index: gravitywars-1.102/GravityWars101.c
===================================================================
--- gravitywars-1.102.orig/GravityWars101.c	2009-04-07 01:49:19.000000000 +0100
+++ gravitywars-1.102/GravityWars101.c	2009-04-07 01:49:28.000000000 +0100
@@ -174,9 +174,9 @@
     do {
       n++;
 #if defined (USE_SDL) && (USE_JOYSTICK)
-    } while ( (strncmp(arg[optind],codes[n],6)) && (n<99));
+    } while ( (strncasecmp(arg[optind],codes[n],6)) && (n<99));
 #else
-    } while ( (strncmp(arg[1],codes[n],6)) && (n<99));
+    } while ( (strncasecmp(arg[1],codes[n],6)) && (n<99));
 #endif
 
     if (n!=99) {

Reply via email to