Firestorm 6.3.2: welcome to Bakes on Mesh

On Monday, September 30th, 2019, Firestorm released version 6.3.2.58052 of their viewer.

This release features the awaited support for Linden Lab’s Bakes on Mesh capability, together with a number of Lab-derived updates and updates from the Firestorm Team.

Please note that this update is for Second Life only – see below for more.

 

Table of Contents

As per usual, this article provides an overview of the more visible updates in the release. Please refer to the release notes for a full list of updates and all associated credits. Also, note that this update means that version 5.1.7.55786 will be blocked from logging in to the Second Life grid in the near future – check the Firestorm blog for updates.

Why No OpenSim Version?

Jessica Lyon, project lead for Firestorm, recently blogged on the situation regarding OpenSim, and some of the steps the team are having to reverse as well as to take in order to offer some level of support for OpenSim unless they can obtain an OpenSim developer to assist with the viewer. For details see OpenSim the Good, The Bad and the Ugly.

At that time, Jessica had been hoping to provide OpenSim support “as is” with future releases of Firestorm – and had planned this to be the case with this release. However, a major issue was found with this release that could result in OpenSim regions crashing.

This will take time to resolve – hence no OpenSim version with this release. Instead, Firestorm will continue to offer version 6.0.2.56680 for OpenSim users. As the 6.3.2.58052 release installs separately to 6.0.2.56680, both versions can be run side-by-side on the same computer for those wishing to access both Second Life and OpenSim.

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.3.2.
  • Please refer to the official release notes for a full breakdown and changes, updates and credits associated with this release.

Again, please refer to the Firestorm 6.3.2 release notes for details of specific Lab-derived fixes for this release.

Lab Derived Updates

The version of Firestorm brings the viewer to parity with the Linden Lab 6.3.1 code base, with some cherry-picked updates from upstream release candidate versions.

Bakes on Mesh

Simply put, Bakes on Mesh (BoM) allows system clothing layers as used with the “classic” Second Life system avatar – skins, tattoos, underwear, shirt and jacket layers – to be applied to mesh bodies and heads, and without (necessarily) the need for additional applier systems.

The system requires mesh bodies and heads to be “BoM enabled” – and many creators have already updated their products, or are in the process of updating their products to support Bakes on Mesh. In addition, some applier makers are producing applier systems that leverage Bakes on Mesh to apply wearables to mesh bodies and heads – although these may be limited in some respects due to differences between how skin textures and mesh bodies are made).

Through Bakes on Mesh, Linden Lab hopes:

  • Users can avoid the need to use appliers, but can add wearables to their mesh avatar directly from inventory.
  • Creators will be able to simplify avatar mesh bodies and heads by removing the need for some of the “onion” layers. This should – if done – reduce the rendering complexity for bodies and heads, thus hopefully improving people’s SL experience (as avatars won’t be quite so resource intensive or require quite so much “assembly time” when encountering them on logging-on or after teleporting somewhere).

Note that Bakes on Mesh support is required to both use the BoM capability and to correctly view mesh avatars using BoM.

Bakes on Mesh adds new options for applying suitable textures to the baking channels for application on a mesh body by the Bake Service

For more detailed information on Bakes on Mesh, please refer to the following links:

Linden Lab:

Creator-related BoM documentation:

Informative Bakes on Mesh blog post:

In addition, Firestorm has created their own Bakes on Mesh wiki.

External Note Card Editor

Note cards can now be edited using an external editor.  Firestorm has adopted this as follows:

  • Select your preferred editor:
    • Go to Preferences → Firestorm → Build 1 → External Editor
    • Click Browse alongside the External Editor text entry field.
    • Use the picker to navigate to your preferred text editor and select its .EXE / launcher.
    • Click OK
    • The path to the editor should now be displayed in the text field.
    • This generally only has to be done once, unless you opt to change your preferred editor.
You can now set an external editor when writing / editing note cards
  • To use the external editor:
    • Create / open a note card for editing.
    • Click on the Edit button in the bottom left of the floater.
    • Your external editor will open and load the text.
    • Edit the text as required, and save using the external editor.
    • The edited text will be uploaded to the note card and saved in it.

Notes:

  • There is no charge applied for the upload and saving to the note card.
  • Rich text editing (bold, italic, indentation, etc) used within the external editor will be ignored and the text converted to plain text for saving to the note card.

