Author: zaroth
Date: Thu Jun  9 11:53:05 2011
New Revision: 49817

URL: http://svn.gna.org/viewcvs/wesnoth?rev=49817&view=rev
Log:
added editor to commandline_options

Modified:
    trunk/src/commandline_options.cpp
    trunk/src/game_controller.cpp
    trunk/src/tests/test_commandline_options.cpp

Modified: trunk/src/commandline_options.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/commandline_options.cpp?rev=49817&r1=49816&r2=49817&view=diff
==============================================================================
--- trunk/src/commandline_options.cpp (original)
+++ trunk/src/commandline_options.cpp Thu Jun  9 11:53:05 2011
@@ -119,6 +119,7 @@
                ("debug-dot-level", po::value<std::string>(), "sets the level 
of the debug dot files. <arg> should be a comma separated list of levels. These 
files are used for debugging the widgets especially the for the layout engine. 
When enabled the engine will produce dot files which can be converted to images 
with the dot tool. Available levels: size (generate the size info of the 
widget), state (generate the state info of the widget).")
                ("debug-dot-domain", po::value<std::string>(), "sets the domain 
of the debug dot files. <arg> should be a comma separated list of domains. See 
--debug-dot-level for more info. Available domains: show (generate the data 
when the dialog is about to be shown), layout (generate the data during the 
layout phase - might result in multiple files). The data can also be generated 
when the F12 is pressed in a dialog.")
 #endif
+               ("editor,e", 
po::value<std::string>()->implicit_value(std::string()), "starts the in-game 
map editor directly. If file <arg> is specified, equivalent to -e --load 
<arg>.")
                ("gunzip", po::value<std::string>(), "decompresses a file 
(<arg>.gz) in gzip format and stores it without the .gz suffix. <arg>.gz will 
be removed.")
                ("gzip", po::value<std::string>(), "compresses a file (<arg>) 
in gzip format, stores it as <arg>.gz and removes <arg>.")
                ("help,h", "prints this message and exits.")
@@ -137,6 +138,11 @@
                ("version,v", "prints the game's version number and exits.")
                ("with-replay", "replays the file loaded with the --load 
option.")
                ;
+
+       po::options_description campaign_opts("Campaign options");
+       campaign_opts.add_options()
+               ;
+
        po::options_description display_opts("Display options");
        display_opts.add_options()
                ("bpp", po::value<int>(), "sets BitsPerPixel value. Example: 
--bpp 32")
@@ -185,7 +191,7 @@
                ("new-storyscreens", "")
                ("smallgui", "")
                ;
-       
visible_.add(general_opts).add(display_opts).add(logging_opts).add(multiplayer_opts).add(preprocessor_opts).add(proxy_opts);
+       
visible_.add(general_opts).add(campaign_opts).add(display_opts).add(logging_opts).add(multiplayer_opts).add(preprocessor_opts).add(proxy_opts);
        
        all_.add(visible_).add(hidden_);
 
@@ -216,6 +222,8 @@
        if (vm.count("debug-dot-level")
                debug_dot_domain = vm["debug-dot-level"].as<std::string>();
 #endif
+       if (vm.count("editor"))
+               editor = vm["editor"].as<std::string>();
        if (vm.count("fps"))
                fps = true;
        if (vm.count("fullscreen"))

Modified: trunk/src/game_controller.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/game_controller.cpp?rev=49817&r1=49816&r2=49817&view=diff
==============================================================================
--- trunk/src/game_controller.cpp (original)
+++ trunk/src/game_controller.cpp Thu Jun  9 11:53:05 2011
@@ -135,6 +135,12 @@
        if (cmdline_opts_.debug_dot_level)
                gui2::tdebug_layout_graph::set_level 
(*cmdline_opts_.debug_dot_level);
 #endif
+       if (cmdline_opts_.editor)
+       {
+               jump_to_editor_ = true;
+               if(!cmdline_opts_.editor->empty())
+                       game::load_game_exception::game = *cmdline_opts_.editor;
+       }
        if (cmdline_opts_.fps)
                preferences::set_show_fps(true);
        if (cmdline_opts_.fullscreen)
@@ -278,14 +284,6 @@
                                jump_to_campaign_.scenario_id_ = 
std::string(argv_[arg_]);
                                std::cerr<<"selected scenario id: 
["<<jump_to_campaign_.scenario_id_<<"]\n";
                        }
-               } else if(val == "-e" || val == "--editor") {
-                       jump_to_editor_ = true;
-                       if(arg_+1 != argc_) {
-                               if (argv_[arg_ + 1][0] != '-') {
-                                       ++arg_;
-                                       game::load_game_exception::game = 
argv_[arg_];
-                               }
-                       }
                } else if(val[0] == '-') {
                        std::cerr << "unknown option: " << val << std::endl;
                        //throw config::error("unknown option"); TODO will be 
unnecessary here once commandline_options is completed

Modified: trunk/src/tests/test_commandline_options.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/tests/test_commandline_options.cpp?rev=49817&r1=49816&r2=49817&view=diff
==============================================================================
--- trunk/src/tests/test_commandline_options.cpp (original)
+++ trunk/src/tests/test_commandline_options.cpp Thu Jun  9 11:53:05 2011
@@ -45,8 +45,8 @@
        BOOST_CHECK(!co.gunzip);
        BOOST_CHECK(!co.gzip);
        BOOST_CHECK(!co.help);
+       BOOST_CHECK(!co.load);
        BOOST_CHECK(!co.log);
-       BOOST_CHECK(!co.load);
        BOOST_CHECK(!co.logdomains);
        BOOST_CHECK(!co.multiplayer);
        BOOST_CHECK(!co.multiplayer_ai_config);
@@ -97,6 +97,7 @@
        const char *argv[] =
        {
                "wesnoth",
+               "--editor",
                "--logdomains",
                "--preprocess-output-macros",
                "--server",
@@ -118,14 +119,14 @@
        BOOST_CHECK(!co.debug_dot_domain);
        BOOST_CHECK(!co.debug_dot_level);
 #endif
-       BOOST_CHECK(!co.editor);
+       BOOST_CHECK(co.editor && co.editor->empty());
        BOOST_CHECK(!co.fps);
        BOOST_CHECK(!co.fullscreen);
        BOOST_CHECK(!co.gunzip);
        BOOST_CHECK(!co.gzip);
        BOOST_CHECK(!co.help);
+       BOOST_CHECK(!co.load);
        BOOST_CHECK(!co.log);
-       BOOST_CHECK(!co.load);
        BOOST_CHECK(co.logdomains && co.logdomains->empty());
        BOOST_CHECK(!co.multiplayer);
        BOOST_CHECK(!co.multiplayer_ai_config);
@@ -188,6 +189,7 @@
                "--debug-dot-domain=ddfoo",
                "--debug-dot-level=dlfoo",
 #endif
+               "--editor=editfoo",
                "--fps",
                "--fullscreen",
                "--gunzip=gunzipfoo.gz",
@@ -246,12 +248,13 @@
        BOOST_CHECK(co.debug_dot_domain && *co.debug_dot_domain == "ddfoo");
        BOOST_CHECK(co.debug_dot_level && *co.debug_dot_level == "dlfoo");
 #endif
-       BOOST_CHECK(!co.editor);
+       BOOST_CHECK(co.editor && *co.editor == "editfoo");
        BOOST_CHECK(co.fps);
        BOOST_CHECK(co.fullscreen);
        BOOST_CHECK(co.gunzip && *co.gunzip == "gunzipfoo.gz");
        BOOST_CHECK(co.gzip && *co.gzip == "gzipfoo");
        BOOST_CHECK(co.help);
+       BOOST_CHECK(co.load && *co.load == "loadfoo");
        BOOST_CHECK(co.log);
        BOOST_CHECK(co.log->size()==8);
        BOOST_CHECK(co.log->at(0).get<0>() == 0 && co.log->at(1).get<0>() == 0);
@@ -262,7 +265,6 @@
        BOOST_CHECK(co.log->at(4).get<1>() == "infofoo");
        BOOST_CHECK(co.log->at(5).get<0>() == 3 && co.log->at(6).get<0>() == 3 
&& co.log->at(7).get<0>() == 3);
        BOOST_CHECK(co.log->at(5).get<1>() == "dbgfoo" && 
co.log->at(6).get<1>() == "dbgbar" && co.log->at(7).get<1>() == 
"dbg/foo/bar/baz");
-       BOOST_CHECK(co.load && *co.load == "loadfoo");
        BOOST_CHECK(co.logdomains && *co.logdomains == "filterfoo");
        BOOST_CHECK(co.multiplayer);
        BOOST_CHECK(co.multiplayer_ai_config);
@@ -340,8 +342,8 @@
        BOOST_CHECK(!co.gunzip);
        BOOST_CHECK(!co.gzip);
        BOOST_CHECK(!co.help);
+       BOOST_CHECK(!co.load);
        BOOST_CHECK(!co.log);
-       BOOST_CHECK(!co.load);
        BOOST_CHECK(!co.logdomains);
        BOOST_CHECK(!co.multiplayer);
        BOOST_CHECK(!co.multiplayer_ai_config);


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to