<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=One</id>
	<title>EDukeWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=One"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/wiki/Special:Contributions/One"/>
	<updated>2026-04-21T23:04:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Talk:DEF_Language&amp;diff=8222</id>
		<title>Talk:DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Talk:DEF_Language&amp;diff=8222"/>
		<updated>2009-05-08T11:19:51Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==from source==&lt;br /&gt;
&lt;br /&gt;
This seems to be missing the palmap definitions: (defineconv, {bluepal, brownpal, greypal, greenpal, redpal, specpal}), among other things. -[[User:Hendricks 266|Hendricks266]] 17:31, 7 May 2009 (PDT)&lt;br /&gt;
&lt;br /&gt;
 typedef struct { char *text; int32_t tokenid; } tokenlist;&lt;br /&gt;
 static tokenlist basetokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;include&amp;quot;,         T_INCLUDE          },&lt;br /&gt;
    { &amp;quot;#include&amp;quot;,        T_INCLUDE          },&lt;br /&gt;
    { &amp;quot;define&amp;quot;,          T_DEFINE           },&lt;br /&gt;
    { &amp;quot;#define&amp;quot;,         T_DEFINE           },&lt;br /&gt;
 &lt;br /&gt;
    // deprecated style&lt;br /&gt;
    { &amp;quot;definetexture&amp;quot;,   T_DEFINETEXTURE    },&lt;br /&gt;
    { &amp;quot;defineskybox&amp;quot;,    T_DEFINESKYBOX     },&lt;br /&gt;
    { &amp;quot;definetint&amp;quot;,      T_DEFINETINT       },&lt;br /&gt;
    { &amp;quot;definemodel&amp;quot;,     T_DEFINEMODEL      },&lt;br /&gt;
    { &amp;quot;definemodelframe&amp;quot;,T_DEFINEMODELFRAME },&lt;br /&gt;
    { &amp;quot;definemodelanim&amp;quot;, T_DEFINEMODELANIM  },&lt;br /&gt;
    { &amp;quot;definemodelskin&amp;quot;, T_DEFINEMODELSKIN  },&lt;br /&gt;
    { &amp;quot;selectmodelskin&amp;quot;, T_SELECTMODELSKIN  },&lt;br /&gt;
    { &amp;quot;definevoxel&amp;quot;,     T_DEFINEVOXEL      },&lt;br /&gt;
    { &amp;quot;definevoxeltiles&amp;quot;,T_DEFINEVOXELTILES },&lt;br /&gt;
 &lt;br /&gt;
    // new style&lt;br /&gt;
 &lt;br /&gt;
    { &amp;quot;model&amp;quot;,           T_MODEL            },&lt;br /&gt;
    { &amp;quot;voxel&amp;quot;,           T_VOXEL            },&lt;br /&gt;
    { &amp;quot;skybox&amp;quot;,          T_SKYBOX           },&lt;br /&gt;
    { &amp;quot;tint&amp;quot;,            T_TINT             },&lt;br /&gt;
    { &amp;quot;texture&amp;quot;,         T_TEXTURE          },&lt;br /&gt;
    { &amp;quot;tile&amp;quot;,            T_TEXTURE          },&lt;br /&gt;
    { &amp;quot;music&amp;quot;,           T_MUSIC            },&lt;br /&gt;
    { &amp;quot;sound&amp;quot;,           T_SOUND            },&lt;br /&gt;
 &lt;br /&gt;
    // other stuff&lt;br /&gt;
    { &amp;quot;undefmodel&amp;quot;,      T_UNDEFMODEL       },&lt;br /&gt;
    { &amp;quot;undefmodelrange&amp;quot;, T_UNDEFMODELRANGE  },&lt;br /&gt;
    { &amp;quot;undefmodelof&amp;quot;,    T_UNDEFMODELOF     },&lt;br /&gt;
    { &amp;quot;undeftexture&amp;quot;,    T_UNDEFTEXTURE     },&lt;br /&gt;
    { &amp;quot;undeftexturerange&amp;quot;, T_UNDEFTEXTURERANGE },&lt;br /&gt;
    { &amp;quot;alphahack&amp;quot;,	     T_ALPHAHACK 		},&lt;br /&gt;
    { &amp;quot;alphahackrange&amp;quot;,  T_ALPHAHACKRANGE 	},&lt;br /&gt;
    { &amp;quot;spritecol&amp;quot;,	     T_SPRITECOL 		},&lt;br /&gt;
    { &amp;quot;2dcol&amp;quot;,	     	 T_2DCOL 			},&lt;br /&gt;
    { &amp;quot;fogpal&amp;quot;,	     	 T_FOGPAL	 		},&lt;br /&gt;
    { &amp;quot;loadgrp&amp;quot;,     	 T_LOADGRP	 		},&lt;br /&gt;
    { &amp;quot;dummytile&amp;quot;,     	 T_DUMMYTILE		},&lt;br /&gt;
    { &amp;quot;dummytilerange&amp;quot;,  T_DUMMYTILERANGE   },&lt;br /&gt;
    { &amp;quot;setuptile&amp;quot;,       T_SETUPTILE        },&lt;br /&gt;
    { &amp;quot;setuptilerange&amp;quot;,  T_SETUPTILERANGE   },&lt;br /&gt;
    { &amp;quot;animtilerange&amp;quot;,   T_ANIMTILERANGE    },&lt;br /&gt;
    { &amp;quot;cachesize&amp;quot;,       T_CACHESIZE        },&lt;br /&gt;
    { &amp;quot;dummytilefrompic&amp;quot;,T_IMPORTTILE       },&lt;br /&gt;
    { &amp;quot;tilefromtexture&amp;quot;, T_TILEFROMTEXTURE  },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist modeltokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;scale&amp;quot;,    T_SCALE    },&lt;br /&gt;
    { &amp;quot;shade&amp;quot;,    T_SHADE    },&lt;br /&gt;
    { &amp;quot;zadd&amp;quot;,     T_ZADD     },&lt;br /&gt;
    { &amp;quot;frame&amp;quot;,    T_FRAME    },&lt;br /&gt;
    { &amp;quot;anim&amp;quot;,     T_ANIM     },&lt;br /&gt;
    { &amp;quot;skin&amp;quot;,     T_SKIN     },&lt;br /&gt;
    { &amp;quot;detail&amp;quot;,   T_DETAIL   },&lt;br /&gt;
    { &amp;quot;glow&amp;quot;,     T_GLOW     },&lt;br /&gt;
    { &amp;quot;specular&amp;quot;, T_SPECULAR },&lt;br /&gt;
    { &amp;quot;normal&amp;quot;,   T_NORMAL   },&lt;br /&gt;
    { &amp;quot;hud&amp;quot;,      T_HUD      },&lt;br /&gt;
    { &amp;quot;flags&amp;quot;,    T_FLAGS    },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist modelframetokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;pal&amp;quot;,              T_PAL               },&lt;br /&gt;
    { &amp;quot;frame&amp;quot;,            T_FRAME             },&lt;br /&gt;
    { &amp;quot;name&amp;quot;,             T_FRAME             },&lt;br /&gt;
    { &amp;quot;tile&amp;quot;,             T_TILE              },&lt;br /&gt;
    { &amp;quot;tile0&amp;quot;,            T_TILE0             },&lt;br /&gt;
    { &amp;quot;tile1&amp;quot;,            T_TILE1             },&lt;br /&gt;
    { &amp;quot;smoothduration&amp;quot;,   T_SMOOTHDURATION    },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist modelanimtokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;frame0&amp;quot;, T_FRAME0 },&lt;br /&gt;
    { &amp;quot;frame1&amp;quot;, T_FRAME1 },&lt;br /&gt;
    { &amp;quot;fps&amp;quot;,    T_FPS    },&lt;br /&gt;
    { &amp;quot;flags&amp;quot;,  T_FLAGS  },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist modelskintokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;pal&amp;quot;,           T_PAL        },&lt;br /&gt;
    { &amp;quot;file&amp;quot;,          T_FILE       },&lt;br /&gt;
    { &amp;quot;surf&amp;quot;,          T_SURF       },&lt;br /&gt;
    { &amp;quot;surface&amp;quot;,       T_SURF       },&lt;br /&gt;
    { &amp;quot;intensity&amp;quot;,     T_PARAM      },&lt;br /&gt;
    { &amp;quot;scale&amp;quot;,         T_PARAM      },&lt;br /&gt;
    { &amp;quot;detailscale&amp;quot;,   T_PARAM      },&lt;br /&gt;
    { &amp;quot;specpower&amp;quot;,     T_SPECPOWER  },&lt;br /&gt;
    { &amp;quot;specfactor&amp;quot;,    T_SPECFACTOR },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist modelhudtokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;tile&amp;quot;,   T_TILE   },&lt;br /&gt;
    { &amp;quot;tile0&amp;quot;,  T_TILE0  },&lt;br /&gt;
    { &amp;quot;tile1&amp;quot;,  T_TILE1  },&lt;br /&gt;
    { &amp;quot;xadd&amp;quot;,   T_XADD   },&lt;br /&gt;
    { &amp;quot;yadd&amp;quot;,   T_YADD   },&lt;br /&gt;
    { &amp;quot;zadd&amp;quot;,   T_ZADD   },&lt;br /&gt;
    { &amp;quot;angadd&amp;quot;, T_ANGADD },&lt;br /&gt;
    { &amp;quot;hide&amp;quot;,   T_HIDE   },&lt;br /&gt;
    { &amp;quot;nobob&amp;quot;,  T_NOBOB  },&lt;br /&gt;
    { &amp;quot;flipped&amp;quot;,T_FLIPPED},&lt;br /&gt;
    { &amp;quot;nodepth&amp;quot;,T_NODEPTH},&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist voxeltokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;tile&amp;quot;,   T_TILE   },&lt;br /&gt;
    { &amp;quot;tile0&amp;quot;,  T_TILE0  },&lt;br /&gt;
    { &amp;quot;tile1&amp;quot;,  T_TILE1  },&lt;br /&gt;
    { &amp;quot;scale&amp;quot;,  T_SCALE  },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist skyboxtokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;tile&amp;quot;   ,T_TILE   },&lt;br /&gt;
    { &amp;quot;pal&amp;quot;    ,T_PAL    },&lt;br /&gt;
    { &amp;quot;ft&amp;quot;     ,T_FRONT  },{ &amp;quot;front&amp;quot;  ,T_FRONT  },{ &amp;quot;forward&amp;quot;,T_FRONT  },&lt;br /&gt;
    { &amp;quot;rt&amp;quot;     ,T_RIGHT  },{ &amp;quot;right&amp;quot;  ,T_RIGHT  },&lt;br /&gt;
    { &amp;quot;bk&amp;quot;     ,T_BACK   },{ &amp;quot;back&amp;quot;   ,T_BACK   },&lt;br /&gt;
    { &amp;quot;lf&amp;quot;     ,T_LEFT   },{ &amp;quot;left&amp;quot;   ,T_LEFT   },{ &amp;quot;lt&amp;quot;     ,T_LEFT   },&lt;br /&gt;
    { &amp;quot;up&amp;quot;     ,T_TOP    },{ &amp;quot;top&amp;quot;    ,T_TOP    },{ &amp;quot;ceiling&amp;quot;,T_TOP    },{ &amp;quot;ceil&amp;quot;   ,T_TOP    },&lt;br /&gt;
    { &amp;quot;dn&amp;quot;     ,T_BOTTOM },{ &amp;quot;bottom&amp;quot; ,T_BOTTOM },{ &amp;quot;floor&amp;quot;  ,T_BOTTOM },{ &amp;quot;down&amp;quot;   ,T_BOTTOM }&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist tinttokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;pal&amp;quot;,   T_PAL },&lt;br /&gt;
    { &amp;quot;red&amp;quot;,   T_RED   },{ &amp;quot;r&amp;quot;, T_RED },&lt;br /&gt;
    { &amp;quot;green&amp;quot;, T_GREEN },{ &amp;quot;g&amp;quot;, T_GREEN },&lt;br /&gt;
    { &amp;quot;blue&amp;quot;,  T_BLUE  },{ &amp;quot;b&amp;quot;, T_BLUE },&lt;br /&gt;
    { &amp;quot;flags&amp;quot;, T_FLAGS }&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist texturetokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;pal&amp;quot;,     T_PAL  },&lt;br /&gt;
    { &amp;quot;detail&amp;quot;,  T_DETAIL },&lt;br /&gt;
    { &amp;quot;glow&amp;quot;,    T_GLOW },&lt;br /&gt;
    { &amp;quot;specular&amp;quot;,T_SPECULAR },&lt;br /&gt;
    { &amp;quot;normal&amp;quot;,  T_NORMAL },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist texturetokens_pal[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;file&amp;quot;,            T_FILE },{ &amp;quot;name&amp;quot;, T_FILE },&lt;br /&gt;
    { &amp;quot;alphacut&amp;quot;,        T_ALPHACUT },&lt;br /&gt;
    { &amp;quot;detailscale&amp;quot;,     T_XSCALE }, { &amp;quot;scale&amp;quot;,  T_XSCALE }, { &amp;quot;xscale&amp;quot;,  T_XSCALE }, { &amp;quot;intensity&amp;quot;,  T_XSCALE },&lt;br /&gt;
    { &amp;quot;yscale&amp;quot;,          T_YSCALE },&lt;br /&gt;
    { &amp;quot;specpower&amp;quot;,       T_SPECPOWER }, { &amp;quot;parallaxscale&amp;quot;, T_SPECPOWER },&lt;br /&gt;
    { &amp;quot;specfactor&amp;quot;,      T_SPECFACTOR }, { &amp;quot;parallaxbias&amp;quot;, T_SPECFACTOR },&lt;br /&gt;
    { &amp;quot;nocompress&amp;quot;,      T_NOCOMPRESS },&lt;br /&gt;
    { &amp;quot;nodownsize&amp;quot;,      T_NODOWNSIZE },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist sound_musictokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;id&amp;quot;,   T_ID  },&lt;br /&gt;
    { &amp;quot;file&amp;quot;, T_FILE },&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static tokenlist tilefromtexturetokens[] =&lt;br /&gt;
 {&lt;br /&gt;
    { &amp;quot;file&amp;quot;,            T_FILE },&lt;br /&gt;
    { &amp;quot;name&amp;quot;,            T_FILE },&lt;br /&gt;
    { &amp;quot;alphacut&amp;quot;,        T_ALPHACUT },&lt;br /&gt;
    { &amp;quot;xoffset&amp;quot;,         T_XOFFSET },&lt;br /&gt;
    { &amp;quot;xoff&amp;quot;,            T_XOFFSET },&lt;br /&gt;
    { &amp;quot;yoffset&amp;quot;,         T_YOFFSET },&lt;br /&gt;
    { &amp;quot;yoff&amp;quot;,            T_YOFFSET },&lt;br /&gt;
 };&lt;br /&gt;
