diff options
| author | Hadet <hadet@terminus.local> | 2026-05-23 21:28:25 -0500 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2026-05-25 09:47:04 +0700 |
| commit | 3ac400d744971db9cf7bbfb6df3c1f0ef5662c82 (patch) | |
| tree | 53323b654c60b80af2d9d9e1123573b0b0424267 /indra/newview/llavatarpropertiesprocessor.cpp | |
| parent | 9b1fa446a1148485bfc075fb6c5c8b286e827589 (diff) | |
Add Firestorm-based features: quick prefs, mouselook zoom, group nameplate tinting
- Quick Preferences floater with hover height and bandwidth sliders
- Mouselook right-click zoom with scroll wheel adjustment
- Group-based nameplate color tinting via group profile
Diffstat (limited to 'indra/newview/llavatarpropertiesprocessor.cpp')
| -rw-r--r-- | indra/newview/llavatarpropertiesprocessor.cpp | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/indra/newview/llavatarpropertiesprocessor.cpp b/indra/newview/llavatarpropertiesprocessor.cpp index 9d9948731f..aa24c69831 100644 --- a/indra/newview/llavatarpropertiesprocessor.cpp +++ b/indra/newview/llavatarpropertiesprocessor.cpp @@ -527,12 +527,28 @@ void LLAvatarPropertiesProcessor::processAvatarGroupsReply(LLMessageSystem* msg, AvatarGroupsReply is automatically sent by the server in response to the AvatarPropertiesRequest in addition to the AvatarPropertiesReply message. */ - LLUUID agent_id; - LLUUID avatar_id; - msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id); - msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AvatarID, avatar_id); + LLAvatarGroups avatar_groups; + msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, avatar_groups.agent_id); + msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AvatarID, avatar_groups.avatar_id); + + LL_DEBUGS("AvatarProperties") << "Received AvatarGroupsReply for " + << avatar_groups.avatar_id << LL_ENDL; + + S32 group_count = msg->getNumberOfBlocksFast(_PREHASH_GroupData); + for (S32 i = 0; i < group_count; ++i) + { + LLAvatarGroups::LLGroupData gd; + msg->getU64Fast( _PREHASH_GroupData, _PREHASH_GroupPowers, gd.group_powers, i); + msg->getBOOLFast( _PREHASH_GroupData, _PREHASH_AcceptNotices, gd.accept_notices, i); + msg->getStringFast( _PREHASH_GroupData, _PREHASH_GroupTitle, gd.group_title, i); + msg->getUUIDFast( _PREHASH_GroupData, _PREHASH_GroupID, gd.group_id, i); + msg->getStringFast( _PREHASH_GroupData, _PREHASH_GroupName, gd.group_name, i); + msg->getUUIDFast( _PREHASH_GroupData, _PREHASH_GroupInsigniaID, gd.group_insignia_id, i); + avatar_groups.group_list.push_back(gd); + } - LL_DEBUGS("AvatarProperties") << "Received AvatarGroupsReply for " << avatar_id << LL_ENDL; + LLAvatarPropertiesProcessor* self = getInstance(); + self->notifyObservers(avatar_groups.avatar_id, &avatar_groups, APT_GROUPS); } void LLAvatarPropertiesProcessor::notifyObservers(const LLUUID& id, void* data, EAvatarProcessorType type) |
