#include "editor.h"
#include "files.h"
#include "tape.h"
-#include "cartoons.h"
+#include "anim.h"
#include "network.h"
#include "init.h"
#include "config.h"
{
{ STR_SPECIAL_RENDERING_OFF, "Off (May show artifacts, fast)" },
{ STR_SPECIAL_RENDERING_BITMAP, "Bitmap/Texture mode (slower)" },
+#if DEBUG
+ // this mode may work under certain conditions, but does not work on Windows
{ STR_SPECIAL_RENDERING_TARGET, "Target Texture mode (slower)" },
+#endif
{ STR_SPECIAL_RENDERING_DOUBLE, "Double Texture mode (slower)" },
{ NULL, NULL },
return;
}
- /* needed if different viewport properties defined for menues */
- ChangeViewportPropertiesIfNeeded();
-
if (redraw_mask & REDRAW_ALL)
fade_mask = REDRAW_ALL;
FadeOut(fade_mask);
- SetDrawtoField(DRAW_BACKBUFFER);
+ /* needed if different viewport properties defined for menues */
+ ChangeViewportPropertiesIfNeeded();
+
+ SetDrawtoField(DRAW_TO_BACKBUFFER);
/* level_nr may have been set to value over handicap with level editor */
if (setup.handicap && level_nr > leveldir_current->handicap_level)
FadeOut(REDRAW_ALL);
- /* only required to update logic for redrawing global border */
- ClearField();
-
/* title screens may have different window size */
ChangeViewportPropertiesIfNeeded();
+ /* only required to update logic for redrawing global border */
+ ClearField();
+
if (tci->is_image)
DrawTitleScreenImage(tci->local_nr, tci->initial);
else
SetGameStatus(GAME_MODE_LEVELNR);
- ChangeViewportPropertiesIfNeeded();
-
DrawChooseLevelNr();
}
else if (pos >= MAIN_CONTROL_NAME && pos <= MAIN_CONTROL_QUIT)
if (setup.internal.choose_from_top_leveldir)
gotoTopLevelDir();
- ChangeViewportPropertiesIfNeeded();
-
DrawChooseLevelSet();
}
}
info_mode = INFO_MODE_MAIN;
- ChangeViewportPropertiesIfNeeded();
-
DrawInfoScreen();
}
else if (pos == MAIN_CONTROL_GAME)
setup_mode = SETUP_MODE_MAIN;
- ChangeViewportPropertiesIfNeeded();
-
DrawSetupScreen();
}
else if (pos == MAIN_CONTROL_QUIT)
FadeOut(fade_mask);
+ /* needed if different viewport properties defined for info screen */
ChangeViewportPropertiesIfNeeded();
+ SetMainBackgroundImage(IMG_BACKGROUND_INFO);
+
ClearField();
OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
static void DrawInfoScreen()
{
- SetMainBackgroundImage(IMG_BACKGROUND_INFO);
-
if (info_mode == INFO_MODE_TITLE)
DrawInfoScreen_TitleScreen();
else if (info_mode == INFO_MODE_ELEMENTS)
FadeOut(fade_mask);
+ /* needed if different viewport properties defined for choosing level (set) */
+ ChangeViewportPropertiesIfNeeded();
+
+ if (game_status == GAME_MODE_LEVELNR)
+ SetMainBackgroundImage(IMG_BACKGROUND_LEVELNR);
+ else if (game_status == GAME_MODE_LEVELS)
+ SetMainBackgroundImage(IMG_BACKGROUND_LEVELS);
+
ClearField();
OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
{
FadeSoundsAndMusic();
- SetMainBackgroundImage(IMG_BACKGROUND_LEVELS);
-
DrawChooseTree(&leveldir_current);
PlayMenuSound();
if (level_number_current == NULL)
level_number_current = level_number;
- SetMainBackgroundImage(IMG_BACKGROUND_LEVELNR);
-
DrawChooseTree(&level_number_current);
PlayMenuSound();
{
int fade_mask = REDRAW_FIELD;
- /* needed if different viewport properties defined for scores */
- ChangeViewportPropertiesIfNeeded();
-
if (CheckIfGlobalBorderHasChanged())
fade_mask = REDRAW_ALL;
FadeOut(fade_mask);
+ /* needed if different viewport properties defined for scores */
+ ChangeViewportPropertiesIfNeeded();
+
PlayMenuSound();
PlayMenuMusic();
FadeOut(fade_mask);
+ /* needed if different viewport properties defined for setup screen */
+ ChangeViewportPropertiesIfNeeded();
+
+ SetMainBackgroundImage(IMG_BACKGROUND_SETUP);
+
ClearField();
OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
{
DeactivateJoystick();
- SetMainBackgroundImage(IMG_BACKGROUND_SETUP);
-
if (setup_mode == SETUP_MODE_INPUT)
DrawSetupScreen_Input();
else if (setup_mode == SETUP_MODE_CHOOSE_GAME_SPEED)