00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KEOS_PREREQUISITES_H
00023 #define KEOS_PREREQUISITES_H
00024
00025
00026 #include "KeosPlatform.h"
00027
00028
00029
00030
00031 #include "KeosStdHeaders.h"
00032
00033
00034 #include "KeosMemoryManager.h"
00035
00036
00037 #include "KeosEnums.h"
00038 #include "KeosVector2.h"
00039 #include "KeosVector3.h"
00040 #include "KeosVector4.h"
00041 #include "KeosSmartPtr.h"
00042
00043 namespace Keos
00044 {
00045
00046
00047 #define KEOS_VERSION_MAJOR 0
00048 #define KEOS_VERSION_MINOR 5
00049 #define KEOS_VERSION_PATCH 3
00050 #define KEOS_VERSION_NAME "Noel"
00051
00052 #ifdef GCC_3_1
00053 # define HashMap ::__gnu_cxx::hash_map
00054 #else
00055 # if KEOS_COMPILER == KEOS_COMPILER_MSVC
00056 # if KEOS_COMP_VER > 1300 && !defined(_STLP_MSVC)
00057 # define HashMap ::stdext::hash_map
00058 # else
00059 # define HashMap ::std::hash_map
00060 # endif
00061 # else
00062 # define HashMap ::std::hash_map
00063 # endif
00064 #endif
00065
00067 #define KEOS_DELETE(p) { if(p) { delete (p); (p)=NULL; } }
00068 #define KEOS_DELETE_ARRAY(p) { if(p) { delete[] (p); (p)=NULL; } }
00069
00070
00071 typedef float Real;
00072 typedef std::string String;
00073 typedef unsigned char uchar;
00074 typedef unsigned short ushort;
00075 typedef unsigned int uint;
00076 typedef unsigned long ulong;
00077 typedef std::vector<String> StringVector;
00078 typedef std::map<String, String> SettingsMap;
00079
00080 #if KEOS_COMPILER == KEOS_COMPILER_MSVC && KEOS_COMP_VER == MSVC_VER_6
00081 #define size_t size_t
00082 #else
00083 #define size_t std::size_t
00084 #endif
00085
00086 #if KEOS_DEBUG_MODE
00087 #define KEOS_OGL_LIB "RenderSystem_OpenGL_d.dll"
00088 #define KEOS_D3D9_LIB "RenderSystem_Direct3D9_d.dll"
00089 #else
00090 #define KEOS_OGL_LIB "RenderSystem_OpenGL.dll"
00091 #define KEOS_D3D9_LIB "RenderSystem_Direct3D9.dll"
00092 #endif
00093
00094 #define KEOS_CONFIG_FILE "config.xml"
00095 #define KEOS_LOG_FILE "keos.log"
00096 #define KEOS_MEMLEAKS_FILE "memoryleaks.log"
00097
00098
00099
00100
00101 class CException;
00102 class CMemoryManager;
00103 class ILogger;
00104 class CLoggerFile;
00105 class CFile;
00106 class CDynLib;
00107 class CDynLibManager;
00108 class IRenderSystem;
00109 class IRenderWindow;
00110 class IRenderTarget;
00111 struct CAssertException;
00112 struct CBadDelete;
00113 struct CLoadingFailed;
00114 struct COutOfMemory;
00115 struct CUnsupported;
00116 struct CBadConversion;
00117 class CRoot;
00118 class CTimer;
00119 class CPlatformManager;
00120 class IBufferBase;
00121 class CMatrix4;
00122 class IDeclaration;
00123 class CColor;
00124 class CRenderSystemCapabilities;
00125 class CResourceManager;
00126 class IResource;
00127 template <class T> class CVector2;
00128 template <class T> class CVector3;
00129 template <class T> class CVector4;
00130 template <class T> class CBuffer;
00131 template <class T> class ILoader;
00132 template <class T, template <class> class Ownership > class CSmartPtr;
00133 class CMediaManager;
00134 class CResourceManager;
00135 class CImage;
00136 class CRectangle;
00137 class ITextureBase;
00138 class CTexture;
00139 class CFontManager;
00140 class CGraphicString;
00141 class CConsole;
00142 namespace Console
00143 {
00144 class IFunction;
00145 class CFunctor;
00146 class ILook;
00147 class CLookDefault;
00148 }
00149 class IConfigDialog;
00150 class IErrorDialog;
00151 class CMD2Loader;
00152 class CMD2AnimatedLoader;
00153 class CMD3Loader;
00154 class CMDLQ1Loader;
00155 class CMDLQ1AnimatedLoader;
00156 class C3DSLoader;
00157 class COBJLoader;
00158 class IShaderBase;
00159 class CShader;
00160 class CShadersLoader;
00161 class CMeshGeom;
00162 class CMesh;
00163 class CMaterial;
00164 class CAnimatedMeshKF;
00165 class CLight;
00166 class CMeshGen;
00167 class CRadian;
00168 class CDegree;
00169 class CMath;
00170 }
00171
00172 #endif // KEOS_PREREQUISITES_H
00173
00174