/****************************************************************************************


		WIN_MCGlobals.cpp


		Copyright: (c) 2001 Eovia Corp. All rights reserved.


		Author:	Pierre
		Date:	12/1/98

		Revision History

		when		who			what & why
		==========	==========	======================================================
		3/31/99		psq			fix WIN_MCGlobals.h
		3/30/99		Ian			Added a bunch of globals that were defined in the wrong
								place, only gMMX is ever used.
		3/16/98		Ian			Fixing warnings & added this header.

*****************************************************************************************/

#ifndef __Win_MCGlobals__
#define __Win_MCGlobals__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#if MAC
	#error doNotcompileOnAMAC
#endif

#include "MCBasicTypes.h"

//we don't want to include "windows.h" here, but we'll use it if it has been included before us
#ifndef _WINNT_
#define MCDECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
MCDECLARE_HANDLE(HINSTANCE);
MCDECLARE_HANDLE(HWND);
#endif

namespace TWIN_MCGlobals	
{
	extern HINSTANCE	ghInstance;
	extern HWND			ghMainFrame;
	extern boolean		gIsPentiumProcessor;	
	extern boolean		gIsPentiumIIProcessor;
	extern boolean		gIsPentiumIIIProcessor;
	extern boolean		gMMX;	
}

#define macroHasMMX					TWIN_MCGlobals::gMMX
#define macroIsPentiumProcessor		TWIN_MCGlobals::gIsPentiumProcessor
#define macroIsPentiumIIProcessor	TWIN_MCGlobals::gIsPentiumIIProcessor
#define macroIsPentiumIIIProcessor	TWIN_MCGlobals::gIsPentiumIIIProcessor

#endif
