fixed compiler warnings (after adding "-Wmissing-prototypes")
[rocksndiamonds.git] / src / screens.c
index 3ffcb48493dcb0b11ae1bd0b2196b08d2b2fc8c2..339681299899fea6e6c3b028ff4011fa75a478ab 100644 (file)
@@ -221,7 +221,7 @@ static void HandleSetupScreen_Generic(int, int, int, int, int);
 static void HandleSetupScreen_Input(int, int, int, int, int);
 static void CustomizeKeyboard(int);
 static void ConfigureJoystick(int);
-static void ConfigureVirtualButtons();
+static void ConfigureVirtualButtons(void);
 static void execSetupGame(void);
 static void execSetupGraphics(void);
 static void execSetupSound(void);
@@ -1085,7 +1085,7 @@ static boolean visibleTextPos(struct TextPosInfo *pos)
   return (pos != NULL && pos->x != -1 && pos->y != -1);
 }
 
-static void InitializeMainControls()
+static void InitializeMainControls(void)
 {
   boolean local_team_mode = (!network.enabled && setup.team_mode);
   int i;
@@ -1361,7 +1361,7 @@ static void AdjustChooseTreeScrollbar(int id, int first_entry, TreeInfo *ti)
                  first_entry);
 }
 
-static void clearMenuListArea()
+static void clearMenuListArea(void)
 {
   int scrollbar_xpos = mSX + SC_SCROLLBAR_XPOS + menu.scrollbar_xoffset;
 
@@ -1415,13 +1415,13 @@ static void drawChooseTreeCursor(int ypos, boolean active)
   drawCursorExt(0, ypos, active, -1);
 }
 
-void DrawHeadline()
+static void DrawHeadline(void)
 {
   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)
+static void DrawTitleScreenImage(int nr, boolean initial)
 {
   int graphic = getTitleScreenGraphic(nr, initial);
   Bitmap *bitmap = graphic_info[graphic].bitmap;
@@ -1465,7 +1465,7 @@ void DrawTitleScreenImage(int nr, boolean initial)
   redraw_mask = REDRAW_ALL;
 }
 
-void DrawTitleScreenMessage(int nr, boolean initial)
+static void DrawTitleScreenMessage(int nr, boolean initial)
 {
   char *filename = getLevelSetTitleMessageFilename(nr, initial);
   struct TitleMessageInfo *tmi = getTitleMessageInfo(nr, initial);
@@ -1516,14 +1516,14 @@ void DrawTitleScreenMessage(int nr, boolean initial)
   ResetFontStatus();
 }
 
-void DrawTitleScreen()
+static void DrawTitleScreen(void)
 {
   KeyboardAutoRepeatOff();
 
   HandleTitleScreen(0, 0, 0, 0, MB_MENU_INITIALIZE);
 }
 
-boolean CheckTitleScreen(boolean levelset_has_changed)
+static boolean CheckTitleScreen(boolean levelset_has_changed)
 {
   static boolean show_title_initial = TRUE;
   boolean show_titlescreen = FALSE;
@@ -1540,7 +1540,7 @@ boolean CheckTitleScreen(boolean levelset_has_changed)
   return (show_titlescreen && num_title_screens > 0);
 }
 
-void DrawMainMenu()
+void DrawMainMenu(void)
 {
   static LevelDirTree *leveldir_last_valid = NULL;
   boolean levelset_has_changed = FALSE;
@@ -1642,6 +1642,7 @@ void DrawMainMenu()
 
   DrawCursorAndText_Main(-1, FALSE, FALSE);
   DrawPreviewLevelInitial();
+  DrawNetworkPlayers();
 
   HandleMainMenu(0, 0, 0, 0, MB_MENU_INITIALIZE);
 
@@ -1685,7 +1686,7 @@ void DrawMainMenu()
   OpenDoor(DOOR_CLOSE_1 | DOOR_OPEN_2);
 }
 
