00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __IMAP_PARSER_H__
00021 #define __IMAP_PARSER_H__
00022
00023 #include "csutil/scf.h"
00024 #include "ivideo/txtmgr.h"
00025 #include "igraphic/image.h"
00026
00027 struct iTextureHandle;
00028 struct iTextureWrapper;
00029 struct iMaterialWrapper;
00030 struct iSector;
00031 struct iSoundData;
00032 struct iSoundHandle;
00033 struct iMeshWrapper;
00034 struct iMeshFactoryWrapper;
00035 struct iSoundWrapper;
00036
00041
00042 #define CS_LOADER_NOCOMPRESS 0x00000001
00043
00044 #define CS_LOADER_NOBSP 0x00000002
00045
00046 #define CS_LOADER_NOTRANSFORM 0x00000004
00047
00048
00049 SCF_VERSION (iLoader, 0, 0, 5);
00050
00054 struct iLoader : public iBase
00055 {
00057 virtual void SetMode (int iFlags) = 0;
00058
00065 virtual iImage *LoadImage (const char* Filename,
00066 int Format = CS_IMGFMT_INVALID) = 0;
00074 virtual iTextureHandle *LoadTexture (const char* Filename,
00075 int Flags = CS_TEXTURE_3D, iTextureManager *tm = NULL) = 0;
00085 virtual iTextureWrapper *LoadTexture (const char *Name, const char *FileName,
00086 int Flags = CS_TEXTURE_3D, iTextureManager *tm = NULL,
00087 bool reg = false) = 0;
00088
00090 virtual iSoundData *LoadSoundData (const char *fname) = 0;
00092 virtual iSoundHandle *LoadSound (const char *fname) = 0;
00094 virtual iSoundWrapper *LoadSound (const char *name, const char *fname) = 0;
00095
00104 virtual bool LoadMapFile (const char* filename, bool ClearEngine = true,
00105 bool ResolveOnlyRegion = true) = 0;
00107 virtual bool LoadLibraryFile (const char* filename) = 0;
00108
00110 virtual iMeshFactoryWrapper* LoadMeshObjectFactory (const char* fname) = 0;
00115 virtual iMeshWrapper* LoadMeshObject (const char* fname) = 0;
00116 };
00117
00118 #endif // __IMAP_PARSER_H__
00119