cleanup of BD style game elements in level editor
[rocksndiamonds.git] / src / tools.h
index 08eb907250e3158924b92e152977c02cc273dafa..28dd05c9a9d9cf966cba2748cac1677f783839aa 100644 (file)
 
 
 // for DrawElementShifted
-#define NO_CUTTING             0
-#define CUT_ABOVE              (1 << 0)
-#define CUT_BELOW              (1 << 1)
-#define CUT_LEFT               (1 << 2)
-#define CUT_RIGHT              (1 << 3)
+#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 << 0)
-#define DOOR_OPEN_2            (1 << 1)
-#define DOOR_CLOSE_1           (1 << 2)
-#define DOOR_CLOSE_2           (1 << 3)
-#define DOOR_OPEN_ALL          (DOOR_OPEN_1 | DOOR_OPEN_2)
-#define DOOR_CLOSE_ALL         (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_COPY_BACK      (1 << 5)
-#define DOOR_NO_DELAY          (1 << 6)
-#define DOOR_FORCE_ANIM                (1 << 7)
-#define DOOR_FORCE_REDRAW      (1 << 8)
-#define DOOR_GET_STATE         (1 << 9)
-#define DOOR_SET_STATE         (1 << 10)
-
-#define DOOR_1                 (DOOR_ACTION_1)
-#define DOOR_2                 (DOOR_ACTION_2)
-#define DOOR_OPEN              (DOOR_OPEN_ALL)
-#define DOOR_CLOSE             (DOOR_CLOSE_ALL)
+#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_ALL                  (DOOR_OPEN_1 | DOOR_OPEN_2)
+#define DOOR_CLOSE_ALL                 (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_COPY_BACK              (1 << 5)
+#define DOOR_NO_DELAY                  (1 << 6)
+#define DOOR_FORCE_ANIM                        (1 << 7)
+#define DOOR_FORCE_REDRAW              (1 << 8)
+#define DOOR_GET_STATE                 (1 << 9)
+#define DOOR_SET_STATE                 (1 << 10)
+
+#define DOOR_1                         (DOOR_ACTION_1)
+#define DOOR_2                         (DOOR_ACTION_2)
+#define DOOR_OPEN                      (DOOR_OPEN_ALL)
+#define DOOR_CLOSE                     (DOOR_CLOSE_ALL)
 
 #define DOOR_INDEX_FROM_TOKEN(x)       ((x) == DOOR_1 ? 0 : 1)
 #define DOOR_TOKEN_FROM_INDEX(x)       ((x) == 0 ? DOOR_1 ? : DOOR_2)
-#define REDRAW_DOOR_FROM_TOKEN(x)      ((x) == DOOR_1 ? REDRAW_DOOR_1 : \
-                                        REDRAW_DOOR_2)
+#define REDRAW_DOOR_FROM_TOKEN(x)      ((x) == DOOR_1 ? REDRAW_DOOR_1 : REDRAW_DOOR_2)
 
 // for Request
-#define REQ_ASK                        (1 << 0)
-#define REQ_CONFIRM            (1 << 1)
-#define REQ_PLAYER             (1 << 2)
-#define REQ_STAY_OPEN          (1 << 3)
-#define REQ_STAY_CLOSED                (1 << 4)
-#define REQ_REOPEN             (1 << 5)
+#define REQ_ASK                                (1 << 0)
+#define REQ_CONFIRM                    (1 << 1)
+#define REQ_PLAYER                     (1 << 2)
+#define REQ_STAY_OPEN                  (1 << 3)
+#define REQ_STAY_CLOSED                        (1 << 4)
+#define REQ_REOPEN                     (1 << 5)
 
 
 int getFieldbufferOffsetX_RND(int, int);
@@ -83,7 +82,7 @@ void DrawMaskedBorder_DOOR_3(void);
 void DrawMaskedBorder_ALL(void);
 void DrawMaskedBorder(int);
 void DrawMaskedBorderToTarget(int);
-void DrawTileCursor(int);
+void DrawTileCursor(int, int);
 
 void SetDrawtoField(int);
 int GetDrawtoField(void);
@@ -131,6 +130,7 @@ void FloodFillLevel(int, int, int, short[MAX_LEV_FIELDX][MAX_LEV_FIELDY], int, i
 void FloodFillLevelExt(int, int, int, int x, int y, short field[x][y], int, int);
 
 void SetRandomAnimationValue(int, int);
+void SetAnimationFirstLevel(int);
 int getGraphicAnimationFrame(int, int);
 int getGraphicAnimationFrameXY(int, int, int);
 
@@ -214,7 +214,7 @@ void DrawNetworkPlayers(void);
 void ClearNetworkPlayers(void);
 
 void WaitForEventToContinue(void);
-boolean Request(char *, unsigned int);
+int Request(char *, unsigned int);
 void InitGraphicCompatibilityInfo_Doors(void);
 void InitDoors(void);
 unsigned int OpenDoor(unsigned int);
@@ -229,6 +229,9 @@ void UndrawSpecialEditorDoor(void);
 void CreateToolButtons(void);
 void FreeToolButtons(void);
 
+int map_element_RND_to_BD(int);
+int map_element_BD_to_RND(int);
+
 int map_element_RND_to_EM_cave(int);
 int map_element_EM_to_RND_cave(int);
 int map_element_EM_to_RND_game(int);
@@ -273,6 +276,8 @@ int getBeltSwitchElementFromBeltNrAndBeltDirNr(int, int);
 int getBeltSwitchElementFromBeltNrAndBeltDir(int, int);
 
 unsigned int InitRND(int);
+
+void InitGraphicInfo_BD(void);
 void InitGraphicInfo_EM(void);
 
 void PlayMenuSoundExt(int);
@@ -305,6 +310,8 @@ boolean CheckFadeAll(void);
 void OpenURL(char *);
 void OpenURLFromHash(SetupFileHash *, int);
 
+char *getCurrentLevelsetName(void);
+
 void TestGeneratingUUIDs(void);
 
 #endif // TOOLS_H