-static void gotoTopLevelDir()
+static void gotoTopLevelDir(void)
 {
   /* move upwards until inside (but not above) top level directory */
   while (leveldir_current->node_parent &&
@@ -1886,7 +1887,8 @@ void HandleTitleScreen(int mx, int my, int dx, int dy, int button)
   }
 }
 
-void HandleMainMenu_SelectLevel(int step, int direction, int selected_level_nr)
+static void HandleMainMenu_SelectLevel(int step, int direction,
+                                      int selected_level_nr)
 {
   int old_level_nr = level_nr;
   int new_level_nr;
@@ -2136,56 +2138,56 @@ static struct TokenInfo *info_info;
 static int num_info_info;      /* number of info entries shown on screen */
 static int max_info_info;      /* total number of info entries in list */
 
-static void execInfoTitleScreen()
+static void execInfoTitleScreen(void)
 {
   info_mode = INFO_MODE_TITLE;
 
   DrawInfoScreen();
 }
 
-static void execInfoElements()
+static void execInfoElements(void)
 {
   info_mode = INFO_MODE_ELEMENTS;
 
   DrawInfoScreen();
 }
 
-static void execInfoMusic()
+static void execInfoMusic(void)
 {
   info_mode = INFO_MODE_MUSIC;
 
   DrawInfoScreen();
 }
 
-static void execInfoCredits()
+static void execInfoCredits(void)
 {
   info_mode = INFO_MODE_CREDITS;
 
   DrawInfoScreen();
 }
 
-static void execInfoProgram()
+static void execInfoProgram(void)
 {
   info_mode = INFO_MODE_PROGRAM;
 
   DrawInfoScreen();
 }
 
-static void execInfoVersion()
+static void execInfoVersion(void)
 {
   info_mode = INFO_MODE_VERSION;
 
   DrawInfoScreen();
 }
 
-static void execInfoLevelSet()
+static void execInfoLevelSet(void)
 {
   info_mode = INFO_MODE_LEVELSET;
 
   DrawInfoScreen();
 }
 
-static void execExitInfo()
+static void execExitInfo(void)
 {
   SetGameStatus(GAME_MODE_MAIN);
 
@@ -2306,7 +2308,7 @@ static void drawMenuInfoList(int first_entry, int num_page_entries,
   }
 }
 
-static void DrawInfoScreen_Main()
+static void DrawInfoScreen_Main(void)
 {
   int fade_mask = REDRAW_FIELD;
   int i;
@@ -2366,8 +2368,9 @@ static void DrawInfoScreen_Main()
 
 static void changeSetupValue(int, int, int);
 
-void HandleMenuScreen(int mx, int my, int dx, int dy, int button,
-                     int mode, int num_page_entries, int max_page_entries)
+static void HandleMenuScreen(int mx, int my, int dx, int dy, int button,
+                            int mode, int num_page_entries,
+                            int max_page_entries)
 {
   static int num_page_entries_all_last[NUM_SPECIAL_GFX_ARGS][MAX_MENU_MODES];
   static int choice_stores[NUM_SPECIAL_GFX_ARGS][MAX_MENU_MODES];
@@ -2884,7 +2887,7 @@ void DrawInfoScreen_HelpText(int element, int action, int direction, int ypos)
                 TRUE, FALSE, FALSE);
 }
 
-void DrawInfoScreen_TitleScreen()
+static void DrawInfoScreen_TitleScreen(void)
 {
   SetGameStatus(GAME_MODE_TITLE);
 
@@ -2896,7 +2899,7 @@ void HandleInfoScreen_TitleScreen(int button)
   HandleTitleScreen(0, 0, 0, 0, button);
 }
 
-void DrawInfoScreen_Elements()
+static void DrawInfoScreen_Elements(void)
 {
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_ELEMENTS);
 
@@ -2989,7 +2992,7 @@ void HandleInfoScreen_Elements(int button)
   }
 }
 
-void DrawInfoScreen_Music()
+static void DrawInfoScreen_Music(void)
 {
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_MUSIC);
 
@@ -3095,7 +3098,12 @@ void HandleInfoScreen_Music(int button)
     }
     else
     {
-      PlayMusic(list->music);
+      int music = list->music;
+
+      if (music_info[music].loop)
+       PlayMusicLoop(music);
+      else
+       PlayMusic(music);
 
       DrawTextSCentered(ystart, font_title, "The Game Background Music:");
     }
@@ -3395,7 +3403,7 @@ static void DrawInfoScreen_CreditsScreen(int screen_nr)
                    "Press any key or button for next page");
 }
 
-void DrawInfoScreen_Credits()
+static void DrawInfoScreen_Credits(void)
 {
   SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_CREDITS);
 
@@ -3465,7 +3473,7 @@ void HandleInfoScreen_Credits(int button)
   }
 }
 
-void DrawInfoScreen_Program()
+static void DrawInfoScreen_Program(void)
 {
   int font_title = MENU_INFO_FONT_TITLE;
   int font_head  = MENU_INFO_FONT_HEAD;
@@ -3550,7 +3558,7 @@ void HandleInfoScreen_Program(int button)
   }
 }
 
-void DrawInfoScreen_Version()
+static void DrawInfoScreen_Version(void)
 {
   int font_title = MENU_INFO_FONT_TITLE;
   int font_head  = MENU_INFO_FONT_HEAD;
@@ -3747,7 +3755,7 @@ void HandleInfoScreen_Version(int button)
   }
 }
 
-void DrawInfoScreen_LevelSet()
+static void DrawInfoScreen_LevelSet(void)
 {
   struct TitleMessageInfo *tmi = &readme;
   char *filename = getLevelSetInfoFilename();
@@ -3809,7 +3817,7 @@ void DrawInfoScreen_LevelSet()
   FadeIn(REDRAW_FIELD);
 }
 
-void HandleInfoScreen_LevelSet(int button)
+static void HandleInfoScreen_LevelSet(int button)
 {
   if (button == MB_MENU_LEAVE)
   {
@@ -3835,7 +3843,7 @@ void HandleInfoScreen_LevelSet(int button)
   }
 }
 
-static void DrawInfoScreen()
+static void DrawInfoScreen(void)
 {
   if (info_mode == INFO_MODE_TITLE)
     DrawInfoScreen_TitleScreen();
@@ -4424,7 +4432,7 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button,
   }
 }
 
-void DrawChooseLevelSet()
+void DrawChooseLevelSet(void)
 {
   FadeMenuSoundsAndMusic();
 
@@ -4438,7 +4446,7 @@ void HandleChooseLevelSet(int mx, int my, int dx, int dy, int button)
   HandleChooseTree(mx, my, dx, dy, button, &leveldir_current);
 }
 
-void DrawChooseLevelNr()
+void DrawChooseLevelNr(void)
 {
   int i;
 
@@ -4531,14 +4539,15 @@ void DrawHallOfFame(int level_nr, int highlight_position)
 
   OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
 
-  HandleHallOfFame(highlight_position, 0, 0, 0, MB_MENU_INITIALIZE);
+  HandleHallOfFame(level_nr, highlight_position, 0, 0, MB_MENU_INITIALIZE);
 
   DrawMaskedBorder(fade_mask);
 
   FadeIn(fade_mask);
 }
 
-static void drawHallOfFameList(int first_entry, int highlight_position)
+static void drawHallOfFameList(int level_nr, int first_entry,
+                              int highlight_position)
 {
   int i, j;
 
@@ -4581,15 +4590,18 @@ static void drawHallOfFameList(int first_entry, int highlight_position)
 
 void HandleHallOfFame(int mx, int my, int dx, int dy, int button)
 {
+  static int level_nr = 0;
   static int first_entry = 0;
   static int highlight_position = 0;
   int step = (button == 1 ? 1 : button == 2 ? 5 : 10);
 
   if (button == MB_MENU_INITIALIZE)
   {
+    level_nr = mx;
     first_entry = 0;
-    highlight_position = mx;
-    drawHallOfFameList(first_entry, highlight_position);
+    highlight_position = my;
+
+    drawHallOfFameList(level_nr, first_entry, highlight_position);
 
     return;
   }
@@ -4605,7 +4617,7 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button)
       if (first_entry < 0)
        first_entry = 0;
 
-      drawHallOfFameList(first_entry, highlight_position);
+      drawHallOfFameList(level_nr, first_entry, highlight_position);
     }
   }
   else if (dy > 0)
@@ -4616,7 +4628,7 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button)
       if (first_entry + NUM_MENU_ENTRIES_ON_SCREEN > MAX_SCORE_ENTRIES)
        first_entry = MAX(0, MAX_SCORE_ENTRIES - NUM_MENU_ENTRIES_ON_SCREEN);
 
-      drawHallOfFameList(first_entry, highlight_position);
+      drawHallOfFameList(level_nr, first_entry, highlight_position);
     }
   }
   else if (button == MB_MENU_LEAVE || button == MB_MENU_CHOICE)
@@ -4625,16 +4637,17 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button)
 
     FadeSound(SND_BACKGROUND_SCORES);
 
-    if (game_status_last_screen != GAME_MODE_PLAYING ||
-       !setup.auto_play_next_level || !setup.increment_levels)
+    if (game_status_last_screen == GAME_MODE_PLAYING &&
+       setup.auto_play_next_level && setup.increment_levels &&
+       !network_playing)
     {
-      SetGameStatus(GAME_MODE_MAIN);
-
-      DrawMainMenu();
+      StartGameActions(network.enabled, setup.autorecord, level.random_seed);
     }
     else
     {
-      StartGameActions(network.enabled, setup.autorecord, level.random_seed);
+      SetGameStatus(GAME_MODE_MAIN);
+
+      DrawMainMenu();
     }
   }
 
@@ -4669,14 +4682,14 @@ static char *drop_distance_text;
 static char *transparency_text;
 static char *grid_size_text[2][2];
 
-static void execSetupMain()
+static void execSetupMain(void)
 {
   setup_mode = SETUP_MODE_MAIN;
 
   DrawSetupScreen();
 }
 
-static void execSetupGame_setGameSpeeds()
+static void execSetupGame_setGameSpeeds(void)
 {
   if (game_speeds == NULL)
   {
@@ -4726,7 +4739,7 @@ static void execSetupGame_setGameSpeeds()
   game_speed_text = game_speed_current->name;
 }
 
-static void execSetupGame_setScrollDelays()
+static void execSetupGame_setScrollDelays(void)
 {
   if (scroll_delays == NULL)
   {
@@ -4776,7 +4789,7 @@ static void execSetupGame_setScrollDelays()
   scroll_delay_text = scroll_delay_current->name;
 }
 
-static void execSetupGame_setSnapshotModes()
+static void execSetupGame_setSnapshotModes(void)
 {
   if (snapshot_modes == NULL)
   {
@@ -4826,7 +4839,7 @@ static void execSetupGame_setSnapshotModes()
   snapshot_mode_text = snapshot_mode_current->name;
 }
 
-static void execSetupGame()
+static void execSetupGame(void)
 {
   execSetupGame_setGameSpeeds();
   execSetupGame_setScrollDelays();
@@ -4837,28 +4850,28 @@ static void execSetupGame()
   DrawSetupScreen();
 }
 
-static void execSetupChooseGameSpeed()
+static void execSetupChooseGameSpeed(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_GAME_SPEED;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseScrollDelay()
+static void execSetupChooseScrollDelay(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_SCROLL_DELAY;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseSnapshotMode()
+static void execSetupChooseSnapshotMode(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_SNAPSHOT_MODE;
 
   DrawSetupScreen();
 }
 
-static void execSetupEditor()
+static void execSetupEditor(void)
 {
   setup_mode = SETUP_MODE_EDITOR;
 
@@ -4950,7 +4963,7 @@ static void execSetupGraphics_setWindowSizes(boolean update_list)
   window_size_text = window_size_current->name;
 }
 
-static void execSetupGraphics_setScalingTypes()
+static void execSetupGraphics_setScalingTypes(void)
 {
   if (scaling_types == NULL)
   {
@@ -5000,7 +5013,7 @@ static void execSetupGraphics_setScalingTypes()
   scaling_type_text = scaling_type_current->name;
 }
 
-static void execSetupGraphics_setRenderingModes()
+static void execSetupGraphics_setRenderingModes(void)
 {
   if (rendering_modes == NULL)
   {
@@ -5051,7 +5064,7 @@ static void execSetupGraphics_setRenderingModes()
   rendering_mode_text = rendering_mode_current->name;
 }
 
-static void execSetupGraphics()
+static void execSetupGraphics(void)
 {
   // update "setup.window_scaling_percent" from list selection
   // (in this case, window scaling was changed on setup screen)
@@ -5082,49 +5095,49 @@ static void execSetupGraphics()
 #endif
 }
 
-static void execSetupChooseWindowSize()
+static void execSetupChooseWindowSize(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_WINDOW_SIZE;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseScalingType()
+static void execSetupChooseScalingType(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_SCALING_TYPE;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseRenderingMode()
+static void execSetupChooseRenderingMode(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_RENDERING;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseVolumeSimple()
+static void execSetupChooseVolumeSimple(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_VOLUME_SIMPLE;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseVolumeLoops()
+static void execSetupChooseVolumeLoops(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_VOLUME_LOOPS;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseVolumeMusic()
+static void execSetupChooseVolumeMusic(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_VOLUME_MUSIC;
 
   DrawSetupScreen();
 }
 
-static void execSetupSound()
+static void execSetupSound(void)
 {
   if (volumes_simple == NULL)
   {
@@ -5344,63 +5357,63 @@ static void execSetupSound()
   DrawSetupScreen();
 }
 
-static void execSetupChooseTouchControls()
+static void execSetupChooseTouchControls(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_TOUCH_CONTROL;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseMoveDistance()
+static void execSetupChooseMoveDistance(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_MOVE_DISTANCE;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseDropDistance()
+static void execSetupChooseDropDistance(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_DROP_DISTANCE;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseTransparency()
+static void execSetupChooseTransparency(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_TRANSPARENCY;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseGridXSize_0()
+static void execSetupChooseGridXSize_0(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_GRID_XSIZE_0;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseGridYSize_0()
+static void execSetupChooseGridYSize_0(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_GRID_YSIZE_0;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseGridXSize_1()
+static void execSetupChooseGridXSize_1(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_GRID_XSIZE_1;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseGridYSize_1()
+static void execSetupChooseGridYSize_1(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_GRID_YSIZE_1;
 
   DrawSetupScreen();
 }
 
-static void execSetupConfigureVirtualButtons()
+static void execSetupConfigureVirtualButtons(void)
 {
   setup_mode = SETUP_MODE_CONFIG_VIRT_BUTTONS;
 
@@ -5411,7 +5424,7 @@ static void execSetupConfigureVirtualButtons()
   DrawSetupScreen();
 }
 
-static void execSetupTouch()
+static void execSetupTouch(void)
 {
   int i, j, k;
 
@@ -5672,7 +5685,7 @@ static void execSetupTouch()
   DrawSetupScreen();
 }
 
-static void execSetupArtwork()
+static void execSetupArtwork(void)
 {
 #if 0
   printf("::: '%s', '%s', '%s'\n",
@@ -5698,84 +5711,84 @@ static void execSetupArtwork()
   DrawSetupScreen();
 }
 
-static void execSetupChooseGraphics()
+static void execSetupChooseGraphics(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_GRAPHICS;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseSounds()
+static void execSetupChooseSounds(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_SOUNDS;
 
   DrawSetupScreen();
 }
 
-static void execSetupChooseMusic()
+static void execSetupChooseMusic(void)
 {
   setup_mode = SETUP_MODE_CHOOSE_MUSIC;
 
   DrawSetupScreen();
 }
 
-static void execSetupInput()
+static void execSetupInput(void)
 {
   setup_mode = SETUP_MODE_INPUT;
 
   DrawSetupScreen();
 }
 
-static void execSetupShortcuts()
+static void execSetupShortcuts(void)
 {
   setup_mode = SETUP_MODE_SHORTCUTS;
 
   DrawSetupScreen();
 }
 
-static void execSetupShortcuts1()
+static void execSetupShortcuts1(void)
 {
   setup_mode = SETUP_MODE_SHORTCUTS_1;
 
   DrawSetupScreen();
 }
 
-static void execSetupShortcuts2()
+static void execSetupShortcuts2(void)
 {
   setup_mode = SETUP_MODE_SHORTCUTS_2;
 
   DrawSetupScreen();
 }
 
-static void execSetupShortcuts3()
+static void execSetupShortcuts3(void)
 {
   setup_mode = SETUP_MODE_SHORTCUTS_3;
 
   DrawSetupScreen();
 }
 
-static void execSetupShortcuts4()
+static void execSetupShortcuts4(void)
 {
   setup_mode = SETUP_MODE_SHORTCUTS_4;
 
   DrawSetupScreen();
 }
 
-static void execSetupShortcuts5()
+static void execSetupShortcuts5(void)
 {
   setup_mode = SETUP_MODE_SHORTCUTS_5;
 
   DrawSetupScreen();
 }
 
-static void execExitSetup()
+static void execExitSetup(void)
 {
   SetGameStatus(GAME_MODE_MAIN);
 
   DrawMainMenu();
 }
 
-static void execSaveAndExitSetup()
+static void execSaveAndExitSetup(void)
 {
   SaveSetup();
   execExitSetup();
@@ -5850,7 +5863,7 @@ static struct
   { NULL,                              NULL                            }
 };
 
-void setHideRelatedSetupEntries()
+void setHideRelatedSetupEntries(void)
 {
   int i;
 
@@ -6194,7 +6207,7 @@ static struct TokenInfo setup_info_shortcuts_5[] =
   { 0,                 NULL,                   NULL                    }
 };
 
-static Key getSetupKey()
+static Key getSetupKey(void)
 {
   Key key = KSYM_UNDEFINED;
   boolean got_key_event = FALSE;
@@ -6449,12 +6462,9 @@ static void changeSetupValue(int screen_pos, int setup_info_pos_raw, int dx)
   {
     network.enabled = setup.network_mode;
 
-    SetGameStatus(GAME_MODE_LOADING);
-    SetDrawBackgroundMask(REDRAW_NONE);
-
     FadeOut(REDRAW_ALL);
 
-    ClearRectangle(drawto, 0, 0, WIN_XSIZE, WIN_YSIZE);
+    ClearField();
 
     FadeIn(REDRAW_ALL);
 
@@ -6463,11 +6473,6 @@ static void changeSetupValue(int screen_pos, int setup_info_pos_raw, int dx)
     else
       DisconnectFromNetworkServer();
 
-    SetGameStatus(GAME_MODE_SETUP);
-    SetDrawBackgroundMask(REDRAW_FIELD);
-
-    redraw_mask = REDRAW_ALL;
-
     DrawSetupScreen();
   }
 }
@@ -6504,7 +6509,7 @@ static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)
   return setup_info_final;
 }
 
-static void DrawSetupScreen_Generic()
+static void DrawSetupScreen_Generic(void)
 {
   int fade_mask = REDRAW_FIELD;
   boolean redraw_all = FALSE;
@@ -6640,7 +6645,7 @@ void HandleSetupScreen_Generic(int mx, int my, int dx, int dy, int button)
                   setup_mode, num_setup_info, max_setup_info);
 }
 
-void DrawSetupScreen_Input()
+static void DrawSetupScreen_Input(void)
 {
   int i;
 
@@ -6794,7 +6799,7 @@ static void drawPlayerSetupInputInfo(int player_nr, boolean active)
 
 static int input_player_nr = 0;
 
-void HandleSetupScreen_Input_Player(int step, int direction)
+static void HandleSetupScreen_Input_Player(int step, int direction)
 {
   int old_player_nr = input_player_nr;
   int new_player_nr;
@@ -7548,7 +7553,7 @@ void ConfigureJoystick(int player_nr)
   DrawSetupScreen_Input();
 }
 
-boolean ConfigureVirtualButtonsMain()
+static boolean ConfigureVirtualButtonsMain(void)
 {
   static char *customize_step_text[] =
   {
@@ -7785,7 +7790,7 @@ boolean ConfigureVirtualButtonsMain()
   return success;
 }
 
-void ConfigureVirtualButtons()
+void ConfigureVirtualButtons(void)
 {
   boolean success = ConfigureVirtualButtonsMain();
 
@@ -7812,7 +7817,7 @@ void ConfigureVirtualButtons()
   }
 }
 
-void DrawSetupScreen()
+void DrawSetupScreen(void)
 {
   if (setup_mode == SETUP_MODE_INPUT)
     DrawSetupScreen_Input();
@@ -7862,7 +7867,7 @@ void DrawSetupScreen()
   PlayMenuSoundsAndMusic();
 }
 
-void RedrawSetupScreenAfterFullscreenToggle()
+void RedrawSetupScreenAfterFullscreenToggle(void)
 {
   if (setup_mode == SETUP_MODE_GRAPHICS ||
       setup_mode == SETUP_MODE_CHOOSE_WINDOW_SIZE)
@@ -7940,7 +7945,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button)
     HandleSetupScreen_Generic(mx, my, dx, dy, button);
 }
 
-void HandleGameActions()
+void HandleGameActions(void)
 {
   if (game.restart_game_message != NULL)
     RequestRestartGame(game.restart_game_message);
@@ -8091,7 +8096,7 @@ static struct
   }
 };
 
-static void CreateScreenMenubuttons()
+static void CreateScreenMenubuttons(void)
 {
   struct GadgetInfo *gi;
   unsigned int event_mask;
@@ -8156,7 +8161,7 @@ static void CreateScreenMenubuttons()
   }
 }
 
-static void CreateScreenScrollbuttons()
+static void CreateScreenScrollbuttons(void)
 {
   struct GadgetInfo *gi;
   unsigned int event_mask;
@@ -8224,7 +8229,7 @@ static void CreateScreenScrollbuttons()
   }
 }
 
-static void CreateScreenScrollbars()
+static void CreateScreenScrollbars(void)
 {
   int i;
 
@@ -8305,7 +8310,7 @@ static void CreateScreenScrollbars()
   }
 }
 
-void CreateScreenGadgets()
+void CreateScreenGadgets(void)
 {
   CreateScreenMenubuttons();
 
@@ -8313,7 +8318,7 @@ void CreateScreenGadgets()
   CreateScreenScrollbars();
 }
 
-void FreeScreenGadgets()
+void FreeScreenGadgets(void)
 {
   int i;
 
@@ -8330,7 +8335,7 @@ void MapScreenMenuGadgets(int screen_mask)
       MapGadget(screen_gadget[menubutton_info[i].gadget_id]);
 }
 
-void UnmapScreenMenuGadgets(int screen_mask)
+static void UnmapScreenMenuGadgets(int screen_mask)
 {
   int i;
 
@@ -8448,7 +8453,7 @@ static void HandleScreenGadgets(struct GadgetInfo *gi)
   }
 }
 
-void DumpScreenIdentifiers()
+void DumpScreenIdentifiers(void)
 {
   int i;