summaryrefslogtreecommitdiff
path: root/indra/newview/llselectmgr.cpp
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@geenzo.com>2023-06-27 20:01:52 -0700
committerJonathan "Geenz" Goodman <geenz@geenzo.com>2023-06-27 20:01:52 -0700
commitd8dd4d9c0cd4554704cbe15b5502f4d87a4674ad (patch)
treea359cdd5b39994cf04a4370718bcaeb8a73a9613 /indra/newview/llselectmgr.cpp
parentdb485adbeb1c7a7d64fbddd124f7f4c73214ef99 (diff)
Just about got hero reflection maps working.
DRTVWR-583
Diffstat (limited to 'indra/newview/llselectmgr.cpp')
-rw-r--r--indra/newview/llselectmgr.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index dca341e5a2..19ce8f6a55 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -2347,6 +2347,47 @@ void LLSelectMgr::selectionSetFullbright(U8 fullbright)
getSelection()->applyToObjects(&sendfunc);
}
+void LLSelectMgr::selectionSetRenderableTarget(LLTextureEntry::eRenderableTarget target)
+{
+ struct f : public LLSelectedTEFunctor
+ {
+ LLTextureEntry::eRenderableTarget mRenderableTarget;
+
+ f(const LLTextureEntry::eRenderableTarget& t) : mRenderableTarget(t) {}
+
+ bool apply(LLViewerObject* object, S32 te)
+ {
+ if (object->permModify())
+ {
+ object->setTERenderableTarget(te, mRenderableTarget);
+ }
+
+ return true;
+ }
+ } setfunc(target);
+
+ getSelection()->applyToTEs(&setfunc);
+
+ struct g : public LLSelectedObjectFunctor
+ {
+ LLTextureEntry::eRenderableTarget mRenderableTarget;
+
+ g(const LLTextureEntry::eRenderableTarget& t) : mRenderableTarget(t) {}
+
+ virtual bool apply(LLViewerObject* object)
+ {
+ if (object->permModify())
+ {
+ object->sendTEUpdate();
+ }
+
+ return true;
+ }
+ } sendfunc(target);
+
+ getSelection()->applyToObjects(&sendfunc);
+}
+
// This function expects media_data to be a map containing relevant
// media data name/value pairs (e.g. home_url, etc.)
void LLSelectMgr::selectionSetMedia(U8 media_type, const LLSD &media_data)