CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

iLoader Struct Reference
[Loading & Saving support]

This interface represents the map loader. More...

#include <imap/loader.h>

Inheritance diagram for iLoader:

iBase List of all members.

Public Member Functions

virtual csPtr< iImageLoadImage (const char *Filename, int Format=CS_IMGFMT_INVALID)=0
 Load an image file.
virtual csPtr< iTextureHandleLoadTexture (const char *Filename, int Flags=CS_TEXTURE_3D, iTextureManager *tm=0, iImage **image=0)=0
 Load an image as with LoadImage() and create a texture handle from it.
virtual iTextureWrapperLoadTexture (const char *Name, const char *FileName, int Flags=CS_TEXTURE_3D, iTextureManager *tm=0, bool reg=false, bool create_material=true)=0
 Load a texture as with LoadTexture() above and register it with the engine.
virtual csPtr< iSoundDataLoadSoundData (const char *fname)=0
 Load a sound file and return an iSoundData object.
virtual csPtr< iSoundHandleLoadSound (const char *fname)=0
 Load a sound file and register the sound.
virtual csPtr< iSoundWrapperLoadSound (const char *name, const char *fname)=0
 Load a sound file, register the sound and create a wrapper object for it.
virtual csPtr< iLoaderStatusThreadedLoadMapFile (const char *filename, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false)=0
 Load a map file in a thread.
virtual bool LoadMapFile (const char *filename, bool clearEngine=true, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false)=0
 Load a map file.
virtual bool LoadLibraryFile (const char *filename, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false)=0
 Load library from a VFS file.
virtual csPtr< iMeshFactoryWrapperLoadMeshObjectFactory (const char *fname)=0
 Load a Mesh Object Factory from the map file.
virtual csPtr< iMeshWrapperLoadMeshObject (const char *fname)=0
 Load a mesh object from a file.
virtual bool Load (const char *fname, iBase *&result, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false)=0
 Load a file.

Detailed Description

This interface represents the map loader.

Definition at line 61 of file loader.h.


Member Function Documentation

virtual bool iLoader::Load const char *  fname,
iBase *&  result,
iRegion region = 0,
bool  curRegOnly = true,
bool  checkDupes = false
[pure virtual]
 

Load a file.

This is a smart function that will try to recognize what kind of file it is. It recognizes the following types of files:

  • 'world' file: in that case 'result' will be set to the engine.
  • 'library' file: 'result' will be 0.
  • 'meshfact' file: 'result' will be the mesh factory wrapper.
  • 'meshobj' file: 'result' will be the mesh wrapper.
Returns false on failure.
Note! In case a world file is loaded this function will NOT clear the engine!
Note! In case a mesh factory or mesh object is loaded this function will not actually do anything checkDupes is true and the mesh or factory is already in memory (with that name). This function will still return true in that case and set 'result' to the correct object.
Note! Use SCF_QUERY_INTERFACE on 'result' to detect what type was loaded.

virtual csPtr<iImage> iLoader::LoadImage const char *  Filename,
int  Format = CS_IMGFMT_INVALID
[pure virtual]
 

Load an image file.

The image will be loaded in the format requested by the engine. If no engine exists, the format is taken from the video renderer. If no video renderer exists, this function fails. You may also request an alternate format to override the above sequence.

virtual bool iLoader::LoadLibraryFile const char *  filename,
iRegion region = 0,
bool  curRegOnly = true,
bool  checkDupes = false
[pure virtual]
 

Load library from a VFS file.

virtual bool iLoader::LoadMapFile const char *  filename,
bool  clearEngine = true,
iRegion region = 0,
bool  curRegOnly = true,
bool  checkDupes = false
[pure virtual]
 

Load a map file.

If 'clearEngine' is true then the current contents of the engine will be deleted before loading. If 'region' is not 0 then portals will only connect to the sectors in that region, things will only use thing templates defined in that region and meshes will only use mesh factories defined in that region. If the region is not 0 and curRegOnly is true then objects (materials, factories, ...) will only be found in the given region.

If you use 'checkDupes' == true then materials, textures, and mesh factories will only be loaded if they don't already exist in the entire engine (ignoring regions). By default this is false because it is very legal for different world files to have different objects with the same name. Only use checkDupes == true if you know that your objects have unique names accross all world files.

virtual csPtr<iMeshWrapper> iLoader::LoadMeshObject const char *  fname  )  [pure virtual]
 

Load a mesh object from a file.

The mesh object is not automatically added to any sector.

virtual csPtr<iMeshFactoryWrapper> iLoader::LoadMeshObjectFactory const char *  fname  )  [pure virtual]
 

Load a Mesh Object Factory from the map file.

virtual csPtr<iSoundWrapper> iLoader::LoadSound const char *  name,
const char *  fname
[pure virtual]
 

Load a sound file, register the sound and create a wrapper object for it.

virtual csPtr<iSoundHandle> iLoader::LoadSound const char *  fname  )  [pure virtual]
 

Load a sound file and register the sound.

virtual csPtr<iSoundData> iLoader::LoadSoundData const char *  fname  )  [pure virtual]
 

Load a sound file and return an iSoundData object.

virtual iTextureWrapper* iLoader::LoadTexture const char *  Name,
const char *  FileName,
int  Flags = CS_TEXTURE_3D,
iTextureManager tm = 0,
bool  reg = false,
bool  create_material = true
[pure virtual]
 

Load a texture as with LoadTexture() above and register it with the engine.

'Name' is the name that the engine will use for the wrapper. If 'create_material' is true then this function also creates a material for the texture.
If 'register' is true then the texture and material will be registered to the texture manager. Set 'register' to false if you plan on calling 'engine->Prepare()' later as that function will take care of registering too.

virtual csPtr<iTextureHandle> iLoader::LoadTexture const char *  Filename,
int  Flags = CS_TEXTURE_3D,
iTextureManager tm = 0,
iImage **  image = 0
[pure virtual]
 

Load an image as with LoadImage() and create a texture handle from it.

The 'Flags' parameter accepts the flags described in ivideo/txtmgr.h. The texture manager determines the format, so choosing an alternate format doesn't make sense here. Instead you may choose an alternate texture manager.

virtual csPtr<iLoaderStatus> iLoader::ThreadedLoadMapFile const char *  filename,
iRegion region = 0,
bool  curRegOnly = true,
bool  checkDupes = false
[pure virtual]
 

Load a map file in a thread.

If 'region' is not 0 then portals will only connect to the sectors in that region, things will only use thing templates defined in that region and meshes will only use mesh factories defined in that region. If the region is not 0 and curRegOnly is true then objects (materials, factories, ...) will only be found in the given region.

If you use 'checkDupes' == true then materials, textures, and mesh factories will only be loaded if they don't already exist in the entire engine (ignoring regions). By default this is false because it is very legal for different world files to have different objects with the same name. Only use checkDupes == true if you know that your objects have unique names accross all world files.

This function returns immediatelly. You can check the iLoaderStatus instance that is returned to see if the map has finished loading or if there was an error. @@ NOT IMPLEMENTED YET @@


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.3.9.1