//////////////////////////////////////////////////////////////////////////////
//
// Asura_InfoMsgSystem.cpp
//
// Copyright (c) 2003 Rebellion. All rights reserved.
//
// Description:
//
//     See header.
//
//////////////////////////////////////////////////////////////////////////////

// I N C L U D E S ///////////////////////////////////////////////////////////

#include "Core/Asura.h"

// This file's header.
#include "Interface/Asura_InfoMsgSystem.h"

#ifdef ASURA_SUPPORT_INFO_MSG_SYSTEM

// Stdlib independent.
#include <stdarg.h>

// Engine independent.
#include "Core/Asura_String.h"

// G L O B A L S /////////////////////////////////////////////////////////////

static Asura_UnicodeChar g_wszBfr[ASURA_INFO_MSG_SYSTEM_MAX_FORMATTED_SIZE];

// C L A S S   I M P L E M E N T A T I O N S /////////////////////////////////

void Asura_InfoMsgSystem::Output( const Asura_UnicodeChar* wszFmt, ... )
{
    // Prepare output string.
    {
        va_list xArgs;
        va_start( xArgs, wszFmt );
        Asura_PrintfToBfr( g_wszBfr, wszFmt, xArgs, ASURA_INFO_MSG_SYSTEM_MAX_FORMATTED_SIZE, true );
        va_end( xArgs );
    }

    // Pass to project-specific code.
    Project_Output( g_wszBfr );
}

// E N D   F I L E   W R A P P E R ///////////////////////////////////////////

#endif // #ifdef ASURA_SUPPORT_INFO_MSG_SYSTEM
