rocksndiamonds-1.2.0
[rocksndiamonds.git] / src / tools.h
index 47239c9073051f71ae5336b12958c84b2d460bf6..6d70852092b5617f9eb67adb6195019e6eda5978 100644 (file)
@@ -1,13 +1,12 @@
 /***********************************************************
 *  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
 *----------------------------------------------------------*
-*  ©1995 Artsoft Development                               *
-*        Holger Schemel                                    *
-*        33659 Bielefeld-Senne                             *
-*        Telefon: (0521) 493245                            *
-*        eMail: aeglos@valinor.owl.de                      *
-*               aeglos@uni-paderborn.de                    *
-*               q99492@pbhrzx.uni-paderborn.de             *
+*  (c) 1995-98 Artsoft Entertainment                       *
+*              Holger Schemel                              *
+*              Oststrasse 11a                              *
+*              33604 Bielefeld                             *
+*              phone: ++49 +521 290471                     *
+*              email: aeglos@valinor.owl.de                *
 *----------------------------------------------------------*
 *  tools.h                                                 *
 ***********************************************************/
 #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);
 void DrawPlayerField(int, int);
+void DrawPlayer(struct PlayerInfo *);
 void DrawGraphicAnimationExt(int, int, int, int, int, int, int);
 void DrawGraphicAnimation(int, int, int, int, int, int);
 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);
@@ -80,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);
@@ -91,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);