Skip to content

[FIRE-36987] Add configurable colours for agents loading - #289

Open
TlNKER wants to merge 1 commit into
FirestormViewer:masterfrom
TlNKER:fire-36987-cloud-color-chooser
Open

TlNKER wants to merge 1 commit into
FirestormViewer:masterfrom
TlNKER:fire-36987-cloud-color-chooser

Conversation

@TlNKER

@TlNKER TlNKER commented Sep 18, 2026

Copy link
Copy Markdown

This fixes my ticket on jira: https://jira.firestormviewer.org/browse/FIRE-36987

Summary

Adds two new preferences so the colour of the avatar loading/bakefail "cloud" particle effect can be customized, instead of it being a fixed color. Exposed as two color pickers under Preferences > Firestorm > Extras.

Details

  • New persisted settings 'FSCloudColorStart' / 'FSCloudColorEnd' store the start and end colors of the cloud particle effect.
  • 'LLVOAvatar::applyCloudColor()' applies both to 'sCloud's particle start/end colors, forcing alpha to the stock 0.1 / 0.9 envelope so the effect's shape, burst, scale and timing are unchanged - only the hue is user-configurable.
  • Changes to either setting are picked up live via a 'gSavedSettings' signal connection - so no restart required, and takes effect on the next avatar that shows as a cloud.
  • Two 'color_swatch' controls (Start / End) added to Preferences > Firestorm > Extras, bound directly to the new settings.

Testing

  • Built and installed to a local staging install with the default skin.
  • Verified in Preferences > Firestorm > Extras that both pickers open the color chooser and update the setting.
  • Verified an avatar currently rendering as a cloud (loading / bake fail) picks up a color change immediately, with no restart needed.

@TlNKER TlNKER changed the title FIRE-36987 Add configurable colours for agents loading [FIRE-36987] Add configurable colours for agents loading Sep 18, 2026
Comment thread indra/newview/app_settings/settings_firestorm.xml
@TlNKER
TlNKER force-pushed the fire-36987-cloud-color-chooser branch from a89b402 to de751ec Compare September 21, 2026 18:08
@TlNKER

TlNKER commented Sep 21, 2026

Copy link
Copy Markdown
Author

Whoops! clear oversight from my end, since I run pink default. Should be fixed now, so both Preferences float shows Red as default selected as well as the actual clouds are the usual red tones defined in cloud.xml until and if the user changes that.

// (LLControlVariable* control, const LLSD& new_value, const LLSD& old_value);
// the new_value itself isn't used since both colors need re-reading either
// way, so just re-apply from gSavedSettings directly.
static void onCloudColorChanged(const LLSD& new_value)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this extra function? new_value is never used, so you can just bind directly to LLVOAvatar::applyCloudColor() instead.

// the user changes either preference later (no restart needed - see
// applyCloudColor()).
applyCloudColor();
gSavedSettings.getControl("FSCloudColorStart")->getSignal()->connect(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably store the signal connection and disconnect before if connected, especially since there is a menu option to reload the particle cloud, so you will end up calling onCloudColorChanged multiple times.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants