X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Foptions.cxx;h=bededfb71e43ed8cbbfe535954bb60a1f5d57440;hb=b587400846111cc4d6713dcdd38b715c97923d5a;hp=6305fe7f352b6dc61a4c47460686bc896ae5be8f;hpb=4aacda239089a7ef694ffd6d6acb35fe4ecc47a5;p=flightgear.git diff --git a/src/Main/options.cxx b/src/Main/options.cxx index 6305fe7f3..bededfb71 100644 --- a/src/Main/options.cxx +++ b/src/Main/options.cxx @@ -45,6 +45,7 @@ #include #include #include +#include // #include // #include @@ -60,7 +61,8 @@ #include "options.hxx" #include "util.hxx" #include "viewmgr.hxx" - +#include
+#include using std::string; using std::sort; @@ -81,7 +83,8 @@ enum FG_OPTIONS_ERROR = 2, FG_OPTIONS_EXIT = 3, FG_OPTIONS_VERBOSE_HELP = 4, - FG_OPTIONS_SHOW_AIRCRAFT = 5 + FG_OPTIONS_SHOW_AIRCRAFT = 5, + FG_OPTIONS_SHOW_SOUND_DEVICES = 6 }; static double @@ -186,7 +189,8 @@ fgSetDefaults () fgSetBool("/sim/hud/enable3d", true); fgSetBool("/sim/hud/visibility", false); fgSetBool("/sim/panel/visibility", true); - fgSetBool("/sim/sound/pause", false); + fgSetBool("/sim/sound/enabled", true); + fgSetBool("/sim/sound/working", true); // Flight Model options fgSetString("/sim/flight-model", "jsb"); @@ -201,7 +205,7 @@ fgSetDefaults () fgSetBool("/sim/rendering/shading", true); fgSetBool("/sim/rendering/skyblend", true); fgSetBool("/sim/rendering/textures", true); - fgTie( "/sim/rendering/filtering", SGGetTextureFilter, SGSetTextureFilter, false); + fgTie( "/sim/rendering/filtering", SGGetTextureFilter, SGSetTextureFilter, false); fgSetInt("/sim/rendering/filtering", 1); fgSetBool("/sim/rendering/wireframe", false); fgSetBool("/sim/rendering/horizon-effect", false); @@ -996,7 +1000,7 @@ fgOptRandomWind( const char *arg ) static int fgOptWind( const char *arg ) { - double min_hdg, max_hdg, speed, gust; + double min_hdg = 0.0, max_hdg = 0.0, speed = 0.0, gust = 0.0; if (!parse_wind( arg, &min_hdg, &max_hdg, &speed, &gust)) { SG_LOG( SG_GENERAL, SG_ALERT, "bad wind value " << arg ); return FG_OPTIONS_ERROR; @@ -1194,9 +1198,22 @@ fgOptParking( const char *arg ) static int fgOptVersion( const char *arg ) { - cerr << VERSION << endl; + cerr << "FlightGear version: " << VERSION << endl; cerr << "FG_ROOT=" << globals->get_fg_root() << endl; cerr << "FG_HOME=" << fgGetString("/sim/fg-home") << endl; + cerr << "FG_SCENERY="; + + int didsome = 0; + string_list scn = globals->get_fg_scenery(); + for (string_list::const_iterator it = scn.begin(); it != scn.end(); it++) + { + if (didsome) cerr << ":"; + didsome++; + cerr << *it; + } + cerr << endl; + cerr << "SimGear version: " << SG_STRINGIZE(SIMGEAR_VERSION) << endl; + cerr << "PLIB version: " << PLIB_VERSION << endl; return FG_OPTIONS_EXIT; } @@ -1207,6 +1224,15 @@ fgOptFpe(const char* arg) return FG_OPTIONS_OK; } +static int +fgOptFgviewer(const char* arg) +{ + // Actually handled in bootstrap.cxx + return FG_OPTIONS_OK; +} + + + static map fgOptionMap; /* @@ -1281,8 +1307,9 @@ struct OptionDesc { {"enable-hud", false, OPTION_BOOL, "/sim/hud/visibility", true, "", 0 }, {"disable-panel", false, OPTION_BOOL, "/sim/panel/visibility", false, "", 0 }, {"enable-panel", false, OPTION_BOOL, "/sim/panel/visibility", true, "", 0 }, - {"disable-sound", false, OPTION_BOOL, "/sim/sound/pause", true, "", 0 }, - {"enable-sound", false, OPTION_BOOL, "/sim/sound/pause", false, "", 0 }, + {"disable-sound", false, OPTION_BOOL, "/sim/sound/working", false, "", 0 }, + {"enable-sound", false, OPTION_BOOL, "/sim/sound/working", true, "", 0 }, + {"sound-device", true, OPTION_STRING, "/sim/sound/device-name", false, "", 0 }, {"airport", true, OPTION_STRING, "/sim/presets/airport-id", false, "", 0 }, {"runway", true, OPTION_FUNC, "", false, "", fgOptRunway }, {"vor", true, OPTION_FUNC, "", false, "", fgOptVOR }, @@ -1417,6 +1444,7 @@ struct OptionDesc { {"parking-id", true, OPTION_FUNC, "", false, "", fgOptParking }, {"version", false, OPTION_FUNC, "", false, "", fgOptVersion }, {"enable-fpe", false, OPTION_FUNC, "", false, "", fgOptFpe}, + {"fgviewer", false, OPTION_FUNC, "", false, "", fgOptFgviewer}, {0} }; @@ -1491,6 +1519,8 @@ parse_option (const string& arg) return(FG_OPTIONS_VERBOSE_HELP); } else if ( arg.find( "--show-aircraft") == 0) { return(FG_OPTIONS_SHOW_AIRCRAFT); + } else if ( arg.find( "--show-sound-devices") == 0) { + return(FG_OPTIONS_SHOW_SOUND_DEVICES); } else if ( arg.find( "--prop:" ) == 0 ) { if (!set_property(arg.substr(7))) { SG_LOG( SG_GENERAL, SG_ALERT, "Bad property assignment: " << arg ); @@ -1606,11 +1636,27 @@ fgParseArgs (int argc, char **argv) verbose = true; else if (result == FG_OPTIONS_SHOW_AIRCRAFT) { - fgOptLogLevel( "alert" ); - SGPath path( globals->get_fg_root() ); - path.append("Aircraft"); - fgShowAircraft(path, true); - exit(0); + fgOptLogLevel( "alert" ); + SGPath path( globals->get_fg_root() ); + path.append("Aircraft"); + fgShowAircraft(path, true); + exit(0); + + } else if (result == FG_OPTIONS_SHOW_SOUND_DEVICES) { + SGSoundMgr smgr; + + smgr.init(); + string vendor = smgr.get_vendor(); + string renderer = smgr.get_renderer(); + cout << renderer << " provided by " << vendor << endl; + cout << endl << "No. Device" << endl; + + vector devices = smgr.get_available_devices(); + for (int i=0; i