These 12 weeks in OpenSim Dev – weeks ending 1st March 2014

Hello everybody.  Yes, this update has been a very long time in coming – I fell off the horse over Christmas and only now have had the time to get back on!  Anyway, on with the show.

This is a summary of the last twelve week’s development changes in OpenSimulator.   Except where otherwise specified, the changes described here appear only in OpenSimulator’s cutting edge ‘master’ branch in OpenSimulator’s Git source control system. 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.6.1 (released on February 1, 2014).

The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.

This post covers git master commits 0875050 to 5038a59.

General development news

  • Due to a merge of some code developed outside of the OpenSimulator project, master branch has been more than usually unstable since about December 11 2013.  Things are improving again now but I would, as always, strongly recommend against using OpenSimulator development code in any production context.  That said, it’s always extremely helpful for people to continue testing the development code line where stability is not critical, so that we can detect and winkle out bugs as effectively as possible.There is also a ‘justincc-master’ Git branch that was taken just before December 11 2013.  I have been adding selected patches to this so that there was a known good base to test from.  However, this will stop now as the stability of the master branch improves.

Features & bug fixes

  • Dahlia added the console commands “scale scene” for scaling a scene (scales all scene objects up or down) and “translate scene” for moving all objects at once (0875050).
  • I fixed an issue where checking the particle system of an object for referenced textures could sometimes cause an exception, as per Oren Hurvitz’s suggestion (e7a294e).
  • Robert Adams merged in the variable region (varregion) branch into master.  This branch contains code to support regions larger (or possibly smaller!) than 256×256.  Unlike megaregions, this relies on explicit support by the viewer rather than implementation hacks.  Therefore, it should behave much better in the long run but at the moment it should still be considered experimental (60de0bc).
  • Melanie of Avination added support for crossing sitting avatars between regions (f69e91d).
  • Bluewall fixed an issue with editing notes for other avatars when built-in profiles support is active (b03ec63).
  • Melanie and cinderblocks added missing viewer appearance parameters for breast belly and butt physics.  This triggered a hidden bug in older versions of OpenSimulator, which was the reason for the 0.7.5.1 and 0.7.6.1 releases (dd96fef).
  • I added more syntax checking for more LSL event signatures, this time attach, on_rez, at_rot_target, at_target and control (2f94165).
  • Oren Hurvitz of Kitely contributed a patch to apply the name and description of a coalesced inventory item to only the first linkset rezzed rather than all of them (13f31fd).
  • Oren Hurvitz contributed a patch to set the permissions of a coalesced inventory item to the lowest common denominator permission of all the sub-objects (88f01a4).
  • Oren Hurvitz contributed a patch to correctly position an attachment when just its root prim was moved (da47bca).
  • Robert Adams fixed a crash in Bulletsim which sometimes happened when making a linkset physical and then crossing the region boundary (239b85d).
  • Oren Hurvitz contributed a patch to store the sender of an offline IM.  This allows such messages to be identified and possibly deleted (2d9d6fe).
  • I fixed an issue where physics actors could be orphaned if a simulator received multiple CompleteMovement UDP messages.  This would result in a memory leak and a permanent increase in the physics frametime of the scene until simulator restarted.  This same fix was ported to OpenSimulator 0.7.6.1 (4fa843f).
  • Oren Hurvitz contributed a patch to fix errors in some Windlight script functions if the script’s owner was not in the region.  I made some further adjustments (e9454d4).
  • Robert Adams added a –displacement parameter to the “load oar” console command.  This is most useful when loading smaller OARs into a larger var region (dd6db72).
  • Robert Adams added –force-terrain and –force-parcel options to the “load oar” command.  These override the normal –merge behaviour of not loading terrain or parcel to facilitate loading of smaller OARs into varregions (2a4dd3).
  • Robert Adams added –rotation and –rotationcenter parameters to the “load oar” command which apply a rotation before any specified displacement (5e6a47f).
  • Robert Adams added a –no-objects option to the “load oar” command in order to allow loading of region terrain, parcels, etc. but not its objects (41b6602).
  • Oren Hurvitz contributed a patch so that changing a material on one face of a prim only changes that face rather than the default material (68d6342).
  • I fixed an issue where users could not enter a region if a telehub with no spawn points.  Instead, the users are now placed at their originally requested destination (8e72b53).
  • I added a “generate map” console command to allow a maptile to be regenerated on demand (a859464).
  • I eliminated memory leaks when the default maptile renderer is used.  Unfortunately, the Warp3D renderer still leaks like crazy and this will be a bit more awkward to fix (a2d5d81).
  • Dev Random contributed a patch so that config files specified via the -inidirectory command line option will always supersede settings in other files.  This wasn’t occurring consistently before (8c2b41b).
  • Oren Hurvitz contributed an osGetRegionSize() OSSL function that will tell you the current region size (2cf2241).
  • Oren Hurvitz contributed a patch to collect material assets when saving OARs/IARs or transferring objects over the Hypergrid (abb193e).
  • Melanie of Avination contributed a system for temporarily storing baked texures uploaded by viewers.  This is not a system for server-side baking, which OpenSimulator does not currently have.  This system should be considered experimental (31cba5a).
  • Freaky contributed patches to implement PRIM_ROTATION, PRIM_ROT_LOCAL, PRIM_POSITION and PRIM_POS_LOCAL for moving agents via llSetLinkPrimitiveParams().  I made some further adjustments and added regression tests (ce5d308).

Infrastructure changes

  • Apart from that detailed above, nothing else user-relevant this time.

3 comments for “These 12 weeks in OpenSim Dev – weeks ending 1st March 2014

  1. Nica Pennell
    March 10, 2014 at 6:28 am

    Woot, I’ve been looking forward to Varregions. My every attempt at Megaregions has turned into a mess, and the 256m tile size of SL is feeling so dated in these times of modern open-world games with multiple square kilometers of terrain to get lost in.

  2. March 27, 2014 at 11:59 am

    I see someone of the developers is busy with save/load OAR. Since SELLING land WITH all object to someone does not work I am bagging you to look at a way to restore a OAR file to a specific user. Sometime users like to have an open source OAR on there sim (like those of Linda Kellie) or sometime the simvalley team made a sim for an avatar and we like to transfer the ownership. Can someone look into this?

    Thanks in advanced!

    with regard, John

  3. justincc
    April 10, 2014 at 12:39 am

    This request has come up from another source and would be a useful thing. It’s on my list though unfortunately I can’t say when I would get to it.

Leave a Reply

Your email address will not be published. Required fields are marked *