Sunday, May 3rd saw the release of Firestorm 18.104.22.168325 Beta. This is another big update which brings Firestorm pretty close to being up-to-date with the Lab’s viewer.
However, it has been given a beta status as there are further important updates coming out of the Lab, such as fixes for AIS v3 attachment issues, the new Viewer-Managed Marketplace functionality, etc. As such, the Firestorm team will be working on a further release, which will be made available once the Lab has made these updates and new functionality generally available through their viewer release channel, and this will count as a “full” release of Firestorm.
Given the sheer number of updates in the release, I do not intend to cover everything here, but rather an overview of some of the more major / interesting changes, updates and fixes to be found in the release. for full details of all changes, and all due credits to contributors, etc., please refer to the official release notes.
The Before We Begin Notes
For best results when installing this release:
As this is a beta release, there will be no blocking of any older releases of Firestorm until after the next “full” release is made.
The 22.214.171.124325 release brings Firestorm up to parity with the Linden 3.7.26 code base (with some updates from the 3.7.27 and 3.7.28 releases). Given the last release (4.6.9) brought Firestorm to parity with the Lab’s 3.7.8 code base, this means this release includes a significant number of updates direct from the lab, which include, but are not limited to, the following.
Avatar Hover Height
The Lab’s Avatar Hover Height option is included in this release, allowing users to make on-the-fly adjustments to their Avatar’s relative position above the ground / the floor / an object it is sat upon, via a slider or spinner, with a range of +/- 2 metres. The option is accessible via the avatar right-click context menu / the pie menu, which displays the slider / spinner.
Avatar Hover Height can be used whether you are standing, sitting, using a poseball, etc. However, note that it is a change to the graphical representation of your avatar – the option does not make any associated change the avatar’s height in terms of platform physics.
Firestorm 4.7.1 includes the new default permissions panel for setting the initial permissions on created items – objects, uploads, scripts, notecards, gestures and wearables. contributed to the official viewer by Jonathan Yap under STORM-68, the new panel can be opened via Preferences > Firestorm > Build 1 > Default Creation Permissions.
Other Lab Updates of Note
- GPU Benchmarking Feature: in common with the Lab’s viewer, Firestorm no longer uses the GPU table to define your GPU and initially set the viewer’s graphics. Instead, a test is carried out when the viewer is first installed to determine the GPU type and graphics settings are initially set as a result of this test. You can, of course set alter your graphics settings to suit your needs / load your settings for any saved presets you have
- Server-side Appearance (SSA) polish / Advanced Inventory System (AIS v3): stability and performance improvements for SSA, including retry logic, removing redundant requests, detecting various appearance stuck conditions; the removal of code related to the old client-side baking framework; appearance bug fixes
- HTTP Pipelining and faster inventory fetching: significantly improves the download of data (currently avatar baking information, texture data, and mesh data) to the viewer and improves inventory fetching and loading on logging-in
- As HTTP fetching using HTTP is now used exclusively by SL (support for UDP fetching has been removed from the simulators), the option to disable HTTP Inventory has been removed from the Developer menu
- Joint offsets in rigged mesh attachment fixes: removes the unpredictability from attaching multiple meshes with joint offsets which meant you could see yourself with different joint positions at different times, and the way you saw yourself might not match up to what others saw. Instead, wearing the same set of meshes should always produce the same joint positions, and the way you see yourself should consistently match the way others will see you. The process for removing attached meshes is also more robust, so you should be able to reliably get your old joint positions back after meshes are removed.
- Obtain LSL syntax table from the simulator so that it is always up to date: see STORM-1831
- Added glossy reflections for projectors: This feature makes use of the glossiness parameter to calculate the “gloss” of projector reflections – see STORM-2067
- New unified snapshot floater and updated SL Share 2 capabilities: see Snapshots and Photography Updates, below.
Perhaps the most noticeable update in this release is the complete overhaul of the Preferences panel, tabs and sub-tab. Every major tab in Preference has been revised and rationalised, and most of the sub-tabs have been revised / added-to, along with a number of new sub-tabs being added to various tabs.
The result, while possibly confusing when first discovering a particular option has been moved, is actually a better, more logical set of Preferences tabs and sub-tabs.
Snapshots and Photography Updates
Firestorm 4.7.1 incorporates the unified snapshot floater developed by NiranV Dean and contributed for inclusion in the official viewer. This floater offers a much larger image preview window (which can be closed when adjusting a shot), and includes buttons for uploading images to Facebook, Flicker and Twitter.
The SL Share 2 functionality also introduced the ability to add filter effects to your images as they are taken, and Firestorm now incorporates this as well, with additional filter effects by Whirly Fizzle. These can be added directly to the image by clicking on the Filter drop-down and selecting the desired filter effect, which can then be seen in the preview panel.
24-bit Depth Map
The Firestorm snapshot floater also includes a new capture option when saving snapshots to disk: Depth (24-bit):. which encodes the pixel-to-camera distance in all three colour channels.
A video from Sempervirens Oddfellow demonstrates how to convert “Depth (24bit)” capture output.
In addition, Firestorm 4.7.1 provides fixes for the following issues:
- Snapshots posted to Facebook at current window size are terrible quality – FIRE-15728
- Snapshot format for disk changing when selecting snapshot to inventory or email – FIRE-7090
Firestorm obtains the Region Tracker from Alchemy viewer. It allows you to monitor how many avatars are present in regions of your choosing, and works in conjunction with the world map.
The floater lists all regions added to the Tracker, displaying them by label (set by the user), the region’s maturity level, its actual name and the number of avatars in the region.
The list can be sorted alphabetically by label or region name, and numerically by number of avatars present, and the width of the individual columns can be adjusted.
The top right of the floater includes three buttons which are, in left-to-right order:
- Refresh: refreshes the list and updates the avatar count in listed regions
- Bin: deletes a selected region from the list
- Map: opens the world map focused on the selected region.
Regions are added to the floater by opening the world map, locating them via Find, and then clicking the Track Region button in the lower right corner of the map’s legend. This will display a dialogue box allowing you to add a label for the region. Clicking OK in the dialogue box adds the region to the Tracker.
Inventory updates and fixes in this release include, but are not limited to:
- Support for ‘older than’ when inventory filtering (via Jonathan Yap / the LL viewer – see STORM-2034)
- New context menu option “Find in Main View” in Worn Items: right click any item in Worn tab of Inventory > Find in Main View; inventory will switch to the main tab with the chosen item highlighted
- New option to display the Received Items Folder at the bottom of Inventory and as a system folder in Inventory: Preferences > User Interface > Interface Windows > Show Received items folder in normal inventory / Always show Received Items button at bottom of inventory
- New silent agent inventory offer actions to legacy accept messages & separate show / accept. This addresses a number of issues:
- When enabling legacy accept messages, the notification now allows to perform silent actions without notifying the sender. limited to legacy accept messages due to the way V3 automatically notifies the sender if the offer is received
- Inventory offers from agents now allows the user to choose between either accepting the offer OR accepting and showing. This is independent from the ShowNewInventory debug setting (“Automatically show new notecards, textures, landmarks after accepting”). Due to the way inventory offers from groups or in-world objects work, there is no separation and accepting offers from these sources will still either open automatically or not, depending on the ShowNewInventory setting
- The new item will now only be shown in inventory if ShowInInventory is TRUE, and if the inventory panel is closed, it will be opened
- Throttled link replace actions to 25 items per second to improve reliability when replacing a large number of links (controlled via new debug settings: FSLinkReplaceBatchSize and pause time FSLinkReplaceBatchPauseTime.
Group Chat Snooze
From a feature originally implemented in Catznip, Group Snooze allows you to send a group chat panel to sleep for a pre-set time. Click the Zz button in the top right corner of the panel, and it will no longer be shown in the conversations floater or as its own floater, if displayed separately, until the snooze duration has passed (or you manually re-open it via your groups list). The panel will re-open on receipt of the first message after the snooze time has expired.
The snooze time for group chats can be set via Preferences > Chat > Chat Windows > Group Chat Snooze Duration (default: 900 seconds).
Group Panel Updates
Opening the Members & Roles tab in the Group folder now defaults to displaying the Roles sub-tab, rather than Members. This change was requested by Linden Lab to help ease system performance problems caused by the viewer requesting (and re-requesting) large group members lists when the tab defaulted to Members.
When exporting a group list, donated square metres are now included (Group Info > Members & Roles > Members > Export List).
Firestorm 4.7.1 has numerous building and scripting updates, including, but not limited to:
- Added the ability to choose which Linden plants and trees are rezzed from the build floater
- Added an option to select only copyable objects to Build options: Build > Options > Select only Copyable objects – FIRE-14593
- Added a confirmation when unlinking objects to prevent accidents – FIRE-15489 (if the confirmation is not displayed, check Preferences > Notifications > Alerts and make sure the warning hasn’t been moved to Never Show following a settings restore)
- Do not count mesh when calculating oxp objects to export – FIRE-15733
- Numerous LSL preprocessor fixes.
New Debug Settings
- RenderSpecularExponent added back – allows the user to make shiny objects look glossier and sleeker (LL update, see: STORM-2020)
- FSLinkReplaceBatchSize and FSLinkReplaceBatchPauseTime: throttle link replace actions to 25 items per second to improve reliability when replacing a large number of links
- FSUseAis3Api: will turn-off the AIS v3 functionality. Should only be used if your are experiencing severe issues of attachments being detached on region crossings (physical or via teleport) or on advice from Firestorm support
- FSDisableWMIProbing: setting to TRUE disables VRAM detection via WMI probing on Windows systems
Fix for usernames with underscores not allowing login on OpenSim
- Fix for the avatar picker not working anymore when using legacy simulator messages
- Fix for Mini-map texture being incorrect for variable size OpenSim regions
- Fix for osMessageObject(target, message) failing silently
- Fix for slamming the sim with ParcelVoiceInfo requests if voice is disabled at the parcel
- Fix for syntax Highlighting added for CHANGED_REGION_RESTART in OpenSim
- For for syntax Highlighting added for OsForceCreateLink, OsForceBreakLink and OsForceBreakAllLinks
- Possible fixes for crashes in Inworldz due to bad meshes
Passwords longer then 16 characters are now allowed on OpenSim grids.
Other Updates and Fixes
Firestorm 4.7.1 includes a huge number of fixes, improvements and tweaks – far too many to list here without simply repeating the release notes. however some additional updates people may be interested in checking via the release notes are:
- Numerous RLV/a updates, although RLV/a API remains at 2.8.0
- Voice and sound fixes
- Many, many communications fixes
- Library and package updates (Linux, OS X, Growl, cURL, webkit, etc.)
- Removal of Screen Space Reflections (SSR) due to rendering issues
- Improvements to help reduce the incidence of texture thrashing
- Multiple UI updates and fixes
- Language, translation and skinning improvements
- And more
I’ve been using Firestorm 4.7.1 since it first reached beta, and through the preview programme and found it to be generally stable and reliable, although I have experienced some severe attachment issues on region crossings, possibly as a result of AIS v3 rather than known server-side issues. Linden Lab have released a suite of fixes for such AIS v3 issues (Project BigBird), but these updates are still only at Project Viewer status, and so could not be incorporated into this Firestorm release. As noted at the top of this article, they will hopefully be in the next release, which should also include the Lab’s upcoming Viewer-Managed Marketplace updates as well.
Certainly, this release brings Firestorm very close to parity with the Lab’s release codebase (currently at 3.7.28, with firestorm based on 3.7.26). Again, as noted earlier in this piece, this is a considerable leap forward for Firestorm, given the 4.6.9 release only gave it parity with the Lab’s 3.7.8 code. So kudos and congrats to all of the team!