You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Editor/EditorDefs.h

187 lines
4.3 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
#include <AzCore/PlatformDef.h>
// It is vital that at least some Qt header is pulled in to this header, so that
// QT_VERSION is defined and the editor gets the correct set of overloads in the
// IXML interface. This also disambiguates the GUID/REFGUID situation in Guid.h
#include <QUuid>
#include <platform.h>
#include "ProjectDefines.h"
#ifdef NOMINMAX
#include "Cry_Math.h"
#endif //NOMINMAX
// Resource includes
#include "Resource.h"
#include <Include/SandboxAPI.h>
#include <Include/EditorCoreAPI.h>
//////////////////////////////////////////////////////////////////////////
// Simple type definitions.
//////////////////////////////////////////////////////////////////////////
#include "BaseTypes.h"
// Which cfg file to use.
#define EDITOR_CFG_FILE "editor.cfg"
//////////////////////////////////////////////////////////////////////////
// C runtime lib includes
//////////////////////////////////////////////////////////////////////////
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cfloat>
#include <climits>
/////////////////////////////////////////////////////////////////////////////
// STL
/////////////////////////////////////////////////////////////////////////////
#include <memory>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <algorithm>
#include <functional>
#undef rand // remove cryengine protection against wrong rand usage
/////////////////////////////////////////////////////////////////////////////
// VARIOUS MACROS AND DEFINES
/////////////////////////////////////////////////////////////////////////////
#ifdef new
#undef new
#endif
#ifndef SAFE_DELETE
#define SAFE_DELETE(p) { if (p) { delete (p); (p) = nullptr; } \
}
#endif
#ifndef SAFE_DELETE_ARRAY
#define SAFE_DELETE_ARRAY(p) { if (p) { delete[] (p); (p) = nullptr; } \
}
#endif
#ifndef SAFE_RELEASE
#define SAFE_RELEASE(p) { if (p) { (p)->Release(); (p) = nullptr; } \
}
#endif
/////////////////////////////////////////////////////////////////////////////
// CRY Stuff ////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
#include <platform.h>
#include <Cry_Math.h>
#include <Cry_Geo.h>
#include <Range.h>
#include <StlUtils.h>
#include <smartptr.h>
#define TSmartPtr _smart_ptr
#define TOOLBAR_TRANSPARENT_COLOR QColor(0xC0, 0xC0, 0xC0)
/////////////////////////////////////////////////////////////////////////////
// Interfaces ///////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
#include <IRenderer.h>
#include <CryFile.h>
#include <ISystem.h>
#include <IIndexedMesh.h>
#include <ITimer.h>
#include <IXml.h>
#include <IMovieSystem.h>
//////////////////////////////////////////////////////////////////////////
// Commonly used Editor includes.
//////////////////////////////////////////////////////////////////////////
// Utility classes.
#include "Util/EditorUtils.h"
#include "Util/FileEnum.h"
#include "Util/Math.h"
#include "Util/AffineParts.h"
// Xml support.
#include "Util/XmlArchive.h"
#include "Util/XmlTemplate.h"
// Utility classes.
#include "Util/bitarray.h"
#include "Util/RefCountBase.h"
#include "Util/TRefCountBase.h"
#include "Util/MemoryBlock.h"
#include "Util/PathUtil.h"
// Main Editor interface definition.
#include "IEditor.h"
// Log file access
#include "LogFile.h"
// Prevent macros to override certain function names
#ifdef GetObject
#undef GetObject
#endif
#ifdef max
#undef max
#undef min
#endif
#ifdef DeleteFile
#undef DeleteFile
#endif
#ifdef CreateDirectory
#undef CreateDirectory
#endif
#ifdef RemoveDirectory
#undef RemoveDirectory
#endif
#ifdef CopyFile
#undef CopyFile
#endif
#ifdef GetUserName
#undef GetUserName
#endif
#ifdef LoadCursor
#undef LoadCursor
#endif
#ifdef _DEBUG
#if !defined(AZ_PLATFORM_LINUX)
#ifdef assert
#undef assert
#if defined(USE_AZ_ASSERT)
#define assert(condition) AZ_Assert(condition, "")
#else
#define assert CRY_ASSERT
#endif
#endif // !defined(AZ_PLATFORM_LINUX)
#endif
#endif