|On Sunday December 16th, 2018, the Firestorm team issued Firestorm 6.0.1, which includes Animesh support.
Note that this update is being classified as a “public beta”, because further Firestorm-specific Animesh optimisations are being planned. This means there will be a further “full release” is being planned for January 2019.
However, while Firestorm 18.104.22.168538 may be classed as a”beta”, it should be considered as stable and as bug-free as any previous release.
Please use the table of contents on the right to jump to any specific topic of interest. Full details of all changes, and contributor credits can be found in the official release notes.
|Table of Contents
The Usual Before We Begin
As per my usual preamble:
- There is no need to perform a clean install with this release if you do not wish to.
- Do, however, make sure you back-up all your settings safely so you can restore them after installing 6.0.1.
Note that as a beta release, Firestorm 22.214.171.124538 will not overwrite any existing release version of Firestorm you may have installed, but will be installed into a separate folder / location. However, note that swapping back and forth between this beta and another version of Firestorm will wipe your cache each time.
Lab Derived Updates
This version brings Firestorm up to parity with Linden Lab release viewers through to version 126.96.36.1990636 (Animesh), including the recent Rakomelo, Quinquina and Hear No Evil, Speak No Evil Maintenance viewers, and incorporates Vivox Version 4.9.0002.30313 (Mac and Windows).
For those who may be unaware of it (!), Animesh allows the avatar skeleton to be applied to any suitable rigged mesh object. This, together with suitable animations and scripts placed within the contents of the object, allow it to be animated in much the same way as the Second Life avatar. This opens up a whole range of opportunities for content creators and animators to provide things like independently moveable pets / creatures, and animated scenery features.
While Animesh is likely to primarily be used by content creators, it has been designed so that any suitable rigged mesh can be converted to Animesh directly from the Build / Edit floater (see below, left). Do be aware, however that simply converting an object will not cause it to start animating – you’ll need suitable animations and a script to run them.
Like any other object utilising animation, this is done by adding the animations and scripts via the Edit > Contents tab for your converted object.
How To Get Started With Animesh
The best way to get started with Animesh is to use the available resources. These include:
- Official Linden Lab resources:
- Animesh User Guide
- Animesh test content ( Raptor and Aditya – rez and wander; Teddy – attachment)
- Animesh test regions: Animesh 1 ; Animesh 2 ; Animesh 3 ; Animesh 4 ; Animesh 5 ; Animesh Adult.
- Animesh LSL methods:
- Animesh feedback thread
- Additional resources:
Firestorm Animesh Additions
Derender Animesh: Despite the hoped-for performance improvements Animesh might allow when compared to alpha flipping, these will be the potential for performance impacts in regions / parcels with a large number of Animesh objects moving around.
To help mitigate this, Firestorm 6.0.1 includes an option to derender all Animesh in a scene (Developer menu > Rendering > Derender All Animesh).
Note: Derendered Animesh will reappear after a teleport or re-logging.
Also, Firestorm includes a number of other Animesh tweaks:
- Auto-scaling amortisation of the new Animesh dynamic bounding box calculations. This fix limits the overhead of the new dynamic bounding box calculations to AvatarExtentRefreshMaxPerBatch per AvatarExtentRefreshPeriodBatch frames. The default is 5 avatars per 4 frames, so in a busy region, 25 avatars would take 20 frames to refresh the bounding boxes.
- Performance tweaks by reducing Matrix operations per render pass.
- More JointMatrix Palette caching tweaks:
- The cache has been moved to drawable for more benefit (reduces CPU overhead when rendering shadows and materials by caching the jointmatrixpallette).
- Sacrifices some potential cache locality but savings seem to outweigh this.
Other Lab-Derived Updates
Additional Lab updates worth noting are:
- BUG-216339 – Add a Click to: action to the Build / Edit floater to disable clicking objects that can be set per-object in a linkset – see Left-Click None Option, below, for more.
- BUG-216416 – Add a transparency indicator for invisiprims. When “Highlight Transparent” (CTRL+ALT+T) is used, invisiprims will now be highlighted in green.
- BUG-225670 – Include the full Windows 10 build number in Help > About Second Life and logs
- TextureLoadFullRes setting no longer persistent, to avoid issues with accidentally setting it on systems which cannot handle the memory load.
- The CTRL key must be held when dragging inventory folders into in-world objects. This change was primarily made to address accidental inventory “loss” by dragging a folder of no copy items into an in-world object.
- Fix for your avatar not standing up after pressing Shift+Alt+S keyboard short-cut.
Firestorm Updates and Additions
One of the major issues for mesh content creators in Second Life is the mesh uploader. Among the specific complaints relating to it are: poor error handling; a tiny preview screen (and the poor rendering within it), and a lack of meaningful information. Linden Lab is aware of the shortfalls, and is considering the potential for making changes to the uploader. However, and purely for Firestorm at present, Beq Janus has taken matter into her own hands and worked (as a developer and as a content creator herself) on trying to improve the uploader.
Her specific changes comprise:
- Upload cost and physics cost calculation breakdowns – see below for more.
- Physics details, the costs of the different types of physics (convex hull, prim).
- Resizable preview window with higher resolution image and iImproved shading/lighting (see image above).
- Correct highlighting of degenerate mesh.
- Improved error handling for physics models (avoid some MAV errors).
- UV Guide overlay.
Beq has provided detailed documentation to go with the revised uploader, and I’ll refer you to her blog for the specifics.
Other Build Updates
Left-click None option: Objects and items in linkset can be set to have a left-click option of None. This allows transparent prims / mesh to be clicked-through that might otherwise be in the way when trying to touch other objects within a scene (such as seats, etc). Build / Edit floater > Click to > drop down (via Linden Lab).
- UNIX time macro has been added to the LSL preprocessor to allow easy automatic versioning (FIRE-22866).
- Selecting large font sizes in the script editor will no longer cause numbers above 999 to lose their large digit (FIRE-23047).
- The Recompile button will no longer be enabled for No Mod scripts (FIRE-23054).
- The physics shape for thin meshes should be correctly handled when analysing physics (FIRE-23053).
- Preference > Chat > CmdLine: tp2 chatbar_as_cmdline now takes new user name format.
- Preferences > General > Language drop-down: added Italiano (Italian) beta.
- Preferences > Colors – Miscellaneous > Area search beacon colour: set the colour to use to highlight the area search cross hair beacon.
- Preferences > Graphics > Rendering > Restrict maximum texture resolution to 512px (64bit only, requires restart) – limits the display of in-world textures to 512px for 64-bit viewers.
- Preferences > Network and Files > Connection > Browser Home Page: set a preferred home page to be displayed with the built-in web browser when using the tool bar button or CTRL-SHIFT-Z.
- Also, default setting for both CTRL-SHIFT-Z and tool bar button is https://duckduck.com.
- Firestorm > Protection > Enable Spam Protection even for objects owned by you. (FIRE-23138).
- Note spam chat from the avatar’s own attachments is not logged when anti-spam is enabled.
- Firestorm > Build 2 Tab >Enable extend script info details – provides additional script information feature – useful for builders.
Avatar, Appearance and Inventory
Experimental Teleport Attachments Fix
Recent server-side changes can result in object messages for attachments begin delayed until a teleport has technically completed, causing the messages to be killed on receipt, resulting in attachment loss.
This experimental fix is designed to try to prevent this, by introducing a timer that should prevent attachments from being detached temporarily after a teleport has completed.
The timer is configured via Advanced menu > Debug Settings > FSExperimentalLostAttachmentsFixKillDelay. The recommended setting is 3 seconds.
Note: this setting will also prevent the deliberate removal of attachments for the specified period of time after a teleport.
Profiles: Add to Contact Set
With Firestorm 6.0.1 it is possible to add someone to one of your Contact Sets directly from their legacy Profile floater. Simply click the gear icon (bottom right of the Profile floater and select Add to Contact Set. This displays an Add To Contact Set picker, allowing you to select (or create) the Contact Set to which you wish to add the avatar.
Other Avatar / Appearance / Inventory Updates
- A box (■) indicator will be displayed in the complexity display in an avatar’s name tag if it is impostored due to texture surface area exceeding the limit.
- Animation Override (AO) sets are now sorted by name rather than UUID.
Navigation and Communications
- New Whisper chat ring.
- Chat rings now optional, and can be disabled / enabled by displaying the mini map (World menu > Minimap or CTRL-SHIFT-M), then right-clicking on the mini map and selecting the options under Chat Distance Rings.
Auto Replace for Note Cards
Auto-Replace now allows for the dynamic replacement of text within note cards when the Auto Replace function for spelling is enabled via Preferences > Chat > Typing > Auto Replace (see the Firestorm wiki on Auto Replace).
Snapshot Floater – Save To Disk
Firestorm 6.0.1. introduces two changes to snapshot behaviour when saving to disk.
Unable To Save Snapshot
If the viewer is unable to save a snapshot to disk, or the save process is manually cancelled, the Unable to Save Snapshot pop-up (requiring OK to be clicked) is no longer displayed. Instead, the message Failed to Save to Computer is displayed at the bottom of the Snapshot Floater (arrowed, right).
Default Snapshot File Name
A new option has been added so that when saving snapshots to disk, it is possible to disable the automatic use of the last file name from the previous session, if required (ringed, right).
When checked, the first time a snapshot is saved to disk during a log-in session, the last used file name will be displayed in the Save / Save As dialogue box. When unchecked, the default file name of “snapshot” will be displayed in Save / Save As when saving the first snapshot in a session.
Note: according to the JIRA (FIRE-22853), the last-used file location should not be retained by a new log-in session if this option in unchecked. However, in testing, this did not appear to be the case.
Other Updates of Note
- KDU to updated to version 7.A.5.
- FMOD Studio updated to version 1.10.09.
- open_libndofdev for Linux updated to version 0.9.
- Music stream metadata should now display for OGG Vorbis (FIRE-23125).
- Various improvements to the LSL Bridge Flight Assist:
- Adjustments to speed.
- Addition of proper mass measurement.
- Flight Assist now works with llSetForce() instead of llApplyImpulse()
- Hover Helper force now treated as a region directional vector (FIRE-21622).
- multi-object touch should now work with Area Search.
- Improved notification colours for Starlight / Starlight CUI skins (FIRE-22136).
- See the full fix log for all fixes with this update.
- Translation updates and improvements for German, Italian, Japanese and Polish languages.
- The context menu in text entries can now be opened with the Windows keyboard (FIRE-19933).
- Improved the layout of the inspect floater.
- Viewer should no longer sometimes crash when creating the LSL Bridge (FIRE-22962), or when trying to create the Bridge with an invalid script.
- Please refer to the release notes of OpenSim updates.
Note: There are no RLV/RLVa updates with this version of Firestorm.
Firestorm 6.0.1’s major feature is the inclusion of Animesh, which has been in constant demand since the Lab promoted their own Animesh viewer to release status on November 14th, 2018. I have not extensively tested the Animesh capabilities, but the testing I have done on both the official viewer and Firestorm show they work as anticipated. How much of a performance hit Animesh proves to be largely depends on how popular it becomes and how people use it within their regions / parcels.
For mesh creators, Beq’s improvements to the mesh uploader are liable to be of far more significance, and Vir Linden, who is about to look at the uploader in the official viewer, has already expressed an interest in finding out more about Beq’s work; it’ll be interesting to see if it is contributed to the Lab and how much of it might be adopted / adapted by LL should a project be formally defined to update the uploader.
Performance-wise, I’ve not seen any major improvements running various 6.0.1 pre-release and beta versions on my hardware when compared to 5.1.7. I have, however, found the majority of them – including this beta, stable and I’ve not encountered any issues of note, even when playing around / bashing on Animesh.