aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcharacter/llmotioncontroller.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llcharacter/llmotioncontroller.h15
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
181protected: 181protected:
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);
190protected:
191 195
196protected:
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;