: Palmap support was dropped at some point and Polymer specification may not be finalized yet(it still can be changed). Apart from this, the page is up to date. --[[User:One|One]] 04:19, 8 May 2009 (PDT)&lt;br /&gt;
&lt;br /&gt;
==cleanup==&lt;br /&gt;
&lt;br /&gt;
This page needs some serious cleanup.  First, we should get rid of all this EDuke32-native rubbish. Second, there&#039;s a lot of stuff that needs to be added, including palmaps by Hunter, normal maps, parallax maps, setuptile, tilefromtexture, (the animation tilefromtexture command), and many more things. The best place to look for a complete index is the source; I&#039;m just not sure where. -[[User:Hendricks 266|Hendricks266]] 19:00, 4 May 2009 (PDT)&lt;br /&gt;
&lt;br /&gt;
==old comments==&lt;br /&gt;
Maybe the commands should just be listed here with links to separate pages for each command(not subcommands). Got a bit to big this way I think.&lt;br /&gt;
&lt;br /&gt;
/Parkar&lt;br /&gt;
&lt;br /&gt;
JonoF has a list of the DEF commands [http://jonof.edgenetwork.org/index.php?p=jfbuild.def here], for additional reference.&lt;br /&gt;
&lt;br /&gt;
Cheers,&amp;lt;br /&amp;gt;&lt;br /&gt;
[[User:Hendricks 266|Hendricks266]] @ 12:22, 18 February 2007 (PST)&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8214</id>
		<title>DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8214"/>
		<updated>2009-05-05T16:39:27Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New to JFDuke3D\EDuke32 are DEF files. These parsed scripts allow redefinition of flat, Hightile textures, 3D models, miscellaneous settings, and, possibly, in the future, higher-quality sounds and music, and enhanced cutscenes.&lt;br /&gt;
&lt;br /&gt;
Comments can be used by prefixing the text with a double forward-slash (C++ style), &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, or surrounding the text with &amp;lt;code&amp;gt;/* (comment here) */&amp;lt;/code&amp;gt; (C style).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
=== texture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;texture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file tile. &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039; may be a number, or a defined label.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Replaces the palette &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;. If a palette has no pal definition palette 0 definition will be used. Tint will not be used on palettes defined with this instruction.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines which texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== alphacut =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;cutoff-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the level of transparency at which a pixel in the texture is considered opaque. Pixels with more transparency than the cut-off are not drawn to the screen when rendered. The default setting is 0.32, which is just below the 33% transparency level of Build. If your texture has areas that are more transparent than the default, you can lower the cut-off level to preserve that detail.&lt;br /&gt;
&lt;br /&gt;
===== nocompress =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nocompress&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being compressed using S3TC if texture compression is enabled.&lt;br /&gt;
&lt;br /&gt;
===== nodownsize =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodownsize&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being downsized.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;yscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the scale of the hightile texture in relation to the original texture. A &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; of 1.0 makes it the same size, higher makes it cover more then the original tile and smaller makes it cover a smaller area. &#039;&#039;&#039;xscale&#039;&#039;&#039;(aka &#039;&#039;&#039;scale&#039;&#039;&#039;, &#039;&#039;&#039;detailscale&#039;&#039;&#039;, &#039;&#039;&#039;intensity&#039;&#039;&#039;) sets the horizontal scale and &#039;&#039;&#039;yscale&#039;&#039;&#039; sets the vertical scale.&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
=== tint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The palette number the tint applies to.&lt;br /&gt;
&lt;br /&gt;
==== color ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;red&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;green&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;blue&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;r&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;g&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;b&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies a color component value, in the range of 0 to 255. Unspecified components are assumed to be 255 and any out of range values are clamped to the maximum or minimum as appropriate.&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special processing effects to use for the tint. The value of flags may be the sum of any of these values:&lt;br /&gt;
&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colors&lt;br /&gt;
&lt;br /&gt;
=== skybox ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skybox that overrides a parallaxing floor or ceiling in OpenGL Polymost rendering mode. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ART file tile to override.&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the palette number the skybox should happen for.&lt;br /&gt;
&lt;br /&gt;
==== facename ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;facename&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a single face of the skybox where facename may be any of these keywords appropriate for the face in question:&lt;br /&gt;
&lt;br /&gt;
 Front	Right 	Back	Left 	Top	Bottom&lt;br /&gt;
 ft	rt	bk	lf	up	dn&lt;br /&gt;
 front	right	back	left	top 	bottom&lt;br /&gt;
 forward			lt	ceiling floor&lt;br /&gt;
 				ceil	down&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; All six faces are required to be specified.&lt;br /&gt;
&lt;br /&gt;
=== model ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;model&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a model to replace certain sprites in the game when running in OpenGL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the model file in md2 or md3 format.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; md2 is considered deprecated.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
==== shade ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;shade&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== zadd ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a height offset for the model. Quake models are aligned in the center while Build models are aligned at the floor. Using this command will allow Build to use Quake models without modification to the MD2/3 file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the model should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
*0: default value&lt;br /&gt;
*1: Prevents the the model from being affected by the tints.&lt;br /&gt;
&lt;br /&gt;
==== skin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which palette this skin maps to.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this skin should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the texture file to use for the skin. File may be any PNG, JPG, TGA, BMP, GIF or PCX file&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. the model filename includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== anim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;anim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== frame =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;frame1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        &lt;br /&gt;
Specifies the names of the start (&#039;&#039;&#039;frame0&#039;&#039;&#039;) and end (&#039;&#039;&#039;frame1&#039;&#039;&#039;) frames of the animation.&lt;br /&gt;
&lt;br /&gt;
===== fps =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fps&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;fps&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the frame rate at which the animation should play. This value may be fractional.&lt;br /&gt;
&lt;br /&gt;
===== flags =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the animation should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
&lt;br /&gt;
Valid options are:&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame).&lt;br /&gt;
&lt;br /&gt;
==== frame ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame/animation of the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== name =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039; is identical to the starting frame of an animation, the engine will play that animation, otherwise the replacement will be static. You can choose to use the &#039;&#039;&#039;frame&#039;&#039;&#039; or &#039;&#039;&#039;name&#039;&#039;&#039; versions of this instruction as both are identical.&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the tile instruction to specify an ART-file tile which this model should replace. Use the &#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; instructions together to specify a range of ART-file tiles. If you use &#039;&#039;&#039;tile0&#039;&#039;&#039;, you must also have a &#039;&#039;&#039;tile1&#039;&#039;&#039;. You may not use the same instruction twice to specify multiple ranges.&lt;br /&gt;
&lt;br /&gt;
===== smoothduration =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smoothduration&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If smoothduration is non-zero switching from another animation to the one defined by that frame block will trigger an intermediary animation smoothing state of duration &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; seconds.&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Makes the model definition exclusive for the this pal. This allow to assign different models for different pal.&lt;br /&gt;
&lt;br /&gt;
==== hud ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hud&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to use with a heads-up-display. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; together specify a range of ART-file tiles which this model frame should replace when rendered as part of the HUD. You can specify individual tiles using a single tile command.&lt;br /&gt;
    &lt;br /&gt;
===== offset =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;yadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;angadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these offsets to fine-tune the location of the model placement. &#039;&#039;&#039;xadd&#039;&#039;&#039;, &#039;&#039;&#039;yadd&#039;&#039;&#039;, and &#039;&#039;&#039;zadd&#039;&#039;&#039; are position offsets relative to the viewer&#039;s orienation. You can use floating point values with them. &#039;&#039;&#039;angadd&#039;&#039;&#039; is a Build angle offset. (512 = 90 degrees, 1024 = 180 degrees, etc...).&lt;br /&gt;
&lt;br /&gt;
===== hide =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some weapons use multiple ART tiles for constructing the gun or animation. Use this option to hide parts that you don&#039;t need in your replacement.&lt;br /&gt;
&lt;br /&gt;
===== nobob =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nobob&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default, the HUD model offset is affected by the player bobbing offset when the player is walking. Use this option to disable that.&lt;br /&gt;
&lt;br /&gt;
===== flipped =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flipped&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this option to apply the settings inside the hud block only if the object is normally rendered x-flipped (mirror image). Some weapons, such as the devastator, are rendered in 2 pieces, the left devastator is actually a mirror image of the right.&lt;br /&gt;
&lt;br /&gt;
===== nodepth =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodepth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this to render a HUD model without the use of the depth buffer. Normally, you should avoid this. The one exception where this is useful is for the spinning nuke menu pointer because it should always be in front - and it just happens to be convex ... which is the one case that is safe with the depth buffer disabled … a rather fortunate coincidence. [[Image:Smile.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this detail texture should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this glow map should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
=== voxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;voxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites. filename is the name of the .KVX file containing the voxel. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these instructions to map tiles that should be rendered as a voxels. Use &#039;&#039;&#039;tile&#039;&#039;&#039; to map a single tile to be rendered as voxels and &#039;&#039;&#039;tile0&#039;&#039;&#039;, &#039;&#039;&#039;tile1&#039;&#039;&#039; together define a range of tiles to be rendered as voxels. The &#039;&#039;&#039;tile0&#039;&#039;&#039; instruction should appear before the &#039;&#039;&#039;tile1&#039;&#039;&#039; instruction to define a correct range.&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the voxelmodel when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
=== music ===&lt;br /&gt;
&lt;br /&gt;
==== id ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is &amp;quot;Intro&amp;quot;, &amp;quot;Briefing&amp;quot;, &amp;quot;Loading&amp;quot; or &amp;quot;ExLy&amp;quot;(where x-episode, y-level).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which music file to use. File may be any MID or OGG(OpenAL is required) file.&lt;br /&gt;
&lt;br /&gt;
=== sound ===&lt;br /&gt;
&lt;br /&gt;
==== id ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ID of sound. The ID can be found in DEFS.CON.&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which music file to use. File may be any WAV,VOC,OGG(OpenAL is not required) file.&lt;br /&gt;
&lt;br /&gt;
== Un-Definitions ==&lt;br /&gt;
&lt;br /&gt;
The main use for these is for cases in which the .ART files are somewhat different, and you want to ensure compatibility for the new art without new textures or models. A good example of this is the [http://www.freewebtown.com/hendricks266/nwhrp.html Duke: Nuclear Winter HRP] by [[User:Hendricks 266|Hendricks266]]. (see undef.def)&lt;br /&gt;
&lt;br /&gt;
=== undeftexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining Hightile textures.&lt;br /&gt;
&lt;br /&gt;
==== undeftexturerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexturerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undeftexture&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== undefmodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining 3D models.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelof ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelof&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but all the tiles grouped together within the same .DEF code block are un-defined.&lt;br /&gt;
&lt;br /&gt;
Support of &#039;&#039;&#039;undefmodelof&#039;&#039;&#039; seems to be broken at this time. Using it in your .DEF files will result in crashing upon compiling.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
=== alphahack ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; is a deprecated command to improve alpha filtering of highres art of &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is always -1.&lt;br /&gt;
&lt;br /&gt;
==== alphahackrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahackrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;alphahack&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== animtilerange ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;animtilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;speed value&amp;gt; &amp;lt;animation value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Animates hightile textures the same way as 8 bit art does. Hightile art needs to be defined first.&lt;br /&gt;
&lt;br /&gt;
=== dummytile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to create a blank tile at location &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the dimensions &#039;&#039;&#039;&amp;lt;&#039;&#039;x-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;&#039;&#039;y-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039;. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
&lt;br /&gt;
==== dummytilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;dummytile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== setuptile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to setup the properties which are applied to the highres replacement of the tile. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
Unlike &#039;&#039;&#039;dummytile&#039;&#039;&#039; this command won&#039;t draw black squares and accepts the offsets.&lt;br /&gt;
&lt;br /&gt;
==== setuptilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;setuptile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== dummytilefrompic ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilefrompic&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tileID&amp;gt; &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== tilefromtexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tilefromtexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== alphacut ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== xoffset ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xoffset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;xoff&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== yoffset ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yoffset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;yoff&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;#include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Processes the script commands in &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; at the point of the &#039;&#039;&#039;include&#039;&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
=== define ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;#define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Declares &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;&#039;&#039; to represent the numeric value &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039; can be a label, in which case the value of the label given is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You may find it convenient to include DEFS.CON (for JFDuke3D) or NAMES.H to predefine many of the tile names in the art file.&lt;br /&gt;
&lt;br /&gt;
=== loadgrp ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loadgrp&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;.GRP\.ZIP file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DEF equivalent of the &#039;&#039;&#039;/g&#039;&#039;&#039; command line switch. &#039;&#039;&#039;loadgrp&#039;&#039;&#039; can only be used in the originating .DEF file; it is usually &#039;&#039;&#039;duke3d.def&#039;&#039;&#039; or the .DEF file specified by the &#039;&#039;&#039;/h&#039;&#039;&#039; command line switch.&lt;br /&gt;
&lt;br /&gt;
=== noautload ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noautload&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disables the autoload dir feature.&lt;br /&gt;
&lt;br /&gt;
=== cachesize ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cachesize&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;size&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size of the cache in Kb.&lt;br /&gt;
&lt;br /&gt;
=== fogpal ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette number&amp;gt; &amp;lt;red intensity&amp;gt; &amp;lt;green intensity&amp;gt; &amp;lt;blue intensity&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; defines a palette a sector-based fog effect. To use it, change the pal of your sector to the pal defined with &#039;&#039;&#039;fogpal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Intensities range from 0-63. Palettes 26, 27, 28 and 29 are pre-defined for you as white, red, green and blue respectively. Sector visibility controls fog density.&lt;br /&gt;
&lt;br /&gt;
== Mapster32 ==&lt;br /&gt;
&lt;br /&gt;
=== 2dcol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; is a definition of a color to be used in the 2D mode of [[Mapster32]], in conjunction with &#039;&#039;&#039;spritecol&#039;&#039;&#039; that works similarly to &#039;&#039;&#039;tint&#039;&#039;&#039; and &#039;&#039;&#039;definetint&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt;&#039;&#039;&#039;&#039;&#039; is a unique identifier, similar to [[define|defines]] and [[gamevar|gamevars]]. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are the RGB color values that are mixed together to get your custom color.&lt;br /&gt;
&lt;br /&gt;
Certain low values are already hard-coded, and redefining them will change colors of the default layout. If you know the correct value, you can replace the default colors used for &#039;&#039;&#039;all&#039;&#039;&#039; the sprites. You truly have the power to customize Mapster32. Lime green 2D mode background, anyone?&lt;br /&gt;
&lt;br /&gt;
=== spritecol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;normalcolornum&amp;gt; &amp;lt;blockingcolornum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; is a definition of the color a sprite will appear in 2D mode, instead of the standard sky blue and hot pink, or another special color (like yellow for hard-coded enemies or white for the [[Special_Sprite_Reference_Guide|special sprites]]). &#039;&#039;&#039;&amp;lt;&#039;&#039;normalcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039; is the &#039;&#039;&#039;&amp;lt;&#039;&#039;colornum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the &#039;&#039;&#039;2dcol&#039;&#039;&#039; definition of your color for the standard sprite color as defined by &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039;. The same goes for &#039;&#039;&#039;&amp;lt;&#039;&#039;blockingcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039;, except that this value is for when the sprite has the first bit of [[cstat]] set (1) (&amp;lt;code&amp;gt;[&#039;]+[B]&amp;lt;/code&amp;gt; keys in [[Mapster32]]), which is the blocking flag.&lt;br /&gt;
&lt;br /&gt;
=== spritehotkey ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritehotkey&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;key&amp;gt; &amp;lt;spriteID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pressing a key from 1 to 0 on the upper row before pressing S will make the inserted sprite&#039;s picnum change according to this definition.&lt;br /&gt;
&lt;br /&gt;
=== tilegroup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tilegroup&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;groupname&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines group for tile tile selector(Press T in the tile seletor). Mapster32 loads TILES.CFG on startup.&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ &amp;lt;tile1&amp;gt; &amp;lt;tile2&amp;gt; ... &amp;lt;tileN&amp;gt; }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds tiles to the group. Names can be found in DEFS.CON.&lt;br /&gt;
&lt;br /&gt;
==== hotkey ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hotkey&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the hotkey for the group.&lt;br /&gt;
&lt;br /&gt;
==== colors ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;colors&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Colors are the colors for Blocking OFF and Blocking ON.&lt;br /&gt;
&lt;br /&gt;
=== alphabet ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphabet&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines alphabet for the input text feature(Ctrl+T). Mapster32 loads TILES.CFG on startup.&lt;br /&gt;
&lt;br /&gt;
==== map ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;map&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== mapa ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mapa&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;string&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== maprange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;maprange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== maprangea ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;maprangea&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;char1&amp;gt; &amp;lt;char2&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== offset ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;offset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt; &amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== offseta ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;offseta&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;string&amp;gt; &amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Deprecated Commands ==&lt;br /&gt;
&lt;br /&gt;
=== definetexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;x-center&amp;gt; &amp;lt;y-center&amp;gt; &amp;lt;x-size&amp;gt; &amp;lt;y-size&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file picture. &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; may be an number, or a defined label. Use a value of 0 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and a value of -1 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-size&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-size&amp;gt;&#039;&#039;&#039;&#039;&#039; for now until these values are actually used. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; may be any PNG, JPG, TGA, BMP, GIF or PCX file.&lt;br /&gt;
&lt;br /&gt;
=== definetint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt; &amp;lt;flags&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are numbers in the range 0 to 255 which specify the color the tint should look like. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any processing effects to use. Valid values are:&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colours&lt;br /&gt;
These values can be added together to produce a combination of effects.&lt;br /&gt;
&lt;br /&gt;
=== defineskybox ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;defineskybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;reserved&amp;gt; &amp;lt;front-face-filename&amp;gt; &amp;lt;right-face-filename&amp;gt; &amp;lt;back-face-filename&amp;gt; &amp;lt;left-face-filename&amp;gt; &amp;lt;top-face-filename&amp;gt; &amp;lt;bottom-face-filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a sky-box composed of six images mapped onto the faces &lt;br /&gt;
of a cube to be used when &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; is set as parallaxing in GL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;reserved&amp;gt;&#039;&#039;&#039;&#039;&#039; should be 0 for now until its meaning is fully conceived.&lt;br /&gt;
&lt;br /&gt;
=== definemodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; &amp;lt;scale&amp;gt; &amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an MD2/3-format model file to replace certain sprites in the game. See &#039;&#039;&#039;definemodelframe&#039;&#039;&#039; and &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the MD2/3 model. &#039;&#039;&#039;&#039;&#039;&amp;lt;scale&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big. &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== definemodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command, when the sprite palette is equal to &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt;&#039;&#039;&#039;&#039;&#039;. (This makes more sense when given a demonstration.) &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. &#039;&#039;&#039;definemodel&#039;&#039;&#039; includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== selectmodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;selectmodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;skin ID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects a model skin.&lt;br /&gt;
&lt;br /&gt;
==== definemodelanim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelanim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt; &amp;lt;end-frame&amp;gt; &amp;lt;frame-rate&amp;gt; &amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model given by the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;end-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; specify the names of the starting and ending frames of the animation. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-rate&amp;gt;&#039;&#039;&#039;&#039;&#039; is the frame rate at which the animation should play. This value can be fractional. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any special properties the animation should have. Valid options are:&lt;br /&gt;
&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame)&lt;br /&gt;
&lt;br /&gt;
==== definemodelframe ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelframe&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt; &amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame of the model specified in the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the frame, which if identical to the starting frame of a &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; animation will play that animation. If &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is not corresponding with an animation, the replacement will be static. &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; specify a range of ART-file tiles which this model frame should replace.&lt;br /&gt;
&lt;br /&gt;
=== definevoxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites in the game. See &#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the .KVX file containing the voxel.&lt;br /&gt;
&lt;br /&gt;
==== definevoxeltiles ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines the range of ART-file tiles to replace with the voxel given in the last preceding &#039;&#039;&#039;definevoxel&#039;&#039;&#039; instruction.&lt;br /&gt;
&lt;br /&gt;
[[Category:All commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8213</id>
		<title>DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8213"/>
		<updated>2009-05-05T16:34:27Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New to JFDuke3D\EDuke32 are DEF files. These parsed scripts allow redefinition of flat, Hightile textures, 3D models, miscellaneous settings, and, possibly, in the future, higher-quality sounds and music, and enhanced cutscenes.&lt;br /&gt;
&lt;br /&gt;
Comments can be used by prefixing the text with a double forward-slash (C++ style), &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, or surrounding the text with &amp;lt;code&amp;gt;/* (comment here) */&amp;lt;/code&amp;gt; (C style).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
=== texture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;texture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file tile. &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039; may be a number, or a defined label.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Replaces the palette &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;. If a palette has no pal definition palette 0 definition will be used. Tint will not be used on palettes defined with this instruction.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines which texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== alphacut =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;cutoff-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the level of transparency at which a pixel in the texture is considered opaque. Pixels with more transparency than the cut-off are not drawn to the screen when rendered. The default setting is 0.32, which is just below the 33% transparency level of Build. If your texture has areas that are more transparent than the default, you can lower the cut-off level to preserve that detail.&lt;br /&gt;
&lt;br /&gt;
===== nocompress =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nocompress&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being compressed using S3TC if texture compression is enabled.&lt;br /&gt;
&lt;br /&gt;
===== nodownsize =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodownsize&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being downsized.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the scale of the hightile texture in relation to the original texture. A &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; of 1.0 makes it the same size, higher makes it cover more then the original tile and smaller makes it cover a smaller area. &#039;&#039;&#039;xscale&#039;&#039;&#039;(aka &#039;&#039;&#039;scale&#039;&#039;&#039;, &#039;&#039;&#039;detailscale&#039;&#039;&#039;, &#039;&#039;&#039;intensity&#039;&#039;&#039;) sets the horizontal scale and &#039;&#039;&#039;yscale&#039;&#039;&#039; sets the vertical scale.&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
=== tint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The palette number the tint applies to.&lt;br /&gt;
&lt;br /&gt;
==== color ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;red&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;green&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;blue&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;r&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;g&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;b&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies a color component value, in the range of 0 to 255. Unspecified components are assumed to be 255 and any out of range values are clamped to the maximum or minimum as appropriate.&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special processing effects to use for the tint. The value of flags may be the sum of any of these values:&lt;br /&gt;
&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colors&lt;br /&gt;
&lt;br /&gt;
=== skybox ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skybox that overrides a parallaxing floor or ceiling in OpenGL Polymost rendering mode. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ART file tile to override.&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the palette number the skybox should happen for.&lt;br /&gt;
&lt;br /&gt;
==== facename ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;facename&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a single face of the skybox where facename may be any of these keywords appropriate for the face in question:&lt;br /&gt;
&lt;br /&gt;
 Front	Right 	Back	Left 	Top	Bottom&lt;br /&gt;
 ft	rt	bk	lf	up	dn&lt;br /&gt;
 front	right	back	left	top 	bottom&lt;br /&gt;
 forward			lt	ceiling floor&lt;br /&gt;
 				ceil	down&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; All six faces are required to be specified.&lt;br /&gt;
&lt;br /&gt;
=== model ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;model&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a model to replace certain sprites in the game when running in OpenGL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the model file in md2 or md3 format.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; md2 is considered deprecated.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
==== shade ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;shade&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== zadd ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a height offset for the model. Quake models are aligned in the center while Build models are aligned at the floor. Using this command will allow Build to use Quake models without modification to the MD2/3 file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the model should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
*0: default value&lt;br /&gt;
*1: Prevents the the model from being affected by the tints.&lt;br /&gt;
&lt;br /&gt;
==== skin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which palette this skin maps to.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this skin should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the texture file to use for the skin. File may be any PNG, JPG, TGA, BMP, GIF or PCX file&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. the model filename includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== anim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;anim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== frame =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;frame1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        &lt;br /&gt;
Specifies the names of the start (&#039;&#039;&#039;frame0&#039;&#039;&#039;) and end (&#039;&#039;&#039;frame1&#039;&#039;&#039;) frames of the animation.&lt;br /&gt;
&lt;br /&gt;
===== fps =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fps&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;fps&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the frame rate at which the animation should play. This value may be fractional.&lt;br /&gt;
&lt;br /&gt;
===== flags =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the animation should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
&lt;br /&gt;
Valid options are:&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame).&lt;br /&gt;
&lt;br /&gt;
==== frame ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame/animation of the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== name =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039; is identical to the starting frame of an animation, the engine will play that animation, otherwise the replacement will be static. You can choose to use the &#039;&#039;&#039;frame&#039;&#039;&#039; or &#039;&#039;&#039;name&#039;&#039;&#039; versions of this instruction as both are identical.&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the tile instruction to specify an ART-file tile which this model should replace. Use the &#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; instructions together to specify a range of ART-file tiles. If you use &#039;&#039;&#039;tile0&#039;&#039;&#039;, you must also have a &#039;&#039;&#039;tile1&#039;&#039;&#039;. You may not use the same instruction twice to specify multiple ranges.&lt;br /&gt;
&lt;br /&gt;
===== smoothduration =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smoothduration&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If smoothduration is non-zero switching from another animation to the one defined by that frame block will trigger an intermediary animation smoothing state of duration &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; seconds.&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Makes the model definition exclusive for the this pal. This allow to assign different models for different pal.&lt;br /&gt;
&lt;br /&gt;
==== hud ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hud&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to use with a heads-up-display. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; together specify a range of ART-file tiles which this model frame should replace when rendered as part of the HUD. You can specify individual tiles using a single tile command.&lt;br /&gt;
    &lt;br /&gt;
===== offset =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;yadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;angadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these offsets to fine-tune the location of the model placement. &#039;&#039;&#039;xadd&#039;&#039;&#039;, &#039;&#039;&#039;yadd&#039;&#039;&#039;, and &#039;&#039;&#039;zadd&#039;&#039;&#039; are position offsets relative to the viewer&#039;s orienation. You can use floating point values with them. &#039;&#039;&#039;angadd&#039;&#039;&#039; is a Build angle offset. (512 = 90 degrees, 1024 = 180 degrees, etc...).&lt;br /&gt;
&lt;br /&gt;
===== hide =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some weapons use multiple ART tiles for constructing the gun or animation. Use this option to hide parts that you don&#039;t need in your replacement.&lt;br /&gt;
&lt;br /&gt;
===== nobob =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nobob&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default, the HUD model offset is affected by the player bobbing offset when the player is walking. Use this option to disable that.&lt;br /&gt;
&lt;br /&gt;
===== flipped =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flipped&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this option to apply the settings inside the hud block only if the object is normally rendered x-flipped (mirror image). Some weapons, such as the devastator, are rendered in 2 pieces, the left devastator is actually a mirror image of the right.&lt;br /&gt;
&lt;br /&gt;
===== nodepth =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodepth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this to render a HUD model without the use of the depth buffer. Normally, you should avoid this. The one exception where this is useful is for the spinning nuke menu pointer because it should always be in front - and it just happens to be convex ... which is the one case that is safe with the depth buffer disabled … a rather fortunate coincidence. [[Image:Smile.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this detail texture should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this glow map should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
=== voxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;voxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites. filename is the name of the .KVX file containing the voxel. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these instructions to map tiles that should be rendered as a voxels. Use &#039;&#039;&#039;tile&#039;&#039;&#039; to map a single tile to be rendered as voxels and &#039;&#039;&#039;tile0&#039;&#039;&#039;, &#039;&#039;&#039;tile1&#039;&#039;&#039; together define a range of tiles to be rendered as voxels. The &#039;&#039;&#039;tile0&#039;&#039;&#039; instruction should appear before the &#039;&#039;&#039;tile1&#039;&#039;&#039; instruction to define a correct range.&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the voxelmodel when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
=== music ===&lt;br /&gt;
&lt;br /&gt;
==== id ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is &amp;quot;Intro&amp;quot;, &amp;quot;Briefing&amp;quot;, &amp;quot;Loading&amp;quot; or &amp;quot;ExLy&amp;quot;(where x-episode, y-level).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which music file to use. File may be any MID or OGG(OpenAL is required) file.&lt;br /&gt;
&lt;br /&gt;
=== sound ===&lt;br /&gt;
&lt;br /&gt;
==== id ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ID of sound. The ID can be found in DEFS.CON.&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which music file to use. File may be any WAV,VOC,OGG(OpenAL is not required) file.&lt;br /&gt;
&lt;br /&gt;
== Un-Definitions ==&lt;br /&gt;
&lt;br /&gt;
The main use for these is for cases in which the .ART files are somewhat different, and you want to ensure compatibility for the new art without new textures or models. A good example of this is the [http://www.freewebtown.com/hendricks266/nwhrp.html Duke: Nuclear Winter HRP] by [[User:Hendricks 266|Hendricks266]]. (see undef.def)&lt;br /&gt;
&lt;br /&gt;
=== undeftexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining Hightile textures.&lt;br /&gt;
&lt;br /&gt;
==== undeftexturerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexturerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undeftexture&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== undefmodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining 3D models.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelof ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelof&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but all the tiles grouped together within the same .DEF code block are un-defined.&lt;br /&gt;
&lt;br /&gt;
Support of &#039;&#039;&#039;undefmodelof&#039;&#039;&#039; seems to be broken at this time. Using it in your .DEF files will result in crashing upon compiling.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
=== alphahack ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; is a deprecated command to improve alpha filtering of highres art of &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is always -1.&lt;br /&gt;
&lt;br /&gt;
==== alphahackrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahackrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;alphahack&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== animtilerange ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;animtilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;speed value&amp;gt; &amp;lt;animation value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Animates hightile textures the same way as 8 bit art does. Hightile art needs to be defined first.&lt;br /&gt;
&lt;br /&gt;
=== dummytile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to create a blank tile at location &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the dimensions &#039;&#039;&#039;&amp;lt;&#039;&#039;x-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;&#039;&#039;y-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039;. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
&lt;br /&gt;
==== dummytilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;dummytile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== setuptile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to setup the properties which are applied to the highres replacement of the tile. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
Unlike &#039;&#039;&#039;dummytile&#039;&#039;&#039; this command won&#039;t draw black squares and accepts the offsets.&lt;br /&gt;
&lt;br /&gt;
==== setuptilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;setuptile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== dummytilefrompic ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilefrompic&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tileID&amp;gt; &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== tilefromtexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tilefromtexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== alphacut ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== xoffset ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xoffset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;xoff&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== yoffset ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yoffset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;yoff&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;#include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Processes the script commands in &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; at the point of the &#039;&#039;&#039;include&#039;&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
=== define ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;#define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Declares &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;&#039;&#039; to represent the numeric value &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039; can be a label, in which case the value of the label given is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You may find it convenient to include DEFS.CON (for JFDuke3D) or NAMES.H to predefine many of the tile names in the art file.&lt;br /&gt;
&lt;br /&gt;
=== loadgrp ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loadgrp&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;.GRP\.ZIP file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DEF equivalent of the &#039;&#039;&#039;/g&#039;&#039;&#039; command line switch. &#039;&#039;&#039;loadgrp&#039;&#039;&#039; can only be used in the originating .DEF file; it is usually &#039;&#039;&#039;duke3d.def&#039;&#039;&#039; or the .DEF file specified by the &#039;&#039;&#039;/h&#039;&#039;&#039; command line switch.&lt;br /&gt;
&lt;br /&gt;
=== noautload ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noautload&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disables the autoload dir feature.&lt;br /&gt;
&lt;br /&gt;
=== cachesize ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cachesize&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;size&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size of the cache in Kb.&lt;br /&gt;
&lt;br /&gt;
=== fogpal ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette number&amp;gt; &amp;lt;red intensity&amp;gt; &amp;lt;green intensity&amp;gt; &amp;lt;blue intensity&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; defines a palette a sector-based fog effect. To use it, change the pal of your sector to the pal defined with &#039;&#039;&#039;fogpal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Intensities range from 0-63. Palettes 26, 27, 28 and 29 are pre-defined for you as white, red, green and blue respectively. Sector visibility controls fog density.&lt;br /&gt;
&lt;br /&gt;
== Mapster32 ==&lt;br /&gt;
&lt;br /&gt;
=== 2dcol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; is a definition of a color to be used in the 2D mode of [[Mapster32]], in conjunction with &#039;&#039;&#039;spritecol&#039;&#039;&#039; that works similarly to &#039;&#039;&#039;tint&#039;&#039;&#039; and &#039;&#039;&#039;definetint&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt;&#039;&#039;&#039;&#039;&#039; is a unique identifier, similar to [[define|defines]] and [[gamevar|gamevars]]. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are the RGB color values that are mixed together to get your custom color.&lt;br /&gt;
&lt;br /&gt;
Certain low values are already hard-coded, and redefining them will change colors of the default layout. If you know the correct value, you can replace the default colors used for &#039;&#039;&#039;all&#039;&#039;&#039; the sprites. You truly have the power to customize Mapster32. Lime green 2D mode background, anyone?&lt;br /&gt;
&lt;br /&gt;
=== spritecol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;normalcolornum&amp;gt; &amp;lt;blockingcolornum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; is a definition of the color a sprite will appear in 2D mode, instead of the standard sky blue and hot pink, or another special color (like yellow for hard-coded enemies or white for the [[Special_Sprite_Reference_Guide|special sprites]]). &#039;&#039;&#039;&amp;lt;&#039;&#039;normalcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039; is the &#039;&#039;&#039;&amp;lt;&#039;&#039;colornum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the &#039;&#039;&#039;2dcol&#039;&#039;&#039; definition of your color for the standard sprite color as defined by &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039;. The same goes for &#039;&#039;&#039;&amp;lt;&#039;&#039;blockingcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039;, except that this value is for when the sprite has the first bit of [[cstat]] set (1) (&amp;lt;code&amp;gt;[&#039;]+[B]&amp;lt;/code&amp;gt; keys in [[Mapster32]]), which is the blocking flag.&lt;br /&gt;
&lt;br /&gt;
=== spritehotkey ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritehotkey&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;key&amp;gt; &amp;lt;spriteID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pressing a key from 1 to 0 on the upper row before pressing S will make the inserted sprite&#039;s picnum change according to this definition.&lt;br /&gt;
&lt;br /&gt;
=== tilegroup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tilegroup&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;groupname&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines group for tile tile selector(Press T in the tile seletor). Mapster32 loads TILES.CFG on startup.&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ &amp;lt;tile1&amp;gt; &amp;lt;tile2&amp;gt; ... &amp;lt;tileN&amp;gt; }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds tiles to the group. Names can be found in DEFS.CON.&lt;br /&gt;
&lt;br /&gt;
==== hotkey ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hotkey&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the hotkey for the group.&lt;br /&gt;
&lt;br /&gt;
==== colors ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;colors&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Colors are the colors for Blocking OFF and Blocking ON.&lt;br /&gt;
&lt;br /&gt;
=== alphabet ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphabet&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines alphabet for the input text feature(Ctrl+T). Mapster32 loads TILES.CFG on startup.&lt;br /&gt;
&lt;br /&gt;
==== map ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;map&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== mapa ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mapa&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;string&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== maprange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;maprange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== maprangea ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;maprangea&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;char1&amp;gt; &amp;lt;char2&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== offset ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;offset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt; &amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== offseta ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;offseta&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;string&amp;gt; &amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Deprecated Commands ==&lt;br /&gt;
&lt;br /&gt;
=== definetexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;x-center&amp;gt; &amp;lt;y-center&amp;gt; &amp;lt;x-size&amp;gt; &amp;lt;y-size&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file picture. &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; may be an number, or a defined label. Use a value of 0 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and a value of -1 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-size&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-size&amp;gt;&#039;&#039;&#039;&#039;&#039; for now until these values are actually used. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; may be any PNG, JPG, TGA, BMP, GIF or PCX file.&lt;br /&gt;
&lt;br /&gt;
=== definetint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt; &amp;lt;flags&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are numbers in the range 0 to 255 which specify the color the tint should look like. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any processing effects to use. Valid values are:&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colours&lt;br /&gt;
These values can be added together to produce a combination of effects.&lt;br /&gt;
&lt;br /&gt;
=== defineskybox ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;defineskybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;reserved&amp;gt; &amp;lt;front-face-filename&amp;gt; &amp;lt;right-face-filename&amp;gt; &amp;lt;back-face-filename&amp;gt; &amp;lt;left-face-filename&amp;gt; &amp;lt;top-face-filename&amp;gt; &amp;lt;bottom-face-filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a sky-box composed of six images mapped onto the faces &lt;br /&gt;
of a cube to be used when &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; is set as parallaxing in GL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;reserved&amp;gt;&#039;&#039;&#039;&#039;&#039; should be 0 for now until its meaning is fully conceived.&lt;br /&gt;
&lt;br /&gt;
=== definemodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; &amp;lt;scale&amp;gt; &amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an MD2/3-format model file to replace certain sprites in the game. See &#039;&#039;&#039;definemodelframe&#039;&#039;&#039; and &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the MD2/3 model. &#039;&#039;&#039;&#039;&#039;&amp;lt;scale&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big. &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== definemodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command, when the sprite palette is equal to &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt;&#039;&#039;&#039;&#039;&#039;. (This makes more sense when given a demonstration.) &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. &#039;&#039;&#039;definemodel&#039;&#039;&#039; includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== selectmodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;selectmodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;skin ID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects a model skin.&lt;br /&gt;
&lt;br /&gt;
==== definemodelanim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelanim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt; &amp;lt;end-frame&amp;gt; &amp;lt;frame-rate&amp;gt; &amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model given by the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;end-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; specify the names of the starting and ending frames of the animation. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-rate&amp;gt;&#039;&#039;&#039;&#039;&#039; is the frame rate at which the animation should play. This value can be fractional. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any special properties the animation should have. Valid options are:&lt;br /&gt;
&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame)&lt;br /&gt;
&lt;br /&gt;
==== definemodelframe ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelframe&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt; &amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame of the model specified in the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the frame, which if identical to the starting frame of a &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; animation will play that animation. If &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is not corresponding with an animation, the replacement will be static. &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; specify a range of ART-file tiles which this model frame should replace.&lt;br /&gt;
&lt;br /&gt;
=== definevoxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites in the game. See &#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the .KVX file containing the voxel.&lt;br /&gt;
&lt;br /&gt;
==== definevoxeltiles ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines the range of ART-file tiles to replace with the voxel given in the last preceding &#039;&#039;&#039;definevoxel&#039;&#039;&#039; instruction.&lt;br /&gt;
&lt;br /&gt;
[[Category:All commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8212</id>
		<title>DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8212"/>
		<updated>2009-05-05T16:27:37Z</updated>

		<summary type="html">&lt;p&gt;One: dummytilefrompic, tilefromtexture, alphabet are stubs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New to JFDuke3D\EDuke32 are DEF files. These parsed scripts allow redefinition of flat, Hightile textures, 3D models, miscellaneous settings, and, possibly, in the future, higher-quality sounds and music, and enhanced cutscenes.&lt;br /&gt;
&lt;br /&gt;
Comments can be used by prefixing the text with a double forward-slash (C++ style), &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, or surrounding the text with &amp;lt;code&amp;gt;/* (comment here) */&amp;lt;/code&amp;gt; (C style).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
=== texture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;texture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file tile. &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039; may be a number, or a defined label.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Replaces the palette &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;. If a palette has no pal definition palette 0 definition will be used. Tint will not be used on palettes defined with this instruction.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines which texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== alphacut =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;cutoff-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the level of transparency at which a pixel in the texture is considered opaque. Pixels with more transparency than the cut-off are not drawn to the screen when rendered. The default setting is 0.32, which is just below the 33% transparency level of Build. If your texture has areas that are more transparent than the default, you can lower the cut-off level to preserve that detail.&lt;br /&gt;
&lt;br /&gt;
===== nocompress =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nocompress&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being compressed using S3TC if texture compression is enabled.&lt;br /&gt;
&lt;br /&gt;
===== nodownsize =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodownsize&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being downsized.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the scale of the hightile texture in relation to the original texture. A &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; of 1.0 makes it the same size, higher makes it cover more then the original tile and smaller makes it cover a smaller area. &#039;&#039;&#039;xscale&#039;&#039;&#039;(aka &#039;&#039;&#039;scale&#039;&#039;&#039;, &#039;&#039;&#039;detailscale&#039;&#039;&#039;, &#039;&#039;&#039;intensity&#039;&#039;&#039;) sets the horizontal scale and &#039;&#039;&#039;yscale&#039;&#039;&#039; sets the vertical scale.&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
=== tint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The palette number the tint applies to.&lt;br /&gt;
&lt;br /&gt;
==== color ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;red&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;green&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;blue&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;r&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies a color component value, in the range of 0 to 255. Unspecified components are assumed to be 255 and any out of range values are clamped to the maximum or minimum as appropriate.&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special processing effects to use for the tint. The value of flags may be the sum of any of these values:&lt;br /&gt;
&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colors&lt;br /&gt;
&lt;br /&gt;
=== skybox ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skybox that overrides a parallaxing floor or ceiling in OpenGL Polymost rendering mode. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ART file tile to override.&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the palette number the skybox should happen for.&lt;br /&gt;
&lt;br /&gt;
==== facename ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;facename&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a single face of the skybox where facename may be any of these keywords appropriate for the face in question:&lt;br /&gt;
&lt;br /&gt;
 Front	Right 	Back	Left 	Top	Bottom&lt;br /&gt;
 ft	rt	bk	lf	up	dn&lt;br /&gt;
 front	right	back	left	top 	bottom&lt;br /&gt;
 forward			lt	ceiling floor&lt;br /&gt;
 				ceil	down&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; All six faces are required to be specified.&lt;br /&gt;
&lt;br /&gt;
=== model ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;model&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a model to replace certain sprites in the game when running in OpenGL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the model file in md2 or md3 format.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; md2 is considered deprecated.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
==== shade ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;shade&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== zadd ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a height offset for the model. Quake models are aligned in the center while Build models are aligned at the floor. Using this command will allow Build to use Quake models without modification to the MD2/3 file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the model should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
*0: default value&lt;br /&gt;
*1: Prevents the the model from being affected by the tints.&lt;br /&gt;
&lt;br /&gt;
==== skin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which palette this skin maps to.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this skin should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the texture file to use for the skin. File may be any PNG, JPG, TGA, BMP, GIF or PCX file&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. the model filename includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== anim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;anim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== frame =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        &lt;br /&gt;
Specifies the names of the start (&#039;&#039;&#039;frame0&#039;&#039;&#039;) and end (&#039;&#039;&#039;frame1&#039;&#039;&#039;) frames of the animation.&lt;br /&gt;
&lt;br /&gt;
===== fps =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fps&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;fps&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the frame rate at which the animation should play. This value may be fractional.&lt;br /&gt;
&lt;br /&gt;
===== flags =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the animation should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
&lt;br /&gt;
Valid options are:&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame).&lt;br /&gt;
&lt;br /&gt;
==== frame ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame/animation of the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== name =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039; is identical to the starting frame of an animation, the engine will play that animation, otherwise the replacement will be static. You can choose to use the &#039;&#039;&#039;frame&#039;&#039;&#039; or &#039;&#039;&#039;name&#039;&#039;&#039; versions of this instruction as both are identical.&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the tile instruction to specify an ART-file tile which this model should replace. Use the &#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; instructions together to specify a range of ART-file tiles. If you use &#039;&#039;&#039;tile0&#039;&#039;&#039;, you must also have a &#039;&#039;&#039;tile1&#039;&#039;&#039;. You may not use the same instruction twice to specify multiple ranges.&lt;br /&gt;
&lt;br /&gt;
===== smoothduration =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smoothduration&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If smoothduration is non-zero switching from another animation to the one defined by that frame block will trigger an intermediary animation smoothing state of duration &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; seconds.&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Makes the model definition exclusive for the this pal. This allow to assign different models for different pal.&lt;br /&gt;
&lt;br /&gt;
==== hud ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hud&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to use with a heads-up-display. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; together specify a range of ART-file tiles which this model frame should replace when rendered as part of the HUD. You can specify individual tiles using a single tile command.&lt;br /&gt;
    &lt;br /&gt;
===== offset =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;angadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these offsets to fine-tune the location of the model placement. &#039;&#039;&#039;xadd&#039;&#039;&#039;, &#039;&#039;&#039;yadd&#039;&#039;&#039;, and &#039;&#039;&#039;zadd&#039;&#039;&#039; are position offsets relative to the viewer&#039;s orienation. You can use floating point values with them. &#039;&#039;&#039;angadd&#039;&#039;&#039; is a Build angle offset. (512 = 90 degrees, 1024 = 180 degrees, etc...).&lt;br /&gt;
&lt;br /&gt;
===== hide =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some weapons use multiple ART tiles for constructing the gun or animation. Use this option to hide parts that you don&#039;t need in your replacement.&lt;br /&gt;
&lt;br /&gt;
===== nobob =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nobob&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default, the HUD model offset is affected by the player bobbing offset when the player is walking. Use this option to disable that.&lt;br /&gt;
&lt;br /&gt;
===== flipped =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flipped&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this option to apply the settings inside the hud block only if the object is normally rendered x-flipped (mirror image). Some weapons, such as the devastator, are rendered in 2 pieces, the left devastator is actually a mirror image of the right.&lt;br /&gt;
&lt;br /&gt;
===== nodepth =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodepth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this to render a HUD model without the use of the depth buffer. Normally, you should avoid this. The one exception where this is useful is for the spinning nuke menu pointer because it should always be in front - and it just happens to be convex ... which is the one case that is safe with the depth buffer disabled … a rather fortunate coincidence. [[Image:Smile.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this detail texture should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this glow map should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
=== voxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;voxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites. filename is the name of the .KVX file containing the voxel. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these instructions to map tiles that should be rendered as a voxels. Use &#039;&#039;&#039;tile&#039;&#039;&#039; to map a single tile to be rendered as voxels and &#039;&#039;&#039;tile0&#039;&#039;&#039;, &#039;&#039;&#039;tile1&#039;&#039;&#039; together define a range of tiles to be rendered as voxels. The &#039;&#039;&#039;tile0&#039;&#039;&#039; instruction should appear before the &#039;&#039;&#039;tile1&#039;&#039;&#039; instruction to define a correct range.&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the voxelmodel when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
=== music ===&lt;br /&gt;
&lt;br /&gt;
==== id ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is &amp;quot;Intro&amp;quot;, &amp;quot;Briefing&amp;quot;, &amp;quot;Loading&amp;quot; or &amp;quot;ExLy&amp;quot;(where x-episode, y-level).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which music file to use. File may be any MID or OGG(OpenAL is required) file.&lt;br /&gt;
&lt;br /&gt;
=== sound ===&lt;br /&gt;
&lt;br /&gt;
==== id ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;id&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ID of sound. The ID can be found in DEFS.CON.&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which music file to use. File may be any WAV,VOC,OGG(OpenAL is not required) file.&lt;br /&gt;
&lt;br /&gt;
== Un-Definitions ==&lt;br /&gt;
&lt;br /&gt;
The main use for these is for cases in which the .ART files are somewhat different, and you want to ensure compatibility for the new art without new textures or models. A good example of this is the [http://www.freewebtown.com/hendricks266/nwhrp.html Duke: Nuclear Winter HRP] by [[User:Hendricks 266|Hendricks266]]. (see undef.def)&lt;br /&gt;
&lt;br /&gt;
=== undeftexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining Hightile textures.&lt;br /&gt;
&lt;br /&gt;
==== undeftexturerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexturerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undeftexture&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== undefmodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining 3D models.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelof ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelof&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but all the tiles grouped together within the same .DEF code block are un-defined.&lt;br /&gt;
&lt;br /&gt;
Support of &#039;&#039;&#039;undefmodelof&#039;&#039;&#039; seems to be broken at this time. Using it in your .DEF files will result in crashing upon compiling.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
=== alphahack ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; is a deprecated command to improve alpha filtering of highres art of &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is always -1.&lt;br /&gt;
&lt;br /&gt;
==== alphahackrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahackrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;alphahack&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== animtilerange ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;animtilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;speed value&amp;gt; &amp;lt;animation value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Animates hightile textures the same way as 8 bit art does. Hightile art needs to be defined first.&lt;br /&gt;
&lt;br /&gt;
=== dummytile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to create a blank tile at location &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the dimensions &#039;&#039;&#039;&amp;lt;&#039;&#039;x-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;&#039;&#039;y-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039;. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
&lt;br /&gt;
==== dummytilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;dummytile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== setuptile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to setup the properties which are applied to the highres replacement of the tile. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
Unlike &#039;&#039;&#039;dummytile&#039;&#039;&#039; this command won&#039;t draw black squares and accepts the offsets.&lt;br /&gt;
&lt;br /&gt;
==== setuptilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;setuptile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== dummytilefrompic ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilefrompic&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tileID&amp;gt; &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== tilefromtexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tilefromtexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== file ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== alphacut ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== xoffset ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xoffset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;xoff&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== yoffset ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yoffset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;yoff&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;#include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Processes the script commands in &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; at the point of the &#039;&#039;&#039;include&#039;&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
=== define ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;#define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Declares &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;&#039;&#039; to represent the numeric value &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039; can be a label, in which case the value of the label given is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You may find it convenient to include DEFS.CON (for JFDuke3D) or NAMES.H to predefine many of the tile names in the art file.&lt;br /&gt;
&lt;br /&gt;
=== loadgrp ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loadgrp&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;.GRP\.ZIP file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DEF equivalent of the &#039;&#039;&#039;/g&#039;&#039;&#039; command line switch. &#039;&#039;&#039;loadgrp&#039;&#039;&#039; can only be used in the originating .DEF file; it is usually &#039;&#039;&#039;duke3d.def&#039;&#039;&#039; or the .DEF file specified by the &#039;&#039;&#039;/h&#039;&#039;&#039; command line switch.&lt;br /&gt;
&lt;br /&gt;
=== noautload ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;noautload&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disables the autoload dir feature.&lt;br /&gt;
&lt;br /&gt;
=== cachesize ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cachesize&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;size&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size of the cache in Kb.&lt;br /&gt;
&lt;br /&gt;
=== fogpal ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette number&amp;gt; &amp;lt;red intensity&amp;gt; &amp;lt;green intensity&amp;gt; &amp;lt;blue intensity&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; defines a palette a sector-based fog effect. To use it, change the pal of your sector to the pal defined with &#039;&#039;&#039;fogpal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Intensities range from 0-63. Palettes 26, 27, 28 and 29 are pre-defined for you as white, red, green and blue respectively. Sector visibility controls fog density.&lt;br /&gt;
&lt;br /&gt;
== Mapster32 ==&lt;br /&gt;
&lt;br /&gt;
=== 2dcol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; is a definition of a color to be used in the 2D mode of [[Mapster32]], in conjunction with &#039;&#039;&#039;spritecol&#039;&#039;&#039; that works similarly to &#039;&#039;&#039;tint&#039;&#039;&#039; and &#039;&#039;&#039;definetint&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt;&#039;&#039;&#039;&#039;&#039; is a unique identifier, similar to [[define|defines]] and [[gamevar|gamevars]]. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are the RGB color values that are mixed together to get your custom color.&lt;br /&gt;
&lt;br /&gt;
Certain low values are already hard-coded, and redefining them will change colors of the default layout. If you know the correct value, you can replace the default colors used for &#039;&#039;&#039;all&#039;&#039;&#039; the sprites. You truly have the power to customize Mapster32. Lime green 2D mode background, anyone?&lt;br /&gt;
&lt;br /&gt;
=== spritecol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;normalcolornum&amp;gt; &amp;lt;blockingcolornum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; is a definition of the color a sprite will appear in 2D mode, instead of the standard sky blue and hot pink, or another special color (like yellow for hard-coded enemies or white for the [[Special_Sprite_Reference_Guide|special sprites]]). &#039;&#039;&#039;&amp;lt;&#039;&#039;normalcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039; is the &#039;&#039;&#039;&amp;lt;&#039;&#039;colornum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the &#039;&#039;&#039;2dcol&#039;&#039;&#039; definition of your color for the standard sprite color as defined by &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039;. The same goes for &#039;&#039;&#039;&amp;lt;&#039;&#039;blockingcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039;, except that this value is for when the sprite has the first bit of [[cstat]] set (1) (&amp;lt;code&amp;gt;[&#039;]+[B]&amp;lt;/code&amp;gt; keys in [[Mapster32]]), which is the blocking flag.&lt;br /&gt;
&lt;br /&gt;
=== spritehotkey ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritehotkey&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;key&amp;gt; &amp;lt;spriteID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pressing a key from 1 to 0 on the upper row before pressing S will make the inserted sprite&#039;s picnum change according to this definition.&lt;br /&gt;
&lt;br /&gt;
=== tilegroup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tilegroup&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;groupname&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines group for tile tile selector(Press T in the tile seletor). Mapster32 loads TILES.CFG on startup.&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt;&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;tiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ &amp;lt;tile1&amp;gt; &amp;lt;tile2&amp;gt; ... &amp;lt;tileN&amp;gt; }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adds tiles to the group. Names can be found in DEFS.CON.&lt;br /&gt;
&lt;br /&gt;
==== hotkey ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hotkey&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the hotkey for the group.&lt;br /&gt;
&lt;br /&gt;
==== colors ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;colors&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Colors are the colors for Blocking OFF and Blocking ON.&lt;br /&gt;
&lt;br /&gt;
=== alphabet ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphabet&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines alphabet for the input text feature(Ctrl+T). Mapster32 loads TILES.CFG on startup.&lt;br /&gt;
&lt;br /&gt;
==== map ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;map&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== mapa ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mapa&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;string&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== maprange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;maprange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== maprangea ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;maprangea&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;char1&amp;gt; &amp;lt;char2&amp;gt; &amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== offset ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;offset&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt; &amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== offseta ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;offseta&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;string&amp;gt; &amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Deprecated Commands ==&lt;br /&gt;
&lt;br /&gt;
=== definetexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;x-center&amp;gt; &amp;lt;y-center&amp;gt; &amp;lt;x-size&amp;gt; &amp;lt;y-size&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file picture. &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; may be an number, or a defined label. Use a value of 0 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and a value of -1 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-size&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-size&amp;gt;&#039;&#039;&#039;&#039;&#039; for now until these values are actually used. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; may be any PNG, JPG, TGA, BMP, GIF or PCX file.&lt;br /&gt;
&lt;br /&gt;
=== definetint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt; &amp;lt;flags&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are numbers in the range 0 to 255 which specify the color the tint should look like. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any processing effects to use. Valid values are:&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colours&lt;br /&gt;
These values can be added together to produce a combination of effects.&lt;br /&gt;
&lt;br /&gt;
=== defineskybox ===&lt;br /&gt;
&#039;&#039;&#039;defineskybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;reserved&amp;gt; &amp;lt;front-face-filename&amp;gt; &amp;lt;right-face-filename&amp;gt; &amp;lt;back-face-filename&amp;gt; &amp;lt;left-face-filename&amp;gt; &amp;lt;top-face-filename&amp;gt; &amp;lt;bottom-face-filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a sky-box composed of six images mapped onto the faces &lt;br /&gt;
of a cube to be used when &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; is set as parallaxing in GL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;reserved&amp;gt;&#039;&#039;&#039;&#039;&#039; should be 0 for now until its meaning is fully conceived.&lt;br /&gt;
&lt;br /&gt;
=== definemodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; &amp;lt;scale&amp;gt; &amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an MD2/3-format model file to replace certain sprites in the game. See &#039;&#039;&#039;definemodelframe&#039;&#039;&#039; and &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the MD2/3 model. &#039;&#039;&#039;&#039;&#039;&amp;lt;scale&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big. &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== definemodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command, when the sprite palette is equal to &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt;&#039;&#039;&#039;&#039;&#039;. (This makes more sense when given a demonstration.) &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. &#039;&#039;&#039;definemodel&#039;&#039;&#039; includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== selectmodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;selectmodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;skin ID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects a model skin.&lt;br /&gt;
&lt;br /&gt;
==== definemodelanim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelanim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt; &amp;lt;end-frame&amp;gt; &amp;lt;frame-rate&amp;gt; &amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model given by the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;end-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; specify the names of the starting and ending frames of the animation. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-rate&amp;gt;&#039;&#039;&#039;&#039;&#039; is the frame rate at which the animation should play. This value can be fractional. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any special properties the animation should have. Valid options are:&lt;br /&gt;
&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame)&lt;br /&gt;
&lt;br /&gt;
==== definemodelframe ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelframe&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt; &amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame of the model specified in the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the frame, which if identical to the starting frame of a &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; animation will play that animation. If &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is not corresponding with an animation, the replacement will be static. &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; specify a range of ART-file tiles which this model frame should replace.&lt;br /&gt;
&lt;br /&gt;
=== definevoxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites in the game. See &#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the .KVX file containing the voxel.&lt;br /&gt;
&lt;br /&gt;
==== definevoxeltiles ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines the range of ART-file tiles to replace with the voxel given in the last preceding &#039;&#039;&#039;definevoxel&#039;&#039;&#039; instruction.&lt;br /&gt;
&lt;br /&gt;
[[Category:All commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8211</id>
		<title>DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8211"/>
		<updated>2009-05-05T15:09:21Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New to JFDuke3D\EDuke32 are DEF files. These parsed scripts allow redefinition of flat, Hightile textures, 3D models, miscellaneous settings, and, possibly, in the future, higher-quality sounds and music, and enhanced cutscenes.&lt;br /&gt;
&lt;br /&gt;
Comments can be used by prefixing the text with a double forward-slash (C++ style), &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, or surrounding the text with &amp;lt;code&amp;gt;/* (comment here) */&amp;lt;/code&amp;gt; (C style).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
=== texture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;texture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file tile. &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039; may be a number, or a defined label.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Replaces the palette &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;. If a palette has no pal definition palette 0 definition will be used. Tint will not be used on palettes defined with this instruction.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines which texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== alphacut =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;cutoff-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the level of transparency at which a pixel in the texture is considered opaque. Pixels with more transparency than the cut-off are not drawn to the screen when rendered. The default setting is 0.32, which is just below the 33% transparency level of Build. If your texture has areas that are more transparent than the default, you can lower the cut-off level to preserve that detail.&lt;br /&gt;
&lt;br /&gt;
===== nocompress =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nocompress&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being compressed using S3TC if texture compression is enabled.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the scale of the hightile texture in relation to the original texture. A &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; of 1.0 makes it the same size, higher makes it cover more then the original tile and smaller makes it cover a smaller area. &#039;&#039;&#039;xscale&#039;&#039;&#039; sets the horizontal scale and &#039;&#039;&#039;yscale&#039;&#039;&#039; sets the vertical scale.&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
=== tint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The palette number the tint applies to.&lt;br /&gt;
&lt;br /&gt;
==== color ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;red&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;green&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;blue&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;r&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies a color component value, in the range of 0 to 255. Unspecified components are assumed to be 255 and any out of range values are clamped to the maximum or minimum as appropriate.&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special processing effects to use for the tint. The value of flags may be the sum of any of these values:&lt;br /&gt;
&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colors&lt;br /&gt;
&lt;br /&gt;
=== skybox ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skybox that overrides a parallaxing floor or ceiling in OpenGL Polymost rendering mode. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ART file tile to override.&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the palette number the skybox should happen for.&lt;br /&gt;
&lt;br /&gt;
==== facename ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;facename&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a single face of the skybox where facename may be any of these keywords appropriate for the face in question:&lt;br /&gt;
&lt;br /&gt;
 Front	Right 	Back	Left 	Top	Bottom&lt;br /&gt;
 ft	rt	bk	lf	up	dn&lt;br /&gt;
 front	right	back	left	top 	bottom&lt;br /&gt;
 forward			lt	ceiling floor&lt;br /&gt;
 				ceil	down&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; All six faces are required to be specified.&lt;br /&gt;
&lt;br /&gt;
=== model ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;model&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a model to replace certain sprites in the game when running in OpenGL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the model file in md2 or md3 format.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; md2 is considered deprecated.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
==== shade ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;shade&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== zadd ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a height offset for the model. Quake models are aligned in the center while Build models are aligned at the floor. Using this command will allow Build to use Quake models without modification to the MD2/3 file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the model should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
*0: default value&lt;br /&gt;
*1: Prevents the the model from being affected by the tints.&lt;br /&gt;
&lt;br /&gt;
==== skin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which palette this skin maps to.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this skin should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the texture file to use for the skin. File may be any PNG, JPG, TGA, BMP, GIF or PCX file&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. the model filename includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== anim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;anim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== frame =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        &lt;br /&gt;
Specifies the names of the start (&#039;&#039;&#039;frame0&#039;&#039;&#039;) and end (&#039;&#039;&#039;frame1&#039;&#039;&#039;) frames of the animation.&lt;br /&gt;
&lt;br /&gt;
===== fps =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fps&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;fps&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the frame rate at which the animation should play. This value may be fractional.&lt;br /&gt;
&lt;br /&gt;
===== flags =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the animation should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
&lt;br /&gt;
Valid options are:&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame).&lt;br /&gt;
&lt;br /&gt;
==== frame ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame/animation of the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== name =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039; is identical to the starting frame of an animation, the engine will play that animation, otherwise the replacement will be static. You can choose to use the &#039;&#039;&#039;frame&#039;&#039;&#039; or &#039;&#039;&#039;name&#039;&#039;&#039; versions of this instruction as both are identical.&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the tile instruction to specify an ART-file tile which this model should replace. Use the &#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; instructions together to specify a range of ART-file tiles. If you use &#039;&#039;&#039;tile0&#039;&#039;&#039;, you must also have a &#039;&#039;&#039;tile1&#039;&#039;&#039;. You may not use the same instruction twice to specify multiple ranges.&lt;br /&gt;
&lt;br /&gt;
===== smoothduration =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smoothduration&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If smoothduration is non-zero switching from another animation to the one defined by that frame block will trigger an intermediary animation smoothing state of duration &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; seconds.&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Makes the model definition exclusive for the this pal. This allow to assign different models for different pal.&lt;br /&gt;
&lt;br /&gt;
==== hud ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hud&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to use with a heads-up-display. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; together specify a range of ART-file tiles which this model frame should replace when rendered as part of the HUD. You can specify individual tiles using a single tile command.&lt;br /&gt;
    &lt;br /&gt;
===== offset =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;angadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these offsets to fine-tune the location of the model placement. &#039;&#039;&#039;xadd&#039;&#039;&#039;, &#039;&#039;&#039;yadd&#039;&#039;&#039;, and &#039;&#039;&#039;zadd&#039;&#039;&#039; are position offsets relative to the viewer&#039;s orienation. You can use floating point values with them. &#039;&#039;&#039;angadd&#039;&#039;&#039; is a Build angle offset. (512 = 90 degrees, 1024 = 180 degrees, etc...).&lt;br /&gt;
&lt;br /&gt;
===== hide =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some weapons use multiple ART tiles for constructing the gun or animation. Use this option to hide parts that you don&#039;t need in your replacement.&lt;br /&gt;
&lt;br /&gt;
===== nobob =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nobob&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default, the HUD model offset is affected by the player bobbing offset when the player is walking. Use this option to disable that.&lt;br /&gt;
&lt;br /&gt;
===== flipped =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flipped&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this option to apply the settings inside the hud block only if the object is normally rendered x-flipped (mirror image). Some weapons, such as the devastator, are rendered in 2 pieces, the left devastator is actually a mirror image of the right.&lt;br /&gt;
&lt;br /&gt;
===== nodepth =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodepth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this to render a HUD model without the use of the depth buffer. Normally, you should avoid this. The one exception where this is useful is for the spinning nuke menu pointer because it should always be in front - and it just happens to be convex ... which is the one case that is safe with the depth buffer disabled … a rather fortunate coincidence. [[Image:Smile.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== detail ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this detail texture should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
==== glow ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this glow map should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
=== voxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;voxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites. filename is the name of the .KVX file containing the voxel. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these instructions to map tiles that should be rendered as a voxels. Use &#039;&#039;&#039;tile&#039;&#039;&#039; to map a single tile to be rendered as voxels and &#039;&#039;&#039;tile0&#039;&#039;&#039;, &#039;&#039;&#039;tile1&#039;&#039;&#039; together define a range of tiles to be rendered as voxels. The &#039;&#039;&#039;tile0&#039;&#039;&#039; instruction should appear before the &#039;&#039;&#039;tile1&#039;&#039;&#039; instruction to define a correct range.&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the voxelmodel when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
== Un-Definitions ==&lt;br /&gt;
&lt;br /&gt;
The main use for these is for cases in which the .ART files are somewhat different, and you want to ensure compatibility for the new art without new textures or models. A good example of this is the [http://www.freewebtown.com/hendricks266/nwhrp.html Duke: Nuclear Winter HRP] by [[User:Hendricks 266|Hendricks266]]. (see undef.def)&lt;br /&gt;
&lt;br /&gt;
=== undeftexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining Hightile textures.&lt;br /&gt;
&lt;br /&gt;
==== undeftexturerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexturerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undeftexture&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== undefmodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining 3D models.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelof ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelof&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but all the tiles grouped together within the same .DEF code block are un-defined.&lt;br /&gt;
&lt;br /&gt;
Support of &#039;&#039;&#039;undefmodelof&#039;&#039;&#039; seems to be broken at this time. Using it in your .DEF files will result in crashing upon compiling.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
=== alphahack ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; is a deprecated command to improve alpha filtering of highres art of &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is always -1.&lt;br /&gt;
&lt;br /&gt;
==== alphahackrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahackrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;alphahack&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== animtilerange ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;animtilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;speed value&amp;gt; &amp;lt;animation value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Animates hightile textures the same way as 8 bit art does. Hightile art needs to be defined first.&lt;br /&gt;
&lt;br /&gt;
=== dummytile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to create a blank tile at location &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the dimensions &#039;&#039;&#039;&amp;lt;&#039;&#039;x-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;&#039;&#039;y-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039;. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
&lt;br /&gt;
==== dummytilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;dummytile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== setuptile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to setup the properties which are applied to the highres replacement of the tile. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
Unlike &#039;&#039;&#039;dummytile&#039;&#039;&#039; this command won&#039;t draw black squares and accepts the offsets.&lt;br /&gt;
&lt;br /&gt;
==== setuptilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;setuptile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;#include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Processes the script commands in &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; at the point of the &#039;&#039;&#039;include&#039;&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
=== define ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;#define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Declares &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;&#039;&#039; to represent the numeric value &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039; can be a label, in which case the value of the label given is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You may find it convenient to include DEFS.CON (for JFDuke3D) or NAMES.H to predefine many of the tile names in the art file.&lt;br /&gt;
&lt;br /&gt;
=== loadgrp ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loadgrp&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;.GRP\.ZIP file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DEF equivalent of the &#039;&#039;&#039;/g&#039;&#039;&#039; command line switch. &#039;&#039;&#039;loadgrp&#039;&#039;&#039; can only be used in the originating .DEF file; it is usually &#039;&#039;&#039;duke3d.def&#039;&#039;&#039; or the .DEF file specified by the &#039;&#039;&#039;/h&#039;&#039;&#039; command line switch.&lt;br /&gt;
&lt;br /&gt;
=== cachesize ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cachesize&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;size&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size of the cache in Kb.&lt;br /&gt;
&lt;br /&gt;
=== fogpal ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette number&amp;gt; &amp;lt;red intensity&amp;gt; &amp;lt;green intensity&amp;gt; &amp;lt;blue intensity&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; defines a palette a sector-based fog effect. To use it, change the pal of your sector to the pal defined with &#039;&#039;&#039;fogpal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Intensities range from 0-63. Palettes 26, 27, 28 and 29 are pre-defined for you as white, red, green and blue respectively. Sector visibility controls fog density.&lt;br /&gt;
&lt;br /&gt;
== Mapster32 ==&lt;br /&gt;
&lt;br /&gt;
=== 2dcol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; is a definition of a color to be used in the 2D mode of [[Mapster32]], in conjunction with &#039;&#039;&#039;spritecol&#039;&#039;&#039; that works similarly to &#039;&#039;&#039;tint&#039;&#039;&#039; and &#039;&#039;&#039;definetint&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt;&#039;&#039;&#039;&#039;&#039; is a unique identifier, similar to [[define|defines]] and [[gamevar|gamevars]]. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are the RGB color values that are mixed together to get your custom color.&lt;br /&gt;
&lt;br /&gt;
Certain low values are already hard-coded, and redefining them will change colors of the default layout. If you know the correct value, you can replace the default colors used for &#039;&#039;&#039;all&#039;&#039;&#039; the sprites. You truly have the power to customize Mapster32. Lime green 2D mode background, anyone?&lt;br /&gt;
&lt;br /&gt;
=== spritecol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;normalcolornum&amp;gt; &amp;lt;blockingcolornum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; is a definition of the color a sprite will appear in 2D mode, instead of the standard sky blue and hot pink, or another special color (like yellow for hard-coded enemies or white for the [[Special_Sprite_Reference_Guide|special sprites]]). &#039;&#039;&#039;&amp;lt;&#039;&#039;normalcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039; is the &#039;&#039;&#039;&amp;lt;&#039;&#039;colornum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the &#039;&#039;&#039;2dcol&#039;&#039;&#039; definition of your color for the standard sprite color as defined by &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039;. The same goes for &#039;&#039;&#039;&amp;lt;&#039;&#039;blockingcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039;, except that this value is for when the sprite has the first bit of [[cstat]] set (1) (&amp;lt;code&amp;gt;[&#039;]+[B]&amp;lt;/code&amp;gt; keys in [[Mapster32]]), which is the blocking flag.&lt;br /&gt;
&lt;br /&gt;
== Deprecated Commands ==&lt;br /&gt;
&lt;br /&gt;
=== definetexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;x-center&amp;gt; &amp;lt;y-center&amp;gt; &amp;lt;x-size&amp;gt; &amp;lt;y-size&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file picture. &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; may be an number, or a defined label. Use a value of 0 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and a value of -1 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-size&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-size&amp;gt;&#039;&#039;&#039;&#039;&#039; for now until these values are actually used. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; may be any PNG, JPG, TGA, BMP, GIF or PCX file.&lt;br /&gt;
&lt;br /&gt;
=== definetint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt; &amp;lt;flags&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are numbers in the range 0 to 255 which specify the color the tint should look like. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any processing effects to use. Valid values are:&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colours&lt;br /&gt;
These values can be added together to produce a combination of effects.&lt;br /&gt;
&lt;br /&gt;
=== defineskybox ===&lt;br /&gt;
&#039;&#039;&#039;defineskybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;reserved&amp;gt; &amp;lt;front-face-filename&amp;gt; &amp;lt;right-face-filename&amp;gt; &amp;lt;back-face-filename&amp;gt; &amp;lt;left-face-filename&amp;gt; &amp;lt;top-face-filename&amp;gt; &amp;lt;bottom-face-filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a sky-box composed of six images mapped onto the faces &lt;br /&gt;
of a cube to be used when &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; is set as parallaxing in GL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;reserved&amp;gt;&#039;&#039;&#039;&#039;&#039; should be 0 for now until its meaning is fully conceived.&lt;br /&gt;
&lt;br /&gt;
=== definemodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; &amp;lt;scale&amp;gt; &amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an MD2/3-format model file to replace certain sprites in the game. See &#039;&#039;&#039;definemodelframe&#039;&#039;&#039; and &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the MD2/3 model. &#039;&#039;&#039;&#039;&#039;&amp;lt;scale&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big. &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== definemodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command, when the sprite palette is equal to &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt;&#039;&#039;&#039;&#039;&#039;. (This makes more sense when given a demonstration.) &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. &#039;&#039;&#039;definemodel&#039;&#039;&#039; includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== selectmodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;selectmodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;skin ID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects a model skin.&lt;br /&gt;
&lt;br /&gt;
==== definemodelanim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelanim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt; &amp;lt;end-frame&amp;gt; &amp;lt;frame-rate&amp;gt; &amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model given by the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;end-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; specify the names of the starting and ending frames of the animation. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-rate&amp;gt;&#039;&#039;&#039;&#039;&#039; is the frame rate at which the animation should play. This value can be fractional. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any special properties the animation should have. Valid options are:&lt;br /&gt;
&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame)&lt;br /&gt;
&lt;br /&gt;
==== definemodelframe ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelframe&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt; &amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame of the model specified in the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the frame, which if identical to the starting frame of a &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; animation will play that animation. If &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is not corresponding with an animation, the replacement will be static. &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; specify a range of ART-file tiles which this model frame should replace.&lt;br /&gt;
&lt;br /&gt;
=== definevoxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites in the game. See &#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the .KVX file containing the voxel.&lt;br /&gt;
&lt;br /&gt;
==== definevoxeltiles ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines the range of ART-file tiles to replace with the voxel given in the last preceding &#039;&#039;&#039;definevoxel&#039;&#039;&#039; instruction.&lt;br /&gt;
&lt;br /&gt;
[[Category:All commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8210</id>
		<title>DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=8210"/>
		<updated>2009-05-05T08:24:50Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New to JFDuke3D\EDuke32 are DEF files. These parsed scripts allow redefinition of flat, Hightile textures, 3D models, miscellaneous settings, and, possibly, in the future, higher-quality sounds and music, and enhanced cutscenes.&lt;br /&gt;
&lt;br /&gt;
Comments can be used by prefixing the text with a double forward-slash (C++ style), &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, or surrounding the text with &amp;lt;code&amp;gt;/* (comment here) */&amp;lt;/code&amp;gt; (C style).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;floatleft&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Preferred Commands ==&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;#include&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Processes the script commands in &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; at the point of the &#039;&#039;&#039;include&#039;&#039;&#039; call.&lt;br /&gt;
&lt;br /&gt;
=== define ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;#define&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Declares &#039;&#039;&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;&#039;&#039; to represent the numeric value &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;integer-value&amp;gt;&#039;&#039;&#039;&#039;&#039; can be a label, in which case the value of the label given is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You may find it convenient to include DEFS.CON (for JFDuke3D) or NAMES.H to predefine many of the tile names in the art file.&lt;br /&gt;
&lt;br /&gt;
=== texture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;texture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file tile. &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039; may be a number, or a defined label.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Replaces the palette &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;. If a palette has no pal definition palette 0 definition will be used. Tint will not be used on palettes defined with this instruction.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines which texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== alphacut =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphacut&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;cutoff-value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the level of transparency at which a pixel in the texture is considered opaque. Pixels with more transparency than the cut-off are not drawn to the screen when rendered. The default setting is 0.32, which is just below the 33% transparency level of Build. If your texture has areas that are more transparent than the default, you can lower the cut-off level to preserve that detail.&lt;br /&gt;
&lt;br /&gt;
===== nocompress =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nocompress&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prevents the texture from being compressed using S3TC if texture compression is enabled.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yscale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets the scale of the hightile texture in relation to the original texture. A &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; of 1.0 makes it the same size, higher makes it cover more then the original tile and smaller makes it cover a smaller area. &#039;&#039;&#039;xscale&#039;&#039;&#039; sets the horizontal scale and &#039;&#039;&#039;yscale&#039;&#039;&#039; sets the vertical scale.&lt;br /&gt;
&lt;br /&gt;
==== detail (EDuke32-Native)====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{...}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
==== glow (EDuke32-Native) ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{...}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the texture. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
=== tint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The palette number the tint applies to.&lt;br /&gt;
&lt;br /&gt;
==== color ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;red&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;green&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;blue&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;r&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;g&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies a color component value, in the range of 0 to 255. Unspecified components are assumed to be 255 and any out of range values are clamped to the maximum or minimum as appropriate.&lt;br /&gt;
&lt;br /&gt;
==== flags ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special processing effects to use for the tint. The value of flags may be the sum of any of these values:&lt;br /&gt;
&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colors&lt;br /&gt;
&lt;br /&gt;
=== skybox ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skybox that overrides a parallaxing floor or ceiling in OpenGL Polymost rendering mode. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the ART file tile to override.&lt;br /&gt;
&lt;br /&gt;
==== pal ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the palette number the skybox should happen for.&lt;br /&gt;
&lt;br /&gt;
==== facename ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;facename&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a single face of the skybox where facename may be any of these keywords appropriate for the face in question:&lt;br /&gt;
&lt;br /&gt;
 Front	Right 	Back	Left 	Top	Bottom&lt;br /&gt;
 ft	rt	bk	lf	up	dn&lt;br /&gt;
 front	right	back	left	top 	bottom&lt;br /&gt;
 forward			lt	ceiling floor&lt;br /&gt;
 				ceil	down&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; All six faces are required to be specified.&lt;br /&gt;
&lt;br /&gt;
=== model ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;model&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a model to replace certain sprites in the game when running in OpenGL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the model file in md2 or md3 format.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; md2 is considered deprecated.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
==== shade ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;shade&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== zadd ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a height offset for the model. Quake models are aligned in the center while Build models are aligned at the floor. Using this command will allow Build to use Quake models without modification to the MD2/3 file itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== flags (EDuke32-Native)====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the model should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
*0: default value&lt;br /&gt;
*1: Prevents the the model from being affected by the tints.&lt;br /&gt;
&lt;br /&gt;
==== skin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;skin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== pal =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which palette this skin maps to.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this skin should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the texture file to use for the skin. File may be any PNG, JPG, TGA, BMP, GIF or PCX file&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. the model filename includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== anim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;anim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== frame =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        &lt;br /&gt;
Specifies the names of the start (&#039;&#039;&#039;frame0&#039;&#039;&#039;) and end (&#039;&#039;&#039;frame1&#039;&#039;&#039;) frames of the animation.&lt;br /&gt;
&lt;br /&gt;
===== fps =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fps&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;fps&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the frame rate at which the animation should play. This value may be fractional.&lt;br /&gt;
&lt;br /&gt;
===== flags =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flags&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies any special properties the animation should have, the values of which should be added together to combine multiple options.&lt;br /&gt;
&lt;br /&gt;
Valid options are:&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame).&lt;br /&gt;
&lt;br /&gt;
==== frame ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame/animation of the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== name =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frame&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;&#039;&#039;&amp;lt;framename&amp;gt;&#039;&#039;&#039;&#039;&#039; is identical to the starting frame of an animation, the engine will play that animation, otherwise the replacement will be static. You can choose to use the &#039;&#039;&#039;frame&#039;&#039;&#039; or &#039;&#039;&#039;name&#039;&#039;&#039; versions of this instruction as both are identical.&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the tile instruction to specify an ART-file tile which this model should replace. Use the &#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; instructions together to specify a range of ART-file tiles. If you use &#039;&#039;&#039;tile0&#039;&#039;&#039;, you must also have a &#039;&#039;&#039;tile1&#039;&#039;&#039;. You may not use the same instruction twice to specify multiple ranges.&lt;br /&gt;
&lt;br /&gt;
===== smoothduration (EDuke32-Native)=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smoothduration&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If smoothduration is non-zero switching from another animation to the one defined by that frame block will trigger an intermediary animation smoothing state of duration &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; seconds.&lt;br /&gt;
&lt;br /&gt;
===== pal (EDuke32-Native)=====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Makes the model definition exclusive for the this pal. This allow to assign different models for different pal.&lt;br /&gt;
&lt;br /&gt;
==== hud ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hud&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{ ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to use with a heads-up-display. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== tile =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; and &#039;&#039;&#039;tile1&#039;&#039;&#039; together specify a range of ART-file tiles which this model frame should replace when rendered as part of the HUD. You can specify individual tiles using a single tile command.&lt;br /&gt;
    &lt;br /&gt;
===== offset =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;xadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;yadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;zadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;angadd&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these offsets to fine-tune the location of the model placement. &#039;&#039;&#039;xadd&#039;&#039;&#039;, &#039;&#039;&#039;yadd&#039;&#039;&#039;, and &#039;&#039;&#039;zadd&#039;&#039;&#039; are position offsets relative to the viewer&#039;s orienation. You can use floating point values with them. &#039;&#039;&#039;angadd&#039;&#039;&#039; is a Build angle offset. (512 = 90 degrees, 1024 = 180 degrees, etc...).&lt;br /&gt;
&lt;br /&gt;
===== hide =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some weapons use multiple ART tiles for constructing the gun or animation. Use this option to hide parts that you don&#039;t need in your replacement.&lt;br /&gt;
&lt;br /&gt;
===== nobob =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nobob&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default, the HUD model offset is affected by the player bobbing offset when the player is walking. Use this option to disable that.&lt;br /&gt;
&lt;br /&gt;
===== flipped =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;flipped&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this option to apply the settings inside the hud block only if the object is normally rendered x-flipped (mirror image). Some weapons, such as the devastator, are rendered in 2 pieces, the left devastator is actually a mirror image of the right.&lt;br /&gt;
&lt;br /&gt;
===== nodepth =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nodepth&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use this to render a HUD model without the use of the depth buffer. Normally, you should avoid this. The one exception where this is useful is for the spinning nuke menu pointer because it should always be in front - and it just happens to be convex ... which is the one case that is safe with the depth buffer disabled … a rather fortunate coincidence. [[Image:Smile.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== detail (EDuke32-Native)====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;detail&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{...}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Detail_mapping|detail texture]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which detail texture file to use. File may be any PNG, JPG, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== scale =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a positive floating-point value that&#039;ll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2).&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this detail texture should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
==== glow (EDuke32-Native) ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;glow&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;{...}&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a [[Glow_mapping|glow map]] for the model. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
===== file =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;file&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
===== surface =====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surface&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;surfnum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies which MD3 surface this glow map should be applied to. This has no significance for MD2 models.&lt;br /&gt;
&lt;br /&gt;
=== voxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;voxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; { ... }&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites. filename is the name of the .KVX file containing the voxel. The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
==== tile ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile0&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tile1&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use these instructions to map tiles that should be rendered as a voxels. Use &#039;&#039;&#039;tile&#039;&#039;&#039; to map a single tile to be rendered as voxels and &#039;&#039;&#039;tile0&#039;&#039;&#039;, &#039;&#039;&#039;tile1&#039;&#039;&#039; together define a range of tiles to be rendered as voxels. The &#039;&#039;&#039;tile0&#039;&#039;&#039; instruction should appear before the &#039;&#039;&#039;tile1&#039;&#039;&#039; instruction to define a correct range.&lt;br /&gt;
&lt;br /&gt;
==== scale ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;scale&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the voxelmodel when it is rendered, eg. 1.5 for one-and-a-half times as big.&lt;br /&gt;
&lt;br /&gt;
== Un-Definitions ==&lt;br /&gt;
&lt;br /&gt;
The main use for these is for cases in which the .ART files are somewhat different, and you want to ensure compatibility for the new art without new textures or models. A good example of this is the [http://www.freewebtown.com/hendricks266/nwhrp.html Duke: Nuclear Winter HRP] by [[User:Hendricks 266|Hendricks266]]. (see undef.def)&lt;br /&gt;
&lt;br /&gt;
=== undeftexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining Hightile textures.&lt;br /&gt;
&lt;br /&gt;
==== undeftexturerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undeftexturerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undeftexture&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== undefmodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is for undefining 3D models.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
==== undefmodelof ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;undefmodelof&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;undefmodel&#039;&#039;&#039;, but all the tiles grouped together within the same .DEF code block are un-defined.&lt;br /&gt;
&lt;br /&gt;
Support of &#039;&#039;&#039;undefmodelof&#039;&#039;&#039; seems to be broken at this time. Using it in your .DEF files will result in crashing upon compiling.&lt;br /&gt;
&lt;br /&gt;
== EDuke32-Native Commands ==&lt;br /&gt;
&lt;br /&gt;
=== alphahack ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahack&#039;&#039;&#039; is a deprecated command to improve alpha filtering of highres art of &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt;&#039;&#039;&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039; is always -1.&lt;br /&gt;
&lt;br /&gt;
==== alphahackrange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alphahackrange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;alphahack&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== animtilerange ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;animtilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;speed value&amp;gt; &amp;lt;animation value&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Animates hightile textures the same way as 8 bit art does. Hightile art needs to be defined first.&lt;br /&gt;
&lt;br /&gt;
=== dummytile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to create a blank tile at location &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the dimensions &#039;&#039;&#039;&amp;lt;&#039;&#039;x-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;&#039;&#039;y-dimension&#039;&#039;&amp;gt;&#039;&#039;&#039;. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
&lt;br /&gt;
==== dummytilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dummytilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;dummytile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== setuptile ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptile&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to setup the properties which are applied to the highres replacement of the tile. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
Unlike &#039;&#039;&#039;dummytile&#039;&#039;&#039; this command won&#039;t draw black squares and accepts the offsets.&lt;br /&gt;
&lt;br /&gt;
==== setuptilerange ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;setuptilerange&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt; &amp;lt;x-offset&amp;gt; &amp;lt;y-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Same as &#039;&#039;&#039;setuptile&#039;&#039;&#039;, but with a range of tiles.&lt;br /&gt;
&lt;br /&gt;
=== loadgrp ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loadgrp&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;.GRP\.ZIP file&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The DEF equivalent of the &#039;&#039;&#039;/g&#039;&#039;&#039; command line switch. &#039;&#039;&#039;loadgrp&#039;&#039;&#039; can only be used in the originating .DEF file; it is usually &#039;&#039;&#039;duke3d.def&#039;&#039;&#039; or the .DEF file specified by the &#039;&#039;&#039;/h&#039;&#039;&#039; command line switch.&lt;br /&gt;
&lt;br /&gt;
=== cachesize ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cachesize&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;size&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specifies the size of the cache in Kb.&lt;br /&gt;
&lt;br /&gt;
=== fogpal ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette number&amp;gt; &amp;lt;red intensity&amp;gt; &amp;lt;green intensity&amp;gt; &amp;lt;blue intensity&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fogpal&#039;&#039;&#039; defines a palette a sector-based fog effect. To use it, change the pal of your sector to the pal defined with &#039;&#039;&#039;fogpal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Intensities range from 0-63. Palettes 26, 27, 28 and 29 are pre-defined for you as white, red, green and blue respectively. Sector visibility controls fog density.&lt;br /&gt;
&lt;br /&gt;
=== 2dcol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2dcol&#039;&#039;&#039; is a definition of a color to be used in the 2D mode of [[Mapster32]], in conjunction with &#039;&#039;&#039;spritecol&#039;&#039;&#039; that works similarly to &#039;&#039;&#039;tint&#039;&#039;&#039; and &#039;&#039;&#039;definetint&#039;&#039;&#039;. &#039;&#039;&#039;&#039;&#039;&amp;lt;colornum&amp;gt;&#039;&#039;&#039;&#039;&#039; is a unique identifier, similar to [[define|defines]] and [[gamevar|gamevars]]. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are the RGB color values that are mixed together to get your custom color.&lt;br /&gt;
&lt;br /&gt;
Certain low values are already hard-coded, and redefining them will change colors of the default layout. If you know the correct value, you can replace the default colors used for &#039;&#039;&#039;all&#039;&#039;&#039; the sprites. You truly have the power to customize Mapster32. Lime green 2D mode background, anyone?&lt;br /&gt;
&lt;br /&gt;
=== spritecol ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tilenum&amp;gt; &amp;lt;normalcolornum&amp;gt; &amp;lt;blockingcolornum&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;spritecol&#039;&#039;&#039; is a definition of the color a sprite will appear in 2D mode, instead of the standard sky blue and hot pink, or another special color (like yellow for hard-coded enemies or white for the [[Special_Sprite_Reference_Guide|special sprites]]). &#039;&#039;&#039;&amp;lt;&#039;&#039;normalcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039; is the &#039;&#039;&#039;&amp;lt;&#039;&#039;colornum&#039;&#039;&amp;gt;&#039;&#039;&#039; of the &#039;&#039;&#039;2dcol&#039;&#039;&#039; definition of your color for the standard sprite color as defined by &#039;&#039;&#039;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&#039;&#039;&#039;. The same goes for &#039;&#039;&#039;&amp;lt;&#039;&#039;blockingcolornum&#039;&#039;&amp;gt;&#039;&#039;&#039;, except that this value is for when the sprite has the first bit of [[cstat]] set (1) (&amp;lt;code&amp;gt;[&#039;]+[B]&amp;lt;/code&amp;gt; keys in [[Mapster32]]), which is the blocking flag.&lt;br /&gt;
&lt;br /&gt;
== Deprecated Commands ==&lt;br /&gt;
&lt;br /&gt;
=== definetexture ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetexture&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;x-center&amp;gt; &amp;lt;y-center&amp;gt; &amp;lt;x-size&amp;gt; &amp;lt;y-size&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file picture. &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; may be an number, or a defined label. Use a value of 0 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-center&amp;gt;&#039;&#039;&#039;&#039;&#039; and a value of -1 for &#039;&#039;&#039;&#039;&#039;&amp;lt;x-size&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;y-size&amp;gt;&#039;&#039;&#039;&#039;&#039; for now until these values are actually used. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; may be any PNG, JPG, TGA, BMP, GIF or PCX file.&lt;br /&gt;
&lt;br /&gt;
=== definetint ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definetint&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt; &amp;lt;flags&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. &#039;&#039;&#039;&#039;&#039;&amp;lt;red&amp;gt;&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;&amp;lt;green&amp;gt;&#039;&#039;&#039;&#039;&#039;, and &#039;&#039;&#039;&#039;&#039;&amp;lt;blue&amp;gt;&#039;&#039;&#039;&#039;&#039; are numbers in the range 0 to 255 which specify the color the tint should look like. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any processing effects to use. Valid values are:&lt;br /&gt;
* 0 = no effects&lt;br /&gt;
* 1 = convert to greyscale&lt;br /&gt;
* 2 = invert colours&lt;br /&gt;
These values can be added together to produce a combination of effects.&lt;br /&gt;
&lt;br /&gt;
=== defineskybox ===&lt;br /&gt;
&#039;&#039;&#039;defineskybox&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt; &amp;lt;palette-number&amp;gt; &amp;lt;reserved&amp;gt; &amp;lt;front-face-filename&amp;gt; &amp;lt;right-face-filename&amp;gt; &amp;lt;back-face-filename&amp;gt; &amp;lt;left-face-filename&amp;gt; &amp;lt;top-face-filename&amp;gt; &amp;lt;bottom-face-filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a sky-box composed of six images mapped onto the faces &lt;br /&gt;
of a cube to be used when &#039;&#039;&#039;&#039;&#039;&amp;lt;tile-number&amp;gt;&#039;&#039;&#039;&#039;&#039; is set as parallaxing in GL Polymost mode. &#039;&#039;&#039;&#039;&#039;&amp;lt;reserved&amp;gt;&#039;&#039;&#039;&#039;&#039; should be 0 for now until its meaning is fully conceived.&lt;br /&gt;
&lt;br /&gt;
=== definemodel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt; &amp;lt;scale&amp;gt; &amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an MD2/3-format model file to replace certain sprites in the game. See &#039;&#039;&#039;definemodelframe&#039;&#039;&#039; and &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the MD2/3 model. &#039;&#039;&#039;&#039;&#039;&amp;lt;scale&amp;gt;&#039;&#039;&#039;&#039;&#039; is a (possibly fractional) value specifying a scaling factor for the model when it is rendered, eg. 1.5 for one-and-a-half times as big. &#039;&#039;&#039;&#039;&#039;&amp;lt;shade-offset&amp;gt;&#039;&#039;&#039;&#039;&#039; is an integer value specifying how much to bias the sprite&#039;s shade value by. A negative value for this makes the model brighter. Conversely, a positive value makes it darker.&lt;br /&gt;
&lt;br /&gt;
==== definemodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt; &amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a skin to be used on the model for all frames declared after this command, when the sprite palette is equal to &#039;&#039;&#039;&#039;&#039;&amp;lt;palette-number&amp;gt;&#039;&#039;&#039;&#039;&#039;. (This makes more sense when given a demonstration.) &#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039; If your model exists in a subdirectory (ie. &#039;&#039;&#039;definemodel&#039;&#039;&#039; includes a path to the .md2/3) you will need to give the same path to filename if the skin is in the same directory.&lt;br /&gt;
&lt;br /&gt;
==== selectmodelskin ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;selectmodelskin&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;skin ID&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selects a model skin.&lt;br /&gt;
&lt;br /&gt;
==== definemodelanim ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelanim&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt; &amp;lt;end-frame&amp;gt; &amp;lt;frame-rate&amp;gt; &amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines an animation from a group of frames in the model given by the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;start-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;end-frame&amp;gt;&#039;&#039;&#039;&#039;&#039; specify the names of the starting and ending frames of the animation. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-rate&amp;gt;&#039;&#039;&#039;&#039;&#039; is the frame rate at which the animation should play. This value can be fractional. &#039;&#039;&#039;&#039;&#039;&amp;lt;flags&amp;gt;&#039;&#039;&#039;&#039;&#039; specifies any special properties the animation should have. Valid options are:&lt;br /&gt;
&lt;br /&gt;
* 0 = none (looping animation)&lt;br /&gt;
* 1 = one-shot (plays beginning to end once and stops on the last frame)&lt;br /&gt;
&lt;br /&gt;
==== definemodelframe ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definemodelframe&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt; &amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a range of ART-file tiles to correspond with the given frame of the model specified in the last preceding &#039;&#039;&#039;definemodel&#039;&#039;&#039; instruction. &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the frame, which if identical to the starting frame of a &#039;&#039;&#039;definemodelanim&#039;&#039;&#039; animation will play that animation. If &#039;&#039;&#039;&#039;&#039;&amp;lt;frame-name&amp;gt;&#039;&#039;&#039;&#039;&#039; is not corresponding with an animation, the replacement will be static. &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;&amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039; specify a range of ART-file tiles which this model frame should replace.&lt;br /&gt;
&lt;br /&gt;
=== definevoxel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxel&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites in the game. See &#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; for details on how to specify the ART-file tiles to replace. &#039;&#039;&#039;&#039;&#039;&amp;lt;filename&amp;gt;&#039;&#039;&#039;&#039;&#039; is the name of the .KVX file containing the voxel.&lt;br /&gt;
&lt;br /&gt;
==== definevoxeltiles ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;definevoxeltiles&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;&amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines the range of ART-file tiles to replace with the voxel given in the last preceding &#039;&#039;&#039;definevoxel&#039;&#039;&#039; instruction.&lt;br /&gt;
&lt;br /&gt;
[[Category:All commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Zshoot&amp;diff=8202</id>
		<title>Zshoot</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Zshoot&amp;diff=8202"/>
		<updated>2009-05-04T20:42:54Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;zshoot&#039;&#039;&#039; &amp;lt;[[gamevar|zvel]]&amp;gt; &amp;lt;projectile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Shoot]]s &amp;lt;projectile&amp;gt; with the [[zvel]] &amp;lt;[[gamevar|zvel]]&amp;gt;.  Values for &amp;lt;[[gamevar|zvel]]&amp;gt; can be calculated using the [[ldist]] command.  These functions are useful for causing an [[actor]] to aim vertically at objects other than the player.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Projectile manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Xorvarvar&amp;diff=8201</id>
		<title>Xorvarvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Xorvarvar&amp;diff=8201"/>
		<updated>2009-05-04T20:42:41Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;xorvarvar&#039;&#039;&#039; &amp;lt;gamevar1&amp;gt; &amp;lt;gamevar2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function gives the result of a XOR function of the [[gamevar]] &amp;lt;gamevar1&amp;gt; with the [[gamevar]] &amp;lt;gamevar2&amp;gt;. The function checks the bits of the two values being compared, and the bits in the result are set if one, and only one, of the values being operated on has those bits set.  See [[xorvar]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Xorvar&amp;diff=8200</id>
		<title>Xorvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Xorvar&amp;diff=8200"/>
		<updated>2009-05-04T20:42:27Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;xorvar&#039;&#039;&#039; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function gives the result of a XOR function of the [[gamevar]] &amp;lt;gamevar&amp;gt; with &amp;lt;value&amp;gt;. The function checks the bits of the two values being compared, and the bits in the result are set if one, and only one, of the values being operated on has those bits set.  See [[xorvarvar]].&lt;br /&gt;
&lt;br /&gt;
Here is an example using xorvar to raise 5 to a power of 2&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setvar a_number 5 &lt;br /&gt;
xorvar a_number 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Whilevarvarn&amp;diff=8199</id>
		<title>Whilevarvarn</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Whilevarvarn&amp;diff=8199"/>
		<updated>2009-05-04T20:42:16Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;whilevarvarn&#039;&#039;&#039; &amp;lt;gamevar1&amp;gt; &amp;lt;gamevar2&amp;gt; { code to execute }&lt;br /&gt;
&lt;br /&gt;
Executes the code in the curly braces as long as &amp;lt;gamevar1&amp;gt; does not equal &amp;lt;gamevar2&amp;gt;. This is a slightly more advanced while loop than [[whilevarn]].&lt;br /&gt;
&lt;br /&gt;
Caution: Poor execution or endless loops will cause your game to close without error or simply stall and crash!&lt;br /&gt;
&lt;br /&gt;
See [[whilevarn]] for examples.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Whilevarn&amp;diff=8198</id>
		<title>Whilevarn</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Whilevarn&amp;diff=8198"/>
		<updated>2009-05-04T20:42:01Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;whilevarn&#039;&#039;&#039; &amp;lt;gamevar&amp;gt; &amp;lt;value&amp;gt; { code to execute }&lt;br /&gt;
&lt;br /&gt;
Executes the code in the curly braces as long as &amp;lt;gamevar&amp;gt; does not equal &amp;lt;value&amp;gt;. This is a simple while loop.&lt;br /&gt;
&lt;br /&gt;
Caution: Poor execution or endless loops will cause your game to close without error or simply stall and crash!&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gamevar TEMP 0 2&lt;br /&gt;
gamevar RANDX 0 2&lt;br /&gt;
gamevar RANDY 0 2&lt;br /&gt;
gamevar RANDZ 0 2&lt;br /&gt;
&lt;br /&gt;
state troopspawnstate&lt;br /&gt;
    setvar TEMP 0&lt;br /&gt;
    whilevarn TEMP 10&lt;br /&gt;
    {&lt;br /&gt;
        randvar RANDX 2048&lt;br /&gt;
        mulvarvar RANDX TEMP&lt;br /&gt;
        randvar RANDY 2048&lt;br /&gt;
        mulvarvar RANDY TEMP&lt;br /&gt;
        randvar RANDZ 2048&lt;br /&gt;
        mulvarvar RANDZ TEMP&lt;br /&gt;
       &lt;br /&gt;
        espawn EXPLOSION2          // Spawn an explosion at a random location&lt;br /&gt;
        setactor[RETURN].x RANDX   // that gets progressively further away the&lt;br /&gt;
        setactor[RETURN].y RANDY   // longer that the code executes.&lt;br /&gt;
        setactor[RETURN].z RANDZ&lt;br /&gt;
&lt;br /&gt;
        addvar TEMP 1&lt;br /&gt;
    }&lt;br /&gt;
ends&lt;br /&gt;
&lt;br /&gt;
. . .&lt;br /&gt;
&lt;br /&gt;
state troopcode&lt;br /&gt;
. . .&lt;br /&gt;
&lt;br /&gt;
ifaction ATROOPHIDE             // Execute the code while the Liztroop&lt;br /&gt;
    state troopspawnstate       // Captain is teleporting in/out.&lt;br /&gt;
ifaction ATROOPREAPPEAR&lt;br /&gt;
    state troopspawnstate&lt;br /&gt;
&lt;br /&gt;
. . .&lt;br /&gt;
ends&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Wackplayer&amp;diff=8197</id>
		<title>Wackplayer</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Wackplayer&amp;diff=8197"/>
		<updated>2009-05-04T20:41:45Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;wackplayer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tilts the screen to the side as if the player were struck hard.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Player manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Userquote&amp;diff=8196</id>
		<title>Userquote</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Userquote&amp;diff=8196"/>
		<updated>2009-05-04T20:41:24Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;userquote&#039;&#039;&#039; &amp;lt;quote number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Causes the quote &amp;lt;quote number&amp;gt; as defined by [[definequote]] to be added to the four line long text buffer that multiplayer kill/death messages and player talk is displayed in.  The quotes scroll off of the screen at a rate of one every six seconds.  See [[quote]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Screen drawing commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Useractor&amp;diff=8195</id>
		<title>Useractor</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Useractor&amp;diff=8195"/>
		<updated>2009-05-04T20:40:56Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;useractor&#039;&#039;&#039; &amp;lt;actortype&amp;gt; &amp;lt;name&amp;gt; &amp;lt;strength&amp;gt; &amp;lt;action&amp;gt; &amp;lt;move&amp;gt; &amp;lt;ai&amp;gt; { actor code } [[enda]]&lt;br /&gt;
&lt;br /&gt;
Similar to [[actor]]. This defines a new [[actor]] in a slightly more specific manner, and it does so without restraining the amount of [[define]]d [[actor]]s. Version 1.3D only allowed so many [[actor]]s so to add a new one required replacing another. Version 1.5 remedied this with useractor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;actortype&amp;gt; can either be &amp;quot;enemy&amp;quot;, &amp;quot;enemystayput&amp;quot;, or &amp;quot;notenemy&amp;quot;. These terms are defined in DEFS.CON as:&lt;br /&gt;
&lt;br /&gt;
:[[define]] notenemy       0&lt;br /&gt;
:[[define]] enemy          1&lt;br /&gt;
:[[define]] enemystayput   2&lt;br /&gt;
&lt;br /&gt;
*The &amp;quot;enemy&amp;quot; type makes an [[actor]] that is intended to be used as a character who commences actions on player sight. &lt;br /&gt;
*The &amp;quot;enemystayput&amp;quot; works the same as &amp;quot;enemy,&amp;quot; except that the [[actor]] will not leave the [[sector]] it is placed in.  &lt;br /&gt;
*The &amp;quot;notenemy&amp;quot; type was primarily intended to make an [[actor]] that is a decoration or otherwise not a threat to the player.  This type of [[actor]] will have no shadow by default, and it will not be targeted if autoaim is enabled. [[Actor]]s using the &amp;quot;notenemy&amp;quot; flag have their code executed at startup. This is extremely useful for coding enemies, as this allows for extended function, and has less quirks than using &amp;quot;enemy&amp;quot; or &amp;quot;enemystayput&amp;quot;. A shadow may be applied in Eduke32 using the [[spriteshadow]] command. This is typically used for all new [[actor]]s you may code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt; is the name/tile of the [[actor]]. You can either input a defined name, or the tile number directly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strength&amp;gt; is the health of the [[actor]]. Also see [[strength]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;action&amp;gt; is the intial [[action]] an [[actor]] uses (optional).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;move&amp;gt; is the initial [[move]] of the actor (optional).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ai&amp;gt; is the actor&#039;s initial [[ai]] routine (optional).&lt;br /&gt;
&lt;br /&gt;
{ actor code } is obviously the code for the [[actor]].&lt;br /&gt;
&lt;br /&gt;
[[enda]] ends an [[actor]].&lt;br /&gt;
&lt;br /&gt;
Also see [[actor]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Updatesectorz&amp;diff=8194</id>
		<title>Updatesectorz</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Updatesectorz&amp;diff=8194"/>
		<updated>2009-05-04T20:40:31Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;updatesectorz&#039;&#039;&#039; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;z&amp;gt; &amp;lt;gamevar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns [[sector number]] of [[sector]] at (&amp;lt;x&amp;gt;,&amp;lt;y&amp;gt;,&amp;lt;z&amp;gt;) into [[gamevar]] &amp;lt;gamevar&amp;gt;. If the position z is lower than the floor or higher than the ceiling it will return as an invalid sector. See [[updatesector]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sector manipulation]]&lt;br /&gt;
&amp;lt;!--&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;--&amp;gt;&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Updatesector&amp;diff=8193</id>
		<title>Updatesector</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Updatesector&amp;diff=8193"/>
		<updated>2009-05-04T20:40:18Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;updatesector&#039;&#039;&#039; &amp;lt;x&amp;gt; &amp;lt;y&amp;gt; &amp;lt;gamevar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns [[sector number]] of [[sector]] at (&amp;lt;x&amp;gt;,&amp;lt;y&amp;gt;) into [[gamevar]] &amp;lt;gamevar&amp;gt;.  See [[updatesectorz]]. If it is not a valid sector (like outside the map or inside a column) it is set to -1. You may verify if the actual sector doens&#039;t equal to -1 before using [[getsector]] or you can get an warning in the log file.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sector manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Tossweapon&amp;diff=8192</id>
		<title>Tossweapon</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Tossweapon&amp;diff=8192"/>
		<updated>2009-05-04T20:40:05Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;tossweapon&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Causes the player to [[spawn]] the currently selected weapon when killed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Player manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Tip&amp;diff=8191</id>
		<title>Tip</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Tip&amp;diff=8191"/>
		<updated>2009-05-04T20:39:41Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;tip&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disables the current or closest player&#039;s weapon and displays the &amp;quot;tip&amp;quot; graphic onscreen.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Player manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Time&amp;diff=8190</id>
		<title>Time</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Time&amp;diff=8190"/>
		<updated>2009-05-04T20:38:44Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;time&#039;&#039;&#039; &amp;lt;gamevar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command is being compiled but doing nothing like [[nullop]].&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Subvarvar&amp;diff=8189</id>
		<title>Subvarvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Subvarvar&amp;diff=8189"/>
		<updated>2009-05-04T20:37:41Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;subvarvar&#039;&#039;&#039; &amp;lt;gamevar1&amp;gt; &amp;lt;gamevar2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subtracts the [[gamevar]] &amp;lt;gamevar2&amp;gt;&#039;s value from &amp;lt;gamevar1&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Subvar&amp;diff=8188</id>
		<title>Subvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Subvar&amp;diff=8188"/>
		<updated>2009-05-04T20:37:30Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;subvar&#039;&#039;&#039; &amp;lt;gamevar&amp;gt; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Subtracts &amp;lt;number&amp;gt; from the [[gamevar]] &amp;lt;gamevar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Strength&amp;diff=8187</id>
		<title>Strength</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Strength&amp;diff=8187"/>
		<updated>2009-05-04T20:37:17Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;strength&#039;&#039;&#039; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Strength is the amount of health of an [[actor]] has. strength &amp;lt;number&amp;gt; will set an [[actor]]&#039;s health to &amp;lt;number&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Stopsoundvar&amp;diff=8186</id>
		<title>Stopsoundvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Stopsoundvar&amp;diff=8186"/>
		<updated>2009-05-04T20:36:47Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;stopsoundvar&#039;&#039;&#039; &amp;lt;gamevar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stops the playing of the sound number in the variable &amp;lt;gamevar&amp;gt;. See also, [[stopsound]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Stopsound&amp;diff=8185</id>
		<title>Stopsound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Stopsound&amp;diff=8185"/>
		<updated>2009-05-04T20:36:35Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;stopsound&#039;&#039;&#039; &amp;lt;sound number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stops the playing of the sound in &amp;lt;sound number&amp;gt;. See also, [[stopallsounds]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Stopallsounds&amp;diff=8184</id>
		<title>Stopallsounds</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Stopallsounds&amp;diff=8184"/>
		<updated>2009-05-04T20:36:19Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;stopallsounds&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This command allows the stop of every sound playing, much like how escaping to the menu does.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=State&amp;diff=8183</id>
		<title>State</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=State&amp;diff=8183"/>
		<updated>2009-05-04T20:35:53Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A state is a block of code written outside of any [[actor]]s or [[event]]s, that can be called from within them. This is useful because it allows you to use the same code in multiple places without rewriting it.&lt;br /&gt;
&lt;br /&gt;
Syntax for state creation:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039; &amp;lt;name&amp;gt; { state code } [[ends]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt; is the name of the state.&lt;br /&gt;
&lt;br /&gt;
{ state code } is the code executed within that state.&lt;br /&gt;
&lt;br /&gt;
[[ends]] denotes the end of a state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calling a state within an [[actor]] is simply:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039; &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define MYACTOR1 3585&lt;br /&gt;
define MYACTOR2 3586&lt;br /&gt;
define MYACTOR3 3587&lt;br /&gt;
&lt;br /&gt;
state spawnblood&lt;br /&gt;
ifhitweapon&lt;br /&gt;
{&lt;br /&gt;
    guts JIBS6 12&lt;br /&gt;
    spawn BLOODPOOL&lt;br /&gt;
    killit&lt;br /&gt;
}&lt;br /&gt;
ends&lt;br /&gt;
&lt;br /&gt;
useractor notenemy MYACTOR1 2&lt;br /&gt;
    state spawnblood&lt;br /&gt;
enda&lt;br /&gt;
&lt;br /&gt;
useractor notenemy MYACTOR2 2&lt;br /&gt;
    state spawnblood&lt;br /&gt;
enda&lt;br /&gt;
&lt;br /&gt;
useractor notenemy MYACTOR3 2&lt;br /&gt;
    state spawnblood&lt;br /&gt;
enda&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use [[break]] to exit a state before all of it&#039;s code is finished executing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Starttrackvar&amp;diff=8182</id>
		<title>Starttrackvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Starttrackvar&amp;diff=8182"/>
		<updated>2009-05-04T20:35:24Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;starttrackvar&#039;&#039;&#039; &amp;lt;track#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
starttrackvar is used to change the current background music that is playing. This command works like the [[starttrack]] command but the former can accept gamevars whereas the later accepts only constants.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;track#&amp;gt; is literally the track number of the current episode (which can be detected with the [[gamevar]] [[VOLUME]]) as defined by the [[music]] command.&lt;br /&gt;
&lt;br /&gt;
Example: this will start the music track from episode 3, level 2.&lt;br /&gt;
&lt;br /&gt;
 gamevar episode 2 0&lt;br /&gt;
 gamevar level 1 0&lt;br /&gt;
 getuserdef[THISACTOR].volume_number TEMP&lt;br /&gt;
 setuserdef[THISACTOR].volume_number episode&lt;br /&gt;
 &#039;&#039;&#039;starttrackvar&#039;&#039;&#039; level&lt;br /&gt;
 setuserdef[THISACTOR].volume_number TEMP&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Starttrack&amp;diff=8181</id>
		<title>Starttrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Starttrack&amp;diff=8181"/>
		<updated>2009-05-04T20:35:03Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;starttrack&#039;&#039;&#039; &amp;lt;track#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command is used to change the current background music that is playing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;track#&amp;gt; is literally the track number of the current episode (which can be detected with the [[gamevar]] [[VOLUME]]) as defined by the [[music]] command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be able to  use another episode&#039;s music, change [[volume_number]] as in the example below. Remember that you must change it back to its last value:&lt;br /&gt;
  getuserdef[THISACTOR].volume_number TEMP&lt;br /&gt;
  setuserdef[THISACTOR].volume_number 1&lt;br /&gt;
  starttrack 0&lt;br /&gt;
  setuserdef[THISACTOR].volume_number TEMP&lt;br /&gt;
This will start the music track from episode 2, level 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Startlevel&amp;diff=8180</id>
		<title>Startlevel</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Startlevel&amp;diff=8180"/>
		<updated>2009-05-04T20:34:32Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;startlevel&#039;&#039;&#039; &amp;lt;gamevar1/parameter1&amp;gt; &amp;lt;gamevar2/parameter2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Loads the map number &amp;lt;gamevar2/parameter2&amp;gt; of volume number &amp;lt;gamevar1/parameter1&amp;gt;. This simply loads the specified map, bypassing the End of Level screen.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Game manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Sqrt&amp;diff=8179</id>
		<title>Sqrt</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Sqrt&amp;diff=8179"/>
		<updated>2009-05-04T20:34:19Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;sqrt&#039;&#039;&#039; &amp;lt;input [[gamevar|variable]]&amp;gt; &amp;lt;output [[gamevar|variable]]&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gets the square root of &amp;lt;input variable&amp;gt; and returns the value to &amp;lt;output variable&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spriteshadow&amp;diff=8178</id>
		<title>Spriteshadow</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spriteshadow&amp;diff=8178"/>
		<updated>2009-05-04T20:34:06Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spriteshadow&#039;&#039;&#039; &amp;lt;tilenum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Causes [[sprite]] &amp;lt;tilenum&amp;gt; to cast a shadow like an enemy.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spritepal&amp;diff=8177</id>
		<title>Spritepal</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spritepal&amp;diff=8177"/>
		<updated>2009-05-04T20:33:53Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spritepal&#039;&#039;&#039; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes the current [[actor]]&#039;s palette reference number to &amp;lt;number&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following is a listing of all the legal values for the spritepal primitive. Palettes can effect 3 different &#039;layers&#039; of a tile. The easiest way to understand these 3 different &#039;layers&#039; is by using the stripper sprite. The 3 &#039;layers&#039; are: Background (her skin), Foreground (her clothes), and Minor Foreground (money, accessories, etc).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A color transformation table&#039;&#039;&#039;:&lt;br /&gt;
  1 = all   -&amp;gt; blue&lt;br /&gt;
  2 = all   -&amp;gt; red&lt;br /&gt;
  3 = normal(=0).&lt;br /&gt;
  4 = all   -&amp;gt; black&lt;br /&gt;
  5 =                         red   -&amp;gt; brown                                                  &lt;br /&gt;
  6 = all   -&amp;gt; green with inverted brightness (Night Vision green)&lt;br /&gt;
  7 = all   -&amp;gt; yellow&lt;br /&gt;
  8 = all   -&amp;gt; green&lt;br /&gt;
  9 = normal(=0)&lt;br /&gt;
 10 = blue  -&amp;gt; dark red                                                                       &lt;br /&gt;
 11 = blue  -&amp;gt; green(=22)                                                                     &lt;br /&gt;
 12 = blue  -&amp;gt; gray(=18)                                                                      &lt;br /&gt;
 13 = blue  -&amp;gt; dark gray      red   -&amp;gt; grey                                                   &lt;br /&gt;
 14 = blue  -&amp;gt; dark green     red   -&amp;gt; green                                                  &lt;br /&gt;
 15 = blue  -&amp;gt; brown                                                                          &lt;br /&gt;
 16 = blue  -&amp;gt; dark blue                                                                      &lt;br /&gt;
 17 = blue  -&amp;gt; green                           green -&amp;gt; blue   brown -&amp;gt; blue&lt;br /&gt;
 18 = blue  -&amp;gt; gray(=12)                                                                      &lt;br /&gt;
 19 = blue  -&amp;gt; gray                            green -&amp;gt; red    brown -&amp;gt; red&lt;br /&gt;
 20 = blue  -&amp;gt; gray                            green -&amp;gt; blue   brown -&amp;gt; blue&lt;br /&gt;
 21 = blue  -&amp;gt; red                                                                            &lt;br /&gt;
 22 = blue  -&amp;gt; green(=11)                                                                     &lt;br /&gt;
 23 = blue  -&amp;gt; yellow                                                                         &lt;br /&gt;
 24 =                         red   -&amp;gt; gray                                     gray  -&amp;gt; red  &lt;br /&gt;
 25 =                                          green -&amp;gt; red&lt;br /&gt;
&lt;br /&gt;
Note that palette 9 is used for player default color. The palette used for Assault Trooper is palette 22.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spritenvg&amp;diff=8176</id>
		<title>Spritenvg</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spritenvg&amp;diff=8176"/>
		<updated>2009-05-04T20:33:40Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spritenvg&#039;&#039;&#039; &amp;lt;tilenum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Causes [[sprite]] &amp;lt;tilenum&amp;gt; to appear as palette 6 to players with nightvision enabled, like an enemy.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spritenoshade&amp;diff=8175</id>
		<title>Spritenoshade</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spritenoshade&amp;diff=8175"/>
		<updated>2009-05-04T20:33:26Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spritenoshade&#039;&#039;&#039; &amp;lt;tilenum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Causes [[sprite]] &amp;lt;tilenum&amp;gt; to be unaffected by the [[shade]] of the [[sector]] it is in.&lt;br /&gt;
&lt;br /&gt;
If you want an [[actor]] to glow like some projectiles in the game, use this together with [[setactor]]&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[THISACTOR]]&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;.[[shade]] -127 and/or the [[flash]] parameter.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spritenopal&amp;diff=8174</id>
		<title>Spritenopal</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spritenopal&amp;diff=8174"/>
		<updated>2009-05-04T20:33:15Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spritenopal&#039;&#039;&#039; &amp;lt;tilenum&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Causes sprite &amp;lt;tilenum&amp;gt; to keep its initial [[palette|spritepal]] ignoring the palette of the sector it is in.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spriteflags&amp;diff=8173</id>
		<title>Spriteflags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spriteflags&amp;diff=8173"/>
		<updated>2009-05-04T20:33:02Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spriteflags&#039;&#039;&#039; &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sets special flags for sprites. The values are:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;  - Generates a shadow. See [[spriteshadow]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;  - Turns [[spritepal|palette]] 6 whenever night vision goggles are used. See [[spritenvg]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;  - The sprite&#039;s shade is unaffected by the shade of its sector. See [[spritenoshade]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;8&#039;&#039;&#039;  - Is a [[defineprojectile|projectile]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;16&#039;&#039;&#039; - Prevents teleporting. The sprite is not entered into the [[decal deletion queue]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;32&#039;&#039;&#039; - Is an enemy. See [[useractor]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;64&#039;&#039;&#039; - Sprite will be insusceptible to floor palette of sector containing this sprite. See [[spritenopal]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is a bitfield, so add together the values you want and then use spriteflags with the sum.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spgetlotag&amp;diff=8172</id>
		<title>Spgetlotag</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spgetlotag&amp;diff=8172"/>
		<updated>2009-05-04T20:32:46Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spgetlotag&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deprecated command.  Gets the current [[actor]]&#039;s lotag into the per-actor [[gamevar]] LOTAG.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spgethitag&amp;diff=8171</id>
		<title>Spgethitag</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spgethitag&amp;diff=8171"/>
		<updated>2009-05-04T20:32:17Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spgethitag&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Deprecated command.  Gets the current [[actor]]&#039;s hitag into the per-actor [[gamevar]] HITAG.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Spawn&amp;diff=8170</id>
		<title>Spawn</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Spawn&amp;diff=8170"/>
		<updated>2009-05-04T20:31:47Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;spawn&#039;&#039;&#039; &amp;lt;tilenum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds [[actor]] &amp;lt;tilenum&amp;gt; to the current map, at the position of the [[actor]] that spawned it. &amp;lt;tilenum&amp;gt; can also be a [[define|defined]] value. See [[espawn]], [[qspawn]], [[eqspawn]], [[espawnvar]], [[qspawnvar]], and [[eqspawnvar]]. &amp;lt;!--[[spawnvar]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When not used in the specific command sense, spawning is the act of placing a new [[sprite]] into the running game.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Soundvar&amp;diff=8169</id>
		<title>Soundvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Soundvar&amp;diff=8169"/>
		<updated>2009-05-04T20:31:33Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;soundvar&#039;&#039;&#039; &amp;lt;gamevar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plays the sound number as determined by &amp;lt;gamevar&amp;gt;. See [[sound]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Soundoncevar&amp;diff=8168</id>
		<title>Soundoncevar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Soundoncevar&amp;diff=8168"/>
		<updated>2009-05-04T20:31:19Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;soundoncevar&#039;&#039;&#039; &amp;lt;[[gamevar]]&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plays the sound number determined by &amp;lt;[[gamevar]]&amp;gt; as [[soundvar]] command does, but will not start playing again until current instance of sound in &amp;lt;[[gamevar]]&amp;gt; is completed. See [[soundonce]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Soundonce&amp;diff=8167</id>
		<title>Soundonce</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Soundonce&amp;diff=8167"/>
		<updated>2009-05-04T20:31:07Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;soundonce&#039;&#039;&#039; &amp;lt;sound number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plays the sound &amp;lt;sound number&amp;gt; as defined by [[definesound]] the same way that the [[sound]] command does, except that the same sound may not begin playing again until the current instance of it has finished.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Sound&amp;diff=8166</id>
		<title>Sound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Sound&amp;diff=8166"/>
		<updated>2009-05-04T20:30:55Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;sound&#039;&#039;&#039; &amp;lt;sound number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plays the sound &amp;lt;sound number&amp;gt; as defined by [[definesound]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Smaxammo&amp;diff=8165</id>
		<title>Smaxammo</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Smaxammo&amp;diff=8165"/>
		<updated>2009-05-04T20:30:38Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;smaxammo&#039;&#039;&#039; &amp;lt;WeaponID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sets the global maximum amount of ammo for &amp;lt;WeaponID&amp;gt;. This change will be displayed in the player&#039;s HUD.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Sleeptime&amp;diff=8164</id>
		<title>Sleeptime</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Sleeptime&amp;diff=8164"/>
		<updated>2009-05-04T20:29:59Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;sleeptime&#039;&#039;&#039; &amp;lt;count&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes [[actor]] &amp;quot;sleep&amp;quot; counter to &amp;lt;count&amp;gt;.  The actor&#039;s &amp;quot;sleep&amp;quot; counter is incremented once per tic if the player is less than 30000 units away.  The actor is put back to &amp;quot;sleep&amp;quot; once the counter reaches 32767 and the player is a certain distance away.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Sizeto&amp;diff=8163</id>
		<title>Sizeto</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Sizeto&amp;diff=8163"/>
		<updated>2009-05-04T20:29:47Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;sizeto&#039;&#039;&#039; &amp;lt;xrepeat&amp;gt; &amp;lt;yrepeat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gradually sizes the current [[actor]]&#039;s x and y sizes to the given values. 64 64 is the default sprite size.  See [[sizeat]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Sizeat&amp;diff=8162</id>
		<title>Sizeat</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Sizeat&amp;diff=8162"/>
		<updated>2009-05-04T20:29:35Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;sizeat&#039;&#039;&#039; &amp;lt;xrepeat&amp;gt; &amp;lt;yrepeat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like [[sizeto]], but instantaneous. The default sprite size is 64 64.&lt;br /&gt;
&lt;br /&gt;
Actors with [[xrepeat]] or [[yrepeat]] of zero are deleted. A sizeat 0 0 is the same as killit.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
The default size of most enemy actors is 40 40. Exceptions are SHARK, TANK (60 60) and bosses (80 80).&lt;br /&gt;
&lt;br /&gt;
Changing these values in actor APLAYER (default size: 42 36) will modify the player&#039;s view.&lt;br /&gt;
This happens because the game is hard-coded to assume that a smaller APLAYER has been shrunk while a larger APLAYER has been &amp;quot;microwaved&amp;quot; by the Expander weapon. In this case:&lt;br /&gt;
&lt;br /&gt;
* Setting a lower xrepeat will replace the player&#039;s weapon with two fists.&lt;br /&gt;
* Setting a lower yrepeat will set the view at a low angle and prevent the player from jumping.&lt;br /&gt;
* Setting a higher xrepeat or yrepeat results in increasing the field of view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Sin&amp;diff=8161</id>
		<title>Sin</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Sin&amp;diff=8161"/>
		<updated>2009-05-04T20:29:22Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;sin&#039;&#039;&#039; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;[[gamevar|gamevar2]]&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sets &amp;lt;[[gamevar]]&amp;gt; to the sine of the angle defined by &amp;lt;[[gamevar|gamevar2]]&amp;gt;. While in mathematics the hypotenuse has length 1, here it has 16384 (obviously because the engine doesn&#039;t support decimal values). Also see [[cos]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Shootvar&amp;diff=8160</id>
		<title>Shootvar</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Shootvar&amp;diff=8160"/>
		<updated>2009-05-04T20:29:00Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;shootvar&#039;&#039;&#039; &amp;lt;gamevar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Causes the current [[actor]] to fire the projectile referenced by &amp;lt;gamevar&amp;gt;. See [[shoot]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Projectile manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Shoot&amp;diff=8159</id>
		<title>Shoot</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Shoot&amp;diff=8159"/>
		<updated>2009-05-04T20:28:49Z</updated>

		<summary type="html">&lt;p&gt;One: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;shoot&#039;&#039;&#039; &amp;lt;tilenum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Causes the current [[actor]] to fire the projectile &amp;lt;tilenum&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Projectile manipulation]]&lt;/div&gt;</summary>
		<author><name>One</name></author>
	</entry>
</feed>