Hello everybody. This is a summary of the last four week’s development changes in OpenSimulator. It has been a while due to the effort required to get OpenSimulator 0.7.6 out and then the need for a week’s holiday! 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 (released on October 4, 2013).
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 3f0fa9f to daf44cc.
- None this week.
Features & bug fixes
- I made OpenSimulator drop UUID-> user name binding requests that could not be satisfied, rather than replying with “Unknown User” (recently “Unknown UserUMMTGUN7” for debugging purposes). The viewer caches all name bindings until its cache is cleared (and sometimes not even then), so this change should cut down on the number of “Unknown Users” that people consistently see, particularly when Hypergrid travelling (1d24668).
- I made llGetLinkPrimitiveParams() correctly abort and return the existing list of params when it encounters an invalid link number, rather than throwing an exception. This is a development of a patch contributed by Talun (60cf42c).
- I fixed a bug where llGetLinkPrimitiveParams() would not return the correct data if PRIM_LINK_TARGET was followed only by the link number and a single property (f99dae0).
- I added a configuration parameter (MaxOutgoingTransferVersion in [EntityTransfer] in OpenSim.ini) to allow a simulator to ask incoming teleports to use the previous SIMULATION/0.1 teleport protocol rather than the default SIMULATION/0.2. This is mainly for debugging purposes in case an operator is experiencing any issues with the newer teleport protocol (979b171).
- Oren Hurvitz of Kitely contributed a patch to make the UUID gatherer find assets used in light project, particle systems and for collision sounds. This is used in OAR/IAR saving and Hypergrid object transfers (f126773).
- I made new regions PG (general) maturity level by default rather than Mature. This makes scripted object sounds and a few other things play by default instead of requiring the user to switch their viewer maturity setting to Mature or the simulator operator to change the region maturity level (c06a9ff).
- Robert Adams of Intel continued to work on OpenSimulator’s BulletSim physics plugin, this week looking at avatar movement.
- I made UUID.Zero always resolve to “Unknown User” in the user name binding cache. No real user should ever use UUID.Zero for their UUID (8502517).
- Oren Hurvitz contributed a patch to fix an issue where an item given by a user to a user on a different simulator would give two copies of the item rather than one (cbdfe96).
- Alreic Inglewood contributed a patch adapted from an original one by Greg C. to preserve attachment point and position when a taken object is re-attached by an avatar after being rezzed in world. This is not in the OpenSimulator 0.7.6 release since it missed the change cutoff point, as did all changes under this one (2dc92e7).
- Fernando Oliveira contributed a patch for a PostgreSQL OpenSimulator database plugin. This is in active development. It doesn’t yet work on Windows but hopefully this is just a configuration issue. This is not an officially supported database for OpenSimulator but is provided “as is”, much like the MSSQL plugin (ff8a768).