#if defined (ERROR_TEST)

/*
extern GLenum g_oglError;
extern GLenum g_oglPrevError;
extern char g_oglErrorString[255];
extern int g_oglErrorCount;
extern LPVOID g_lpMsgBuf;
*/

extern void fn_vOutputLog(char* ErrorString);
extern void fn_vOglError(char* oglFunc);
extern void fn_vError();

#define M_OUTPUT OutputDebugString
//#define M_OUTPUT fn_vOutputLog

#define M_OGL_ASSERT(oglFunc) \
{\
	/*M_OUTPUT(#oglFunc);\
	M_OUTPUT("\n");*/\
	oglFunc\
	fn_vOglError(#oglFunc);\
}

#define M_ASSERT(Func) \
{\
	/*M_OUTPUT(#Func);\
	M_OUTPUT("\n");*/\
	if (!Func)\
	{\
		fn_vError();\
		M_OUTPUT(#Func);\
		M_OUTPUT("\n");\
	}\
}

#define M_OGL_ASSERT_FAKE(oglFunc) \
{\
	/*M_OUTPUT(#oglFunc);\
	M_OUTPUT("\n");*/\
	oglFunc\
}
//#define M_OGL_ASSERT_FAKE M_OGL_ASSERT

#else // ERROR_TEST

#define M_OGL_ASSERT_FAKE(oglFunc) oglFunc
#define M_OGL_ASSERT(oglFunc) oglFunc
#define M_ASSERT(Func) Func;

#define M_OUTPUT(str) 

#endif // ERROR_TEST