Other Lab Updates of Note

  • Ability to duplicate a group role – allows you to duplicate a group role so that the copied role has the same permissions and you can just give the copied role a different title (see: BUG-226986).
    • Open the group profile → Members & Roles → Roles → Left click on a role to select it → Click the Copy Role button
  • Animesh objects not being highlighted when viewing objects owned by users in About Land fixed (see: BUG-227240).
  • Animesh objects should now be easier to select (see: BUG-226860).
  • Depth mode snapshots no longer broken when snapshot size is set to anything above current window size (see: BUG-227191).
  • Scoreboards and visitor trackers broken by the last CEF update should not longer be broken (see: BUG-226704).
  • Viewer-side support for playback of sound files up to 30s in length
    • Note this feature is awaiting simulator support to work.
  • The ability to share photos & post to Facebook has been removed from the viewer (see: BUG-225205).
    • This has been broken at the Facebook end for some time, with no sign of being fixed.
  • Build → Texture → Align Planar Faces should now work on normal or specular maps (see: BUG-6489).
  • Under Help → Report Abuse, Gaming Policy Violation has been revised to Skill Gaming Policy Violation for clarity.

Firestorm Updates

Link to Discord

 6.3.2.58052 includes the ability to link your Second Life account with your Discord account. Once connected, Discord will show your Second Life on-line status & session length, and optionally, your user name and location in SL.

Discord floater

Notes:

  • This capability only works with the Discord client – it does not work with the Discord web pages.
  • To work, you must have the Discord client running when attempting to link to it from Firestorm.
  • Both Discord and Firestorm must be running with the same access level (note: it is not recommended you run discord in Admin mode).

To link you SL and Discord accounts:

  • Go to Comm → Discord …
  • The Discord floater opens.
  • In the floater you can opt to:
    • Automatically display you are using Second Life / Firestorm whenever you log-in to the viewer.
    • Display your Second Life user name.
    • Select whether or not you wish to display your location in Second Life, or, if opting to show your location, opt to only display it according to the maturity rating of the region you are in.
    • Create a list of region names you do not wish to have displayed by Discord when you are visiting them, regardless of any maturity rating set in the panel.
  • When you have set your preferences, click the Connect … button.
  • Once connected, you can disconnect from Discord at any time by displaying the panel and clicking Disconnect …

Avatar, Appearance and Inventory

Attachment auto-refresh: Firestorm 6.3.2.58052 adds a timer for automatically refreshing attachments when an attempt is made to kill them after a teleport / region change. It is designed to help resolve issues where your attachments are invisible to observers after a teleport or region change, and provides the same functionality as the manual Avatar → Avatar Health → Refresh Attachments (Alt-Shift-R).

Optionally, if the debug setting FSExperimentalLostAttachmentsFixReport is set to TRUE, Firestorm reports attachments that were attempted to get detached during a teleport or region crossing to nearby chat, followed by reporting “Refreshing attachments…” to nearby chat when the auto-refresh starts.

See FIRE-12004 and BUG-7761.

Profile Links to Force Appearance Change: it has been possible for users to put obfuscated links (e.g. “Photo of me in RL”) in their profile floater that, when clicked by another user, would replace outfit with one of the default outfits from the inventory library.

With this update, such links will no longer work, and the obfuscated link will display as “Wear Inventory Folder”. This matches a similar fix included in the Linden Lab Legacy Profiles folder. See also: FIRE-24262.

Fixes:

  • Removal of the restriction on adding system layers with identical asset UUIDs at the same time (see: FIRE-24334).
  • LookAt target clamping no longer causes your avatar eyes to cross (see: FIRE-24175).
  • The Firestorm Animation Overrider should now work correctly with child prim sits.

General Updates of Note

  • Movement at region crossing: this release fixes the issue of region crossing Predict option (Preferences → Move & View → Movement at Region Crossing) behaving like Stop (see: FIRE-24184).
  • The option Use HTTP For Receiving Textures has been removed from the SL-only version of the viewer’s Preferences.
    • This option forced the viewer to switch from UDP texture fetching to HTTP.
    • As Second Life no longer uses UDP for asset fetching (including textures), the option is no longer required for the SL version of the viewer, thus prompting its removal (see: FIRE-24256).
  • Payment confirmation is now skipped if paying yourself (e.g. paying your own tip jar) – see FIRE-24208.
    • Also fixed a case where the payment confirmation notification would not be shown if the amount would be exactly the remaining L$ balance.
  • FMOD Studio updated to version 2.00.03.
  • RLV updated to RestrainedLove API: RLV v3.2.1 / RLVa v2.2.0.58052.

Feedback

I actually don’t have a lot to report; I’ve been using the Bakes on Mesh betas for some time, and found the BoM functionality works fine after some early hiccups. One or two of the early beta gave some crashes for me, but the 6.3.2.58051/58052 versions (the latter including a minor update from 58051) have between them been stable – although I’ve only had the 58052 version installed for the time it has taken me to write this review.

