Add option to automatically reset skeleton upon standing up and broadcast reset to surrounding avatars as well (possible starting with LL release 2025.06)

master
Ansariel 2025-08-17 00:31:50 +02:00
parent 99238dd031
commit 5baea92f3e
4 changed files with 37 additions and 5 deletions

View File

@ -26927,5 +26927,16 @@ Change of this parameter will affect the layout of buttons in notification toast
<integer>0</integer>
</map>
<!-- </FS:Zi> Area Search Defaults -->
<key>FSResetSkeletonOnStandUp</key>
<map>
<key>Comment</key>
<string>Resets own avatar skeleton upon standing up and sends the reset to all surrounding avatars</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
</map>
</llsd>

View File

@ -122,20 +122,21 @@
#include <boost/lexical_cast.hpp>
#include "fsavatarrenderpersistence.h"
#include "fscommon.h"
#include "fsdata.h"
#include "fsdiscordconnect.h" // <FS:LO> tapping a place that happens on landing in world to start up discord
#include "fslslbridge.h" // <FS:PP> Movelock position refresh
#include "lfsimfeaturehandler.h" // <FS:CR> Opensim
#include "lggcontactsets.h"
#include "llcontrol.h"
#include "llfilepicker.h" // <FS:CR> FIRE-8893 - Dump archetype xml to user defined location
#include "llviewermenufile.h"
#include "llhudeffectresetskeleton.h"
#include "llnetmap.h"
#include "llviewernetwork.h" // [FS:CR] isInSecondlife()
#include "llsidepanelappearance.h"
#include "fsavatarrenderpersistence.h"
#include "fslslbridge.h" // <FS:PP> Movelock position refresh
#include "llviewermenufile.h"
#include "llviewernetwork.h" // [FS:CR] isInSecondlife()
#include "fsdiscordconnect.h" // <FS:LO> tapping a place that happens on landing in world to start up discord
extern F32 SPEED_ADJUST_MAX;
extern F32 SPEED_ADJUST_MAX_SEC;
@ -9140,6 +9141,16 @@ void LLVOAvatar::getOffObject()
{
revokePermissionsOnObject(sit_object);
}
// <FS:Ansariel> Reset skeleton on stand up option
if (gSavedSettings.getBOOL("FSResetSkeletonOnStandUp"))
{
LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true);
effectp->setSourceObject(gAgentAvatarp);
effectp->setTargetObject(gAgentAvatarp);
effectp->setResetAnimations(false);
}
// </FS:Ansariel>
}
}

View File

@ -26,6 +26,7 @@
<check_box label="Partikeleffekte erzeugen, wenn Skripte kommunizieren" name="EffectScriptChatParticles" tool_tip="Falls aktiviert, werden Partikeleffekte um kommunizierende Objekte erzeugt."/>
<check_box label="Deaktiviere Leitstrahl, wenn Zielavatar erreicht wird (&lt;= 3m)" name="FSDisableAvatarTrackerAtCloseIn" tool_tip="Falls aktiviert, wird der Leitstrahl zum Zielavatar deaktiviert, wenn die Distanz weniger als 3m beträgt. (Standard)"/>
<check_box label="Bento-Leerlauf-Animation korrigieren" name="play_default_bento_idle_animation_toggle" tool_tip="Falls aktiviert wird eine Priorität-0-Animation abgespielt, die Hand, Flügel, Mund und Schwanz in natürliche Positionen versetzt, sofern keine andere Bento-Animation abgespielt wird."/>
<check_box label="Avatar-Skelett nach Aufstehen zurücksetzen" name="FSResetSkeletonOnStandUp" tool_tip="Falls aktiviert wird das Skelett des Avatars automatisch nach dem Aufstehen zurückgesetzt. Der Reset wird ebenfalls an andere Avatare in der Umgebung gesendet, so dass Ihr Aussehen auch auf den Viewern der entsprechenden Benutzer aktualisiert wird."/>
<check_box label="Deaktiviere Fortschrittsanzeige während des Logins" name="login_screen_toggle" tool_tip="Deaktiviert die schwarze Fortschrittsanzeige während des Logins."/>
<check_box label="Deaktiviere Fortschrittsanzeige während des Logouts" name="logout_screen_toggle" tool_tip="Deaktiviert die schwarze Fortschrittsanzeige während des Logouts."/>
<check_box label="Aktiviere progressives Draw-Distance-Stepping" name="FSRenderFarClipStepping" tool_tip="Falls aktiviert wird Firestorm nach einem Teleport die Draw Distance progressiv erhöhen."/>

View File

@ -102,6 +102,15 @@
tool_tip="If enabled, the viewer will run a default, priority 0 bento animation that poses hands, wings, mouth and tail in a natural position when no other bento animation is running."
width="270"
control_name="FSPlayDefaultBentoAnimation"/>
<check_box
top_pad="3"
follows="left|top"
height="16"
label="Reset avatar skeleton after standing up"
name="FSResetSkeletonOnStandUp"
tool_tip="If enabled, the viewer will automatically reset your avatar's skeleton after standing up. The reset is also sent to surrounding avatars to update your appearance on the viewer of their users."
width="270"
control_name="FSResetSkeletonOnStandUp"/>
<check_box
top_pad="10"
follows="left|top"