// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//

#pragma once


#define NOT_USE_CRY_MEMORY_MANAGER
//#define NOT_USE_CRY_STRING

// Debug STL turned off so we can use intermixed debug/release versions of DLL.
#undef _HAS_ITERATOR_DEBUGGING
#define _HAS_ITERATOR_DEBUGGING 0
#undef _SECURE_SCL
#define _SECURE_SCL 0

#include <assert.h>

#define CRY_ASSERT_TRACE assert

// Define this to prevent including CryAssert (there is no proper hook for turning this off, like the above).
#define __CRYASSERT_H__

#include <platform.h>

// Standart C headers.
#include <direct.h>

// STL headers.
#include <vector>
#include <list>
#include <algorithm>
#include <functional>
#include <map>
#include <set>
#include <string>

//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////


#include <stdio.h>
#include <tchar.h>


// Windows Header Files:
#ifdef WIN64
#include "PortableString.h"
typedef CPortableString CString;
#else
#include <atlbase.h>
#include <atlstr.h>
#endif

//#include <StlDbgAlloc.h>
// to make smoother transition back from cry to std namespace...
#define cry std
#define CRY_AS_STD

// emulate the facility present in the cry engine
#include "ILog.h"

#include <smartptr.h>

//////////////////////////////////////////////////////////////////////////
#include "ResComDefs.h"

#include <Cry_Math.h>
#include <primitives.h>
#include <CryHeaders.h>
#include <CryVersion.h>

#include "StlUtils.h"
#include "CryPath.h"

//////////////////////////////////////////////////////////////////////////
// globals.
//////////////////////////////////////////////////////////////////////////
extern void MessageBoxError( const char *format,... );
// extern void Log( const char *format,... );

#ifndef SIZEOF_ARRAY
#define SIZEOF_ARRAY(arr) (sizeof(arr)/sizeof((arr)[0]))
#endif
