home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 March / Gamestar_82_2006-03_dvd.iso / DVDStar / Editace / quake4_sdkv10.exe / source / game / gamesys / DebugGraph.cpp < prev    next >
C/C++ Source or Header  |  2005-11-14  |  1KB  |  69 lines

  1. #include "../../idlib/precompiled.h"
  2. #pragma hdrstop
  3.  
  4. #include "../Game_local.h"
  5.  
  6. /*
  7. ================
  8. idDebugGraph::idDebugGraph
  9. ================
  10. */
  11. idDebugGraph::idDebugGraph() {
  12.     index = 0;
  13. }
  14.  
  15. /*
  16. ================
  17. idDebugGraph::SetNumSamples
  18. ================
  19. */
  20. void idDebugGraph::SetNumSamples( int num ) {
  21.     index = 0;
  22.     samples.Clear();
  23.     samples.SetNum( num );
  24.     memset( samples.Ptr(), 0, samples.MemoryUsed() );
  25. }
  26.  
  27. /*
  28. ================
  29. idDebugGraph::AddValue
  30. ================
  31. */
  32. void idDebugGraph::AddValue( float value ) {
  33.     samples[ index ] = value;
  34.     index++;
  35.     if ( index >= samples.Num() ) {
  36.         index = 0;
  37.     }
  38. }
  39.  
  40. /*
  41. ================
  42. idDebugGraph::Draw
  43. ================
  44. */
  45. void idDebugGraph::Draw( const idVec4 &color, float scale ) const {
  46.     int i;
  47.     float value1;
  48.     float value2;
  49.     idVec3 vec1;
  50.     idVec3 vec2;
  51.  
  52.     const idMat3 &axis = gameLocal.GetLocalPlayer()->viewAxis;
  53.     const idVec3 pos = gameLocal.GetLocalPlayer()->GetPhysics()->GetOrigin() + axis[ 1 ] * samples.Num() * 0.5f;
  54.  
  55.     value1 = samples[ index ] * scale;
  56.     for( i = 1; i < samples.Num(); i++ ) {
  57.         value2 = samples[ ( i + index ) % samples.Num() ] * scale;
  58.  
  59.         vec1 = pos + axis[ 2 ] * value1 - axis[ 1 ] * ( i - 1 ) + axis[ 0 ] * samples.Num();
  60.         vec2 = pos + axis[ 2 ] * value2 - axis[ 1 ] * i + axis[ 0 ] * samples.Num();
  61.  
  62. // RAVEN BEGIN
  63. // bdube: use GetMSec access rather than USERCMD_TIME
  64.         gameRenderWorld->DebugLine( color, vec1, vec2, gameLocal.GetMSec ( ), false );
  65. // RAVEN END
  66.         value1 = value2;
  67.     }
  68. }
  69.