Author: zaroth
Date: Thu Jun  9 11:53:10 2011
New Revision: 49819

URL: http://svn.gna.org/viewcvs/wesnoth?rev=49819&view=rev
Log:
Added exit-at-end and turns options to commandline_options

Modified:
    trunk/src/commandline_options.cpp
    trunk/src/commandline_options.hpp
    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=49819&r1=49818&r2=49819&view=diff
==============================================================================
--- trunk/src/commandline_options.cpp (original)
+++ trunk/src/commandline_options.cpp Thu Jun  9 11:53:10 2011
@@ -63,8 +63,10 @@
        multiplayer_algorithm(),
        multiplayer_controller(),
        multiplayer_era(),
+       multiplayer_exit_at_end(),
        multiplayer_label(),
        multiplayer_parm(),
+       multiplayer_scenario(),
        multiplayer_side(),
        multiplayer_turns(),
        max_fps(),
@@ -170,7 +172,9 @@
        multiplayer_opts.add_options()
                ("multiplayer,m", "Starts a multiplayer game. There are 
additional options that can be used as explained below:")
                ("ai-config", po::value<std::vector<std::string> 
>()->composing(), "arg should have format side:value\nselects a configuration 
file to load for this side.")
+               ("exit-at-end", "exit Wesnoth at the end of the scenario.")
                ("nogui", "runs the game without the GUI.")
+               ("turns", po::value<std::string>(), "sets the number of turns. 
The default is \"50\".")
                ;
 
        po::options_description preprocessor_opts("Preprocessor mode options");
@@ -233,6 +237,8 @@
 #endif
        if (vm.count("editor"))
                editor = vm["editor"].as<std::string>();
+       if (vm.count("exit-at-end"))
+               multiplayer_exit_at_end = true;
        if (vm.count("fps"))
                fps = true;
        if (vm.count("fullscreen"))
@@ -313,6 +319,8 @@
                server = vm["server"].as<std::string>();
        if (vm.count("test"))
                test = vm["test"].as<std::string>();
+       if (vm.count("turns"))
+               multiplayer_turns = vm["turns"].as<std::string>();
        if (vm.count("smallgui"))
                smallgui = true;
        if (vm.count("validcache"))

Modified: trunk/src/commandline_options.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/commandline_options.hpp?rev=49819&r1=49818&r2=49819&view=diff
==============================================================================
--- trunk/src/commandline_options.hpp (original)
+++ trunk/src/commandline_options.hpp Thu Jun  9 11:53:10 2011
@@ -84,10 +84,14 @@
        boost::optional<std::vector<boost::tuple<int, std::string> > > 
multiplayer_controller;
        /// Non-empty if --era was given on the command line. Dependant on 
--multiplayer.
        boost::optional<std::string> multiplayer_era;
+       /// True if --exit-at-and was given on the command line. Dependant on 
--multiplayer.
+       bool multiplayer_exit_at_end;
        /// Non-empty if --label was given on the command line. Dependant on 
--multiplayer.
        boost::optional<std::string> multiplayer_label;
        /// Non-empty if --parm was given on the command line. Vector of pairs 
(side number, parm name, parm value). Dependant on --multiplayer.
        boost::optional<std::vector<boost::tuple<int, std::string, std::string> 
> > multiplayer_parm;
+       /// Non-empty if --scenario was given on the command line. Dependant on 
--multiplayer.
+       boost::optional<std::string> multiplayer_scenario;
        /// Non-empty if --side was given on the command line. Vector of pairs 
(side number, faction id). Dependant on --multiplayer.
        boost::optional<std::vector<boost::tuple<int, std::string> > > 
multiplayer_side;
        /// Non-empty if --turns was given on the command line. Dependant on 
--multiplayer.

Modified: trunk/src/game_controller.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/game_controller.cpp?rev=49819&r1=49818&r2=49819&view=diff
==============================================================================
--- trunk/src/game_controller.cpp (original)
+++ trunk/src/game_controller.cpp Thu Jun  9 11:53:10 2011
@@ -464,6 +464,11 @@
 
        size_t sides_counted = 0;
 
+       if (cmdline_opts_.multiplayer_exit_at_end)
+               game_config::exit_at_end = true;
+       if (cmdline_opts_.multiplayer_turns)
+               turns = *cmdline_opts_.multiplayer_turns;
+
        for(++arg_; arg_ < argc_; ++arg_) {
                const std::string val(argv_[arg_]);
                if(val.empty()) {
@@ -490,8 +495,6 @@
 
                        if(name == "--scenario") {
                                scenario = value;
-                       } else if(name == "--turns") {
-                               turns = value;
                        } else if(name == "--era") {
                                era = value;
                        } else if(name == "--label") {
@@ -516,10 +519,6 @@
                                std::cerr << "unrecognized option: '" << name 
<< "'\n";
                                return false;
                        }
-               } else {
-                       if (val == "--exit-at-end") {
-                               game_config::exit_at_end = true;
-                       }
                }
        }
 

Modified: trunk/src/tests/test_commandline_options.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/tests/test_commandline_options.cpp?rev=49819&r1=49818&r2=49819&view=diff
==============================================================================
--- trunk/src/tests/test_commandline_options.cpp (original)
+++ trunk/src/tests/test_commandline_options.cpp Thu Jun  9 11:53:10 2011
@@ -53,6 +53,7 @@
        BOOST_CHECK(!co.multiplayer_algorithm);
        BOOST_CHECK(!co.multiplayer_controller);
        BOOST_CHECK(!co.multiplayer_era);
+       BOOST_CHECK(!co.multiplayer_exit_at_end);
        BOOST_CHECK(!co.multiplayer_label);
        BOOST_CHECK(!co.multiplayer_parm);
        BOOST_CHECK(!co.multiplayer_side);
@@ -80,6 +81,7 @@
        BOOST_CHECK(!co.proxy_user);
        BOOST_CHECK(!co.resolution);
        BOOST_CHECK(!co.rng_seed);
+       BOOST_CHECK(!co.multiplayer_scenario);
        BOOST_CHECK(!co.server);
        BOOST_CHECK(!co.screenshot);
        BOOST_CHECK(!co.screenshot_map_file);
@@ -134,8 +136,10 @@
        BOOST_CHECK(!co.multiplayer_algorithm);
        BOOST_CHECK(!co.multiplayer_controller);
        BOOST_CHECK(!co.multiplayer_era);
+       BOOST_CHECK(!co.multiplayer_exit_at_end);
        BOOST_CHECK(!co.multiplayer_label);
        BOOST_CHECK(!co.multiplayer_parm);
+       BOOST_CHECK(!co.multiplayer_scenario);
        BOOST_CHECK(!co.multiplayer_side);
        BOOST_CHECK(!co.multiplayer_turns);
        BOOST_CHECK(!co.max_fps);
@@ -194,6 +198,7 @@
                "--debug-dot-level=dlfoo",
 #endif
                "--editor=editfoo",
+               "--exit-at-end",
                "--fps",
                "--fullscreen",
                "--gunzip=gunzipfoo.gz",
@@ -231,6 +236,7 @@
                "--server=servfoo",
                "--smallgui",
                "--test=testfoo",
+               "--turns=42",
                "--validcache",
                "--version",
                "--windowed",
@@ -278,10 +284,12 @@
        BOOST_CHECK(!co.multiplayer_algorithm);
        BOOST_CHECK(!co.multiplayer_controller);
        BOOST_CHECK(!co.multiplayer_era);
+       BOOST_CHECK(co.multiplayer_exit_at_end);
        BOOST_CHECK(!co.multiplayer_label);
        BOOST_CHECK(!co.multiplayer_parm);
+       BOOST_CHECK(!co.multiplayer_scenario);
        BOOST_CHECK(!co.multiplayer_side);
-       BOOST_CHECK(!co.multiplayer_turns);
+       BOOST_CHECK(co.multiplayer_turns && *co.multiplayer_turns == "42");
        BOOST_CHECK(co.max_fps && *co.max_fps == 100);
        BOOST_CHECK(co.nocache);
        BOOST_CHECK(co.nodelay);
@@ -354,8 +362,10 @@
        BOOST_CHECK(!co.multiplayer_algorithm);
        BOOST_CHECK(!co.multiplayer_controller);
        BOOST_CHECK(!co.multiplayer_era);
+       BOOST_CHECK(!co.multiplayer_exit_at_end);
        BOOST_CHECK(!co.multiplayer_label);
        BOOST_CHECK(!co.multiplayer_parm);
+       BOOST_CHECK(!co.multiplayer_scenario);
        BOOST_CHECK(!co.multiplayer_side);
        BOOST_CHECK(!co.multiplayer_turns);
        BOOST_CHECK(!co.max_fps);


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

Reply via email to