fixed a lot of bugs when using custom global borders with masked viewports
[rocksndiamonds.git] / src / tools.h
index 37f7d06bc823c6f26f47c0fa8c39c025d811bb49..b7e7de9be8f2465ca8e1b377440a8a06125d8a8e 100644 (file)
@@ -16,7 +16,7 @@
 #include "game.h"
 
 /* for SetDrawtoField */
-#define DRAW_BUFFERED          1
+#define DRAW_FIELDBUFFER       1
 #define DRAW_BACKBUFFER                2
 
 /* for DrawElementShifted */
@@ -78,11 +78,8 @@ void DrawMaskedBorder_ALL();
 void DrawMaskedBorder(int);
 
 void SetDrawtoField(int);
-#if 1
 void RedrawPlayfield();
-#else
-void RedrawPlayfield(boolean, int, int, int, int);
-#endif
+void BlitScreenToBitmap_RND(Bitmap *);
 void BlitScreenToBitmap(Bitmap *);
 void BackToFront();
 
@@ -98,6 +95,8 @@ void FadeSetDisabled();
 void FadeSkipNextFadeIn();
 void FadeSkipNextFadeOut();
 
+Bitmap *getGlobalBorderBitmapFromGameStatus();
+
 void ClearField();
 void SetWindowBackgroundImageIfDefined(int);
 void SetMainBackgroundImageIfDefined(int);
@@ -109,6 +108,8 @@ void SetPanelBackground();
 void DrawBackground(int, int, int, int);
 void DrawBackgroundForFont(int, int, int, int, int);
 void DrawBackgroundForGraphic(int, int, int, int, int);
+boolean CheckIfGlobalBorderHasChanged();
+void RedrawGlobalBorder();
 
 void MarkTileDirty(int, int);
 void SetBorderElement();
@@ -172,6 +173,9 @@ void DrawLevelElement(int, int, int);
 void DrawScreenField(int, int);
 void DrawLevelField(int, int);
 
+void DrawSizedElement(int, int, int, int);
+void DrawSizedElementOrWall(int, int, int, int, int);
+
 void DrawMiniElement(int, int, int);
 void DrawMiniElementOrWall(int, int, int, int);
 
@@ -179,6 +183,7 @@ void ShowEnvelope(int);
 void ShowEnvelopeDoor(char *text, int);
 
 void DrawLevel(int);
+void DrawSizedLevel(int, int, int, int, int);
 void DrawMiniLevel(int, int, int, int);
 void DrawPreviewLevelInitial(void);
 void DrawPreviewLevelAnimation(void);