//
// Asura_Wii_Screenlog.h
//
// Created by KOR - 26 July 2007
//
// Copyright (C) 2007 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_WII_SCREENLOG_H__
#define __ASURA_WII_SCREENLOG_H__

#ifdef ASURA_ENABLE_WII_SCREENLOG

#include "Core/Asura_Multithread.h"

const u_int uASURA_WII_SCREENLOG_MAX_LINES = 25;

class Asura_Wii_Screenlog
{
public:
	static void Initialise();
	// Note - do not create messages on the stack as this simply records the pointer.
	static void Log(const char* szMessage);
private:
	static Asura_Mutex s_xMutex;
	static u_int s_uCurrentLine;
	static const char* s_aszMessageLog[uASURA_WII_SCREENLOG_MAX_LINES];
	static bool s_bInitialised;
};

#else

class Asura_Wii_Screenlog
{
public:
	static void Log(const char* szMessage) {}
};

#endif

#endif//__ASURA_WII_SCREENLOG_H__