Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package SimGear for openSUSE:Factory checked 
in at 2022-04-13 21:05:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/SimGear (Old)
 and      /work/SRC/openSUSE:Factory/.SimGear.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "SimGear"

Wed Apr 13 21:05:23 2022 rev:26 rq:969804 version:2020.3.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/SimGear/SimGear.changes  2022-02-05 
23:23:51.055650670 +0100
+++ /work/SRC/openSUSE:Factory/.SimGear.new.1900/SimGear.changes        
2022-04-13 21:06:07.968626197 +0200
@@ -1,0 +2,6 @@
+Tue Apr 12 06:29:10 UTC 2022 - Stefan Br??ns <stefan.bru...@rwth-aachen.de>
+
+- Update to 2020.3.13
+  * https://wiki.flightgear.org/Changelog_2020.3#2020.3.13
+
+-------------------------------------------------------------------

Old:
----
  simgear-2020.3.12.tar.bz2

New:
----
  simgear-2020.3.13.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ SimGear.spec ++++++
--- /var/tmp/diff_new_pack.ysExQj/_old  2022-04-13 21:06:08.932627170 +0200
+++ /var/tmp/diff_new_pack.ysExQj/_new  2022-04-13 21:06:08.940627178 +0200
@@ -20,10 +20,10 @@
 # in our requirements, i.e. the same version we have built against
 %define openscenegraph_version %(rpm -qa --nosignature --nodigest 
libOpenSceneGraph\*-devel | sed 's/.*-devel-\\(.*\\)-.*/\\1/')
 
-%define libname libSimGearCore-2020_3_12
+%define libname libSimGearCore-2020_3_13
 %define main_version 2020.3
 Name:           SimGear
-Version:        %{main_version}.12
+Version:        %{main_version}.13
 Release:        0
 Summary:        Simulator Construction Gear
 # https://sourceforge.net/p/flightgear/codetickets/1940/

++++++ simgear-2020.3.12.tar.bz2 -> simgear-2020.3.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simgear-2020.3.12/simgear/debug/ErrorReportingCallback.cxx 
new/simgear-2020.3.13/simgear/debug/ErrorReportingCallback.cxx
--- old/simgear-2020.3.12/simgear/debug/ErrorReportingCallback.cxx      
2022-01-31 16:31:54.000000000 +0100
+++ new/simgear-2020.3.13/simgear/debug/ErrorReportingCallback.cxx      
2022-03-28 11:02:38.000000000 +0200
@@ -16,6 +16,7 @@
 #include <simgear_config.h>
 
 #include "ErrorReportingCallback.hxx"
+#include "logstream.hxx"
 
 #include <simgear/misc/sg_path.hxx>
 
@@ -27,6 +28,31 @@
 static ContextCallback static_contextCallback;
 
 
