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 iSoundData;
00030 struct iSoundHandle;
00031 struct iMeshWrapper;
00032 struct iMeshFactoryWrapper;
00033 struct iSoundWrapper;
00034
00039
00040 #define CS_LOADER_NOCOMPRESS 0x00000001
00041
00042 #define CS_LOADER_NOBSP 0x00000002
00043
00044 #define CS_LOADER_NOTRANSFORM 0x00000004
00045
00046
00047 SCF_VERSION (iLoader, 0, 0, 1);
00051 struct iLoader : public iBase
00052 {
00054 virtual void SetMode (int iFlags) = 0;
00055
00062 virtual iImage *LoadImage (const char* Filename,
00063 int Format = CS_IMGFMT_INVALID) = 0;
00071 virtual iTextureHandle *LoadTexture (const char* Filename,
00072 int Flags = CS_TEXTURE_3D, iTextureManager *tm = NULL) = 0;
00078 virtual iTextureWrapper *LoadTexture (const char *Name, const char *FileName,
00079 int Flags = CS_TEXTURE_3D, iTextureManager *tm = NULL) = 0;
00080
00082 virtual iSoundData *LoadSoundData (const char *fname) = 0;
00084 virtual iSoundHandle *LoadSound (const char *fname) = 0;
00086 virtual iSoundWrapper *LoadSound (const char *name, const char *fname) = 0;
00087
00096 virtual bool LoadMapFile (const char* filename, bool ClearEngine = true,
00097 bool ResolveOnlyRegion = true) = 0;
00099 virtual bool LoadLibraryFile (const char* filename) = 0;
00100
00102 virtual iMeshFactoryWrapper* LoadMeshObjectFactory (const char* fname) = 0;
00107 virtual iMeshWrapper* LoadMeshObject (const char* fname) = 0;
00108 };
00109
00110 #endif // __IMAP_PARSER_H__