Firestorm skin + themes for FS users (Grey/Dark/Blue/High Contrast) #201

Open
opened 2026-09-30 05:32:19 +00:00 by sky_line · 0 comments
Owner

Give people coming from Firestorm a familiar look: port Firestorm's own default skin ("Firestorm", default theme Grey) and its themes, and add the theme layer it relies on.

What Firestorm ships (phoenix-firestorm master, indra/newview/skins/)

skins.xml lists each skin and its themes:

Skin Themes Size
Firestorm (FS default) Grey (default), Dark, Blue, High Contrast, CtrlAltStudio 285 colours, 79 textures, 21 en XUI
AnsaStorm Bright Blue, Classic Brown, Ectoplasma, Blood 575 textures, 41 XUI
AnsaStorm Modern Blue 295 textures, 48 XUI
Starlight / Starlight CUI several ~6.1k / ~2.9k textures, 79 / 100 XUI
Vintage classic V1 83 textures, 68 XUI
Metaharper ~2.8k textures

Caveat: every FS skin overlays FS's own default skin (793 heavily modified XUI files). Much of the FS layout lives there, not in the skin. This ticket ports the look (colours, art, widget defaults), not FS's layouts.

Scope: Firestorm skin + themes

  1. Theme support: the skin search path becomes skins/<skin>/themes/<theme>/ → skins/<skin>/ → skins/default/, the same layering FS uses.
    • LLDir::setSkinFolder gains a theme level.
    • A SkinCurrentTheme setting (same name and meaning as FS, so the viewer importer can carry it over).
    • skins.xml-style theme listing. Our skins get a single implicit theme.
    • Preferences > Skins: a theme picker under the skin list.
  2. Port the Firestorm skin:
    • colors.xml (285) and the theme colour files: dark (12), blue (3), highcontrast (14), ctrlaltstudio (40).
    • Its 79 textures (+ textures.xml entries).
    • Widget defaults: widgets/floater.xml, line_editor.xml, simple_text_editor.xml.
    • FS-only colour names our code doesn't use: harmless, keep them. Colour names we use that FS lacks fall back to our default skin. Check both directions.
  3. Skip or rework the FS-specific XUI overrides: the 13 panel_edit_* wearable panels (× 10 languages), panel_fs_contacts_friends, panel_group_info_sidetray, panel_instant_message, panel_outfits_list, panel_outfits_wearing.
    • They reference FS-only controls and callbacks. Diff each against our default and port only the visual changes, if any; otherwise leave them out.
  4. Importer: slfloaterviewerimport: map FS SkinCurrent = firestorm + SkinCurrentTheme to ours, so Firestorm users land on the same look automatically.
  5. Licensing / credits: FS is LGPL-2.1. Check per-skin art credits before copying textures, especially Starlight, which is a separate project, and the CtrlAltStudio theme. Credit them in the skin manifest.json.

Later (optional)

  • AnsaStorm / AnsaStorm Modern / Vintage: same process, but more FS-layout XUI to audit.
  • Starlight / Starlight CUI: large, and need a licence check first.

Done when

  • Preferences > Skins lists Firestorm with its Grey / Dark / Blue / High Contrast / CtrlAltStudio themes.
  • Selecting one looks like FS's palette and art on our layouts, with no missing colours or textures (check the log for LLUIColorTable / missing-image warnings).
  • A Firestorm settings import selects it automatically.

Related: live skin switching #200 (themes should switch live too).

Give people coming from Firestorm a familiar look: port Firestorm's own default skin (**"Firestorm"**, default theme **Grey**) and its themes, and add the theme layer it relies on. ## What Firestorm ships (phoenix-firestorm master, `indra/newview/skins/`) `skins.xml` lists each skin and its themes: | Skin | Themes | Size | |---|---|---| | **Firestorm** (FS default) | Grey (default), Dark, Blue, High Contrast, CtrlAltStudio | 285 colours, 79 textures, 21 en XUI | | AnsaStorm | Bright Blue, Classic Brown, Ectoplasma, Blood | 575 textures, 41 XUI | | AnsaStorm Modern | Blue | 295 textures, 48 XUI | | Starlight / Starlight CUI | several | ~6.1k / ~2.9k textures, 79 / 100 XUI | | Vintage | classic V1 | 83 textures, 68 XUI | | Metaharper | | ~2.8k textures | **Caveat:** every FS skin overlays FS's own `default` skin (793 heavily modified XUI files). Much of the FS *layout* lives there, not in the skin. This ticket ports the look (colours, art, widget defaults), not FS's layouts. ## Scope: Firestorm skin + themes 1. **Theme support:** the skin search path becomes `skins/<skin>/themes/<theme>/` → `skins/<skin>/` → `skins/default/`, the same layering FS uses. - `LLDir::setSkinFolder` gains a theme level. - A `SkinCurrentTheme` setting (same name and meaning as FS, so the viewer importer can carry it over). - `skins.xml`-style theme listing. Our skins get a single implicit theme. - Preferences > Skins: a theme picker under the skin list. 2. **Port the Firestorm skin:** - `colors.xml` (285) and the theme colour files: `dark` (12), `blue` (3), `highcontrast` (14), `ctrlaltstudio` (40). - Its 79 textures (+ `textures.xml` entries). - Widget defaults: `widgets/floater.xml`, `line_editor.xml`, `simple_text_editor.xml`. - FS-only colour names our code doesn't use: harmless, keep them. Colour names *we* use that FS lacks fall back to our default skin. Check both directions. 3. **Skip or rework the FS-specific XUI overrides:** the 13 `panel_edit_*` wearable panels (× 10 languages), `panel_fs_contacts_friends`, `panel_group_info_sidetray`, `panel_instant_message`, `panel_outfits_list`, `panel_outfits_wearing`. - They reference FS-only controls and callbacks. Diff each against our default and port only the visual changes, if any; otherwise leave them out. 4. **Importer:** `slfloaterviewerimport`: map FS `SkinCurrent` = `firestorm` + `SkinCurrentTheme` to ours, so Firestorm users land on the same look automatically. 5. **Licensing / credits:** FS is LGPL-2.1. Check per-skin art credits before copying textures, especially Starlight, which is a separate project, and the CtrlAltStudio theme. Credit them in the skin `manifest.json`. ## Later (optional) - AnsaStorm / AnsaStorm Modern / Vintage: same process, but more FS-layout XUI to audit. - Starlight / Starlight CUI: large, and need a licence check first. ## Done when - Preferences > Skins lists **Firestorm** with its **Grey / Dark / Blue / High Contrast / CtrlAltStudio** themes. - Selecting one looks like FS's palette and art on our layouts, with no missing colours or textures (check the log for `LLUIColorTable` / missing-image warnings). - A Firestorm settings import selects it automatically. Related: live skin switching #200 (themes should switch live too).
sky_line added this to the Slipstream project 2026-10-06 15:04:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#201
No description provided.