mirror of
https://github.com/halpz/re3.git
synced 2025-07-06 20:38:54 +00:00
ducking & anim fix
This commit is contained in:
@ -133,8 +133,11 @@ CAnimBlendAssociation::SetCurrentTime(float time)
|
||||
int i;
|
||||
|
||||
for(currentTime = time; currentTime >= hierarchy->totalLength; currentTime -= hierarchy->totalLength)
|
||||
if(!IsRepeating())
|
||||
return;
|
||||
if (!IsRepeating()) {
|
||||
currentTime = hierarchy->totalLength;
|
||||
break;
|
||||
}
|
||||
|
||||
CAnimManager::UncompressAnimation(hierarchy);
|
||||
if(hierarchy->compressed2){
|
||||
for(i = 0; i < numNodes; i++)
|
||||
|
@ -102,8 +102,8 @@ CAnimBlendNode::FindKeyFrame(float t)
|
||||
// advance until t is between frameB and frameA
|
||||
while(t > sequence->GetKeyFrame(frameA)->deltaTime){
|
||||
t -= sequence->GetKeyFrame(frameA)->deltaTime;
|
||||
frameB = frameA++;
|
||||
if(frameA >= sequence->numFrames){
|
||||
frameA++;
|
||||
if(frameA + 1 >= sequence->numFrames){
|
||||
// reached end of animation
|
||||
if(!association->IsRepeating()){
|
||||
CalcDeltas();
|
||||
@ -111,8 +111,8 @@ CAnimBlendNode::FindKeyFrame(float t)
|
||||
return false;
|
||||
}
|
||||
frameA = 0;
|
||||
frameB = 0;
|
||||
}
|
||||
frameB = frameA;
|
||||
}
|
||||
|
||||
remainingTime = sequence->GetKeyFrame(frameA)->deltaTime - t;
|
||||
|
@ -237,14 +237,14 @@ AnimAssocDesc aMeleeAnimDescs[] = {
|
||||
{ ANIM_MELEE_ATTACK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_MELEE_ATTACK_2ND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_MELEE_ATTACK_START, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_NOWALK },
|
||||
{ ANIM_WEAPON_CROUCHRELOAD, ASSOC_REPEAT }, // TODO(Miami): Overload that name for melee/swing
|
||||
{ ANIM_MELEE_IDLE_FIGHTMODE, ASSOC_REPEAT },
|
||||
{ ANIM_WEAPON_SPECIAL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL | ASSOC_HAS_TRANSLATION }, // TODO(Miami): Overload that name for melee/swing
|
||||
};
|
||||
AnimAssocDesc aSwingAnimDescs[] = {
|
||||
{ ANIM_MELEE_ATTACK, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_MELEE_ATTACK_2ND, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_MELEE_ATTACK_START, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||
{ ANIM_WEAPON_CROUCHRELOAD, ASSOC_REPEAT }, // TODO(Miami): Overload that name for melee/swing
|
||||
{ ANIM_MELEE_IDLE_FIGHTMODE, ASSOC_REPEAT },
|
||||
{ ANIM_WEAPON_SPECIAL, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL }, // TODO(Miami): Overload that name for melee/swing
|
||||
};
|
||||
AnimAssocDesc aWeaponAnimDescs[] = {
|
||||
@ -1006,6 +1006,7 @@ CAnimManager::UncompressAnimation(CAnimBlendHierarchy *hier)
|
||||
if(link == nil){
|
||||
ms_animCache.tail.prev->item->RemoveUncompressedData();
|
||||
ms_animCache.Remove(ms_animCache.tail.prev);
|
||||
ms_animCache.tail.prev->item->linkPtr = nil;
|
||||
link = ms_animCache.Insert(hier);
|
||||
}
|
||||
hier->linkPtr = link;
|
||||
|
Reference in New Issue
Block a user