Yengine changed position and shape events can bt throttled by mineventdelay

UbitUmarov [2019-02-21 22:05:38]
Yengine changed position and shape events can bt throttled by mineventdelay
Filename
OpenSim/Region/ScriptEngine/YEngine/XMRInstRun.cs
diff --git a/OpenSim/Region/ScriptEngine/YEngine/XMRInstRun.cs b/OpenSim/Region/ScriptEngine/YEngine/XMRInstRun.cs
index 9d73a7f..1b735e3 100644
--- a/OpenSim/Region/ScriptEngine/YEngine/XMRInstRun.cs
+++ b/OpenSim/Region/ScriptEngine/YEngine/XMRInstRun.cs
@@ -106,6 +106,21 @@ namespace OpenSim.Region.ScriptEngine.Yengine
                             m_nextEventTime = now + m_minEventDelay;
                             break;
                         }
+                        case ScriptEventCode.changed:
+                        {
+                            const int canignore = ~(CHANGED_SCALE | CHANGED_POSITION);
+                            int change = (int)evt.Params[0];
+                            if(change == 0) // what?
+                                return;
+                            if((change & canignore) == 0)
+                            {
+                                double now = Util.GetTimeStamp();
+                                if (now < m_nextEventTime)
+                                    return;
+                                m_nextEventTime = now + m_minEventDelay;
+                            }
+                            break;
+                        }
                         default:
                             break;
                     }
ViewGit