diff --git a/radiant/console.cpp b/radiant/console.cpp index 39048646..6ce34b35 100644 --- a/radiant/console.cpp +++ b/radiant/console.cpp @@ -198,44 +198,26 @@ std::size_t Sys_Print( int level, const char* buf, std::size_t length ){ } -class SysPrintOutputStream : public TextOutputStream +template +class SysPrintStream : public TextOutputStream { public: std::size_t write( const char* buffer, std::size_t length ){ - return Sys_Print( SYS_STD, buffer, length ); + return Sys_Print( level, buffer, length ); } }; -class SysPrintErrorStream : public TextOutputStream -{ -public: - std::size_t write( const char* buffer, std::size_t length ){ - return Sys_Print( SYS_ERR, buffer, length ); - } -}; - -class SysPrintWarningStream : public TextOutputStream -{ -public: - std::size_t write( const char* buffer, std::size_t length ){ - return Sys_Print( SYS_WRN, buffer, length ); - } -}; - -SysPrintOutputStream g_outputStream; - TextOutputStream& getSysPrintOutputStream(){ - return g_outputStream; + static SysPrintStream stream; + return stream; } -SysPrintWarningStream g_warningStream; - TextOutputStream& getSysPrintWarningStream(){ - return g_warningStream; + static SysPrintStream stream; + return stream; } -SysPrintErrorStream g_errorStream; - TextOutputStream& getSysPrintErrorStream(){ - return g_errorStream; + static SysPrintStream stream; + return stream; }