rnd-20100616-1-src
[rocksndiamonds.git] / src / files.c
index a1017dd2d04c59ed2da1764235c90462c095815f..8f018be001fcf4a7cd6b9bf5190e63874b505449 100644 (file)
@@ -6551,7 +6551,7 @@ static void LoadLevelFromFileInfo_SB(struct LevelInfo *level,
   boolean load_xsb_to_ces = check_special_flags("load_xsb_to_ces");
   int file_level_nr = 0;
   int line_nr = 0;
-  int x, y;
+  int x = 0, y = 0;            /* initialized to make compilers happy */
 
 #if 0
   printf("::: looking for level number %d [%d]\n",
@@ -9060,15 +9060,20 @@ void SaveScore(int nr)
 #define SETUP_TOKEN_SHORTCUT_FOCUS_PLAYER_4    6
 #define SETUP_TOKEN_SHORTCUT_FOCUS_PLAYER_ALL  7
 #define SETUP_TOKEN_SHORTCUT_TAPE_EJECT                8
-#define SETUP_TOKEN_SHORTCUT_TAPE_STOP         9
-#define SETUP_TOKEN_SHORTCUT_TAPE_PAUSE                10
-#define SETUP_TOKEN_SHORTCUT_TAPE_RECORD       11
-#define SETUP_TOKEN_SHORTCUT_TAPE_PLAY         12
-#define SETUP_TOKEN_SHORTCUT_SOUND_SIMPLE      13
-#define SETUP_TOKEN_SHORTCUT_SOUND_LOOPS       14
-#define SETUP_TOKEN_SHORTCUT_SOUND_MUSIC       15
-
-#define NUM_SHORTCUT_SETUP_TOKENS              16
+#define SETUP_TOKEN_SHORTCUT_TAPE_EXTRA                9
+#define SETUP_TOKEN_SHORTCUT_TAPE_STOP         10
+#define SETUP_TOKEN_SHORTCUT_TAPE_PAUSE                11
+#define SETUP_TOKEN_SHORTCUT_TAPE_RECORD       12
+#define SETUP_TOKEN_SHORTCUT_TAPE_PLAY         13
+#define SETUP_TOKEN_SHORTCUT_SOUND_SIMPLE      14
+#define SETUP_TOKEN_SHORTCUT_SOUND_LOOPS       15
+#define SETUP_TOKEN_SHORTCUT_SOUND_MUSIC       16
+#define SETUP_TOKEN_SHORTCUT_SNAP_LEFT         17
+#define SETUP_TOKEN_SHORTCUT_SNAP_RIGHT                18
+#define SETUP_TOKEN_SHORTCUT_SNAP_UP           19
+#define SETUP_TOKEN_SHORTCUT_SNAP_DOWN         20
+
+#define NUM_SHORTCUT_SETUP_TOKENS              21
 
 /* player setup */
 #define SETUP_TOKEN_PLAYER_USE_JOYSTICK                0
@@ -9214,6 +9219,7 @@ static struct TokenInfo shortcut_setup_tokens[] =
   { TYPE_KEY_X11, &ssi.focus_player[3],        "shortcut.focus_player_4"       },
   { TYPE_KEY_X11, &ssi.focus_player_all,"shortcut.focus_player_all"    },
   { TYPE_KEY_X11, &ssi.tape_eject,     "shortcut.tape_eject"           },
+  { TYPE_KEY_X11, &ssi.tape_extra,     "shortcut.tape_extra"           },
   { TYPE_KEY_X11, &ssi.tape_stop,      "shortcut.tape_stop"            },
   { TYPE_KEY_X11, &ssi.tape_pause,     "shortcut.tape_pause"           },
   { TYPE_KEY_X11, &ssi.tape_record,    "shortcut.tape_record"          },
@@ -9221,6 +9227,10 @@ static struct TokenInfo shortcut_setup_tokens[] =
   { TYPE_KEY_X11, &ssi.sound_simple,   "shortcut.sound_simple"         },
   { TYPE_KEY_X11, &ssi.sound_loops,    "shortcut.sound_loops"          },
   { TYPE_KEY_X11, &ssi.sound_music,    "shortcut.sound_music"          },
+  { TYPE_KEY_X11, &ssi.snap_left,      "shortcut.snap_left"            },
+  { TYPE_KEY_X11, &ssi.snap_right,     "shortcut.snap_right"           },
+  { TYPE_KEY_X11, &ssi.snap_up,                "shortcut.snap_up"              },
+  { TYPE_KEY_X11, &ssi.snap_down,      "shortcut.snap_down"            },
 };
 
 static struct TokenInfo player_setup_tokens[] =
@@ -9338,6 +9348,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->shortcut.focus_player_all        = DEFAULT_KEY_FOCUS_PLAYER_ALL;
 
   si->shortcut.tape_eject      = DEFAULT_KEY_TAPE_EJECT;
+  si->shortcut.tape_extra      = DEFAULT_KEY_TAPE_EXTRA;
   si->shortcut.tape_stop       = DEFAULT_KEY_TAPE_STOP;
   si->shortcut.tape_pause      = DEFAULT_KEY_TAPE_PAUSE;
   si->shortcut.tape_record     = DEFAULT_KEY_TAPE_RECORD;
@@ -9347,6 +9358,11 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->shortcut.sound_loops     = DEFAULT_KEY_SOUND_LOOPS;
   si->shortcut.sound_music     = DEFAULT_KEY_SOUND_MUSIC;
 
+  si->shortcut.snap_left       = DEFAULT_KEY_SNAP_LEFT;
+  si->shortcut.snap_right      = DEFAULT_KEY_SNAP_RIGHT;
+  si->shortcut.snap_up         = DEFAULT_KEY_SNAP_UP;
+  si->shortcut.snap_down       = DEFAULT_KEY_SNAP_DOWN;
+
   for (i = 0; i < MAX_PLAYERS; i++)
   {
     si->input[i].use_joystick = FALSE;
@@ -9374,6 +9390,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->options.verbose = FALSE;
 
 #if defined(CREATE_SPECIAL_EDITION_RND_JUE)
+  si->toons = FALSE;
   si->handicap = FALSE;
   si->fullscreen = TRUE;
   si->override_level_graphics = AUTO;
@@ -9814,7 +9831,8 @@ static void InitMenuDesignSettings_SpecialPreProcessing()
   {
     viewport.playfield[i] = viewport.playfield[GFX_SPECIAL_ARG_DEFAULT];
     viewport.door_1[i] = viewport.door_1[GFX_SPECIAL_ARG_DEFAULT];
-    viewport.door_2[i] = viewport.door_2[GFX_SPECIAL_ARG_DEFAULT];
+    if (i != GFX_SPECIAL_ARG_EDITOR)   /* editor value already initialized */
+      viewport.door_2[i] = viewport.door_2[GFX_SPECIAL_ARG_DEFAULT];
   }
 }
 
@@ -10333,6 +10351,10 @@ void LoadMusicInfo()
     if (!music_info_listed(music_file_info, music->filename))
     {
       *new = get_music_file_info(music->filename, i);
+#if 0
+      if (*new != NULL)
+       printf(":1: adding '%s' ['%s'] ...\n", (*new)->title, music->filename);
+#endif
       if (*new != NULL)
        new = &(*new)->next;
     }
@@ -10378,6 +10400,10 @@ void LoadMusicInfo()
     if (!music_info_listed(music_file_info, basename))
     {
       *new = get_music_file_info(basename, MAP_NOCONF_MUSIC(num_music_noconf));
+#if 0
+      if (*new != NULL)
+       printf(":2: adding '%s' ['%s'] ...\n", (*new)->title, basename);
+#endif
       if (*new != NULL)
        new = &(*new)->next;
     }