@ -108,11 +108,16 @@ TEST(AnimationInfo, AttackSwordWarrior) // ProcessAnimationPending should be con
{
{
new SetNewAnimationData ( 16 , 1 , AnimationDistributionFlags : : ProcessAnimationPending , 0 , 9 ) ,
new SetNewAnimationData ( 16 , 1 , AnimationDistributionFlags : : ProcessAnimationPending , 0 , 9 ) ,
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
new GameTickData ( 1 , 0 ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 0 ) ,
new RenderingData ( 0.8f , 0 ) ,
new GameTickData ( 2 , 0 ) ,
new GameTickData ( 2 , 0 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.8f , 1 ) ,
new RenderingData ( 0.8f , 2 ) ,
new GameTickData ( 3 , 0 ) ,
new GameTickData ( 3 , 0 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.3f , 2 ) ,
@ -121,7 +126,7 @@ TEST(AnimationInfo, AttackSwordWarrior) // ProcessAnimationPending should be con
new GameTickData ( 4 , 0 ) ,
new GameTickData ( 4 , 0 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.6f , 3 ) ,
new RenderingData ( 0.6f , 4 ) ,
new RenderingData ( 0.8f , 4 ) ,
new RenderingData ( 0.8f , 4 ) ,
new GameTickData ( 5 , 0 ) ,
new GameTickData ( 5 , 0 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.0f , 4 ) ,
@ -130,7 +135,7 @@ TEST(AnimationInfo, AttackSwordWarrior) // ProcessAnimationPending should be con
new RenderingData ( 0.8f , 5 ) ,
new RenderingData ( 0.8f , 5 ) ,
new GameTickData ( 6 , 0 ) ,
new GameTickData ( 6 , 0 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.3f , 5 ) ,
new RenderingData ( 0.3f , 6 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.8f , 6 ) ,
new RenderingData ( 0.8f , 6 ) ,
new GameTickData ( 7 , 0 ) ,
new GameTickData ( 7 , 0 ) ,
@ -138,30 +143,25 @@ TEST(AnimationInfo, AttackSwordWarrior) // ProcessAnimationPending should be con
new RenderingData ( 0.3f , 7 ) ,
new RenderingData ( 0.3f , 7 ) ,
new RenderingData ( 0.6f , 7 ) ,
new RenderingData ( 0.6f , 7 ) ,
new RenderingData ( 0.8f , 7 ) ,
new RenderingData ( 0.8f , 7 ) ,
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.0f , 7 ) ,
new RenderingData ( 0.3f , 8 ) ,
new RenderingData ( 0.6f , 8 ) ,
new RenderingData ( 0.8f , 8 ) ,
// After this GameTick, the Animation Distribution Logic is disabled
// After this GameTick, the Animation Distribution Logic is disabled
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.1f , 8 ) ,
new GameTickData ( 9 , 0 ) ,
new GameTickData ( 9 , 0 ) ,
new RenderingData ( 0.1f , 9 ) ,
new RenderingData ( 0.4 f , 9 ) ,
new GameTickData ( 10 , 0 ) ,
new GameTickData ( 10 , 0 ) ,
new RenderingData ( 0.4f , 10 ) ,
new RenderingData ( 0.4f , 10 ) ,
new GameTickData ( 11 , 0 ) ,
new GameTickData ( 11 , 0 ) ,
new RenderingData ( 0.4 f , 11 ) ,
new RenderingData ( 0.3 f , 11 ) ,
new GameTickData ( 12 , 0 ) ,
new GameTickData ( 12 , 0 ) ,
new RenderingData ( 0.3 f , 12 ) ,
new RenderingData ( 0.0 f , 12 ) ,
new GameTickData ( 13 , 0 ) ,
new GameTickData ( 13 , 0 ) ,
new RenderingData ( 0.0 f , 13 ) ,
new RenderingData ( 0.6 f , 13 ) ,
new GameTickData ( 14 , 0 ) ,
new GameTickData ( 14 , 0 ) ,
new RenderingData ( 0.6f , 14 ) ,
new RenderingData ( 0.6f , 14 ) ,
new GameTickData ( 15 , 0 ) ,
new GameTickData ( 15 , 0 ) ,
new RenderingData ( 0.6f , 15 ) ,
new RenderingData ( 0.6f , 15 ) ,
new GameTickData ( 16 , 0 ) ,
// Animation stopped cause PM_DoAttack would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame == plr[pnum]._pAFrames - 1) {"
new RenderingData ( 0.6f , 16 ) ,
// Animation stopped cause PM_DoAttack would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame == plr[pnum]._pAFrames) {"
} ) ;
} ) ;
}
}
@ -171,50 +171,50 @@ TEST(AnimationInfo, AttackSwordWarriorWithFastestAttack) // Skipped frames and P
{
{
new SetNewAnimationData ( 16 , 1 , AnimationDistributionFlags : : ProcessAnimationPending , 2 , 9 ) ,
new SetNewAnimationData ( 16 , 1 , AnimationDistributionFlags : : ProcessAnimationPending , 2 , 9 ) ,
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
new GameTickData ( 3 , 0 ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 0 ) ,
new RenderingData ( 0.8f , 1 ) ,
new GameTickData ( 4 , 0 ) ,
new GameTickData ( 4 , 0 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 2 ) ,
new RenderingData ( 0.8f , 2 ) ,
new RenderingData ( 0.8f , 2 ) ,
new GameTickData ( 5 , 0 ) ,
new GameTickData ( 5 , 0 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.6f , 3 ) ,
new RenderingData ( 0.6f , 4 ) ,
new RenderingData ( 0.8f , 3 ) ,
new RenderingData ( 0.8f , 4 ) ,
new GameTickData ( 6 , 0 ) ,
new GameTickData ( 6 , 0 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.3f , 4 ) ,
new RenderingData ( 0.3f , 5 ) ,
new RenderingData ( 0.6f , 5 ) ,
new RenderingData ( 0.6f , 5 ) ,
new RenderingData ( 0.8f , 5 ) ,
new RenderingData ( 0.8f , 6 ) ,
new GameTickData ( 7 , 0 ) ,
new GameTickData ( 7 , 0 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.0f , 6 ) ,
new RenderingData ( 0.3f , 6 ) ,
new RenderingData ( 0.3f , 6 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.6f , 7 ) ,
new RenderingData ( 0.8f , 7 ) ,
new RenderingData ( 0.8f , 7 ) ,
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.0f , 7 ) ,
new RenderingData ( 0.3f , 7 ) ,
new RenderingData ( 0.6f , 8 ) ,
new RenderingData ( 0.8f , 8 ) ,
// After this GameTick, the Animation Distribution Logic is disabled
// After this GameTick, the Animation Distribution Logic is disabled
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.1f , 8 ) ,
new GameTickData ( 9 , 0 ) ,
new GameTickData ( 9 , 0 ) ,
new RenderingData ( 0.1f , 9 ) ,
new RenderingData ( 0.4 f , 9 ) ,
new GameTickData ( 10 , 0 ) ,
new GameTickData ( 10 , 0 ) ,
new RenderingData ( 0.4f , 10 ) ,
new RenderingData ( 0.4f , 10 ) ,
new GameTickData ( 11 , 0 ) ,
new GameTickData ( 11 , 0 ) ,
new RenderingData ( 0.4 f , 11 ) ,
new RenderingData ( 0.3 f , 11 ) ,
new GameTickData ( 12 , 0 ) ,
new GameTickData ( 12 , 0 ) ,
new RenderingData ( 0.3 f , 12 ) ,
new RenderingData ( 0.0 f , 12 ) ,
new GameTickData ( 13 , 0 ) ,
new GameTickData ( 13 , 0 ) ,
new RenderingData ( 0.0 f , 13 ) ,
new RenderingData ( 0.6 f , 13 ) ,
new GameTickData ( 14 , 0 ) ,
new GameTickData ( 14 , 0 ) ,
new RenderingData ( 0.6f , 14 ) ,
new RenderingData ( 0.6f , 14 ) ,
new GameTickData ( 15 , 0 ) ,
new GameTickData ( 15 , 0 ) ,
new RenderingData ( 0.6f , 15 ) ,
new RenderingData ( 0.6f , 15 ) ,
new GameTickData ( 16 , 0 ) ,
// Animation stopped cause PM_DoAttack would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame == plr[pnum]._pAFrames - 1) {"
new RenderingData ( 0.6f , 16 ) ,
// Animation stopped cause PM_DoAttack would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame == plr[pnum]._pAFrames) {"
} ) ;
} ) ;
}
}
@ -227,11 +227,16 @@ TEST(AnimationInfo, AttackSwordWarriorRepeated)
{
{
new SetNewAnimationData ( 16 , 1 , AnimationDistributionFlags : : ProcessAnimationPending , 0 , 9 ) ,
new SetNewAnimationData ( 16 , 1 , AnimationDistributionFlags : : ProcessAnimationPending , 0 , 9 ) ,
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
new GameTickData ( 1 , 0 ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 0 ) ,
new RenderingData ( 0.8f , 0 ) ,
new GameTickData ( 2 , 0 ) ,
new GameTickData ( 2 , 0 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.8f , 1 ) ,
new RenderingData ( 0.8f , 2 ) ,
new GameTickData ( 3 , 0 ) ,
new GameTickData ( 3 , 0 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.3f , 2 ) ,
@ -240,7 +245,7 @@ TEST(AnimationInfo, AttackSwordWarriorRepeated)
new GameTickData ( 4 , 0 ) ,
new GameTickData ( 4 , 0 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.6f , 3 ) ,
new RenderingData ( 0.6f , 4 ) ,
new RenderingData ( 0.8f , 4 ) ,
new RenderingData ( 0.8f , 4 ) ,
new GameTickData ( 5 , 0 ) ,
new GameTickData ( 5 , 0 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.0f , 4 ) ,
@ -249,7 +254,7 @@ TEST(AnimationInfo, AttackSwordWarriorRepeated)
new RenderingData ( 0.8f , 5 ) ,
new RenderingData ( 0.8f , 5 ) ,
new GameTickData ( 6 , 0 ) ,
new GameTickData ( 6 , 0 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.3f , 5 ) ,
new RenderingData ( 0.3f , 6 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.8f , 6 ) ,
new RenderingData ( 0.8f , 6 ) ,
new GameTickData ( 7 , 0 ) ,
new GameTickData ( 7 , 0 ) ,
@ -257,75 +262,70 @@ TEST(AnimationInfo, AttackSwordWarriorRepeated)
new RenderingData ( 0.3f , 7 ) ,
new RenderingData ( 0.3f , 7 ) ,
new RenderingData ( 0.6f , 7 ) ,
new RenderingData ( 0.6f , 7 ) ,
new RenderingData ( 0.8f , 7 ) ,
new RenderingData ( 0.8f , 7 ) ,
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.0f , 7 ) ,
new RenderingData ( 0.3f , 8 ) ,
new RenderingData ( 0.6f , 8 ) ,
new RenderingData ( 0.8f , 8 ) ,
// After this GameTick, the Animation Distribution Logic is disabled
// After this GameTick, the Animation Distribution Logic is disabled
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.1f , 8 ) ,
new GameTickData ( 9 , 0 ) ,
new GameTickData ( 9 , 0 ) ,
new RenderingData ( 0.1f , 9 ) ,
new RenderingData ( 0.3f , 9 ) ,
new GameTickData ( 10 , 0 ) ,
new RenderingData ( 0.3f , 10 ) ,
// Start of repeated attack, cause plr[pnum].AnimInfo.CurrentFrame > plr[myplr]._pAFNum
// Start of repeated attack, cause plr[pnum].AnimInfo.CurrentFrame > plr[myplr]._pAFNum
new SetNewAnimationData ( 16 , 1 , static_cast < AnimationDistributionFlags > ( AnimationDistributionFlags : : ProcessAnimationPending | AnimationDistributionFlags : : RepeatedAction ) , 0 , 9 ) ,
new SetNewAnimationData ( 16 , 1 , static_cast < AnimationDistributionFlags > ( AnimationDistributionFlags : : ProcessAnimationPending | AnimationDistributionFlags : : RepeatedAction ) , 0 , 9 ) ,
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
// ProcessAnimation directly after StartAttack (in same GameTick). So we don't see any rendering before.
new GameTickData ( 1 , 0 ) ,
new RenderingData ( 0.0f , 10 ) ,
new RenderingData ( 0.3f , 10 ) ,
new RenderingData ( 0.6f , 11 ) ,
new RenderingData ( 0.8f , 11 ) ,
new GameTickData ( 2 , 0 ) ,
new GameTickData ( 2 , 0 ) ,
new RenderingData ( 0.0f , 11 ) ,
new RenderingData ( 0.0f , 12 ) ,
new RenderingData ( 0.3f , 11 ) ,
new RenderingData ( 0.3f , 12 ) ,
new RenderingData ( 0.6f , 12 ) ,
new RenderingData ( 0.6f , 13 ) ,
new RenderingData ( 0.8f , 12 ) ,
new RenderingData ( 0.8f , 13 ) ,
new GameTickData ( 3 , 0 ) ,
new GameTickData ( 3 , 0 ) ,
new RenderingData ( 0.0f , 13 ) ,
new RenderingData ( 0.0f , 14 ) ,
new RenderingData ( 0.3f , 13 ) ,
new RenderingData ( 0.3f , 14 ) ,
new RenderingData ( 0.6f , 14 ) ,
new RenderingData ( 0.6f , 15 ) ,
new RenderingData ( 0.8f , 14 ) ,
new RenderingData ( 0.8f , 15 ) ,
new GameTickData ( 4 , 0 ) ,
new GameTickData ( 4 , 0 ) ,
new RenderingData ( 0.0f , 15 ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 15 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 16 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.8f , 16 ) ,
new RenderingData ( 0.8f , 1 ) ,
new GameTickData ( 5 , 0 ) ,
new GameTickData ( 5 , 0 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.6f , 2 ) ,
new RenderingData ( 0.6f , 3 ) ,
new RenderingData ( 0.8f , 2 ) ,
new RenderingData ( 0.8f , 3 ) ,
new GameTickData ( 6 , 0 ) ,
new GameTickData ( 6 , 0 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.3f , 4 ) ,
new RenderingData ( 0.6f , 4 ) ,
new RenderingData ( 0.6f , 5 ) ,
new RenderingData ( 0.8f , 4 ) ,
new RenderingData ( 0.8f , 5 ) ,
new GameTickData ( 7 , 0 ) ,
new GameTickData ( 7 , 0 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.0f , 6 ) ,
new RenderingData ( 0.3f , 5 ) ,
new RenderingData ( 0.3f , 6 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.6f , 7 ) ,
new RenderingData ( 0.8f , 6 ) ,
new RenderingData ( 0.8f , 7 ) ,
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.0f , 7 ) ,
new RenderingData ( 0.3f , 7 ) ,
new RenderingData ( 0.6f , 8 ) ,
new RenderingData ( 0.8f , 8 ) ,
// After this GameTick, the Animation Distribution Logic is disabled
// After this GameTick, the Animation Distribution Logic is disabled
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.1f , 8 ) ,
new GameTickData ( 9 , 0 ) ,
new GameTickData ( 9 , 0 ) ,
new RenderingData ( 0.1f , 9 ) ,
new RenderingData ( 0.4 f , 9 ) ,
new GameTickData ( 10 , 0 ) ,
new GameTickData ( 10 , 0 ) ,
new RenderingData ( 0.4f , 10 ) ,
new RenderingData ( 0.4f , 10 ) ,
new GameTickData ( 11 , 0 ) ,
new GameTickData ( 11 , 0 ) ,
new RenderingData ( 0.4 f , 11 ) ,
new RenderingData ( 0.3 f , 11 ) ,
new GameTickData ( 12 , 0 ) ,
new GameTickData ( 12 , 0 ) ,
new RenderingData ( 0.3 f , 12 ) ,
new RenderingData ( 0.0 f , 12 ) ,
new GameTickData ( 13 , 0 ) ,
new GameTickData ( 13 , 0 ) ,
new RenderingData ( 0.0 f , 13 ) ,
new RenderingData ( 0.6 f , 13 ) ,
new GameTickData ( 14 , 0 ) ,
new GameTickData ( 14 , 0 ) ,
new RenderingData ( 0.6f , 14 ) ,
new RenderingData ( 0.6f , 14 ) ,
new GameTickData ( 15 , 0 ) ,
new GameTickData ( 15 , 0 ) ,
new RenderingData ( 0.6f , 15 ) ,
new RenderingData ( 0.6f , 15 ) ,
new GameTickData ( 16 , 0 ) ,
// Animation stopped cause PM_DoAttack would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame == plr[pnum]._pAFrames - 1) {"
new RenderingData ( 0.6f , 16 ) ,
// Animation stopped cause PM_DoAttack would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame == plr[pnum]._pAFrames) {"
} ) ;
} ) ;
}
}
@ -334,25 +334,25 @@ TEST(AnimationInfo, BlockingWarriorNormal) // Ignored delay for last Frame shoul
RunAnimationTest (
RunAnimationTest (
{
{
new SetNewAnimationData ( 2 , 3 , AnimationDistributionFlags : : SkipsDelayOfLastFrame ) ,
new SetNewAnimationData ( 2 , 3 , AnimationDistributionFlags : : SkipsDelayOfLastFrame ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 0 ) ,
new RenderingData ( 0.8f , 0 ) ,
new GameTickData ( 0 , 1 ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 0 ) ,
new RenderingData ( 0.8f , 0 ) ,
new GameTickData ( 0 , 2 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.8f , 1 ) ,
new RenderingData ( 0.8f , 1 ) ,
new GameTickData ( 1 , 1 ) ,
new GameTickData ( 1 , 0 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.8f , 1 ) ,
new RenderingData ( 0.8f , 1 ) ,
new GameTickData ( 1 , 2 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.6f , 2 ) ,
new RenderingData ( 0.8f , 2 ) ,
new GameTickData ( 2 , 0 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.6f , 2 ) ,
new RenderingData ( 0.8f , 2 ) ,
// Animation stopped cause PM_DoBlock would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame >= plr[pnum]._pBFrames) {"
// Animation stopped cause PM_DoBlock would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame >= plr[pnum]._pBFrames) {"
} ) ;
} ) ;
}
}
@ -362,25 +362,25 @@ TEST(AnimationInfo, BlockingSorcererWithFastBlock) // Skipped frames and ignored
RunAnimationTest (
RunAnimationTest (
{
{
new SetNewAnimationData ( 6 , 3 , AnimationDistributionFlags : : SkipsDelayOfLastFrame , 4 ) ,
new SetNewAnimationData ( 6 , 3 , AnimationDistributionFlags : : SkipsDelayOfLastFrame , 4 ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 0 ) ,
new RenderingData ( 0.8f , 1 ) ,
new GameTickData ( 4 , 1 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 2 ) ,
new RenderingData ( 0.8f , 2 ) ,
new RenderingData ( 0.8f , 2 ) ,
new GameTickData ( 5 , 1 ) ,
new GameTickData ( 4 , 2 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.6f , 3 ) ,
new RenderingData ( 0.6f , 3 ) ,
new RenderingData ( 0.8f , 3 ) ,
new RenderingData ( 0.8f , 4 ) ,
new GameTickData ( 5 , 2 ) ,
new GameTickData ( 5 , 0 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.3f , 4 ) ,
new RenderingData ( 0.3f , 4 ) ,
new RenderingData ( 0.6f , 4 ) ,
new RenderingData ( 0.6f , 5 ) ,
new RenderingData ( 0.8f , 5 ) ,
new RenderingData ( 0.8f , 5 ) ,
new GameTickData ( 6 , 0 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.3f , 5 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.8f , 6 ) ,
// Animation stopped cause PM_DoBlock would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame >= plr[pnum]._pBFrames) {"
// Animation stopped cause PM_DoBlock would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame >= plr[pnum]._pBFrames) {"
} ) ;
} ) ;
}
}
@ -390,25 +390,25 @@ TEST(AnimationInfo, HitRecoverySorcererZenMode) // Skipped frames and ignored de
RunAnimationTest (
RunAnimationTest (
{
{
new SetNewAnimationData ( 8 , 1 , AnimationDistributionFlags : : None , 4 ) ,
new SetNewAnimationData ( 8 , 1 , AnimationDistributionFlags : : None , 4 ) ,
new RenderingData ( 0.0f , 1 ) ,
new RenderingData ( 0.0f , 0 ) ,
new RenderingData ( 0.3f , 1 ) ,
new RenderingData ( 0.3f , 0 ) ,
new RenderingData ( 0.6f , 2 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.8f , 2 ) ,
new RenderingData ( 0.8f , 1 ) ,
new GameTickData ( 5 , 0 ) ,
new RenderingData ( 0.0f , 2 ) ,
new RenderingData ( 0.3f , 2 ) ,
new RenderingData ( 0.6f , 3 ) ,
new RenderingData ( 0.8f , 3 ) ,
new GameTickData ( 6 , 0 ) ,
new GameTickData ( 6 , 0 ) ,
new RenderingData ( 0.0f , 3 ) ,
new RenderingData ( 0.0f , 4 ) ,
new RenderingData ( 0.3f , 3 ) ,
new RenderingData ( 0.3f , 4 ) ,
new RenderingData ( 0.6f , 4 ) ,
new RenderingData ( 0.6f , 5 ) ,
new RenderingData ( 0.8f , 4 ) ,
new RenderingData ( 0.8f , 5 ) ,
new GameTickData ( 7 , 0 ) ,
new GameTickData ( 7 , 0 ) ,
new RenderingData ( 0.0f , 5 ) ,
new RenderingData ( 0.0f , 6 ) ,
new RenderingData ( 0.3f , 5 ) ,
new RenderingData ( 0.3f , 6 ) ,
new RenderingData ( 0.6f , 6 ) ,
new RenderingData ( 0.6f , 7 ) ,
new RenderingData ( 0.8f , 6 ) ,
new RenderingData ( 0.8f , 7 ) ,
new GameTickData ( 8 , 0 ) ,
new RenderingData ( 0.0f , 7 ) ,
new RenderingData ( 0.3f , 7 ) ,
new RenderingData ( 0.6f , 8 ) ,
new RenderingData ( 0.8f , 8 ) ,
// Animation stopped cause PM_DoGotHit would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame >= plr[pnum]._pHFrames) {"
// Animation stopped cause PM_DoGotHit would stop the Animation "if (plr[pnum].AnimInfo.CurrentFrame >= plr[pnum]._pHFrames) {"
} ) ;
} ) ;
}
}
@ -417,7 +417,16 @@ TEST(AnimationInfo, Stand) // Distribution Logic shouldn't change anything here
RunAnimationTest (
RunAnimationTest (
{
{
new SetNewAnimationData ( 10 , 4 ) ,
new SetNewAnimationData ( 10 , 4 ) ,
new RenderingData ( 0.1f , 1 ) ,
new RenderingData ( 0.1f , 0 ) ,
new GameTickData ( 0 , 1 ) ,
new RenderingData ( 0.6f , 0 ) ,
new GameTickData ( 0 , 2 ) ,
new RenderingData ( 0.6f , 0 ) ,
new GameTickData ( 0 , 3 ) ,
new RenderingData ( 0.6f , 0 ) ,
new GameTickData ( 1 , 0 ) ,
new RenderingData ( 0.6f , 1 ) ,
new GameTickData ( 1 , 1 ) ,
new GameTickData ( 1 , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new GameTickData ( 1 , 2 ) ,
new GameTickData ( 1 , 2 ) ,
@ -497,23 +506,14 @@ TEST(AnimationInfo, Stand) // Distribution Logic shouldn't change anything here
new GameTickData ( 9 , 3 ) ,
new GameTickData ( 9 , 3 ) ,
new RenderingData ( 0.6f , 9 ) ,
new RenderingData ( 0.6f , 9 ) ,
new GameTickData ( 10 , 0 ) ,
new RenderingData ( 0.6f , 10 ) ,
new GameTickData ( 10 , 1 ) ,
new RenderingData ( 0.6f , 10 ) ,
new GameTickData ( 10 , 2 ) ,
new RenderingData ( 0.6f , 10 ) ,
new GameTickData ( 10 , 3 ) ,
new RenderingData ( 0.6f , 10 ) ,
// Animation starts again
// Animation starts again
new GameTickData ( 1 , 0 ) ,
new GameTickData ( 0 , 0 ) ,
new RenderingData ( 0.1f , 1 ) ,
new RenderingData ( 0.1f , 0 ) ,
new GameTickData ( 1 , 1 ) ,
new GameTickData ( 0 , 1 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 0 ) ,
new GameTickData ( 1 , 2 ) ,
new GameTickData ( 0 , 2 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 0 ) ,
new GameTickData ( 1 , 3 ) ,
new GameTickData ( 0 , 3 ) ,
new RenderingData ( 0.6f , 1 ) ,
new RenderingData ( 0.6f , 0 ) ,
} ) ;
} ) ;
}
}