rocksndiamonds-1.2.0
[rocksndiamonds.git] / src / tools.h
index c8436d111a990f3806c41c1054d266f5cbd1285a..6d70852092b5617f9eb67adb6195019e6eda5978 100644 (file)
 #ifndef TOOLS_H
 #define TOOLS_H
 
-#include "main.h"
-
 #include <sys/time.h>
+#include "main.h"
 
 /* for SetDrawtoField */
-#define DRAW_DIRECT    0
-#define DRAW_BUFFERED  1
-#define DRAW_BACKBUFFER        2
+#define DRAW_DIRECT            0
+#define DRAW_BUFFERED          1
+#define DRAW_BACKBUFFER                2
 
 /* for DrawElementShifted */
-#define NO_CUTTING     0
-#define CUT_ABOVE      1
-#define CUT_BELOW      2
-#define CUT_LEFT       4
-#define CUT_RIGHT      8
+#define NO_CUTTING             0
+#define CUT_ABOVE              (1 << 0)
+#define CUT_BELOW              (1 << 1)
+#define CUT_LEFT               (1 << 2)
+#define CUT_RIGHT              (1 << 3)
 
 /* for masking functions */
-#define NO_MASKING     0
-#define USE_MASKING    1
+#define NO_MASKING             0
+#define USE_MASKING            1
  
 /* for MoveDoor */
-#define DOOR_OPEN_1    1
-#define DOOR_OPEN_2    2
-#define DOOR_CLOSE_1   4
-#define DOOR_CLOSE_2   8
-#define DOOR_OPEN_BOTH (DOOR_OPEN_1 | DOOR_OPEN_2)
-#define DOOR_CLOSE_BOTH        (DOOR_CLOSE_1 | DOOR_CLOSE_2)
-#define DOOR_ACTION_1  (DOOR_OPEN_1 | DOOR_CLOSE_1)
-#define DOOR_ACTION_2  (DOOR_OPEN_2 | DOOR_CLOSE_2)
-#define DOOR_ACTION    (DOOR_ACTION_1 | DOOR_ACTION_2)
-#define DOOR_COPY_BACK 16
-#define DOOR_NO_DELAY  32
-#define DOOR_GET_STATE 64
+#define DOOR_OPEN_1            (1 << 0)
+#define DOOR_OPEN_2            (1 << 1)
+#define DOOR_CLOSE_1           (1 << 2)
+#define DOOR_CLOSE_2           (1 << 3)
+#define DOOR_OPEN_BOTH         (DOOR_OPEN_1 | DOOR_OPEN_2)
+#define DOOR_CLOSE_BOTH                (DOOR_CLOSE_1 | DOOR_CLOSE_2)
+#define DOOR_ACTION_1          (DOOR_OPEN_1 | DOOR_CLOSE_1)
+#define DOOR_ACTION_2          (DOOR_OPEN_2 | DOOR_CLOSE_2)
+#define DOOR_ACTION            (DOOR_ACTION_1 | DOOR_ACTION_2)
+#define DOOR_COPY_BACK         (1 << 4)
+#define DOOR_NO_DELAY          (1 << 5)
+#define DOOR_GET_STATE         (1 << 6)
+
+/* for Request */
+#define REQ_ASK                        (1 << 0)
+#define REQ_OPEN               (1 << 1)
+#define REQ_CLOSE              (1 << 2)
+#define REQ_CONFIRM            (1 << 3)
+#define REQ_STAY_CLOSED                (1 << 4)
+#define REQ_STAY_OPEN          (1 << 5)
+#define REQ_PLAYER             (1 << 6)
 
-/* for AreYouSure */
-#define AYS_ASK                1
-#define AYS_OPEN       2
-#define AYS_CLOSE      4
-#define AYS_CONFIRM    8
-#define AYS_STAY_CLOSED        16
-#define AYS_STAY_OPEN  32
+#define REQUEST_WAIT_FOR       (REQ_ASK | REQ_CONFIRM | REQ_PLAYER)
 
 void SetDrawtoField(int);
 void BackToFront();
 void FadeToFront();
 void ClearWindow();
+void DrawTextF(int, int, int, char *, ...);
+void DrawTextFCentered(int, int, char *, ...);
 void DrawText(int, int, char *, int, int);
 void DrawTextExt(Drawable, GC, int, int, char *, int, int);
 void DrawAllPlayers(void);
@@ -71,6 +75,7 @@ void DrawGraphicAnimationThruMask(int, int, int, int, int, int);
 void DrawGraphic(int, int, int);
 void DrawGraphicExt(Drawable, GC, int, int, int);
 void DrawGraphicThruMask(int, int, int);
+void DrawGraphicThruMaskExt(Drawable, int, int, int);
 void DrawMiniGraphic(int, int, int);
 void DrawMiniGraphicExt(Drawable, GC, int, int, int);
 void DrawGraphicShifted(int, int, int, int, int, int, int);
@@ -81,6 +86,7 @@ void DrawScreenElementShifted(int, int, int, int, int, int);
 void DrawLevelElementShifted(int, int, int, int, int, int);
 void DrawScreenElementThruMask(int, int, int);
 void DrawLevelElementThruMask(int, int, int);
+void DrawLevelFieldThruMask(int, int);
 void ErdreichAnbroeckeln(int, int);
 void DrawScreenElement(int, int, int);
 void DrawLevelElement(int, int, int);
@@ -92,7 +98,7 @@ void DrawMicroElement(int, int, int);
 void DrawLevel(void);
 void DrawMiniLevel(int, int);
 void DrawMicroLevel(int, int);
-BOOL AreYouSure(char *, unsigned int);
+boolean Request(char *, unsigned int);
 unsigned int OpenDoor(unsigned int);
 unsigned int CloseDoor(unsigned int);
 unsigned int GetDoorState(void);