Related Links

Firestorm 6.2.4: EAM and paving the way

On Monday, July 15th, 2019, Firestorm released version 6.2.4.57588 of their viewer.

However please note that this release is for Second Life only.

Essentially a  maintenance update, Firestorm 6.2.4.57588 brings the viewer up to parity with the official viewer, adding a range of fixes, improvements and updates from both Linden Lab and via the Firestorm team. The major new feature for this update is the Estate Access Management options.

As such, this release paves the way for Firestorm to be able to adopt the Lab’s Bakes On Mesh and Environment Enhancement Project, once these have in turn been released by Linden Lab.

Table of Contents

As per usual, this article provides an overview of the more visible updates in the release. Please refer to the release notes for a full list of updates and all associated credits. Also, note that this update means that version 5.0.11.53634 will be blocked from logging in to the Second Life grid in about three weeks.

A small personal note: my apologies to Firestorm users who may have been directed to this post by the Firestorm team’s release announcement or the Firestorm 6.2.457588 release notes and were unable to find it. My ISP suffered a major (8+ hour) outage some 90 minutes before the release was made, preventing me from uploading and posting this overview. 

Why A Second Life Only Release?

As noted above, Firestorm 6.2.4.57588 is for Second Life only. This is because Firestorm are changing how they support Second Life and OpenSim grids. You can read the full details in the official Firestorm blog post Second Life and OpenSim are No Longer Joined  at the  Hip, but in short, and in the future:

  • The Firestorm code is forked into two repositories: Second Life and OpenSim.
  • The Second Life dedicated viewer’s grid manager will only offer Agni and Aditi (SL main and beta grids).
  • The OpenSim dedicated viewer’s grid manager will NOT offer Second Life grids.
  • If you wish to access both OpenSim and Second Life, you will have to install both versions of Firestorm
  • the two versions will install entirely independently to one another and will not share settings or cache, so they will not conflict with each other.

To assist is identifying the two differernt grid versions, the Firestorm downalod pages has been changes to clearly differentiate between Second Life and OpenSim.

The revised Firestorm grid download selections

Note that at the time of writing, the OpenSim download page points to Firestorm 6.0.2.56680, which still works on both SL and OpenSim, and will use the same settings folders as 6.2.4. This will change with the next Firestorm update.

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.2.4.
  • Please refer to the official release notes for a full breakdown and changes, updates and credits associated with this release.

Lab Derived Updates

Firestorm 6.2.4.57588 brings the Firestorm viewer up to the current (at the time of writing) Linden Lab release viewer, version 6.2.3.527758, formerly the Rainbow RC viewer promoted on June 18th, 2019.In addition, this release includes some upstream fixes from current LL RC viewers, such as the HiDPI retina display support on Mac systems (Love Me Render RC).

Please refer to the Firestorm 6.2.4 release notes for details of specific Lab-derived fixes for this release.

Estate Access Management (EAM)

It has long been the case that the lists for managing access to a region / estate have been crammed into the General tab of the Region / Estate floater (World > Region / Estate or ALT-R). This has made the management of these lists – particularly the Banned list – difficult when reaching large numbers.

The Estate Access Management (EAM) project was introduced by Linden Lab to address the various shortfalls with the presentation of these list, through both back-end changes and a refactoring of the Region / Estate floater. Firestorm release 6.2.4.57588 includes the updated viewer UI, allowing estate owners and officers to make use of the improved tools.

In particular, the EAM moves the access control elements of the Region  / Estate viewer away from the General tab and into their own dedicated tab (show below).

Estate Access Management: as they have previously appeared (left) and as they are under EAM (right) – note: user names have been redacted from this lists shown

In terms of adding or removing names and groups, the new Access sub-tabs work in much the same way as the list boxes in previous releases. However, with the new design, additional functionality is added to some of the lists:

  • The Banned list additionally records:
    • The last date on which a banned individual logged-in to Second Life (to assist with housekeeping the list – if an account hasn’t been used in X months or years, why keep it on the list?).
    • The date on which an individual was banned.
    • The name of the estate officer / region holder who implemented the ban.
  • The Banned tab can be sorted into ascending / descending order by banned name, date last logged in, date banned, or by person banning them. Click on the column title to sort.
