184{
186 m_fDefaultBlendInTime = 0.3f;
187 m_fDefaultBlendOutTime = 0.3f;
188 m_fDefaultWeight = 1.0f;
189
190 TINT iNumBreakpoints = 0;
191 TPString8 strDefaultFinishType;
192
194 {
195 const TCHAR* pchPropertyName = it->GetName().GetString();
196
197 switch ( *pchPropertyName )
198 {
199 case 'B':
200
201 iNumBreakpoints += 1;
202 break;
203 case 'D':
205 {
206 m_fDefaultBlendInTime = it->GetValue()->GetFloat();
207 }
209 {
210 m_fDefaultBlendOutTime = it->GetValue()->GetFloat();
211 }
213 {
214 strDefaultFinishType = it->GetValue()->GetTPString8();
215 }
217 {
218 m_fDefaultWeight = it->GetValue()->GetFloat();
219 }
221 {
222 m_fSpeed = it->GetValue()->GetFloat();
223 }
224
225 break;
226 case 'E':
227
228 m_strExportedName = it->GetValue()->GetTPString8();
229 break;
230 case 'L':
231
232
233 if ( it->GetValue()->GetBoolean() )
235 else
237
238 break;
239 case 'N':
240
241 m_strName = it->GetValue()->GetTPString8();
242 break;
243 case 'R':
244
245
246 if ( it->GetValue()->GetBoolean() )
248 else
250
251 break;
252 case 'S':
254 {
255 if ( it->GetValue()->GetBoolean() )
257 else
259 }
261 {
262 m_fSpeed = it->GetValue()->GetFloat();
263 }
264
265 break;
266 }
267 }
268
269 TASSERT( !m_strName.IsEmpty() );
270 TASSERT( !m_strExportedName.IsEmpty() );
271
272 m_iSequenceId = a_pSkeleton->GetSequenceID( m_strExportedName, 0 );
273 TASSERT( m_iSequenceId != -1 );
274
275 if ( m_iSequenceId != -1 )
276 {
277 TSkeletonSequence* pSequence = a_pSkeleton->GetSequence( m_iSequenceId );
278
281 else
283
285
288
289 TPString8 strModelName;
291
292
293 TINT iNumSoundBreakpoints = AAnimatableObjectManager::GetSingleton()->FindNumAnimationSoundBreakpoints( strModelName,
this );
294 m_vecBreakpoints.AccessContainer()->Reserve( iNumBreakpoints + iNumSoundBreakpoints + 4 );
295
296
297
299 {
300 const TCHAR* pchPropertyName = it->GetName().GetString();
301
302 if ( *pchPropertyName == 'B' )
303 {
304
305 AAnimationBreakpoint* pBreakpoint = CreateBreakpointRuntime( it->GetValue()->GetProperties(),
TTRUE );
306
307 if ( pBreakpoint )
308 {
309 m_vecBreakpoints.Push( pBreakpoint );
310 }
311 }
312 }
313
315 }
316 else
317 {
318 TERROR(
"Couldn't get '%s' (Exported Name: '%s') animation from an animation set!", m_strName.GetString(), m_strExportedName.GetString() );
320 }
321}
const PBProperties * GetParentProperties() const
TBOOL GetOptionalPropertyValue(T &a_rOutValue, const TCHAR *a_szName) const
TFLOAT GetDuration() const
static TINT Compare(const TCHAR *str1, const TCHAR *str2, TSIZE size=-1)
static FINISHTYPE GetFinishType(const Toshi::TPString8 &a_rcFinishType)