-/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
-*----------------------------------------------------------*
-* (c) 1995-2006 Artsoft Entertainment *
-* Holger Schemel *
-* Detmolder Strasse 189 *
-* 33604 Bielefeld *
-* Germany *
-* e-mail: info@artsoft.org *
-*----------------------------------------------------------*
-* tools.h *
-***********************************************************/
+// ============================================================================
+// Rocks'n'Diamonds - McDuffin Strikes Back!
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+// Holger Schemel
+// info@artsoft.org
+// http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// tools.h
+// ============================================================================
#ifndef TOOLS_H
#define TOOLS_H
#include "main.h"
#include "game.h"
-/* for SetDrawtoField */
-#define DRAW_BUFFERED 1
-#define DRAW_BACKBUFFER 2
/* for DrawElementShifted */
#define NO_CUTTING 0
#define REQUEST_WAIT_FOR_INPUT (REQ_ASK | REQ_CONFIRM | REQ_PLAYER)
+int correctLevelPosX_EM(int);
+int correctLevelPosY_EM(int);
+
+int getLevelFromScreenX(int);
+int getLevelFromScreenY(int);
+
void DumpTile(int, int);
+void DumpTileFromScreen(int, int);
void DrawMaskedBorder_FIELD();
void DrawMaskedBorder_DOOR_1();
void DrawMaskedBorder_DOOR_3();
void DrawMaskedBorder_ALL();
void DrawMaskedBorder(int);
+void DrawMaskedBorderToTarget(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();
+void BackToFront_WithFrameDelay(unsigned int);
void FadeIn(int);
void FadeOut(int);
void FadeSkipNextFadeIn();
void FadeSkipNextFadeOut();
+Bitmap *getGlobalBorderBitmapFromStatus(int);
+
void ClearField();
void SetWindowBackgroundImageIfDefined(int);
void SetMainBackgroundImageIfDefined(int);
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();
void SetRandomAnimationValue(int, int);
int getGraphicAnimationFrame(int, int);
-void DrawGraphicAnimation(int, int, int);
-void DrawGraphicAnimationExt(DrawBuffer *, int, int, int, int, int);
-
void DrawFixedGraphicAnimation(int, int, int);
void DrawFixedGraphicAnimationExt(DrawBuffer *, int, int, int, int, int);
void DrawPlayerField(int, int);
void DrawPlayer(struct PlayerInfo *);
+void getGraphicSourceBitmap(int, int, Bitmap **);
+void getGraphicSourceXY(int, int, int *, int *, boolean);
void getSizedGraphicSourceExt(int, int, int, Bitmap **, int *, int *, boolean);
void getFixedGraphicSourceExt(int, int, Bitmap **, int *, int *, boolean);
void getSizedGraphicSource(int, int, int, Bitmap **, int *, int *);
void getFixedGraphicSource(int, int, Bitmap **, int *, int *);
void getMiniGraphicSource(int, Bitmap **, int *, int *);
-void getGraphicSourceExt(int, int, Bitmap **, int *, int *, boolean);
void getGraphicSource(int, int, Bitmap **, int *, int *);
void DrawGraphic(int, 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);
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);
void PlayMenuSoundIfLoop();
void PlayMenuMusicExt(int);
void PlayMenuMusic();
+void PlayMenuSoundsAndMusic();
+void FadeMenuSoundsAndMusic();
void PlaySoundActivating();
void PlaySoundSelecting();
+void SetAnimStatus(int);
+void SetGameStatus(int);
+void SetFontStatus(int);
+void ResetFontStatus();
+
void ToggleFullscreenOrChangeWindowScalingIfNeeded();
void ChangeViewportPropertiesIfNeeded();