added debug output for scores directory used (global or private)
[rocksndiamonds.git] / src / libgame / system.c
index 3b206b265e3ec2f468b859a3f2a2b06ae40fb21b..b5de8c9e6959ee11848072c3ec9599f0e52a9850 100644 (file)
@@ -96,6 +96,33 @@ void InitProgramInfo(char *argv0, char *config_filename, char *userdata_subdir,
   program.log_filename[LOG_ERR_ID] = getLogFilename(LOG_ERR_BASENAME);
   program.log_file[LOG_OUT_ID] = program.log_file_default[LOG_OUT_ID] = stdout;
   program.log_file[LOG_ERR_ID] = program.log_file_default[LOG_ERR_ID] = stderr;
+
+  program.headless = FALSE;
+}
+
+void InitScoresInfo()
+{
+  char *global_scores_dir = getPath2(getCommonDataDir(), SCORES_DIRECTORY);
+
+  program.global_scores = directoryExists(global_scores_dir);
+  program.many_scores_per_name = !program.global_scores;
+
+  if (options.debug)
+  {
+    if (program.global_scores)
+    {
+      Error(ERR_DEBUG, "Using global, multi-user scores directory '%s'.",
+           global_scores_dir);
+      Error(ERR_DEBUG, "Remove to enable single-user scores directory.");
+      Error(ERR_DEBUG, "(This enables multipe score entries per user.)");
+    }
+    else
+    {
+      Error(ERR_DEBUG, "Using private, single-user scores directory.");
+    }
+  }
+
+  free(global_scores_dir);
 }
 
 void SetWindowTitle()
@@ -378,6 +405,9 @@ void LimitScreenUpdates(boolean enable)
 
 void InitVideoDisplay(void)
 {
+  if (program.headless)
+    return;
+
   SDLInitVideoDisplay();
 #if defined(TARGET_SDL2)
   SDLSetDisplaySize();
@@ -611,6 +641,9 @@ void BlitBitmap(Bitmap *src_bitmap, Bitmap *dst_bitmap,
   int dst_x_unclipped = dst_x;
   int dst_y_unclipped = dst_y;
 
+  if (program.headless)
+    return;
+
   if (src_bitmap == NULL || dst_bitmap == NULL)
     return;