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

  1. //----------------------------------------------------------------
  2. // Game_Debug.h
  3. //
  4. // Copyright 2002-2004 Raven Software
  5. //----------------------------------------------------------------
  6.  
  7. #ifndef __GAME_DEBUG_H__
  8. #define    __GAME_DEBUG_H__
  9.  
  10. #define DBGHUD_NONE            (0)
  11. #define DBGHUD_PLAYER        (1<<0)
  12. #define DBGHUD_PHYSICS        (1<<1)
  13. #define DBGHUD_AI            (1<<2)
  14. #define DBGHUD_VEHICLE        (1<<3)
  15. #define DBGHUD_PERFORMANCE    (1<<4)
  16. #define DBGHUD_FX            (1<<5)
  17. #define DBGHUD_MAPINFO        (1<<6)
  18. #define DBGHUD_AI_PERFORM    (1<<7)
  19. #define DBGHUD_SCRATCH        (1<<31)
  20. #define DBGHUD_ANY            (0xFFFFFFFF)
  21.  
  22. #define DBGHUD_MAX            32
  23.  
  24. typedef struct debugJumpPoint_s 
  25. {
  26.     idStr                    name;
  27.     idVec3                    origin;
  28.     idAngles                angles;
  29.     
  30. } debugJumpPoint_t;
  31.  
  32. class rvGameDebug {
  33. public:
  34.     
  35.     rvGameDebug( );
  36.     
  37.     void        Init                ( void );
  38.     void        Shutdown            ( void );
  39.     void        BeginFrame            ( void );
  40.     void        EndFrame            ( void );
  41.     
  42.     void        SetFocusEntity        ( idEntity* focusEnt );
  43.     
  44.     bool        IsHudActive            ( int hudMask, const idEntity* focusEnt = NULL );
  45.     
  46.     void        DrawHud                ( void );
  47.     
  48.     void        AppendList            ( const char* listname, const char* value );
  49.     
  50.     void        SetInt                ( const char* key, int value );
  51.     void        SetFloat            ( const char* key, float value );
  52.     void        SetString            ( const char* key, const char* value );
  53.     
  54.     int            GetInt                ( const char* key );
  55.     float        GetFloat            ( const char* key );
  56.     const char*    GetString            ( const char* key );
  57.  
  58.     void        SetStatInt            ( const char* key, int value );
  59.     void        SetStatFloat        ( const char* key, float value );
  60.     void        SetStatString        ( const char* key, const char* value );
  61.     
  62.     int            GetStatInt            ( const char* key );
  63.     float        GetStatFloat        ( const char* key );
  64.     const char*    GetStatString        ( const char* key );
  65.  
  66.     void        JumpAdd                ( const char* name, const idVec3& origin, const idAngles& angles );
  67.     void        JumpTo                ( const char* name );
  68.     void        JumpTo                ( int jumpIndex );
  69.     void        JumpNext            ( void );
  70.     void        JumpPrev            ( void );    
  71.     
  72. private:        
  73.  
  74.     idList<debugJumpPoint_t>    jumpPoints;
  75.     int                            jumpIndex;
  76.     
  77.     idEntityPtr<idEntity>        focusEntity;
  78.     idEntityPtr<idEntity>        overrideEntity;        
  79.     idUserInterface *            hud[DBGHUD_MAX+1];
  80.     idUserInterface *            currentHud;
  81.     idDict                        nonGameState, gameStats;
  82.     bool                        inFrame;
  83. };
  84.  
  85. ID_INLINE bool rvGameDebug::IsHudActive ( int hudMask, const idEntity* ent ) {
  86.     return (g_showDebugHud.GetInteger() && (hudMask & (1 << (g_showDebugHud.GetInteger()-1))) && (!ent || focusEntity == ent ) );
  87. }
  88.  
  89. ID_INLINE void rvGameDebug::SetFocusEntity ( idEntity* ent ) {
  90.     overrideEntity = ent;
  91. }
  92.  
  93. extern rvGameDebug        gameDebug;
  94.  
  95. #endif    /* !__GAME_DEBUG_H__ */
  96.