/*********************************************************** * Mirror Magic -- McDuffin's Revenge * *----------------------------------------------------------* * (c) 1994-2001 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * * Germany * * e-mail: info@artsoft.org * *----------------------------------------------------------* * tools.h * ***********************************************************/ #ifndef TOOLS_H #define TOOLS_H #include #include "main.h" /* for SetDrawtoField */ #define DRAW_DIRECT 0 #define DRAW_BUFFERED 1 #define DRAW_BACKBUFFER 2 /* 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) /* for masking functions */ #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_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 REQUEST_WAIT_FOR (REQ_ASK | REQ_CONFIRM) void SetDrawtoField(int); void BackToFront(); void FadeToFront(); void ClearWindow(); void MarkTileDirty(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 getGraphicSource(int, int *, int *, int *); void DrawGraphic(int, int, int); void DrawGraphicExt(DrawBuffer *, int, int, int); void DrawGraphicThruMask(int, int, int); void DrawGraphicThruMaskExt(DrawBuffer *, int, int, int); void DrawMiniGraphic(int, int, int); void getMiniGraphicSource(int, Bitmap **, int *, int *); void DrawMiniGraphicExt(DrawBuffer *, int, int, int); void DrawGraphicShifted(int, int, int, int, int, int, int); void DrawGraphicShiftedThruMask(int, int, int, int, int, int); void DrawScreenElementExt(int, int, int, int, int, int, int); void DrawLevelElementExt(int, int, int, int, int, int, int); 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); void DrawScreenField(int, int); void DrawLevelField(int, int); void DrawMiniElement(int, int, int); void DrawMiniElementOrWall(int, int, int, int); void DrawField(int, int); void DrawLevel(void); void DrawElement(int, int, int); void DrawWallsExt(int, int, int, int); void DrawWalls(int, int, int); void DrawWallsAnimation(int, int, int, int, int); void DrawMiniLevel(int, int, int, int); void DrawMicroLevel(int, int, boolean); boolean Request(char *, unsigned int); unsigned int OpenDoor(unsigned int); unsigned int CloseDoor(unsigned int); unsigned int GetDoorState(void); unsigned int MoveDoor(unsigned int); void DrawSpecialEditorDoor(); void UndrawSpecialEditorDoor(); Pixel ReadPixel(DrawBuffer *, int, int); void SetRGB(unsigned long, unsigned short, unsigned short, unsigned short); void CreateToolButtons(); int get_base_element(int); int get_element_phase(int); int get_num_elements(int); int get_rotated_element(int, int); int el2gfx(int); #endif