summaryrefslogtreecommitdiff
path: root/indra/llcharacter
diff options
context:
space:
mode:
authorAlexander Gavriliuk <alexandrgproductengine@lindenlab.com>2023-11-23 22:04:49 +0100
committerGuru <alexandrgproductengine@lindenlab.com>2023-11-24 17:41:23 +0100
commit110eb2c989b6655796c15a657d0898375027f3f2 (patch)
treeaba267b14f5a9735b585918e2df81a4fd77e182a /indra/llcharacter
parent9bf5ad98e508690efd334806885b6d1666bee602 (diff)
SL-20442 Add an 'Until shortcut key released' option to gestures so we can do properly user-mappable keys
Diffstat (limited to 'indra/llcharacter')
-rw-r--r--indra/llcharacter/llmultigesture.cpp13
-rw-r--r--indra/llcharacter/llmultigesture.h26
2 files changed, 15 insertions, 24 deletions
diff --git a/indra/llcharacter/llmultigesture.cpp b/indra/llcharacter/llmultigesture.cpp
index 511d931569..15cad4ea16 100644
--- a/indra/llcharacter/llmultigesture.cpp
+++ b/indra/llcharacter/llmultigesture.cpp
@@ -42,16 +42,6 @@ const S32 GESTURE_VERSION = 2;
// LLMultiGesture
//---------------------------------------------------------------------------
LLMultiGesture::LLMultiGesture()
-: mKey(),
- mMask(),
- mName(),
- mTrigger(),
- mReplaceText(),
- mSteps(),
- mPlaying(FALSE),
- mCurrentStep(0),
- mDoneCallback(NULL),
- mCallbackData(NULL)
{
reset();
}
@@ -67,10 +57,11 @@ void LLMultiGesture::reset()
mPlaying = FALSE;
mCurrentStep = 0;
mWaitTimer.reset();
+ mWaitingAnimations = FALSE;
+ mWaitingKeyRelease = FALSE;
mWaitingTimer = FALSE;
mTriggeredByKey = FALSE;
mKeyReleased = FALSE;
- mWaitingAnimations = FALSE;
mWaitingAtEnd = FALSE;
mRequestedAnimIDs.clear();
mPlayingAnimIDs.clear();
diff --git a/indra/llcharacter/llmultigesture.h b/indra/llcharacter/llmultigesture.h
index 1865ec089c..a664b45a97 100644
--- a/indra/llcharacter/llmultigesture.h
+++ b/indra/llcharacter/llmultigesture.h
@@ -59,11 +59,11 @@ protected:
const LLMultiGesture& operator=(const LLMultiGesture& rhs);
public:
- KEY mKey;
- MASK mMask;
+ KEY mKey { 0 };
+ MASK mMask { 0 };
// This name can be empty if the inventory item is not around and
- // the gesture manager has not yet set the name
+ // the gesture manager has not yet set the name
std::string mName;
// String, like "/foo" or "hello" that makes it play
@@ -75,34 +75,34 @@ public:
std::vector<LLGestureStep*> mSteps;
// Is the gesture currently playing?
- BOOL mPlaying;
+ BOOL mPlaying { FALSE };
// "instruction pointer" for steps
- S32 mCurrentStep;
+ S32 mCurrentStep { 0 };
// We're waiting for triggered animations to stop playing
- BOOL mWaitingAnimations;
+ BOOL mWaitingAnimations { FALSE };
// We're waiting for key release
- BOOL mWaitingKeyRelease;
+ BOOL mWaitingKeyRelease { FALSE };
// We're waiting a fixed amount of time
- BOOL mWaitingTimer;
+ BOOL mWaitingTimer { FALSE };
// We're waiting for triggered animations to stop playing
- BOOL mTriggeredByKey;
+ BOOL mTriggeredByKey { FALSE };
// Has the key been released?
- BOOL mKeyReleased;
+ BOOL mKeyReleased { FALSE };
// Waiting after the last step played for all animations to complete
- BOOL mWaitingAtEnd;
+ BOOL mWaitingAtEnd { FALSE };
// Timer for waiting
LLFrameTimer mWaitTimer;
- void (*mDoneCallback)(LLMultiGesture* gesture, void* data);
- void* mCallbackData;
+ void (*mDoneCallback)(LLMultiGesture* gesture, void* data) { NULL };
+ void* mCallbackData { NULL };
// Animations that we requested to start
std::set<LLUUID> mRequestedAnimIDs;