X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.h;h=28dd05c9a9d9cf966cba2748cac1677f783839aa;hb=5cbb24e1974b59f7580428768201b950423b88e2;hp=3413308c8926cfa395c5ea028f6ee191d49e36a0;hpb=073fb8edb944e8547b3d0e4b102bb30b40671674;p=rocksndiamonds.git diff --git a/src/tools.h b/src/tools.h index 3413308c..28dd05c9 100644 --- a/src/tools.h +++ b/src/tools.h @@ -17,53 +17,50 @@ // 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 REQUEST_WAIT_FOR_INPUT (REQ_ASK | REQ_CONFIRM | REQ_PLAYER) +#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); @@ -85,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); @@ -108,9 +105,12 @@ void FadeSetDisabled(void); void FadeSkipNextFadeIn(void); void FadeSkipNextFadeOut(void); +int getImageFromGraphicOrDefault(int, int); Bitmap *getGlobalBorderBitmapFromStatus(int); void ClearField(void); + +void SetBackgroundImage(int, int); void SetWindowBackgroundImageIfDefined(int); void SetMainBackgroundImageIfDefined(int); void SetDoorBackgroundImageIfDefined(int); @@ -126,15 +126,17 @@ void RedrawGlobalBorder(void); void MarkTileDirty(int, int); void SetBorderElement(void); -void FloodFillLevel(int, int, int, short[][MAX_LEV_FIELDY], int, int); -void FloodFillLevelExt(int, int, int, int, int y, short field[][y], int, int); +void FloodFillLevel(int, int, int, short[MAX_LEV_FIELDX][MAX_LEV_FIELDY], int, int); +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); void DrawFixedGraphicAnimation(int, int, int); void DrawFixedGraphicAnimationExt(DrawBuffer *, int, int, int, int, int); +void DrawSizedGraphicAnimationExt(DrawBuffer *, int, int, int, int, int, int); void DrawLevelGraphicAnimation(int, int, int); void DrawLevelElementAnimation(int, int, int); @@ -199,7 +201,7 @@ void DrawMiniElementOrWall(int, int, int, int); void ShowEnvelope(int); void ShowEnvelopeDoor(char *, int); -void DrawEnvelopeRequestToScreen(int, int); +void DrawEnvelopeRequestToScreen(int); void DrawLevel(int); void DrawSizedLevel(int, int, int, int, int); @@ -212,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); @@ -227,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); @@ -271,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); @@ -303,6 +310,8 @@ boolean CheckFadeAll(void); void OpenURL(char *); void OpenURLFromHash(SetupFileHash *, int); +char *getCurrentLevelsetName(void); + void TestGeneratingUUIDs(void); #endif // TOOLS_H