/////////////////////////////////////////////////////////////////////////////// // Message.cpp // // // // Copyright (c) Jan Knepper, 1998. All Rights Reserved. // // Written by Jan Knepper // // // // Redistribution and use in source and binary forms, with or without // // modification, are permitted provided that the following conditions // // are met: // // 1. Redistributions of source code must retain the above copyright // // notice, this list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright // // notice, this list of conditions and the following disclaimer in the // // documentation and/or other materials provided with the distribution. // // 3. The name of the author may not be used to endorse or promote products // // derived from this software without specific prior written permission. // // // // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND // // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR // // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE // // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR // // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF // // THE POSSIBILITY OF SUCH DAMAGE. // /////////////////////////////////////////////////////////////////////////////// #include #include #include #include #include #include "Console.h" #include "Log.h" #define NO_SCREEN 1 static char buffer [ 256 ]; int Message ( const char *format, ... ) { va_list argptr; int result; int i; memset ( buffer, 0, sizeof ( buffer ) ); va_start ( argptr, format ); result = vsprintf ( buffer, format, argptr ); va_end ( argptr ); #if defined(NO_SCREEN) && ( defined(I_WIN_32) || defined(I_DOS_16_LOG) ) Log ( __FILE__, __LINE__, buffer ); #else # if defined(__CONSOLE__) ConsoleMove ( 0, 0 ); ConsoleAttr ( 0x0700 ); for ( i = 0 ; i < 160 ; i++ ) ConsolePutC ( *( buffer + i ) ); ConsoleMove ( 0, 0 ); ConsoleFlush (); # else gotoxy ( 1, 1 ); // puttext ( 1, 1, 80, 1, buffer ); // cputs ( buffer ); for ( i = 0 ; i < 160 ; i++ ) putch ( *( buffer + i ) ); gotoxy ( 1, 1 ); # endif while ( kbhit () ) getch (); getch (); # if defined(__CONSOLE__) ConsoleMove ( 0, 0 ); ConsoleAttr ( 0x0700 ); for ( i = 0 ; i < 160 ; i++ ) ConsolePutC ( ' ' ); ConsoleMove ( 0, 0 ); ConsoleFlush (); # else gotoxy ( 1, 1 ); // puttext ( 1, 1, 80, 1, buffer ); // cputs ( buffer ); for ( i = 0 ; i < 160 ; i++ ) putch ( ' ' ); gotoxy ( 1, 1 ); # endif #endif return ( result ); }