<?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=Jblade</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=Jblade"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/wiki/Special:Contributions/Jblade"/>
	<updated>2026-05-28T02:39:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Cstat_(wall)&amp;diff=14204</id>
		<title>Cstat (wall)</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Cstat_(wall)&amp;diff=14204"/>
		<updated>2021-04-05T12:43:30Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[bitfield]] for how to draw a wall, as well as a few flags for interaction.  Add all together all wanted flag values.&lt;br /&gt;
&lt;br /&gt;
Unused bits are &#039;&#039;&#039;NOT&#039;&#039;&#039; free for user programming, but are rather reserved for potential future EDuke32 features.&lt;br /&gt;
&lt;br /&gt;
Not to be confused with sprite [[cstat (sprite)|cstat]].&lt;br /&gt;
&lt;br /&gt;
If the wall has cstat 2 applied to it (CSTAT_WALL_BOTTOM_SWAP) than the bottom half&#039;s attributes are applied to the current wall&#039;s [[nextwall]]&lt;br /&gt;
&lt;br /&gt;
== Flags ==&lt;br /&gt;
&lt;br /&gt;
{{Wall cstat}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Bitfields]]&lt;br /&gt;
[[Category:Wall structure members]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Startcutscene&amp;diff=13959</id>
		<title>Startcutscene</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Startcutscene&amp;diff=13959"/>
		<updated>2020-08-02T10:04:23Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;startcutscene&amp;#039;&amp;#039;&amp;#039; &amp;lt;cutscene id&amp;gt;  Used to start a [https://wiki.eduke32.com/wiki/Cutscene_(DEF)[cutscene]] defined in the def file.  Category:EDuke32 specific commands&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;startcutscene&#039;&#039;&#039; &amp;lt;cutscene id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to start a [https://wiki.eduke32.com/wiki/Cutscene_(DEF)[cutscene]] defined in the def file.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Category:Structure_access&amp;diff=13958</id>
		<title>Category:Structure access</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Category:Structure_access&amp;diff=13958"/>
		<updated>2020-08-02T10:01:43Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
One of the hallmarks of EDuke32&#039;s CON scripting advancements is the ability to access many of the game&#039;s internal data structures.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
Struct access was designed with the syntax of an array of a struct type in the C programming language.&lt;br /&gt;
&lt;br /&gt;
The index in &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;square brackets&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt; is an ID number that has different meanings for different structs. Most simple uses of struct access will suffice to use the gamevar [[THISACTOR]] as an index, which usually means the current sprite but is also usable as a &#039;&#039;magic token&#039;&#039; for different meanings with non-sprite structures. Other times, you may know an ID from a command like [[findnearactor]] or [[espawn]] (from gamevar [[RETURN]]). On occasion you may also [[whilevarn|loop]] through all or a selection of ID numbers.&lt;br /&gt;
&lt;br /&gt;
===Getters &amp;amp; Setters===&lt;br /&gt;
&lt;br /&gt;
Get/set commands are the original methods of CON struct access that date back to DOS EDuke.&lt;br /&gt;
&lt;br /&gt;
get&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt; &amp;lt;[[gamevar]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
set&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt; &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;get&#039;&#039;&#039; commands fetch one of the [[Full list of structure members|members of a structure]] into a [[gamevar]].&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;set&#039;&#039;&#039; commands assign the value provided to the member.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;id&amp;gt; can be omitted entirely, which implies an id of [[THISACTOR]].&lt;br /&gt;
&lt;br /&gt;
The commands with the &amp;quot;var&amp;quot; suffix are used to access custom members for a struct, which are really just that ID&#039;s gamevars which have the per-&amp;lt;struct&amp;gt; flag set. So &amp;lt;code&amp;gt;setactorvar[THISACTOR].temp 0&amp;lt;/code&amp;gt; is the same as &amp;lt;code&amp;gt;setvar temp 0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Quick Access===&lt;br /&gt;
&lt;br /&gt;
More recently added, structs can be used in place of gamevars, in the form &amp;lt;code&amp;gt;&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt;&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 [[ifvarg]] userdef[].[[executions]] 10000&lt;br /&gt;
 {&lt;br /&gt;
     [[redefinequote]] 117 You have way too much time on your hands.&lt;br /&gt;
     echo 117&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
With quick access, structures are always read-only. Attempting to use a gamevar-writing command on a quick access structure will result in a compiler error.&lt;br /&gt;
&lt;br /&gt;
Quick struct access cannot be used as an index to other quick struct accesses.&lt;br /&gt;
&lt;br /&gt;
==Structs==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytablebordered}}&lt;br /&gt;
!Get/Set Name!!Quick Name!!ID type!![[THISACTOR]] meaning!!Description!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[Members of the sprite, hittype, and spriteext structures|actor]]&lt;br /&gt;
|[[Members of the sprite, hittype, and spriteext structures|sprite]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|sprites and hittypes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|actorvar&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|per-actor gamevars&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the tsprite structure|tspr]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|sprites&#039; display properties&lt;br /&gt;
|Can only be used within [[EVENT_ANIMATESPRITES]] on sprites with [[mdflags]] containing flag 16.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the projectile structure|projectile]]&lt;br /&gt;
|[[tile number]]&lt;br /&gt;
|(none)&lt;br /&gt;
|projectile types&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the projectile structure|thisprojectile]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|individual projectiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the sector structure|sector]]&lt;br /&gt;
|[[sector id]]&lt;br /&gt;
|current sprite&#039;s sector&lt;br /&gt;
|sectors, floors, and ceilings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the wall structure|wall]]&lt;br /&gt;
|[[wall id]]&lt;br /&gt;
|(none)&lt;br /&gt;
|walls&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the player structure|player]]&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|players&lt;br /&gt;
| getp can be used as a shorthand.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|playervar&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|per-player gamevars&lt;br /&gt;
| getpv can be used as a shorthand.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the input structure|input]]&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|input&lt;br /&gt;
|Generally used within [[EVENT_PROCESSINPUT]]; geti can be used as a shorthand.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the userdef structure|userdef]]&lt;br /&gt;
|(none)&lt;br /&gt;
|(none)&lt;br /&gt;
|user preferences, game state&lt;br /&gt;
|Use nothing within the brackets; getu can be used as a shorthand.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the tiledata structure|tiledata]]&lt;br /&gt;
|[[tile number]]&lt;br /&gt;
|current sprite&#039;s picnum&lt;br /&gt;
|art tiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|(none)&lt;br /&gt;
|[[Members of the paldata structure|paldata]]&lt;br /&gt;
|[[palookup number]]&lt;br /&gt;
|(none)&lt;br /&gt;
|palette lookups (palswaps)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 end-user documentation]]&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Category:Structure_access&amp;diff=13957</id>
		<title>Category:Structure access</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Category:Structure_access&amp;diff=13957"/>
		<updated>2020-08-02T10:00:26Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
One of the hallmarks of EDuke32&#039;s CON scripting advancements is the ability to access many of the game&#039;s internal data structures.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
Struct access was designed with the syntax of an array of a struct type in the C programming language.&lt;br /&gt;
&lt;br /&gt;
The index in &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;square brackets&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt; is an ID number that has different meanings for different structs. Most simple uses of struct access will suffice to use the gamevar [[THISACTOR]] as an index, which usually means the current sprite but is also usable as a &#039;&#039;magic token&#039;&#039; for different meanings with non-sprite structures. Other times, you may know an ID from a command like [[findnearactor]] or [[espawn]] (from gamevar [[RETURN]]). On occasion you may also [[whilevarn|loop]] through all or a selection of ID numbers.&lt;br /&gt;
&lt;br /&gt;
===Getters &amp;amp; Setters===&lt;br /&gt;
&lt;br /&gt;
Get/set commands are the original methods of CON struct access that date back to DOS EDuke.&lt;br /&gt;
&lt;br /&gt;
get&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt; &amp;lt;[[gamevar]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
set&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt; &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;get&#039;&#039;&#039; commands fetch one of the [[Full list of structure members|members of a structure]] into a [[gamevar]].&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;set&#039;&#039;&#039; commands assign the value provided to the member.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;id&amp;gt; can be omitted entirely, which implies an id of [[THISACTOR]].&lt;br /&gt;
&lt;br /&gt;
The commands with the &amp;quot;var&amp;quot; suffix are used to access custom members for a struct, which are really just that ID&#039;s gamevars which have the per-&amp;lt;struct&amp;gt; flag set. So &amp;lt;code&amp;gt;setactorvar[THISACTOR].temp 0&amp;lt;/code&amp;gt; is the same as &amp;lt;code&amp;gt;setvar temp 0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Quick Access===&lt;br /&gt;
&lt;br /&gt;
More recently added, structs can be used in place of gamevars, in the form &amp;lt;code&amp;gt;&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt;&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 [[ifvarg]] userdef[].[[executions]] 10000&lt;br /&gt;
 {&lt;br /&gt;
     [[redefinequote]] 117 You have way too much time on your hands.&lt;br /&gt;
     echo 117&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
With quick access, structures are always read-only. Attempting to use a gamevar-writing command on a quick access structure will result in a compiler error.&lt;br /&gt;
&lt;br /&gt;
Quick struct access cannot be used as an index to other quick struct accesses.&lt;br /&gt;
&lt;br /&gt;
==Structs==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytablebordered}}&lt;br /&gt;
!Get/Set Name!!Quick Name!!ID type!![[THISACTOR]] meaning!!Description!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[Members of the sprite, hittype, and spriteext structures|actor]]&lt;br /&gt;
|[[Members of the sprite, hittype, and spriteext structures|sprite]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|sprites and hittypes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|actorvar&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|per-actor gamevars&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the tsprite structure|tspr]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|sprites&#039; display properties&lt;br /&gt;
|Can only be used within [[EVENT_ANIMATESPRITES]] on sprites with [[mdflags]] containing flag 16.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the projectile structure|projectile]]&lt;br /&gt;
|[[tile number]]&lt;br /&gt;
|(none)&lt;br /&gt;
|projectile types&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the projectile structure|thisprojectile]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|individual projectiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the sector structure|sector]]&lt;br /&gt;
|[[sector id]]&lt;br /&gt;
|current sprite&#039;s sector&lt;br /&gt;
|sectors, floors, and ceilings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the wall structure|wall]]&lt;br /&gt;
|[[wall id]]&lt;br /&gt;
|(none)&lt;br /&gt;
|walls&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the player structure|player]]&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|players&lt;br /&gt;
| getp can be used as a shorthand.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|playervar&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|per-player gamevars&lt;br /&gt;
| getpv can be used as a shorthand.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the input structure|input]]&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|input&lt;br /&gt;
|Generally used within [[EVENT_PROCESSINPUT]]; geti can be used as a shorthand.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the userdef structure|userdef]]&lt;br /&gt;
|(none)&lt;br /&gt;
|(none)&lt;br /&gt;
|user preferences, game state&lt;br /&gt;
|Use nothing within the brackets.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the tiledata structure|tiledata]]&lt;br /&gt;
|[[tile number]]&lt;br /&gt;
|current sprite&#039;s picnum&lt;br /&gt;
|art tiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|(none)&lt;br /&gt;
|[[Members of the paldata structure|paldata]]&lt;br /&gt;
|[[palookup number]]&lt;br /&gt;
|(none)&lt;br /&gt;
|palette lookups (palswaps)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 end-user documentation]]&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Category:Structure_access&amp;diff=13956</id>
		<title>Category:Structure access</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Category:Structure_access&amp;diff=13956"/>
		<updated>2020-08-02T09:58:00Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
