X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flibgame%2Fsystem.h;h=0b210ed01f0584645db71364b390fbfa5700432a;hb=83adf00a85bdb806048eb96c1266d81c0d352ce9;hp=6ced002e0f1c3992789d77b8eeb1fed1385c6efe;hpb=a9fdf0f34330258db071a405ae820021c25126af;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 6ced002e..0b210ed0 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -337,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 : \ @@ -344,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 : \ @@ -372,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 : \ @@ -412,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;