From 79e166e9aaf56b6798e27201962f6e109925c697 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 19 Jun 2017 05:22:38 +0100 Subject: [PATCH 01/84] revert EnvironmentTick back to orignal clock, since change may cause issues on some code paths. Clean a bit get mesh and get texture throttle --- OpenSim/Framework/Util.cs | 7 +- .../ClientStack/Linden/Caps/GetMeshModule.cs | 81 ++++++------------- .../Linden/Caps/GetTextureModule.cs | 45 +++++------ 3 files changed, 49 insertions(+), 84 deletions(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index a85576786d..af149393e1 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -2967,9 +2967,9 @@ namespace OpenSim.Framework /// public static Int32 EnvironmentTickCount() { - double now = GetTimeStampMS(); - return (int)now; + return Environment.TickCount & EnvironmentTickCountMask; } + const Int32 EnvironmentTickCountMask = 0x3fffffff; /// @@ -2994,8 +2994,7 @@ namespace OpenSim.Framework /// subtraction of passed prevValue from current Environment.TickCount public static Int32 EnvironmentTickCountSubtract(Int32 prevValue) { - double now = GetTimeStampMS(); - return EnvironmentTickCountSubtract((int)now, prevValue); + return EnvironmentTickCountSubtract(EnvironmentTickCount(), prevValue); } // Returns value of Tick Count A - TickCount B accounting for wrapping of TickCount diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs index a7214549f5..ba917e3952 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs @@ -221,7 +221,7 @@ namespace OpenSim.Region.ClientStack.Linden PollServiceMeshEventArgs args; if (m_pollservices.TryGetValue(user, out args)) { - args.UpdateThrottle(imagethrottle, p); + args.UpdateThrottle(imagethrottle); } } @@ -238,14 +238,13 @@ namespace OpenSim.Region.ClientStack.Linden base(null, uri, null, null, null, pId, int.MaxValue) { m_scene = scene; - m_throttler = new MeshCapsDataThrottler(100000, 1400000, 10000, scene, pId); + m_throttler = new MeshCapsDataThrottler(100000); // x is request id, y is userid HasEvents = (x, y) => { lock (responses) { bool ret = m_throttler.hasEvents(x, responses); - m_throttler.ProcessTime(); return ret; } @@ -260,8 +259,8 @@ namespace OpenSim.Region.ClientStack.Linden } finally { - m_throttler.ProcessTime(); responses.Remove(x); + m_throttler.PassTime(); } } }; @@ -274,6 +273,7 @@ namespace OpenSim.Region.ClientStack.Linden reqinfo.request = y; m_queue.Enqueue(reqinfo); + m_throttler.PassTime(); }; // this should never happen except possible on shutdown @@ -335,12 +335,15 @@ namespace OpenSim.Region.ClientStack.Linden }; } - m_throttler.ProcessTime(); + m_throttler.PassTime(); } - internal void UpdateThrottle(int pimagethrottle, ScenePresence p) + internal void UpdateThrottle(int pthrottle) { - m_throttler.UpdateThrottle(pimagethrottle, p); + int tmp = 2 * pthrottle; + if(tmp < 10000) + tmp = 10000; + m_throttler.ThrottleBytes = tmp; } } @@ -394,25 +397,15 @@ namespace OpenSim.Region.ClientStack.Linden internal sealed class MeshCapsDataThrottler { + private double lastTimeElapsed = 0; + private double BytesSent = 0; - private volatile int currenttime = 0; - private volatile int lastTimeElapsed = 0; - private volatile int BytesSent = 0; - private int CapSetThrottle = 0; - private float CapThrottleDistributon = 0.30f; - private readonly Scene m_scene; - private ThrottleOutPacketType Throttle; - private readonly UUID User; - - public MeshCapsDataThrottler(int pBytes, int max, int min, Scene pScene, UUID puser) + public MeshCapsDataThrottler(int pBytes) { + if(pBytes < 10000) + pBytes = 10000; ThrottleBytes = pBytes; - if(ThrottleBytes < 10000) - ThrottleBytes = 10000; - lastTimeElapsed = Util.EnvironmentTickCount(); - Throttle = ThrottleOutPacketType.Asset; - m_scene = pScene; - User = puser; + lastTimeElapsed = Util.GetTimeStampMS(); } public bool hasEvents(UUID key, Dictionary responses) @@ -442,46 +435,22 @@ namespace OpenSim.Region.ClientStack.Linden return haskey; } - public void ProcessTime() + public void PassTime() { - PassTime(); - } - - private void PassTime() - { - currenttime = Util.EnvironmentTickCount(); - int timeElapsed = Util.EnvironmentTickCountSubtract(currenttime, lastTimeElapsed); - if (timeElapsed >= 100) + double currenttime = Util.GetTimeStampMS(); + double timeElapsed = currenttime - lastTimeElapsed; + if(timeElapsed < 50.0) + return; + int add = (int)(ThrottleBytes * timeElapsed * 0.001); + if (add >= 1000) { lastTimeElapsed = currenttime; - BytesSent -= (ThrottleBytes * timeElapsed / 1000); + BytesSent -= add; if (BytesSent < 0) BytesSent = 0; } } - private void AlterThrottle(int setting, ScenePresence p) - { - p.ControllingClient.SetAgentThrottleSilent((int)Throttle,setting); - } - - public int ThrottleBytes - { - get { return CapSetThrottle; } - set - { - if (value > 10000) - CapSetThrottle = value; - else - CapSetThrottle = 10000; - } - } - - internal void UpdateThrottle(int pimagethrottle, ScenePresence p) - { - // Client set throttle ! - CapSetThrottle = 2 * pimagethrottle; - ProcessTime(); - } + public int ThrottleBytes; } } } diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs index ce9798bef2..b01c7dc3c1 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs @@ -220,7 +220,7 @@ namespace OpenSim.Region.ClientStack.Linden new Dictionary(); private Scene m_scene; - private CapsDataThrottler m_throttler = new CapsDataThrottler(100000, 1400000,10000); + private CapsDataThrottler m_throttler = new CapsDataThrottler(100000); public PollServiceTextureEventArgs(UUID pId, Scene scene) : base(null, "", null, null, null, pId, int.MaxValue) { @@ -231,7 +231,6 @@ namespace OpenSim.Region.ClientStack.Linden lock (responses) { bool ret = m_throttler.hasEvents(x, responses); - m_throttler.ProcessTime(); return ret; } @@ -247,6 +246,7 @@ namespace OpenSim.Region.ClientStack.Linden finally { responses.Remove(x); + m_throttler.PassTime(); } } }; @@ -271,6 +271,7 @@ namespace OpenSim.Region.ClientStack.Linden } } m_queue.Enqueue(reqinfo); + m_throttler.PassTime(); }; // this should never happen except possible on shutdown @@ -351,14 +352,15 @@ namespace OpenSim.Region.ClientStack.Linden }; } - m_throttler.ProcessTime(); + m_throttler.PassTime(); } internal void UpdateThrottle(int pimagethrottle) { - m_throttler.ThrottleBytes = 2 * pimagethrottle; - if(m_throttler.ThrottleBytes < 10000) - m_throttler.ThrottleBytes = 10000; + int tmp = 2 * pimagethrottle; + if(tmp < 10000) + tmp = 10000; + m_throttler.ThrottleBytes = tmp; } } @@ -426,16 +428,14 @@ namespace OpenSim.Region.ClientStack.Linden internal sealed class CapsDataThrottler { - - private volatile int currenttime = 0; - private volatile int lastTimeElapsed = 0; + private double lastTimeElapsed = 0; private volatile int BytesSent = 0; - public CapsDataThrottler(int pBytes, int max, int min) + public CapsDataThrottler(int pBytes) { + if(pBytes < 10000) + pBytes = 10000; ThrottleBytes = pBytes; - if(ThrottleBytes < 10000) - ThrottleBytes = 10000; - lastTimeElapsed = Util.EnvironmentTickCount(); + lastTimeElapsed = Util.GetTimeStampMS(); } public bool hasEvents(UUID key, Dictionary responses) { @@ -468,20 +468,17 @@ namespace OpenSim.Region.ClientStack.Linden return haskey; } - public void ProcessTime() + public void PassTime() { - PassTime(); - } - - private void PassTime() - { - currenttime = Util.EnvironmentTickCount(); - int timeElapsed = Util.EnvironmentTickCountSubtract(currenttime, lastTimeElapsed); - //processTimeBasedActions(responses); - if (timeElapsed >= 100) + double currenttime = Util.GetTimeStampMS(); + double timeElapsed = currenttime - lastTimeElapsed; + if(timeElapsed < 50.0) + return; + int add = (int)(ThrottleBytes * timeElapsed * 0.001); + if (add >= 1000) { lastTimeElapsed = currenttime; - BytesSent -= (ThrottleBytes * timeElapsed / 1000); + BytesSent -= add; if (BytesSent < 0) BytesSent = 0; } } From 651952e01eef5ad98e87fbe3909dd11f1d2d9db1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 21 Jun 2017 03:31:07 +0100 Subject: [PATCH 02/84] changes to AutoBackModule. Time interval is now unique and only definable on OpenSim.ini. All enabled regions will be saved in sequence whne it expires. Interval is time since last region save end, so will not follow wall clock. This reduces the chance of overlapped saves. Console command renamed to dooarbackup to be more distint from db backup. Lost the region load checks, to put back later --- .../World/AutoBackup/AutoBackupModule.cs | 724 +++++------------- .../World/AutoBackup/AutoBackupModuleState.cs | 59 +- 2 files changed, 224 insertions(+), 559 deletions(-) diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs index 79b80f88f4..eab6705478 100644 --- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs +++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs @@ -59,23 +59,20 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// /// /// Config Settings Documentation. - /// Each configuration setting can be specified in two places: OpenSim.ini or Regions.ini. - /// If specified in Regions.ini, the settings should be within the region's section name. - /// If specified in OpenSim.ini, the settings should be within the [AutoBackupModule] section. - /// Region-specific settings take precedence. + /// Configuration setting can be specified in two places: OpenSim.ini and/or Regions.ini. /// - /// AutoBackupModuleEnabled: True/False. Default: False. If True, use the auto backup module. This setting does not support per-region basis. - /// All other settings under [AutoBackupModule] are ignored if AutoBackupModuleEnabled is false, even per-region settings! - /// AutoBackup: True/False. Default: False. If True, activate auto backup functionality. - /// This is the only required option for enabling auto-backup; the other options have sane defaults. - /// If False for a particular region, the auto-backup module becomes a no-op for the region, and all other AutoBackup* settings are ignored. - /// If False globally (the default), only regions that specifically override it in Regions.ini will get AutoBackup functionality. + /// OpenSim.ini only settings section [AutoBackupModule] + /// AutoBackupModuleEnabled: True/False. Default: False. If True, use the auto backup module. + /// if false module is disable and all rest is ignored /// AutoBackupInterval: Double, non-negative value. Default: 720 (12 hours). /// The number of minutes between each backup attempt. - /// If a negative or zero value is given, it is equivalent to setting AutoBackup = False. - /// AutoBackupBusyCheck: True/False. Default: True. - /// If True, we will only take an auto-backup if a set of conditions are met. - /// These conditions are heuristics to try and avoid taking a backup when the sim is busy. + /// + /// Next can be set on OpenSim.ini, as default, and or per region in Regions.ini + /// Region-specific settings take precedence. + /// + /// AutoBackup: True/False. Default: False. If True, activate auto backup functionality. + /// controls backup per region, with default optionaly set on OpenSim.ini + /// AutoBackupSkipAssets /// If true, assets are not saved to the oar file. Considerably reduces impact on simulator when backing up. Intended for when assets db is backed up separately /// AutoBackupKeepFilesForDays @@ -93,36 +90,22 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// "Overwrite": Always save to file named "${AutoBackupDir}/RegionName.oar", even if we have to overwrite an existing file. /// AutoBackupDir: String. Default: "." (the current directory). /// A directory (absolute or relative) where backups should be saved. - /// AutoBackupDilationThreshold: float. Default: 0.5. Lower bound on time dilation required for BusyCheck heuristics to pass. - /// If the time dilation is below this value, don't take a backup right now. - /// AutoBackupAgentThreshold: int. Default: 10. Upper bound on # of agents in region required for BusyCheck heuristics to pass. - /// If the number of agents is greater than this value, don't take a backup right now - /// Save memory by setting low initial capacities. Minimizes impact in common cases of all regions using same interval, and instances hosting 1 ~ 4 regions. - /// Also helps if you don't want AutoBackup at all. /// [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "AutoBackupModule")] public class AutoBackupModule : ISharedRegionModule { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private readonly Dictionary m_pendingSaves = new Dictionary(1); private readonly AutoBackupModuleState m_defaultState = new AutoBackupModuleState(); private readonly Dictionary m_states = new Dictionary(1); - private readonly Dictionary> m_timerMap = - new Dictionary>(1); - private readonly Dictionary m_timers = new Dictionary(1); private delegate T DefaultGetter(string settingName, T defaultValue); private bool m_enabled; private ICommandConsole m_console; private List m_Scenes = new List (); - - - /// - /// Whether the shared module should be enabled at all. NOT the same as m_Enabled in AutoBackupModuleState! - /// - private bool m_closed; + private Timer m_masterTimer; + private bool m_busy; private IConfigSource m_configSource; @@ -159,36 +142,34 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup void IRegionModuleBase.Initialise(IConfigSource source) { // Determine if we have been enabled at all in OpenSim.ini -- this is part and parcel of being an optional module - this.m_configSource = source; + m_configSource = source; IConfig moduleConfig = source.Configs["AutoBackupModule"]; if (moduleConfig == null) { - this.m_enabled = false; + m_enabled = false; return; } - else - { - this.m_enabled = moduleConfig.GetBoolean("AutoBackupModuleEnabled", false); - if (this.m_enabled) - { - m_log.Info("[AUTO BACKUP]: AutoBackupModule enabled"); - } - else - { - return; - } - } - Timer defTimer = new Timer(43200000); - this.m_defaultState.Timer = defTimer; - this.m_timers.Add(43200000, defTimer); - defTimer.Elapsed += this.HandleElapsed; - defTimer.AutoReset = true; - defTimer.Start(); + m_enabled = moduleConfig.GetBoolean("AutoBackupModuleEnabled", false); + if(!m_enabled) + return; - AutoBackupModuleState abms = this.ParseConfig(null, true); - m_log.Debug("[AUTO BACKUP]: Here is the default config:"); - m_log.Debug(abms.ToString()); + m_log.Info("[AUTO BACKUP]: AutoBackupModule enabled"); + m_masterTimer = new Timer(43200000); + m_masterTimer.Elapsed += HandleElapsed; + m_masterTimer.AutoReset = false; + + ParseDefaultConfig(); + m_log.Debug("[AUTO BACKUP]: Default config:"); + m_log.Debug(m_defaultState.ToString()); + + m_console = MainConsole.Instance; + + m_console.Commands.AddCommand ( + "AutoBackup", true, "dooarbackup", + "dooarbackup ", + "do single region backup into a oar. Identical to save oar but using AutoBackup settings for name etc", DoBackup); + m_busy = true; } /// @@ -196,13 +177,11 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// void IRegionModuleBase.Close() { - if (!this.m_enabled) - { + if (!m_enabled) return; - } // We don't want any timers firing while the sim's coming down; strange things may happen. - this.StopAllTimers(); + m_masterTimer.Dispose(); } /// @@ -211,18 +190,11 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// void IRegionModuleBase.AddRegion (Scene scene) { - if (!this.m_enabled) { + if (!m_enabled) return; - } - lock (m_Scenes) { - m_Scenes.Add (scene); - } - m_console = MainConsole.Instance; - m_console.Commands.AddCommand ( - "AutoBackup", false, "dobackup", - "dobackup", - "do backup.", DoBackup); + lock (m_Scenes) + m_Scenes.Add (scene); } /// @@ -231,28 +203,14 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// The scene (region) to stop performing AutoBackup on. void IRegionModuleBase.RemoveRegion(Scene scene) { - if (!this.m_enabled) - { + if (m_enabled) return; - } - m_Scenes.Remove (scene); - if (this.m_states.ContainsKey(scene)) + + lock(m_Scenes) { - AutoBackupModuleState abms = this.m_states[scene]; - - // Remove this scene out of the timer map list - Timer timer = abms.Timer; - List list = this.m_timerMap[timer]; - list.Remove(scene); - - // Shut down the timer if this was the last scene for the timer - if (list.Count == 0) - { - this.m_timerMap.Remove(timer); - this.m_timers.Remove(timer.Interval); - timer.Close(); - } - this.m_states.Remove(scene); + if (m_states.ContainsKey(scene)) + m_states.Remove(scene); + m_Scenes.Remove(scene); } } @@ -263,22 +221,29 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// The scene to (possibly) perform AutoBackup on. void IRegionModuleBase.RegionLoaded(Scene scene) { - if (!this.m_enabled) - { + if (!m_enabled) return; - } // This really ought not to happen, but just in case, let's pretend it didn't... if (scene == null) - { return; + + AutoBackupModuleState abms = ParseConfig(scene); + if(abms == null) + { + m_log.Debug("[AUTO BACKUP]: Config for " + scene.RegionInfo.RegionName); + m_log.Debug("DEFAULT"); + abms = new AutoBackupModuleState(m_defaultState); + } + else + { + m_log.Debug("[AUTO BACKUP]: Config for " + scene.RegionInfo.RegionName); + m_log.Debug(abms.ToString()); } - AutoBackupModuleState abms = this.ParseConfig(scene, false); - m_log.Debug("[AUTO BACKUP]: Config for " + scene.RegionInfo.RegionName); - m_log.Debug((abms == null ? "DEFAULT" : abms.ToString())); - m_states.Add(scene, abms); + m_busy = false; + m_masterTimer.Start(); } /// @@ -286,30 +251,116 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// void ISharedRegionModule.PostInitialise() { + } #endregion private void DoBackup (string module, string[] args) { - if (args.Length != 2) { - MainConsole.Instance.OutputFormat ("Usage: dobackup "); + if (!m_enabled) + return; + + if(m_busy) + { + MainConsole.Instance.OutputFormat ("Already doing a backup, please try later"); return; } + + if (args.Length != 2) + { + MainConsole.Instance.OutputFormat ("Usage: dooarbackup "); + return; + } + + m_busy = true; + bool found = false; string name = args [1]; - lock (m_Scenes) { - foreach (Scene s in m_Scenes) { - string test = s.Name.ToString (); - if (test == name) { + Scene[] scenes; + lock (m_Scenes) + scenes = m_Scenes.ToArray(); + + if(scenes == null) + return; + + Scene s; + try + { + for(int i = 0; i < scenes.Length; i++) + { + s = scenes[i]; + if (s.Name == name) + { found = true; - DoRegionBackup (s); + m_masterTimer.Stop(); + DoRegionBackup(s); + break; } } - if (!found) { + } catch { } + + if (!found) MainConsole.Instance.OutputFormat ("No such region {0}. Nothing to backup", name); + m_busy = false; + } + + private void ParseDefaultConfig() + { + IConfig config = m_configSource.Configs["AutoBackupModule"]; + if (config == null) + return; + + // Borrow an existing timer if one exists for the same interval; otherwise, make a new one. + double interval = config.GetDouble("AutoBackupInterval", 720); + interval *= 60000.0; + m_masterTimer.Interval = interval; + + m_defaultState.Enabled = config.GetBoolean("AutoBackup", m_defaultState.Enabled); + + // Included Option To Skip Assets + m_defaultState.SkipAssets = config.GetBoolean("AutoBackupSkipAssets",m_defaultState.SkipAssets); + + // How long to keep backup files in days, 0 Disables this feature + m_defaultState.KeepFilesForDays = config.GetInt("AutoBackupKeepFilesForDays",m_defaultState.KeepFilesForDays); + + // Set file naming algorithm + string stmpNamingType = config.GetString("AutoBackupNaming", m_defaultState.NamingType.ToString()); + NamingType tmpNamingType; + if (stmpNamingType.Equals("Time", StringComparison.CurrentCultureIgnoreCase)) + tmpNamingType = NamingType.Time; + else if (stmpNamingType.Equals("Sequential", StringComparison.CurrentCultureIgnoreCase)) + tmpNamingType = NamingType.Sequential; + else if (stmpNamingType.Equals("Overwrite", StringComparison.CurrentCultureIgnoreCase)) + tmpNamingType = NamingType.Overwrite; + else + { + m_log.Warn("Unknown naming type specified for Default"); + tmpNamingType = NamingType.Time; + } + m_defaultState.NamingType = tmpNamingType; + + m_defaultState.Script = config.GetString("AutoBackupScript", m_defaultState.Script); + + string backupDir = config.GetString("AutoBackupDir", "."); + if (backupDir != ".") + { + try + { + DirectoryInfo dirinfo = new DirectoryInfo(backupDir); + if (!dirinfo.Exists) + dirinfo.Create(); + } + catch (Exception e) + { + m_log.Warn( + "[AUTO BACKUP]: BAD NEWS. You won't be able to save backups to directory " + + backupDir + + " because it doesn't exist or there's a permissions issue with it. Here's the exception.", + e); } } + m_defaultState.BackupDir = backupDir; } /// @@ -319,247 +370,74 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// The scene to look at. /// Whether this call is intended to figure out what we consider the "default" config (applied to all regions unless overridden by per-region settings). /// An AutoBackupModuleState contains most information you should need to know relevant to auto-backup, as applicable to a single region. - private AutoBackupModuleState ParseConfig(IScene scene, bool parseDefault) + private AutoBackupModuleState ParseConfig(IScene scene) { + if(scene == null) + return null; + string sRegionName; string sRegionLabel; -// string prepend; - AutoBackupModuleState state; + AutoBackupModuleState state = null; - if (parseDefault) - { - sRegionName = null; - sRegionLabel = "DEFAULT"; -// prepend = ""; - state = this.m_defaultState; - } - else - { - sRegionName = scene.RegionInfo.RegionName; - sRegionLabel = sRegionName; -// prepend = sRegionName + "."; - state = null; - } + sRegionName = scene.RegionInfo.RegionName; + sRegionLabel = sRegionName; // Read the config settings and set variables. - IConfig regionConfig = (scene != null ? scene.Config.Configs[sRegionName] : null); - IConfig config = this.m_configSource.Configs["AutoBackupModule"]; - if (config == null) - { - // defaultState would be disabled too if the section doesn't exist. - state = this.m_defaultState; - return state; - } + IConfig regionConfig = scene.Config.Configs[sRegionName]; + if (regionConfig == null) + return null; - bool tmpEnabled = ResolveBoolean("AutoBackup", this.m_defaultState.Enabled, config, regionConfig); - if (state == null && tmpEnabled != this.m_defaultState.Enabled) - //Varies from default state - { - state = new AutoBackupModuleState(); - } + state = new AutoBackupModuleState(); - if (state != null) - { - state.Enabled = tmpEnabled; - } - - // If you don't want AutoBackup, we stop. - if ((state == null && !this.m_defaultState.Enabled) || (state != null && !state.Enabled)) - { - return state; - } - else - { - m_log.Info("[AUTO BACKUP]: Region " + sRegionLabel + " is AutoBackup ENABLED."); - } - - // Borrow an existing timer if one exists for the same interval; otherwise, make a new one. - double interval = - this.ResolveDouble("AutoBackupInterval", this.m_defaultState.IntervalMinutes, - config, regionConfig) * 60000.0; - if (state == null && interval != this.m_defaultState.IntervalMinutes * 60000.0) - { - state = new AutoBackupModuleState(); - } - - if (this.m_timers.ContainsKey(interval)) - { - if (state != null) - { - state.Timer = this.m_timers[interval]; - } - m_log.Debug("[AUTO BACKUP]: Reusing timer for " + interval + " msec for region " + - sRegionLabel); - } - else - { - // 0 or negative interval == do nothing. - if (interval <= 0.0 && state != null) - { - state.Enabled = false; - return state; - } - if (state == null) - { - state = new AutoBackupModuleState(); - } - Timer tim = new Timer(interval); - state.Timer = tim; - //Milliseconds -> minutes - this.m_timers.Add(interval, tim); - tim.Elapsed += this.HandleElapsed; - tim.AutoReset = true; - tim.Start(); - } - - // Add the current region to the list of regions tied to this timer. - if (scene != null) - { - if (state != null) - { - if (this.m_timerMap.ContainsKey(state.Timer)) - { - this.m_timerMap[state.Timer].Add(scene); - } - else - { - List scns = new List(1); - scns.Add(scene); - this.m_timerMap.Add(state.Timer, scns); - } - } - else - { - if (this.m_timerMap.ContainsKey(this.m_defaultState.Timer)) - { - this.m_timerMap[this.m_defaultState.Timer].Add(scene); - } - else - { - List scns = new List(1); - scns.Add(scene); - this.m_timerMap.Add(this.m_defaultState.Timer, scns); - } - } - } - - bool tmpBusyCheck = ResolveBoolean("AutoBackupBusyCheck", - this.m_defaultState.BusyCheck, config, regionConfig); - if (state == null && tmpBusyCheck != this.m_defaultState.BusyCheck) - { - state = new AutoBackupModuleState(); - } - - if (state != null) - { - state.BusyCheck = tmpBusyCheck; - } + state.Enabled = regionConfig.GetBoolean("AutoBackup", m_defaultState.Enabled); // Included Option To Skip Assets - bool tmpSkipAssets = ResolveBoolean("AutoBackupSkipAssets", - this.m_defaultState.SkipAssets, config, regionConfig); - if (state == null && tmpSkipAssets != this.m_defaultState.SkipAssets) - { - state = new AutoBackupModuleState(); - } - - if (state != null) - { - state.SkipAssets = tmpSkipAssets; - } + state.SkipAssets = regionConfig.GetBoolean("AutoBackupSkipAssets", m_defaultState.SkipAssets); // How long to keep backup files in days, 0 Disables this feature - int tmpKeepFilesForDays = ResolveInt("AutoBackupKeepFilesForDays", - this.m_defaultState.KeepFilesForDays, config, regionConfig); - if (state == null && tmpKeepFilesForDays != this.m_defaultState.KeepFilesForDays) - { - state = new AutoBackupModuleState(); - } - - if (state != null) - { - state.KeepFilesForDays = tmpKeepFilesForDays; - } + state.KeepFilesForDays = regionConfig.GetInt("AutoBackupKeepFilesForDays", m_defaultState.KeepFilesForDays); // Set file naming algorithm - string stmpNamingType = ResolveString("AutoBackupNaming", - this.m_defaultState.NamingType.ToString(), config, regionConfig); + string stmpNamingType = regionConfig.GetString("AutoBackupNaming", m_defaultState.NamingType.ToString()); NamingType tmpNamingType; if (stmpNamingType.Equals("Time", StringComparison.CurrentCultureIgnoreCase)) - { tmpNamingType = NamingType.Time; - } else if (stmpNamingType.Equals("Sequential", StringComparison.CurrentCultureIgnoreCase)) - { tmpNamingType = NamingType.Sequential; - } else if (stmpNamingType.Equals("Overwrite", StringComparison.CurrentCultureIgnoreCase)) - { tmpNamingType = NamingType.Overwrite; - } else { m_log.Warn("Unknown naming type specified for region " + sRegionLabel + ": " + stmpNamingType); tmpNamingType = NamingType.Time; } + m_defaultState.NamingType = tmpNamingType; - if (state == null && tmpNamingType != this.m_defaultState.NamingType) - { - state = new AutoBackupModuleState(); - } + state.Script = regionConfig.GetString("AutoBackupScript", m_defaultState.Script); - if (state != null) + string tmpBackupDir = regionConfig.GetString("AutoBackupDir", "."); + // Let's give the user some convenience and auto-mkdir + if (tmpBackupDir != "." && tmpBackupDir != m_defaultState.BackupDir) { - state.NamingType = tmpNamingType; - } - - string tmpScript = ResolveString("AutoBackupScript", - this.m_defaultState.Script, config, regionConfig); - if (state == null && tmpScript != this.m_defaultState.Script) - { - state = new AutoBackupModuleState(); - } - - if (state != null) - { - state.Script = tmpScript; - } - - string tmpBackupDir = ResolveString("AutoBackupDir", ".", config, regionConfig); - if (state == null && tmpBackupDir != this.m_defaultState.BackupDir) - { - state = new AutoBackupModuleState(); - } - - if (state != null) - { - state.BackupDir = tmpBackupDir; - // Let's give the user some convenience and auto-mkdir - if (state.BackupDir != ".") + try { - try + DirectoryInfo dirinfo = new DirectoryInfo(state.BackupDir); + if (!dirinfo.Exists) { - DirectoryInfo dirinfo = new DirectoryInfo(state.BackupDir); - if (!dirinfo.Exists) - { - dirinfo.Create(); - } - } - catch (Exception e) - { - m_log.Warn( - "[AUTO BACKUP]: BAD NEWS. You won't be able to save backups to directory " + - state.BackupDir + - " because it doesn't exist or there's a permissions issue with it. Here's the exception.", - e); + dirinfo.Create(); } } + catch (Exception e) + { + m_log.Warn( + "[AUTO BACKUP]: BAD NEWS. You won't be able to save backups to directory " + + state.BackupDir + + " because it doesn't exist or there's a permissions issue with it:", + e); + } } - - if(state == null) - return m_defaultState; - + state.BackupDir = tmpBackupDir; return state; } @@ -583,66 +461,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup } } - /// - /// Helper function for ParseConfig. - /// - /// - /// - /// - /// - /// - private double ResolveDouble(string settingName, double defaultValue, IConfig global, IConfig local) - { - if (local != null) - { - return local.GetDouble(settingName, global.GetDouble(settingName, defaultValue)); - } - else - { - return global.GetDouble(settingName, defaultValue); - } - } - - /// - /// Helper function for ParseConfig. - /// - /// - /// - /// - /// - /// - private int ResolveInt(string settingName, int defaultValue, IConfig global, IConfig local) - { - if (local != null) - { - return local.GetInt(settingName, global.GetInt(settingName, defaultValue)); - } - else - { - return global.GetInt(settingName, defaultValue); - } - } - - /// - /// Helper function for ParseConfig. - /// - /// - /// - /// - /// - /// - private string ResolveString(string settingName, string defaultValue, IConfig global, IConfig local) - { - if (local != null) - { - return local.GetString(settingName, global.GetString(settingName, defaultValue)); - } - else - { - return global.GetString(settingName, defaultValue); - } - } - /// /// Called when any auto-backup timer expires. This starts the code path for actually performing a backup. /// @@ -650,62 +468,21 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// private void HandleElapsed(object sender, ElapsedEventArgs e) { - // TODO: heuristic thresholds are per-region, so we should probably run heuristics once per region - // XXX: Running heuristics once per region could add undue performance penalty for something that's supposed to - // check whether the region is too busy! Especially on sims with LOTS of regions. - // Alternative: make heuristics thresholds global to the module rather than per-region. Less flexible, - // but would allow us to be semantically correct while being easier on perf. - // Alternative 2: Run heuristics once per unique set of heuristics threshold parameters! Ay yi yi... - // Alternative 3: Don't support per-region heuristics at all; just accept them as a global only parameter. - // Since this is pretty experimental, I haven't decided which alternative makes the most sense. - if (this.m_closed) - { + if (!m_enabled || m_busy) return; - } - bool heuristicsRun = false; - bool heuristicsPassed = false; - if (!this.m_timerMap.ContainsKey((Timer) sender)) + + m_busy = true; + foreach (IScene scene in m_Scenes) { - m_log.Debug("[AUTO BACKUP]: Code-up error: timerMap doesn't contain timer " + sender); + if (!m_enabled) + return; + DoRegionBackup(scene); } - List tmap = this.m_timerMap[(Timer) sender]; - if (tmap != null && tmap.Count > 0) + if (m_enabled) { - foreach (IScene scene in tmap) - { - AutoBackupModuleState state = this.m_states[scene]; - bool heuristics = state.BusyCheck; - - // Fast path: heuristics are on; already ran em; and sim is fine; OR, no heuristics for the region. - if ((heuristics && heuristicsRun && heuristicsPassed) || !heuristics) - { - this.DoRegionBackup(scene); - // Heuristics are on; ran but we're too busy -- keep going. Maybe another region will have heuristics off! - } - else if (heuristicsRun) - { - m_log.Info("[AUTO BACKUP]: Heuristics: too busy to backup " + - scene.RegionInfo.RegionName + " right now."); - continue; - // Logical Deduction: heuristics are on but haven't been run - } - else - { - heuristicsPassed = this.RunHeuristics(scene); - heuristicsRun = true; - if (!heuristicsPassed) - { - m_log.Info("[AUTO BACKUP]: Heuristics: too busy to backup " + - scene.RegionInfo.RegionName + " right now."); - continue; - } - this.DoRegionBackup(scene); - } - - // Remove Old Backups - this.RemoveOldFiles(state); - } + m_masterTimer.Start(); + m_busy = false; } } @@ -723,8 +500,19 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup return; } - AutoBackupModuleState state = this.m_states[scene]; + m_busy = true; + + AutoBackupModuleState state; + if(!m_states.TryGetValue(scene, out state)) + return; + + if(state == null || !state.Enabled) + return; + IRegionArchiverModule iram = scene.RequestModuleInterface(); + if(iram == null) + return; + string savePath = BuildOarPath(scene.RegionInfo.RegionName, state.BackupDir, state.NamingType); @@ -733,11 +521,8 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup m_log.Warn("[AUTO BACKUP]: savePath is null in HandleElapsed"); return; } - Guid guid = Guid.NewGuid(); - m_pendingSaves.Add(guid, scene); - state.LiveRequests.Add(guid, savePath); - ((Scene) scene).EventManager.OnOarFileSaved += new EventManager.OarFileSaved(EventManager_OnOarFileSaved); + Guid guid = Guid.NewGuid(); m_log.Info("[AUTO BACKUP]: Backing up region " + scene.RegionInfo.RegionName); // Must pass options, even if dictionary is empty! @@ -747,6 +532,7 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup options["noassets"] = true; iram.ArchiveRegion(savePath, guid, options); + ExecuteScript(state.Script, savePath); } // For the given state, remove backup files older than the states KeepFilesForDays property @@ -774,23 +560,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup } } - /// - /// Called by the Event Manager when the OnOarFileSaved event is fired. - /// - /// - /// - void EventManager_OnOarFileSaved(Guid guid, string message) - { - // Ignore if the OAR save is being done by some other part of the system - if (m_pendingSaves.ContainsKey(guid)) - { - AutoBackupModuleState abms = m_states[(m_pendingSaves[guid])]; - ExecuteScript(abms.Script, abms.LiveRequests[guid]); - m_pendingSaves.Remove(guid); - abms.LiveRequests.Remove(guid); - } - } - /// This format may turn out to be too unwieldy to keep... /// Besides, that's what ctimes are for. But then how do I name each file uniquely without using a GUID? /// Sequential numbers, right? We support those, too! @@ -817,63 +586,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup return output; } - /// Return value of true ==> not too busy; false ==> too busy to backup an OAR right now, or error. - private bool RunHeuristics(IScene region) - { - try - { - return this.RunTimeDilationHeuristic(region) && this.RunAgentLimitHeuristic(region); - } - catch (Exception e) - { - m_log.Warn("[AUTO BACKUP]: Exception in RunHeuristics", e); - return false; - } - } - - /// - /// If the time dilation right at this instant is less than the threshold specified in AutoBackupDilationThreshold (default 0.5), - /// then we return false and trip the busy heuristic's "too busy" path (i.e. don't save an OAR). - /// AutoBackupDilationThreshold is a _LOWER BOUND_. Lower Time Dilation is bad, so if you go lower than our threshold, it's "too busy". - /// - /// - /// Returns true if we're not too busy; false means we've got worse time dilation than the threshold. - private bool RunTimeDilationHeuristic(IScene region) - { - string regionName = region.RegionInfo.RegionName; - return region.TimeDilation >= - this.m_configSource.Configs["AutoBackupModule"].GetFloat( - regionName + ".AutoBackupDilationThreshold", 0.5f); - } - - /// - /// If the root agent count right at this instant is less than the threshold specified in AutoBackupAgentThreshold (default 10), - /// then we return false and trip the busy heuristic's "too busy" path (i.e., don't save an OAR). - /// AutoBackupAgentThreshold is an _UPPER BOUND_. Higher Agent Count is bad, so if you go higher than our threshold, it's "too busy". - /// - /// - /// Returns true if we're not too busy; false means we've got more agents on the sim than the threshold. - private bool RunAgentLimitHeuristic(IScene region) - { - string regionName = region.RegionInfo.RegionName; - try - { - Scene scene = (Scene) region; - // TODO: Why isn't GetRootAgentCount() a method in the IScene interface? Seems generally useful... - return scene.GetRootAgentCount() <= - this.m_configSource.Configs["AutoBackupModule"].GetInt( - regionName + ".AutoBackupAgentThreshold", 10); - } - catch (InvalidCastException ice) - { - m_log.Debug( - "[AUTO BACKUP]: I NEED MAINTENANCE: IScene is not a Scene; can't get root agent count!", - ice); - return true; - // Non-obstructionist safest answer... - } - } - /// /// Run the script or executable specified by the "AutoBackupScript" config setting. /// Of course this is a security risk if you let anyone modify OpenSim.ini and they want to run some nasty bash script. @@ -919,18 +631,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup " is yacking on stderr: " + e.Data); } - /// - /// Quickly stop all timers from firing. - /// - private void StopAllTimers() - { - foreach (Timer t in this.m_timerMap.Keys) - { - t.Close(); - } - this.m_closed = true; - } - /// /// Determine the next unique filename by number, for "Sequential" AutoBackupNamingType. /// @@ -1033,5 +733,3 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup } } } - - diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs index b90f0c4740..be5f2ae37c 100644 --- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs +++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs @@ -38,26 +38,24 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// public class AutoBackupModuleState { - private Dictionary m_liveRequests = null; - public AutoBackupModuleState() { - this.Enabled = false; - this.BackupDir = "."; - this.BusyCheck = true; - this.SkipAssets = false; - this.Timer = null; - this.NamingType = NamingType.Time; - this.Script = null; - this.KeepFilesForDays = 0; + Enabled = false; + BackupDir = "."; + SkipAssets = false; + NamingType = NamingType.Time; + Script = null; + KeepFilesForDays = 0; } - public Dictionary LiveRequests + public AutoBackupModuleState(AutoBackupModuleState copyFrom) { - get { - return this.m_liveRequests ?? - (this.m_liveRequests = new Dictionary(1)); - } + Enabled = copyFrom.Enabled; + BackupDir = copyFrom.BackupDir; + SkipAssets = copyFrom.SkipAssets; + NamingType = copyFrom.NamingType; + Script = copyFrom.Script; + KeepFilesForDays = copyFrom.KeepFilesForDays; } public bool Enabled @@ -66,33 +64,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup set; } - public System.Timers.Timer Timer - { - get; - set; - } - - public double IntervalMinutes - { - get - { - if (this.Timer == null) - { - return -1.0; - } - else - { - return this.Timer.Interval / 60000.0; - } - } - } - - public bool BusyCheck - { - get; - set; - } - public bool SkipAssets { get; @@ -126,10 +97,7 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup public new string ToString() { string retval = ""; - retval += "[AUTO BACKUP]: AutoBackup: " + (Enabled ? "ENABLED" : "DISABLED") + "\n"; - retval += "[AUTO BACKUP]: Interval: " + IntervalMinutes + " minutes" + "\n"; - retval += "[AUTO BACKUP]: Do Busy Check: " + (BusyCheck ? "Yes" : "No") + "\n"; retval += "[AUTO BACKUP]: Naming Type: " + NamingType.ToString() + "\n"; retval += "[AUTO BACKUP]: Backup Dir: " + BackupDir + "\n"; retval += "[AUTO BACKUP]: Script: " + Script + "\n"; @@ -137,4 +105,3 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup } } } - From 36442c004f917442997df11d04bb473e8339d68b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 21 Jun 2017 03:56:43 +0100 Subject: [PATCH 03/84] changes to AutoBackModule. Add option ALL to dooarbackup to save all regions in instance --- .../World/AutoBackup/AutoBackupModule.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs index eab6705478..05321cdb23 100644 --- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs +++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs @@ -167,8 +167,8 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup m_console.Commands.AddCommand ( "AutoBackup", true, "dooarbackup", - "dooarbackup ", - "do single region backup into a oar. Identical to save oar but using AutoBackup settings for name etc", DoBackup); + "dooarbackup | ALL", + "saves the single region to a oar or ALL regions in instance to oars, using same settings as AutoBackup. Note it restarts time interval", DoBackup); m_busy = true; } @@ -287,6 +287,18 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup Scene s; try { + if(name == "ALL") + { + m_masterTimer.Stop(); + for(int i = 0; i < scenes.Length; i++) + { + s = scenes[i]; + DoRegionBackup(s); + } + m_busy = false; + return; + } + for(int i = 0; i < scenes.Length; i++) { s = scenes[i]; From 70da90273297dba5f1c4253f0ea8796575b26ed3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 21 Jun 2017 13:35:36 +0100 Subject: [PATCH 04/84] changes to AutoBackModule. Store folder and number of days expire is now also only defined in OpenSim.ini and so same for all regions. --- .../World/AutoBackup/AutoBackupModule.cs | 209 ++++++++---------- .../World/AutoBackup/AutoBackupModuleState.cs | 17 -- 2 files changed, 91 insertions(+), 135 deletions(-) diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs index 05321cdb23..a14d8194ad 100644 --- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs +++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs @@ -66,7 +66,10 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// if false module is disable and all rest is ignored /// AutoBackupInterval: Double, non-negative value. Default: 720 (12 hours). /// The number of minutes between each backup attempt. - /// + /// AutoBackupDir: String. Default: "." (the current directory). + /// A directory (absolute or relative) where backups should be saved. + /// AutoBackupKeepFilesForDays remove files older than this number of days. 0 disables + /// /// Next can be set on OpenSim.ini, as default, and or per region in Regions.ini /// Region-specific settings take precedence. /// @@ -86,10 +89,8 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// AutoBackupNaming: string. Default: Time. /// One of three strings (case insensitive): /// "Time": Current timestamp is appended to file name. An existing file will never be overwritten. - /// "Sequential": A number is appended to the file name. So if RegionName_x.oar exists, we'll save to RegionName_{x+1}.oar next. An existing file will never be overwritten. - /// "Overwrite": Always save to file named "${AutoBackupDir}/RegionName.oar", even if we have to overwrite an existing file. - /// AutoBackupDir: String. Default: "." (the current directory). - /// A directory (absolute or relative) where backups should be saved. + /// "Sequential": A number is appended to the file name. So if RegionName_x.oar exists, we'll save to RegionName_{x+1}.oar next. An existing file will never be overwritten. + /// "Overwrite": Always save to file named "${AutoBackupDir}/RegionName.oar", even if we have to overwrite an existing file. /// [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "AutoBackupModule")] public class AutoBackupModule : ISharedRegionModule @@ -106,6 +107,10 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup private List m_Scenes = new List (); private Timer m_masterTimer; private bool m_busy; + private int m_KeepFilesForDays = -1; + private string m_backupDir; + private bool m_doneFirst; + private double m_baseInterval; private IConfigSource m_configSource; @@ -154,15 +159,19 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup if(!m_enabled) return; - m_log.Info("[AUTO BACKUP]: AutoBackupModule enabled"); - m_masterTimer = new Timer(43200000); - m_masterTimer.Elapsed += HandleElapsed; - m_masterTimer.AutoReset = false; + ParseDefaultConfig(moduleConfig); + if(!m_enabled) + return; - ParseDefaultConfig(); m_log.Debug("[AUTO BACKUP]: Default config:"); m_log.Debug(m_defaultState.ToString()); + m_log.Info("[AUTO BACKUP]: AutoBackupModule enabled"); + m_masterTimer = new Timer(); + m_masterTimer.Interval = m_baseInterval; + m_masterTimer.Elapsed += HandleElapsed; + m_masterTimer.AutoReset = false; + m_console = MainConsole.Instance; m_console.Commands.AddCommand ( @@ -251,7 +260,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup /// void ISharedRegionModule.PostInitialise() { - } #endregion @@ -261,18 +269,19 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup if (!m_enabled) return; - if(m_busy) - { - MainConsole.Instance.OutputFormat ("Already doing a backup, please try later"); - return; - } - if (args.Length != 2) { MainConsole.Instance.OutputFormat ("Usage: dooarbackup "); return; } + if(m_busy) + { + MainConsole.Instance.OutputFormat ("Already doing a backup, please try later"); + return; + } + + m_masterTimer.Stop(); m_busy = true; bool found = false; @@ -289,13 +298,13 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup { if(name == "ALL") { - m_masterTimer.Stop(); for(int i = 0; i < scenes.Length; i++) { s = scenes[i]; DoRegionBackup(s); + if (!m_enabled) + return; } - m_busy = false; return; } @@ -305,37 +314,56 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup if (s.Name == name) { found = true; - m_masterTimer.Stop(); DoRegionBackup(s); break; } } - } catch { } - + } + catch { } + finally + { + if (m_enabled) + m_masterTimer.Start(); + m_busy = false; + } if (!found) MainConsole.Instance.OutputFormat ("No such region {0}. Nothing to backup", name); - m_busy = false; } - private void ParseDefaultConfig() - { - IConfig config = m_configSource.Configs["AutoBackupModule"]; - if (config == null) - return; + private void ParseDefaultConfig(IConfig config) + { + + m_backupDir = "."; + string backupDir = config.GetString("AutoBackupDir", "."); + if (backupDir != ".") + { + try + { + DirectoryInfo dirinfo = new DirectoryInfo(backupDir); + if (!dirinfo.Exists) + dirinfo.Create(); + } + catch (Exception e) + { + m_enabled = false; + m_log.WarnFormat("[AUTO BACKUP]: Error accessing backup folder {0}. Module disabled. {1}", + backupDir, e); + return; + } + } + m_backupDir = backupDir; - // Borrow an existing timer if one exists for the same interval; otherwise, make a new one. double interval = config.GetDouble("AutoBackupInterval", 720); interval *= 60000.0; - m_masterTimer.Interval = interval; + m_baseInterval = interval; + + // How long to keep backup files in days, 0 Disables this feature + m_KeepFilesForDays = config.GetInt("AutoBackupKeepFilesForDays",m_KeepFilesForDays); m_defaultState.Enabled = config.GetBoolean("AutoBackup", m_defaultState.Enabled); - // Included Option To Skip Assets m_defaultState.SkipAssets = config.GetBoolean("AutoBackupSkipAssets",m_defaultState.SkipAssets); - // How long to keep backup files in days, 0 Disables this feature - m_defaultState.KeepFilesForDays = config.GetInt("AutoBackupKeepFilesForDays",m_defaultState.KeepFilesForDays); - // Set file naming algorithm string stmpNamingType = config.GetString("AutoBackupNaming", m_defaultState.NamingType.ToString()); NamingType tmpNamingType; @@ -354,25 +382,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup m_defaultState.Script = config.GetString("AutoBackupScript", m_defaultState.Script); - string backupDir = config.GetString("AutoBackupDir", "."); - if (backupDir != ".") - { - try - { - DirectoryInfo dirinfo = new DirectoryInfo(backupDir); - if (!dirinfo.Exists) - dirinfo.Create(); - } - catch (Exception e) - { - m_log.Warn( - "[AUTO BACKUP]: BAD NEWS. You won't be able to save backups to directory " + - backupDir + - " because it doesn't exist or there's a permissions issue with it. Here's the exception.", - e); - } - } - m_defaultState.BackupDir = backupDir; } /// @@ -388,11 +397,9 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup return null; string sRegionName; - string sRegionLabel; AutoBackupModuleState state = null; sRegionName = scene.RegionInfo.RegionName; - sRegionLabel = sRegionName; // Read the config settings and set variables. IConfig regionConfig = scene.Config.Configs[sRegionName]; @@ -406,9 +413,6 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup // Included Option To Skip Assets state.SkipAssets = regionConfig.GetBoolean("AutoBackupSkipAssets", m_defaultState.SkipAssets); - // How long to keep backup files in days, 0 Disables this feature - state.KeepFilesForDays = regionConfig.GetInt("AutoBackupKeepFilesForDays", m_defaultState.KeepFilesForDays); - // Set file naming algorithm string stmpNamingType = regionConfig.GetString("AutoBackupNaming", m_defaultState.NamingType.ToString()); NamingType tmpNamingType; @@ -420,58 +424,16 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup tmpNamingType = NamingType.Overwrite; else { - m_log.Warn("Unknown naming type specified for region " + sRegionLabel + ": " + + m_log.Warn("Unknown naming type specified for region " + sRegionName + ": " + stmpNamingType); tmpNamingType = NamingType.Time; } m_defaultState.NamingType = tmpNamingType; state.Script = regionConfig.GetString("AutoBackupScript", m_defaultState.Script); - - string tmpBackupDir = regionConfig.GetString("AutoBackupDir", "."); - // Let's give the user some convenience and auto-mkdir - if (tmpBackupDir != "." && tmpBackupDir != m_defaultState.BackupDir) - { - try - { - DirectoryInfo dirinfo = new DirectoryInfo(state.BackupDir); - if (!dirinfo.Exists) - { - dirinfo.Create(); - } - } - catch (Exception e) - { - m_log.Warn( - "[AUTO BACKUP]: BAD NEWS. You won't be able to save backups to directory " + - state.BackupDir + - " because it doesn't exist or there's a permissions issue with it:", - e); - } - } - state.BackupDir = tmpBackupDir; return state; } - /// - /// Helper function for ParseConfig. - /// - /// - /// - /// - /// - /// - private bool ResolveBoolean(string settingName, bool defaultValue, IConfig global, IConfig local) - { - if(local != null) - { - return local.GetBoolean(settingName, global.GetBoolean(settingName, defaultValue)); - } - else - { - return global.GetBoolean(settingName, defaultValue); - } - } /// /// Called when any auto-backup timer expires. This starts the code path for actually performing a backup. @@ -484,6 +446,9 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup return; m_busy = true; + if(m_doneFirst && m_KeepFilesForDays > 0) + RemoveOldFiles(); + foreach (IScene scene in m_Scenes) { if (!m_enabled) @@ -496,6 +461,8 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup m_masterTimer.Start(); m_busy = false; } + + m_doneFirst = true; } /// @@ -526,7 +493,7 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup return; string savePath = BuildOarPath(scene.RegionInfo.RegionName, - state.BackupDir, + m_backupDir, state.NamingType); if (savePath == null) { @@ -548,26 +515,32 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup } // For the given state, remove backup files older than the states KeepFilesForDays property - private void RemoveOldFiles(AutoBackupModuleState state) + private void RemoveOldFiles() { - // 0 Means Disabled, Keep Files Indefinitely - if (state.KeepFilesForDays > 0) + string[] files; + try { - string[] files = Directory.GetFiles(state.BackupDir, "*.oar"); - DateTime CuttOffDate = DateTime.Now.AddDays(0 - state.KeepFilesForDays); + files = Directory.GetFiles(m_backupDir, "*.oar"); + } + catch (Exception Ex) + { + m_log.Error("[AUTO BACKUP]: Error reading backup folder " + m_backupDir + ": " + Ex.Message); + return; + } - foreach (string file in files) + DateTime CuttOffDate = DateTime.Now.AddDays(-m_KeepFilesForDays); + + foreach (string file in files) + { + try { - try - { - FileInfo fi = new FileInfo(file); - if (fi.CreationTime < CuttOffDate) - fi.Delete(); - } - catch (Exception Ex) - { - m_log.Error("[AUTO BACKUP]: Error deleting old backup file '" + file + "': " + Ex.Message); - } + FileInfo fi = new FileInfo(file); + if (fi.CreationTime < CuttOffDate) + fi.Delete(); + } + catch (Exception Ex) + { + m_log.Error("[AUTO BACKUP]: Error deleting old backup file '" + file + "': " + Ex.Message); } } } diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs index be5f2ae37c..fb87677d62 100644 --- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs +++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs @@ -41,21 +41,17 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup public AutoBackupModuleState() { Enabled = false; - BackupDir = "."; SkipAssets = false; NamingType = NamingType.Time; Script = null; - KeepFilesForDays = 0; } public AutoBackupModuleState(AutoBackupModuleState copyFrom) { Enabled = copyFrom.Enabled; - BackupDir = copyFrom.BackupDir; SkipAssets = copyFrom.SkipAssets; NamingType = copyFrom.NamingType; Script = copyFrom.Script; - KeepFilesForDays = copyFrom.KeepFilesForDays; } public bool Enabled @@ -76,30 +72,17 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup set; } - public string BackupDir - { - get; - set; - } - public NamingType NamingType { get; set; } - public int KeepFilesForDays - { - get; - set; - } - public new string ToString() { string retval = ""; retval += "[AUTO BACKUP]: AutoBackup: " + (Enabled ? "ENABLED" : "DISABLED") + "\n"; retval += "[AUTO BACKUP]: Naming Type: " + NamingType.ToString() + "\n"; - retval += "[AUTO BACKUP]: Backup Dir: " + BackupDir + "\n"; retval += "[AUTO BACKUP]: Script: " + Script + "\n"; return retval; } From 637d35631cd88258d5f3da44c2959985a047ae2d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 21 Jun 2017 18:39:58 +0100 Subject: [PATCH 05/84] make oar/iar assets writer be done by caller thread like the rest of the oar/iar save. This may look more painfull but should reduce errors and threads fights. Fill lucky i just don't stop the entire simulation during this --- .../Archiver/InventoryArchiveWriteRequest.cs | 6 +- .../World/Archiver/ArchiveWriteRequest.cs | 7 +- .../World/Archiver/AssetsRequest.cs | 223 ++++-------------- 3 files changed, 55 insertions(+), 181 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index f002ad7a40..dde93dbe00 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -423,14 +423,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver m_log.DebugFormat( "[INVENTORY ARCHIVER]: Saving {0} assets for items", m_assetGatherer.GatheredUuids.Count); - AssetsRequest ar - = new AssetsRequest( + AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), m_assetGatherer.GatheredUuids, m_scene.AssetService, m_scene.UserAccountService, m_scene.RegionInfo.ScopeID, options, ReceivedAllAssets); - - WorkManager.RunInThread(o => ar.Execute(), null, string.Format("AssetsRequest ({0})", m_scene.Name)); + ar.Execute(); } else { diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 8dabceeba7..5037219dec 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -195,14 +195,13 @@ namespace OpenSim.Region.CoreModules.World.Archiver m_log.DebugFormat("[ARCHIVER]: Saving {0} assets", assetUuids.Count); // Asynchronously request all the assets required to perform this archive operation - AssetsRequest ar - = new AssetsRequest( + AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), assetUuids, m_rootScene.AssetService, m_rootScene.UserAccountService, m_rootScene.RegionInfo.ScopeID, options, ReceivedAllAssets); - WorkManager.RunInThread(o => ar.Execute(), null, "Archive Assets Request"); - +// WorkManager.RunInThread(o => ar.Execute(), null, "Archive Assets Request"); + ar.Execute(); // CloseArchive() will be called from ReceivedAllAssets() } else diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index d380da8d8a..f3034981d6 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -61,24 +61,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver Aborted }; - /// - /// Timeout threshold if we still need assets or missing asset notifications but have stopped receiving them - /// from the asset service - /// - protected const int TIMEOUT = 60 * 1000; - - /// - /// If a timeout does occur, limit the amount of UUID information put to the console. - /// - protected const int MAX_UUID_DISPLAY_ON_TIMEOUT = 3; - - protected System.Timers.Timer m_requestCallbackTimer; - - /// - /// State of this request - /// - private RequestState m_requestState = RequestState.Initial; - /// /// uuids to request /// @@ -104,6 +86,9 @@ namespace OpenSim.Region.CoreModules.World.Archiver /// private int m_repliesRequired; + private System.Timers.Timer m_timeOutTimer; + private bool m_timeout; + /// /// Asset service used to request the assets /// @@ -129,186 +114,76 @@ namespace OpenSim.Region.CoreModules.World.Archiver m_scopeID = scope; m_options = options; m_repliesRequired = uuids.Count; - - // FIXME: This is a really poor way of handling the timeout since it will always leave the original requesting thread - // hanging. Need to restructure so an original request thread waits for a ManualResetEvent on asset received - // so we can properly abort that thread. Or request all assets synchronously, though that would be a more - // radical change - m_requestCallbackTimer = new System.Timers.Timer(TIMEOUT); - m_requestCallbackTimer.AutoReset = false; - m_requestCallbackTimer.Elapsed += new ElapsedEventHandler(OnRequestCallbackTimeout); } protected internal void Execute() { - m_requestState = RequestState.Running; - + Culture.SetCurrentCulture(); m_log.DebugFormat("[ARCHIVER]: AssetsRequest executed looking for {0} possible assets", m_repliesRequired); // We can stop here if there are no assets to fetch if (m_repliesRequired == 0) { - m_requestState = RequestState.Completed; PerformAssetsRequestCallback(false); return; } - m_requestCallbackTimer.Enabled = true; + m_timeOutTimer = new System.Timers.Timer(60000); + m_timeOutTimer .AutoReset = false; + m_timeOutTimer.Elapsed += OnTimeout; + m_timeout = false; foreach (KeyValuePair kvp in m_uuids) { -// m_log.DebugFormat("[ARCHIVER]: Requesting asset {0}", kvp.Key); - -// m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback); - AssetBase asset = m_assetService.Get(kvp.Key.ToString()); - PreAssetRequestCallback(kvp.Key.ToString(), kvp.Value, asset); - } - } - - protected void OnRequestCallbackTimeout(object source, ElapsedEventArgs args) - { - bool timedOut = true; - - try - { - lock (this) + string thiskey = kvp.Key.ToString(); + try { - // Take care of the possibilty that this thread started but was paused just outside the lock before - // the final request came in (assuming that such a thing is possible) - if (m_requestState == RequestState.Completed) - { - timedOut = false; - return; - } - - m_requestState = RequestState.Aborted; - } - - // Calculate which uuids were not found. This is an expensive way of doing it, but this is a failure - // case anyway. - List uuids = new List(); - foreach (UUID uuid in m_uuids.Keys) - { - uuids.Add(uuid); - } - - foreach (UUID uuid in m_foundAssetUuids) - { - uuids.Remove(uuid); - } - - foreach (UUID uuid in m_notFoundAssetUuids) - { - uuids.Remove(uuid); - } - - m_log.ErrorFormat( - "[ARCHIVER]: Asset service failed to return information about {0} requested assets", uuids.Count); - - int i = 0; - foreach (UUID uuid in uuids) - { - m_log.ErrorFormat("[ARCHIVER]: No information about asset {0} received", uuid); - - if (++i >= MAX_UUID_DISPLAY_ON_TIMEOUT) + m_timeOutTimer.Enabled = true; + AssetBase asset = m_assetService.Get(thiskey); + if(m_timeout) break; + + m_timeOutTimer.Enabled = false; + + if(asset == null) + { + m_notFoundAssetUuids.Add(new UUID(thiskey)); + continue; + } + + sbyte assetType = kvp.Value; + if (asset != null && assetType == (sbyte)AssetType.Unknown) + { + m_log.InfoFormat("[ARCHIVER]: Rewriting broken asset type for {0} to {1}", thiskey, SLUtil.AssetTypeFromCode(assetType)); + asset.Type = assetType; + } + + m_foundAssetUuids.Add(asset.FullID); + m_assetsArchiver.WriteAsset(PostProcess(asset)); } - if (uuids.Count > MAX_UUID_DISPLAY_ON_TIMEOUT) - m_log.ErrorFormat( - "[ARCHIVER]: (... {0} more not shown)", uuids.Count - MAX_UUID_DISPLAY_ON_TIMEOUT); - - m_log.Error("[ARCHIVER]: Archive save aborted. PLEASE DO NOT USE THIS ARCHIVE, IT WILL BE INCOMPLETE."); - } - catch (Exception e) - { - m_log.ErrorFormat("[ARCHIVER]: Timeout handler exception {0}{1}", e.Message, e.StackTrace); - } - finally - { - if (timedOut) - WorkManager.RunInThread(PerformAssetsRequestCallback, true, "Archive Assets Request Callback"); - } - } - - protected void PreAssetRequestCallback(string fetchedAssetID, object assetType, AssetBase fetchedAsset) - { - // Check for broken asset types and fix them with the AssetType gleaned by UuidGatherer - if (fetchedAsset != null && fetchedAsset.Type == (sbyte)AssetType.Unknown) - { - m_log.InfoFormat("[ARCHIVER]: Rewriting broken asset type for {0} to {1}", fetchedAsset.ID, SLUtil.AssetTypeFromCode((sbyte)assetType)); - fetchedAsset.Type = (sbyte)assetType; - } - - AssetRequestCallback(fetchedAssetID, this, fetchedAsset); - } - - /// - /// Called back by the asset cache when it has the asset - /// - /// - /// - public void AssetRequestCallback(string id, object sender, AssetBase asset) - { - Culture.SetCurrentCulture(); - - try - { - lock (this) + catch (Exception e) { - //m_log.DebugFormat("[ARCHIVER]: Received callback for asset {0}", id); + m_log.ErrorFormat("[ARCHIVER]: Execute failed with {0}", e); + } + } - m_requestCallbackTimer.Stop(); + m_timeOutTimer.Dispose(); - if ((m_requestState == RequestState.Aborted) || (m_requestState == RequestState.Completed)) - { - m_log.WarnFormat( - "[ARCHIVER]: Received information about asset {0} while in state {1}. Ignoring.", - id, m_requestState); - - return; - } - - if (asset != null) - { -// m_log.DebugFormat("[ARCHIVER]: Writing asset {0}", id); - m_foundAssetUuids.Add(asset.FullID); - - m_assetsArchiver.WriteAsset(PostProcess(asset)); - } - else - { -// m_log.DebugFormat("[ARCHIVER]: Recording asset {0} as not found", id); - m_notFoundAssetUuids.Add(new UUID(id)); - } - - if (m_foundAssetUuids.Count + m_notFoundAssetUuids.Count >= m_repliesRequired) - { - m_requestState = RequestState.Completed; - if(m_notFoundAssetUuids.Count == 0) - m_log.DebugFormat( - "[ARCHIVER]: Successfully added {0} assets", - m_foundAssetUuids.Count); - else - m_log.DebugFormat( - "[ARCHIVER]: Successfully added {0} assets ({1} assets not found but these may be expected invalid references)", + if(m_timeout) + m_log.DebugFormat("[ARCHIVER]: Aborted because AssetService request timeout. Successfully added {0} assets", m_foundAssetUuids.Count); + else if(m_notFoundAssetUuids.Count == 0) + m_log.DebugFormat("[ARCHIVER]: Successfully added all {0} assets", m_foundAssetUuids.Count); + else + m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} assets not found)", m_foundAssetUuids.Count, m_notFoundAssetUuids.Count); - - // We want to stop using the asset cache thread asap - // as we now need to do the work of producing the rest of the archive - WorkManager.RunInThread(PerformAssetsRequestCallback, false, "Archive Assets Request Callback"); - } - else - { - m_requestCallbackTimer.Start(); - } - } - } - catch (Exception e) - { - m_log.ErrorFormat("[ARCHIVER]: AssetRequestCallback failed with {0}", e); - } + PerformAssetsRequestCallback(m_timeout); + } + + void OnTimeout(object source, ElapsedEventArgs args) + { + m_timeout = true; } /// @@ -316,6 +191,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver /// protected void PerformAssetsRequestCallback(object o) { + if(m_assetsRequestCallback == null) + return; Culture.SetCurrentCulture(); Boolean timedOut = (Boolean)o; From 1bfe4da3785ebed17735fdbda7638757bc83269e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 21 Jun 2017 20:15:35 +0100 Subject: [PATCH 06/84] do not try to store on oars temporary or in transit objects ( they may be deleted during the save) --- .../World/Archiver/ArchiveWriteRequest.cs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 5037219dec..e6ea5d19e8 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -193,22 +193,20 @@ namespace OpenSim.Region.CoreModules.World.Archiver if (SaveAssets) { m_log.DebugFormat("[ARCHIVER]: Saving {0} assets", assetUuids.Count); - - // Asynchronously request all the assets required to perform this archive operation + AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), assetUuids, m_rootScene.AssetService, m_rootScene.UserAccountService, - m_rootScene.RegionInfo.ScopeID, options, ReceivedAllAssets); - -// WorkManager.RunInThread(o => ar.Execute(), null, "Archive Assets Request"); + m_rootScene.RegionInfo.ScopeID, options, null); ar.Execute(); - // CloseArchive() will be called from ReceivedAllAssets() + assetUuids = null; } else { m_log.DebugFormat("[ARCHIVER]: Not saving assets since --noassets was specified"); - CloseArchive(string.Empty); +// CloseArchive(string.Empty); } + CloseArchive(string.Empty); } catch (Exception e) { @@ -236,7 +234,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver { SceneObjectGroup sceneObject = (SceneObjectGroup)entity; - if (!sceneObject.IsDeleted && !sceneObject.IsAttachment) + if (!sceneObject.IsDeleted && !sceneObject.IsAttachment && !sceneObject.IsTemporary && !sceneObject.inTransit) { if (!CanUserArchiveObject(scene.RegionInfo.EstateSettings.EstateOwner, sceneObject, FilterContent, permissionsModule)) { @@ -571,7 +569,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver foreach (SceneObjectGroup sceneObject in sceneObjects) { //m_log.DebugFormat("[ARCHIVER]: Saving {0} {1}, {2}", entity.Name, entity.UUID, entity.GetType()); - + if(sceneObject.IsDeleted || sceneObject.inTransit) + continue; string serializedObject = serializer.SerializeGroupToXml2(sceneObject, m_options); string objectPath = string.Format("{0}{1}", regionDir, ArchiveHelpers.CreateObjectPath(sceneObject)); m_archiveWriter.WriteFile(objectPath, serializedObject); From 11d38607811d1f2dca58bc3d99b4ad698d6b228a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 21 Jun 2017 21:38:12 +0100 Subject: [PATCH 07/84] avoid some broken object assets present in osgrid inventories due to past problems, etc --- .../Inventory/Archiver/InventoryArchiveWriteRequest.cs | 2 ++ .../Avatar/Inventory/Archiver/InventoryArchiverModule.cs | 6 ++++-- OpenSim/Region/Framework/Scenes/UuidGatherer.cs | 9 +++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index dde93dbe00..2735b59557 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -381,6 +381,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver string errorMessage = string.Format("Aborted save. Could not find inventory path {0}", m_invPath); Exception e = new InventoryArchiverException(errorMessage); m_module.TriggerInventoryArchiveSaved(m_id, false, m_userInfo, m_invPath, m_saveStream, e, 0, 0); + if(m_saveStream != null && m_saveStream.CanWrite) + m_saveStream.Close(); throw e; } diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs index be59eb5957..06aec7bca5 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs @@ -218,7 +218,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver // { try { - new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, saveStream).Execute(options, UserAccountService); + InventoryArchiveWriteRequest iarReq = new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, saveStream); + iarReq.Execute(options, UserAccountService); } catch (EntryPointNotFoundException e) { @@ -261,7 +262,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver // { try { - new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, savePath).Execute(options, UserAccountService); + InventoryArchiveWriteRequest iarReq = new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, savePath); + iarReq.Execute(options, UserAccountService); } catch (EntryPointNotFoundException e) { diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 5a9a5a01b4..bac069b201 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -142,6 +142,8 @@ namespace OpenSim.Region.Framework.Scenes { // m_log.DebugFormat( // "[ASSET GATHERER]: Getting assets for object {0}, {1}", sceneObject.Name, sceneObject.UUID); + if(sceneObject.IsDeleted) + return; SceneObjectPart[] parts = sceneObject.Parts; for (int i = 0; i < parts.Length; i++) @@ -489,6 +491,13 @@ namespace OpenSim.Region.Framework.Scenes /// private void RecordSceneObjectAssetUuids(AssetBase sceneObjectAsset) { + if(sceneObjectAsset.Data == null || sceneObjectAsset.Data.Length == 0) + { + m_log.WarnFormat("[UUIDgatherer] Error: object asset '{0}' id: {1} has no data", + sceneObjectAsset.Name,sceneObjectAsset.ID.ToString()); + return; + } + string xml = Utils.BytesToString(sceneObjectAsset.Data); CoalescedSceneObjects coa; From 66c8b7202bff02753060e093712b7053acaf8358 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 22 Jun 2017 19:38:38 +0100 Subject: [PATCH 08/84] split some asset uuids gather i stages with dif possible errors, and dont let them be fatal --- .../Region/Framework/Scenes/UuidGatherer.cs | 77 +++++++++++-------- 1 file changed, 45 insertions(+), 32 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index bac069b201..3ba67eb85f 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -284,45 +284,58 @@ namespace OpenSim.Region.Framework.Scenes if (GatheredUuids.ContainsKey(assetUuid)) return; + AssetBase assetBase; try { - AssetBase assetBase = GetAsset(assetUuid); + assetBase = GetAsset(assetUuid); + } + catch (Exception e) + { + m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset id {0} : {1}", assetUuid, e.Message); + GatheredUuids.Remove(assetUuid); + return; + } - if (null != assetBase) + if(assetBase == null) + { + m_log.ErrorFormat("[UUID GATHERER]: asset id {0} not found", assetUuid); + GatheredUuids.Remove(assetUuid); + return; + } + + sbyte assetType = assetBase.Type; + GatheredUuids[assetUuid] = assetType; + + try + { + if ((sbyte)AssetType.Bodypart == assetType || (sbyte)AssetType.Clothing == assetType) { - sbyte assetType = assetBase.Type; - GatheredUuids[assetUuid] = assetType; - - if ((sbyte)AssetType.Bodypart == assetType || (sbyte)AssetType.Clothing == assetType) - { - RecordWearableAssetUuids(assetBase); - } - else if ((sbyte)AssetType.Gesture == assetType) - { - RecordGestureAssetUuids(assetBase); - } - else if ((sbyte)AssetType.Notecard == assetType) - { - RecordTextEmbeddedAssetUuids(assetBase); - } - else if ((sbyte)AssetType.LSLText == assetType) - { - RecordTextEmbeddedAssetUuids(assetBase); - } - else if ((sbyte)OpenSimAssetType.Material == assetType) - { - RecordMaterialAssetUuids(assetBase); - } - else if ((sbyte)AssetType.Object == assetType) - { - RecordSceneObjectAssetUuids(assetBase); - } + RecordWearableAssetUuids(assetBase); + } + else if ((sbyte)AssetType.Gesture == assetType) + { + RecordGestureAssetUuids(assetBase); + } + else if ((sbyte)AssetType.Notecard == assetType) + { + RecordTextEmbeddedAssetUuids(assetBase); + } + else if ((sbyte)AssetType.LSLText == assetType) + { + RecordTextEmbeddedAssetUuids(assetBase); + } + else if ((sbyte)OpenSimAssetType.Material == assetType) + { + RecordMaterialAssetUuids(assetBase); + } + else if ((sbyte)AssetType.Object == assetType) + { + RecordSceneObjectAssetUuids(assetBase); } } - catch (Exception) + catch (Exception e) { - m_log.ErrorFormat("[UUID GATHERER]: Failed to gather uuids for asset id {0}", assetUuid); - throw; + m_log.ErrorFormat("[UUID GATHERER]: Failed to uuids for asset id {0} type {1}: {2}", assetUuid, assetType, e.Message); } } From aea49070c96b04d0f5e2496c14d32c1b1341b06f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 22 Jun 2017 21:37:51 +0100 Subject: [PATCH 09/84] change uuidgather a bit more --- .../Region/Framework/Scenes/UuidGatherer.cs | 48 ++++++++++++------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 3ba67eb85f..3a71c12e6f 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -65,6 +65,7 @@ namespace OpenSim.Region.Framework.Scenes /// /// The gathered uuids. public IDictionary GatheredUuids { get; private set; } + public HashSet FailedUUIDs { get; private set; } /// /// Gets the next UUID to inspect. @@ -111,6 +112,7 @@ namespace OpenSim.Region.Framework.Scenes // FIXME: Not efficient for searching, can improve. m_assetUuidsToInspect = new Queue(); + FailedUUIDs = new HashSet(); } /// @@ -120,6 +122,10 @@ namespace OpenSim.Region.Framework.Scenes /// UUID. public bool AddForInspection(UUID uuid) { + if(FailedUUIDs.Contains(uuid)) + return false; + if(GatheredUuids.ContainsKey(uuid)) + return false; if (m_assetUuidsToInspect.Contains(uuid)) return false; @@ -209,9 +215,7 @@ namespace OpenSim.Region.Framework.Scenes // m_log.DebugFormat( // "[ARCHIVER]: Analysing item {0} asset type {1} in {2} {3}", // tii.Name, tii.Type, part.Name, part.UUID); - - if (!GatheredUuids.ContainsKey(tii.AssetID)) - AddForInspection(tii.AssetID, (sbyte)tii.Type); + AddForInspection(tii.AssetID, (sbyte)tii.Type); } // FIXME: We need to make gathering modular but we cannot yet, since gatherers are not guaranteed @@ -280,9 +284,15 @@ namespace OpenSim.Region.Framework.Scenes /// The uuid of the asset for which to gather referenced assets private void GetAssetUuids(UUID assetUuid) { + if(FailedUUIDs.Contains(assetUuid)) + return; + // avoid infinite loops if (GatheredUuids.ContainsKey(assetUuid)) + { + FailedUUIDs.Add(assetUuid); return; + } AssetBase assetBase; try @@ -291,21 +301,28 @@ namespace OpenSim.Region.Framework.Scenes } catch (Exception e) { - m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset id {0} : {1}", assetUuid, e.Message); - GatheredUuids.Remove(assetUuid); + m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset with id {0} : {1}", assetUuid, e.Message); + FailedUUIDs.Add(assetUuid); return; } if(assetBase == null) { - m_log.ErrorFormat("[UUID GATHERER]: asset id {0} not found", assetUuid); - GatheredUuids.Remove(assetUuid); + m_log.ErrorFormat("[UUID GATHERER]: asset with id {0} not found", assetUuid); + FailedUUIDs.Add(assetUuid); return; } sbyte assetType = assetBase.Type; - GatheredUuids[assetUuid] = assetType; + if(assetBase.Data == null || assetBase.Data.Length == 0) + { + m_log.ErrorFormat("[UUID GATHERER]: asset with id {0} type {1} has no data", assetUuid, assetType); + FailedUUIDs.Add(assetUuid); + return; + } + + GatheredUuids[assetUuid] = assetType; try { if ((sbyte)AssetType.Bodypart == assetType || (sbyte)AssetType.Clothing == assetType) @@ -335,13 +352,19 @@ namespace OpenSim.Region.Framework.Scenes } catch (Exception e) { - m_log.ErrorFormat("[UUID GATHERER]: Failed to uuids for asset id {0} type {1}: {2}", assetUuid, assetType, e.Message); + m_log.ErrorFormat("[UUID GATHERER]: Failed to gather uuids for asset with id {0} type {1}: {2}", assetUuid, assetType, e.Message); + GatheredUuids.Remove(assetUuid); + FailedUUIDs.Add(assetUuid); } } private void AddForInspection(UUID assetUuid, sbyte assetType) { // Here, we want to collect uuids which require further asset fetches but mark the others as gathered + if(FailedUUIDs.Contains(assetUuid)) + return; + if(GatheredUuids.ContainsKey(assetUuid)) + return; try { if ((sbyte)AssetType.Bodypart == assetType @@ -504,13 +527,6 @@ namespace OpenSim.Region.Framework.Scenes /// private void RecordSceneObjectAssetUuids(AssetBase sceneObjectAsset) { - if(sceneObjectAsset.Data == null || sceneObjectAsset.Data.Length == 0) - { - m_log.WarnFormat("[UUIDgatherer] Error: object asset '{0}' id: {1} has no data", - sceneObjectAsset.Name,sceneObjectAsset.ID.ToString()); - return; - } - string xml = Utils.BytesToString(sceneObjectAsset.Data); CoalescedSceneObjects coa; From cbae148f6865e750bdbaeb4ba4eede56464d651e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 22 Jun 2017 21:48:26 +0100 Subject: [PATCH 10/84] show the count of broken assets we now have from gather on iar/oar pre save information --- .../Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index e6ea5d19e8..ce296c7a55 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -262,6 +262,9 @@ namespace OpenSim.Region.CoreModules.World.Archiver m_log.DebugFormat( "[ARCHIVER]: {0} scene objects to serialize requiring save of {1} assets", sceneObjects.Count, assetUuids.Count - prevAssets); + int errors = assetGatherer.FailedUUIDs.Count; + if(errors > 0) + m_log.DebugFormat("[ARCHIVER]: {0} assets have problems and will be ignored", errors); } if (numObjectsSkippedPermissions > 0) From 28caf1e08974a29c689837b99a4d21217aa54847 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 22 Jun 2017 22:09:00 +0100 Subject: [PATCH 11/84] actually iar do it for iar --- .../Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs | 3 +++ .../Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index 2735b59557..c218f5d414 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -424,6 +424,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver m_log.DebugFormat( "[INVENTORY ARCHIVER]: Saving {0} assets for items", m_assetGatherer.GatheredUuids.Count); + int errors = m_assetGatherer.FailedUUIDs.Count; + if(errors > 0) + m_log.DebugFormat("[INVENTORY ARCHIVER]: aditional {0} assets have problems and will be ignored", errors); AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index ce296c7a55..761fecee4f 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -264,7 +264,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver sceneObjects.Count, assetUuids.Count - prevAssets); int errors = assetGatherer.FailedUUIDs.Count; if(errors > 0) - m_log.DebugFormat("[ARCHIVER]: {0} assets have problems and will be ignored", errors); + m_log.DebugFormat("[ARCHIVER]: aditional {0} assets have problems and will be ignored", errors); } if (numObjectsSkippedPermissions > 0) From 3c6790b061fe1dd6d7cf602a3eb082b5bd149012 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 23 Jun 2017 15:50:16 +0100 Subject: [PATCH 12/84] several changes to iar/oar assets error reports --- .../Archiver/InventoryArchiveWriteRequest.cs | 10 ++++++---- .../World/Archiver/ArchiveWriteRequest.cs | 16 +++++++++------- .../World/Archiver/AssetsArchiver.cs | 2 +- .../World/Archiver/AssetsRequest.cs | 18 ++++++++++-------- .../Region/Framework/Scenes/UuidGatherer.cs | 13 +++++++------ 5 files changed, 33 insertions(+), 26 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index c218f5d414..144cbbee6f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -422,15 +422,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver { m_assetGatherer.GatherAll(); - m_log.DebugFormat( - "[INVENTORY ARCHIVER]: Saving {0} assets for items", m_assetGatherer.GatheredUuids.Count); int errors = m_assetGatherer.FailedUUIDs.Count; + + m_log.DebugFormat( + "[INVENTORY ARCHIVER]: The items to save reference {0} assets", m_assetGatherer.GatheredUuids.Count + errors); if(errors > 0) - m_log.DebugFormat("[INVENTORY ARCHIVER]: aditional {0} assets have problems and will be ignored", errors); + m_log.DebugFormat("[INVENTORY ARCHIVER]: {0} of this assets have problems and will be ignored", errors); AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), - m_assetGatherer.GatheredUuids, m_scene.AssetService, + m_assetGatherer.GatheredUuids, m_assetGatherer.FailedUUIDs.Count, + m_scene.AssetService, m_scene.UserAccountService, m_scene.RegionInfo.ScopeID, options, ReceivedAllAssets); ar.Execute(); diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 761fecee4f..9500eb657a 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -181,11 +181,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver // Archive the regions Dictionary assetUuids = new Dictionary(); + HashSet failedIDs = new HashSet(); scenesGroup.ForEachScene(delegate(Scene scene) { string regionDir = MultiRegionFormat ? scenesGroup.GetRegionDir(scene.RegionInfo.RegionID) : ""; - ArchiveOneRegion(scene, regionDir, assetUuids); + ArchiveOneRegion(scene, regionDir, assetUuids, failedIDs); }); // Archive the assets @@ -196,6 +197,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), assetUuids, + failedIDs.Count, m_rootScene.AssetService, m_rootScene.UserAccountService, m_rootScene.RegionInfo.ScopeID, options, null); ar.Execute(); @@ -215,7 +217,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver } } - private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary assetUuids) + private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary assetUuids, HashSet failedIDs) { m_log.InfoFormat("[ARCHIVER]: Writing region {0}", scene.Name); @@ -251,7 +253,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver if (SaveAssets) { - UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids); + UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids, failedIDs); int prevAssets = assetUuids.Count; foreach (SceneObjectGroup sceneObject in sceneObjects) @@ -259,12 +261,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver assetGatherer.GatherAll(); - m_log.DebugFormat( - "[ARCHIVER]: {0} scene objects to serialize requiring save of {1} assets", - sceneObjects.Count, assetUuids.Count - prevAssets); int errors = assetGatherer.FailedUUIDs.Count; + m_log.DebugFormat( + "[ARCHIVER]: {0} region scene objects to save reference {1} assets", + sceneObjects.Count, assetUuids.Count - prevAssets + errors); if(errors > 0) - m_log.DebugFormat("[ARCHIVER]: aditional {0} assets have problems and will be ignored", errors); + m_log.DebugFormat("[ARCHIVER]: {0} of this assets have problems and will be ignored", errors); } if (numObjectsSkippedPermissions > 0) diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsArchiver.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsArchiver.cs index efacae372f..3092fe0a8d 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsArchiver.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsArchiver.cs @@ -46,7 +46,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver /// /// Post a message to the log every x assets as a progress bar /// - protected static int LOG_ASSET_LOAD_NOTIFICATION_INTERVAL = 50; + protected static int LOG_ASSET_LOAD_NOTIFICATION_INTERVAL = 100; /// /// Keep a count of the number of assets written so that we can provide status updates diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index f3034981d6..903cb2dd31 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -65,6 +65,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver /// uuids to request /// protected IDictionary m_uuids; + private int m_previusErrorsCount; /// /// Callback used when all the assets requested have been received. @@ -102,12 +103,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver protected internal AssetsRequest( AssetsArchiver assetsArchiver, IDictionary uuids, + int previusErrorsCount, IAssetService assetService, IUserAccountService userService, UUID scope, Dictionary options, AssetsRequestCallback assetsRequestCallback) { m_assetsArchiver = assetsArchiver; m_uuids = uuids; + m_previusErrorsCount = previusErrorsCount; m_assetsRequestCallback = assetsRequestCallback; m_assetService = assetService; m_userAccountService = userService; @@ -119,8 +122,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver protected internal void Execute() { Culture.SetCurrentCulture(); - m_log.DebugFormat("[ARCHIVER]: AssetsRequest executed looking for {0} possible assets", m_repliesRequired); - // We can stop here if there are no assets to fetch if (m_repliesRequired == 0) { @@ -169,19 +170,20 @@ namespace OpenSim.Region.CoreModules.World.Archiver } m_timeOutTimer.Dispose(); + int totalerrors = m_notFoundAssetUuids.Count + m_previusErrorsCount; if(m_timeout) m_log.DebugFormat("[ARCHIVER]: Aborted because AssetService request timeout. Successfully added {0} assets", m_foundAssetUuids.Count); - else if(m_notFoundAssetUuids.Count == 0) + else if(totalerrors == 0) m_log.DebugFormat("[ARCHIVER]: Successfully added all {0} assets", m_foundAssetUuids.Count); else - m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} assets not found)", - m_foundAssetUuids.Count, m_notFoundAssetUuids.Count); + m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} assets of total request where not found or are damaged", + m_foundAssetUuids.Count, totalerrors); PerformAssetsRequestCallback(m_timeout); } - void OnTimeout(object source, ElapsedEventArgs args) + private void OnTimeout(object source, ElapsedEventArgs args) { m_timeout = true; } @@ -189,7 +191,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver /// /// Perform the callback on the original requester of the assets /// - protected void PerformAssetsRequestCallback(object o) + private void PerformAssetsRequestCallback(object o) { if(m_assetsRequestCallback == null) return; @@ -208,7 +210,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver } } - protected AssetBase PostProcess(AssetBase asset) + private AssetBase PostProcess(AssetBase asset) { if (asset.Type == (sbyte)AssetType.Object && asset.Data != null && m_options.ContainsKey("home")) { diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 3a71c12e6f..548aa3a43d 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -93,7 +93,8 @@ namespace OpenSim.Region.Framework.Scenes /// /// Asset service. /// - public UuidGatherer(IAssetService assetService) : this(assetService, new Dictionary()) {} + public UuidGatherer(IAssetService assetService) : this(assetService, new Dictionary(), new HashSet ()) {} + public UuidGatherer(IAssetService assetService, IDictionary collector) : this(assetService, collector, new HashSet ()) {} /// /// Initializes a new instance of the class. @@ -105,14 +106,14 @@ namespace OpenSim.Region.Framework.Scenes /// Gathered UUIDs will be collected in this dictinaory. /// It can be pre-populated if you want to stop the gatherer from analyzing assets that have already been fetched and inspected. /// - public UuidGatherer(IAssetService assetService, IDictionary collector) + public UuidGatherer(IAssetService assetService, IDictionary collector, HashSet failedIDs) { m_assetService = assetService; GatheredUuids = collector; // FIXME: Not efficient for searching, can improve. m_assetUuidsToInspect = new Queue(); - FailedUUIDs = new HashSet(); + FailedUUIDs = failedIDs; } /// @@ -301,14 +302,14 @@ namespace OpenSim.Region.Framework.Scenes } catch (Exception e) { - m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset with id {0} : {1}", assetUuid, e.Message); + m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset {0} : {1}", assetUuid, e.Message); FailedUUIDs.Add(assetUuid); return; } if(assetBase == null) { - m_log.ErrorFormat("[UUID GATHERER]: asset with id {0} not found", assetUuid); + m_log.ErrorFormat("[UUID GATHERER]: asset {0} not found", assetUuid); FailedUUIDs.Add(assetUuid); return; } @@ -317,7 +318,7 @@ namespace OpenSim.Region.Framework.Scenes if(assetBase.Data == null || assetBase.Data.Length == 0) { - m_log.ErrorFormat("[UUID GATHERER]: asset with id {0} type {1} has no data", assetUuid, assetType); + m_log.ErrorFormat("[UUID GATHERER]: asset {0}, type {1} has no data", assetUuid, assetType); FailedUUIDs.Add(assetUuid); return; } From 95595a8360f5d689dc1f680d53773866a9723f84 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 23 Jun 2017 17:23:28 +0100 Subject: [PATCH 13/84] coment out missing or damage assets messages in uuidgather that are not very usefull. In IAR save display information about items that contain references to broken assets. Note that as explained on mantis 8195 this can't will not detect all problems --- .../Archiver/InventoryArchiveWriteRequest.cs | 29 +++++++++++++++++-- .../Region/Framework/Scenes/UuidGatherer.cs | 25 +++++++++------- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index 144cbbee6f..f89b9049c0 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -218,10 +218,35 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver // Count inventory items (different to asset count) CountItems++; - + // Don't chase down link asset items as they actually point to their target item IDs rather than an asset if (SaveAssets && itemAssetType != AssetType.Link && itemAssetType != AssetType.LinkFolder) + { + int curErrorCntr = m_assetGatherer.ErrorCount; m_assetGatherer.AddForInspection(inventoryItem.AssetID); + m_assetGatherer.GatherAll(); + curErrorCntr = m_assetGatherer.ErrorCount - curErrorCntr; + if(curErrorCntr > 0) + { + string spath; + int indx = path.IndexOf("__"); + if(indx > 0) + spath = path.Substring(0,indx); + else + spath = path; + + if(curErrorCntr > 1) + { + m_log.WarnFormat("[INVENTORY ARCHIVER]: item {0} '{1}', type {2}, in '{3}', contains at least {4} references to missing or damaged assets", + inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath, curErrorCntr); + } + else if(curErrorCntr == 1) + { + m_log.WarnFormat("[INVENTORY ARCHIVER]: item {0} '{1}', type {2}, in '{3}', contains at least 1 reference to a missing or damaged asset", + inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath); + } + } + } } /// @@ -427,7 +452,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver m_log.DebugFormat( "[INVENTORY ARCHIVER]: The items to save reference {0} assets", m_assetGatherer.GatheredUuids.Count + errors); if(errors > 0) - m_log.DebugFormat("[INVENTORY ARCHIVER]: {0} of this assets have problems and will be ignored", errors); + m_log.DebugFormat("[INVENTORY ARCHIVER]: {0} of these assets have problems and will be ignored", errors); AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 548aa3a43d..46ce2ce2b2 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -66,7 +66,7 @@ namespace OpenSim.Region.Framework.Scenes /// The gathered uuids. public IDictionary GatheredUuids { get; private set; } public HashSet FailedUUIDs { get; private set; } - + public int ErrorCount { get; private set; } /// /// Gets the next UUID to inspect. /// @@ -103,7 +103,7 @@ namespace OpenSim.Region.Framework.Scenes /// Asset service. /// /// - /// Gathered UUIDs will be collected in this dictinaory. + /// Gathered UUIDs will be collected in this dictionary. /// It can be pre-populated if you want to stop the gatherer from analyzing assets that have already been fetched and inspected. /// public UuidGatherer(IAssetService assetService, IDictionary collector, HashSet failedIDs) @@ -114,6 +114,7 @@ namespace OpenSim.Region.Framework.Scenes // FIXME: Not efficient for searching, can improve. m_assetUuidsToInspect = new Queue(); FailedUUIDs = failedIDs; + ErrorCount = 0; } /// @@ -232,9 +233,6 @@ namespace OpenSim.Region.Framework.Scenes catch (Exception e) { m_log.ErrorFormat("[UUID GATHERER]: Failed to get part - {0}", e); - m_log.DebugFormat( - "[UUID GATHERER]: Texture entry length for prim was {0} (min is 46)", - part.Shape.TextureEntry.Length); } } } @@ -286,14 +284,14 @@ namespace OpenSim.Region.Framework.Scenes private void GetAssetUuids(UUID assetUuid) { if(FailedUUIDs.Contains(assetUuid)) + { + ErrorCount++; return; + } // avoid infinite loops if (GatheredUuids.ContainsKey(assetUuid)) - { - FailedUUIDs.Add(assetUuid); return; - } AssetBase assetBase; try @@ -303,13 +301,15 @@ namespace OpenSim.Region.Framework.Scenes catch (Exception e) { m_log.ErrorFormat("[UUID GATHERER]: Failed to get asset {0} : {1}", assetUuid, e.Message); + ErrorCount++; FailedUUIDs.Add(assetUuid); return; } if(assetBase == null) { - m_log.ErrorFormat("[UUID GATHERER]: asset {0} not found", assetUuid); +// m_log.ErrorFormat("[UUID GATHERER]: asset {0} not found", assetUuid); + ErrorCount++; FailedUUIDs.Add(assetUuid); return; } @@ -318,7 +318,8 @@ namespace OpenSim.Region.Framework.Scenes if(assetBase.Data == null || assetBase.Data.Length == 0) { - m_log.ErrorFormat("[UUID GATHERER]: asset {0}, type {1} has no data", assetUuid, assetType); +// m_log.ErrorFormat("[UUID GATHERER]: asset {0}, type {1} has no data", assetUuid, assetType); + ErrorCount++; FailedUUIDs.Add(assetUuid); return; } @@ -355,6 +356,7 @@ namespace OpenSim.Region.Framework.Scenes { m_log.ErrorFormat("[UUID GATHERER]: Failed to gather uuids for asset with id {0} type {1}: {2}", assetUuid, assetType, e.Message); GatheredUuids.Remove(assetUuid); + ErrorCount++; FailedUUIDs.Add(assetUuid); } } @@ -363,7 +365,10 @@ namespace OpenSim.Region.Framework.Scenes { // Here, we want to collect uuids which require further asset fetches but mark the others as gathered if(FailedUUIDs.Contains(assetUuid)) + { + ErrorCount++; return; + } if(GatheredUuids.ContainsKey(assetUuid)) return; try From 83e443bca168629045a054bf06e5c5e2302a27dc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 23 Jun 2017 17:48:59 +0100 Subject: [PATCH 14/84] do the same on OAR saves --- .../World/Archiver/ArchiveWriteRequest.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 9500eb657a..d02db73293 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -257,7 +257,22 @@ namespace OpenSim.Region.CoreModules.World.Archiver int prevAssets = assetUuids.Count; foreach (SceneObjectGroup sceneObject in sceneObjects) + { + int curErrorCntr = assetGatherer.ErrorCount; assetGatherer.AddForInspection(sceneObject); + assetGatherer.GatherAll(); + curErrorCntr = assetGatherer.ErrorCount - curErrorCntr; + if(curErrorCntr > 1) + { + m_log.WarnFormat("[INVENTORY ARCHIVER]: object {0} '{1}', at {2}, contains at least {3} references to missing or damaged assets", + sceneObject.UUID, sceneObject.Name ,sceneObject.AbsolutePosition.ToString(), curErrorCntr); + } + else if(curErrorCntr == 1) + { + m_log.WarnFormat("[INVENTORY ARCHIVER]: object {0} '{1}', at {2}, contains at least 1 reference to a missing or damaged asset", + sceneObject.UUID, sceneObject.Name, sceneObject.AbsolutePosition.ToString()); + } + } assetGatherer.GatherAll(); @@ -266,7 +281,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver "[ARCHIVER]: {0} region scene objects to save reference {1} assets", sceneObjects.Count, assetUuids.Count - prevAssets + errors); if(errors > 0) - m_log.DebugFormat("[ARCHIVER]: {0} of this assets have problems and will be ignored", errors); + m_log.DebugFormat("[ARCHIVER]: {0} of these assets have problems and will be ignored", errors); } if (numObjectsSkippedPermissions > 0) From 0a1f497dee60a8b6d02fe4565f251afd226b3a3a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 23 Jun 2017 19:55:23 +0100 Subject: [PATCH 15/84] code actually has no ideia if a id is a asset or not and does try to handle all as assets, it really can't report errors. Change messages to make more clear they are only warnings and may mean nothing at all --- .../Inventory/Archiver/InventoryArchiveWriteRequest.cs | 8 ++++---- .../CoreModules/World/Archiver/ArchiveWriteRequest.cs | 8 ++++---- .../Region/CoreModules/World/Archiver/AssetsRequest.cs | 10 +++++----- OpenSim/Region/Framework/Scenes/UuidGatherer.cs | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index f89b9049c0..d816ba48de 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -237,12 +237,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver if(curErrorCntr > 1) { - m_log.WarnFormat("[INVENTORY ARCHIVER]: item {0} '{1}', type {2}, in '{3}', contains at least {4} references to missing or damaged assets", + m_log.WarnFormat("[INVENTORY ARCHIVER Warning]: item {0} '{1}', type {2}, in '{3}', contains {4} references to possible missing or damaged assets )", inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath, curErrorCntr); } else if(curErrorCntr == 1) { - m_log.WarnFormat("[INVENTORY ARCHIVER]: item {0} '{1}', type {2}, in '{3}', contains at least 1 reference to a missing or damaged asset", + m_log.WarnFormat("[INVENTORY ARCHIVER Warning]: item {0} '{1}', type {2}, in '{3}', contains a reference to a possible missing or damaged asset)", inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath); } } @@ -450,9 +450,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver int errors = m_assetGatherer.FailedUUIDs.Count; m_log.DebugFormat( - "[INVENTORY ARCHIVER]: The items to save reference {0} assets", m_assetGatherer.GatheredUuids.Count + errors); + "[INVENTORY ARCHIVER]: The items to save reference {0} possible assets", m_assetGatherer.GatheredUuids.Count + errors); if(errors > 0) - m_log.DebugFormat("[INVENTORY ARCHIVER]: {0} of these assets have problems and will be ignored", errors); + m_log.DebugFormat("[INVENTORY ARCHIVER]: {0} of these have problems or are not assets and will be ignored", errors); AssetsRequest ar = new AssetsRequest( new AssetsArchiver(m_archiveWriter), diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index d02db73293..0ed3399004 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -264,12 +264,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver curErrorCntr = assetGatherer.ErrorCount - curErrorCntr; if(curErrorCntr > 1) { - m_log.WarnFormat("[INVENTORY ARCHIVER]: object {0} '{1}', at {2}, contains at least {3} references to missing or damaged assets", + m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains {3} references to possible missing or damaged assets", sceneObject.UUID, sceneObject.Name ,sceneObject.AbsolutePosition.ToString(), curErrorCntr); } else if(curErrorCntr == 1) { - m_log.WarnFormat("[INVENTORY ARCHIVER]: object {0} '{1}', at {2}, contains at least 1 reference to a missing or damaged asset", + m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains a reference to a possible missing or damaged assets", sceneObject.UUID, sceneObject.Name, sceneObject.AbsolutePosition.ToString()); } } @@ -278,10 +278,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver int errors = assetGatherer.FailedUUIDs.Count; m_log.DebugFormat( - "[ARCHIVER]: {0} region scene objects to save reference {1} assets", + "[ARCHIVER]: {0} region scene objects to save reference {1} possible assets", sceneObjects.Count, assetUuids.Count - prevAssets + errors); if(errors > 0) - m_log.DebugFormat("[ARCHIVER]: {0} of these assets have problems and will be ignored", errors); + m_log.DebugFormat("[ARCHIVER]: {0} of these have problems or are not assets and will be ignored", errors); } if (numObjectsSkippedPermissions > 0) diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 903cb2dd31..751aacaf61 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -65,7 +65,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver /// uuids to request /// protected IDictionary m_uuids; - private int m_previusErrorsCount; + private int m_previousErrorsCount; /// /// Callback used when all the assets requested have been received. @@ -103,14 +103,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver protected internal AssetsRequest( AssetsArchiver assetsArchiver, IDictionary uuids, - int previusErrorsCount, + int previousErrorsCount, IAssetService assetService, IUserAccountService userService, UUID scope, Dictionary options, AssetsRequestCallback assetsRequestCallback) { m_assetsArchiver = assetsArchiver; m_uuids = uuids; - m_previusErrorsCount = previusErrorsCount; + m_previousErrorsCount = previousErrorsCount; m_assetsRequestCallback = assetsRequestCallback; m_assetService = assetService; m_userAccountService = userService; @@ -170,14 +170,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver } m_timeOutTimer.Dispose(); - int totalerrors = m_notFoundAssetUuids.Count + m_previusErrorsCount; + int totalerrors = m_notFoundAssetUuids.Count + m_previousErrorsCount; if(m_timeout) m_log.DebugFormat("[ARCHIVER]: Aborted because AssetService request timeout. Successfully added {0} assets", m_foundAssetUuids.Count); else if(totalerrors == 0) m_log.DebugFormat("[ARCHIVER]: Successfully added all {0} assets", m_foundAssetUuids.Count); else - m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} assets of total request where not found or are damaged", + m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} of total possible assets requested where not found, where damaged or where not assets", m_foundAssetUuids.Count, totalerrors); PerformAssetsRequestCallback(m_timeout); diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 46ce2ce2b2..8ee7dbcab2 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -149,7 +149,7 @@ namespace OpenSim.Region.Framework.Scenes public void AddForInspection(SceneObjectGroup sceneObject) { // m_log.DebugFormat( - // "[ASSET GATHERER]: Getting assets for object {0}, {1}", sceneObject.Name, sceneObject.UUID); + // "[UUID GATHERER]: Getting assets for object {0}, {1}", sceneObject.Name, sceneObject.UUID); if(sceneObject.IsDeleted) return; @@ -159,7 +159,7 @@ namespace OpenSim.Region.Framework.Scenes SceneObjectPart part = parts[i]; // m_log.DebugFormat( - // "[ARCHIVER]: Getting part {0}, {1} for object {2}", part.Name, part.UUID, sceneObject.UUID); + // "[UUID GATHERER]: Getting part {0}, {1} for object {2}", part.Name, part.UUID, sceneObject.UUID); try { From 191661b51d31254419e9b442ec12953772821ac3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 02:01:48 +0100 Subject: [PATCH 16/84] a few more changes to iar/oar assets save error/warning to show problems known to be asset errors --- .../Archiver/InventoryArchiveWriteRequest.cs | 18 ++++--- .../World/Archiver/ArchiveWriteRequest.cs | 24 +++++---- .../Region/Framework/Scenes/UuidGatherer.cs | 52 ++++++++++++++++--- 3 files changed, 70 insertions(+), 24 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index d816ba48de..ad46107768 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -223,10 +223,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver if (SaveAssets && itemAssetType != AssetType.Link && itemAssetType != AssetType.LinkFolder) { int curErrorCntr = m_assetGatherer.ErrorCount; + int possible = m_assetGatherer.possibleNotAssetCount; m_assetGatherer.AddForInspection(inventoryItem.AssetID); m_assetGatherer.GatherAll(); curErrorCntr = m_assetGatherer.ErrorCount - curErrorCntr; - if(curErrorCntr > 0) + possible = m_assetGatherer.possibleNotAssetCount - possible; + + if(curErrorCntr > 0 || possible > 0) { string spath; int indx = path.IndexOf("__"); @@ -235,15 +238,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver else spath = path; - if(curErrorCntr > 1) + if(curErrorCntr > 0) { - m_log.WarnFormat("[INVENTORY ARCHIVER Warning]: item {0} '{1}', type {2}, in '{3}', contains {4} references to possible missing or damaged assets )", + m_log.ErrorFormat("[INVENTORY ARCHIVER Warning]: item {0} '{1}', type {2}, in '{3}', contains {4} references to missing or damaged assets", inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath, curErrorCntr); + if(possible > 0) + m_log.WarnFormat("[INVENTORY ARCHIVER Warning]: item also contains {0} references that may be to missing or damaged assets or not a problem", possible); } - else if(curErrorCntr == 1) - { - m_log.WarnFormat("[INVENTORY ARCHIVER Warning]: item {0} '{1}', type {2}, in '{3}', contains a reference to a possible missing or damaged asset)", - inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath); + else if(possible > 0) + { + m_log.WarnFormat("[INVENTORY ARCHIVER Warning]: item {0} '{1}', type {2}, in '{3}', contains {4} references that may be to missing or damaged assets or not a problem", inventoryItem.ID, inventoryItem.Name, itemAssetType.ToString(), spath, possible); } } } diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 0ed3399004..11c53d75d0 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -182,11 +182,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver Dictionary assetUuids = new Dictionary(); HashSet failedIDs = new HashSet(); + HashSet uncertainAssetsUUIDs = new HashSet(); scenesGroup.ForEachScene(delegate(Scene scene) { string regionDir = MultiRegionFormat ? scenesGroup.GetRegionDir(scene.RegionInfo.RegionID) : ""; - ArchiveOneRegion(scene, regionDir, assetUuids, failedIDs); + ArchiveOneRegion(scene, regionDir, assetUuids, failedIDs, uncertainAssetsUUIDs); }); // Archive the assets @@ -217,7 +218,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver } } - private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary assetUuids, HashSet failedIDs) + private void ArchiveOneRegion(Scene scene, string regionDir, Dictionary assetUuids, + HashSet failedIDs, HashSet uncertainAssetsUUIDs) { m_log.InfoFormat("[ARCHIVER]: Writing region {0}", scene.Name); @@ -253,24 +255,28 @@ namespace OpenSim.Region.CoreModules.World.Archiver if (SaveAssets) { - UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids, failedIDs); + UuidGatherer assetGatherer = new UuidGatherer(scene.AssetService, assetUuids, failedIDs, uncertainAssetsUUIDs); int prevAssets = assetUuids.Count; foreach (SceneObjectGroup sceneObject in sceneObjects) { int curErrorCntr = assetGatherer.ErrorCount; + int possible = assetGatherer.possibleNotAssetCount; assetGatherer.AddForInspection(sceneObject); assetGatherer.GatherAll(); curErrorCntr = assetGatherer.ErrorCount - curErrorCntr; - if(curErrorCntr > 1) + possible = assetGatherer.possibleNotAssetCount - possible; + if(curErrorCntr > 0) { - m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains {3} references to possible missing or damaged assets", + m_log.ErrorFormat("[ARCHIVER]: object {0} '{1}', at {2}, contains {3} references to missing or damaged assets", sceneObject.UUID, sceneObject.Name ,sceneObject.AbsolutePosition.ToString(), curErrorCntr); + if(possible > 0) + m_log.WarnFormat("[ARCHIVER Warning]: object also contains {0} references that may be to missing or damaged assets or not a problem", possible); } - else if(curErrorCntr == 1) - { - m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains a reference to a possible missing or damaged assets", - sceneObject.UUID, sceneObject.Name, sceneObject.AbsolutePosition.ToString()); + else if(possible > 0) + { + m_log.WarnFormat("[ARCHIVER Warning]: object {0} '{1}', at {2}, contains {3} references that may be to missing or damaged assets or not a problem", + sceneObject.UUID, sceneObject.Name ,sceneObject.AbsolutePosition.ToString(), possible); } } diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index 8ee7dbcab2..80d3f62339 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -66,6 +66,8 @@ namespace OpenSim.Region.Framework.Scenes /// The gathered uuids. public IDictionary GatheredUuids { get; private set; } public HashSet FailedUUIDs { get; private set; } + public HashSet UncertainAssetsUUIDs { get; private set; } + public int possibleNotAssetCount { get; set; } public int ErrorCount { get; private set; } /// /// Gets the next UUID to inspect. @@ -93,8 +95,10 @@ namespace OpenSim.Region.Framework.Scenes /// /// Asset service. /// - public UuidGatherer(IAssetService assetService) : this(assetService, new Dictionary(), new HashSet ()) {} - public UuidGatherer(IAssetService assetService, IDictionary collector) : this(assetService, collector, new HashSet ()) {} + public UuidGatherer(IAssetService assetService) : this(assetService, new Dictionary(), + new HashSet (),new HashSet ()) {} + public UuidGatherer(IAssetService assetService, IDictionary collector) : this(assetService, collector, + new HashSet (), new HashSet ()) {} /// /// Initializes a new instance of the class. @@ -106,7 +110,7 @@ namespace OpenSim.Region.Framework.Scenes /// Gathered UUIDs will be collected in this dictionary. /// It can be pre-populated if you want to stop the gatherer from analyzing assets that have already been fetched and inspected. /// - public UuidGatherer(IAssetService assetService, IDictionary collector, HashSet failedIDs) + public UuidGatherer(IAssetService assetService, IDictionary collector, HashSet failedIDs, HashSet uncertainAssetsUUIDs) { m_assetService = assetService; GatheredUuids = collector; @@ -114,7 +118,9 @@ namespace OpenSim.Region.Framework.Scenes // FIXME: Not efficient for searching, can improve. m_assetUuidsToInspect = new Queue(); FailedUUIDs = failedIDs; + UncertainAssetsUUIDs = uncertainAssetsUUIDs; ErrorCount = 0; + possibleNotAssetCount = 0; } /// @@ -124,8 +130,17 @@ namespace OpenSim.Region.Framework.Scenes /// UUID. public bool AddForInspection(UUID uuid) { + if(uuid == UUID.Zero) + return false; + if(FailedUUIDs.Contains(uuid)) - return false; + { + if(UncertainAssetsUUIDs.Contains(uuid)) + possibleNotAssetCount++; + else + ErrorCount++; + return false; + } if(GatheredUuids.ContainsKey(uuid)) return false; if (m_assetUuidsToInspect.Contains(uuid)) @@ -283,9 +298,15 @@ namespace OpenSim.Region.Framework.Scenes /// The uuid of the asset for which to gather referenced assets private void GetAssetUuids(UUID assetUuid) { + if(assetUuid == UUID.Zero) + return; + if(FailedUUIDs.Contains(assetUuid)) { - ErrorCount++; + if(UncertainAssetsUUIDs.Contains(assetUuid)) + possibleNotAssetCount++; + else + ErrorCount++; return; } @@ -309,11 +330,17 @@ namespace OpenSim.Region.Framework.Scenes if(assetBase == null) { // m_log.ErrorFormat("[UUID GATHERER]: asset {0} not found", assetUuid); - ErrorCount++; FailedUUIDs.Add(assetUuid); + if(UncertainAssetsUUIDs.Contains(assetUuid)) + possibleNotAssetCount++; + else + ErrorCount++; return; } + if(UncertainAssetsUUIDs.Contains(assetUuid)) + UncertainAssetsUUIDs.Remove(assetUuid); + sbyte assetType = assetBase.Type; if(assetBase.Data == null || assetBase.Data.Length == 0) @@ -363,10 +390,16 @@ namespace OpenSim.Region.Framework.Scenes private void AddForInspection(UUID assetUuid, sbyte assetType) { + if(assetUuid == UUID.Zero) + return; + // Here, we want to collect uuids which require further asset fetches but mark the others as gathered if(FailedUUIDs.Contains(assetUuid)) { - ErrorCount++; + if(UncertainAssetsUUIDs.Contains(assetUuid)) + possibleNotAssetCount++; + else + ErrorCount++; return; } if(GatheredUuids.ContainsKey(assetUuid)) @@ -502,8 +535,11 @@ namespace OpenSim.Region.Framework.Scenes foreach (Match uuidMatch in uuidMatches) { UUID uuid = new UUID(uuidMatch.Value); + if(uuid == UUID.Zero) + continue; // m_log.DebugFormat("[UUID GATHERER]: Recording {0} in text", uuid); - + if(!UncertainAssetsUUIDs.Contains(uuid)) + UncertainAssetsUUIDs.Add(uuid); AddForInspection(uuid); } } From c3dbf91152692734e46850036aae451d87eb9bae Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 03:21:23 +0100 Subject: [PATCH 17/84] osDrawFilledEllipse or string comand FillEllipse identical do Ellipse one --- .../Scripting/VectorRender/VectorRenderModule.cs | 11 +++++++++++ .../Shared/Api/Implementation/OSSL_Api.cs | 9 +++++++++ .../ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | 1 + .../ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | 5 +++++ bin/config-include/osslEnable.ini | 1 + 5 files changed, 27 insertions(+) diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index f12286dafd..5d4d0f5359 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs @@ -625,6 +625,17 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender startPoint.X += endPoint.X; startPoint.Y += endPoint.Y; } + else if (nextLine.StartsWith("FillEllipse")) + { + float x = 0; + float y = 0; + GetParams(partsDelimiter, ref nextLine, 11, ref x, ref y); + endPoint.X = (int)x; + endPoint.Y = (int)y; + graph.FillEllipse(myBrush, startPoint.X, startPoint.Y, endPoint.X, endPoint.Y); + startPoint.X += endPoint.X; + startPoint.Y += endPoint.Y; + } else if (nextLine.StartsWith("FontSize")) { nextLine = nextLine.Remove(0, 8); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index e51a078ba0..37f8970423 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1191,6 +1191,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return drawList; } + public string osDrawFilledEllipse(string drawList, int width, int height) + { + CheckThreatLevel(ThreatLevel.None, "osDrawFilledEllipse"); + + m_host.AddScriptLPS(1); + drawList += "FillEllipse " + width + "," + height + "; "; + return drawList; + } + public string osDrawRectangle(string drawList, int width, int height) { CheckThreatLevel(ThreatLevel.None, "osDrawRectangle"); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index bd5d008d92..da3d6de324 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -222,6 +222,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces string osDrawLine(string drawList, int endX, int endY); string osDrawText(string drawList, string text); string osDrawEllipse(string drawList, int width, int height); + string osDrawFilledEllipse(string drawList, int width, int height); string osDrawRectangle(string drawList, int width, int height); string osDrawFilledRectangle(string drawList, int width, int height); string osDrawPolygon(string drawList, LSL_List x, LSL_List y); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 9eac1149da..1451efcbb1 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -355,6 +355,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osDrawEllipse(drawList, width, height); } + public string osDrawFilledEllipse(string drawList, int width, int height) + { + return m_OSSL_Functions.osDrawFilledEllipse(drawList, width, height); + } + public string osDrawRectangle(string drawList, int width, int height) { return m_OSSL_Functions.osDrawRectangle(drawList, width, height); diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index dca1c0cdaf..f9bfe03d70 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -68,6 +68,7 @@ ; ThreatLevel None Allow_osDrawEllipse = true + Allow_osDrawFilledEllipse = true Allow_osDrawFilledPolygon = true Allow_osDrawFilledRectangle = true Allow_osDrawImage = true From ae4266916cc3b75e1e897c9250b47390340eab72 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 04:23:13 +0100 Subject: [PATCH 18/84] add string osSetDynamicTextureDataFace(string dynamicID, string contentType, string data, string extraParams, int timer, int face) to easy only setting a prim face --- .../ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 9 ++++++++- .../ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | 1 + .../Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 37f8970423..d782ee6052 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -735,6 +735,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer) + { + return osSetDynamicTextureDataFace(dynamicID, contentType, data, extraParams, timer, -1); + } + + public string osSetDynamicTextureDataFace(string dynamicID, string contentType, string data, string extraParams, + int timer, int face) { CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureData"); @@ -750,7 +756,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } UUID createdTexture = textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, - extraParams, timer); + extraParams, timer, false, 3, 255, face); + return createdTexture.ToString(); } } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index da3d6de324..c12490c34d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -123,6 +123,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, bool blend, int disp, int timer, int alpha, int face); string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer); + string osSetDynamicTextureDataFace(string dynamicID, string contentType, string data, string extraParams, int timer, int face); string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, int timer, int alpha); string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 1451efcbb1..9bc31594ce 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -153,6 +153,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osSetDynamicTextureData(dynamicID, contentType, data, extraParams, timer); } + public string osSetDynamicTextureDataFace(string dynamicID, string contentType, string data, string extraParams, + int timer, int face) + { + return m_OSSL_Functions.osSetDynamicTextureDataFace(dynamicID, contentType, data, extraParams, timer, face); + } + public string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, int timer, int alpha) { From 72db6f76b5dc373d3178fbf09d04d385d63bc52d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 05:22:02 +0100 Subject: [PATCH 19/84] remove a DynamicTexture leak, make it actually return the new texture ID to ossl, do delete previus texture from local cache if temporary,at least on same cases... but still very broken.. --- .../DynamicTexture/DynamicTextureModule.cs | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs index c369d87b05..82596ca4ae 100644 --- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs @@ -135,16 +135,15 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture m_reuseableDynamicTextures.Store( GenerateReusableTextureKey(texture.InputCommands, texture.InputParams), newTextureID); } + updater.newTextureID = newTextureID; } - } - if (updater.UpdateTimer == 0) - { - lock (Updaters) + if (updater.UpdateTimer == 0) { - if (!Updaters.ContainsKey(updater.UpdaterID)) + lock (Updaters) { - Updaters.Remove(updater.UpdaterID); + if (Updaters.ContainsKey(updater.UpdaterID)) + Updaters.Remove(updater.UpdaterID); } } } @@ -213,7 +212,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture } RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams); - return updater.UpdaterID; + return updater.newTextureID; } return UUID.Zero; } @@ -314,7 +313,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture updater.UpdatePart(part, (UUID)objReusableTextureUUID); } - return updater.UpdaterID; + return updater.newTextureID; } private string GenerateReusableTextureKey(string data, string extraParams) @@ -411,6 +410,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture public int Face; public int Disp; public string Url; + public UUID newTextureID; public DynamicTextureUpdater() { @@ -445,7 +445,14 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture { try { - Primitive.TextureEntryFace texface = tmptex.CreateFace((uint)Face); + Primitive.TextureEntryFace texface = tmptex.GetFace((uint)Face); + if(texface == null) + tmptex.GetFace((uint)Face); + else + { + if(texface.TextureID != null && texface.TextureID != UUID.Zero) + oldID = texface.TextureID; + } texface.TextureID = textureID; tmptex.FaceTextures[Face] = texface; } From ed8fc359f3853bab07ec3f5d6fd533da8d3797be Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 06:11:10 +0100 Subject: [PATCH 20/84] change thread level of osSetDynamicTextureDataBlendFace to VeryHigh --- .../Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 2 +- bin/config-include/osslEnable.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index d782ee6052..7371fc52c1 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -801,7 +801,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, bool blend, int disp, int timer, int alpha, int face) { - CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlendFace"); + CheckThreatLevel(ThreatLevel.VeryHigh , "osSetDynamicTextureDataBlendFace"); m_host.AddScriptLPS(1); if (dynamicID == String.Empty) diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index f9bfe03d70..3538458451 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -121,7 +121,6 @@ Allow_osReplaceString = true Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -228,6 +227,7 @@ Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER From 8d1dd44edb187429b5a26ca56fc2d53766f710c7 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 07:39:22 +0100 Subject: [PATCH 21/84] simplify vectorrender background draw --- .../VectorRender/VectorRenderModule.cs | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index 5d4d0f5359..a3b53becf0 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs @@ -355,30 +355,22 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender lock (this) { if (alpha == 256) - bitmap = new Bitmap(width, height, PixelFormat.Format32bppRgb); - else - bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb); - - graph = Graphics.FromImage(bitmap); - - // this is really just to save people filling the - // background color in their scripts, only do when fully opaque - if (alpha >= 255) { + bitmap = new Bitmap(width, height, PixelFormat.Format32bppRgb); + graph = Graphics.FromImage(bitmap); using (SolidBrush bgFillBrush = new SolidBrush(bgColor)) { graph.FillRectangle(bgFillBrush, 0, 0, width, height); } - } - - for (int w = 0; w < bitmap.Width; w++) + } + else { - if (alpha <= 255) + bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb); + graph = Graphics.FromImage(bitmap); + Color newbg = Color.FromArgb(alpha,bgColor); + using (SolidBrush bgFillBrush = new SolidBrush(newbg)) { - for (int h = 0; h < bitmap.Height; h++) - { - bitmap.SetPixel(w, h, Color.FromArgb(alpha, bitmap.GetPixel(w, h))); - } + graph.FillRectangle(bgFillBrush, 0, 0, width, height); } } From 1a8a77c41e4061b75ff97fcf89e39717550bfa25 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 09:24:56 +0100 Subject: [PATCH 22/84] revert the thread level change; remove unused dynamic texture timer from internal code; let blend alpha work if < 255; let blend work with the selected face; etc --- .../DynamicTexture/DynamicTextureModule.cs | 81 +++++++++---------- .../Tests/VectorRenderModuleTests.cs | 48 ++++------- .../Interfaces/IDynamicTextureManager.cs | 22 ++--- .../Shared/Api/Implementation/OSSL_Api.cs | 14 ++-- .../Stress/VectorRenderModuleStressTests.cs | 3 +- bin/config-include/osslEnable.ini | 2 +- 6 files changed, 72 insertions(+), 98 deletions(-) diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs index 82596ca4ae..c0b7ab5855 100644 --- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs @@ -138,13 +138,10 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture updater.newTextureID = newTextureID; } - if (updater.UpdateTimer == 0) + lock (Updaters) { - lock (Updaters) - { - if (Updaters.ContainsKey(updater.UpdaterID)) - Updaters.Remove(updater.UpdaterID); - } + if (Updaters.ContainsKey(updater.UpdaterID)) + Updaters.Remove(updater.UpdaterID); } } } @@ -171,21 +168,20 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture } public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, - string extraParams, int updateTimer) + string extraParams) { - return AddDynamicTextureURL(simID, primID, contentType, url, extraParams, updateTimer, false, 255); + return AddDynamicTextureURL(simID, primID, contentType, url, extraParams, false, 255); } public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, - string extraParams, int updateTimer, bool SetBlending, byte AlphaValue) + string extraParams, bool SetBlending, byte AlphaValue) { - return AddDynamicTextureURL(simID, primID, contentType, url, - extraParams, updateTimer, SetBlending, - (int)(DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); + return AddDynamicTextureURL(simID, primID, contentType, url, extraParams, SetBlending, + (DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); } public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, - string extraParams, int updateTimer, bool SetBlending, + string extraParams, bool SetBlending, int disp, byte AlphaValue, int face) { if (RenderPlugins.ContainsKey(contentType)) @@ -195,7 +191,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture updater.PrimID = primID; updater.ContentType = contentType; updater.Url = url; - updater.UpdateTimer = updateTimer; updater.UpdaterID = UUID.Random(); updater.Params = extraParams; updater.BlendWithOldTexture = SetBlending; @@ -218,20 +213,21 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture } public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, - string extraParams, int updateTimer) + string extraParams) { - return AddDynamicTextureData(simID, primID, contentType, data, extraParams, updateTimer, false, 255); + return AddDynamicTextureData(simID, primID, contentType, data, extraParams, false, + (DISP_TEMP|DISP_EXPIRE), 255, ALL_SIDES); } public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, - string extraParams, int updateTimer, bool SetBlending, byte AlphaValue) + string extraParams, bool SetBlending, byte AlphaValue) { - return AddDynamicTextureData(simID, primID, contentType, data, extraParams, updateTimer, SetBlending, - (int) (DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); + return AddDynamicTextureData(simID, primID, contentType, data, extraParams, SetBlending, + (DISP_TEMP|DISP_EXPIRE), AlphaValue, ALL_SIDES); } public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, - string extraParams, int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face) + string extraParams, bool SetBlending, int disp, byte AlphaValue, int face) { if (!RenderPlugins.ContainsKey(contentType)) return UUID.Zero; @@ -257,7 +253,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture updater.PrimID = primID; updater.ContentType = contentType; updater.BodyData = data; - updater.UpdateTimer = updateTimer; updater.UpdaterID = UUID.Random(); updater.Params = extraParams; updater.BlendWithOldTexture = SetBlending; @@ -403,10 +398,8 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture public byte FrontAlpha = 255; public string Params; public UUID PrimID; - public bool SetNewFrontAlpha = false; public UUID SimUUID; public UUID UpdaterID; - public int UpdateTimer; public int Face; public int Disp; public string Url; @@ -414,7 +407,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture public DynamicTextureUpdater() { - UpdateTimer = 0; BodyData = null; } @@ -440,19 +432,15 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture { oldID = tmptex.DefaultTexture.TextureID; tmptex.DefaultTexture.TextureID = textureID; + for(int i = 0; i < tmptex.FaceTextures.Length; i++) + tmptex.FaceTextures[i] = null; } else { try { - Primitive.TextureEntryFace texface = tmptex.GetFace((uint)Face); - if(texface == null) - tmptex.GetFace((uint)Face); - else - { - if(texface.TextureID != null && texface.TextureID != UUID.Zero) - oldID = texface.TextureID; - } + Primitive.TextureEntryFace texface = tmptex.CreateFace((uint)Face); + oldID = texface.TextureID; texface.TextureID = textureID; tmptex.FaceTextures[Face] = texface; } @@ -462,10 +450,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture } } - // I'm pretty sure we always want to force this to true - // I'm pretty sure noone whats to set fullbright true if it wasn't true before. - // tmptex.DefaultTexture.Fullbright = true; - part.UpdateTextureEntry(tmptex.GetBytes()); } @@ -498,13 +482,26 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture if (BlendWithOldTexture) { - Primitive.TextureEntryFace defaultFace = part.Shape.Textures.DefaultTexture; - if (defaultFace != null) + Primitive.TextureEntryFace curFace; + if(Face == ALL_SIDES) + curFace = part.Shape.Textures.DefaultTexture; + else { - oldAsset = scene.AssetService.Get(defaultFace.TextureID.ToString()); + try + { + curFace = part.Shape.Textures.GetFace((uint)Face); + } + catch + { + curFace = null; + } + } + if (curFace != null) + { + oldAsset = scene.AssetService.Get(curFace.TextureID.ToString()); if (oldAsset != null) - assetData = BlendTextures(data, oldAsset.Data, SetNewFrontAlpha, FrontAlpha); + assetData = BlendTextures(data, oldAsset.Data, FrontAlpha); } } @@ -555,7 +552,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture return asset.FullID; } - private byte[] BlendTextures(byte[] frontImage, byte[] backImage, bool setNewAlpha, byte newAlpha) + private byte[] BlendTextures(byte[] frontImage, byte[] backImage, byte newAlpha) { ManagedImage managedImage; Image image; @@ -575,7 +572,7 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture Bitmap image2 = new Bitmap(image); image.Dispose(); - if (setNewAlpha) + if (newAlpha < 255) SetAlpha(ref image1, newAlpha); using(Bitmap joint = MergeBitMaps(image1, image2)) diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs index ed255bfcb3..325f7f9ccf 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/Tests/VectorRenderModuleTests.cs @@ -77,8 +77,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), "PenColour BLACK; MoveTo 40,220; FontSize 32; Text Hello World;", - "", - 0); + ""); Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -98,8 +97,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; @@ -108,8 +106,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -129,8 +126,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; @@ -139,8 +135,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "alpha:250", - 0); + "alpha:250"); Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -161,8 +156,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; @@ -171,8 +165,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -191,8 +184,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), "PenColour BLACK; MoveTo 40,220; FontSize 32; Text Hello World;", - "", - 0); + ""); Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -213,8 +205,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; @@ -223,8 +214,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); Assert.That(firstDynamicTextureID, Is.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -253,8 +243,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "1024", - 0); + "1024"); UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; @@ -263,8 +252,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "1024", - 0); + "1024"); Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -284,8 +272,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; @@ -294,8 +281,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "alpha:250", - 0); + "alpha:250"); Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } @@ -316,8 +302,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); UUID firstDynamicTextureID = so.RootPart.Shape.Textures.GetFace(0).TextureID; @@ -326,8 +311,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender.Tests so.UUID, m_vrm.GetContentType(), dtText, - "", - 0); + ""); Assert.That(firstDynamicTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); } diff --git a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs index 441076dd23..093ea9c801 100644 --- a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs +++ b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs @@ -44,14 +44,13 @@ namespace OpenSim.Region.Framework.Interfaces /// void ReturnData(UUID id, IDynamicTexture texture); + UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams); UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, - int updateTimer); + bool SetBlending, byte AlphaValue); UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, - int updateTimer, bool SetBlending, byte AlphaValue); - UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, - int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face); - UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams, - int updateTimer); + bool SetBlending, int disp, byte AlphaValue, int face); + + UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams); /// Apply a dynamically generated texture to all sides of the given prim. The texture is not persisted to the /// asset service. @@ -62,8 +61,6 @@ namespace OpenSim.Region.Framework.Interfaces /// based texture or "image" to create a texture from an image at a particular URL /// The data for the generator /// Parameters for the generator that don't form part of the main data. - /// If zero, the image is never updated after the first generation. If positive - /// the image is updated at the given interval. Not implemented for /// /// If true, the newly generated texture is blended with the appropriate existing ones on the prim /// @@ -76,7 +73,7 @@ namespace OpenSim.Region.Framework.Interfaces /// can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID /// UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams, - int updateTimer, bool SetBlending, byte AlphaValue); + bool SetBlending, byte AlphaValue); /// /// Apply a dynamically generated texture to the given prim. @@ -87,8 +84,6 @@ namespace OpenSim.Region.Framework.Interfaces /// based texture or "image" to create a texture from an image at a particular URL /// The data for the generator /// Parameters for the generator that don't form part of the main data. - /// If zero, the image is never updated after the first generation. If positive - /// the image is updated at the given interval. Not implemented for /// /// If true, the newly generated texture is blended with the appropriate existing ones on the prim /// @@ -109,9 +104,8 @@ namespace OpenSim.Region.Framework.Interfaces /// to obtain it directly from the SceneObjectPart. For instance, if ALL_SIDES is set then this texture /// can be obtained as SceneObjectPart.Shape.Textures.DefaultTexture.TextureID /// - UUID AddDynamicTextureData( - UUID simID, UUID primID, string contentType, string data, string extraParams, - int updateTimer, bool SetBlending, int disp, byte AlphaValue, int face); + UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data, string extraParams, + bool SetBlending, int disp, byte AlphaValue, int face); void GetDrawStringSize(string contentType, string text, string fontName, int fontSize, out double xSize, out double ySize); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 7371fc52c1..3a0884fd9c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -678,7 +678,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api IDynamicTextureManager textureManager = World.RequestModuleInterface(); UUID createdTexture = textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, - extraParams, timer); + extraParams); return createdTexture.ToString(); } else @@ -700,7 +700,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api IDynamicTextureManager textureManager = World.RequestModuleInterface(); UUID createdTexture = textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, - extraParams, timer, true, (byte) alpha); + extraParams, true, (byte) alpha); return createdTexture.ToString(); } else @@ -722,7 +722,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api IDynamicTextureManager textureManager = World.RequestModuleInterface(); UUID createdTexture = textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, - extraParams, timer, blend, disp, (byte) alpha, face); + extraParams, blend, disp, (byte) alpha, face); return createdTexture.ToString(); } else @@ -756,7 +756,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } UUID createdTexture = textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, - extraParams, timer, false, 3, 255, face); + extraParams, false, 3, 255, face); return createdTexture.ToString(); } @@ -786,7 +786,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } UUID createdTexture = textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, - extraParams, timer, true, (byte) alpha); + extraParams, true, (byte) alpha); return createdTexture.ToString(); } } @@ -801,7 +801,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, bool blend, int disp, int timer, int alpha, int face) { - CheckThreatLevel(ThreatLevel.VeryHigh , "osSetDynamicTextureDataBlendFace"); + CheckThreatLevel(ThreatLevel.VeryLow , "osSetDynamicTextureDataBlendFace"); m_host.AddScriptLPS(1); if (dynamicID == String.Empty) @@ -815,7 +815,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } UUID createdTexture = textureManager.AddDynamicTextureData(World.RegionInfo.RegionID, m_host.UUID, contentType, data, - extraParams, timer, blend, disp, (byte) alpha, face); + extraParams, blend, disp, (byte) alpha, face); return createdTexture.ToString(); } } diff --git a/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs b/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs index 5e6a63891a..e9767f3e84 100644 --- a/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs +++ b/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs @@ -118,8 +118,7 @@ namespace OpenSim.Tests.Stress so.UUID, m_tests.Vrm.GetContentType(), string.Format("PenColour BLACK; MoveTo 40,220; FontSize 32; Text {0};", text), - "", - 0); + ""); Assert.That(originalTextureID, Is.Not.EqualTo(so.RootPart.Shape.Textures.GetFace(0).TextureID)); diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 3538458451..f9bfe03d70 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -121,6 +121,7 @@ Allow_osReplaceString = true Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURLBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -227,7 +228,6 @@ Allow_osGetNotecardLine = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER - Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER From 5d776fca3a6c52f79f3fd33229492b26b03ca238 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 21:42:11 +0100 Subject: [PATCH 23/84] add dyn textures vectorrender comands ''ResetTransf;'', ''TransTransf x,y;'' and ''RotTransf x'' string only, no ossl helper api still --- .../VectorRender/VectorRenderModule.cs | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index a3b53becf0..fc4ccfe4d8 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs @@ -511,8 +511,25 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender // m_log.DebugFormat("[VECTOR RENDER MODULE]: Processing line '{0}'", nextLine); + if (nextLine.StartsWith("ResetTransf")) + { + graph.ResetTransform(); + } + else if (nextLine.StartsWith("TransTransf")) + { + float x = 0; + float y = 0; + GetParams(partsDelimiter, ref nextLine, 11, ref x, ref y); + graph.TranslateTransform(x, y); + } + else if (nextLine.StartsWith("RotTransf")) + { + float x = 0; + GetParams(partsDelimiter, ref nextLine, 9, ref x); + graph.RotateTransform(x); + } //replace with switch, or even better, do some proper parsing - if (nextLine.StartsWith("MoveTo")) + else if (nextLine.StartsWith("MoveTo")) { float x = 0; float y = 0; @@ -793,6 +810,17 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender } } + private static void GetParams(char[] partsDelimiter, ref string line, int startLength, ref float x) + { + line = line.Remove(0, startLength); + string[] parts = line.Split(partsDelimiter); + if (parts.Length > 0) + { + string xVal = parts[0].Trim(); + x = Convert.ToSingle(xVal, CultureInfo.InvariantCulture); + } + } + private static void GetParams(char[] partsDelimiter, ref string line, int startLength, ref float x, ref float y) { line = line.Remove(0, startLength); From cb8975e56729c6fd077a69df3a7fa06cba285f82 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 24 Jun 2017 23:04:37 +0100 Subject: [PATCH 24/84] add string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y), string osDrawRotationTransform(string drawList, LSL_Float x) and string osDrawResetTransform(string drawList) helper functions for the new vector renderer comands. Removed ThreadLevel check of similar funtions that had it None, and actually only set strings --- .../Shared/Api/Implementation/OSSL_Api.cs | 58 ++++++++++++++----- .../Shared/Api/Interface/IOSSL_Api.cs | 3 + .../Shared/Api/Runtime/OSSL_Stub.cs | 15 +++++ bin/config-include/osslEnable.ini | 37 +++++++----- 4 files changed, 81 insertions(+), 32 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 3a0884fd9c..e93a7d76ae 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1153,9 +1153,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } //Texture draw functions + + public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y) + { + CheckThreatLevel(); + + m_host.AddScriptLPS(1); + drawList += "TransTransf " + x + "," + y + ";"; + return drawList; + } + + public string osDrawRotationTransform(string drawList, LSL_Float x) + { + CheckThreatLevel(); + m_host.AddScriptLPS(1); + drawList += "RotTransf " + x + ";"; + return drawList; + } + + public string osDrawResetTransform(string drawList) + { + CheckThreatLevel(); + m_host.AddScriptLPS(1); + drawList += "ResetTransf;"; + return drawList; + } + public string osMovePen(string drawList, int x, int y) { - CheckThreatLevel(ThreatLevel.None, "osMovePen"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "MoveTo " + x + "," + y + ";"; @@ -1164,7 +1190,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawLine(string drawList, int startX, int startY, int endX, int endY) { - CheckThreatLevel(ThreatLevel.None, "osDrawLine"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "MoveTo "+ startX+","+ startY +"; LineTo "+endX +","+endY +"; "; @@ -1173,7 +1199,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawLine(string drawList, int endX, int endY) { - CheckThreatLevel(ThreatLevel.None, "osDrawLine"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "LineTo " + endX + "," + endY + "; "; @@ -1191,7 +1217,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawEllipse(string drawList, int width, int height) { - CheckThreatLevel(ThreatLevel.None, "osDrawEllipse"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "Ellipse " + width + "," + height + "; "; @@ -1200,7 +1226,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawFilledEllipse(string drawList, int width, int height) { - CheckThreatLevel(ThreatLevel.None, "osDrawFilledEllipse"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "FillEllipse " + width + "," + height + "; "; @@ -1209,7 +1235,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawRectangle(string drawList, int width, int height) { - CheckThreatLevel(ThreatLevel.None, "osDrawRectangle"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "Rectangle " + width + "," + height + "; "; @@ -1218,7 +1244,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawFilledRectangle(string drawList, int width, int height) { - CheckThreatLevel(ThreatLevel.None, "osDrawFilledRectangle"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "FillRectangle " + width + "," + height + "; "; @@ -1227,7 +1253,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawFilledPolygon(string drawList, LSL_List x, LSL_List y) { - CheckThreatLevel(ThreatLevel.None, "osDrawFilledPolygon"); + CheckThreatLevel(); m_host.AddScriptLPS(1); @@ -1246,7 +1272,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawPolygon(string drawList, LSL_List x, LSL_List y) { - CheckThreatLevel(ThreatLevel.None, "osDrawPolygon"); + CheckThreatLevel(); m_host.AddScriptLPS(1); @@ -1265,7 +1291,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetFontSize(string drawList, int fontSize) { - CheckThreatLevel(ThreatLevel.None, "osSetFontSize"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "FontSize "+ fontSize +"; "; @@ -1274,7 +1300,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetFontName(string drawList, string fontName) { - CheckThreatLevel(ThreatLevel.None, "osSetFontName"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "FontName "+ fontName +"; "; @@ -1283,7 +1309,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetPenSize(string drawList, int penSize) { - CheckThreatLevel(ThreatLevel.None, "osSetPenSize"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "PenSize " + penSize + "; "; @@ -1292,7 +1318,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetPenColor(string drawList, string color) { - CheckThreatLevel(ThreatLevel.None, "osSetPenColor"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "PenColor " + color + "; "; @@ -1302,7 +1328,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Deprecated public string osSetPenColour(string drawList, string colour) { - CheckThreatLevel(ThreatLevel.None, "osSetPenColour"); + CheckThreatLevel(); OSSLDeprecated("osSetPenColour", "osSetPenColor"); m_host.AddScriptLPS(1); @@ -1312,7 +1338,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osSetPenCap(string drawList, string direction, string type) { - CheckThreatLevel(ThreatLevel.None, "osSetPenCap"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList += "PenCap " + direction + "," + type + "; "; @@ -1321,7 +1347,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawImage(string drawList, int width, int height, string imageUrl) { - CheckThreatLevel(ThreatLevel.None, "osDrawImage"); + CheckThreatLevel(); m_host.AddScriptLPS(1); drawList +="Image " +width + "," + height+ ","+ imageUrl +"; " ; diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index c12490c34d..19cfcc1a8c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -228,6 +228,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces string osDrawFilledRectangle(string drawList, int width, int height); string osDrawPolygon(string drawList, LSL_List x, LSL_List y); string osDrawFilledPolygon(string drawList, LSL_List x, LSL_List y); + string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y); + string osDrawRotationTransform(string drawList, LSL_Float x); + string osDrawResetTransform(string drawList); string osSetFontName(string drawList, string fontName); string osSetFontSize(string drawList, int fontSize); string osSetPenSize(string drawList, int penSize); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 9bc31594ce..4b1f6d300e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -386,6 +386,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osDrawFilledPolygon(drawList, x, y); } + public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y) + { + return m_OSSL_Functions.osDrawTranslationTransform(drawList, x, y); + } + + public string osDrawRotationTransform(string drawList, LSL_Float x) + { + return m_OSSL_Functions.osDrawRotationTransform(drawList, x); + } + + public string osDrawResetTransform(string drawList) + { + return m_OSSL_Functions.osDrawResetTransform(drawList); + } + public string osSetFontSize(string drawList, int fontSize) { return m_OSSL_Functions.osSetFontSize(drawList, fontSize); diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index f9bfe03d70..4779f60385 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -65,17 +65,22 @@ ; There are a block of functions for creating and controlling NPCs. ; These can be mis-used so limit use to those you can trust. osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - + +; some ThreadLevel None functions no longer do level check. listed comment just to be visible + ; ThreatLevel None - Allow_osDrawEllipse = true - Allow_osDrawFilledEllipse = true - Allow_osDrawFilledPolygon = true - Allow_osDrawFilledRectangle = true - Allow_osDrawImage = true - Allow_osDrawLine = true - Allow_osDrawPolygon = true - Allow_osDrawRectangle = true - Allow_osDrawText = true +; Allow_osDrawEllipse = true ; no level check +; Allow_osDrawFilledEllipse = true ; no level check +; Allow_osDrawFilledPolygon = true ; no level check +; Allow_osDrawFilledRectangle = true ; no level check +; Allow_osDrawTranslationTransform = true ; no level check +; Allow_osDrawRotationTransform = true ; no level check +; Allow_osDrawResetTransform = true ; no level check +; Allow_osDrawImage = true ; no level check +; Allow_osDrawLine = true ; no level check +; Allow_osDrawPolygon = true ; no level check +; Allow_osDrawRectangle = true ; no level check +; Allow_osDrawText = true ; no level check Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetCurrentSunHour = true @@ -93,15 +98,15 @@ Allow_osList2Double = true Allow_osMax = true Allow_osMin = true - Allow_osMovePen = true +; Allow_osMovePen = true ; no level check Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true Allow_osParseJSONNew = true - Allow_osSetFontName = true - Allow_osSetFontSize = true - Allow_osSetPenCap = true - Allow_osSetPenColor = true - Allow_osSetPenSize = true +; Allow_osSetFontName = true ; no level check +; Allow_osSetFontSize = true ; no level check +; Allow_osSetPenCap = true ; no level check +; Allow_osSetPenColor = true ; no level check +; Allow_osSetPenSize = true ; no level check Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true From a9a44eaeb5abdbea63d6c7d0c81454fb5a093817 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Jun 2017 02:17:02 +0100 Subject: [PATCH 25/84] add vectorrender string command ''ScaleTransf x,y;''. this allows scaling of objects to draw next. -1,1 will make text be drawn with x direction flipped (it is like the texture scale) --- .../Scripting/VectorRender/VectorRenderModule.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index fc4ccfe4d8..8a26ab7b37 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs @@ -522,6 +522,13 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender GetParams(partsDelimiter, ref nextLine, 11, ref x, ref y); graph.TranslateTransform(x, y); } + else if (nextLine.StartsWith("ScaleTransf")) + { + float x = 0; + float y = 0; + GetParams(partsDelimiter, ref nextLine, 11, ref x, ref y); + graph.ScaleTransform(x, y); + } else if (nextLine.StartsWith("RotTransf")) { float x = 0; From 84abdf866a26401e48eff5b25a1ec7f7bf19dc3c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Jun 2017 02:26:36 +0100 Subject: [PATCH 26/84] add respective ossl helper funtion osDrawScaleTransform(string drawList, LSL_Float x, LSL_Float y) --- .../Shared/Api/Implementation/OSSL_Api.cs | 19 ++++++++++++++----- .../Shared/Api/Interface/IOSSL_Api.cs | 5 +++-- .../Shared/Api/Runtime/OSSL_Stub.cs | 13 +++++++++---- bin/config-include/osslEnable.ini | 5 +++-- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index e93a7d76ae..dee195a2ec 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1154,12 +1154,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api //Texture draw functions - public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y) + public string osDrawResetTransform(string drawList) { CheckThreatLevel(); - m_host.AddScriptLPS(1); - drawList += "TransTransf " + x + "," + y + ";"; + drawList += "ResetTransf;"; return drawList; } @@ -1171,11 +1170,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return drawList; } - public string osDrawResetTransform(string drawList) + public string osDrawScaleTransform(string drawList, LSL_Float x, LSL_Float y) { CheckThreatLevel(); + m_host.AddScriptLPS(1); - drawList += "ResetTransf;"; + drawList += "ScaleTransf " + x + "," + y + ";"; + return drawList; + } + + public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y) + { + CheckThreatLevel(); + + m_host.AddScriptLPS(1); + drawList += "TransTransf " + x + "," + y + ";"; return drawList; } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 19cfcc1a8c..f7857da7a8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -228,9 +228,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces string osDrawFilledRectangle(string drawList, int width, int height); string osDrawPolygon(string drawList, LSL_List x, LSL_List y); string osDrawFilledPolygon(string drawList, LSL_List x, LSL_List y); - string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y); - string osDrawRotationTransform(string drawList, LSL_Float x); string osDrawResetTransform(string drawList); + string osDrawRotationTransform(string drawList, LSL_Float x); + string osDrawScaleTransform(string drawList, LSL_Float x, LSL_Float y); + string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y); string osSetFontName(string drawList, string fontName); string osSetFontSize(string drawList, int fontSize); string osSetPenSize(string drawList, int penSize); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 4b1f6d300e..d6af32b4b9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -386,9 +386,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osDrawFilledPolygon(drawList, x, y); } - public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y) + public string osDrawResetTransform(string drawList) { - return m_OSSL_Functions.osDrawTranslationTransform(drawList, x, y); + return m_OSSL_Functions.osDrawResetTransform(drawList); } public string osDrawRotationTransform(string drawList, LSL_Float x) @@ -396,9 +396,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osDrawRotationTransform(drawList, x); } - public string osDrawResetTransform(string drawList) + public string osDrawScaleTransform(string drawList, LSL_Float x, LSL_Float y) { - return m_OSSL_Functions.osDrawResetTransform(drawList); + return m_OSSL_Functions.osDrawScaleTransform(drawList, x, y); + } + + public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y) + { + return m_OSSL_Functions.osDrawTranslationTransform(drawList, x, y); } public string osSetFontSize(string drawList, int fontSize) diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 4779f60385..648182503f 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -73,9 +73,10 @@ ; Allow_osDrawFilledEllipse = true ; no level check ; Allow_osDrawFilledPolygon = true ; no level check ; Allow_osDrawFilledRectangle = true ; no level check -; Allow_osDrawTranslationTransform = true ; no level check -; Allow_osDrawRotationTransform = true ; no level check ; Allow_osDrawResetTransform = true ; no level check +; Allow_osDrawRotationTransform = true ; no level check +; Allow_osDrawScaleTransform = true ; no level check +; Allow_osDrawTranslationTransform = true ; no level check ; Allow_osDrawImage = true ; no level check ; Allow_osDrawLine = true ; no level check ; Allow_osDrawPolygon = true ; no level check From 3ce909528dd42cd2c92d8ac6590135bb1962aee4 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 25 Jun 2017 15:42:36 +0100 Subject: [PATCH 27/84] change Backup calls overlap control code --- OpenSim/Region/Framework/Scenes/Scene.cs | 71 +++++++++++++++--------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index ebef158311..09b209e569 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1942,7 +1942,6 @@ namespace OpenSim.Region.Framework.Scenes { if (!m_backingup) { - m_backingup = true; WorkManager.RunInThreadPool(o => Backup(false), null, string.Format("BackupWorker ({0})", Name)); } } @@ -1971,38 +1970,58 @@ namespace OpenSim.Region.Framework.Scenes { lock (m_returns) { - EventManager.TriggerOnBackup(SimulationDataService, forced); - - foreach (KeyValuePair ret in m_returns) + if(m_backingup) { - UUID transaction = UUID.Random(); + m_log.WarnFormat("[Scene] Backup of {0} already running. New call skipped", RegionInfo.RegionName); + return; + } - GridInstantMessage msg = new GridInstantMessage(); - msg.fromAgentID = new Guid(UUID.Zero.ToString()); // From server - msg.toAgentID = new Guid(ret.Key.ToString()); - msg.imSessionID = new Guid(transaction.ToString()); - msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); - msg.fromAgentName = "Server"; - msg.dialog = (byte)19; // Object msg - msg.fromGroup = false; - msg.offline = (byte)1; - msg.ParentEstateID = RegionInfo.EstateSettings.ParentEstateID; - msg.Position = Vector3.Zero; - msg.RegionID = RegionInfo.RegionID.Guid; + m_backingup = true; + try + { + EventManager.TriggerOnBackup(SimulationDataService, forced); - // We must fill in a null-terminated 'empty' string here since bytes[0] will crash viewer 3. - msg.binaryBucket = Util.StringToBytes256("\0"); - if (ret.Value.count > 1) - msg.message = string.Format("Your {0} objects were returned from {1} in region {2} due to {3}", ret.Value.count, ret.Value.location.ToString(), RegionInfo.RegionName, ret.Value.reason); - else - msg.message = string.Format("Your object {0} was returned from {1} in region {2} due to {3}", ret.Value.objectName, ret.Value.location.ToString(), RegionInfo.RegionName, ret.Value.reason); + if(m_returns.Count == 0) + return; IMessageTransferModule tr = RequestModuleInterface(); - if (tr != null) + if (tr == null) + return; + + uint unixtime = (uint)Util.UnixTimeSinceEpoch(); + uint estateid = RegionInfo.EstateSettings.ParentEstateID; + Guid regionguid = RegionInfo.RegionID.Guid; + + foreach (KeyValuePair ret in m_returns) + { + GridInstantMessage msg = new GridInstantMessage(); + msg.fromAgentID = Guid.Empty; // From server + msg.toAgentID = ret.Key.Guid; + msg.imSessionID = Guid.NewGuid(); + msg.timestamp = unixtime; + msg.fromAgentName = "Server"; + msg.dialog = 19; // Object msg + msg.fromGroup = false; + msg.offline = 1; + msg.ParentEstateID = estateid; + msg.Position = Vector3.Zero; + msg.RegionID = regionguid; + + // We must fill in a null-terminated 'empty' string here since bytes[0] will crash viewer 3. + msg.binaryBucket = new Byte[1] {0}; + if (ret.Value.count > 1) + msg.message = string.Format("Your {0} objects were returned from {1} in region {2} due to {3}", ret.Value.count, ret.Value.location.ToString(), RegionInfo.RegionName, ret.Value.reason); + else + msg.message = string.Format("Your object {0} was returned from {1} in region {2} due to {3}", ret.Value.objectName, ret.Value.location.ToString(), RegionInfo.RegionName, ret.Value.reason); + tr.SendInstantMessage(msg, delegate(bool success) { }); + } + m_returns.Clear(); + } + finally + { + m_backingup = false; } - m_returns.Clear(); - m_backingup = false; } } From 041854234429800d6ca10c4987c5d99185552fd6 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 00:18:46 +0100 Subject: [PATCH 28/84] some shortcuts on local osTeleport, reduce its time penalty, do it with script thread --- OpenSim/Region/Framework/Scenes/Scene.cs | 44 +++++--- .../Shared/Api/Implementation/OSSL_Api.cs | 102 +++++++++--------- 2 files changed, 79 insertions(+), 67 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 09b209e569..5e8487d632 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4824,16 +4824,34 @@ Label_GroupsDone: public void RequestTeleportLocation(IClientAPI remoteClient, string regionName, Vector3 position, Vector3 lookat, uint teleportFlags) { - GridRegion region = GridService.GetRegionByName(RegionInfo.ScopeID, regionName); + if (EntityTransferModule == null) + { + m_log.DebugFormat("[SCENE]: Unable to perform teleports: no AgentTransferModule is active"); + return; + } - if (region == null) + ScenePresence sp = GetScenePresence(remoteClient.AgentId); + if (sp == null || sp.IsDeleted || sp.IsInTransit) + return; + + ulong regionHandle = 0; + if(regionName == RegionInfo.RegionName) + regionHandle = RegionInfo.RegionHandle; + else + { + GridRegion region = GridService.GetRegionByName(RegionInfo.ScopeID, regionName); + if (region != null) + regionHandle = region.RegionHandle; + } + + if(regionHandle == 0) { // can't find the region: Tell viewer and abort remoteClient.SendTeleportFailed("The region '" + regionName + "' could not be found."); return; } - RequestTeleportLocation(remoteClient, region.RegionHandle, position, lookat, teleportFlags); + EntityTransferModule.Teleport(sp, regionHandle, position, lookat, teleportFlags); } /// @@ -4847,19 +4865,17 @@ Label_GroupsDone: public void RequestTeleportLocation(IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags) { - ScenePresence sp = GetScenePresence(remoteClient.AgentId); - if (sp != null) + if (EntityTransferModule == null) { - if (EntityTransferModule != null) - { - EntityTransferModule.Teleport(sp, regionHandle, position, lookAt, teleportFlags); - } - else - { - m_log.DebugFormat("[SCENE]: Unable to perform teleports: no AgentTransferModule is active"); - sp.ControllingClient.SendTeleportFailed("Unable to perform teleports on this simulator."); - } + m_log.DebugFormat("[SCENE]: Unable to perform teleports: no AgentTransferModule is active"); + return; } + + ScenePresence sp = GetScenePresence(remoteClient.AgentId); + if (sp == null || sp.IsDeleted || sp.IsInTransit) + return; + + EntityTransferModule.Teleport(sp, regionHandle, position, lookAt, teleportFlags); } public bool CrossAgentToNewRegion(ScenePresence agent, bool isFlying) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index dee195a2ec..5339fc3bf2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -859,41 +859,40 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.Severe, "osTeleportAgent"); - TeleportAgent(agent, regionName, position, lookat, false); + TeleportAgent(agent, regionName, position, lookat); } private void TeleportAgent(string agent, string regionName, - LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions) + LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { m_host.AddScriptLPS(1); - UUID agentId = new UUID(); + if(String.IsNullOrWhiteSpace(regionName)) + return; + + UUID agentId; if (UUID.TryParse(agent, out agentId)) { ScenePresence presence = World.GetScenePresence(agentId); - if (presence != null) + if (presence == null || presence.IsDeleted || presence.IsInTransit) + return; + + if(regionName == World.RegionInfo.RegionName) { - // For osTeleportAgent, agent must be over owners land to avoid abuse - // For osTeleportOwner, this restriction isn't necessary - - // commented out because its redundant and uneeded please remove eventually. - // if (relaxRestrictions || - // m_host.OwnerID - // == World.LandChannel.GetLandObject( - // presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) - // { - - // We will launch the teleport on a new thread so that when the script threads are terminated - // before teleport in ScriptInstance.GetXMLState(), we don't end up aborting the one doing the teleporting. - Util.FireAndForget( - o => World.RequestTeleportLocation( - presence.ControllingClient, regionName, position, - lookat, (uint)TPFlags.ViaLocation), - null, "OSSL_Api.TeleportAgentByRegionCoords"); - - ScriptSleep(5000); - - // } - + // should be faster than going to threadpool + World.RequestTeleportLocation(presence.ControllingClient, regionName, position, + lookat, (uint)TPFlags.ViaLocation); + ScriptSleep(500); + } + else + { + // We will launch the teleport on a new thread so that when the script threads are terminated + // before teleport in ScriptInstance.GetXMLState(), we don't end up aborting the one doing the teleporting. + Util.FireAndForget( + o => World.RequestTeleportLocation( + presence.ControllingClient, regionName, position, + lookat, (uint)TPFlags.ViaLocation), + null, "OSSL_Api.TeleportAgentByRegionCoords"); + ScriptSleep(5000); } } } @@ -913,41 +912,38 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ulong regionHandle = Util.RegionGridLocToHandle((uint)regionGridX, (uint)regionGridY); m_host.AddScriptLPS(1); - UUID agentId = new UUID(); + UUID agentId; if (UUID.TryParse(agent, out agentId)) { ScenePresence presence = World.GetScenePresence(agentId); - if (presence != null) - { - // For osTeleportAgent, agent must be over owners land to avoid abuse - // For osTeleportOwner, this restriction isn't necessary + if (presence == null || presence.IsDeleted || presence.IsInTransit) + return; - // commented out because its redundant and uneeded please remove eventually. - // if (relaxRestrictions || - // m_host.OwnerID - // == World.LandChannel.GetLandObject( - // presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) - // { + Util.FireAndForget( + o => World.RequestTeleportLocation( + presence.ControllingClient, regionHandle, + position, lookat, (uint)TPFlags.ViaLocation), + null, "OSSL_Api.TeleportAgentByRegionName"); - // We will launch the teleport on a new thread so that when the script threads are terminated - // before teleport in ScriptInstance.GetXMLState(), we don't end up aborting the one doing the teleporting. - Util.FireAndForget( - o => World.RequestTeleportLocation( - presence.ControllingClient, regionHandle, - position, lookat, (uint)TPFlags.ViaLocation), - null, "OSSL_Api.TeleportAgentByRegionName"); - - ScriptSleep(5000); - - // } - - } + ScriptSleep(5000); } } public void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { - osTeleportAgent(agent, World.RegionInfo.RegionName, position, lookat); + m_host.AddScriptLPS(1); + + UUID agentId; + if (UUID.TryParse(agent, out agentId)) + { + ScenePresence presence = World.GetScenePresence(agentId); + if (presence == null || presence.IsDeleted || presence.IsInTransit) + return; + + World.RequestTeleportLocation(presence.ControllingClient, World.RegionInfo.RegionName, position, + lookat, (uint)TPFlags.ViaLocation); + ScriptSleep(500); + } } public void osTeleportOwner(string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) @@ -955,12 +951,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Threat level None because this is what can already be done with the World Map in the viewer CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); - TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat, true); + TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat); } public void osTeleportOwner(LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { - osTeleportOwner(World.RegionInfo.RegionName, position, lookat); + osTeleportAgent(m_host.OwnerID.ToString(), position, lookat); } public void osTeleportOwner(int regionGridX, int regionGridY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) From 0c5f412ed40663689aad2aadf9313e0dd782f4ac Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 02:49:20 +0100 Subject: [PATCH 29/84] put back restriction that on osTeleport the target must be on land owned by the script owner or this is a estate manager/owner, or target did gave script permission. --- .../Shared/Api/Implementation/OSSL_Api.cs | 93 ++++++++++++++++--- 1 file changed, 78 insertions(+), 15 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 5339fc3bf2..ce48e63688 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -852,6 +852,43 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.ParentGroup.RootPart.SetFloatOnWater(floatYN); } + private bool checkAllowAgentTPbyLandOwner(UUID agentId, Vector3 pos) + { + if (m_item.PermsGranter == agentId) + { + if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TELEPORT) != 0) + return true; + } + + ILandObject land = World.LandChannel.GetLandObject(pos); + if(land == null) + return true; + + LandData landdata = land.LandData; + if(landdata == null) + return true; + + UUID hostOwner = m_host.OwnerID; + + if(landdata.OwnerID == hostOwner) + return true; + + if(World.RegionInfo.EstateSettings != null && World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(hostOwner)) + return true; + + if(!landdata.IsGroupOwned) + return false; + + UUID landGroup = landdata.GroupID; + if(landGroup == UUID.Zero) + return false; + + if(landGroup == m_host.GroupID) + return true; + + return false; + } + // Teleport functions public void osTeleportAgent(string agent, string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { @@ -859,15 +896,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.Severe, "osTeleportAgent"); - TeleportAgent(agent, regionName, position, lookat); + TeleportAgent(agent, regionName, position, lookat, true); } private void TeleportAgent(string agent, string regionName, - LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) + LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool isNotOwner) { m_host.AddScriptLPS(1); - if(String.IsNullOrWhiteSpace(regionName)) - return; + if(String.IsNullOrEmpty(regionName)) + regionName = World.RegionInfo.RegionName; UUID agentId; if (UUID.TryParse(agent, out agentId)) @@ -876,6 +913,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence == null || presence.IsDeleted || presence.IsInTransit) return; + Vector3 pos = presence.AbsolutePosition; + if(isNotOwner && !checkAllowAgentTPbyLandOwner(agentId, pos)) + { + ScriptSleep(500); + return; + } + if(regionName == World.RegionInfo.RegionName) { // should be faster than going to threadpool @@ -903,15 +947,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.Severe, "osTeleportAgent"); - TeleportAgent(agent, regionGridX, regionGridY, position, lookat, false); + TeleportAgent(agent, regionGridX, regionGridY, position, lookat, true); } private void TeleportAgent(string agent, int regionGridX, int regionGridY, - LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions) + LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool isNotOwner) { + m_host.AddScriptLPS(1); + ulong regionHandle = Util.RegionGridLocToHandle((uint)regionGridX, (uint)regionGridY); - m_host.AddScriptLPS(1); UUID agentId; if (UUID.TryParse(agent, out agentId)) { @@ -919,6 +964,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence == null || presence.IsDeleted || presence.IsInTransit) return; + Vector3 pos = presence.AbsolutePosition; + if(isNotOwner && !checkAllowAgentTPbyLandOwner(agentId, pos)) + { + ScriptSleep(500); + return; + } + Util.FireAndForget( o => World.RequestTeleportLocation( presence.ControllingClient, regionHandle, @@ -931,8 +983,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { - m_host.AddScriptLPS(1); + TeleportAgent(agent, position, lookat, true); + } + private void TeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool isNotOwner) + { + m_host.AddScriptLPS(1); UUID agentId; if (UUID.TryParse(agent, out agentId)) { @@ -940,6 +996,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence == null || presence.IsDeleted || presence.IsInTransit) return; + Vector3 pos = presence.AbsolutePosition; + if(isNotOwner && !checkAllowAgentTPbyLandOwner(agentId, pos)) + { + ScriptSleep(500); + return; + } + World.RequestTeleportLocation(presence.ControllingClient, World.RegionInfo.RegionName, position, lookat, (uint)TPFlags.ViaLocation); ScriptSleep(500); @@ -951,19 +1014,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Threat level None because this is what can already be done with the World Map in the viewer CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); - TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat); - } - - public void osTeleportOwner(LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) - { - osTeleportAgent(m_host.OwnerID.ToString(), position, lookat); + TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat, false); } public void osTeleportOwner(int regionGridX, int regionGridY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); - TeleportAgent(m_host.OwnerID.ToString(), regionGridX, regionGridY, position, lookat, true); + TeleportAgent(m_host.OwnerID.ToString(), regionGridX, regionGridY, position, lookat, false); + } + + public void osTeleportOwner(LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) + { + TeleportAgent(m_host.OwnerID.ToString(), position, lookat, false); } /// From e075cf44614dde1b4fcf4c3f539b1d3eba049f5d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 09:08:23 +0100 Subject: [PATCH 30/84] fix bad english --- OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 751aacaf61..8fae1d57bf 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -177,7 +177,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver else if(totalerrors == 0) m_log.DebugFormat("[ARCHIVER]: Successfully added all {0} assets", m_foundAssetUuids.Count); else - m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} of total possible assets requested where not found, where damaged or where not assets", + m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} of total possible assets requested were not found, were damaged or were not assets", m_foundAssetUuids.Count, totalerrors); PerformAssetsRequestCallback(m_timeout); From ef74efeaa7214e208739e1e71bcbc98426ec8764 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 09:18:31 +0100 Subject: [PATCH 31/84] and add a missing bracket :) --- OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 8fae1d57bf..91f4dc354f 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -177,7 +177,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver else if(totalerrors == 0) m_log.DebugFormat("[ARCHIVER]: Successfully added all {0} assets", m_foundAssetUuids.Count); else - m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} of total possible assets requested were not found, were damaged or were not assets", + m_log.DebugFormat("[ARCHIVER]: Successfully added {0} assets ({1} of total possible assets requested were not found, were damaged or were not assets)", m_foundAssetUuids.Count, totalerrors); PerformAssetsRequestCallback(m_timeout); From cbd0af3cab4c12aab0e149802d2b62aa35bd561b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 18:26:45 +0100 Subject: [PATCH 32/84] let osTeleport* always work on script prim owner --- .../Shared/Api/Implementation/OSSL_Api.cs | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index ce48e63688..d665f69dfc 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -854,6 +854,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private bool checkAllowAgentTPbyLandOwner(UUID agentId, Vector3 pos) { + UUID hostOwner = m_host.OwnerID; + + if(hostOwner == agentId) + return true; + if (m_item.PermsGranter == agentId) { if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TELEPORT) != 0) @@ -868,8 +873,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if(landdata == null) return true; - UUID hostOwner = m_host.OwnerID; - if(landdata.OwnerID == hostOwner) return true; @@ -896,11 +899,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.Severe, "osTeleportAgent"); - TeleportAgent(agent, regionName, position, lookat, true); + TeleportAgent(agent, regionName, position, lookat); } private void TeleportAgent(string agent, string regionName, - LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool isNotOwner) + LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { m_host.AddScriptLPS(1); if(String.IsNullOrEmpty(regionName)) @@ -914,7 +917,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return; Vector3 pos = presence.AbsolutePosition; - if(isNotOwner && !checkAllowAgentTPbyLandOwner(agentId, pos)) + if(!checkAllowAgentTPbyLandOwner(agentId, pos)) { ScriptSleep(500); return; @@ -947,11 +950,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.Severe, "osTeleportAgent"); - TeleportAgent(agent, regionGridX, regionGridY, position, lookat, true); + TeleportAgent(agent, regionGridX, regionGridY, position, lookat); } private void TeleportAgent(string agent, int regionGridX, int regionGridY, - LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool isNotOwner) + LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { m_host.AddScriptLPS(1); @@ -965,7 +968,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return; Vector3 pos = presence.AbsolutePosition; - if(isNotOwner && !checkAllowAgentTPbyLandOwner(agentId, pos)) + if(!checkAllowAgentTPbyLandOwner(agentId, pos)) { ScriptSleep(500); return; @@ -982,11 +985,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } public void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) - { - TeleportAgent(agent, position, lookat, true); - } - - private void TeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool isNotOwner) { m_host.AddScriptLPS(1); UUID agentId; @@ -997,7 +995,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return; Vector3 pos = presence.AbsolutePosition; - if(isNotOwner && !checkAllowAgentTPbyLandOwner(agentId, pos)) + if(!checkAllowAgentTPbyLandOwner(agentId, pos)) { ScriptSleep(500); return; @@ -1014,19 +1012,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Threat level None because this is what can already be done with the World Map in the viewer CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); - TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat, false); + TeleportAgent(m_host.OwnerID.ToString(), regionName, position, lookat); } public void osTeleportOwner(int regionGridX, int regionGridY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); - TeleportAgent(m_host.OwnerID.ToString(), regionGridX, regionGridY, position, lookat, false); + TeleportAgent(m_host.OwnerID.ToString(), regionGridX, regionGridY, position, lookat); } public void osTeleportOwner(LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { - TeleportAgent(m_host.OwnerID.ToString(), position, lookat, false); + osTeleportAgent(m_host.OwnerID.ToString(), position, lookat); } /// From f660aa37ac7c8b935c2f317c2d4a1907c0ab9ed2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 19:40:20 +0100 Subject: [PATCH 33/84] add similar restrictions to osObjectTeleport :( --- .../Shared/Api/Implementation/OSSL_Api.cs | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index d665f69dfc..1a88529d33 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -876,7 +876,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if(landdata.OwnerID == hostOwner) return true; - if(World.RegionInfo.EstateSettings != null && World.RegionInfo.EstateSettings.IsEstateManagerOrOwner(hostOwner)) + EstateSettings es = World.RegionInfo.EstateSettings; + if(es != null && es.IsEstateManagerOrOwner(hostOwner)) return true; if(!landdata.IsGroupOwned) @@ -4756,6 +4757,37 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api sog.SetInertiaData(-1, Vector3.Zero, Vector3.Zero, Vector4.Zero ); } + private bool checkAllowObjectTPbyLandOwner(Vector3 pos) + { + ILandObject land = World.LandChannel.GetLandObject(pos); + if(land == null) + return true; + + LandData landdata = land.LandData; + if(landdata == null) + return true; + + UUID hostOwner = m_host.OwnerID; + if(landdata.OwnerID == hostOwner) + return true; + + EstateSettings es = World.RegionInfo.EstateSettings; + if(es != null && es.IsEstateManagerOrOwner(hostOwner)) + return true; + + if(!landdata.IsGroupOwned) + return false; + + UUID landGroup = landdata.GroupID; + if(landGroup == UUID.Zero) + return false; + + if(landGroup == m_host.GroupID) + return true; + + return false; + } + /// /// teleports a object (full linkset) /// @@ -4785,9 +4817,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } SceneObjectGroup sog = World.GetSceneObjectGroup(objUUID); - if(sog== null || sog.IsDeleted) + if(sog== null || sog.IsDeleted || sog.inTransit) return -1; + if(sog.OwnerID != m_host.OwnerID) + { + Vector3 pos = sog.AbsolutePosition; + if(!checkAllowObjectTPbyLandOwner(pos)) + return -1; + } + UUID myid = m_host.ParentGroup.UUID; return sog.TeleportObject(myid, targetPos, rotation, flags); From 9ea6580c37840e5da7453d1a6108fb81883c8dbc Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:05:11 +0100 Subject: [PATCH 34/84] update osslEnable.ini. functions that have no level check are still listed but commented, just to be more visible --- bin/config-include/osslEnable.ini | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 648182503f..815a644e9a 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -69,7 +69,11 @@ ; some ThreadLevel None functions no longer do level check. listed comment just to be visible ; ThreatLevel None -; Allow_osDrawEllipse = true ; no level check + +; Allow_osClearInertia() = true ; no level check +; Allow_osCheckODE = true ; no level check +; Allow_osCollisionSound = true ; no level check +; Allow_osDrawEllipse = true ; no level check ; Allow_osDrawFilledEllipse = true ; no level check ; Allow_osDrawFilledPolygon = true ; no level check ; Allow_osDrawFilledRectangle = true ; no level check @@ -85,10 +89,13 @@ Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetCurrentSunHour = true +; Allow_osGetPhysicsEngineName = true ; no level check Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true +; Allow_osGetInertiaData = true ; no level check Allow_osGetInventoryDesc = true +; Allow_osGetLinkNumber = true ; no level check Allow_osGetMapTexture = true Allow_osGetRegionSize = true Allow_osGetRezzingObject = true @@ -103,6 +110,11 @@ Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true Allow_osParseJSONNew = true +; Allow_osSetInertia = true ; no level check +; Allow_osSetInertiaAsBox = true ; no level check +; Allow_osSetInertiaAsSphere = true ; no level check +; Allow_osSetInertiaAsCylinder = true ; no level check + ; Allow_osSetFontName = true ; no level check ; Allow_osSetFontSize = true ; no level check ; Allow_osSetPenCap = true ; no level check @@ -111,7 +123,7 @@ Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true - Allow_osCheckODE = true ; Here for completeness. This function cannot be turned off +; Allow_osVolumeDetect = true ; no level check ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER @@ -126,6 +138,7 @@ Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osReplaceString = true Allow_osSetDynamicTextureData = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER + Allow_osSetDynamicTextureDataFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlend = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureDataBlendFace = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetDynamicTextureURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER From 3fda7c6315a0f6ae07adb8d7a1bac378ef8a31ff Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:23:24 +0100 Subject: [PATCH 35/84] take a few more out of level check --- bin/config-include/osslEnable.ini | 61 +++++++++++++++---------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 815a644e9a..1d7f25b7cf 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -70,42 +70,42 @@ ; ThreatLevel None -; Allow_osClearInertia() = true ; no level check -; Allow_osCheckODE = true ; no level check -; Allow_osCollisionSound = true ; no level check -; Allow_osDrawEllipse = true ; no level check -; Allow_osDrawFilledEllipse = true ; no level check -; Allow_osDrawFilledPolygon = true ; no level check -; Allow_osDrawFilledRectangle = true ; no level check -; Allow_osDrawResetTransform = true ; no level check -; Allow_osDrawRotationTransform = true ; no level check -; Allow_osDrawScaleTransform = true ; no level check -; Allow_osDrawTranslationTransform = true ; no level check -; Allow_osDrawImage = true ; no level check -; Allow_osDrawLine = true ; no level check -; Allow_osDrawPolygon = true ; no level check -; Allow_osDrawRectangle = true ; no level check -; Allow_osDrawText = true ; no level check +; Allow_osClearInertia() = true ; no level check +; Allow_osCheckODE = true ; no level check +; Allow_osCollisionSound = true ; no level check +; Allow_osDrawEllipse = true ; no level check +; Allow_osDrawFilledEllipse = true ; no level check +; Allow_osDrawFilledPolygon = true ; no level check +; Allow_osDrawFilledRectangle = true ; no level check +; Allow_osDrawResetTransform = true ; no level check +; Allow_osDrawRotationTransform = true ; no level check +; Allow_osDrawScaleTransform = true ; no level check +; Allow_osDrawTranslationTransform = true ; no level check +; Allow_osDrawImage = true ; no level check +; Allow_osDrawLine = true ; no level check +; Allow_osDrawPolygon = true ; no level check +; Allow_osDrawRectangle = true ; no level check +; Allow_osDrawText = true ; no level check Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetCurrentSunHour = true -; Allow_osGetPhysicsEngineName = true ; no level check +; Allow_osGetCurrentSunHour = true ; no level check +; Allow_osGetPhysicsEngineName = true ; no level check Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true -; Allow_osGetInertiaData = true ; no level check - Allow_osGetInventoryDesc = true -; Allow_osGetLinkNumber = true ; no level check - Allow_osGetMapTexture = true - Allow_osGetRegionSize = true +; Allow_osGetInertiaData = true ; no level check +; Allow_osGetInventoryDesc = true ; no level check +; Allow_osGetLinkNumber = true ; no level check +; Allow_osGetMapTexture = true ; no level check +; Allow_osGetRegionSize = true ; no level check Allow_osGetRezzingObject = true - Allow_osGetSunParam = true - Allow_osGetTerrainHeight = true - Allow_osIsNpc = true - Allow_osIsUUID = true - Allow_osList2Double = true - Allow_osMax = true - Allow_osMin = true +; Allow_osGetSunParam = true ; no level check +; Allow_osGetTerrainHeight = true ; no level check +; Allow_osIsNpc = true ; no level check +; Allow_osIsUUID = true ; no level check +; Allow_osList2Double = true ; no level check +; Allow_osMax = true ; no level check +; Allow_osMin = true ; no level check ; Allow_osMovePen = true ; no level check Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true @@ -114,7 +114,6 @@ ; Allow_osSetInertiaAsBox = true ; no level check ; Allow_osSetInertiaAsSphere = true ; no level check ; Allow_osSetInertiaAsCylinder = true ; no level check - ; Allow_osSetFontName = true ; no level check ; Allow_osSetFontSize = true ; no level check ; Allow_osSetPenCap = true ; no level check From b59ce7c96889d72ddad6babb75cf7b68c885e26c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:28:16 +0100 Subject: [PATCH 36/84] also on the actual source file --- .../Shared/Api/Implementation/OSSL_Api.cs | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 1a88529d33..823a4e5564 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -517,13 +517,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Float osGetTerrainHeight(int x, int y) { - CheckThreatLevel(ThreatLevel.None, "osGetTerrainHeight"); + CheckThreatLevel(); return GetTerrainHeight(x, y); } public LSL_Float osTerrainGetHeight(int x, int y) { - CheckThreatLevel(ThreatLevel.None, "osTerrainGetHeight"); + CheckThreatLevel(); OSSLDeprecated("osTerrainGetHeight", "osGetTerrainHeight"); return GetTerrainHeight(x, y); } @@ -1518,7 +1518,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// public double osGetCurrentSunHour() { - CheckThreatLevel(ThreatLevel.None, "osGetCurrentSunHour"); + CheckThreatLevel(); m_host.AddScriptLPS(1); @@ -1544,7 +1544,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public double osGetSunParam(string param) { - CheckThreatLevel(ThreatLevel.None, "osGetSunParam"); + CheckThreatLevel(); return GetSunParam(param); } @@ -1743,7 +1743,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // is not allowed to contain any. // This really should be removed. // - CheckThreatLevel(ThreatLevel.None, "osList2Double"); + CheckThreatLevel(); m_host.AddScriptLPS(1); if (index < 0) @@ -2818,7 +2818,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osIsNpc(LSL_Key npc) { - CheckThreatLevel(ThreatLevel.None, "osIsNpc"); + CheckThreatLevel(); m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); @@ -3539,7 +3539,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// public LSL_Key osGetMapTexture() { - CheckThreatLevel(ThreatLevel.None, "osGetMapTexture"); +// CheckThreatLevel(ThreatLevel.None, "osGetMapTexture"); + CheckThreatLevel(); m_host.AddScriptLPS(1); return m_ScriptEngine.World.RegionInfo.RegionSettings.TerrainImageID.ToString(); @@ -3597,7 +3598,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector osGetRegionSize() { - CheckThreatLevel(ThreatLevel.None, "osGetRegionSize"); + CheckThreatLevel(); m_host.AddScriptLPS(1); Scene scene = m_ScriptEngine.World; @@ -3859,6 +3860,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// Item description public LSL_String osGetInventoryDesc(string item) { + CheckThreatLevel(); m_host.AddScriptLPS(1); lock (m_host.TaskInventory) @@ -4239,7 +4241,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// 1 if thing is a valid UUID, 0 otherwise public LSL_Integer osIsUUID(string thing) { - CheckThreatLevel(ThreatLevel.None, "osIsUUID"); + CheckThreatLevel(); m_host.AddScriptLPS(1); UUID test; @@ -4254,7 +4256,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// public LSL_Float osMin(double a, double b) { - CheckThreatLevel(ThreatLevel.None, "osMin"); + CheckThreatLevel(); m_host.AddScriptLPS(1); return Math.Min(a, b); @@ -4268,7 +4270,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// public LSL_Float osMax(double a, double b) { - CheckThreatLevel(ThreatLevel.None, "osMax"); + CheckThreatLevel(); m_host.AddScriptLPS(1); return Math.Max(a, b); From e53f4399812224939e4ebec6790a9addb38cca95 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:42:49 +0100 Subject: [PATCH 37/84] add osGetNPCList() --- .../Shared/Api/Implementation/OSSL_Api.cs | 19 +++++++++++++++++++ .../Shared/Api/Interface/IOSSL_Api.cs | 1 + .../Shared/Api/Runtime/OSSL_Stub.cs | 5 +++++ bin/config-include/osslEnable.ini | 1 + 4 files changed, 26 insertions(+) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 823a4e5564..fa7ee21143 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3835,6 +3835,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return result; } + public LSL_List osGetNPCList() + { + CheckThreatLevel(ThreatLevel.None, "osGetNPCList"); + m_host.AddScriptLPS(1); + + LSL_List result = new LSL_List(); + World.ForEachRootScenePresence(delegate (ScenePresence avatar) + { + if (avatar != null && avatar.IsNPC) + { + result.Add(new LSL_String(avatar.UUID.ToString())); + result.Add(new LSL_Vector(avatar.AbsolutePosition)); + result.Add(new LSL_String(avatar.Name)); + } + }); + + return result; + } + /// /// Convert a unix time to a llGetTimestamp() like string /// diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index f7857da7a8..6e6a0be81d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -395,6 +395,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces void osSetProjectionParams(LSL_Key prim, bool projection, LSL_Key texture, double fov, double focus, double amb); LSL_List osGetAvatarList(); + LSL_List osGetNPCList(); LSL_String osUnixTimeToTimestamp(long time); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index d6af32b4b9..43113b8d17 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -1041,6 +1041,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osGetAvatarList(); } + public LSL_List osGetNPCList() + { + return m_OSSL_Functions.osGetNPCList(); + } + public LSL_String osUnixTimeToTimestamp(long time) { return m_OSSL_Functions.osUnixTimeToTimestamp(time); diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 1d7f25b7cf..99c5ffff32 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -97,6 +97,7 @@ ; Allow_osGetInventoryDesc = true ; no level check ; Allow_osGetLinkNumber = true ; no level check ; Allow_osGetMapTexture = true ; no level check + Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; Allow_osGetRegionSize = true ; no level check Allow_osGetRezzingObject = true ; Allow_osGetSunParam = true ; no level check From b319977a3f114442a0b8c93349f7d654745dc386 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:51:16 +0100 Subject: [PATCH 38/84] dont list deleted ones, that still don't know they are gone --- .../Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index fa7ee21143..ef511aa8ae 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3843,7 +3843,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api LSL_List result = new LSL_List(); World.ForEachRootScenePresence(delegate (ScenePresence avatar) { - if (avatar != null && avatar.IsNPC) + // npcs are not childagents but that is now. + if (avatar != null && avatar.IsNPC && !avatar.IsDeleted && !avatar.IsChildAgent) { result.Add(new LSL_String(avatar.UUID.ToString())); result.Add(new LSL_Vector(avatar.AbsolutePosition)); From 5242853d684e2fbe81a28401809a19e3d57e1e51 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 26 Jun 2017 20:55:44 +0100 Subject: [PATCH 39/84] dont list deleted ones, that still don't know they are gone --- .../Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index ef511aa8ae..f41f011594 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3824,7 +3824,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api LSL_List result = new LSL_List(); World.ForEachRootScenePresence(delegate (ScenePresence avatar) { - if (avatar != null && avatar.UUID != m_host.OwnerID) + if (avatar != null && !avatar.IsDeleted && avatar.UUID != m_host.OwnerID ) { result.Add(new LSL_String(avatar.UUID.ToString())); result.Add(new LSL_Vector(avatar.AbsolutePosition)); @@ -3844,7 +3844,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api World.ForEachRootScenePresence(delegate (ScenePresence avatar) { // npcs are not childagents but that is now. - if (avatar != null && avatar.IsNPC && !avatar.IsDeleted && !avatar.IsChildAgent) + if (avatar != null && avatar.IsNPC && !avatar.IsDeleted && !avatar.IsChildAgent && !avatar.IsInTransit) { result.Add(new LSL_String(avatar.UUID.ToString())); result.Add(new LSL_Vector(avatar.AbsolutePosition)); From 936aee412d67edc0e143ab13213c5ee1cb1c2a0e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 27 Jun 2017 01:41:06 +0100 Subject: [PATCH 40/84] remove osGetAgentIP() this was not a good idea to have :( --- .../Shared/Api/Implementation/OSSL_Api.cs | 26 +------------------ .../Shared/Api/Interface/IOSSL_Api.cs | 1 - .../Shared/Api/Runtime/OSSL_Stub.cs | 7 +---- 3 files changed, 2 insertions(+), 32 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index f41f011594..a1fd7cd11b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1080,31 +1080,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api targetID, part.SitTargetPosition); } - - // Functions that get information from the agent itself. - // - // osGetAgentIP - this is used to determine the IP address of - //the client. This is needed to help configure other in world - //resources based on the IP address of the clients connected. - //I think High is a good risk level for this, as it is an - //information leak. - public string osGetAgentIP(string agent) - { - CheckThreatLevel(ThreatLevel.High, "osGetAgentIP"); - - UUID avatarID = (UUID)agent; - - m_host.AddScriptLPS(1); - if (World.Entities.ContainsKey((UUID)agent) && World.Entities[avatarID] is ScenePresence) - { - ScenePresence target = (ScenePresence)World.Entities[avatarID]; - return target.ControllingClient.RemoteEndPoint.Address.ToString(); - } - - // fall through case, just return nothing - return ""; - } - + // Get a list of all the avatars/agents in the region public LSL_List osGetAgents() { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 6e6a0be81d..6be3c3f500 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -144,7 +144,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces void osSetParcelSIPAddress(string SIPAddress); // Avatar Info Commands - string osGetAgentIP(string agent); LSL_List osGetAgents(); // Teleport commands diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 43113b8d17..f5d2a3ab3f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -277,12 +277,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase m_OSSL_Functions.osTeleportOwner(position, lookat); } - // Avatar info functions - public string osGetAgentIP(string agent) - { - return m_OSSL_Functions.osGetAgentIP(agent); - } - public LSL_List osGetAgents() { return m_OSSL_Functions.osGetAgents(); @@ -430,6 +424,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase { return m_OSSL_Functions.osSetPenColor(drawList, color); } + // Deprecated public string osSetPenColour(string drawList, string colour) { From b0a0163253e14514289578d31e83ce0afe9b91a3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 28 Jun 2017 01:29:49 +0100 Subject: [PATCH 41/84] BUG FIX: change lludp hovertext utf-8 cut point. Thx djphil --- OpenSim/Framework/Util.cs | 6 +++--- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 5 ++--- OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 7 ++++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index af149393e1..ed2445270f 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -2221,9 +2221,9 @@ namespace OpenSim.Framework // might have gotten an oversized array even after the string trim byte[] data = UTF8.GetBytes(str); - if (data.Length > 256) + if (data.Length > 255) //play safe { - int cut = 255; + int cut = 254; if((data[cut] & 0x80 ) != 0 ) { while(cut > 0 && (data[cut] & 0xc0) != 0xc0) @@ -2325,7 +2325,7 @@ namespace OpenSim.Framework if (data.Length > MaxLength) { - int cut = MaxLength -1 ; + int cut = MaxLength - 1 ; if((data[cut] & 0x80 ) != 0 ) { while(cut > 0 && (data[cut] & 0xc0) != 0xc0) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 01c1fb90bd..b3e68ec282 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -5753,7 +5753,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP //update.JointPivot = Vector3.Zero; //update.JointType = 0; update.Material = part.Material; - update.MediaURL = Utils.EmptyBytes; // FIXME: Support this in OpenSim /* if (data.ParentGroup.IsAttachment) { @@ -5832,8 +5831,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP update.TextureAnim = part.TextureAnimation ?? Utils.EmptyBytes; update.TextureEntry = part.Shape.TextureEntry ?? Utils.EmptyBytes; update.Scale = part.Shape.Scale; - update.Text = Util.StringToBytes256(part.Text); - update.MediaURL = Util.StringToBytes256(part.MediaUrl); + update.Text = Util.StringToBytes(part.Text, 255); + update.MediaURL = Util.StringToBytes(part.MediaUrl, 255); #region PrimFlags diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index c2eac24784..f9699b1db2 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1103,8 +1103,8 @@ namespace OpenSim.Region.Framework.Scenes { get { - if (m_text.Length > 255) - return m_text.Substring(0, 254); + if (m_text.Length > 256) // yes > 254 + return m_text.Substring(0, 256); return m_text; } set { m_text = value; } @@ -1379,7 +1379,8 @@ namespace OpenSim.Region.Framework.Scenes public UUID LastOwnerID { get { return _lastOwnerID; } - set { _lastOwnerID = value; } + set { + _lastOwnerID = value; } } public UUID RezzerID From e243dd05193a1edcb16f52b2514c41de70ff8006 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 28 Jun 2017 02:19:27 +0100 Subject: [PATCH 42/84] put back getAgentIP bug restricted, script owner must be a Administrator (god) --- .../Shared/Api/Implementation/OSSL_Api.cs | 18 ++++++++++++++++++ .../Shared/Api/Interface/IOSSL_Api.cs | 1 + .../Shared/Api/Runtime/OSSL_Stub.cs | 5 +++++ bin/config-include/osslEnable.ini | 2 +- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index a1fd7cd11b..b84065fe43 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1097,6 +1097,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return result; } + public string osGetAgentIP(string agent) + { + CheckThreatLevel(); // user god is the restriction + if(!(World.Permissions.IsGod(m_host.OwnerID))) + return ""; + + UUID avatarID = (UUID)agent; + + m_host.AddScriptLPS(1); + if (World.Entities.ContainsKey((UUID)agent) && World.Entities[avatarID] is ScenePresence) + { + ScenePresence target = (ScenePresence)World.Entities[avatarID]; + return target.ControllingClient.RemoteEndPoint.Address.ToString(); + } + + // fall through case, just return nothing + return ""; + } // Adam's super super custom animation functions public void osAvatarPlayAnimation(string avatar, string animation) { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 6be3c3f500..8f863afe45 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -145,6 +145,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces // Avatar Info Commands LSL_List osGetAgents(); + string osGetAgentIP(string agent); // Teleport commands void osTeleportAgent(string agent, string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index f5d2a3ab3f..42e7bfba84 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -282,6 +282,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osGetAgents(); } + public string osGetAgentIP(string agent) + { + return m_OSSL_Functions.osGetAgentIP(agent); + } + // Animation Functions public void osAvatarPlayAnimation(string avatar, string animation) diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 99c5ffff32..1d03f83feb 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -86,6 +86,7 @@ ; Allow_osDrawPolygon = true ; no level check ; Allow_osDrawRectangle = true ; no level check ; Allow_osDrawText = true ; no level check +; Allow_osGetAgentIP = ---- ;restricted to Administrators (GOD) Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER ; Allow_osGetCurrentSunHour = true ; no level check @@ -191,7 +192,6 @@ Allow_osForceCreateLink = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetAgentIP = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetPhysicsEngineType = true Allow_osGetPrimitiveParams = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER From 6bac44e767819b6aa82d0ed503c5bcc7f72b9883 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 29 Jun 2017 00:42:35 +0100 Subject: [PATCH 43/84] bug fix --- .../ClientStack/Linden/UDP/LLClientView.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index b3e68ec282..53c185b03a 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -5526,6 +5526,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP #endregion #region Helper Methods + private void ClampVectorForUint(ref Vector3 v, float max) + { + float a,b; + + a = Math.Abs(v.X); + b = Math.Abs(v.Y); + if(b > a) + a = b; + b= Math.Abs(v.Z); + if(b > a) + a = b; + + if (a > max) + { + a = max / a; + v.X *= a; + v.Y *= a; + v.Z *= a; + } + } protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedTerseBlock(ISceneEntity entity, bool sendTexture) { @@ -5616,11 +5636,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP pos += 12; // Velocity + ClampVectorForUint(ref velocity, 128f); Utils.UInt16ToBytes(Utils.FloatToUInt16(velocity.X, -128.0f, 128.0f), data, pos); pos += 2; Utils.UInt16ToBytes(Utils.FloatToUInt16(velocity.Y, -128.0f, 128.0f), data, pos); pos += 2; Utils.UInt16ToBytes(Utils.FloatToUInt16(velocity.Z, -128.0f, 128.0f), data, pos); pos += 2; // Acceleration + ClampVectorForUint(ref acceleration, 64f); Utils.UInt16ToBytes(Utils.FloatToUInt16(acceleration.X, -64.0f, 64.0f), data, pos); pos += 2; Utils.UInt16ToBytes(Utils.FloatToUInt16(acceleration.Y, -64.0f, 64.0f), data, pos); pos += 2; Utils.UInt16ToBytes(Utils.FloatToUInt16(acceleration.Z, -64.0f, 64.0f), data, pos); pos += 2; @@ -5632,6 +5654,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP Utils.UInt16ToBytes(Utils.FloatToUInt16(rotation.W, -1.0f, 1.0f), data, pos); pos += 2; // Angular Velocity + ClampVectorForUint(ref angularVelocity, 64f); Utils.UInt16ToBytes(Utils.FloatToUInt16(angularVelocity.X, -64.0f, 64.0f), data, pos); pos += 2; Utils.UInt16ToBytes(Utils.FloatToUInt16(angularVelocity.Y, -64.0f, 64.0f), data, pos); pos += 2; Utils.UInt16ToBytes(Utils.FloatToUInt16(angularVelocity.Z, -64.0f, 64.0f), data, pos); pos += 2; From 190874344b21a77037bc04114eb3347b944af55f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 29 Jun 2017 21:14:20 +0100 Subject: [PATCH 44/84] ScriptsHttpReq does not need a permanent thread --- .../CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs index 57dc556bfc..f5b575bec3 100644 --- a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs +++ b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs @@ -379,9 +379,9 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest if (ThreadPool == null) { STPStartInfo startInfo = new STPStartInfo(); - startInfo.IdleTimeout = 20000; + startInfo.IdleTimeout = 2000; startInfo.MaxWorkerThreads = maxThreads; - startInfo.MinWorkerThreads = 1; + startInfo.MinWorkerThreads = 0; startInfo.ThreadPriority = ThreadPriority.BelowNormal; startInfo.StartSuspended = true; startInfo.ThreadPoolName = "ScriptsHttpReq"; From cb2607d4fa68e2c7721a0272e503bb07b4109524 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 29 Jun 2017 21:17:41 +0100 Subject: [PATCH 45/84] fix scripts xmlrpc threads names --- OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs index f68c5f8e27..6028eefd37 100644 --- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs @@ -658,7 +658,7 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC public void Process() { _finished = false; - httpThread = WorkManager.StartThread(SendRequest, "HttpRequestThread", ThreadPriority.BelowNormal, true, false, null, int.MaxValue); + httpThread = WorkManager.StartThread(SendRequest, "XMLRPCreqThread", ThreadPriority.BelowNormal, true, false, null, int.MaxValue); } /* From aa4eb2bc147fc0ce8c5e5c9afa2d792ac17073c2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Jun 2017 00:30:46 +0100 Subject: [PATCH 46/84] update ode.dll (windoes only. need bins for others :( ) --- bin/lib32/ode.dll | Bin 541696 -> 541184 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index ddffcb35619316ec6d448a64304c848438cbefeb..5636903c482dd3b6431f0605effaa68ab434dabb 100755 GIT binary patch delta 49562 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 Srj?$REzKI27Auz8nEwMVaMa@f diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index 0d6edbee132904a4ed46b0140667b4bd32a79510..fdc0dddee55451d24ae5601e23714a99f7a30f57 100755 GIT binary patch delta 94506 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�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 mAMvz|eph-rJ Date: Fri, 30 Jun 2017 22:04:56 +0100 Subject: [PATCH 47/84] put osGetAgentIP() in threat control with level Severe so it can be disabled even for inworld administrators as needed on some grids. rearrage the osslEnable.ini file segregating the funtions only listed for information --- .../Shared/Api/Implementation/OSSL_Api.cs | 16 +-- bin/config-include/osslEnable.ini | 116 +++++++++--------- 2 files changed, 66 insertions(+), 66 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index b84065fe43..11395795e4 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -452,7 +452,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - if (!m_FunctionPerms[function].AllowedCreators.Contains(m_item.CreatorID)) return( String.Format("{0} permission denied. Script creator is not in the list of users allowed to execute this function and prim owner also has no permission.", @@ -1099,8 +1098,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetAgentIP(string agent) { - CheckThreatLevel(); // user god is the restriction - if(!(World.Permissions.IsGod(m_host.OwnerID))) + CheckThreatLevel(ThreatLevel.Severe, "osGetAgentIP"); + if(!(World.Permissions.IsGod(m_host.OwnerID))) // user god always needed return ""; UUID avatarID = (UUID)agent; @@ -1115,6 +1114,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // fall through case, just return nothing return ""; } + // Adam's super super custom animation functions public void osAvatarPlayAnimation(string avatar, string animation) { @@ -1131,13 +1131,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if(!UUID.TryParse(avatar, out avatarID)) return; - if(!World.Entities.ContainsKey(avatarID)) - return; - - ScenePresence target = null; - if ((World.Entities[avatarID] is ScenePresence)) - target = (ScenePresence)World.Entities[avatarID]; - + ScenePresence target = World.GetScenePresence(avatarID); if (target == null) return; @@ -1417,7 +1411,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize) { - CheckThreatLevel(ThreatLevel.VeryLow, "osGetDrawStringSize"); + CheckThreatLevel(); m_host.AddScriptLPS(1); LSL_Vector vec = new LSL_Vector(0,0,0); diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 1d03f83feb..83d9756c91 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -31,7 +31,7 @@ ; higher threat level OSSL functions, as detailed later on. OSFunctionThreatLevel = VeryLow - ; Each of the OSSL functions can be enabled or disabled individually. + ; Some of the OSSL functions can be enabled or disabled individually. ; To disable, set the value to 'false'. ; To enable for everyone, set the value to 'true'. ; To enable for individuals or groups, set it to a comma separated list. This checks @@ -45,12 +45,10 @@ ; "PARCEL_OWNER" -- enable for parcel owner ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group ; uuid -- enable for specified ID (may be avatar or group ID) - - ; The OSSL function name is prepended with "Allow_" and it checks against - ; the owners of the containing prim. There can also be entries beginning with - ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is - ; checked against the creator of the script itself. - + ; from this we can also create macros that can be include in the list as + ; ${XEngine|macroname} see examples below + + ; parcel macros ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if ; a region is selling or otherwise giving away parcel ownership. By default, parcel ; ownership or group membership does not enable OSSL functions. Uncomment the @@ -62,69 +60,32 @@ ; osslParcelO = "PARCEL_OWNER," ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," - ; There are a block of functions for creating and controlling NPCs. + ; NPC macros + ; There are a block of macros to creating and controlling NPCs. ; These can be mis-used so limit use to those you can trust. - osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - -; some ThreadLevel None functions no longer do level check. listed comment just to be visible + osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - ; ThreatLevel None + ; The OSSL function name is prepended with "Allow_" and it checks against + ; the owners of the containing prim. There can also be entries beginning with + ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is + ; checked against the creator of the script itself. -; Allow_osClearInertia() = true ; no level check -; Allow_osCheckODE = true ; no level check -; Allow_osCollisionSound = true ; no level check -; Allow_osDrawEllipse = true ; no level check -; Allow_osDrawFilledEllipse = true ; no level check -; Allow_osDrawFilledPolygon = true ; no level check -; Allow_osDrawFilledRectangle = true ; no level check -; Allow_osDrawResetTransform = true ; no level check -; Allow_osDrawRotationTransform = true ; no level check -; Allow_osDrawScaleTransform = true ; no level check -; Allow_osDrawTranslationTransform = true ; no level check -; Allow_osDrawImage = true ; no level check -; Allow_osDrawLine = true ; no level check -; Allow_osDrawPolygon = true ; no level check -; Allow_osDrawRectangle = true ; no level check -; Allow_osDrawText = true ; no level check -; Allow_osGetAgentIP = ---- ;restricted to Administrators (GOD) +; ************************************************* + + ; ThreatLevel None Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER -; Allow_osGetCurrentSunHour = true ; no level check -; Allow_osGetPhysicsEngineName = true ; no level check Allow_osGetGender = true Allow_osGetHealth = true Allow_osGetHealRate = true -; Allow_osGetInertiaData = true ; no level check -; Allow_osGetInventoryDesc = true ; no level check -; Allow_osGetLinkNumber = true ; no level check -; Allow_osGetMapTexture = true ; no level check Allow_osGetNPCList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER -; Allow_osGetRegionSize = true ; no level check Allow_osGetRezzingObject = true -; Allow_osGetSunParam = true ; no level check -; Allow_osGetTerrainHeight = true ; no level check -; Allow_osIsNpc = true ; no level check -; Allow_osIsUUID = true ; no level check -; Allow_osList2Double = true ; no level check -; Allow_osMax = true ; no level check -; Allow_osMin = true ; no level check -; Allow_osMovePen = true ; no level check Allow_osNpcGetOwner = ${XEngine|osslNPC} Allow_osParseJSON = true Allow_osParseJSONNew = true -; Allow_osSetInertia = true ; no level check -; Allow_osSetInertiaAsBox = true ; no level check -; Allow_osSetInertiaAsSphere = true ; no level check -; Allow_osSetInertiaAsCylinder = true ; no level check -; Allow_osSetFontName = true ; no level check -; Allow_osSetFontSize = true ; no level check -; Allow_osSetPenCap = true ; no level check -; Allow_osSetPenColor = true ; no level check -; Allow_osSetPenSize = true ; no level check Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osWindActiveModelPluginName = true -; Allow_osVolumeDetect = true ; no level check ; ThreatLevel Nuisance Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER @@ -134,7 +95,6 @@ Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER - Allow_osGetDrawStringSize = true Allow_osGetWindParam = true Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER Allow_osReplaceString = true @@ -258,3 +218,49 @@ Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER +; funtions ThreatLevel Severe with aditional internal restrictions + Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) + +; avaiable funtions out of Threat level control (for reference only) +; Allow_osClearInertia = true +; Allow_osCheckODE = true +; Allow_osCollisionSound = true +; Allow_osDrawEllipse = true +; Allow_osDrawFilledEllipse = true +; Allow_osDrawFilledPolygon = true +; Allow_osDrawFilledRectangle = true +; Allow_osDrawResetTransform = true +; Allow_osDrawRotationTransform = true +; Allow_osDrawScaleTransform = true +; Allow_osDrawTranslationTransform = true +; Allow_osDrawImage = true +; Allow_osDrawLine = true +; Allow_osDrawPolygon = true +; Allow_osDrawRectangle = true +; Allow_osDrawText = true +; Allow_osGetCurrentSunHour = true +; Allow_osGetPhysicsEngineName = true +; Allow_osGetInertiaData = true +; Allow_osGetInventoryDesc = true +; Allow_osGetLinkNumber = true +; Allow_osGetMapTexture = true +; Allow_osGetRegionSize = true +; Allow_osGetSunParam = true +; Allow_osGetTerrainHeight = true +; Allow_osGetDrawStringSize = true +; Allow_osIsNpc = true +; Allow_osIsUUID = true +; Allow_osList2Double = true +; Allow_osMax = true +; Allow_osMin = true +; Allow_osMovePen = true +; Allow_osSetInertia = true +; Allow_osSetInertiaAsBox = true +; Allow_osSetInertiaAsSphere = true +; Allow_osSetInertiaAsCylinder = true +; Allow_osSetFontName = true +; Allow_osSetFontSize = true +; Allow_osSetPenCap = true +; Allow_osSetPenColor = true +; Allow_osSetPenSize = true +; Allow_osVolumeDetect = true From 965d004fbe2f3753ea915bab00c5ab08a54648ca Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 30 Jun 2017 22:39:19 +0100 Subject: [PATCH 48/84] do calls to m_host.AddScriptLPS() on the right place on osslm this stat is of course still wrong LPS does not mean api function calls --- .../Shared/Api/Implementation/OSSL_Api.cs | 224 ++---------------- bin/config-include/osslEnable.ini | 4 +- 2 files changed, 18 insertions(+), 210 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 11395795e4..22d247dd2f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -264,6 +264,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // for safe funtions always active public void CheckThreatLevel() { + m_host.AddScriptLPS(1); if (!m_OSFunctionsEnabled) OSSLError(String.Format("{0} permission denied. All OS functions are disabled.")); // throws } @@ -271,6 +272,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Returns if the function is allowed. Throws a script exception if not allowed. public void CheckThreatLevel(ThreatLevel level, string function) { + m_host.AddScriptLPS(1); if (!m_OSFunctionsEnabled) OSSLError(String.Format("{0} permission denied. All OS functions are disabled.", function)); // throws @@ -498,8 +500,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private LSL_Integer SetTerrainHeight(int x, int y, double val) { - m_host.AddScriptLPS(1); - if (x > (World.RegionInfo.RegionSizeX - 1) || x < 0 || y > (World.RegionInfo.RegionSizeY - 1) || y < 0) OSSLError("osSetTerrainHeight: Coordinate out of bounds"); @@ -529,7 +529,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private LSL_Float GetTerrainHeight(int x, int y) { - m_host.AddScriptLPS(1); if (x > (World.RegionInfo.RegionSizeX - 1) || x < 0 || y > (World.RegionInfo.RegionSizeY - 1) || y < 0) OSSLError("osGetTerrainHeight: Coordinate out of bounds"); @@ -539,7 +538,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osTerrainFlush() { CheckThreatLevel(ThreatLevel.VeryLow, "osTerrainFlush"); - m_host.AddScriptLPS(1); ITerrainModule terrainModule = World.RequestModuleInterface(); if (terrainModule != null) terrainModule.TaintTerrain(); @@ -556,7 +554,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.High, "osRegionRestart"); IRestartModule restartModule = World.RequestModuleInterface(); - m_host.AddScriptLPS(1); if (World.Permissions.CanIssueEstateCommand(m_host.OwnerID, false) && (restartModule != null)) { if (seconds < 15) @@ -579,7 +576,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.High, "osRegionRestart"); IRestartModule restartModule = World.RequestModuleInterface(); - m_host.AddScriptLPS(1); if (World.Permissions.CanIssueEstateCommand(m_host.OwnerID, false) && (restartModule != null)) { if (seconds < 15) @@ -630,8 +626,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.VeryHigh, "osRegionNotice"); - m_host.AddScriptLPS(1); - IDialogModule dm = World.RequestModuleInterface(); if (dm != null) @@ -645,7 +639,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.VeryHigh, "osSetRot"); - m_host.AddScriptLPS(1); if (World.Entities.ContainsKey(target)) { EntityBase entity; @@ -671,7 +664,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURL"); - m_host.AddScriptLPS(1); if (dynamicID == String.Empty) { IDynamicTextureManager textureManager = World.RequestModuleInterface(); @@ -693,7 +685,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlend"); - m_host.AddScriptLPS(1); if (dynamicID == String.Empty) { IDynamicTextureManager textureManager = World.RequestModuleInterface(); @@ -715,7 +706,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlendFace"); - m_host.AddScriptLPS(1); if (dynamicID == String.Empty) { IDynamicTextureManager textureManager = World.RequestModuleInterface(); @@ -743,7 +733,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureData"); - m_host.AddScriptLPS(1); if (dynamicID == String.Empty) { IDynamicTextureManager textureManager = World.RequestModuleInterface(); @@ -773,7 +762,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlend"); - m_host.AddScriptLPS(1); if (dynamicID == String.Empty) { IDynamicTextureManager textureManager = World.RequestModuleInterface(); @@ -802,7 +790,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow , "osSetDynamicTextureDataBlendFace"); - m_host.AddScriptLPS(1); if (dynamicID == String.Empty) { IDynamicTextureManager textureManager = World.RequestModuleInterface(); @@ -830,8 +817,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.Severe, "osConsoleCommand"); - m_host.AddScriptLPS(1); - // For safety, we add another permission check here, and don't rely only on the standard OSSL permissions if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) { @@ -846,8 +831,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osSetPrimFloatOnWater"); - m_host.AddScriptLPS(1); - m_host.ParentGroup.RootPart.SetFloatOnWater(floatYN); } @@ -905,7 +888,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private void TeleportAgent(string agent, string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { - m_host.AddScriptLPS(1); if(String.IsNullOrEmpty(regionName)) regionName = World.RegionInfo.RegionName; @@ -956,8 +938,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private void TeleportAgent(string agent, int regionGridX, int regionGridY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { - m_host.AddScriptLPS(1); - ulong regionHandle = Util.RegionGridLocToHandle((uint)regionGridX, (uint)regionGridY); UUID agentId; @@ -986,7 +966,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { - m_host.AddScriptLPS(1); UUID agentId; if (UUID.TryParse(agent, out agentId)) { @@ -1024,6 +1003,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osTeleportOwner(LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) { + CheckThreatLevel(ThreatLevel.None, "osTeleportOwner"); + osTeleportAgent(m_host.OwnerID.ToString(), position, lookat); } @@ -1038,8 +1019,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit"); - m_host.AddScriptLPS(1); - ForceSit(avatar, m_host.UUID); } @@ -1053,8 +1032,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit"); - m_host.AddScriptLPS(1); - UUID targetID = new UUID(target); ForceSit(avatar, targetID); @@ -1086,7 +1063,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // threat level is None as we could get this information with an // in-world script as well, just not as efficient CheckThreatLevel(ThreatLevel.None, "osGetAgents"); - m_host.AddScriptLPS(1); LSL_List result = new LSL_List(); World.ForEachRootScenePresence(delegate(ScenePresence sp) @@ -1104,7 +1080,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api UUID avatarID = (UUID)agent; - m_host.AddScriptLPS(1); if (World.Entities.ContainsKey((UUID)agent) && World.Entities[avatarID] is ScenePresence) { ScenePresence target = (ScenePresence)World.Entities[avatarID]; @@ -1125,8 +1100,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private void AvatarPlayAnimation(string avatar, string animation) { - m_host.AddScriptLPS(1); - UUID avatarID; if(!UUID.TryParse(avatar, out avatarID)) return; @@ -1167,8 +1140,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { UUID avatarID = (UUID)avatar; - m_host.AddScriptLPS(1); - // FIXME: What we really want to do here is factor out the similar code in llStopAnimation() to a common // method (though see that doesn't do the is animation check, which is probably a bug) and have both // these functions call that common code. However, this does mean navigating the brain-dead requirement @@ -1203,7 +1174,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawResetTransform(string drawList) { CheckThreatLevel(); - m_host.AddScriptLPS(1); + drawList += "ResetTransf;"; return drawList; } @@ -1211,7 +1182,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osDrawRotationTransform(string drawList, LSL_Float x) { CheckThreatLevel(); - m_host.AddScriptLPS(1); + drawList += "RotTransf " + x + ";"; return drawList; } @@ -1220,7 +1191,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "ScaleTransf " + x + "," + y + ";"; return drawList; } @@ -1229,7 +1199,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "TransTransf " + x + "," + y + ";"; return drawList; } @@ -1238,7 +1207,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "MoveTo " + x + "," + y + ";"; return drawList; } @@ -1247,7 +1215,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "MoveTo "+ startX+","+ startY +"; LineTo "+endX +","+endY +"; "; return drawList; } @@ -1256,7 +1223,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "LineTo " + endX + "," + endY + "; "; return drawList; } @@ -1265,7 +1231,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.None, "osDrawText"); - m_host.AddScriptLPS(1); drawList += "Text " + text + "; "; return drawList; } @@ -1274,7 +1239,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "Ellipse " + width + "," + height + "; "; return drawList; } @@ -1283,7 +1247,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "FillEllipse " + width + "," + height + "; "; return drawList; } @@ -1292,7 +1255,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "Rectangle " + width + "," + height + "; "; return drawList; } @@ -1301,7 +1263,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "FillRectangle " + width + "," + height + "; "; return drawList; } @@ -1310,8 +1271,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); - if (x.Length != y.Length || x.Length < 3) { return ""; @@ -1329,8 +1288,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); - if (x.Length != y.Length || x.Length < 3) { return ""; @@ -1348,7 +1305,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "FontSize "+ fontSize +"; "; return drawList; } @@ -1357,7 +1313,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "FontName "+ fontName +"; "; return drawList; } @@ -1366,7 +1321,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "PenSize " + penSize + "; "; return drawList; } @@ -1375,7 +1329,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "PenColor " + color + "; "; return drawList; } @@ -1386,7 +1339,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(); OSSLDeprecated("osSetPenColour", "osSetPenColor"); - m_host.AddScriptLPS(1); drawList += "PenColour " + colour + "; "; return drawList; } @@ -1395,7 +1347,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList += "PenCap " + direction + "," + type + "; "; return drawList; } @@ -1404,7 +1355,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); drawList +="Image " +width + "," + height+ ","+ imageUrl +"; " ; return drawList; } @@ -1412,7 +1362,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize) { CheckThreatLevel(); - m_host.AddScriptLPS(1); LSL_Vector vec = new LSL_Vector(0,0,0); IDynamicTextureManager textureManager = World.RequestModuleInterface(); @@ -1435,7 +1384,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // should be removed // CheckThreatLevel(ThreatLevel.High, "osSetStateEvents"); - m_host.AddScriptLPS(1); m_host.SetScriptEvents(m_item.ItemID, events); } @@ -1444,8 +1392,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osSetRegionWaterHeight"); - m_host.AddScriptLPS(1); - World.EventManager.TriggerRequestChangeWaterHeight((float)height); } @@ -1459,8 +1405,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osSetRegionSunSettings"); - m_host.AddScriptLPS(1); - while (sunHour > 24.0) sunHour -= 24.0; @@ -1484,8 +1428,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osSetEstateSunSettings"); - m_host.AddScriptLPS(1); - while (sunHour > 24.0) sunHour -= 24.0; @@ -1508,8 +1450,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(); - m_host.AddScriptLPS(1); - // Must adjust for the fact that Region Sun Settings are still LL offset double sunHour = World.RegionInfo.RegionSettings.SunPosition - 6; @@ -1538,8 +1478,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private double GetSunParam(string param) { - m_host.AddScriptLPS(1); - double value = 0.0; ISunModule module = World.RequestModuleInterface(); @@ -1566,8 +1504,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private void SetSunParam(string param, double value) { - m_host.AddScriptLPS(1); - ISunModule module = World.RequestModuleInterface(); if (module != null) { @@ -1578,7 +1514,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osWindActiveModelPluginName() { CheckThreatLevel(ThreatLevel.None, "osWindActiveModelPluginName"); - m_host.AddScriptLPS(1); IWindModule module = World.RequestModuleInterface(); if (module != null) @@ -1592,7 +1527,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetWindParam(string plugin, string param, LSL_Float value) { CheckThreatLevel(ThreatLevel.VeryLow, "osSetWindParam"); - m_host.AddScriptLPS(1); IWindModule module = World.RequestModuleInterface(); if (module != null) @@ -1608,7 +1542,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Float osGetWindParam(string plugin, string param) { CheckThreatLevel(ThreatLevel.VeryLow, "osGetWindParam"); - m_host.AddScriptLPS(1); IWindModule module = World.RequestModuleInterface(); if (module != null) @@ -1623,7 +1556,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osParcelJoin(LSL_Vector pos1, LSL_Vector pos2) { CheckThreatLevel(ThreatLevel.High, "osParcelJoin"); - m_host.AddScriptLPS(1); int startx = (int)(pos1.x < pos2.x ? pos1.x : pos2.x); int starty = (int)(pos1.y < pos2.y ? pos1.y : pos2.y); @@ -1636,7 +1568,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osParcelSubdivide(LSL_Vector pos1, LSL_Vector pos2) { CheckThreatLevel(ThreatLevel.High, "osParcelSubdivide"); - m_host.AddScriptLPS(1); int startx = (int)(pos1.x < pos2.x ? pos1.x : pos2.x); int starty = (int)(pos1.y < pos2.y ? pos1.y : pos2.y); @@ -1663,8 +1594,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private void SetParcelDetails(LSL_Vector pos, LSL_List rules, string functionName) { - m_host.AddScriptLPS(1); - // Get a reference to the land data and make sure the owner of the script // can modify it @@ -1733,7 +1662,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(); - m_host.AddScriptLPS(1); if (index < 0) { index = src.Length + index; @@ -1751,8 +1679,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.VeryLow, "osSetParcelMediaURL"); - m_host.AddScriptLPS(1); - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.OwnerID != m_host.OwnerID) @@ -1767,8 +1693,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.VeryLow, "osSetParcelSIPAddress"); - m_host.AddScriptLPS(1); - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.OwnerID != m_host.OwnerID) @@ -1795,8 +1719,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // CheckThreatLevel(ThreatLevel.High, "osGetScriptEngineName"); - m_host.AddScriptLPS(1); - int scriptEngineNameIndex = 0; if (!String.IsNullOrEmpty(m_ScriptEngine.ScriptEngineName)) @@ -1822,7 +1744,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osCheckODE() { CheckThreatLevel(); - m_host.AddScriptLPS(1); LSL_Integer ret = 0; // false if (m_ScriptEngine.World.PhysicsScene != null) @@ -1846,6 +1767,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // about the physics engine, this function returns an empty string if // the user does not have permission to see it. This as opposed to // throwing an exception. + m_host.AddScriptLPS(1); string ret = String.Empty; if (String.IsNullOrEmpty(CheckThreatLevelTest(ThreatLevel.High, "osGetPhysicsEngineType"))) @@ -1865,7 +1787,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetPhysicsEngineName() { CheckThreatLevel(); - m_host.AddScriptLPS(1); string ret = "NoEngine"; if (m_ScriptEngine.World.PhysicsScene != null) @@ -1886,7 +1807,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // kiddie) // CheckThreatLevel(ThreatLevel.High,"osGetSimulatorVersion"); - m_host.AddScriptLPS(1); return m_ScriptEngine.World.GetSimulatorVersion(); } @@ -1932,8 +1852,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.None, "osParseJSONNew"); - m_host.AddScriptLPS(1); - try { OSD decoded = OSDParser.DeserializeJson(JSON); @@ -1950,8 +1868,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.None, "osParseJSON"); - m_host.AddScriptLPS(1); - Object decoded = osParseJSONNew(JSON); if ( decoded is Hashtable ) { @@ -1982,7 +1898,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osMessageObject(LSL_Key objectUUID, string message) { CheckThreatLevel(ThreatLevel.Low, "osMessageObject"); - m_host.AddScriptLPS(1); UUID objUUID; if (!UUID.TryParse(objectUUID, out objUUID)) // prior to patching, a thrown exception regarding invalid GUID format would be shouted instead. @@ -2023,7 +1938,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // if this is restricted to objects rezzed by this host level can be reduced CheckThreatLevel(ThreatLevel.Low, "osDie"); - m_host.AddScriptLPS(1); UUID objUUID; if (!UUID.TryParse(objectUUID, out objUUID)) @@ -2073,7 +1987,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osMakeNotecard(string notecardName, LSL_Types.list contents) { CheckThreatLevel(ThreatLevel.High, "osMakeNotecard"); - m_host.AddScriptLPS(1); StringBuilder notecardData = new StringBuilder(); @@ -2259,7 +2172,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetNotecardLine(string name, int line) { CheckThreatLevel(ThreatLevel.VeryHigh, "osGetNotecardLine"); - m_host.AddScriptLPS(1); UUID assetID = CacheNotecard(name); @@ -2287,7 +2199,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetNotecard(string name) { CheckThreatLevel(ThreatLevel.VeryHigh, "osGetNotecard"); - m_host.AddScriptLPS(1); string text = LoadNotecard(name); @@ -2317,7 +2228,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public int osGetNumberOfNotecardLines(string name) { CheckThreatLevel(ThreatLevel.VeryHigh, "osGetNumberOfNotecardLines"); - m_host.AddScriptLPS(1); UUID assetID = CacheNotecard(name); @@ -2333,7 +2243,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osAvatarName2Key(string firstname, string lastname) { CheckThreatLevel(ThreatLevel.Low, "osAvatarName2Key"); - m_host.AddScriptLPS(1); IUserManagement userManager = World.RequestModuleInterface(); if (userManager == null) @@ -2385,7 +2294,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osKey2Name(string id) { CheckThreatLevel(ThreatLevel.Low, "osKey2Name"); - m_host.AddScriptLPS(1); UUID key = new UUID(); @@ -2495,7 +2403,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetGridNick() { CheckThreatLevel(ThreatLevel.Moderate, "osGetGridNick"); - m_host.AddScriptLPS(1); string nick = String.Empty; IConfigSource config = m_ScriptEngine.ConfigSource; @@ -2512,7 +2419,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetGridName() { CheckThreatLevel(ThreatLevel.Moderate, "osGetGridName"); - m_host.AddScriptLPS(1); string name = String.Empty; IConfigSource config = m_ScriptEngine.ConfigSource; @@ -2529,7 +2435,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetGridLoginURI() { CheckThreatLevel(ThreatLevel.Moderate, "osGetGridLoginURI"); - m_host.AddScriptLPS(1); string loginURI = String.Empty; IConfigSource config = m_ScriptEngine.ConfigSource; @@ -2546,7 +2451,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetGridHomeURI() { CheckThreatLevel(ThreatLevel.Moderate, "osGetGridHomeURI"); - m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; string HomeURI = Util.GetConfigVarFromSections(config, "HomeURI", @@ -2568,7 +2472,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetGridGatekeeperURI() { CheckThreatLevel(ThreatLevel.Moderate, "osGetGridGatekeeperURI"); - m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; string gatekeeperURI = Util.GetConfigVarFromSections(config, "GatekeeperURI", @@ -2587,7 +2490,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetGridCustom(string key) { CheckThreatLevel(ThreatLevel.Moderate, "osGetGridCustom"); - m_host.AddScriptLPS(1); string retval = String.Empty; IConfigSource config = m_ScriptEngine.ConfigSource; @@ -2604,7 +2506,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osGetAvatarHomeURI(string uuid) { CheckThreatLevel(ThreatLevel.Low, "osGetAvatarHomeURI"); - m_host.AddScriptLPS(1); IUserManagement userManager = m_ScriptEngine.World.RequestModuleInterface(); string returnValue = ""; @@ -2637,7 +2538,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String osFormatString(string str, LSL_List strings) { CheckThreatLevel(ThreatLevel.VeryLow, "osFormatString"); - m_host.AddScriptLPS(1); return String.Format(str, strings.Data); } @@ -2645,7 +2545,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List osMatchString(string src, string pattern, int start) { CheckThreatLevel(ThreatLevel.VeryLow, "osMatchString"); - m_host.AddScriptLPS(1); LSL_List result = new LSL_List(); @@ -2687,7 +2586,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String osReplaceString(string src, string pattern, string replace, int count, int start) { CheckThreatLevel(ThreatLevel.VeryLow, "osReplaceString"); - m_host.AddScriptLPS(1); // Normalize indices (if negative). // After normlaization they may still be @@ -2712,7 +2610,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osLoadedCreationDate() { CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationDate"); - m_host.AddScriptLPS(1); return World.RegionInfo.RegionSettings.LoadedCreationDate; } @@ -2720,7 +2617,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osLoadedCreationTime() { CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationTime"); - m_host.AddScriptLPS(1); return World.RegionInfo.RegionSettings.LoadedCreationTime; } @@ -2728,7 +2624,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public string osLoadedCreationID() { CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationID"); - m_host.AddScriptLPS(1); return World.RegionInfo.RegionSettings.LoadedCreationID; } @@ -2749,7 +2644,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List osGetLinkPrimitiveParams(int linknumber, LSL_List rules) { CheckThreatLevel(ThreatLevel.High, "osGetLinkPrimitiveParams"); - m_host.AddScriptLPS(1); + InitLSL(); // One needs to cast m_LSL_Api because we're using functions not // on the ILSL_Api interface. @@ -2778,8 +2673,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osForceCreateLink"); - m_host.AddScriptLPS(1); - InitLSL(); ((LSL_Api)m_LSL_Api).CreateLink(target, parent); } @@ -2788,8 +2681,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osForceBreakLink"); - m_host.AddScriptLPS(1); - InitLSL(); ((LSL_Api)m_LSL_Api).BreakLink(linknum); } @@ -2798,8 +2689,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryLow, "osForceBreakAllLinks"); - m_host.AddScriptLPS(1); - InitLSL(); ((LSL_Api)m_LSL_Api).BreakAllLinks(); } @@ -2807,7 +2696,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osIsNpc(LSL_Key npc) { CheckThreatLevel(); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -2824,7 +2712,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard) { CheckThreatLevel(ThreatLevel.High, "osNpcCreate"); - m_host.AddScriptLPS(1); // have to get the npc module also here to set the default Not Owned INPCModule module = World.RequestModuleInterface(); @@ -2839,7 +2726,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard, int options) { CheckThreatLevel(ThreatLevel.High, "osNpcCreate"); - m_host.AddScriptLPS(1); return NpcCreate( firstname, lastname, position, notecard, @@ -2982,7 +2868,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osNpcSaveAppearance(LSL_Key npc, string notecard) { CheckThreatLevel(ThreatLevel.High, "osNpcSaveAppearance"); - m_host.AddScriptLPS(1); INPCModule npcModule = World.RequestModuleInterface(); @@ -3004,7 +2889,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcLoadAppearance(LSL_Key npc, string notecard) { CheckThreatLevel(ThreatLevel.High, "osNpcLoadAppearance"); - m_host.AddScriptLPS(1); INPCModule npcModule = World.RequestModuleInterface(); @@ -3036,7 +2920,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osNpcGetOwner(LSL_Key npc) { CheckThreatLevel(ThreatLevel.None, "osNpcGetOwner"); - m_host.AddScriptLPS(1); INPCModule npcModule = World.RequestModuleInterface(); if (npcModule != null) @@ -3058,7 +2941,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector osNpcGetPos(LSL_Key npc) { CheckThreatLevel(ThreatLevel.High, "osNpcGetPos"); - m_host.AddScriptLPS(1); INPCModule npcModule = World.RequestModuleInterface(); if (npcModule != null) @@ -3082,7 +2964,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcMoveTo(LSL_Key npc, LSL_Vector pos) { CheckThreatLevel(ThreatLevel.High, "osNpcMoveTo"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3101,7 +2982,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcMoveToTarget(LSL_Key npc, LSL_Vector target, int options) { CheckThreatLevel(ThreatLevel.High, "osNpcMoveToTarget"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3126,7 +3006,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Rotation osNpcGetRot(LSL_Key npc) { CheckThreatLevel(ThreatLevel.High, "osNpcGetRot"); - m_host.AddScriptLPS(1); INPCModule npcModule = World.RequestModuleInterface(); if (npcModule != null) @@ -3150,7 +3029,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcSetRot(LSL_Key npc, LSL_Rotation rotation) { CheckThreatLevel(ThreatLevel.High, "osNpcSetRot"); - m_host.AddScriptLPS(1); INPCModule npcModule = World.RequestModuleInterface(); if (npcModule != null) @@ -3172,7 +3050,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcStopMoveToTarget(LSL_Key npc) { CheckThreatLevel(ThreatLevel.High, "osNpcStopMoveToTarget"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3189,7 +3066,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcSetProfileAbout(LSL_Key npc, string about) { CheckThreatLevel(ThreatLevel.Low, "osNpcSetProfileAbout"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3208,7 +3084,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcSetProfileImage(LSL_Key npc, string image) { CheckThreatLevel(ThreatLevel.Low, "osNpcSetProfileImage"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3242,7 +3117,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcSay(LSL_Key npc, int channel, string message) { CheckThreatLevel(ThreatLevel.High, "osNpcSay"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3259,7 +3133,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcShout(LSL_Key npc, int channel, string message) { CheckThreatLevel(ThreatLevel.High, "osNpcShout"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3276,7 +3149,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcSit(LSL_Key npc, LSL_Key target, int options) { CheckThreatLevel(ThreatLevel.High, "osNpcSit"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3293,7 +3165,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcStand(LSL_Key npc) { CheckThreatLevel(ThreatLevel.High, "osNpcStand"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3310,7 +3181,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcRemove(LSL_Key npc) { CheckThreatLevel(ThreatLevel.High, "osNpcRemove"); - m_host.AddScriptLPS(1); try { @@ -3331,7 +3201,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcPlayAnimation(LSL_Key npc, string animation) { CheckThreatLevel(ThreatLevel.High, "osNpcPlayAnimation"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3346,7 +3215,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcStopAnimation(LSL_Key npc, string animation) { CheckThreatLevel(ThreatLevel.High, "osNpcStopAnimation"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3361,7 +3229,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcWhisper(LSL_Key npc, int channel, string message) { CheckThreatLevel(ThreatLevel.High, "osNpcWhisper"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); if (module != null) @@ -3378,7 +3245,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osNpcTouch(LSL_Key npcLSL_Key, LSL_Key object_key, LSL_Integer link_num) { CheckThreatLevel(ThreatLevel.High, "osNpcTouch"); - m_host.AddScriptLPS(1); INPCModule module = World.RequestModuleInterface(); int linkNum = link_num.value; @@ -3423,7 +3289,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osOwnerSaveAppearance(string notecard) { CheckThreatLevel(ThreatLevel.High, "osOwnerSaveAppearance"); - m_host.AddScriptLPS(1); return SaveAppearanceToNotecard(m_host.OwnerID, notecard); } @@ -3431,7 +3296,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osAgentSaveAppearance(LSL_Key avatarId, string notecard) { CheckThreatLevel(ThreatLevel.VeryHigh, "osAgentSaveAppearance"); - m_host.AddScriptLPS(1); return SaveAppearanceToNotecard(avatarId, notecard); } @@ -3484,7 +3348,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String osGetGender(LSL_Key rawAvatarId) { CheckThreatLevel(ThreatLevel.None, "osGetGender"); - m_host.AddScriptLPS(1); UUID avatarId; if (!UUID.TryParse(rawAvatarId, out avatarId)) @@ -3527,9 +3390,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// public LSL_Key osGetMapTexture() { -// CheckThreatLevel(ThreatLevel.None, "osGetMapTexture"); CheckThreatLevel(); - m_host.AddScriptLPS(1); return m_ScriptEngine.World.RegionInfo.RegionSettings.TerrainImageID.ToString(); } @@ -3542,7 +3403,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osGetRegionMapTexture(string regionName) { CheckThreatLevel(ThreatLevel.High, "osGetRegionMapTexture"); - m_host.AddScriptLPS(1); Scene scene = m_ScriptEngine.World; UUID key = UUID.Zero; @@ -3573,7 +3433,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List osGetRegionStats() { CheckThreatLevel(ThreatLevel.Moderate, "osGetRegionStats"); - m_host.AddScriptLPS(1); + LSL_List ret = new LSL_List(); float[] stats = World.StatsReporter.LastReportedSimStats; @@ -3587,7 +3447,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector osGetRegionSize() { CheckThreatLevel(); - m_host.AddScriptLPS(1); Scene scene = m_ScriptEngine.World; RegionInfo reg = World.RegionInfo; @@ -3599,7 +3458,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public int osGetSimulatorMemory() { CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory"); - m_host.AddScriptLPS(1); + long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64; if (pws > Int32.MaxValue) @@ -3613,7 +3472,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetSpeed(string UUID, LSL_Float SpeedModifier) { CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed"); - m_host.AddScriptLPS(1); + ScenePresence avatar = World.GetScenePresence(new UUID(UUID)); if (avatar != null) @@ -3623,7 +3482,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osKickAvatar(string FirstName, string SurName, string alert) { CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); - m_host.AddScriptLPS(1); World.ForEachRootScenePresence(delegate(ScenePresence sp) { @@ -3642,7 +3500,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Float osGetHealth(string avatar) { CheckThreatLevel(ThreatLevel.None, "osGetHealth"); - m_host.AddScriptLPS(1); LSL_Float health = new LSL_Float(-1); ScenePresence presence = World.GetScenePresence(new UUID(avatar)); @@ -3654,7 +3511,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osCauseDamage(string avatar, double damage) { CheckThreatLevel(ThreatLevel.High, "osCauseDamage"); - m_host.AddScriptLPS(1); UUID avatarId = new UUID(avatar); Vector3 pos = m_host.GetWorldPosition(); @@ -3682,7 +3538,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osCauseHealing(string avatar, double healing) { CheckThreatLevel(ThreatLevel.High, "osCauseHealing"); - m_host.AddScriptLPS(1); UUID avatarId = new UUID(avatar); ScenePresence presence = World.GetScenePresence(avatarId); @@ -3702,7 +3557,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetHealth(string avatar, double health) { CheckThreatLevel(ThreatLevel.High, "osSetHealth"); - m_host.AddScriptLPS(1); UUID avatarId = new UUID(avatar); ScenePresence presence = World.GetScenePresence(avatarId); @@ -3721,7 +3575,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetHealRate(string avatar, double healrate) { CheckThreatLevel(ThreatLevel.High, "osSetHealRate"); - m_host.AddScriptLPS(1); UUID avatarId = new UUID(avatar); ScenePresence presence = World.GetScenePresence(avatarId); @@ -3733,7 +3586,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Float osGetHealRate(string avatar) { CheckThreatLevel(ThreatLevel.None, "osGetHealRate"); - m_host.AddScriptLPS(1); LSL_Float rate = new LSL_Float(0); ScenePresence presence = World.GetScenePresence(new UUID(avatar)); @@ -3745,18 +3597,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List osGetPrimitiveParams(LSL_Key prim, LSL_List rules) { CheckThreatLevel(ThreatLevel.High, "osGetPrimitiveParams"); - m_host.AddScriptLPS(1); - InitLSL(); + InitLSL(); return m_LSL_Api.GetPrimitiveParamsEx(prim, rules); } public void osSetPrimitiveParams(LSL_Key prim, LSL_List rules) { CheckThreatLevel(ThreatLevel.High, "osSetPrimitiveParams"); - m_host.AddScriptLPS(1); - InitLSL(); + InitLSL(); m_LSL_Api.SetPrimitiveParamsEx(prim, rules, "osSetPrimitiveParams"); } @@ -3765,8 +3615,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// public void osSetProjectionParams(bool projection, LSL_Key texture, double fov, double focus, double amb) { - CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams"); - osSetProjectionParams(UUID.Zero.ToString(), projection, texture, fov, focus, amb); } @@ -3776,7 +3624,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetProjectionParams(LSL_Key prim, bool projection, LSL_Key texture, double fov, double focus, double amb) { CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams"); - m_host.AddScriptLPS(1); SceneObjectPart obj = null; if (prim == UUID.Zero.ToString()) @@ -3807,7 +3654,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List osGetAvatarList() { CheckThreatLevel(ThreatLevel.None, "osGetAvatarList"); - m_host.AddScriptLPS(1); LSL_List result = new LSL_List(); World.ForEachRootScenePresence(delegate (ScenePresence avatar) @@ -3826,7 +3672,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List osGetNPCList() { CheckThreatLevel(ThreatLevel.None, "osGetNPCList"); - m_host.AddScriptLPS(1); LSL_List result = new LSL_List(); World.ForEachRootScenePresence(delegate (ScenePresence avatar) @@ -3851,7 +3696,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String osUnixTimeToTimestamp(long time) { CheckThreatLevel(ThreatLevel.VeryLow, "osUnixTimeToTimestamp"); - m_host.AddScriptLPS(1); long baseTicks = 621355968000000000; long tickResolution = 10000000; @@ -3869,7 +3713,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String osGetInventoryDesc(string item) { CheckThreatLevel(); - m_host.AddScriptLPS(1); lock (m_host.TaskInventory) { @@ -3893,7 +3736,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osInviteToGroup(LSL_Key agentId) { CheckThreatLevel(ThreatLevel.VeryLow, "osInviteToGroup"); - m_host.AddScriptLPS(1); UUID agent = new UUID(agentId); @@ -3928,7 +3770,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osEjectFromGroup(LSL_Key agentId) { CheckThreatLevel(ThreatLevel.VeryLow, "osEjectFromGroup"); - m_host.AddScriptLPS(1); UUID agent = new UUID(agentId); @@ -3964,7 +3805,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osSetTerrainTexture"); - m_host.AddScriptLPS(1); //Check to make sure that the script's owner is the estate manager/master //World.Permissions.GenericEstatePermission( if (World.Permissions.IsGod(m_host.OwnerID)) @@ -3994,7 +3834,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osSetTerrainTextureHeight"); - m_host.AddScriptLPS(1); //Check to make sure that the script's owner is the estate manager/master //World.Permissions.GenericEstatePermission( if (World.Permissions.IsGod(m_host.OwnerID)) @@ -4015,8 +3854,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osForceAttachToAvatar"); - m_host.AddScriptLPS(1); - InitLSL(); ((LSL_Api)m_LSL_Api).AttachToAvatar(attachmentPoint); } @@ -4025,8 +3862,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osForceAttachToAvatarFromInventory"); - m_host.AddScriptLPS(1); - ForceAttachToAvatarFromInventory(m_host.OwnerID, itemName, attachmentPoint); } @@ -4034,8 +3869,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.VeryHigh, "osForceAttachToOtherAvatarFromInventory"); - m_host.AddScriptLPS(1); - UUID avatarId; if (!UUID.TryParse(rawAvatarId, out avatarId)) @@ -4095,8 +3928,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.High, "osForceDetachFromAvatar"); - m_host.AddScriptLPS(1); - InitLSL(); ((LSL_Api)m_LSL_Api).DetachFromAvatar(); } @@ -4105,8 +3936,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { CheckThreatLevel(ThreatLevel.Moderate, "osGetNumberOfAttachments"); - m_host.AddScriptLPS(1); - UUID targetUUID; ScenePresence target; LSL_List resp = new LSL_List(); @@ -4140,7 +3969,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osMessageAttachments(LSL_Key avatar, string message, LSL_List attachmentPoints, int options) { CheckThreatLevel(ThreatLevel.Moderate, "osMessageAttachments"); - m_host.AddScriptLPS(1); UUID targetUUID; if(!UUID.TryParse(avatar.ToString(), out targetUUID)) @@ -4250,7 +4078,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osIsUUID(string thing) { CheckThreatLevel(); - m_host.AddScriptLPS(1); UUID test; return UUID.TryParse(thing, out test) ? 1 : 0; @@ -4265,7 +4092,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Float osMin(double a, double b) { CheckThreatLevel(); - m_host.AddScriptLPS(1); return Math.Min(a, b); } @@ -4279,7 +4105,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Float osMax(double a, double b) { CheckThreatLevel(); - m_host.AddScriptLPS(1); return Math.Max(a, b); } @@ -4287,7 +4112,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key osGetRezzingObject() { CheckThreatLevel(ThreatLevel.None, "osGetRezzingObject"); - m_host.AddScriptLPS(1); + UUID rezID = m_host.ParentGroup.RezzerID; if(rezID == UUID.Zero || m_host.ParentGroup.Scene.GetScenePresence(rezID) != null) return new LSL_Key(UUID.Zero.ToString()); @@ -4312,7 +4137,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// boolean indicating whether an error was shouted. protected bool ShoutErrorOnLackingOwnerPerms(int perms, string errorPrefix) { - m_host.AddScriptLPS(1); bool fail = false; if (m_item.PermsGranter != m_host.OwnerID) { @@ -4363,7 +4187,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osDropAttachment() { CheckThreatLevel(ThreatLevel.Moderate, "osDropAttachment"); - m_host.AddScriptLPS(1); DropAttachment(true); } @@ -4371,7 +4194,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osForceDropAttachment() { CheckThreatLevel(ThreatLevel.High, "osForceDropAttachment"); - m_host.AddScriptLPS(1); DropAttachment(false); } @@ -4379,7 +4201,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) { CheckThreatLevel(ThreatLevel.Moderate, "osDropAttachmentAt"); - m_host.AddScriptLPS(1); DropAttachmentAt(true, pos, rot); } @@ -4387,7 +4208,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osForceDropAttachmentAt(LSL_Vector pos, LSL_Rotation rot) { CheckThreatLevel(ThreatLevel.High, "osForceDropAttachmentAt"); - m_host.AddScriptLPS(1); DropAttachmentAt(false, pos, rot); } @@ -4395,7 +4215,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osListenRegex(int channelID, string name, string ID, string msg, int regexBitfield) { CheckThreatLevel(ThreatLevel.Low, "osListenRegex"); - m_host.AddScriptLPS(1); + UUID keyID; UUID.TryParse(ID, out keyID); @@ -4443,7 +4263,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osRegexIsMatch(string input, string pattern) { CheckThreatLevel(ThreatLevel.Low, "osRegexIsMatch"); - m_host.AddScriptLPS(1); + try { return Regex.IsMatch(input, pattern) ? 1 : 0; @@ -4458,7 +4278,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String osRequestURL(LSL_List options) { CheckThreatLevel(ThreatLevel.Moderate, "osRequestSecureURL"); - m_host.AddScriptLPS(1); Hashtable opts = new Hashtable(); for (int i = 0 ; i < options.Length ; i++) @@ -4476,7 +4295,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String osRequestSecureURL(LSL_List options) { CheckThreatLevel(ThreatLevel.Moderate, "osRequestSecureURL"); - m_host.AddScriptLPS(1); Hashtable opts = new Hashtable(); for (int i = 0 ; i < options.Length ; i++) @@ -4494,7 +4312,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osCollisionSound(string impact_sound, double impact_volume) { CheckThreatLevel(); - m_host.AddScriptLPS(1); if(impact_sound == "") { @@ -4527,7 +4344,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osVolumeDetect(int detect) { CheckThreatLevel(); - m_host.AddScriptLPS(1); if (m_host.ParentGroup == null || m_host.ParentGroup.IsDeleted || m_host.ParentGroup.IsAttachment) return; @@ -4550,7 +4366,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List osGetInertiaData() { CheckThreatLevel(); - m_host.AddScriptLPS(1); LSL_List result = new LSL_List(); float TotalMass; @@ -4598,7 +4413,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetInertia(LSL_Float mass, LSL_Vector centerOfMass, LSL_Vector principalInertiaScaled, LSL_Rotation lslrot) { CheckThreatLevel(); - m_host.AddScriptLPS(1); SceneObjectGroup sog = m_host.ParentGroup; if(sog== null || sog.IsDeleted) @@ -4637,7 +4451,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetInertiaAsBox(LSL_Float mass, LSL_Vector boxSize, LSL_Vector centerOfMass, LSL_Rotation lslrot) { CheckThreatLevel(); - m_host.AddScriptLPS(1); SceneObjectGroup sog = m_host.ParentGroup; if(sog== null || sog.IsDeleted) @@ -4679,7 +4492,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetInertiaAsSphere(LSL_Float mass, LSL_Float radius, LSL_Vector centerOfMass) { CheckThreatLevel(); - m_host.AddScriptLPS(1); SceneObjectGroup sog = m_host.ParentGroup; if(sog== null || sog.IsDeleted) @@ -4719,7 +4531,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetInertiaAsCylinder(LSL_Float mass, LSL_Float radius, LSL_Float lenght, LSL_Vector centerOfMass, LSL_Rotation lslrot) { CheckThreatLevel(); - m_host.AddScriptLPS(1); SceneObjectGroup sog = m_host.ParentGroup; if(sog== null || sog.IsDeleted) @@ -4758,7 +4569,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osClearInertia() { CheckThreatLevel(); - m_host.AddScriptLPS(1); SceneObjectGroup sog = m_host.ParentGroup; if(sog== null || sog.IsDeleted) @@ -4817,7 +4627,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osTeleportObject(LSL_Key objectUUID, LSL_Vector targetPos, LSL_Rotation rotation, LSL_Integer flags) { CheckThreatLevel(ThreatLevel.Severe, "osTeleportObject"); - m_host.AddScriptLPS(1); UUID objUUID; if (!UUID.TryParse(objectUUID, out objUUID)) @@ -4846,7 +4655,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer osGetLinkNumber(LSL_String name) { CheckThreatLevel(); - m_host.AddScriptLPS(1); SceneObjectGroup sog = m_host.ParentGroup; if(sog== null || sog.IsDeleted) diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 83d9756c91..5f9eeb8e5c 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -218,10 +218,10 @@ Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER -; funtions ThreatLevel Severe with aditional internal restrictions +; funtions ThreatLevel Severe with additional internal restrictions Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable) -; avaiable funtions out of Threat level control (for reference only) +; available funtions out of Threat level control (for reference only) ; Allow_osClearInertia = true ; Allow_osCheckODE = true ; Allow_osCollisionSound = true From edc7575f9ec3cd61aeec4ae9c3d65dc1235eb6ec Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 1 Jul 2017 01:43:58 +0100 Subject: [PATCH 49/84] a few changes to ubOde avatar collisions --- .../PhysicsModules/ubOde/ODECharacter.cs | 65 ++++++++++-------- .../Region/PhysicsModules/ubOde/ODEScene.cs | 12 +--- bin/config-include/osslEnable.ini | 1 - bin/lib32/ode.dll | Bin 541184 -> 541696 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 5 files changed, 39 insertions(+), 39 deletions(-) diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs index de7e879565..b0f3f526fd 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs @@ -103,7 +103,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde public float walkDivisor = 1.3f; public float runDivisor = 0.8f; - private bool flying = false; + private bool m_flying = false; private bool m_iscolliding = false; private bool m_iscollidingGround = false; private bool m_iscollidingObj = false; @@ -298,10 +298,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde public override bool Flying { - get { return flying; } + get { return m_flying; } set { - flying = value; + m_flying = value; // m_log.DebugFormat("[PHYSICS]: Set OdeCharacter Flying to {0}", flying); } } @@ -900,10 +900,9 @@ namespace OpenSim.Region.PhysicsModule.ubOde } public bool Collide(IntPtr me, IntPtr other, bool reverse, ref d.ContactGeom contact, - ref d.ContactGeom altContact , ref bool useAltcontact, ref bool feetcollision) + ref bool feetcollision) { feetcollision = false; - useAltcontact = false; if (me == capsule) { @@ -943,12 +942,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde } return true; } -/* - d.AABB aabb; - d.GeomGetAABB(other,out aabb); - float othertop = aabb.MaxZ - _position.Z; -*/ -// if (offset.Z > 0 || othertop > -feetOff || contact.normal.Z > 0.35f) + if (offset.Z > 0 || contact.normal.Z > 0.35f) { if (offset.Z <= 0) @@ -965,27 +959,40 @@ namespace OpenSim.Region.PhysicsModule.ubOde return true; } - altContact = contact; - useAltcontact = true; + if(m_flying) + return true; offset.Z -= 0.2f; offset.Normalize(); - if (contact.depth > 0.1f) - contact.depth = 0.1f; + float tdp = contact.depth; + float t = contact.normal.Z * contact.normal.Z; + t = Math.Abs(t); + if(t > 1e-6) + { + tdp /= t; + tdp *= offset.Z * offset.Z; + } + else + tdp *= 10; + + if (tdp > 0.25f) + tdp = 0.25f; + + contact.depth = tdp; if (reverse) { - altContact.normal.X = offset.X; - altContact.normal.Y = offset.Y; - altContact.normal.Z = offset.Z; + contact.normal.X = offset.X; + contact.normal.Y = offset.Y; + contact.normal.Z = offset.Z; } else { - altContact.normal.X = -offset.X; - altContact.normal.Y = -offset.Y; - altContact.normal.Z = -offset.Z; + contact.normal.X = -offset.X; + contact.normal.Y = -offset.Y; + contact.normal.Z = -offset.Z; } feetcollision = true; @@ -1098,7 +1105,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde float ftmp; - if (flying) + if (m_flying) { ftmp = timeStep; posch.X += vel.X * ftmp; @@ -1122,7 +1129,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde vec.Z = depth * PID_P * 50; - if (!flying) + if (!m_flying) { vec.Z += -vel.Z * PID_D; if(n.Z < 0.4f) @@ -1259,7 +1266,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde // movement relative to surface if moving on it // dont disturbe vertical movement, ie jumps - if (m_iscolliding && !flying && ctz.Z == 0 && m_collideNormal.Z > 0.2f && m_collideNormal.Z < 0.94f) + if (m_iscolliding && !m_flying && ctz.Z == 0 && m_collideNormal.Z > 0.2f && m_collideNormal.Z < 0.94f) { float p = ctz.X * m_collideNormal.X + ctz.Y * m_collideNormal.Y; ctz.X *= (float)Math.Sqrt(1 - m_collideNormal.X * m_collideNormal.X); @@ -1276,7 +1283,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde { // if velocity is zero, use position control; otherwise, velocity control - if (tviszero && m_iscolliding && !flying) + if (tviszero && m_iscolliding && !m_flying) { // keep track of where we stopped. No more slippin' & slidin' if (!_zeroFlag) @@ -1313,7 +1320,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (m_iscolliding) { - if (!flying) + if (!m_flying) { // we are on a surface if (ctz.Z > 0f) @@ -1361,7 +1368,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde } else // ie not colliding { - if (flying || hoverPIDActive) //(!m_iscolliding && flying) + if (m_flying || hoverPIDActive) //(!m_iscolliding && flying) { // we're in mid air suspended vec.X += (ctz.X - vel.X) * (PID_D); @@ -1397,13 +1404,13 @@ namespace OpenSim.Region.PhysicsModule.ubOde breakfactor = m_mass; vec.X -= breakfactor * vel.X; vec.Y -= breakfactor * vel.Y; - if (flying) + if (m_flying) vec.Z -= 0.5f * breakfactor * vel.Z; else vec.Z -= .16f* m_mass * vel.Z; } - if (flying || hoverPIDActive) + if (m_flying || hoverPIDActive) { vec.Z -= m_parent_scene.gravityz * m_mass; diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs index 86d41eabf2..0837bfb363 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs @@ -951,8 +951,6 @@ namespace OpenSim.Region.PhysicsModule.ubOde SharedTmpcontact.surface.mu = mu; SharedTmpcontact.surface.bounce = bounce; - d.ContactGeom altContact = new d.ContactGeom(); - bool useAltcontact = false; bool noskip = true; if(dop1ava || dop2ava) @@ -961,11 +959,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde while (true) { noskip = true; - useAltcontact = false; if (dop1ava) { - if ((((OdeCharacter)p1).Collide(g1, g2, false, ref curContact, ref altContact , ref useAltcontact, ref FeetCollision))) + if ((((OdeCharacter)p1).Collide(g1, g2, false, ref curContact, ref FeetCollision))) { if (p2.PhysicsActorType == (int)ActorTypes.Agent) { @@ -980,7 +977,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde } else if (dop2ava) { - if ((((OdeCharacter)p2).Collide(g2, g1, true, ref curContact, ref altContact , ref useAltcontact, ref FeetCollision))) + if ((((OdeCharacter)p2).Collide(g2, g1, true, ref curContact, ref FeetCollision))) { if (p1.PhysicsActorType == (int)ActorTypes.Agent) { @@ -996,10 +993,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (noskip) { - if(useAltcontact) - Joint = CreateContacJoint(ref altContact,smoothMesh); - else - Joint = CreateContacJoint(ref curContact,smoothMesh); + Joint = CreateContacJoint(ref curContact,smoothMesh); if (Joint == IntPtr.Zero) break; diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 5f9eeb8e5c..5987952bdc 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -61,7 +61,6 @@ ; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER," ; NPC macros - ; There are a block of macros to creating and controlling NPCs. ; These can be mis-used so limit use to those you can trust. osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 5636903c482dd3b6431f0605effaa68ab434dabb..f7677d2361c6abe8899cac33b184dd4821969f53 100755 GIT binary patch delta 40880 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 OkrqwYmsyec#{UCAlF;Y? delta 40893 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

{v2EoKvXfz(VY(__>?E^V)(KH9}$JGiRx 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 yjQOG>W7RJ1F|XLz Date: Sun, 2 Jul 2017 01:34:06 +0100 Subject: [PATCH 50/84] oops i forgot the avatar knees bending on ramps... so go back.. --- .../PhysicsModules/ubOde/ODECharacter.cs | 42 ++++++++++--------- .../Region/PhysicsModules/ubOde/ODEScene.cs | 15 ++++--- 2 files changed, 33 insertions(+), 24 deletions(-) diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs index b0f3f526fd..6016530ba5 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs @@ -899,10 +899,11 @@ namespace OpenSim.Region.PhysicsModule.ubOde y = tx * sin + y * cos; } - public bool Collide(IntPtr me, IntPtr other, bool reverse, ref d.ContactGeom contact, - ref bool feetcollision) - { + public bool Collide(IntPtr me, IntPtr other, bool reverse, ref d.ContactGeom contact, + ref d.ContactGeom altContact , ref bool useAltcontact, ref bool feetcollision) + { feetcollision = false; + useAltcontact = false; if (me == capsule) { @@ -962,6 +963,18 @@ namespace OpenSim.Region.PhysicsModule.ubOde if(m_flying) return true; + feetcollision = true; + if (h < boneOff) + { + m_collideNormal.X = contact.normal.X; + m_collideNormal.Y = contact.normal.Y; + m_collideNormal.Z = contact.normal.Z; + IsColliding = true; + } + + altContact = contact; + useAltcontact = true; + offset.Z -= 0.2f; offset.Normalize(); @@ -980,28 +993,19 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (tdp > 0.25f) tdp = 0.25f; - contact.depth = tdp; + altContact.depth = tdp; if (reverse) { - contact.normal.X = offset.X; - contact.normal.Y = offset.Y; - contact.normal.Z = offset.Z; + altContact.normal.X = offset.X; + altContact.normal.Y = offset.Y; + altContact.normal.Z = offset.Z; } else { - contact.normal.X = -offset.X; - contact.normal.Y = -offset.Y; - contact.normal.Z = -offset.Z; - } - - feetcollision = true; - if (h < boneOff) - { - m_collideNormal.X = contact.normal.X; - m_collideNormal.Y = contact.normal.Y; - m_collideNormal.Z = contact.normal.Z; - IsColliding = true; + altContact.normal.X = -offset.X; + altContact.normal.Y = -offset.Y; + altContact.normal.Z = -offset.Z; } return true; } diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs index 0837bfb363..844d02bad1 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs @@ -951,7 +951,9 @@ namespace OpenSim.Region.PhysicsModule.ubOde SharedTmpcontact.surface.mu = mu; SharedTmpcontact.surface.bounce = bounce; - bool noskip = true; + d.ContactGeom altContact = new d.ContactGeom(); + bool useAltcontact; + bool noskip; if(dop1ava || dop2ava) smoothMesh = false; @@ -959,10 +961,11 @@ namespace OpenSim.Region.PhysicsModule.ubOde while (true) { noskip = true; + useAltcontact = false; if (dop1ava) { - if ((((OdeCharacter)p1).Collide(g1, g2, false, ref curContact, ref FeetCollision))) + if ((((OdeCharacter)p1).Collide(g1, g2, false, ref curContact, ref altContact , ref useAltcontact, ref FeetCollision))) { if (p2.PhysicsActorType == (int)ActorTypes.Agent) { @@ -977,7 +980,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde } else if (dop2ava) { - if ((((OdeCharacter)p2).Collide(g2, g1, true, ref curContact, ref FeetCollision))) + if ((((OdeCharacter)p2).Collide(g2, g1, true, ref curContact, ref altContact , ref useAltcontact, ref FeetCollision))) { if (p1.PhysicsActorType == (int)ActorTypes.Agent) { @@ -993,8 +996,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (noskip) { - Joint = CreateContacJoint(ref curContact,smoothMesh); - + if(useAltcontact) + Joint = CreateContacJoint(ref altContact,smoothMesh); + else + Joint = CreateContacJoint(ref curContact,smoothMesh); if (Joint == IntPtr.Zero) break; From c5a4c299cbe02d9ade7434c3db10d51302a1b303 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 2 Jul 2017 05:59:49 +0100 Subject: [PATCH 51/84] update ode.dll ( windows) --- bin/lib32/ode.dll | Bin 541696 -> 542208 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index f7677d2361c6abe8899cac33b184dd4821969f53..bd9ab627af73fde60d73e38a583db1b9f8933be5 100755 GIT binary patch delta 43864 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 delta 43799 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 KrZRrhP%v+*a1%0g>WNxm#$*roNy7 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%0AeP3mb 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 U;$C@)$aRkI&ALw&?`!b?07$dYYybcN delta 93694 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∈I;k4Dj?TwgR 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 P@NJgo&DzftSJe4m720Y- From 39751891f49afb07d57fadd3002655b498698e31 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 3 Jul 2017 22:47:27 +0100 Subject: [PATCH 52/84] ubOde: dont do avatar step climb on small true spheres. lets play simple football --- .../PhysicsModules/ubOde/ODECharacter.cs | 10 ++++++++-- bin/lib32/ode.dll | Bin 542208 -> 541696 bytes bin/lib64/ode.dll | Bin 635392 -> 635392 bytes 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs index 6016530ba5..3c4675c8de 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs @@ -944,6 +944,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde return true; } + if (gtype == d.GeomClassID.SphereClass) + { + if(d.GeomSphereGetRadius(other) < 0.5) + return true; + } + if (offset.Z > 0 || contact.normal.Z > 0.35f) { if (offset.Z <= 0) @@ -980,12 +986,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde offset.Normalize(); float tdp = contact.depth; - float t = contact.normal.Z * contact.normal.Z; + float t = offset.X; t = Math.Abs(t); if(t > 1e-6) { tdp /= t; - tdp *= offset.Z * offset.Z; + tdp *= contact.normal.X; } else tdp *= 10; diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index bd9ab627af73fde60d73e38a583db1b9f8933be5..9657355ce972c29f4e800f25a1da9dcff5eb4d6d 100755 GIT binary patch delta 49853 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Ν7x=9fs@ z5njL!^RT2sC))xAN_hDfm8fmO(HLz-6^eqKAQX33jdw7x#RC#*zX!5?S<_aeA-n2B zbUxgH*uyx@!78i5czZ#WBB6#{l&oj9+rP8o9kcpeBY2){Q5f{LgTLa))@qec&q?-bJNHu}gZsVt1xG=Ldq1 zdurrVIe^hs1`rL!IVj^+)iH<}_|)vFreReq9h9wdAffs^;V=y^&EEHw<2bWUVu>xG z#6G&j=AS>xA=DVU|1zi<2szc*5Tp7DxQS7f{r}6T{@b9=Io^ z=H2F=hSrr;|0iZfRAr{aKXJow{Bjk3R3J4g>Z#=Be&E)EMAkp2M=3{!BSfroR8qy}19vJ=Gw8*M{gaivRj&7FJQ$O5+&#f6AaE z+~Qnx#Ecpj9b)$i7a@?E@@CkpYVVeZ{|{XJ3Y!|C4L`M=ti_Gqgl- z3s&%NGPpARBlD1&(Z&rj#dcQzcOo)y86udW%x&iHFJd&xy?NZ1M@di z=Mb+z_HldC@E_&{4&z@%AvwD=S$c(6mD>1L9P%Y26!kwLs?o!(xG~v`?jItOO&;%qD)p%vMU`)Y(}zOoQGOz z_Rx7;_NL?Qg*9I8>C)|?%Xz?^j5p6Se+?KORb~Ie6sa_fCfw%u z+4B(#7b6z7X?D!A%yq1_ZQ|N!1=~0I+qzB1n z6S@$uH@IO6v_%}?0%HQNvpKJ|q&u=AY!PdDRsg=E9p8M(h#O0LK7iau-N74Cr>)H5 zaD8ixCwM*_ge_T}^CYofx{#5k+-xm_PlUuJxr>ZBFyTQov}qM>Ol1LphlX=NZfRT1H4GuD-~$OyC-@Q4#=w0T1j7{%%~*wXxA%JnK@Ya~dyH2QhQA-!3sF{A z8i9{nr$AoKzHE`ow0qjTxeo?2U}kqvk_9HS>w%<8V^eSs7-7x;w?!8)U&;E5lw80% zg3WEws#~mcH)3oxa&D2^`$y0*P|Ots)7<_1m2ULP%GaZNywkbKMkkipjf4;*JJgM| z2sJw9>N9KFvzKuyEWd#)BND}&8xXgO0${T%^!g>XzdP|HUd-N|Y$ZB*eh=bVjo8_SP+}zeSy3ptLvq;8ek9uM z>^i>Vl6Ccpy47+-t{;X*$b8nWKeYW!2n_+Cs@h=GMBDB!yXJEQ^_~X zJdpfEisjye$aF%+vfUBnee#pse=s>gfZu&6X-TfhK|{$Kl-T7BktCkDpRL$0!GP#z zx|m9AN-1+620WjzvSH+P@)jEsO*}{o_C_=br-Q$fcSMs@I&zg|jw1EzcP^K>{-_}l zj7Z`$aMMNcVcSNLX2iydN0Inu3tp&Y)O7+|4yepop zrnJTgHY}0Epd+6rk_i;utp7TaC)lLdNjJPUzfR_p6LNF-BYeMy1SeTha zk)3RnnG7H)?1q`7ka9L;Jb4paWP8Vxal}tzJ`0&iCQ|XL{Pj%o zojs^u+@Vaiz9Ba?&^63t$lLzd8kHg@Gb(uOsCk9|3Lq+-@|5!pqq$UiM2jRf*0`|Sgj)dLojvAR0C zLuz?FMv<=z=}}%TSV4vnnAN%~Nk(-(ddP@ZzG5G(Boo{X%hfb|G5j(2Ch&$$44b5l#W3lni8x$V|{j!^YGjaWa3S0 zonk#@Vr->D?_2EXoNJEkU{AzIsEfvVAXciXCRk35!Y!NV z3>$XokIi78jg(rlO9w~*nZRm&OHSz*09A^UvVz_Imh^72y@(hr$CZyu%gg)c^t|b> zHzX!t_YfPuDRIhQEc83ly2dGZyOiLZFc0MroADipN?;#KoXlanuJ48F`f`HeqzF4(u6EhX?~}?JVxos z))fHtQFf$&G>4qsDIl>!Q%@2D!WTXKvJ2$RGYV5%ckGLLnj*2q<*xK-4}XgI!g2&0 zm~*`x2kCtHpEd^*uo3#o?ls@SW|;@!3H{jGgT%{iJ8Kefq%uH2DaiAg7A0l z8B|b{jd^l+W`AZ?D@3tx`Fr~?R*H(mi8VSzyy(@Dtmh%9WhQ&$5NS>Gy_uCK4eS6< z7W=VMBx!M5=6)FOb(2|dypcWrFdUDGEjvs)(fs$>vBRV(31$k1da*i3Q1|}VtoISr zx&IzZ!JDMAWgNUXi{W>BlKbomwLcA3;;AD@JuEVi+4PLfpqZg~ps z^Bv~?1L;b|6>RViFm9i+g+D-}uCwESlFyk?Ooot)EUK6kkd@5+H1Xv{dz~iToBzHM z8a|JQ+_~=R(FPp0xe6HMDMid3GF@rjo2@=gf@!VZtmHI#OzZbz=g*L#RQDP4{gL$I zZ}X321dhNQ{E;jL`r&8EZSouIc@BZgk1XaKjQ$Ze?Hst(QvT!|AyTUbT`JElLe2C_ zwW?`L9~aY6_!sbS3_EcFx)31Wzd#ld4B)$$NG$aTU_V_#x2`bP5)#H6EFu0h*`F;e zA)&O1KPxUFJ&7B0y-Ws@Wo*P{5=boa(#r%#t&`*nSI8g&Eo*TN3_8NzxJLYHHb`?e zB(LX9nj(iYuhYn6TY3YFQsGdWpQdfmoe&8vhIBThsJmmx%bLcv04dbrNdW*;d77;n-lLK4alG z$Sm5bEjxSzF6;?=c!TsMvfSk+`Hi4+t!|N?RJW9wZ-GxfY|$;Uo|d0r?QfHYaNz@Q zlksFc+j*OOf=D!0A!7)6o$V`yxz4{sPLbK{gEEp$-%4e5?~+-D#gpK;M=NkI_I`@e zE0wLgO9n;Hc}sG#9Lmafi^;lrKgG$E({F>)4JBb;{PS~No`X=Q#ob)ynpZd*-qio}OZ`k@KKN_aDWO&UjpK^V4`Jhy2*+CbW zeHL+_^dpVrrS}mybIthUfuk5Tz70_#yFd@4uHL6D>!3Je_hc z5jPx0m8P*74@q!c|AO*zC@yTS7!&JX9&3VrCbClxu>}~;9y}z*hV`?dIQRW|{T_d& z^*~7%lscu9f5(1!2+{Fik-ww#9+vhyY2U0U>u<`w0CTJgWlxV$wy;CLleg&ZsjTxO zc!B9`)Fa5VR1QO@ws71x#5PRy6Mc> za5PNh#-~R?T1~_yhOB(CN5PaoOKkj1w6cc<{0V~UvDiP!2P90sji`{2{c`DJa+*Mm z_B|naqzilNDGbPB`OBx|0N0n4=cE$?{CN4J7o?L!(&f_volWTT3^`JwZxgamF4O@) zYRG-{6n7f3<)UhICLz`2&>9?$d>0NE*!DS`-WLL5ZJW8Z>^4L0byFj|i_3G2f5@umJo^&78uV!J5 zX#wfS^iAjkGE9Ebgf?`pwsL8C`Ebj9M2d}D(1ihqU*jK$_+jD;OUlcKSsp9zv5PI}DE+)7M||3=B@NYo{|@H*JX&4Yl75VdO>1B3 zMZDP{U)mTGi}AiRg{)#{ed&xEi8v-b3|`x)NGz@uHIZbtr4=nB;qvmm;ZV0(URFbc}aiyIx_qR5u?fZEH`&GN9L`y1Qkm9T-54$psxK z0_x_hbtl@9K8TV>ccO2JmyGR`q&QeiUrE3+^{s$oFf~+(-@_Yecp@4>i30LiSmiW!h6#Q;>(uzrgO+*RzH~bC$20p z81m%DP6yL5n7nrGL$e@;d-|Yc)8El~vw}aS6snBGif+~+cZX+1kT;#-4v}B26C+n_q_wj*qtiCy6?%#2*rPPuq zgi_{AZ=^9Pf`+!b;wCx8s&+G8dB;_9@-MO+*~?AgpV!?M7aZvqApB{saV%1i+2ja% zg|4eLyu_83R$4N4IIir`rU zrUd4`e+&%7*m*#AoRoKWzbH?M%YA=85*S<$qP)o=ewA+8!$}zdNR{E9$=->hI}Kx_ zakBTI!RdsVFEuHDu&yI$BKe825wvgJkoK619rep9BU8#!{8F4OClx1|-5WvMxC?4l zoR$@*X63WCBdMQzVLM(aP|FEab28b)k+cQopUXzl@E)0?!9-;kRs{W&L->X>Ggnz^ zusp_ML$)y!Pif&KZ>@bu8mpnD2!-|oH&Y}CVYfDjfP6&ojID; zhjU*!n)V3J83_Xm3*@W(fG_Sce?ZDpnKKCOuQ5JD1H+WGpRh2G71LqLlU>AV7%b*N z^{prkS)Byh4`y~m0*&%0XoX5cli~BR#2;;(9qYkdN3~iLf3mpq_IMm^)2Cac z#+xtI6;Wj-Pu}OGAIEGbTxs1G>1?ABdS+5;^2|j>UnDG#BXQ6)NvVF4CBH#48{3+~ z+}u0bpKFtT=ev?s!-!gdogy&dHKf#6iuBg^Mmtlsb(4l>(#iE}(=xRTNo zcn7InO>yG;8C=w&%v?$KJVt57&Wz*fEi9bWNTGK~to%m`y^LPU=O)nG1m^6(B-*t) z_guNdal$%Weldy067naDNu_1=FV?43W~e8!?z-^Ee=Li8n}$#jxAtv1sFsQAG~XM* zqEm^dQQ6J@dYk^~w)3{g2g|XP7bllbrd#>+VCxh*5|bYNRGL+%!A-S{wj{`x2C;_p z(Nww~H{9gl8MG%M-Pr7z^fS_m8E4T0Sc1Afi@xiegceIA8ylBSpO6^&wRfpAB}3Tw z4BD-l`$eGCl}JhQ7a6nzUrxD{iA%ArOq@e|WnADF9zKXRBD9+T>1yKzBmBVvA5{@O ziE{A*PkXe`(o~s+yOy~h__fs1g3?2Wd^red%PFX?r>L|7#C|VllEEJ1ZjbS>$9UQk z)PVy}5{$WWa%EXbc`ot7d{B?hq3L8P3w;m4!!IoJJ=!c|7DxR)FU}3Vq`ax7c~d+s zDx=i2gA{i`8KkBiq`Fh(i-jQdeMeW^iDI#He7vW;zLQecgr^NiS2_{jez=bTvz44v z(}{Uy(dOM6bmk&F4C3pnjOO28s^V*TJRA}mq&x{goT4geFfuXcf}{hv@|zD!&!S$v z{LYK&P7jb8A&Tp`C}KZtkH`yq@PLLdh)2c7C>vFfi^;5D31g4bNC@f}b|H(-um1%_ zv+z)`+|C#e?~2otd#Ye=`YpE zSMncU(<2m~{J=LfL9EC1!V&lU2+f5p=@6xOvW|P{w>X!5e=iRef0C!|rv^&;$P2!u zC!soWOg_D*qxuJO*ipJv!YZ`=1Z@rv`1}McN?jIslHNs6d`{6(Bu$=kibfG0NuT=x zkqs8?ifLPt&e|8#fXetfomq-$<2v&!q7#q*Uxopl*uG-an#XPz)23L1az0H%U9Vk# z!8eLr>@m?tb&J`E({vkI%k*dH7}{+CJAH<_vpHwz5OR(c14jOm1Ae4_1hMREXQ>C- zz+ZJ(?pfLhByTxOC$MkM(avn(Ir=6!#&(?p|NU9LpJ-RC>ks*f_9b`OlAmZls$a!y zKhYM{Y1NAJ2rwVBCg*8LW5X&e?UwTk1Gtu`x17SIOQkD97>myAvWm?<4;}Yp`_BW7 z2P;2MhkN>}73#(>b~Zr35)&|`g0FS4xSGsHmTIHX)sLY>WSMuj1U;*Df!5XSM;dvh zHrm8}JHGjyMod@iAuf?<&Afp%vcmwZVIg+vt6QcOe%lT%FJK?r!M${L94Xy&E$0O< z<@olyKye3{jk-Xa>f*KR%nRUE9NT&U6-~^3fwrzdS?wZF2D7dgkrTkiT%;W;(5$+M zQVx_w7ir53+ihyt9rvNLp>VfJ{Tr_S4OagKsDFLczh3HJ5B0C8{=E+}3U}XC|0?R= ztLk4H|CI<W$bDY-TA`TRD8JEu}vxAG%G~oPo0Ghx><25=k z!ZAYi9auDhc8EXKfUzcszee+Y947)@{gX^)NAs6CM9dwU%GF@+H5v@t^7I-F>}dui zQRNP!=I*HEK+{u0!z($^w9z0eQzbZwrCz7qYo%+Q`2wr1mZ8y+W~_i*r(IOcrmC2S zCP!8fn1Pc#Xe%}?ssi&w4Kkm5Ka)9$wYxzB+Ah{G7Xq_=zGubwF3_M`Rj5}5G?RUB zgEnjy(%}U>y55|RLgvj{$wUozv{8&Q?`GfMply4csFK|P+4#`~Rd&{CHR^HPSh7-K zhcp-k444a9tv$LXgR<`G5d+|=Iqr%_Mk#}T<(V$#vsLh_=N(_gyOAGB`WxP*%yN^q z$hcXh=1?>R_NWA_mg$u8rB+jO99K1p0s(_3QYY|{CR__v=O7{+vH5NlY=n2lL5HI+ zFCLVakEmEuSJ%~9ho7kn_7ZyjOxxAd=6``fEjP{$_>CIO+pADkA03EQUK;|sVQn3} zuMOI8^K4WhY}{0wKG(j_E1&ak*76o@m2tlcj_no2&5x@g9dvkjO11L3(-9z;HE#}AFdQL9NCylPy7(=hWt%;<8b-vjeo6@h#~u=(3Yv!_ zLpcUunJ#xVN;_4egzRPABU64gizsF`I#6eXgd&5p@BUhq5F>(U{H6&e;aMu`a253> zN2W3fK+CY;DD#O5$fA3kfv63WBO&rY}XT7sy(a(hk)FD(W|8 zNk~@&Mk`8bN1YLQ=DX}IoKuwhA2YTT&81i(srp^l{x zX;0+_s3~oSGzx|wip;lHF!UzhE8}E;Q0v8Hay?rX%99lct3S~>yfUD$6N0AfcjA} zmNpFgT=SgSlA7d#jRX+BZKCMp6 zrn19=km-E?IlRx+=W>K7>=H3Y7ODve#C_K1FZljc#Xs$+!#4+TvL}_TsV?}?`_EZn zb)hG@#7GUHFKLeL7~xC4JoUguSd`)3LNMScLBzMkexji)6}C4b(_1urTO2AHkT4l= z44`Z@2j_EeW`ClB*EJ=EvM>%d_yT-&qyroYaC;6eZVT|@EF?YEQrJ%aws;RUl-1

m7MRR|yhSemQQoh)KsxeD!Q`Dg5ktMD%NiAK8#lSJN+lXV0h z`9H2Bq+nfPjJx1U$sl=hJ>fO1GqAHB$jxNs9>VL`gMPh%aJJFL4_}m*iI#YEr8@m+ zwlSEi7ye;SAhMy*yqRAE!4QIHB%ZhNY{1hDPp0Gh19^Ev0q69v!r&={(D>h2-^M}= z6@OzNHU{DOa!F%hs2-~(ZCeOG6LLqc<166MRH~fYN+=*?n>@6Q@K7Lo<&gG*iIDN~ zvJS!v5i7RV&O%p0JLStKx(J07N1YaT6PnRM-^h90gf4{E*(sNG7k20|w_Y0}{H9+C zmzg3cQyB{t#?}iSDj1^i%)ql6&zE@44rR6b3B9mF6WLGjC2mO{BZ`4}$3ATGC7(F9 zAWRsKY4vYm0RDz#*DZ!=`-qSDD%mj>A+s`f!5FWaYdibn7H!OfJ>L^1W%2x&o zUrK0gkx7^bR@R9Wd^%^M0sO|qVO+R7e5vM2q--Z~H}ue@nu{yG3$;8oeTtV_z$Qit zKe{d81&VO+HWbZEi`md9VIkQpUx*S~a=oCjLKwg5KOjzM)KE!$p>9ZYNP1D8yGUIm z!-mDM7$rlV9VbKx9-Gm5TY>GM<2Wx)fcx2tF4f%3u8$HPk^9URFAM@Q<7lC0EwwB{ zCH02Y-(v~FYOod>#K1Sk6sz=y;17$zlHVluL5eUMYka??2st&#JbBtw;i;h4 zufvdZc3Q_~&J^ZgoSw}TI@fRl5I-;iMi;Z7S%NRsuVdq82~m2U5zC?ZvxKgI%74ug zJf+S?fN@zVT+9jA=Y+f1<2u+Seh4uq90%e8a>CuQq#N#$6YhD`$rDBGra-%7U<2m} zp2VHKF$Y@X$y&W9EY$lV7ee=myzf2X7^zXM)r<1se4qGg2ljrpaMpR`YZzI@$i~kV zMmRsg@W$X!R?%Exyz@de5iNI{Cp@l0M#-H%6x;|Mw1>%)#v3$HD;8fi+zxcq%Hka=!3&QXFnC*5=bHo-6RB4k4dcCW}y*Vze#8cvsA8li6mVfx!{==3W}z*6xJfXwXMd;OCWv)6VAotXc2ut(mZVzTYvn9_Nj zDE7wJ=wMx6mh&}wZEwjAe=Wq5-LiL{5GK~x@c4PT^1%cAX~^D@;S=|>9kLJ!b1du@ zyeSl-#aJJ zr)!qUZx#w)Q{uv!91;BR8gxV$htgjkf#AS3Jv%CF#Zi;bj|q1GU0x(?22}2KToCbN zWy@IT30UKmY{m)DvXUJ?A%xKd%UGS0!sMpv!3S&vRP5^F9@AmyyuE zlTU&XE1B)2uoo}uDUL?|`IJzTxAO1@p+Ermn;(Tq6vrUd*x(t9ILl*$0qmW#;DaCA zaaM@J(G2mN@E4B_Ui>7qA$hFzc^GVDo)`QwI{b=A0aso2RYnTQJW|-_h!o;0BZXuh zDeQAZ3h|YZLNbpO_BkSj_;nSLLNbpO_Ekm-$@r-h;H-!gl6j=Ck4FkM(RO@JJnr{g zztq^o#@mD*h^s!c!R0MtH*H`bj^o>f48#ko>_S_S{-KwTmB4mmp6h-E5s#N#a7Czv zr2OMm0ecuL*-zJmw)O32R0BDo^mT*=xPxO$Hl|;y=^;0~&KsDI>*H`6d{GC{LwH5> zkjf_B5Sn{0x*-@o#j_XBX*}Xh!7vB!tB&tqZ?La#2$yQPws~HT^#wk~`jNaSSH5M< zeippgcQ-LY#q8uwA;e`->&haL%=2fV6CKi8HvJ6xUFV#9u5CIbVACN$-f~N*OsN$>WD_to6Y90 z6!vKyF_s);PwR-y>AjV*m%DhjI=L@DY9dO`ct7*rXVskl8ck(mO-j>N*=3lLY3n{tEB;&G8ao+;nzCPw(^)7Qfeo9~Zh-4jK# z^I|oXDQ`&>+fu!P6y{G(?DA`3`|8C=r8o^UuS>yI1hG}M-Hx<@4R~Gja^9d;#hTvh z;*DwnpYXCV<_;`=jOgv`f#fi=iOn4&wy5?@tvB49D(@U4`Vbt&xsWU_rZv~0kU5=K zB+4x|?G5oea#!wZ7MBwk`jg|u1=x>?NfEogQm|0|Fh%T7Yj^n6+3@LNv)+L7w)(;o zB~mzhI6-WIsHfpXu?3qkQFLJu6UF-VgHSN0{5&RziG`Po5Hv+1We#LBCyK9mZs3_E zqiyBqOZwUNtU(F|l&9Ep!Op;+6U9};LtZjTT#uh*Wd5mQry7pHD>BM#W~r%S*G3hQ zm|mJ@xXK}>ixCv&GIF*!l~nHlT*D(Ru2>E| zogpqTcp{B^Nqz{Hu#t-<$7hOzgr>Y$ic?OESI!V$?usY*Sz`1tIA$$c!dy`I$1Jf| zwP>|ajCrx#Fk7rkv8UEyp6FL&5x|%QdSPXjy)jR0j#-aop128T^Ze(Fo$wkrA4A-c zEt-$9NM(8R#WlRIkqgAvoMGqkJ`m&aGAu^TH|2oE;s}Cl_Q4WyEOz7`EfELuWS^zt zy=v+ZpNNAR9O6`!jy$HG@N~?e!H;LNlz;>p z#CbeNOVP?Kd2*3>UBqN@_$e59-pI^iafCB@M?QOA+~Qn`F8hkOOlYeH(J>@| zE|{ZJf4VbC*(rCsAzl#478%!jG<4nWh~4${NV+`bx2oj5{TC;1Z)g>KTal>1r~bNT zlJdRW{JD5pB>QAar5Y+H-9#y&lBzUO0#!S^Y2$%4ljF)JB!ETzJPb~Pnbt%_*Hj}4=uRq|kf=bXj?M&*&Re=9;>@+KrGuzC zt*Q_;y_K|9Xtv2+BPyN~^&t|#631Dkc5Q-!6WeX2TYQ?@xRYd1iE1Ap`B!fsZvJPL z66IOFqp8X_g*I74=b)VGq6Cqty_l>98)`bm0k z*ai)dJ|Yq9&H$+uJ@PKAJ5Y+|;5P?KLn`UWA1J-2CGrQb0fVGAu%c52NnSWVykd}q zQ@c~;{zIi+>RGkn#Pa6l6Ojmpg=O}E=?3&dvbnY8MF=yu=a zLS!_!eVhNMtx>+uI-aap8RS#8Me@yfsSBwXf7UEP3Tl>k<5_tuG$w%mba%31LJ~sT zfeWp#3A*qWo1Gvnf&DQgf~D5$Yn+72~s~}wR6u@V`}95Nm8DiRcZC&{OOQ8 z+tUO)UXPuhAThAvt%(?HTtJy9ji-P8C_kDgjpE#id<*S|one-V;LfifO3m1JfDpa> z^IK9k)xLR6md4P++49`U5{}$C91p8D1?^8d@l5qQ>iDE8iAYxPD%jEfEH-(Hw8Zlj z9(jRB++D>*<_<9^a2r#>q&MVwQ>9Lvq&?FlZ+fkWc})dL!gLJSM!ElVSQ@T0U1v(^ zFq1oHNItRTkMLCnKL%yYA}7;P+iS87P>9b&&^^KNgJ zYO;&(qV+4X>ud?<2W_l(hUD!s>fkdzzX?KQXk>k|r21TbJlKKHrRr>B2H4b0K9M2e z|D*xJis!tvUaY};Qh%TL@2U`#stiW*?*xtijuTWxm|kU+HyFj8Ww6SqMXX~M7&Tm8 znWfQKlr4Fa)9h}xltNa>v2&&0G?|_+#gTFHhWXN*m*eHPPzpDO%i4JPad}Bqx*-XQ ze7U>?I#@KEtz0NA2Lsw!ATMcbfCWwVl($=8cLBY!2u@fD> zI@PB6tw*y{S^xDIfZp=9^^!kt_WCDKj@=)z@bzGf-=|QHcjeSiCGCuL$Y)Y2SB}r5 zCoh%bn@wo-;HoNCEl$ZpvQidJuvBMQqs?loTQ@^79<9_Y>66W{q~FTzw`e?1`W!mZ zo&B3m-~zV%%jeP!mGNi3ltL;c!gH(C-+RQeDkP*T1Ce}%gz?L`E_7ylw@Ra4RRdaS zQ@Oo>8f??lV4G$yj(-J~{IH~oQT5*r-CQP**e(^T#I*TZ3M4J$m%hC8_rxf07 z_9BfaRU;-SZy^byG>zbVd7mYIBQ1ZG92W;U;i`~sWrkfKXR17Hm!={cWsviG4*On~ z%-CM>-;Kb98wmHkQg|gt#_W~)H>*9rO5@WN0m)Yy_h!fUs)I6mA4H)ao4yYXxyo1e zX~SVSfQA-kvl;s!3S}}BYVrZ84IP@zuI`iC%g_c*2PS_fjltp8pT3iDv#}QYvOpS2 z3fQv(DH<_ODf%l|zq7D_%eITWAA_o2@ z&605U{K%hDTad~g{V6S}ER_2gW(bA;dMx3mCi3PmpC?kUX8fL%IswFOD5Lr_4fya& z5ioNONO9rUlCqyjzpKJA^BKJDjXCU_XOed%*2~WjHQZ!|=Tac=$-w7`vg@$y=Th^^ zBHNxzVRg7qP7!S49LzAe1;eHlbABNOkq{R8LJFuXobf`kR@0UTK$hI7Tsl@0*K%*V z=sMThi~&^MpZTJ^V#dl^*VMsuzQ=~I6tT3bhV1Ha5L$6Ys-U`OC_T^--LXj4z;hdqb5db(#i?n!c@ z+4`Y6cQ&cME+3Upx-S2&DMxzf1`-k}uW6tgEpcu>ZKCt!?*>hE{aKSeI)ezQ?II^P z)orHz*ELmDF`fTL)CSPOr)_D`rD5Q7dt$f7uw4ZL`o#1&&cX^n% z&PNgh8a^v$wFc_y$xB=6ej`n*aO$*zG1Go@$MQG|=k5KJlkC%0y6!!GsQ;`y2K-6o zI(ZNY@CX0*jKA^6&NCc`?j3o`6z0)d_d9xDvyBcv)~zx@e%3|@w>6B7Y^!UB-=xWD ztMjYV()}gY?VR8v@$A>`I{45iT?jL_(=B<0r$4mQeG7E8rs^8Vo7!`9Hd*SZ^PmL3 z=;5zxi5tsd{<@}QlRVB}_owOy?-%PD;tt}>F1mJ=QutLDz&5h)yXd<1{h~VW)K%3V|{mBU|qra74+&Lea!B4*D1g-=_g<~5u~fe%6sVKijEcs@s55ax9g>I zp`$I zl&(?TW&rm1~PyfHh-UUwP>i-{q&tB#|Sj@UE7PBrP zm)`ezzvq3K5pqc^snC{Lm#kVfSgbyn6$+shd8^2{gyb?<4W$~nq|j%DPm;7Etx^rC z6rcQ`=RLCwpT57xe;$w5zRuZbOFft$czH}(OcWv<4@Zgru=m=GVy8qv$m!;jRmeJ z75Bn^>$iLrWW`kuHERXzLiUqKt|1&qsAt}Mvf?TqMj08B=~`f~*N{+vU@y4HTC~=u zz471X{R`~P%(VggXBf+)wdm%!$+v%mwB?7fBGV#c#@hSYQhqpW>eFD3=f~M=r$i2$ z%n*A^vvHBVUV}}Ct#(4BKafm*LQvVOf%)zcjE z^x6%4)n>J@cudXD$o;T-Au?r1;-V@g=85I7nmZjH|cr(iad*gkq5kGD^7h_IB)9v{GRp)j^{+eO0n}VlpwO+8dYI>5wuTdXKd$GG?c6RBF z?ntDm^!RFcuJG^54r$x4@fvI&vX*_I#r9%9)WL=U{q?`11Mo2Dmr;Xs-R9e`fk2clKh7$scjf zOJ=&u{C>Xuo}1fF)0gZGZE8e($^I{!>-I$uf1TgWe&kk$%<@vZP=8(cf9GqF*=PY= z1*y7oy1JS@7g(;sviyE8+xI3NjW>*TsFzx8oxnU@R~ix zHaN2FHB40Fn=^8|)u&gsFn?T@nX%UQNI3szd=wp596S2w4uvX?<%mDQ$4FnIiCRgA2A(~i>#T;p2o%sJ-8wb+@{ z@zXv#z83p`4*S2GiNQVugY8me8La7g8$0;trV4b+JQ9wg0)0Dj)6lMOHZRUW3^f03 z`|4XZ`jL76MmzUEHtK^t-(o!$S-KH(XuX{+AzK4MZq@2|Ei!I19^u)xM0#(xA4`pg zq{2>nk5t|_6KYCC6GY!6BrUGIo0QJA0;c4UbR7sPjmYL*_CD#h4jes!PyWMV!ev-gvj=s)K7A0w7r zYc@Cl$FtVF?|}UVDDL~j@-D>VNBB?e_`&9&$fASx!B)_Xc(CWqe)x{q`**xM5Z{VP zluf$Q7Bf8G!LL@Ms97J()ZX_nAy$H zJl+r0jJ^hne$8pJHCv0vaG{@$M_rbRW-Xox8{M2kb5QOaBf==(VN!5=ZY! z49~>y9Fb8x{eUe+s%ie+na++J6X^cd@Y;HkRQ$Y$&aHFao~+`7mH)AuQySBaZ9kZ) zD*a!`#HRCYm1xo@6MagLRM+Vqwv;DR&7YdmE+-z3<6X^o0Wz_bN>8fUv>ENjH!yY? z^l#v`_8QVH^Gh%NPL(jLpBsI2Ut4PI#$S;eo#`o7AE$PYPeHglE#B1V#qP<Ha{+{d5Q0u}DfjjbQME`M^*pe~S71 zPS#O^IveA6AI`~+ig2fnk4xc!Zy(gA@2aGX zzfB6d`FK^;epFdfCM2XJ@UR44IDwv@B(*%Z^5?S&snW#Tq(Z@OR8>8Xs^D$9?~|xX zoHu6%EQQMdSlZ$rOEdnl^!IP$y-CO=(|k5wgx{%jE~e{sy4j6Hn~~c&5~V8=rRMZv z+DPg;bk*k{8RUN~ZSjw#8UI-N`qSTx|iSDA_MPIv7 zP&yOd@e~x6{Nvk#5Gmb%vvenU^T-9saV_z~q&*9_qzrjyGM!~>?FVHE08YsIj2uNf z2f*W2Qm?@=|sIg^RX$oRaj(BL5X$FND%s;c;aU-Nw>@U#asC{?R4EkIbC;C zP9Jcr-27+?eV0u$FHE6Zg1hEax`}lfARJj8yAHUPQ_Yva(Mq%PRJwUTZ6kW|J>?8M zKsn3%P)@%G={(9=0w^Vb`sfhKxf(b;g>o8C(EkIZ%V@!WEvJ!hhq(oe4mbCy3xIir9WfI=D8+0Rqy7I+Ml8Kk@9l!3HlDO!Gwa#jFHFDT@l03ym^jt|n! zjl9jYGt?Ya+ac|pI9W-Qa)z3rqrg{C?<}XB%zkL)<9L1SFz7#n*mCppAT4$35snX- zIs!UCjL@Ht512Hy6!rei(CCkldC`scrcACDIk{Sxs@ zQC6NP%YD!0449*)(ZRRbzAk^?XG)1-b^_(mM7jU9co`|bh;kpk0ZXi@B8e}Cw6HT?7frW2 zE2`O@Eanm*>Unqo|MOr8l-ZU)AwNAPO9W-~tFXS1h8x?_Yr;f2!T- zhx!8vT@ji1_#b-cxRMnT)Vb2J5;zSa%?Q=r-2F zgf*Frur3Ab^*dNIHo)}(Znc`Tgl?`RlM&V(V9f;?Ns~`Hz>j?K|FBO2yO>N$$d8du zC$W?9?m+$!;8x3r32QPLVU3Ya-@%%Jo!JGr#hUXf-CR#5Bdi%Y=rqVkntVvBe&mai zSrc=LCz`L(4IfJ;CoBS5Po8#CmW{GxYawNA(bS$VOgQ4^ynL4FCK>^6>9 z!I4f#4_TufRE{K(Pd=oLiaR-yR-#3OKNrzA2Z?kNAHtV~d2^KyW3~lg9EuTUf8=!Q_@mSp~|j-XYq7&?%dQ zW2Bt)-)y=Z7LiOwSg(V%H^@kud`PeIkPqC(ItHxxp8SI4P-!TMnhZ0He3X<~jqE0r zA@dBOjNL&=k%$Zsr_2n2GG?+NQ2Iz|;zMNSBJaORnNKKv<}^ZCdIx0)`S4B3Erhbv zJVGcd?x2j3JYu|f>$Vki^V>+sM%Dq<0wKW%V^~2q6tfdqQba!GEgjC`i88`M^i_oX zEC4Z))xcNG*^o}&ioJqvQa_rYCftOh9QhOGm!L=|RaQH7P3KBFO}Vo%M=OW36{1VR zNE_i4$+_0VZ4obq)9Ut)}bNrx4$g zBJv>u@vk?WS!Sa*>E=>$6{!w@t49(!>E1x(hZB}WdEhRy6FSo&iHxv@z`7`@jIgdo zJ`BJw$fLz+2lid?nAyuq6{Q&VpS!R z5Hd#_j5~>qbYm9si;`F!=CrkNp~+-~l>zJCJ6Mk)UqM*SGo)X8P1{<`pcCOY;UFK< zfD8E!fF5SYwRH22$<>5pG6d({!BU8PvBfe8EMjssVc7tdb$77rKz=VEFJT26tYPTM zWQ4UGtXGm)iHg$@U;0h*JO?jH8vc}R>4?r0A~SppQEWRfN_9Tfb#%pIvSk; zFf-TVNtn~@xSnp0ZEO%h0dpphIdDCmcx^Bjtf!l&l#ew}ucz-e!zeTBy-mB!QzYd> zs+xaXd|C_4QE!90)O_V_y07Vfo6hJ+=ISV_$!wniCWiA1Fxi;?3ru3s8bx@$4Le^>;LE@?FlDaTNVoSe6XJ~+z@(Ahz(mYoU?Qdfn24DG zOvKCpCW8o1FzuV@yK7b;-y(fsBf{Ik%-jTb>YNxC*#wwW5pmdFP=&rP*n}aJnC}Cb zrJFF+E1RI>T_ok&j8r8_^+pPFG zzc~oVL`a-rmTrNRfk+Yi*g`jN9eXxD{%Z+r|5rSp2}}k{balca#Q<`)((S7S5)}V3 zA41l2ZH2JOX8u-;qW4zXQS*F)lc;H(RgO2Up8+X4Qga*KzJ6$OyoqhVRr(anY1^_u|(CiDW+6L-;I&ymx04SHO?^sxQb(z z*}05vUNf91BJ;eJRBAp1R5O|&Br>3Z?XVT9 zBu-ctxT-}c0aev<6IH{^3t&zOm6#3Qfx(q0D2Wiw%z1|hnU)X&TqUHys;ZWos2XOz z^$vOvN>C8ya*Lv7c~a4Js|W_wF+#Ur9Krk}puxI-E^g2T<~)>FD@|mVn7fg!9!+GA zK4<CJXFz0$)j#SDz6V=Q4Ni zpxYPvk+sAn@a#nO@&w+Vzz2aXaS41SQC=O-NXX2%fbldE|HzG^4ka+j&%_PaCIBfn z5pC2XLZ}+%n4MT40doOC-OVjPwZ1QmlWhb3xX?VklWt)D@M+rl)zju*JL$&u9|LGA z5NZ4_y*@ql)at?J#~;!;!RYi<3b&qA$y=#Z7!X^C{3}Q=PNf2iQmG0vm115^rCcau zkoUg~44M#d=?AHJWROZlS0D{=t_D3Ifco5(C<8=Sp&YmbI0RsJ+Nf{{X+ZSN)F4&< z8vGgvD&7Q!ka9u@A%4;kfFI@MfC?};mjMHE(YT8=@;Z2yq9NofASZU+MwLTG0N{cQ z3Vbfq1t32JpthjVFgk&BDcT9I3PK17T_7x7hYG?-dbS+GAg}`Y80tb`ssKY2w6O&k z4H^%iJPas@21-!oB7hDt;0?Wj&f*_c9-L;ok$t_MjeeO2Fd-j)JEo6Qg#b zBXu$2I_NwBVr^k1q2}N!{{q8dg?c*6*$~H zjq_bCD<(uL?4x~WUNHf3zKj!fX;Kv{oP!0$IoPdhF6v_n%4aIZ< zJ0Hh(0tg{Z_yVLHI2ud{4kJ^FN(vREky7MInLi(ZGAA%;7%HPeDEB1t#)@>{cd#NKLpp?S*5>YsgDYzG+DCT^G8kI`WzK!5KL=hw7$y=0 zxR55`2RP58>@4H}i2diHz8p{i2oXT{s=8a%ehKpALDmI7o}^kvP;ZA z_t9PK#OqY7Gw|hvxeIbc>*`95etYnH%(}1mOD? z^ne(^h5iy#cL8Dm3i(oCBAdvJCFJ@qV;s;+6m#!_4KOcY4xa}e2>cNG1nhhmb;D5h zIOc39=Ik-7*W5fSL6xJR^f6RC3XF6N*bid=(_lh63?^n)Dn;R+s)WyAIiMj1-~*I@ zj0OPV{eXQaN5d{Tjj8|ylr)O+U~K~^97S55UYs z2LQQ9S4>A5jkwgbn+^F<7B0hr$8x|M{HYS;OMnBw70+SBfY1%pgRit6d_fbe{|T5` zESWHX`Y(I}fgm!(9g;O#4(tb5uFQ`$NAhFfiGXtfWNn5gpc4RUBD@hGb`dn_WHdLG z!jmftLh#*WgD3?K07?>hQsyg09r&0@82IEgDi}s40LCzS8rXu7Vgqrmhp@}=IvY_2 zDA|C~0-Q+a0+$0~0OoB>2ONY85C)GE`3m3==zIV_aYld&0%Tc&Ck&bx>Pi8j4XHz@ zC<>-@`nH0O41kOhw7!p!o*Y^8 z2|f5;{5sZ_;b;QXG{e!bV>!Oa2TP_pc{@KeyzkH_M+__S`H;V@{NDU=BT!my=Epgw zWH_2bz_NI5Cs5Pd=!<(jGwSK0`$iRy7*2$h<2AWfi$D$2IZINzn*YqyXMAB{yaQ%F zNYDyUU9+^NBcm!EuIWfiq|+a=gdMJF_2;KJL$z9tmi2G%&%MtSTZEl!IT|*)y{b!o zVBGk^`0&QmvRa&1%M!N{#CMGA!Opo42J(jyYN8|aOq}7ranz``qxl`u2aFx{z=&}L zR^$C@I~t3HoPfSQr&eC^d& zz2r9SZfl(1Wjb1-L)Ge7ifI=|W9ndH^6EJ1p$2Kv;}vzRzPw+@B0p2d(S~r!^(yqzTu?c+HVGvcx*-Ib7&pyLygm_JP>JsFobd4d))0R>&>&Vcs#` zHRv4$Uya?1YRF~sW89t9A?j##sybiYpuVf_R}ZO|)D*3{)H$5!#C)1L`4i<>8H$9hI-a`&Uwnzt7=DW0cqW5qcVW< zW&Fv7uLJ7AyvWqzng;nV_zMCneIU7%rfMg(#Gw2(ioA8p%^a6*NPXS!x>MyEa&x(d z+)gdh7VAIhZH&#vd4mertRcO{oZwcwH@i={!Bi3#{t;J8*dauP&xEtWcJU+e-{M*E zpxV+)mD(sW;8k21x1T%6?d5|Tg*V)_WS2ZjPEii1&ywDT;zUarANLMdPnaW|5zb1N zq%66moGWiIS`gibZ4@F1stprh2C@CQ>ztd{`3Lwxf?rrE92dS8z88KHhNzR(t!f9Y zMEgSfS)=sH`gHw}mx|h`z2Ke2OqH((WxK*F_bQJnPbp)SPn1ffh9}e0&Lemp@(l45 zdV-$WP-dBDl)hWfG1?e{p%@PsgN?Dqv&J-ImNDNjjb+A4V;yv|-FVOV$T(meHjWx6 zjSA@KC*xP+PlNK(-kRP9-fVAG%8MBgE$82V{Gw(4U1(^fP zVdf}vlBrY$9kTdtD(h5L=W#-;Gp_}Y9H-;8g`x8oUJ;x)bt-;?jd58xl=^ZAkd(|i#>i4XG6 z^K|2Ll|)DSX-hC(x;m2kJf z3T{Ccx(dC7T;UPnF=3eSq!17$2vdaV!YpCF@QU!dutHcTY!b?Z_k`WT$FTQf!bzAb zF}^FpUjil4VokBG*jRLlcZnTEUQ|S%c%Rr?d{7)D4iTRagN5Q)agrDmXNq&hmqk;Q zr7dz7WxKM<^N!~$kD&V1RQQmN+P&IC+9++6woN;vozh{x74cOPl>RH#akp|S?%r;{ zdz9Kz=k?zDbYrnm*Gt9XG@ZFGxm5m~_=WT=d_*64hW@*L$|&(xcyUS~=Z7r(-NPJV zeqdH|y(HEBCvgL_;>l1 zk|LEzGo>xke(9uCA$=$1yQ6X~WwWwFIiMU-&MFUh9`*dov(pg0i0~}Gy_{LjwhY3t zzr;uRCozV%Fq7|L7H4?odD`p6`h3z*NeV@jp~1?xvmLpA3uW$K+`qYBP(12FOovB* zNI$Bd(HmN8dx&>9mN8kxR4L+O@O5U=*jLzn+;i%BxFWkYU4PGbpDf={TTU_s;Y#@UDP2`NVt78}nZEQWYsw5qw8ACNsz|jLeK= z#xrj+Tba+9OU$1P&DLkTvHh{e7hu#|*srmEU0fUPUhWC*8E!uJ3bzsd`!nuG?h=>5 zx8m>T`}6bpSNIS3b680?c)QR+7$A%jiiMzH3hRZ>g=<&|oy5W7EODOrj`*JVgIHav zEooAL6kI4R!JJ)|TDsf1A9N3Nm$+xTUvw{Uo9<=qRj`1~?(OdP+`HW$yAQjMx=&!6 zsc@fjSGq5{W9}>NtM2P=93^CjoFO-nJIY>p0CtiU@;mY&`5XBUxsGx-ocmz7_BqO% z${yus#o=l1(LH@V!#$Hc^F0THp07Q>c+%8H*!#MwgVop7jp~Q$G4+D_x2kFnXhXCj zZMOCXmfhc4UA?vL)_dx6^yT^<{Zsvf{)2u)_ZYp5$F03!F?NCXjmw6^+YJ8wKJOs! z3*Ncj<=$=HKjJPs23vyKYcnmGe$2znC^+Tda%MFXVZLQ*uyxoTaIjCpsm^BSv#Zz` z`x|SA+sx*2IDwPlFnwHCt_Rnf%Z1Mz$c^D9av^Rj{Npa}b4*4$Ux#nVx8=L>kMM>3 zRQSAC`H%Ro`73-4p#@x7H({QzR@f)}F4PnmQ4~jth2m>Lak==p_=QMI8B%BIJ}F;X zB)uw?Nf)uKce;l$pw2?3}bG z!{hd7SY}H+n?3tIM?9B2*F8>EQ6EtA)mPMg>X+(os!!{uJ*-XA=4dZzVXaIH?$CB= zQEjhw0Di4pJEon`PH7d|IqkZ((8$E5$#`G&hGFwK@4(`lFdU+!w;3PX724{}=CU#$ z=F8yGcVQ8K%V!DMf(y=jq_9+&YpgQfF+MfEHZB?Uu<7>j4#O_{9q}@7ZgF|NgRGxj zDb$r(NGisDR{B%w?JkwSmzyegDU2dweBG7a$^hkYWf&ra@yfHx3}v>mP+6j!R=Rom zV1!R$yM{nls^wHtm~p}zLOm%<%9dPGE2*v2L1H99dRmUimk^#ksLWF+Ce`w!!zBv- z*OzLo?_rD=QJmn`h%g)>$!PCkmNFsO$2w*M6J}!Anj2Zma45F`vwo3(K*$$5U?a&F z$BR?M_FAd775Y1`UDi_c3|-VK^q=)iV-iBTRLhC2;4W~L{LlQ8n9_;z9@(a31`+ub zVpOw~#mZ`Bs}fZ{Q%)%(;cmawE@`-^q)7PNhJAtiLg+5dm7a4i(P(2L>0}9xjzG28 zZU{+7@ZN^B8!Ejn9g)70zLkEL(%=n-xW~I^!xwz6{-sh{rq)X9q%GE#Y1_3= zU?mqcyPmE4^aJ{XR@|6sZAxRrUY+lc2QK4?GR`y2(^6&Cqv{!Ty0$>$_0IZP z{gS?$G#X8{cDWR4^O zzEfwg9%QfP^##3Mu`qgja}g}WEjW|uii5^}rU&;NJpG&84(&kLR`<0@i>G|O&Ub6@h~gn;Ol7kNHWGxb08sFz~W ztZ90UeMDx|pseL<$KhNb&?msDUeq5lvdBF7;tf=1+wxRyJiSmvxgQrMK--y%%;%mH zo_p0E>I8j?zER%}Yp>L+8MP5|Uo)C{TY2yIK8U?Ojly*rHHoQ?Sn)r6q4=BFQR1ZW z(sR;_(ks&Pp!AJY&E3u2-~Fh2gnNv8hI<}1p0(D7bHshxeb#-+ZIf%uSu!h2a%Z`p zJVY*#r^wUf=jE5>&GJq;Dpz2B8zD%!SLu({G(rg|6R@Gr#)?|5yr-N|zE>_QjAx){ zh#G)NexiP^o>bGd+FApxwHEBI^@T&s*9x@p*l0>&*&k^Kp^>k(zi?uysW;GFdRtx4 zuacOrBtH5gMn_~joj<~Rg+9V6_dD*95dEi0Yu7Y~J^)^Bi+3l{VksUS0F7o!n18ch zvDdMm+>N~=9UJyYel-6A|8kK36sGbE|2SM`MEFR!DBKYGtD9l#=hcq-H&|Ht#&lx= zBDLK()li`{%K-Z_1DKX9&pytsXU`(S-^qQz-Nz5(12{`6;$m^D_^IfEntMs6{D%Cl z{3~2dWB9%i$|Ih-dX8@BUGzL0#un(o_4;Q0x?b04XHem|AvI*P*-zChttkm2qqrsn z`bm0J9)=y8Dv##}q3JAAUlGrb<7e|t)fOrhi|4-(Er}pVxA?1zwZ)A@BY0Ft>2bgAY3!+{bwLomS)<`xKhb~H(+$6| z13P|8ui||I4u;B2x7@5>cuBY*%oewa`^9R~An9?qv+t#PZqeOZdrLbC2i*}S`<$L( zWEw%k7y|#CP7Oq7Hu1c0ukffaURZ>K^JSri*jnr=E)-WHWI8Th5xYqJrKb?(u9i-^ z|8Uol8M&+ckUUHtD^HhSmETo9R5p8tVkKQL6t6)>8%VdJX@U8k{frwglnbj6e$j}P zYAG?#MfC%{WzdkUC^tUJmCRaZ6*~}SbsXMslytXzkKA54?Kz}At#8#M`gTHF8W&o? zJjh<)y6}VG=ROq=OH<_nrMmi{I#7LBt7gPtD{;D6%vt7lW-vblHr81(+!t}Yd007& zRd7(7W&}rhsc^jUGY~k6?ZZFF_ZDu5KS=?3J4|Q0@}$~N`$SJQ8d>f(-Etl;AqrT; zcH{36wu;w9n{-{;EH74^>Ua_{m#14k;#cNwwkP6(&*8NG$2#Tx=OpGqlh4T z%I!5qdoySmQM%==7P70^x!f{orPR>9P+OxlAWJS5A4Nx&W5ZTRR)C`?Ihrh$*J&HI z_WEdjEF2F-*{L2NAHgr=*YI}2Qg6-<;n0Fm2ykmIgq$w zkrG^kv&rvDmZzy_t7j*%NPKsM+$v3nd)bLS`T&SorI*rI*`N$ix50f>sNbpAup1&$ zaM`V+n~S-^ea64)iFoR&?T7}Lc)5V%<}PWmdxS?+D5O1D+kMIiV*Uk$FGgh&glDKOmRU=*=M;Y#7EuJ5O98`Jgf>@D$b1< zSvcN_kGXBa8tF4B-Cf=Nt=v)JV3JhSZms#FSd^Q+W!Qe>vShX{_gzqUUo_>HJoB|L zwbR;Aqcag!5m#SL?k8@yxY4~x;XOUc)WqWDwZ(ek5^0>fo2RMzhyDvVXls-|vkGT$ zAMq=M(e4N29JQu?#aQTl%S+*FK;(pd8u8_1>>Ph#MSY+z#V$!x!E98FWC!v2;=AI9 zqQ~7pj(HBKFBud=TXrysnZ|8HwDLRmnb1INBL0fwxzGKjd|DoaS*>CGXw56W0|q&V z*bn&qVsnI@A@_8-pL&nh3{ELt=U}sOGcuE(!w(hLi<`w4$aS3`UpAv~BH4#U^0|0I zJS|=mJ(3USfZlL51L3(wNPDEa+#k62x>Mw4@+O$%hw@Qa@ULA#|y- zPT7wsIRSJ2Q%QlhRsqdj9iQ*qQ<aP(S%7%xX}qj$uuhN64*`}7C&0s5o*P<@mhz$v#x zpQSI-m+33@b#PGc>HGE1^)K}A5l39cj#7ux~ry$g` z>7De)^fCGyIDBT|;F)hsG*%m1jIVIUNyF7*XYT;-RGjv=dv}v~v4o~3V{kU69%JCh zIh>i#tYG%xqUSfp#@1tHw%;IjI1ZaD*nR8~95-!TYutxC#LeWkbGx}?+~2s`ZUwW+ zN4PPE5ApBthxl*!-*BMJ5$?y~qX?r73GWDpgl~l3uwCVd_v0|~6fUI~h!KHv7`CQ6 zgk87@-YXms@8~!+Dm-GjNeKS1yGLm&i-yLL*=l8O6Aw!Z1TLMV_-~;V#t0lrcMS zUb@auY#Qsp6{djEYOK%f%Q@;dsX9XEaeiFu7jT7K0GE%&xLUku&J!Fty_`ZlAxmh5 zJBbc%#*I@M)?8P25BC6^N%C;dHr!p{E_5gNbC!FlJA^4-=iY$h@(%YdchtI>Fs}-Z z4#5JsP!7mN))=aKUxK6LEZo+w#?slKgmL?`3&*d$$|0p3%jlGn?Q!86TK4q7GRpM~ zKmh6Y6niFPA+7eT^K9^hv6#v|6}aiI^u#<4HA~G_TdA7bTg}C-;c&G;EksmUtd^=F zySiE}Q+JqWWJkkbmgdrAt%ufI%hUYYa73PkT0kpC>>1Kl!_KNsT6`e3n;l})&aS>)*&zt3K>+OJ}KRKlM zyaT-jxFDbGEy1##g&UPp?-E=Ilz9(%PvHvloVU_@5kUk^m0|L6x`46AO`sLi0cV*3 z%s{39m*4@Wh$%)O99&|Zr*|L|uN^jutZgoM?&hYn+roe)kThL7R)`6}+*vc$Gx z2T{O%Gg*8AYuN=SizT>-3yG`6UE(3J9Bw~`*fPVqupn0zGA`!2N_kSD6u_P83~3gQ z{fndxh?}BPxpYiAA)S)WA>zt#JKZkaJd-sd;P#oUi>ehd1FKA|`(3-Sb;)_MyrS4TvsTb84Vy!gIp=D_Gv<{l4`LtYZ efHn|or&yb%&DEA--H@xSUD~loBgL^NPiLx delta 49846 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 J;%HLa{|8o&wu=A& diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index c268deeabe02c1ba298a780e505a1837cbb4756a..f52c29c4266bee0071e4d494fa72daa8be538ccf 100755 GIT binary patch delta 79128 zcma%E2V4}#_h)8zk0Q9BoD@YsPXz@Vc0@rz55-;p#je;p_JWG2cw#$sVxoyjOf-p| zTOD&WtneRi1IL^5XZx-W}bR zeDI?QVP;=aopya>Zbhm)yO(ixXx7@np{98zNhN7!LaUIDS;4fUNOH2K>b48yoVl(G zqmA|E6E5G8Z?Z;|SmI10qOyoSS|YjT7QSJ`oHf}uo{%Z#Gi7ViR`0UJa&?_(={i~A zhIaz>%{SKx8cpLx^SYpJnpX3P(CXB|YAy_& zN8X#~R<9-0aS+Wrt5*?R@V;L?o;G`7Zc?KfIcpwLqZ8SjwWmgVLVH@X+-rFg+V!cq zYV9{=+I$im;xeNR?Twk84UxvoI73Z~Po=E7VR}LHdxso-u zrMKW!YrY5;=jL(BpP9Ux^+T&{3haJuP7-nB7A(%}b^oi(lFuY#a=5VNXw z-6zoYAG4k&K60XU_n9yEtwc-i+t!Z?wADtlm>lA{;djB|?S7Ktwxg!X`bmq+Mssv> z6|gcaxi_u3-FzZBnAY8HE=Ud|YqCNIS_K;LB&+(+-j1|nfAiuodi}%xqCf&SR3{ z?yNT7Y;z>Xm;Tt4WSS#?d_^vs>#WTuPs{;74Wgd4vgZHv6`@s!Wf|7((a|9TvhHon z5NNxpStGX=xY9b_Swr>&Q98N5IVGkF?a)7KclK{3$hoY+$2t(QG;8PayB=gy)^|7G zinM;Dncb^OOGKLY-`nB2s43TK>jbFbk{onV4mx3(YF=`GAUD7J4Jq}lmQ}~Hi-fy2 z=Wr!o$?o0n;iuCr{ItFnmzfkYDlQ`lb=|#%3ScSSP<^+`m~C)JHClv5S=IiUL&$OS zw*2tYOX@hHW)~P1Ls8Lk(0fahA=@60A>>Hb*e5$h*iu%_m*Yw0OCgR9a?lMh6qhl~ z5CG=#UPZ|sq9N8KTM{D#RL^nC=&WO}1`^akoi_<&syXvbKeV40Z)(vIRn3OC-wL~e z9nFF7%9yXd4T5(P-^I|n!RFTQnv&O9rgwXE&Sz_LPET6$%^eHJI47vFqn1(TN)eOhl0Jjyt8A8%Ba z)+dXxFpAg33{bRGIK_rJl9i<&9{!TpPt4ni1k!#dShy1@Ps2_s-JM7pr9E3Kw_HdL z32A+hqjW|gsywbIw8D*mnF(1fHptKrpTmrm8SoN z{0S=i$Kl(M53_SXBI}hmGKoWf#+rGMCe?;z7cV%{QWYA~gwkZTDNs1Te)AxH<<6|8YSYV z0pw4Lbb<$#gL2iTEGI^~zmgM;HSyD)lR5z$zuqcN!l_h%y^<47BQw$yxQRvsf}?^| z)Mz;&kE7PX&qQyY8`)qB!8_qFXqdPy1NYra**)U49!|vb3;>VI-S)wMBs`Ci{uQr^T;nWa zA79Qytovir_BlmmG<%4L4a#W|N z?Qk>>`9e%sHs_%nGWXjv9ko0fmK_zAozjHod%8lK*HGnJfuNV9CV^njv%ov`Dit+{ zq~@|mXV3TiHMR76@G`E6^@uSo#|a`Vin3a*vEfgQ@HGKO)2CQD=3v?(YC4-%NQ@?n zypZtxwEbdi+GA19xLato<_jDy{8NfP)3vP8bTO`94*HbXoLkgV{-F+?4_9&!lpL3- zTVPl^u^(Di!X?-s!TU0&2XqxgPK*U1k5z`R zctI%Q63?ZeO?iwZHY2k4dro+jVHrSpQ5+LP+k^r(qZ#oQb{ST&Z<@g*H*gYi!YNJx z`JkXSSP!k^!1lgzN#LGj?`wINn@(!|c(Ihf;MOmcO z$mM1EO@@*%oX!J~F=Lk@67RT--wh4$j@l!DY*gm-!ts^ih-Mp9NP}%{E+t`O_;!`@qO%;2#VKI1u$#pgiV^v~E1?eDY-ePTIh*!Bg zQF4u2^4xAJfrmDBIlLV7kTq*( z{bl%Cc{`k3<*fy=u@0yBLP=^LcU6m5 z%W;o0)BzWA5cfQNI1^|^YO~R};d~_AE>bv~(SkI06N{F`PPHKA$Ts$*1@R>pm{Us< zYSTxfmc-A?rjNnioV|ytLJx9PjA%)G8hVwm@iGV!VU(dqr zyD;zvMX{Wgq@1&=cBn9yJ!nY`scKQE&;IDT=Wg{iMobRcbH8*7Hl4V@F3HQ!HL+H;a8!pQZz;37xTt(;Z7SaxC2K(hq77fDg?lM5 zqfI$g{<&KE+tec1^x~BosaiX?Nt>M;CPGNa!L3H45p6Ic31bePoK#G6gUZ-6w+5j9 zFU^e~Yk7F#v({q&OKtN+O>J@iqPBn2noZD`EIXF?)Ydtx41J-FwT4xiD90ez2Ad~x zheL)Dv71KX$Evj=?iIL=TtZE9UmN{zdWdG$mc+Y6h@Ll5?&glM8Li;*xk*5-@r z_Fr;!gv;XQ@c)&|#__*d17w6X9D-3m9N0~e))xNpHEZo{K@&Gmm0k5f5v_?|Rg5ST z;|$UEisv0-k-Gj|{fiygyOt!NwcW8C=74XlL;GzqC+zC)7!-q}Iu7Ljdn})Y`E* zsOik@aUck2I^c1)orZ70@hh+wvvC^h)>S$8%kqpFV+!i@9<)P{LrkX38Y za^mlr@E~#ee^VZYUQpgxOovpN?Dm401+ST@st%WFV|ec3Y|b!;v-LNZ@I41PQXg13TS`G-f+HlM>9k zGZ{n{vl*R9ICJ9(hdPrxm~j2lh5Sq^vG!d_J@SCf?Mk|(27?3l(IWqy%#4S=pQ*FUjm2itqN`Ufvvu_fJ4@qW!BoG6+#jYff z`tE#D9qq_HX}&vt`_Ez(5=o7qOhownEC}l^Xm7j?BXSOc#m(X>>paW-RWmuUKbw?D zs;6ph&%HB9Ah9!;(8gcld>)U^gr@o6%RO#>08fa^1POH(E6#$;!lXa3&MXxYQt)Xl zAW;g3gmip*&DdAD z!Znym8vE@s%;Pjom_Hg#SR&wDpy^y;SG$vnlI$Pt;IJZzcm{LQ3)Ef=qa}p3nul_8 z_{tZjitt^uAr_HD!pJ!`I*C-P$d`#c`oP@OStVap@bKWkk?JZ3{6WwKwl|4XAYSZF z5{Z$yTq-YWJuGJRdXNaRl%@0_wRm6PVw$~*YdN;xVWV}wF>Rl#Q8*bR9E}aXgd%j1 z5`HG3Ey{CmhAze*t1<1pICUU`pBA&4J;}FZgmSVcnL<3a-LP7tO_$QM zrze1bly#qV?@cz5?#!hRIY2l4rJU+R;$582U)5m&*>BTrR&y9hDE0cL+NrOc4f@cX z-?1yo*TaZ2A&G45aB{-+CFWoF{vpS^ExyR6k02jC|GLOA;4x~P;){r<Iv5DnO_Ao;RZ+&06iON@A>;8apmJYO$%kIuB`5T&s8RPFsu-}G zSqrqHBi^1+MolF9Y022rI=*P55n)|zd2IP~ z(vs9vu1_cV5{YJqXOqi;$$4CKk2&jAFpm`*wD-a-cw=4Z>|VA%o!lZl*xETzb)RgM z2wwCPnKYM#`Gp{!-<`8NAD3B z!~NSiMW06wxKSZLQxr=lTZfx9xdEn}2T=g4+K$|wUbkQsz7Pf;FSB)2JP#*SVg2Z_j*TqUF2ri}W`lAx5l z274mD?Adh^T;laW5CknLe z7Eg49TXoBT`^Kk-xJJCF>B4 zEvu;Vk|AwJ9OeGPUp6LJBb+OJgI`-=9{~!~KaippwgCa4 zZo~`8g(I}GQl&QtZAFG9mB$@$=T5(2rBfM1T63X%qn!K)yAxGG&a#CZYyWv>E+Q3W<6fVLl_GU?1w zIg<_ufJuTEDAu+~Ck3m*RrxHOal2Xtfn3!bFV!0%Ao}11#36%iT=qdASL%gdn{@3p z!~#xPt#br`_X02A^|fmyQPoQPXRS=!r51SFj+dw59oF!=rP|ffK~+n;&k{Q1sEB{s z5w~cFTQ$U4!)=UCLLgU~fL|M<-uqO%(RRE+8s1iJZ>K~iV0zfUTcA3k%r3WH4m9JC|u(hzrRc-8IdtfZ>5;%9B9Tu}}5 zIw#ESiR4QxWUh5koY@Pz~|MKpWzD1ahUb__g89 zUZ>(c0qbgk_YgpV_who3PnOU;xTuTc@-*byIVh@21*3ppR0(>Dmf zPvF;9py-Be2@NGbRE%1nCjux?j~AEF&S(#n(e9raJ?5(7z2T}WnF`8}5dz{9ynxu# zZfIRpL+kX}(8RKY16&_qEASiwT%~v+c@C$?8J&het~3R|oKfT)<2l@3(jw5GWJm`P z2izb0m1;AXUl7Ta*5TJC-8>96fjb&0s&s=80PbMCknC&MiifHd`Lk9cQ3e2ldAsKI z9)JMw0`Wp}ZBC9e8H_-#RApG|KLviZQbqjU?wP*Q9Mek8F}ZMh9I<$31d;)E1TPJN zJ2WIe>Tg51g+Q)!1HU$PSnZzSEduOoSL%{#;VR|SZz7PZYS;#R!w!5N0myLyFHnDI zH>Vq_IbE}v6LNOj5q{SY{?HH}*v;X(Y7SRz<^Y6UBhU$|s>;$ZI3m(x>=HLdAXjRH zUmH)q0YF9gK|}aaLrCF<$b}e+K&~_xzqY!(GD&rbW9^z6qG@WVrm0}0ODpM{el~=q2;@qO@oPi)U)=oH_R3hIR>q>wmBGFGxKwT^>$D=) zYelTI*T`bEMi%1NR>UHX!4c+Y2y-=ruk1ClNUf2~&o#2pj*zY)a6IVu9mG_nemb}- zmx4EYTM^Uj7%3XYI1Qt+-FW>}<1LF{j)0+AQeQNsOo{s}jNV4nL$k|ti&yHo(Fj6c zG*HHsr28o8p)~NIlPGD$I%?SF znkuY1fhY?IIiBy>;a}%5ty^l(R8#sRWrmjGB**iwDfo&x2#G_Bfek}S;+J5fkQmK6 z=xGnqf^F8*sWhi73oS$YkcG;kGIS83yF*xk7ad18`6#2jsfm(6<)behqVt&JZnbK| z?j250%A@gYLLd#JSE{oOfpl@dgo^51L!XB?X1S^WvPW~yeuOOv^Qz{Y`A{vcGB10y z=B)b`0pX0h6bIpKzpKE$s{k$UEXn#+r2ioT^EJ?+l)16F2HJ$gvqJ_tf?8Zzy-M^4 z60KaWM7s;r;>79&)0ZTP1y`l-=?5LFSdE6#V>;Hc8f_faQ)jg<#!kIkkVqBF5@$={ z>nmDHBc7rLjo5V=QY3cLg3V^t=uodalGWNKa~-D=b|yNrnNzIknB};{I)u;`^piJR z8A9ujcI-q5twH=*VF-<(mqjHel%`Q)P!89iy9uez=GLNvE37STHyYGx08|!d2vUEs z{VWG79Un_8rD{{X=ssLl0p0oMjCi+;GOJ&Y_N8Vw_DwySND|nadUQaEZN9b%TY=05 z)TblKAa=e!-7hcm#+=5qFDmDO0PCj8x(3wGkv{iO4mG8<2nl8HBLVEE42q)H1iHqJ zwTPiZNF8Ns4BbS^eX>e0RQ@5{z4<82H(&DEb|hkM=0Y~5CEZQWePWG_G@CSHAB?mu z-T#rbj-?&x-cRhiSXu@%uK&c+K?1$;w-V5X)+8i^b!bZy>6uS#Lt9#v{`^U~ggBvB z-zZ`2=^p}J_Fnm`6a9tIM{kwoUFZfv!j)$6^e4<>U$I*~Xd^Zwp6Zm~L~g_RFIYw| z8ljx(Mn@3RL}{8tza#Y9rwRbq5&Gt_g6u_v^jCcP(5=Mv<(Wb&_N(*B`y%B+Um8Tb zrdzm(?v<)Pld$8gjvglV11IQui}$Tmr~M)Z5Tv< z$4t71^6~ zct`GDI-|{Jx;<*kC(0+{Ob4}z@}mN)^{sRTsp7bjVcEu+2YSOdMfL2_eLot<)wW8% zRJuqaF6`B88b|7~$aES(t%q1@I_*y~**!$zmnzJmVWbM{I)@G;t(5(9=mA2~m3i|} z#q{20rRoa0Qy^uP2P^3ekru9327OC+P}E|@@9A**cmrp539I-64Hb?pDr7mgL2L34 z^fkS4gpK-<&c^qOH$T#ZS}jAlAYHJ-*X=+soU!R-8`A+zj(dM|IsQPZD9>IF5x{+R zurhru{gXOnZjj(urSVGBb!aK1G8?&`mLoHj1?%ZJk@QpOM*2G?3z@Q+Rwomb2b<|9 zQZnKP$zhB*BRQcE%RM2=i>`hkGg*%hQ$ArV4V-Z8{TzcX$R;d z`g|rEagf&bT#xJ=3r)|KXID~J#Us8hq5OW3{w81-MeoCOkXQ6niGS|MmgD(WnFC{d z_&Sx;mfbu|>y~>zMa|5KQ9Tw1*lzH|+9;J;)=!#>s8CIv7AA`G^ z%(9NbnFOUBSb_k+nZXeMOj0A{%y^jwRFBt<$tlY2||sEzmJ6`_W;nRG}L7 zeqdG3(8Z*Svi%Hoho>5?963)%3C@2{QeB827NsxKRg@M?WVf%<+r(Gde~nTRpYjgf zqP_jzj)8}n)md!`3)GLQ#)dGK~QJ_z;*(?g)f#_Ml8#~;)u1`d$?{cZR%2nO$)=Cp9 zL=t+VxiUi#N)!5hd$wE@Hqf0$rMV;w6X+jJ*j6Xu6#dXlNplunIQIFf4qC2B^1A7J9zqir639Hu37hH4 zs_bAnA)>lVFeSyG5>_u>|8_H_>2}`+q_7f6C z63P532)jvb2j@~meSVI~PxZdDPO;IiD8 z^Y0$cUtjdZDC}T~C-w=qWd)NdsY_L>D_N zCnAIv62?nPndX9%now?8U(H4<$<(25b9<&n- zo=g3{q%~tEE6<62L2J${W^6B%!>4e42cd#vy2@Bf)}({bfZmwFCU!vHVz#`4&?WVU zmyj?we2VMTe50uZJdfvwUY|3E;a>2@PIR-S&@s()Ph1(c|kdj}atQ<5RlXi6~{ z`QG&aW7>h5y^PjMxi8qFjza6yZ2&ID>m=Y{P-4~hR>>5`neL}Qkr)2N+apdG1n`#l zi3@lf#|rF+3Qz^3k;Xst#qHKSNcFtWl6iopRWE~Jez+WeNdBCcnyG(6dFHF<#l$)c zv5p~wZ@<>WIs<_4H`7WQO{M<~Q7iF1QjFGI>!H~2kMe@aSl`zqR7KwmWG*_sS`RZM zaQS<4(W81qC2{d*1D8+Q*riTF$JD-v6;lEM!_lULR=qoN@@qF7?K-{8VqP-eeQ4F! zE(VW*Sq?8PQ~x*NqFj3hYRz4_GCCWakZe|YIch2U$!bM3MT=_rt`_MN`=zr`hQzS! z&O+7BKXB}Sj0d!dMtg`#JFX~gZ@Kz~$uvdgx?xbyMF?QNT?LPlK3dMNYR&?7xQh^I_~B_$#(;MixvG-dBPYLh z+7wp@HodFhS1AJ-$Zw=#m*Z%fHarcVdFp}9IcPBr*l=KUrNwAN=sp^WBUT{mH$3@= zL}!EhXBy{_%Z27cXH96&&zbAsK5umus`}63*hLlkCr8WFw^C_`u;6$h(5D#(Iut%u zYqDTqk_P0$`o#;C=&{Fae!Nh=%)M_uT8&?s7R)-=A7{0MBi7qk{P1T_;{~tOcN`<_ zKoESObhk)2w@CQ6B4KlpaB7iouOi{_BH?O9!extu9kpDi&WISW=Ovf`H&k8(;@ce*h6P_JxWr9#gI11gJN)UX?K#2}ff8zVCs^_0D)q>*Y zGiw6ubtEg3C>XF@5}qjd#c%ke)kWNUs}&u97u>}1H5@NfPdJ09rdr5~e0#`A%Ur8v zp5qK7(^JcI*D}{@nd=JK=0u?^K8hbrgt7Es7QD(gu%WDZhZeu%f%90kFusKfg_UL% zx(UX575@67(!b~YW$L$mK(}c+hF<8A=m2JDO1ZeqbUrsh<~X*do6xeh1W>!s1(tOv z1;;GE(#YTb_&M*S#iZq}XHiLlCkyQ^l%zQySwwfi*RPFA1icfaJ87w}0bbIG1hbUx zLcd1(BD4xD%G;vlya1ne9!^@m(ei9sdGmpJBniIs^amD-cWinQIwvhHHP~BPQ3HzQ zRYM-+j7B23LKT?@L2`@XjhgJo7AFY<8$H2r!(McOg(2^=_{WQ}HATy_vGvObR;!2L zOVU|f5237Irb@=HfGQfOO#vBfb`K~(Dpu0E*F{UZjq#103n*I4vz2tefCcu10&)si z1l|po6rlrMYp{8m0%{dwqpX%^W5bOt?kP-YbpQS5q6#c?U#V=^&~u99owN+q^5$uz z558wny}-uz?^zGLF%g>BOPEz*>Af#pi3Cxg^$Krorq_^_>n)VWNA~dEf}z7|l#qer zX;yvyU4E25-DYW-?>=*N)Z+D$bCqsWz~EweA6}?=+cmDD*p}YH*A<(ASTTq82XMf} z8H`)h2Jq+(8{S9ot4O~DT%rLkwFCZghxu`S@33Qigo+*Akgf6C{f^2n-<}G>pD?SdN2I}FCAmEv5j2T*#yAeJGv^Z!dFu>upeK}U9zBPtUR(&M^@!J-bPr+J2rvB|47THf|h{c}C z{e*zpFK>N8;uk)G&6MWj1?Zi8h@)Q)Aii7>fRvf+SU;g>^S)o=1#5VJLtlWZrs7Ee zLgWTdQyUr<8!W~rs$@@Iv*G=P9?kaM{DOfcfCdBIG(sjmFw+kJ5C}CXMri$Gl~5bz zIzZ@YtneirqS4s_B>**_k5%*sZ+sTy4Oq0-)Je-Ljac3*wrzlr5IPHh#WXt@WVmKE zYOPgjl>h|N6P_kes`@@$IIbcDBXwRg9LZwQ5 zivgfGKAHrjmlzjB*~aWT)^4ES?ObWWM=LtuI^)==fx-^2zSmH=*1N+D+Vdf1&xTW6 z+3C)Lk5}ztnISy0x;?WBEtV-F6N6?H{WU~H(MS1+K>yQKwsnwDy3)h3f&)nr9LnOU zi>Do)!FbZ}R2+xS6Ym@B(I6p|zJ1BO2Mgug08lS|b4i@}L7q)7!faC5%1UDbOriO1H+aRZDkPlw4TZ08Zy7>jO4i>5f z_2tQF&&asPpgw?00&~w7F*-Y;7T}_xg|m)BgrF{^ibB89r2V-F^p49afulT!v-d0F zF=4#pSdS#k4UigTdKP8EhLm0ER#U5f4m&wSC?DYu0o60%k^Drpx;qqT!9c@I(1w{Y zJs>WlKX-TyLAXukoNUcWjAT`Z3Ki+aXRO^&p&Z@%j19+|nArTGLe11Omx_oOgOM!g z&POM&aySi{m{$D<^omWZGWEUeAl(3xA0fx*+NV^R`fz(*6P_2S&85mCF={*CYX!=m zCsh^7^71qFo_3rPTKsnysLH~Ji>&)FAt==YJiuv{R98`K^PEh*g3*Qww(a6SY-sZ% z%ns~%D|jB*;B%kxNG!sJeG)VlAjUK+<ghaWB?nxDZCt*qGr$kpIgIoU+Y?x^R{<^?NLMaSK>|f&Dog zQ-Eznfj)7g%+$94kk&+1(0EojTqtK4Qxq~C#sx@SaY&RuLMT_Mc2UUT8qGrwi_yGz zo~4cu{QRGv2OT?)VOk^F1yHr%Z_cxwBLx4{ZAF2uYxIWLfqEblhOz=>eqkt0?I4W+ z@`a(4wda-Rc{W2Sd{C^0?6dDuAI_=5zDBmnSN=IRbR_tqMfuWeeC@CUZ3GhddH|R& z_*!HKnGcXJ_!?@@8^QBze6>Yl5zDdj<E830|&U{A+0Tnv(WV=qgXchI~{%6A;kkApGI`rWn*pd@ z2wxUHM)3EqT@-9MCzYu$#2`);;`(VeX^c>p7CvNK#t1QV^F#J-j8Kt`VP(e(HT;{M zE>graj+Ch{X~%tXiVYqs1p3pWK=--5Wa>{~tfv;R@f7=ItWc}`wo^qYEzy9c+ktwp z_hW_H<@*+eSH4({L4`bCw06x|fMt@3PK#)Qr{G;#Vz>p$yO)`J+H;Q)AJ zOS3!bnCdL_8DsCNcsCVf)CRkMo#58dE3!@c)fBH76K*TW)UN=ry~x@}0AMt=#I;k| zDPGYgBL_$>0`M!($Iz5l8271PpJ2Pj34WfD>A1B>IBva-TfA%&3kUWDIrPeH<~m*o zqJOj`Rytnf6ukeCEna( zWCHrsXSbOD1Ysg3(qBygZan+X1Yt#BktPYBNY$lBxRRsVhw+n5{Ch%_0V|7Bk;>zys0Q-psK!_ty>ofb#1k%zyTFHD*3uNt$q*PlHkM~D> zq!zb*Zi(evLXwJr@GT*6#X&~pw?bllBw`riw$28O?~(Q*%I#s3=L)`hhvHd$E6J1H z$}e+;?i7pM(tLb9smH3!7dH9s-C^fb3fZZy@@f^cZU=idU+|Z^?otcuj|2Vq8WySe znSd)-=Abwirlq99XQ(2gaPgU}Y?M0JkDAyMXrwN&(Y+fupBXrMU zWzAAy5-B}ptIA0O9J*A`8`izERS8)pv?TQ4UN&yI@U8Qt9_sYKxP_HlAtaM-ENz9b zgTC9znlizMh)N;@7xd>H%7U+iSrio`eW#a5v;r8`F{ce8{vQs!+R z4LZ)W>mTSlOW4#u1f0lNqHO*{SV*vgpotRnf(1Ot(+40$jJBD{*6ja{7SKfmZr!I;x3(0PBzr*%8nO%|JgU2d^@$!DODN z_$4bXbA=Jae_h*8)>bC*ZfvIKUSp=~cJLJd7&+*9v??gw$fk&I|YSOK%Add+Dt$#T4vGZwLFq{g$KevTHXQ-SdFAAC1MKa@(@CrPpTo%B)vi!2pj?yhN*@LTsiN2b_#$FTR>ZC&jSb4#U zx#@yce{vv7#e@}!$+&+7!=}VH{7VO}t_eDkY?P-TvFd*tsJyy{&K&!Tf^TvoUo}7( zb4xf&>AK0R$=+uJ9Zt8lEK!#5Gvu|-jNqVfOBmQ zgVYM_)e9k*J|D`;zZ8P#p-#;BQpm%_4IZyxq9a)MS3)ShR%g6I(|DT5uDue5(E}Y= ztJhFl19twk(703C&X5qtZS(k%@#8#nf`^WzUmeGf<+_JnX|Dn#7Ub89L1HN+;(mde zYTh2?<@-Y~s|>entt<4`_N@OK*kmP^@K#t~IchTs5$n)j0@-;Nu?O~dgq0Aj{LECCn}~C2 z$_+QME#W1~;z&ZXb?jSrF@|q_a2Hca2iD(1yqW5gEfxEm?eRt2xmesJJ=$9o-Xz`r zB7XUc_@9XLA)8>d-okgmm$kI-g4%{oqbXJTz6e09=@eiteugooJr3gcjQXJSoM8iW zTpr8@ggFE*{c(5M=1r50i8J9Gr95;eC=BOhxm zT0)!f9Grb(?q$TTu{s;x9@Hp|KJ-CNj3oPAYGc|Ln{$_j9X6()nQl~&vlL&ks`Cv6#)!T63R~wZ2KfEK zqp+?rmYukd5jXk8W%&JqG`zl6*gaoyWQkxEgKyNS!g`h!y|MLZLRoP*-4e_mlocD{ zaA#mSaTocH-6$vK(Fc*rdOtBmM=(Y+hzm=S4$6kwq8HBXvIBL*rnI1xBGna35^SCF ztS92u=jGMeFZIPjA}Q+|h+PCyUnvY1TTtSy#5Cb;cQ9MlRBVc!W#^ir$wslxk>Vo% z!+zrDN{;M=HWIKS0G5bzepdYffzc>2#A7;ujPFhxGe=|af)USj)-+12N;)Y+qQq_@ znaB>th*d~?_9R9eNanFFEfDL?rnNu}ogQNJ)_1IAOEDQc-o~{=W&m5=Qq7c%JhLpT zZbW7RTaGBH$#xr&nZPQ=st8Bv7dOXH#^Q_ z39N2g6|qNKAYR(W4z)!oTeh*MZN;ASmdx6=6MgCHcgm12c$QScVo(V_$U^4fN79wx_e`P4`S=mpY3T-B(VN9MbYghO`&~t2Bp| z=pqK9qYUjL){^TXt;GHesk)kHV8gq>Tz+`Vu5}Tw(;uI+on6KC9xI;<4&$3z*5dwA zKAimP8BZ?97RQUTqK3Q{_arOMhZEdLll|wVcgWvGqRB z1czL{qN>u``Gj>!5c|7yd7|d}t$xaK62!Ii-4ix2QEZ73`Q}9QFO_rt!eBcLja!=t zy2HdbAxWF51z;jr4iiC7rJ$SGnP42)Hc5O=u=}fNPq86=Y*8ln6yFf+Jsj0r{EoN` z2PW?;Bcc_bzT#+tox7%f;w0FG)L*=gPjPqqiw`m2IXXa0qYoY{?UP093p|j|#tcN| zC*?CFRAiq9ipMJq0jWo}Er$_35Xqkk$s;=P&=?+yWse7mqiMf;tk+=CLhs*DVuy%{ zLW?UmfcTrHg(QBT9eOMjuy0De6OA7pem#qY$9 zKaZP0d0bj@njIe}?xb68u=(S~NE{zNI$m7v6f*S#{{r)v4VoYh#+@r?CWxy@S7qcx zF@liU%En2ezgT(;Zu{kfWxx3QTA*$V<>oZ8gXAKj6tGxHZNtk^@ty;3=|6Z*irZX~kx~gL za(t|%A5$53`(=;7a=MCoc66S&oL;-k`euk7ofCFpM~F$fyp!$D5dB+j->H@k^4dgx zy)AB=>+^~H@**I7BA;FygipxFu!{4=8aRjEiN8v*wE1Efy|IIBpD$LYn|3hEeE7^+ zth5Qa9hK%LahyatD}OE)-%+|DOW9@?OHlgVR%P#U*fZY)xk7Xy@|ev6pNxqHwU*I_ zn7C1*7dEl=tHp2RiZ4Zf4Nr^jHLQ+erG*3C7E4CseMhQ49o+o53dwWFeSt4>W=)f53Zl0|4Ix6-g z&LgMtx=fT9J9JEJ=9Q8Pqw>V{9*J%~$idwi;9F{<_#YQ@1yWggcuK@!j2OlHj5rs^ znb?|hqL<&sF&y%cWq4~&%L6xV`ekD4##$!iM%nK7{+NN;AZpvmXsJCcGvG4#@1dDhhev<$5otwY`{XVie0>} z4CT4%wK9h+snHtf@u6(xRWZ(Qf|`k&t<*ik3Ak8!pG9wj>BsQJbE(s*A>b%pKU!IJ z4Rzr33CoXi^}1czy6fUclBle`A&w`c6)Ss745X(9C{1pOr6@m!a!1T?oz>r_Xen>7 z^5Bj*h0t&MDgEw=A1E#CrSyI%R&nOXCZ3B46jw^$eu*&!CJupb#Fw<7ouYp$E^#jV zpO!cUYU<_`XKEH82T%M8mKZrtwZu3j$0|k>vWV%36iWIib%<1t(3jE5Fe=R{L63A{ zuid0g*z)^hNoh5uuRG!{ZmAzOtpDsGb;rRcT1sk0*LP4_l#=v(1t6)k)RFFK&$g77 zB1w|+qO=r^%d(YvWu&>(DK(B?x2_OXl$RTo&T`Zbl&pGi%ShPjkFF6F~e+=Km6_K+$fSsnAkrAuX44L_+CG|Dsg(TE6Pj0rK=(nQhD z6^8>(^=7e+<)w1C@%u=5DX`>LBx1$E0I~b&qgg?DshX!ZNN`4aVaTq|boxmWYv3=H zms_aNks9>neQbcgpkfKvJv;oUu2aOpq?r9O<=0NGurk8Q1N8^HwnQfqebr+oIH~AVpB8SpNSoWJc6xQw&mM!VsjO?k#+Eq%e?2J=3nG?!QZ;^pqQ3M%?uZ#|8#yKqGf$XN zh~nHp@)JlCRwZ2Ojp^FFaIjixrwgy1x@-BYI6WJ+K1<1JEa7O|I5x2foSq{))I>_c zxUOPT>9%A0A4G>VsSPU;DODmttX8DdoZkDMjgORixu$)OiE@cd*LfLkIIV*e+{YIc zB?Worui+WnEvVj{+q7B^k*=>{)1oAWUJ_WnX3`1bq)5%BHX^CYI<=Hmk^tpNOKFZs zAN{S2i<5pMIFTCIRw^aYKfRQ?ouplae$ca5o#ED3u=p<0u=+Fg5F&$M`5?;4m=WcU z$J=Pi(UuY55Bq5OT3qupNNvsj?jp4#6RK|6cc3~a76bnm~x{`iuexh^* zt8xRnNjvE=ccnsiX}E~1%kKs0Pq->IdrJk5^zL<~+8`;J()`B!FBIPN&>+kYK#=+O!u8u8c&s43bf#ulAbD=UFhqbitl{skt3O;h)bot zPV~>M%E7Ot8!i|yt^G-ook|@3mST)BF%NwLJ2?i2>8@;)?l`%$Uqrd#)!n{aIrJY% z@gk|p^b^t?iA+?abJ9a6=YYW)z&z#6HEEF_ecwTu^S9*UOhS|;g02GfnmGu^{4&TF zni;Abk#vJ8u3xORqmPo5E~RvL32o4n<@@T&lKQNx zrw+%OlnI`?`h;$(rEJmb`UxaM@$}KD!>qr2b>+w$=2#YBU6i1*I`rFxRh8c5bSDIS zMye5@YebK>VM7CSS>#*hABgDHIMzK-*9oT_SF5aY4EUfLMPP8)P(!t_S!uwVX9hl#V#q`0mp zDLgMW4rwu1-*ZJGPk0YP``5dx;kB(5-%7gElz1qQtLSRuL@e_U)_v{W+<*$Hu|Zvb zmeVr%K|Bl|-4-aPgLQ&Pf|T>2fTmr%SwOIErBAo=MZwj3`Z)NHUdqlIy4RHc;mNkv z)^#VNm|K{xC0bUOFx@Mx>BrX59i#MN8O5ub~>&#r0p&UP{c`Kw>m1vqjlT) z7-&vQT{}YO7P8RUx@v4rylz05n`4t%y8Vewi`6}FEci$qvS zqWb8bQhNN6Qma2o7T(?_tZf5bAe%oxH^KYELtgYU!zi`rf%dAyv_DxFE}-hV4AylL zFh}}j7}q%t6b;v{_L+IJDAoWw){#rfvJpU|8?Pv*N9)c}8h@ExpQS6S>`T#w5jyZR z*WThX<1TXaVTKert+QQmIj7j_@wx}}@<}Cqg6~0u<+^YjT)n$o*N;Bf#*8a;L3Gt-HfDvcmTv}%=ih=bS4?4(WREQ`bVC?jm%3HBa|H?7e%O)MFq2f6eUd z%r#r9*=jo1a#Xl7wO+Y!rjANV8EXg^6?(VI%2wJ8Z;;Fi|>)Hj3Qj z9*MgYwuDgnJ>Q?tXJ%)Y`~LoZzrVkq$G-OUzTVgSeVsqo=X_0}%f zHQ(V4yLs`w_+#%p_a7yu#!lw7$IWFsy<^?a+*nq&(|ecO{q8O1%ul_=?)B5k-u%?t zHIv5u@eA)qe6Rn`9&fRS?{Ww4^>)g1FT1qt#{YOy$10$y?%fzki|W{)>03`{dZNlfQUdxa4?t%)8jb1=oPGw;K3b zx-yn^bD2ku`$m>^Y2?fIxF2p;c3U%F!0o=NlX?G7yr1t_HmZehrQ4l(s$G}C9qhW4 zx0brBXq#S_&TV~bJ?_OV%J!e?>+a&|W|NM-74CJ6-HyI%UFVt3oqQ4Zm(5H`C*O^( zYfPQazT4eDHZ>1)_D$x~-rqX=uH)0*!Y;mR+|M>KJG=O%N+;&|K6YJQRL8oVdXE zh>trpOD2%%6F-(+cB$_PuGtSQp6J`iwD8_UUx2qF4w$9KePhcyU*RkAy0|4UnaEh# z)N6cCx!s2nruJ0AZOV2}^)+|7XYVnGv>qebG%I64omV_EhNk(>ui;+uUfC^C->3|3 zm~6hw*N~e8o6XmE`|fMGY(2*``P}yqKWDCc2-Dn<=w>&D=-cGYe+>?sNb2wrM=a*IK5pIld`e**rhTx0JJsv+nV&am_Tx z@9|A>uXwZUnz_E29MjFAdnxYOWiQS5t#Z4ceA|q_pQioft+MtH&`wl(Sj@MSQ@&>s zi+pZQ!oOOK`Pi~&jF>}$wmtE`E7!zKTj-Qx+9HQN_%@9`nd>dzO0Rp@J?0-9 zd{6U=$9Wrln;9_;-t%4W{&}{U_nvPW$ICz8^WEUeHjz!f1w0HnvB`Ih4D`*u>)b2v zHoG_bW-v`&xWzZ!{g1oMt}WQoJzIS@x!;*-)@}6_y2h2YdEa+dCZEbqEoUfhonF>s z2eotO-fprJjPQ(|zJJQ$Y^Sfi%l-5%WuNWxm3jH?mW5wny)sfZZjV?Wo+{QG-KS19 zr90Vuen|Lutak4;GJZ!}L(-i0iElvJQ+s_6)OBwiYkK@jOL@wE`_=cV+jWj9{oVII z54ooQ;cLu_uIH8E_8+fnx|x}wH@aUPUY76COu)YnGajGb>grs!-KQ~paBvwz-jm7M z{^4xB$m9OCciBC)b>FO(J1*ju&b-0Fd4ogq1`pu?!y(5x#&GN8zRcAZm3`Ahvyg|k zE#Hr}Io8IkY_6|6t*DKJuCe})xBj1N{SR6HyIKERTmS2o4G8KruINQ0U9xu5`t^aU zeqDd^>-=f(?{7Ob4HZ=;Jl7$2gSml}Jq zUh&DBYgjKMzJ%`JjMp@$)caW)NyV^!)v_*0S$0*%WocfMtNW9=HN;>(mp!{r=Kh;#o_s2CXKlp|rfDmE zRqkhRxfF|F-``5?HxHTr84H23bLe7yduBW>ZW}+&?a9W^bULzGal!* zHalABMlCv^<~wx~9yvdePcpL>6HUdm74dt})NHMrM30kDe(#}b+Bf<0HIDdYWZQHLV57J%M6>ODmCSIlSHay4Z7n=w$9}Voqj$y3X9w zMi+FLo$pe!Kf1Yg@7z1qQQEBTpU)e&|G-v^`5CxrnRoy0zPUS3Fy1Rz+*V)hnqUgs z>OTBV+EZ%W}O+` zP7mX0_R@Cxv}lM7^Y5G0+A_U6&Rv1b4=^XUwh}Wh)4VPreyxGh5L`m!rp)V5`aLSX zDYFns+6sq$!^DAK%t7w$$PwP$;P^Bzb2oO@$4C3+qOSXvlev$h&yU`heb2elyGse( z-R~u=sK0H<6*m!ciFjS|VtAj-y-S>CZjjQxd$P@Vs&ul=rPlvK{?p{6taD~OpqR-XBS^ZuXwceVN~?vR>C<-r|iFNxp$yl=+!m zOtVvUvq24pxYWU0ocm{kv6m0*Spg!1$ol5PyMKN%cSV{kda>@6jBIXZoT@vX@#J8a z8vZK_);BFdvKJ`egq+*VC)?b@?}43cQ)K@+=qp93}F z({wYY=C@DNJu;({zx$Q-*Ea+w$jy$>1y&Qz|L*nuRxh8Ezkm4O#|P*-cKiJO9sWK( zl#KWPeSDr1AKic8z~2_2G+BTxe;;oRVJW~r{yx4qS%7(eA75a{NAvej{(A!!v$ShC z{O{wfuSTsF`1||YHf&FDSchj|Nx_5Lj^ZM&^-MfaF&-&|APx%M? z)q%RJf45eSdgr0T?r8K#t}LXW)E5r_E5{BWb@)|B|A@nL9G>FvIERNg+}7bNhkvPS zr?=PPe>wb~9WOrbhqAAl=g+ zyxe2C2aId5Zr3p21oJv5OC55!#0(s)dp1m3ckh1Ffc&p+ACOEs&nz6Q&vV7iSA+Ec z?%cN+qIUnlW zgE!hm%X7lzi|z2-j&}V2iIa68=g{Z1wuD+{KGaZ(QT$xhV$LNTL@yihX8Ta>|4VZ= zpm~F4;H_GoSGb0yHRygbkf1ce?Zb5Eztm3CC{FEm4Aa-QtX})R5^v>g<*xL6bNN~N zj5f*ACre%3@2HioRiGti$62&%L21=`jU#Loxvm+Q|2OSkx;hoVI$uX!YfabTy668f zP7BvDrR=p)&-%)EPBc|r!Xa2T8JTmP{EFLF%`Z6?lI1FCYRAW0+FaVo;nt4c z@mFn}ux;N=B@3FLRuE~f0>btnjV`pST+r8cP4;H>A{2D7>C8n3?D32cr5xyPPHG+UX|C8R~C` zlT8&FV22Y92Sau^>~ONntFshCsfx;puWEi#_5U}+5+~!lflk33jyoA7{$Evy1KEG8 zQ8I(z;HnuEJY=_+8g1*76)1MX$rejCeD%Rxw88EnX&0Bd?>yZ&XWV;L`zCB&J5P7{ z%U-wB{C1wcI;TWc-AC7%8wzy&fxDe@6~Awnt6;0m;dgCLFP98}(ALUKx%gM(%$5S( zJZE2;TFefa-$cFY{Yq<5mzoZvbi15_4=dI3BaTbV#8J9_ZMD5pErsp1-P}7$H;Yzp zi+vxbwFP$JMRwapF3hMhp%k~W!|8R99ld&bft^*;+n-F&o)hb&Mq6TBGQqMwqxB5$ z1eNNHQp@tPSeXk(BJfJCQwW44lG_|cWiRn2u`-c$)WwhwvqkB{l5*Mxf~mV zV!%fFjV(hi{Z&QUK{Ft+`^}A)>9*0iPR7;GD}sxwW_H>$uNgie=SU%jIs3K<6L|wm8 zg%hn>+in4egRRYt6ZMQ}4HCFN!ZEQ{+X_H*+#K#}APk&3DaKPbmheHl0 z+B^9=XZXo<9L`cnMa0~8x&AdLe3Mfihl6J370i(Bf2tgAGR@|dy>^AJpOI7ebERJP z(1`i!DqX*KNj3EWmI?*nC^}}%@Z0jW%Idf|8 zOJymniJEW_y=;=5HFDtw%j|T+msd?Ua)BLoM)@_(LXKf+HN#l7aI#<}j(%-5zv6PQ z)tj+hHph3`ocP%064SMigI=%4>~ck}w#yN`%I5f$HmBED>Jv+=uQe~SI*+cy8x!2t zN{fS37Vc1o#&VI~-M9U`b$zc?F-0rTt+II6KN5OyN zwT^vp7u&wPuFZ*Dn=3k6993~ABH6x^{-|2lg$xF z|KHLrvC=hHU8`$P_8hO8XHCL$ttPM=VXc#A!pXCunUj}OnMh|R?C2#=Y4b1A(v>!! zV!pao*B{=i#I8ah&vq+mQ#HA;lTCWl{9ST~%)lvfiFcxE>3LNCcj`%hua5n_dZ+nn zif-O;ty9$UrFIeXy4oBu4W}}5_WH9jYpGzqX>lDTs(zkZYHqkr*WpKUl&T)3Pij?! zUbgh%8b+VoB;|-%PZHMdUOj5JMEy0>AtvW~JpL}zRT5Rdx3lk9*+?FWed+IZo$7W) zW}>+FT5fk^`3H8J#9ID!#*l97=&^RuR5qn%HST}8V6SUj5vRP>ujN-rRQ;Ul3H3Fj z#N+Ss_(G!U=T=W>e5POJnGXtdQX9mIzl%Cqg)gUbbYt#O`RC z9i4xw@@T)>Z<$p!oPs{N$tam_a&B~5y?WF>iK-tR>96#tkH<2?Vaby%y$E${RN6_( ztqC6!1GfKVx8QH=q&<(?>Df&y84oe5DbK~#nu=KS_@Hz7 zG+lr3H0{X^Vv*b`JtW%XP16ndh|!Y6*ya?c+1e=+SI5j1ySUgj&fcA7vfpf(MrLty zc$#kR>or@e!0gK677$KuMaY$zQ{2X;@MaS2WoF)t>t>=$(p(d1u6oX2T#t$CW|MOZ zuH%T#n^T!kcnx8OR?EEm`PM8|E{#4Xy>RNYhQnuq)s_nt0pG~c2d*JytO zJ2e*L?y1apNt$;YxmtBgZzbbmv*lJY4$ReRf0}E1!pW@wxteRJ2-kqQs0h~*qKoEM z=DIe`HSt&1a&av&2XOTk(sO#AIpsFp(yNj4EV)^Y5~<8QDl@M#*(HRNTO7GsiAry? zD|4Gv=3Xk3=GvZcaw|Zt<{G-)uFUOH8KR5st;}_8nrq^(uI1uNWyCdaK9!kY>6%YC zxkZqxrJ$Hp+MCJ6v`#5e z+!jyGuA9@`Dv%p2OuAarRYF`#&2Pn2E@WEF)Qxk;VUgS_tw+t&?J`S4-0GD4Vl(K%G_QEd%Q{Y#&LY3L z{6smW3_Q%#V|iJ5wI`U|@{#SlTFlm6m_0|$#$gFs?rV~bJ(klP%2N(jHu2fIK?dfs zzp^iSvIC1N6K8PGVHg~fL>v2i-RxHpV)M;cb9Ce8a*{PS&A1eK3DfOvxWHIdESWR5x%%_~2#j>$q74b)G z1JiT?Q*Gfgx^J1)Q5?fEYZ6RuF>}KL{0hy|1=KG=4EKj*cd^dfj-^=!9@8pjzF(kE zV=`}eAJ$g z@1s8w;?&$%h?e^ql8;qS%Zx{aoDLxwRPNb}h z2q(9gWj*x)tixuhSSQeMUm<0EEX_JlVx=wCG)+v>M#F7`lywo|jbwK3cA4@vwG=B7(_n39{XWH!P$L!)CcS>_^KbSt<+l zWTi&~WNR4KF+8M{xw^%JayVoFh0OW~=|VYc@R#tj@G(paMQ5E!c(PZeC9~EneUQG0 zNpzP^t~wd2PN7nsmi8mkSU{;aLEckZweY%?cdlEdbSCE^eSXstiQ*?AYZYdytPQnP z=A=_pjQ8$70VQVUL%O+Zr&<1xuG3+sSW@9I?<0N&j!QV;QGueGN*88V>dhX!hPY~Y zREbY!qg)N*k_=aRWLQO)=~kK5bSAV&cXZe8Sa#ha?RM4c@dd7ynOnt& z^8qaA@r9Z5us$Pq!*j&(g_eivC(h&XegT*3X2-+2G5+RTIs;fbX$a)6l3}OBRdm=?T%%N-YaJiQriu=mz!atW18Qk>ot$LydA#d5 z9ke$;8;aN7e3ev{zF;-o_$^A+;1|n}n-7*y zpX27h5`7_a)WD^@%u;ABSgKn!T=5U=n|V~TRT(OCiAR;r;Q8TF`c*I|r|6UA|z;;S*aDi%{}53u!0ZG2Fv55Z=$ z{81{t*}U?oZr zS5N8mjLpDhx?Ohdj#{m{Kr22JKAA8#qpC8b14gMczy`B=nLf+1E_bZsCi5}6bc5;i zm~P%?!^d{*V^1peGDvTaX+p*%Q)%wxbAN5d|WrLQh>-? zN<9Q9z~lP7p_cE39Bw|~?NhdzAJPzPO}E=&S3ke%w}eKT>r(BC+^S_^hVtBH&r0Px zl==azFrA*zJzXozl{P*01kc6v%aosQ%HNpeQJG`1RBV@0WkA1dK72yoVih_t&Mvg- zWk#3iwz-Q+@v-KG43+mErH+9`=DreoeVbWbqU$u>hJ}j{p>rupvKWEy=ylM*d?h9g zR+9+7oYri&PwAbllxIUrRcVs5oEO=qm{H3a6I0BU%XRaX=`CAuM5!x*=yK|~Rn};4 z9!>BnhJF88tBc$Cn<{+-6TUbNt??fyo_r= z+{}KG?v9)1pX9uoX8H0-T~GLzCv|^LL{EQ;*oc|%l)g!N^P{KO>pPkgPq9yTG!0kK zCdH=T3Jy}mX6g#gjSj7$cod<|sV;RM*k+clVBXkfUK2WGJ`>`{oo#CPv_7rrv{!Ix z;#E!P+}gBgCY@W+%cUmv<|TPE5tH0CVj^AA!>eNbU1}{@W0pUy>qdwB)o?~edz@S1 z+|(Hvu4Y;_o6GU5NRAs!wJ*tUa%QOxORzy-7rh*$EPeNY>R#kko!OsSOslV2Osc0^ zuurw9qIs&DL7jd#{ob*9y2rf8&6X_!&Z=pH?qYTCn1d$52)p+|Wi zw2!ah=`Qu%oi0@&DQh>LZB$BUUU^2h=+6ArqrD17UFx63d}OiKE>e}SIHube|0;b? zoAL);s^3GTEiSoUmAi^hp_gQEIP|DgoOxxHZr)ZccBws}$7`5&_p0u5ee88y0vGyK zWt{na70>P;Sn5*uKk8D!*X@#s{Pr@J(oT5rV=i?ONJv^Vp2)9)ZBAI^17NL$rQ{nL zS@BhLJL^{U6T5wN6lq7(5~pd7*0u_hDu5VP*GZ2}YDn8QP*nl!idQgYcgX|*a zk3z2Vm$)pO5S4Ldc~q7wS7k&P)90O{&f_pLVyiO=aSX~Ct>=~ivkhc4yY?ov(OB)x`S)o^Z&)OlrPoZ0)FK4W-EIc5LI zrIv}UR04V9$1XKX!qQAjXeRut=vm0Jt8<>3@;4Ko*In9_?`CHDj20Ake)hc45~lFE zJmf0MQmHue%JcfdrWN0~)HmN!^S3Z{j`S&=>F|QSqLDQ8W@+eycEe`=U^n!HAI!=Z zblch;J9FAkd%0?7sM^--ZazZaH1w-W-44>vOH(?N`=Y+2p(Gu3uxziJ zc`xd-8(L$m$0;i7C9icz2{&@9|A4Uh>P6kkUm46U)jeCpn=*s2FvD6o8)yBK&Xcm4 zt81#1-dtI#&x%T(y~f)|+gLAc`ocB|HZP^?V%87gy<9D ztEx^8di!c{q2#AzbVZuKOM8^==80q!*z<87(`{i7Zj4D%|$6lkyDTa3G+U#HO3z8ZTC^9zIIp|DTcfUwExy=Bss*V z>#*UqRdqE;w@KGEJg;t>fpfD|@1h#2TVYM}z{|R+yJKhb!ppj4iy(`V+zoc~s5#ZY zW4tP*H-}%=-3MA_zKlj2ZI`VbEZbR5Sjrkc->seiYc@D#<)E3;nJd@m?*8JjZq9<; z>Zn=1M%Qnc3VwwLDFny4)f*SN6^p2>VNg{DPpr{Bn+79pbvr28h_!Q_meQF~ujt0T zOK)(i4mXm%m^ARJ2Kx$BVCN`~`WLCOv)yVLSR--l&i-S~RLb5w{ffSdE|CMQ0sr8(3+i{6xp8Se3Nf^ZcZUUx_Z$+5S`^%=2ZsOV{9Xx4Q93w<_K& zRaBPTV5M7)mvAl49rt_5w`Qf@WUuA8lyWm&*XpxcNOM;>%^jq<uqYN}b7m&6(Z{!&(*d zMX7Xf**ZJN`_0VP^tIL=8Yfz!LKIB4Fias-G0c0>R@^hNIKBo;-21R>dz^SFabTNU zbp$K6QX1*u4c;m`S6!{@PV%d|W8fY>RkvHfT>H9iV-=#pDMSgG20pMeoe#_Q+;%%` zWm4`|Z9j6Wg7?XUIFW~fz7nqQQT2;zaemdZs$Tkh-)Sn4=Id&arCJmQR6`c4s`Z8* z+FQCPIMHs2ataaom!0YTuxx)gVQZWpJzE7ncdMmeGBC`2Z}3J+D!9!qSM{)%9tKmK zc##|an|hc%Z!lgegRXU4sa3JIMsa$EUDxRwdN5@l;u7Y2j%puBmXxwbpsG$BtLV%p z>)5A56>b#;i%j;LoHJDhhrX#V%PRhjV;gAwp?Tp=-7G!)$(x*AOFNBo+Npwek}Yti zJ!0};X{`cS4lWT`4j3_54j`ql98k((A6x?SvuoUNZScY@u1vA6gDR7{#UEn-eGAV#1lL#!C#9%3KDJ*%E!!akl zm9SS`qSU7d61fi+6$lH2`KhElY31A;dI;VopktEzAL$zUf#F{%uQTDnX9#yF`Z^d;> ze@Ppb-38;#fjEP$GMK$y-8Au4u&|)<_=AO%QGZ zSv#?-r^>FVQSOiEu&=;t-G@z_pP}{v`$iG1JeT$@q**4_x zSZbnG6RzEB6>*DW8ZF-=D?L7{TF3-Vf^xejiv%;PCFt_FtotuH{H%P_Nm*6S5liX% z^0BOu$>zRL`iY?fOSt;^q`I8_-ib4g?MoM$FW=RTYt{3rdX%pQMeyF}&NIi})xl;i zIr5@C#nCqGkfG|k9#nxm-aYGV+HTNon*}ao9b=%9CkuscRjD)AY|vw)xU6CLB{OjK8%iQdfbu7J%>x+0%KvF->TsD~o6G*nIG3E{jH#A8T*Q4sX8mjDseMJ?2Cqo?rMUt>gn;Yt?l+I*t;oPZwBU2J2qj&ZHX5DO{K*(=ao)=sJ@lTlvj)Q1~yYs&A*-riu1DqaHbW+RX)1klVvDYSdg(TP<@N)1PDxHGxi8lW z_h3=?Wup7lqkiqd&AX%ZRLa&2->Q2?OUpCV%pFYdpG!$ODD4Z;AtO{(J;$|lJNC3O zYq<}&s&3RU%X_KsVd{m-fj8}xr}V|fo|48&e4MuPl{N~xLO3_ zl7=;m({yIy2l~vhV$Q+9GOu7%H>Up!zQi1z$UOuScE(Q?opo=42dG@7W^xav(%&5U zKo655_4!br8kIbXoji(Lc+?Bvn55ZItA^ZHsLTC^ERGB^=F;O`evk5Z%ZzjXFf8RM zXys8ifgb~GU}m^X>*lXN|q zgxg>vsAiYao37ir7A$Y?QD1_ia+)J;GmWENx{jpc9r)QG&_4N~rUzY-uEQp;qet}z zfrOJz4{sHnb$^TdH(A}h5mz9SJwPdcq04-}ov)>GGr7sEIJ$FsG05)2!~l=#8S<#z z$@C~!y3R_EiyP9j+O%{q_p(96I$e`J)8kRovOHDwoM~cn+YpZ$419!L>?&*4$Jgee) zNLKnizjIjJ8d!ZHv&%HjxA6<7>m|KuzEi9OQxRtU4&A(|DqtLe^uA2#%!wV&Evv+} z9K%PkhBaHkXtH6O1WPza?%pyK>oSDp>6RSx15@mSdI1OXV#hAw_#OQpej&#%f?wc# zEB&mK5d_(0nbjZZ`ql+|#IcKES7O_pRAX$jx~9d)j#-IgR^FdIooFd;%rRS0X;$u- zm6BTAF$-Q`r`E%)CpGItMos139coFX)QR3;MO!B_c|=Q89+@Q^vk*TsCfgWT;{L9! z!j4}#xkntka>sAq|L}`Beii+6ZKW=>GYG@7O*370I*kx_>;jaF->b38QQ??*%nr<~ z+Eri{9A`%t!?G>1qOBGWUgz{Esgycqfs1Uj)@I-?C$j>_EP`2xXsL9GW46XJv)ZcI zF^geV?wIBAlXtQWf&W`ul{$W<_=O$2xZ}6;fA}TvtFYsvCky!LJ=rF~l97F%xE5#U zr>I&l*+;5CnBNot*6mEWbYyO-qLX>An$DH0t@DRm?i1&Z;UQSJoVe=+tzMX$p&l*r zs0XcQnI`KKeO0vLT8@}gJ*wA#m_jH^)iC+(=EWT1n}DEWBl30EanD)8*1f}QD?X*G z&7%8bAZM)~fvMq7K&pY8eXWQ`$VcAZ5zz$yk%Qgdc!51&I z!-X(ibk)h*9mQN*aq^H8mc|P_=usbl^8I#WihKyHk+96qoaY|ejd+5~gT0*% zD*esO-8#RcOqX=69Cjr2&{B?wV8{VdlWu3OOX#c!v9>EB7Q>GNrJ_!zoE(be~IYM!Z1L7zE>-!(y> zinGR_Tcy%4r~gZz)-d**M?LX8wYQSwrb#kvZu^%!AV~$E{+GU^Y2I3XMggoj=oDZ> zOO?`@exK`h{>tFg&-Gb@ir@06w?W@Sct{Zny;gW^oTopctCywf&E?Qml&Na&<9v80 zS1r?Ot4crf%jbG*)A(kOnzDu0iBjqCYFJWdCV!#N^p|ht$hM6mlX?CNeM!^ME>7UV zqVLH?`m{%DE4=DcQZjA!=;r>Ei8*JFJ}awY4?juwrAK*wFpuxi_0q#{?a?ip#uJ?G ze?`CkP+6Ch&Yakz$D65N>I*N5{X$QIx<5L09Ou$?t`2@)S>QV*?tc}4+_0@5j!VLX4xBM!Dcm7+?_s37kR9}LK$w|f5=v^O-M?V5AV+f=2pGF$fQb`xX*EWOD& z!ZY!O`}0e3Y@figH5p)sJHxV_?u4a%V#qg#GF90HCL8qRabY^IXzZvJv##6FKL7@Dar1D>Pi*{``tm=^x%YX*8K zpB@E6j*_nII%5JVr87DE^c5{CF341;kIht@#YAST4fey~l-@kNPd6VF$K(@G*@0eF zMMq`xF3eP;K)Ow(&it}Z_qj+KbN4OI2?dQA!(JM*#dy2%E`lZecQ*~ytS@2TZ><3u3rk6R%HR~7REG##jUU$M(?u8dQbt8ksm3D&a zDmw%3Rp$0@b)ze#a;qG>JnSUX0+^KoEcr3VevK2}1G}WwS38w%Q1wAQ-;_m$zSZRJ*8{9Gm2$_OA68Vc`L@|d57}-%nVa|PTP?F= zj#&t^@|CvPgcohI$4vGCeQO6POz?L4@f|z5;C(wfyvq*ng(dT2=J^Bqjy__ZkGZsV zgj9t~;EMgW`Fn?L_k(}f;i<=M_iMc7^6&JyBg8-A_?P3ydJ0w=zJNS*;ot#FnlfF4 zYkSpOzuw|Lsh8vOQ_eIj9?3FQ<&djO75VY6vvTg2Vhx_)nEBm_X{evE0bx{cSaLA6H zF~~Mo`KHegx_?kcPNBr-+wtFwu;Zr|*kMy~K=-l=!KYVNYpTIE=fUNURrzS!Ysxs= z>tC>R*o|i5k9xqVlF3@!6PMc2<0jhX`>(RYmtAd}e>25&uF!)TihTn6f~j`=gV)>k z-*8nZ26)3PKcdgHx~*K=dzBqM|2fNFwcG626=TQBJCm4 zg^pdZd6=aQs!g}WFU-boNT9by8NFL6zh2fHYc4oc5v7N`m(x2Op*x>_5 zyymiFx}P;^C7c9eI7$iQQi`AK1THvXJA9;lR$RpIvl4pIOgQFDTKX;yY$h*jPcm$SH!CK?(a155)9-hnW@B&zh z=epbu?}B-!T8+5U4nF});m$1dDQT(4Z?eOm!&1l-PIx3Yg?;KmUfhV<25-S)V2#aU zpBgvQr9LCH>6g-}OyaUygGcx7=wQl}}&Jx3il6 zuwD1>O6>5G<#r>jGns!l6In6tdC%L?mz3G&ufJo53*WWP7nnOSx4LqblUp9S$QE`u z2217Q4p%rFctH9x6SnNt2PQYrro!xjo36brWf7#i_zO}X$_-1RrRD_8zuhp#zqcjdqTw8K44+CB5J%YF^##%#N=FT#@k z4ksKuMPAPtz>D<_ZG)|_7*s#EDW`Q<6vm3X8kQY!7A)KS=C|Yefyou8YSsTVzNG!P zbG^xPgDN^qi;4fRnoYXSFZZZ=WUKl&)`{mt0^w!d?W{iK1mQ5q9s!%fCv=_K$*As~ zv>F3OjxhE9)NON;`uotm3~n*!{K;1;N%i~OXz1EStEbFufASi$sO56%>~30hLS9D( z!b1snhYy(@f9m?@C%t`VXw?S<&bGPKSx;S>;X~xS(Ht;p$xdZ&0aE!{o;#ckS*!#xAw*e!&uO(9_t%5_p7zs zM+`LQap>hdSv-r!lAt_~hvVHmD$$*Lh+VM*`>qghO432N6)r;|zJETEJt_ zJP;npv1AZ3X_OA|ure{q0LmC#9>Nh63?tkhXAsA@q!%*r3FLBgLF^MCD2afG=s_uQ z6@B0{$$-ogK=mdK5JoN~ogjq?OP(MyFp7XdPn5CtoiLV*(eBIqjMgcJhbNM8`;^Q}N#UIsr0<>l18 z6^X#g!>4S&yHq(Xp`_Udx>V_HE|uUVv)IKMDqe$^F0@?@_4l z@ZmMv#C|F^Aw!k6cB%0A3>9pZsY>b**Of2Pnv>5Umx>nfFG1o3x4XC%Kw&`aHM zc?75oUYQ0GUqQwdzhKY8SLL9YcnlEYy*Ol`_x`5dOg#VdJ05-yO$K_nX=3S11r$O?`C^#PSwk1YtkLmIFGrE%ow z+a$Dwb87+-BEukt921%T3cM#T^&?9{$i>8!Y@(UbC4lH+AhDUI7FqnI#Xu0-Qn(xx z`|$H(*Ng%))*_eCx}bw%AQU515D_`otwO`;Q;^_ymqQb2Do{WiU-xGDn@5X>VtyGd zd?~F7N|ECr3`z+H;24O2JP-l}pajIl2M&V3VB#6uL6Fy)(etOYyrqJDJ%;TMq8)vr2& z{$L~sgImFD@F;j4Yy+Qx!@%8*&oV$8&>M^Z6Tl5%HdqXv1}}qmz{lV_kky@vfPtVe z%D-7)8F(A)1{FZ@)I+}7YXeRP1>jn68@Law0Iz~=;2<~wvQGD_mY^3H4#tD2U^-X` zR)FWg8(=#)2%;zX=Rd=*T7izB9~ccLfGOa1a4%R4o&oE?c8~zygJZzk)30(tGtdT{ z3c7+xU>Ya}bHGyY9C#b-0*89~qsraOuj+u)z+i9zxEjm=4}&Mci{K5g8SDbzfny-6 zH<^Odz#wo5xDm_&20RPi0^7kJ@CRtxhf0F+V0s_=-ypmUc7UUx{+WK&7W4oE!B}t| zxCbl;Z-S4(f534N=<8QaKo2kiTn?szIp9I?EQo{M;5%>}_*s*o8R!<}-#~CKxDw0& z4};ZUJ2(iAgIfK$zXMJOXM-@f4Lksz25*6#;5(2pfDsS+f^pzxun@ceHiA9iFsKot z|J(Af4;TZk1;yYo@Cw)hz6F1PdISCH3~)ZU7R&`D;7za#901-y+?fCa!B{XE+zu9i z$G{8VEwBUZ13wR<|NVpM6L1>n0s4b;!R6pK5CczxGO!JN1^xhfh+j1Z9YF|;23LYx z!91`Gya?i8JNObD2AM;XrCe;9=X-M~?WtOvWnA>cX7uNs1Opf@-NTmfzeG4L#igMUT&_apG+;{ZB?Az&PcfV+VK{{-)V zPr-NKILK!ChL)f^7y>Q;lfg{z5O^BA0X_g?z zrz1QJUIOof{lIlDtpU1%;ouT*9f*PlzzVPyYy)3|W1!}F3_j2Ui~wP9E0_%cB>0Gt4INAXGtI1`Kn6To$#7#Q#(h=Uzq zFZc;~M)SA9FD?kx=2s|6*-+HhM`~Wh}r-?v6a3Q!6+z0*%Hi85=0UC{AE&%6( ztH3O<47?6L0(-y#@CV4gfZZ3g1f4){Fcgdh(W(5K2bO{tz}sLK*bjaMHO8`=fjrO; zj0Bf}TR}0H4;F*v;Cb*G*aCKez2Ilyx{yMEhM*1T4$cGx7t;UZ5v~U_!F}LSupGPq z%D{T?A@~%01HK0*K=wGMP|zI=0T+NPK@pe_9tMwt)gTVGfRDkKU_Uqt+!xXRITtZq zg3e$7I0sAuw}81|5m*jh0$af6;2`(|WL-?HKzGm&oDFURi^0oa8~6n@zQnJFfjhus z;2E$QycOl&cJMi<04G3$@iY_Y4hDluz;v)2Yyo?LcLL)C^ajJg)nFEQ5Ig}&!6xt@ zpf1H0^Z*mVEnp6KT*7bjZy%_68JU9N;0iDu%mdGYO<*_p7W@P}VQK`<1Y^K7Fc-W6 z%E8Z|(L~Y%gUV(%^q<{}MPgl}{q1aOQ5n|b4 zitTF0{d|Ap?DQy7IX{)~DZ?fgT{$V~m1joTQBZS#H%FakmZv$Kdvlds4%<;s@QcPBACiG;>U4p65@QJn70CQ>pJ5}rxWdz;jT9nI;JT=OMX{_^YXHMR51VcQ~SoWFTa zQk!I2W1N40E3a(kIDdUt@1#1(+$<~ROkXa=EG}^Pk)=zyLGEJla(l}&J1(-@>SC)H zBwEMxz1Uxul8w69ikW$_RSheKok?Q8vSV^Cu?z;j{w8=?DU7sb z(r#>KS#lXW)zvIN^Ayhw1C=ZE$x3}uUfynkUbtIbrD`IF;MMh&>WdtQ=d(0lq4*}3 z=|h&~`p#xizFEk^6Tmd&^u_vQ(Y{U1_^<&z9916^kX8MJPixMN0A%42pcFXiImnaBta^wp5g`RfCrSNsVY`Fvu_O>$<9s?xN zFg&wAdJ-*#9~g|?(-ay$a|qX=$RYT8AeB)=Stkrgp`#Im6+jY-!yWVKR~*!EzKsTA zR1B{HmJNIaNJ7G|jo@WM?1c}2V&n?goNe2ez++hoaRvGqybDO0&hm&+YqheB0#^S6 zUtlDB5^O_OqZB6=+z3K07)}4OaH3j?49@~mpcwovkbX^HSWy;Od>iz_UU=IDj2q-~ zIAg4B9~c|uLu>+JBIIf0YaskAEdk$kky1tIWAJD`L!gX$9K&>YO_;OH!z3}@tQ)6V|vRkMz za%y==WLai%#%=U}g20U1nAxT?NRWkh-N~1_$O*U{n~wjWYhYh72_Xx=2F4%@KRc6s z967ZXCGr7u58X{GA`7np(~;wFa#6~?Q38u*kued%OTjwi68Ie;T_b$kYz7f};e{X} zHn6o)B{sq%=Fmb6Ug7hA2e|;A0wf*blb{!R;rjP5cG?pNBJ2kvkt^T{bM3t#?_Ou| z%74;l$ghJCvhY@r_fOMjlK+}$9=h};EYlaKOf5o50c0`C;SX{=K^7hZj^iu58tg|F zmgO&}Bd37qp%l#5rmOT z;ZLF~m<Nr12RFXG8lA3A59=!{u=#BAPye|l7V`i2m9;j?-!{JT<+jJ#1!ViGy$T9e(xSeJk?y;3_LSGL5vX%a~j%x4IoIpw~e1#(i zw=uf{Iff+QA3vZ~aF#_w+iqu~LJq+n?yw7*S{Rf<%L1Vn>|zf>7A^)okcH=i)>5%u z(d6Qw+FB$u_fz@GpYN^Uv%z!71@P!EnF*1@aOmH5L4_|%*v%e>-vm;DINbCrTP}c4 z*=x%I_(Ml7hg*KlF(^u(RUj<>h8B?igTMWjOhgX{|6@C+RwYG$4BhMdsS&bp_X7+r z{*k6e4pwkb152cKnHPfL{1gFdaDzdymrh$N_i=V4U$J1z|Rjri;O+{OmLr z+!Dz7VgdY}-=#L=Tme7KYNs{X<P>0@H3znaw+^Zh)Rts5XLp3q(p?_t<6{*5xJnbOU(naub03Z zfOJPW{CSWtHmZe7o!^oNsH78y=d^OE-RNWR1|TgFZ|zbagN|#sRDhSYV8tH39`rzt!25vISl)fe;uVA`$nu)P z^gCE?6`NxC(&_ZS99~n)%n~6>(0)3DRzVi79c8^%{L1f`J zchj%P!V_lM`Y>GY9>x~>Abj0CR_jHM%p>u49(1V{1XAnJBFkE}?H{IpkcEE+8;~m( zpw-qQwf-e8)!;SF$6zki325Z>bz9TdcuilNR@R8^%fhoqqd15lE7eXyPG7M$eYM*3 zm1<>m+6$IbXzYb2fJMl{SAto{!c)OCWZ^r3q%T|o#vltvJFQ~P(AOz7{Ms7&2{{fw z@QO>VLXN?U*71S`a{4;4vRz-dKO|uFMQ@Z)DmCeFMtQV@Yl9J zswxl)H!#46kkw_Mc#q7G(^rp`Rb}tk%sjD9TYNWi1vW8w?-s^EHuoXne**%g2#0=V zBqLYAAMmPBN0DL8OEWUlrPh+=LRZ$AZG4Q`5F6p^Krdu@!>2uvBcZ&C^fi!UhrAE< z(Fs}tn*<#H6a9L|*`MtHSD&xN-522Sw43MSb#w$K9HMQ<#3{* z-73O$8#(F2V;niPk}qjSWrg3YCT`V(fN*!v8aV`?)|5n%OW@alG<9lyU-Yv6?{lC8 zS-1kkkcAhp!0%>cS?Kq-7Od=vEDQI(1bWcLad>4bchu_d^i_Lh_1=3y5k|r*Kp}D| z{2P$gQoLC+63AGQw``sVl36KyLtDF`#qb(noq)i}1%HJnv}4&+d?&Pvy44&43kal^ z`$d*zf46mVs}0Divs<0p#ZIUgcIVj{2jC}xHK5=NyV`R4n!f4l0n56;eY(-Q?{MA+ zPXu+N1Voq&JjfBaLwDZf+RKy-Cl>$~K5@FdYR0q**XEU+FtWUwa|Mt>$YQ>i^>V9K z=w1(k#HfHg&cuD1~Ot3aNqv69D=VNK*n4| zmW14@%RoEP^o4n4(cYKATGIJ{syg?;rpmjIAMM3dibR18#Yc%A^Xw{-Y zMf(b3Hkj56BTi&}C+=kLfZ>!G2TFYbNokePv`JLdI&YogD9EK^#fm5q(REU095}1i z`F_4RPtv@9eEEFOljq!?b4eP`?;G)L6ve0D;)z_QZ?X~4b7|%<*%>qZ3Wl3bdRXb$ z$|L!^nLUHq5MS|vDa=5-I2jGW`{9cybIHMRSDOumdL~ZoV#Ii{18F2u;x!z9O?a*$ z$kBhKrue#P-f_$qJp(h@m@5WJ|TDxPjjk|p6XOQu=?a;g6X3O;gQ#~ zA$V~j3gg}Ov?HzG-oV+b1;I>^Ff)sTtGJ|S7l)!0J{KR%Fe+8}++Q-3c(D?>@qT!0 z&>3nE%;pP=-n%*3=_58FdjS)<#9+LVh9}NvWq45u!yEDWNyCZ|E`N|c`WyEN_{35! zS9~rr7_TVdXa2-W@ZyVT6}}bjewYp6Ej#rv*Z(PxurglAB?NDB{l5fZB@F-S&+H}b z;!aeG7nd(1LYR4TNxrn_$NlEV21{MW_gDG9$_1|2%r~Ggn;9(5d65;+F7~29cm)A(e~m+fZ-;|hofA{fuO31j zwA*^1bpq0a5B}bGJ@~rAcs=-f?CVY+JqUZV@e$aG^u7>ygWL9-+~--2o@-sXi4DQ) znb)0dY|s|Y_RU;PDDrpu!-_2&e_b~IEkx!b?Xez!{x#AGqD`A`zJOtFx3qoy zE$gB^Lwxr(zW=cZ`8@;amZ^l`rM=u-wzD93(f8Z|@%dT0%GCYN;z86Mt_%kp!K1u* zH;f!fpe|ngx`2dAydKDZrnJE7#rFm7^67a%fz@x2U0{uDXJ(${-_3*5ci{sk6K;44 zL5%qP2wo-gPCJ!^Rocbrs73u@HkMaB`E-I2X%~Nmy6_>m@(g~D=WR9)W+Hm=T{aV^ z@!Wbj6XHlzh7Z80BM79Fhu!BCShe`R#9mh>$@fz)3!`1^MV)x-yaH?Ig{*8R!wy%D zA%+njfo&HTSo84hFybq)>{`8m**B5l!sjOdD+##eI-ZE8y%p|4xC#0uRG@<*4iYJcZG42JltDs_w@p`oTxS57O4ZY%7a6n?Ec*a8H5dqm$Tyym)a2k7|3gGMLR7&W{mR)^N@5 zSTTLX2wH*{YZf7V2p0c=5qphM{3EH*4|4o<-M2niU`=?)3=7PJ4kvgw!#fef{LzU& zBg|0m;=3KV>JffX1}~nnj1gi5;>hKk$aqBvpZF+`{nN(-_n^#&4mj&EMv?UfSJ?dI zYOS;4Y#ob^nd(_iU1<&nyqlU9wX0&MWVLe$-0^;5}9(cLHT8>xtubmAB7JE?(FNjaR%8K#%S-tt8zY70d z{8x_U`>qTJzs`Mv{^Bbrh0o>o(np!TFTTOmffpxjK;eUodE7jmh*`218~ zrThM9g<;sexx;B$$)c%|{~LHqII<^N<<@hW_o`(*)7 zGB85$OEd_tLYIra;`n=*P?gM0NcVPC%lyW8Rm&XxZ>L=qHDitM%kbp~fxjj>xqxUi z<`w@`NSqs96*Z+rWCJyDXN1{&UvUp=q7SsK&zV@oL@u-!uTbA@Xg^;32zB67Fq`Bn zb|TM*3?tl&-1roHzl05vhp|#pSU+Oq;BWgAk4Jl7nlJZ%#rht13|qtt;smq`?}N(W zZNvBF@$z0UxG&3BnZ7%bhZTrr6u7wY;%F7S;8jC3Q`78#YKeYpylRS`u+4XAOS^PrmbYos?J)g)y@fyHx9W0dGGjzMi& z{^@<;zxF*$e1rz^h9Q223h}Cf%7*-k{xcBm;xy#Lt4b;x@GI^*v(T!cUHkx5YdP?& z;Z7o~7fwf+zZYP`aE`y;sq*7~6$O0mS)>TkE?$Tl@IJU2=?<75{i|5u1E`ZeVj8vK z#lM|RNe`a`k|T(|9LdIVN$1A|j~_`T)oG(hkY)z)A=Hgm+2^N7ZxSl~oO=$Qw_TNj zeuA_SDidu+nJ=Lzo*hUL?TINaUHFOdDz@#Q*mflCD!Q$_kgEf)!rSLBA_LfFLKV1= zQCnJ#SJCUMs6p+pi=x;NUd6FZ6vr;dt4Q`XYEbp~pK4KmL`|ytt2Xs-SwFtex)*5& zR2!QOG8WgMjr14ojr_BL3DxygBOMzR;jKrSS%rA*NU6qRHn})Ipjbi0{U)=Q^brT5 z6Y=6GREig;pu?<7tU~)!-2X$Ep_e&Bsv6~YkcLz>V#O8C2Ia>VE7tgR^biXbKSm4i zs>T{Z*;fNzQS+M82{UC!c#X`p6bTBj92jSylV@s3fe<9rjW$p8YYxb zyc{L*N+BM0Ju~4IHM{|NKH;2zlcq6zc!dXdpfFwu!Lx6mU=6R--@~W}uOQ!r$h)7N zfrF|z%y>ofHXu8~gaUX+{};y@uaw=5$n`158(x1C*E(MDxcgBJUeUMnC=XBKRVKcA zCY5&T4_&u7BcvkE0RiV6%1^pg3hn|l=rca-1i1eH%tV@*#ixNmbuk_;Y7vK3F}AON)7faPn+!R(MruKJp7*!&A0t{pVIzj`!TgAw#40*bFJ= zk!prfo!}|AI|~iLv3EGfUNy_Bk*)~UFyD8l(?`|Y|3Ern^D}qzvv%`yc9pHW=sxcwc^DmQ3GE5k7>6;oGa)qK4eDVTSy-`6`-s9+9*Ch$2LE& zR#~=BE~9@Jf2PTJm$Uawi1SehAA%cD=5`BLJj!9BJpzw^jG^Z$P~G~awOmfmG1Tx8 zq!F?nXJ}F8E(x=7x8gY~Ss(L?AFbs0dzi=t-r^N}TUF0HAwHLIi&p~fKJ+qP9N54e z5$}P)r?^t^;*(KE;B!uDcnB#DSIkD;ilZ9271KVdk>MN{BR81|aR(ZP&n4U96@XhF z=WyV~OHdLoKAPb2!bjkWr`daa=ot>vv)ls?a0oVVQa{HDi*JR)TDW}ixg1=Z31#M% zzRZH~Vi^kJ#SJKcZ-w(-;nKv1;BQ{#+Lwpf1YI$koGUK-D~G9@za!utbeR4rSih0I zr#%Vnz?;0l*(=tgh5RRyvIw3>v+1PD`{kQhIbPNI?lz}?E?$>*Meokt!Uq$)7)B4_ z#Vtr5WODhtv@3`A>>XU<-Q54Zm`~qf1P-#|cl%O#mCl<<WgbidujC5Kl@_dcZma!bRRpF1O`1c#yni~#M57wANK+93r`?{-GQ3xjDk zgg!z0ORjCCOC<>}I>bo4#z?^8uNWdax#4z{`3ng?@NbSM?fI#}N)*1lhr8z&t_+X* zhRap+!fax&xanJNYV;BB`i|p2l8IbMFkacg#}*V>HF)tXRE_t->x+qW#RuTvqlw7H zd*I{!imV=d625_Sdv1rH7@vmEk~-{8Gm6;+VmwL2w)MhsM9DHCP99WbjmG=oER^{$ z0#nBqSqo_w4c`AAsMY(X7BaqsaOt()kgDpPH4sRb$g+3o@>>%b3WzIswumffG22Q19KXY$@>yX-&3-GzxS%LBauB5bIUO54A z<5liIY=qN4KMz`Y(Y0s>J0?Ccg5zJwL@o@P6(}tFXmSG<(k>1_^YCuC9cg9C73fFR z{VKJ?xkwwQO8kAsr(rflTJ(|>y`TQ#g{TAXyTI;?kXDrRdQ|!^SB43EFP)Nb>S&HP z?E$z9X(J-=9piJk()3Z>^m7DA`|zTYpS}280yI9C6m2u1wCQZZw0Pc6imWK@VrVQw zh8Is5$Ee`NAB`un0q=nqBkjF1q!&$K2M%#>fZ2>_@tsS!jA<83Cl*;%csI0n@{ewZ zDcFOwp!}5RS(h@5sDT;88z&W6%kcrY3hCY+ft8bsG8veCY0*4pN86p36sb!U0Y<`G>zlGkcnI{HD1BhPoN}Td=W+P`N`ButuDHe zgbdonQ&9@vmrU)-q*m9^KIkjH5rq$+LcG$ccgMfi+cx6L>5a49Qr{ScZIsN@GZhR7s_&Iz0SN0Mvme=0HUB-uhQDi-h)UG(_fwyw} zL;q%FnCjcuW4yAP-$aF9bD6S)i;X-8L!*JE0Vr%qw-2atz zymv6+tGtkgm4q7)`kqS;K1?3nLd^g#BdoXu?}tw#^-+Ma=M1uydl^Nz0I6Nc#QljB zUQW9k-iq-)rw>nHK*A1Gn5?Y|X$cmv=SUx~+I+>~4F!*tW`! z-~|G8O9;``R_6!hDpZa>C zZ|IY*Cn0!X1AEMZ#PiX9EfmgGJ0qbm+|AKqe({(Mg_D~}`^Ed=B~KSyBMb0w==1C) z-UF{AyY^+gGHn0!8l#90!>w-=TeAyU4xF@^lh9_ukJ++~Eh^##ShC%W1f1VqY>lN| zDYWmtQ*6z{D{1y=;$-*W6)U^wU4B%&m=(a4yV!ete&lO@EUaQ6xLU ztkM!H@nJR>G%x?t&V+-yNcEg|H0c=7jb`J;>m|HWKZg)tDN8VM0&vk%Z>NJJB-&a3N0}{ z3}eP8;ZEaIu*Z1oVwQ0Tw{C$zGi$Y+-rOa_84#dg#Qmf znH9jF8t;Qu#s{EndFJ_5I7U(oMRcbOOTTgwA}>MYa^&o$l)uQA>a=Ncb`4;vqb z3FDJ+hw<(33**ypz*uMbwi|PBTJPr^3i+hLdSY3TB?e4D*@ zW6Csv_reO}{jl2jAY5X67)Fgx!Vittk6-k^#B4MiXS@&2F+K=a8y|u8HZ#!`*IL>$J zuUPmKCOI=J8vaV-mCt^^@ycLtG+r6zZN@9dyxVwXle;FH9fKn$+h&WHxY@iAfJ=>6 zjQA_Yx59(QEARWH%ghGBDaI@J`+nm?u-SO!e}8Cv3iiL;Y=n&&XC@Q|KF4?kg0D7S zq2Sw$R~Gj7##RLMPGRIsx8i+hdlzS8Bfimq~AP^9vC#`{FX8_5fA zuP+&Q#ERfOuEG~e*OqvT?21NzV^w3IvAWS0tBCnyRk1*0RpkMXREL zXmvCgt%;Vc_pUEr?^_>fj5a14TN+y%+Zx*&I~!At&L)<{ys`3_GrG}OGS(7njkU$v zW3DE5(~u@lQ(2R@DLal!65&K`BBIR>aVCMxcGWGZ<1dPOcm0t1vU+b}y|2FFg)!?( HHoN{0-XRB0 delta 78558 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 Date: Mon, 3 Jul 2017 23:38:55 +0100 Subject: [PATCH 53/84] ubOde: but only do that if sphere is physical.. --- OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs index 3c4675c8de..0e46471879 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODECharacter.cs @@ -944,7 +944,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde return true; } - if (gtype == d.GeomClassID.SphereClass) + if (gtype == d.GeomClassID.SphereClass && d.GeomGetBody(other) != IntPtr.Zero) { if(d.GeomSphereGetRadius(other) < 0.5) return true; From dfef16297b51fb81550745aeea05bd10cb1fc766 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 7 Jul 2017 01:49:34 +0100 Subject: [PATCH 54/84] ubOde don't use old ode body sleep option, a few changes on sleep control, update ode.dll (windows, others needed) (keep older versions.. bc.. well bugs happen) --- .../PhysicsModules/ubOde/ODEDynamics.cs | 1 + .../Region/PhysicsModules/ubOde/ODEPrim.cs | 36 ++++++++++++++---- .../Region/PhysicsModules/ubOde/ODEScene.cs | 2 +- bin/lib32/ode.dll | Bin 541696 -> 541696 bytes bin/lib64/ode.dll | Bin 635392 -> 635904 bytes 5 files changed, 31 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs index 2e6a7dbcb1..ce10065af9 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs @@ -345,6 +345,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (rootPrim.Body != IntPtr.Zero && !d.BodyIsEnabled(rootPrim.Body) && !rootPrim.m_isSelected && !rootPrim.m_disabled) d.BodyEnable(rootPrim.Body); + break; case Vehicle.LINEAR_FRICTION_TIMESCALE: if (pValue < m_timestep) pValue = m_timestep; diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs index 4bed0d2138..005caee161 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs @@ -1847,8 +1847,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde ApplyCollisionCatFlags(); _zeroFlag = true; + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); - } } resetCollisionAccounting(); @@ -2900,6 +2900,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (Body != IntPtr.Zero && !m_disabled) { _zeroFlag = true; + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); } } @@ -2933,6 +2934,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (!d.BodyIsEnabled(Body)) { _zeroFlag = true; + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); } } @@ -2947,6 +2949,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (Body != IntPtr.Zero && !d.BodyIsEnabled(Body)) { _zeroFlag = true; + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); } } @@ -3012,6 +3015,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (Body != IntPtr.Zero && !d.BodyIsEnabled(Body)) { _zeroFlag = true; + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); } } @@ -3070,6 +3074,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (Body != IntPtr.Zero && !d.BodyIsEnabled(Body)) { _zeroFlag = true; + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); } } @@ -3312,8 +3317,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (m_disabled) enableBodySoft(); else if (!d.BodyIsEnabled(Body)) + { + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); - + } } m_torque = newtorque; } @@ -3323,7 +3330,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde { m_force = force; if (!m_isSelected && !m_outbounds && Body != IntPtr.Zero && !d.BodyIsEnabled(Body)) + { + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); + } } private void changeAddForce(Vector3 theforce) @@ -3339,7 +3349,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (m_disabled) enableBodySoft(); else if (!d.BodyIsEnabled(Body)) + { + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); + } } } m_collisionscore = 0; @@ -3359,7 +3372,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (m_disabled) enableBodySoft(); else if (!d.BodyIsEnabled(Body)) + { + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); + } } } m_collisionscore = 0; @@ -3382,7 +3398,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (m_disabled) enableBodySoft(); else if (!d.BodyIsEnabled(Body)) + { + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); + } d.BodySetLinearVel(Body, newVel.X, newVel.Y, newVel.Z); } //resetCollisionAccounting(); @@ -3406,7 +3425,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde if (m_disabled) enableBodySoft(); else if (!d.BodyIsEnabled(Body)) + { + d.BodySetAutoDisableSteps(Body, m_body_autodisable_frames); d.BodyEnable(Body); + } d.BodySetAngularVel(Body, newAngVel.X, newAngVel.Y, newAngVel.Z); } //resetCollisionAccounting(); @@ -3571,12 +3593,13 @@ namespace OpenSim.Region.PhysicsModule.ubOde d.BodySetAngularVel(Body,0f,0f,0f); d.BodySetLinearVel(Body,0f,0f,0f); _zeroFlag = true; + d.BodySetAutoDisableSteps(Body, 1); d.BodyEnable(Body); m_bodydisablecontrol = -4; } if(m_bodydisablecontrol < 0) - m_bodydisablecontrol ++; + m_bodydisablecontrol++; d.Vector3 lpos = d.GeomGetPosition(prim_geom); // root position that is seem by rest of simulator @@ -3741,13 +3764,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde public void UpdatePositionAndVelocity(int frame) { - if (_parent == null && !m_disabled && !m_building && !m_outbounds && Body != IntPtr.Zero) + if (_parent == null && !m_isSelected && !m_disabled && !m_building && !m_outbounds && Body != IntPtr.Zero) { - bool bodyenabled = d.BodyIsEnabled(Body); - if(m_bodydisablecontrol < 0) return; + bool bodyenabled = d.BodyIsEnabled(Body); if (bodyenabled || !_zeroFlag) { bool lastZeroFlag = _zeroFlag; @@ -3891,7 +3913,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde // disable interpolators _velocity = Vector3.Zero; m_acceleration = Vector3.Zero; - m_rotationalVelocity = Vector3.Zero; + m_rotationalVelocity = Vector3.Zero; } else { diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs index 844d02bad1..5758e0a1a3 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs @@ -481,7 +481,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde contactsPerCollision = physicsconfig.GetInt("contacts_per_collision", contactsPerCollision); geomDefaultDensity = physicsconfig.GetFloat("geometry_default_density", geomDefaultDensity); - bodyFramesAutoDisable = physicsconfig.GetInt("body_frames_auto_disable", bodyFramesAutoDisable); +// bodyFramesAutoDisable = physicsconfig.GetInt("body_frames_auto_disable", bodyFramesAutoDisable); physics_logging = physicsconfig.GetBoolean("physics_logging", false); physics_logging_interval = physicsconfig.GetInt("physics_logging_interval", 0); diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 9657355ce972c29f4e800f25a1da9dcff5eb4d6d..cb4d1a060a0c6f4f25101842c28984bb047b38a2 100755 GIT binary patch delta 67592 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 q}N3BFYqZU^)xhiN;#W-r1?N@-(IENrK?Ia)$Em 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 Y&aZVK2Sk-HD*&NGb?KR7pGlqPXGV_ delta 67565 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�=vOu>qceOOyu09RK7_Oa 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 gvtE_6D*20|Dz~azReqH(v&vsp_||20IqN Date: Fri, 7 Jul 2017 04:57:57 +0100 Subject: [PATCH 55/84] bug fix: dynamic testures set to ALL_SIDES, preserve other face data already present --- .../Scripting/DynamicTexture/DynamicTextureModule.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs index c0b7ab5855..090cb7d447 100644 --- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs @@ -428,12 +428,16 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture // FIXME: Need to return the appropriate ID if only a single face is replaced. oldID = tmptex.DefaultTexture.TextureID; + // not using parts number of faces because that fails on old meshs if (Face == ALL_SIDES) { oldID = tmptex.DefaultTexture.TextureID; tmptex.DefaultTexture.TextureID = textureID; for(int i = 0; i < tmptex.FaceTextures.Length; i++) - tmptex.FaceTextures[i] = null; + { + if(tmptex.FaceTextures[i] != null) + tmptex.FaceTextures[i].TextureID = textureID; + } } else { From cc5d6f6b7bcf23b698d1d6a98b60d04bc5ecb036 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 9 Jul 2017 00:14:30 +0100 Subject: [PATCH 56/84] throttle collision sounds on a SOG. --- .../Framework/Scenes/CollisionSounds.cs | 24 +++++++++++---- .../Framework/Scenes/SceneObjectGroup.cs | 30 ++++++++++++++++++- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/CollisionSounds.cs b/OpenSim/Region/Framework/Scenes/CollisionSounds.cs index e76fef4a79..f87043ea3b 100644 --- a/OpenSim/Region/Framework/Scenes/CollisionSounds.cs +++ b/OpenSim/Region/Framework/Scenes/CollisionSounds.cs @@ -116,16 +116,20 @@ namespace OpenSim.Region.Framework.Scenes public static void PartCollisionSound(SceneObjectPart part, List collidersinfolist) { + if (part.CollisionSoundType < 0) + return; + if (collidersinfolist.Count == 0 || part == null) return; if (part.VolumeDetectActive || (part.Flags & PrimFlags.Physics) == 0) return; - if (part.ParentGroup == null) + SceneObjectGroup sog = part.ParentGroup; + if (sog == null || sog.IsDeleted || sog.inTransit) return; - if (part.CollisionSoundType < 0) + if(sog.CollisionSoundThrootled(part.CollisionSoundType)) return; float volume = part.CollisionSoundVolume; @@ -189,15 +193,23 @@ namespace OpenSim.Region.Framework.Scenes continue; } - SceneObjectPart otherPart = part.ParentGroup.Scene.GetSceneObjectPart(id); + SceneObjectPart otherPart = sog.Scene.GetSceneObjectPart(id); if (otherPart != null) { - if (otherPart.CollisionSoundType < 0 || otherPart.VolumeDetectActive) + SceneObjectGroup othersog = otherPart.ParentGroup; + if(othersog == null || othersog.IsDeleted || othersog.inTransit) + continue; + + int otherType = otherPart.CollisionSoundType; + if (otherType < 0 || otherPart.VolumeDetectActive) continue; if (!HaveSound) { - if (otherPart.CollisionSoundType == 1) + if(othersog.CollisionSoundThrootled(otherType)) + continue; + + if (otherType == 1) { soundID = otherPart.CollisionSound; volume = otherPart.CollisionSoundVolume; @@ -206,7 +218,7 @@ namespace OpenSim.Region.Framework.Scenes } else { - if (otherPart.CollisionSoundType == 2) + if (otherType == 2) { volume = otherPart.CollisionSoundVolume; if (volume == 0.0f) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index fdfe8ae7ce..bf915e000d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -1259,6 +1259,8 @@ namespace OpenSim.Region.Framework.Scenes set { m_LoopSoundSlavePrims = value; } } + private double m_lastCollisionSoundMS; + /// /// The UUID for the region this object is in. /// @@ -1336,7 +1338,7 @@ namespace OpenSim.Region.Framework.Scenes ///

public SceneObjectGroup() { - + m_lastCollisionSoundMS = Util.GetTimeStampMS() + 1000.0; } /// @@ -5528,7 +5530,33 @@ namespace OpenSim.Region.Framework.Scenes } } + public bool CollisionSoundThrootled(int collisionSoundType) + { + double time = m_lastCollisionSoundMS; +// m_lastCollisionSoundMS = Util.GetTimeStampMS(); +// time = m_lastCollisionSoundMS - time; + double now = Util.GetTimeStampMS(); + time = now - time; + switch (collisionSoundType) + { + case 0: // default sounds + case 2: // default sounds with volume set by script + if(time < 300.0) + return true; + break; + case 1: // selected sound + if(time < 200.0) + return true; + break; + default: + break; + } + m_lastCollisionSoundMS = now; + return false; + } + #endregion } + } From 63e3fc21efa1089bf90ff2aa703128e8955d9aed Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 10 Jul 2017 13:48:28 +0100 Subject: [PATCH 57/84] fix the name of a funtion on last commit --- OpenSim/Region/Framework/Scenes/CollisionSounds.cs | 4 ++-- OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/CollisionSounds.cs b/OpenSim/Region/Framework/Scenes/CollisionSounds.cs index f87043ea3b..63aafcd066 100644 --- a/OpenSim/Region/Framework/Scenes/CollisionSounds.cs +++ b/OpenSim/Region/Framework/Scenes/CollisionSounds.cs @@ -129,7 +129,7 @@ namespace OpenSim.Region.Framework.Scenes if (sog == null || sog.IsDeleted || sog.inTransit) return; - if(sog.CollisionSoundThrootled(part.CollisionSoundType)) + if(sog.CollisionSoundThrottled(part.CollisionSoundType)) return; float volume = part.CollisionSoundVolume; @@ -206,7 +206,7 @@ namespace OpenSim.Region.Framework.Scenes if (!HaveSound) { - if(othersog.CollisionSoundThrootled(otherType)) + if(othersog.CollisionSoundThrottled(otherType)) continue; if (otherType == 1) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index bf915e000d..c4b768ba49 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -5530,7 +5530,7 @@ namespace OpenSim.Region.Framework.Scenes } } - public bool CollisionSoundThrootled(int collisionSoundType) + public bool CollisionSoundThrottled(int collisionSoundType) { double time = m_lastCollisionSoundMS; // m_lastCollisionSoundMS = Util.GetTimeStampMS(); From 9dbcb4e5f687f576ec23794cdf85b41130fea0b0 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 10 Jul 2017 19:31:35 +0100 Subject: [PATCH 58/84] on entities updates throttles vectors needed to be compared as vectors, not just their norms --- .../Framework/Scenes/SceneObjectPart.cs | 133 +++++++++++++++--- .../Region/Framework/Scenes/ScenePresence.cs | 15 +- 2 files changed, 116 insertions(+), 32 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index f9699b1db2..576a013a7d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -369,9 +369,9 @@ namespace OpenSim.Region.Framework.Scenes protected Vector3 m_lastPosition; protected Quaternion m_lastRotation; protected Vector3 m_lastVelocity; - protected Vector3 m_lastAcceleration; + protected Vector3 m_lastAcceleration; // acceleration is a derived var with high noise protected Vector3 m_lastAngularVelocity; - protected int m_lastUpdateSentTime; + protected double m_lastUpdateSentTime; protected float m_buoyancy = 0.0f; protected Vector3 m_force; protected Vector3 m_torque; @@ -2875,7 +2875,7 @@ namespace OpenSim.Region.Framework.Scenes public void PhysicsCollision(EventArgs e) { - if (ParentGroup.Scene == null || ParentGroup.IsDeleted) + if (ParentGroup.Scene == null || ParentGroup.IsDeleted || ParentGroup.inTransit) return; // this a thread from physics ( heartbeat ) @@ -3331,7 +3331,7 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter m_lastVelocity = Velocity; m_lastAcceleration = Acceleration; m_lastAngularVelocity = AngularVelocity; - m_lastUpdateSentTime = Environment.TickCount; + m_lastUpdateSentTime = Util.GetTimeStampMS(); ParentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar) { @@ -3350,7 +3350,7 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter m_lastVelocity = Velocity; m_lastAcceleration = Acceleration; m_lastAngularVelocity = AngularVelocity; - m_lastUpdateSentTime = Environment.TickCount; + m_lastUpdateSentTime = Util.GetTimeStampMS(); if (ParentGroup.IsAttachment) { @@ -3396,31 +3396,122 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter ParentGroup.Scene.StatsReporter.AddObjectUpdates(1); } + /// /// Tell all the prims which have had updates scheduled /// public void SendScheduledUpdates() { const float ROTATION_TOLERANCE = 0.01f; - const float VELOCITY_TOLERANCE = 0.001f; + const float VELOCITY_TOLERANCE = 0.1f; // terse update vel has low resolution const float POSITION_TOLERANCE = 0.05f; // I don't like this, but I suppose it's necessary - const int TIME_MS_TOLERANCE = 200; //llSetPos has a 200ms delay. This should NOT be 3 seconds. - + const double TIME_MS_TOLERANCE = 200f; //llSetPos has a 200ms delay. This should NOT be 3 seconds. + switch (UpdateFlag) { + // this is wrong we need to get back to this case UpdateRequired.TERSE: { ClearUpdateSchedule(); - // Throw away duplicate or insignificant updates - if (!RotationOffset.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || - !Acceleration.Equals(m_lastAcceleration) || - !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || - Velocity.ApproxEquals(Vector3.Zero, VELOCITY_TOLERANCE) || - !AngularVelocity.ApproxEquals(m_lastAngularVelocity, VELOCITY_TOLERANCE) || - !OffsetPosition.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) || - Environment.TickCount - m_lastUpdateSentTime > TIME_MS_TOLERANCE) + + bool needupdate = true; + double now = Util.GetTimeStampMS(); + Vector3 curvel = Velocity; + Vector3 curacc = Acceleration; + Vector3 angvel = AngularVelocity; + + while(true) // just to avoid ugly goto { - SendTerseUpdateToAllClientsInternal(); + double elapsed = now - m_lastUpdateSentTime; + + // minimal rate also for the other things on terse updates + if (elapsed > TIME_MS_TOLERANCE) + break; + + if( Math.Abs(curacc.X - m_lastAcceleration.X) > VELOCITY_TOLERANCE || + Math.Abs(curacc.Y - m_lastAcceleration.Y) > VELOCITY_TOLERANCE || + Math.Abs(curacc.Z - m_lastAcceleration.Z) > VELOCITY_TOLERANCE) + break; + + // velocity change is also direction not only norm) + if( Math.Abs(curvel.X - m_lastVelocity.X) > VELOCITY_TOLERANCE || + Math.Abs(curvel.Y - m_lastVelocity.Y) > VELOCITY_TOLERANCE || + Math.Abs(curvel.Z - m_lastVelocity.Z) > VELOCITY_TOLERANCE) + break; + + float vx = Math.Abs(curvel.X); + if(vx > 128.0) + break; + float vy = Math.Abs(curvel.Y); + if(vy > 128.0) + break; + float vz = Math.Abs(curvel.Z); + if(vz > 128.0) + break; + + if ( + vx < VELOCITY_TOLERANCE && + vy < VELOCITY_TOLERANCE && + vz < VELOCITY_TOLERANCE + ) + { + if(!OffsetPosition.ApproxEquals(m_lastPosition, POSITION_TOLERANCE)) + break; + + if (vx < 1e-4 && + vy < 1e-4 && + vz < 1e-4 && + ( + Math.Abs(m_lastVelocity.X) > 1e-4 || + Math.Abs(m_lastVelocity.Y) > 1e-4 || + Math.Abs(m_lastVelocity.Z) > 1e-4 + )) + break; + } + + if( Math.Abs(angvel.X - m_lastAngularVelocity.X) > VELOCITY_TOLERANCE || + Math.Abs(angvel.Y - m_lastAngularVelocity.Y) > VELOCITY_TOLERANCE || + Math.Abs(angvel.Z - m_lastAngularVelocity.Z) > VELOCITY_TOLERANCE) + break; + + // viewer interpolators have a limit of 128m/s + float ax = Math.Abs(angvel.X); + if(ax > 64.0) + break; + float ay = Math.Abs(angvel.Y); + if(ay > 64.0) + break; + float az = Math.Abs(angvel.Z); + if(az > 64.0) + break; + + if ( + ax < VELOCITY_TOLERANCE && + ay < VELOCITY_TOLERANCE && + az < VELOCITY_TOLERANCE && + !RotationOffset.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) + ) + break; + + needupdate = false; + break; + } + + if(needupdate) + { + + // Update the "last" values + m_lastPosition = OffsetPosition; + m_lastRotation = RotationOffset; + m_lastVelocity = curvel; + m_lastAcceleration = curacc; + m_lastAngularVelocity = angvel; + m_lastUpdateSentTime = now; + + ParentGroup.Scene.ForEachClient(delegate(IClientAPI client) + { + SendTerseUpdateToClient(client); + }); } break; } @@ -3442,13 +3533,15 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter if (ParentGroup == null || ParentGroup.Scene == null) return; + ClearUpdateSchedule(); + // Update the "last" values m_lastPosition = OffsetPosition; m_lastRotation = RotationOffset; m_lastVelocity = Velocity; m_lastAcceleration = Acceleration; m_lastAngularVelocity = AngularVelocity; - m_lastUpdateSentTime = Environment.TickCount; + m_lastUpdateSentTime = Util.GetTimeStampMS(); ParentGroup.Scene.ForEachClient(delegate(IClientAPI client) { @@ -3461,13 +3554,15 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter if (ParentGroup == null || ParentGroup.Scene == null) return; + ClearUpdateSchedule(); + // Update the "last" values m_lastPosition = OffsetPosition; m_lastRotation = RotationOffset; m_lastVelocity = Velocity; m_lastAcceleration = Acceleration; m_lastAngularVelocity = AngularVelocity; - m_lastUpdateSentTime = Environment.TickCount; + m_lastUpdateSentTime = Util.GetTimeStampMS(); if (ParentGroup.IsAttachment) { diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 7e3adb9b8e..c1b62afbf4 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -3789,17 +3789,6 @@ namespace OpenSim.Region.Framework.Scenes // Send terse position update if not sitting and position, velocity, or rotation // has changed significantly from last sent update - if (!IsSatOnObject && ( - !Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) - || !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) - || !m_pos.ApproxEquals(m_lastPosition, POSITION_LARGETOLERANCE) - // if velocity is zero and it wasn't zero last time, send the update - || (Velocity == Vector3.Zero && m_lastVelocity != Vector3.Zero) - // if position has moved just a little and velocity is very low, send the update - || (!m_pos.ApproxEquals(m_lastPosition, POSITION_SMALLTOLERANCE) && Velocity.LengthSquared() < LOWVELOCITYSQ ) - ) ) - { -/* if (!IsSatOnObject) { // this does need to be more complex later @@ -3813,6 +3802,7 @@ namespace OpenSim.Region.Framework.Scenes Math.Abs(m_bodyRot.Y - m_lastRotation.Y) > ROTATION_TOLERANCE || Math.Abs(m_bodyRot.Z - m_lastRotation.Z) > ROTATION_TOLERANCE || + (vel == Vector3.Zero && m_lastVelocity != Vector3.Zero) || Math.Abs(dpos.X) > POSITION_LARGETOLERANCE || Math.Abs(dpos.Y) > POSITION_LARGETOLERANCE || Math.Abs(dpos.Z) > POSITION_LARGETOLERANCE || @@ -3823,9 +3813,8 @@ namespace OpenSim.Region.Framework.Scenes && vel.LengthSquared() < LOWVELOCITYSQ )) { -*/ SendTerseUpdateToAllClients(); -// } + } } CheckForSignificantMovement(); } From f8cdccc16729212e374cc001ab4f0be8e5960259 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 10 Jul 2017 21:12:34 +0100 Subject: [PATCH 59/84] a few more changes on entities updates --- .../ClientStack/Linden/UDP/LLClientView.cs | 24 ++++++----- .../Framework/Scenes/SceneObjectPart.cs | 43 ++++++------------- .../Region/Framework/Scenes/ScenePresence.cs | 36 ++++++++++------ 3 files changed, 49 insertions(+), 54 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 53c185b03a..954f21ff14 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -6256,20 +6256,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// private bool CheckAgentCameraUpdateSignificance(AgentUpdatePacket.AgentDataBlock x) { - float vdelta = Vector3.Distance(x.CameraAtAxis, m_thisAgentUpdateArgs.CameraAtAxis); - if((vdelta > VDELTA)) - return true; + if(Math.Abs(x.CameraCenter.X - m_thisAgentUpdateArgs.CameraCenter.X) > VDELTA || + Math.Abs(x.CameraCenter.Y - m_thisAgentUpdateArgs.CameraCenter.Y) > VDELTA || + Math.Abs(x.CameraCenter.Z - m_thisAgentUpdateArgs.CameraCenter.Z) > VDELTA || - vdelta = Vector3.Distance(x.CameraCenter, m_thisAgentUpdateArgs.CameraCenter); - if((vdelta > VDELTA)) - return true; + Math.Abs(x.CameraAtAxis.X - m_thisAgentUpdateArgs.CameraAtAxis.X) > VDELTA || + Math.Abs(x.CameraAtAxis.Y - m_thisAgentUpdateArgs.CameraAtAxis.Y) > VDELTA || +// Math.Abs(x.CameraAtAxis.Z - m_thisAgentUpdateArgs.CameraAtAxis.Z) > VDELTA || - vdelta = Vector3.Distance(x.CameraLeftAxis, m_thisAgentUpdateArgs.CameraLeftAxis); - if((vdelta > VDELTA)) - return true; + Math.Abs(x.CameraLeftAxis.X - m_thisAgentUpdateArgs.CameraLeftAxis.X) > VDELTA || + Math.Abs(x.CameraLeftAxis.Y - m_thisAgentUpdateArgs.CameraLeftAxis.Y) > VDELTA || +// Math.Abs(x.CameraLeftAxis.Z - m_thisAgentUpdateArgs.CameraLeftAxis.Z) > VDELTA || - vdelta = Vector3.Distance(x.CameraUpAxis, m_thisAgentUpdateArgs.CameraUpAxis); - if((vdelta > VDELTA)) + Math.Abs(x.CameraUpAxis.X - m_thisAgentUpdateArgs.CameraUpAxis.X) > VDELTA || + Math.Abs(x.CameraUpAxis.Y - m_thisAgentUpdateArgs.CameraUpAxis.Y) > VDELTA +// Math.Abs(x.CameraLeftAxis.Z - m_thisAgentUpdateArgs.CameraLeftAxis.Z) > VDELTA || + ) return true; return false; diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 576a013a7d..2e166637ef 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -3237,7 +3237,7 @@ namespace OpenSim.Region.Framework.Scenes /// /// Schedule a terse update for this prim. Terse updates only send position, - /// rotation, velocity and rotational velocity information. + /// rotation, velocity and rotational velocity information. WRONG!!!! /// public void ScheduleTerseUpdate() { @@ -3296,21 +3296,6 @@ namespace OpenSim.Region.Framework.Scenes sp.SendAttachmentUpdate(this, UpdateRequired.FULL); } } - -/* this does nothing -SendFullUpdateToClient(remoteClient, Position) ignores position parameter - if (IsRoot) - { - if (ParentGroup.IsAttachment) - { - SendFullUpdateToClient(remoteClient, AttachedPos); - } - else - { - SendFullUpdateToClient(remoteClient, AbsolutePosition); - } - } -*/ else { SendFullUpdateToClient(remoteClient); @@ -3396,24 +3381,26 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter ParentGroup.Scene.StatsReporter.AddObjectUpdates(1); } + + private const float ROTATION_TOLERANCE = 0.01f; + private const float VELOCITY_TOLERANCE = 0.1f; // terse update vel has low resolution + private const float POSITION_TOLERANCE = 0.05f; // I don't like this, but I suppose it's necessary + private const double TIME_MS_TOLERANCE = 200f; //llSetPos has a 200ms delay. This should NOT be 3 seconds. /// /// Tell all the prims which have had updates scheduled /// public void SendScheduledUpdates() - { - const float ROTATION_TOLERANCE = 0.01f; - const float VELOCITY_TOLERANCE = 0.1f; // terse update vel has low resolution - const float POSITION_TOLERANCE = 0.05f; // I don't like this, but I suppose it's necessary - const double TIME_MS_TOLERANCE = 200f; //llSetPos has a 200ms delay. This should NOT be 3 seconds. - + { switch (UpdateFlag) { - // this is wrong we need to get back to this - case UpdateRequired.TERSE: - { + case UpdateRequired.NONE: ClearUpdateSchedule(); + break; + case UpdateRequired.TERSE: + + ClearUpdateSchedule(); bool needupdate = true; double now = Util.GetTimeStampMS(); Vector3 curvel = Velocity; @@ -3423,8 +3410,6 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter while(true) // just to avoid ugly goto { double elapsed = now - m_lastUpdateSentTime; - - // minimal rate also for the other things on terse updates if (elapsed > TIME_MS_TOLERANCE) break; @@ -3514,13 +3499,11 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter }); } break; - } + case UpdateRequired.FULL: - { ClearUpdateSchedule(); SendFullUpdateToAllClientsInternal(); break; - } } } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index c1b62afbf4..ba3aaaed61 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -279,8 +279,11 @@ namespace OpenSim.Region.Framework.Scenes private bool MouseDown = false; public Vector3 lastKnownAllowedPosition; public bool sentMessageAboutRestrictedParcelFlyingDown; + public Vector4 CollisionPlane = Vector4.UnitW; + public Vector4 m_lastCollisionPlane = Vector4.UnitW; + private byte m_lastState; private Vector3 m_lastPosition; private Quaternion m_lastRotation; private Vector3 m_lastVelocity; @@ -2818,16 +2821,13 @@ namespace OpenSim.Region.Framework.Scenes CameraAtAxis = agentData.CameraAtAxis; CameraLeftAxis = agentData.CameraLeftAxis; CameraUpAxis = agentData.CameraUpAxis; - Quaternion camRot = Util.Axes2Rot(CameraAtAxis, CameraLeftAxis, CameraUpAxis); - CameraRotation = camRot; - - // The Agent's Draw distance setting - // When we get to the point of re-computing neighbors everytime this - // changes, then start using the agent's drawdistance rather than the - // region's draw distance. - DrawDistance = agentData.Far; + CameraAtAxis.Normalize(); + CameraLeftAxis.Normalize(); + CameraUpAxis.Normalize(); + Quaternion camRot = Util.Axes2Rot(CameraAtAxis, CameraLeftAxis, CameraUpAxis); + CameraRotation = camRot; // Check if Client has camera in 'follow cam' or 'build' mode. // Vector3 camdif = (Vector3.One * Rotation - Vector3.One * CameraRotation); @@ -3794,15 +3794,17 @@ namespace OpenSim.Region.Framework.Scenes // this does need to be more complex later Vector3 vel = Velocity; Vector3 dpos = m_pos - m_lastPosition; - if( Math.Abs(vel.X - m_lastVelocity.X) > VELOCITY_TOLERANCE || + if( State != m_lastState || + Math.Abs(vel.X - m_lastVelocity.X) > VELOCITY_TOLERANCE || Math.Abs(vel.Y - m_lastVelocity.Y) > VELOCITY_TOLERANCE || Math.Abs(vel.Z - m_lastVelocity.Z) > VELOCITY_TOLERANCE || Math.Abs(m_bodyRot.X - m_lastRotation.X) > ROTATION_TOLERANCE || Math.Abs(m_bodyRot.Y - m_lastRotation.Y) > ROTATION_TOLERANCE || Math.Abs(m_bodyRot.Z - m_lastRotation.Z) > ROTATION_TOLERANCE || - + (vel == Vector3.Zero && m_lastVelocity != Vector3.Zero) || + Math.Abs(dpos.X) > POSITION_LARGETOLERANCE || Math.Abs(dpos.Y) > POSITION_LARGETOLERANCE || Math.Abs(dpos.Z) > POSITION_LARGETOLERANCE || @@ -3811,7 +3813,12 @@ namespace OpenSim.Region.Framework.Scenes Math.Abs(dpos.Y) > POSITION_SMALLTOLERANCE || Math.Abs(dpos.Z) > POSITION_SMALLTOLERANCE) && vel.LengthSquared() < LOWVELOCITYSQ - )) + ) || + + Math.Abs(CollisionPlane.X - m_lastCollisionPlane.X) > POSITION_SMALLTOLERANCE || + Math.Abs(CollisionPlane.Y - m_lastCollisionPlane.Y) > POSITION_SMALLTOLERANCE || + Math.Abs(CollisionPlane.W - m_lastCollisionPlane.W) > POSITION_SMALLTOLERANCE + ) { SendTerseUpdateToAllClients(); } @@ -3910,11 +3917,14 @@ namespace OpenSim.Region.Framework.Scenes /// public void SendTerseUpdateToAllClients() { - m_scene.ForEachScenePresence(SendTerseUpdateToAgent); - // Update the "last" values + m_lastState = State; m_lastPosition = m_pos; m_lastRotation = m_bodyRot; m_lastVelocity = Velocity; + m_lastCollisionPlane = CollisionPlane; + + m_scene.ForEachScenePresence(SendTerseUpdateToAgent); + // Update the "last" values TriggerScenePresenceUpdated(); } From 40b16f1705bd6361d7fd0cd2bc458ae9ea381bf1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 10 Jul 2017 22:01:38 +0100 Subject: [PATCH 60/84] SimpleAngularDistance update prioritization scheme ameks no sense without ordered dequeue of the updates --- OpenSim/Framework/PriorityQueue.cs | 21 +++++++++++++ .../ClientStack/Linden/UDP/LLClientView.cs | 30 ++++++++++++++++--- 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/OpenSim/Framework/PriorityQueue.cs b/OpenSim/Framework/PriorityQueue.cs index 5b9185e5c8..22ffcdc8b6 100644 --- a/OpenSim/Framework/PriorityQueue.cs +++ b/OpenSim/Framework/PriorityQueue.cs @@ -216,6 +216,27 @@ namespace OpenSim.Framework return false; } + public bool TryOrderedDequeue(out EntityUpdate value, out Int32 timeinqueue) + { + // If there is anything in imediate queues, return it first no + // matter what else. Breaks fairness. But very useful. + for (int iq = 0; iq < NumberOfQueues; iq++) + { + if (m_heaps[iq].Count > 0) + { + MinHeapItem item = m_heaps[iq].RemoveMin(); + m_lookupTable.Remove(item.Value.Entity.LocalId); + timeinqueue = Util.EnvironmentTickCountSubtract(item.EntryTime); + value = item.Value; + return true; + } + } + + timeinqueue = 0; + value = default(EntityUpdate); + return false; + } + /// /// Reapply the prioritization function to each of the updates currently /// stored in the priority queues. diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 954f21ff14..861b79ebe8 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -4137,6 +4137,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP Vector3 mypos = Vector3.Zero; ScenePresence mysp = (ScenePresence)SceneAgent; + bool orderedDequeue = m_scene.UpdatePrioritizationScheme == UpdatePrioritizationSchemes.SimpleAngularDistance; // we should have a presence if(mysp == null) return; @@ -4151,8 +4152,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP while (maxUpdatesBytes > 0) { lock (m_entityUpdates.SyncRoot) - if (!m_entityUpdates.TryDequeue(out update, out timeinqueue)) - break; + { + if(orderedDequeue) + { + if (!m_entityUpdates.TryOrderedDequeue(out update, out timeinqueue)) + break; + } + else + { + if (!m_entityUpdates.TryDequeue(out update, out timeinqueue)) + break; + } + } PrimUpdateFlags updateFlags = (PrimUpdateFlags)update.Flags; @@ -4850,6 +4861,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // OpenSim.Framework.Lazy> propertyUpdates = // new OpenSim.Framework.Lazy>(); + bool orderedDequeue = m_scene.UpdatePrioritizationScheme == UpdatePrioritizationSchemes.SimpleAngularDistance; EntityUpdate iupdate; Int32 timeinqueue; // this is just debugging code & can be dropped later @@ -4857,8 +4869,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP while (maxUpdateBytes > 0) { lock (m_entityProps.SyncRoot) - if (!m_entityProps.TryDequeue(out iupdate, out timeinqueue)) - break; + { + if(orderedDequeue) + { + if (!m_entityProps.TryOrderedDequeue(out iupdate, out timeinqueue)) + break; + } + else + { + if (!m_entityProps.TryDequeue(out iupdate, out timeinqueue)) + break; + } + } ObjectPropertyUpdate update = (ObjectPropertyUpdate)iupdate; if (update.SendFamilyProps) From 72bce8c4b41406e8f19e263be634f2434bc54765 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 11 Jul 2017 02:33:48 +0100 Subject: [PATCH 61/84] do lsl object rez checks on script thread before wasting time possible creating a new poll thread --- .../Shared/Api/Implementation/LSL_Api.cs | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index af88e4f281..f4b7aa3f53 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -3534,32 +3534,34 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void doObjectRez(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param, bool atRoot) { m_host.AddScriptLPS(1); + if (Double.IsNaN(rot.x) || Double.IsNaN(rot.y) || Double.IsNaN(rot.z) || Double.IsNaN(rot.s)) + return; + + float dist = (float)llVecDist(llGetPos(), pos); + + if (dist > m_ScriptDistanceFactor * 10.0f) + return; + + TaskInventoryItem item = m_host.Inventory.GetInventoryItem(inventory); + + if (item == null) + { + Error("llRez(AtRoot/Object)", "Can't find object '" + inventory + "'"); + return; + } + + if (item.InvType != (int)InventoryType.Object) + { + Error("llRez(AtRoot/Object)", "Can't create requested object; object is missing from database"); + return; + } Util.FireAndForget(x => { - if (Double.IsNaN(rot.x) || Double.IsNaN(rot.y) || Double.IsNaN(rot.z) || Double.IsNaN(rot.s)) - return; - float dist = (float)llVecDist(llGetPos(), pos); - - if (dist > m_ScriptDistanceFactor * 10.0f) - return; - - TaskInventoryItem item = m_host.Inventory.GetInventoryItem(inventory); - - if (item == null) - { - Error("llRez(AtRoot/Object)", "Can't find object '" + inventory + "'"); - return; - } - - if (item.InvType != (int)InventoryType.Object) - { - Error("llRez(AtRoot/Object)", "Can't create requested object; object is missing from database"); - return; - } - - List new_groups = World.RezObject(m_host, item, pos, rot, vel, param, atRoot); + Quaternion wrot = rot; + wrot.Normalize(); + List new_groups = World.RezObject(m_host, item, pos, wrot, vel, param, atRoot); // If either of these are null, then there was an unknown error. if (new_groups == null) From f5324833eeff9d99caf437fc47b920e616699de1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 11 Jul 2017 02:47:37 +0100 Subject: [PATCH 62/84] remove wrong comment on lsl object rez. we can't add delays on async process --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f4b7aa3f53..c13e8b2aee 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -3598,9 +3598,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } } - // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) - } - + } }, null, "LSL_Api.doObjectRez"); //ScriptSleep((int)((groupmass * velmag) / 10)); From c8a9b0321f1e3ea724d8230ea1106b8bfd682fc3 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 12 Jul 2017 01:44:34 +0100 Subject: [PATCH 63/84] osSetParcelDetails: place hard restrictions on change owner,claimdate (both estate owner or manager) and group (same plus parcel owner that also needes to be a member of the new group); add PARCEL_DETAILS_SEE_AVATARS, PARCEL_DETAILS_ANY_AVATAR_SOUNDS and PARCEL_DETAILS_GROUP_SOUNDS --- .../Shared/Api/Implementation/OSSL_Api.cs | 115 +++++++++++++++--- .../Shared/Api/Runtime/LSL_Constants.cs | 4 +- .../Region/ScriptEngine/Shared/LSL_Types.cs | 3 +- 3 files changed, 103 insertions(+), 19 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 22d247dd2f..4bf872980b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1606,13 +1606,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (!World.Permissions.CanEditParcelProperties(m_host.OwnerID, startLandObject, GroupPowers.LandOptions, false)) { - OSSLShoutError("You do not have permission to modify the parcel"); + OSSLShoutError("script owner does not have permission to modify the parcel"); return; } // Create a new land data object we can modify LandData newLand = startLandObject.LandData.Copy(); UUID uuid; + EstateSettings es = World.RegionInfo.EstateSettings; + + bool changed = false; // Process the rules, not sure what the impact would be of changing owner or group for (int idx = 0; idx < rules.Length;) @@ -1622,35 +1625,115 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api switch (code) { case ScriptBaseClass.PARCEL_DETAILS_NAME: - newLand.Name = arg; + if(newLand.Name != arg) + { + newLand.Name = arg; + changed = true; + } break; case ScriptBaseClass.PARCEL_DETAILS_DESC: - newLand.Description = arg; + if(newLand.Description != arg) + { + newLand.Description = arg; + changed = true; + } break; case ScriptBaseClass.PARCEL_DETAILS_OWNER: - CheckThreatLevel(ThreatLevel.VeryHigh, functionName); - if (UUID.TryParse(arg, out uuid)) - newLand.OwnerID = uuid; + if(es != null && !es.IsEstateManagerOrOwner(m_host.OwnerID)) + { + OSSLError("script owner does not have permission to modify the parcel owner"); + } + else + { + if (UUID.TryParse(arg, out uuid)) + { + if(newLand.OwnerID != uuid) + { + changed = true; + newLand.OwnerID = uuid; + newLand.GroupID = UUID.Zero; + } + } + } break; case ScriptBaseClass.PARCEL_DETAILS_GROUP: - CheckThreatLevel(ThreatLevel.VeryHigh, functionName); - if (UUID.TryParse(arg, out uuid)) - newLand.GroupID = uuid; + if(m_host.OwnerID == newLand.OwnerID || es == null || es.IsEstateManagerOrOwner(m_host.OwnerID)) + { + if (UUID.TryParse(arg, out uuid)) + { + if(newLand.GroupID != uuid) + { + IGroupsModule groupsModule = m_ScriptEngine.World.RequestModuleInterface(); + GroupMembershipData member = null; + if (groupsModule != null) + member = groupsModule.GetMembershipData(uuid, newLand.OwnerID); + if (member == null) + OSSLError(string.Format("land owner is not member of the new group for parcel")); + else + { + changed = true; + newLand.GroupID = uuid; + } + } + } + } + else + { + OSSLError("script owner does not have permission to modify the parcel group"); + } break; case ScriptBaseClass.PARCEL_DETAILS_CLAIMDATE: - CheckThreatLevel(ThreatLevel.VeryHigh, functionName); - newLand.ClaimDate = Convert.ToInt32(arg); - if (newLand.ClaimDate == 0) - newLand.ClaimDate = Util.UnixTimeSinceEpoch(); + if(es != null && !es.IsEstateManagerOrOwner(m_host.OwnerID)) + { + OSSLError("script owner does not have permission to modify the parcel CLAIM DATE"); + } + else + { + int date = Convert.ToInt32(arg); + if (date == 0) + date = Util.UnixTimeSinceEpoch(); + if(newLand.ClaimDate != date) + { + changed = true; + newLand.ClaimDate = date; + } + } break; - } - } - World.LandChannel.UpdateLandObject(newLand.LocalID,newLand); + case ScriptBaseClass.PARCEL_DETAILS_SEE_AVATARS: + bool newavs = (Convert.ToInt32(arg) != 0); + if(newLand.SeeAVs != newavs) + { + changed = true; + newLand.SeeAVs = newavs; + } + break; + + case ScriptBaseClass.PARCEL_DETAILS_ANY_AVATAR_SOUNDS: + bool newavsounds = (Convert.ToInt32(arg) != 0); + if(newLand.AnyAVSounds != newavsounds) + { + changed = true; + newLand.AnyAVSounds = newavsounds; + } + break; + + case ScriptBaseClass.PARCEL_DETAILS_GROUP_SOUNDS: + bool newgrpsounds = (Convert.ToInt32(arg) != 0); + if(newLand.GroupAVSounds != newgrpsounds) + { + changed = true; + newLand.GroupAVSounds = newgrpsounds; + } + break; + } + } + if(changed) + World.LandChannel.UpdateLandObject(newLand.LocalID,newLand); } public double osList2Double(LSL_Types.list src, int index) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index a277f6c4fc..e4c1ca0a8f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs @@ -697,7 +697,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public const int PARCEL_DETAILS_GROUP = 3; public const int PARCEL_DETAILS_AREA = 4; public const int PARCEL_DETAILS_ID = 5; - public const int PARCEL_DETAILS_SEE_AVATARS = 6; // not implemented + public const int PARCEL_DETAILS_SEE_AVATARS = 6; + public const int PARCEL_DETAILS_ANY_AVATAR_SOUNDS = 7; + public const int PARCEL_DETAILS_GROUP_SOUNDS = 8; //osSetParcelDetails public const int PARCEL_DETAILS_CLAIMDATE = 10; diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs index 4d7a6988bd..8780e49906 100644 --- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs @@ -39,7 +39,6 @@ using OMV_Quaternion = OpenMetaverse.Quaternion; namespace OpenSim.Region.ScriptEngine.Shared { - [Serializable] public partial class LSL_Types { // Types are kept is separate .dll to avoid having to add whatever .dll it is in it to script AppDomain @@ -526,7 +525,7 @@ namespace OpenSim.Region.ScriptEngine.Shared } [Serializable] - public class list + public class list: MarshalByRefObject { private object[] m_data; From 3847f861e39a6792b7b6063289dabb9911580d71 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 12 Jul 2017 01:52:01 +0100 Subject: [PATCH 64/84] osSetParcelDetails: allow parcel group to be cleared also --- .../Shared/Api/Implementation/OSSL_Api.cs | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 4bf872980b..4aac9a0d9b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1666,17 +1666,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { if(newLand.GroupID != uuid) { - IGroupsModule groupsModule = m_ScriptEngine.World.RequestModuleInterface(); - GroupMembershipData member = null; - if (groupsModule != null) - member = groupsModule.GetMembershipData(uuid, newLand.OwnerID); - if (member == null) - OSSLError(string.Format("land owner is not member of the new group for parcel")); - else + if(uuid == UUID.Zero) { changed = true; newLand.GroupID = uuid; } + else + { + IGroupsModule groupsModule = m_ScriptEngine.World.RequestModuleInterface(); + GroupMembershipData member = null; + if (groupsModule != null) + member = groupsModule.GetMembershipData(uuid, newLand.OwnerID); + if (member == null) + OSSLError(string.Format("land owner is not member of the new group for parcel")); + else + { + changed = true; + newLand.GroupID = uuid; + } + } } } } From a069ed09a82bfe07ef84a78202f502ed3b312134 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 12 Jul 2017 03:47:34 +0100 Subject: [PATCH 65/84] osSetParcelDetails: make seeAVs send updates. This is a temporary patch, this function does need to call a framework land function that deos issue proper updates about all fields to all cleints. ( sounds will not stop/start also for now) --- .../Shared/Api/Implementation/OSSL_Api.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 4aac9a0d9b..f274cd3526 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1616,6 +1616,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api EstateSettings es = World.RegionInfo.EstateSettings; bool changed = false; + bool changedSeeAvs = false; // Process the rules, not sure what the impact would be of changing owner or group for (int idx = 0; idx < rules.Length;) @@ -1717,6 +1718,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if(newLand.SeeAVs != newavs) { changed = true; + changedSeeAvs = true; newLand.SeeAVs = newavs; } break; @@ -1741,7 +1743,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } if(changed) + { World.LandChannel.UpdateLandObject(newLand.LocalID,newLand); + + if(changedSeeAvs) + { + UUID parcelID= newLand.GlobalID; + World.ForEachScenePresence(delegate (ScenePresence avatar) + { + if (avatar != null && !avatar.IsDeleted && avatar.currentParcelUUID == parcelID ) + avatar.currentParcelUUID = parcelID; // force parcel flags review + }); + } + } + } public double osList2Double(LSL_Types.list src, int index) From aff9c345dddfa290222ceaf42b6c452a590a2276 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 12 Jul 2017 07:27:21 +0100 Subject: [PATCH 66/84] osSetParcelDetails: add more land update code --- OpenSim/Framework/ILandChannel.cs | 1 + .../CoreModules/World/Land/LandChannel.cs | 8 ++++++ .../Shared/Api/Implementation/OSSL_Api.cs | 26 +++++++++++++++---- OpenSim/Tests/Common/Mock/TestLandChannel.cs | 1 + 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/OpenSim/Framework/ILandChannel.cs b/OpenSim/Framework/ILandChannel.cs index 12a822869b..866783751c 100644 --- a/OpenSim/Framework/ILandChannel.cs +++ b/OpenSim/Framework/ILandChannel.cs @@ -88,6 +88,7 @@ namespace OpenSim.Region.Framework.Interfaces bool IsForcefulBansAllowed(); void UpdateLandObject(int localID, LandData data); + void SendParcelsOverlay(IClientAPI client); void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient); void setParcelObjectMaxOverride(overrideParcelMaxPrimCountDelegate overrideDel); void setSimulatorObjectMaxOverride(overrideSimulatorMaxPrimCountDelegate overrideDel); diff --git a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs index b59e2af809..5ff063bc31 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs @@ -176,6 +176,14 @@ namespace OpenSim.Region.CoreModules.World.Land } } + public void SendParcelsOverlay(IClientAPI client) + { + if (m_landManagementModule != null) + { + m_landManagementModule.SendParcelOverlay(client); + } + } + public void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id) { if (m_landManagementModule != null) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index f274cd3526..79367fbae3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -1617,6 +1617,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api bool changed = false; bool changedSeeAvs = false; + bool changedoverlay = false; + bool changedneedupdate = false; // Process the rules, not sure what the impact would be of changing owner or group for (int idx = 0; idx < rules.Length;) @@ -1719,6 +1721,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { changed = true; changedSeeAvs = true; + changedoverlay = true; + changedneedupdate = true; newLand.SeeAVs = newavs; } break; @@ -1744,19 +1748,31 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } if(changed) { - World.LandChannel.UpdateLandObject(newLand.LocalID,newLand); + World.LandChannel.UpdateLandObject(newLand.LocalID, newLand); - if(changedSeeAvs) + if(changedneedupdate) { UUID parcelID= newLand.GlobalID; - World.ForEachScenePresence(delegate (ScenePresence avatar) + World.ForEachRootScenePresence(delegate (ScenePresence avatar) { - if (avatar != null && !avatar.IsDeleted && avatar.currentParcelUUID == parcelID ) + if (avatar == null || avatar.IsDeleted || avatar.IsInTransit) + return; + + if(changedSeeAvs && avatar.currentParcelUUID == parcelID ) avatar.currentParcelUUID = parcelID; // force parcel flags review + + if(avatar.ControllingClient == null) + return; + + // this will be needed for some things like damage etc +// if(avatar.currentParcelUUID == parcelID) +// startLandObject.SendLandUpdateToClient(avatar.ControllingClient); + + if(changedoverlay && !avatar.IsNPC) + World.LandChannel.SendParcelsOverlay(avatar.ControllingClient); }); } } - } public double osList2Double(LSL_Types.list src, int index) diff --git a/OpenSim/Tests/Common/Mock/TestLandChannel.cs b/OpenSim/Tests/Common/Mock/TestLandChannel.cs index 48dc84045e..05db03fefe 100644 --- a/OpenSim/Tests/Common/Mock/TestLandChannel.cs +++ b/OpenSim/Tests/Common/Mock/TestLandChannel.cs @@ -109,6 +109,7 @@ namespace OpenSim.Tests.Common public bool IsLandPrimCountTainted() { return false; } public bool IsForcefulBansAllowed() { return false; } public void UpdateLandObject(int localID, LandData data) {} + public void SendParcelsOverlay(IClientAPI client) {} public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient) {} public void setParcelObjectMaxOverride(overrideParcelMaxPrimCountDelegate overrideDel) {} public void setSimulatorObjectMaxOverride(overrideSimulatorMaxPrimCountDelegate overrideDel) {} From 457551d0699558520c9ce47e05fcace828a706e5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 12 Jul 2017 10:28:11 +0100 Subject: [PATCH 67/84] rename SOG.UpdatePrimFlags as just UpdateFlags since this is relative to the group never individual prims/parts and so confusing --- .../Region/Framework/Scenes/EventManager.cs | 2 +- OpenSim/Region/Framework/Scenes/SceneGraph.cs | 2 +- .../Framework/Scenes/SceneObjectGroup.cs | 133 ++++++++---------- 3 files changed, 60 insertions(+), 77 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 827f91ee56..f76f8828d0 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs @@ -855,7 +855,7 @@ namespace OpenSim.Region.Framework.Scenes /// , /// , /// , - /// , + /// , /// /// public event ParcelPrimCountTainted OnParcelPrimCountTainted; diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index ae827f4e80..61a243dd20 100755 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -1649,7 +1649,7 @@ namespace OpenSim.Region.Framework.Scenes else // else turn it off vdtc = false; - group.UpdatePrimFlags(localID, UsePhysics, SetTemporary, SetPhantom, vdtc); + group.UpdateFlags(UsePhysics, SetTemporary, SetPhantom, vdtc); } else { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index c4b768ba49..6f46a926e3 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -2718,35 +2718,22 @@ namespace OpenSim.Region.Framework.Scenes RootPart.KeyframeMotion.Stop(); RootPart.KeyframeMotion = null; } - UpdatePrimFlags(RootPart.LocalId, usePhysics, IsTemporary, IsPhantom, IsVolumeDetect); + UpdateFlags(usePhysics, IsTemporary, IsPhantom, IsVolumeDetect); } public void ScriptSetTemporaryStatus(bool makeTemporary) { - UpdatePrimFlags(RootPart.LocalId, UsesPhysics, makeTemporary, IsPhantom, IsVolumeDetect); + UpdateFlags(UsesPhysics, makeTemporary, IsPhantom, IsVolumeDetect); } public void ScriptSetPhantomStatus(bool makePhantom) { - UpdatePrimFlags(RootPart.LocalId, UsesPhysics, IsTemporary, makePhantom, IsVolumeDetect); + UpdateFlags(UsesPhysics, IsTemporary, makePhantom, IsVolumeDetect); } public void ScriptSetVolumeDetect(bool makeVolumeDetect) { - UpdatePrimFlags(RootPart.LocalId, UsesPhysics, IsTemporary, IsPhantom, makeVolumeDetect); - - /* - ScriptSetPhantomStatus(false); // What ever it was before, now it's not phantom anymore - - if (PhysActor != null) // Should always be the case now - { - PhysActor.SetVolumeDetect(param); - } - if (param != 0) - AddFlag(PrimFlags.Phantom); - - ScheduleFullUpdate(); - */ + UpdateFlags(UsesPhysics, IsTemporary, IsPhantom, makeVolumeDetect); } public void applyImpulse(Vector3 impulse) @@ -4031,84 +4018,80 @@ namespace OpenSim.Region.Framework.Scenes /// /// /// - public void UpdatePrimFlags(uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) + public void UpdateFlags(bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) { + if (m_scene == null || IsDeleted) + return; + HasGroupChanged = true; - SceneObjectPart selectionPart = GetPart(localID); - - if (Scene != null) + if (SetTemporary) { - if (SetTemporary) - { - DetachFromBackup(); - // Remove from database and parcel prim count - // - m_scene.DeleteFromStorage(UUID); - } - else if (!Backup) - { - // Previously been temporary now switching back so make it - // available for persisting again - AttachToBackup(); - } - - m_scene.EventManager.TriggerParcelPrimCountTainted(); + DetachFromBackup(); + // Remove from database and parcel prim count + // + m_scene.DeleteFromStorage(UUID); + } + else if (!Backup) + { + // Previously been temporary now switching back so make it + // available for persisting again + AttachToBackup(); } - if (selectionPart != null) + + SceneObjectPart[] parts = m_parts.GetArray(); + + if (UsePhysics) { - SceneObjectPart[] parts = m_parts.GetArray(); + int maxprims = m_scene.m_linksetPhysCapacity; + bool checkShape = (maxprims > 0 && + parts.Length > maxprims); - if (Scene != null && UsePhysics) + for (int i = 0; i < parts.Length; i++) { - int maxprims = m_scene.m_linksetPhysCapacity; - bool checkShape = (maxprims > 0 && - parts.Length > maxprims); + SceneObjectPart part = parts[i]; - for (int i = 0; i < parts.Length; i++) + if(part.PhysicsShapeType == (byte)PhysicsShapeType.None) + continue; // assuming root type was checked elsewhere + + if (checkShape) { - SceneObjectPart part = parts[i]; - - if(part.PhysicsShapeType == (byte)PhysicsShapeType.None) - continue; // assuming root type was checked elsewhere - - if (checkShape) + if (--maxprims < 0) { - if (--maxprims < 0) - { - UsePhysics = false; - break; - } - } - - if (part.Scale.X > m_scene.m_maxPhys || - part.Scale.Y > m_scene.m_maxPhys || - part.Scale.Z > m_scene.m_maxPhys ) - { - UsePhysics = false; // Reset physics + UsePhysics = false; break; } } - } - if (parts.Length > 1) - { - m_rootPart.UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, true); - - for (int i = 0; i < parts.Length; i++) + if (part.Scale.X > m_scene.m_maxPhys || + part.Scale.Y > m_scene.m_maxPhys || + part.Scale.Z > m_scene.m_maxPhys ) { - - if (parts[i].UUID != m_rootPart.UUID) - parts[i].UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, true); + UsePhysics = false; // Reset physics + break; } - - if (m_rootPart.PhysActor != null) - m_rootPart.PhysActor.Building = false; } - else - m_rootPart.UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, false); } + + if (parts.Length > 1) + { + m_rootPart.UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, true); + + for (int i = 0; i < parts.Length; i++) + { + + if (parts[i].UUID != m_rootPart.UUID) + parts[i].UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, true); + } + + if (m_rootPart.PhysActor != null) + m_rootPart.PhysActor.Building = false; + } + else + m_rootPart.UpdatePrimFlags(UsePhysics, SetTemporary, SetPhantom, SetVolumeDetect, false); + + m_scene.EventManager.TriggerParcelPrimCountTainted(); } public void UpdateExtraParam(uint localID, ushort type, bool inUse, byte[] data) From 51d32e3bed8a8d2ce8bd1e0ed3b9644eb4f97793 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 13 Jul 2017 02:57:57 +0100 Subject: [PATCH 68/84] add more missing en-us culture on scene serializer writes --- .../CoalescedSceneObjectsSerializer.cs | 12 ++--- .../Serialization/SceneObjectSerializer.cs | 49 ++++++++++--------- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs index 7f7977ea25..d151002a78 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs @@ -86,9 +86,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteStartElement("CoalescedObject"); - writer.WriteAttributeString("x", size.X.ToString()); - writer.WriteAttributeString("y", size.Y.ToString()); - writer.WriteAttributeString("z", size.Z.ToString()); + writer.WriteAttributeString("x", size.X.ToString(Utils.EnUsCulture)); + writer.WriteAttributeString("y", size.Y.ToString(Utils.EnUsCulture)); + writer.WriteAttributeString("z", size.Z.ToString(Utils.EnUsCulture)); // Embed the offsets into the group XML for (int i = 0; i < coaObjects.Count; i++) @@ -100,9 +100,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization // i, obj.Name); writer.WriteStartElement("SceneObjectGroup"); - writer.WriteAttributeString("offsetx", offsets[i].X.ToString()); - writer.WriteAttributeString("offsety", offsets[i].Y.ToString()); - writer.WriteAttributeString("offsetz", offsets[i].Z.ToString()); + writer.WriteAttributeString("offsetx", offsets[i].X.ToString(Utils.EnUsCulture)); + writer.WriteAttributeString("offsety", offsets[i].Y.ToString(Utils.EnUsCulture)); + writer.WriteAttributeString("offsetz", offsets[i].Z.ToString(Utils.EnUsCulture)); SceneObjectSerializer.ToOriginalXmlFormat(obj, writer, doScriptStates); diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index b012a088fd..4ca4434755 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -65,7 +65,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization { using (XmlReader reader = XmlReader.Create(wrappedReader, new XmlReaderSettings() { IgnoreWhitespace = true, ConformanceLevel = ConformanceLevel.Fragment })) { - try { + try + { return FromOriginalXmlFormat(reader); } catch (Exception e) @@ -1505,7 +1506,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("NextOwnerMask", sop.NextOwnerMask.ToString()); WriteFlags(writer, "Flags", sop.Flags.ToString(), options); WriteUUID(writer, "CollisionSound", sop.CollisionSound, options); - writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString()); + writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString(Utils.EnUsCulture)); if (sop.MediaUrl != null) writer.WriteElementString("MediaUrl", sop.MediaUrl.ToString()); WriteVector(writer, "AttachedPos", sop.AttachedPos); @@ -1525,7 +1526,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("PayPrice3", sop.PayPrice[3].ToString()); writer.WriteElementString("PayPrice4", sop.PayPrice[4].ToString()); - writer.WriteElementString("Buoyancy", sop.Buoyancy.ToString()); + writer.WriteElementString("Buoyancy", sop.Buoyancy.ToString(Utils.EnUsCulture)); WriteVector(writer, "Force", sop.Force); WriteVector(writer, "Torque", sop.Torque); @@ -1542,22 +1543,22 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("RotationAxisLocks", sop.RotationAxisLocks.ToString().ToLower()); writer.WriteElementString("PhysicsShapeType", sop.PhysicsShapeType.ToString().ToLower()); if (sop.Density != 1000.0f) - writer.WriteElementString("Density", sop.Density.ToString().ToLower()); + writer.WriteElementString("Density", sop.Density.ToString(Utils.EnUsCulture)); if (sop.Friction != 0.6f) - writer.WriteElementString("Friction", sop.Friction.ToString().ToLower()); + writer.WriteElementString("Friction", sop.Friction.ToString(Utils.EnUsCulture)); if (sop.Restitution != 0.5f) - writer.WriteElementString("Bounce", sop.Restitution.ToString().ToLower()); + writer.WriteElementString("Bounce", sop.Restitution.ToString(Utils.EnUsCulture)); if (sop.GravityModifier != 1.0f) - writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString().ToLower()); + writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString(Utils.EnUsCulture)); WriteVector(writer, "CameraEyeOffset", sop.GetCameraEyeOffset()); WriteVector(writer, "CameraAtOffset", sop.GetCameraAtOffset()); // if (sop.Sound != UUID.Zero) force it till sop crossing does clear it on child prim { WriteUUID(writer, "SoundID", sop.Sound, options); - writer.WriteElementString("SoundGain", sop.SoundGain.ToString().ToLower()); + writer.WriteElementString("SoundGain", sop.SoundGain.ToString(Utils.EnUsCulture)); writer.WriteElementString("SoundFlags", sop.SoundFlags.ToString().ToLower()); - writer.WriteElementString("SoundRadius", sop.SoundRadius.ToString().ToLower()); + writer.WriteElementString("SoundRadius", sop.SoundRadius.ToString(Utils.EnUsCulture)); } writer.WriteElementString("SoundQueueing", sop.SoundQueueing.ToString().ToLower()); @@ -1731,22 +1732,22 @@ namespace OpenSim.Region.Framework.Scenes.Serialization // Don't serialize SculptData. It's just a copy of the asset, which can be loaded separately using 'SculptTexture'. writer.WriteElementString("FlexiSoftness", shp.FlexiSoftness.ToString()); - writer.WriteElementString("FlexiTension", shp.FlexiTension.ToString()); - writer.WriteElementString("FlexiDrag", shp.FlexiDrag.ToString()); - writer.WriteElementString("FlexiGravity", shp.FlexiGravity.ToString()); - writer.WriteElementString("FlexiWind", shp.FlexiWind.ToString()); - writer.WriteElementString("FlexiForceX", shp.FlexiForceX.ToString()); - writer.WriteElementString("FlexiForceY", shp.FlexiForceY.ToString()); - writer.WriteElementString("FlexiForceZ", shp.FlexiForceZ.ToString()); + writer.WriteElementString("FlexiTension", shp.FlexiTension.ToString(Utils.EnUsCulture)); + writer.WriteElementString("FlexiDrag", shp.FlexiDrag.ToString(Utils.EnUsCulture)); + writer.WriteElementString("FlexiGravity", shp.FlexiGravity.ToString(Utils.EnUsCulture)); + writer.WriteElementString("FlexiWind", shp.FlexiWind.ToString(Utils.EnUsCulture)); + writer.WriteElementString("FlexiForceX", shp.FlexiForceX.ToString(Utils.EnUsCulture)); + writer.WriteElementString("FlexiForceY", shp.FlexiForceY.ToString(Utils.EnUsCulture)); + writer.WriteElementString("FlexiForceZ", shp.FlexiForceZ.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightColorR", shp.LightColorR.ToString()); - writer.WriteElementString("LightColorG", shp.LightColorG.ToString()); - writer.WriteElementString("LightColorB", shp.LightColorB.ToString()); - writer.WriteElementString("LightColorA", shp.LightColorA.ToString()); - writer.WriteElementString("LightRadius", shp.LightRadius.ToString()); - writer.WriteElementString("LightCutoff", shp.LightCutoff.ToString()); - writer.WriteElementString("LightFalloff", shp.LightFalloff.ToString()); - writer.WriteElementString("LightIntensity", shp.LightIntensity.ToString()); + writer.WriteElementString("LightColorR", shp.LightColorR.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightColorG", shp.LightColorG.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightColorB", shp.LightColorB.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightColorA", shp.LightColorA.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightRadius", shp.LightRadius.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightCutoff", shp.LightCutoff.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightFalloff", shp.LightFalloff.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightIntensity", shp.LightIntensity.ToString(Utils.EnUsCulture)); writer.WriteElementString("FlexiEntry", shp.FlexiEntry.ToString().ToLower()); writer.WriteElementString("LightEntry", shp.LightEntry.ToString().ToLower()); From 61e3fe42bd78b98ffffb3a0f1b8f8bf32583bb9f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 13 Jul 2017 03:26:43 +0100 Subject: [PATCH 69/84] fix wrong test --- OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs index 045fd3cec5..4ce6a95f36 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs @@ -54,8 +54,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests UUID ownerId = TestHelpers.ParseTail(0x1); SceneObjectGroup so1 = SceneHelpers.CreateSceneObject(3, ownerId, "so1", 0x10); - so1.ScriptSetPhysicsStatus(true); m_scene.AddSceneObject(so1); + so1.ScriptSetPhysicsStatus(true); Assert.That(m_scene.SceneGraph.GetTotalObjectsCount(), Is.EqualTo(3)); Assert.That(m_scene.SceneGraph.GetActiveObjectsCount(), Is.EqualTo(3)); From bd249bdf5b175ee6d84588a777444f2b89d7df1e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 13 Jul 2017 04:14:33 +0100 Subject: [PATCH 70/84] replace the wrong libOMV user modifiable Utils.EnUSCulture by our own no User modifiable Culture.FormatProvider, and also for internal coerence. We do use the libomv on other code paths, so that must be fixed --- OpenSim/Capabilities/LLSD.cs | 2 +- OpenSim/Framework/PhysicsInertia.cs | 16 ++--- OpenSim/Region/Framework/Scenes/SOPVehicle.cs | 16 ++--- .../CoalescedSceneObjectsSerializer.cs | 12 ++-- .../Serialization/SceneObjectSerializer.cs | 68 +++++++++---------- 5 files changed, 57 insertions(+), 57 deletions(-) diff --git a/OpenSim/Capabilities/LLSD.cs b/OpenSim/Capabilities/LLSD.cs index c59cede3f4..8f3cab7729 100644 --- a/OpenSim/Capabilities/LLSD.cs +++ b/OpenSim/Capabilities/LLSD.cs @@ -566,7 +566,7 @@ namespace OpenSim.Framework.Capabilities endPos = FindEnd(llsd, 1); if (Double.TryParse(llsd.Substring(1, endPos - 1), NumberStyles.Float, - Utils.EnUsCulture.NumberFormat, out value)) + Culture.FormatProvider.NumberFormat, out value)) return value; else throw new LLSDParseException("Failed to parse double value type"); diff --git a/OpenSim/Framework/PhysicsInertia.cs b/OpenSim/Framework/PhysicsInertia.cs index af70634b7e..6e1579136c 100644 --- a/OpenSim/Framework/PhysicsInertia.cs +++ b/OpenSim/Framework/PhysicsInertia.cs @@ -64,25 +64,25 @@ namespace OpenSim.Framework private void XWfloat(string name, float f) { - writer.WriteElementString(name, f.ToString(Utils.EnUsCulture)); + writer.WriteElementString(name, f.ToString(Culture.FormatProvider)); } private void XWVector(string name, Vector3 vec) { writer.WriteStartElement(name); - writer.WriteElementString("X", vec.X.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Y", vec.Y.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Z", vec.Z.ToString(Utils.EnUsCulture)); + writer.WriteElementString("X", vec.X.ToString(Culture.FormatProvider)); + writer.WriteElementString("Y", vec.Y.ToString(Culture.FormatProvider)); + writer.WriteElementString("Z", vec.Z.ToString(Culture.FormatProvider)); writer.WriteEndElement(); } private void XWVector4(string name, Vector4 quat) { writer.WriteStartElement(name); - writer.WriteElementString("X", quat.X.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Y", quat.Y.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Z", quat.Z.ToString(Utils.EnUsCulture)); - writer.WriteElementString("W", quat.W.ToString(Utils.EnUsCulture)); + writer.WriteElementString("X", quat.X.ToString(Culture.FormatProvider)); + writer.WriteElementString("Y", quat.Y.ToString(Culture.FormatProvider)); + writer.WriteElementString("Z", quat.Z.ToString(Culture.FormatProvider)); + writer.WriteElementString("W", quat.W.ToString(Culture.FormatProvider)); writer.WriteEndElement(); } diff --git a/OpenSim/Region/Framework/Scenes/SOPVehicle.cs b/OpenSim/Region/Framework/Scenes/SOPVehicle.cs index 8d11331740..351eda35ed 100644 --- a/OpenSim/Region/Framework/Scenes/SOPVehicle.cs +++ b/OpenSim/Region/Framework/Scenes/SOPVehicle.cs @@ -425,25 +425,25 @@ namespace OpenSim.Region.Framework.Scenes private void XWfloat(string name, float f) { - writer.WriteElementString(name, f.ToString(Utils.EnUsCulture)); + writer.WriteElementString(name, f.ToString(Culture.FormatProvider)); } private void XWVector(string name, Vector3 vec) { writer.WriteStartElement(name); - writer.WriteElementString("X", vec.X.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Y", vec.Y.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Z", vec.Z.ToString(Utils.EnUsCulture)); + writer.WriteElementString("X", vec.X.ToString(Culture.FormatProvider)); + writer.WriteElementString("Y", vec.Y.ToString(Culture.FormatProvider)); + writer.WriteElementString("Z", vec.Z.ToString(Culture.FormatProvider)); writer.WriteEndElement(); } private void XWQuat(string name, Quaternion quat) { writer.WriteStartElement(name); - writer.WriteElementString("X", quat.X.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Y", quat.Y.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Z", quat.Z.ToString(Utils.EnUsCulture)); - writer.WriteElementString("W", quat.W.ToString(Utils.EnUsCulture)); + writer.WriteElementString("X", quat.X.ToString(Culture.FormatProvider)); + writer.WriteElementString("Y", quat.Y.ToString(Culture.FormatProvider)); + writer.WriteElementString("Z", quat.Z.ToString(Culture.FormatProvider)); + writer.WriteElementString("W", quat.W.ToString(Culture.FormatProvider)); writer.WriteEndElement(); } diff --git a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs index d151002a78..41f3ef4020 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs @@ -86,9 +86,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteStartElement("CoalescedObject"); - writer.WriteAttributeString("x", size.X.ToString(Utils.EnUsCulture)); - writer.WriteAttributeString("y", size.Y.ToString(Utils.EnUsCulture)); - writer.WriteAttributeString("z", size.Z.ToString(Utils.EnUsCulture)); + writer.WriteAttributeString("x", size.X.ToString(Culture.FormatProvider)); + writer.WriteAttributeString("y", size.Y.ToString(Culture.FormatProvider)); + writer.WriteAttributeString("z", size.Z.ToString(Culture.FormatProvider)); // Embed the offsets into the group XML for (int i = 0; i < coaObjects.Count; i++) @@ -100,9 +100,9 @@ namespace OpenSim.Region.Framework.Scenes.Serialization // i, obj.Name); writer.WriteStartElement("SceneObjectGroup"); - writer.WriteAttributeString("offsetx", offsets[i].X.ToString(Utils.EnUsCulture)); - writer.WriteAttributeString("offsety", offsets[i].Y.ToString(Utils.EnUsCulture)); - writer.WriteAttributeString("offsetz", offsets[i].Z.ToString(Utils.EnUsCulture)); + writer.WriteAttributeString("offsetx", offsets[i].X.ToString(Culture.FormatProvider)); + writer.WriteAttributeString("offsety", offsets[i].Y.ToString(Culture.FormatProvider)); + writer.WriteAttributeString("offsetz", offsets[i].Z.ToString(Culture.FormatProvider)); SceneObjectSerializer.ToOriginalXmlFormat(obj, writer, doScriptStates); diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 4ca4434755..3d867a483d 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -1460,10 +1460,10 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("Description", sop.Description); writer.WriteStartElement("Color"); - writer.WriteElementString("R", sop.Color.R.ToString(Utils.EnUsCulture)); - writer.WriteElementString("G", sop.Color.G.ToString(Utils.EnUsCulture)); - writer.WriteElementString("B", sop.Color.B.ToString(Utils.EnUsCulture)); - writer.WriteElementString("A", sop.Color.A.ToString(Utils.EnUsCulture)); + writer.WriteElementString("R", sop.Color.R.ToString(Culture.FormatProvider)); + writer.WriteElementString("G", sop.Color.G.ToString(Culture.FormatProvider)); + writer.WriteElementString("B", sop.Color.B.ToString(Culture.FormatProvider)); + writer.WriteElementString("A", sop.Color.A.ToString(Culture.FormatProvider)); writer.WriteEndElement(); writer.WriteElementString("Text", sop.Text); @@ -1506,7 +1506,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("NextOwnerMask", sop.NextOwnerMask.ToString()); WriteFlags(writer, "Flags", sop.Flags.ToString(), options); WriteUUID(writer, "CollisionSound", sop.CollisionSound, options); - writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString(Utils.EnUsCulture)); + writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString(Culture.FormatProvider)); if (sop.MediaUrl != null) writer.WriteElementString("MediaUrl", sop.MediaUrl.ToString()); WriteVector(writer, "AttachedPos", sop.AttachedPos); @@ -1526,7 +1526,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("PayPrice3", sop.PayPrice[3].ToString()); writer.WriteElementString("PayPrice4", sop.PayPrice[4].ToString()); - writer.WriteElementString("Buoyancy", sop.Buoyancy.ToString(Utils.EnUsCulture)); + writer.WriteElementString("Buoyancy", sop.Buoyancy.ToString(Culture.FormatProvider)); WriteVector(writer, "Force", sop.Force); WriteVector(writer, "Torque", sop.Torque); @@ -1543,22 +1543,22 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("RotationAxisLocks", sop.RotationAxisLocks.ToString().ToLower()); writer.WriteElementString("PhysicsShapeType", sop.PhysicsShapeType.ToString().ToLower()); if (sop.Density != 1000.0f) - writer.WriteElementString("Density", sop.Density.ToString(Utils.EnUsCulture)); + writer.WriteElementString("Density", sop.Density.ToString(Culture.FormatProvider)); if (sop.Friction != 0.6f) - writer.WriteElementString("Friction", sop.Friction.ToString(Utils.EnUsCulture)); + writer.WriteElementString("Friction", sop.Friction.ToString(Culture.FormatProvider)); if (sop.Restitution != 0.5f) - writer.WriteElementString("Bounce", sop.Restitution.ToString(Utils.EnUsCulture)); + writer.WriteElementString("Bounce", sop.Restitution.ToString(Culture.FormatProvider)); if (sop.GravityModifier != 1.0f) - writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString(Utils.EnUsCulture)); + writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString(Culture.FormatProvider)); WriteVector(writer, "CameraEyeOffset", sop.GetCameraEyeOffset()); WriteVector(writer, "CameraAtOffset", sop.GetCameraAtOffset()); // if (sop.Sound != UUID.Zero) force it till sop crossing does clear it on child prim { WriteUUID(writer, "SoundID", sop.Sound, options); - writer.WriteElementString("SoundGain", sop.SoundGain.ToString(Utils.EnUsCulture)); + writer.WriteElementString("SoundGain", sop.SoundGain.ToString(Culture.FormatProvider)); writer.WriteElementString("SoundFlags", sop.SoundFlags.ToString().ToLower()); - writer.WriteElementString("SoundRadius", sop.SoundRadius.ToString(Utils.EnUsCulture)); + writer.WriteElementString("SoundRadius", sop.SoundRadius.ToString(Culture.FormatProvider)); } writer.WriteElementString("SoundQueueing", sop.SoundQueueing.ToString().ToLower()); @@ -1578,19 +1578,19 @@ namespace OpenSim.Region.Framework.Scenes.Serialization static void WriteVector(XmlTextWriter writer, string name, Vector3 vec) { writer.WriteStartElement(name); - writer.WriteElementString("X", vec.X.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Y", vec.Y.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Z", vec.Z.ToString(Utils.EnUsCulture)); + writer.WriteElementString("X", vec.X.ToString(Culture.FormatProvider)); + writer.WriteElementString("Y", vec.Y.ToString(Culture.FormatProvider)); + writer.WriteElementString("Z", vec.Z.ToString(Culture.FormatProvider)); writer.WriteEndElement(); } static void WriteQuaternion(XmlTextWriter writer, string name, Quaternion quat) { writer.WriteStartElement(name); - writer.WriteElementString("X", quat.X.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Y", quat.Y.ToString(Utils.EnUsCulture)); - writer.WriteElementString("Z", quat.Z.ToString(Utils.EnUsCulture)); - writer.WriteElementString("W", quat.W.ToString(Utils.EnUsCulture)); + writer.WriteElementString("X", quat.X.ToString(Culture.FormatProvider)); + writer.WriteElementString("Y", quat.Y.ToString(Culture.FormatProvider)); + writer.WriteElementString("Z", quat.Z.ToString(Culture.FormatProvider)); + writer.WriteElementString("W", quat.W.ToString(Culture.FormatProvider)); writer.WriteEndElement(); } @@ -1732,22 +1732,22 @@ namespace OpenSim.Region.Framework.Scenes.Serialization // Don't serialize SculptData. It's just a copy of the asset, which can be loaded separately using 'SculptTexture'. writer.WriteElementString("FlexiSoftness", shp.FlexiSoftness.ToString()); - writer.WriteElementString("FlexiTension", shp.FlexiTension.ToString(Utils.EnUsCulture)); - writer.WriteElementString("FlexiDrag", shp.FlexiDrag.ToString(Utils.EnUsCulture)); - writer.WriteElementString("FlexiGravity", shp.FlexiGravity.ToString(Utils.EnUsCulture)); - writer.WriteElementString("FlexiWind", shp.FlexiWind.ToString(Utils.EnUsCulture)); - writer.WriteElementString("FlexiForceX", shp.FlexiForceX.ToString(Utils.EnUsCulture)); - writer.WriteElementString("FlexiForceY", shp.FlexiForceY.ToString(Utils.EnUsCulture)); - writer.WriteElementString("FlexiForceZ", shp.FlexiForceZ.ToString(Utils.EnUsCulture)); + writer.WriteElementString("FlexiTension", shp.FlexiTension.ToString(Culture.FormatProvider)); + writer.WriteElementString("FlexiDrag", shp.FlexiDrag.ToString(Culture.FormatProvider)); + writer.WriteElementString("FlexiGravity", shp.FlexiGravity.ToString(Culture.FormatProvider)); + writer.WriteElementString("FlexiWind", shp.FlexiWind.ToString(Culture.FormatProvider)); + writer.WriteElementString("FlexiForceX", shp.FlexiForceX.ToString(Culture.FormatProvider)); + writer.WriteElementString("FlexiForceY", shp.FlexiForceY.ToString(Culture.FormatProvider)); + writer.WriteElementString("FlexiForceZ", shp.FlexiForceZ.ToString(Culture.FormatProvider)); - writer.WriteElementString("LightColorR", shp.LightColorR.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightColorG", shp.LightColorG.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightColorB", shp.LightColorB.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightColorA", shp.LightColorA.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightRadius", shp.LightRadius.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightCutoff", shp.LightCutoff.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightFalloff", shp.LightFalloff.ToString(Utils.EnUsCulture)); - writer.WriteElementString("LightIntensity", shp.LightIntensity.ToString(Utils.EnUsCulture)); + writer.WriteElementString("LightColorR", shp.LightColorR.ToString(Culture.FormatProvider)); + writer.WriteElementString("LightColorG", shp.LightColorG.ToString(Culture.FormatProvider)); + writer.WriteElementString("LightColorB", shp.LightColorB.ToString(Culture.FormatProvider)); + writer.WriteElementString("LightColorA", shp.LightColorA.ToString(Culture.FormatProvider)); + writer.WriteElementString("LightRadius", shp.LightRadius.ToString(Culture.FormatProvider)); + writer.WriteElementString("LightCutoff", shp.LightCutoff.ToString(Culture.FormatProvider)); + writer.WriteElementString("LightFalloff", shp.LightFalloff.ToString(Culture.FormatProvider)); + writer.WriteElementString("LightIntensity", shp.LightIntensity.ToString(Culture.FormatProvider)); writer.WriteElementString("FlexiEntry", shp.FlexiEntry.ToString().ToLower()); writer.WriteElementString("LightEntry", shp.LightEntry.ToString().ToLower()); From a17abe7518b301a52307193dbd311e985b237af9 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 13 Jul 2017 04:28:35 +0100 Subject: [PATCH 71/84] typo fix --- OpenSim/Capabilities/LLSD.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Capabilities/LLSD.cs b/OpenSim/Capabilities/LLSD.cs index 8f3cab7729..76e439f9e7 100644 --- a/OpenSim/Capabilities/LLSD.cs +++ b/OpenSim/Capabilities/LLSD.cs @@ -566,7 +566,7 @@ namespace OpenSim.Framework.Capabilities endPos = FindEnd(llsd, 1); if (Double.TryParse(llsd.Substring(1, endPos - 1), NumberStyles.Float, - Culture.FormatProvider.NumberFormat, out value)) + Culture.NumberFormatInfo, out value)) return value; else throw new LLSDParseException("Failed to parse double value type"); From 4fe13ef639efa23ebedb3055fd266a6f41372864 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 13 Jul 2017 05:21:00 +0100 Subject: [PATCH 72/84] update libomv fixing EnUsCulture --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 20480 -> 24576 bytes bin/OpenMetaverse.StructuredData.XML | 349 - bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 118784 bytes bin/OpenMetaverse.XML | 36656 ------------------ bin/OpenMetaverse.dll | Bin 2199552 -> 2404352 bytes bin/OpenMetaverseTypes.XML | 2667 -- bin/OpenMetaverseTypes.dll | Bin 110592 -> 118784 bytes 7 files changed, 39672 deletions(-) delete mode 100644 bin/OpenMetaverse.StructuredData.XML delete mode 100644 bin/OpenMetaverse.XML delete mode 100644 bin/OpenMetaverseTypes.XML diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index d3760151a4ed930700fad97f16c7e3ae0c35753e..eab5fc7f407a52b6c7db670bcc718833e8c0ad0a 100755 GIT binary patch delta 4308 zcmZu#4RBP|6+ZXv@f3MQm*f>aDc=DxC4Uji zUkuQI`;TiF-I9q? zUraLD;OCfZq{JlYp))+`P4n#X{3U#j5md;Ej#apTqpDrnc}x**Ukgf>wA{j~SS}?~ z9pj%tE-+EKCfdoOMY@`DlA>GE;nGxfBJ`>fp_5I72573QPnz8E-RLtl;xKsBG(_=I zmcM`@USA$dNWqajnbWRtwUT0l+2w2h?-oQ#mTyt)|7#H2yA@1VZzVtg@LBUBQ2vBiBJS+c#L1gl*H1l{UCw4V$ z0=zLXvATv=$&Ak3uK+_hUhWx0&5Twre z)?==QCU4cu6G}FTo=tp4r*x$kU7oGelfe0Gm7wUZ?0!53FsM97 z&))<=xWyfN+4z|=A)#4K`mu(m9Y-$8Ri9tP)wnft4P#}G{3J0u-2U0b3TSVa?EEkU{j$N*cssd9DL}e^_4rB11I^9h`(c$X!2J)%t z7Wm4(U_Rvx+Y48gcy%c-Iq>Wt2bdi!k8OJFpvMk+>|ijV(h3z0ZS-;V!)sNQvQnz5 z#S1H?RXdEQeyRM6&5lsDu@&~?y@tEk zio4kQTo<2fdrA|ZYkOJ?m!@}Pe85Bx^V`>5cHnTX=QU_e--ZhmWoPaXpN4F}gjSJD=#lQ7>U8i==8CD1NP`BvaIq~XMeWC79D@u;{o-jN0BxN}ebO#;Puhc8( zWxQMv-9^9CH|jneXo+^!9WTx&SKMGM1bj!d(-8gAT!QDqYt|Y{(*aY^HhROn8k`MRI4n^DOosa-U|*}7$t`e(i|l@O7(QG z2v!KzWAwcFIOUXDPKh2SRy(YYAE3|ZMH1pd{bfiVFfB+jT&Q5Rc;0-SE-ul#t@mk# zqNRAmIs=E+n2zAfSU8yB0JU3XqD}ln_@a229uiq`g#K*SiZ$xs^$I>sj@=;u%?`1j zGPvKk84QEbLJ5S#{%Q`L6V=y6TS7 zB{^D0ige682#@|{jlu|N-vPYCd=T(M>p^h>{(e{NQeN+(417PK5_E#PtRRsb$4sT7)A{(@En^(IXzP-Ui%lyp2e3B2LpR?VsWl6~`!#EdIm# z0E>?l%{e|r3+(@b!ILfo$Cdlj8f2L}p%VjRS7r(Rr&v+rsU_TbQ~~ywH}qAxwL@(qqk6!1^@&4Dqszb0yfeE`f|F6 z-a>;~bemQ~hiHs;i4!6#1O&Uf$LR=e@B%<575wY_()KYo;qdLbOWo`eZPN?w*LvO2Jn z{t~}U^V=NRCA&38uF|5n!huCe+w^-h+3UCYZMIeE?-8=MglcT5L8-^zsQEpP>~&fod+p|@+^gQT$_-Jy- zlS6Wdx1*uv`Q0<^K#ttuIN0)+XmYVO@dfEGG3!Z=9C7MR0Rhj^EX}aw$j>Wm*YAf< zFp868@7SN3JB4P8sCxdj>gPNnHt~-FjcG)2O&7lSb#&Fb73(hO%b#5I@%}4+z4@mf zefavReH`TF9erJU2X5ZBdmw*v->!k}`J48x**3VlFS@m<|#;@H+FC3Fg K->(>Lwf_%y_Rc&2 delta 3711 zcmZuz32a}k2x}oq!5}{TUQGj1_`2~CaVeJ&X;PhS zX>9UxQ}Gc*e^Pk5iAvPT1yOB?$o8+Y4u2P`4gWR?S4w>TH`t<3HzcH@7XK$K=|9aX zr`}<_xZ+tcBz_z4DWp@Pk!Z*vV#w3!Z!Xc|2?h<5QB*BfXAl`-qfsfX_a7`-nYZ1w zhG!FntqgL9i%f4G8b`Zc#?i^qLLS<1$U{P46qqdqzOK8@=?R|go_(q0?lig`M{f|>W`YRCxs}k$9G0` zuFn~)?FVLkv_+$=+zYv4y$*Yi6*mkUUJ89P3jp!2*PrWSNl#WoG1Ci6i5eiTJ!=7lNcx=pg0U4$BcCJFE~LRsyinu{1hK z!zvhdWj_YY;UIvMvTodv)SRKn+*xP35teSeapOiTYUR5g#^Nlm2ewdVwMbxP)}V=o zc*t8T^pLj>P1EiV>6;1;H0yn8po?{rF0jpEixsein|@0y zmJh|Ek*-U~?0}5&@(5dAKl1R1yjmnTZncPl-)fmHySQK+c(;5c!(2;{L0H;mhM7$v znS&HtgB07)NdC-N{MY7}=D8IRCL9nZf;vQagoo0#k|DOc9}%LkmNy{s*z(?*b6MTi zJ$rH8);)WP<++U!ZEgqY<(1j?C=bP2d!54mdfUag=5cu*kxm@TM(3t?2UO{DENsce8K{SUln{uSiycWpaLE0JkMpGBNM zQgLj)e52INebCc~u?;vgI`t}e8N`{Xsa*2$#<JMS#d zZ|9w*`OHNe#guU%sTUI zo1Exr>N8fd-7>|n#B*|e=fukBoLty&VM$_dPSaU^0uy@6c#!omQas>MeGK@nF~%-p zx?g4Y%1Pf#F--lUtj0y^F}fh1F}}k_>=G!tR|Eg48m&yx<2zm<0*h5l&RLWsF za8%-dwF!9B>O2g8O7?wQ_Wh`CdpCj0JT6Udgp<}-Fe#{5;r*UNH@>nWw5#(V z_m~IUPmz{l%u-XtbO@XawOEQ3#ir@3a#}6k!`E57&)?s8u--5gr=Jg)Mw#;f;{$~z zYK9Tn@9eVpfW_DGJr>{Rt4&WNs>~vO&~gq~PJfwmpCa>X^1|qYKdH zqxj>aepz#K*fvc*cGR+L+uz$z>-!eP&(=|D22e&@QE?_~v)!O}3c-2eHj-%m4rY diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML deleted file mode 100644 index 8f0dd817a3..0000000000 --- a/bin/OpenMetaverse.StructuredData.XML +++ /dev/null @@ -1,349 +0,0 @@ - - - - OpenMetaverse.StructuredData - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Uses reflection to create an SDMap from all of the SD - serializable types in an object - - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object - - - - Uses reflection to deserialize member variables in an object from - an SDMap - - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deserializes binary LLSD - - Serialized data - OSD containting deserialized data - - - - Deserializes binary LLSD - - Stream to read the data from - OSD containting deserialized data - - - - Serializes OSD to binary format. It does no prepend header - - OSD to serialize - Serialized data - - - - Serializes OSD to binary format - - OSD to serialize - - Serialized data - - - - Serializes OSD to binary format. It does no prepend header - - OSD to serialize - Serialized data - - - - Serializes OSD to binary format - - OSD to serialize - - Serialized data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index d2691546d27b23aeb998653cc3a9b9e215eb025a..999463da4bda69fb8491b7ddcf4863885d550b2b 100755 GIT binary patch literal 118784 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

L2Zo`!~ApTiO58XPm)f=T4p`g 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 literal 102400 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 - - - OpenMetaverse - - - -

- Permission request flags, asked when a script wants to control an Avatar - - - - Placeholder for empty values, shouldn't ever see this - - - Script wants ability to take money from you - - - Script wants to take camera controls for you - - - Script wants to remap avatars controls - - - Script wants to trigger avatar animations - This function is not implemented on the grid - - - Script wants to attach or detach the prim or primset to your avatar - - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. - - - Script wants ability to link/delink with other prims - - - Script wants permission to change joints - This function is not implemented on the grid - - - Script wants permissions to change permissions - This function is not implemented on the grid - - - Script wants to track avatars camera position and rotation - - - Script wants to control your camera - - - Script wants the ability to teleport you - - - - Special commands used in Instant Messages - - - - Indicates a regular IM from another agent - - - Simple notification box with an OK button - - - You've been invited to join a group. - - - Inventory offer - - - Accepted inventory offer - - - Declined inventory offer - - - Group vote - - - An object is offering its inventory - - - Accept an inventory offer from an object - - - Decline an inventory offer from an object - - - Unknown - - - Start a session, or add users to a session - - - Start a session, but don't prune offline users - - - Start a session with your group - - - Start a session without a calling card (finder or objects) - - - Send a message to a session - - - Leave a session - - - Indicates that the IM is from an object - - - Sent an IM to a busy user, this is the auto response - - - Shows the message in the console and chat history - - - Send a teleport lure - - - Response sent to the agent which inititiated a teleport invitation - - - Response sent to the agent which inititiated a teleport invitation - - - Only useful if you have Linden permissions - - - Request a teleport lure - - - IM to tell the user to go to an URL - - - IM for help - - - IM sent automatically on call for help, sends a lure - to each Helper reached - - - Like an IM but won't go to email - - - IM from a group officer to all group members - - - Unknown - - - Unknown - - - Accept a group invitation - - - Decline a group invitation - - - Unknown - - - An avatar is offering you friendship - - - An avatar has accepted your friendship offer - - - An avatar has declined your friendship offer - - - Indicates that a user has started typing - - - Indicates that a user has stopped typing - - - - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - - - - Only deliver to online avatars - - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account - - - - Conversion type to denote Chat Packet types in an easier-to-understand format - - - - Whisper (5m radius) - - - Normal chat (10/20m radius), what the official viewer typically sends - - - Shouting! (100m radius) - - - Event message when an Avatar has begun to type - - - Event message when an Avatar has stopped typing - - - Send the message to the debug channel - - - Event message when an object uses llOwnerSay - - - Event message when an object uses llRegionSayTo - - - Special value to support llRegionSay, never sent to the client - - - - Identifies the source of a chat message - - - - Chat from the grid or simulator - - - Chat from another avatar - - - Chat from an object - - - - - - - - - - - - - - - - - - Effect type used in ViewerEffect packets - - - - - - - - - - - - - - - - - - - - - - - - - Project a beam from a source to a destination, such as - the one used when editing an object - - - - - - - - - - - - Create a swirl of particles around an object - - - - - - - - - Cause an avatar to look at an object - - - Cause an avatar to point at an object - - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - - - - - - - - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect - - - - - - - - - - - - - - - - - Money transaction types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags sent when a script takes or releases a control - - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - - No Flags set - - - Forward (W or up Arrow) - - - Back (S or down arrow) - - - Move left (shift+A or left arrow) - - - Move right (shift+D or right arrow) - - - Up (E or PgUp) - - - Down (C or PgDown) - - - Rotate left (A or left arrow) - - - Rotate right (D or right arrow) - - - Left Mouse Button - - - Left Mouse button in MouseLook - - - - Currently only used to hide your group title - - - - No flags set - - - Hide your group title - - - - Action state of the avatar, which can currently be typing and - editing - - - - - - - - - - - - - - Current teleport status - - - - Unknown status - - - Teleport initialized - - - Teleport in progress - - - Teleport failed - - - Teleport completed - - - Teleport cancelled - - - - - - - - No flags set, or teleport failed - - - Set when newbie leaves help island for first time - - - - - - Via Lure - - - Via Landmark - - - Via Location - - - Via Home - - - Via Telehub - - - Via Login - - - Linden Summoned - - - Linden Forced me - - - - - - Agent Teleported Home via Script - - - - - - - - - - - - forced to new location for example when avatar is banned or ejected - - - Teleport Finished via a Lure - - - Finished, Sim Changed - - - Finished, Same Sim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Type of mute entry - - - - Object muted by name - - - Muted residet - - - Object muted by UUID - - - Muted group - - - Muted external entry - - - - Flags of mute entry - - - - No exceptions - - - Don't mute text chat - - - Don't mute voice chat - - - Don't mute particles - - - Don't mute sounds - - - Don't mute - - - - Instant Message - - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Print the struct data as a string - A string containing the field name, and field value - - - Represents muted object or resident - - - Type of the mute entry - - - UUID of the mute etnry - - - Mute entry name - - - Mute flags - - - Transaction detail sent with MoneyBalanceReply message - - - Type of the transaction - - - UUID of the transaction source - - - Is the transaction source a group - - - UUID of the transaction destination - - - Is transaction destination a group - - - Transaction amount - - - Transaction description - - - - Manager class for our own avatar - - - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information - - - The event subscribers. null if no subcribers - - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a scripted object or agent within range sends a public message - - - The event subscribers. null if no subcribers - - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to - - - The event subscribers. null if no subcribers - - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an object requests a change in the permissions an agent has permitted - - - The event subscribers. null if no subcribers - - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a script requests an agent open the specified URL - - - The event subscribers. null if no subcribers - - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an agents currency balance is updated - - - The event subscribers. null if no subcribers - - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a transaction occurs involving currency such as a land purchase - - - The event subscribers. null if no subcribers - - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived - - - The event subscribers. null if no subcribers - - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request - - - The event subscribers. null if no subcribers - - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a simulator sends agent specific information for our avatar. - - - The event subscribers. null if no subcribers - - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when our agents animation playlist changes - - - The event subscribers. null if no subcribers - - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an object or avatar forcefully collides with our agent - - - The event subscribers. null if no subcribers - - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when our agent crosses a region border into another region - - - The event subscribers. null if no subcribers - - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when our agent succeeds or fails to join a group chat session - - - The event subscribers. null if no subcribers - - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - - The event subscribers. null if no subcribers - - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a script attempts to take or release specified controls for our agent - - - The event subscribers. null if no subcribers - - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator detects our agent is trying to view something - beyond its limits - - - The event subscribers. null if no subcribers - - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a script sensor reply is received from a simulator - - - The event subscribers. null if no subcribers - - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised in response to a request - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an avatar enters a group chat session we are participating in - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when an agent exits a group chat session we are participating in - - - The event subscribers, null of no subscribers - - - Raises the SetDisplayNameReply Event - A SetDisplayNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the details of display name change - - - The event subscribers. null if no subcribers - - - Raises the MuteListUpdated event - A EventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a scripted object or agent within range sends a public message - - - Reference to the GridClient instance - - - Used for movement and camera tracking - - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class - - - Dictionary containing current Group Chat sessions and members - - - Dictionary containing mute list keyead on mute name and key - - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing - - - Temporary assigned to this session, used for - verifying our identity in packets - - - Shared secret that is never sent over the wire - - - Your (client) avatar ID, local to the current region/sim - - - Where the avatar started at login. Can be "last", "home" - or a login - - - The access level of this agent, usually M, PG or A - - - The CollisionPlane of Agent - - - An representing the velocity of our agent - - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. - - - LookAt point saved/restored with HomePosition - - - Avatar First Name (i.e. Philip) - - - Avatar Last Name (i.e. Linden) - - - LookAt point received with the login response message - - - Avatar Full Name (i.e. Philip Linden) - - - Gets the health of the agent - - - Gets the current balance of the agent - - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting - - - Gets the of the agents active group. - - - Gets the Agents powers in the currently active group - - - Current status message for teleporting - - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something - - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something - - - Current position of the agent in the simulator - - - - A representing the agents current rotation - - - - Returns the global grid position of the avatar - - - Various abilities and preferences sent by the grid - - - - Constructor, setup callbacks for packets related to our avatar - - A reference to the Class - - - - Send a text message from the Agent to the Simulator - - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. - - - - Request any instant messages sent while the client was offline to be resent. - - - - - Send an Instant Message to another Avatar - - The recipients - A containing the message to send - - - - Send an Instant Message to an existing group chat or conference chat - - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) - - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference - - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type - - - - Send an Instant Message to a group - - of the group to send message to - Text Message being sent. - - - - Send an Instant Message to a group the agent is a member of - - The name this IM will show up as being from - of the group to send message to - Text message being sent - - - - Send a request to join a group chat session - - of Group to leave - - - - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. - - of Group chat session to leave - - - - Reply to script dialog questions. - - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - - - - - Accept invite for to a chatterbox session - - of session to accept invite to - - - - Start a friends conference - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect - - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect - - - - Create a particle beam between an avatar and an primitive - - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - - - - Create a particle swirl around a target position using a packet - - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - - - Sends a request to sit on the specified object - - of the object to sit on - Sit at offset - - - - Follows a call to to actually sit on the object - - - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent - - - - Does a "ground sit" at the avatar's current position - - - - - Starts or stops flying - - True to start flying, false to stop flying - - - - Starts or stops crouching - - True to start crouching, false to stop crouching - - - - Starts a jump (begin holding the jump key) - - - - - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements - - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to - - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator - - - - Grabs an object - - an unsigned integer of the objects ID within the simulator - - - - - Overload: Grab a simulated object - - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Drag an object - - of the object to drag - Drag target in region coordinates - - - - Overload: Drag an object - - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Release a grabbed object - - The Objects Simulator Local ID - - - - - - - Release a grabbed object - - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Touches an object - - an unsigned integer of the objects ID within the simulator - - - - - Request the current L$ balance - - - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history - - - - Give L$ to an object - - object to give money to - amount of L$ to give - name of object - - - - Give L$ to a group - - group to give money to - amount of L$ to give - - - - Give L$ to a group - - group to give money to - amount of L$ to give - description of transaction - - - - Pay texture/animation upload fee - - - - - Pay texture/animation upload fee - - description of the transaction - - - - Give Money to destination Object or Avatar - - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - - - - Plays a gesture - - Asset of the gesture - - - - Mark gesture active - - Inventory of the gesture - Asset of the gesture - - - - Mark gesture inactive - - Inventory of the gesture - - - - Send an AgentAnimation packet that toggles a single animation on - - The of the animation to start playing - Whether to ensure delivery of this packet or not - - - - Send an AgentAnimation packet that toggles a single animation off - - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - - - - Send an AgentAnimation packet that will toggle animations on or off - - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not - - - - Teleports agent to their stored home location - - true on successful teleport to home location - - - - Teleport agent to a landmark - - of the landmark to teleport agent to - true on success, false on failure - - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false - - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false - - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking - - - - Teleport agent to another region - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking - - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to - - - - Request teleport to a another simulator - - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - - - - Teleport agent to a landmark - - of the landmark to teleport agent to - - - - Send a teleport lure to another avatar with default "Join me in ..." invitation message - - target avatars to lure - - - - Send a teleport lure to another avatar with custom invitation message - - target avatars to lure - custom message to send with invitation - - - - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it - - - - Update agent profile - - struct containing updated - profile information - - - - Update agents profile interests - - selection of interests from struct - - - - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar - - New height of the viewer window - New width of the viewer window - - - - Request the list of muted objects and avatars for this agent - - - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - Mute flags - - - - Unmute an object, resident, etc. - - Mute UUID - Mute name - - - - Sets home location to agents current position - - will fire an AlertMessage () with - success or failure message - - - - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - - Object - - - - Reply to script permissions request - - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow - - - - Respond to a group invitation by either accepting or denying it - - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it - - - - Requests script detection of objects and avatars - - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in - - - - Create or update profile pick - - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick - - - - Delete profile pick - - UUID of the pick to delete - - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - - - - Delete a classified ad - - The classified ads ID - - - - Fetches resource usage by agents attachmetns - - Called when the requested information is collected - - - - Initates request to set a new display name - - Previous display name - Desired new display name - - - - Tells the sim what UI language is used, and if it's ok to share that with scripts - - Two letter language code - Share language info with scripts - - - - Sets agents maturity access level - - PG, M or A - - - - Sets agents maturity access level - - PG, M or A - Callback function - - - - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments - - The sender - The EventArgs object containing the packet data - - - - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llDialogs - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llRequestPermissions dialogs - - The sender - The EventArgs object containing the packet data - - - - Handles Script Control changes when Script with permissions releases or takes a control - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llLoadURL Dialogs - - The sender - The EventArgs object containing the packet data - - - - Update client's Position, LookAt and region handle from incoming packet - - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - EQ Message fired with the result of SetDisplayName request - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message - - - - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue - - - - Group Chat event handler - - The capability Key - IMessage object containing decoded data from OSD - - - - - Response from request to join a group chat - - - IMessage object containing decoded data from OSD - - - - - Someone joined or left group chat - - - IMessage object containing decoded data from OSD - - - - - Handle a group chat Invitation - - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator - - - - Moderate a chat session - - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - - - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - - - - - - - - - - - - - - - Default constructor - - - - Move agent positive along the X axis - - - Move agent negative along the X axis - - - Move agent positive along the Y axis - - - Move agent negative along the Y axis - - - Move agent positive along the Z axis - - - Move agent negative along the Z axis - - - - - - - - - - - - - - - - - - - - - - - - Causes simulator to make agent fly - - - Stop movement - - - Finish animation - - - Stand up from a sit - - - Tells simulator to sit agent on ground - - - Place agent into mouselook mode - - - Nudge agent positive along the X axis - - - Nudge agent negative along the X axis - - - Nudge agent positive along the Y axis - - - Nudge agent negative along the Y axis - - - Nudge agent positive along the Z axis - - - Nudge agent negative along the Z axis - - - - - - - - - Tell simulator to mark agent as away - - - - - - - - - - - - - - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - - - - The current value of the agent control flags - - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable - - - Gets or sets whether AgentUpdate packets are sent to - the current simulator - - - Reset movement controls every time we send an update - - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Timer for sending AgentUpdate packets - - - Default constructor - - - - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - whether to send update or not - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - Simulator to send the update to - - - - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way - - - - - - - - - - - - - - - - Sends update of Field of Vision vertical angle to the simulator - - Angle in radians - - - - Used to specify movement actions for your agent - - - - Empty flag - - - Move Forward (SL Keybinding: W/Up Arrow) - - - Move Backward (SL Keybinding: S/Down Arrow) - - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - - Unused - - - Unused - - - Unused - - - Unused - - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - - Fly - - - - - - Finish our current animation - - - Stand up from the ground or a prim seat - - - Sit on the ground at our current location - - - Whether mouselook is currently enabled - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - - - - - - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag - - - - - - - - - - - - - - - - Class for sending info on the success of the opration - of setting the maturity access level - - - - - New maturity accesss level returned from the sim - - - - - True if setting the new maturity access level has succedded - - - - - Creates new instance of the EventArgs class - - Has setting new maturty access level succeeded - New maturity access level as returned by the simulator - - - - - - - - Get the simulator sending the message - - - Get the message sent - - - Get the audible level of the message - - - Get the type of message sent: whisper, shout, etc - - - Get the source type of the message sender - - - Get the name of the agent or object sending the message - - - Get the ID of the agent or object sending the message - - - Get the ID of the object owner, or the agent ID sending the message - - - Get the position of the agent or object sending the message - - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message - - - Contains the data sent when a primitive opens a dialog with this agent - - - Get the dialog message - - - Get the name of the object that sent the dialog request - - - Get the ID of the image to be displayed - - - Get the ID of the primitive sending the dialog - - - Get the first name of the senders owner - - - Get the last name of the senders owner - - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel - - - Get the string labels containing the options presented in this dialog - - - UUID of the scritped object owner - - - - Construct a new instance of the ScriptDialogEventArgs - - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog - UUID of the scritped object owner - - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer - - - Get the simulator containing the object sending the request - - - Get the ID of the script making the request - - - Get the ID of the primitive containing the script making the request - - - Get the name of the primitive making the request - - - Get the name of the owner of the object making the request - - - Get the permissions being requested - - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested - - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL - - - Get the name of the object sending the request - - - Get the ID of the object sending the request - - - Get the ID of the owner of the object sending the request - - - True if the object is owned by a group - - - Get the message sent with the request - - - Get the URL the object sent - - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent - - - The date received from an ImprovedInstantMessage - - - Get the InstantMessage object - - - Get the simulator where the InstantMessage origniated - - - - Construct a new instance of the InstantMessageEventArgs object - - the InstantMessage object - the simulator where the InstantMessage origniated - - - Contains the currency balance - - - - Get the currenct balance - - - - - Construct a new BalanceEventArgs object - - The currenct balance - - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased - - - Get the ID of the transaction - - - True of the transaction was successful - - - Get the remaining currency balance - - - Get the meters credited - - - Get the meters comitted - - - Get the description of the transaction - - - Detailed transaction information - - - - Construct a new instance of the MoneyBalanceReplyEventArgs object - - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - Transaction info - - - Data sent from the simulator containing information about your agent and active group information - - - Get the agents first name - - - Get the agents last name - - - Get the active group ID of your agent - - - Get the active groups title of your agent - - - Get the combined group powers of your agent - - - Get the active group name of your agent - - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active - - - Data sent by the simulator to indicate the active/changed animations - applied to your agent - - - Get the dictionary that contains the changed animations - - - - Construct a new instance of the AnimationsChangedEventArgs class - - The dictionary that contains the changed animations - - - - Data sent from a simulator indicating a collision with your agent - - - - Get the Type of collision - - - Get the ID of the agent or object that collided with your agent - - - Get the ID of the agent that was attacked - - - A value indicating the strength of the collision - - - Get the time the collision occurred - - - - Construct a new instance of the MeanCollisionEventArgs class - - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred - - - Data sent to your agent when it crosses region boundaries - - - Get the simulator your agent just left - - - Get the simulator your agent is now in - - - - Construct a new instance of the RegionCrossedEventArgs class - - The simulator your agent just left - The simulator your agent is now in - - - Data sent from the simulator when your agent joins a group chat session - - - Get the ID of the group chat session - - - Get the name of the session - - - Get the temporary session ID used for establishing new sessions - - - True if your agent successfully joined the session - - - - Construct a new instance of the GroupChatJoinedEventArgs class - - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - - Data sent by the simulator containing urgent messages - - - Get the alert message - - - - Construct a new instance of the AlertMessageEventArgs class - - The alert message - - - Data sent by a script requesting to take or release specified controls to your agent - - - Get the controls the script is attempting to take or release to the agent - - - True if the script is passing controls back to the agent - - - True if the script is requesting controls be released to the script - - - - Construct a new instance of the ScriptControlEventArgs class - - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script - - - - Data sent from the simulator to an agent to indicate its view limits - - - - Get the collision plane - - - - Construct a new instance of the CameraConstraintEventArgs class - - The collision plane - - - - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests - - - - Get the ID of the primitive sending the sensor - - - Get the ID of the group associated with the primitive - - - Get the name of the primitive sending the sensor - - - Get the ID of the primitive sending the sensor - - - Get the ID of the owner of the primitive sending the sensor - - - Get the position of the primitive sending the sensor - - - Get the range the primitive specified to scan - - - Get the rotation of the primitive sending the sensor - - - Get the type of sensor the primitive sent - - - Get the velocity of the primitive sending the sensor - - - - Construct a new instance of the ScriptSensorReplyEventArgs - - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - - - Contains the response data returned from the simulator in response to a - - - Get the ID of the primitive the agent will be sitting on - - - True if the simulator Autopilot functions were involved - - - Get the camera offset of the agent when seated - - - Get the camera eye offset of the agent when seated - - - True of the agent will be in mouselook mode when seated - - - Get the position of the agent when seated - - - Get the rotation of the agent when seated - - - Construct a new instance of the AvatarSitResponseEventArgs object - - - Data sent when an agent joins a chat session your agent is currently participating in - - - Get the ID of the chat session - - - Get the ID of the agent that joined - - - - Construct a new instance of the ChatSessionMemberAddedEventArgs object - - The ID of the chat session - The ID of the agent joining - - - Data sent when an agent exits a chat session your agent is currently participating in - - - Get the ID of the chat session - - - Get the ID of the agent that left - - - - Construct a new instance of the ChatSessionMemberLeftEventArgs object - - The ID of the chat session - The ID of the Agent that left - - - Event arguments with the result of setting display name operation - - - Status code, 200 indicates settign display name was successful - - - Textual description of the status - - - Details of the newly set display name - - - Default constructor - - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - - - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers - - - - Default constructor, uses a default high total of 1500 KBps (1536000) - - - - - Constructor that decodes an existing AgentThrottle packet in to - individual values - - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client - - - - Send an AgentThrottle packet to the current server using the - current values - - - - - Send an AgentThrottle packet to the specified server using the - current values - - - - - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet - - Byte array containing all the throttle values - - - - Static pre-defined animations available to all agents - - - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) - - - Agent aiming a bow (left handed) - - - Agent aiming a hand gun (right handed) - - - Agent aiming a rifle (right handed) - - - Agent with angry expression on face - - - Agent hunched over (away) - - - Agent doing a backflip - - - Agent laughing while holding belly - - - Agent blowing a kiss - - - Agent with bored expression on face - - - Agent bowing to audience - - - Agent brushing himself/herself off - - - Agent in busy mode - - - Agent clapping hands - - - Agent doing a curtsey bow - - - Agent crouching - - - Agent crouching while walking - - - Agent crying - - - Agent unanimated with arms out (e.g. setting appearance) - - - Agent re-animated after set appearance finished - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent on ground unanimated - - - Agent boozing it up - - - Agent with embarassed expression on face - - - Agent with afraid expression on face - - - Agent with angry expression on face - - - Agent with bored expression on face - - - Agent crying - - - Agent showing disdain (dislike) for something - - - Agent with embarassed expression on face - - - Agent with frowning expression on face - - - Agent with kissy face - - - Agent expressing laughgter - - - Agent with open mouth - - - Agent with repulsed expression on face - - - Agent expressing sadness - - - Agent shrugging shoulders - - - Agent with a smile - - - Agent expressing surprise - - - Agent sticking tongue out - - - Agent with big toothy smile - - - Agent winking - - - Agent expressing worry - - - Agent falling down - - - Agent walking (feminine version) - - - Agent wagging finger (disapproval) - - - I'm not sure I want to know - - - Agent in superman position - - - Agent in superman position - - - Agent greeting another - - - Agent holding bazooka (right handed) - - - Agent holding a bow (left handed) - - - Agent holding a handgun (right handed) - - - Agent holding a rifle (right handed) - - - Agent throwing an object (right handed) - - - Agent in static hover - - - Agent hovering downward - - - Agent hovering upward - - - Agent being impatient - - - Agent jumping - - - Agent jumping with fervor - - - Agent point to lips then rear end - - - Agent landing from jump, finished flight, etc - - - Agent laughing - - - Agent landing from jump, finished flight, etc - - - Agent sitting on a motorcycle - - - - - - Agent moving head side to side - - - Agent moving head side to side with unhappy expression - - - Agent taunting another - - - - - - Agent giving peace sign - - - Agent pointing at self - - - Agent pointing at another - - - Agent preparing for jump (bending knees) - - - Agent punching with left hand - - - Agent punching with right hand - - - Agent acting repulsed - - - Agent trying to be Chuck Norris - - - Rocks, Paper, Scissors 1, 2, 3 - - - Agent with hand flat over other hand - - - Agent with fist over other hand - - - Agent with two fingers spread over other hand - - - Agent running - - - Agent appearing sad - - - Agent saluting - - - Agent shooting bow (left handed) - - - Agent cupping mouth as if shouting - - - Agent shrugging shoulders - - - Agent in sit position - - - Agent in sit position (feminine) - - - Agent in sit position (generic) - - - Agent sitting on ground - - - Agent sitting on ground - - - - - - Agent sleeping on side - - - Agent smoking - - - Agent inhaling smoke - - - - - - Agent taking a picture - - - Agent standing - - - Agent standing up - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent stretching - - - Agent in stride (fast walk) - - - Agent surfing - - - Agent acting surprised - - - Agent striking with a sword - - - Agent talking (lips moving) - - - Agent throwing a tantrum - - - Agent throwing an object (right handed) - - - Agent trying on a shirt - - - Agent turning to the left - - - Agent turning to the right - - - Agent typing - - - Agent walking - - - Agent whispering - - - Agent whispering with fingers in mouth - - - Agent winking - - - Agent winking - - - Agent worried - - - Agent nodding yes - - - Agent nodding yes with happy face - - - Agent floating with legs and arms crossed - - - - A dictionary containing all pre-defined animations - - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - - - - Index of TextureEntry slots for avatar appearances - - - - - Bake layers for avatar appearance - - - - - Appearance Flags, introdued with server side baking, currently unused - - - - Mask for multiple attachments - - - Mapping between BakeType and AvatarTextureIndex - - - Maximum number of concurrent downloads for wearable assets and textures - - - Maximum number of concurrent uploads for baked textures - - - Timeout for fetching inventory listings - - - Timeout for fetching a single wearable, or receiving a single packet response - - - Timeout for fetching a single texture - - - Timeout for uploading a single baked texture - - - Number of times to retry bake upload - - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change - - - Total number of wearables for each avatar - - - Total number of baked textures on each avatar - - - Total number of wearables per bake layer - - - Map of what wearables are included in each bake - - - Magic values to finalize the cache check hashes for each - bake - - - Default avatar texture, used to detect when a custom - texture is not set for a face - - - - Contains information about a wearable inventory item - - - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - - - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Where on avatar does this texture belong - - - The event subscribers. null if no subcribers - - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - The event subscribers. null if no subcribers - - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse - - - Thread sync lock object - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - - The event subscribers. null if no subcribers - - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull - - - Thread sync lock object - - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - The event subscribers. null if no subcribers - - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - - Triggered when the simulator requests the agent rebake its appearance. - - - - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - - - - Visual parameters last sent to the sim - - - Textures about this client sent to the sim - - - A cache of wearables currently being worn - - - A cache of textures currently being worn - - - Incrementing serial number for AgentCachedTexture packets - - - Incrementing serial number for AgentSetAppearance packets - - - Indicates if WearablesRequest succeeded - - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously - - - Reference to our agent - - - - Timer used for delaying rebake on changing outfit - - - - - Main appearance thread - - - - - Is server baking complete. It needs doing only once - - - - - Default constructor - - A reference to our agent - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter - - - - Starts the appearance setting thread - - - - - Starts the appearance setting thread - - True to force rebaking, otherwise false - - - - Check if current region supports server side baking - - True if server side baking support is detected - - - - Ask the server what textures our agent is currently wearing - - - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - - - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet - - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit - - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit - Should existing item on the same point or of the same type be replaced - - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - Should existing item on the same point or of the same type be replaced - - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - Should existing item on the same point or of the same type be replaced - - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit - - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit - - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - Check if we have all body parts, set this to false only - if you know what you're doing - - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time - - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit - - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first - - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - first - - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to - - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - to attach the item to - - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to - - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) - to attach the item to - - - - Detach an item from our agent using an object - - An object - - - - Detach an item from our agent - - The inventory itemID of the item to detach - - - - Inform the sim which wearables are part of our current outfit - - - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with - - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable - - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false - - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false - - - - Populates textures and visual params from a decoded asset - - Wearable to decode - - Populates textures and visual params from a decoded asset - - Wearable to decode - - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false - - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download - - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - - - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded - - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false - - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false - - - - Blocking method to upload a baked texture - - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class - - - - Initate server baking process - - True if the server baking was successful - - - - Get the latest version of COF - - Current Outfit Folder (or null if getting the data failed) - - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - - - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType - - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask - - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake - - - Contains the Event data returned from the data server from an AgentWearablesRequest - - - Construct a new instance of the AgentWearablesReplyEventArgs class - - - Contains the Event data returned from the data server from an AgentCachedTextureResponse - - - Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - Contains the Event data returned from an AppearanceSetRequest - - - Indicates whether appearance setting was successful - - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful - - - Contains the Event data returned from the data server from an RebakeAvatarTextures - - - The ID of the Texture Layer to bake - - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake - - - - Class that handles the local asset cache - - - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - - - - - How long (in ms) between cache checks (default is 5 min.) - - - - - Default constructor - - A reference to the GridClient object - - - - Disposes cleanup timer - - - - - Only create timer when needed - - - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure - - - - Returns ImageDownload object of the - image from the local image cache, null if it does not exist - - UUID of the image we want to get - ImageDownload object containing the image, or null on failure - - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset - - - - Constructs a file name of the static cached asset - - UUID of the asset - String with the file name of the static cached asset - - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull - - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder - - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false - - - - Wipes out entire cache - - - - - Brings cache size to the 90% of the max size - - - - - Asynchronously brings cache size to the 90% of the max size - - - - - Adds up file sizes passes in a FileInfo array - - - - - Checks whether caching is enabled - - - - - Periodically prune the cache - - - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size - - - - Helper class for sorting files by their last accessed time - - - - - - - - - OK - - - Transfer completed - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - - - - - - - - - - Unknown - - - Virtually all asset transfers use this channel - - - - - - - - - - - Asset from the asset server - - - Inventory item - - - Estate asset, such as an estate covenant - - - - - - - - - - - - - - - - - - When requesting image download, type of the image requested - - - - Normal in-world object texture - - - Avatar texture - - - Server baked avatar texture - - - - Image file format - - - - - - - - - Number of milliseconds passed since the last transfer - packet was received - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail - - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture - - - - A callback that fires upon the completition of the RequestMesh call - - Was the download successfull - Resulting mesh or null on problems - - - The event subscribers. null if no subcribers - - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds sends - - - The event subscribers. null if no subcribers - - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised during upload completes - - - The event subscribers. null if no subcribers - - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised during upload with progres update - - - The event subscribers. null if no subcribers - - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - The event subscribers. null if no subcribers - - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - Texture download cache - - - - Default constructor - - A reference to the GridClient object - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - - - - Request an asset download through the almost deprecated Xfer system - - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - - - - - - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - - - - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - - An AssetUpload object containing the data to upload to the simulator - - - - Request an asset be uploaded to the simulator - - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Initiate an asset upload - - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Cancel a texture request - - The texture assets - - - - Requests download of a mesh asset - - UUID of the mesh asset - Callback when the request completes - - - - Fetach avatar texture on a grid capable of server side baking - - ID of the avatar - ID of the texture - Name of the part of the avatar texture applies to - Callback invoked on operation completion - - - - Lets TexturePipeline class fire the progress event - - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Xfer data - - - Upload data - - - Filename used on the simulator - - - Filename used by the client - - - UUID of the image that is in progress - - - Number of bytes received so far - - - Image size in bytes - - - - Avatar profile flags - - - - - Represents an avatar (other than your own) - - - - - Positive and negative ratings - - - - Positive ratings for Behavior - - - Negative ratings for Behavior - - - Positive ratings for Appearance - - - Negative ratings for Appearance - - - Positive ratings for Building - - - Negative ratings for Building - - - Positive ratings given by this avatar - - - Negative ratings given by this avatar - - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - - First Life about text - - - First Life image ID - - - - - - - - - - - - - - - Profile image ID - - - Flags of the profile - - - Web URL for this profile - - - Should this profile be published on the web - - - Avatar Online Status - - - Is this a mature profile - - - - - - - - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - - Languages profile field - - - - - - - - - - - - - - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - - - Contains the visual parameters describing the deformation of the avatar - - - - - Appearance version. Value greater than 0 indicates using server side baking - - - - - Version of the Current Outfit Folder that the appearance is based on - - - - - Appearance flags. Introduced with server side baking, currently unused. - - - - - List of current avatar animations - - - - First name - - - Last name - - - Full name - - - Active group - - - - Default constructor - - - - Information about agents display name - - - Agent UUID - - - Username - - - Display name - - - First name (legacy) - - - Last name (legacy) - - - Full name (legacy) - - - Is display name default display name - - - Cache display name until - - - Last updated timestamp - - - - Creates AgentDisplayName object from OSD - - Incoming OSD data - AgentDisplayName object - - - - Return object as OSD map - - OSD containing agent's display name data - - - - Holds group information for Avatars such as those you might find in a profile - - - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - - - Contains an animation currently being played by an agent - - - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - - - - - Holds group information on an individual profile pick - - - - - Retrieve friend status notifications, and retrieve avatar names and - profiles - - - - The event subscribers, null of no subscribers - - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an agents animation playlist - - - The event subscribers, null of no subscribers - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the appearance information for an agent - - - The event subscribers, null of no subscribers - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - agent names/id values - - - The event subscribers, null of no subscribers - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the interests listed in an agents profile - - - The event subscribers, null of no subscribers - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - profile property information for an agent - - - The event subscribers, null of no subscribers - - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the group membership an agent is a member of - - - The event subscribers, null of no subscribers - - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - name/id pair - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at - - - The event subscribers, null of no subscribers - - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an agents viewer effect information - - - The event subscribers, null of no subscribers - - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the top picks from an agents profile - - - The event subscribers, null of no subscribers - - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the Pick details - - - The event subscribers, null of no subscribers - - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the classified ads an agent has placed - - - The event subscribers, null of no subscribers - - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the details of a classified ad - - - The event subscribers, null of no subscribers - - - Raises the DisplayNameUpdate Event - A DisplayNameUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - the details of display name change - - - - Callback giving results when fetching display names - - If the request was successful - Array of display names - Array of UUIDs that could not be fetched - - - - Represents other avatars - - - - - Tracks the specified avatar on your map - Avatar ID to track - - - - Request a single avatar name - - The avatar key to retrieve a name for - - - - Request a list of avatar names - - The avatar keys to retrieve names for - - - - Check if Display Names functionality is available - - True if Display name functionality is available - - - - Request retrieval of display names (max 90 names per request) - - List of UUIDs to lookup - Callback to report result of the operation - - - - Start a request for Avatar Properties - - - - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query - - - - Start a request for Avatar Picks - - UUID of the avatar - - - - Start a request for Avatar Classifieds - - UUID of the avatar - - - - Start a request for details of a specific profile pick - - UUID of the avatar - UUID of the profile pick - - - - Start a request for details of a specific profile classified - - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - EQ Message fired when someone nearby changes their display name - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - - - - Get the ID of the agent - - - Get the list of animations to start - - - - Construct a new instance of the AvatarAnimationEventArgs class - - The ID of the agent - The list of animations to start - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - Get the Simulator this request is from of the agent - - - Get the ID of the agent - - - true if the agent is a trial account - - - Get the default agent texture - - - Get the agents appearance layer textures - - - Get the for the agent - - - Version of the appearance system used. - Value greater than 0 indicates that server side baking is used - - - Version of the Current Outfit Folder the appearance is based on - - - Appearance flags, introduced with server side baking, currently unused - - - - Construct a new instance of the AvatarAppearanceEventArgs class - - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - - Represents the interests from the profile of an agent - - - Get the ID of the agent - - - The properties of an agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the avatar - - - - Event args class for display name notification messages - - - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - - - - - - - - - - - - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array - - - - Pack a floating point value in to the data - - Floating point value to pack - - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack - - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack - - - - Pack a single bit in to the data - - Bit to pack - - - - - - - - - - - - - - - - - - - - - - - - - Unpacking a floating point value from the data - - Unpacked floating point value - - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a 16-bit signed integer - - 16-bit signed integer - - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer - - - - Unpack a 32-bit signed integer - - 32-bit signed integer - - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer - - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - - - - - Rotation Keyframe count (used internally) - - - - - Position Keyframe count (used internally) - - - - - Animation Priority - - - - - The animation length in seconds. - - - - - Expression set in the client. Null if [None] is selected - - - - - The time in seconds to start the animation - - - - - The time in seconds to end the animation - - - - - Loop the animation - - - - - Meta data. Ease in Seconds. - - - - - Meta data. Ease out seconds. - - - - - Meta Data for the Hand Pose - - - - - Number of joints defined in the animation - - - - - Contains an array of joints - - - - - Searialize an animation asset into it's joints/keyframes/meta data - - - - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string - - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure - - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - - Determines whether the specified is equal to the current . - - - true if the specified is equal to the current ; otherwise, false. - - The to compare with the current . - The parameter is null. - 2 - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - 2 - - - - A Joint and it's associated meta data and keyframes - - - - - Indicates whether this instance and a specified object are equal. - - - true if and this instance are the same type and represent the same value; otherwise, false. - - Another object to compare to. - 2 - - - - Returns the hash code for this instance. - - - A 32-bit signed integer that is the hash code for this instance. - - 2 - - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - - - - - Joint Animation Override? Was the same as the Priority in testing.. - - - - - Array of Rotation Keyframes in order from earliest to latest - - - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - - - - - Custom application data that can be attached to a joint - - - - - A Joint Keyframe. This is either a position or a rotation. - - - - - Either a Vector3 position or a Vector3 Euler rotation - - - - - Poses set in the animation metadata for the hands. - - - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - - - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event - - - Reference to the simulator this system is connected to - - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - - - - Default constructor - - - - - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist - - - - Process any incoming events, check to see if we have a message created for the event, - - - - - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData - - - - Add a custom decoder callback - - The key of the field to decode - The custom decode handler - - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler - - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object - - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object - - - - Thrown when a packet could not be successfully deserialized - - - - - Default constructor - - - - - Constructor that takes an additional error message - - An error message to attach to this exception - - - - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet - - - - - Convert the AckList to a byte array, used for packet serializing - - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list - - - - - - - - - - - - - - - - - - - - - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - - - - Current length of the data in this packet - - - - Create a block from a byte array - - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns - - - - Serialize this block into a byte array - - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - - A generic value, not an actual packet type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians - - - - Access to the data server which allows searching for land, events, people, etc - - - - Classified Ad categories - - - Classified is listed in the Any category - - - Classified is shopping related - - - Classified is - - - - - - - - - - - - - - - - - - - - - - - - Event Categories - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - - - Query the People database - - - - - - - - - Query the Groups database - - - Query the Events database - - - Query the land holdings database for land owned by the currently connected agent - - - - - - Query the land holdings database for land which is owned by a Group - - - Specifies the query should pre sort the results based upon traffic - when searching the Places database - - - - - - - - - - - - - - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - - - - - - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - - - - - Land types to search dataserver for - - - - Search Auction, Mainland and Estate - - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - - - The content rating of the event - - - - Event is PG - - - Event is Mature - - - Event is Adult - - - - Classified Ad Options - - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - - - - - Classified ad query options - - - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - - - The For Sale flag in PlacesReplyData - - - - Parcel is not listed for sale - - - Parcel is For Sale - - - - A classified ad on the grid - - - - UUID for this ad, useful for looking up detailed - information about it - - - The title of this classified ad - - - Flags that show certain options applied to the classified - - - Creation date of the ad - - - Expiration date of the ad - - - Price that was paid for this ad - - - Print the struct data as a string - A string containing the field name, and field value - - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - - - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel - - - The size of the parcel - This field is not returned for Places searches - - - The price of the parcel - This field is not returned for Places searches - - - If True, this parcel is flagged to be auctioned - - - If true, this parcel is currently set for sale - - - Parcel traffic - - - Print the struct data as a string - A string containing the field name, and field value - - - - An Avatar returned from the dataserver - - - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value - - - - Response to a "Groups" Search - - - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value - - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - - - - The ID of the Agent of Group that owns the parcel - - - The name - - - The description - - - The Size of the parcel - - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 - - - Indicates the ForSale status of the parcel - - - The Gridwide X position - - - The Gridwide Y position - - - The Z position of the parcel, or 0 if no landing point set - - - The name of the Region the parcel is located in - - - The Asset ID of the parcels Snapshot texture - - - The calculated visitor traffic - - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - - - - No longer used, will always be 0 - - - Get a SL URL for the parcel - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - - An "Event" Listing summary - - - - The ID of the event creator - - - The name of the event - - - The events ID - - - A string containing the short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) - - - The events maturity rating - - - Print the struct data as a string - A string containing the field name, and field value - - - - The details of an "Event" - - - - The events ID - - - The ID of the event creator - - - The name of the event - - - The category - - - The events description - - - The short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) UTC adjusted - - - The length of the event in minutes - - - 0 if no cover charge applies - - - The cover charge amount in L$ if applicable - - - The name of the region where the event is being held - - - The gridwide location of the event - - - The maturity rating - - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - The event subscribers. null if no subcribers - - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient - - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - - - - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Send a request to the data server for land sales listings - - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - - - - Search the People directory for other avatars - - The name or portion of the name of the avatar you wish to search for - - - - - - Search Places for parcels of land you personally own - - - - - Searches Places for land owned by the specified group - - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - - - - Search the Places directory for parcels that are listed in search and contain the specified keywords - - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - - - - Search Places - All Options - - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - - - - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the Event data returned from the data server from an EventInfoRequest - - - - A single EventInfo object containing the details of an event - - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event - - - Contains the "Event" detail data returned from the data server - - - The ID returned by - - - A list of "Events" returned by the data server - - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query - - - Contains the "Event" list data returned from the data server - - - The ID returned by - - - A list of "Places" returned by the data server - - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query - - - Contains the places data returned from the data server - - - The ID returned by - - - A list containing Places data returned by the data server - - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server - - - Contains the classified data returned from the data server - - - A list containing Classified Ads returned by the data server - - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server - - - Contains the group data returned from the data server - - - The ID returned by - - - A list containing Groups data returned by the data server - - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server - - - Contains the people data returned from the data server - - - The ID returned by - - - A list containing People data returned by the data server - - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server - - - Contains the land sales data returned from the data server - - - A list containing land forsale data returned by the data server - - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server - - - - Represends individual HTTP Download request - - - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - How many times will this request be retried - - - Current fetch attempt - - - Default constructor - - - Constructor - - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTTP download - - - Describes tasks returned in LandStatReply - - - - Estate level administration and utilities - - - - Textures for each of the four terrain height levels - - - Upper/lower texture boundaries for each corner of the sim - - - - Constructor for EstateTools class - - - - - Used in the ReportType field of a LandStatRequest - - - Used by EstateOwnerMessage packets - - - Used by EstateOwnerMessage packets - - - - - - - - No flags set - - - Only return targets scripted objects - - - Only return targets objects if on others land - - - Returns target's scripted objects and objects on other parcels - - - Ground texture settings for each corner of the region - - - Used by GroundTextureHeightSettings - - - The high and low texture thresholds for each corner of the sim - - - The event subscribers. null if no subcribers - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - The event subscribers. null if no subcribers - - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - - Requests estate information such as top scripts and colliders - - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - - Requests the "Top Colliders" list for the current region - - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - - - - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include - - - - Kick an avatar from an estate - - Key of Agent to remove - - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner - - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner - - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate - - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator - - - - Send an avatar back to their home location - - Key of avatar to send home - - - - Begin the region restart process - - - - - Cancels a region restart - - - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - - - - Teleports all users home in current Estate - - - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner - - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner - - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true - - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true - - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised on LandStatReply when the report type is for "top colliders" - - - - The number of returned items in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - Raised on LandStatReply when the report type is for "top Scripts" - - - - The number of scripts returned in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned itmes - - - - - List of UUIDs of Banned Users - - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Users - - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Groups - - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of the Estate's Managers - - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The Covenant - - - - - The timestamp - - - - - The Estate name - - - - - The Estate Owner's ID (can be a GroupID) - - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - - Returned, along with other info, upon a successful .RequestInfo() - - - - The estate's name - - - - - The Estate Owner's ID (can be a GroupID) - - - - - The identifier of the estate on the grid - - - - - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - - - Registers, unregisters, and fires events generated by incoming packets - - - - - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - - Reference to the GridClient object - - - - Default constructor - - - - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered - - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from - - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - - - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - - Reference to the GridClient object - - - - Default constructor - - Reference to the GridClient object - - - - Register an new event handler for a capabilities event sent via the EventQueue - - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - - - - Unregister a previously registered capabilities handler - - Capability event name unregister the - handler for - Callback to unregister - - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - - - - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - - - - - System ID of the avatar - - - - - full name of the avatar - - - - - True if the avatar is online - - - - - True if the friend can see if I am online - - - - - True if the friend can see me on the map - - - - - True if the freind can modify my objects - - - - - True if I can see if my friend is online - - - - - True if I can see if my friend is on the map - - - - - True if I can modify my friend's objects - - - - - My friend's rights represented as bitmapped flags - - - - - My rights represented as bitmapped flags - - - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects - - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights - - - - This class is used to add and remove avatars from your friends list and to manage their permission. - - - - The event subscribers. null if no subcribers - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list comes online - - - The event subscribers. null if no subcribers - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - The event subscribers. null if no subcribers - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - The event subscribers. null if no subcribers - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends us the names on our friends list - - - The event subscribers. null if no subcribers - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification another agent is offering us friendship - - - The event subscribers. null if no subcribers - - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when a request we sent to friend another agent is accepted or declined - - - The event subscribers. null if no subcribers - - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - The event subscribers. null if no subcribers - - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - - - - - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - - - - - Internal constructor - - A reference to the GridClient Object - - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message - - - - Decline a friendship request - - of friend - imSessionID of the friendship request message - - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request - - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. - - - - Use to map a friends location on the grid. - - Friends UUID to find - - - - - Use to track a friends movement on the grid - - Friends Key - - - - Ask for a notification of friend's online status - - Friend's UUID - - - - This handles the asynchronous response of a RequestAvatarNames call. - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Contains information on a member of our friends list - - - Get the FriendInfo - - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo - - - Contains Friend Names - - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - Sent when another agent requests a friendship with our agent - - - Get the ID of the agent requesting friendship - - - Get the name of the agent requesting friendship - - - Get the ID of the session, used in accepting or declining the - friendship offer - - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - - A response containing the results of our request to form a friendship with another agent - - - Get the ID of the agent we requested a friendship with - - - Get the name of the agent we requested a friendship with - - - true if the agent accepted our friendship offer - - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - - Contains data sent when a friend terminates a friendship with us - - - Get the ID of the agent that terminated the friendship with us - - - Get the name of the agent that terminated the friendship with us - - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us - - - - Data sent in response to a request which contains the information to allow us to map the friends location - - - - Get the ID of the agent we have received location information for - - - Get the region handle where our mapped friend is located - - - Get the simulator local position where our friend is located - - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem - - - Estate subsystem - - - Friends list subsystem - - - Grid (aka simulator group) subsystem - - - Object subsystem - - - Group subsystem - - - Asset subsystem - - - Appearance subsystem - - - Inventory subsystem - - - Directory searches including classifieds, people, land - sales, etc - - - Handles land, wind, and cloud heightmaps - - - Handles sound-related networking - - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types - - - - Default constructor - - - - - Return the full name of this instance - - Client avatars full name - - - - Map layer request type - - - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction - - - - Type of grid item, such as telehub, event, populator location, etc. - - - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale - - - - Information about a region on the grid map - - - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - Appears to always be zero (None) - - - Sim's defined Water Height - - - - - - UUID of the World Map image - - - Unique identifier for this region, a combination of the X - and Y position - - - - - - - - - - - - - - - - - - - - - - - Visual chunk of the grid map - - - - - Base class for Map Items - - - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item - - - Get the Local Y position of the item - - - Get the Handle of the region - - - - Represents an agent or group of agents location - - - - - Represents a Telehub location - - - - - Represents a non-adult parcel of land for sale - - - - - Represents an Adult parcel of land for sale - - - - - Represents a PG Event - - - - - Represents a Mature event - - - - - Represents an Adult event - - - - - Manages grid-wide tasks such as the world map - - - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - The event subscribers. null if no subcribers - - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends a Region Data in response to - a Map request - - - The event subscribers. null if no subcribers - - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - - The event subscribers. null if no subcribers - - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location - - - The event subscribers. null if no subcribers - - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator - - - Thread sync lock object - - - Raised in response to a Region lookup - - - Unknown - - - Current direction of the sun - - - Current angular velocity of the sun - - - Microseconds since the start of SL 4-hour day - - - A dictionary of all the regions, indexed by region name - - - A dictionary of all the regions, indexed by region handle - - - - Constructor - - Instance of GridClient object to associate with this GridManager instance - - - - - - - - - - Request a map layer - - The name of the region - The type of layer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request data for all mainland (Linden managed) simulators - - - - - Request the region handle for the specified region UUID - - UUID of the region to look up - - - - Get grid region information using the region name, this function - will block until it can find the region or gives up - - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Avatar group management - - - - Key of Group Member - - - Total land contribution - - - Online status information - - - Abilities that the Group Member has - - - Current group title - - - Is a group owner - - - - Role manager for a group - - - - Key of the group - - - Key of Role - - - Name of Role - - - Group Title associated with Role - - - Description of Role - - - Abilities Associated with Role - - - Returns the role's title - The role's title - - - - Class to represent Group Title - - - - Key of the group - - - ID of the role title belongs to - - - Group Title - - - Whether title is Active - - - Returns group title - - - - Represents a group on the grid - - - - Key of Group - - - Key of Group Insignia - - - Key of Group Founder - - - Key of Group Role for Owners - - - Name of Group - - - Text of Group Charter - - - Title of "everyone" role - - - Is the group open for enrolement to everyone - - - Will group show up in search - - - - - - - - - - - - Is the group Mature - - - Cost of group membership - - - - - - - - - The total number of current members this group has - - - The number of roles this group has configured - - - Show this group in agent's profile - - - Returns the name of the group - A string containing the name of the group - - - - A group Vote - - - - Key of Avatar who created Vote - - - Text of the Vote proposal - - - Total number of votes - - - - A group proposal - - - - The Text of the proposal - - - The minimum number of members that must vote before proposal passes or failes - - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum - - - The duration in days votes are accepted - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice list entry - - - - Notice ID - - - Creation timestamp of notice - - - Agent name who created notice - - - Notice subject - - - Is there an attachment? - - - Attachment Type - - - - Struct representing a member of a group chat session and their settings - - - - The of the Avatar - - - True if user has voice chat enabled - - - True of Avatar has moderator abilities - - - True if a moderator has muted this avatars chat - - - True if a moderator has muted this avatars voice - - - - Role update flags - - - - - - - - - - - - - - - - - - - - - - - - - Can send invitations to groups default role - - - Can eject members from group - - - Can toggle 'Open Enrollment' and change 'Signup fee' - - - Member is visible in the public member list - - - Can create new roles - - - Can delete existing roles - - - Can change Role names, titles and descriptions - - - Can assign other members to assigners role - - - Can assign other members to any role - - - Can remove members from roles - - - Can assign and remove abilities in roles - - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings - - - Can buy land or deed land to group - - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates - - - Can set land for-sale information on group owned parcels - - - Can subdivide and join parcels - - - Can change music and media settings - - - Can toggle 'Edit Terrain' option in Land settings - - - Can toggle various About Land > Options settings - - - Can toggle "Show in Find Places" and set search category - - - Can change parcel name, description, and 'Publish on web' settings - - - Can set the landing point and teleport routing on group land - - - Can always terraform land, even if parcel settings have it turned off - - - Can always fly while over group owned land - - - Can always rez objects on group owned land - - - Can always create landmarks for group owned parcels - - - Can set home location on any group owned parcel - - - Allowed to hold events on group-owned land - - - Can modify public access settings for group owned parcels - - - Can manager parcel ban lists on group owned land - - - Can manage pass list sales information - - - Can eject and freeze other avatars on group owned land - - - Can return objects set to group - - - Can return non-group owned/set objects - - - Can return group owned objects - - - Can landscape using Linden plants - - - Can deed objects to group - - - Can move group owned objects - - - Can set group owned objects for-sale - - - Pay group liabilities and receive group dividends - - - Can send group notices - - - Can receive group notices - - - Can create group proposals - - - Can vote on group proposals - - - Can join group chat sessions - - - Can use voice chat in Group Chat sessions - - - Can moderate group chat sessions - - - Has admin rights to any experiences owned by this group - - - Can sign scripts for experiences owned by this group - - - Allows access to ban / un-ban agents from a group - - - - Ban actions available for group members - - - - Ban agent from joining a group - - - Remove restriction on agent jointing a group - - - - Handles all network traffic related to reading and writing group - information - - - - The event subscribers. null if no subcribers - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - our current group membership - - - The event subscribers. null if no subcribers - - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request - - - The event subscribers. null if no subcribers - - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator - - - The event subscribers. null if no subcribers - - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when a request to create a group is successful - - - The event subscribers. null if no subcribers - - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Thread sync lock object - - - Raised when a request to join a group either - fails or succeeds - - - The event subscribers. null if no subcribers - - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Thread sync lock object - - - Raised when a request to leave a group either - fails or succeeds - - - The event subscribers. null if no subcribers - - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left - - - Thread sync lock object - - - Raised when A group is removed from the group server - - - The event subscribers. null if no subcribers - - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when a request to eject a member from a group either - fails or succeeds - - - The event subscribers. null if no subcribers - - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us group notices - - - - The event subscribers. null if no subcribers - - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when another agent invites our avatar to join a group - - - The event subscribers. null if no subcribers - - - Raises the BannedAgents event - An BannedAgentsEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when another agent invites our avatar to join a group - - - A reference to the current instance - - - Currently-active group members requests - - - Currently-active group roles requests - - - Currently-active group role-member requests - - - Dictionary keeping group members while request is in progress - - - Dictionary keeping mebmer/role mapping while request is in progress - - - Dictionary keeping GroupRole information while request is in progress - - - Caches group name lookups - - - - Construct a new instance of the GroupManager class - - A reference to the current instance - - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. - - - - Lookup name of group based on groupID - - groupID of group to lookup name for. - - - - Request lookup of multiple group names - - List of group IDs to request. - - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) - - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) - - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite - - - Set a group as the current active group - group ID (UUID) - - - Change the role that determines your active title - Group ID to use - Role ID to change to - - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate - - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile - - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. - - - - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted - - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. - - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject - - - Update role information - Modified role to be updated - - - Create a new group role - Group ID to update - Role to create - - - Delete a group role - Group ID to update - Role to delete - - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove - - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role - - - Request the group notices list - Group ID to fetch notices for - - - Request a group notice by key - ID of group notice - - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data - - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal - - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave - - - - Gets the URI of the cpability for handling group bans - - Group ID - null, if the feature is not supported, or URI of the capability - - - - Request a list of residents banned from joining a group - - UUID of the group - - - - Request a list of residents banned from joining a group - - UUID of the group - Callback on request completition - - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban - - - - Request that group of agents be banned or unbanned from the group - - Group ID - Ban/Unban action - Array of agents UUIDs to ban - Callback - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the current groups your agent is a member of - - - Get the current groups your agent is a member of - - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of - - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Get the Group Names dictionary - - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary - - - Represents the members of a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary of members - - - - Construct a new instance of the GroupMembersReplyEventArgs class - - The ID of the request - The ID of the group - The membership list of the group - - - Represents the roles associated with a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary containing the roles - - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles - - - Represents the Role to Member mappings for a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the member to roles map - - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map - - - Represents the titles for a group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the titles - - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles - - - Represents the summary data for a group - - - Get the ID of the group - - - Get the summary data - - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data - - - A response to a group create request - - - Get the ID of the group - - - true of the group was created successfully - - - A string containing the message - - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information - - - Represents a response to a request - - - Get the ID of the group - - - true of the request was successful - - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful - - - Represents your agent leaving a group - - - Get the ID of the group - - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group - - - Represents a list of active group notices - - - Get the ID of the group - - - Get the notices list - - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices - - - Represents the profile of a group - - - Get the group profile - - - Construct a new instance of the GroupProfileEventArgs class - The group profile - - - - Provides notification of a group invitation request sent by another Avatar - - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - - The ID of the Avatar sending the group invitation - - - The name of the Avatar sending the group invitation - - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details - - - The Simulator - - - Set to true to accept invitation, false to decline - - - - Result of the request for list of agents banned from a group - - - - Indicates if list of banned agents for a group was successfully retrieved - - - Indicates if list of banned agents for a group was successfully retrieved - - - Array containing a list of UUIDs of the agents banned from a group - - - - Static helper functions and global variables - - - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before - - - This header flags signals that an ACK is expected for this packet - - - This header flag signals that the message is compressed using zerocoding - - - - Passed to Logger.Log() to identify the severity of a log entry - - - - No logging information will be output - - - Non-noisy useful information, may be helpful in - debugging a problem - - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue - - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain - - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to - - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number - - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer - - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD - - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives - - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - - - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - - Key - Value - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member - - - - Gets the number of Key/Value pairs contained in the - - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - - - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - - - - Perform an on each key of an - to perform - - - - Perform an on each KeyValuePair of an - - to perform - - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise - - - - Indexer for the dictionary - - The key - The value - - - - Exception class to identify inventory exceptions - - - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - The root folder of this avatars inventory - - - - - The default shared library folder - - - - - The root node of the avatars inventory - - - - - The root node of the default shared library - - - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - - The InventoryObject to store - - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. - - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise - - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to - - - - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. - - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top - - - - Possible destinations for DeRezObject request - - - - - - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - - - - - Take Object - - - - - - Delete Object - - - Put an avatar attachment into agent inventory - - - - - - Return an object back to the owner's inventory - - - Return a deeded object back to the last owner's inventory - - - - Upper half of the Flags field for inventory items - - - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - - Indicates whether this object is composed of multiple - items or not - - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted - - - - Base Class for Inventory Items - - - - of item/folder - - - of parent folder - - - Name of item/folder - - - Item/Folder Owners - - - - Constructor, takes an itemID as a parameter - - The of the item - - - - - - - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Convert inventory to OSD - - OSD representation - - - - An Item in Inventory - - - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum - - - The of the creator of this item - - - A Description of this item - - - The s this item is set to or owned by - - - If true, item is owned by a group - - - The price this item can be purchased for - - - The type of sale from the enum - - - Combined flags from - - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) - - - Used to update the AssetID in requests sent to the server - - - The of the previous owner of the item - - - - Construct a new InventoryItem object - - The of the item - - - - Construct a new InventoryItem object of a specific Type - - The type of item from - of the item - - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item - - - - - - - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields - - - - Compares an object - - The object to compare - true if comparison object matches - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Create InventoryItem from OSD - - OSD Data that makes up InventoryItem - Inventory item created - - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem - - - - InventoryTexture Class representing a graphical image - - - - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryTexture object from a serialization stream - - - - - InventorySound Class representing a playable sound - - - - - Construct an InventorySound object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySound object from a serialization stream - - - - - InventoryCallingCard Class, contains information on another avatar - - - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCallingCard object from a serialization stream - - - - - InventoryLandmark Class, contains details on a specific location - - - - - Construct an InventoryLandmark object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLandmark object from a serialization stream - - - - - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - - - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - - - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryObject object from a serialization stream - - - - - Gets or sets the upper byte of the Flags value - - - - - Gets or sets the object attachment point, the lower byte of the Flags value - - - - - InventoryNotecard Class, contains details on an encoded text document - - - - - Construct an InventoryNotecard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryNotecard object from a serialization stream - - - - - InventoryCategory Class - - TODO: Is this even used for anything? - - - - Construct an InventoryCategory object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCategory object from a serialization stream - - - - - InventoryLSL Class, represents a Linden Scripting Language object - - - - - Construct an InventoryLSL object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLSL object from a serialization stream - - - - - InventorySnapshot Class, an image taken with the viewer - - - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySnapshot object from a serialization stream - - - - - InventoryAttachment Class, contains details on an attachable object - - - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAttachment object from a serialization stream - - - - - Get the last AttachmentPoint this object was attached to - - - - - InventoryWearable Class, details on a clothing item or body part - - - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryWearable object from a serialization stream - - - - - The , Skin, Shape, Skirt, Etc - - - - - InventoryAnimation Class, A bvh encoded object which animates an avatar - - - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAnimation object from a serialization stream - - - - - InventoryGesture Class, details on a series of animations, sounds, and actions - - - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryGesture object from a serialization stream - - - - - A folder contains s and has certain attributes specific - to itself - - - - The Preferred for a folder. - - - The Version of this folder - - - Number of child items this folder contains. - - - - Constructor - - UUID of the folder - - - - - - - - - - Get Serilization data for this InventoryFolder object - - - - - Construct an InventoryFolder object from a serialization stream - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create InventoryFolder from OSD - - OSD Data that makes up InventoryFolder - Inventory folder created - - - - Convert InventoryItem to OSD - - OSD representation of InventoryItem - - - - Tools for dealing with agents inventory - - - - Used for converting shadow_id to asset_id - - - - Callback for inventory item creation finishing - - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null - - - - Callback for an inventory item being create from an uploaded asset - - true if inventory item creation was successful - - - - - - - - - - - - The event subscribers, null of no subscribers - - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - The event subscribers, null of no subscribers - - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - Reply received when uploading an inventory asset - - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - - - The event subscribers, null of no subscribers - - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - Delegate that is invoked when script upload is completed - - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - The event subscribers, null of no subscribers - - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - Partial mapping of FolderTypes to folder names - - - - Get this agents Inventory data - - - - - Default constructor - - Reference to the GridClient object - - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event - - - - Request A single inventory item - - The items - The item Owners - - - - - Request inventory items - - Inventory items to request - Owners of the inventory items - - - - - Request inventory items via Capabilities - - Inventory items to request - Owners of the inventory items - - - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Request the contents of an inventory folder using HTTP capabilities - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure - - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found - - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event - - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found - - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to - - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to - - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to - - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type - - - - Move a folder - - The source folders - The destination folders - - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value - - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder - - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to - - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value - - - - Remove descendants of a folder - - The of the folder - - - - Remove a single item from inventory - - The of the inventory item to remove - - - - Remove a folder from inventory - - The of the folder to remove - - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove - - - - Empty the Lost and Found folder - - - - - Empty the Trash folder - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use FolderType.None - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link - - - - Creates inventory link to another inventory folder - - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request a copy of an asset embedded within a notecard - - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information - - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete - - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - Rez an object from inventory - - Simulator to place object in - TaskID object when rezzed - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - Rez an item from inventory to its previous simulator location - - - - - - - - - Give an inventory item to another avatar - - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Give an inventory Folder with contents to another avatar - - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory - - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded - - - - Request the contents of a tasks (primitives) inventory from the - current simulator - - The LocalID of the object - - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - - - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event - - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - - - - - Request the running status of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event - - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC - - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value - - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value - - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed - - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used - - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - - - - - - - User data - - - - - - - - - - - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - - - - - - - - - - - - - - - - De-serialization constructor for the InventoryNode Class - - - - - Serialization handler for the InventoryNode Class - - - - - De-serialization handler for the InventoryNode Class - - - - - - - - - - - Singleton logging class for the entire library - - - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from - - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - - log4net logging engine - - - - Default constructor - - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised - - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Status of the last application run. - Used for error reporting to the grid login service for statistical purposes. - - - - Application exited normally - - - Application froze - - - Application detected error and exited abnormally - - - Other crash - - - Application froze during logout - - - Application crashed during logout - - - - Login Request Parameters - - - - The URL of the Login Server - - - The number of milliseconds to wait before a login is considered - failed due to timeout - - - The request method - login_to_simulator is currently the only supported method - - - The Agents First name - - - The Agents Last name - - - A md5 hashed password - plaintext password will be automatically hashed - - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - - A string containing the client software channel information - Second Life Release - - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer - - - A string containing the platform information the agent is running on - - - A string containing version number for OS the agent is running on - - - A string hash of the network cards Mac Address - - - Unknown or deprecated - - - A string hash of the first disk drives ID used to identify this clients uniqueness - - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string - - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information - - - If true, this agent agrees to the Terms of Service of the grid its connecting to - - - Unknown - - - Status of the last application run sent to the grid login server for statistical purposes - - - An array of string sent to the login server to enable various options - - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire - - - - Default constuctor, initializes sane default values - - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server - - - - The decoded data returned from the login server after a successful login - - - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes - - - - Login Routines - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - - - - The event subscribers, null of no subscribers - - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - - - - - - - - - - Called when a reply is received from the login server, the - login sequence will block until this event returns - - - Seed CAPS URL returned from the login server - - - Current state of logging in - - - Upon login failure, contains a short string key for the - type of login error that occurred - - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) - - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned - - - Maximum number of groups an agent can belong to, -1 for unlimited - - - Server side baking service URL - - - Parsed login response data - - - A list of packets obtained during the login process which - networkmanager will log but not process - - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - A populated struct containing - sane defaults - - - - Simplified login that takes the most common and required fields - - Account first name - Account last name - Account password - Client application name (channel) - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name (channel) - Starting location URI that can be built with - StartLocation() - Client application name + version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Build a start location URI for passing to the Login function - - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - - - - LoginParams and the initial login XmlRpcRequest were made on a remote machine. - This method now initializes libomv with the results. - - - - - Handles response from XML-RPC login replies - - - - - Handles response from XML-RPC login replies with already parsed LoginResponseData - - - - - Handle response from LLSD login replies - - - - - - - - Get current OS - - Either "Win" or "Linux" - - - - Gets the current OS version number - - The platform version. - - - - Get clients default Mac Address - - A string containing the first found Mac Address - - - - Explains why a simulator or the grid disconnected from us - - - - The client requested the logout or simulator disconnect - - - The server notified us that it is disconnecting - - - Either a socket was closed or network traffic timed out - - - The last active simulator shut down - - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - - - - Reference to the simulator that this packet came from - - - Packet that needs to be processed - - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - - - - Reference to the simulator this packet is destined for - - - Packet that needs to be sent - - - Sequence number of the wrapped packet - - - Number of times this packet has been resent - - - Environment.TickCount when this packet was last sent over the wire - - - Type of the packet - - - The event subscribers, null of no subscribers - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - Unique identifier associated with our connections to - simulators - - - The simulator that the logged in avatar is currently - occupying - - - Shows whether the network layer is logged in to the - grid or not - - - Number of packets in the incoming queue - - - Number of packets in the outgoing queue - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events - - - Handlers for incoming packets - - - Incoming packets that are awaiting handling - - - Outgoing packets that are awaiting handling - - - - Default constructor - - Reference to the GridClient object - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for - - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - - - - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - - - - Send a packet to the simulator the avatar is currently occupying - - Packet to send - - - - Send a packet to a specified simulator - - Packet to send - Simulator to send the packet to - - - - Connect to a simulator - - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Connect to a simulator - - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Begins the non-blocking logout. Makes sure that the LoggedOut event is - called even if the server does not send a logout reply, and Shutdown() - is properly called. - - - - - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down - - - - - Initiate the logout process. The Shutdown() function - needs to be manually called. - - - - - Close a connection to the given simulator - - - - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - - Type of shutdown - Shutdown message - - - - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint - - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null - - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Constructor that takes all the fields as parameters - - - - - - - - - - Constructor that takes a single line from a NameValue field - - - - - - - - - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - - - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - - - Specific Flags for MultipleObjectUpdate requests - - - - None - - - Change position of prims - - - Change rotation of prims - - - Change size of prims - - - Perform operation on link set - - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale - - - - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - - - - - Indicates that this pay option should be hidden - - - - - Indicates that this pay option should have the default value - - - - - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles all network traffic related to prims and avatar positions and - movement. - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - - - - The event subscribers, null of no subscribers - - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - additional information - - - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking - - - The event subscribers, null of no subscribers - - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - additional and details - - - - The event subscribers, null of no subscribers - - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator - - - - Raises the ParticleUpdate Event - - A ParticleUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - updated information for an - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - and movement changes - - - The event subscribers, null of no subscribers - - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - updates to an Objects DataBlock - - - The event subscribers, null of no subscribers - - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator informs us an - or is no longer within view - - - The event subscribers, null of no subscribers - - - Raises the KillObjects Event - A KillObjectsEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator informs us when a group of - or is no longer within view - - - The event subscribers, null of no subscribers - - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - updated sit information for our - - - The event subscribers, null of no subscribers - - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - purchase price information for a - - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data - - - The event subscribers, null of no subscribers - - - Raises the PhysicsProperties Event - A PhysicsPropertiesEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - additional information - - - - - Reference to the GridClient object - - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects - - - - Construct a new instance of the ObjectManager class - - A reference to the instance - - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object - - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects - - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - - - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - Type of the represetnation prim will have in the physics engine - Density - normal value 1000 - Friction - normal value 0.6 - Restitution - standard value 0.5 - Gravity multiplier - standar value 1.0 - - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object - - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object - - - - Deselect a single object - - The the object is located - The Local ID of the object - - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects - - - - Perform a click action on an object - - The the object is located - The Local ID of the object - - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old - - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) - - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set - - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? - - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink - - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object - - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object - - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects - - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object - - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects - - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in - - - - Detach an object from yourself - - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset - - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to - - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - Which permission to modify - The new state of permission - - - - Request additional properties for an object - - A reference to the object where the object resides - - - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request - - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located - - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - - - - - - - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a - - - - - - - - - - - - - - - - - - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an - - - Get the simulator Time Dilation - - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - - - - Get the simulator the object originated from - - - Get the data - - - Get the simulator time dilation - - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update - - - Get the simulator the object originated from - - - Get the data - - - Get source - - - - Construct a new instance of the ParticleUpdateEventArgs class - - The simulator the packet originated from - The ParticleSystem data - The Primitive source - - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - - - - Get the simulator the object is located - - - Get the primitive properties - - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties - - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - - - - Get the primitive details - - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties - - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - - - - Get the simulator the object is located - - - - - - - - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - - Provides updates sit position data - - - - Get the simulator the object is located - - - - - - - - - - - - - - - - - Get the simulator the object is located - - - - - - - - - - - - - Indicates if the operation was successful - - - - - Media version string - - - - - Array of media entries indexed by face number - - - - - Set when simulator sends us infomation on primitive's physical properties - - - - Simulator where the message originated - - - Updated physical properties - - - - Constructor - - Simulator where the message originated - Updated physical properties - - - Size of the byte array used to store raw packet data - - - Raw packet data buffer - - - Length of the data to transmit - - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for receiving a packet - - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data - - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - - - - - Initialize the object pool in client mode - - Server to connect to - - - - - - Initialize the object pool in server mode - - - - - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object - - - - Default constructor - - - - - Check a packet buffer out of the pool - - A packet buffer object - - - - Returns an instance of the class that has been checked out of the Object Pool. - - - - - Checks the instance back into the object pool - - - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - - - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - - - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. - - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. - - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - - - - The total number of segments created. Intended to be used by the Unit Tests. - - - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - - - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - - - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - - - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value - - - - A dictionary of callbacks to fire when specified action occurs - - - - - Register a callback to be fired when an action occurs - - The action - The callback to fire - - - - Unregister a callback - - The action - The callback to fire - - - - - - - - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - - - - Gets the number of Key/Value pairs contained in the - - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - - - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - - Check if Key exists in Dictionary - Key to check for - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise - - - - Indexer for the dictionary - - The key - The value - - - - Clear the contents of the dictionary - - - - - Enumerator for iterating dictionary entries - - - - - - Provides helper methods for parallelizing loops - - - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a series of tasks in parallel - - A series of method bodies to execute - - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute - - - - Type of return to use when returning objects from a parcel - - - - - - - Return objects owned by parcel owner - - - Return objects set to group - - - Return objects not owned by parcel owner or set to group - - - Return a specific list of objects on parcel - - - Return objects that are marked for-sale - - - - Blacklist/Whitelist flags used in parcels Access List - - - - Agent is denied access - - - Agent is granted access - - - - The result of a request for parcel properties - - - - No matches were found for the request - - - Request matched a single parcel - - - Request matched multiple parcels - - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - - - - Request the access list - - - Request the ban list - - - Request both White and Black lists - - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of - - - Avatar is banned from the parcel - - - Parcel is restricted to an access list that the - avatar is not on - - - Response to hovering over a parcel - - - - The tool to use when modifying terrain levels - - - - Level the terrain - - - Raise the terrain - - - Lower the terrain - - - Smooth the terrain - - - Add random noise to the terrain - - - Revert terrain to simulator default - - - - The tool size to use when changing terrain levels - - - - Small - - - Medium - - - Large - - - - Reasons agent is denied access to a parcel on the simulator - - - - Agent is not denied, access is granted - - - Agent is not a member of the group set for the parcel, or which owns the parcel - - - Agent is not on the parcels specific allow list - - - Agent is on the parcels ban list - - - Unknown - - - Agent is not age verified and parcel settings deny access to non age verified avatars - - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - - Public land - - - Land is owned by another avatar - - - Land is owned by a group - - - Land is owned by the current avatar - - - Land is for sale - - - Land is being auctioned - - - Land is private - - - To the west of this area is a parcel border - - - To the south of this area is a parcel border - - - - Various parcel properties - - - - No flags set - - - Allow avatars to fly (a client-side only restriction) - - - Allow foreign scripts to run - - - This parcel is for sale - - - Allow avatars to create a landmark on this parcel - - - Allows all avatars to edit the terrain on this parcel - - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here - - - Foreign avatars can create objects here - - - All objects on this parcel can be purchased - - - Access is restricted to a group - - - Access is restricted to a whitelist - - - Ban blacklist is enabled - - - Unknown - - - List this parcel in the search directory - - - Allow personally owned parcels to be deeded to group - - - If Deeded, owner contributes required tier to group parcel is deeded to - - - Restrict sounds originating on this parcel to the - parcel boundaries - - - Objects on this parcel are sold when the land is - purchsaed - - - Allow this parcel to be published on the web - - - The information for this parcel is mature content - - - The media URL is an HTML page - - - The media URL is a raw HTML string - - - Restrict foreign object pushes - - - Ban all non identified/transacted avatars - - - Allow group-owned scripts to run - - - Allow object creation by group members or group - objects - - - Allow all objects to enter this parcel - - - Only allow group and owner objects to enter this parcel - - - Voice Enabled on this parcel - - - Use Estate Voice channel for Voice on this parcel - - - Deny Age Unverified Users - - - - Parcel ownership status - - - - Placeholder - - - Parcel is leased (owned) by an avatar or group - - - Parcel is in process of being leased (purchased) by an avatar or group - - - Parcel has been abandoned back to Governor Linden - - - - Category parcel is listed in under search - - - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture - - - Business - - - Educational - - - Gaming - - - Hangout or Club - - - Newcomer friendly - - - Parks and Nature - - - Residential - - - Shopping - - - Not Used? - - - Other - - - Not an actual category, only used for queries - - - - Type of teleport landing for a parcel - - - - Unset, simulator default - - - Specific landing point set for this parcel - - - No landing point set, direct teleports enabled for - this parcel - - - - Parcel Media Command used in ParcelMediaCommandMessage - - - - Stop the media stream and go back to the first frame - - - Pause the media stream (stop playing but stay on current frame) - - - Start the current media stream playing and stop when the end is reached - - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play - - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. - - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. - - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working - - - Sets a description for the media being displayed (1.19.1 RC0 and later only). - - - - Some information about a parcel of land returned from a DirectoryManager search - - - - Global Key of record - - - Parcel Owners - - - Name field of parcel, limited to 128 characters - - - Description field of parcel, limited to 256 characters - - - Total Square meters of parcel - - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - True of parcel is in Mature simulator - - - Grid global X position of parcel - - - Grid global Y position of parcel - - - Grid global Z position of parcel (not used) - - - Name of simulator parcel is located in - - - Texture of parcels display picture - - - Float representing calculated traffic based on time spent on parcel by avatars - - - Sale price of parcel (not used) - - - Auction ID of parcel - - - - Parcel Media Information - - - - A byte, if 0x1 viewer should auto scale media to fit object - - - A boolean, if true the viewer should loop the media - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A string which contains the mime type of the media - - - - Parcel of land, a portion of virtual real estate in a simulator - - - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - Deprecated, Value appears to always be 0 - - - Simulator-local ID of this parcel - - - UUID of the owner of this parcel - - - Whether the land is deeded to a group or not - - - - - - Date land was claimed - - - Appears to always be zero - - - This field is no longer used - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - Total parcel land area - - - - - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel - - - Maximum number of primitives this parcel supports - - - Total number of primitives on this parcel - - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual - - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. - - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Autoreturn value in minutes for others' objects - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - Parcel Name - - - Parcel Description - - - URL For Music Stream - - - - - - Price for a temporary pass - - - How long is pass valid for - - - - - - Key of authorized buyer - - - Key of parcel snapshot - - - The landing point location - - - The landing point LookAt - - - The type of landing enforced from the enum - - - - - - - - - - - - Access list of who is whitelisted on this - parcel - - - Access list of who is blacklisted on this - parcel - - - TRUE of region denies access to age unverified users - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - A struct containing media details - - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object - - - - Defalt constructor - - Local ID of this parcel - - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - - - - Set Autoreturn time - - Simulator to send the update to - - - - Parcel (subdivided simulator lots) subsystem - - - - - Parcel Accesslist - - - - Agents - - - - - - Flags for specific entry in white/black lists - - - - Owners of primitives on parcel - - - - Prim Owners - - - True of owner is group - - - Total count of prims owned by OwnerID - - - true of OwnerID is currently online and is not a group - - - The date of the most recent prim left by OwnerID - - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information - - - The event subscribers. null if no subcribers - - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds to a Parcel Update request - - - The event subscribers. null if no subcribers - - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the parcel your agent is located sends a ParcelMediaCommand - - - - Default constructor - - A reference to the GridClient object - - - - Request basic information for a single parcel - - Simulator-local ID of the parcel - - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests - - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID - - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups - - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID - - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - - - - Subdivide (split) a parcel - - - - - - - - - - Join two parcels of land creating a single parcel - - - - - - - - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Contains a parcels dwell data returned from the simulator in response to an - - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel - - - Get the calculated dwell - - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - - Contains basic parcel information data returned from the - simulator in response to an request - - - Get the object containing basic parcel info - - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - - - Get the simulator the parcel is located in - - - Get the object containing the details - If Result is NoData, this object will not contain valid data - - - Get the result of the request - - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel - - - Get the user assigned ID used to correlate a request with - these results - - - TODO: - - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Contains blacklist and whitelist data returned from the simulator in response to an request - - - Get the simulator the parcel is located in - - - Get the user assigned ID used to correlate a request with - these results - - - Get the simulator specific ID of the parcel - - - TODO: - - - Get the list containing the white/blacklisted agents for the parcel - - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Contains blacklist and whitelist data returned from the - simulator in response to an request - - - Get the simulator the parcel is located in - - - Get the list containing prim ownership counts - - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Contains the data returned when all parcel data has been retrieved from a simulator - - - Get the simulator the parcel data was retrieved from - - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Contains the data returned when a request - - - Get the simulator the parcel data was retrieved from - - - Get the list of primitive IDs - - - true if the list is clean and contains the information - only for a given request - - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request - - - Contains data when the media data for a parcel the avatar is on changes - - - Get the simulator the parcel media data was updated in - - - Get the updated media information - - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information - - - Contains the media command for a parcel the agent is currently on - - - Get the simulator the parcel media command was issued in - - - - - - - - - Get the media command that was sent - - - - - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Main grid login server - - - Beta grid login server - - - The relative directory where external resources are kept - - - Login server to connect to - - - IP Address the client will bind to - - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - - - Maximum number of HTTP connections to open to a particular endpoint. - - - An endpoint is defined as a commbination of network address and port. This is used for Caps. - This is a static variable which applies to all instances. - - - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - - - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - - - - - Use Caps for fetching inventory where available - - - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly - - - Number of milliseconds for xml-rpc to timeout - - - Milliseconds before a packet is assumed lost and resent - - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost - - - Milliseconds to wait for a simulator info request through - the grid interface - - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects - - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked - - - The initial size of the packet inbox, where packets are - stored before processing - - - Maximum size of packet that we want to send over the wire - - - The maximum value of a packet sequence number before it - rolls over back to one - - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets - - - Maximum number of queued ACKs to be sent before SendAcks() - is forced - - - Network stats queue length (seconds) - - - - Primitives will be reused when falling in/out of interest list (and shared between clients) - prims returning to interest list do not need re-requested - Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client - - - - - Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - - - - - How long to preserve cached data when no client is connected to a simulator - The reason for setting it to something like 2 minutes is in case a client - is running back and forth between region edges or a sim is comming and going - - - - Enable/disable storing terrain heightmaps in the - TerrainManager - - - Enable/disable sending periodic camera updates - - - Enable/disable automatically setting agent appearance at - login and after sim crossing - - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems - - - Enable/disable the sending of pings to monitor lag and - packet loss - - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) - - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information - - - If true, when a cached object check is received from the - server the full object info will automatically be requested - - - Whether to establish connections to HTTP capabilities - servers for simulators - - - Whether to decode sim stats - - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors - - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched - - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects - - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - - - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - - - - - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. - - - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - - - - Path to store cached texture data - - - Maximum size cached files are allowed to take on disk (bytes) - - - Default color used for viewer particle effects - - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login - - - Maximum number of times to resend a failed packet - - - Throttle outgoing packet rate - - - UUID of a texture used by some viewers to indentify type of client used - - - - Download textures using GetTexture capability when available - - - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles - - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances - - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - - - - - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net - - - - Attach avatar names to log messages - - - Log packet retransmission info - - - Log disk cache misses and other info - - - Constructor - Reference to a GridClient object - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Simulator (region) properties - - - - No flags set - - - Agents can take damage and be killed - - - Landmarks can be created here - - - Home position can be set in this sim - - - Home position is reset when an agent teleports away - - - Sun does not move - - - No object, land, etc. taxes - - - Disable heightmap alterations (agents can still plant - foliage) - - - Land cannot be released, sold, or purchased - - - All content is wiped nightly - - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - Region does not update agent prim interest lists. Internal debugging option. - - - No collision detection for non-agent objects - - - No scripts are ran - - - All physics processing is turned off - - - Region can be seen from other regions on world map. (Legacy world map option?) - - - Region can be seen from mainland on world map. (Legacy world map option?) - - - Agents not explicitly on the access list can visit the region. - - - Traffic calculations are not run across entire region, overrides parcel settings. - - - Flight is disabled (not currently enforced by the sim) - - - Allow direct (p2p) teleporting - - - Estate owner has temporarily disabled scripting - - - Restricts the usage of the LSL llPushObject function, applies to whole region. - - - Deny agents with no payment info on file - - - Deny agents with payment info on file - - - Deny agents who have made a monetary transaction - - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - - Abuse reports sent from within this region are sent to the estate owner defined email. - - - Region is Voice Enabled - - - Removes the ability from parcel owners to set their parcels to show in search. - - - Deny agents who have not been age verified from entering the region. - - - - Region protocol flags - - - - Nothing special - - - Region supports Server side Appearance - - - Viewer supports Server side Appearance - - - - Access level for a simulator - - - - Unknown or invalid access level - - - Trial accounts allowed - - - PG rating - - - Mature rating - - - Adult rating - - - Simulator is offline - - - Simulator does not exist - - - - - - - - - Simulator Statistics - - - - Total number of packets sent by this simulator to this agent - - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent - - - Time in seconds agent has been connected to simulator - - - Total number of packets that have been resent - - - Total number of resent packets recieved - - - Total number of pings sent to this simulator by this agent - - - Total number of ping replies sent to this agent by this simulator - - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - - Outgoing bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier - - - Time last ping was sent - - - ID of last Ping sent - - - - - - - - - Current time dilation of this simulator - - - Current Frames per second of simulator - - - Current Physics frames per second of simulator - - - - - - - - - - - - - - - - - - - - - - - - - - - Total number of objects Simulator is simulating - - - Total number of Active (Scripted) objects running - - - Number of agents currently in this simulator - - - Number of agents in neighbor simulators - - - Number of Active scripts running in this simulator - - - - - - - - - - - - Number of downloads pending - - - Number of uploads pending - - - - - - - - - Number of local uploads pending - - - Unacknowledged bytes in queue - - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - - - - - The current version of software this simulator is running - - - - - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - - - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - - - - - Flags indicating which protocols this region supports - - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - - - A thread-safe dictionary containing avatars in a simulator - - - - - A thread-safe dictionary containing primitives in a simulator - - - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - - - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) - - - - Is it safe to send agent updates to this sim - AgentMovementComplete message received - - - - The IP address and port of the server - - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Sequence numbers of packets we've received - (for duplicate checking) - - - Packets we sent out that need ACKs from the simulator - - - Sequence number for pause/resume - - - Indicates if UDP connection to the sim is fully established - - - - - - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator - - - - Called when this Simulator object is being destroyed - - - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure - - - - Initiates connection to the simulator - - Should we block until ack for this packet is recieved - - - - Disconnect from this simulator - - - - - Instructs the simulator to stop sending update (and possibly other) packets - - - - - Instructs the simulator to resume sending update packets (unpause) - - - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - - - Sends a packet - - Packet to be sent - - - - - - - - - Returns Simulator Name as a String - - - - - - - - - - - - - - - - - - - Sends out pending acknowledgements - - Number of ACKs sent - - - - Resend unacknowledged packets - - - - - Simulator handle - - - - - Number of GridClients using this datapool - - - - - Time that the last client disconnected from the simulator - - - - - The cache of prims used and unused in this simulator - - - - - Shared parcel info only when POOL_PARCEL_DATA == true - - - - - - - - - The event subscribers, null of no subscribers - - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - sound - - - The event subscribers, null of no subscribers - - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - The event subscribers, null of no subscribers - - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance - - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played - - - - Plays a sound in the current region at full volume - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - - - - Plays a sound in the current region - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Plays a sound in the specified sim - - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the volume level - - - Get the - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The - - - Provides data for the event - The event occurs when an attached sound - changes its volume level - - - Simulator where the event originated - - - Get the ID of the Object - - - Get the volume level - - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level - - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the ID of the objects parent - - - Get the volume level - - - Get the regionhandle - - - Get the source position - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - - Construct a new instance of the PreloadSoundEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - - - pre-defined built in sounds - - - - - - - - - - - - - - - - - - - - - - - - - - - - coins - - - cash register bell - - - - - - - - - rubber - - - plastic - - - flesh - - - wood splintering? - - - glass break - - - metal clunk - - - whoosh - - - shake - - - - - - ding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - - - The event subscribers. null if no subcribers - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - Raised when the simulator responds sends - - - - Default constructor - - - - - Simulator from that sent tha data - - - Sim coordinate of the patch - - - Sim coordinate of the patch - - - Size of tha patch - - - Heightmap for the patch - - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - - - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator - - - A request that has received all packets back from the simulator - - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received - - - The texture request was aborted by request of the agent - - - The simulator replied to the request that it was not able to find the requested texture - - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. - - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - - This class makes full use of the internal - system for full texture downloads. - - - - A request task containing information and status of a request as it is processed through the - - - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array - - - The ImageType of the request. - - - The callback to fire when the request is complete, will include - the and the - object containing the result data - - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. - - - An object that maintains the data of an request thats in-process. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot - - - The primary thread which manages the requests. - - - true if the TexturePipeline is currently running - - - A synchronization object used by the primary thread - - - A refresh timer used to increase the priority of stalled requests - - - Current number of pending and in-process transfers - - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object - - - - Initialize callbacks required for the TexturePipeline to operate - - - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID - - - - Master Download Thread, Queues up downloads in the threadpool - - - - - The worker thread that sends the request and handles timeouts - - A object containing the request details - - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data - - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data - - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data - - - - - - - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on - - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Operation to apply when applying color to texture - - - - - Information needed to translate visual param value to RGBA color - - - - - Construct VisualColorParam - - Operation to apply when applying color to texture - Colors - - - - Represents alpha blending and bump infor for a visual parameter - such as sleive length - - - - Stregth of the alpha to apply - - - File containing the alpha channel - - - Skip blending if parameter value is 0 - - - Use miltiply insted of alpha blending - - - - Create new alhpa information for a visual param - - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - - - - A single visual characteristic of an avatar mesh, such as eyebrow height - - - - Index of this visual param - - - Internal name - - - Group ID this parameter belongs to - - - Name of the wearable this parameter belongs to - - - Displayable label of this characteristic - - - Displayable label for the minimum value of this characteristic - - - Displayable label for the maximum value of this characteristic - - - Default value - - - Minimum value - - - Maximum value - - - Is this param used for creation of bump layer? - - - Alpha blending/bump info - - - Color information - - - Array of param IDs that are drivers for this parameter - - - - Set all the values through the constructor - - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information - - - - Holds the Params array of all the avatar appearance parameters - - - - - Base class for all Asset types - - - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily - - - A unique ID - - - The assets unique ID - - - - The "type" of asset, Notecard, Animation, etc - - - - - Construct a new Asset object - - - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data - - - - Regenerates the AssetData byte array from the properties - of the derived class. - - - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false - - - - Constants for the archiving module - - - - - The location of the archive control file - - - - - Path for the assets held in an archive - - - - - Path for the prims file - - - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - - - - - Path for region settings. - - - - - Path for region settings. - - - - - The character the separates the uuid from extension information in an archived asset filename - - - - - Extensions used for asset types in the archive - - - - - Archives assets - - - - - Archive assets - - - - - Archive the assets given to this archiver to the given archive. - - - - - - Write an assets metadata file to the given archive - - - - - - Write asset data files to the given archive - - - - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - - - - - Binary reader for the underlying stream - - - - - Used to trim off null chars - - - - - Used to trim off space chars - - - - - Generate a tar reader which reads from the given stream. - - - - - - Read the next entry in the tar file. - - - - the data for the entry. Returns null if there are no more entries - - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. - - - - Read data following a header - - - - - - - Convert octal bytes to a decimal representation - - - - - - - - - Temporary code to produce a tar archive in tar v7 format - - - - - Binary writer for the underlying stream - - - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - - - - - Write a file to the tar archive - - - - - - - Write a file to the tar archive - - - - - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - - - - - Write a particular entry - - - - - - - - Represents an Animation - - - - Override the base classes AssetType - - - Default Constructor - - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data - - - - Represents an that represents an avatars body ie: Hair, Etc. - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - Represents a Callingcard with AvatarID and Position vector - - - - Override the base classes AssetType - - - UUID of the Callingcard target avatar - - - Construct an Asset of type Callingcard - - - - Construct an Asset object of type Callingcard - - A unique specific to this asset - A byte array containing the raw asset data - - - - Constuct an asset of type Callingcard - - UUID of the target avatar - - - - Encode the raw contents of a string with the specific Callingcard format - - - - - Decode the raw asset data, populating the AvatarID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - Type of gesture step - - - - - Base class for gesture steps - - - - - Retururns what kind of gesture step this is - - - - - Describes animation step of a gesture - - - - - Returns what kind of gesture step this is - - - - - If true, this step represents start of animation, otherwise animation stop - - - - - Animation asset - - - - - Animation inventory name - - - - - Describes sound step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Sound asset - - - - - Sound inventory name - - - - - Describes sound step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Text to output in chat - - - - - Describes sound step of a gesture - - - - - Returns what kind of gesture step this is - - - - - If true in this step we wait for all animations to finish - - - - - If true gesture player should wait for the specified amount of time - - - - - Time in seconds to wait if WaitForAnimation is false - - - - - Describes the final step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Represents a sequence of animations, sounds, and chat actions - - - - - Returns asset type - - - - - Keyboard key that triggers the gestyre - - - - - Modifier to the trigger key - - - - - String that triggers playing of the gesture sequence - - - - - Text that replaces trigger in chat once gesture is triggered - - - - - Sequence of gesture steps - - - - - Constructs guesture asset - - - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encodes gesture asset suitable for uplaod - - - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully - - - - Represents a Landmark with RegionID and Position vector - - - - Override the base classes AssetType - - - UUID of the Landmark target region - - - Local position of the target - - - Construct an Asset of type Landmark - - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode the raw contents of a string with the specific Landmark format - - - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - - Represents Mesh asset - - - - Override the base classes AssetType - - - - Decoded mesh data - - - - Initializes a new instance of an AssetMesh object - - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes Collada file into LLMesh format - - - - - Decodes mesh asset. See - to furter decode it for rendering - true - - - - Represents an Animation - - - - Override the base classes AssetType - - - Default Constructor - - - - Construct an Asset object of type Animation - - Asset type - A unique specific to this asset - A byte array containing the raw asset data - - - - Represents a string of characters encoded with specific formatting properties - - - - Override the base classes AssetType - - - A text string containing main text of the notecard - - - List of s embedded on the notecard - - - Construct an Asset of type Notecard - - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode the raw contents of a string with the specific Linden Text properties - - - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded - - - - A linkset asset, containing a parent primitive and zero or more children - - - - - Only used internally for XML serialization/deserialization - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetPrim object - - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data - - - - - - - - - - - - - - - The deserialized form of a single primitive in a linkset asset - - - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a scripts contents into a LSO Bytecode file - - - - - TODO: Decode LSO Bytecode into a string - - true - - - - Represents an LSL Text object containing a string of UTF encoded characters - - - - Override the base classes AssetType - - - A string of characters represting the script contents - - - Initializes a new AssetScriptText object - - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data - - - - Encode a string containing the scripts contents into byte encoded AssetData - - - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful - - - - Represents a Sound Asset - - - - Override the base classes AssetType - - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a sound file - - - - - TODO: Decode a sound file - - true - - - - Represents a texture - - - - Override the base classes AssetType - - - A object containing image data - - - - - - - - - Initializes a new instance of an AssetTexture object - - - - Initializes a new instance of an AssetTexture object - - A unique specific to this asset - A byte array containing the raw asset data - - - - Initializes a new instance of an AssetTexture object - - A object containing texture data - - - - Populates the byte array with a JPEG2000 - encoded image created from the data in - - - - - Decodes the JPEG2000 data in AssetData to the - object - - True if the decoding was successful, otherwise false - - - - Decodes the begin and end byte positions for each quality layer in - the image - - - - - - Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - - - A string containing the name of the asset - - - A string containing a short description of the asset - - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - Decode an assets byte encoded data to a string - - true if the asset data was decoded successfully - - - - Encode the assets string represantion into a format consumable by the asset server - - - - = - - - Number of times we've received an unknown CAPS exception in series. - - - For exponential backoff on error. - - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Is this one of the 3 skin bakes - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - - Default constructor - - Bake type - - - - Adds layer for baking - - TexturaData struct that contains texture and its params - - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to - - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull - - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer - - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value - - - - Image width - - - - - Image height - - - - - Image channel flags - - - - - Red channel data - - - - - Green channel data - - - - - Blue channel data - - - - - Alpha channel data - - - - - Bump channel data - - - - - Create a new blank image - - width - height - channel flags - - - - - - - - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags - - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height - - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data - - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data - - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - - - - TGA Header size - - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - - - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - - - - - Information about a single packet in a JPEG2000 stream - - - - Packet start position - - - Packet header end position - - - Packet end position - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object - - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image - - - - Decode JPEG2000 data to an and - - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false - - - - - - - - - - - - - - - - - - - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object - - - - Capability to load TGAs to Bitmap - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Parsing Collada model files into data structures - - - - - Parses Collada document - - Load .dae model from this file - Load and decode images for uploading with model - A list of mesh prims that were parsed from the collada file - - - - Implements mesh upload communications with the simulator - - - - - Inlcude stub convex hull physics, required for uploading to Second Life - - - - - Use the same mesh used for geometry as the physical mesh upload - - - - - Callback for mesh upload operations - - null on failure, result from server on success - - - - Creates instance of the mesh uploader - - GridClient instance to communicate with the simulator - List of ModelPrimitive objects to upload as a linkset - Inventory name for newly uploaded object - Inventory description for newly upload object - - - - Performs model upload in one go, without first checking for the price - - - - - Performs model upload in one go, without first checking for the price - - Callback that will be invoke upon completion of the upload. Null is sent on request failure - - - - Ask server for details of cost and impact of the mesh upload - - Callback that will be invoke upon completion of the upload. Null is sent on request failure - - - - Performas actual mesh and image upload - - Uri recieved in the upload prepare stage - Callback that will be invoke upon completion of the upload. Null is sent on request failure - - - - Interface requirements for Messaging system - - - - - Abstract base for rendering plugins - - - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces, each face containing a mesh and - metadata - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Apply texture coordinate modifications from a - to a list of vertices - - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - Scale of the prim - - - - Binary reader, which is endian aware - - - - What is the format of the source file - - - - Construct a reader from a stream - - The stream to read from - - - - Construct a reader from a stream - - The stream to read from - What is the format of the file, assumes PC and similar architecture - - - - Read a 32 bit integer - - A 32 bit integer in the system's endianness - - - - Read a 16 bit integer - - A 16 bit integer in the system's endianness - - - - Read a 64 bit integer - - A 64 bit integer in the system's endianness - - - - Read an unsigned 32 bit integer - - A 32 bit unsigned integer in the system's endianness - - - - Read a single precision floating point value - - A single precision floating point value in the system's endianness - - - - Read a double precision floating point value - - A double precision floating point value in the system's endianness - - - - Read a UTF-8 string - - A standard system string - - - - Read a UTF-8 string - - length of string to read - A standard system string - - - - Load and handle Linden Lab binary meshes. - - - The exact definition of this file is a bit sketchy, especially concerning skin weights. - A good starting point is on the -
second life wiki - - - - - Defines a polygon - - - - - Structure of a vertex, No surprises there, except for the Detail tex coord - - - The skinweights are a tad unconventional. The best explanation found is: - >Each weight actually contains two pieces of information. The number to the - >left of the decimal point is the index of the joint and also implicitly - >indexes to the following joint. The actual weight is to the right of the - >decimal point and interpolates between these two joints. The index is into - >an "expanded" list of joints, not just a linear array of the joints as - >defined in the skeleton file. In particular, any joint that has more than - >one child will be repeated in the list for each of its children. - - Maybe I'm dense, but that description seems to be a bit hard to build an - algorithm on. - - Esentially the weights are compressed into one floating point value. - 1. The whole number part is an index into an array of joints - 2. The fractional part is the weight that joint has - 3. If the fractional part is 0 (x.0000) then the vertex is 100% influenced by the specified joint - - - - - Provide a nice format for debugging - - Vertex definition as a string - - - - Describes deltas to apply to a vertex in order to morph a vertex - - - - - Provide a nice format for debugging - - MorphVertex definition as a string - - - - Describes a named mesh morph, essentially a named list of MorphVertices - - - - - Provide a nice format for debugging - - The name of the morph - - - - Don't really know what this does - - - - - Provide a nice format for debugging - - Human friendly format - - - - A reference mesh is one way to implement level of detail - - - Reference meshes are supplemental meshes to full meshes. For all practical - purposes almost all lod meshes are implemented as reference meshes, except for - 'avatar_eye_1.llm' which for some reason is implemented as a full mesh. - - - - - Load a mesh from a stream - - Filename and path of the file containing the reference mesh - - - - Level of Detail mesh - - - - - Construct a linden mesh with the given name - - the name of the mesh - - - - Construct a linden mesh with the given name - - the name of the mesh - The skeleton governing mesh deformation - - - - Load the mesh from a stream - - The filename and path of the file containing the mesh data - - - - Layout of one skinweight element - - - - List of skinweights, in the same order as the mesh vertices - - - - Decompress the skinweights - - the expanded joint list, used to index which bones should influece the vertex - - - - Load a reference mesh from a given stream - - The lod level of this reference mesh - the name and path of the file containing the mesh data - the loaded reference mesh - - - - Trim a string at the first occurence of NUL - - - The llm file uses null terminated strings (C/C++ style), this is where - the conversion is made. - - The string to trim - A standard .Net string - - - - load the 'avatar_skeleton.xml' - - - Partial class which extends the auto-generated 'LindenSkeleton.Xsd.cs'.eton.xsd - - - - - - Load a skeleton from a given file. - - - We use xml scema validation on top of the xml de-serializer, since the schema has - some stricter checks than the de-serializer provides. E.g. the vector attributes - are guaranteed to hold only 3 float values. This reduces the need for error checking - while working with the loaded skeleton. - - A valid recursive skeleton - - - - Load a skeleton from a given file. - - - We use xml scema validation on top of the xml de-serializer, since the schema has - some stricter checks than the de-serializer provides. E.g. the vector attributes - are guaranteed to hold only 3 float values. This reduces the need for error checking - while working with the loaded skeleton. - - The path to the skeleton definition file - A valid recursive skeleton - - - - Build and "expanded" list of joints - - - The algorithm is based on this description: - - >An "expanded" list of joints, not just a - >linear array of the joints as defined in the skeleton file. - >In particular, any joint that has more than one child will - >be repeated in the list for each of its children. - - The list should only take these joint names in consideration - An "expanded" joints list as a flat list of bone names - - - - Expand one joint - - The parent of the joint we are operating on - The joint we are supposed to expand - Joint list that we will extend upon - The expanded list should only contain these joints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contains all mesh faces that belong to a prim - - - - List of primitive faces - - - - Decodes mesh asset into FacetedMesh - - Mesh primitive - Asset retrieved from the asset server - Level of detail - Resulting decoded FacetedMesh - True if mesh asset decoding was successful - - - - Sent to the client to indicate a teleport request has completed - - - - The of the agent - - - - - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports - - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status - - - The IP Address of the simulator - - - The UDP Port the simulator will listen for UDP traffic on - - - Status flags indicating the state of the Agent upon arrival, Flying, etc. - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed - - - - - - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum - - - The of the Agent - - - A string human readable message containing the reason - An example: Could not teleport closer to destination - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Contains a list of prim owner information for a specific parcel in a simulator - - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - - - Prim ownership information for a specified owner on a single parcel - - - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - - An Array of objects - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - The details of a single parcel in a region, also contains some regionwide globals - - - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - - - - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - - - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - - - - - - - - Total number of primitives owned by the parcel group on - this parcel - - - Whether the land is deeded to a group or not - - - - - - Maximum number of primitives this parcel supports - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A byte, if 0x1 viewer should auto scale media to fit object - - - URL For Music Stream - - - Parcel Name - - - Autoreturn value in minutes for others' objects - - - - - - Total number of other primitives on this parcel - - - UUID of the owner of this parcel - - - Total number of primitives owned by the parcel owner on - this parcel - - - - - - How long is pass valid for - - - Price for a temporary pass - - - - - - Disallows people outside the parcel from being able to see in - - - - - - - - - - - - True if the region denies access to age unverified users - - - - - - This field is no longer used - - - The result of a request for parcel properties - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - - - - - - - - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - - - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator - - - - - - Key of parcel snapshot - - - Parcel ownership status - - - Total number of primitives on this parcel - - - - - - - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A boolean, if true the viewer should loop the media - - - A string which contains the mime type of the media - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - true if avatars in this parcel should be invisible to people outside - - - true if avatars outside can hear any sounds avatars inside play - - - true if group members outside can hear any sounds avatars inside play - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A message sent from the viewer to the simulator to updated a specific parcels settings - - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone - - - true to enable auto scaling of the parcel media - - - The category of this parcel used when search is enabled to restrict - search results - - - A string containing the description to set - - - The of the which allows for additional - powers and restrictions. - - - The which specifies how avatars which teleport - to this parcel are handled - - - The LocalID of the parcel to update settings on - - - A string containing the description of the media which can be played - to visitors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if avatars in this parcel should be invisible to people outside - - - true if avatars outside can hear any sounds avatars inside play - - - true if group members outside can hear any sounds avatars inside play - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - Base class used for the RemoteParcelRequest message - - - - A message sent from the viewer to the simulator to request information - on a remote parcel - - - - Local sim position of the parcel we are looking up - - - Region handle of the parcel we are looking up - - - Region of the parcel we are looking up - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - - - - The grid-wide unique parcel ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to an agent which contains - the groups the agent is in - - - - The Agent receiving the message - - - Group Details specific to the agent - - - true of the agent accepts group notices - - - The agents tier contribution to the group - - - The Groups - - - The of the groups insignia - - - The name of the group - - - The aggregate permissions the agent has in the group for all roles the agent - is assigned - - - An optional block containing additional agent specific information - - - true of the agent allows this group to be - listed in their profile - - - An array containing information - for each the agent is a member of - - - An array containing information - for each the agent is a member of - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - - - - A string containng the default language - to use for the agent - - - true of others are allowed to - know the language setting - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - - - - An object containing the Agents UUID, and the Groups UUID - - - The ID of the Agent leaving the group - - - The GroupID the Agent is leaving - - - - An Array containing the AgentID and GroupID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class for Asset uploads/results via Capabilities - - - - The request state - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - - - - The Capability URL sent by the simulator to upload the baked texture to - - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - - - - The uploaded texture asset ID - - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - - - - Major Version Required - - - Minor version required - - - The name of the region sending the version requrements - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer containing the - voice server URI - - - - The Parcel ID which the voice server URI applies - - - The name of the region - - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - - - - - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - - - - The Asset ID of the script - - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter - - - The Task containing the scripts - - - true of the script is in a running state - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message request/response which is used to update a notecard contained within - a tasks inventory - - - - The of the Task containing the notecard asset to update - - - The notecard assets contained in the tasks inventory - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - - - - - The Notecard AssetID to replace - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - - - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - - - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - a tasks inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - - - - The uploaded texture asset ID - - - true of the script was compiled successfully - - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - - - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class for Map Layers via Capabilities - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent by an agent to the capabilities server to request map layers - - - - - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - - - - - An object containing map location details - - - - The Asset ID of the regions tile overlay - - - The grid location of the southern border of the map tile - - - The grid location of the western border of the map tile - - - The grid location of the eastern border of the map tile - - - The grid location of the northern border of the map tile - - - An array containing LayerData items - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - New as of 1.23 RC1, no details yet. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A string containing the method used - - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference - - - The conferences Session ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - - - - The Session ID - - - - - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - - - - The conference SessionID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Is this invitation for voice group/conference chat - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - - - - - A string containing the reason the agent was removed - - - - - The ChatterBoxSession's SessionID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Event Queue message describing physics engine attributes of a list of objects - Sim sends these when object is selected - - - - Array with the list of physics properties - - - - Serializes the message - - Serialized OSD - - - - Deserializes the message - - Incoming data to deserialize - - - - Deserializes the message - - Incoming data to deserialize - - - - Serializes the message - - Serialized OSD - - - - - Deserializes the message - - Incoming data to deserialize - - - - Serializes the message - - Serialized OSD - - - - Deserializes the message - - Incoming data to deserialize - - - - Serializes the message - - Serialized OSD - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - - - - - New URL - - - - - Prim UUID where navigation occured - - - - - Face index - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class used for the ObjectMedia message - - - - Message used to retrive prim media data - - - - - Prim UUID - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Media version string - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message for setting or getting per face MediaEntry - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Details about object resource usage - - - Object UUID - - - Object name - - - Indicates if object is group owned - - - Locatio of the object - - - Object owner - - - Resource usage, keys are resource names, values are resource usage for that specific resource - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - Details about parcel resource usage - - - Parcel UUID - - - Parcel local ID - - - Parcel name - - - Indicates if parcel is group owned - - - Parcel owner - - - Array of containing per object resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - Resource usage base class, both agent and parcel resource - usage contains summary information - - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource - - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - Agent resource usage - - - Per attachment point object resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - Request message for parcel resource usage - - - UUID of the parel to request resource usage info - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - Response message for parcel resource usage - - - URL where parcel resource usage details can be retrieved - - - URL where parcel resource usage summary can be retrieved - - - - Serializes object - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - Parcel resource usage - - - Array of containing per percal resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Reply to request for bunch if display names - - - - Current display name - - - Following UUIDs failed to return a valid display name - - - - Serializes the message - - OSD containting the messaage - - - - Message sent when requesting change of the display name - - - - Current display name - - - Desired new display name - - - - Serializes the message - - OSD containting the messaage - - - - Message recieved in response to request to change display name - - - - New display name - - - String message indicating the result of the operation - - - Numerical code of the result, 200 indicates success - - - - Serializes the message - - OSD containting the messaage - - - - Message recieved when someone nearby changes their display name - - - - Previous display name, empty string if default - - - New display name - - - - Serializes the message - - OSD containting the messaage - - - - Return a decoded capabilities message as a strongly typed object - - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - - - - Permissions for control of object media - - - - - Style of cotrols that shold be displayed to the user - - - - - Class representing media data for a single face - - - - Is display of the alternative image enabled - - - Should media auto loop - - - Shoule media be auto played - - - Auto scale media to prim face - - - Should viewer automatically zoom in on the face when clicked - - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn - - - Style of controls viewer should display when - viewer media on this face - - - Starting URL for the media - - - Currently navigated URL - - - Media height in pixes - - - Media width in pixels - - - Who can controls the media - - - Who can interact with the media - - - Is URL whitelist enabled - - - Array of URLs that are whitelisted - - - - Serialize to OSD - - OSDMap with the serialized data - - - - Deserialize from OSD data - - Serialized OSD data - Deserialized object - - - - Particle system specific enumerators, flags and methods. - - - - - Current version of the media data for the prim - - - - - Array of media entries indexed by face number - - - - - Complete structure for the particle system - - - - - Particle source pattern - - - - None - - - Drop particles from source position with no force - - - "Explode" particles in all directions - - - Particles shoot across a 2D area - - - Particles shoot across a 3D Cone - - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - - - Particle Data Flags - - - - None - - - Interpolate color and alpha from start to end - - - Interpolate scale from start to end - - - Bounce particles off particle sources Z height - - - velocity of particles is dampened toward the simulators wind - - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles - - - Particles are sent in a straight line - - - Particles emit a glow - - - used for point/grab/touch - - - continuous ribbon particle - - - particle data contains glow - - - particle data contains blend functions - - - - Particle Flags Enum - - - - None - - - Acceleration and velocity for particles are - relative to the object rotation - - - Particles use new 'correct' angle parameters - - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. - - - A representing the number of meters - around the center of the source where particles will be created. - - - A representing in seconds, the minimum speed between bursts of new particles - being emitted - - - A representing in seconds the maximum speed of new particles being emitted. - - - A representing the maximum number of particles emitted per burst - - - A which represents the velocity (speed) from the source which particles are emitted - - - A which represents the Acceleration from the source which particles are emitted - - - The Key of the texture displayed on the particle - - - The Key of the specified target object or avatar particles will follow - - - Flags of particle from - - - Max Age particle system will emit particles for - - - The the particle has at the beginning of its lifecycle - - - The the particle has at the ending of its lifecycle - - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the start glow value - Minimum value is 0, maximum value is 1 - - - A that represents the end glow value - Minimum value is 0, maximum value is 1 - - - OpenGL blend function to use at particle source - - - OpenGL blend function to use at particle destination - - - - Can this particle system be packed in a legacy compatible way - - True if the particle system doesn't use new particle system features - - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker - - - - Generate byte[] array from particle data - - Byte array - - - - - - - Parameters used to construct a visual representation of a primitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attachment point to an avatar - - - - - - - - - - - - - - - - Calculdates hash code for prim construction data - - The has - - - - Information on the flexible properties of a primitive - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the light properties of a primitive - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the light properties of a primitive as texture map - - - - - - - - - - - Default constructor - - - - - - - - - - - - - - - - - - - - - - - - Information on the sculpt properties of a sculpted primitive - - - - - Render inside out (inverts the normals). - - - - - Render an X axis mirror of the sculpty. - - - - - Default constructor - - - - - - - - - - - - Extended properties to describe an object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet - - - - Describes physics attributes of the prim - - - - Primitive's local ID - - - Density (1000 for normal density) - - - Friction - - - Gravity multiplier (1 for normal gravity) - - - Type of physics representation of this primitive in the simulator - - - Restitution - - - - Creates PhysicsProperties from OSD - - OSDMap with incoming data - Deserialized PhysicsProperties object - - - - Serializes PhysicsProperties to OSD - - OSDMap with serialized PhysicsProperties data - - - - - - - - - - - - - - - - - - - - - Foliage type for this primitive. Only applicable if this - primitive is foliage - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Objects physics engine propertis - - - Extra data about primitive - - - Indicates if prim is attached to an avatar - - - Number of clients referencing this prim - - - Uses basic heuristics to estimate the primitive shape - - - - Default constructor - - - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter - - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value - - - - Texture animation mode - - - - Disable texture animation - - - Enable texture animation - - - Loop when animating textures - - - Animate in reverse direction - - - Animate forward then reverse - - - Slide texture smoothly instead of frame-stepping - - - Rotate texture instead of using frames - - - Scale texture instead of using frames - - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the future this will specify whether a webpage is - attached to this face - - - - - - - - - - Contains the definition for individual faces - - - - - - - - - - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - - - - - - - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture - - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face - - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Controls the texture animation of a particular prim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of bump-mapping applied to a face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The level of shininess applied to a face - - - - - - - - - - - - - - - - - The texture mapping style used for a face - - - - - - - - - - - - - - - - - Flags in the TextureEntry block that describe which properties are - set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully - - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - - - - - This is used to logout a user session. It should only be called with a valid AccountHandle. - - Handle returned from successful Connector ‘login’ request - - - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - - - - - This is used to get a list of audio devices that can be used for render (playback) of voice. - - - - - This command is used to select the render device. - - The name of the device as returned by the Aux.GetRenderDevices command. - - - - This command is used to select the capture device. - - The name of the device as returned by the Aux.GetCaptureDevices command. - - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - - - - - This command is used to stop the audio capture process. - - - - - - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - - the microphone volume (-100 to 100 inclusive) - - - - - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - - the speaker volume (-100 to 100 inclusive) - - - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - - - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request - - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - - - - Mute or unmute the speaker - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - - - - Set microphone volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - - - - Set local speaker volume - - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - - - - List of audio input devices - - - - - List of audio output devices - - - - - Start up the Voice service. - - - - - Handle miscellaneous request status - - - - ///If something goes wrong, we log it. - - - - Cleanup oject resources - - - - - Request voice cap when changing regions - - - - - Handle a change in session state - - - - - Close a voice session - - - - - - Locate a Session context from its handle - - Creates the session context if it does not exist. - - - - Handle completion of main voice cap request. - - - - - - - - Daemon has started so connect to it. - - - - - The daemon TCP connection is open. - - - - - Handle creation of the Connector. - - - - - Handle response to audio output device query - - - - - Handle response to audio input device query - - - - - Set audio test mode - - - - - Set voice channel for new parcel - - - - - - Request info from a parcel capability Uri. - - - - - - Receive parcel voice cap - - - - - - - - Tell Vivox where we are standing - - This has to be called when we move or turn. - - - - Start and stop updating out position. - - - - - Enable logging - - - The folder where any logs will be created - - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - - - - - Constructor for default logging settings - - - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - - - Event for most mundane request reposnses. - - - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - - - Starts a thread that keeps the daemon running - - - - - - - Stops the daemon and the thread keeping it running - - - - - - - - - - - - - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. - - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - - - - - Used to accept a call - - SessionHandle such as received from SessionNewEvent - "default" - - - - - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. - - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - - - - This command is used to stop the audio render process. - - The fully qualified path to the sound file issued in the start render command. - - - - - This is used to ‘end’ an established session (i.e. hang-up or disconnect). - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - - - - Set the combined speaking and listening position in 3D space. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - - - - - Set User Volume for a particular user. Does not affect how other users hear that user. - - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - - - - Extract the avatar UUID encoded in a SIP URI - - - - - - - Represents a single Voice Session to the Vivox service. - - - - - Close this session. - - - - - Look up an existing Participants in this session - - - - - - - - - - - - Delegate to wrap another delegate and its arguments - - - - - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - - - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - - - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - - - - - Invokes the wrapped delegate synchronously - - - - - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - - - - diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index a0782f8d281befec6acb8dba9e099ef163f0cce4..83d3946d1efa88afa218cf37d39c325d4716bcb2 100755 GIT binary patch literal 2404352 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

^!rDN`*c+99z?`W)H}$!co%Lz2{<_p2;K?! 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%0DN4~^`a$-`J6QhnR7n~%H;_X#Fx2lH^DEvM3 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

EcoiXI8|2{9rqef-kAcHe|$0;|)&aRCY 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

RLdFCFgN>{PviwGx&@UE;ys8iw`u{^X;=It5s^ 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ݿZJuL%Xu?6us=e<2`-tO&H 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 n+Wuht=!Ow2;83;7-ynvR0DsOJdcCy(Qmf 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

BU%(BaF&i`bV-E>p< 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

=@+dC8X>(J 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 z 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

Y^Eq990?-GJ{OL`p=stc^c*oj9^Wt!-zPDFLL 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 *^IrifkmDM{tbfE0V4U`=^Q1;^n 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

X3Y=0sv}UyUY7nu*%_ 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