Merge pull request #638 from erorcun/miami

CWanted, anim fix, ped objs renaming, remove III beta features
This commit is contained in:
aap
2020-06-25 15:15:01 +02:00
committed by GitHub
29 changed files with 358 additions and 393 deletions

View File

@ -44,7 +44,7 @@ CAnimBlendHierarchy::CalcTotalTime(void)
#endif
totalLength = Max(totalLength, sequences[i].GetKeyFrame(sequences[i].numFrames-1)->deltaTime);
for(j = sequences[i].numFrames-1; j > 0; j--){
for(j = sequences[i].numFrames-1; j >= 1; j--){
KeyFrame *kf1 = sequences[i].GetKeyFrame(j);
KeyFrame *kf2 = sequences[i].GetKeyFrame(j-1);
kf1->deltaTime -= kf2->deltaTime;
@ -66,7 +66,7 @@ CAnimBlendHierarchy::CalcTotalTimeCompressed(void)
#endif
totalLength = Max(totalLength, sequences[i].GetKeyFrameCompressed(sequences[i].numFrames-1)->deltaTime/60.0f);
for(j = sequences[i].numFrames-1; j > 0; j--){
for(j = sequences[i].numFrames-1; j >= 1; j--){
KeyFrame *kf1 = sequences[i].GetKeyFrameCompressed(j);
KeyFrame *kf2 = sequences[i].GetKeyFrameCompressed(j-1);
kf1->deltaTime -= kf2->deltaTime;

View File

@ -97,10 +97,8 @@ CAnimBlendNode::FindKeyFrame(float t)
if(sequence->numFrames == 1){
remainingTime = 0.0f;
}else{
frameA++;
// advance until t is between frameB and frameA
while(t > sequence->GetKeyFrame(frameA)->deltaTime){
while(t > sequence->GetKeyFrame(++frameA)->deltaTime){
t -= sequence->GetKeyFrame(frameA)->deltaTime;
if(frameA + 1 >= sequence->numFrames){
// reached end of animation

View File

@ -1004,9 +1004,10 @@ CAnimManager::UncompressAnimation(CAnimBlendHierarchy *hier)
}else{
CLink<CAnimBlendHierarchy*> *link = ms_animCache.Insert(hier);
if(link == nil){
ms_animCache.tail.prev->item->RemoveUncompressedData();
CAnimBlendHierarchy *lastHier = ms_animCache.tail.prev->item;
lastHier->RemoveUncompressedData();
ms_animCache.Remove(ms_animCache.tail.prev);
ms_animCache.tail.prev->item->linkPtr = nil;
lastHier->linkPtr = nil;
link = ms_animCache.Insert(hier);
}
hier->linkPtr = link;