X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=d4c1884c17ce45a98010efe785613d3ad032a24b;hb=caf3da0a0e3af75eb8d10f83e5105581402b387e;hp=a73f8a4653cc04836faaf245ff72fe5f121122ce;hpb=75add713b14147fbd222c48504c4e797f3125286;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index a73f8a46..d4c1884c 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -43,6 +43,7 @@ #define BLIT_OPAQUE 0 #define BLIT_MASKED 1 #define BLIT_INVERSE 2 +#define BLIT_ON_BACKGROUND 3 #define FULLSCREEN_NOT_AVAILABLE FALSE #define FULLSCREEN_AVAILABLE TRUE @@ -68,13 +69,26 @@ #define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space -/* values for move directions and special "button" keys */ +/* values for basic move directions (effective at runtime) */ #define MV_BIT_LEFT 0 #define MV_BIT_RIGHT 1 #define MV_BIT_UP 2 #define MV_BIT_DOWN 3 + #define NUM_DIRECTIONS 4 +/* values for special move patterns (stored in level files) */ +#define MV_BIT_HORIZONTAL 4 +#define MV_BIT_VERTICAL 5 +#define MV_BIT_ALL_DIRECTIONS 6 +#define MV_BIT_TOWARDS_PLAYER 7 +#define MV_BIT_AWAY_FROM_PLAYER 8 +#define MV_BIT_ALONG_LEFT_SIDE 9 +#define MV_BIT_ALONG_RIGHT_SIDE 10 + +#define NUM_MOVE_PATTERNS 11 + +/* values for move direction and special "button" key bitmasks */ #define MV_NO_MOVING 0 #define MV_LEFT (1 << MV_BIT_LEFT) #define MV_RIGHT (1 << MV_BIT_RIGHT) @@ -192,6 +206,7 @@ #define LEVELS_DIRECTORY "levels" #define TAPES_DIRECTORY "tapes" #define SCORES_DIRECTORY "scores" +#define DOCS_DIRECTORY "docs" #if !defined(PLATFORM_MSDOS) #define GRAPHICS_SUBDIR "gfx_classic" @@ -232,9 +247,11 @@ #if defined(PLATFORM_UNIX) #define IS_PARENT_PROCESS() (audio.mixer_pid != getpid()) #define IS_CHILD_PROCESS() (audio.mixer_pid == getpid()) +#define HAS_CHILD_PROCESS() (audio.mixer_pid > 0) #else #define IS_PARENT_PROCESS() TRUE #define IS_CHILD_PROCESS() FALSE +#define HAS_CHILD_PROCESS() FALSE #endif /* type definitions */ @@ -278,6 +295,7 @@ struct OptionInfo char *graphics_directory; char *sounds_directory; char *music_directory; + char *docs_directory; char *execute_command; boolean serveronly; @@ -324,7 +342,6 @@ struct FontBitmapInfo #if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND) Pixmap *clip_mask; /* single-char-only clip mask array for X11 */ - int last_num_chars; /* to free last font clip masks */ #endif }; @@ -353,7 +370,6 @@ struct GfxInfo int num_fonts; struct FontBitmapInfo *font_bitmap_info; int (*select_font_function)(int); - Pixel inverse_text_color; int anim_random_frame; }; @@ -529,6 +545,12 @@ struct ArtworkInfo char *mus_current_identifier; }; +struct ValueTextInfo +{ + int value; + char *text; +}; + struct ConfigInfo { char *token; @@ -536,6 +558,12 @@ struct ConfigInfo int type; }; +struct TokenIntPtrInfo +{ + char *token; + int *value; +}; + struct FileInfo { char *token;