added preprocessor constant for undefined string parameter
[rocksndiamonds.git] / src / libgame / system.h
index 1c5104be52deafcf5a3e506b400645e1afce2fdd..06f49afaa59f96ad55991955757f5c3df5748ce6 100644 (file)
 // default value for undefined password
 #define UNDEFINED_PASSWORD     "[undefined]"
 
-// default value for undefined parameter
+// default value for undefined string parameter
+#define ARG_UNDEFINED_STRING   "[undefined]"
+
+// default value for default string parameter
 #define ARG_DEFAULT            "[DEFAULT]"
 
-// default values for undefined configuration file parameters
+// default values for undefined numerical parameter (as string and integer)
 #define ARG_UNDEFINED          "-1000000"
 #define ARG_UNDEFINED_VALUE    (-1000000)
 
 
 #define FALLBACK_TEXT_FILENAME "fallback.txt"
 
-#define LOG_OUT_BASENAME       "stdout.txt"
-#define LOG_ERR_BASENAME       "stderr.txt"
-
-#define LOG_OUT_ID             0
-#define LOG_ERR_ID             1
-#define NUM_LOGS               2
-
 #define STRING_PARENT_DIRECTORY                ".."
 #define STRING_TOP_DIRECTORY           "/"
 
@@ -1027,17 +1023,17 @@ struct ProgramInfo
   char *userdata_subdir;       // personal user game data directory
   char *userdata_path;         // resulting full path to game data directory
 
+  char *program_basename;
   char *program_title;
   char *window_title;
-  char *icon_title;
 
   char *icon_filename;
 
   char *cookie_prefix;
 
-  char *log_filename[NUM_LOGS];                // log filenames for out/err messages
-  FILE *log_file[NUM_LOGS];            // log file handles for out/err files
-  FILE *log_file_default[NUM_LOGS];    // default log file handles (out/err)
+  char *log_filename;                  // filename for log messages
+  FILE *log_file;                      // file handle for log files
+  FILE *log_file_default;              // default log file handle
 
   int version_super;
   int version_major;
@@ -1228,6 +1224,7 @@ struct GfxInfo
   struct FontBitmapInfo *font_bitmap_info;
   int (*select_font_function)(int);
   int (*get_font_from_token_function)(char *);
+  char * (*get_token_from_font_function)(int);
 
   int anim_random_frame;
 
@@ -1660,6 +1657,7 @@ struct TreeInfo
   boolean skip_levels; // levels can be skipped when set to "true"
 
   boolean use_emc_tiles;// use (swapped) V5/V6 EMC tiles when set to "true"
+  boolean info_screens_from_main; // can invoke info screens from main menu
 
   int color;           // color to use on selection screen for this level
   char *class_desc;    // description of level series class
@@ -1986,9 +1984,7 @@ boolean GetOverlayActive(void);
 void SetDrawDeactivationMask(int);
 int GetDrawDeactivationMask(void);
 void SetDrawBackgroundMask(int);
-void SetWindowBackgroundBitmap(Bitmap *);
-void SetMainBackgroundBitmap(Bitmap *);
-void SetDoorBackgroundBitmap(Bitmap *);
+void SetBackgroundBitmap(Bitmap *, int, int, int, int, int);
 void SetRedrawMaskFromArea(int, int, int, int);
 
 void LimitScreenUpdates(boolean);