diff -r 1ea6554d703e -r e21cfda0edde src/proto2/Application.cc --- a/src/proto2/Application.cc Mon Nov 10 21:58:38 2008 +0000 +++ b/src/proto2/Application.cc Tue Nov 18 22:58:50 2008 +0000 @@ -78,9 +78,9 @@ } } - // check for valid combinations of arugments - if (!(arg_server xor !arg_connect.empty())) - throw ArgumentError("must supply *exactly* one of --server/--client"); + // check for invalid combinations of arugments + if (arg_server and !arg_connect.empty()) + throw ArgumentError("cannot be both server and client"); } public: @@ -102,15 +102,16 @@ if (arg_graphics) engine.setupGraphics(); - // setup either network server or client + // setup either network server, client or singleplayer if (arg_server) { engine.setupNetworkServer(arg_port); } else if (!arg_connect.empty()) { engine.setupNetworkClient(arg_connect, arg_port); - } else - assert(false); + } else { + engine.setupSinglePlayer(); + } // run the main loop engine.run();