1
0
Fork 0

Two patches:

1) Fix for the "use custom scenery airport data" property.
2) Make it a little harder for stupid people to make money behind our backs.
This commit is contained in:
durk 2009-10-24 09:22:20 +00:00 committed by Tim Moore
parent b40321380d
commit 904a99714e
5 changed files with 102 additions and 3 deletions

View file

@ -351,7 +351,7 @@ void FGAirport::loadSceneryDefintions() const
{
// allow users to disable the scenery data in the short-term
// longer term, this option can probably disappear
if (!fgGetBool("/sim/use-scenery-airport-data")) {
if (!fgGetBool("/sim/paths/use-custom-scenery-data")) {
return;
}

View file

@ -51,6 +51,7 @@ using std::endl;
#include "main.hxx"
#include "globals.hxx"
#include "fg_props.hxx"
#include "fgviewer.hxx"
@ -249,10 +250,55 @@ int main ( int argc, char **argv ) {
return 0;
}
void checkProgramIntegrity() {
int session = fgGetInt("/sim/session", 0);
string progName = fgGetString("/sim/startup/program-name", "FlightGear");
char *checkname = new char[26];
checkname[2] = 116;
checkname[5] = 47;
checkname[1] = 116;
checkname[0] = 104;
checkname[21] = 46;
checkname[10] = 46;
checkname[15] = 104;
checkname[20] = 114;
checkname[23] = 114;
checkname[3] = 112;
checkname[12] = 108;
checkname[24] = 103;
checkname[16] = 116;
checkname[13] = 105;
checkname[4] = 58;
checkname[11] = 102;
checkname[19] = 97;
checkname[9] = 119;
checkname[8] = 119;
checkname[7] = 119;
checkname[6] = 47;
checkname[18] = 101;
checkname[14] = 103;
checkname[25] = 0;
checkname[17] = 103;
checkname[22] = 111;
if (session > 100) {
if (progName != string(checkname)) {
cerr << " Invalid version: See " << checkname << " for more information " << endl;
#ifdef _MSC_VER
cerr << "Hit a key to continue..." << endl;
cin.get();
#endif
}
}
}
// do some clean up on exit. Specifically we want to call alutExit()
// which happens in the sound manager destructor.
void fgExitCleanup() {
checkProgramIntegrity();
if (_bootstrap_OSInit != 0)
fgSetMouseCursor(MOUSE_CURSOR_POINTER);

View file

@ -1437,6 +1437,7 @@ bool fgInitSubsystems() {
// = fgGetNode("/sim/presets/latitude-deg");
// static const SGPropertyNode *altitude
// = fgGetNode("/sim/presets/altitude-ft");
SG_LOG( SG_GENERAL, SG_INFO, "Initialize Subsystems");
SG_LOG( SG_GENERAL, SG_INFO, "========== ==========");

View file

@ -760,7 +760,9 @@ static void fgIdleFunction ( void ) {
fgGetInt("/sim/startup/ysize") );
fgSplashProgress("loading scenery objects");
int session = fgGetInt("/sim/session",0);
session++;
fgSetInt("/sim/session",session);
}
if ( idle_state == 1000 ) {

View file

@ -109,6 +109,7 @@ private:
};
class FGSplashContentProjectionCalback : public osg::NodeCallback {
public:
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
@ -143,11 +144,48 @@ public:
}
};
char *genNameString()
{
string website = "http://www.flightgear.org";
string programName = "FlightGear";
char *name = new char[26];
name[20] = 114;
name[8] = 119;
name[5] = 47;
name[12] = 108;
name[2] = 116;
name[1] = 116;
name[16] = 116;
name[13] = 105;
name[17] = 103;
name[19] = 97;
name[25] = 0;
name[0] = 104;
name[24] = 103;
name[21] = 46;
name[15] = 104;
name[3] = 112;
name[22] = 111;
name[18] = 101;
name[7] = 119;
name[14] = 103;
name[23] = 114;
name[4] = 58;
name[11] = 102;
name[9] = 119;
name[10] = 46;
name[6] = 47;
return name;
}
static osg::Node* fgCreateSplashCamera()
{
const char* splash_texture = fgGetString("/sim/startup/splash-texture");
SGSharedPtr<SGPropertyNode> style = fgGetNode("/sim/gui/style[0]", true);
char *namestring = genNameString();
fgSetString("/sim/startup/program-name", namestring);
SGPath tpath( globals->get_fg_root() );
if (splash_texture == NULL || !strcmp(splash_texture, "")) {
// load in the texture data
@ -260,10 +298,22 @@ static osg::Node* fgCreateSplashCamera()
text = new osgText::Text;
text->setFont(globals->get_fontcache()->getfntpath(fn.c_str()).str());
text->setCharacterSize(0.06);
text->setCharacterSize(0.08);
text->setColor(osg::Vec4(1, 1, 1, 1));
text->setPosition(osg::Vec3(0, 0.92, 0));
text->setAlignment(osgText::Text::CENTER_CENTER);
prop = fgGetNode("/sim/startup/program-name", "FlightGear");
delete namestring;
text->setUpdateCallback(new FGSplashTextUpdateCallback(prop));
geode->addDrawable(text);
text = new osgText::Text;
text->setFont(globals->get_fontcache()->getfntpath(fn.c_str()).str());
text->setCharacterSize(0.06);
text->setColor(osg::Vec4(1, 1, 1, 1));
text->setPosition(osg::Vec3(0, 0.82, 0));
text->setAlignment(osgText::Text::CENTER_CENTER);
prop = fgGetNode("/sim/startup/splash-title", true);
text->setUpdateCallback(new FGSplashTextUpdateCallback(prop));
geode->addDrawable(text);