X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=4d8940d135125a919641ff08b5e94ddc70b31499;hb=9231085da17abf4dfcd4938d4adc215e0a5f0647;hp=19fdf64538fb42b88e55bac7d30f759065366305;hpb=066b410c0573fe64a1783116daf9d64883e9f03e;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 19fdf645..4d8940d1 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 @@ -224,10 +230,14 @@ 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 */ + + void (*func_reload_sounds)(void); + void (*func_reload_music)(void); int soundserver_pipe[2]; int soundserver_pid; @@ -236,7 +246,6 @@ struct AudioSystemInfo int channels; int music_channel; - int music_nr; }; struct GfxInfo @@ -293,6 +302,7 @@ struct SetupShortcutInfo { Key save_game; Key load_game; + Key toggle_pause; }; struct SetupInfo @@ -443,7 +453,6 @@ inline void CloseVideoDisplay(void); inline void InitVideoBuffer(DrawBuffer **,DrawWindow **, int,int,int, boolean); inline Bitmap *CreateBitmapStruct(void); inline Bitmap *CreateBitmap(int, int, int); -inline void TransferBitmapPointers(Bitmap *, Bitmap *); inline void FreeBitmap(Bitmap *); inline void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int); inline void ClearRectangle(Bitmap *, int, int, int, int); @@ -466,11 +475,13 @@ inline boolean ChangeVideoModeIfNeeded(boolean); Bitmap *LoadImage(char *); Bitmap *LoadCustomImage(char *); -Bitmap *ReloadCustomImage(Bitmap **, char *); +void ReloadCustomImage(Bitmap *, char *); inline void OpenAudio(void); inline void CloseAudio(void); inline void SetAudioMode(boolean); +inline void SetAudioReloadFunctions(void (*func_reload_sounds)(void), + void (*func_reload_music)(void)); inline void InitEventFilter(EventFilter); inline boolean PendingEvent(void);