replaced some info screen positions with already defined symbolic names
[rocksndiamonds.git] / src / screens.c
index 680b2e62170e727c80e515b5bf1cb35925df6187..f5b450e48f75aa73b1d19da9e6968208b0f2ee15 100644 (file)
@@ -1000,8 +1000,6 @@ 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;
 
@@ -1020,21 +1018,9 @@ 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);
+  main_text_title_1 = getConfigProgramTitleString();
+  main_text_title_2 = getConfigProgramCopyrightString();
+  main_text_title_3 = getConfigProgramCompanyString();
 
   /* set main control screen positions to dynamically determined values */
   for (i = 0; main_controls[i].nr != -1; i++)
@@ -1344,9 +1330,8 @@ static void drawChooseTreeCursor(int ypos, boolean active)
 
 void DrawHeadline()
 {
-  DrawTextSCentered(MENU_TITLE1_YPOS, FONT_TITLE_1, getProgramTitleString());
-  DrawTextSCentered(MENU_TITLE2_YPOS, FONT_TITLE_2,
-                   setup.internal.program_copyright);
+  DrawTextSCentered(MENU_TITLE1_YPOS, FONT_TITLE_1, main_text_title_1);
+  DrawTextSCentered(MENU_TITLE2_YPOS, FONT_TITLE_2, main_text_title_2);
 }
 
 void DrawTitleScreenImage(int nr, boolean initial)
@@ -2615,9 +2600,9 @@ void DrawInfoScreen_NotAvailable(char *text_title, char *text_error)
   int font_foot  = MENU_INFO_FONT_FOOT;
   int spacing_title = menu.headline1_spacing_info[info_mode];
   int ystep_title = getMenuTextStep(spacing_title, font_title);
-  int ystart1 = mSY - SY + 100;
+  int ystart1 = mSY - SY + MENU_SCREEN_INFO_YSTART1;
   int ystart2 = ystart1 + ystep_title;
-  int ybottom = mSY - SY + SYSIZE - 20;
+  int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM;
 
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO);
 
@@ -2771,7 +2756,7 @@ void DrawInfoScreen_HelpText(int element, int action, int direction, int ypos)
   int font_width = getFontWidth(font_nr);
   int font_height = getFontHeight(font_nr);
   int yoffset = (TILEX - 2 * font_height) / 2;
-  int xstart = mSX + MINI_TILEX + TILEX + MINI_TILEX;
+  int xstart = mSX + MENU_SCREEN_INFO_XSTART + TILEX + MINI_TILEX;
   int ystart = mSY + MENU_SCREEN_INFO_YSTART2 + yoffset;
   int ystep = TILEY + 4;
   int pad_x = xstart - SX;
@@ -2934,8 +2919,8 @@ void HandleInfoScreen_Music(int button)
   int spacing_head  = menu.headline2_spacing_info[info_mode];
   int ystep_title = getMenuTextStep(spacing_title, font_title);
   int ystep_head  = getMenuTextStep(spacing_head,  font_head);
-  int ystart = mSY - SY + 100;
-  int ybottom = mSY - SY + SYSIZE - 20;
+  int ystart  = mSY - SY + MENU_SCREEN_INFO_YSTART1;
+  int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM;
 
   if (button == MB_MENU_INITIALIZE)
   {
@@ -3096,8 +3081,8 @@ static void DrawInfoScreen_CreditsScreen(int screen_nr)
   int ystep_head  = getMenuTextStep(spacing_head,  font_head);
   int ystep_para  = getMenuTextStep(spacing_para,  font_text);
   int ystep_line  = getMenuTextStep(spacing_line,  font_text);
-  int ystart = mSY - SY + 100;
-  int ybottom = mSY - SY + SYSIZE - 20;
+  int ystart  = mSY - SY + MENU_SCREEN_INFO_YSTART1;
+  int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM;
 
   ClearField();
   DrawHeadline();
@@ -3397,8 +3382,8 @@ void DrawInfoScreen_Program()
   int ystep_head  = getMenuTextStep(spacing_head,  font_head);
   int ystep_para  = getMenuTextStep(spacing_para,  font_text);
   int ystep_line  = getMenuTextStep(spacing_line,  font_text);
-  int ystart = mSY - SY + 100;
-  int ybottom = mSY - SY + SYSIZE - 20;
+  int ystart  = mSY - SY + MENU_SCREEN_INFO_YSTART1;
+  int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM;
 
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_PROGRAM);
 
@@ -3483,8 +3468,8 @@ void DrawInfoScreen_Version()
   int ystep_head  = getMenuTextStep(spacing_head,  font_head);
   int ystep_para  = getMenuTextStep(spacing_para,  font_text);
   int ystep_line  = getMenuTextStep(spacing_line,  font_text);
-  int ystart  = mSY - SY + 100;
-  int ybottom = mSY - SY + SYSIZE - 20;
+  int ystart  = mSY - SY + MENU_SCREEN_INFO_YSTART1;
+  int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM;
   int xstart1 = mSX - SX + 2 * xstep;
   int xstart2 = mSX - SX + 18 * xstep;
   int xstart3 = mSX - SX + 28 * xstep;
@@ -3670,8 +3655,8 @@ void DrawInfoScreen_LevelSet()
   struct TitleMessageInfo *tmi = &readme;
   char *filename = getLevelSetInfoFilename();
   char *title = "Level Set Information:";
-  int ystart = mSY - SY + 100;
-  int ybottom = mSY - SY + SYSIZE - 20;
+  int ystart  = mSY - SY + MENU_SCREEN_INFO_YSTART1;
+  int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM;
 
   if (filename == NULL)
   {
@@ -3703,7 +3688,7 @@ void DrawInfoScreen_LevelSet()
 
   /* if height set to "-1", automatically determine by playfield height */
   if (tmi->height == -1)
-    tmi->height = SYSIZE - 20 - tmi->y - 10;
+    tmi->height = MENU_SCREEN_INFO_YBOTTOM - tmi->y - 10;
 
   /* if chars set to "-1", automatically determine by text and font width */
   if (tmi->chars == -1)
@@ -7106,6 +7091,9 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button)
 
 void HandleGameActions()
 {
+  if (game.restart_game_message != NULL)
+    RequestRestartGame(game.restart_game_message);
+
   if (game_status != GAME_MODE_PLAYING)
     return;