The Banned list provides more functionality: search, re-ordering, date banned, who did the banning (only applicable for banned implemented after the EAM back-end was deployed by Linden Lab earlier in 2019, pre-existing bans will have “n/a” in the new columns, as indicated by the Banned By column in this image. Note that names have been redacted from this list
  • The Estate Managers, Allowed and Allowed Groups tabs can be sorted into ascending / descending order by name. Click on the column title to sort.
  • The Allowed Groups, Allowed and Banned tabs all include a search option.
  • The number of allowed Estate Managers is increased from 10 EMs to 15 EMs – again in response to many requests from region holders.

Continue reading “Firestorm 6.2.4: EAM and paving the way”

Firestorm 6.0.2: Animesh release

On Sunday, February 17th, 2019, Firestorm release version 6.0.2.56680 of their viewer, marking the official release of Animesh support within Firestorm.

This release is essentially a follow-on to the Animesh Early Access release made in December 2018.

Table of Contents

As I covered this in Firestorm 6.0.1: Animesh Early Access, aside from highlighting some of the more user-visible updates in that release, this article provides information on those updates specific to Firestorm 6.0.2.

Please use the table of contents above 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.

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.2.
  • Please refer to the official release notes for a full breakdown and changes, updates and credits associated with this release.

Notable Firestorm 6.0.1 Updates

The following is a short update of some of the more user-visible updates present in the Firestorm 6.0.1 Early Access release, presented for the benefit of users who may not have downloaded that version.It includes both Lab-drived and Firestorm-specific updates. For a more detailed overview on that release, please refer to Firestorm 6.0.1: Animesh Early Access.

Animesh

For a detailed overview, see my Firestorm Animesh notes.

Animesh allows the avatar skeleton to be applied to any suitable rigged mesh object, which can then in turn be animated using suitable scripts and animations contained within the object’s Contents. 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 . 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.

The best way to get started with Animesh is to use the available resources. These include:

Firestorm Animesh Additions
  • Derender Animesh: depending on your system, Animesh may impose some performance impacts, particularly where a lot of Animesh is active within a scene. To help mitigate this, Firestorm 6.0.2 includes an option to derender all Animesh in a scene (Developer menu > Rendering > Derender All Animesh). Note that this is only temporary, and derendered Animesh will reappear after a teleport or re-logging.
  • 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 Notable 6.0.1 Updates

Additional updates in the Firestorm 6.0.1 pre-release worth noting are:

  • Mesh Uploader (for full details on the mesh uploader changes, please refer my Firestorm Mesh Uploader notes): Beq Janus has overhauled the mesh uploader to improve its use and the information it provides. She has also provided comprehensive documentation on these updates, which are summarised below:
    • Upload cost and physics cost calculation breakdowns – see image below for more.
    • Physics details, the costs of the different types of physics (convex hull, prim).
    • Resizable preview window with higher resolution image and improved shading/lighting.
    • Correct highlighting of degenerate mesh.
    • Improved error handling for physics models (avoid some MAV errors).
    • UV Guide overlay.
    • Note Firestorm 6.0.2 includes further updates to the uploader
  • Experimental Teleport Attachments Fix (Debug Settings > FSExperimentalLostAttachmentsFixKillDelay): a timer delay designed to prevent attachments from being detached temporarily after a teleport has completed.  Works with FSExperimentalLostAttachmentsFix when set to TRUE; set to 3 seconds by default.
  • Left-click None option (Build Menu):  allows transparent prims / mesh to be clicked-through that might otherwise be in the way when trying to touch other objects (via LL).
  • Auto Replace for Note Cards: 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).

Linden Lab Derived Updates in Firestorm 6.0.2

