added tile selection cursor for playing MM levels with keyboard or joystick
[rocksndiamonds.git] / src / screens.c
index 58a2ecba14946dcfb4b470592fb5177e42dfbd67..680b2e62170e727c80e515b5bf1cb35925df6187 100644 (file)
@@ -303,7 +303,7 @@ static struct
   char *text;
 } scaling_types_list[] =
 {
-  {    SCALING_QUALITY_NEAREST, "None"         },
+  {    SCALING_QUALITY_NEAREST, "Off"          },
   {    SCALING_QUALITY_LINEAR,  "Linear"       },
   {    SCALING_QUALITY_BEST,    "Anisotropic"  },
 
@@ -421,6 +421,7 @@ static struct
   char *text;
 } touch_controls_list[] =
 {
+  {    TOUCH_CONTROL_OFF,              "Off"                   },
   {    TOUCH_CONTROL_VIRTUAL_BUTTONS,  "Virtual Buttons"       },
   {    TOUCH_CONTROL_WIPE_GESTURES,    "Wipe Gestures"         },
   {    TOUCH_CONTROL_FOLLOW_FINGER,    "Follow Finger"         },
@@ -581,6 +582,9 @@ static char *main_text_level_year           = NULL;
 static char *main_text_level_imported_from     = NULL;
 static char *main_text_level_imported_by       = NULL;
 static char *main_text_level_tested_by         = NULL;
+static char *main_text_title_1                 = NULL;
+static char *main_text_title_2                 = NULL;
+static char *main_text_title_3                 = NULL;
 
 struct MainControlInfo
 {
@@ -730,19 +734,19 @@ static struct MainControlInfo main_controls[] =
   {
     MAIN_CONTROL_TITLE_1,
     NULL,                              -1,
-    &menu.main.text.title_1,           &setup.internal.program_title,
+    &menu.main.text.title_1,           &main_text_title_1,
     NULL,                              NULL,
   },
   {
     MAIN_CONTROL_TITLE_2,
     NULL,                              -1,
-    &menu.main.text.title_2,           &setup.internal.program_copyright,
+    &menu.main.text.title_2,           &main_text_title_2,
     NULL,                              NULL,
   },
   {
     MAIN_CONTROL_TITLE_3,
     NULL,                              -1,
-    &menu.main.text.title_3,           &setup.internal.program_company,
+    &menu.main.text.title_3,           &main_text_title_3,
     NULL,                              NULL,
   },
 
@@ -996,6 +1000,8 @@ static boolean visibleTextPos(struct TextPosInfo *pos)
 
 static void InitializeMainControls()
 {
+  TreeInfo *graphics_current =
+    getArtworkTreeInfoForUserLevelSet(ARTWORK_TYPE_GRAPHICS);
   boolean local_team_mode = (!options.network && setup.team_mode);
   int i;
 
@@ -1014,6 +1020,22 @@ static void InitializeMainControls()
   main_text_level_imported_by  = leveldir_current->imported_by;
   main_text_level_tested_by    = leveldir_current->tested_by;
 
+  main_text_title_1 = (leveldir_current->program_title ?
+                      leveldir_current->program_title :
+                      graphics_current->program_title ?
+                      graphics_current->program_title :
+                      setup.internal.program_title);
+  main_text_title_2 = (leveldir_current->program_copyright ?
+                      leveldir_current->program_copyright :
+                      graphics_current->program_copyright ?
+                      graphics_current->program_copyright :
+                      setup.internal.program_copyright);
+  main_text_title_3 = (leveldir_current->program_company ?
+                      leveldir_current->program_company :
+                      graphics_current->program_company ?
+                      graphics_current->program_company :
+                      setup.internal.program_company);
+
   /* set main control screen positions to dynamically determined values */
   for (i = 0; main_controls[i].nr != -1; i++)
   {