#define DOOR_GET_STATE (1 << 8)
#define DOOR_SET_STATE (1 << 9)
+#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)
+
/* for Request */
#define REQ_ASK (1 << 0)
#define REQ_CONFIRM (1 << 1)
#define REQUEST_WAIT_FOR_INPUT (REQ_ASK | REQ_CONFIRM | REQ_PLAYER)
+
void DumpTile(int, int);
void DrawMaskedBorder_FIELD();
void DrawMaskedBorder(int);
void SetDrawtoField(int);
+#if 1
+void RedrawPlayfield();
+#else
void RedrawPlayfield(boolean, int, int, int, int);
+#endif
+void BlitScreenToBitmap(Bitmap *);
void BackToFront();
void FadeIn(int);
void ShowEnvelope(int);
void ShowEnvelopeDoor(char *text, int);
-void DrawLevel(void);
+void DrawLevel(int);
void DrawMiniLevel(int, int, int, int);
-void DrawPreviewLevel(boolean);
+void DrawPreviewLevelInitial(void);
+void DrawPreviewLevelAnimation(void);
-void WaitForEventToContinue();
+void WaitForEventToContinue(void);
boolean Request(char *, unsigned int);
+void InitGraphicCompatibilityInfo_Doors(void);
+void InitDoors(void);
unsigned int OpenDoor(unsigned int);
unsigned int CloseDoor(unsigned int);
unsigned int GetDoorState(void);
int getBeltSwitchElementFromBeltNrAndBeltDirNr(int, int);
int getBeltSwitchElementFromBeltNrAndBeltDir(int, int);
-unsigned int InitRND(long);
+unsigned int InitRND(int);
void InitGraphicInfo_EM(void);
void PlayMenuSoundExt(int);
void PlaySoundActivating();
void PlaySoundSelecting();
-void ToggleFullscreenIfNeeded();
+void ToggleFullscreenOrChangeWindowScalingIfNeeded();
void ChangeViewportPropertiesIfNeeded();
#endif /* TOOLS_H */