diff options
Diffstat (limited to 'mp/src/public/engine/ivdebugoverlay.h')
| -rw-r--r-- | mp/src/public/engine/ivdebugoverlay.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/mp/src/public/engine/ivdebugoverlay.h b/mp/src/public/engine/ivdebugoverlay.h new file mode 100644 index 00000000..51aeafd1 --- /dev/null +++ b/mp/src/public/engine/ivdebugoverlay.h @@ -0,0 +1,63 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+//
+// cdll_int.h
+//
+// 4-23-98
+// JOHN: client dll interface declarations
+//
+
+#ifndef IVDEBUGOVERLAY_H
+#define IVDEBUGOVERLAY_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+class Vector;
+
+#define VDEBUG_OVERLAY_INTERFACE_VERSION "VDebugOverlay003"
+
+// When used as a duration by a server-side NDebugOverlay:: call,
+// causes the overlay to persist until the next server update.
+#define NDEBUG_PERSIST_TILL_NEXT_SERVER (0.01023f)
+
+class OverlayText_t;
+
+abstract_class IVDebugOverlay
+{
+public:
+ virtual void AddEntityTextOverlay(int ent_index, int line_offset, float duration, int r, int g, int b, int a, PRINTF_FORMAT_STRING const char *format, ...) = 0;
+ virtual void AddBoxOverlay(const Vector& origin, const Vector& mins, const Vector& max, QAngle const& orientation, int r, int g, int b, int a, float duration) = 0;
+ virtual void AddTriangleOverlay(const Vector& p1, const Vector& p2, const Vector& p3, int r, int g, int b, int a, bool noDepthTest, float duration) = 0;
+ virtual void AddLineOverlay(const Vector& origin, const Vector& dest, int r, int g, int b,bool noDepthTest, float duration) = 0;
+ virtual void AddTextOverlay(const Vector& origin, float duration, PRINTF_FORMAT_STRING const char *format, ...) = 0;
+ virtual void AddTextOverlay(const Vector& origin, int line_offset, float duration, PRINTF_FORMAT_STRING const char *format, ...) = 0;
+ virtual void AddScreenTextOverlay(float flXPos, float flYPos,float flDuration, int r, int g, int b, int a, const char *text) = 0;
+ virtual void AddSweptBoxOverlay(const Vector& start, const Vector& end, const Vector& mins, const Vector& max, const QAngle & angles, int r, int g, int b, int a, float flDuration) = 0;
+ virtual void AddGridOverlay(const Vector& origin) = 0;
+ virtual int ScreenPosition(const Vector& point, Vector& screen) = 0;
+ virtual int ScreenPosition(float flXPos, float flYPos, Vector& screen) = 0;
+
+ virtual OverlayText_t *GetFirst( void ) = 0;
+ virtual OverlayText_t *GetNext( OverlayText_t *current ) = 0;
+ virtual void ClearDeadOverlays( void ) = 0;
+ virtual void ClearAllOverlays() = 0;
+
+ virtual void AddTextOverlayRGB(const Vector& origin, int line_offset, float duration, float r, float g, float b, float alpha, PRINTF_FORMAT_STRING const char *format, ...) = 0;
+ virtual void AddTextOverlayRGB(const Vector& origin, int line_offset, float duration, int r, int g, int b, int a, PRINTF_FORMAT_STRING const char *format, ...) = 0;
+
+ virtual void AddLineOverlayAlpha(const Vector& origin, const Vector& dest, int r, int g, int b, int a, bool noDepthTest, float duration) = 0;
+ virtual void AddBoxOverlay2( const Vector& origin, const Vector& mins, const Vector& max, QAngle const& orientation, const Color& faceColor, const Color& edgeColor, float duration ) = 0;
+
+private:
+ inline void AddTextOverlay(const Vector& origin, int line_offset, float duration, int r, int g, int b, int a, PRINTF_FORMAT_STRING const char *format, ...) {} /* catch improper use of bad interface. Needed because '0' duration can be resolved by compiler to NULL format string (i.e., compiles but calls wrong function) */
+};
+
+
+#endif // IVDEBUGOVERLAY_H
|