|
|
|
@ -33,7 +33,7 @@ FrameUpdateCallBackNonSkinned(AnimBlendFrameData *frame, void *arg)
|
|
|
|
|
AnimBlendFrameUpdateData *updateData = (AnimBlendFrameUpdateData*)arg;
|
|
|
|
|
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION &&
|
|
|
|
|
gpAnimBlendClump->velocity){
|
|
|
|
|
gpAnimBlendClump->velocity2d){
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION_3D)
|
|
|
|
|
FrameUpdateCallBackWith3dVelocityExtractionNonSkinned(frame, arg);
|
|
|
|
|
else
|
|
|
|
@ -142,11 +142,11 @@ FrameUpdateCallBackWithVelocityExtractionNonSkinned(AnimBlendFrameData *frame, v
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if((frame->flag & AnimBlendFrameData::IGNORE_TRANSLATION) == 0){
|
|
|
|
|
gpAnimBlendClump->velocity->x = transx - curx;
|
|
|
|
|
gpAnimBlendClump->velocity->y = transy - cury;
|
|
|
|
|
gpAnimBlendClump->velocity2d->x = transx - curx;
|
|
|
|
|
gpAnimBlendClump->velocity2d->y = transy - cury;
|
|
|
|
|
if(looped){
|
|
|
|
|
gpAnimBlendClump->velocity->x += endx;
|
|
|
|
|
gpAnimBlendClump->velocity->y += endy;
|
|
|
|
|
gpAnimBlendClump->velocity2d->x += endx;
|
|
|
|
|
gpAnimBlendClump->velocity2d->y += endy;
|
|
|
|
|
}
|
|
|
|
|
mat->pos.x = pos.x - transx;
|
|
|
|
|
mat->pos.y = pos.y - transy;
|
|
|
|
@ -222,9 +222,9 @@ FrameUpdateCallBackWith3dVelocityExtractionNonSkinned(AnimBlendFrameData *frame,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if((frame->flag & AnimBlendFrameData::IGNORE_TRANSLATION) == 0){
|
|
|
|
|
*gpAnimBlendClump->velocity = trans - cur;
|
|
|
|
|
*gpAnimBlendClump->velocity3d = trans - cur;
|
|
|
|
|
if(looped)
|
|
|
|
|
*gpAnimBlendClump->velocity += end;
|
|
|
|
|
*gpAnimBlendClump->velocity3d += end;
|
|
|
|
|
mat->pos.x = (pos - trans).x + frame->resetPos.x;
|
|
|
|
|
mat->pos.y = (pos - trans).y + frame->resetPos.y;
|
|
|
|
|
mat->pos.z = (pos - trans).z + frame->resetPos.z;
|
|
|
|
@ -244,7 +244,7 @@ FrameUpdateCallBackSkinned(AnimBlendFrameData *frame, void *arg)
|
|
|
|
|
AnimBlendFrameUpdateData *updateData = (AnimBlendFrameUpdateData*)arg;
|
|
|
|
|
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION &&
|
|
|
|
|
gpAnimBlendClump->velocity){
|
|
|
|
|
gpAnimBlendClump->velocity2d){
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION_3D)
|
|
|
|
|
FrameUpdateCallBackWith3dVelocityExtractionSkinned(frame, arg);
|
|
|
|
|
else
|
|
|
|
@ -354,11 +354,11 @@ FrameUpdateCallBackWithVelocityExtractionSkinned(AnimBlendFrameData *frame, void
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if((frame->flag & AnimBlendFrameData::IGNORE_TRANSLATION) == 0){
|
|
|
|
|
gpAnimBlendClump->velocity->x = transx - curx;
|
|
|
|
|
gpAnimBlendClump->velocity->y = transy - cury;
|
|
|
|
|
gpAnimBlendClump->velocity2d->x = transx - curx;
|
|
|
|
|
gpAnimBlendClump->velocity2d->y = transy - cury;
|
|
|
|
|
if(looped){
|
|
|
|
|
gpAnimBlendClump->velocity->x += endx;
|
|
|
|
|
gpAnimBlendClump->velocity->y += endy;
|
|
|
|
|
gpAnimBlendClump->velocity2d->x += endx;
|
|
|
|
|
gpAnimBlendClump->velocity2d->y += endy;
|
|
|
|
|
}
|
|
|
|
|
xform->t.x = pos.x - transx;
|
|
|
|
|
xform->t.y = pos.y - transy;
|
|
|
|
@ -434,9 +434,9 @@ FrameUpdateCallBackWith3dVelocityExtractionSkinned(AnimBlendFrameData *frame, vo
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if((frame->flag & AnimBlendFrameData::IGNORE_TRANSLATION) == 0){
|
|
|
|
|
*gpAnimBlendClump->velocity = trans - cur;
|
|
|
|
|
*gpAnimBlendClump->velocity3d = trans - cur;
|
|
|
|
|
if(looped)
|
|
|
|
|
*gpAnimBlendClump->velocity += end;
|
|
|
|
|
*gpAnimBlendClump->velocity3d += end;
|
|
|
|
|
xform->t.x = (pos - trans).x + frame->resetPos.x;
|
|
|
|
|
xform->t.y = (pos - trans).y + frame->resetPos.y;
|
|
|
|
|
xform->t.z = (pos - trans).z + frame->resetPos.z;
|
|
|
|
@ -446,7 +446,7 @@ FrameUpdateCallBackWith3dVelocityExtractionSkinned(AnimBlendFrameData *frame, vo
|
|
|
|
|
void
|
|
|
|
|
FrameUpdateCallBackOffscreen(AnimBlendFrameData *frame, void *arg)
|
|
|
|
|
{
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION && gpAnimBlendClump->velocity)
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION && gpAnimBlendClump->velocity2d)
|
|
|
|
|
FrameUpdateCallBackWithVelocityExtractionSkinned(frame, arg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -466,7 +466,7 @@ FrameUpdateCallBackNonSkinnedCompressed(AnimBlendFrameData *frame, void *arg)
|
|
|
|
|
AnimBlendFrameUpdateData *updateData = (AnimBlendFrameUpdateData*)arg;
|
|
|
|
|
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION &&
|
|
|
|
|
gpAnimBlendClump->velocity){
|
|
|
|
|
gpAnimBlendClump->velocity2d){
|
|
|
|
|
if(updateData->foobar)
|
|
|
|
|
for(node = updateData->nodes; *node; node++)
|
|
|
|
|
if((*node)->sequence && (*node)->association->IsPartial())
|
|
|
|
@ -511,9 +511,9 @@ FrameUpdateCallBackNonSkinnedCompressed(AnimBlendFrameData *frame, void *arg)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if((frame->flag & AnimBlendFrameData::IGNORE_TRANSLATION) == 0){
|
|
|
|
|
*gpAnimBlendClump->velocity = trans - cur;
|
|
|
|
|
*gpAnimBlendClump->velocity3d = trans - cur;
|
|
|
|
|
if(looped)
|
|
|
|
|
*gpAnimBlendClump->velocity += end;
|
|
|
|
|
*gpAnimBlendClump->velocity3d += end;
|
|
|
|
|
mat->pos.x = (pos - trans).x + frame->resetPos.x;
|
|
|
|
|
mat->pos.y = (pos - trans).y + frame->resetPos.y;
|
|
|
|
|
mat->pos.z = (pos - trans).z + frame->resetPos.z;
|
|
|
|
@ -573,7 +573,7 @@ FrameUpdateCallBackSkinnedCompressed(AnimBlendFrameData *frame, void *arg)
|
|
|
|
|
AnimBlendFrameUpdateData *updateData = (AnimBlendFrameUpdateData*)arg;
|
|
|
|
|
|
|
|
|
|
if(frame->flag & AnimBlendFrameData::VELOCITY_EXTRACTION &&
|
|
|
|
|
gpAnimBlendClump->velocity){
|
|
|
|
|
gpAnimBlendClump->velocity2d){
|
|
|
|
|
if(updateData->foobar)
|
|
|
|
|
for(node = updateData->nodes; *node; node++)
|
|
|
|
|
if((*node)->sequence && (*node)->association->IsPartial())
|
|
|
|
@ -620,9 +620,9 @@ FrameUpdateCallBackSkinnedCompressed(AnimBlendFrameData *frame, void *arg)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if((frame->flag & AnimBlendFrameData::IGNORE_TRANSLATION) == 0){
|
|
|
|
|
*gpAnimBlendClump->velocity = trans - cur;
|
|
|
|
|
*gpAnimBlendClump->velocity3d = trans - cur;
|
|
|
|
|
if(looped)
|
|
|
|
|
*gpAnimBlendClump->velocity += end;
|
|
|
|
|
*gpAnimBlendClump->velocity3d += end;
|
|
|
|
|
xform->t.x = (pos - trans).x + frame->resetPos.x;
|
|
|
|
|
xform->t.y = (pos - trans).y + frame->resetPos.y;
|
|
|
|
|
xform->t.z = (pos - trans).z + frame->resetPos.z;
|
|
|
|
|