X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=1ade3147a3705ae787d2fca34cdb78b71982a5b3;hb=b81f28710057e7d84528b65b92e9b4d1aaadab6c;hp=145bac1dddea768910ff0556548b9b1f6f4065ab;hpb=dfe0a71a9939e0c55bb54dcc92db1749e8e21747;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 145bac1d..1ade3147 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -51,13 +51,19 @@ /* default shortcut keys */ #define DEFAULT_KEY_SAVE_GAME KSYM_F1 #define DEFAULT_KEY_LOAD_GAME KSYM_F2 +#define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space -/* values for move directions */ +/* values for move directions and special "button" keys */ #define MV_NO_MOVING 0 #define MV_LEFT (1 << 0) #define MV_RIGHT (1 << 1) #define MV_UP (1 << 2) #define MV_DOWN (1 << 3) +#define KEY_BUTTON_1 (1 << 4) +#define KEY_BUTTON_2 (1 << 5) +#define KEY_MOTION (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN) +#define KEY_BUTTON (KEY_BUTTON_1 | KEY_BUTTON_2) +#define KEY_ACTION (KEY_MOTION | KEY_BUTTON) /* values for button status */ #define MB_NOT_PRESSED FALSE @@ -166,6 +172,10 @@ #define VERSION_MINOR(x) (((x) % 10000) / 100) #define VERSION_PATCH(x) ((x) % 100) +/* functions for parent/child process identification */ +#define IS_PARENT_PROCESS(pid) ((pid) > 0) +#define IS_CHILD_PROCESS(pid) ((pid) == 0) + /* type definitions */ typedef int (*EventFilter)(const Event *); @@ -211,6 +221,7 @@ struct OptionInfo boolean network; boolean verbose; boolean debug; + char *debug_command; }; struct VideoSystemInfo @@ -224,19 +235,20 @@ struct VideoSystemInfo struct AudioSystemInfo { boolean sound_available; - boolean music_available; boolean loops_available; - boolean mods_available; + boolean music_available; + boolean sound_enabled; + boolean sound_deactivated; /* for temporarily disabling sound */ - int soundserver_pipe[2]; - int soundserver_pid; + int mixer_pipe[2]; + int mixer_pid; char *device_name; int device_fd; - int channels; + int num_channels; int music_channel; - int music_nr; + int first_sound_channel; }; struct GfxInfo @@ -293,6 +305,7 @@ struct SetupShortcutInfo { Key save_game; Key load_game; + Key toggle_pause; }; struct SetupInfo @@ -320,6 +333,9 @@ struct SetupInfo char *graphics_set; char *sounds_set; char *music_set; + boolean override_level_graphics; + boolean override_level_sounds; + boolean override_level_music; struct SetupShortcutInfo shortcut; struct SetupInputInfo input[MAX_PLAYERS]; @@ -368,6 +384,7 @@ struct TreeInfo typedef struct TreeInfo TreeInfo; typedef struct TreeInfo LevelDirTree; +typedef struct TreeInfo ArtworkDirTree; typedef struct TreeInfo GraphicsDirTree; typedef struct TreeInfo SoundsDirTree; typedef struct TreeInfo MusicDirTree; @@ -381,9 +398,9 @@ struct ArtworkInfo MusicDirTree *mus_first; MusicDirTree *mus_current; - char *graphics_set_current; - char *sounds_set_current; - char *music_set_current; + char *graphics_set_current_name; + char *sounds_set_current_name; + char *music_set_current_name; }; @@ -465,7 +482,7 @@ inline boolean ChangeVideoModeIfNeeded(boolean); Bitmap *LoadImage(char *); Bitmap *LoadCustomImage(char *); -void ReloadCustomImage(Bitmap **, char *); +void ReloadCustomImage(Bitmap *, char *); inline void OpenAudio(void); inline void CloseAudio(void);