X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=73fc371603eaf3d6afb3953e1f7b2908137ad545;hb=1be3e5c990b84f8548a80ccd6b7b209a88312141;hp=ffb8f185c41ff7bca179531e9c95b6fc3706c64e;hpb=f11d2545f41637e871283f7624dccc8243d05138;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index ffb8f185..73fc3716 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -118,6 +118,11 @@ #define SCREEN_KEYBOARD_POS(h) ((h) / 2) #endif +// values for drag-and-drop support (some parts not added before SDL 2.0.5) +#if SDL_VERSION_ATLEAST(2,0,5) +#define USE_DRAG_AND_DROP +#endif + // default input keys #define DEFAULT_KEY_LEFT KSYM_Left #define DEFAULT_KEY_RIGHT KSYM_Right @@ -743,6 +748,26 @@ 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 ? \ @@ -838,6 +863,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) \