This version brings Firestorm up to parity with Linden Lab release viewers through to release version 6.0.1.522263 (formerly the Spotykach RC viewer, promoted on December 13th, 2019. Major updates in that release include:

  • Voice Server:
    • Second Life: Vivox version 4.9.0002.30313 (Mac and Windows) (Opensim: Vivox version 4.6.0017.22050 (Mac and Windows); Linux: Vivox native voice version 3.2.0002.10426, Firestorm only).
  • Chromium Embedded Framework (CEF) Dullahan:
    • Dullahan: 1.1.1080
    • CEF: 3.3325.1750.gaabe4c4.513446
    • Chrome: 65.0.3325.146
    • Page of test URLs for Dullahan. With the Developer Menu enabled (Ctrl Alt Q) press Ctrl-Shift-Z then the Home page button.

Firestorm 6.0.2 Updates

Appearance and Inventory

  • The Avatar menu includes new short cut for the Avatar > Avatar Health > Refresh Attachments option (Alt-Shift-R).
  • Replace Links – Delete links check box

    Inventory: Delete Links: the Replace Links inventory option now includes the ability to delete all links to an object:

    • Open your inventory.
    • Locate the object which has links you wish to delete (or one of the links themselves). Right click on the item / link and select Replace Links.
    • The Replace Links dialogue box opens, recording the object link name, the option to replace it with a new name and a new Delete Links Only check box.
    • Click the Delete Links check box to activate it. The Replace field in the dialogue box is replaced by the warning Links To This Item Will Be Removed.
    • Click Start to delete all links.
  • Experimental Lost Attachments Report (Debug Settings > FSExperimentalLostAttachmentsFixReport): when enabled, this reports attachments that were attempted to get detached during a teleport or region crossing to nearby chat.
  • Inventory should no longer automatically opening to show new items regardless of settings (FIRE-23476).
  • Enabling Disable Random Eye Movements (Preferences > Firestorm > Avatar > Disable Random Eye Movements) will no longer cause the avatar’s hands to splay (FIRE-23457).

Build Updates

  • Revisions and updates to the mesh uploader introduced in Firestorm 6.0.1
    • Allow intentional degenerate placeholders – this fixes the problem of “Physics mesh too dense” false positives (FIRE-23367 and FIRE-23387).
    • Allow override of client side mesh validation as a workaround for edge cases and different grid validation.
      This effectively restores previous server-side MAV error dialogues alongside client-side warnings.
    • Fixed up 3-point lighting (so it has 3 points) that was messed up in a rogue merge.
    • Fixed up black bar in mesh preview when the mesh uploader is used with low resolution screen (FIRE-23340).
    • Increased panel height to avoid warning message overlapping.
Mesh Uploader: new cost calculations breakdown elements by Beq Janus – see Firestorm 6.0.1: Animesh Early Access

UI Updates

  • Texture picker should no longer open the wrong floater when pressing space in preview mode (FIRE-23582).

RLVa Updates

Firestorm is still using RestrainedLove API: RLV v3.2.1 / RLVa v2.2.0.56680.

@setgroup Throttle

With Firestorm 6.0.2 @setgroup is throttled to one (unowned) call every 60 seconds across all objects. An object a @setgroup lock may bypass this throttle once, to allow @setgroup=n,setgroup:[;]=force to succeed regardless of any/other objects’ command history.

This will break all animated group tag cyclers introduced after the @setgtoup feature was added to Firestorm 5.1.7. However, it has been introduced at Linden Lab’s request due to the performance issues multiple frequent @setgroup calls were causing (each call generates a database write). Further, Linden Lab will shortly be introducing a server-side throttle to active group changes and group role changes, and so @setgroup will be broken in any viewer using it.

Please do not blame Firestorm or any other TPV using @setgroup for this change. There is nothing that can be done about it, given the forthcoming server-side throttle. We did attempt to contact all the sellers of these group title animators on the Marketplace many weeks ago to warn them that the feature had to be removed & sadly only one creator removed their listing.

Other RLVa Changes
  • New ‘RLVaSplitRedirectChat’ setting: splits long chat lines when @redirchat restricted.
    • Debug: RLVaSplitRedirectChat) – set to TRUE.
    • Menu bar > RLVa > Split Londe Redirected Chat
  • Fixes for:
    • @setoverlay_alpha causing a diagonal line to appear on the rendered texture.
    • @shownames exceptions should not have their name anonymised in nearby chat.
    • @shownames exceptions not having the correct colour on the minimap (FIRE-23473).

Other Updates of Note

  • FMOD Studio updated to version 1.10.10.
  • KDU updated to version 7.A.6.
  • Firestorm application icon should no longer randomly flash on the Windows 10 taskbar (FIRE-23498)
  • Fix for the camera floater zoom glitch (FIRE-23470).
  • Firestorm should no longer crash when adding a large number of users to a contact set.
  • Firestorm should correctly request microphone permissions on OS X Mojave (FIRE-23405).
  • The context menu in scroll lists (LLScrollListCtrls) can now be opened with the Windows keyboard (FIRE-19933).
  • Skinning and translation updates – see the release notes.

Feedback

Not a major update, unless you skipped the 6.0.1 early access. As with that release, the core element for 6.0.2 is Animesh, together with the revised mesh uploader for content creators.

Performance-wise, I’ve found Firestorm 6.0.2 to be equitable to Firestorm 6.0.1. Other than this, not a lot to report.

Links

Firestorm 6.0.1: Animesh Early Access

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 6.0.1.56538 may be classed as a”beta”, it should be considered as stable and as bug-free as any previous release.

In keeping with my usual approach to Firestorm releases, what follows is an overview of the release, highlighting some of the more significant changes I feel will be of most interest to users.

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 6.0.1.56538 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

Core Updates

This version brings Firestorm up to parity with Linden Lab release viewers through to version 6.0.0.520636 (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).

Animesh

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.

