Advertisement
Guest User

UT99 - Weapon shoot benchmark.

a guest
Aug 12th, 2019
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //=============================================================================
  2. // ShootBenchmark.
  3. // Time analysis tool for weapon fire.
  4. //=============================================================================
  5. class ShootBenchmark expands Actor;
  6.  
  7. var float StartHitTime;
  8. var float LastHitTime;
  9. var int HitCount;
  10. var Pawn Shooter;
  11.  
  12. var bool bJustHit;
  13. var float WeaponAnimFrame;
  14.  
  15. event TakeDamage( int Damage, Pawn EventInstigator, vector HitLocation, vector Momentum, name DamageType)
  16. {
  17.     if ( Shooter == None )
  18.         Shooter = EventInstigator;
  19.     else if ( Shooter != EventInstigator )
  20.         return;
  21.  
  22.     if ( HitCount == 0 )
  23.         StartHitTime = Level.TimeSeconds;
  24.     LastHitTime = Level.TimeSeconds;
  25.     HitCount++;
  26.  
  27.     //Record weapon animation state during hit
  28. /*  bJustHit = true;
  29.     WeaponAnimFrame = Shooter.Weapon.AnimFrame;
  30.     if ( WeaponAnimFrame < 0 )
  31.         WeaponAnimFrame += 1;
  32.     Log("Shot at "$WeaponAnimFrame);*/
  33. }
  34.  
  35. event Tick( float DeltaTime)
  36. {
  37.     local float ShootAvg;
  38.  
  39. /*  if ( bJustHit && Shooter != None && Shooter.Weapon != None )
  40.     {
  41.         bJustHit = Shooter.Weapon.AnimFrame >= WeaponAnimFrame;
  42.         WeaponAnimFrame = Shooter.Weapon.AnimFrame;
  43.         Log( WeaponAnimFrame );
  44.     }*/
  45.  
  46.     if ( (Shooter != None) && (Shooter.bFire + Shooter.bAltFire == 0) )
  47.     {
  48.         if ( HitCount > 1 )
  49.         {
  50.             ShootAvg = (LastHitTime - StartHitTime) / float(HitCount-1);
  51.             Log("Shooter: "$Shooter.Name@"Hits="$HitCount@"Avg="$ShootAvg);
  52.         }
  53.         Shooter = None;
  54.         HitCount = 0;
  55.         LastHitTime = 0;
  56.         StartHitTime = 0;
  57.     }
  58. }
  59.  
  60.  
  61. defaultproperties
  62. {
  63.      Texture=Texture'Engine.S_Weapon'
  64.      bCollideActors=True
  65.      bProjTarget=True
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement