rnd-19980926
[rocksndiamonds.git] / src / tools.h
1 /***********************************************************
2 *  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
3 *----------------------------------------------------------*
4 *  ©1995 Artsoft Development                               *
5 *        Holger Schemel                                    *
6 *        33659 Bielefeld-Senne                             *
7 *        Telefon: (0521) 493245                            *
8 *        eMail: aeglos@valinor.owl.de                      *
9 *               aeglos@uni-paderborn.de                    *
10 *               q99492@pbhrzx.uni-paderborn.de             *
11 *----------------------------------------------------------*
12 *  tools.h                                                 *
13 ***********************************************************/
14
15 #ifndef TOOLS_H
16 #define TOOLS_H
17
18 #include "main.h"
19
20 #include <sys/time.h>
21
22 /* for SetDrawtoField */
23 #define DRAW_DIRECT     0
24 #define DRAW_BUFFERED   1
25 #define DRAW_BACKBUFFER 2
26
27 /* for DrawElementShifted */
28 #define NO_CUTTING      0
29 #define CUT_ABOVE       1
30 #define CUT_BELOW       2
31 #define CUT_LEFT        4
32 #define CUT_RIGHT       8
33
34 /* for masking functions */
35 #define NO_MASKING      0
36 #define USE_MASKING     1
37  
38 /* for MoveDoor */
39 #define DOOR_OPEN_1     1
40 #define DOOR_OPEN_2     2
41 #define DOOR_CLOSE_1    4
42 #define DOOR_CLOSE_2    8
43 #define DOOR_OPEN_BOTH  (DOOR_OPEN_1 | DOOR_OPEN_2)
44 #define DOOR_CLOSE_BOTH (DOOR_CLOSE_1 | DOOR_CLOSE_2)
45 #define DOOR_ACTION_1   (DOOR_OPEN_1 | DOOR_CLOSE_1)
46 #define DOOR_ACTION_2   (DOOR_OPEN_2 | DOOR_CLOSE_2)
47 #define DOOR_ACTION     (DOOR_ACTION_1 | DOOR_ACTION_2)
48 #define DOOR_COPY_BACK  16
49 #define DOOR_NO_DELAY   32
50 #define DOOR_GET_STATE  64
51
52 /* for AreYouSure */
53 #define AYS_ASK         1
54 #define AYS_OPEN        2
55 #define AYS_CLOSE       4
56 #define AYS_CONFIRM     8
57 #define AYS_STAY_CLOSED 16
58 #define AYS_STAY_OPEN   32
59
60 void SetDrawtoField(int);
61 void BackToFront();
62 void FadeToFront();
63 void ClearWindow();
64 void DrawText(int, int, char *, int, int);
65 void DrawTextExt(Drawable, GC, int, int, char *, int, int);
66 void DrawPlayerField(int, int);
67 void DrawGraphicAnimationExt(int, int, int, int, int, int, int);
68 void DrawGraphicAnimation(int, int, int, int, int, int);
69 void DrawGraphicAnimationThruMask(int, int, int, int, int, int);
70 void DrawGraphic(int, int, int);
71 void DrawGraphicExt(Drawable, GC, int, int, int);
72 void DrawGraphicThruMask(int, int, int);
73 void DrawMiniGraphic(int, int, int);
74 void DrawMiniGraphicExt(Drawable, GC, int, int, int);
75 void DrawGraphicShifted(int, int, int, int, int, int, int);
76 void DrawGraphicShiftedThruMask(int, int, int, int, int, int);
77 void DrawScreenElementExt(int, int, int, int, int, int, int);
78 void DrawLevelElementExt(int, int, int, int, int, int, int);
79 void DrawScreenElementShifted(int, int, int, int, int, int);
80 void DrawLevelElementShifted(int, int, int, int, int, int);
81 void DrawScreenElementThruMask(int, int, int);
82 void DrawLevelElementThruMask(int, int, int);
83 void ErdreichAnbroeckeln(int, int);
84 void DrawScreenElement(int, int, int);
85 void DrawLevelElement(int, int, int);
86 void DrawScreenField(int, int);
87 void DrawLevelField(int, int);
88 void DrawMiniElement(int, int, int);
89 void DrawMiniElementOrWall(int, int, int, int);
90 void DrawMicroElement(int, int, int);
91 void DrawLevel(void);
92 void DrawMiniLevel(int, int);
93 void DrawMicroLevel(int, int);
94 BOOL AreYouSure(char *, unsigned int);
95 unsigned int OpenDoor(unsigned int);
96 unsigned int CloseDoor(unsigned int);
97 unsigned int GetDoorState(void);
98 unsigned int MoveDoor(unsigned int);
99 int ReadPixel(Drawable, int, int);
100 int el2gfx(int);
101
102 #endif