X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=743a8b9bfd013d47940fce121c5fe20edd431f97;hb=1e4d3fd0343fa76d5d1e2803b33bb6faa97403d4;hp=316de68ed16bc4f1c84817d79f9472b2c8b1966a;hpb=1101077a226b09854650662759bf12caf7c84f8d;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 316de68e..743a8b9b 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2001 Artsoft Entertainment * +* (c) 1994-2002 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -27,6 +27,14 @@ #include "x11.h" #endif +#if defined(PLATFORM_MACOSX) +/* some symbols are already defined on Mac OS X */ +#define Delay Delay_internal +#define DrawLine DrawLine_internal +#define DrawText DrawText_internal +#define GetPixel GetPixel_internal +#endif + /* the additional 'b' is needed for Win32 to open files in binary mode */ #define MODE_READ "rb" @@ -43,8 +51,13 @@ #define DEFAULT_KEY_RIGHT KSYM_Right #define DEFAULT_KEY_UP KSYM_Up #define DEFAULT_KEY_DOWN KSYM_Down +#if defined(PLATFORM_MACOSX) +#define DEFAULT_KEY_SNAP KSYM_Control_L +#define DEFAULT_KEY_BOMB KSYM_KP_Enter +#else #define DEFAULT_KEY_SNAP KSYM_Shift_L #define DEFAULT_KEY_BOMB KSYM_Shift_R +#endif #define DEFAULT_KEY_OKAY KSYM_Return #define DEFAULT_KEY_CANCEL KSYM_Escape @@ -115,6 +128,9 @@ /* default name for unknown player names */ #define ANONYMOUS_NAME "anonymous" +/* default text for non-existant artwork */ +#define NOT_AVAILABLE "(not available)" + /* default name for new levels */ #define NAMELESS_LEVEL_NAME "nameless level" @@ -172,6 +188,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 *); @@ -217,6 +237,7 @@ struct OptionInfo boolean network; boolean verbose; boolean debug; + char *debug_command; }; struct VideoSystemInfo @@ -236,13 +257,14 @@ struct AudioSystemInfo 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 first_sound_channel; }; struct GfxInfo @@ -327,6 +349,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]; @@ -375,6 +400,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; @@ -388,9 +414,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; };