Hello everybody. This is a summary of the last week of development in OpenSimulator. Except where otherwise specified, the changes described here appear only in OpenSimulator’s cutting edge Git ‘master’ branch. Only changes that I think will be interesting to end users are listed. Please do not attempt to use code taken directly from ‘master’ in any production environment. Sometimes this in-development code may not work or may even cause data corruption. If you are not a developer or tester, please treat this summary instead as a preview of what will be coming up in the next release. The latest official release is OpenSimulator 0.7.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 16d303f – 7fd3878 ).
General news
- I believe that inventory UDP currently does not work properly on Linden Lab viewer 3.3.1. If the inventory CAPs are not active then the viewer appears to continually make a failing inventory related XML request. Inventory CAPs are now active by default in OpenSimulator development code. On OpenSimulator 0.7.3.1 they can also be enabled by setting Cap_FetchInventoryDescendents2 = “localhost” and Cap_FetchInventory2 = “localhost” in the [ClientStack.LindenCaps] section of OpenSim.ini. However, having in some situations having inventory CAPs active with LL 3.3.1 results in attachments sometimes being automatically detached by the viewer on login (they can be reattached without issue). This is a problem that needs to be addressed.
Features & bug fixes
- I fixed a bug where outfit folders could not be renamed. This was a regression that was in development code only. At least with the latest LL 3.3.1 viewer, a bug remains where outfit folder links are not retrieved properly, leaving the avatar without a current outfit on login (though the components of that outfit are correctly worn) (16d303f).
- I fixed possible issues if two teleport calls are made simultaneously where at least one is a within-region teleport. This is practically impossible to do manually but may happen if teleports are being done through scripts (8f87f55).
- I fixed possible issues that can happen if an avatar immediately teleports back to their source region before 2 seconds have passed. This cannot be done manually but could happen via scripting (8f87f55).
- I fixed the QueryAccess calls to remote simulators. These are made when a teleport request wants to check that the destination simulator is willing to accept the teleporter. Previously, this would always signal that the teleporter would accept an avatar, even if the teleporter meant to signal it would not accept (8f87f55).
- I fixed a bug where an avatar that had an object they owned attached through the script commands llAttachToAvatar() or osForceAttachToAvatar() would wrongly see the current permissions replaced by the next owner permissions if the object was detached and rezzed. Usually this would result in the items within the object (e.g. scripts) becoming no-modify and no-copy (ff429a2).
- I added a “show scene” region console command which shows various stats for the currently selected scene(s). This includes prim count,script count, avatar count, etc. At the moment this information is the same as seen in “show stats”, though due to structural problems “show stats” can only show the region that last reported its data, not more than one region at once (ee98b9c).
- Bluewall fixed llGetSimulatorHostname() to return the hostname as configured by ExternalHostNameForLSL in the [Network] OpenSim.ini section rather than the machine name (682d407).
- Pixel Tomsen contributed an environment module to allow the Windlight environment settings to be stored using version 2/3 viewers (bc543c1).
- Talun contributed a patch so that osAvatarStopAnimation() will stop an animation if given a UUID as well as a name, like llStopAnimation() (120f814).
- Blake Borque contributed a patch so that one can retrieve final destination Hypergrid region co-ordinates using llRequestSimulatorData(). This can be useful if one wants to check that the target hypergrid region is not more than the allowable distance away for successful viewer teleport (4095 map tiles or less) (33b6600).
- Talun contributed a patch so that llRequestPermissions() calls made to NPCs automatically succeed if the script is owned by the NPC or the script owner is also the owner of the NPC (0b72f77).
Infrastructure
- I added ConsoleDisplayTable and ConsoleDisplayList console formatting classes for clearer and more consistent output from console commands. Existing commands will slowly start to use these.