enabled init time debugging messages when compiled with debug code
[rocksndiamonds.git] / src / libgame / misc.c
index 0b70e206b6002424b9adf0b94254a77b44919ab9..7863159bf22ca434afb0952cc7b4bb0e9962b2e2 100644 (file)
@@ -363,6 +363,38 @@ static void Log(int log_level, char *mode, char *format, ...)
   va_end(ap);
 }
 
+void DebugContinued(char *mode, char *format, ...)
+{
+  static char message[MAX_LINE_LEN] = { 0 };
+
+  // initialize message (optional)
+  if (strEqual(format, ""))
+  {
+    message[0] = '\0';
+
+    return;
+  }
+
+  char *message_ptr = message + strlen(message);
+  int size_left = MAX_LINE_LEN - strlen(message);
+  va_list ap;
+
+  // append message
+  va_start(ap, format);
+  vsnprintf(message_ptr, size_left, format, ap);
+  va_end(ap);
+
+  // finalize message
+  if (strSuffix(format, "\n"))
+  {
+    message[strlen(message) - 1] = '\0';
+
+    Debug(mode, message);
+
+    message[0] = '\0';
+  }
+}
+
 void Debug(char *mode, char *format, ...)
 {
   va_list ap;
@@ -1321,30 +1353,6 @@ void GetOptions(int argc, char *argv[],
 }
 
 
-// ----------------------------------------------------------------------------
-// error handling functions
-// ----------------------------------------------------------------------------
-
-#define MAX_INTERNAL_ERROR_SIZE                1024
-
-// used by SetError() and GetError() to store internal error messages
-static char internal_error[MAX_INTERNAL_ERROR_SIZE];
-
-void SetError(char *format, ...)
-{
-  va_list ap;
-
-  va_start(ap, format);
-  vsnprintf(internal_error, MAX_INTERNAL_ERROR_SIZE, format, ap);
-  va_end(ap);
-}
-
-char *GetError(void)
-{
-  return internal_error;
-}
-
-
 // ----------------------------------------------------------------------------
 // checked memory allocation and freeing functions
 // ----------------------------------------------------------------------------
@@ -3777,7 +3785,7 @@ void NotifyUserAboutErrorFile(void)
 
 #if DEBUG
 
-#define DEBUG_PRINT_INIT_TIMESTAMPS            FALSE
+#define DEBUG_PRINT_INIT_TIMESTAMPS            TRUE
 #define DEBUG_PRINT_INIT_TIMESTAMPS_DEPTH      10
 
 #define DEBUG_NUM_TIMESTAMPS                   10
@@ -3845,7 +3853,7 @@ void debug_print_timestamp(int counter_nr, char *message)
   counter[counter_nr][1] = counter[counter_nr][0];
 
   if (message)
-    Debug("time", "%s%s%s %.3f %s",
+    Debug("time:init", "%s%s%s %.3f %s",
          debug_print_timestamp_get_padding(counter_nr * indent_size),
          message,
          debug_print_timestamp_get_padding(padding_size - strlen(message)),