rnd-20070407-1-src
[rocksndiamonds.git] / src / screens.c
index 5e1a17e3b6014583a1f524c2db862ab6ed64bc44..97b32f42ef5891a96c93fb4c63a2e049e7cbfcae 100644 (file)
@@ -758,9 +758,13 @@ static void InitializeMainControls()
 
   /* set main control text values to dynamically determined values */
   sprintf(main_text_name,         "%s",   local_team_mode ? "Team:" : "Name:");
-  sprintf(main_text_first_level,  "%03d", leveldir_current->first_level);
-  sprintf(main_text_last_level,   "%03d", leveldir_current->last_level);
-  sprintf(main_text_level_number, "%s",   int2str(level_nr, 3));
+
+  strcpy(main_text_first_level,  int2str(leveldir_current->first_level,
+                                        menu.main.text.first_level.size));
+  strcpy(main_text_last_level,   int2str(leveldir_current->last_level,
+                                        menu.main.text.last_level.size));
+  strcpy(main_text_level_number, int2str(level_nr,
+                                        menu.main.text.level_number.size));
 
   main_text_level_year         = leveldir_current->year;
   main_text_level_imported_from        = leveldir_current->imported_from;
@@ -1253,11 +1257,28 @@ void DrawMainMenuExt(int redraw_mask, boolean do_fading)
   title = title_default;
 #endif
 
+#if 0
+  {
+    int graphicA = element_info[EL_EM_DYNAMITE_ACTIVE].special_graphic[GFX_SPECIAL_ARG_EDITOR];
+    int graphicB = element_info[EL_EM_DYNAMITE_ACTIVE].special_graphic[GFX_SPECIAL_ARG_PANEL];
+    int graphic1 = element_info[EL_CONVEYOR_BELT_1_MIDDLE].special_graphic[GFX_SPECIAL_ARG_EDITOR];
+    int graphic2 = element_info[EL_CONVEYOR_BELT_1_MIDDLE_ACTIVE].special_graphic[GFX_SPECIAL_ARG_EDITOR];
+
+    printf("::: %d [%d] -> %d, %d [%d, %d]\n",
+          graphicA, graphicB,
+          graphic_info[graphicA].src_x,
+          graphic_info[graphicA].src_y,
+          graphic1, graphic2);
+  }
+#endif
+
 #if 0
   printf("::: %d, %d\n", fading.anim_mode == ANIM_CROSSFADE,
         redraw_mask == REDRAW_ALL);
 #endif
 
+  FadeSetLeaveScreen();
+
 #if 1
   FadeOut(redraw_mask);
 #endif
@@ -1710,7 +1731,7 @@ void HandleTitleScreen(int mx, int my, int dx, int dy, int button)
       FadeOut(REDRAW_FIELD);
 #endif
 
-      FadeSetStartItem();
+      FadeSetEnterScreen();
 
       info_mode = INFO_MODE_MAIN;
       DrawAndFadeInInfoScreen(REDRAW_FIELD);
@@ -1885,7 +1906,8 @@ void HandleMainMenu_SelectLevel(int step, int direction)
 
 #if 1
     DrawText(mSX + mci->pos_text->x, mSY + mci->pos_text->y,
-            int2str(level_nr, 3), mci->pos_text->font);
+            int2str(level_nr, menu.main.text.level_number.size),
+            mci->pos_text->font);
 #else
     DrawText(mSX + 11 * 32, mSY + 3 * 32, int2str(level_nr, 3), FONT_VALUE_1);
 #endif
@@ -2001,7 +2023,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
 
        game_status = GAME_MODE_EDITOR;
 
-       FadeSetStartItem();
+       FadeSetEnterScreen();
 
        DrawLevelEd();
       }
@@ -2178,7 +2200,7 @@ static int num_info_info;
 static void execInfoTitleScreen()
 {
 #if 0
-  FadeSetStartItem();
+  FadeSetEnterScreen();
 #endif
 
   info_mode = INFO_MODE_TITLE;
@@ -2188,7 +2210,7 @@ static void execInfoTitleScreen()
 static void execInfoElements()
 {
 #if 0
-  FadeSetStartItem();
+  FadeSetEnterScreen();
 #endif
 
   info_mode = INFO_MODE_ELEMENTS;
@@ -2198,7 +2220,7 @@ static void execInfoElements()
 static void execInfoMusic()
 {
 #if 0
-  FadeSetStartItem();
+  FadeSetEnterScreen();
 #endif
 
   info_mode = INFO_MODE_MUSIC;
@@ -2208,7 +2230,7 @@ static void execInfoMusic()
 static void execInfoCredits()
 {
 #if 0
-  FadeSetStartItem();
+  FadeSetEnterScreen();
 #endif
 
   info_mode = INFO_MODE_CREDITS;
@@ -2218,7 +2240,7 @@ static void execInfoCredits()
 static void execInfoProgram()
 {
 #if 0
-  FadeSetStartItem();
+  FadeSetEnterScreen();
 #endif
 
   info_mode = INFO_MODE_PROGRAM;
@@ -2228,7 +2250,7 @@ static void execInfoProgram()
 static void execInfoVersion()
 {
 #if 0
-  FadeSetStartItem();
+  FadeSetEnterScreen();
 #endif
 
   info_mode = INFO_MODE_VERSION;
@@ -2238,7 +2260,7 @@ static void execInfoVersion()
 static void execInfoLevelSet()
 {
 #if 0
-  FadeSetStartItem();
+  FadeSetEnterScreen();
 #endif
 
   info_mode = INFO_MODE_LEVELSET;
@@ -2299,6 +2321,8 @@ static void DrawInfoScreen_Main(int redraw_mask, boolean do_fading)
   /* (needed after displaying title screens which disable auto repeat) */
   KeyboardAutoRepeatOn();
 
+  FadeSetLeaveScreen();
+
 #if 1
   FadeOut(redraw_mask);
 #endif
@@ -4089,7 +4113,7 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button,
       }
       else
       {
-       FadeSetStartItem();
+       FadeSetEnterScreen();
 
        node_cursor->cl_first = ti->cl_first;
        node_cursor->cl_cursor = ti->cl_cursor;
@@ -4159,7 +4183,9 @@ void DrawHallOfFame(int highlight_position)
   if (highlight_position < 0) 
     LoadScore(level_nr);
 
-  FadeSetStartItem();
+  FadeSetEnterScreen();
+
+  // printf("::: %d: %d\n", game_status, menu.enter_screen[game_status]);
 
 #if 1
   FadeOut(REDRAW_FIELD);