
///////////////////////////////////////////////////////////////////////////////
//
// File   : Asura_EngineConfiguration.h
// Author : Andy Tate
// Date   : 5-Oct-2006
//
// Copyright (C) 2006 Rebellion, All Rights Reserved.
//
// JL - 01 April 2009 - Modified PC version for use in PC-CLI
//
///////////////////////////////////////////////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
	#pragma once
#endif   // ifdef ASURA_USE_PRAGMA_ONCE

#ifndef __ASURA_ENGINECONFIGURATION_H__
#define __ASURA_ENGINECONFIGURATION_H__

////////////////////////////////////////////////////////////////////////////////
// Include files...
////////////////////////////////////////////////////////////////////////////////

#include "ProjectSettings/AVP_ProjectConfiguration.h"


////////////////////////////////////////////////////////////////////////////////
// Defines...
////////////////////////////////////////////////////////////////////////////////

// Platform-specific settings.
#if defined(_DEBUG)
	#define ASURA_ASSERT_TIMEOUT									0
#else
	#define ASURA_ENABLE_SEH_HANDLING								1
	#define ASURA_ENABLE_SEH_MINIDUMP                               1
#endif

#define ASURA_PC_SSE												1

//#define ASURA_PC_OFFSET_MESH_HIGHLIGHT_ACCORDING_TO_CAM_DIST		1
//#define ASURA_PLATFORM_HAS_LONG_LONG_TYPE							1

#define ASURA_SUPPORT_COMMAND_CONSOLE_RUN							1
#define ASURA_SUPPORT_COMMAND_CONSOLE_QUIT							1

#if !defined(AVP_SUBMISSION)
	#define ASURA_D3D_ENABLE_PIX									1
	#define ASURA_D3D_ENABLE_D3D_OK									2
#else
	#define ASURA_NO_LOAD_EFFECTS_FILES_FROM_FILES
#endif

#define ASURA_SUPPORT_MULTIPLE_MONITORS								1

#if defined(ASURA_TOOLS)
	// (AAM - 15.09.2006) Need loads of secondary textures for next-gen work
	#define ASURA_WRITE_ZLIB										1
	#define ASURA_BOTANICALS_BGR_IN_EDIT							1
	#define ASURA_BOTANICALS_KEEP_ALL_TOOLS_OBJECTS					1
	#define ASURA_PC_ALLOW_LOAD_FROM_NETWORK						1
	#define ASURA_TOOLS_USED_SKINNED_UI								1
	#define ASURA_TOOLS_SHOW_PFX_COST								1
    //// Not enabling the scoped code timing by default as it makes debugging with the debug output window near impossible.
	//#define ASURA_CPU_PROFILE_SCOPED_TIMER_ENABLE				1

	#define TOOLS_MAX_SECONDARY_TEXTURES							50
	#define ASURA_TOOLS_BATCHPROCESSING_WAITON_SUBPROCESS			1
	#define ASURA_TOOLS_USE_NEW_MESSAGE_EDITOR						1
#else
//	#define ASURA_PC_FORCE_SUBWINDOW								1
#endif	// defined(ASURA_TOOLS)

#define ASURA_USE_VIDEO_TO_TEXTURE_SYSTEM							1
#define ASURA_PLATFORM_MENU_MAX_SUPPORTED_CONTROLLERS				4
#define ASURA_LOCALISEDTEXT_PAGE_STORAGE_SIZE						11

#define ASURA_PC_TARGET_SM3											1
#define ASURA_PC_USE_NEW_ENVIRONMENT_RENDERER						1
//#define ASURA_USE_VISIBILITY_SYSTEM								1
#define ASURA_SUPPORT_NORMAL_MAPS									1
#define ASURA_PC_USE_SHADER_MODEL_3_SMOOTH_SKIN_RENDERER			1
#define ASURA_PC_DISABLE_PRESM3_SMOOTH_SKIN_RENDERER				1

//#define ASURA_DIRECT3D_BGR_SUPPORT_SM30							1
//#define ASURA_BOTANICAL_SUPPORT_DYNAMIC_DATA						1
//#define ASURA_BOTANICAL_SUPPORT_INTERACTIVE						1
//#define ASURA_BOTANICAL_SUPPORT_INTERACTIVE_PLATFORM_DATA_UPDATE	1
//#define ASURA_BOTANICAL_SUPPORT_SECTION_VERSIONS					1
//#define ASURA_BOTANICAL_SUPPORT_STATES							1
//#define ASURA_SUPPORT_MULTITHREADED_JOB_QUEUE						1
//#define ASURA_BOTANICAL_SUPPORT_INTERACTIVE_MULTITHREADED       	1

#define ASURA_MAX_DEBUG_LINE_RENDER_SINGLE_LINES					4096

//#define ASURA_USE_FASTPATH_PFX									1
//#define ASURA_FASTPATH_PFX_VERTEXBUFFER_SIZE						10000
//#define ASURA_FASTPATH_PFX_VERTEXBUFFER_COUNT						2

#define TOOLS_PROJECT_TEXTURE_CONVERSION_DATA_VERSION				1

#if defined(ASURA_TOOLS)
	#define ASURA_PC_APPLICATION_NAME								TEXT("AvP Tools")
	#define ASURA_PC_APPLICATION_TITLE								TEXT("AvP Tools")
#else
	#define ASURA_PC_APPLICATION_NAME								TEXT("AvP")
	#define ASURA_PC_APPLICATION_TITLE								TEXT("AvP")
#endif	// defined(ASURA_TOOLS)

#define ASURA_PROJECT_SHADER_PATH									"/Project/AVP/Game/PC/"

#define ASURA_USE_TASK_SYSTEM										1

#if defined(ASURA_SUPPORT_EXTERNAL_NETWORK) && !defined(ASURA_TOOLS)
#define ASURA_USE_MERIT_SYSTEM										1
//#define ASURA_PC_SUPPORT_STEAMWORKS									1
#endif	//defined(ASURA_SUPPORT_EXTERNAL_NETWORK) && !defined(ASURA_TOOLS)


////////////////////////////////////////////////////////////////////////////////
// Project independent defines...
////////////////////////////////////////////////////////////////////////////////

#define AVP_EXPORTED_LEVEL_FILE_EXTENSION		".pc"
#define AVP_GENERATE_FULL_LEVEL_FILENAME(f)		"Envs\\" f ".pc"

#define AVP_PHEROMONES_ENABLED										1

#endif   // ifndef __ASURA_ENGINECONFIGURATION_H__


/// End of file. ///
