Added --debug and --verbose command line arguments
authorIngo Ruhnke <grumbel@gmail.com>
Mon, 11 Aug 2014 22:12:46 +0000 (00:12 +0200)
committerIngo Ruhnke <grumbel@gmail.com>
Mon, 11 Aug 2014 22:13:01 +0000 (00:13 +0200)
src/supertux/command_line_arguments.cpp
src/supertux/command_line_arguments.hpp
src/supertux/main.cpp

index 50d16ca..f69496c 100644 (file)
 #include "supertux/gameconfig.hpp"
 #include "supertux/main.hpp"
 #include "util/gettext.hpp"
-#include "util/log.hpp"
 #include "version.h"
 
 CommandLineArguments::CommandLineArguments() :
   m_action(NO_ACTION),
+  m_log_level(LOG_WARNING),
   fullscreen_size(),
   fullscreen_refresh_rate(),
   window_size(),
@@ -73,6 +73,8 @@ CommandLineArguments::print_help(const char* argv0)
                  "\n"
                  "Usage: %s [OPTIONS] [LEVELFILE]\n\n"
                  "CommandLineArguments:\n"
+                 "  --verbose                    Print verbose messages\n"
+                 "  --debug                      Print extra verbose messages\n"
                  "  -f, --fullscreen             Run in fullscreen mode\n"
                  "  -w, --window                 Run in window mode\n"
                  "  -g, --geometry WIDTHxHEIGHT  Run SuperTux in given resolution\n"
@@ -127,6 +129,17 @@ CommandLineArguments::parse_args(int argc, char** argv)
     {
       m_action = PRINT_DATADIR;
     }
+    else if (arg == "--debug")
+    {
+      m_log_level = LOG_DEBUG;
+    }
+    else if (arg == "--verbose")
+    {
+      if (m_log_level < LOG_INFO)
+      {
+        m_log_level = LOG_INFO;
+      }
+    }
     else if (arg == "--fullscreen" || arg == "-f")
     {
       use_fullscreen = true;
index 9032786..9fadc63 100644 (file)
@@ -20,6 +20,7 @@
 #include <boost/optional.hpp>
 
 #include "math/size.hpp"
+#include "util/log.hpp"
 #include "video/video_systems.hpp"
 
 class Config;
@@ -38,6 +39,7 @@ public:
 
 private:
   Action m_action;
+  LogLevel m_log_level;
 
 public:
   boost::optional<Size> fullscreen_size;
@@ -69,6 +71,7 @@ public:
   ~CommandLineArguments();
 
   Action get_action() const { return m_action; }
+  LogLevel get_log_level() const { return m_log_level; }
 
   void parse_args(int argc, char** argv);
 
index c231938..682b85c 100644 (file)
@@ -282,6 +282,7 @@ Main::run(int argc, char** argv)
     try
     {
       args.parse_args(argc, argv);
+      g_log_level = args.get_log_level();
     }
     catch(const std::exception& err)
     {