#include "util.hxx"
#include "viewmgr.hxx"
#include <Main/viewer.hxx>
+
#include <simgear/version.h>
+#include <osg/Version>
using std::string;
using std::sort;
fgSetInt("/sim/multiplay/txport", 0);
fgSetString("/sim/version/flightgear", FLIGHTGEAR_VERSION);
- //fgSetString("/sim/version/simgear", FLIGHTGEAR_VERSION);
+ fgSetString("/sim/version/simgear", SG_STRINGIZE(SIMGEAR_VERSION));
+ fgSetString("/sim/version/openscenegraph", osgGetVersion());
fgSetString("/sim/version/revision", REVISION);
fgSetInt("/sim/version/build-number", HUDSON_BUILD_NUMBER);
fgSetString("/sim/version/build-id", HUDSON_BUILD_ID);
{
double visibility = atof( arg );
fgDefaultWeatherValue("visibility-m", visibility);
+ fgSetDouble("/environment/visibility-m", visibility);
return FG_OPTIONS_OK;
}
{
double visibility = atof( arg ) * 5280.0 * SG_FEET_TO_METER;
fgDefaultWeatherValue("visibility-m", visibility);
+ fgSetDouble("/environment/visibility-m", visibility);
return FG_OPTIONS_OK;
}
return FG_OPTIONS_OK;
}
+static int
+fgOptCallSign(const char * arg)
+{
+ int i;
+ char callsign[11];
+ strncpy(callsign,arg,10);
+ callsign[10]=0;
+ for (i=0;callsign[i];i++)
+ {
+ char c = callsign[i];
+ if (c >= 'A' && c <= 'Z') continue;
+ if (c >= 'a' && c <= 'z') continue;
+ if (c >= '0' && c <= '9') continue;
+ if (c == '-' || c == '_') continue;
+ // convert any other illegal characters
+ callsign[i]='-';
+ }
+ fgSetString("sim/multiplay/callsign", callsign );
+ return FG_OPTIONS_OK;
+}
static map<string,size_t> fgOptionMap;
{"joyclient", true, OPTION_CHANNEL, "", false, "", 0 },
{"jsclient", true, OPTION_CHANNEL, "", false, "", 0 },
{"proxy", true, OPTION_FUNC, "", false, "", fgSetupProxy },
- {"callsign", true, OPTION_STRING, "sim/multiplay/callsign", false, "", 0 },
+ {"callsign", true, OPTION_FUNC, "", false, "", fgOptCallSign},
{"multiplay", true, OPTION_CHANNEL, "", false, "", 0 },
{"trace-read", true, OPTION_FUNC, "", false, "", fgOptTraceRead },
{"trace-write", true, OPTION_FUNC, "", false, "", fgOptTraceWrite },
SG_LOG( SG_GENERAL, SG_ALERT, "Bad property assignment: " << arg );
return FG_OPTIONS_ERROR;
}
+ } else if ( arg.find("-psn_") == 0) {
+ // on Mac, when launched from the GUI, we are passed the ProcessSerialNumber
+ // as an argument (and no others). Silently ignore the argument here.
+ return FG_OPTIONS_OK;
} else if ( arg.find( "--" ) == 0 ) {
size_t pos = arg.find( '=' );
string arg_name, arg_value;