rnd-20030417-1-src
[rocksndiamonds.git] / src / libgame / system.h
index c8afb2de3187d3aed2f8236c1447a1cbbfa6c61e..706c4fda6dfe9c842e84b2aacaf1f7138b868424 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 CURSOR_DEFAULT         0
 #define CURSOR_PLAYFIELD       1
 
-#define CURSOR_MAX_WIDTH       32
-#define CURSOR_MAX_HEIGHT      32
-
 
 /* maximum number of parallel players supported by libgame functions */
 #define MAX_PLAYERS            4
 #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 */
@@ -280,6 +282,7 @@ struct OptionInfo
   char *graphics_directory;
   char *sounds_directory;
   char *music_directory;
+  char *docs_directory;
   char *execute_command;
 
   boolean serveronly;
@@ -321,6 +324,8 @@ 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 */
@@ -352,7 +357,6 @@ struct GfxInfo
   int num_fonts;
   struct FontBitmapInfo *font_bitmap_info;
   int (*select_font_function)(int);
-  Pixel inverse_text_color;
 
   int anim_random_frame;
 };
@@ -363,15 +367,6 @@ struct JoystickInfo
   int fd[MAX_PLAYERS];         /* file descriptor of player's joystick */
 };
 
-struct MouseCursorInfo
-{
-  int width, height;
-  int hot_x, hot_y;
-
-  char data[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
-  char mask[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
-};
-
 struct SetupJoystickInfo
 {
   char *device_name;           /* device name of player's joystick */
@@ -537,6 +532,12 @@ struct ArtworkInfo
   char *mus_current_identifier;
 };
 
+struct ValueTextInfo
+{
+  int value;
+  char *text;
+};
+
 struct ConfigInfo
 {
   char *token;