One of the hallmarks of EDuke32&#039;s CON scripting advancements is the ability to access many of the game&#039;s internal data structures.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
Struct access was designed with the syntax of an array of a struct type in the C programming language.&lt;br /&gt;
&lt;br /&gt;
The index in &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;square brackets&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt; is an ID number that has different meanings for different structs. Most simple uses of struct access will suffice to use the gamevar [[THISACTOR]] as an index, which usually means the current sprite but is also usable as a &#039;&#039;magic token&#039;&#039; for different meanings with non-sprite structures. Other times, you may know an ID from a command like [[findnearactor]] or [[espawn]] (from gamevar [[RETURN]]). On occasion you may also [[whilevarn|loop]] through all or a selection of ID numbers.&lt;br /&gt;
&lt;br /&gt;
===Getters &amp;amp; Setters===&lt;br /&gt;
&lt;br /&gt;
Get/set commands are the original methods of CON struct access that date back to DOS EDuke.&lt;br /&gt;
&lt;br /&gt;
get&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt; &amp;lt;[[gamevar]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
set&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt; &amp;lt;value&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;get&#039;&#039;&#039; commands fetch one of the [[Full list of structure members|members of a structure]] into a [[gamevar]].&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;set&#039;&#039;&#039; commands assign the value provided to the member.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;id&amp;gt; can be omitted entirely, which implies an id of [[THISACTOR]].&lt;br /&gt;
&lt;br /&gt;
The commands with the &amp;quot;var&amp;quot; suffix are used to access custom members for a struct, which are really just that ID&#039;s gamevars which have the per-&amp;lt;struct&amp;gt; flag set. So &amp;lt;code&amp;gt;setactorvar[THISACTOR].temp 0&amp;lt;/code&amp;gt; is the same as &amp;lt;code&amp;gt;setvar temp 0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Quick Access===&lt;br /&gt;
&lt;br /&gt;
More recently added, structs can be used in place of gamevars, in the form &amp;lt;code&amp;gt;&amp;lt;struct&amp;gt;[&amp;lt;id&amp;gt;].&amp;lt;[[Full list of structure members|member]]&amp;gt;&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 [[ifvarg]] userdef[].[[executions]] 10000&lt;br /&gt;
 {&lt;br /&gt;
     [[redefinequote]] 117 You have way too much time on your hands.&lt;br /&gt;
     echo 117&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
With quick access, structures are always read-only. Attempting to use a gamevar-writing command on a quick access structure will result in a compiler error.&lt;br /&gt;
&lt;br /&gt;
Quick struct access cannot be used as an index to other quick struct accesses.&lt;br /&gt;
&lt;br /&gt;
==Structs==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytablebordered}}&lt;br /&gt;
!Get/Set Name!!Quick Name!!ID type!![[THISACTOR]] meaning!!Description!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[Members of the sprite, hittype, and spriteext structures|actor]]&lt;br /&gt;
|[[Members of the sprite, hittype, and spriteext structures|sprite]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|sprites and hittypes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|actorvar&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|per-actor gamevars&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the tsprite structure|tspr]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|sprites&#039; display properties&lt;br /&gt;
|Can only be used within [[EVENT_ANIMATESPRITES]] on sprites with [[mdflags]] containing flag 16.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the projectile structure|projectile]]&lt;br /&gt;
|[[tile number]]&lt;br /&gt;
|(none)&lt;br /&gt;
|projectile types&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the projectile structure|thisprojectile]]&lt;br /&gt;
|[[sprite id]]&lt;br /&gt;
|current sprite&lt;br /&gt;
|individual projectiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the sector structure|sector]]&lt;br /&gt;
|[[sector id]]&lt;br /&gt;
|current sprite&#039;s sector&lt;br /&gt;
|sectors, floors, and ceilings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the wall structure|wall]]&lt;br /&gt;
|[[wall id]]&lt;br /&gt;
|(none)&lt;br /&gt;
|walls&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the player structure|player]]&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|players&lt;br /&gt;
| getp can be used as a shorthand&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|playervar&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|per-player gamevars&lt;br /&gt;
| getpv can be used as a shorthand&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the input structure|input]]&lt;br /&gt;
|[[player id]]&lt;br /&gt;
|current player&lt;br /&gt;
|input&lt;br /&gt;
|Generally used within [[EVENT_PROCESSINPUT]].&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the userdef structure|userdef]]&lt;br /&gt;
|(none)&lt;br /&gt;
|(none)&lt;br /&gt;
|user preferences, game state&lt;br /&gt;
|Use nothing within the brackets.&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Members of the tiledata structure|tiledata]]&lt;br /&gt;
|[[tile number]]&lt;br /&gt;
|current sprite&#039;s picnum&lt;br /&gt;
|art tiles&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|(none)&lt;br /&gt;
|[[Members of the paldata structure|paldata]]&lt;br /&gt;
|[[palookup number]]&lt;br /&gt;
|(none)&lt;br /&gt;
|palette lookups (palswaps)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 end-user documentation]]&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Undefinecheat&amp;diff=13955</id>
		<title>Undefinecheat</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Undefinecheat&amp;diff=13955"/>
		<updated>2020-08-02T09:49:19Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;undefinecheat&#039;&#039;&#039; &amp;lt;cheat number&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Can be used to disable a cheat code. udc can be used as a shorthand version.&lt;br /&gt;
&lt;br /&gt;
See [[definecheat]] for a list of cheats and their codes.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Game manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Definecheat&amp;diff=13954</id>
		<title>Definecheat</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Definecheat&amp;diff=13954"/>
		<updated>2020-08-02T09:48:31Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;definecheat&#039;&#039;&#039; &amp;lt;cheat number&amp;gt; &amp;lt;text to activate cheat&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to [[definequote]].  This command does not allow the user to create new cheats with new functionality, but simply allows the user to change the text which activates the hard coded cheats.  There are a total of 27 cheats, the first 26 of which can be redefined with [[definecheat]].&lt;br /&gt;