Left: any suitable rigged mesh object can be converted into Animesh by adding animation scripts and toggling the Animesh check-box in the viewer. Right: one possible outcome of Animesh is that over time, it might discourage the use of alpha-flipping to simulate animation. This involves creating multiple versions of something like an animal (or parts of an animal) and then using a script to reveal them in turn, while keeping the other hidden with alpha masks. While it results in simulated animation (such as a squirrel climbing a bird feeder), alpha flipping is very performance / rendering intensive (r)
How To Get Started With Animesh

The best way to get started with Animesh is to use the available resources. These include:

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-216339Add 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.

Continue reading “Firestorm 6.0.1: Animesh Early Access”

Firestorm 5.1.7: back up to speed

On Tuesday, July 24th, 2018, the Firestorm team announced the release of Firestorm 5.1.7.55786. Coming somewhat later than had been hoped, it incorporates some significant updates from recent Lab viewer releases, together with updates from, and contributed to, the Firestorm team, plus the inevitable bag of bug fixes as well.

In keeping with my usual approach to Firestorm releases, what follows is an overview of the release, highlighting some of the more significant changes  I feel will be of most interest to users.

Table of Contents

 

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.

The Usual “Before We Begin” Bit

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 5.1.7.

Core Updates

  • Firestorm 5.1.7 has parity with all version of Linden Lab’s viewer, up to version 5.1.6, with additional cherry picked fixes from upstream of that release.
  • KDU updated to version 7.10.4 (7.A.4) – Kakadu release notes.
  • Firestorm 5.1.7 has been updated to Restrained Love API: RLV v3.2.1 / RLVa v2.2.0.55786 – see the RLVa 2.2 Release Notes for details.

Major Lab Derived Updates

This is a summary of the main updates derived from Linden lab’s core viewer code.

  • 64-bit Project Alex Ivy: rebuilds the viewer using 64-bit address space, utilising Linden Lab’s Alex Ivy code base. This should improve viewer stability, particularly for those with more than 4 Gb of memory, and possibly also improve performance.
    • As the 64-bit Alex Ivy code uses Linden Lab’s Havoc sub-libraries that are specific to Second Life, this means that the 64-bit versions of Firestorm for Windows and OSX now have both Second Life and OpenSim flavours, the latter allowing for continued support of OpenSim users.
    • The 64-bit Linux build remains with the Firestorm team’s own 64-bit code.
  • Media Updates – Project Dullahan: a series of updates, fixes, improvements and security patches for the Chromium Embedded Framework (CEF), that is the basis for the viewer’s built-in web browser.
    • The option to not accept cookies has been removed due to complexities of not doing so in the in-viewer browser. For a more controlled cookie experience, an external full-featured browser may be better.
    • Also includes updates to VLC, that provides support for video media playback.
  • Rendering Improvements – Project love Me Render: this is a large collection of rendering improvement from LL. See the Love Me Render release notes for details.
  • Vivox Update and Voice Fixes: a number of updates / improvements:
    • Adds support for a higher quality voice using SLVoice version 4.9.
    • Fixes the apparent position of the speaker in nearby voice.
    • Improves retry behaviour when there are problems connecting or during temporary connection problems.
    • Logs more detailed information to the Lab for quantifying connection issues.
    • Improves security of the communication between the viewer and SLVoice.
    • Note that with these changes:
      • Local teleports will cause a short (a few seconds) voice interruption because the viewer now detaches from voice a little earlier in the teleport sequence.
      • With some SLVoice changes, the SLVoice executable can be copied into another viewer – that will not work with this update. There are changes to the connection between the viewer and SLVoice that are required. Talking to any viewer version should work.
    • Unrelated to voice, improves the validation of TLS certificates (security improvement).

Additional Lab-Derived Updates

This update also includes:

  • Avatar Physics improvements / safety checks: this fixes the problem with boob movement freezing & boobs getting stuck at odd angles (BUG-202903 / FIRE-22135)
  • Sculpties no longer rendered until fully loaded (or fail to load): this should remove the blobs and spheres see in-world as sculpties load.
  • Viewer frame rate fix (BUG-6943): viewer FPS should no longer drop when facing away from certain objects.
  • Inventory directory (BUG-214575 / FIRE-22281): the inventory directory should no longer be deleted while keeping the Delete key.
  • Report Abuse (BUG-202904 / FIRE-22152): double-clicking the Report Abuse option will no longer crash the viewer.
  • Materials update: normal and specular maps are no longer downloaded if ALM is off.

See the Firestorm Change Log for a full list of Lab and Firestorm fixes.

Firestorm Updates and Additions

User Interface: New Features and Updates

