IGameConsole
This interface can help you manage the console using the GameUI module rather than using the corresponding ConCommands & ConVars. You can also print out messages in whatever color you'd like. It is not included in any of the SDK code.
public\gameui\IGameConsole.h
//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ // // Purpose: // //============================================================================= #ifndef IGAMECONSOLE_H #define IGAMECONSOLE_H #ifdef _WIN32 #pragma once #endif #include "interface.h" #include <vgui\VGUI.h> class Color; using namespace vgui; //----------------------------------------------------------------------------- // Purpose: interface to game/dev console //----------------------------------------------------------------------------- class IGameConsole : public IBaseInterface { public: // activates the console, makes it visible and brings it to the foreground virtual void Activate() = 0; virtual void Initialize() = 0; // hides the console virtual void Hide() = 0; // clears the console virtual void Clear() = 0; // return true if the console has focus virtual bool IsConsoleVisible() = 0; // prints a message to the console virtual void Printf(const char *format, ...) = 0; // printes a debug message to the console virtual void DPrintf(const char *format, ...) = 0; // printes a debug message to the console virtual void ColorPrintf( Color& clr, const char *format, ...) = 0; virtual void SetParent( VPANEL parent ) = 0; }; #define GAMECONSOLE_INTERFACE_VERSION "GameConsole003" #endif // IGAMECONSOLE_H
Access
These lines go in the client/server init files:
#include <gameui\IGameConsole.h> IGameConsole *gameconsole = NULL;
CreateInterfaceFn gameUIFactory = Sys_GetFactory("gameui.dll"); gameconsole = (IGameConsole *)gameUIFactory(GAMECONSOLE_INTERFACE_VERSION, NULL);