&lt;br /&gt;
To change the two letter combination that&#039;s entered before the cheat, see [[cheatkeys]].&lt;br /&gt;
&lt;br /&gt;
Trivia: The Duke Nukem 3D source code indicates that cheat 15 was &amp;quot;bonus&amp;quot; and cheat 25 was &amp;quot;ending&amp;quot; during development.&lt;br /&gt;
&lt;br /&gt;
You can use dc as a shorthand for this command.&lt;br /&gt;
&lt;br /&gt;
== Values ==&lt;br /&gt;
&lt;br /&gt;
{{Cheats}}&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Game manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Actorsound&amp;diff=13953</id>
		<title>Actorsound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Actorsound&amp;diff=13953"/>
		<updated>2020-08-02T09:45:22Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;actorsound&#039;&#039;&#039; &amp;lt;sprite ID&amp;gt; &amp;lt;sound#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will make the specified sprite play a sound effect.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Ifactorsound&amp;diff=13952</id>
		<title>Ifactorsound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Ifactorsound&amp;diff=13952"/>
		<updated>2020-08-02T09:45:09Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ifactorsound&#039;&#039;&#039; &amp;lt;sprite ID&amp;gt; &amp;lt;sound#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Detects if the specified sprite is playing this sound number.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Actorsound&amp;diff=13951</id>
		<title>Actorsound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Actorsound&amp;diff=13951"/>
		<updated>2020-08-02T09:44:22Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;actorsound&amp;#039;&amp;#039;&amp;#039; &amp;lt;sprite ID&amp;gt; &amp;lt;sound#&amp;gt;  Will make the specified sprite play a sound effect.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;actorsound&#039;&#039;&#039; &amp;lt;sprite ID&amp;gt; &amp;lt;sound#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will make the specified sprite play a sound effect.&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Ifactorsound&amp;diff=13950</id>
		<title>Ifactorsound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Ifactorsound&amp;diff=13950"/>
		<updated>2020-08-02T09:43:26Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ifactorsound&#039;&#039;&#039; &amp;lt;sprite ID&amp;gt; &amp;lt;sound#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Sound manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYCAMERAOSD&amp;diff=13949</id>
		<title>EVENT DISPLAYCAMERAOSD</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYCAMERAOSD&amp;diff=13949"/>
		<updated>2020-08-02T09:34:36Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_DISPLAYCAMERAOSD is a Game Event.  This event is run whenever the on screen display for security cameras is active (Triggered by using security mo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_DISPLAYCAMERAOSD is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is run whenever the on screen display for security cameras is active (Triggered by using security monitors ingame) set RETURN to 1 to disable the onscreen display.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYKNUCKLES&amp;diff=13948</id>
		<title>EVENT DISPLAYKNUCKLES</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYKNUCKLES&amp;diff=13948"/>
		<updated>2020-08-02T09:33:18Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_DISPLAYKNUCKLES is a Game Event.  This event is run whenever the knuckle crack animation is displayed (Triggered in-game by idling for a set amoun...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_DISPLAYKNUCKLES is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is run whenever the knuckle crack animation is displayed (Triggered in-game by idling for a set amount of time) set RETURN to 1 to disable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYSPIT&amp;diff=13947</id>
		<title>EVENT DISPLAYSPIT</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYSPIT&amp;diff=13947"/>
		<updated>2020-08-02T09:32:04Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_DISPLAYSPIT is a Game Event.  This event is run whenever the onscreen &amp;#039;loogie&amp;#039; animation is played (Triggered when the player is hit by the Lizman...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_DISPLAYSPIT is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is run whenever the onscreen &#039;loogie&#039; animation is played (Triggered when the player is hit by the Lizman&#039;s spit attack) &lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYTIP&amp;diff=13946</id>
		<title>EVENT DISPLAYTIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYTIP&amp;diff=13946"/>
		<updated>2020-08-02T09:31:15Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_DISPLAYTIP is a Game Event.  This event is run whenever the tipping animation is displayed (triggered in-game by using the strippers) Set RETURN t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_DISPLAYTIP is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is run whenever the tipping animation is displayed (triggered in-game by using the strippers) Set RETURN to 1 to disable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYSCUBA&amp;diff=13945</id>
		<title>EVENT DISPLAYSCUBA</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYSCUBA&amp;diff=13945"/>
		<updated>2020-08-02T09:29:59Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_DISPLAYSCUBA is a Game Event.  This event is run whenever the Scuba gear sprite is displayed on screen (when the player has Scuba gear in Duke3D)...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_DISPLAYSCUBA is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is run whenever the Scuba gear sprite is displayed on screen (when the player has Scuba gear in Duke3D) set RETURN to 1 to disable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYFIST&amp;diff=13944</id>
		<title>EVENT DISPLAYFIST</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYFIST&amp;diff=13944"/>
		<updated>2020-08-02T09:28:50Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_DISPLAYFIST is a Game Event.  This event is run whenever the Fist animation is played (triggered when using a Nuke Button) set RETURN to 1 to disa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_DISPLAYFIST is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is run whenever the Fist animation is played (triggered when using a Nuke Button) set RETURN to 1 to disable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYACCESS&amp;diff=13943</id>
		<title>EVENT DISPLAYACCESS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYACCESS&amp;diff=13943"/>
		<updated>2020-08-02T09:25:59Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_DISPLAYACCESS is a Game Event.  This event is run whenever the keycard animation is played onscreen (by default triggered when using an access car...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_DISPLAYACCESS is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is run whenever the keycard animation is played onscreen (by default triggered when using an access card on a keycard slot) Set RETURN to 1 to disable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Autosave&amp;diff=13942</id>
		<title>Autosave</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Autosave&amp;diff=13942"/>
		<updated>2020-08-02T08:44:04Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;If true if player checkpoints are enabled in the menu; only utilised for Ion Fury/Standalone Eduke32 exes.  Category:Userdef structure members&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If true if player checkpoints are enabled in the menu; only utilised for Ion Fury/Standalone Eduke32 exes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Userdef structure members]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Ifvar_conditions&amp;diff=13941</id>
		<title>Ifvar conditions</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Ifvar_conditions&amp;diff=13941"/>
		<updated>2020-08-02T05:36:34Z</updated>

		<summary type="html">&lt;p&gt;Jblade: didn&amp;#039;t see the ife stuff was already there&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ifvar&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;conditional&#039;&#039;&#039;&amp;gt; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;constant&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;ifvarvar&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;conditional&#039;&#039;&#039;&amp;gt; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;[[gamevar]]&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ifvar conditions are special [[if condition]]s that apply to [[gamevar]]s.  These statements work by comparing the two inputs using the conditional provided as part of the command.  If the resulting comparison or operation is true, the game will then execute the code specified. If only one CON command is to be performed, simply put it after the condition.  For best reading, put it on the same line or on the following line, indented.  For longer chains, enclose the code in curly braces (&amp;quot;{&amp;quot; and &amp;quot;}&amp;quot;). For performance reasons, do not use curly braces for single commands.  [[Else]] statements can also be used.  If you want to do nothing, followed by an else, in place of a command you can write &amp;lt;code&amp;gt;[[nullop]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;{ }&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Conditional!!C/C++!!Math!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
|e&lt;br /&gt;
|==&lt;br /&gt;
|=&lt;br /&gt;
|equal to&lt;br /&gt;
|-&lt;br /&gt;
|l&lt;br /&gt;
|&amp;lt;&lt;br /&gt;
|&amp;lt;&lt;br /&gt;
|less than&lt;br /&gt;
|-&lt;br /&gt;
|g&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|greater than&lt;br /&gt;
|-&lt;br /&gt;
|n&lt;br /&gt;
|!=&lt;br /&gt;
|&amp;amp;ne;&lt;br /&gt;
|not equal to&lt;br /&gt;
|-&lt;br /&gt;
|and&lt;br /&gt;
|&amp;amp;&lt;br /&gt;
| &lt;br /&gt;
|bitwise AND&lt;br /&gt;
|-&lt;br /&gt;
|or&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|bitwise OR&lt;br /&gt;
|-&lt;br /&gt;
|xor&lt;br /&gt;
|^&lt;br /&gt;
| &lt;br /&gt;
|bitwise XOR&lt;br /&gt;
|-&lt;br /&gt;
|either&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|logical OR: either are non-zero&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since CON variables are integer-only, &amp;quot;less-than or equal to&amp;quot; (le, &amp;lt;=, &amp;amp;le;) and &amp;quot;greater-than or equal to&amp;quot; (ge, &amp;gt;=, &amp;amp;ge;) conditionals are unnecessary.&lt;br /&gt;
&lt;br /&gt;
{{varsuffix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;br /&gt;
[[Category:If conditions]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Ifvar_conditions&amp;diff=13940</id>
		<title>Ifvar conditions</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Ifvar_conditions&amp;diff=13940"/>
		<updated>2020-08-02T05:35:37Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ifvar&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;conditional&#039;&#039;&#039;&amp;gt; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;constant&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;ifvarvar&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;conditional&#039;&#039;&#039;&amp;gt; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;[[gamevar]]&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ifvar conditions are special [[if condition]]s that apply to [[gamevar]]s.  These statements work by comparing the two inputs using the conditional provided as part of the command.  If the resulting comparison or operation is true, the game will then execute the code specified. If only one CON command is to be performed, simply put it after the condition.  For best reading, put it on the same line or on the following line, indented.  For longer chains, enclose the code in curly braces (&amp;quot;{&amp;quot; and &amp;quot;}&amp;quot;). For performance reasons, do not use curly braces for single commands.  [[Else]] statements can also be used.  If you want to do nothing, followed by an else, in place of a command you can write &amp;lt;code&amp;gt;[[nullop]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;{ }&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Conditional!!C/C++!!Math!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
|e&lt;br /&gt;
|==&lt;br /&gt;
|=&lt;br /&gt;
|equal to&lt;br /&gt;
|-&lt;br /&gt;
|l&lt;br /&gt;
|&amp;lt;&lt;br /&gt;
|&amp;lt;&lt;br /&gt;
|less than&lt;br /&gt;
|-&lt;br /&gt;
|g&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|greater than&lt;br /&gt;
|-&lt;br /&gt;
|n&lt;br /&gt;
|!=&lt;br /&gt;
|&amp;amp;ne;&lt;br /&gt;
|not equal to&lt;br /&gt;
|-&lt;br /&gt;
|and&lt;br /&gt;
|&amp;amp;&lt;br /&gt;
| &lt;br /&gt;
|bitwise AND&lt;br /&gt;
|-&lt;br /&gt;
|or&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|bitwise OR&lt;br /&gt;
|-&lt;br /&gt;
|xor&lt;br /&gt;
|^&lt;br /&gt;
| &lt;br /&gt;
|bitwise XOR&lt;br /&gt;
|-&lt;br /&gt;
|either&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|logical OR: either are non-zero&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since CON variables are integer-only, &amp;quot;less-than or equal to&amp;quot; (le, &amp;lt;=, &amp;amp;le;) and &amp;quot;greater-than or equal to&amp;quot; (ge, &amp;gt;=, &amp;amp;ge;) conditionals are unnecessary. As a shorthand you can drop the &#039;var&#039; from the command and just use ife for ifvare, ifn for ifvarn, .etc&lt;br /&gt;
&lt;br /&gt;
{{varsuffix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;br /&gt;
[[Category:If conditions]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=PROJ_WORKSLIKE&amp;diff=12771</id>
		<title>PROJ WORKSLIKE</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=PROJ_WORKSLIKE&amp;diff=12771"/>
		<updated>2020-01-06T13:17:28Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PROJ_WORKSLIKE is a [[defineprojectile]] property used to set flags for projectile function. It is a [[bitfield]]. The flags (defined) are:&lt;br /&gt;
&lt;br /&gt;
 define [[PROJECTILE_HITSCAN]]                     1&lt;br /&gt;
 define [[PROJECTILE_RPG]]                         2&lt;br /&gt;
 define [[PROJECTILE_BOUNCESOFFWALLS]]             4&lt;br /&gt;
 define [[PROJECTILE_BOUNCESOFFMIRRORS]]           8&lt;br /&gt;
 define [[PROJECTILE_KNEE]]                        16&lt;br /&gt;
 define [[PROJECTILE_WATERBUBBLES]]                32&lt;br /&gt;
 define [[PROJECTILE_TIMED]]                       64&lt;br /&gt;
 define [[PROJECTILE_BOUNCESOFFSPRITES]]           128&lt;br /&gt;
 define [[PROJECTILE_SPIT]]                        256&lt;br /&gt;
 define [[PROJECTILE_COOLEXPLOSION1]]              512&lt;br /&gt;
 define [[PROJECTILE_BLOOD]]                       1024&lt;br /&gt;
 define [[PROJECTILE_LOSESVELOCITY]]               2048&lt;br /&gt;
 define [[PROJECTILE_NOAIM]]                       4096&lt;br /&gt;
 define [[PROJECTILE_RANDDECALSIZE]]               8192&lt;br /&gt;
 define [[PROJECTILE_EXPLODEONTIMER]]              16384&lt;br /&gt;
 define [[PROJECTILE_RPG_IMPACT]]                  32768&lt;br /&gt;
 define [[PROJECTILE_RADIUS_PICNUM]]               65536&lt;br /&gt;
 define [[PROJECTILE_ACCURATE_AUTOAIM]]            131072&lt;br /&gt;
 define [[PROJECTILE_FORCEIMPACT]]                 262144&lt;br /&gt;
 define [[PROJECTILE_REALCLIPDIST]]                524288&lt;br /&gt;
 define [[PROJECTILE_ACCURATE]]                    1048576&lt;br /&gt;
 define [[PROJECTILE_NOSETOWNERSHADE]]             2097152&lt;br /&gt;
 define [[PROJECTILE_RPG_IMPACT_DAMAGE]]           4194304&lt;br /&gt;
&lt;br /&gt;
Note that the damage on impact bit (32768) must be set on the WORKSLIKE of any RPG type projectile (i.e. nonhitscan) for which the projectile itself does damage, as opposed to the damage being caused only by the hitradius.&lt;br /&gt;
&lt;br /&gt;
Syntax is:&lt;br /&gt;
&lt;br /&gt;
[[defineprojectile]] &amp;lt;tile number&amp;gt; &#039;&#039;&#039;PROJ_WORKSLIKE&#039;&#039;&#039; &amp;lt;flag value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add all the desired flags together, and use that value for &amp;lt;flag value&amp;gt;. This works similar to [[cstat]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Bitfields]]&lt;br /&gt;
[[Category:Projectile_structure_members]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Clearmapstate&amp;diff=12705</id>
		<title>Clearmapstate</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Clearmapstate&amp;diff=12705"/>
		<updated>2019-09-19T07:17:44Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;clearmapstate&#039;&#039;&#039; &amp;lt;level&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clears the specified map from the map cache. Formula is VOLUMExMAXLEVELS+LEVEL, where MAXLEVELS is 64.  Used in conjunction with [[savemapstate]].&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Shoot&amp;diff=12697</id>
		<title>Shoot</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Shoot&amp;diff=12697"/>
		<updated>2019-08-08T07:36:50Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;shoot&#039;&#039;&#039; &amp;lt;[[tile number]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;shootvar&#039;&#039;&#039; &amp;lt;[[tile number]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;eshoot&#039;&#039;&#039; &amp;lt;[[tile number]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;eshootvar&#039;&#039;&#039; &amp;lt;[[tile number]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;zshoot&#039;&#039;&#039; &amp;lt;[[zvel]]&amp;gt; &amp;lt;[[tile number]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;zshootvar&#039;&#039;&#039; &amp;lt;[[zvel]]&amp;gt; &amp;lt;[[tile number]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;ezshoot&#039;&#039;&#039; &amp;lt;[[zvel]]&amp;gt; &amp;lt;[[tile number]]&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;ezshootvar&#039;&#039;&#039; &amp;lt;[[zvel]]&amp;gt; &amp;lt;[[tile number]]&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Causes the current [[actor]] to fire the projectile &amp;lt;[[tile number]]&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Commands with an &amp;quot;e&amp;quot; prefix set the [[gamevar]] [[RETURN]] to the spawned projectile&#039;s [[sprite id]].&lt;br /&gt;
&lt;br /&gt;
Commands with a &amp;quot;z&amp;quot; prefix shoot the projectile with a z-velocity of &amp;lt;[[zvel]]&amp;gt;.  Values for &amp;lt;[[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.  They are also important to control the vertical aim of hitscan projectiles.  In hitscan projectiles, the value works similar to sloped [[sector]]s (4096 [[build units]] = 45�).&lt;br /&gt;
&lt;br /&gt;
{{varsuffix}}&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>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=12696</id>
		<title>DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=12696"/>
		<updated>2019-08-02T14:15:03Z</updated>

		<summary type="html">&lt;p&gt;Jblade: added in volume setting added in r7117&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DEF files are parsed scripts which allow definition of textures, 3D models, miscellaneous settings, higher-quality sounds and music, and more.&lt;br /&gt;
&lt;br /&gt;
Comments can be used by prefixing the text with a double forward-slash &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;.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
&lt;br /&gt;
=====include=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;include &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;#include &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Processes the script commands in &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt; at the point of the &amp;lt;b&amp;gt;include&amp;lt;/b&amp;gt; call.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====includedefault=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;includedefault&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;#includedefault&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Processes the script commands in the default .def file at the point of the &amp;lt;b&amp;gt;include&amp;lt;/b&amp;gt; call. Only useful for command-line overrides.&lt;br /&gt;
&lt;br /&gt;
For Duke Nukem 3D, the file is duke3d.def. For NAM, it is nam.def. For WWII GI, it is ww2gi.def.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====define=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;define &amp;lt;i&amp;gt;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;#define &amp;lt;i&amp;gt;&amp;lt;label&amp;gt; &amp;lt;integer-value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Declares &amp;lt;i&amp;gt;&amp;lt;label&amp;gt;&amp;lt;/i&amp;gt; to represent the numeric value &amp;lt;i&amp;gt;&amp;lt;integer-value&amp;gt;&amp;lt;/i&amp;gt;. &amp;lt;i&amp;gt;&amp;lt;integer-value&amp;gt;&amp;lt;/i&amp;gt; can be a label, in which case the value of the label given is used.&lt;br /&gt;
&lt;br /&gt;
NOTE: You may find it convenient to include DEFS.CON or NAMES.H to predefine many of the tile (and sound) names in the art file.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====loadgrp=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;loadgrp &amp;lt;i&amp;gt;&amp;lt;.grp\.zip file&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DEF equivalent of the &amp;lt;b&amp;gt;/g&amp;lt;/b&amp;gt; command line switch.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====noautoload=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;noautoload&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Disables the autoload dir feature.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====cachesize=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;cachesize &amp;lt;i&amp;gt;&amp;lt;size&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Specifies the size of the cache in Kb. Don&#039;t use this unless you know what you are doing.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====globalflags=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;globalflags &amp;lt;i&amp;gt;&amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Specifies a set of global flags. Multiple flags can be set by adding their numbers together.&lt;br /&gt;
&lt;br /&gt;
0 = None&amp;lt;br&amp;gt;&lt;br /&gt;
1 = No palette emulation in OpenGL.&amp;lt;br&amp;gt;&lt;br /&gt;
2 = No fullbrights in OpenGL.&amp;lt;br&amp;gt;&lt;br /&gt;
4 = No fog shading in OpenGL.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
==Color Palettes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====tint=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;tint &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 tint { pal 1 red 127 green 127 blue 255 flags 0 }&lt;br /&gt;
 tint { pal 2 green 127 blue 127 }&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;pal &amp;lt;i&amp;gt;&amp;lt;palnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: The palette number the tint applies to.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;red &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;r &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;green &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;g &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;blue &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;b &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;)&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;
: &amp;lt;span {{Def subelement}}&amp;gt;flags &amp;lt;i&amp;gt;&amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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&amp;lt;br /&amp;gt;&lt;br /&gt;
: 1 = convert to greyscale&amp;lt;br /&amp;gt;&lt;br /&gt;
: 2 = invert colors&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====fogpal=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;fogpal &amp;lt;i&amp;gt;&amp;lt;palette number&amp;gt; &amp;lt;red intensity&amp;gt; &amp;lt;green intensity&amp;gt; &amp;lt;blue intensity&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;fogpal&amp;lt;/b&amp;gt; defines a palette a sector-based fog effect. To use it, change the pal of your sector to the pal defined with &amp;lt;b&amp;gt;fogpal&amp;lt;/b&amp;gt;.&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;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====makepalookup=====&lt;br /&gt;
&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;makepalookup &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Interface to creating palette lookups containing both color index remapping (only in effect for non-hightile textures) and fog. This is in contrast to &#039;&#039;&#039;fogpal&#039;&#039;&#039;, which always resets the remapping to the identity mapping (&amp;quot;pal 0&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;pal &amp;lt;i&amp;gt;&amp;lt;palnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: The palette number, must be from 1 to 250.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;red &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;r &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;green &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;g &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;blue &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;b &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
: Specifies a color component value, in the range of 0 to 63. Unspecified components are assumed to be 0 and any out of range values are clamped to the maximum or minimum as appropriate.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;remappal &amp;lt;i&amp;gt;&amp;lt;palnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: The palette number to take the index remapping from, i.e. 21 for blue -&amp;gt; red.  When absent, defaults to 0.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;remapself&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: The same as &#039;&#039;&#039;remappal&#039;&#039;&#039; &#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039;, where &#039;&#039;&amp;lt;palnum&amp;gt;&#039;&#039; is the number provided for the &#039;&#039;&#039;pal&#039;&#039;&#039; token.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates palookup 200 with a fog of (30,0,0) and a blue-to-yellow remapping (assuming it has not been changed before):&lt;br /&gt;
  makepalookup { pal 200  red 30  remappal 23 }&lt;br /&gt;
&lt;br /&gt;
This &#039;fogifies&#039; palookup 21 with a red fog:&lt;br /&gt;
  makepalookup { pal 21  red 30  remapself }&lt;br /&gt;
&lt;br /&gt;
This overwrites palookup 21 with a red fog, but clears the blue-to-red remapping:&lt;br /&gt;
  makepalookup { pal 21  red 30 }&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
===8-Bit .ART File Replacements===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====tilefromtexture=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;tilefromtexture &amp;lt;tilenum&amp;gt; &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to generate an 8-bit tile from an image file.  Use the alpha channel for transparency instead of the pink color.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;name &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;alphacut &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition to working when you are adding an image file as an art tile, the following parameters can also be used without specifying a file to &#039;&#039;modify&#039;&#039; the attributes of an existing ART tile.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;xoffset &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;xoff &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;yoffset &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;yoff &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;texhitscan&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;nofullbright&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====animtilerange=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;animtilerange &amp;lt;i&amp;gt;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;speed value&amp;gt; &amp;lt;animation value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sets an animation range identical to the ones embedded in the .ART files.&lt;br /&gt;
&lt;br /&gt;
Speed value ranges from 0 to 15, 0 being the fastest.&lt;br /&gt;
&lt;br /&gt;
Values are:&lt;br /&gt;
&lt;br /&gt;
0 = none&amp;lt;br /&amp;gt;&lt;br /&gt;
1 = oscillating&amp;lt;br /&amp;gt;&lt;br /&gt;
2 = forward&amp;lt;br /&amp;gt;&lt;br /&gt;
3 = backward&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====voxel=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;voxel &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt; { ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
: &amp;lt;span {{Def subelement}}&amp;gt;tile &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;tile0 &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;tile1 &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Use these instructions to map tiles that should be rendered as a voxels. Use &amp;lt;b&amp;gt;tile&amp;lt;/b&amp;gt; to map a single tile to be rendered as voxels and &amp;lt;b&amp;gt;tile0&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;tile1&amp;lt;/b&amp;gt; together define a range of tiles to be rendered as voxels. The &amp;lt;b&amp;gt;tile0&amp;lt;/b&amp;gt; instruction should appear before the &amp;lt;b&amp;gt;tile1&amp;lt;/b&amp;gt; instruction to define a correct range.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;scale &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; 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;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
===High Resolution Art===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====texture=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;texture &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt; { ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file tile. &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt; may be a number, or a defined label.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 texture 3586 {&lt;br /&gt;
   pal 0 { file &amp;quot;mymod/tree.png&amp;quot; }&lt;br /&gt;
   pal 21 { file &amp;quot;mymod/tree_red.png&amp;quot; xscale 2.0 yscale 2.0 alphacut 0 nodownsize nocompress }&lt;br /&gt;
   glow { file &amp;quot;mymod/tree_light.png&amp;quot; }&lt;br /&gt;
   detail { file &amp;quot;mymod/plant_texture.png&amp;quot; scale 0.5 }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;pal &amp;lt;i&amp;gt;&amp;lt;palnum&amp;gt; { ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Replaces the palette &amp;lt;i&amp;gt;&amp;lt;palnum&amp;gt;&amp;lt;/i&amp;gt;. 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;
:: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;name &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
:: Defines which texture file to use. File may be any PNG, JPG, DDS, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;alphacut &amp;lt;i&amp;gt;&amp;lt;cutoff-value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;nocompress&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;nodownsize&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Prevents the texture from being downsized.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;xscale &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;yscale &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Sets the scale of the hightile texture in relation to the original texture. A &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; 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. &amp;lt;b&amp;gt;xscale&amp;lt;/b&amp;gt; (aka &amp;lt;b&amp;gt;scale&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;detailscale&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;intensity&amp;lt;/b&amp;gt;) sets the horizontal scale and &amp;lt;b&amp;gt;yscale&amp;lt;/b&amp;gt; sets the vertical scale.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;detail &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Specifies which detail texture file to use. File may be any PNG, JPG, DDS, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;scale &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; 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;
: &amp;lt;span {{Def subelement}}&amp;gt;glow &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====skybox=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;skybox &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a skybox that overrides a parallaxing floor or ceiling in OpenGL rendering modes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 skybox {&lt;br /&gt;
   tile 3586 pal 0&lt;br /&gt;
   front &amp;quot;mymod/sky_1.png&amp;quot; nocompress &lt;br /&gt;
   right &amp;quot;mymod/sky_2.png&amp;quot; nocompress &lt;br /&gt;
   back  &amp;quot;mymod/sky_3.png&amp;quot; nocompress&lt;br /&gt;
   left  &amp;quot;mymod/sky_4.png&amp;quot; nocompress &lt;br /&gt;
   top   &amp;quot;mymod/sky_5.png&amp;quot; nocompress&lt;br /&gt;
   down  &amp;quot;mymod/sky_6.png&amp;quot; nocompress&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;tile &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Specifies the ART file tile to override.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;pal &amp;lt;i&amp;gt;&amp;lt;palnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Specifies the palette number the skybox should happen for.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;front &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;Front&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;ft&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;forward&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;right &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;rt&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;right&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;back  &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;bk&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;back&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;left  &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;lf&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;left&amp;lt;/span&amp;gt;) / &amp;lt;span {{Def subelement}}&amp;gt;lt&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;top &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;up&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;top&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;ceiling&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;ceil&amp;lt;/span&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;down &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt; (or &amp;lt;span {{Def subelement}}&amp;gt;dn&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;bottom&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;floor&amp;lt;/span&amp;gt; / &amp;lt;span {{Def subelement}}&amp;gt;down&amp;lt;/span&amp;gt;)&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;
: NOTE: All six faces are required to be specified.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====model=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;model &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt; { ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a model to replace certain sprites in the game when running in 32-bit OpenGL mode. &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt; is the model file in md2 or md3 format.&lt;br /&gt;
&lt;br /&gt;
Note: md2 is considered deprecated.&lt;br /&gt;
&lt;br /&gt;
The brace-enclosed block may contain these instructions:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;scale &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; 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;
: &amp;lt;span {{Def subelement}}&amp;gt;shade &amp;lt;i&amp;gt;&amp;lt;shade-offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;i&amp;gt;&amp;lt;shade-offset&amp;gt;&amp;lt;/i&amp;gt; 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;
: &amp;lt;span {{Def subelement}}&amp;gt;zadd &amp;lt;i&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;i&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt; 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;
: &amp;lt;span {{Def subelement}}&amp;gt;flags &amp;lt;i&amp;gt;&amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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&amp;lt;br /&amp;gt;&lt;br /&gt;
: 1: Prevents the the model from being affected by the tints.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;skin &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;pal &amp;lt;i&amp;gt;&amp;lt;palnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Specifies which palette this skin maps to.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;surface &amp;lt;i&amp;gt;&amp;lt;surfnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Specifies the texture file to use for the skin. File may be any PNG, JPG, DDS, TGA, BMP, GIF or PCX file&lt;br /&gt;
&lt;br /&gt;
:: IMPORTANT: 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;
: &amp;lt;span {{Def subelement}}&amp;gt;anim &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;frame0 &amp;lt;i&amp;gt;&amp;lt;framename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;frame1 &amp;lt;i&amp;gt;&amp;lt;framename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
:: Specifies the names of the start (&amp;lt;b&amp;gt;frame0&amp;lt;/b&amp;gt;) and end (&amp;lt;b&amp;gt;frame1&amp;lt;/b&amp;gt;) frames of the animation.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;fps &amp;lt;i&amp;gt;&amp;lt;fps&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;flags &amp;lt;i&amp;gt;&amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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)&amp;lt;br /&amp;gt;&lt;br /&gt;
:: 1 one-shot (plays beginning to end once and stops on the last frame).&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;frame &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;name &amp;lt;i&amp;gt;&amp;lt;framename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;frame &amp;lt;i&amp;gt;&amp;lt;framename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: If &amp;lt;i&amp;gt;&amp;lt;framename&amp;gt;&amp;lt;/i&amp;gt; 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 &amp;lt;b&amp;gt;frame&amp;lt;/b&amp;gt; or &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; versions of this instruction as both are identical.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;tile &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;tile0 &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;tile1 &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Use the tile instruction to specify an ART-file tile which this model should replace. Use the &amp;lt;b&amp;gt;tile0&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;tile1&amp;lt;/b&amp;gt; instructions together to specify a range of ART-file tiles. If you use &amp;lt;b&amp;gt;tile0&amp;lt;/b&amp;gt;, you must also have a &amp;lt;b&amp;gt;tile1&amp;lt;/b&amp;gt;. You may not use the same instruction twice to specify multiple ranges.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;smoothduration &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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 &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; seconds.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;pal &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
: &amp;lt;span {{Def subelement}}&amp;gt;hud &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;tile &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;tile0 &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;tile1 &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;b&amp;gt;tile0&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;tile1&amp;lt;/b&amp;gt; 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;
:: &amp;lt;span {{Def subelement}}&amp;gt;xadd &amp;lt;i&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;yadd &amp;lt;i&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;zadd &amp;lt;i&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;angadd &amp;lt;i&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Use these offsets to fine-tune the location of the model placement. &amp;lt;b&amp;gt;xadd&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;yadd&amp;lt;/b&amp;gt;, and &amp;lt;b&amp;gt;zadd&amp;lt;/b&amp;gt; are position offsets relative to the viewer&#039;s orienation. You can use floating point values with them. &amp;lt;b&amp;gt;angadd&amp;lt;/b&amp;gt; is a Build angle offset. (512 90 degrees, 1024 180 degrees, etc...).&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;hide&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;nobob&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;flipped&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;nodepth&amp;lt;/span&amp;gt;&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 icon 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.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;detail &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Specifies which detail texture file to use. File may be any PNG, JPG, DDS, TGA, BMP, GIF or PCX file. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;scale &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; 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;
:: &amp;lt;span {{Def subelement}}&amp;gt;surface &amp;lt;i&amp;gt;&amp;lt;surfnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
: &amp;lt;span {{Def subelement}}&amp;gt;glow &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
:: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Specifies which glow map file to use. This instruction must be supplied.&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span {{Def subelement}}&amp;gt;surface &amp;lt;i&amp;gt;&amp;lt;surfnum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====music=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;music &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 music { id &amp;quot;E1L1&amp;quot; file &amp;quot;stalker1.ogg&amp;quot; }&lt;br /&gt;
 music { id &amp;quot;intro&amp;quot; file &amp;quot;grabbag.ogg&amp;quot; }&lt;br /&gt;
 music { id &amp;quot;briefing&amp;quot; file &amp;quot;briefing.ogg&amp;quot; }&lt;br /&gt;
 music { id &amp;quot;loading&amp;quot; file &amp;quot;menusng2.flac&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;id &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; is &amp;quot;intro&amp;quot;, &amp;quot;briefing&amp;quot;, &amp;quot;loading&amp;quot; or &amp;quot;E&#039;&#039;&#039;x&#039;&#039;&#039;L&#039;&#039;&#039;y&#039;&#039;&#039;&amp;quot; (where x is the episode and y is the level).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Specifies which audio file to use. File types: MIDI, Ogg Vorbis, FLAC&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====sound=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;sound &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 sound { id &amp;quot;249&amp;quot; file &amp;quot;bonus.ogg&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;id &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Specifies the ID of sound. The ID can be found in DEFS.CON. &#039;&#039;&#039;NOTE:&#039;&#039;&#039; This should only be used for HRP-like replacement of existing sounds. New sounds should use [[definesound]].&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;file &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Specifies which audio file to use. File types: WAV, VOC, Ogg Vorbis, FLAC&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;volume &amp;lt;i&amp;gt;&amp;lt;volume&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: adjusts the volume of the sound, default is 1.0&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====animsounds=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;animsounds &amp;lt;anim&amp;gt; &amp;lt;i&amp;gt;{ frame1 sound1  frame2 sound2 ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&#039;&#039;&#039;&amp;lt;anim&amp;gt;&#039;&#039;&#039; has to be one of the following tokens corresponding to hard-coded Duke3D anims:&lt;br /&gt;
* cineov2: Episode 2 ending&lt;br /&gt;
* cineov3: Episode 3 ending&lt;br /&gt;
* RADLOGO: &amp;quot;Come back to bed, Duke...&amp;quot;&lt;br /&gt;
* DUKETEAM: Duke3D team still&lt;br /&gt;
* logo: Intro nuke logo&lt;br /&gt;
* vol41a: Episode 4 intro 1&lt;br /&gt;
* vol42a: Episode 4 intro 2&lt;br /&gt;
* vol43a: Episode 4 intro 3&lt;br /&gt;
* vol4e1: Episode 4 ending 1&lt;br /&gt;
* vol4e2: Episode 4 ending 2&lt;br /&gt;
* vol4e3: Episode 4 ending 3&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;frame&#039;&#039;&#039;&#039;&#039;N&#039;&#039;&#039;s (1-based frame numbers) have to be in ascending order. They do not need to be strictly ascending, so that a frame may have more than one sound.&lt;br /&gt;
&lt;br /&gt;
Example: for Duke3D&#039;s XBLA nuke logo animation (IVF extracted from nuke.webm),&lt;br /&gt;
the following definition overlays the video with a sound sequence similar&lt;br /&gt;
(identical save for timing) to the original nuke animation:&lt;br /&gt;
 // frame 1: FLY_BY, frame 64: PIPEBOMB_EXPLODE&lt;br /&gt;
 animsounds logo { 1 244  64 14 }&lt;br /&gt;
{{Def table2}}&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 [http://hendricks266.duke4.net/nw_plus.php Duke: Nuclear Winter Plus] by [[Hendricks266]]. (see [http://svn.eduke32.com/nw_plus/nwinter/undef.def undef.def])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====undeftexture=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;undeftexture &amp;lt;i&amp;gt;&amp;lt;tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;undeftexturerange &amp;lt;i&amp;gt;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is for undefining Hightile textures.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====undefmodel=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;undefmodel &amp;lt;i&amp;gt;&amp;lt;tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;undefmodelrange &amp;lt;i&amp;gt;&amp;lt;tile0&amp;gt; &amp;lt;tile1&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;undefmodelof &amp;lt;i&amp;gt;&amp;lt;tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is for undefining 3D models.&lt;br /&gt;
&lt;br /&gt;
With &amp;lt;b&amp;gt;undefmodelof&amp;lt;/b&amp;gt; all the tiles grouped together within the same .def code block are un-defined.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;Support of &amp;lt;b&amp;gt;undefmodelof&amp;lt;/b&amp;gt; is disabled indefinitely due to problems with its implementation.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====dummytile=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;dummytile &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;dummytilerange &amp;lt;i&amp;gt;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;x-dimension&amp;gt; &amp;lt;y-dimension&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used in DEF files to create a blank tile at location &amp;lt;b&amp;gt;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&amp;lt;/b&amp;gt; of the dimensions &amp;lt;b&amp;gt;&amp;lt;&#039;&#039;x-dimension&#039;&#039;&amp;gt;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;lt;&#039;&#039;y-dimension&#039;&#039;&amp;gt;&amp;lt;/b&amp;gt;. This allows the creation of placeholder tiles for use with definetexture\texture without having to edit .ART files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; In most circumstances &#039;&#039;&#039;setuptile&#039;&#039;&#039; is a better command to use, unless you specifically want black boxes.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====setuptile=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;setuptile &amp;lt;i&amp;gt;&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;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;setuptilerange &amp;lt;i&amp;gt;&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;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
&lt;br /&gt;
Unlike &amp;lt;b&amp;gt;dummytile&amp;lt;/b&amp;gt; this command won&#039;t draw black squares and accepts offsets.&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t affect 8-bit tiles or HUD images.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====dummytilefrompic=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;dummytilefrompic &amp;lt;i&amp;gt;&amp;lt;tileID&amp;gt; &amp;lt;file&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
== Mapster32 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====2dcol=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;2dcol &amp;lt;i&amp;gt;&amp;lt;colornum&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2dcol&amp;lt;/b&amp;gt; is a definition of a color to be used in the 2D mode of [[Mapster32]], in conjunction with &amp;lt;b&amp;gt;spritecol&amp;lt;/b&amp;gt; that works similarly to &amp;lt;b&amp;gt;tint&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;definetint&amp;lt;/b&amp;gt;. &amp;lt;i&amp;gt;&amp;lt;colornum&amp;gt;&amp;lt;/i&amp;gt; is a unique identifier, similar to [[define|defines]] and [[gamevar|gamevars]]. &amp;lt;i&amp;gt;&amp;lt;red&amp;gt;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;green&amp;gt;&amp;lt;/i&amp;gt;, and &amp;lt;i&amp;gt;&amp;lt;blue&amp;gt;&amp;lt;/i&amp;gt; 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 &amp;lt;b&amp;gt;all&amp;lt;/b&amp;gt; the sprites. You truly have the power to customize Mapster32. Lime green 2D mode background, anyone?&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====spritecol=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;spritecol &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt; &amp;lt;normalcolornum&amp;gt; &amp;lt;blockingcolornum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;spritecol&amp;lt;/b&amp;gt; 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]]). &amp;lt;b&amp;gt;&amp;lt;&#039;&#039;normalcolornum&#039;&#039;&amp;gt;&amp;lt;/b&amp;gt; is the &amp;lt;b&amp;gt;&amp;lt;&#039;&#039;colornum&#039;&#039;&amp;gt;&amp;lt;/b&amp;gt; of the &amp;lt;b&amp;gt;2dcol&amp;lt;/b&amp;gt; definition of your color for the standard sprite color as defined by &amp;lt;b&amp;gt;&amp;lt;&#039;&#039;tilenum&#039;&#039;&amp;gt;&amp;lt;/b&amp;gt;. The same goes for &amp;lt;b&amp;gt;&amp;lt;&#039;&#039;blockingcolornum&#039;&#039;&amp;gt;&amp;lt;/b&amp;gt;, 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;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====spritehotkey=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;spritehotkey &amp;lt;i&amp;gt;&amp;lt;key&amp;gt; &amp;lt;spriteID&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====tilegroup=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;tilegroup &amp;lt;i&amp;gt;&amp;lt;groupname&amp;gt; { ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines group for the tile selector (press &#039;T&#039;). Mapster32 loads TILES.CFG on startup.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;tile &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;tilerange &amp;lt;i&amp;gt;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;tiles &amp;lt;i&amp;gt;{ &amp;lt;tile1&amp;gt; &amp;lt;tile2&amp;gt; ... &amp;lt;tileN&amp;gt; }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Adds tiles to the group. Names can be found in DEFS.CON.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;hotkey &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Specifies the hotkey for the group.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;colors &amp;lt;i&amp;gt;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Colors are the colors for Blocking OFF and Blocking ON.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====alphabet=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;alphabet &amp;lt;i&amp;gt;{ ... }&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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;
: &amp;lt;span {{Def subelement}}&amp;gt;map &amp;lt;i&amp;gt;&amp;lt;value&amp;gt; &amp;lt;tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;mapa &amp;lt;i&amp;gt;&amp;lt;string&amp;gt; &amp;lt;tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;maprange &amp;lt;i&amp;gt;&amp;lt;value1&amp;gt; &amp;lt;value2&amp;gt; &amp;lt;tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;maprangea &amp;lt;i&amp;gt;&amp;lt;char1&amp;gt; &amp;lt;char2&amp;gt; &amp;lt;tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;offset &amp;lt;i&amp;gt;&amp;lt;value&amp;gt; &amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;offseta &amp;lt;i&amp;gt;&amp;lt;string&amp;gt; &amp;lt;offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
== Deprecated Commands ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====definetexture=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;definetexture &amp;lt;i&amp;gt;&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;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture to replace an ART-file picture. &amp;lt;i&amp;gt;&amp;lt;tile-number&amp;gt;&amp;lt;/i&amp;gt; may be an number, or a defined label. Use a value of 0 for &amp;lt;i&amp;gt;&amp;lt;x-center&amp;gt;&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;&amp;lt;y-center&amp;gt;&amp;lt;/i&amp;gt; and a value of -1 for &amp;lt;i&amp;gt;&amp;lt;x-size&amp;gt;&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;&amp;lt;y-size&amp;gt;&amp;lt;/i&amp;gt; for now until these values are actually used. &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt; may be any PNG, JPG, DDS, TGA, BMP, GIF, or PCX file.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====definetint=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;definetint &amp;lt;i&amp;gt;&amp;lt;palette-number&amp;gt; &amp;lt;red&amp;gt; &amp;lt;green&amp;gt; &amp;lt;blue&amp;gt; &amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a Hightile texture tint to simulate palette effects normally used on ART-file tiles. &amp;lt;i&amp;gt;&amp;lt;red&amp;gt;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;lt;green&amp;gt;&amp;lt;/i&amp;gt;, and &amp;lt;i&amp;gt;&amp;lt;blue&amp;gt;&amp;lt;/i&amp;gt; are numbers in the range 0 to 255 which specify the color the tint should look like. &amp;lt;i&amp;gt;&amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt; specifies any processing effects to use. Valid values are:&lt;br /&gt;
&lt;br /&gt;
0 no effects&amp;lt;br /&amp;gt;&lt;br /&gt;
1 convert to greyscale&amp;lt;br /&amp;gt;&lt;br /&gt;
2 invert colours&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These values can be added together to produce a combination of effects.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====defineskybox=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;defineskybox &amp;lt;i&amp;gt;&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;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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 &amp;lt;i&amp;gt;&amp;lt;tile-number&amp;gt;&amp;lt;/i&amp;gt; is set as parallaxing in 32-bit OpenGL mode. &amp;lt;i&amp;gt;&amp;lt;reserved&amp;gt;&amp;lt;/i&amp;gt; should be 0 for now until its meaning is fully conceived.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====definemodel=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;definemodel &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt; &amp;lt;scale&amp;gt; &amp;lt;shade-offset&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines an MD2/3-format model file to replace certain sprites in the game. See &amp;lt;b&amp;gt;definemodelframe&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;definemodelanim&amp;lt;/b&amp;gt; for details on how to specify the ART-file tiles to replace. &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt; is the name of the MD2/3 model. &amp;lt;i&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/i&amp;gt; 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. &amp;lt;i&amp;gt;&amp;lt;shade-offset&amp;gt;&amp;lt;/i&amp;gt; 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;
: &amp;lt;span {{Def subelement}}&amp;gt;definemodelskin &amp;lt;i&amp;gt;&amp;lt;palette-number&amp;gt; &amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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 &amp;lt;i&amp;gt;&amp;lt;palette-number&amp;gt;&amp;lt;/i&amp;gt;. (This makes more sense when given a demonstration.) IMPORTANT: If your model exists in a subdirectory (ie. &amp;lt;b&amp;gt;definemodel&amp;lt;/b&amp;gt; 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;
: &amp;lt;span {{Def subelement}}&amp;gt;selectmodelskin &amp;lt;i&amp;gt;&amp;lt;skin ID&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Selects a model skin.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;definemodelanim &amp;lt;i&amp;gt;&amp;lt;start-frame&amp;gt; &amp;lt;end-frame&amp;gt; &amp;lt;frame-rate&amp;gt; &amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Defines an animation from a group of frames in the model given by the last preceding &amp;lt;b&amp;gt;definemodel&amp;lt;/b&amp;gt; instruction. &amp;lt;i&amp;gt;&amp;lt;start-frame&amp;gt;&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;&amp;lt;end-frame&amp;gt;&amp;lt;/i&amp;gt; specify the names of the starting and ending frames of the animation. &amp;lt;i&amp;gt;&amp;lt;frame-rate&amp;gt;&amp;lt;/i&amp;gt; is the frame rate at which the animation should play. This value can be fractional. &amp;lt;i&amp;gt;&amp;lt;flags&amp;gt;&amp;lt;/i&amp;gt; specifies any special properties the animation should have. Valid options are:&lt;br /&gt;
&lt;br /&gt;
: 0 none (looping animation)&amp;lt;br /&amp;gt;&lt;br /&gt;
: 1 one-shot (plays beginning to end once and stops on the last frame)&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span {{Def subelement}}&amp;gt;definemodelframe &amp;lt;i&amp;gt;&amp;lt;frame-name&amp;gt; &amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&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 &amp;lt;b&amp;gt;definemodel&amp;lt;/b&amp;gt; instruction. &amp;lt;i&amp;gt;&amp;lt;frame-name&amp;gt;&amp;lt;/i&amp;gt; is the name of the frame, which if identical to the starting frame of a &amp;lt;b&amp;gt;definemodelanim&amp;lt;/b&amp;gt; animation will play that animation. If &amp;lt;i&amp;gt;&amp;lt;frame-name&amp;gt;&amp;lt;/i&amp;gt; is not corresponding with an animation, the replacement will be static. &amp;lt;i&amp;gt;&amp;lt;first-tile&amp;gt;&amp;lt;/i&amp;gt; and &amp;lt;i&amp;gt;&amp;lt;last-tile&amp;gt;&amp;lt;/i&amp;gt; specify a range of ART-file tiles which this model frame should replace.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====definevoxel=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;definevoxel &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;definevoxeltiles &amp;lt;i&amp;gt;&amp;lt;first-tile&amp;gt; &amp;lt;last-tile&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a voxel to replace sprites in the game. &amp;lt;i&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/i&amp;gt; is the name of the .KVX file containing the voxel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;definevoxeltiles&amp;lt;/b&amp;gt; defines the range of ART-file tiles to replace with the voxel.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;br /&gt;
&lt;br /&gt;
=====alphahack=====&lt;br /&gt;
{{Def table1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;alphahack &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt; &amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span {{Def element}}&amp;gt;alphahackrange &amp;lt;i&amp;gt;&amp;lt;tilenum1&amp;gt; &amp;lt;tilenum2&amp;gt; &amp;lt;value&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;alphahack&amp;lt;/b&amp;gt; is a deprecated command previously used to improve alpha filtering of highres art of &amp;lt;i&amp;gt;&amp;lt;tilenum&amp;gt;&amp;lt;/i&amp;gt;. &amp;lt;i&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/i&amp;gt; is always -1.&lt;br /&gt;
&lt;br /&gt;
{{Def table2}}&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Htflags&amp;diff=12695</id>
		<title>Htflags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Htflags&amp;diff=12695"/>
		<updated>2019-08-02T12:15:01Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Saw this added in r7489 by Fox but not sure what the value is, or more detailed information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A per-actor property, this controls special flags for sprites.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Internal Name!!Provided CON Label!!Value!!Description&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_SHADOW||SFLAG_SHADOW||1||Generates a shadow. See [[spriteshadow]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NVG||SFLAG_NVG||2||Turns [[spritepal|palette]] 6 whenever night vision goggles are used. See [[spritenvg]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOSHADE||SFLAG_NOSHADE||4||The sprite&#039;s shade is unaffected by the shade of its sector. See [[spritenoshade]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_PROJECTILE||||8||Has been defined with [[defineprojectile]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_DECAL||||16||Prevents teleporting. The sprite is not entered into the [[decal deletion queue]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_BADGUY||SFLAG_BADGUY||32||Is an enemy. See [[useractor]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOPAL||SFLAG_NOPAL||64||Sprite will be insusceptible to floor palette of sector containing this sprite. See [[spritenopal]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOEVENTCODE||SFLAG_NOEVENTS||128||Sprite will not be run through [[EVENT_GAME]] or [[EVENT_PREGAME]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOLIGHT||SFLAG_NOLIGHT||256||Sprite will not emit hardcoded Polymer-based lights.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_USEACTIVATOR||SFLAG_USEACTIVATOR||512||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;SFLAG_NULL&amp;lt;/font&amp;gt;||||&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;1024&amp;lt;/font&amp;gt;||&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;null sprite in multiplayer [internal, do not use]&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOCLIP||SFLAG_NOCLIP||2048||Sprite will call &amp;quot;[[clipmove]]()&amp;quot; with a [[clipmask]] of 0, skipping collision detection with other sprites to increase performance. (Specifically, to prevent runtime behavior that is quadratic with the number of sprites.) Useful for particle effects.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOFLOORSHADOW||||4096||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_SMOOTHMOVE||SFLAG_SMOOTHMOVE||8192||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOTELEPORT||SFLAG_NOTELEPORT||16384||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_BADGUYSTAYPUT||||32768||Actor will stay inside its original sector.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_CACHE||||65536||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_ROTFIXED||||131072||rotation-fixed with respect to a pivot point to prevent position diverging due to roundoff error accumulation&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_HARDCODED_BADGUY||||262144&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_DIDNOSE7WATER||||524288||used temporarily&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NODAMAGEPUSH||SFLAG_NODAMAGEPUSH||1048576||Actor should not be pushed back when damaged (by default TANK, RECON, ROTATEGUN, and the bosses)&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOWATERDIP||SFLAG_NOWATERDIP||2097152||Actor will not appear to sink into the floor in sectors tagged Above Water (lotag 1)&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_HURTSPAWNBLOOD||||4194304||Actor will spawn blood as hardcoded enemies do when hurt&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_GREENSLIMEFOOD||||8388608||Actor can be eaten by GREENSLIME actor (Protozoid Slimer). Can only be set outside of actor and event code whereupon it is applied to all sprites of the same picnum e.g. &amp;quot;spriteflags NEWBEASTHANG 8388608&amp;quot; will make all NEWBEASTHANG in the entire game into greenslime fodder.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_REALCLIPDIST||SFLAG_REALCLIPDIST||16777216||Actor will always use its set clipdist instead of one potentially overridden in hardcoded circumstances based on its xrepeat and picnum&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_WAKEUPBADGUYS||||33554432||When awoken (changed to an active actor), any sprite with this flag set will wake up any enemy with which it has a line of sight&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_DAMAGEEVENT||||67108864||Actor fires EVENT_(POST)DAMAGESPRITE when damaged.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOWATERSECTOR||SFLAG_NOWATERSECTOR||?||Will prevent a sprite from moving into water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;htflags&#039;&#039;&#039; is a [[bitfield]], so add together the values you want and then set htflags to the sum.&amp;lt;br/&amp;gt;&lt;br /&gt;
This member can also be set using the per-sprite form of the [[spriteflags]] command.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bitfields]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Extbits&amp;diff=12694</id>
		<title>Extbits</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Extbits&amp;diff=12694"/>
		<updated>2019-08-01T09:28:54Z</updated>

		<summary type="html">&lt;p&gt;Jblade: not sure what the internal name is, but I&amp;#039;ve tested and found that 64 is set when the new alt fire key is pressed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The extbits member of the input structure is a [[bitfield]], like [[bits]]. The following defines show what these bits indicate:&lt;br /&gt;
&lt;br /&gt;
 // extbits&lt;br /&gt;
 define INPUT_MOVE_FORWARD              1&lt;br /&gt;
 define INPUT_MOVE_BACKWARD             2&lt;br /&gt;
 define INPUT_STRAFE_LEFT               4&lt;br /&gt;
 define INPUT_STRAFE_RIGHT              8&lt;br /&gt;
 define INPUT_TURN_LEFT                16&lt;br /&gt;
 define INPUT_TURN_RIGHT               32&lt;br /&gt;
 define INPUT_ALT_FIRE                 64&lt;br /&gt;
&lt;br /&gt;
[[Category:Bitfields]]&lt;br /&gt;
[[Category:Input structure members]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EDuke32_Modifications&amp;diff=12687</id>
		<title>EDuke32 Modifications</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EDuke32_Modifications&amp;diff=12687"/>
		<updated>2019-06-12T19:19:54Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Disclaimer: This list of mods and TCs is by no means exhaustive. There are many more great user made addons to try out on the internet, what is shown in this list comprises solely of content that the respective mod makers themselves have put up. &lt;br /&gt;
What is shown here isn&#039;t necessarily the best (although some of it is, and all of it is high quality), it&#039;s just that the people who made them actually bothered to make an entry here.&lt;br /&gt;
&lt;br /&gt;
==Large Projects==&lt;br /&gt;
&lt;br /&gt;
{{Mod_header}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
|[http://www.moddb.com/games/the-amc-tc AMC TC]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Released, in development&amp;lt;br&amp;gt;(Latest Release: &#039;&#039;&#039;3.00&#039;&#039;&#039;)&lt;br /&gt;
|James Stanfield, Micky C and AMC&lt;br /&gt;
|[[Image:AMCTC3.jpg|200px]][[Image:AMCTC2.jpg|200px]]&lt;br /&gt;
|The AMC TC is a multi-character TC and gameplay modification. There are 10 characters to choose between, each with different weapon sets and items. Fight through the solar system against Duke&#039;s old enemies as well as other dark forces that each plan something unpleasant for Earth and Mars. Episode 1, 2 and 3 have been released.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
| [http://www.moddb.com/games/wgrealms-2 WGRealms 2: Siege Breaker]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Released, in development&amp;lt;br&amp;gt;(Latest Release: &#039;&#039;&#039;1.201&#039;&#039;&#039;)&lt;br /&gt;
|William Gee, [[User:DeeperThought|DeeperThought]], Cage, Hellbound&lt;br /&gt;
|[[Image:WG1.jpg|200px]][[Image:WG2.jpg|200px]]&lt;br /&gt;
|Medieval mod with melee combat, magic bows, skeleton knights, dragons and demons. [http://www.moddb.com/games/wgrealms-2/images Gameplay footage]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
|[http://naferia.duke4.net Naferia&#039;s Reign: Invasion of the Dark Mistress]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Released, in development&amp;lt;br&amp;gt; (Latest Version: &#039;&#039;&#039;5.22.12242012&#039;&#039;&#039;)&lt;br /&gt;
|[[User:LordMisfit|Lord Misfit]], TheSeriousCacodemon, Ryan Cordell, Davidos, Vero-chan, Kyle873&lt;br /&gt;
|[[Image:NRIOTDM-1.png|200px]][[Image:NRIOTDM-2.png|200px]]&lt;br /&gt;
|What will come to be an alternate-universe Duke Nukem story revolving around a pivotal point in the history of Duke Nukem and the Aliens he has faced since the original Duke Nukem 3D. Duke is no longer working alone in his quest, as his enemies ramp up their power and allegiances substantially, as well as their intelligence to a point. Play as up to 15 different characters, with the ability to use multiple characters in the same party, unlike in Hexen (and more like a real RPG). Monsters are more interactive and to a point more intelligent, able to grab items like health and armor, get damaged by slime and other hazards, and even pick up power-ups to make them deadlier in combat. Find money laying around or get it out of your characters&#039; ATM accounts, and use it to buy new items from shops or other NPCs. Voice Acting is also present.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
|[http://m210.duke4.net/index.php/files/viewdownload/3-eduke32/38-blood-crossmatching Blood Crossmatching (BloodCM)]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Released, in development&amp;lt;br&amp;gt;(Latest Release: 06.2013)&lt;br /&gt;
|[[User:M210|M210]], fgsfds&lt;br /&gt;
|[[Image:Blood1.jpg|200px]][[Image:Blood2.jpg|200px]]&lt;br /&gt;
|BloodCM is a recreation of Blood (by Monolith Productions) for EDuke32 to bring all the fun and action of Blood to the EDuke32 port. This mod will be more powerful in the future, considering EDuke32 keeps getting better and better.&lt;br /&gt;
&#039;&#039;&#039;Big thanks:&#039;&#039;&#039; The Lezing, DeeperThought, DefaultDan(97), Zykov Eddy, --DarkSoL--, Yura_evil, KLIMaka, XTHX2, Fox, Sanek, LipSheZ, Possessed-by-zeal.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Official site:&#039;&#039;&#039; http://m210.duke4.net &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_footer}}&lt;br /&gt;
&lt;br /&gt;
==Medium Projects==&lt;br /&gt;
&lt;br /&gt;
{{Mod_header}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
| [{{3DR}}32161 HellDuke TC!]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Released, in development&amp;lt;br&amp;gt;(Latest Release: &#039;&#039;&#039;1.3&#039;&#039;&#039;)&lt;br /&gt;
|XTHX2, Quakis (Inactive), Broiler1985, Rolls, Fantinaikos, SuperGoofy&lt;br /&gt;
|[[Image:scr1.jpg|200px]][[Image:scr2.jpg|200px]]&lt;br /&gt;
|HellDukeTC! will make your doom become alive, as the thread name calls it. My main purpose is to create Doom with a different angle and of course my secret recipe. As well as aiming to have a doom theme, we will also introduce you what hell actually means. It is still under development, however it is playable enough with it&#039;s satisfying levels, new enemies, new additions, new WEAPONS!, new HUD, CON scripted EVENTS, and much more. And last but not least, extra information can be found at hellreadme.txt. If you have any questions, you can ask me, XTHX2, and contact me. If you like Doom, and if you like challenges, this TC is just what you are in need of!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
|[http://www.moddb.com/games/duke-theft-auto Duke Theft Auto]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Released 1.0&lt;br /&gt;
|[[User:The_Commander|The Commander]]&lt;br /&gt;
|[[Image:DTA0000.jpg|200px]][[Image:DTA0001.jpg|200px]]&lt;br /&gt;
|Duke Theft Auto is based upon the classic DMA/Rockstar game, &amp;quot;Grand Theft Auto&amp;quot; Run, Shoot, Kill, Car Jack your way through many cities on your way of becoming the number one criminal!&lt;br /&gt;
&amp;lt;br&amp;gt;[http://www.moddb.com/games/duke-theft-auto Duke Theft Auto on ModDB]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
|[http://hosted.filefront.com/kenia43 Duke Nukem Army]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Official final Release&lt;br /&gt;
|[[User:Kenia|Kenia]]&lt;br /&gt;
|[[Image:Teaser2.jpg|200px]][[Image:Teaser3.jpg|200px]]&lt;br /&gt;
|A TC that changes Duke Nukem 3D into an exaggerated army-style shooter with various multiplayer additions (CTF, Hill Defend, Assault). Main focus is multi-player (though 1 playable single-player episode is included) and the massive unrealistic use of gore elements to turn the TC in kind of a &amp;quot;splatter game&amp;quot;. [{{YouTube}}xl1E9BtOe9U Gameplay footage]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_footer}}&lt;br /&gt;
&lt;br /&gt;
==Small Projects==&lt;br /&gt;
&lt;br /&gt;
{{Mod_header}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
| [http://forums.duke4.net/topic/4857-top-shooter/ Top Shooter]&lt;br /&gt;
|Total Conversion&lt;br /&gt;
|Released, in development&amp;lt;br&amp;gt;(Latest Release: &#039;&#039;&#039;1.1&#039;&#039;&#039;)&lt;br /&gt;
|[[User:Mblackwell|Mblackwell]]&lt;br /&gt;
|[[Image:Duke0009.jpg|200px]][[Image:Duke0021.jpg|200px]]&lt;br /&gt;
|Top Shooter is an old school top-down scrolling shooter! A fully stand-alone modification, players dodge falling Space Mines and compete for high scores. Will &#039;&#039;you&#039;&#039; be the top shooter?&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
|[http://www.moddb.com/mods/9541/duke-nukem-weapon-of-mass-destruction Duke Nukem: Weapon of Mass Destruction]&lt;br /&gt;
|Gameplay enhancement&lt;br /&gt;
|Released&amp;lt;br&amp;gt;(Latest Release: &#039;&#039;&#039;1.52 [beta]&#039;&#039;&#039;)&lt;br /&gt;
|[[User:DeeperThought|DeeperThought]]&lt;br /&gt;
|[[Image:Dnwmd1.jpg|200px]][[Image:Dnwmd2.jpg|200px]]&lt;br /&gt;
|Duke Nukem: Weapon of Mass Destruction is a gameplay mod for Duke Nukem 3D. It has tons of new weapon modes, enemies, and player abilities, such as UT style dodge moves, spinning hook kicks, and a Duke bot companion who fights by your side. In some levels you can even get in your skycar and fly it, doing bombing runs on enemies.  In DNWMD, Duke collects glowing coins from slain enemies which are used to purchase various upgrades via a mouse controlled menu. In addition, each of Duke&#039;s weapons has its own experience level which increases with use.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_table &lt;br /&gt;
|[http://files.filefront.com/Nuclear+Showdown+v11zip/;12148372;/fileinfo.html Nuclear Showdown v1.1]&lt;br /&gt;
|Gameplay enhancement&lt;br /&gt;
|Released&lt;br /&gt;
|[[User:Jblade|James Stanfield]]&lt;br /&gt;
|[[Image:NS01.jpg|200px]][[Image:NS02.jpg|200px]]&lt;br /&gt;
|Nuclear showdown is a gameplay mod for Duke Nukem that adds many features such as new weapons, enemies, effects to the default game as well as usermaps - it is built so you can play your favourite usermaps with, even ones that use custom art. You can also play through Duke It Out In D.C. if you have it. The TC also includes several features for mappers like more keycards, items such as the spacesuit and toolkit, and more textures to work with.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Mod_footer}}&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Definegamefuncname&amp;diff=12686</id>
		<title>Definegamefuncname</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Definegamefuncname&amp;diff=12686"/>
		<updated>2019-06-05T08:36:54Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;definegamefuncname&#039;&#039;&#039; &amp;lt;function&amp;gt; &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command, similar to [[definequote]], allows the CON coder to rename the various game input functions.  Note that the name of the function should contain underscores _ instead of spaces.  Functions are in the same order as they appear in the key configuration menu.  Thus, function 0 is Move Forward, and function 52 is Show Console.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
 &amp;lt;funct&amp;gt; &amp;lt;name&amp;gt;&lt;br /&gt;
  0   Move Forward&lt;br /&gt;
  1   Move Backward&lt;br /&gt;
  2   Turn Left&lt;br /&gt;
  3   Turn Right&lt;br /&gt;
  4   Strafe&lt;br /&gt;
  5   Fire&lt;br /&gt;
  6   Open&lt;br /&gt;
  7   Run&lt;br /&gt;
  8   AutoRun&lt;br /&gt;
  9   Jump&lt;br /&gt;
 10   Crouch&lt;br /&gt;
 11   Look Up&lt;br /&gt;
 12   Look Down&lt;br /&gt;
 13   Look Left&lt;br /&gt;
 14   Look Right&lt;br /&gt;
 15   Strafe Left&lt;br /&gt;
 16   Strafe Right&lt;br /&gt;
 17   Aim Up&lt;br /&gt;
 18   Aim Down&lt;br /&gt;
 19   Weapon 1&lt;br /&gt;
 20   Weapon 2&lt;br /&gt;
 21   Weapon 3&lt;br /&gt;
 22   Weapon 4&lt;br /&gt;
 23   Weapon 5&lt;br /&gt;
 24   Weapon 6&lt;br /&gt;
 25   Weapon 7&lt;br /&gt;
 26   Weapon 8&lt;br /&gt;
 27   Weapon 9&lt;br /&gt;
 28   Weapon 10&lt;br /&gt;
 29   Inventory&lt;br /&gt;
 30   Inventory Left&lt;br /&gt;
 31   Inventory Right&lt;br /&gt;
 32   Holo Duke&lt;br /&gt;
 33   Jetpack&lt;br /&gt;
 34   NightVision&lt;br /&gt;
 35   MedKit&lt;br /&gt;
 36   TurnAround&lt;br /&gt;
 37   SendMessage&lt;br /&gt;
 38   Map&lt;br /&gt;
 39   Shrink Screen&lt;br /&gt;
 40   Enlarge Screen&lt;br /&gt;
 41   Center View&lt;br /&gt;
 42   Holster Weapon&lt;br /&gt;
 43   Show Opponents Weapon&lt;br /&gt;
 44   Map Follow Mode&lt;br /&gt;
 45   See Coop View&lt;br /&gt;
 46   Mouse Aiming&lt;br /&gt;
 47   Toggle Crosshair&lt;br /&gt;
 48   Steroids&lt;br /&gt;
 49   Quick Kick&lt;br /&gt;
 50   Next Weapon&lt;br /&gt;
 51   Previous Weapon&lt;br /&gt;
 52   Show Console&lt;br /&gt;
 53   Show Dukematch Scores&lt;br /&gt;
 54   DPAD Select&lt;br /&gt;
 55   DPAD Aiming&lt;br /&gt;
 56   Alternate Weapon&lt;br /&gt;
 57   Last Used Weapon&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 definegamefuncname 11 Alt_Fire // changes the name of function 11 from &amp;quot;Look Up&amp;quot; to &amp;quot;Alt Fire&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Game manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_SKIPCUTSCENE&amp;diff=12678</id>
		<title>EVENT SKIPCUTSCENE</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_SKIPCUTSCENE&amp;diff=12678"/>
		<updated>2019-01-29T15:21:10Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_SKIPCUTSCENE is a Misc Event.  Used with startcutscene. RETURN is set to 1 when any key is pressed, and is used to control when a cutscene end...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_SKIPCUTSCENE is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Used with [[startcutscene]]. RETURN is set to 1 when any key is pressed, and is used to control when a cutscene ends.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_CONTINUELEVELMUSICSLOT&amp;diff=12676</id>
		<title>EVENT CONTINUELEVELMUSICSLOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_CONTINUELEVELMUSICSLOT&amp;diff=12676"/>
		<updated>2019-01-29T15:18:32Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_CONTINUELEVELMUSICSLOT is a Misc Event.  Called when the current track is continued after loading a save  The requested track is passed into PLAYL...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_CONTINUELEVELMUSICSLOT is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Called when the current track is continued after loading a save&lt;br /&gt;
&lt;br /&gt;
The requested track is passed into PLAYLEVELMUSICSLOT via ud.m_volume_number and ud.m_level_number.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_PLAYLEVELMUSICSLOT&amp;diff=12675</id>
		<title>EVENT PLAYLEVELMUSICSLOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_PLAYLEVELMUSICSLOT&amp;diff=12675"/>
		<updated>2019-01-29T15:17:45Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_PLAYLEVELMUSICSLOT is a Misc Event.  Called when a music track will be started from the beginning.  The requested track is passed into PLAYLEVELMU...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_PLAYLEVELMUSICSLOT is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Called when a music track will be started from the beginning.&lt;br /&gt;
&lt;br /&gt;
The requested track is passed into PLAYLEVELMUSICSLOT via ud.m_volume_number and ud.m_level_number.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_NEWGAMESCREEN&amp;diff=12674</id>
		<title>EVENT NEWGAMESCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_NEWGAMESCREEN&amp;diff=12674"/>
		<updated>2019-01-29T15:16:16Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_NEWGAMESCREEN is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when a new game is started. Set RETURN to -1 to disable The Birth intro animation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_MAINMENUSCREEN&amp;diff=12673</id>
		<title>EVENT MAINMENUSCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_MAINMENUSCREEN&amp;diff=12673"/>
		<updated>2019-01-29T15:16:06Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_MAINMENUSCREEN is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered before the main menu is displayed. Set RETURN to -1 to disable the screens that appear before the main menu.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_EXITPROGRAMSCREEN&amp;diff=12672</id>
		<title>EVENT EXITPROGRAMSCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_EXITPROGRAMSCREEN&amp;diff=12672"/>
		<updated>2019-01-29T15:15:54Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_EXITPROGRAMSCREEN is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when the program is closed. Set RETURN to -1 to disable the shareware or TEN screens, if they were enabled in LOGO_FLAGS.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_EXITGAMESCREEN&amp;diff=12671</id>
		<title>EVENT EXITGAMESCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_EXITGAMESCREEN&amp;diff=12671"/>
		<updated>2019-01-29T15:15:41Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_EXITGAMESCREEN is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when a running game is ended. Set RETURN to -1 to disable the deathmatch score screen when you quit mid-game.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_ENDLEVELSCREEN&amp;diff=12670</id>
		<title>EVENT ENDLEVELSCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_ENDLEVELSCREEN&amp;diff=12670"/>
		<updated>2019-01-29T15:15:29Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_ENDLEVELSCREEN is a [[EDuke32 event list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when a level ends. Set RETURN to -1 to disable the bonus and deathmatch score screens after a level ends.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_EXITPROGRAMSCREEN&amp;diff=12669</id>
		<title>EVENT EXITPROGRAMSCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_EXITPROGRAMSCREEN&amp;diff=12669"/>
		<updated>2019-01-29T15:14:18Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_EXITPROGRAMSCREEN is a Game Event.  Triggered when the program is closed. Set RETURN to -1 to disable the shareware or TEN screens, if they were e...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_EXITPROGRAMSCREEN is a [[EDuke32 event list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when the program is closed. Set RETURN to -1 to disable the shareware or TEN screens, if they were enabled in LOGO_FLAGS.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_EXITGAMESCREEN&amp;diff=12668</id>
		<title>EVENT EXITGAMESCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_EXITGAMESCREEN&amp;diff=12668"/>
		<updated>2019-01-29T15:13:36Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_EXITGAMESCREEN is a Game Event.  Triggered when a running game is ended. Set RETURN to -1 to disable the deathmatch score screen when you quit mid...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_EXITGAMESCREEN is a [[EDuke32 event list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when a running game is ended. Set RETURN to -1 to disable the deathmatch score screen when you quit mid-game.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_ENDLEVELSCREEN&amp;diff=12667</id>
		<title>EVENT ENDLEVELSCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_ENDLEVELSCREEN&amp;diff=12667"/>
		<updated>2019-01-29T15:12:37Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_ENDLEVELSCREEN is a Game Event.  Triggered when a level ends. Set RETURN to -1 to disable the bonus and deathmatch score screens after a level end...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_ENDLEVELSCREEN is a [[EDuke32 event list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when a level ends. Set RETURN to -1 to disable the bonus and deathmatch score screens after a level ends.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_MAINMENUSCREEN&amp;diff=12666</id>
		<title>EVENT MAINMENUSCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_MAINMENUSCREEN&amp;diff=12666"/>
		<updated>2019-01-29T15:12:02Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_MAINMENUSCREEN is a Game Event.  Triggered before the main menu is displayed. Set RETURN to -1 to disable the screens that appear before the main...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_MAINMENUSCREEN is a [[EDuke32 event list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered before the main menu is displayed. Set RETURN to -1 to disable the screens that appear before the main menu.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_NEWGAMESCREEN&amp;diff=12665</id>
		<title>EVENT NEWGAMESCREEN</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_NEWGAMESCREEN&amp;diff=12665"/>
		<updated>2019-01-29T15:11:16Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;EVENT_NEWGAMESCREEN is a Game Event.  Triggered when a new game is started. Set RETURN to -1 to disable The Birth intro animation.  Category:Events&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_NEWGAMESCREEN is a [[EDuke32 event list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
Triggered when a new game is started. Set RETURN to -1 to disable The Birth intro animation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Members_of_the_sector_structure&amp;diff=12664</id>
		<title>Members of the sector structure</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Members_of_the_sector_structure&amp;diff=12664"/>
		<updated>2019-01-20T07:05:54Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[wallptr]]&lt;br /&gt;
*[[wallnum]]&lt;br /&gt;
*[[ceilingz]]&lt;br /&gt;
*[[floorz]]&lt;br /&gt;
*[[ceilingstat]]&lt;br /&gt;
*[[floorstat]]&lt;br /&gt;
*[[ceilingpicnum]]&lt;br /&gt;
*[[ceilingslope]]&lt;br /&gt;
*[[ceilingshade]]&lt;br /&gt;
*[[ceilingpal]]&lt;br /&gt;
*[[ceilingxpanning]]&lt;br /&gt;
*[[ceilingypanning]]&lt;br /&gt;
*[[ceilingzgoal]]&lt;br /&gt;
*[[floorpicnum]]&lt;br /&gt;
*[[floorslope]]&lt;br /&gt;
*[[floorshade]]&lt;br /&gt;
*[[floorpal]]&lt;br /&gt;
*[[floorxpanning]]&lt;br /&gt;
*[[floorypanning]]&lt;br /&gt;
*[[floorzgoal]]&lt;br /&gt;
*[[visibility]]&lt;br /&gt;
*[[fogpal]]&lt;br /&gt;
*[[lotag]]&lt;br /&gt;
*[[hitag]]&lt;br /&gt;
*[[extra]]&lt;br /&gt;
*[[ceilingbunch]]&lt;br /&gt;
*[[floorbunch]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Structure access]]&lt;br /&gt;
[[Category:Sector manipulation]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Definesound&amp;diff=12663</id>
		<title>Definesound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Definesound&amp;diff=12663"/>
		<updated>2019-01-19T08:11:18Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;definesound&#039;&#039;&#039; &amp;lt;value&amp;gt; &amp;lt;filename&amp;gt; &amp;lt;pitch1&amp;gt; &amp;lt;pitch2&amp;gt; &amp;lt;priority&amp;gt; &amp;lt;type&amp;gt; &amp;lt;volume&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The definesound command defines a sound and assigns various properties to it. The maximum number of sounds that can be defined is 4096 for EDuke32, and 450 for Duke v1.5. Sound defines over 1000 won&#039;t work with the MUSICANDSOUNDFX sprite, so bear that in mind if you&#039;re working on a mod with many custom sound files.&lt;br /&gt;
*&amp;lt;value&amp;gt;: This can be either the sound&#039;s number or the name that has been [[define]]d for that number.&lt;br /&gt;
*&amp;lt;filename&amp;gt;: The name of the sound file.  Sound files are assumed to be in the same directory as the program unless a folder path is specified. Assume that the user&#039;s OS is case sensitive, and directory delimiters are forward slashes (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;) rather than backslashes (&amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;).&lt;br /&gt;
*&amp;lt;pitch1&amp;gt; and &amp;lt;pitch2&amp;gt;: These are a random pitch variation range.  Values may be positive or negative. For example, if you want you sound to have a chance of both moderate increase and decrease in pitch, you would use values such as &amp;lt;code&amp;gt;-512 512&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&amp;lt;priority&amp;gt;: A value of 0 to 255 indicates the priority the sound has over other sounds that are playing simultaneously.  The higher the value, the greater its priority.  This is due to the limit on the number of sounds that can play at once. Take a look at the original USER.CON to see what kinds of sounds get what kinds of priority. For example, most Duke remarks are maxed out at 255.&lt;br /&gt;
*&amp;lt;type&amp;gt;: This flag is a [[bitfield]] which indicates what type of sound you are defining.&lt;br /&gt;
:Bit #0 (&#039;&#039;&#039;1&#039;&#039;&#039;):  The sound repeats if continually played.&lt;br /&gt;
:Bit #1 (&#039;&#039;&#039;2&#039;&#039;&#039;):  The sound is an ambient effect.  Disabling ambience in the menu will mute this sound.&lt;br /&gt;
::Bit #0 + Bit #1 (&#039;&#039;&#039;3&#039;&#039;&#039;): The sound will loop until instructed to stop.&lt;br /&gt;
:Bit #2 (&#039;&#039;&#039;4&#039;&#039;&#039;):  The sound is a player voice.  Disabling &amp;quot;Duke Talk&amp;quot; in the menu will mute this sound.&lt;br /&gt;
:Bit #3 (&#039;&#039;&#039;8&#039;&#039;&#039;):  The sound contains offensive content.  Disabling &amp;quot;Adult Mode&amp;quot; or enabling the parental lock in the menu will mute this sound.&lt;br /&gt;
:Bit #4 (&#039;&#039;&#039;16&#039;&#039;&#039;): The sound will always be heard from anywhere in the level. (See [[globalsound]].) (sndist = 0)&lt;br /&gt;
:Bit #7 (&#039;&#039;&#039;128&#039;&#039;&#039;): The sound is used in Duke-Tag.&lt;br /&gt;
*&amp;lt;volume&amp;gt;: Negative values increase volume; positive ones soften it.  Can range from -32768 to 32767. Note that this value does not actually affect the sound&#039;s volume, but rather it modifies the distance registered between it and any listening players. As such, this has no effect on global sounds or sounds made by the player.&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>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_SOUND&amp;diff=12643</id>
		<title>EVENT SOUND</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_SOUND&amp;diff=12643"/>
		<updated>2018-07-26T04:53:11Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_SOUND is a [[EDuke32 event list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This [[event]] is triggered upon playback of any sound, and allows hard coded sounds to be altered in a context-aware fashion. The [[RETURN]] variable is set to the sound effect number of the sound that is being played. Set [[RETURN]] to the sound you want to be played instead, or set it to -1 to cancel playback. THISACTOR is set to the id of the actor playing the sound (&#039;globalsound&#039; and &#039;screensound&#039; sounds will default to the player) &lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Undefinecheat&amp;diff=12549</id>
		<title>Undefinecheat</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Undefinecheat&amp;diff=12549"/>
		<updated>2018-03-05T20:16:10Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;undefinecheat&amp;#039;&amp;#039;&amp;#039; &amp;lt;cheat number&amp;gt;   Can be used to disable a cheat code.  See definecheat for a list of cheats and their codes.  Category:EDuke32 specific commands ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;undefinecheat&#039;&#039;&#039; &amp;lt;cheat number&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Can be used to disable a cheat code.&lt;br /&gt;
&lt;br /&gt;
See [[definecheat]] for a list of cheats and their codes.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Game manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Menubackground&amp;diff=12548</id>
		<title>Menubackground</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Menubackground&amp;diff=12548"/>
		<updated>2018-03-05T08:25:01Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;Set to 0 to disable the black transparent mask behind the in-game menu.  Category:Userdef structure members&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Set to 0 to disable the black transparent mask behind the in-game menu.&lt;br /&gt;
&lt;br /&gt;
[[Category:Userdef structure members]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=LOGO_FLAGS&amp;diff=12547</id>
		<title>LOGO FLAGS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=LOGO_FLAGS&amp;diff=12547"/>
		<updated>2018-03-05T07:26:55Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LOGO_FLAGS is a [[gamevar]] that controls the appearance of the introduction and menu.&lt;br /&gt;
&lt;br /&gt;
It is a [[bitfield]]. The default value is 255.  That is, all the bits below 256 are set. The values are:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039;    - LOGO_ENABLED&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039;    - LOGO_PLAYANIM&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;4&#039;&#039;&#039;    - LOGO_PLAYMUSIC&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;8&#039;&#039;&#039;    - LOGO_3DRSCREEN&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;16&#039;&#039;&#039;   - LOGO_TITLESCREEN&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;32&#039;&#039;&#039;   - LOGO_DUKENUKEM&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;64&#039;&#039;&#039;   - LOGO_THREEDEE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;128&#039;&#039;&#039;  - LOGO_PLUTOPAKSPRITE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;256&#039;&#039;&#039;  - LOGO_SHAREWARESCREENS&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;512&#039;&#039;&#039;  - LOGO_TENSCREEN&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1024&#039;&#039;&#039; - LOGO_STOPANIMSOUNDS&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2048&#039;&#039;&#039; - LOGO_NOE4CUTSCENE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;4096&#039;&#039;&#039; - LOGO_NOE1BONUSSCENE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;8192&#039;&#039;&#039; - LOGO_NOE2BONUSSCENE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;16384&#039;&#039;&#039; - LOGO_NOE3BONUSSCENE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;32768&#039;&#039;&#039; - LOGO_NOE4BONUSSCENE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;65536&#039;&#039;&#039; - LOGO_NOE1ENDSCREEN&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;131072&#039;&#039;&#039; - LOGO_NOE2ENDSCREEN&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;262144&#039;&#039;&#039; - LOGO_NOE3RADLOGO&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;524288&#039;&#039;&#039; - LOGO_NODUKETEAMTEXT&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1048576&#039;&#039;&#039; - LOGO_NODUKETEAMPIC&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2097152&#039;&#039;&#039; - LOGO_STOPMISCSOUNDS&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;4194304&#039;&#039;&#039; - LOGO_NOGAMETITLE&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;8388608&#039;&#039;&#039; - LOGO_NOTITLEBAR&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;33554432&#039;&#039;&#039; - LOGO_NOHELP&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;67108864&#039;&#039;&#039; - LOGO_NOCREDITS&lt;br /&gt;
&lt;br /&gt;
(The names following the numeric values are merely informational, they do not denote labels predefined from CON.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Bitfields]]&lt;br /&gt;
[[Category:Pre-defined gamevars]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Clamp&amp;diff=12546</id>
		<title>Clamp</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Clamp&amp;diff=12546"/>
		<updated>2018-03-05T06:57:28Z</updated>

		<summary type="html">&lt;p&gt;Jblade: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;clamp&amp;#039;&amp;#039;&amp;#039; &amp;lt;gamevar&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt;  Will lock &amp;lt;gamevar&amp;gt; to the minimum/maximum values set if it tries to exceed them.  Category:EDuke commands Category:Gamevar ma...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;clamp&#039;&#039;&#039; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;min&amp;gt; &amp;lt;max&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Will lock &amp;lt;[[gamevar]]&amp;gt; to the minimum/maximum values set if it tries to exceed them.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke commands]]&lt;br /&gt;
[[Category:Gamevar manipulation]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Startscreen&amp;diff=12531</id>
		<title>Startscreen</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Startscreen&amp;diff=12531"/>
		<updated>2018-01-30T10:35:56Z</updated>

		<summary type="html">&lt;p&gt;Jblade: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Use &#039;&#039;&#039;startscreen&#039;&#039;&#039; to take control away from the game and display content with rotatesprite. Paired with [[EVENT_SCREEN]].&lt;br /&gt;
&lt;br /&gt;
RETURN is set to 1 when any key is pressed, and if it is nonzero when the event ends, the screen ends and the game resumes.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>Jblade</name></author>
	</entry>
</feed>