rnd-20030416-1-src
[rocksndiamonds.git] / src / libgame / system.h
index a2eda6d6eccfa7c89a644d96a7d4684128c8f1eb..50b82f3ad480086cbca7447102e9f119e6c648c0 100644 (file)
@@ -42,6 +42,8 @@
 
 #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
 #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"
 #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 */
@@ -277,6 +282,7 @@ struct OptionInfo
   char *graphics_directory;
   char *sounds_directory;
   char *music_directory;
+  char *docs_directory;
   char *execute_command;
 
   boolean serveronly;
@@ -318,9 +324,12 @@ struct FontBitmapInfo
   int src_x, src_y;            /* start position of animation frames */
   int width, height;           /* width/height of each animation frame */
   int draw_x, draw_y;          /* offset for drawing font characters */
+  int num_chars;
+  int num_chars_per_line;
 
 #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
 };
 
@@ -349,7 +358,6 @@ struct GfxInfo
   int num_fonts;
   struct FontBitmapInfo *font_bitmap_info;
   int (*select_font_function)(int);
-  Pixel inverse_text_color;
 
   int anim_random_frame;
 };
@@ -525,6 +533,12 @@ struct ArtworkInfo
   char *mus_current_identifier;
 };
 
+struct ValueTextInfo
+{
+  int value;
+  char *text;
+};
+
 struct ConfigInfo
 {
   char *token;