X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.h;h=cb8c9343d0f3c474f245c2e5941806e3c0d88e8f;hb=HEAD;hp=a96930f12ea7c331656f564ef559a090efa02093;hpb=115ce6f2da1914d68b0fe0e5f9082973190dacdd;p=rocksndiamonds.git diff --git a/src/tools.h b/src/tools.h index a96930f1..1ccfcea3 100644 --- a/src/tools.h +++ b/src/tools.h @@ -4,7 +4,7 @@ // (c) 1995-2014 by Artsoft Entertainment // Holger Schemel // info@artsoft.org -// http://www.artsoft.org/ +// https://www.artsoft.org/ // ---------------------------------------------------------------------------- // tools.h // ============================================================================ @@ -16,18 +16,18 @@ #include "game.h" -/* for DrawElementShifted */ +// 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 */ +// for masking functions #define NO_MASKING 0 #define USE_MASKING 1 -/* for MoveDoor */ +// for MoveDoor #define DOOR_OPEN_1 (1 << 0) #define DOOR_OPEN_2 (1 << 1) #define DOOR_CLOSE_1 (1 << 2) @@ -55,7 +55,7 @@ #define REDRAW_DOOR_FROM_TOKEN(x) ((x) == DOOR_1 ? REDRAW_DOOR_1 : \ REDRAW_DOOR_2) -/* for Request */ +// for Request #define REQ_ASK (1 << 0) #define REQ_CONFIRM (1 << 1) #define REQ_PLAYER (1 << 2) @@ -63,15 +63,16 @@ #define REQ_STAY_CLOSED (1 << 4) #define REQ_REOPEN (1 << 5) -#define REQUEST_WAIT_FOR_INPUT (REQ_ASK | REQ_CONFIRM | REQ_PLAYER) - -int correctLevelPosX_EM(int); -int correctLevelPosY_EM(int); +int getFieldbufferOffsetX_RND(int, int); +int getFieldbufferOffsetY_RND(int, int); int getLevelFromScreenX(int); int getLevelFromScreenY(int); +int getScreenFieldSizeX(void); +int getScreenFieldSizeY(void); + void DumpTile(int, int); void DumpTileFromScreen(int, int); @@ -82,10 +83,12 @@ 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); void RedrawPlayfield(void); +void BlitScreenToBitmapExt_RND(Bitmap *, int, int); void BlitScreenToBitmap_RND(Bitmap *); void BlitScreenToBitmap(Bitmap *); void BackToFront(void); @@ -103,9 +106,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); @@ -121,14 +127,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); @@ -145,6 +154,7 @@ void getSizedGraphicSourceExt(int, int, int, Bitmap **, int *, int *, boolean); void getSizedGraphicSource(int, int, int, Bitmap **, int *, int *); void getFixedGraphicSource(int, int, Bitmap **, int *, int *); void getMiniGraphicSource(int, Bitmap **, int *, int *); +void getGlobalAnimGraphicSource(int, int, Bitmap **, int *, int *); void getGraphicSource(int, int, Bitmap **, int *, int *); void DrawGraphic(int, int, int, int); @@ -175,6 +185,8 @@ void DrawLevelFieldThruMask(int, int); void DrawLevelFieldCrumbled(int, int); void DrawLevelFieldCrumbledDigging(int, int, int, int); void DrawLevelFieldCrumbledNeighbours(int, int); +void DrawScreenGraphic(int, int, int, int); +void DrawLevelGraphic(int, int, int, int); void DrawScreenElement(int, int, int); void DrawLevelElement(int, int, int); void DrawScreenField(int, int); @@ -189,11 +201,13 @@ void DrawMiniElement(int, int, int); void DrawMiniElementOrWall(int, int, int, int); void ShowEnvelope(int); -void ShowEnvelopeDoor(char *text, int); +void ShowEnvelopeDoor(char *, int); +void DrawEnvelopeRequestToScreen(int); void DrawLevel(int); void DrawSizedLevel(int, int, int, int, int); void DrawMiniLevel(int, int, int, int); +void DrawPreviewPlayers(void); void DrawPreviewLevelInitial(void); void DrawPreviewLevelAnimation(void); @@ -201,7 +215,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); @@ -216,8 +230,9 @@ void UndrawSpecialEditorDoor(void); void CreateToolButtons(void); void FreeToolButtons(void); -int map_element_RND_to_EM(int); -int map_element_EM_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); int map_direction_RND_to_EM(int); int map_direction_EM_to_RND(int); @@ -280,10 +295,17 @@ void ResetFontStatus(void); void SetLevelSetInfo(char *, int); -void ToggleFullscreenOrChangeWindowScalingIfNeeded(void); +void ToggleFullscreenIfNeeded(void); +void ChangeWindowScalingIfNeeded(void); +void ChangeVsyncModeIfNeeded(void); void ChangeViewportPropertiesIfNeeded(void); -boolean CheckIfPlayfieldViewportHasChanged(void); -boolean CheckIfGlobalBorderOrPlayfieldViewportHasChanged(void); +boolean CheckIfAllViewportsHaveChanged(void); +boolean CheckFadeAll(void); + +void OpenURL(char *); +void OpenURLFromHash(SetupFileHash *, int); + +void TestGeneratingUUIDs(void); -#endif /* TOOLS_H */ +#endif // TOOLS_H