Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 3214

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: iLoader Struct Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>iLoader Struct Reference<br>
<small>
[<a class="el" href="group__loadsave.html">Loading &amp; Saving support</a>]</small>
</h1><!-- doxytag: class="iLoader" --><!-- doxytag: inherits="iBase" -->This interface represents the map loader.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="loader_8h-source.html">imap/loader.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iLoader:</div>
<div class="dynsection">
<p><center><img src="structiLoader__inherit__graph.png" border="0" usemap="#iLoader__inherit__map" alt="Inheritance graph"></center>
<map name="iLoader__inherit__map">
<area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="12,7,68,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiLoader-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#95de906097164aa4a3225be9e7263950">GetAutoRegions</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get whether to load each file into a separate region.  <a href="#95de906097164aa4a3225be9e7263950"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#152de6ef62ea29dd61fabffbcfcb8897">Load</a> (<a class="el" href="structiDocumentNode.html">iDocumentNode</a> *node, <a class="el" href="structiBase.html">iBase</a> *&amp;result, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0, const char *override_name=0, <a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *missingdata=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a node.  <a href="#152de6ef62ea29dd61fabffbcfcb8897"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#e56eb3d7aa99c58718ffb8994ef4a668">Load</a> (<a class="el" href="structiDataBuffer.html">iDataBuffer</a> *buffer, <a class="el" href="structiBase.html">iBase</a> *&amp;result, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0, const char *override_name=0, <a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *missingdata=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file.  <a href="#e56eb3d7aa99c58718ffb8994ef4a668"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#31ccbc5be98f838a750460bda42c6e82">Load</a> (const char *fname, <a class="el" href="structiBase.html">iBase</a> *&amp;result, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0, const char *override_name=0, <a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *missingdata=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a file.  <a href="#31ccbc5be98f838a750460bda42c6e82"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#4fa8f54e70282d22352f1b535a65492d">LoadImage</a> (<a class="el" href="structiDataBuffer.html">iDataBuffer</a> *buf, int Format=CS_IMGFMT_INVALID)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load an image file.  <a href="#4fa8f54e70282d22352f1b535a65492d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#6c091a174c58d5462692a5691ccf8787">LoadImage</a> (const char *Filename, int Format=CS_IMGFMT_INVALID)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load an image file.  <a href="#6c091a174c58d5462692a5691ccf8787"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#05348f3af41b28d42a8cd00a3c8058c9">LoadLibrary</a> (<a class="el" href="structiDocumentNode.html">iDocumentNode</a> *lib_node, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0, <a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *missingdata=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load library from a 'library' node.  <a href="#05348f3af41b28d42a8cd00a3c8058c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#cad78e78f07c8c8df773e1917bcdd6ee">LoadLibraryFile</a> (const char *filename, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0, <a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *missingdata=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load library from a VFS file.  <a href="#cad78e78f07c8c8df773e1917bcdd6ee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#0a7d56dd08412df83a03d3640a9e9f9b">LoadMap</a> (<a class="el" href="structiDocumentNode.html">iDocumentNode</a> *world_node, bool clearEngine=true, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0, <a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *missingdata=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a map from the given 'world' node.  <a href="#0a7d56dd08412df83a03d3640a9e9f9b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#557a480a427a81faa02a852af2ce39ef">LoadMapFile</a> (const char *filename, bool clearEngine=true, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0, <a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *missingdata=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a map file.  <a href="#557a480a427a81faa02a852af2ce39ef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiMeshWrapper.html">iMeshWrapper</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#cc2812f64d70243101337ee3c0f18245">LoadMeshObject</a> (const char *fname, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a mesh object from a file.  <a href="#cc2812f64d70243101337ee3c0f18245"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiMeshFactoryWrapper.html">iMeshFactoryWrapper</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#4ce2d92ff723f14113e7dd24f8c2c570">LoadMeshObjectFactory</a> (const char *fname, <a class="el" href="structiStreamSource.html">iStreamSource</a> *ssource=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a Mesh Object Factory from a file.  <a href="#4ce2d92ff723f14113e7dd24f8c2c570"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiShader.html">iShader</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#4c570c286126e24b4b00f08d2caf50fe">LoadShader</a> (const char *filename, bool registerShader=true)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a shader from a file.  <a href="#4c570c286126e24b4b00f08d2caf50fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiSndSysStream.html">iSndSysStream</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#8f678ab69770ddc3a47ebdd33bfe898d">LoadSoundStream</a> (const char *fname, int mode3d)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">New Sound System: Load a sound file and create a stream from it.  <a href="#8f678ab69770ddc3a47ebdd33bfe898d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiSndSysData.html">iSndSysData</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#7179c939b8a5d2a7ee033fd8fe34577b">LoadSoundSysData</a> (const char *fname)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">New Sound System: Load a sound file and return an <a class="el" href="structiSndSysData.html" title="The sound data is an interface to the container object controlling raw sound data...">iSndSysData</a> object.  <a href="#7179c939b8a5d2a7ee033fd8fe34577b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiSndSysWrapper.html">iSndSysWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#71dd62b010b5abe89c546edaa788835b">LoadSoundWrapper</a> (const char *name, const char *fname)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">New Sound System: Load a sound file, create sound data and create a wrapper object for it.  <a href="#71dd62b010b5abe89c546edaa788835b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTextureWrapper.html">iTextureWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#6246eba302b5ccf54a5a7e32b817f275">LoadTexture</a> (const char *Name, <a class="el" href="structiDataBuffer.html">iDataBuffer</a> *buf, int Flags=CS_TEXTURE_3D, <a class="el" href="structiTextureManager.html">iTextureManager</a> *tm=0, bool reg=true, bool create_material=true, bool free_image=true)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a texture as with <a class="el" href="structiLoader.html#1afcf00035813fe7b89971abee5b3495" title="Load an image as with LoadImage() and create a texture handle from it.">LoadTexture()</a> above and register it with the engine.  <a href="#6246eba302b5ccf54a5a7e32b817f275"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiTextureHandle.html">iTextureHandle</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#f2bfbb9bffb29695638e37467866e7be">LoadTexture</a> (<a class="el" href="structiDataBuffer.html">iDataBuffer</a> *buf, int Flags=CS_TEXTURE_3D, <a class="el" href="structiTextureManager.html">iTextureManager</a> *tm=0, <a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt; *image=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load an image as with <a class="el" href="structiLoader.html#6c091a174c58d5462692a5691ccf8787" title="Load an image file.">LoadImage()</a> and create a texture handle from it.  <a href="#f2bfbb9bffb29695638e37467866e7be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTextureWrapper.html">iTextureWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#f2d45576020b015dc6840b66ae08e8a6">LoadTexture</a> (const char *Name, const char *FileName, int Flags=CS_TEXTURE_3D, <a class="el" href="structiTextureManager.html">iTextureManager</a> *tm=0, bool reg=true, bool create_material=true, bool free_image=true, <a class="el" href="structiRegion.html">iRegion</a> *region=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a texture as with <a class="el" href="structiLoader.html#1afcf00035813fe7b89971abee5b3495" title="Load an image as with LoadImage() and create a texture handle from it.">LoadTexture()</a> above and register it with the engine.  <a href="#f2d45576020b015dc6840b66ae08e8a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiTextureHandle.html">iTextureHandle</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#1afcf00035813fe7b89971abee5b3495">LoadTexture</a> (const char *Filename, int Flags=CS_TEXTURE_3D, <a class="el" href="structiTextureManager.html">iTextureManager</a> *tm=0, <a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt; *image=0)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load an image as with <a class="el" href="structiLoader.html#6c091a174c58d5462692a5691ccf8787" title="Load an image file.">LoadImage()</a> and create a texture handle from it.  <a href="#1afcf00035813fe7b89971abee5b3495"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#b19ac76211afaa3913752d49b994bb81">SetAutoRegions</a> (bool autoRegions)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether to load each file into a separate region.  <a href="#b19ac76211afaa3913752d49b994bb81"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiLoaderStatus.html">iLoaderStatus</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiLoader.html#8ab6250444cb20c242132cdf447f6815">ThreadedLoadMapFile</a> (const char *filename, <a class="el" href="structiRegion.html">iRegion</a> *region=0, bool curRegOnly=true, bool checkDupes=false)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load a map file in a thread.  <a href="#8ab6250444cb20c242132cdf447f6815"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This interface represents the map loader. 
<p>Definition at line <a class="el" href="loader_8h-source.html#l00134">134</a> of file <a class="el" href="loader_8h-source.html">loader.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="95de906097164aa4a3225be9e7263950"></a><!-- doxytag: member="iLoader::GetAutoRegions" ref="95de906097164aa4a3225be9e7263950" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::GetAutoRegions           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get whether to load each file into a separate region. 
<p>

