Browse Source

Centralized printing to the console.

Lasse Öörni 13 years ago
parent
commit
a542fae7b6
3 changed files with 13 additions and 10 deletions
  1. 8 6
      Engine/Core/ProcessUtils.cpp
  2. 2 2
      Engine/Core/ProcessUtils.h
  3. 3 2
      Engine/IO/Log.cpp

+ 8 - 6
Engine/Core/ProcessUtils.cpp

@@ -102,13 +102,13 @@ void ErrorDialog(const String& title, const String& message)
     #ifdef WIN32
     MessageBoxW(0, WString(message).CString(), WString(title).CString(), 0);
     #else
-    printf("%s\n", message.CString());
+    PrintLine(message);
     #endif
 }
 
 void ErrorExit(const String& message, int exitCode)
 {
-    printf("%s", message.CString());
+    Print(message);
     exit(exitCode);
 }
 
@@ -136,14 +136,16 @@ void OpenConsoleWindow()
     #endif
 }
 
-void PrintLine(const String& str)
+void Print(const String& str)
 {
-    printf("%s\n", str.CString());
+    /// \todo Handle Unicode
+    printf("%s", str.CString());
 }
 
-void PrintLine(const char* str)
+void PrintLine(const String& str)
 {
-    printf("%s\n", str);
+    /// \todo Handle Unicode
+    printf("%s\n", str.CString());
 }
 
 const Vector<String>& ParseArguments(const String& cmdLine)

+ 2 - 2
Engine/Core/ProcessUtils.h

@@ -35,10 +35,10 @@ void ErrorDialog(const String& title, const String& message);
 void ErrorExit(const String& message, int exitCode = 1);
 /// Open a console window.
 void OpenConsoleWindow();
+/// Print to the console without adding a newline.
+void Print(const String& str);
 /// Print to the console. A newline will be added automatically.
 void PrintLine(const String& str);
-/// Print to the console. A newline will be added automatically.
-void PrintLine(const char* str);
 /// Parse arguments from the command line.
 const Vector<String>& ParseArguments(const String& cmdLine);
 /// Parse arguments from the command line.

+ 3 - 2
Engine/IO/Log.cpp

@@ -26,6 +26,7 @@
 #include "File.h"
 #include "IOEvents.h"
 #include "Log.h"
+#include "ProcessUtils.h"
 
 #include <cstdio>
 #include <ctime>
@@ -91,7 +92,7 @@ void Log::Write(int level, const String& message)
     String dateTimeString = String(dateTime).Replaced("\n", "");
     String formattedMessage = "[" + dateTimeString + "] " + levelPrefixes[level] + ": " + message;
     
-    printf("%s\n", formattedMessage.CString());
+    PrintLine(formattedMessage);
     
     if (logFile_)
         logFile_->WriteLine(formattedMessage);
@@ -114,7 +115,7 @@ void Log::WriteRaw(const String& message)
     inWrite_ = true;
     lastMessage_ = message;
     
-    printf("%s", message.CString());
+    Print(message);
     
     if (logFile_)
     {