<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Created by texi2html 1.76 --> <!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people <dev@texi2html.cvshome.org> Send bugs and suggestions to <users@texi2html.cvshome.org> --> <head> <title>Crystal Space 1.2.1: 4.16.4.2 Syntax</title> <meta name="description" content="Crystal Space 1.2.1: 4.16.4.2 Syntax"> <meta name="keywords" content="Crystal Space 1.2.1: 4.16.4.2 Syntax"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} pre.display {font-family: serif} pre.format {font-family: serif} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: serif; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: serif; font-size: smaller} pre.smalllisp {font-size: smaller} span.sansserif {font-family:sans-serif; font-weight:normal;} ul.toc {list-style: none} --> </style> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <a name="Map-File-Syntax"></a> <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="Map-File-Grammar.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="Map-File-Hints.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="Old-Map-File-Format.html#0" title="Up section"> Up </a>]</td> <td valign="middle" align="left">[<a href="Working-with-Engine-Content.html#0" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> <h4 class="subsubsection"> 4.16.4.2 Syntax </h4> <p><em>Written by numerous Crystal Space developers. Extensive Texinfo typesetting performed by Eric Sunshine, <a href="mailto:sunshine@sunshineco.com">sunshine@sunshineco.com</a>.</em> </p> <a name="1"></a> <h4 class="subsubheading"> Basic Syntax Elements </h4> <p><em>number</em> </p> <p>A general number. </p> <p><em>pos-number</em> </p> <p>A general positive number. </p> <p><em>integer</em> </p> <p>A general integer. </p> <p><em>pos-integer</em> </p> <p>A positive integer (> 0). </p> <p><em>number..number</em> </p> <p>A numeric range. For example, `0..1' represents a number between 0 and 1. </p> <p><em>name</em> </p> <p>A name identifier. An unquoted string provided that it contains no punctuation or whitespace; otherwise delimited by double quotes. </p> <p><em>string</em> </p> <p>A string delimited by double quotes. Special characters are escaped with a backslash. </p> <a name="2"></a> <h4 class="subsubheading"> Number List </h4> <p><em>number-list</em> => <em>number</em> [ `<code>,</code>' <em>number</em> ] <small class="dots">...</small> </p> <a name="3"></a> <h4 class="subsubheading"> Boolean Value </h4> <p><em>yes</em> => `<code>yes</code>' | `<code>true</code>' | `<code>on</code>' | `<code>1</code>'<br> <em>no</em> => `<code>no</code>' | `<code>false</code>' | `<code>off</code>' | `<code></code>'<br> <em>yes-no</em> => <em>yes</em> | <em>no</em> </p> <a name="4"></a> <h4 class="subsubheading"> Color Description </h4> <p><em>red</em> => 0..1<br> <em>green</em> => 0..1<br> <em>blue</em> => 0..1<br> <em>gray</em> => 0..1<br> <em>color-grayscale</em> => <em>gray</em><br> <em>color-general</em> => <em>red</em> `<code>,</code>' <em>green</em> `<code>,</code>' <em>blue</em><br> <em>color</em> => <em>color-grayscale</em> | <em>color-general</em> </p> <a name="5"></a> <h4 class="subsubheading"> Vectors and Coordinates </h4> <p>Note that the x-axis points to the right, the y-axis points up, and the z-axis points forward. </p> <p><em>x</em> => <em>number</em><br> <em>y</em> => <em>number</em><br> <em>z</em> => <em>number</em><br> <em>u</em> => <em>number</em><br> <em>v</em> => <em>number</em><br> <em>vector-2d</em> => <em>x</em> `<code>,</code>' <em>z</em><br> <em>vector-3d</em> => <em>x</em> `<code>,</code>' <em>y</em> `<code>,</code>' <em>z</em><br> <em>vector-4d</em> => <em>x</em> `<code>,</code>' <em>y</em> `<code>,</code>' <em>z</em> `<code>,</code>' <em>r</em> <br> <em>vertex-idx</em> => <em>integer</em><br> <em>coordinate</em> => <em>vector-3d</em><br> <em>coordinate-2d</em> => <em>vector-2d</em><br> <em>texture-coordinate</em> => <em>u</em> `<code>,</code>' <em>v</em> </p> <a name="6"></a> <h4 class="subsubheading"> Object Names </h4> <p><em>sector-name</em> => <em>name</em><br> <em>light-name</em> => <em>name</em><br> <em>col-name</em> => <em>name</em><br> <em>texture-name</em> => <em>name</em><br> <em>material-name</em> => <em>name</em><br> <em>mesh-name</em> => <em>name</em><br> <em>meshfact-name</em> => <em>name</em><br> <em>library-name</em> => <em>name</em><br> <em>file-name</em> => <em>name</em><br> <em>plugin-name</em> => <em>name</em><br> <em>plugin-shortname</em> => <em>name</em><br> <em>cache-name</em> => <em>name</em><br> <em>priority-name</em> => <em>name</em> </p> <a name="7"></a> <h4 class="subsubheading"> Attributes and Numbers </h4> <p><em>radius</em> => <em>pos-number</em><br> <em>angle</em> => <em>number</em><br> <em>keyname</em> => <em>string</em><br> <em>keyvalue</em> => <em>string</em> </p> <a name="8"></a> <h4 class="subsubheading"> Visibility Culling </h4> <p>Sidenote: the <samp>‘CULLER’</samp> statement is going to be obsolete in the future. </p> <p><em>culler</em> => `<code>CULLER</code>' `<code>(</code>' <em>mesh-name</em> `<code>)</code>' <em>cullerp</em> => `<code>CULLERP</code>' `<code>(</code>' <em>plugin-name</em> `<code>)</code>' </p> <a name="9"></a> <h4 class="subsubheading"> Key </h4> <p>Use the <samp>‘KEY’</samp> feature to attach arbitrary game data to any Crystal Space object. Crystal Space will only store these key/value pairs with objects but doesn't otherwise use them. You can iterate over these keys in the code. </p> <p><em>key</em> => `<code>KEY</code>' `<code>(</code>' <em>keyname</em> `<code>,</code>' <em>keyvalue</em> `<code>)</code>' </p> <a name="10"></a> <h4 class="subsubheading"> Fog </h4> <p><em>density</em> => <em>number</em><br> <em>fog-desc</em> => `<code>FOG</code>' `<code>(</code>' <em>color</em> `<code>,</code>' <em>density</em> `<code>)</code>'<br> <em>alpha-nr</em> => `<code></code>' | `<code>25</code>' | `<code>50</code>' | `<code>75</code>'<br> <em>alpha</em> => `<code>ALPHA</code>' `<code>(</code>' <em>alpha-nr</em> `<code>)</code>' </p> <a name="11"></a> <h4 class="subsubheading"> Matrices, Vectors, Scalers, and Angles </h4> <p><em>vector</em> => `<code>V</code>' `<code>(</code>' <em>vector-3d</em> `<code>)</code>'<br> <em>matrix-scaler</em> => <em>number</em><br> <em>matrix-x-scaler</em> => <em>matrix-scaler</em><br> <em>matrix-y-scaler</em> => <em>matrix-scaler</em><br> <em>matrix-z-scaler</em> => <em>matrix-scaler</em><br> <em>stated-matrix-x-scaler</em> => `<code>SCALE_X</code>' `<code>(</code>' <em>matrix-x-scaler</em> `<code>)</code>'<br> <em>stated-matrix-y-scaler</em> => `<code>SCALE_Y</code>' `<code>(</code>' <em>matrix-y-scaler</em> `<code>)</code>'<br> <em>stated-matrix-z-scaler</em> => `<code>SCALE_Z</code>' `<code>(</code>' <em>matrix-z-scaler</em> `<code>)</code>'<br> <em>complex-matrix-scaler</em> => <em>stated-matrix-x-scaler</em><br> | <em>stated-matrix-y-scaler</em><br> | <em>stated-matrix-z-scaler</em><br> <em>full-matrix-scaler</em> => <em>matrix-x-scaler</em> `<code>,</code>' <em>matrix-y-scaler</em> `<code>,</code>' <em>matrix-z-scaler</em><br> <em>uniform-matrix-scaler</em> => <em>matrix-scaler</em><br> <em>simple-matrix-scaler</em> => `<code>SCALE</code>' `<code>(</code>' <em>uniform-matrix-scaler</em> | <em>full-matrix-scaler</em> `<code>)</code>'<br> <em>compound-matrix-scaler</em> => <em>simple-matrix-scaler</em> | <em>complex-matrix-scaler</em> </p> <p><em>rotation-x-angle</em> => <em>angle</em><br> <em>rotation-y-angle</em> => <em>angle</em><br> <em>rotation-z-angle</em> => <em>angle</em><br> <em>rotation-x-matrix</em> => `<code>ROT_X</code>' `<code>(</code>' <em>rotation-x-angle</em> `<code>)</code>'<br> <em>rotation-y-matrix</em> => `<code>ROT_Y</code>' `<code>(</code>' <em>rotation-y-angle</em> `<code>)</code>'<br> <em>rotation-z-matrix</em> => `<code>ROT_Z</code>' `<code>(</code>' <em>rotation-z-angle</em> `<code>)</code>'<br> <em>complex-rotation-matrix</em> => <em>rotation-x-matrix</em> | <em>rotation-y-matrix</em> | <em>rotation-z-matrix</em><br> <em>rotation-angles</em> => <em>rotation-x-angle</em> `<code>,</code>' <em>rotation-y-angle</em> `<code>,</code>' <em>rotation-z-angle</em><br> <em>simple-rotation-matrix</em> => `<code>ROT</code>' `<code>(</code>' <em>rotation-angles</em> `<code>)</code>' </p> <p><em>rotation-matrix</em> => <em>simple-rotation-matrix</em> | <em>complex-rotation-matrix</em><br> <em>complex-matrix</em> => <em>rotation-matrix</em> | <em>compound-matrix-scaler</em><br> <em>simple-scaled-matrix</em> => <em>uniform-matrix-scaler</em><br> <em>normal-matrix</em> => <em>vector-3d</em> `<code>,</code>' <em>vector-3d</em> `<code>,</code>' <em>vector-3d</em><br> <em>identity-matrix</em> => `<code>IDENTITY</code>'<br> <em>matrix-type</em> => <em>identity-matrix</em><br> | <em>normal-matrix</em><br> | <em>simple-scaled-matrix</em><br> | <em>complex-matrix</em><br> <em>matrix</em> => `<code>MATRIX</code>' `<code>(</code>' [ <em>matrix-type</em> <small class="dots">...</small> ] `<code>)</code>' </p> <p><em>move-comp</em> => <em>matrix</em> | <em>vector</em><br> <em>move</em> => `<code>MOVE</code>' `<code>(</code>' [ <em>move-comp</em> <small class="dots">...</small> ] `<code>)</code>'<br> <em>hardmove</em> => `<code>HARDMOVE</code>' `<code>(</code>' [ <em>move-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="12"></a> <h4 class="subsubheading"> Lights </h4> <p>It is recommended to use the new syntax for lights. </p> <p><em>dynamic-flag</em> => `<code></code>' | `<code>1</code>'<br> <em>light-oldsyntax</em> => <em>coordinate</em> `<code>:</code>' <em>radius</em> `<code>,</code>' <em>color-general</em> `<code>,</code>' <em>dynamic-flag</em> </p> <p><em>light-center</em> => `<code>CENTER</code>' `<code>(</code>' <em>coordinate</em> `<code>)</code>'<br> <em>light-radius</em> => `<code>RADIUS</code>' `<code>(</code>' <em>radius</em> `<code>)</code>'<br> <em>light-color</em> => `<code>COLOR</code>' `<code>(</code>' <em>color</em> `<code>)</code>'<br> <em>light-dynamic</em> => `<code>DYNAMIC</code>' `<code>(</code>' `<code>)</code>'<br> <em>light-halo</em> => `<code>HALO</code>' `<code>(</code>' `<code>)</code>'<br> <em>light-comp</em> => <em>light-center</em><br> | <em>light-radius</em><br> | <em>light-dynamic</em><br> | <em>light-color</em><br> | <em>light-halo</em><br> <em>light-newsyntax</em> => [ <em>light-comp</em> <small class="dots">...</small> ] </p> <p><em>light</em> => `<code>LIGHT</code>' <em>light-name</em> `<code>(</code>' <em>light-oldsyntax</em> | <em>light-newsyntax</em> `<code>)</code>' </p> <a name="13"></a> <h4 class="subsubheading"> Collection Objects </h4> <p>Note that collection objects are NOT hierarchical objects. A collection object is just one object that represents a group of other objects. </p> <p><em>col-mesh</em> => `<code>MESH</code>' `<code>(</code>' <em>mesh-name</em> `<code>)</code>'<br> <em>col-collection</em> => `<code>COLLECTION</code>' `<code>(</code>' <em>col-name</em> `<code>)</code>'<br> <em>col-light</em> => `<code>LIGHT</code>' `<code>(</code>' <em>light-name</em> `<code>)</code>'<br> <em>col-sector</em> => `<code>SECTOR</code>' `<code>(</code>' <em>sector-name</em> `<code>)</code>'<br> <em>collection-comp</em> => <em>col-collection</em><br> | <em>col-light</em><br> | <em>col-sector</em><br> | <em>col-mesh</em><br> <em>collection</em> => `<code>COLLECTION</code>' <em>col-name</em> `<code>(</code>' [ <em>collection-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="14"></a> <h4 class="subsubheading"> Materials and Textures </h4> <p><em>material</em> => `<code>MATERIAL</code>' `<code>(</code>' <em>material-name</em> `<code>)</code>'<br> <em>texture</em> => `<code>TEXTURE</code>' `<code>(</code>' <em>texture-name</em> `<code>)</code>'<br> </p> <a name="15"></a> <h4 class="subsubheading"> Material and Texture Description </h4> <p><em>transparent</em> => `<code>TRANSPARENT</code>' `<code>(</code>' <em>color</em> `<code>)</code>'<br> <em>procedural</em> => `<code>PROCEDURAL</code>' `<code>(</code>' `<code>)</code>'<br> <em>tex2d</em> => `<code>FOR_2D</code>' `<code>(</code>' <em>yes-no</em> `<code>)</code>'<br> <em>tex3d</em> => `<code>FOR_3D</code>' `<code>(</code>' <em>yes-no</em> `<code>)</code>'<br> <em>persistent</em> => `<code>PERSISTENT</code>' `<code>(</code>' `<code>)</code>'<br> <em>filter</em> => `<code>FILTER</code>' `<code>(</code>' <small class="dots">...</small> `<code>)</code>'<br> <em>mipmap</em> => `<code>MIPMAP</code>' `<code>(</code>' <em>yes-no</em> `<code>)</code>'<br> <em>dither</em> => `<code>DITHER</code>' `<code>(</code>' <em>yes-no</em> `<code>)</code>'<br> <em>texture-file</em> => `<code>FILE</code>' `<code>(</code>' <em>file-name</em> `<code>)</code>' </p> <p><em>texture-desc-comp</em> => <em>transparent</em><br> | <em>filter</em><br> | <em>mipmap</em><br> | <em>dither</em><br> | <em>file</em><br> | <em>procedural</em><br> | <em>tex2d</em><br> | <em>tex3d</em><br> | <em>persistent</em><br> <em>texture-desc</em> => `<code>TEXTURE</code>' <em>texture-name</em> `<code>(</code>' [ <em>texture-desc-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <p><em>material-desc-comp</em> => <em>texture</em><br> | `<code>COLOR</code>' `<code>(</code>' <em>color</em> `<code>)</code>'<br> | `<code>DIFFUSE</code>' `<code>(</code>' <em>number</em> `<code>)</code>'<br> | `<code>AMBIENT</code>' `<code>(</code>' <em>number</em> `<code>)</code>'<br> | `<code>REFLECTION</code>' `<code>(</code>' <em>number</em> `<code>)</code>'<br> <em>material-desc</em> => `<code>MATERIAL</code>' <em>material-name</em> `<code>(</code>' [ <em>material-desc-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="16"></a> <h4 class="subsubheading"> LOD </h4> <p><em>lod-level</em> => `<code>LEVEL</code>' `<code>(</code>' <em>number</em> `<code>)</code>'<br> <em>lod-comp</em> => <em>lod-level</em><br> <em>lod</em> => `<code>LOD</code>' `<code>(</code>' [ <em>lod-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="17"></a> <h4 class="subsubheading"> Mesh Objects </h4> <p>Important note! This documentation explains ONLY the basic mesh object and factory parsing. It does NOT describe the parsing that is done by the loader plugin itself. So this means that everything inside the <samp>‘PARAMS’</samp> blocks is not documented in this document. Documentation for this will follow later in the mesh object plugin documentation. </p> <p><em>plugin</em> => `<code>PLUGIN</code>' `<code>(</code>' <em>string</em> `<code>)</code>'<br> <em>params</em> => `<code>PARAMS</code>' `<code>(</code>' <em>string</em> `<code>)</code>' <em>paramsfile</em> => `<code>PARAMSFILE</code>' `<code>(</code>' <em>file-name</em> `<code>)</code>' <em>mesh-nolighting</em> => `<code>NOLIGHTING</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-noshadows</em> => `<code>NOSHADOWS</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-invisible</em> => `<code>INVISIBLE</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-detail</em> => `<code>DETAIL</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-zfill</em> => `<code>ZFILL</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-znone</em> => `<code>ZNONE</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-zuse</em> => `<code>ZUSE</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-ztest</em> => `<code>ZTEST</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-camera</em> => `<code>CAMERA</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-convex</em> => `<code>CONVEX</code>' `<code>(</code>' `<code>)</code>'<br> <em>mesh-priority</em> => `<code>PRIORITY</code>' `<code>(</code>' <em>priority-name</em> `<code>)</code>'<br> <em>mesh-lmcache</em> => `<code>LMCACHE</code>' `<code>(</code>' <em>cache-name</em> `<code>)</code>'<br> </p> <p><em>mesh-comp</em> => <em>plugin</em><br> | <em>addon</em><br> | <em>key</em><br> | <em>params</em><br> | <em>paramsfile</em><br> | <em>mesh</em><br> | <em>move</em><br> | <em>hardmove</em><br> | <em>lod</em><br> | <em>mesh</em><br> | <em>meshref</em><br> | <em>mesh-nolighting</em><br> | <em>mesh-noshadows</em><br> | <em>mesh-invisible</em><br> | <em>mesh-detail</em><br> | <em>mesh-zfill</em><br> | <em>mesh-znone</em><br> | <em>mesh-zuse</em><br> | <em>mesh-ztest</em><br> | <em>mesh-camera</em><br> | <em>mesh-convex</em><br> | <em>mesh-priority</em><br> | <em>mesh-lmcache</em><br> <em>mesh</em> => `<code>MESHOBJ</code>' <em>mesh-name</em> `<code>(</code>' [ <em>mesh-comp</em> <small class="dots">...</small> ] `<code>)</code>'<br> <em>meshlib</em> => `<code>MESHLIB</code>' <em>mesh-name</em> `<code>(</code>' [ <em>mesh-comp</em> <small class="dots">...</small> `<code>)</code>' </p> <p><em>meshref-factory</em> => `<code>FACTORY</code>' `<code>(</code>' <em>meshfact-name</em> `<code>)</code>'<br> <em>meshref-comp</em> => <em>meshref-factory</em><br> | <em>addon</em><br> | <em>key</em><br> | <em>move</em><br> | <em>hardmove</em><br> | <em>lod</em><br> | <em>mesh-nolighting</em><br> | <em>mesh-noshadows</em><br> | <em>mesh-invisible</em><br> | <em>mesh-detail</em><br> | <em>mesh-zfill</em><br> | <em>mesh-znone</em><br> | <em>mesh-zuse</em><br> | <em>mesh-ztest</em><br> | <em>mesh-camera</em><br> | <em>mesh-convex</em><br> | <em>mesh-priority</em><br> <em>meshref</em> => `<code>MESHREF</code>' <em>mesh-name</em> `<code>(</code>' [ <em>meshref-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="18"></a> <h4 class="subsubheading"> Mesh Object Factories </h4> <p><em>meshfact-file</em> => `<code>FILE</code>' `<code>(</code>' <em>file-name</em> `<code>)</code>'<br> <em>meshfact-comp</em> => <em>plugin</em><br> | <em>addon</em><br> | <em>params</em><br> | <em>paramsfile</em><br> | <em>meshfact-file</em><br> | <em>meshfact</em><br> | <em>move</em><br> | <em>hardmove</em><br> | <em>lod</em><br> | <em>material</em><br> <em>meshfact</em> => `<code>MESHFACT</code>' <em>meshfact-name</em> `<code>(</code>' [ <em>meshfact-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="19"></a> <h4 class="subsubheading"> Nodes </h4> <p><em>position</em> => `<code>POSITION</code>' `<code>(</code>' <em>coordinate</em> `<code>)</code>'<br> <em>node-comp</em> => <em>position</em> | <em>key</em><br> <em>node</em> => `<code>NODE</code>' `<code>(</code>' [ <em>node-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="20"></a> <h4 class="subsubheading"> Sectors </h4> <p><em>sector-comp</em> => <em>addon</em><br> | <em>culler</em><br> | <em>cullerp</em><br> | <em>light</em><br> | <em>mesh</em><br> | <em>meshref</em><br> | <em>meshlib</em><br> | <em>fog-desc</em><br> | <em>key</em><br> | <em>node</em><br> <em>sector</em> => `<code>SECTOR</code>' <em>sector-name</em> `<code>(</code>' [ <em>sector-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="21"></a> <h4 class="subsubheading"> Texture List </h4> <p><em>textures-comp</em> => <em>texture-desc</em><br> <em>textures</em> => `<code>TEXTURES</code>' `<code>(</code>' [ <em>textures-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="22"></a> <h4 class="subsubheading"> Material List </h4> <p><em>materials-comp</em> => <em>material-desc</em><br> <em>materials</em> => `<code>MATERIALS</code>' `<code>(</code>' [ <em>materials-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="23"></a> <h4 class="subsubheading"> Material Groupings </h4> <p>Sometimes you want things of the same type but with different materials on it. This is where material groupings come in handy. The final name of a texture in a <samp>‘MAT_SET’</samp> expression will be `<var>mat-set-name_texture-name</var>'. The materials will be merged into the global texture list. You should define a <samp>‘MAT_SET’</samp> after <samp>‘TEXTURES’</samp> since the latter command clears the internal list first. </p> <p><em>mat-set-name</em> => <em>name</em><br> <em>material-set</em> => `<code>MAT_SET</code>' <em>mat-set-name</em> `<code>(</code>' <em>materials</em> `<code>)</code>' </p> <a name="24"></a> <h4 class="subsubheading"> Library </h4> <p><em>library</em> => `<code>LIBRARY</code>' <em>library-name</em> `<code>(</code>' <em>file-name</em> `<code>)</code>' </p> <a name="25"></a> <h4 class="subsubheading"> Starting Position </h4> <p><em>start-sector</em> => `<code>SECTOR</code>' `<code>(</code>' <em>sector-name</em> `<code>)</code>'<br> <em>start-position</em> => `<code>POSITION</code>' `<code>(</code>' <em>coordinate</em> `<code>)</code>'<br> <em>start-up</em> => `<code>UP</code>' `<code>(</code>' <em>vector-3d</em> `<code>)</code>'<br> <em>start-forward</em> => `<code>FORWARD</code>' `<code>(</code>' <em>vector-3d</em> `<code>)</code>'<br> <em>start-comp</em> => <em>start-sector</em><br> | <em>start-position</em><br> | <em>start-up</em><br> | <em>start-forward</em><br> <em>start-newsyntax</em> => [ <em>start-comp</em> <small class="dots">...</small> ]<br> <em>start-oldsyntax</em> => <em>sector-name</em> `<code>,</code>' <em>coordinate</em><br> <em>start</em> => `<code>START</code>' `<code>(</code>' <em>start-oldsyntax</em> | <em>start-newsyntax</em> `<code>)</code>' </p> <a name="26"></a> <h4 class="subsubheading"> For Loader Plug-Ins </h4> <p><em>plugin-id</em> => <em>plugin-name</em> | <em>plugin-shortname</em><br> <em>plugin-spec</em> => `<code>PLUGIN</code>' `<code>(</code>' <em>plugin-id</em> `<code>)</code>'<br> <em>plugin-params</em> => `<code>PARAMS</code>' `<code>(</code>' <small class="dots">...</small> `<code>)</code>'<br> <em>plugin-comp</em> => `<code>PLUGIN</code>' <em>plugin-shortname</em> `<code>(</code>' <em>plugin-name</em> `<code>)</code>'<br> <em>plugins</em> => `<code>PLUGINS</code>' `<code>(</code>' [ <em>plugin-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="27"></a> <h4 class="subsubheading"> Add-ons </h4> <p>Same remark as for mesh objects: the stuff that is inside the <samp>‘PARAMS’</samp> block is not documented here. </p> <p><em>addon-comp</em> => <em>plugin-spec</em> | <em>plugin-params</em><br> <em>addon</em> => `<code>ADDON</code>' `<code>(</code>' [ <em>addon-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="28"></a> <h4 class="subsubheading"> Sounds </h4> <p><em>sound-file</em> => `<code>FILE</code>' `<code>(</code>' <em>file-name</em> `<code>)</code>'<br> <em>sound</em> => `<code>SOUND</code>' [ <em>file-name</em> ] `<code>(</code>' [ <em>sound-file</em> ] `<code>)</code>'<br> <em>sounds</em> => `<code>SOUNDS</code>' `<code>(</code>' [ <em>sound</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="29"></a> <h4 class="subsubheading"> Settings </h4> <p><em>setting-ambient</em> => `<code>AMBIENT</code>' `<code>(</code>' <em>color</em> `<code>)</code>'<br> <em>setting-clearzbuf</em> => `<code>CLEARZBUF</code>' `<code>(</code>' <em>yes-no</em> `<code>)</code>'<br> <em>setting-clearscreen</em> => `<code>CLEARSCREEN</code>' `<code>(</code>' <em>yes-no</em> `<code>)</code>'<br> <em>setting-lightmapcellsize</em> => `<code>LIGHTMAPCELLSIZE</code>' `<code>(</code>' <em>pos-integer</em> `<code>)</code>'<br> <em>setting-maxlightmapsize</em> => `<code>MAXLIGHTMAPSIZE</code>' `<code>(</code>' <em>pos-integer</em> `<code>,</code>' <em>pos-integer</em> `<code>)</code>'<br> <em>settings-comp</em> => <em>setting-ambient</em><br> | <em>setting-clearzbuf</em><br> | <em>setting-clearscreen</em><br> | <em>setting-lightmapcellsize</em><br> | <em>setting-maxlightmapsize</em><br> <em>settings</em> => `<code>SETTINGS</code>' `<code>(</code>' [ <em>settings-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="30"></a> <h4 class="subsubheading"> World </h4> <p><em>world-comp</em> => <em>textures</em><br> | <em>materials</em><br> | <em>library</em><br> | <em>addon</em><br> | <em>material-set</em><br> | <em>sounds</em><br> | <em>plugins</em><br> | <em>sector</em><br> | <em>meshfact</em><br> | <em>collection</em><br> | <em>start</em><br> | <em>key</em><br> | <em>settings</em><br> <em>world</em> => `<code>WORLD</code>' `<code>(</code>' [ <em>world-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <a name="31"></a> <h4 class="subsubheading"> Library File </h4> <p><em>library-comp</em> => <em>textures</em><br> | <em>materials</em><br> | <em>meshfact</em><br> | <em>addon</em><br> | <em>meshobj</em><br> | <em>meshref</em><br> | <em>sounds</em><br> | <em>plugins</em><br> <em>library</em> => `<code>LIBRARY</code>' `<code>(</code>' [ <em>library-comp</em> <small class="dots">...</small> ] `<code>)</code>' </p> <hr size="1"> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="Map-File-Grammar.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="Map-File-Hints.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="Old-Map-File-Format.html#0" title="Up section"> Up </a>]</td> <td valign="middle" align="left">[<a href="Working-with-Engine-Content.html#0" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <p> <font size="-1"> This document was generated using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>. </font> <br> </p> </body> </html>