</div>
</div><p>
<a class="anchor" name="152de6ef62ea29dd61fabffbcfcb8897"></a><!-- doxytag: member="iLoader::Load" ref="152de6ef62ea29dd61fabffbcfcb8897" args="(iDocumentNode *node, iBase *&amp;result, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false, iStreamSource *ssource=0, const char *override_name=0, iMissingLoaderData *missingdata=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::Load           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDocumentNode.html">iDocumentNode</a> *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiBase.html">iBase</a> *&amp;&nbsp;</td>
          <td class="paramname"> <em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>override_name</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *&nbsp;</td>
          <td class="paramname"> <em>missingdata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a node. 
<p>
This is a smart function that will try to recognize what kind of node it is. It recognizes the following types of nodes:<ul>
<li>'world' node: in that case 'result' will be set to the engine.</li><li>'library' node: 'result' will be 0.</li><li>'meshfact' node: 'result' will be the mesh factory wrapper.</li><li>'meshobj' node: 'result' will be the mesh wrapper.</li></ul>
<p>
Returns false on failure. <br>
 Note! In case a world node is loaded this function will NOT clear the engine! <br>
 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. <br>
 Note! Use SCF_QUERY_INTERFACE on 'result' to detect what type was loaded. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>is the node from which to read. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will be set to the loaded result (see above). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>is 0 by default which means that all loaded objects are not added to any region. If you give a region here then all loaded objects will be added to that region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curRegOnly</em>&nbsp;</td><td>is true by default which means that it will only find materials/factories/... from current region if that is given. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checkDupes</em>&nbsp;</td><td>if 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. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>override_name</em>&nbsp;</td><td>if this is given the the name of the loaded object will be set to that. This only works in case of meshfact, meshobj, and 3ds or md2 model. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>missingdata</em>&nbsp;</td><td>is an optional callback in case data is missing. The application can then provide that missing data in some other way. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e56eb3d7aa99c58718ffb8994ef4a668"></a><!-- doxytag: member="iLoader::Load" ref="e56eb3d7aa99c58718ffb8994ef4a668" args="(iDataBuffer *buffer, iBase *&amp;result, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false, iStreamSource *ssource=0, const char *override_name=0, iMissingLoaderData *missingdata=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::Load           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDataBuffer.html">iDataBuffer</a> *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiBase.html">iBase</a> *&amp;&nbsp;</td>
          <td class="paramname"> <em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>override_name</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *&nbsp;</td>
          <td class="paramname"> <em>missingdata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a file. 
<p>
This is a smart function that will try to recognize what kind of file it is. It recognizes the following types of files:<ul>
<li>'world' file: in that case 'result' will be set to the engine.</li><li>'library' file: 'result' will be 0.</li><li>'meshfact' file: 'result' will be the mesh factory wrapper.</li><li>'meshobj' file: 'result' will be the mesh wrapper.</li><li>3ds/md2 models: 'result' will be the mesh factory wrapper.</li></ul>
<p>
Returns false on failure. <br>
 Note! In case a world file is loaded this function will NOT clear the engine! <br>
 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. <br>
 Note! Use SCF_QUERY_INTERFACE on 'result' to detect what type was loaded. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>is a buffer for the model contents. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will be set to the loaded result (see above). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>is 0 by default which means that all loaded objects are not added to any region. If you give a region here then all loaded objects will be added to that region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curRegOnly</em>&nbsp;</td><td>is true by default which means that it will only find materials/factories/... from current region if that is given. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checkDupes</em>&nbsp;</td><td>if 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. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>override_name</em>&nbsp;</td><td>if this is given the the name of the loaded object will be set to that. This only works in case of meshfact, meshobj, and 3ds or md2 model. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>missingdata</em>&nbsp;</td><td>is an optional callback in case data is missing. The application can then provide that missing data in some other way. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="31ccbc5be98f838a750460bda42c6e82"></a><!-- doxytag: member="iLoader::Load" ref="31ccbc5be98f838a750460bda42c6e82" args="(const char *fname, iBase *&amp;result, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false, iStreamSource *ssource=0, const char *override_name=0, iMissingLoaderData *missingdata=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::Load           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiBase.html">iBase</a> *&amp;&nbsp;</td>
          <td class="paramname"> <em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>override_name</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *&nbsp;</td>
          <td class="paramname"> <em>missingdata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a file. 
<p>
This is a smart function that will try to recognize what kind of file it is. It recognizes the following types of files:<ul>
<li>'world' file: in that case 'result' will be set to the engine.</li><li>'library' file: 'result' will be 0.</li><li>'meshfact' file: 'result' will be the mesh factory wrapper.</li><li>'meshobj' file: 'result' will be the mesh wrapper.</li><li>3ds/md2 models: 'result' will be the mesh factory wrapper.</li></ul>
<p>
Returns false on failure. <br>
 Note! In case a world file is loaded this function will NOT clear the engine! <br>
 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. <br>
 Note! Use SCF_QUERY_INTERFACE on 'result' to detect what type was loaded. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>is a VFS filename for the XML file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>will be set to the loaded result (see above). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>is 0 by default which means that all loaded objects are not added to any region. If you give a region here then all loaded objects will be added to that region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curRegOnly</em>&nbsp;</td><td>is true by default which means that it will only find materials/factories/... from current region if that is given. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checkDupes</em>&nbsp;</td><td>if 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. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>override_name</em>&nbsp;</td><td>if this is given the the name of the loaded object will be set to that. This only works in case of meshfact, meshobj, and 3ds or md2 model. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>missingdata</em>&nbsp;</td><td>is an optional callback in case data is missing. The application can then provide that missing data in some other way. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4fa8f54e70282d22352f1b535a65492d"></a><!-- doxytag: member="iLoader::LoadImage" ref="4fa8f54e70282d22352f1b535a65492d" args="(iDataBuffer *buf, int Format=CS_IMGFMT_INVALID)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiImage.html">iImage</a>&gt; iLoader::LoadImage           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDataBuffer.html">iDataBuffer</a> *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Format</em> = <code>CS_IMGFMT_INVALID</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load an image file. 
<p>
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. This version reads the image from a data buffer. 
</div>
</div><p>
<a class="anchor" name="6c091a174c58d5462692a5691ccf8787"></a><!-- doxytag: member="iLoader::LoadImage" ref="6c091a174c58d5462692a5691ccf8787" args="(const char *Filename, int Format=CS_IMGFMT_INVALID)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiImage.html">iImage</a>&gt; iLoader::LoadImage           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Format</em> = <code>CS_IMGFMT_INVALID</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load an image file. 
<p>
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. 
</div>
</div><p>
<a class="anchor" name="05348f3af41b28d42a8cd00a3c8058c9"></a><!-- doxytag: member="iLoader::LoadLibrary" ref="05348f3af41b28d42a8cd00a3c8058c9" args="(iDocumentNode *lib_node, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false, iStreamSource *ssource=0, iMissingLoaderData *missingdata=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::LoadLibrary           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDocumentNode.html">iDocumentNode</a> *&nbsp;</td>
          <td class="paramname"> <em>lib_node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *&nbsp;</td>
          <td class="paramname"> <em>missingdata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load library from a 'library' node. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>lib_node</em>&nbsp;</td><td>is the 'library' node from an XML document. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>is 0 by default which means that all loaded objects are not added to any region. If you give a region here then all loaded objects will be added to that region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curRegOnly</em>&nbsp;</td><td>is true by default which means that it will only find materials/factories/... from current region if that is given. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checkDupes</em>&nbsp;</td><td>if 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. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>missingdata</em>&nbsp;</td><td>is an optional callback in case data is missing. The application can then provide that missing data in some other way. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="cad78e78f07c8c8df773e1917bcdd6ee"></a><!-- doxytag: member="iLoader::LoadLibraryFile" ref="cad78e78f07c8c8df773e1917bcdd6ee" args="(const char *filename, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false, iStreamSource *ssource=0, iMissingLoaderData *missingdata=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::LoadLibraryFile           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *&nbsp;</td>
          <td class="paramname"> <em>missingdata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load library from a VFS file. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>is a VFS filename for the XML file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>is 0 by default which means that all loaded objects are not added to any region. If you give a region here then all loaded objects will be added to that region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curRegOnly</em>&nbsp;</td><td>is true by default which means that it will only find materials/factories/... from current region if that is given. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checkDupes</em>&nbsp;</td><td>if 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. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>missingdata</em>&nbsp;</td><td>is an optional callback in case data is missing. The application can then provide that missing data in some other way. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0a7d56dd08412df83a03d3640a9e9f9b"></a><!-- doxytag: member="iLoader::LoadMap" ref="0a7d56dd08412df83a03d3640a9e9f9b" args="(iDocumentNode *world_node, bool clearEngine=true, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false, iStreamSource *ssource=0, iMissingLoaderData *missingdata=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::LoadMap           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDocumentNode.html">iDocumentNode</a> *&nbsp;</td>
          <td class="paramname"> <em>world_node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>clearEngine</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *&nbsp;</td>
          <td class="paramname"> <em>missingdata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a map from the given 'world' node. 
<p>
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. <p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>world_node</em>&nbsp;</td><td>is the 'world' node from an XML document. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>clearEngine</em>&nbsp;</td><td>is true by default which means that the previous contents of the engine is cleared (all objects/sectors/... are removed). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>is 0 by default which means that all loaded objects are not added to any region. If you give a region here then all loaded objects will be added to that region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curRegOnly</em>&nbsp;</td><td>is true by default which means that it will only find materials/factories/... from current region if that is given. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checkDupes</em>&nbsp;</td><td>if 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. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>missingdata</em>&nbsp;</td><td>is an optional callback in case data is missing. The application can then provide that missing data in some other way. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="557a480a427a81faa02a852af2ce39ef"></a><!-- doxytag: member="iLoader::LoadMapFile" ref="557a480a427a81faa02a852af2ce39ef" args="(const char *filename, bool clearEngine=true, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false, iStreamSource *ssource=0, iMissingLoaderData *missingdata=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iLoader::LoadMapFile           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>clearEngine</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMissingLoaderData.html">iMissingLoaderData</a> *&nbsp;</td>
          <td class="paramname"> <em>missingdata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a map file. 
<p>
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. <p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>is a VFS filename for the XML file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>clearEngine</em>&nbsp;</td><td>is true by default which means that the previous contents of the engine is cleared (all objects/sectors/... are removed). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>is 0 by default which means that all loaded objects are not added to any region. If you give a region here then all loaded objects will be added to that region. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curRegOnly</em>&nbsp;</td><td>is true by default which means that it will only find materials/factories/... from current region if that is given. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>checkDupes</em>&nbsp;</td><td>if 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. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>missingdata</em>&nbsp;</td><td>is an optional callback in case data is missing. The application can then provide that missing data in some other way. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="cc2812f64d70243101337ee3c0f18245"></a><!-- doxytag: member="iLoader::LoadMeshObject" ref="cc2812f64d70243101337ee3c0f18245" args="(const char *fname, iStreamSource *ssource=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiMeshWrapper.html">iMeshWrapper</a>&gt; iLoader::LoadMeshObject           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a mesh object from a file. 
<p>
The mesh object is not automatically added to any sector. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>is the VFS name of the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4ce2d92ff723f14113e7dd24f8c2c570"></a><!-- doxytag: member="iLoader::LoadMeshObjectFactory" ref="4ce2d92ff723f14113e7dd24f8c2c570" args="(const char *fname, iStreamSource *ssource=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiMeshFactoryWrapper.html">iMeshFactoryWrapper</a>&gt; iLoader::LoadMeshObjectFactory           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiStreamSource.html">iStreamSource</a> *&nbsp;</td>
          <td class="paramname"> <em>ssource</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a Mesh Object Factory from a file. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>is the VFS name of the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ssource</em>&nbsp;</td><td>is an optional stream source for faster loading. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="4c570c286126e24b4b00f08d2caf50fe"></a><!-- doxytag: member="iLoader::LoadShader" ref="4c570c286126e24b4b00f08d2caf50fe" args="(const char *filename, bool registerShader=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsRef.html">csRef</a>&lt;<a class="el" href="structiShader.html">iShader</a>&gt; iLoader::LoadShader           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>registerShader</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a shader from a file. 
<p>

</div>
</div><p>
<a class="anchor" name="8f678ab69770ddc3a47ebdd33bfe898d"></a><!-- doxytag: member="iLoader::LoadSoundStream" ref="8f678ab69770ddc3a47ebdd33bfe898d" args="(const char *fname, int mode3d)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiSndSysStream.html">iSndSysStream</a>&gt; iLoader::LoadSoundStream           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>mode3d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
New Sound System: Load a sound file and create a stream from it. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>is the VFS filename. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode3d</em>&nbsp;</td><td>is one of CS_SND3D_DISABLE, CS_SND3D_RELATIVE, or CS_SND3D_ABSOLUTE. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="7179c939b8a5d2a7ee033fd8fe34577b"></a><!-- doxytag: member="iLoader::LoadSoundSysData" ref="7179c939b8a5d2a7ee033fd8fe34577b" args="(const char *fname)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiSndSysData.html">iSndSysData</a>&gt; iLoader::LoadSoundSysData           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
New Sound System: Load a sound file and return an <a class="el" href="structiSndSysData.html" title="The sound data is an interface to the container object controlling raw sound data...">iSndSysData</a> object. 
<p>

</div>
</div><p>
<a class="anchor" name="71dd62b010b5abe89c546edaa788835b"></a><!-- doxytag: member="iLoader::LoadSoundWrapper" ref="71dd62b010b5abe89c546edaa788835b" args="(const char *name, const char *fname)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiSndSysWrapper.html">iSndSysWrapper</a>* iLoader::LoadSoundWrapper           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>fname</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
New Sound System: Load a sound file, create sound data and create a wrapper object for it. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>of the sound. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>is the VFS filename. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="6246eba302b5ccf54a5a7e32b817f275"></a><!-- doxytag: member="iLoader::LoadTexture" ref="6246eba302b5ccf54a5a7e32b817f275" args="(const char *Name, iDataBuffer *buf, int Flags=CS_TEXTURE_3D, iTextureManager *tm=0, bool reg=true, bool create_material=true, bool free_image=true)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTextureWrapper.html">iTextureWrapper</a>* iLoader::LoadTexture           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiDataBuffer.html">iDataBuffer</a> *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Flags</em> = <code>CS_TEXTURE_3D</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiTextureManager.html">iTextureManager</a> *&nbsp;</td>
          <td class="paramname"> <em>tm</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>reg</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>create_material</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>free_image</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a texture as with <a class="el" href="structiLoader.html#1afcf00035813fe7b89971abee5b3495" title="Load an image as with LoadImage() and create a texture handle from it.">LoadTexture()</a> above and register it with the engine. 
<p>
This version reads the image from a data buffer.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Name</em>&nbsp;</td><td>The name that the engine will use for the wrapper. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>Buffer containing the image file data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Flags</em>&nbsp;</td><td>Accepts the flags described in <a class="el" href="ivideo_2txtmgr_8h.html" title="Texture manager interface.">ivideo/txtmgr.h</a>. The texture manager determines the format, so choosing an alternate format doesn't make sense here. Instead you may choose an alternate texture manager. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tm</em>&nbsp;</td><td>Texture manager, used to determine the format the image is to be loaded in (defaults to CS_IMGFMT_TRUECOLOR if no texture manager is specified). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>reg</em>&nbsp;</td><td>if true then the texture and material will be registered to the texture manager. Set 'register' to false if you plan on calling 'engine-&gt;Prepare()' later as that function will take care of registering too. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>create_material</em>&nbsp;</td><td>if true then this function also creates a material for the texture. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>free_image</em>&nbsp;</td><td>if true then after registration the loaded image will be removed immediatelly. This saves some memory. Set to false if you want to keep it. free_image is ignored if reg is false. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f2bfbb9bffb29695638e37467866e7be"></a><!-- doxytag: member="iLoader::LoadTexture" ref="f2bfbb9bffb29695638e37467866e7be" args="(iDataBuffer *buf, int Flags=CS_TEXTURE_3D, iTextureManager *tm=0, csRef&lt; iImage &gt; *image=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiTextureHandle.html">iTextureHandle</a>&gt; iLoader::LoadTexture           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiDataBuffer.html">iDataBuffer</a> *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Flags</em> = <code>CS_TEXTURE_3D</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiTextureManager.html">iTextureManager</a> *&nbsp;</td>
          <td class="paramname"> <em>tm</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt; *&nbsp;</td>
          <td class="paramname"> <em>image</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load an image as with <a class="el" href="structiLoader.html#6c091a174c58d5462692a5691ccf8787" title="Load an image file.">LoadImage()</a> and create a texture handle from it. 
<p>
This version reads the image from a data buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>Buffer containing the image file data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Flags</em>&nbsp;</td><td>Accepts the flags described in <a class="el" href="ivideo_2txtmgr_8h.html" title="Texture manager interface.">ivideo/txtmgr.h</a>. The texture manager determines the format, so choosing an alternate format doesn't make sense here. Instead you may choose an alternate texture manager. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tm</em>&nbsp;</td><td>Texture manager, used to determine the format the image is to be loaded in (defaults to CS_IMGFMT_TRUECOLOR if no texture manager is specified). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>Optionally returns a reference to the loaded image. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f2d45576020b015dc6840b66ae08e8a6"></a><!-- doxytag: member="iLoader::LoadTexture" ref="f2d45576020b015dc6840b66ae08e8a6" args="(const char *Name, const char *FileName, int Flags=CS_TEXTURE_3D, iTextureManager *tm=0, bool reg=true, bool create_material=true, bool free_image=true, iRegion *region=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTextureWrapper.html">iTextureWrapper</a>* iLoader::LoadTexture           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>FileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Flags</em> = <code>CS_TEXTURE_3D</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiTextureManager.html">iTextureManager</a> *&nbsp;</td>
          <td class="paramname"> <em>tm</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>reg</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>create_material</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>free_image</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a texture as with <a class="el" href="structiLoader.html#1afcf00035813fe7b89971abee5b3495" title="Load an image as with LoadImage() and create a texture handle from it.">LoadTexture()</a> above and register it with the engine. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Name</em>&nbsp;</td><td>The name that the engine will use for the wrapper. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>FileName</em>&nbsp;</td><td>VFS path to the image file to load. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Flags</em>&nbsp;</td><td>Accepts the flags described in <a class="el" href="ivideo_2txtmgr_8h.html" title="Texture manager interface.">ivideo/txtmgr.h</a>. The texture manager determines the format, so choosing an alternate format doesn't make sense here. Instead you may choose an alternate texture manager. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tm</em>&nbsp;</td><td>Texture manager, used to determine the format the image is to be loaded in (defaults to CS_IMGFMT_TRUECOLOR if no texture manager is specified). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>reg</em>&nbsp;</td><td>If true then the texture and material will be registered to the texture manager. Set 'register' to false if you plan on calling 'engine-&gt;Prepare()' later as that function will take care of registering too. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>create_material</em>&nbsp;</td><td>If true then this function also creates a material for the texture. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>free_image</em>&nbsp;</td><td>If true then after registration the loaded image will be removed immediatelly. This saves some memory. Set to false if you want to keep it. free_image is ignored if reg is false. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>region</em>&nbsp;</td><td>[optional] Region to register the texture and material to. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1afcf00035813fe7b89971abee5b3495"></a><!-- doxytag: member="iLoader::LoadTexture" ref="1afcf00035813fe7b89971abee5b3495" args="(const char *Filename, int Flags=CS_TEXTURE_3D, iTextureManager *tm=0, csRef&lt; iImage &gt; *image=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiTextureHandle.html">iTextureHandle</a>&gt; iLoader::LoadTexture           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>Flags</em> = <code>CS_TEXTURE_3D</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiTextureManager.html">iTextureManager</a> *&nbsp;</td>
          <td class="paramname"> <em>tm</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt; *&nbsp;</td>
          <td class="paramname"> <em>image</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load an image as with <a class="el" href="structiLoader.html#6c091a174c58d5462692a5691ccf8787" title="Load an image file.">LoadImage()</a> and create a texture handle from it. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Filename</em>&nbsp;</td><td>VFS path to the image file to load. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Flags</em>&nbsp;</td><td>Accepts the flags described in <a class="el" href="ivideo_2txtmgr_8h.html" title="Texture manager interface.">ivideo/txtmgr.h</a>. The texture manager determines the format, so choosing an alternate format doesn't make sense here. Instead you may choose an alternate texture manager. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tm</em>&nbsp;</td><td>Texture manager, used to determine the format the image is to be loaded in (defaults to CS_IMGFMT_TRUECOLOR if no texture manager is specified). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>Optionally returns a reference to the loaded image. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b19ac76211afaa3913752d49b994bb81"></a><!-- doxytag: member="iLoader::SetAutoRegions" ref="b19ac76211afaa3913752d49b994bb81" args="(bool autoRegions)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iLoader::SetAutoRegions           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>autoRegions</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set whether to load each file into a separate region. 
<p>

</div>
</div><p>
<a class="anchor" name="8ab6250444cb20c242132cdf447f6815"></a><!-- doxytag: member="iLoader::ThreadedLoadMapFile" ref="8ab6250444cb20c242132cdf447f6815" args="(const char *filename, iRegion *region=0, bool curRegOnly=true, bool checkDupes=false)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiLoaderStatus.html">iLoaderStatus</a>&gt; iLoader::ThreadedLoadMapFile           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiRegion.html">iRegion</a> *&nbsp;</td>
          <td class="paramname"> <em>region</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>curRegOnly</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>checkDupes</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load a map file in a thread. 
<p>
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. <p>
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. <p>
This function returns immediatelly. You can check the <a class="el" href="structiLoaderStatus.html" title="An object to query about the status of the threaded loader.">iLoaderStatus</a> instance that is returned to see if the map has finished loading or if there was an error. <dl compact><dt><b><a class="el" href="todo.html#_todo000018">Todo:</a></b></dt><dd>This is not implemented! Implement me or remove me! </dd></dl>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>imap/<a class="el" href="loader_8h-source.html">loader.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>