diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llcharacter/llmotioncontroller.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/linden/indra/llcharacter/llmotioncontroller.h b/linden/indra/llcharacter/llmotioncontroller.h index 959a16a..efc12d5 100644 --- a/linden/indra/llcharacter/llmotioncontroller.h +++ b/linden/indra/llcharacter/llmotioncontroller.h | |||
@@ -179,16 +179,21 @@ public: | |||
179 | LLMotion *findMotion( const LLUUID& id ); | 179 | LLMotion *findMotion( const LLUUID& id ); |
180 | 180 | ||
181 | protected: | 181 | protected: |
182 | // internal operations act on motion instances directly | ||
183 | // as there can be duplicate motions per id during blending overlap | ||
182 | void deleteAllMotions(); | 184 | void deleteAllMotions(); |
183 | void addLoadedMotion(LLMotion *motion); | 185 | void addLoadedMotion(LLMotion *motion); |
184 | BOOL activateMotion(LLMotion *motion, F32 time); | 186 | BOOL activateMotionInstance(LLMotion *motion, F32 time); |
185 | BOOL deactivateMotion(LLMotion *motion, bool remove_weight); | 187 | BOOL deactivateMotionInstance(LLMotion *motion); |
188 | void deprecateMotionInstance(LLMotion* motion); | ||
189 | BOOL stopMotionInstance(LLMotion *motion, BOOL stop_imemdiate); | ||
190 | void removeMotionInstance(LLMotion* motion); | ||
186 | void updateRegularMotions(); | 191 | void updateRegularMotions(); |
187 | void updateAdditiveMotions(); | 192 | void updateAdditiveMotions(); |
188 | void resetJointSignatures(); | 193 | void resetJointSignatures(); |
189 | void updateMotionsByType(LLMotion::LLMotionBlendType motion_type); | 194 | void updateMotionsByType(LLMotion::LLMotionBlendType motion_type); |
190 | protected: | ||
191 | 195 | ||
196 | protected: | ||
192 | F32 mTimeFactor; | 197 | F32 mTimeFactor; |
193 | static LLMotionRegistry sRegistry; | 198 | static LLMotionRegistry sRegistry; |
194 | LLPoseBlender mPoseBlender; | 199 | LLPoseBlender mPoseBlender; |
@@ -203,11 +208,13 @@ protected: | |||
203 | // Once an animations is loaded, it will be initialized and put on the mLoadedMotions deque. | 208 | // Once an animations is loaded, it will be initialized and put on the mLoadedMotions deque. |
204 | // Any animation that is currently playing also sits in the mActiveMotions list. | 209 | // Any animation that is currently playing also sits in the mActiveMotions list. |
205 | 210 | ||
206 | std::map<LLUUID, LLMotion*> mAllMotions; | 211 | typedef std::map<LLUUID, LLMotion*> motion_map_t; |
212 | motion_map_t mAllMotions; | ||
207 | 213 | ||
208 | motion_set_t mLoadingMotions; | 214 | motion_set_t mLoadingMotions; |
209 | motion_list_t mLoadedMotions; | 215 | motion_list_t mLoadedMotions; |
210 | motion_list_t mActiveMotions; | 216 | motion_list_t mActiveMotions; |
217 | motion_set_t mDeprecatedMotions; | ||
211 | 218 | ||
212 | LLFrameTimer mTimer; | 219 | LLFrameTimer mTimer; |
213 | F32 mTime; | 220 | F32 mTime; |