From a6a2f98070cd55fcaadafc237bd0ffba9d466655 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Wed, 22 Jul 2026 17:41:55 -0700 Subject: Publish object inventories to external editor. (#5834) * Adding tight integration flag for vscode and open code through a URL. * [WIP] Publish objects and their contents from the viewer into VS code. * [WIP] Still very much a work in progress, supports most of the core operations publish, get, write, delete, and create. Still quite a few bugs to work out. * [WIP] Object publishing checkpoint. * [checkpoint] Script tight integration with vscode, object publishing. * Number of fixed issue. * A few redundancy and performance fixes. * Some cosmetics. * I like "Explore" better than "Publish" * Object renaming, luau inventory icon, runstate, restart. * Some clean up around permissions and possible nullptr deref. * Code review feedback. --- indra/newview/llinventoryicon.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'indra/newview/llinventoryicon.cpp') diff --git a/indra/newview/llinventoryicon.cpp b/indra/newview/llinventoryicon.cpp index 94b8c4bebf..64e142212d 100644 --- a/indra/newview/llinventoryicon.cpp +++ b/indra/newview/llinventoryicon.cpp @@ -101,6 +101,8 @@ LLIconDictionary::LLIconDictionary() addEntry(LLInventoryType::ICONNAME_MATERIAL, new IconEntry("Inv_Material")); + addEntry(LLInventoryType::ICONNAME_SCRIPT_LUAU, new IconEntry("Inv_Script_Luau")); + addEntry(LLInventoryType::ICONNAME_INVALID, new IconEntry("Inv_Invalid")); addEntry(LLInventoryType::ICONNAME_UNKNOWN, new IconEntry("Inv_Unknown")); @@ -150,7 +152,7 @@ const std::string& LLInventoryIcon::getIconName(LLAssetType::EType asset_type, case LLAssetType::AT_SCRIPT: case LLAssetType::AT_LSL_TEXT: case LLAssetType::AT_LSL_BYTECODE: - idx = LLInventoryType::ICONNAME_SCRIPT; + idx = assignScriptIcon(misc_flag); break; case LLAssetType::AT_CLOTHING: case LLAssetType::AT_BODYPART: @@ -209,3 +211,13 @@ LLInventoryType::EIconName LLInventoryIcon::assignSettingsIcon(U32 misc_flag) LLSettingsType::type_e settings_type = LLSettingsType::fromInventoryFlags(misc_flag); return LLSettingsType::getIconName(settings_type); } + +LLInventoryType::EIconName LLInventoryIcon::assignScriptIcon(U32 misc_flag) +{ + U8 subtype = misc_flag & LLInventoryItemFlags::II_FLAGS_SUBTYPE_MASK; + if (subtype == SST_LUA) + { + return LLInventoryType::ICONNAME_SCRIPT_LUAU; + } + return LLInventoryType::ICONNAME_SCRIPT; +} -- cgit v1.3