[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#582398: Sopwith starting level



Package: sopwith
Version: 1.7.1

When starting a game of sopwith, there isn't any option to jump to a
higher level of difficulty when playing against the AI. The attached
patch adds the ability to specify a higher level of difficulty from the
command line. For example, applying this patch allows the user to run

sopwith -g2

to begin at difficulty 2. By default, the game begins at level 0 (zero).

This patch also modifies the help screen to let the user know the option
is available.

--- sopwith-1.7.1/src/swinit.c	2003-06-08 15:20:30.000000000 -0300
+++ sopwith-1.7.2/src/swinit.c	2010-05-19 20:15:57.000000000 -0300
@@ -53,6 +53,7 @@
 
 static int savescore;		/* save players score on restart  */
 static BOOL ghost;		/* ghost display flag             */
+static starting_level = 0;
 
 static char helptxt[] =
 "\n"
@@ -67,6 +68,7 @@
 "        -c :  single player against computer\n"
 "        -x :  enable missiles\n"
 "        -q :  begin game with sound off\n"
+"        -g#:  start at level #\n"
 "\n"
 "Video:\n"
 "        -f :  fullscreen\n"
@@ -1034,7 +1036,8 @@
 		++gamenum;
 		savescore = ob->ob_score;
 	} else {
-		gamenum = 0;
+		// gamenum = 0;
+                gamenum = starting_level;
 		savescore = 0;
 
 		// sh 28/10/2001: go back to the title screen
@@ -1108,6 +1111,11 @@
 			c = 1;
 		else if (!strcasecmp(argv[i], "-f"))
 			vid_fullscreen = 1;
+                else if (!strncasecmp(argv[i], "-g", 2))
+                {
+                    sscanf(& (argv[i][2]), "%d", &starting_level);
+                    gamenum = starting_level;
+                }
 		else if (!strcasecmp(argv[i], "-2"))
 			vid_double_size = 1;
 		else if (!strcasecmp(argv[i], "-q"))

Reply to: