int i;
char *name_text = (!options.network && setup.team_mode ? "Team:" : "Name:");
+ UnmapAllGadgets();
+ FadeSounds();
XAutoRepeatOn(display);
/* needed if last screen was the playing screen, invoked from level editor */
return;
}
- /* needed if last screen was the level editor */
- UnmapLevelEditorGadgets();
+ /* map gadgets for main menu screen */
+ MapTapeButtons();
- FadeSounds();
GetPlayerConfig();
LoadLevel(level_nr);
{
int i;
+ UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
for(i=0;i<MAX_HELPSCREEN_ELS;i++)
void DrawChooseLevel()
{
+ UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
FadeToFront();
{
strncpy(buffer, leveldir[first_entry + i].name , SCR_FIELDX - 1);
buffer[SCR_FIELDX - 1] = '\0';
- DrawText(SX + 32, SY + (i + 2) * 32, buffer, FS_BIG, FC_YELLOW);
+ DrawText(SX + 32, SY + (i + 2) * 32, buffer,
+ FS_BIG, leveldir[first_entry + i].color);
DrawGraphic(0, i + 2, GFX_KUGEL_BLAU);
}
static void drawChooseLevelInfo(int leveldir_nr)
{
+ int x, last_redraw_mask = redraw_mask;
+
XFillRectangle(display, drawto, gc, SX + 32, SY + 32, SXSIZE - 32, 32);
DrawTextFCentered(40, FC_RED, "%3d levels (%s)",
leveldir[leveldir_nr].levels,
leveldir[leveldir_nr].readonly ? "readonly" : "writable");
+
+ /* let BackToFront() redraw only what is needed */
+ redraw_mask = last_redraw_mask | REDRAW_TILES;
+ for (x=0; x<SCR_FIELDX; x++)
+ MarkTileDirty(x, 1);
}
void HandleChooseLevel(int mx, int my, int dx, int dy, int button)
{
int i;
+ UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
if (highlight_position < 0)
{ NULL, "Save and exit" }
};
+ UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
ClearWindow();
- DrawText(SX+16, SY+16, "SETUP",FS_BIG,FC_YELLOW);
+
+ DrawText(SX + 16, SY + 16, "SETUP",FS_BIG,FC_YELLOW);
for(i=SETUP_SCREEN_POS_START;i<=SETUP_SCREEN_POS_END;i++)
{
void HandleVideoButtons(int mx, int my, int button)
{
+ return;
+
+
+
+
if (game_status != MAINMENU && game_status != PLAYING)
return;
void HandleSoundButtons(int mx, int my, int button)
{
+
+
+
+ return;
+
+
+
if (game_status != PLAYING)
return;
void HandleGameButtons(int mx, int my, int button)
{
+
+
+
+ return;
+
+
+
if (game_status != PLAYING)
return;