X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=bab4957e9f861437e39851d7b8fb945dbe7bf8b5;hp=b82b7e8acc5655fd2d644e9f572caee7118dff46;hb=7270af24b41bc33fbb89a97227a7696e343eacbb;hpb=d3e24bbfb70edb9a805806345eede28c7129baf8 diff --git a/src/libgame/system.h b/src/libgame/system.h index b82b7e8a..bab4957e 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -413,6 +413,8 @@ (v) == VALIGN_BOTTOM ? (y) - (h) : (y)) #define ALIGNED_TEXT_XPOS(p) ALIGNED_XPOS((p)->x, (p)->width, (p)->align) #define ALIGNED_TEXT_YPOS(p) ALIGNED_YPOS((p)->y, (p)->height, (p)->valign) +#define ALIGNED_VP_XPOS(p) ALIGNED_TEXT_XPOS(p) +#define ALIGNED_VP_YPOS(p) ALIGNED_TEXT_YPOS(p) // values for redraw_mask #define REDRAW_NONE (0) @@ -709,6 +711,7 @@ #define TREE_TYPE_LEVEL_DIR 3 #define TREE_TYPE_LEVEL_NR 4 +#define NUM_BASE_TREE_TYPES 4 #define NUM_TREE_TYPES 5 #define INFOTEXT_UNDEFINED "" @@ -730,6 +733,36 @@ INFOTEXT_MUSIC_DIR : \ INFOTEXT_UNDEFINED) +#define TREE_USERDIR(t) ((t) == TREE_TYPE_LEVEL_DIR ? \ + getUserLevelDir(NULL) : \ + (t) == TREE_TYPE_GRAPHICS_DIR ? \ + getUserGraphicsDir() : \ + (t) == TREE_TYPE_SOUNDS_DIR ? \ + getUserSoundsDir() : \ + (t) == TREE_TYPE_MUSIC_DIR ? \ + getUserMusicDir() : \ + NULL) + +#define TREE_FIRST_NODE_PTR(t) ((t) == TREE_TYPE_LEVEL_DIR ? \ + &leveldir_first : \ + (t) == TREE_TYPE_GRAPHICS_DIR ? \ + &artwork.gfx_first : \ + (t) == TREE_TYPE_SOUNDS_DIR ? \ + &artwork.snd_first : \ + (t) == TREE_TYPE_MUSIC_DIR ? \ + &artwork.mus_first : \ + NULL) + +#define TREE_FIRST_NODE(t) ((t) == TREE_TYPE_LEVEL_DIR ? \ + leveldir_first : \ + (t) == TREE_TYPE_GRAPHICS_DIR ? \ + artwork.gfx_first : \ + (t) == TREE_TYPE_SOUNDS_DIR ? \ + artwork.snd_first : \ + (t) == TREE_TYPE_MUSIC_DIR ? \ + artwork.mus_first : \ + NULL) + // values for artwork handling #define LEVELDIR_ARTWORK_SET_PTR(leveldir, type) \ ((type) == ARTWORK_TYPE_GRAPHICS ? \ @@ -825,6 +858,14 @@ (type) == ARTWORK_TYPE_MUSIC ? \ options.music_directory : "") +#define USER_ARTWORK_DIRECTORY(type) \ + ((type) == ARTWORK_TYPE_GRAPHICS ? \ + getUserGraphicsDir() : \ + (type) == ARTWORK_TYPE_SOUNDS ? \ + getUserSoundsDir() : \ + (type) == ARTWORK_TYPE_MUSIC ? \ + getUserMusicDir() : "") + #define UPDATE_BUSY_STATE() \ { \ if (gfx.draw_busy_anim_function != NULL) \ @@ -1533,7 +1574,19 @@ struct RectWithBorder { int x, y; int width, height; + int min_width, min_height; + int max_width, max_height; + int margin_left; + int margin_right; + int margin_top; + int margin_bottom; + int border_left; + int border_right; + int border_top; + int border_bottom; int border_size; + int align_size; + int align, valign; }; struct MenuPosInfo @@ -1680,6 +1733,7 @@ void SetTileCursorSXSY(int, int); void SetOverlayEnabled(boolean); void SetOverlayActive(boolean); void SetOverlayShowGrid(boolean); +boolean GetOverlayEnabled(void); boolean GetOverlayActive(void); void SetDrawDeactivationMask(int); int GetDrawDeactivationMask(void);