Menu Updates
  • Avatar:
    • A new Favorite Wearables option for accessing the Favorite Wearables panel (see below).
    • A new Show / Hide User Interface option (also ALT-Shift-U). Use the keyboard shortcut to show the UI when hidden, and note that chiclets and script dialogues remain visible with the UI hidden. CTRL+ALT+F1 will still hide / show the UI as well.
  • World:
    • Set Home To Here relocated to be with the other place-related options.
    • Teleport Here has an added separator between it and the menu options below it.
World menu: Set Home to Here has been relocated, and Teleport Home has an additional separator below it to help avoid incorrect clicks when using it.
  • Help: new item: Firestorm Events Calendar – opens the Firestorm Google Calendar of event, including all Firestorm classes.
Preferences Updates
  • Firestorm:
    • Uploads: new button to reset custom uploads folders to their viewer defaults.
    • Build 1: it is now possible to switch the Script Editor font type and adjust the font size. All pre-processed output also obeys the chosen font.
It is now possible to set the font style (drop-down arrowed left) and font style / size (drop-down arrowed right) for the Script Editor
  • Move & View: new options to manage viewer-side region crossings add to the Movement sub-tab. See Experimental Region Crossing Code, below.
  • User Interface:
    • 2D Overlay: new option to make the statistics bar ignore focus requests when closing other floaters with CTRL+W. When enabled, the statistics bar will never receive focus when another window is closed. Actions such as changing graph layout for items are still possible when enabled.
New Toolbar Buttons
  • Beacons: opening the Beacons floater panel.
  • Wearable Favorites: see Favorite Wearables Panel, below.
Panels and Floaters
  • Appearance Panel:
    • Wearing Tab: the Wearing tab now lists the rendering complexity of each worn in-world object. This can be accessed via the Avatar menu > Appearance (or CTRL-O) and then open the Wearing tab.
    • Outfits Tab:
      • Double-click will add/remove.
      • Wearing tab – double-click will remove for “Wearables” and “Temporary attachments”.
  • Inspect Panel:
    • A new “Options” button has been added to the Inspect panel allowing you to select which columns are displayed.
    • New object complexity count added to the information display on the left of the panel.

Favorite Wearables

The Favorite Wearables panel can be used to list frequently used items (e.g. HUDs, attachments) in a floater so they can be quickly attached or removed as needed. This can help with performance, as you can conveniently detach attachments you’re not using and remove their simulator script overhead, or take off HUDs you’re not using, to remove their texture memory use, then quickly re-attach them when needed without having to locate them in Inventory.

The panel has its own toolbar button for quick access., or can be opened via the Avatar menu > Favorite Wearables.

To add items to the panel:

  • Open the panel and your inventory.
  • Drag the items you want to display in the panel from inventory into the panel window. Note this will create a link to the original item in the #Wearable Favorites folder in inventory.
  • To remove an item from the panel, right-click on the item to highlight it and then click the Trash icon at the top of the panel. This will remove the item from the panel’s list, delete the link in the #Wearable Favorites, but will not delete the item from your inventory.

To attach an item listed in the panel, simply right-click on it to display a menu comprising the familiar Add, Wear, Attach to and Attach to HUD (for HUDs) options. This menu also allows you to view the object’s profile, or use Show Original to open your Inventory and highlight the original version.

The Favorite Wearables panel can be accessed via the Avatar menu or a new Toolbar button. It can be used to list HUDs and other frequently used attachments which can be added / removed via a menu.

Right-clicking on an attached item (shown in a different colour in the panel) will display a menu with options to edit the attachment (opens the Build panel), detach it, open its profile or locate the original in inventory.

In addition, the panel includes a search bar that will cause the panel to only display items which fully or partially match the text typed into it, and a drop-down list of sort options.

Continue reading “Firestorm 5.1.7: back up to speed”

Firestorm 5.0.11.53634: rendering, LOD and physics

On Wednesday, January 24th, 2018, the Firestorm team released Firestorm 5.0.11.53634. This is a significant update to the viewer, incorporating code updates from a number of recent viewer releases from Linden Lab, as well as some major updates from the Firestorm team and a number of important new features and updates, as well as a range of bugs fixes and improvements.

Given the extent of the updates in this release, and in keeping with my usual approach to Firestorm releases, what follows is  not an in-depth review of everything new  / updated in version 5.0.11.53579, but rather an overview, highlighting some of the more significant changes and updates I feel will be of most interest to users.

For full details of all changes, and all due credits to contributors, etc., please refer to the official release notes.

The Before We Begin

  • 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 5.0.11.

Major Lab Derived Updates