+string_list static_errorNames = {
+    "shader/effect",
+    "loading texture",
+    "XML/animation load",
+    "3D model load",
+    "loading BTG",
+    "sceanrio load",
+    "UI dialog load",
+    "loading Audio/FX",
+    "Nasal/commnad load of XML",
+    "aircraft-systems",
+    "loading input/joystick config",
+    "load AI/traffic",
+    "from TerraSync"};
+
+string_list static_errorTypeNames = {
+    "unknown",
+    "not found",
+    "out of memory",
+    "bad header",
+    "bad data",
+    "misconfigured",
+    "disk IO/permissions",
+    "network IO"};
+
 void setErrorReportCallback(ErrorReportCallback cb)
 {
     static_callback = cb;
@@ -53,6 +79,7 @@
 void reportFailure(LoadFailure type, ErrorCode code, const std::string& 
details, sg_location loc)
 {
     if (!static_failureCallback) {
+        SG_LOG(SG_GENERAL, SG_WARN, "Error:" << 
static_errorTypeNames.at(static_cast<int>(type)) << " from " << 
static_errorNames.at(static_cast<int>(code)) << "::" << details << "\n\t" << 
loc.asString());
         return;
     }
 
@@ -62,6 +89,9 @@
 void reportFailure(LoadFailure type, ErrorCode code, const std::string& 
details, const SGPath& path)
 {
     if (!static_failureCallback) {
+        // if no callback is registered, log here instead
+        SG_LOG(SG_GENERAL, SG_WARN, "Error:" << 
static_errorTypeNames.at(static_cast<int>(type)) << " from " << 
static_errorNames.at(static_cast<int>(code)) << "::" << details << "\n\t" << 
path);
+
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.12/simgear/misc/simgear_optional.hxx 
new/simgear-2020.3.13/simgear/misc/simgear_optional.hxx
--- old/simgear-2020.3.12/simgear/misc/simgear_optional.hxx     2022-01-31 
16:31:54.000000000 +0100
+++ new/simgear-2020.3.13/simgear/misc/simgear_optional.hxx     2022-03-28 
11:02:38.000000000 +0200
@@ -74,6 +74,22 @@
         return _value;
     }
 
+    const T& value_or(const T& defaultValue) const
+    {
+        if (!_haveValue) {
+            return defaultValue;
+        }
+        return _value;
+    }
+
+    T& value_or(T& defaultValue) const
+    {
+        if (!_haveValue) {
+            return defaultValue;
+        }
+        return _value;
+    }
+
     T& value()
     {
         if (!_haveValue) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.12/simgear/scene/material/Effect.hxx 
new/simgear-2020.3.13/simgear/scene/material/Effect.hxx
--- old/simgear-2020.3.12/simgear/scene/material/Effect.hxx     2022-01-31 
16:31:54.000000000 +0100
+++ new/simgear-2020.3.13/simgear/scene/material/Effect.hxx     2022-03-28 
11:02:39.000000000 +0200
@@ -160,7 +160,8 @@
 
 Effect* makeEffect(const std::string& name,
                    bool realizeTechniques,
-                   const SGReaderWriterOptions* options);
+                   const SGReaderWriterOptions* options,
+                   const SGPath& modelPath = SGPath{});
 
 Effect* makeEffect(SGPropertyNode* prop,
                    bool realizeTechniques,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simgear-2020.3.12/simgear/scene/material/makeEffect.cxx 
new/simgear-2020.3.13/simgear/scene/material/makeEffect.cxx
--- old/simgear-2020.3.12/simgear/scene/material/makeEffect.cxx 2022-01-31 
16:31:55.000000000 +0100
+++ new/simgear-2020.3.13/simgear/scene/material/makeEffect.cxx 2022-03-28 
11:02:39.000000000 +0200
@@ -114,7 +114,8 @@
 
 Effect* makeEffect(const string& name,
                    bool realizeTechniques,
-                   const SGReaderWriterOptions* options)
+                   const SGReaderWriterOptions* options,
+                   const SGPath& modelPath)
 {
     {
         OpenThreads::ScopedLock<OpenThreads::ReentrantMutex> lock(effectMutex);
@@ -125,8 +126,7 @@
     }
     string effectFileName(name);
     effectFileName += ".eff";
-    string absFileName
-        = SGModelLib::findDataFile(effectFileName, options);
+    string absFileName = SGModelLib::findDataFile(effectFileName, options, 
modelPath);
     if (absFileName.empty()) {
         simgear::reportFailure(simgear::LoadFailure::NotFound, 
simgear::ErrorCode::LoadEffectsShaders, "Couldn't find Effect:" + 
effectFileName);
         return nullptr;
@@ -197,7 +197,7 @@
     Effect* parent = 0;
     if (inheritProp) {
         //prop->removeChild("inherits-from");
-        parent = makeEffect(inheritProp->getStringValue(), false, options);
+        parent = makeEffect(inheritProp->getStringValue(), false, options, 
filePath);
         if (parent) {
             Effect::Key key;
             key.unmerged = prop;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simgear-2020.3.12/simgear/scene/model/SGReaderWriterXML.cxx 
new/simgear-2020.3.13/simgear/scene/model/SGReaderWriterXML.cxx
--- old/simgear-2020.3.12/simgear/scene/model/SGReaderWriterXML.cxx     
2022-01-31 16:31:55.000000000 +0100
+++ new/simgear-2020.3.13/simgear/scene/model/SGReaderWriterXML.cxx     
2022-03-28 11:02:39.000000000 +0200
@@ -559,8 +559,8 @@
     // Some material animations (eventually all) are actually effects.
     makeEffectAnimations(animation_nodes, effect_nodes);
     {
-        ref_ptr<Node> modelWithEffects
-            = instantiateEffects(group.get(), effect_nodes, options.get());
+        ref_ptr<Node> modelWithEffects = instantiateEffects(group.get(), 
effect_nodes, options.get(),
+                                                            path.dirPath());
         group = static_cast<Group*>(modelWithEffects.get());
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.12/simgear/scene/model/model.cxx 
new/simgear-2020.3.13/simgear/scene/model/model.cxx
--- old/simgear-2020.3.12/simgear/scene/model/model.cxx 2022-01-31 
16:31:55.000000000 +0100
+++ new/simgear-2020.3.13/simgear/scene/model/model.cxx 2022-03-28 
11:02:39.000000000 +0200
@@ -234,7 +234,7 @@
     typedef std::map<string, SGPropertyNode_ptr> EffectMap;
     using SplicingVisitor::apply;
     MakeEffectVisitor(const SGReaderWriterOptions* options = 0)
-        : _options(options)
+        : _options(options), _modelPath(SGPath{})
     {
     }
     virtual void apply(osg::Group& node);
@@ -246,10 +246,17 @@
         _currentEffectParent = effect;
     }
     SGPropertyNode* getDefaultEffect() { return _currentEffectParent; }
+
+    void setModelPath(const SGPath& p)
+    {
+        _modelPath = p;
+    }
+
 protected:
     EffectMap _effectMap;
     SGPropertyNode_ptr _currentEffectParent;
     osg::ref_ptr<const SGReaderWriterOptions> _options;
+    SGPath _modelPath;
 };
 
 void MakeEffectVisitor::apply(osg::Group& node)
@@ -287,7 +294,7 @@
     makeParametersFromStateSet(ssRoot, ss);
     SGPropertyNode_ptr effectRoot = new SGPropertyNode;
     effect::mergePropertyTrees(effectRoot, ssRoot, _currentEffectParent);
-    Effect* effect = makeEffect(effectRoot, true, _options.get());
+    Effect* effect = makeEffect(effectRoot, true, _options.get(), _modelPath);
     EffectGeode* eg = dynamic_cast<EffectGeode*>(&geode);
     if (eg) {
         eg->setEffect(effect);
@@ -332,7 +339,8 @@
 
 ref_ptr<Node> instantiateEffects(osg::Node* modelGroup,
                                  PropertyList& effectProps,
-                                 const SGReaderWriterOptions* options)
+                                 const SGReaderWriterOptions* options,
+                                 const SGPath& modelPath)
 {
     SGPropertyNode_ptr defaultEffectPropRoot;
     MakeEffectVisitor visitor(options);
@@ -357,13 +365,15 @@
     if (!defaultEffectPropRoot)
         defaultEffectPropRoot = DefaultEffect::instance()->getEffect();
     visitor.setDefaultEffect(defaultEffectPropRoot.ptr());
+    visitor.setModelPath(modelPath);
     modelGroup->accept(visitor);
     osg::NodeList& result = visitor.getResults();
     return ref_ptr<Node>(result[0].get());
 }
 
 ref_ptr<Node> instantiateMaterialEffects(osg::Node* modelGroup,
-                                        const SGReaderWriterOptions* options)
+                                         const SGReaderWriterOptions* options,
+                                         const SGPath& modelPath)
 {
 
     SGPropertyNode_ptr effect;
@@ -390,7 +400,7 @@
 
     effect->addChild("default")->setBoolValue(true);
     effectProps.push_back(effect);
-    return instantiateEffects(modelGroup, effectProps, options);
+    return instantiateEffects(modelGroup, effectProps, options, modelPath);
 }
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.12/simgear/scene/model/model.hxx 
new/simgear-2020.3.13/simgear/scene/model/model.hxx
--- old/simgear-2020.3.12/simgear/scene/model/model.hxx 2022-01-31 
16:31:55.000000000 +0100
+++ new/simgear-2020.3.13/simgear/scene/model/model.hxx 2022-03-28 
11:02:39.000000000 +0200
@@ -102,7 +102,8 @@
 osg::ref_ptr<osg::Node>
 instantiateEffects(osg::Node* model,
                    PropertyList& effectProps,
-                   const SGReaderWriterOptions* options);
+                   const SGReaderWriterOptions* options,
+                   const SGPath& currentDir = SGPath{});
 
 /**
  * Apply a set of material-defined effects to a model
@@ -112,9 +113,10 @@
  *
  * returns a copy if any nodes are changed
  */
- osg::ref_ptr<osg::Node>
- instantiateMaterialEffects(osg::Node* model,
-                    const SGReaderWriterOptions* options);
+osg::ref_ptr<osg::Node>
+instantiateMaterialEffects(osg::Node* model,
+                           const SGReaderWriterOptions* options,
+                           const SGPath& modelPath = SGPath{});
 
 /**
  * Transform an OSG subgraph by substituting the Effects and
@@ -127,10 +129,11 @@
 
 inline osg::ref_ptr<osg::Node>
 instantiateEffects(osg::Node* model,
-                   const SGReaderWriterOptions* options)
+                   const SGReaderWriterOptions* options,
+                   const SGPath& currentDir = SGPath{})
 {
     PropertyList effectProps;
-    return instantiateEffects(model, effectProps, options);
+    return instantiateEffects(model, effectProps, options, currentDir);
 }
 }
 #endif // __MODEL_HXX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simgear-2020.3.12/simgear/scene/tgdb/SGNodeTriangles.hxx 
new/simgear-2020.3.13/simgear/scene/tgdb/SGNodeTriangles.hxx
--- old/simgear-2020.3.12/simgear/scene/tgdb/SGNodeTriangles.hxx        
2022-01-31 16:31:55.000000000 +0100
+++ new/simgear-2020.3.13/simgear/scene/tgdb/SGNodeTriangles.hxx        
2022-03-28 11:02:39.000000000 +0200
@@ -267,12 +267,12 @@
                             SGVec2f texCoord = a*t0 + b*t1 + c*t2;
                     
                             // Check this random point against the object mask
-                            // red channel.
+                            // blue channel.
                             osg::Image* img = object_mask->getImage();         
   
                             unsigned int x = (int) (img->s() * texCoord.x()) % 
img->s();
                             unsigned int y = (int) (img->t() * texCoord.y()) % 
img->t();
                     
-                            if (mt_rand(&seed) < img->getColor(x, y).r()) {    
            
+                            if (mt_rand(&seed) < img->getColor(x, y).b()) {
                                 points.push_back(randomPoint);        
                             }                    
                         } else {      
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/simgear-2020.3.12/simgear/scene/tgdb/SGTexturedTriangleBin.hxx 
new/simgear-2020.3.13/simgear/scene/tgdb/SGTexturedTriangleBin.hxx
--- old/simgear-2020.3.12/simgear/scene/tgdb/SGTexturedTriangleBin.hxx  
2022-01-31 16:31:55.000000000 +0100
+++ new/simgear-2020.3.13/simgear/scene/tgdb/SGTexturedTriangleBin.hxx  
2022-03-28 11:02:39.000000000 +0200
@@ -192,12 +192,12 @@
           SGVec2f texCoord = a*t0 + b*t1 + c*t2;
           
           // Check this random point against the object mask
-          // red channel.
+          // blue channel.
           osg::Image* img = object_mask->getImage();            
           unsigned int x = (int) (img->s() * texCoord.x()) % img->s();
           unsigned int y = (int) (img->t() * texCoord.y()) % img->t();
           
-          if (mt_rand(&seed) < img->getColor(x, y).r()) {                
+          if (mt_rand(&seed) < img->getColor(x, y).b()) {
             points.push_back(randomPoint);        
           }                    
         } else {      
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/simgear-2020.3.12/simgear-version 
new/simgear-2020.3.13/simgear-version
--- old/simgear-2020.3.12/simgear-version       2022-01-31 16:31:54.000000000 
+0100
+++ new/simgear-2020.3.13/simgear-version       2022-03-28 11:02:38.000000000 
+0200
@@ -1 +1 @@
-2020.3.12
+2020.3.13

Reply via email to