f_setup mods for the DOS port
authorDavid Griffith <dave@661.org>
Tue, 10 Jul 2012 04:10:26 +0000 (21:10 -0700)
committerDavid Griffith <dave@661.org>
Tue, 10 Jul 2012 04:10:26 +0000 (21:10 -0700)
src/dos/bcinit.c
src/dos/bcpic.c
src/dos/bcsample.c

index 72780dd0eebaf8f8126068d3a8ad8fc1a01316d2..59a6f888099de2f8a88b2fdcb9f75c92eb0d81cc 100644 (file)
@@ -57,8 +57,6 @@ extern char command_name[];
 extern char save_name[];\r
 extern char auxilary_name[];\r
 \r
-char stripped_story_name[10];\r
-\r
 int display = -1;\r
 \r
 int user_background = -1;\r
@@ -333,6 +331,7 @@ void os_process_arguments (int argc, char *argv[])
 {\r
     const char *p;\r
     int i;\r
+    char stripped_story_name[10];\r
 \r
     /* Parse command line options */\r
 \r
@@ -346,33 +345,33 @@ void os_process_arguments (int argc, char *argv[])
 \r
     /* Set the story file name */\r
 \r
-    story_name = argv[optind];\r
+    f_setup.story_file = strdup(argv[optind]);\r
 \r
     /* Strip path and extension off the story file name */\r
 \r
-    p = story_name;\r
+    p = strdup(f_setup.story_file);\r
 \r
-    for (i = 0; story_name[i] != 0; i++)\r
-       if (story_name[i] == '\\' || story_name[i] == '/'\r
-           || story_name[i] == ':')\r
-           p = story_name + i + 1;\r
+    for (i = 0; f_setup.story_file[i] != 0; i++)\r
+       if (f_setup.story_file[i] == '\\' || f_setup.story_file[i] == '/'\r
+           || f_setup.story_file[i] == ':')\r
+           p = f_setup.story_file + i + 1;\r
 \r
     for (i = 0; p[i] != 0 && p[i] != '.'; i++)\r
        stripped_story_name[i] = p[i];\r
-\r
     stripped_story_name[i] = 0;\r
+    f_setup.story_name = strdup(stripped_story_name);\r
 \r
     /* Create nice default file names */\r
 \r
-    strcpy (script_name, stripped_story_name);\r
-    strcpy (command_name, stripped_story_name);\r
-    strcpy (save_name, stripped_story_name);\r
-    strcpy (auxilary_name, stripped_story_name);\r
+    f_setup.script_name = strdup(f_setup.story_name);\r
+    f_setup.command_name = strdup(f_setup.story_name);\r
+    f_setup.save_name = strdup(f_setup.story_name);\r
+    f_setup.aux_name = strdup(f_setup.story_name);\r
 \r
-    strcat (script_name, ".scr");\r
-    strcat (command_name, ".rec");\r
-    strcat (save_name, ".sav");\r
-    strcat (auxilary_name, ".aux");\r
+    strcat (f_setup.script_name, ".scr");\r
+    strcat (f_setup.command_name, ".rec");\r
+    strcat (f_setup.save_name, ".sav");\r
+    strcat (f_setup.aux_name, ".aux");\r
 \r
     /* Save the executable file name */\r
 \r
index bd42fc3747f22681cf9cab0646dc4203cd3a91b9..6e3df718832e816a027db3685d9abc5a12cb3f0a 100644 (file)
@@ -78,7 +78,7 @@ static bool open_graphics_file (int number)
 
     /* Why does DOS not like "graphics\\" anymore? */
     strcpy (fname, "graphics/");
-    strcat (fname, stripped_story_name);
+    strcat (fname, f_setup.story_name);
     strcat (fname, extension);
 
     /* Open file, load header, allocate memory, load picture directory */
index 33c41a4a95504c560fe6068c5064dfcbbfff977b..258a972d2883448413698c9544c1c5759826e41a 100644 (file)
@@ -280,7 +280,7 @@ void os_prepare_sample (int number)
        numstr[0] = '0' + number / 10;
        numstr[1] = '0' + number % 10;
 
-       strncat (sample_name, stripped_story_name, 6);
+       strncat (sample_name, f_setup.story_name, 6);
        strncat (sample_name, numstr, 2);
        strncat (sample_name, ".snd", 4);