OpenSimulator 0.9.1.0 Snail ** is now formally released as the latest stable version of the open source virtual world platform. See http://opensimulator.org/
OSGrid Dev Outreach – Ubit and Ai – All the work down to Ubit – Halloween is Coming
OpenSim 0.9.1.0 introduces new features including:
- New script engine: Yengine (XEngine is still the default)
- New OSSL functions, see OSSL Functions with examples
- Support for viewer side objects cache
- Support mesh objects animations (AniMesh)
- Early Bakes on Mesh (BoM) support. Viewer developments are required
** OpenSim releases now have a “name” as well as a four level version number. 0.9.1.0 is “Snail”. The next Dev Master development version is named “Yeti” – a mythical creature occasionally seen by humans.
More on Bakes on Mesh in OpenSim
At the moment there is no officially released viewer able to support Bakes on Mesh (BoM) in OpenSim. Some developers are using experimental builds of Firestorm compiled to allow BoM experimentation. Let me explain why that is…
Jessica Lyon, the project leader for the Firestorm Viewer project, said on a blog post that they planned to release Firestorm 6.3.2 for SL+OS with Bakes on Mesh support this time, but OpenSim developer UbitUmarov asked her not to do this at this stage as he is concerned that if any user uses it who has added BoM to their avatar with the extended bakes textures and logs DIRECTLY onto a 0.8.* grid they can crash it. See this further blog post for the explanation.
Its fine to try to Hypergrid to old grids having logged in via the latest OpenSim versions (and the new stable 0.9.1.0 release) as the updated systems protect the older incompatible grids from a user trying to go there via Hypergrid if they use any new extended bakes texture or a new BoM specific feature like Universal wearables. We are stuck at the moment waiting for a Firestorm developer to add the protective code directly into the viewer. So, for the moment, the OpenSim server code is ahead of the viewer development needed to support the BoM feature in OpenSim. The synergy and push/pull between the server and viewer code has been a positive feature of the virtual worlds open source development community and I hope this continues and we can get back in sync. Having said that, we can expect some features to exist in each server platform that go beyond what the other platform can or will support.
Bill Blight in the OpenSimulator community has created the OpenStorm viewer based on a branch off the Firestorm viewer code with BoM support. But it is deliberately not being widely distributed as it can be a risk to OpenSim grids on older versions, as described above. I am testing BoM with OpenStorm and with a version of vanilla Firestorm 6.3.2.58056 compiled with the OpenSim flag turned on. Yes, at the moment that is possible, nothing incompatible has been added or removed yet from the main lgpl branch of Firestorm.
I switched from the default XEngine script engine to YEngine as a test for my experimental grid “AiLand”. As anticipated, there were a few script compile errors as YEngine is more strict on syntax and type casting. Tracking these down using the OpenSim.log provided region, object, script name and X,Y,Z location of the problematic items led to the following types of error:
- Use of break needs to be replaced by return. break is not normal LSL, but it worked in XEngine.
- In some cases vectors were used where rotations were expected. The constant ZERO_ROTATION can be used where zero rotation is needed.
- Some parentheses might be required to disambiguate statements… such as
if (llGetPermissions() & PERMISSION_TAKE_CONTROLS == FALSE) should be
if ((llGetPermissions() & PERMISSION_TAKE_CONTROLS) == FALSE) - Scripts may not start at (0,0) with the expected syntax or elements, e.g. looking for var name, type, state or default, script-defined type declaration. Some scripts were not wrapped by default { … }.