Firestorm 5.0.11 brings the viewer up to parity with the Lab’s 5.0.9 code base. It includes the following major updates from the Lab.

  • Asset-HTTP Project: Firestorm now fetches the majority of inventory assets (landmarks, wearables – system layer clothing and body parts), sounds, gestures and animations) the same way as textures, mesh and avatar baking information: via the Content Delivery Network (CDN), rather than through the simulator. This should make loading of such content both faster and more reliable.
  • 64-bit Havok sub-libraries: the 64-bit version of Firestorm now uses Havok physics with the mesh uploader , and can now visualise the pathfinding navmesh.
  • Group ability Always Allow ‘Create Landmark’:  this was accidentally removed from the viewer, and has now been returned. When enabled on a group role, it allows members of that role to override the teleport routing (e.g. right-click >teleport to) on the parcel if a landing point is set, as long as Direct Teleport is enabled on the region (BUG-100719).
  • Incorporation of the Martini (November 2017),  Moonshine (September 2017) and Margarita (August 2017) viewer updates.

Note: while Firestorm 5.0.11.53634 includes the 64-bit Havok sub-libraries for Second Life, it is not using Linden Lab’s Alex Ivy 64-bit code base. That will be for the next FS release.

Firestorm Updates and Additions

Viewer Performance: Mesh Rendering Information Features and Updates

Key among the updates to this release of Firestorm are new features and updates to a number of floaters intended to help users make better judgement calls on how content in Second Life might be affecting their viewer performance, and potentially make more informed choices about the goods they purchase in-world.

Build Floater – Physics View

The Show Physics Shape icon (Build Floater > Features tab) – disabled (top); enabled (bottom)

Firestorm now includes an option to viewing the physics shape of objects you can edit. Among other things, this can help avoid having items you drag from inventory fail to appear in-world, with the message “Failed to place object at specified location. Please try again.” appearing in the top right corner of the viewer window.

The option is on the Features tab of the Build floater, and takes the form of an eye icon to the right of the Physics Shape drop-down.

  • If displayed with a red line through it (default): show physics shape is disabled
  • If shown without a red line through it: show physics shape is enabled.

When enabled, the selected object’s physical shape is shown in blue. Sometimes this will match the shape of the object itself (below left); other times, it may not (below right). Any attempt to rez another item on the part of the object covered by the blue will succeed; any attempt to rez on the part of an object not covered by the blue will likely result in the “Failure to place object” message.

The show physics shape option: Build floater > Features > eye icon next to Physics Shape Type drop-down. When enabled, it shows the physics shape of an object, which may (l) or may not (r) match the physical shape of the object. Click for full size, if required

Showing the physics shape of surfaces reveals why some may be walkable and why avatars may have problems with others – such as colliding with “something” while apparently not standing close to an object, or being unable to pass through a gap or open doorway.

Notes:

Build Floater: Mesh Information

The Build floater also provides a range of new information specific to mesh objects and their level of detail (LOD). This can be seen on the Object tab of the floater when a mesh object is selected. For prim objects, the tab is unchanged and will display the “old” information (Path Cut, Hollow, Twist, Taper, etc.).

For a detailed examination of LOD please refer to For LOD’s sake stop! by Beq Janus. The following is intended to provide a brief overview of the mesh object information.

Mesh objects can comprise up to four different versions, as defined by the creator a very High detailed model, with a high count of triangles, displayed with the object is being viewed up close, and then up to three models with progressively less detail (fewer triangles), designed to be used the further away the camera is from the object (Medium, Low and Lowest). These are collectively referred to as level of detail models, and are designed to improve the rendering of scenes. In essence, the further away (or smaller) and object is, the less detail can be seen and so the less detailed versions can be under when rendering it, easing the overall rendering load.

The first two parts of the mesh information related to these models when a mesh object is selected:

  • Mesh Information: lists the number of triangles used in each of the LOD models the creator has provided (note that if two ore more of the model types has the same triangle count, it indicates the same model is being used (so if Low and Lowest both show 3, or example, the same 3-triangle model is being used for both)
  • Default Drop-down: allows you to preview each of the different LOD models for the object (make sure Default is selected after use).
Up to four LOD models can be defined for SL – from a highly detailed, high triangle count version to a very low detail / low triangle count version (top). The Mesh information display allows the triangle count for the available LOD models of an object to be checked (Mesh Information section), and the actual models themselves previewed (Default drop-down). It also provides information on when the models will be swapped, one to the next, according to your viewer’s LOD Factor and the distance of your camera from the object (shown enlarged on the right) – click for full size

The Object LOD behaviour section defines the distances from your camera at which the different LOD model will be swapped one for the next, as defined by the Linden Lab (LL) default LOD Factor (1.250), the Firestorm (FS) default LOD Factor (2.000) and your current LOD factor setting.

Continue reading “Firestorm 5.0.11.53634: rendering, LOD and physics”