X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=0b210ed01f0584645db71364b390fbfa5700432a;hb=ea6e4698905d7440a265e323d03cf13fc323c44b;hp=903c982ca238b49f6cf10a2f86f2b1649450c743;hpb=3fb9d9cf97f3d4da6066f3c6b2ce84c81b768982;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 903c982c..0b210ed0 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -110,6 +110,7 @@ #define MV_VERTICAL (MV_UP | MV_DOWN) #define MV_ALL_DIRECTIONS (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN) #define MV_ANY_DIRECTION (MV_ALL_DIRECTIONS) +#define MV_NO_DIRECTIONS (MV_NO_MOVING) #define KEY_BUTTON_1 (1 << BUTTON_1) #define KEY_BUTTON_2 (1 << BUTTON_2) @@ -336,6 +337,13 @@ /* values for artwork handling */ +#define LEVELDIR_ARTWORK_SET_PTR(leveldir, type) \ + ((type) == ARTWORK_TYPE_GRAPHICS ? \ + &(leveldir)->graphics_set : \ + (type) == ARTWORK_TYPE_SOUNDS ? \ + &(leveldir)->sounds_set : \ + &(leveldir)->music_set) + #define LEVELDIR_ARTWORK_SET(leveldir, type) \ ((type) == ARTWORK_TYPE_GRAPHICS ? \ (leveldir)->graphics_set : \ @@ -343,6 +351,13 @@ (leveldir)->sounds_set : \ (leveldir)->music_set) +#define LEVELDIR_ARTWORK_PATH_PTR(leveldir, type) \ + ((type) == ARTWORK_TYPE_GRAPHICS ? \ + &(leveldir)->graphics_path : \ + (type) == ARTWORK_TYPE_SOUNDS ? \ + &(leveldir)->sounds_path : \ + &(leveldir)->music_path) + #define LEVELDIR_ARTWORK_PATH(leveldir, type) \ ((type) == ARTWORK_TYPE_GRAPHICS ? \ (leveldir)->graphics_path : \ @@ -371,6 +386,13 @@ (artwork).snd_first : \ (artwork).mus_first) +#define ARTWORK_CURRENT_IDENTIFIER_PTR(artwork, type) \ + ((type) == ARTWORK_TYPE_GRAPHICS ? \ + &(artwork).gfx_current_identifier : \ + (type) == ARTWORK_TYPE_SOUNDS ? \ + &(artwork).snd_current_identifier : \ + &(artwork).mus_current_identifier) + #define ARTWORK_CURRENT_IDENTIFIER(artwork, type) \ ((type) == ARTWORK_TYPE_GRAPHICS ? \ (artwork).gfx_current_identifier : \ @@ -411,8 +433,9 @@ typedef int (*EventFilter)(const Event *); struct ProgramInfo { - char *command_basename; - char *userdata_directory; + char *command_basepath; /* directory that contains the program */ + char *command_basename; /* base filename of the program binary */ + char *userdata_directory; /* personal user data directory */ char *program_title; char *window_title;