X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Ffgclouds.cxx;h=9b689d443af37f5c925706baa7b24e046fe97654;hb=de1564d83e32cf077a5367cc838f28271dd79381;hp=ccd21e0cec45317a5336747ff1b576630d9ff066;hpb=0becb0df2b3364f92bdcad5b9bfd3f87a1649f06;p=flightgear.git diff --git a/src/Environment/fgclouds.cxx b/src/Environment/fgclouds.cxx index ccd21e0ce..9b689d443 100644 --- a/src/Environment/fgclouds.cxx +++ b/src/Environment/fgclouds.cxx @@ -30,7 +30,7 @@ #include #include #include -#include +//#include #include #include #include @@ -45,9 +45,14 @@ extern SGSky *thesky; +static bool do_delete_3Dcloud (const SGPropertyNode *arg); +static bool do_move_3Dcloud (const SGPropertyNode *arg); +static bool do_add_3Dcloud (const SGPropertyNode *arg); FGClouds::FGClouds() : +#if 0 snd_lightning(0), +#endif clouds_3d_enabled(false), index(0) { @@ -68,6 +73,7 @@ void FGClouds::set_update_event(int count) { } void FGClouds::Init(void) { +#if 0 if( snd_lightning == NULL ) { snd_lightning = new SGSoundSample("Sounds/thunder.wav", SGPath()); snd_lightning->set_max_dist(7000.0f); @@ -75,8 +81,8 @@ void FGClouds::Init(void) { SGSoundMgr *smgr = globals->get_soundmgr(); SGSampleGroup *sgr = smgr->find("weather", true); sgr->add( snd_lightning, "thunder" ); - sgEnviro.set_sampleGroup( sgr ); } +#endif globals->get_commands()->addCommand("add-cloud", do_add_3Dcloud); globals->get_commands()->addCommand("del-cloud", do_delete_3Dcloud); @@ -357,12 +363,18 @@ bool FGClouds::get_3dClouds() const float lon = arg->getFloatValue("lon-deg", 0.0f); float lat = arg->getFloatValue("lat-deg", 0.0f); float alt = arg->getFloatValue("alt-ft", 0.0f); + float x = arg->getFloatValue("x-offset-m", 0.0f); + float y = arg->getFloatValue("y-offset-m", 0.0f); + - // Adding a 3D cloud immediately makes this layer 3D. - thesky->get_cloud_layer(l)->set_enable3dClouds(true); SGCloudField *layer = thesky->get_cloud_layer(l)->get_layer3D(); SGNewCloud cld = SGNewCloud(texture_root, arg); - return layer->addCloud(lon, lat, alt, index, cld.genCloud()); + bool success = layer->addCloud(lon, lat, alt, x, y, index, cld.genCloud()); + + // Adding a 3D cloud immediately makes this layer 3D. + thesky->get_cloud_layer(l)->set_enable3dClouds(true); + + return success; } /** @@ -402,7 +414,9 @@ bool FGClouds::get_3dClouds() const float lon = arg->getFloatValue("lon-deg", 0.0f); float lat = arg->getFloatValue("lat-deg", 0.0f); float alt = arg->getFloatValue("alt-ft", 0.0f); + float x = arg->getFloatValue("x-offset-m", 0.0f); + float y = arg->getFloatValue("y-offset-m", 0.0f); SGCloudField *layer = thesky->get_cloud_layer(l)->get_layer3D(); - return layer->repositionCloud(i, lon, lat, alt); + return layer->repositionCloud(i, lon, lat, alt, x, y); }