<?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=Doom64hunter</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=Doom64hunter"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/wiki/Special:Contributions/Doom64hunter"/>
	<updated>2026-04-04T09:21:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Template:Gamearray_flags&amp;diff=15048</id>
		<title>Template:Gamearray flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Template:Gamearray_flags&amp;diff=15048"/>
		<updated>2025-09-10T19:48:37Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Label!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Internal&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;8&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;GAMEARRAY_RESET&amp;lt;/font&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16 || GAMEARRAY_RESTORE || If set, the state of the array will be written to/read from the saved mapstate when using the command [[savemapstate]]/[[loadmapstate]]. &amp;lt;br&amp;gt;Has no effect on savegames -- arrays will always be restored to the state they were in when the game was saved.&lt;br /&gt;
|-&lt;br /&gt;
| No || 32 || GAMEARRAY_VARSIZE || &lt;br /&gt;
|-&lt;br /&gt;
| No || 256 || GAMEARRAY_STRIDE2 || &lt;br /&gt;
|-&lt;br /&gt;
| No || 512 || GAMEARRAY_ALLOCATED || &lt;br /&gt;
|-&lt;br /&gt;
| No || 2048 || GAMEARRAY_SYSTEM || &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Internal&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;4096&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;GAMEARRAY_READONLY&amp;lt;/font&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16384 || GAMEARRAY_INT16 || Values range from -32768 to 32767&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 32768 || GAMEARRAY_INT8 || Values range from -128 to 127&lt;br /&gt;
|-&lt;br /&gt;
| No || 65536 || GAMEARRAY_UNSIGNED || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16384 + 65536 || GAMEARRAY_UINT16 || Values range from 0 to 65536&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 32768 + 65536 || GAMEARRAY_UINT8 || Values range from 0 to 255&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 1048576 || GAMEARRAY_BOOLEAN || Values are 0 or 1.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Internal || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;2097152 || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;GAMEARRAY_WARN || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Pages with templates]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Template:Gamearray_flags&amp;diff=15047</id>
		<title>Template:Gamearray flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Template:Gamearray_flags&amp;diff=15047"/>
		<updated>2025-09-10T19:48:18Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Label!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Internal&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;8&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;GAMEARRAY_RESET&amp;lt;/font&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16 || GAMEARRAY_RESTORE || If set, the state of the array will be written/read to/from the saved mapstate when using the command [[savemapstate]]/[[loadmapstate]]. &amp;lt;br&amp;gt;Has no effect on savegames -- arrays will always be restored to the state they were in when the game was saved.&lt;br /&gt;
|-&lt;br /&gt;
| No || 32 || GAMEARRAY_VARSIZE || &lt;br /&gt;
|-&lt;br /&gt;
| No || 256 || GAMEARRAY_STRIDE2 || &lt;br /&gt;
|-&lt;br /&gt;
| No || 512 || GAMEARRAY_ALLOCATED || &lt;br /&gt;
|-&lt;br /&gt;
| No || 2048 || GAMEARRAY_SYSTEM || &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Internal&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;4096&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;GAMEARRAY_READONLY&amp;lt;/font&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16384 || GAMEARRAY_INT16 || Values range from -32768 to 32767&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 32768 || GAMEARRAY_INT8 || Values range from -128 to 127&lt;br /&gt;
|-&lt;br /&gt;
| No || 65536 || GAMEARRAY_UNSIGNED || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16384 + 65536 || GAMEARRAY_UINT16 || Values range from 0 to 65536&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 32768 + 65536 || GAMEARRAY_UINT8 || Values range from 0 to 255&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 1048576 || GAMEARRAY_BOOLEAN || Values are 0 or 1.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Internal || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;2097152 || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;GAMEARRAY_WARN || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Pages with templates]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Qstrcmp&amp;diff=14904</id>
		<title>Qstrcmp</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Qstrcmp&amp;diff=14904"/>
		<updated>2024-05-28T20:54:27Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Correct the documentation. The return value is not guaranteed to be 1 and -1 if non-equal.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;qstrcmp&#039;&#039;&#039; &amp;lt;quote1&amp;gt; &amp;lt;quote2&amp;gt; &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compare two quotes. The return value is zero if they are identical, smaller than zero if the first quote comes first in lexicographical order, or greater than zero if it comes later.&lt;br /&gt;
&lt;br /&gt;
Note that the return value is taken directly from the &amp;lt;code&amp;gt;strcmp&amp;lt;/code&amp;gt; function of the [https://en.cppreference.com/w/c/string/byte/strcmp C standard library], and may differ between implementations (e.g. on Windows and Linux). Do not assume that it will return any specific value, only that it is smaller, greater or equal to zero. &lt;br /&gt;
&lt;br /&gt;
Also note that the lexicographical order is rudimentary, for example &amp;quot;Player 2&amp;quot; is considered greater than &amp;quot;Player 10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:String manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_USESTEROIDS&amp;diff=14902</id>
		<title>EVENT USESTEROIDS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_USESTEROIDS&amp;diff=14902"/>
		<updated>2024-04-06T19:31:30Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Clarify description of return value and add example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_USESTEROIDS|2=player that executed the input|3=[[i|player-&amp;gt;i]]|4=1 value}}&lt;br /&gt;
EVENT_USESTEROIDS is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This [[event]] is called when the player presses the button assigned to Use Steroids (&#039;&#039;R&#039;&#039; key by default).&lt;br /&gt;
&lt;br /&gt;
Set gamevar [[RETURN]] to any non-zero value to skip the hardcoded effects of the steroids activation. However, note that you can still define your own behavior for the Steroids item within the event.&lt;br /&gt;
&lt;br /&gt;
The following CON code would replicate the hardcoded Steroids behavior:&lt;br /&gt;
&lt;br /&gt;
  var temp_steroids 0 0&lt;br /&gt;
  &lt;br /&gt;
  onevent EVENT_USESTEROIDS&lt;br /&gt;
      ife player[].steroids_amount 400&lt;br /&gt;
      {&lt;br /&gt;
          getp[].steroids_amount temp_steroids&lt;br /&gt;
          sub temp_steroids 1&lt;br /&gt;
          setp[].steroids_amount temp_steroids&lt;br /&gt;
          sound DUKE_TAKEPILLS&lt;br /&gt;
          quote 12&lt;br /&gt;
      }&lt;br /&gt;
  &lt;br /&gt;
      ifg player[].steroids_amount 0&lt;br /&gt;
          setp[].inven_icon 2&lt;br /&gt;
  &lt;br /&gt;
      set RETURN 1&lt;br /&gt;
  endevent&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Pre-defined_values&amp;diff=14880</id>
		<title>Pre-defined values</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Pre-defined_values&amp;diff=14880"/>
		<updated>2024-01-21T19:34:38Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: /* Arrays */ Add gotsector&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Categories ==&lt;br /&gt;
&lt;br /&gt;
=== Game modes ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Gm]]&lt;br /&gt;
&lt;br /&gt;
{{Gm}}&lt;br /&gt;
&lt;br /&gt;
=== Multiplayer game types ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Gametypes]]&lt;br /&gt;
&lt;br /&gt;
{{Gametypes}}&lt;br /&gt;
&lt;br /&gt;
=== Rendmodes ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Rendmodes]]&lt;br /&gt;
&lt;br /&gt;
{{Rendmodes}}&lt;br /&gt;
&lt;br /&gt;
=== Globalflags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Globalflags]]&lt;br /&gt;
&lt;br /&gt;
{{Globalflags}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;br /&gt;
&lt;br /&gt;
=== Globalgameflags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Globalgameflags]]&lt;br /&gt;
&lt;br /&gt;
{{Globalgameflags}}&lt;br /&gt;
&lt;br /&gt;
=== Menus ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Menus]]&lt;br /&gt;
&lt;br /&gt;
{{Menus}}&lt;br /&gt;
&lt;br /&gt;
=== Logo flags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Logo flags]]&lt;br /&gt;
&lt;br /&gt;
{{Logo flags}}&lt;br /&gt;
&lt;br /&gt;
=== Status bar flags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Status bar flags]]&lt;br /&gt;
&lt;br /&gt;
{{Status bar flags}}&lt;br /&gt;
&lt;br /&gt;
=== Input keys ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Input keys]]&lt;br /&gt;
&lt;br /&gt;
{{Input keys}}&lt;br /&gt;
&lt;br /&gt;
=== Input bits ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Bits]]&lt;br /&gt;
&lt;br /&gt;
{{Bits}}&lt;br /&gt;
&lt;br /&gt;
=== Input extbits ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Extbits]]&lt;br /&gt;
&lt;br /&gt;
{{Extbits}}&lt;br /&gt;
&lt;br /&gt;
=== Cheats ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Cheats]]&lt;br /&gt;
&lt;br /&gt;
{{Cheats}}&lt;br /&gt;
&lt;br /&gt;
=== Quotes ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Quotes]]&lt;br /&gt;
&lt;br /&gt;
{{Quotes}}&lt;br /&gt;
&lt;br /&gt;
=== Floor/Ceiling cstat ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Sector cstat]]&lt;br /&gt;
&lt;br /&gt;
{{Sector cstat}}&lt;br /&gt;
&lt;br /&gt;
=== Wall cstat ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Wall cstat]]&lt;br /&gt;
&lt;br /&gt;
{{Wall cstat}}&lt;br /&gt;
&lt;br /&gt;
=== Sprite cstat ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Cstat]]&lt;br /&gt;
&lt;br /&gt;
{{Cstat}}&lt;br /&gt;
&lt;br /&gt;
=== Gameflags / Spriteflags / Htflags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Htflags]]&lt;br /&gt;
&lt;br /&gt;
{{Htflags}}&lt;br /&gt;
&lt;br /&gt;
=== Statnums ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Statnums]]&lt;br /&gt;
&lt;br /&gt;
{{Statnums}}&lt;br /&gt;
&lt;br /&gt;
=== Mdflags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Mdflags]]&lt;br /&gt;
&lt;br /&gt;
{{Mdflags}}&lt;br /&gt;
&lt;br /&gt;
=== Orientation ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Orientation]]&lt;br /&gt;
&lt;br /&gt;
{{Orientation}}&lt;br /&gt;
&lt;br /&gt;
===Text Properties===&lt;br /&gt;
&lt;br /&gt;
[[Template:Screentext flags]]&lt;br /&gt;
&lt;br /&gt;
{{Screentext flags}}&lt;br /&gt;
&lt;br /&gt;
=== Tilenums ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Tilenums]]&lt;br /&gt;
&lt;br /&gt;
{{Tilenums}}&lt;br /&gt;
&lt;br /&gt;
=== Base palettes ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Basepals]]&lt;br /&gt;
&lt;br /&gt;
{{Basepals}}&lt;br /&gt;
&lt;br /&gt;
=== Lookup palettes ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Pals]]&lt;br /&gt;
&lt;br /&gt;
{{Pals}}&lt;br /&gt;
&lt;br /&gt;
=== Music ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Music]]&lt;br /&gt;
&lt;br /&gt;
{{Music}}&lt;br /&gt;
&lt;br /&gt;
=== Inventory icon ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Inventory]]&lt;br /&gt;
&lt;br /&gt;
{{Inventory}}&lt;br /&gt;
&lt;br /&gt;
=== Weapon flags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Weapon flags]]&lt;br /&gt;
&lt;br /&gt;
{{Weapon flags}}&lt;br /&gt;
&lt;br /&gt;
=== PROJ_WORKSLIKE flags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Proj workslike]]&lt;br /&gt;
&lt;br /&gt;
{{Proj workslike}}&lt;br /&gt;
&lt;br /&gt;
=== Move flag ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Htmovflags]]&lt;br /&gt;
&lt;br /&gt;
{{Htmovflags}}&lt;br /&gt;
&lt;br /&gt;
=== Gamevar flags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Gamevar flags]]&lt;br /&gt;
&lt;br /&gt;
{{Gamevar flags}}&lt;br /&gt;
&lt;br /&gt;
=== Gamearray flags ===&lt;br /&gt;
&lt;br /&gt;
[[Template:Gamearray flags]]&lt;br /&gt;
&lt;br /&gt;
{{Gamearray flags}}&lt;br /&gt;
&lt;br /&gt;
== Misc values ==&lt;br /&gt;
&lt;br /&gt;
=== Variable values ===&lt;br /&gt;
&lt;br /&gt;
These values are pre-defined, however they are not static.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Label!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| No || 16 || MAXGAMETYPES || &lt;br /&gt;
|-&lt;br /&gt;
| No || 7 || MAXVOLUMES || &lt;br /&gt;
|-&lt;br /&gt;
| No || 64 || MAXLEVELS || &lt;br /&gt;
|-&lt;br /&gt;
| No || 7 || MAXSKILLS || &lt;br /&gt;
|-&lt;br /&gt;
| No || 4096 || MAXSECTORS || &lt;br /&gt;
|-&lt;br /&gt;
| No || 16384 || MAXWALLS || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16384 || MAXSPRITES || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 2560 || MAXSPRITESONSCREEN || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 30720 || MAXTILES || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 12 || MAX_WEAPONS || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 define MAXGAMETYPES                     16&lt;br /&gt;
 define MAXVOLUMES                       7&lt;br /&gt;
 define MAXLEVELS                        64&lt;br /&gt;
 define MAXSKILLS                        7&lt;br /&gt;
 define MAXSECTORS                       4096&lt;br /&gt;
 define MAXWALLS                         16384&lt;br /&gt;
&lt;br /&gt;
=== Misc values ===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Label!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| No || 120 || TICRATE || &lt;br /&gt;
|-&lt;br /&gt;
| No || 26 || GAMETICSPERSEC || &lt;br /&gt;
|-&lt;br /&gt;
| No || 30 || REALGAMETICSPERSEC || &lt;br /&gt;
|-&lt;br /&gt;
| No || 4 || TICSPERFRAME || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 define TICRATE                          120&lt;br /&gt;
 define GAMETICSPERSEC                   26&lt;br /&gt;
 define REALGAMETICSPERSEC               30&lt;br /&gt;
 define TICSPERFRAME                     4&lt;br /&gt;
&lt;br /&gt;
== Vars ==&lt;br /&gt;
&lt;br /&gt;
Notes: All pre-defined gamevars have GAMEVAR_SYSTEM flag.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Name!!Flags!!Same as!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 120 || GRENADE_LIFETIME || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 30 || GRENADE_LIFETIME_VAR || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 1 || PIPEBOMB_CONTROL ||  GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 120 || STICKYBOMB_LIFETIME || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 30 || STICKYBOMB_LIFETIME_VAR || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 1 || TRIPBOMB_CONTROL || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 18 || ANGRANGE || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || AUTOAIMANGLE || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || COOP || GAMEVAR_INT32PTR || [[coop]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || FFIRE || GAMEVAR_INT32PTR || [[ffire]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || HITAG || GAMEVAR_SYSTEM ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || LEVEL || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY || [[level_number]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || LOTAG || GAMEVAR_SYSTEM ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || MARKER || GAMEVAR_INT32PTR || [[marker]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || MONSTERS_OFF || GAMEVAR_INT32PTR || [[monsters_off]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || MULTIMODE || GAMEVAR_INT32PTR || [[multimode]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || NUMSECTORS || GAMEVAR_INT16PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || NUMWALLS || GAMEVAR_INT16PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || Numsprites || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || RESPAWN_INVENTORY || GAMEVAR_INT32PTR || [[respawn_inventory]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || RESPAWN_ITEMS || GAMEVAR_INT32PTR || [[respawn_items]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || RESPAWN_MONSTERS || GAMEVAR_INT32PTR || [[respawn_monsters]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || RETURN || GAMEVAR_SYSTEM || [[return]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || TEXTURE || GAMEVAR_SYSTEM ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || THISACTOR || GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || VOLUME || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY || [[volume_number]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || WEAPON || GAMEVAR_PERPLAYER&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0 || WORKSLIKE || GAMEVAR_PERPLAYER&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 4 || ZRANGE || GAMEVAR_PERPLAYER ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || automapping || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || cameraang || GAMEVAR_Q16PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || cameraclock || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || cameradist || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || camerahoriz || GAMEVAR_Q16PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || cameraq16ang || GAMEVAR_RAWQ16PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || cameraq16horiz || GAMEVAR_RAWQ16PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || camerasect || GAMEVAR_INT16PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || camerax || GAMEVAR_INT32PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || cameray || GAMEVAR_INT32PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || cameraz || GAMEVAR_INT32PTR ||&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || current_menu || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || currentweapon || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || display_mirror || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || framerate || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || gametype_flags || GAMEVAR_INT32PTR || [[gametypeflags]]&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || gravitationalconstant || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || gs || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || gun_pos || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || lastsavepos || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || lastvisinc || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || looking_angSR1 || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || looking_arc || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || myconnectindex || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || numplayers || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || numsectors || GAMEVAR_INT16PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || randomseed || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || screenpeek || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || totalclock || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || viewingrange || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || weapon_xoffset || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || weaponcount || GAMEVAR_INT32PTR ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || windowx1 || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || windowx2 || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || windowy1 || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || windowy2 || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || xdim || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  || ydim || GAMEVAR_INT32PTR&amp;lt;br /&amp;gt;GAMEVAR_READONLY ||  || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Weapon gamevars ==&lt;br /&gt;
&lt;br /&gt;
[[Template:Weapon gamevars]]&lt;br /&gt;
&lt;br /&gt;
{{Weapon gamevars}}&lt;br /&gt;
&lt;br /&gt;
== Arrays ==&lt;br /&gt;
&lt;br /&gt;
Notes: All pre-defined arrays have GAMEARRAY_SYSTEM flag.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Name!!Flags!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  gotpic || MAXTILES || GAMEARRAY_BOOLEAN || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  gotsector || MAXSECTORS || GAMEARRAY_BOOLEAN || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  radiusdmgstatnums ||  MAXSTATUS || GAMEARRAY_BOOLEAN || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  show2dsector || MAXSECTORS || GAMEARRAY_BOOLEAN || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  tilesizx || MAXTILES ||  GAMEARRAY_STRIDE2&amp;lt;br /&amp;gt;GAMEARRAY_READONLY&amp;lt;br /&amp;gt;GAMEARRAY_INT1 || &lt;br /&gt;
|-&lt;br /&gt;
| Yes ||  tilesizy || MAXTILES || GAMEARRAY_STRIDE2&amp;lt;br /&amp;gt;GAMEARRAY_READONLY&amp;lt;br /&amp;gt;GAMEARRAY_INT1 || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_PREWEAPONSHOOT&amp;diff=14879</id>
		<title>EVENT PREWEAPONSHOOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_PREWEAPONSHOOT&amp;diff=14879"/>
		<updated>2024-01-07T20:43:58Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_PREWEAPONSHOOT|2=player that executed the input|3=[[i|player-&amp;gt;i]]|4=2 values}}&lt;br /&gt;
EVENT_PREWEAPONSHOOT is a [[EDuke32 event list|game event]].&lt;br /&gt;
&lt;br /&gt;
This [[event]] is called when the player fires a projectile in the defined weapon sequence (P_FireWeapon), just before the projectile is spawned.&lt;br /&gt;
&lt;br /&gt;
Note that it does not trigger if [[shoot]] is run manually from the player actor.&lt;br /&gt;
&lt;br /&gt;
See also [[EVENT_POSTWEAPONSHOOT]].&lt;br /&gt;
&lt;br /&gt;
== Return Values ==&lt;br /&gt;
&lt;br /&gt;
This event has two return values:&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 0 ([[RETURN]])&lt;br /&gt;
:: Setting this to any non-zero value prevents spawning the projectile, but otherwise continues execution of P_FireWeapon as normal. Note that if this is nonzero, [[EVENT_POSTWEAPONSHOOT]] will not trigger.&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 1&lt;br /&gt;
:: Contains the index of the projectile if they are being fired in a burst, starting from 0. For single shots, this is always 0.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_POSTWEAPONSHOOT&amp;diff=14878</id>
		<title>EVENT POSTWEAPONSHOOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_POSTWEAPONSHOOT&amp;diff=14878"/>
		<updated>2024-01-07T20:42:19Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: clarify&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_POSTWEAPONSHOOT|2=player that executed the input|3=[[i|player-&amp;gt;i]]|4=2 values}}&lt;br /&gt;
EVENT_POSTWEAPONSHOOT is a [[EDuke32 event list|game event]].&lt;br /&gt;
&lt;br /&gt;
This [[event]] is called when the player fires a projectile in the defined weapon sequence (P_FireWeapon), directly after the projectile has been spawned.&lt;br /&gt;
&lt;br /&gt;
Note that it does not trigger if [[shoot]] is run manually from the player actor.&lt;br /&gt;
&lt;br /&gt;
See also [[EVENT_PREWEAPONSHOOT]].&lt;br /&gt;
&lt;br /&gt;
== Return Values ==&lt;br /&gt;
&lt;br /&gt;
This event has two return values:&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 0 ([[RETURN]])&lt;br /&gt;
:: This value contains the spritenum of the projectile if spawning was successful, or -1 otherwise. Changing this value does nothing.&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 1&lt;br /&gt;
:: Contains the index of the projectile if they are being fired in a burst, starting from 0. For single shots, this is always 0.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Prependstate&amp;diff=14877</id>
		<title>Prependstate</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Prependstate&amp;diff=14877"/>
		<updated>2024-01-07T17:52:40Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;prependstate&amp;#039;&amp;#039;&amp;#039; allows appending additional code to the beginning of an existing state.  It is essentially the analog to onevent for states, and is mainly intended for modifying existing scripts in a seperate module.  See also appendstate.  Category:EDuke32 specific commands&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;prependstate&#039;&#039;&#039; allows appending additional code to the beginning of an existing [[state]].&lt;br /&gt;
&lt;br /&gt;
It is essentially the analog to [[onevent]] for states, and is mainly intended for modifying existing scripts in a seperate module.&lt;br /&gt;
&lt;br /&gt;
See also [[appendstate]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Appendstate&amp;diff=14876</id>
		<title>Appendstate</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Appendstate&amp;diff=14876"/>
		<updated>2024-01-07T17:51:59Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;appendstate&amp;#039;&amp;#039;&amp;#039; allows appending additional code to the end of an existing state.  It is essentially the analog to appendevent for states, and is mainly intended for modifying existing scripts in a seperate module.  See also prependstate.  Category:EDuke32 specific commands&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;appendstate&#039;&#039;&#039; allows appending additional code to the end of an existing [[state]].&lt;br /&gt;
&lt;br /&gt;
It is essentially the analog to [[appendevent]] for states, and is mainly intended for modifying existing scripts in a seperate module.&lt;br /&gt;
&lt;br /&gt;
See also [[prependstate]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_POSTWEAPONSHOOT&amp;diff=14875</id>
		<title>EVENT POSTWEAPONSHOOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_POSTWEAPONSHOOT&amp;diff=14875"/>
		<updated>2024-01-07T17:40:29Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;{{EventTable|1=EVENT_POSTWEAPONSHOOT|2=player that executed the input|3=player-&amp;gt;i|4=2 values}} EVENT_POSTWEAPONSHOOT is a game event.  This event is called when the player fires a projectile, directly after the projectile has been spawned.  See also EVENT_PREWEAPONSHOOT.  == Return Values ==  This event has two return values:  :; userdef.return 0 (RETURN) :: This value contains the spritenum of the projectile if spawning was succe...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_POSTWEAPONSHOOT|2=player that executed the input|3=[[i|player-&amp;gt;i]]|4=2 values}}&lt;br /&gt;
EVENT_POSTWEAPONSHOOT is a [[EDuke32 event list|game event]].&lt;br /&gt;
&lt;br /&gt;
This [[event]] is called when the player fires a projectile, directly after the projectile has been spawned.&lt;br /&gt;
&lt;br /&gt;
See also [[EVENT_PREWEAPONSHOOT]].&lt;br /&gt;
&lt;br /&gt;
== Return Values ==&lt;br /&gt;
&lt;br /&gt;
This event has two return values:&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 0 ([[RETURN]])&lt;br /&gt;
:: This value contains the spritenum of the projectile if spawning was successful, or -1 otherwise. Changing this value does nothing.&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 1&lt;br /&gt;
:: Contains the index of the projectile if they are being fired in a burst, starting from 0. For single shots, this is always 0.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_PREWEAPONSHOOT&amp;diff=14874</id>
		<title>EVENT PREWEAPONSHOOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_PREWEAPONSHOOT&amp;diff=14874"/>
		<updated>2024-01-07T17:37:05Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;{{EventTable|1=EVENT_PREWEAPONSHOOT|2=player that executed the input|3=player-&amp;gt;i|4=2 values}} EVENT_PREWEAPONSHOOT is a game event.  This event is called when the player fires a projectile, just before the projectile has been spawned.  See also EVENT_POSTWEAPONSHOOT.  == Return Values ==  This event has two return values:  :; userdef.return 0 (RETURN) :: Setting this to any non-zero value prevents spawning the projectile that is b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_PREWEAPONSHOOT|2=player that executed the input|3=[[i|player-&amp;gt;i]]|4=2 values}}&lt;br /&gt;
EVENT_PREWEAPONSHOOT is a [[EDuke32 event list|game event]].&lt;br /&gt;
&lt;br /&gt;
This [[event]] is called when the player fires a projectile, just before the projectile has been spawned.&lt;br /&gt;
&lt;br /&gt;
See also [[EVENT_POSTWEAPONSHOOT]].&lt;br /&gt;
&lt;br /&gt;
== Return Values ==&lt;br /&gt;
&lt;br /&gt;
This event has two return values:&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 0 ([[RETURN]])&lt;br /&gt;
:: Setting this to any non-zero value prevents spawning the projectile that is being fired.&lt;br /&gt;
&lt;br /&gt;
:; userdef.return 1&lt;br /&gt;
:: Contains the index of the projectile if they are being fired in a burst, starting from 0. For single shots, this is always 0.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_PREACTORDAMAGE&amp;diff=14873</id>
		<title>EVENT PREACTORDAMAGE</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_PREACTORDAMAGE&amp;diff=14873"/>
		<updated>2024-01-07T17:23:32Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;{{EventTable|1=EVENT_PREACTORDAMAGE|2=closest player to sprite|3=sprite being damaged|4=1 value}}  &amp;#039;&amp;#039;&amp;#039;EVENT_PREACTORDAMAGE&amp;#039;&amp;#039;&amp;#039; is a Game Event.  This event is triggered whenever an actor runs ifhitweapon, just before the accumulated damage in htextra is applied to the actor&amp;#039;s extra.  RETURN is initially set to 0. If nonzero, damage will not be applied for this run of the damage calculation -- however, htextra will also not be set to...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_PREACTORDAMAGE|2=closest player to sprite|3=sprite being damaged|4=1 value}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVENT_PREACTORDAMAGE&#039;&#039;&#039; is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is triggered whenever an actor runs [[ifhitweapon]], just before the accumulated damage in [[htextra]] is applied to the actor&#039;s [[extra]].&lt;br /&gt;
&lt;br /&gt;
[[RETURN]] is initially set to 0. If nonzero, damage will not be applied for this run of the damage calculation -- however, htextra will also not be set to -1, meaning that without doing anything else, the next execution of [[ifhitweapon]] may still apply the damage.&lt;br /&gt;
&lt;br /&gt;
Altering htextra in this state allows you to change the accumulated damage that is applied to the actor&#039;s health.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Event_list&amp;diff=14872</id>
		<title>Event list</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Event_list&amp;diff=14872"/>
		<updated>2024-01-07T17:06:22Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Add EVENT_PREACTORDAMAGE, EVENT_PREWEAPONSHOOT, EVENT_POSTWEAPONSHOOT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
{| cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
This is a list of every event in the current release of EDuke32.&lt;br /&gt;
&lt;br /&gt;
All [[events]] are accessed using the [[onevent]] and [[appendevent]] commands.&lt;br /&gt;
&lt;br /&gt;
See also: [[:Category:Event manipulation|Event Manipulation]].&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;1%&amp;quot; nowrap=&amp;quot;nowrap&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; [[unsynchronized events|Unsynchronized events]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; may recurse&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt; no current player number set&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt; no THISACTOR set&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt; eduke32 standalone build only&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt; executes at framerate&lt;br /&gt;
|}&lt;br /&gt;
{| cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Misc events&lt;br /&gt;
*[[EVENT_ACTIVATECHEAT]]&amp;lt;sup&amp;gt;[1][2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CAPIR]]&amp;lt;sup&amp;gt;[1][3][5]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETBOOT]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETFIRSTAID]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETHEAT]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETHOLODUKE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETJETPACK]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETSCUBA]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETSHIELD]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETSTEROIDS]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_ENDLEVELSCREEN]]&lt;br /&gt;
*[[EVENT_EXITGAMESCREEN]]&lt;br /&gt;
*[[EVENT_EXITPROGRAMSCREEN]]&lt;br /&gt;
*[[EVENT_INIT]]&amp;lt;sup&amp;gt;[1][3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_INITCOMPLETE]]&amp;lt;sup&amp;gt;[1][3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_LOADGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MAINMENUSCREEN]]&lt;br /&gt;
*[[EVENT_NEWGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_NEWGAMESCREEN]]&lt;br /&gt;
*[[EVENT_POSTSAVEGAME]]&lt;br /&gt;
*[[EVENT_PRELOADGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SAVEGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SETDEFAULTS]]&amp;lt;sup&amp;gt;[1][3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_VALIDATESTART]]&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (in-game)&lt;br /&gt;
*[[EVENT_DISPLAYROOMS]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYROOMSCAMERA]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYROOMSCAMERATILE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYROOMSEND]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_RESETGOTPICS]]&amp;lt;sup&amp;gt;[1][3][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (misc)&lt;br /&gt;
*[[EVENT_DISPLAYEND]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYREST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSTART]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_UPDATESCREENAREA]]&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unused/Removed&lt;br /&gt;
*[[EVENT_FAKEDOMOVETHINGS]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_ANIMATEALLSPRITES]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Screen drawing events (menus)&lt;br /&gt;
*[[EVENT_CHANGEMENU]]&amp;lt;sup&amp;gt;[1][2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYCURSOR]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYINACTIVEMENU]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYINACTIVEMENUREST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYMENU]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYMENUREST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GETBONUSTILE]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GETMENUTILE]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUCURSORLEFT]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUCURSORRIGHT]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUCURSORSHADE]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUSHADESELECTED]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_NEWGAMECUSTOM]]&amp;lt;sup&amp;gt;[1][4]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (special screens and cutscenes)&lt;br /&gt;
*[[EVENT_CUTSCENE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYBONUSSCREEN]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYLOADINGSCREEN]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GETLOADTILE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_LOGO]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_PRECUTSCENE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SCREEN]]&amp;lt;sup&amp;gt;[1][2][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SKIPCUTSCENE]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (HUD)&lt;br /&gt;
*[[EVENT_DISPLAYBORDER]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYCROSSHAIR]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYLEVELSTATS]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYOVERHEADMAPPLAYER]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYOVERHEADMAPTEXT]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYPOINTER]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSBAR]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (player body)&lt;br /&gt;
*[[EVENT_DISPLAYACCESS]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYCAMERAOSD]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYFIST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYKNEE]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYKNUCKLES]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSCUBA]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSPIT]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYTIP]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYWEAPON]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DRAWWEAPON]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Actor controlling events&lt;br /&gt;
*[[EVENT_ANIMATESPRITES]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_EGS]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GAME]]&lt;br /&gt;
*[[EVENT_KILLIT]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_LOADACTOR]]&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_PREACTORDAMAGE]]&lt;br /&gt;
*[[EVENT_PREGAME]]&lt;br /&gt;
*[[EVENT_RECOGSOUND]]&lt;br /&gt;
*[[EVENT_SPAWN]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sound-based events&lt;br /&gt;
*[[EVENT_CONTINUELEVELMUSICSLOT]]&lt;br /&gt;
*[[EVENT_PLAYLEVELMUSICSLOT]]&lt;br /&gt;
*[[EVENT_OPENMENUSOUND]]&lt;br /&gt;
*[[EVENT_SOUND]]&amp;lt;sup&amp;gt;[1][2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global events&lt;br /&gt;
*[[EVENT_DAMAGECEILING]]&lt;br /&gt;
*[[EVENT_DAMAGEFLOOR]]&lt;br /&gt;
*[[EVENT_DAMAGEHPLANE]]&lt;br /&gt;
*[[EVENT_DAMAGESPRITE]]&lt;br /&gt;
*[[EVENT_DAMAGEWALL]]&lt;br /&gt;
*[[EVENT_ENTERLEVEL]]&lt;br /&gt;
*[[EVENT_MOVEEFFECTORS]]&lt;br /&gt;
*[[EVENT_MOVESECTOR]]&lt;br /&gt;
*[[EVENT_POSTDAMAGESPRITE]]&lt;br /&gt;
*[[EVENT_PRELEVEL]]&lt;br /&gt;
*[[EVENT_PREWORLD]]&lt;br /&gt;
*[[EVENT_WORLD]]&lt;br /&gt;
&lt;br /&gt;
Player controlling events&lt;br /&gt;
*[[EVENT_CHANGEWEAPON]]&lt;br /&gt;
*[[EVENT_CHECKFLOORDAMAGE]]&lt;br /&gt;
*[[EVENT_CHECKTOUCHDAMAGE]]&lt;br /&gt;
*[[EVENT_DOFIRE]]&lt;br /&gt;
*[[EVENT_GETAUTOAIMANGLE]]&lt;br /&gt;
*[[EVENT_GETSHOTRANGE]]&lt;br /&gt;
*[[EVENT_INCURDAMAGE]]&lt;br /&gt;
*[[EVENT_POSTUPDATEANGLES]]&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_PREUPDATEANGLES]]&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_RESETINVENTORY]]&lt;br /&gt;
*[[EVENT_RESETPLAYER]]&lt;br /&gt;
*[[EVENT_RESETWEAPONS]]&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Player input-based events&lt;br /&gt;
*[[EVENT_AIMDOWN]]&lt;br /&gt;
*[[EVENT_AIMUP]]&lt;br /&gt;
*[[EVENT_ALTFIRE]]&lt;br /&gt;
*[[EVENT_ALTWEAPON]]&lt;br /&gt;
*[[EVENT_CROUCH]]&lt;br /&gt;
*[[EVENT_FIRE]]&lt;br /&gt;
*[[EVENT_FIREWEAPON]]&lt;br /&gt;
*[[EVENT_HOLODUKEOFF]]&lt;br /&gt;
*[[EVENT_HOLODUKEON]]&lt;br /&gt;
*[[EVENT_HOLSTER]]&lt;br /&gt;
*[[EVENT_INVENTORY]]&lt;br /&gt;
*[[EVENT_INVENTORYLEFT]]&lt;br /&gt;
*[[EVENT_INVENTORYRIGHT]]&lt;br /&gt;
*[[EVENT_JUMP]]&lt;br /&gt;
*[[EVENT_LASTWEAPON]]&lt;br /&gt;
*[[EVENT_LOOKDOWN]]&lt;br /&gt;
*[[EVENT_LOOKLEFT]]&lt;br /&gt;
*[[EVENT_LOOKRIGHT]]&lt;br /&gt;
*[[EVENT_LOOKUP]]&lt;br /&gt;
*[[EVENT_MOVEBACKWARD]]&lt;br /&gt;
*[[EVENT_MOVEFORWARD]]&lt;br /&gt;
*[[EVENT_NEXTWEAPON]]&lt;br /&gt;
*[[EVENT_POSTWEAPONSHOOT]]&lt;br /&gt;
*[[EVENT_PRESSEDFIRE]]&lt;br /&gt;
*[[EVENT_PREVIOUSWEAPON]]&lt;br /&gt;
*[[EVENT_PREWEAPONSHOOT]]&lt;br /&gt;
*[[EVENT_PROCESSINPUT]]&lt;br /&gt;
*[[EVENT_QUICKKICK]]&lt;br /&gt;
*[[EVENT_RETURNTOCENTER]]&lt;br /&gt;
*[[EVENT_SELECTWEAPON]]&lt;br /&gt;
*[[EVENT_SOARDOWN]]&lt;br /&gt;
*[[EVENT_SOARUP]]&lt;br /&gt;
*[[EVENT_STRAFELEFT]]&lt;br /&gt;
*[[EVENT_STRAFERIGHT]]&lt;br /&gt;
*[[EVENT_SWIMDOWN]]&lt;br /&gt;
*[[EVENT_SWIMUP]]&lt;br /&gt;
*[[EVENT_TURNAROUND]]&lt;br /&gt;
*[[EVENT_TURNLEFT]]&lt;br /&gt;
*[[EVENT_TURNRIGHT]]&lt;br /&gt;
*[[EVENT_USE]]&lt;br /&gt;
*[[EVENT_USEJETPACK]]&lt;br /&gt;
*[[EVENT_USEMEDKIT]]&lt;br /&gt;
*[[EVENT_USENIGHTVISION]]&lt;br /&gt;
*[[EVENT_USESTEROIDS]]&lt;br /&gt;
*[[EVENT_WEAPKEY1]]&lt;br /&gt;
*[[EVENT_WEAPKEY10]]&lt;br /&gt;
*[[EVENT_WEAPKEY2]]&lt;br /&gt;
*[[EVENT_WEAPKEY3]]&lt;br /&gt;
*[[EVENT_WEAPKEY4]]&lt;br /&gt;
*[[EVENT_WEAPKEY5]]&lt;br /&gt;
*[[EVENT_WEAPKEY6]]&lt;br /&gt;
*[[EVENT_WEAPKEY7]]&lt;br /&gt;
*[[EVENT_WEAPKEY8]]&lt;br /&gt;
*[[EVENT_WEAPKEY9]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Event manipulation]]&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Full_command_list&amp;diff=14871</id>
		<title>Full command list</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Full_command_list&amp;diff=14871"/>
		<updated>2024-01-07T17:03:26Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
&lt;br /&gt;
This is a list of every CON primitive in EDuke32.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:3;-moz-column-count:3;-webkit-column-count:3&amp;quot;&amp;gt;&lt;br /&gt;
*[[abs]]&lt;br /&gt;
*[[action]]&lt;br /&gt;
*[[activate]]&lt;br /&gt;
*[[activatebysector]]&lt;br /&gt;
*[[activatecheat]]&lt;br /&gt;
*[[actor]]&lt;br /&gt;
*[[actorsound]]&lt;br /&gt;
*[[add]]&lt;br /&gt;
*[[addammo]]&lt;br /&gt;
*[[addinventory]]&lt;br /&gt;
*[[addkills]]&lt;br /&gt;
*[[addlog]]&lt;br /&gt;
*[[addlogvar]]&lt;br /&gt;
*[[addphealth]]&lt;br /&gt;
*[[addstrength]]&lt;br /&gt;
*[[addvar]]&lt;br /&gt;
*[[addvarvar]]&lt;br /&gt;
*[[addweapon]]&lt;br /&gt;
*[[addweaponvar]]&lt;br /&gt;
*[[ai]]&lt;br /&gt;
*[[al]]&lt;br /&gt;
*[[and]]&lt;br /&gt;
*[[andvar]]&lt;br /&gt;
*[[andvarvar]]&lt;br /&gt;
*[[angoff]]&lt;br /&gt;
*[[angoffvar]]&lt;br /&gt;
*[[appendevent]]&lt;br /&gt;
*[[appendstate]]&lt;br /&gt;
*[[array]]&lt;br /&gt;
*[[betaname]]&lt;br /&gt;
*[[break]]&lt;br /&gt;
*[[cactor]]&lt;br /&gt;
*[[calchypotenuse]]&lt;br /&gt;
*[[cansee]]&lt;br /&gt;
*[[canseespr]]&lt;br /&gt;
*[[capia]]&lt;br /&gt;
*[[capis]]&lt;br /&gt;
*[[case]]&lt;br /&gt;
*[[changespritesect]]&lt;br /&gt;
*[[changespritestat]]&lt;br /&gt;
*[[cheatkeys]]&lt;br /&gt;
*[[checkactivatormotion]]&lt;br /&gt;
*[[checkavailinven]]&lt;br /&gt;
*[[checkavailweapon]]&lt;br /&gt;
*[[ck]]&lt;br /&gt;
*[[clamp]]&lt;br /&gt;
*[[clearmapstate]]&lt;br /&gt;
*[[clipdist]]&lt;br /&gt;
*[[clipmove]]&lt;br /&gt;
*[[clipmovenoslide]]&lt;br /&gt;
*[[cmenu]]&lt;br /&gt;
*[[continue]]&lt;br /&gt;
*[[copy]]&lt;br /&gt;
*[[cos]]&lt;br /&gt;
*[[count]]&lt;br /&gt;
*[[cstat]]&lt;br /&gt;
*[[cstator]]&lt;br /&gt;
*[[damageeventtile]]&lt;br /&gt;
*[[damageeventtilerange]]&lt;br /&gt;
*[[dc]]&lt;br /&gt;
*[[dcd]]&lt;br /&gt;
*[[debris]]&lt;br /&gt;
*[[debug]]&lt;br /&gt;
*[[default]]&lt;br /&gt;
*[[define]]&lt;br /&gt;
*[[definecheat]]&lt;br /&gt;
*[[definecheatdescription]]&lt;br /&gt;
*[[definegamefuncname]]&lt;br /&gt;
*[[definegametype]]&lt;br /&gt;
*[[definelevelname]]&lt;br /&gt;
*[[defineprojectile]]&lt;br /&gt;
*[[definequote]]&lt;br /&gt;
*[[defineskillname]]&lt;br /&gt;
*[[definesound]]&lt;br /&gt;
*[[definevolumeflags]]&lt;br /&gt;
*[[definevolumename]]&lt;br /&gt;
*[[defstate]]&lt;br /&gt;
*[[digitalnumber]]&lt;br /&gt;
*[[digitalnumberz]]&lt;br /&gt;
*[[displayrand]]&lt;br /&gt;
*[[displayrandvar]]&lt;br /&gt;
*[[displayrandvarvar]]&lt;br /&gt;
*[[dist]]&lt;br /&gt;
*[[div]]&lt;br /&gt;
*[[divr]]&lt;br /&gt;
*[[divrd]]&lt;br /&gt;
*[[divru]]&lt;br /&gt;
*[[divscale]]&lt;br /&gt;
*[[divvar]]&lt;br /&gt;
*[[divvarvar]]&lt;br /&gt;
*[[dragpoint]]&lt;br /&gt;
*[[drawline256]]&lt;br /&gt;
*[[drawlinergb]]&lt;br /&gt;
*[[dynamicremap]]&lt;br /&gt;
*[[dynamicsoundremap]]&lt;br /&gt;
*[[echo]]&lt;br /&gt;
*[[else]]&lt;br /&gt;
*[[enda]]&lt;br /&gt;
*[[endevent]]&lt;br /&gt;
*[[endofgame]]&lt;br /&gt;
*[[endoflevel]]&lt;br /&gt;
*[[ends]]&lt;br /&gt;
*[[endswitch]]&lt;br /&gt;
*[[enhanced]]&lt;br /&gt;
*[[eqspawn]]&lt;br /&gt;
*[[eqspawnvar]]&lt;br /&gt;
*[[eshoot]]&lt;br /&gt;
*[[eshootvar]]&lt;br /&gt;
*[[espawn]]&lt;br /&gt;
*[[espawnvar]]&lt;br /&gt;
*[[eventloadactor]]&lt;br /&gt;
*[[ezshoot]]&lt;br /&gt;
*[[ezshootvar]]&lt;br /&gt;
*[[exit]]&lt;br /&gt;
*[[fall]]&lt;br /&gt;
*[[findnearactor3d]]&lt;br /&gt;
*[[findnearactor3dvar]]&lt;br /&gt;
*[[findnearactor]]&lt;br /&gt;
*[[findnearactorvar]]&lt;br /&gt;
*[[findnearactorz]]&lt;br /&gt;
*[[findnearactorzvar]]&lt;br /&gt;
*[[findnearsprite3d]]&lt;br /&gt;
*[[findnearsprite3dvar]]&lt;br /&gt;
*[[findnearsprite]]&lt;br /&gt;
*[[findnearspritevar]]&lt;br /&gt;
*[[findnearspritez]]&lt;br /&gt;
*[[findnearspritezvar]]&lt;br /&gt;
*[[findotherplayer]]&lt;br /&gt;
*[[findplayer]]&lt;br /&gt;
*[[flash]]&lt;br /&gt;
*[[for]]&lt;br /&gt;
*[[gamearray]]&lt;br /&gt;
*[[gamestartup]]&lt;br /&gt;
*[[gametext]]&lt;br /&gt;
*[[gametextz]]&lt;br /&gt;
*[[gamevar]]&lt;br /&gt;
*[[geta]]&lt;br /&gt;
*[[getactor]]&lt;br /&gt;
*[[getactorangle]]&lt;br /&gt;
*[[getactorvar]]&lt;br /&gt;
*[[getangle]]&lt;br /&gt;
*[[getangletotarget]]&lt;br /&gt;
*[[getarrayseq]]&lt;br /&gt;
*[[getarraysequence]]&lt;br /&gt;
*[[getarraysize]]&lt;br /&gt;
*[[getav]]&lt;br /&gt;
*[[getceilzofslope]]&lt;br /&gt;
*[[getclosestcol]]&lt;br /&gt;
*[[getcurraddress]]&lt;br /&gt;
*[[getflorzofslope]]&lt;br /&gt;
*[[getgamefuncbind]]&lt;br /&gt;
*[[geti]]&lt;br /&gt;
*[[getincangle]]&lt;br /&gt;
*[[getinput]]&lt;br /&gt;
*[[getkeyname]]&lt;br /&gt;
*[[getlastpal]]&lt;br /&gt;
*[[getmusicposition]]&lt;br /&gt;
*[[getngcflags]]&lt;br /&gt;
*[[getp]]&lt;br /&gt;
*[[getplayer]]&lt;br /&gt;
*[[getplayerangle]]&lt;br /&gt;
*[[getplayervar]]&lt;br /&gt;
*[[getpname]]&lt;br /&gt;
*[[getprojectile]]&lt;br /&gt;
*[[getpv]]&lt;br /&gt;
*[[gets]]&lt;br /&gt;
*[[getsector]]&lt;br /&gt;
*[[gettextureceiling]]&lt;br /&gt;
*[[gettexturefloor]]&lt;br /&gt;
*[[getthisprojectile]]&lt;br /&gt;
*[[getticks]]&lt;br /&gt;
*[[gettiledata]]&lt;br /&gt;
*[[gettimedate]]&lt;br /&gt;
*[[gettspr]]&lt;br /&gt;
*[[getu]]&lt;br /&gt;
*[[getuserdef]]&lt;br /&gt;
*[[getw]]&lt;br /&gt;
*[[getwall]]&lt;br /&gt;
*[[getzrange]]&lt;br /&gt;
*[[globalsound]]&lt;br /&gt;
*[[globalsoundvar]]&lt;br /&gt;
*[[gmaxammo]]&lt;br /&gt;
*[[guniqhudid]]&lt;br /&gt;
*[[guts]]&lt;br /&gt;
*[[headspritesect]]&lt;br /&gt;
*[[headspritestat]]&lt;br /&gt;
*[[hitradius]]&lt;br /&gt;
*[[hitradiusvar]]&lt;br /&gt;
*[[hitscan]]&lt;br /&gt;
*[[ifa]]&lt;br /&gt;
*[[ifaction]]&lt;br /&gt;
*[[ifactioncount]]&lt;br /&gt;
*[[ifactor]]&lt;br /&gt;
*[[ifactornotstayput]]&lt;br /&gt;
*[[ifactorsound]]&lt;br /&gt;
*[[ifae]]&lt;br /&gt;
*[[ifai]]&lt;br /&gt;
*[[ifand]]&lt;br /&gt;
*[[ifangdiffl]]&lt;br /&gt;
*[[ifawayfromwall]]&lt;br /&gt;
*[[ifb]]&lt;br /&gt;
*[[ifbe]]&lt;br /&gt;
*[[ifboth]]&lt;br /&gt;
*[[ifbulletnear]]&lt;br /&gt;
*[[ifcansee]]&lt;br /&gt;
*[[ifcanseetarget]]&lt;br /&gt;
*[[ifcanshoottarget]]&lt;br /&gt;
*[[ifceilingdistl]]&lt;br /&gt;
*[[ifclient]]&lt;br /&gt;
*[[ifcount]]&lt;br /&gt;
*[[ifcutscene]]&lt;br /&gt;
*[[ifdead]]&lt;br /&gt;
*[[ife]]&lt;br /&gt;
*[[ifeither]]&lt;br /&gt;
*[[iffloordistl]]&lt;br /&gt;
*[[ifg]]&lt;br /&gt;
*[[ifgapzl]]&lt;br /&gt;
*[[ifge]]&lt;br /&gt;
*[[ifgotweaponce]]&lt;br /&gt;
*[[ifhitspace]]&lt;br /&gt;
*[[ifhitweapon]]&lt;br /&gt;
*[[ifinouterspace]]&lt;br /&gt;
*[[ifinspace]]&lt;br /&gt;
*[[ifinwater]]&lt;br /&gt;
*[[ifl]]&lt;br /&gt;
*[[ifle]]&lt;br /&gt;
*[[ifmove]]&lt;br /&gt;
*[[ifmultiplayer]]&lt;br /&gt;
*[[ifn]]&lt;br /&gt;
*[[ifnosounds]]&lt;br /&gt;
*[[ifnotmoving]]&lt;br /&gt;
*[[ifonwater]]&lt;br /&gt;
*[[ifor]]&lt;br /&gt;
*[[ifoutside]]&lt;br /&gt;
*[[ifp]]&lt;br /&gt;
*[[ifpdistg]]&lt;br /&gt;
*[[ifpdistl]]&lt;br /&gt;
*[[ifphealthl]]&lt;br /&gt;
*[[ifpinventory]]&lt;br /&gt;
*[[ifplaybackon]]&lt;br /&gt;
*[[ifplayersl]]&lt;br /&gt;
*[[ifrespawn]]&lt;br /&gt;
*[[ifrnd]]&lt;br /&gt;
*[[ifserver]]&lt;br /&gt;
*[[ifsound]]&lt;br /&gt;
*[[ifspawnedby]]&lt;br /&gt;
*[[ifspritepal]]&lt;br /&gt;
*[[ifsquished]]&lt;br /&gt;
*[[ifstrength]]&lt;br /&gt;
*[[ifvara]]&lt;br /&gt;
*[[ifvarae]]&lt;br /&gt;
*[[ifvarand]]&lt;br /&gt;
*[[ifvarb]]&lt;br /&gt;
*[[ifvarbe]]&lt;br /&gt;
*[[ifvarboth]]&lt;br /&gt;
*[[ifvare]]&lt;br /&gt;
*[[ifvareither]]&lt;br /&gt;
*[[ifvarg]]&lt;br /&gt;
*[[ifvarge]]&lt;br /&gt;
*[[ifvarl]]&lt;br /&gt;
*[[ifvarle]]&lt;br /&gt;
*[[ifvarn]]&lt;br /&gt;
*[[ifvaror]]&lt;br /&gt;
*[[ifvarvara]]&lt;br /&gt;
*[[ifvarvarae]]&lt;br /&gt;
*[[ifvarvarand]]&lt;br /&gt;
*[[ifvarvarb]]&lt;br /&gt;
*[[ifvarvarbe]]&lt;br /&gt;
*[[ifvarvarboth]]&lt;br /&gt;
*[[ifvarvare]]&lt;br /&gt;
*[[ifvarvareither]]&lt;br /&gt;
*[[ifvarvarg]]&lt;br /&gt;
*[[ifvarvarge]]&lt;br /&gt;
*[[ifvarvarl]]&lt;br /&gt;
*[[ifvarvarle]]&lt;br /&gt;
*[[ifvarvarn]]&lt;br /&gt;
*[[ifvarvaror]]&lt;br /&gt;
*[[ifvarvarxor]]&lt;br /&gt;
*[[ifvarxor]]&lt;br /&gt;
*[[ifwasweapon]]&lt;br /&gt;
*[[ifxor]]&lt;br /&gt;
*[[include]]&lt;br /&gt;
*[[includedefault]]&lt;br /&gt;
*[[inittimer]]&lt;br /&gt;
*[[insertspriteq]]&lt;br /&gt;
*[[inv]]&lt;br /&gt;
*[[jump]]&lt;br /&gt;
*[[killit]]&lt;br /&gt;
*[[klabs]]&lt;br /&gt;
*[[ldist]]&lt;br /&gt;
*[[lineintersect]]&lt;br /&gt;
*[[loadmapstate]]&lt;br /&gt;
*[[lockplayer]]&lt;br /&gt;
*[[lotsofglass]]&lt;br /&gt;
*[[mail]]&lt;br /&gt;
*[[mikesnd]]&lt;br /&gt;
*[[minitext]]&lt;br /&gt;
*[[mod]]&lt;br /&gt;
*[[modvar]]&lt;br /&gt;
*[[modvarvar]]&lt;br /&gt;
*[[money]]&lt;br /&gt;
*[[move]]&lt;br /&gt;
*[[movesector]]&lt;br /&gt;
*[[movesprite]]&lt;br /&gt;
*[[mul]]&lt;br /&gt;
*[[mulscale]]&lt;br /&gt;
*[[mulvar]]&lt;br /&gt;
*[[mulvarvar]]&lt;br /&gt;
*[[music]]&lt;br /&gt;
*[[myos]]&lt;br /&gt;
*[[myospal]]&lt;br /&gt;
*[[myospalx]]&lt;br /&gt;
*[[myosx]]&lt;br /&gt;
*[[neartag]]&lt;br /&gt;
*[[nextsectorneighborz]]&lt;br /&gt;
*[[nextspritesect]]&lt;br /&gt;
*[[nextspritestat]]&lt;br /&gt;
*[[nullop]]&lt;br /&gt;
*[[onevent]]&lt;br /&gt;
*[[operate]]&lt;br /&gt;
*[[operateactivators]]&lt;br /&gt;
*[[operatemasterswitches]]&lt;br /&gt;
*[[operaterespawns]]&lt;br /&gt;
*[[operatesectors]]&lt;br /&gt;
*[[or]]&lt;br /&gt;
*[[orvar]]&lt;br /&gt;
*[[orvarvar]]&lt;br /&gt;
*[[palfrom]]&lt;br /&gt;
*[[paper]]&lt;br /&gt;
*[[pkick]]&lt;br /&gt;
*[[precache]]&lt;br /&gt;
*[[preloadtrackslotforswap]]&lt;br /&gt;
*[[prependstate]]&lt;br /&gt;
*[[prevspritesect]]&lt;br /&gt;
*[[prevspritestat]]&lt;br /&gt;
*[[print]]&lt;br /&gt;
*[[pstomp]]&lt;br /&gt;
*[[qgetsysstr]]&lt;br /&gt;
*[[qputs]]&lt;br /&gt;
*[[qspawn]]&lt;br /&gt;
*[[qspawnvar]]&lt;br /&gt;
*[[qsprintf]]&lt;br /&gt;
*[[qstrcat]]&lt;br /&gt;
*[[qstrcmp]]&lt;br /&gt;
*[[qstrcpy]]&lt;br /&gt;
*[[qstrdim]]&lt;br /&gt;
*[[qstrlen]]&lt;br /&gt;
*[[qstrncat]]&lt;br /&gt;
*[[qsubstr]]&lt;br /&gt;
*[[quake]]&lt;br /&gt;
*[[quote]]&lt;br /&gt;
*[[rand]]&lt;br /&gt;
*[[randvar]]&lt;br /&gt;
*[[randvarvar]]&lt;br /&gt;
*[[rayintersect]]&lt;br /&gt;
*[[readarrayfromfile]]&lt;br /&gt;
*[[readgamevar]]&lt;br /&gt;
*[[redefinequote]]&lt;br /&gt;
*[[resetactioncount]]&lt;br /&gt;
*[[resetcount]]&lt;br /&gt;
*[[resetplayer]]&lt;br /&gt;
*[[resetplayerflags]]&lt;br /&gt;
*[[resizearray]]&lt;br /&gt;
*[[respawnhitag]]&lt;br /&gt;
*[[return]]&lt;br /&gt;
*[[rotatepoint]]&lt;br /&gt;
*[[rotatesprite16]]&lt;br /&gt;
*[[rotatesprite]]&lt;br /&gt;
*[[rotatespritea]]&lt;br /&gt;
*[[save]]&lt;br /&gt;
*[[savegamevar]]&lt;br /&gt;
*[[savemapstate]]&lt;br /&gt;
*[[savenn]]&lt;br /&gt;
*[[scalevar]]&lt;br /&gt;
*[[screenpal]]&lt;br /&gt;
*[[screensound]]&lt;br /&gt;
*[[screentext]]&lt;br /&gt;
*[[scriptsize]]&lt;br /&gt;
*[[sectclearinterpolation]]&lt;br /&gt;
*[[sectgethitag]]&lt;br /&gt;
*[[sectgetlotag]]&lt;br /&gt;
*[[sectorofwall]]&lt;br /&gt;
*[[sectsetinterpolation]]&lt;br /&gt;
*[[set]]&lt;br /&gt;
*[[seta]]&lt;br /&gt;
*[[setactor]]&lt;br /&gt;
*[[setactorangle]]&lt;br /&gt;
*[[setactorsoundpitch]]&lt;br /&gt;
*[[setactorvar]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[setarrayseq]]&lt;br /&gt;
*[[setarraysequence]]&lt;br /&gt;
*[[setaspect]]&lt;br /&gt;
*[[setav]]&lt;br /&gt;
*[[setcfgname]]&lt;br /&gt;
*[[setdefname]]&lt;br /&gt;
*[[setgamename]]&lt;br /&gt;
*[[setgamepalette]]&lt;br /&gt;
*[[seti]]&lt;br /&gt;
*[[setinput]]&lt;br /&gt;
*[[setmusicposition]]&lt;br /&gt;
*[[setngcflags]]&lt;br /&gt;
*[[setp]]&lt;br /&gt;
*[[setplayer]]&lt;br /&gt;
*[[setplayerangle]]&lt;br /&gt;
*[[setplayervar]]&lt;br /&gt;
*[[setprojectile]]&lt;br /&gt;
*[[setpv]]&lt;br /&gt;
*[[sets]]&lt;br /&gt;
*[[setsector]]&lt;br /&gt;
*[[setsprite]]&lt;br /&gt;
*[[setthisprojectile]]&lt;br /&gt;
*[[settiledata]]&lt;br /&gt;
*[[settspr]]&lt;br /&gt;
*[[setu]]&lt;br /&gt;
*[[setuserdef]]&lt;br /&gt;
*[[setvar]]&lt;br /&gt;
*[[setvarvar]]&lt;br /&gt;
*[[setw]]&lt;br /&gt;
*[[setwall]]&lt;br /&gt;
*[[shadeto]]&lt;br /&gt;
*[[shiftl]]&lt;br /&gt;
*[[shiftr]]&lt;br /&gt;
*[[shiftvarl]]&lt;br /&gt;
*[[shiftvarr]]&lt;br /&gt;
*[[shiftvarvarl]]&lt;br /&gt;
*[[shiftvarvarr]]&lt;br /&gt;
*[[shoot]]&lt;br /&gt;
*[[shootvar]]&lt;br /&gt;
*[[showview]]&lt;br /&gt;
*[[showviewq16]]&lt;br /&gt;
*[[showviewq16unbiased]]&lt;br /&gt;
*[[showviewunbiased]]&lt;br /&gt;
*[[sin]]&lt;br /&gt;
*[[sizeat]]&lt;br /&gt;
*[[sizeto]]&lt;br /&gt;
*[[sleeptime]]&lt;br /&gt;
*[[smaxammo]]&lt;br /&gt;
*[[sound]]&lt;br /&gt;
*[[soundonce]]&lt;br /&gt;
*[[soundoncevar]]&lt;br /&gt;
*[[soundvar]]&lt;br /&gt;
*[[spawn]]&lt;br /&gt;
*[[spawnceilingglass]]&lt;br /&gt;
*[[spawnwallglass]]&lt;br /&gt;
*[[spawnwallstainedglass]]&lt;br /&gt;
*[[spgethitag]]&lt;br /&gt;
*[[spgetlotag]]&lt;br /&gt;
*[[spriteflags]]&lt;br /&gt;
*[[spritenopal]]&lt;br /&gt;
*[[spritenoshade]]&lt;br /&gt;
*[[spritenvg]]&lt;br /&gt;
*[[spritepal]]&lt;br /&gt;
*[[spriteshadow]]&lt;br /&gt;
*[[sqrt]]&lt;br /&gt;
*[[ssp]]&lt;br /&gt;
*[[startcutscene]]&lt;br /&gt;
*[[startlevel]]&lt;br /&gt;
*[[startscreen]]&lt;br /&gt;
*[[starttrack]]&lt;br /&gt;
*[[starttrackslot]]&lt;br /&gt;
*[[starttrackvar]]&lt;br /&gt;
*[[state]]&lt;br /&gt;
*[[stopactorsound]]&lt;br /&gt;
*[[stopallmusic]]&lt;br /&gt;
*[[stopallsounds]]&lt;br /&gt;
*[[stopsound]]&lt;br /&gt;
*[[stopsoundvar]]&lt;br /&gt;
*[[strength]]&lt;br /&gt;
*[[string]]&lt;br /&gt;
*[[sub]]&lt;br /&gt;
*[[subvar]]&lt;br /&gt;
*[[subvarvar]]&lt;br /&gt;
*[[swaparrays]]&lt;br /&gt;
*[[swaptrackslot]]&lt;br /&gt;
*[[switch]]&lt;br /&gt;
*[[terminate]]&lt;br /&gt;
*[[time]]&lt;br /&gt;
*[[tip]]&lt;br /&gt;
*[[tossweapon]]&lt;br /&gt;
*[[udc]]&lt;br /&gt;
*[[undefinecheat]]&lt;br /&gt;
*[[undefinegamefunc]]&lt;br /&gt;
*[[undefinelevel]]&lt;br /&gt;
*[[undefineskill]]&lt;br /&gt;
*[[undefinevolume]]&lt;br /&gt;
*[[updatesector]]&lt;br /&gt;
*[[updatesectorneighbor]]&lt;br /&gt;
*[[updatesectorneighborz]]&lt;br /&gt;
*[[updatesectorz]]&lt;br /&gt;
*[[useractor]]&lt;br /&gt;
*[[userquote]]&lt;br /&gt;
*[[var]]&lt;br /&gt;
*[[wackplayer]]&lt;br /&gt;
*[[whilel]]&lt;br /&gt;
*[[whilee]]&lt;br /&gt;
*[[whilen]]&lt;br /&gt;
*[[whilevarl]]&lt;br /&gt;
*[[whilevare]]&lt;br /&gt;
*[[whilevarn]]&lt;br /&gt;
*[[whilevarvarl]]&lt;br /&gt;
*[[whilevarvare]]&lt;br /&gt;
*[[whilevarvarn]]&lt;br /&gt;
*[[writearraytofile]]&lt;br /&gt;
*[[xor]]&lt;br /&gt;
*[[xorvar]]&lt;br /&gt;
*[[xorvarvar]]&lt;br /&gt;
*[[zshoot]]&lt;br /&gt;
*[[zshootvar]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Category:All_commands&amp;diff=14870</id>
		<title>Category:All commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Category:All_commands&amp;diff=14870"/>
		<updated>2024-01-07T17:02:20Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: /* Subroutines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
&lt;br /&gt;
==Preprocessor==&lt;br /&gt;
*[[include]]&lt;br /&gt;
*[[includedefault]]&lt;br /&gt;
*[[define]]&lt;br /&gt;
*// single-line comment&lt;br /&gt;
*/* block comment */&lt;br /&gt;
*whitespace characters: &amp;lt;code&amp;gt;( ) ; ,&amp;lt;/code&amp;gt;&lt;br /&gt;
==Meta-Settings==&lt;br /&gt;
&amp;lt;!-- These deal with matters outside the game world. --&amp;gt;&lt;br /&gt;
*[[dynamicremap]]&lt;br /&gt;
*[[dynamicsoundremap]]&lt;br /&gt;
*[[setcfgname]]&lt;br /&gt;
*[[setdefname]]&lt;br /&gt;
*[[setgamename]]&lt;br /&gt;
*[[precache]]&lt;br /&gt;
*[[scriptsize]]&lt;br /&gt;
*[[cheatkeys]]&lt;br /&gt;
*[[definecheat]]&lt;br /&gt;
*[[definegamefuncname]]&lt;br /&gt;
*[[definegametype]]&lt;br /&gt;
*[[definevolumename]]&lt;br /&gt;
*[[definevolumeflags]]&lt;br /&gt;
*[[definelevelname]]&lt;br /&gt;
*[[defineskillname]]&lt;br /&gt;
*[[undefinevolume]]&lt;br /&gt;
*[[undefinelevel]]&lt;br /&gt;
*[[undefineskill]]&lt;br /&gt;
===If===&lt;br /&gt;
*[[ifrespawn]]&lt;br /&gt;
*[[ifmultiplayer]]&lt;br /&gt;
*[[ifclient]]&lt;br /&gt;
*[[ifserver]]&lt;br /&gt;
==Global Settings==&lt;br /&gt;
&amp;lt;!-- These deal with matters inside the game world. --&amp;gt;&lt;br /&gt;
*[[gamestartup]]&lt;br /&gt;
*[[spritenopal]]&lt;br /&gt;
*[[spritenoshade]]&lt;br /&gt;
*[[spritenvg]]&lt;br /&gt;
*[[spriteshadow]]&lt;br /&gt;
==Block Delimiting==&lt;br /&gt;
===Object-Oriented===&lt;br /&gt;
*[[actor]]&lt;br /&gt;
*[[useractor]]&lt;br /&gt;
*[[enda]]&lt;br /&gt;
===Procedural===&lt;br /&gt;
*[[onevent]]&lt;br /&gt;
*[[appendevent]]&lt;br /&gt;
*[[endevent]]&lt;br /&gt;
&lt;br /&gt;
===Subroutines===&lt;br /&gt;
*[[state]]&lt;br /&gt;
*[[defstate]]&lt;br /&gt;
*[[ends]]&lt;br /&gt;
*[[prependstate]]&lt;br /&gt;
*[[appendstate]]&lt;br /&gt;
&lt;br /&gt;
==Flow Control==&lt;br /&gt;
===If Components===&lt;br /&gt;
*[[nullop]]&lt;br /&gt;
*[[else]]&lt;br /&gt;
===Switch===&lt;br /&gt;
*[[switch]]&lt;br /&gt;
*[[endswitch]]&lt;br /&gt;
*[[case]]&lt;br /&gt;
*[[default]]&lt;br /&gt;
===Termination===&lt;br /&gt;
*[[break]]&lt;br /&gt;
*[[continue]]&lt;br /&gt;
*[[exit]]&lt;br /&gt;
*[[return]]&lt;br /&gt;
*[[terminate]]&lt;br /&gt;
&lt;br /&gt;
===Jump===&lt;br /&gt;
:&#039;&#039;Note: Jumping commands are deprecated and will not be supported by Lunatic. Use [[#Loops|loops]] instead.&#039;&#039;&lt;br /&gt;
*[[getcurraddress]]&lt;br /&gt;
*[[jump]]&lt;br /&gt;
&lt;br /&gt;
===Loops===&lt;br /&gt;
*[[whilevarl]]&lt;br /&gt;
*[[whilevarvarl]]&lt;br /&gt;
*[[whilevare]]&lt;br /&gt;
*[[whilevarn]]&lt;br /&gt;
*[[whilevarvarn]]&lt;br /&gt;
:&#039;&#039;It is also possible to loop by calling a state from within itself.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Game Variables==&lt;br /&gt;
*[[gamevar]]&lt;br /&gt;
*[[gamearray]]&lt;br /&gt;
===Gamevar Operators===&lt;br /&gt;
*[[setvar]]&lt;br /&gt;
*[[setvarvar]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[addvar]]&lt;br /&gt;
*[[addvarvar]]&lt;br /&gt;
*[[subvar]]&lt;br /&gt;
*[[subvarvar]]&lt;br /&gt;
*[[mulvar]]&lt;br /&gt;
*[[mulvarvar]]&lt;br /&gt;
*[[divvar]]&lt;br /&gt;
*[[divvarvar]]&lt;br /&gt;
*[[modvar]]&lt;br /&gt;
*[[modvarvar]]&lt;br /&gt;
*[[andvar]]&lt;br /&gt;
*[[andvarvar]]&lt;br /&gt;
*[[orvar]]&lt;br /&gt;
*[[orvarvar]]&lt;br /&gt;
*[[xorvar]]&lt;br /&gt;
*[[xorvarvar]]&lt;br /&gt;
*[[randvar]]&lt;br /&gt;
*[[randvarvar]]&lt;br /&gt;
===Gamevar Conditions===&lt;br /&gt;
*[[ifvare]]&lt;br /&gt;
*[[ifvarn]]&lt;br /&gt;
*[[ifvarg]]&lt;br /&gt;
*[[ifvarl]]&lt;br /&gt;
*[[ifvarand]]&lt;br /&gt;
*[[ifvaror]]&lt;br /&gt;
*[[ifvarxor]]&lt;br /&gt;
*[[ifvareither]]&lt;br /&gt;
*[[ifvarvare]]&lt;br /&gt;
*[[ifvarvarn]]&lt;br /&gt;
*[[ifvarvarg]]&lt;br /&gt;
*[[ifvarvarl]]&lt;br /&gt;
*[[ifvarvarand]]&lt;br /&gt;
*[[ifvarvaror]]&lt;br /&gt;
*[[ifvarvarxor]]&lt;br /&gt;
*[[ifvarvareither]]&lt;br /&gt;
===Math Operations===&lt;br /&gt;
*[[sqrt]]&lt;br /&gt;
*[[calchypotenuse]]&lt;br /&gt;
*[[sin]]&lt;br /&gt;
*[[cos]]&lt;br /&gt;
*[[shiftvarl]]&lt;br /&gt;
*[[shiftvarr]]&lt;br /&gt;
*[[mulscale]]&lt;br /&gt;
*[[getangle]]&lt;br /&gt;
*[[getincangle]]&lt;br /&gt;
===Array Operations===&lt;br /&gt;
*[[getarraysize]]&lt;br /&gt;
*[[getarraysequence]]&lt;br /&gt;
*[[resizearray]]&lt;br /&gt;
*[[copy]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[setarraysequence]]&lt;br /&gt;
&lt;br /&gt;
===Data Saving===&lt;br /&gt;
*[[readgamevar]]&lt;br /&gt;
*[[savegamevar]]&lt;br /&gt;
*[[readarrayfromfile]]&lt;br /&gt;
*[[writearraytofile]]&lt;br /&gt;
==Structure Access==&lt;br /&gt;
*[[getactor]]&lt;br /&gt;
*[[getactorvar]]&lt;br /&gt;
*[[getinput]]&lt;br /&gt;
*[[getplayer]]&lt;br /&gt;
*[[getplayervar]]&lt;br /&gt;
*[[getprojectile]]&lt;br /&gt;
*[[getsector]]&lt;br /&gt;
*[[getthisprojectile]]&lt;br /&gt;
*[[gettspr]]&lt;br /&gt;
*[[getuserdef]]&lt;br /&gt;
*[[getwall]]&lt;br /&gt;
*[[setactor]]&lt;br /&gt;
*[[setactorvar]]&lt;br /&gt;
*[[setinput]]&lt;br /&gt;
*[[setplayer]]&lt;br /&gt;
*[[setplayervar]]&lt;br /&gt;
*[[setprojectile]]&lt;br /&gt;
*[[setsector]]&lt;br /&gt;
*[[setthisprojectile]]&lt;br /&gt;
*[[settspr]]&lt;br /&gt;
*[[setuserdef]]&lt;br /&gt;
*[[setwall]]&lt;br /&gt;
==Actors==&lt;br /&gt;
===Structures===&lt;br /&gt;
*[[cactor]] &amp;lt;!-- picnum --&amp;gt;&lt;br /&gt;
*[[action]] &amp;lt;!-- htg_t 4 (2, 3) --&amp;gt;&lt;br /&gt;
*[[ai]] &amp;lt;!-- htg_t 5 (1?) --&amp;gt;&lt;br /&gt;
*[[move]] &amp;lt;!-- htg_t 1 --&amp;gt;&lt;br /&gt;
*[[count]] &amp;lt;!-- htg_t 0 --&amp;gt;&lt;br /&gt;
*[[resetactioncount]] &amp;lt;!-- htg_t 2 --&amp;gt;&lt;br /&gt;
*[[resetcount]] &amp;lt;!-- htg_t 0 --&amp;gt;&lt;br /&gt;
*[[cstat]] &amp;lt;!-- cstat --&amp;gt;&lt;br /&gt;
*[[cstator]] &amp;lt;!-- cstat --&amp;gt;&lt;br /&gt;
*[[clipdist]] &amp;lt;!-- clipdist --&amp;gt;&lt;br /&gt;
*[[sizeat]] &amp;lt;!-- [xy]repeat --&amp;gt;&lt;br /&gt;
*[[sizeto]] &amp;lt;!-- [xy]repeat --&amp;gt;&lt;br /&gt;
*[[strength]] &amp;lt;!-- extra --&amp;gt;&lt;br /&gt;
*[[addstrength]] &amp;lt;!-- extra --&amp;gt;&lt;br /&gt;
*[[spritepal]] &amp;lt;!-- pal --&amp;gt;&lt;br /&gt;
*[[getlastpal]] &amp;lt;!-- httempang --&amp;gt;&lt;br /&gt;
*[[sleeptime]] &amp;lt;!-- httimetosleep --&amp;gt;&lt;br /&gt;
*[[spriteflags]] &amp;lt;!-- htflags --&amp;gt;&lt;br /&gt;
*[[angoff]] &amp;lt;!-- angoff --&amp;gt;&lt;br /&gt;
*[[angoffvar]] &amp;lt;!-- angoff --&amp;gt;&lt;br /&gt;
*[[changespritesect]] &amp;lt;!-- sectnum --&amp;gt;&lt;br /&gt;
*[[changespritestat]] &amp;lt;!-- statnum --&amp;gt;&lt;br /&gt;
*[[setsprite]] &amp;lt;!-- [xyz] --&amp;gt;&lt;br /&gt;
====If====&lt;br /&gt;
*[[ifactor]]&lt;br /&gt;
*[[ifaction]]&lt;br /&gt;
*[[ifactioncount]]&lt;br /&gt;
*[[ifai]]&lt;br /&gt;
*[[ifcount]]&lt;br /&gt;
*[[ifmove]]&lt;br /&gt;
*[[ifspawnedby]]&lt;br /&gt;
*[[ifspritepal]]&lt;br /&gt;
*[[ifstrength]]&lt;br /&gt;
*[[ifhitweapon]]&lt;br /&gt;
*[[ifwasweapon]]&lt;br /&gt;
*[[ifdead]]&lt;br /&gt;
*[[ifactornotstayput]]&lt;br /&gt;
===Commands===&lt;br /&gt;
*[[fall]]&lt;br /&gt;
*[[insertspriteq]]&lt;br /&gt;
*[[killit]]&lt;br /&gt;
*[[movesprite]]&lt;br /&gt;
*[[ssp]]&lt;br /&gt;
*[[clipmove]]&lt;br /&gt;
*[[clipmovenoslide]]&lt;br /&gt;
===Measurements===&lt;br /&gt;
*[[dist]]&lt;br /&gt;
*[[ldist]]&lt;br /&gt;
*[[cansee]]&lt;br /&gt;
*[[canseespr]]&lt;br /&gt;
===Surroundings===&lt;br /&gt;
====Commands====&lt;br /&gt;
*[[hitradius]]&lt;br /&gt;
*[[hitradiusvar]]&lt;br /&gt;
*[[flash]]&lt;br /&gt;
====If====&lt;br /&gt;
*[[ifawayfromwall]]&lt;br /&gt;
*[[ifbulletnear]]&lt;br /&gt;
*[[ifceilingdistl]]&lt;br /&gt;
*[[iffloordistl]]&lt;br /&gt;
*[[ifgapzl]]&lt;br /&gt;
*[[ifsquished]]&lt;br /&gt;
*[[ifnotmoving]]&lt;br /&gt;
*[[ifinwater]]&lt;br /&gt;
*[[ifonwater]]&lt;br /&gt;
*[[ifoutside]]&lt;br /&gt;
*[[ifinspace]]&lt;br /&gt;
*[[ifinouterspace]]&lt;br /&gt;
*[[ifrnd]] &amp;lt;!-- This is here because it really only has a use in actor code. --&amp;gt;&lt;br /&gt;
===Mapping Features===&lt;br /&gt;
*[[mikesnd]]&lt;br /&gt;
*[[respawnhitag]]&lt;br /&gt;
===Player Interaction===&lt;br /&gt;
*[[ifangdiffl]]&lt;br /&gt;
*[[ifcansee]]&lt;br /&gt;
*[[ifcanseetarget]]&lt;br /&gt;
*[[ifcanshoottarget]]&lt;br /&gt;
*[[ifhitspace]]&lt;br /&gt;
*[[getangletotarget]]&lt;br /&gt;
===Spawning===&lt;br /&gt;
*[[spawn]]&lt;br /&gt;
*[[espawn]]&lt;br /&gt;
*[[espawnvar]]&lt;br /&gt;
*[[qspawn]]&lt;br /&gt;
*[[qspawnvar]]&lt;br /&gt;
*[[eqspawn]]&lt;br /&gt;
*[[eqspawnvar]]&lt;br /&gt;
===Materials===&lt;br /&gt;
*[[debris]]&lt;br /&gt;
*[[guts]]&lt;br /&gt;
*[[lotsofglass]]&lt;br /&gt;
*[[mail]]&lt;br /&gt;
*[[money]]&lt;br /&gt;
*[[paper]]&lt;br /&gt;
==Projectiles==&lt;br /&gt;
*[[defineprojectile]]&lt;br /&gt;
*[[shoot]]&lt;br /&gt;
*[[shootvar]]&lt;br /&gt;
*[[eshoot]]&lt;br /&gt;
*[[eshootvar]]&lt;br /&gt;
*[[zshoot]]&lt;br /&gt;
*[[zshootvar]]&lt;br /&gt;
*[[ezshoot]]&lt;br /&gt;
*[[ezshootvar]]&lt;br /&gt;
==Player==&lt;br /&gt;
===Commands===&lt;br /&gt;
*[[addammo]]&lt;br /&gt;
*[[addinventory]]&lt;br /&gt;
*[[addweapon]]&lt;br /&gt;
*[[addweaponvar]]&lt;br /&gt;
*[[addphealth]]&lt;br /&gt;
*[[tossweapon]]&lt;br /&gt;
*[[gmaxammo]]&lt;br /&gt;
*[[smaxammo]]&lt;br /&gt;
*[[checkavailinven]]&lt;br /&gt;
*[[checkavailweapon]]&lt;br /&gt;
*[[addkills]]&lt;br /&gt;
*[[lockplayer]]&lt;br /&gt;
*[[resetplayer]]&lt;br /&gt;
*[[resetplayerflags]]&lt;br /&gt;
===If===&lt;br /&gt;
*[[ifgotweaponce]]&lt;br /&gt;
*[[ifp]]&lt;br /&gt;
*[[ifpdistg]]&lt;br /&gt;
*[[ifpdistl]]&lt;br /&gt;
*[[ifphealthl]]&lt;br /&gt;
*[[ifpinventory]]&lt;br /&gt;
*[[ifplayersl]]&lt;br /&gt;
==Sectors==&lt;br /&gt;
===Operating===&lt;br /&gt;
*[[operate]]&lt;br /&gt;
*[[operateactivators]]&lt;br /&gt;
*[[operatemasterswitches]]&lt;br /&gt;
*[[operaterespawns]]&lt;br /&gt;
*[[operatesectors]]&lt;br /&gt;
*[[activatebysector]]&lt;br /&gt;
*[[activate]]&lt;br /&gt;
===Manipulation===&lt;br /&gt;
*[[dragpoint]]&lt;br /&gt;
*[[sectsetinterpolation]]&lt;br /&gt;
*[[sectclearinterpolation]]&lt;br /&gt;
===Analysis===&lt;br /&gt;
*[[getceilzofslope]]&lt;br /&gt;
*[[getflorzofslope]]&lt;br /&gt;
*[[getzrange]]&lt;br /&gt;
*[[updatesector]]&lt;br /&gt;
*[[updatesectorz]]&lt;br /&gt;
*[[checkactivatormotion]]&lt;br /&gt;
*[[rotatepoint]]&lt;br /&gt;
*[[lineintersect]]&lt;br /&gt;
*[[rayintersect]]&lt;br /&gt;
*[[sectorofwall]]&lt;br /&gt;
==Discovery==&lt;br /&gt;
===Searching===&lt;br /&gt;
*[[findnearactor]]&lt;br /&gt;
*[[findnearactor3d]]&lt;br /&gt;
*[[findnearactor3dvar]]&lt;br /&gt;
*[[findnearactorvar]]&lt;br /&gt;
*[[findnearactorz]]&lt;br /&gt;
*[[findnearactorzvar]]&lt;br /&gt;
*[[findnearsprite]]&lt;br /&gt;
*[[findnearsprite3d]]&lt;br /&gt;
*[[findnearsprite3dvar]]&lt;br /&gt;
*[[findnearspritevar]]&lt;br /&gt;
*[[findnearspritez]]&lt;br /&gt;
*[[findnearspritezvar]]&lt;br /&gt;
*[[findotherplayer]]&lt;br /&gt;
*[[findplayer]]&lt;br /&gt;
*[[neartag]]&lt;br /&gt;
*[[hitscan]]&lt;br /&gt;
===Sorting===&lt;br /&gt;
*[[headspritesect]]&lt;br /&gt;
*[[headspritestat]]&lt;br /&gt;
*[[nextspritesect]]&lt;br /&gt;
*[[nextspritestat]]&lt;br /&gt;
*[[prevspritesect]]&lt;br /&gt;
*[[prevspritestat]]&lt;br /&gt;
==Audio==&lt;br /&gt;
===Sounds===&lt;br /&gt;
*[[definesound]]&lt;br /&gt;
*[[sound]]&lt;br /&gt;
*[[soundvar]]&lt;br /&gt;
*[[soundonce]]&lt;br /&gt;
*[[soundoncevar]]&lt;br /&gt;
*[[globalsound]]&lt;br /&gt;
*[[globalsoundvar]]&lt;br /&gt;
*[[screensound]]&lt;br /&gt;
*[[stopsound]]&lt;br /&gt;
*[[stopsoundvar]]&lt;br /&gt;
*[[stopactorsound]]&lt;br /&gt;
*[[stopallsounds]]&lt;br /&gt;
*[[ifsound]]&lt;br /&gt;
*[[ifactorsound]]&lt;br /&gt;
*[[ifnosounds]]&lt;br /&gt;
*[[setactorsoundpitch]]&lt;br /&gt;
===Music===&lt;br /&gt;
*[[music]]&lt;br /&gt;
*[[starttrack]]&lt;br /&gt;
*[[starttrackvar]]&lt;br /&gt;
*[[getmusicposition]]&lt;br /&gt;
*[[setmusicposition]]&lt;br /&gt;
==Quotes==&lt;br /&gt;
*[[definequote]]&lt;br /&gt;
*[[redefinequote]]&lt;br /&gt;
*[[quote]]&lt;br /&gt;
*[[userquote]]&lt;br /&gt;
*[[qsprintf]]&lt;br /&gt;
*[[qstrcpy]]&lt;br /&gt;
*[[qstrcat]]&lt;br /&gt;
*[[qstrncat]]&lt;br /&gt;
*[[qstrlen]]&lt;br /&gt;
*[[qsubstr]]&lt;br /&gt;
*[[qstrdim]]&lt;br /&gt;
*[[qgetsysstr]]&lt;br /&gt;
*[[getpname]]&lt;br /&gt;
*[[getkeyname]]&lt;br /&gt;
==Cutscenes==&lt;br /&gt;
*[[startcutscene]]&lt;br /&gt;
*[[ifcutscene]]&lt;br /&gt;
==Screen==&lt;br /&gt;
===Screen Manipulation===&lt;br /&gt;
*[[palfrom]]&lt;br /&gt;
*[[guniqhudid]]&lt;br /&gt;
*[[setgamepalette]]&lt;br /&gt;
*[[setaspect]]&lt;br /&gt;
===Player Actions===&lt;br /&gt;
*[[wackplayer]]&lt;br /&gt;
*[[quake]]&lt;br /&gt;
*[[pkick]]&lt;br /&gt;
*[[pstomp]]&lt;br /&gt;
*[[tip]]&lt;br /&gt;
===Screen Drawing===&lt;br /&gt;
*[[rotatesprite]]&lt;br /&gt;
*[[rotatesprite16]]&lt;br /&gt;
*[[rotatespritea]]&lt;br /&gt;
*[[screentext]]&lt;br /&gt;
*[[gametext]]&lt;br /&gt;
*[[gametextz]]&lt;br /&gt;
*[[minitext]]&lt;br /&gt;
*[[digitalnumber]]&lt;br /&gt;
*[[digitalnumberz]]&lt;br /&gt;
*[[showview]]&lt;br /&gt;
*[[showviewunbiased]]&lt;br /&gt;
===Math===&lt;br /&gt;
*[[displayrand]]&lt;br /&gt;
*[[displayrandvar]]&lt;br /&gt;
*[[displayrandvarvar]]&lt;br /&gt;
==Time Access==&lt;br /&gt;
*[[getticks]]&lt;br /&gt;
*[[gettimedate]]&lt;br /&gt;
==Game-Changing==&lt;br /&gt;
*[[activatecheat]]&lt;br /&gt;
*[[startlevel]]&lt;br /&gt;
*[[inittimer]]&lt;br /&gt;
*[[endofgame]]&lt;br /&gt;
*[[endoflevel]]&lt;br /&gt;
*[[cmenu]]&lt;br /&gt;
==Game Saving==&lt;br /&gt;
*[[save]]&lt;br /&gt;
*[[savenn]]&lt;br /&gt;
===Hub Maps===&lt;br /&gt;
*[[loadmapstate]]&lt;br /&gt;
*[[savemapstate]]&lt;br /&gt;
*[[clearmapstate]]&lt;br /&gt;
==Debug==&lt;br /&gt;
*[[debug]]&lt;br /&gt;
*[[addlog]]&lt;br /&gt;
*[[addlogvar]]&lt;br /&gt;
*[[echo]]&lt;br /&gt;
==Deprecated==&lt;br /&gt;
*[[betaname]]&lt;br /&gt;
*[[enhanced]]&lt;br /&gt;
*[[eventloadactor]]&lt;br /&gt;
*[[time]]&lt;br /&gt;
*[[shadeto]]&lt;br /&gt;
===Screen Drawing===&lt;br /&gt;
*[[myos]]&lt;br /&gt;
*[[myosx]]&lt;br /&gt;
*[[myospal]]&lt;br /&gt;
*[[myospalx]]&lt;br /&gt;
===Single-Use Structure Access===&lt;br /&gt;
*[[getactorangle]]&lt;br /&gt;
*[[getplayerangle]]&lt;br /&gt;
*[[gettextureceiling]]&lt;br /&gt;
*[[gettexturefloor]]&lt;br /&gt;
*[[sectgethitag]]&lt;br /&gt;
*[[sectgetlotag]]&lt;br /&gt;
*[[spgethitag]]&lt;br /&gt;
*[[spgetlotag]]&lt;br /&gt;
*[[setactorangle]]&lt;br /&gt;
*[[setplayerangle]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Grpinfo&amp;diff=14869</id>
		<title>Grpinfo</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Grpinfo&amp;diff=14869"/>
		<updated>2024-01-07T16:59:27Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;grpinfo&#039;&#039;&#039; { [...]}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grpinfo is a special token that declares a custom game GRP. If defined properly, the corresponding package can be selected and loaded in the eduke32 startup window.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unlike other DEF tokens, each grpinfo token must be defined in a separate file with a &amp;quot;*.grpinfo&amp;quot; extension. Each file corresponds to a single game package to be loaded by eduke32.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Tokens ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt; &#039;&#039;&#039;name&#039;&#039;&#039; &amp;lt;name&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Required token. Defines the title of the GRP file that will be displayed in the eduke32 startup window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;scriptname&#039;&#039;&#039; &amp;lt;game.con&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines the path to the main CON file (GAME.CON replacement) for this GRP package.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;defname&#039;&#039;&#039; &amp;lt;duke3d.def&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines the path to the main DEF file for this GRP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;rtsname&#039;&#039;&#039; &amp;lt;duke.rts&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines the path to the main RTS WAD file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;size&#039;&#039;&#039; &amp;lt;grp_size&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Required token. This token is the size of the GRP in bytes, and is required to identify the GRP to be loaded when this item is selected in the startup window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;crc&#039;&#039;&#039; &amp;lt;crc32_value&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Required token. This token is the CRC32 checksum of the GRP package, and is required to identify the GRP to be loaded when this item is selected in the startup window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;dependency&#039;&#039;&#039; &amp;lt;crc32_value&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. If this grpinfo definition defines an addon to an existing GRP (in the same vein as Duke Caribbean or Nuclear Winter), this token is the CRC32 checksum of the GRP that needs to be loaded first.&lt;br /&gt;
&lt;br /&gt;
The GRP package can then only be loaded if the specified dependency is also present, and the dependency will automatically be loaded first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;flags&#039;&#039;&#039; &amp;lt;bitfield&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines a bitfield of flags that should be set when this GRP is loaded, see below. &lt;br /&gt;
&lt;br /&gt;
==Grpinfo Flags==&lt;br /&gt;
&lt;br /&gt;
{{Template:Grpinfo flags}}&lt;br /&gt;
&lt;br /&gt;
==Predefined Dependency CRC32 Values==&lt;br /&gt;
&lt;br /&gt;
{{Template:Predefined grpinfo crc32}}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
The following is the grpinfo used by Ion Fury: Aftershock. It is stored in a file called &amp;quot;fury.grpinfo&amp;quot;, which is placed on the same path as the binary.&lt;br /&gt;
&lt;br /&gt;
 grpinfo&lt;br /&gt;
 {&lt;br /&gt;
    name &amp;quot;Ion Fury: Aftershock&amp;quot;&lt;br /&gt;
    scriptname &amp;quot;scripts/main.con&amp;quot;&lt;br /&gt;
    defname &amp;quot;ashock.def&amp;quot;&lt;br /&gt;
    size 160826590&lt;br /&gt;
    crc 0xE175FB41&lt;br /&gt;
    flags 1664&lt;br /&gt;
    dependency 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:DEF commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Grpinfo&amp;diff=14868</id>
		<title>Grpinfo</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Grpinfo&amp;diff=14868"/>
		<updated>2024-01-07T16:58:00Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;&amp;lt;span {{code}}&amp;gt;&amp;#039;&amp;#039;&amp;#039;grpinfo&amp;#039;&amp;#039;&amp;#039; { [...]}&amp;lt;/span&amp;gt;  Grpinfo is a special token that declares a custom game GRP. If defined properly, the corresponding package can be selected and loaded in the eduke32 startup window.  Unlike other DEF tokens, each grpinfo token must be defined in a separate file, corresponding to the game package to be loaded by eduke32.  == Tokens ==  &amp;lt;span {{code}}&amp;gt; &amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039; &amp;lt;name&amp;gt; &amp;lt;/span&amp;gt;  Required token. Defines the title of the GRP file that will be dis...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;grpinfo&#039;&#039;&#039; { [...]}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grpinfo is a special token that declares a custom game GRP. If defined properly, the corresponding package can be selected and loaded in the eduke32 startup window.&lt;br /&gt;
&lt;br /&gt;
Unlike other DEF tokens, each grpinfo token must be defined in a separate file, corresponding to the game package to be loaded by eduke32.&lt;br /&gt;
&lt;br /&gt;
== Tokens ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt; &#039;&#039;&#039;name&#039;&#039;&#039; &amp;lt;name&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Required token. Defines the title of the GRP file that will be displayed in the eduke32 startup window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;scriptname&#039;&#039;&#039; &amp;lt;game.con&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines the path to the main CON file (GAME.CON replacement) for this GRP package.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;defname&#039;&#039;&#039; &amp;lt;duke3d.def&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines the path to the main DEF file for this GRP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;rtsname&#039;&#039;&#039; &amp;lt;duke.rts&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines the path to the main RTS WAD file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;size&#039;&#039;&#039; &amp;lt;grp_size&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Required token. This token is the size of the GRP in bytes, and is required to identify the GRP to be loaded when this item is selected in the startup window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;crc&#039;&#039;&#039; &amp;lt;crc32_value&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Required token. This token is the CRC32 checksum of the GRP package, and is required to identify the GRP to be loaded when this item is selected in the startup window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;dependency&#039;&#039;&#039; &amp;lt;crc32_value&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. If this grpinfo definition defines an addon to an existing GRP (in the same vein as Duke Caribbean or Nuclear Winter), this token is the CRC32 checksum of the GRP that needs to be loaded first.&lt;br /&gt;
&lt;br /&gt;
The GRP package can then only be loaded if the specified dependency is also present, and the dependency will automatically be loaded first.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;flags&#039;&#039;&#039; &amp;lt;bitfield&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional token. Defines a bitfield of flags that should be set when this GRP is loaded, see below. &lt;br /&gt;
&lt;br /&gt;
==Grpinfo Flags==&lt;br /&gt;
&lt;br /&gt;
{{Template:Grpinfo flags}}&lt;br /&gt;
&lt;br /&gt;
==Predefined Dependency CRC32 Values==&lt;br /&gt;
&lt;br /&gt;
{{Template:Predefined grpinfo crc32}}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
The following is the grpinfo used by Ion Fury: Aftershock. It is stored in a file called &amp;quot;fury.grpinfo&amp;quot;, which is placed on the same path as the binary.&lt;br /&gt;
&lt;br /&gt;
 grpinfo&lt;br /&gt;
 {&lt;br /&gt;
    name &amp;quot;Ion Fury: Aftershock&amp;quot;&lt;br /&gt;
    scriptname &amp;quot;scripts/main.con&amp;quot;&lt;br /&gt;
    defname &amp;quot;ashock.def&amp;quot;&lt;br /&gt;
    size 160826590&lt;br /&gt;
    crc 0xE175FB41&lt;br /&gt;
    flags 1664&lt;br /&gt;
    dependency 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:DEF commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Template:Grpinfo_flags&amp;diff=14867</id>
		<title>Template:Grpinfo flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Template:Grpinfo_flags&amp;diff=14867"/>
		<updated>2024-01-07T16:57:23Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;  The following values are game flags to be used within the grpinfo definition.  {| {{prettytable}} !Exposed!!Value!!Label!!Description!! |- | Yes || 1 || GAMEFLAG_DUKE || Enables Duke3D-specific behavior in the engine.  |- | Yes || 2 || GAMEFLAG_NAM || Enables NAM-specific behavior in the engine, e.g. cheat names. |- | Yes || 4 || GAMEFLAG_NAPALM || Enables NAPALM-specific behavior in the engine, e.g. differences in default RTS fil...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following values are game flags to be used within the [[grpinfo]] definition.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Label!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 1 || GAMEFLAG_DUKE || Enables Duke3D-specific behavior in the engine. &lt;br /&gt;
|-&lt;br /&gt;
| Yes || 2 || GAMEFLAG_NAM || Enables NAM-specific behavior in the engine, e.g. cheat names.&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 4 || GAMEFLAG_NAPALM || Enables NAPALM-specific behavior in the engine, e.g. differences in default RTS file naming.&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 8 || GAMEFLAG_WW2GI || Enables WW2GI-specific behavior in the engine, for example, player weapon code differences.&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 16 || GAMEFLAG_ADDON || Designates that the GRP is an addon, to be loaded together with another GRP. Currently does not affect behavior.&lt;br /&gt;
|-&lt;br /&gt;
| No || 32 || GAMEFLAG_SHAREWARE || Enables Duke3D shareware-specific behavior in the engine. For example, preventing the access to episodes 2 and 3, showing ordering splash screens on exit, etc.&lt;br /&gt;
|-&lt;br /&gt;
| No || 64 || GAMEFLAG_DUKEBETA || Enables 0.99 beta specific behavior in the engine, mainly some quote differences.&lt;br /&gt;
|-&lt;br /&gt;
| No || 128 || GAMEFLAG_FURY || Enables Ion Fury specific behavior in the engine. This includes many, many changes to override Duke3D default behaviors.&lt;br /&gt;
|-&lt;br /&gt;
| No || 256 || GAMEFLAG_STANDALONE || Intended GRPs that are not based on Duke3D -- also used for Ion Fury. However, currently does not affect any behavior.  &lt;br /&gt;
|-&lt;br /&gt;
| No || 512 || GAMEFLAG_NOCLASSIC || Removes the &amp;quot;Classic&amp;quot; renderer option from the display menu if set.&lt;br /&gt;
|-&lt;br /&gt;
| No || 1024 || GAMEFLAG_NOPOLYMER || Removes the &amp;quot;Polymer&amp;quot; renderer option from the display menu if set.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Collapse}}&lt;br /&gt;
| &amp;lt;strong&amp;gt;Defines&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 define GAMEFLAG_DUKE         0x00000001&lt;br /&gt;
 define GAMEFLAG_NAM          0x00000002&lt;br /&gt;
 define GAMEFLAG_NAPALM       0x00000004&lt;br /&gt;
 define GAMEFLAG_WW2GI        0x00000008&lt;br /&gt;
 define GAMEFLAG_ADDON        0x00000010&lt;br /&gt;
 define GAMEFLAG_SHAREWARE    0x00000020&lt;br /&gt;
 define GAMEFLAG_DUKEBETA     0x00000060 // includes 0x20 since it&#039;s a shareware beta&lt;br /&gt;
 define GAMEFLAG_FURY         0x00000080&lt;br /&gt;
 define GAMEFLAG_STANDALONE   0x00000100&lt;br /&gt;
 define GAMEFLAG_NOCLASSIC    0x00000200&lt;br /&gt;
 define GAMEFLAG_NOPOLYMER    0x00000400&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Pages with templates]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Template:Predefined_grpinfo_crc32&amp;diff=14866</id>
		<title>Template:Predefined grpinfo crc32</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Template:Predefined_grpinfo_crc32&amp;diff=14866"/>
		<updated>2024-01-07T16:57:19Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;  The following values are predefined CRC32 values in eduke32, that can be used within the grpinfo definition for the dependency token.  {| {{prettytable}} !Exposed!!Value!!Label!!Description!! |- | Yes || 0x982AFE4A || DUKEWT_CRC || Duke Nukem 3D: Atomic Edition (World Tour) |- | Yes || 0xFD3DCFF1 || DUKE15_CRC || Duke Nukem 3D: Atomic Edition (1.5) |- | Yes || 0xF514A6AC || DUKEPP_CRC || Duke Nukem 3D: Plutonium Pak |- | Yes || 0x...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following values are predefined CRC32 values in eduke32, that can be used within the [[grpinfo]] definition for the dependency token.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Label!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x982AFE4A || DUKEWT_CRC || Duke Nukem 3D: Atomic Edition (World Tour)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xFD3DCFF1 || DUKE15_CRC || Duke Nukem 3D: Atomic Edition (1.5)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xF514A6AC || DUKEPP_CRC || Duke Nukem 3D: Plutonium Pak&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xBBC9CE44 || DUKE13_CRC || Duke Nukem 3D (1.3d)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0xAA4F6A40 || DUKEKR_CRC || Duke Nukem 3D (South Korean Censored)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x02F18900 || DUKE099_CRC || Duke Nukem 3D Shareware 0.99&lt;br /&gt;
|-&lt;br /&gt;
| No || 0xA28AA589 || DUKE10_CRC || Duke Nukem 3D Shareware 1.0&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x912E1E8D || DUKE11_CRC || Duke Nukem 3D Shareware 1.1&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x983AD923 || DUKESW_CRC || Duke Nukem 3D Shareware 1.3D&lt;br /&gt;
|-&lt;br /&gt;
| No || 0xC5F71561 || DUKEMD_CRC || Duke Nukem 3D Mac Demo&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x73A15EE7 || DUKEMD2_CRC || Duke Nukem 3D MacUser Demo&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xA9242158 || DUKEDC13_CRC || Duke it out in D.C. (1.3D)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xB79D997F || DUKEDCPP_CRC || Duke it out in D.C. (Plutonium Pack)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xA8CF80DA || DUKEDC_CRC || Duke it out in D.C. (Megaton)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x39A692BF || - || Duke it out in D.C. (Zoom Platform)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0xC63B6A8B || - || Duke it out in D.C. (Crash Fix)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x4A2DBB62 || VACA13_CRC || Duke Caribbean: Life&#039;s a Beach (1.3D)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x2F4FCCEE || VACAPP_CRC || Duke Caribbean: Life&#039;s a Beach (Plutonium Pak)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xB62B42FD || VACA15_CRC || Duke Caribbean: Life&#039;s a Beach (1.5)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x18F01C5B || DUKECB_CRC || Duke Caribbean: Life&#039;s a Beach (Megaton)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x65B5F690 || - || Duke Caribbean: Life&#039;s a Beach (Zoom Platform)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x64CF2351 || - || Duke Caribbean: Life&#039;s a Beach (Crash Fix)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0xF1CAE8E4 || DUKENW_CRC || Duke: Nuclear Winter (Megaton)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0xC7EFBFA9 || - || Duke: Nuclear Winter Demo&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x82C1B47F || DZ2_13_CRC || Duke!ZONE II (1.3D)&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x7FB6117C || DZ2_PP_CRC || Duke!ZONE II (Plutonium Pak)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x1E9516F1 || - || Duke!ZONE II (Zoom Platform)&lt;br /&gt;
|-&lt;br /&gt;
| No || 0x7CD82A3B || - || Duke Nukem&#039;s Penthouse Paradise&lt;br /&gt;
|-&lt;br /&gt;
| No || 0xCF928A58 || - || Duke Nukem&#039;s Penthouse Paradise&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x75C1F07B || NAM_CRC || NAM&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x3DE1589A || NAPALM_CRC || NAPALM&lt;br /&gt;
|-&lt;br /&gt;
| Yes || 0x907B82BF || WW2GI_CRC || WWII GI&lt;br /&gt;
|-&lt;br /&gt;
| No || 0xD1ED8C0C || PLATOONL_CRC || Platoon Leader&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Collapse}}&lt;br /&gt;
| &amp;lt;strong&amp;gt;Defines&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 define DUKE13_CRC     0xBBC9CE44&lt;br /&gt;
 define DUKEKR_CRC     0xAA4F6A40&lt;br /&gt;
 define DUKE15_CRC     0xFD3DCFF1&lt;br /&gt;
 define DUKEPP_CRC     0xF514A6AC&lt;br /&gt;
 define DUKEWT_CRC     0x982AFE4A&lt;br /&gt;
 define DUKE099_CRC    0x02F18900&lt;br /&gt;
 define DUKE10_CRC     0xA28AA589&lt;br /&gt;
 define DUKE11_CRC     0x912E1E8D&lt;br /&gt;
 define DUKESW_CRC     0x983AD923&lt;br /&gt;
 define DUKEMD_CRC     0xC5F71561&lt;br /&gt;
 define DUKEMD2_CRC    0x73A15EE7&lt;br /&gt;
 define DUKEDC13_CRC   0xA9242158&lt;br /&gt;
 define DUKEDCPP_CRC   0xB79D997F&lt;br /&gt;
 define DUKEDC_CRC     0xA8CF80DA&lt;br /&gt;
 define VACA13_CRC     0x4A2DBB62&lt;br /&gt;
 define VACAPP_CRC     0x2F4FCCEE&lt;br /&gt;
 define VACA15_CRC     0xB62B42FD&lt;br /&gt;
 define DUKECB_CRC     0x18F01C5B&lt;br /&gt;
 define DUKENW_CRC     0xF1CAE8E4&lt;br /&gt;
 define DZ2_13_CRC     0x82C1B47F&lt;br /&gt;
 define DZ2_PP_CRC     0x7FB6117C&lt;br /&gt;
 define NAM_CRC        0x75C1F07B&lt;br /&gt;
 define NAPALM_CRC     0x3DE1589A&lt;br /&gt;
 define WW2GI_CRC      0x907B82BF&lt;br /&gt;
 define PLATOONL_CRC   0xD1ED8C0C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Pages with templates]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=14865</id>
		<title>DEF Language</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=DEF_Language&amp;diff=14865"/>
		<updated>2024-01-07T14:05:33Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;column-count:3;-moz-column-count:3;&amp;quot;&amp;gt;&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
* [[cachesize (DEF)|cachesize]]&lt;br /&gt;
* [[define (DEF)|define]]&lt;br /&gt;
* [[grpinfo|grpinfo]]&lt;br /&gt;
* [[include (DEF)|include]]&lt;br /&gt;
* [[includedefault (DEF)|includedefault]]&lt;br /&gt;
* [[loadgrp (DEF)|loadgrp]]&lt;br /&gt;
* [[noautoload (DEF)|noautoload]]&lt;br /&gt;
&lt;br /&gt;
=== Global ===&lt;br /&gt;
&lt;br /&gt;
* [[globalgameflags (DEF)|globalgameflags]]&lt;br /&gt;
* [[numalphatables (DEF)|numalphatables]]&lt;br /&gt;
* [[shadefactor (DEF)|shadefactor]]&lt;br /&gt;
* [[globalflags (DEF)|globalflags]]&lt;br /&gt;
&lt;br /&gt;
=== Palettes ===&lt;br /&gt;
&lt;br /&gt;
* [[basepalette (DEF)|basepalette]]&lt;br /&gt;
* [[blendtable (DEF)|blendtable]]&lt;br /&gt;
* [[highpalookup (DEF)|highpalookup]]&lt;br /&gt;
* [[nofloorpalrange (DEF)|nofloorpalrange]]&lt;br /&gt;
* [[nofullbrightrange (DEF)|nofullbrightrange]]&lt;br /&gt;
* [[palookup (DEF)|palookup]]&lt;br /&gt;
* [[fogpal (DEF)|fogpal]]&lt;br /&gt;
* [[makepalookup (DEF)|makepalookup]]&lt;br /&gt;
* [[tint (DEF)|tint]]&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
&lt;br /&gt;
* [[artfile (DEF)|artfile]]&lt;br /&gt;
* [[animsounds (DEF)|animsounds]]&lt;br /&gt;
* [[animtilerange (DEF)|animtilerange]]&lt;br /&gt;
* [[model (DEF)|model]]&lt;br /&gt;
* [[music (DEF)|music]]&lt;br /&gt;
* [[newgamechoices (DEF)|newgamechoices]]&lt;br /&gt;
* [[skybox (DEF)|skybox]]&lt;br /&gt;
* [[sound (DEF)|sound]]&lt;br /&gt;
* [[texture (DEF)|texture]]&lt;br /&gt;
* [[tile (DEF)|tile]]&lt;br /&gt;
* [[tilefont (DEF)|tilefont]]&lt;br /&gt;
* [[tilefromtexture (DEF)|tilefromtexture]]&lt;br /&gt;
* [[voxel (DEF)|voxel]]&lt;br /&gt;
&lt;br /&gt;
=== Un-definitions ===&lt;br /&gt;
&lt;br /&gt;
* [[undefbasepaletterange (DEF)|undefbasepaletterange]]&lt;br /&gt;
* [[undefblendtablerange (DEF)|undefblendtablerange]]&lt;br /&gt;
* [[undefinetile (DEF)|undefinetile]]&lt;br /&gt;
* [[undefinetilerange (DEF)|undefinetilerange]]&lt;br /&gt;
* [[undefmodel (DEF)|undefmodel]]&lt;br /&gt;
* [[undefmodelof (DEF)|undefmodelof]]&lt;br /&gt;
* [[undefmodelrange (DEF)|undefmodelrange]]&lt;br /&gt;
* [[undefpalookuprange (DEF)|undefpalookuprange]]&lt;br /&gt;
* [[undeftexture (DEF)|undeftexture]]&lt;br /&gt;
* [[undeftexturerange (DEF)|undeftexturerange]]&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
* [[copytile (DEF)|copytile]]&lt;br /&gt;
* [[cutscene (DEF)|cutscene]]&lt;br /&gt;
* [[dummytile (DEF)|dummytile]]&lt;br /&gt;
* [[dummytilefrompic (DEF)|dummytilefrompic]]&lt;br /&gt;
* [[dummytilerange (DEF)|dummytilerange]]&lt;br /&gt;
* [[echo (DEF)|echo]]&lt;br /&gt;
* [[mapinfo (DEF)|mapinfo]]&lt;br /&gt;
* [[multipsky (DEF)|multipsky]]&lt;br /&gt;
* [[setuptile (DEF)|setuptile]]&lt;br /&gt;
* [[setuptilerange (DEF)|setuptilerange]]&lt;br /&gt;
* [[texhitscanrange (DEF)|texhitscanrange]]&lt;br /&gt;
&lt;br /&gt;
=== Mapster32 ===&lt;br /&gt;
&lt;br /&gt;
* [[2dcol (DEF)|2dcol]]&lt;br /&gt;
* [[2dcolidxrange (DEF)|2dcolidxrange]]&lt;br /&gt;
* [[alphabet (DEF)|alphabet]]&lt;br /&gt;
* [[spritecol (DEF)|spritecol]]&lt;br /&gt;
* [[spritehotkey (DEF)|spritehotkey]]&lt;br /&gt;
* [[tilegroup (DEF)|tilegroup]]&lt;br /&gt;
&lt;br /&gt;
=== Deprecated commands ===&lt;br /&gt;
&lt;br /&gt;
* [[alphahack (DEF)|alphahack]]&lt;br /&gt;
* [[alphahackrange (DEF)|alphahackrange]]&lt;br /&gt;
* [[definemodel (DEF)|definemodel]]&lt;br /&gt;
* [[definemodelanim (DEF)|definemodelanim]]&lt;br /&gt;
* [[definemodelframe (DEF)|definemodelframe]]&lt;br /&gt;
* [[definemodelskin (DEF)|definemodelskin]]&lt;br /&gt;
* [[defineskybox (DEF)|defineskybox]]&lt;br /&gt;
* [[definetexture (DEF)|definetexture]]&lt;br /&gt;
* [[definetint (DEF)|definetint]]&lt;br /&gt;
* [[definevoxel (DEF)|definevoxel]]&lt;br /&gt;
* [[definevoxeltiles (DEF)|definevoxeltiles]]&lt;br /&gt;
* [[selectmodelskin (DEF)|selectmodelskin]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Terminate&amp;diff=14864</id>
		<title>Terminate</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Terminate&amp;diff=14864"/>
		<updated>2024-01-07T12:24:45Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;terminate&#039;&#039;&#039; command is used to exit the current state early, without propagating down the entire call chain.&lt;br /&gt;
&lt;br /&gt;
By contrast, the [[return]] command propagates along a call chain of [[state]]s and completely terminates the execution of the innermost [[event]] or [[actor]] code.&lt;br /&gt;
&lt;br /&gt;
For clarity, this should be used instead of the [[break]] command.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
When the following code snippet is run, quote 125 (&amp;quot;SPAWNED HEAVYHBOMB&amp;quot;) and quote 126 (&amp;quot;RAN EVENT_EGS&amp;quot;) are displayed, but not quote 127 (&amp;quot;RAN TEST STATE&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 125 SPAWNED HEAVYHBOMB&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 126 RAN EVENT_EGS&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 127 RAN TEST STATE&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;state&#039;&#039;&#039; teststate1&lt;br /&gt;
     terminate&lt;br /&gt;
     userquote 127&lt;br /&gt;
 &#039;&#039;&#039;ends&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;onevent&#039;&#039;&#039; [[EVENT_EGS]]&lt;br /&gt;
     ifactor HEAVYHBOMB&lt;br /&gt;
     {&lt;br /&gt;
         state teststate1&lt;br /&gt;
         userquote 126&lt;br /&gt;
     }&lt;br /&gt;
 &#039;&#039;&#039;endevent&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;onevent&#039;&#039;&#039; [[EVENT_LOADACTOR]]&lt;br /&gt;
     ifvare THISACTOR 0&lt;br /&gt;
     {&lt;br /&gt;
         &#039;&#039;// the concrete actor is irrelevant, only placeholder&#039;&#039;&lt;br /&gt;
         [[spawn]] HEAVYHBOMB  &#039;&#039;// --&amp;gt; EVENT_EGS&#039;&#039;&lt;br /&gt;
         userquote 125&lt;br /&gt;
     }&lt;br /&gt;
 &#039;&#039;&#039;endevent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Event manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Terminate&amp;diff=14863</id>
		<title>Terminate</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Terminate&amp;diff=14863"/>
		<updated>2024-01-07T12:24:16Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;The &amp;#039;&amp;#039;&amp;#039;terminate&amp;#039;&amp;#039;&amp;#039; command is used to exit the current state early, without propagating down the entire call chain.  By contrast, the return command propagates along a call chain of states and completely terminates the execution of the innermost event or actor code.  For clarity, this should be used instead of the break command.  == Examples ==  When the following code snippet is run, quote 125 (&amp;quot;SPAWNED HEAVYHBOMB&amp;quot;) and quote 126 (&amp;quot;RAN EVENT_EGS&amp;quot;) a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;terminate&#039;&#039;&#039; command is used to exit the current state early, without propagating down the entire call chain.&lt;br /&gt;
&lt;br /&gt;
By contrast, the [[return]] command propagates along a call chain of [[state]]s and completely terminates the execution of the innermost [[event]] or [[actor]] code.&lt;br /&gt;
&lt;br /&gt;
For clarity, this should be used instead of the [[break]] command.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
When the following code snippet is run, quote 125 (&amp;quot;SPAWNED HEAVYHBOMB&amp;quot;) and quote 126 (&amp;quot;RAN EVENT_EGS&amp;quot;) are displayed, but not quote 127 (&amp;quot;RAN TEST STATE&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 125 SPAWNED HEAVYHBOMB&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 126 RAN EVENT_EGS&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 127 RAN TEST STATE&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;state&#039;&#039;&#039; teststate1&lt;br /&gt;
     terminate&lt;br /&gt;
     userquote 127&lt;br /&gt;
 &#039;&#039;&#039;ends&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;onevent&#039;&#039;&#039; [[EVENT_EGS]]&lt;br /&gt;
     ifactor HEAVYHBOMB&lt;br /&gt;
     {&lt;br /&gt;
         state teststate1&lt;br /&gt;
         userquote 126&lt;br /&gt;
     }&lt;br /&gt;
 &#039;&#039;&#039;endevent&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;onevent&#039;&#039;&#039; [[EVENT_LOADACTOR]]&lt;br /&gt;
     ifvare THISACTOR 0&lt;br /&gt;
     {&lt;br /&gt;
         &#039;&#039;// the concrete actor is irrelevant, only placeholder&#039;&#039;&lt;br /&gt;
         [[spawn]] HEAVYHBOMB  &#039;&#039;// --&amp;gt; EVENT_EGS&#039;&#039;&lt;br /&gt;
         userquote 125&lt;br /&gt;
     }&lt;br /&gt;
 &#039;&#039;&#039;endevent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Event manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Return&amp;diff=14862</id>
		<title>Return</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Return&amp;diff=14862"/>
		<updated>2024-01-07T12:20:22Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;return&#039;&#039;&#039; command is similar to &#039;&#039;&#039;[[break]]&#039;&#039;&#039; in that it stops code after the &#039;&#039;&#039;return&#039;&#039;&#039; from executing and thus can be used to exit a state early. &lt;br /&gt;
&lt;br /&gt;
However, a &#039;&#039;&#039;return&#039;&#039;&#039; propagates along a call chain of [[state]]s and terminates the execution of the innermost [[event]] or [[actor]] code.&lt;br /&gt;
&lt;br /&gt;
To only exit the current state instead of the whole chain, instead use the [[terminate]] command.&lt;br /&gt;
&lt;br /&gt;
Not to be confused with the [[RETURN]] gamevar and [[return (userdef)|return (userdef structure)]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
When the following code snippet is run, only quote 125 (&amp;quot;SPAWNED HEAVYHBOMB&amp;quot;) is displayed.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 125 SPAWNED HEAVYHBOMB&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 126 RAN EVENT_EGS&lt;br /&gt;
 &#039;&#039;&#039;definequote&#039;&#039;&#039; 127 RAN TEST STATE&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;state&#039;&#039;&#039; teststate1&lt;br /&gt;
     return&lt;br /&gt;
     userquote 127&lt;br /&gt;
 &#039;&#039;&#039;ends&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;onevent&#039;&#039;&#039; [[EVENT_EGS]]&lt;br /&gt;
     ifactor HEAVYHBOMB&lt;br /&gt;
     {&lt;br /&gt;
         state teststate1  &#039;&#039;// after teststate1&#039;s return, return from EVENT_EGS!&#039;&#039;&lt;br /&gt;
         userquote 126&lt;br /&gt;
     }&lt;br /&gt;
 &#039;&#039;&#039;endevent&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;onevent&#039;&#039;&#039; [[EVENT_LOADACTOR]]&lt;br /&gt;
     ifvare THISACTOR 0&lt;br /&gt;
     {&lt;br /&gt;
         &#039;&#039;// the concrete actor is irrelevant, only placeholder&#039;&#039;&lt;br /&gt;
         [[spawn]] HEAVYHBOMB  &#039;&#039;// --&amp;gt; EVENT_EGS&#039;&#039;&lt;br /&gt;
         userquote 125&lt;br /&gt;
     }&lt;br /&gt;
 &#039;&#039;&#039;endevent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Replacing the &#039;&#039;&#039;return&#039;&#039;&#039; by a &#039;&#039;&#039;[[break]]&#039;&#039;&#039; in the above example would lead to quotes 126 and 125 being displayed (in that order) at run time.&lt;br /&gt;
&lt;br /&gt;
[[Category:Event manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Exit&amp;diff=14861</id>
		<title>Exit</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Exit&amp;diff=14861"/>
		<updated>2024-01-07T12:11:46Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;The &amp;#039;&amp;#039;&amp;#039;exit&amp;#039;&amp;#039;&amp;#039; command breaks out of a loop, in the way one would normally from &amp;quot;break&amp;quot; commands in other languages. It should not be used outside of loops.  It should be used instead of break if the intention is to actually leave the loop early.  See also continue, return and terminate.  == Example ==      set j 0     whilen j 3     {         add j 1         userquote 500         exit         userquote 400     }  Makes quote 500 be displayed exactly once...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;exit&#039;&#039;&#039; command breaks out of a loop, in the way one would normally from &amp;quot;break&amp;quot; commands in other languages. It should not be used outside of loops.&lt;br /&gt;
&lt;br /&gt;
It should be used instead of [[break]] if the intention is to actually leave the loop early.&lt;br /&gt;
&lt;br /&gt;
See also [[continue]], [[return]] and [[terminate]].&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
    set j 0&lt;br /&gt;
    whilen j 3&lt;br /&gt;
    {&lt;br /&gt;
        add j 1&lt;br /&gt;
        userquote 500&lt;br /&gt;
        exit&lt;br /&gt;
        userquote 400&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Makes quote 500 be displayed exactly once, and quote 400 not a single time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Event manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Break&amp;diff=14860</id>
		<title>Break</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Break&amp;diff=14860"/>
		<updated>2024-01-07T12:07:02Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A single &#039;&#039;&#039;break&#039;&#039;&#039; command can be used to stop code after the &#039;&#039;&#039;break&#039;&#039;&#039; from executing. Its primary use is inside [[switch]] blocks to close &#039;&#039;&#039;[[case]]&#039;&#039;&#039; statements, but it can also be used to exit a [[state]] early. &lt;br /&gt;
&lt;br /&gt;
Inside &#039;&#039;&#039;while&#039;&#039;&#039; loops, a &#039;&#039;&#039;break&#039;&#039;&#039; transfers control to the beginning of the loop where the condition for continuing the iteration is checked. This is in contrast to most imperative programming languages, where a &#039;&#039;&#039;break&#039;&#039;&#039; inside a loop transfers control to just after the end of the loop body (thus &amp;quot;breaking&amp;quot; it).&lt;br /&gt;
&lt;br /&gt;
In versions of eduke32 starting from 24th August 2023, the &amp;quot;break&amp;quot; command will report a warning if used inside a loop. Use [[continue]] or [[exit]] instead for clarity.&lt;br /&gt;
&lt;br /&gt;
See also [[return]] and [[terminate]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
    setvar j 0&lt;br /&gt;
    whilevarn j 3&lt;br /&gt;
    {&lt;br /&gt;
        addvar j 1&lt;br /&gt;
        userquote 500&lt;br /&gt;
        break  // while is inner: &amp;quot;continue&amp;quot;&lt;br /&gt;
        userquote 400&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
makes quote 500 be displayed &#039;&#039;three&#039;&#039; times in total and quote 400 not a single time.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Event manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Break&amp;diff=14859</id>
		<title>Break</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Break&amp;diff=14859"/>
		<updated>2024-01-07T12:05:52Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A single &#039;&#039;&#039;break&#039;&#039;&#039; command can be used to stop code after the &#039;&#039;&#039;break&#039;&#039;&#039; from executing. Can also be used to exit a [[state]] early. Also used inside [[switch]] blocks to close &#039;&#039;&#039;[[case]]&#039;&#039;&#039; statements.&lt;br /&gt;
&lt;br /&gt;
Inside &#039;&#039;&#039;while&#039;&#039;&#039; loops, a &#039;&#039;&#039;break&#039;&#039;&#039; transfers control to the beginning of the loop where the condition for continuing the iteration is checked. This is in contrast to most imperative programming languages, where a &#039;&#039;&#039;break&#039;&#039;&#039; inside a loop transfers control to just after the end of the loop body (thus &amp;quot;breaking&amp;quot; it).&lt;br /&gt;
&lt;br /&gt;
In versions of eduke32 starting from 24th August 2023, the &amp;quot;break&amp;quot; command will report a warning if used inside a loop. Use [[continue]] or [[exit]] instead for clarity.&lt;br /&gt;
&lt;br /&gt;
See also [[return]] and [[terminate]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
    setvar j 0&lt;br /&gt;
    whilevarn j 3&lt;br /&gt;
    {&lt;br /&gt;
        addvar j 1&lt;br /&gt;
        userquote 500&lt;br /&gt;
        break  // while is inner: &amp;quot;continue&amp;quot;&lt;br /&gt;
        userquote 400&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
makes quote 500 be displayed &#039;&#039;three&#039;&#039; times in total and quote 400 not a single time.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;br /&gt;
[[Category:Event manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Continue&amp;diff=14858</id>
		<title>Continue</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Continue&amp;diff=14858"/>
		<updated>2024-01-07T12:04:09Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;The &amp;#039;&amp;#039;&amp;#039;continue&amp;#039;&amp;#039;&amp;#039; command jumps execution back to the start of a loop. It should not be used outside of a loop.  It is essentially the same as a break statement. Note that as of versions from August 24th 2023, eduke32 will produce a warning when using a break inside a loop.   See also exit, return and terminate.  Category:EDuke32 specific commands Category:Event manipulation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;continue&#039;&#039;&#039; command jumps execution back to the start of a loop. It should not be used outside of a loop.&lt;br /&gt;
&lt;br /&gt;
It is essentially the same as a [[break]] statement. Note that as of versions from August 24th 2023, eduke32 will produce a warning when using a [[break]] inside a loop. &lt;br /&gt;
&lt;br /&gt;
See also [[exit]], [[return]] and [[terminate]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Event manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Category:All_commands&amp;diff=14857</id>
		<title>Category:All commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Category:All_commands&amp;diff=14857"/>
		<updated>2024-01-07T11:52:28Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: /* Termination */ Add continue, exit and terminate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
&lt;br /&gt;
==Preprocessor==&lt;br /&gt;
*[[include]]&lt;br /&gt;
*[[includedefault]]&lt;br /&gt;
*[[define]]&lt;br /&gt;
*// single-line comment&lt;br /&gt;
*/* block comment */&lt;br /&gt;
*whitespace characters: &amp;lt;code&amp;gt;( ) ; ,&amp;lt;/code&amp;gt;&lt;br /&gt;
==Meta-Settings==&lt;br /&gt;
&amp;lt;!-- These deal with matters outside the game world. --&amp;gt;&lt;br /&gt;
*[[dynamicremap]]&lt;br /&gt;
*[[dynamicsoundremap]]&lt;br /&gt;
*[[setcfgname]]&lt;br /&gt;
*[[setdefname]]&lt;br /&gt;
*[[setgamename]]&lt;br /&gt;
*[[precache]]&lt;br /&gt;
*[[scriptsize]]&lt;br /&gt;
*[[cheatkeys]]&lt;br /&gt;
*[[definecheat]]&lt;br /&gt;
*[[definegamefuncname]]&lt;br /&gt;
*[[definegametype]]&lt;br /&gt;
*[[definevolumename]]&lt;br /&gt;
*[[definevolumeflags]]&lt;br /&gt;
*[[definelevelname]]&lt;br /&gt;
*[[defineskillname]]&lt;br /&gt;
*[[undefinevolume]]&lt;br /&gt;
*[[undefinelevel]]&lt;br /&gt;
*[[undefineskill]]&lt;br /&gt;
===If===&lt;br /&gt;
*[[ifrespawn]]&lt;br /&gt;
*[[ifmultiplayer]]&lt;br /&gt;
*[[ifclient]]&lt;br /&gt;
*[[ifserver]]&lt;br /&gt;
==Global Settings==&lt;br /&gt;
&amp;lt;!-- These deal with matters inside the game world. --&amp;gt;&lt;br /&gt;
*[[gamestartup]]&lt;br /&gt;
*[[spritenopal]]&lt;br /&gt;
*[[spritenoshade]]&lt;br /&gt;
*[[spritenvg]]&lt;br /&gt;
*[[spriteshadow]]&lt;br /&gt;
==Block Delimiting==&lt;br /&gt;
===Object-Oriented===&lt;br /&gt;
*[[actor]]&lt;br /&gt;
*[[useractor]]&lt;br /&gt;
*[[enda]]&lt;br /&gt;
===Procedural===&lt;br /&gt;
*[[onevent]]&lt;br /&gt;
*[[appendevent]]&lt;br /&gt;
*[[endevent]]&lt;br /&gt;
&lt;br /&gt;
===Subroutines===&lt;br /&gt;
*[[state]]&lt;br /&gt;
*[[defstate]]&lt;br /&gt;
*[[ends]]&lt;br /&gt;
&lt;br /&gt;
==Flow Control==&lt;br /&gt;
===If Components===&lt;br /&gt;
*[[nullop]]&lt;br /&gt;
*[[else]]&lt;br /&gt;
===Switch===&lt;br /&gt;
*[[switch]]&lt;br /&gt;
*[[endswitch]]&lt;br /&gt;
*[[case]]&lt;br /&gt;
*[[default]]&lt;br /&gt;
===Termination===&lt;br /&gt;
*[[break]]&lt;br /&gt;
*[[continue]]&lt;br /&gt;
*[[exit]]&lt;br /&gt;
*[[return]]&lt;br /&gt;
*[[terminate]]&lt;br /&gt;
&lt;br /&gt;
===Jump===&lt;br /&gt;
:&#039;&#039;Note: Jumping commands are deprecated and will not be supported by Lunatic. Use [[#Loops|loops]] instead.&#039;&#039;&lt;br /&gt;
*[[getcurraddress]]&lt;br /&gt;
*[[jump]]&lt;br /&gt;
&lt;br /&gt;
===Loops===&lt;br /&gt;
*[[whilevarl]]&lt;br /&gt;
*[[whilevarvarl]]&lt;br /&gt;
*[[whilevare]]&lt;br /&gt;
*[[whilevarn]]&lt;br /&gt;
*[[whilevarvarn]]&lt;br /&gt;
:&#039;&#039;It is also possible to loop by calling a state from within itself.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Game Variables==&lt;br /&gt;
*[[gamevar]]&lt;br /&gt;
*[[gamearray]]&lt;br /&gt;
===Gamevar Operators===&lt;br /&gt;
*[[setvar]]&lt;br /&gt;
*[[setvarvar]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[addvar]]&lt;br /&gt;
*[[addvarvar]]&lt;br /&gt;
*[[subvar]]&lt;br /&gt;
*[[subvarvar]]&lt;br /&gt;
*[[mulvar]]&lt;br /&gt;
*[[mulvarvar]]&lt;br /&gt;
*[[divvar]]&lt;br /&gt;
*[[divvarvar]]&lt;br /&gt;
*[[modvar]]&lt;br /&gt;
*[[modvarvar]]&lt;br /&gt;
*[[andvar]]&lt;br /&gt;
*[[andvarvar]]&lt;br /&gt;
*[[orvar]]&lt;br /&gt;
*[[orvarvar]]&lt;br /&gt;
*[[xorvar]]&lt;br /&gt;
*[[xorvarvar]]&lt;br /&gt;
*[[randvar]]&lt;br /&gt;
*[[randvarvar]]&lt;br /&gt;
===Gamevar Conditions===&lt;br /&gt;
*[[ifvare]]&lt;br /&gt;
*[[ifvarn]]&lt;br /&gt;
*[[ifvarg]]&lt;br /&gt;
*[[ifvarl]]&lt;br /&gt;
*[[ifvarand]]&lt;br /&gt;
*[[ifvaror]]&lt;br /&gt;
*[[ifvarxor]]&lt;br /&gt;
*[[ifvareither]]&lt;br /&gt;
*[[ifvarvare]]&lt;br /&gt;
*[[ifvarvarn]]&lt;br /&gt;
*[[ifvarvarg]]&lt;br /&gt;
*[[ifvarvarl]]&lt;br /&gt;
*[[ifvarvarand]]&lt;br /&gt;
*[[ifvarvaror]]&lt;br /&gt;
*[[ifvarvarxor]]&lt;br /&gt;
*[[ifvarvareither]]&lt;br /&gt;
===Math Operations===&lt;br /&gt;
*[[sqrt]]&lt;br /&gt;
*[[calchypotenuse]]&lt;br /&gt;
*[[sin]]&lt;br /&gt;
*[[cos]]&lt;br /&gt;
*[[shiftvarl]]&lt;br /&gt;
*[[shiftvarr]]&lt;br /&gt;
*[[mulscale]]&lt;br /&gt;
*[[getangle]]&lt;br /&gt;
*[[getincangle]]&lt;br /&gt;
===Array Operations===&lt;br /&gt;
*[[getarraysize]]&lt;br /&gt;
*[[getarraysequence]]&lt;br /&gt;
*[[resizearray]]&lt;br /&gt;
*[[copy]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[setarraysequence]]&lt;br /&gt;
&lt;br /&gt;
===Data Saving===&lt;br /&gt;
*[[readgamevar]]&lt;br /&gt;
*[[savegamevar]]&lt;br /&gt;
*[[readarrayfromfile]]&lt;br /&gt;
*[[writearraytofile]]&lt;br /&gt;
==Structure Access==&lt;br /&gt;
*[[getactor]]&lt;br /&gt;
*[[getactorvar]]&lt;br /&gt;
*[[getinput]]&lt;br /&gt;
*[[getplayer]]&lt;br /&gt;
*[[getplayervar]]&lt;br /&gt;
*[[getprojectile]]&lt;br /&gt;
*[[getsector]]&lt;br /&gt;
*[[getthisprojectile]]&lt;br /&gt;
*[[gettspr]]&lt;br /&gt;
*[[getuserdef]]&lt;br /&gt;
*[[getwall]]&lt;br /&gt;
*[[setactor]]&lt;br /&gt;
*[[setactorvar]]&lt;br /&gt;
*[[setinput]]&lt;br /&gt;
*[[setplayer]]&lt;br /&gt;
*[[setplayervar]]&lt;br /&gt;
*[[setprojectile]]&lt;br /&gt;
*[[setsector]]&lt;br /&gt;
*[[setthisprojectile]]&lt;br /&gt;
*[[settspr]]&lt;br /&gt;
*[[setuserdef]]&lt;br /&gt;
*[[setwall]]&lt;br /&gt;
==Actors==&lt;br /&gt;
===Structures===&lt;br /&gt;
*[[cactor]] &amp;lt;!-- picnum --&amp;gt;&lt;br /&gt;
*[[action]] &amp;lt;!-- htg_t 4 (2, 3) --&amp;gt;&lt;br /&gt;
*[[ai]] &amp;lt;!-- htg_t 5 (1?) --&amp;gt;&lt;br /&gt;
*[[move]] &amp;lt;!-- htg_t 1 --&amp;gt;&lt;br /&gt;
*[[count]] &amp;lt;!-- htg_t 0 --&amp;gt;&lt;br /&gt;
*[[resetactioncount]] &amp;lt;!-- htg_t 2 --&amp;gt;&lt;br /&gt;
*[[resetcount]] &amp;lt;!-- htg_t 0 --&amp;gt;&lt;br /&gt;
*[[cstat]] &amp;lt;!-- cstat --&amp;gt;&lt;br /&gt;
*[[cstator]] &amp;lt;!-- cstat --&amp;gt;&lt;br /&gt;
*[[clipdist]] &amp;lt;!-- clipdist --&amp;gt;&lt;br /&gt;
*[[sizeat]] &amp;lt;!-- [xy]repeat --&amp;gt;&lt;br /&gt;
*[[sizeto]] &amp;lt;!-- [xy]repeat --&amp;gt;&lt;br /&gt;
*[[strength]] &amp;lt;!-- extra --&amp;gt;&lt;br /&gt;
*[[addstrength]] &amp;lt;!-- extra --&amp;gt;&lt;br /&gt;
*[[spritepal]] &amp;lt;!-- pal --&amp;gt;&lt;br /&gt;
*[[getlastpal]] &amp;lt;!-- httempang --&amp;gt;&lt;br /&gt;
*[[sleeptime]] &amp;lt;!-- httimetosleep --&amp;gt;&lt;br /&gt;
*[[spriteflags]] &amp;lt;!-- htflags --&amp;gt;&lt;br /&gt;
*[[angoff]] &amp;lt;!-- angoff --&amp;gt;&lt;br /&gt;
*[[angoffvar]] &amp;lt;!-- angoff --&amp;gt;&lt;br /&gt;
*[[changespritesect]] &amp;lt;!-- sectnum --&amp;gt;&lt;br /&gt;
*[[changespritestat]] &amp;lt;!-- statnum --&amp;gt;&lt;br /&gt;
*[[setsprite]] &amp;lt;!-- [xyz] --&amp;gt;&lt;br /&gt;
====If====&lt;br /&gt;
*[[ifactor]]&lt;br /&gt;
*[[ifaction]]&lt;br /&gt;
*[[ifactioncount]]&lt;br /&gt;
*[[ifai]]&lt;br /&gt;
*[[ifcount]]&lt;br /&gt;
*[[ifmove]]&lt;br /&gt;
*[[ifspawnedby]]&lt;br /&gt;
*[[ifspritepal]]&lt;br /&gt;
*[[ifstrength]]&lt;br /&gt;
*[[ifhitweapon]]&lt;br /&gt;
*[[ifwasweapon]]&lt;br /&gt;
*[[ifdead]]&lt;br /&gt;
*[[ifactornotstayput]]&lt;br /&gt;
===Commands===&lt;br /&gt;
*[[fall]]&lt;br /&gt;
*[[insertspriteq]]&lt;br /&gt;
*[[killit]]&lt;br /&gt;
*[[movesprite]]&lt;br /&gt;
*[[ssp]]&lt;br /&gt;
*[[clipmove]]&lt;br /&gt;
*[[clipmovenoslide]]&lt;br /&gt;
===Measurements===&lt;br /&gt;
*[[dist]]&lt;br /&gt;
*[[ldist]]&lt;br /&gt;
*[[cansee]]&lt;br /&gt;
*[[canseespr]]&lt;br /&gt;
===Surroundings===&lt;br /&gt;
====Commands====&lt;br /&gt;
*[[hitradius]]&lt;br /&gt;
*[[hitradiusvar]]&lt;br /&gt;
*[[flash]]&lt;br /&gt;
====If====&lt;br /&gt;
*[[ifawayfromwall]]&lt;br /&gt;
*[[ifbulletnear]]&lt;br /&gt;
*[[ifceilingdistl]]&lt;br /&gt;
*[[iffloordistl]]&lt;br /&gt;
*[[ifgapzl]]&lt;br /&gt;
*[[ifsquished]]&lt;br /&gt;
*[[ifnotmoving]]&lt;br /&gt;
*[[ifinwater]]&lt;br /&gt;
*[[ifonwater]]&lt;br /&gt;
*[[ifoutside]]&lt;br /&gt;
*[[ifinspace]]&lt;br /&gt;
*[[ifinouterspace]]&lt;br /&gt;
*[[ifrnd]] &amp;lt;!-- This is here because it really only has a use in actor code. --&amp;gt;&lt;br /&gt;
===Mapping Features===&lt;br /&gt;
*[[mikesnd]]&lt;br /&gt;
*[[respawnhitag]]&lt;br /&gt;
===Player Interaction===&lt;br /&gt;
*[[ifangdiffl]]&lt;br /&gt;
*[[ifcansee]]&lt;br /&gt;
*[[ifcanseetarget]]&lt;br /&gt;
*[[ifcanshoottarget]]&lt;br /&gt;
*[[ifhitspace]]&lt;br /&gt;
*[[getangletotarget]]&lt;br /&gt;
===Spawning===&lt;br /&gt;
*[[spawn]]&lt;br /&gt;
*[[espawn]]&lt;br /&gt;
*[[espawnvar]]&lt;br /&gt;
*[[qspawn]]&lt;br /&gt;
*[[qspawnvar]]&lt;br /&gt;
*[[eqspawn]]&lt;br /&gt;
*[[eqspawnvar]]&lt;br /&gt;
===Materials===&lt;br /&gt;
*[[debris]]&lt;br /&gt;
*[[guts]]&lt;br /&gt;
*[[lotsofglass]]&lt;br /&gt;
*[[mail]]&lt;br /&gt;
*[[money]]&lt;br /&gt;
*[[paper]]&lt;br /&gt;
==Projectiles==&lt;br /&gt;
*[[defineprojectile]]&lt;br /&gt;
*[[shoot]]&lt;br /&gt;
*[[shootvar]]&lt;br /&gt;
*[[eshoot]]&lt;br /&gt;
*[[eshootvar]]&lt;br /&gt;
*[[zshoot]]&lt;br /&gt;
*[[zshootvar]]&lt;br /&gt;
*[[ezshoot]]&lt;br /&gt;
*[[ezshootvar]]&lt;br /&gt;
==Player==&lt;br /&gt;
===Commands===&lt;br /&gt;
*[[addammo]]&lt;br /&gt;
*[[addinventory]]&lt;br /&gt;
*[[addweapon]]&lt;br /&gt;
*[[addweaponvar]]&lt;br /&gt;
*[[addphealth]]&lt;br /&gt;
*[[tossweapon]]&lt;br /&gt;
*[[gmaxammo]]&lt;br /&gt;
*[[smaxammo]]&lt;br /&gt;
*[[checkavailinven]]&lt;br /&gt;
*[[checkavailweapon]]&lt;br /&gt;
*[[addkills]]&lt;br /&gt;
*[[lockplayer]]&lt;br /&gt;
*[[resetplayer]]&lt;br /&gt;
*[[resetplayerflags]]&lt;br /&gt;
===If===&lt;br /&gt;
*[[ifgotweaponce]]&lt;br /&gt;
*[[ifp]]&lt;br /&gt;
*[[ifpdistg]]&lt;br /&gt;
*[[ifpdistl]]&lt;br /&gt;
*[[ifphealthl]]&lt;br /&gt;
*[[ifpinventory]]&lt;br /&gt;
*[[ifplayersl]]&lt;br /&gt;
==Sectors==&lt;br /&gt;
===Operating===&lt;br /&gt;
*[[operate]]&lt;br /&gt;
*[[operateactivators]]&lt;br /&gt;
*[[operatemasterswitches]]&lt;br /&gt;
*[[operaterespawns]]&lt;br /&gt;
*[[operatesectors]]&lt;br /&gt;
*[[activatebysector]]&lt;br /&gt;
*[[activate]]&lt;br /&gt;
===Manipulation===&lt;br /&gt;
*[[dragpoint]]&lt;br /&gt;
*[[sectsetinterpolation]]&lt;br /&gt;
*[[sectclearinterpolation]]&lt;br /&gt;
===Analysis===&lt;br /&gt;
*[[getceilzofslope]]&lt;br /&gt;
*[[getflorzofslope]]&lt;br /&gt;
*[[getzrange]]&lt;br /&gt;
*[[updatesector]]&lt;br /&gt;
*[[updatesectorz]]&lt;br /&gt;
*[[checkactivatormotion]]&lt;br /&gt;
*[[rotatepoint]]&lt;br /&gt;
*[[lineintersect]]&lt;br /&gt;
*[[rayintersect]]&lt;br /&gt;
*[[sectorofwall]]&lt;br /&gt;
==Discovery==&lt;br /&gt;
===Searching===&lt;br /&gt;
*[[findnearactor]]&lt;br /&gt;
*[[findnearactor3d]]&lt;br /&gt;
*[[findnearactor3dvar]]&lt;br /&gt;
*[[findnearactorvar]]&lt;br /&gt;
*[[findnearactorz]]&lt;br /&gt;
*[[findnearactorzvar]]&lt;br /&gt;
*[[findnearsprite]]&lt;br /&gt;
*[[findnearsprite3d]]&lt;br /&gt;
*[[findnearsprite3dvar]]&lt;br /&gt;
*[[findnearspritevar]]&lt;br /&gt;
*[[findnearspritez]]&lt;br /&gt;
*[[findnearspritezvar]]&lt;br /&gt;
*[[findotherplayer]]&lt;br /&gt;
*[[findplayer]]&lt;br /&gt;
*[[neartag]]&lt;br /&gt;
*[[hitscan]]&lt;br /&gt;
===Sorting===&lt;br /&gt;
*[[headspritesect]]&lt;br /&gt;
*[[headspritestat]]&lt;br /&gt;
*[[nextspritesect]]&lt;br /&gt;
*[[nextspritestat]]&lt;br /&gt;
*[[prevspritesect]]&lt;br /&gt;
*[[prevspritestat]]&lt;br /&gt;
==Audio==&lt;br /&gt;
===Sounds===&lt;br /&gt;
*[[definesound]]&lt;br /&gt;
*[[sound]]&lt;br /&gt;
*[[soundvar]]&lt;br /&gt;
*[[soundonce]]&lt;br /&gt;
*[[soundoncevar]]&lt;br /&gt;
*[[globalsound]]&lt;br /&gt;
*[[globalsoundvar]]&lt;br /&gt;
*[[screensound]]&lt;br /&gt;
*[[stopsound]]&lt;br /&gt;
*[[stopsoundvar]]&lt;br /&gt;
*[[stopactorsound]]&lt;br /&gt;
*[[stopallsounds]]&lt;br /&gt;
*[[ifsound]]&lt;br /&gt;
*[[ifactorsound]]&lt;br /&gt;
*[[ifnosounds]]&lt;br /&gt;
*[[setactorsoundpitch]]&lt;br /&gt;
===Music===&lt;br /&gt;
*[[music]]&lt;br /&gt;
*[[starttrack]]&lt;br /&gt;
*[[starttrackvar]]&lt;br /&gt;
*[[getmusicposition]]&lt;br /&gt;
*[[setmusicposition]]&lt;br /&gt;
==Quotes==&lt;br /&gt;
*[[definequote]]&lt;br /&gt;
*[[redefinequote]]&lt;br /&gt;
*[[quote]]&lt;br /&gt;
*[[userquote]]&lt;br /&gt;
*[[qsprintf]]&lt;br /&gt;
*[[qstrcpy]]&lt;br /&gt;
*[[qstrcat]]&lt;br /&gt;
*[[qstrncat]]&lt;br /&gt;
*[[qstrlen]]&lt;br /&gt;
*[[qsubstr]]&lt;br /&gt;
*[[qstrdim]]&lt;br /&gt;
*[[qgetsysstr]]&lt;br /&gt;
*[[getpname]]&lt;br /&gt;
*[[getkeyname]]&lt;br /&gt;
==Cutscenes==&lt;br /&gt;
*[[startcutscene]]&lt;br /&gt;
*[[ifcutscene]]&lt;br /&gt;
==Screen==&lt;br /&gt;
===Screen Manipulation===&lt;br /&gt;
*[[palfrom]]&lt;br /&gt;
*[[guniqhudid]]&lt;br /&gt;
*[[setgamepalette]]&lt;br /&gt;
*[[setaspect]]&lt;br /&gt;
===Player Actions===&lt;br /&gt;
*[[wackplayer]]&lt;br /&gt;
*[[quake]]&lt;br /&gt;
*[[pkick]]&lt;br /&gt;
*[[pstomp]]&lt;br /&gt;
*[[tip]]&lt;br /&gt;
===Screen Drawing===&lt;br /&gt;
*[[rotatesprite]]&lt;br /&gt;
*[[rotatesprite16]]&lt;br /&gt;
*[[rotatespritea]]&lt;br /&gt;
*[[screentext]]&lt;br /&gt;
*[[gametext]]&lt;br /&gt;
*[[gametextz]]&lt;br /&gt;
*[[minitext]]&lt;br /&gt;
*[[digitalnumber]]&lt;br /&gt;
*[[digitalnumberz]]&lt;br /&gt;
*[[showview]]&lt;br /&gt;
*[[showviewunbiased]]&lt;br /&gt;
===Math===&lt;br /&gt;
*[[displayrand]]&lt;br /&gt;
*[[displayrandvar]]&lt;br /&gt;
*[[displayrandvarvar]]&lt;br /&gt;
==Time Access==&lt;br /&gt;
*[[getticks]]&lt;br /&gt;
*[[gettimedate]]&lt;br /&gt;
==Game-Changing==&lt;br /&gt;
*[[activatecheat]]&lt;br /&gt;
*[[startlevel]]&lt;br /&gt;
*[[inittimer]]&lt;br /&gt;
*[[endofgame]]&lt;br /&gt;
*[[endoflevel]]&lt;br /&gt;
*[[cmenu]]&lt;br /&gt;
==Game Saving==&lt;br /&gt;
*[[save]]&lt;br /&gt;
*[[savenn]]&lt;br /&gt;
===Hub Maps===&lt;br /&gt;
*[[loadmapstate]]&lt;br /&gt;
*[[savemapstate]]&lt;br /&gt;
*[[clearmapstate]]&lt;br /&gt;
==Debug==&lt;br /&gt;
*[[debug]]&lt;br /&gt;
*[[addlog]]&lt;br /&gt;
*[[addlogvar]]&lt;br /&gt;
*[[echo]]&lt;br /&gt;
==Deprecated==&lt;br /&gt;
*[[betaname]]&lt;br /&gt;
*[[enhanced]]&lt;br /&gt;
*[[eventloadactor]]&lt;br /&gt;
*[[time]]&lt;br /&gt;
*[[shadeto]]&lt;br /&gt;
===Screen Drawing===&lt;br /&gt;
*[[myos]]&lt;br /&gt;
*[[myosx]]&lt;br /&gt;
*[[myospal]]&lt;br /&gt;
*[[myospalx]]&lt;br /&gt;
===Single-Use Structure Access===&lt;br /&gt;
*[[getactorangle]]&lt;br /&gt;
*[[getplayerangle]]&lt;br /&gt;
*[[gettextureceiling]]&lt;br /&gt;
*[[gettexturefloor]]&lt;br /&gt;
*[[sectgethitag]]&lt;br /&gt;
*[[sectgetlotag]]&lt;br /&gt;
*[[spgethitag]]&lt;br /&gt;
*[[spgetlotag]]&lt;br /&gt;
*[[setactorangle]]&lt;br /&gt;
*[[setplayerangle]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Full_command_list&amp;diff=14856</id>
		<title>Full command list</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Full_command_list&amp;diff=14856"/>
		<updated>2024-01-07T11:50:00Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Add terminate, exit and continue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
&lt;br /&gt;
This is a list of every CON primitive in EDuke32.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:3;-moz-column-count:3;-webkit-column-count:3&amp;quot;&amp;gt;&lt;br /&gt;
*[[abs]]&lt;br /&gt;
*[[action]]&lt;br /&gt;
*[[activate]]&lt;br /&gt;
*[[activatebysector]]&lt;br /&gt;
*[[activatecheat]]&lt;br /&gt;
*[[actor]]&lt;br /&gt;
*[[actorsound]]&lt;br /&gt;
*[[add]]&lt;br /&gt;
*[[addammo]]&lt;br /&gt;
*[[addinventory]]&lt;br /&gt;
*[[addkills]]&lt;br /&gt;
*[[addlog]]&lt;br /&gt;
*[[addlogvar]]&lt;br /&gt;
*[[addphealth]]&lt;br /&gt;
*[[addstrength]]&lt;br /&gt;
*[[addvar]]&lt;br /&gt;
*[[addvarvar]]&lt;br /&gt;
*[[addweapon]]&lt;br /&gt;
*[[addweaponvar]]&lt;br /&gt;
*[[ai]]&lt;br /&gt;
*[[al]]&lt;br /&gt;
*[[and]]&lt;br /&gt;
*[[andvar]]&lt;br /&gt;
*[[andvarvar]]&lt;br /&gt;
*[[angoff]]&lt;br /&gt;
*[[angoffvar]]&lt;br /&gt;
*[[appendevent]]&lt;br /&gt;
*[[array]]&lt;br /&gt;
*[[betaname]]&lt;br /&gt;
*[[break]]&lt;br /&gt;
*[[cactor]]&lt;br /&gt;
*[[calchypotenuse]]&lt;br /&gt;
*[[cansee]]&lt;br /&gt;
*[[canseespr]]&lt;br /&gt;
*[[capia]]&lt;br /&gt;
*[[capis]]&lt;br /&gt;
*[[case]]&lt;br /&gt;
*[[changespritesect]]&lt;br /&gt;
*[[changespritestat]]&lt;br /&gt;
*[[cheatkeys]]&lt;br /&gt;
*[[checkactivatormotion]]&lt;br /&gt;
*[[checkavailinven]]&lt;br /&gt;
*[[checkavailweapon]]&lt;br /&gt;
*[[ck]]&lt;br /&gt;
*[[clamp]]&lt;br /&gt;
*[[clearmapstate]]&lt;br /&gt;
*[[clipdist]]&lt;br /&gt;
*[[clipmove]]&lt;br /&gt;
*[[clipmovenoslide]]&lt;br /&gt;
*[[cmenu]]&lt;br /&gt;
*[[continue]]&lt;br /&gt;
*[[copy]]&lt;br /&gt;
*[[cos]]&lt;br /&gt;
*[[count]]&lt;br /&gt;
*[[cstat]]&lt;br /&gt;
*[[cstator]]&lt;br /&gt;
*[[damageeventtile]]&lt;br /&gt;
*[[damageeventtilerange]]&lt;br /&gt;
*[[dc]]&lt;br /&gt;
*[[dcd]]&lt;br /&gt;
*[[debris]]&lt;br /&gt;
*[[debug]]&lt;br /&gt;
*[[default]]&lt;br /&gt;
*[[define]]&lt;br /&gt;
*[[definecheat]]&lt;br /&gt;
*[[definecheatdescription]]&lt;br /&gt;
*[[definegamefuncname]]&lt;br /&gt;
*[[definegametype]]&lt;br /&gt;
*[[definelevelname]]&lt;br /&gt;
*[[defineprojectile]]&lt;br /&gt;
*[[definequote]]&lt;br /&gt;
*[[defineskillname]]&lt;br /&gt;
*[[definesound]]&lt;br /&gt;
*[[definevolumeflags]]&lt;br /&gt;
*[[definevolumename]]&lt;br /&gt;
*[[defstate]]&lt;br /&gt;
*[[digitalnumber]]&lt;br /&gt;
*[[digitalnumberz]]&lt;br /&gt;
*[[displayrand]]&lt;br /&gt;
*[[displayrandvar]]&lt;br /&gt;
*[[displayrandvarvar]]&lt;br /&gt;
*[[dist]]&lt;br /&gt;
*[[div]]&lt;br /&gt;
*[[divr]]&lt;br /&gt;
*[[divrd]]&lt;br /&gt;
*[[divru]]&lt;br /&gt;
*[[divscale]]&lt;br /&gt;
*[[divvar]]&lt;br /&gt;
*[[divvarvar]]&lt;br /&gt;
*[[dragpoint]]&lt;br /&gt;
*[[drawline256]]&lt;br /&gt;
*[[drawlinergb]]&lt;br /&gt;
*[[dynamicremap]]&lt;br /&gt;
*[[dynamicsoundremap]]&lt;br /&gt;
*[[echo]]&lt;br /&gt;
*[[else]]&lt;br /&gt;
*[[enda]]&lt;br /&gt;
*[[endevent]]&lt;br /&gt;
*[[endofgame]]&lt;br /&gt;
*[[endoflevel]]&lt;br /&gt;
*[[ends]]&lt;br /&gt;
*[[endswitch]]&lt;br /&gt;
*[[enhanced]]&lt;br /&gt;
*[[eqspawn]]&lt;br /&gt;
*[[eqspawnvar]]&lt;br /&gt;
*[[eshoot]]&lt;br /&gt;
*[[eshootvar]]&lt;br /&gt;
*[[espawn]]&lt;br /&gt;
*[[espawnvar]]&lt;br /&gt;
*[[eventloadactor]]&lt;br /&gt;
*[[ezshoot]]&lt;br /&gt;
*[[ezshootvar]]&lt;br /&gt;
*[[exit]]&lt;br /&gt;
*[[fall]]&lt;br /&gt;
*[[findnearactor3d]]&lt;br /&gt;
*[[findnearactor3dvar]]&lt;br /&gt;
*[[findnearactor]]&lt;br /&gt;
*[[findnearactorvar]]&lt;br /&gt;
*[[findnearactorz]]&lt;br /&gt;
*[[findnearactorzvar]]&lt;br /&gt;
*[[findnearsprite3d]]&lt;br /&gt;
*[[findnearsprite3dvar]]&lt;br /&gt;
*[[findnearsprite]]&lt;br /&gt;
*[[findnearspritevar]]&lt;br /&gt;
*[[findnearspritez]]&lt;br /&gt;
*[[findnearspritezvar]]&lt;br /&gt;
*[[findotherplayer]]&lt;br /&gt;
*[[findplayer]]&lt;br /&gt;
*[[flash]]&lt;br /&gt;
*[[for]]&lt;br /&gt;
*[[gamearray]]&lt;br /&gt;
*[[gamestartup]]&lt;br /&gt;
*[[gametext]]&lt;br /&gt;
*[[gametextz]]&lt;br /&gt;
*[[gamevar]]&lt;br /&gt;
*[[geta]]&lt;br /&gt;
*[[getactor]]&lt;br /&gt;
*[[getactorangle]]&lt;br /&gt;
*[[getactorvar]]&lt;br /&gt;
*[[getangle]]&lt;br /&gt;
*[[getangletotarget]]&lt;br /&gt;
*[[getarrayseq]]&lt;br /&gt;
*[[getarraysequence]]&lt;br /&gt;
*[[getarraysize]]&lt;br /&gt;
*[[getav]]&lt;br /&gt;
*[[getceilzofslope]]&lt;br /&gt;
*[[getclosestcol]]&lt;br /&gt;
*[[getcurraddress]]&lt;br /&gt;
*[[getflorzofslope]]&lt;br /&gt;
*[[getgamefuncbind]]&lt;br /&gt;
*[[geti]]&lt;br /&gt;
*[[getincangle]]&lt;br /&gt;
*[[getinput]]&lt;br /&gt;
*[[getkeyname]]&lt;br /&gt;
*[[getlastpal]]&lt;br /&gt;
*[[getmusicposition]]&lt;br /&gt;
*[[getngcflags]]&lt;br /&gt;
*[[getp]]&lt;br /&gt;
*[[getplayer]]&lt;br /&gt;
*[[getplayerangle]]&lt;br /&gt;
*[[getplayervar]]&lt;br /&gt;
*[[getpname]]&lt;br /&gt;
*[[getprojectile]]&lt;br /&gt;
*[[getpv]]&lt;br /&gt;
*[[gets]]&lt;br /&gt;
*[[getsector]]&lt;br /&gt;
*[[gettextureceiling]]&lt;br /&gt;
*[[gettexturefloor]]&lt;br /&gt;
*[[getthisprojectile]]&lt;br /&gt;
*[[getticks]]&lt;br /&gt;
*[[gettiledata]]&lt;br /&gt;
*[[gettimedate]]&lt;br /&gt;
*[[gettspr]]&lt;br /&gt;
*[[getu]]&lt;br /&gt;
*[[getuserdef]]&lt;br /&gt;
*[[getw]]&lt;br /&gt;
*[[getwall]]&lt;br /&gt;
*[[getzrange]]&lt;br /&gt;
*[[globalsound]]&lt;br /&gt;
*[[globalsoundvar]]&lt;br /&gt;
*[[gmaxammo]]&lt;br /&gt;
*[[guniqhudid]]&lt;br /&gt;
*[[guts]]&lt;br /&gt;
*[[headspritesect]]&lt;br /&gt;
*[[headspritestat]]&lt;br /&gt;
*[[hitradius]]&lt;br /&gt;
*[[hitradiusvar]]&lt;br /&gt;
*[[hitscan]]&lt;br /&gt;
*[[ifa]]&lt;br /&gt;
*[[ifaction]]&lt;br /&gt;
*[[ifactioncount]]&lt;br /&gt;
*[[ifactor]]&lt;br /&gt;
*[[ifactornotstayput]]&lt;br /&gt;
*[[ifactorsound]]&lt;br /&gt;
*[[ifae]]&lt;br /&gt;
*[[ifai]]&lt;br /&gt;
*[[ifand]]&lt;br /&gt;
*[[ifangdiffl]]&lt;br /&gt;
*[[ifawayfromwall]]&lt;br /&gt;
*[[ifb]]&lt;br /&gt;
*[[ifbe]]&lt;br /&gt;
*[[ifboth]]&lt;br /&gt;
*[[ifbulletnear]]&lt;br /&gt;
*[[ifcansee]]&lt;br /&gt;
*[[ifcanseetarget]]&lt;br /&gt;
*[[ifcanshoottarget]]&lt;br /&gt;
*[[ifceilingdistl]]&lt;br /&gt;
*[[ifclient]]&lt;br /&gt;
*[[ifcount]]&lt;br /&gt;
*[[ifcutscene]]&lt;br /&gt;
*[[ifdead]]&lt;br /&gt;
*[[ife]]&lt;br /&gt;
*[[ifeither]]&lt;br /&gt;
*[[iffloordistl]]&lt;br /&gt;
*[[ifg]]&lt;br /&gt;
*[[ifgapzl]]&lt;br /&gt;
*[[ifge]]&lt;br /&gt;
*[[ifgotweaponce]]&lt;br /&gt;
*[[ifhitspace]]&lt;br /&gt;
*[[ifhitweapon]]&lt;br /&gt;
*[[ifinouterspace]]&lt;br /&gt;
*[[ifinspace]]&lt;br /&gt;
*[[ifinwater]]&lt;br /&gt;
*[[ifl]]&lt;br /&gt;
*[[ifle]]&lt;br /&gt;
*[[ifmove]]&lt;br /&gt;
*[[ifmultiplayer]]&lt;br /&gt;
*[[ifn]]&lt;br /&gt;
*[[ifnosounds]]&lt;br /&gt;
*[[ifnotmoving]]&lt;br /&gt;
*[[ifonwater]]&lt;br /&gt;
*[[ifor]]&lt;br /&gt;
*[[ifoutside]]&lt;br /&gt;
*[[ifp]]&lt;br /&gt;
*[[ifpdistg]]&lt;br /&gt;
*[[ifpdistl]]&lt;br /&gt;
*[[ifphealthl]]&lt;br /&gt;
*[[ifpinventory]]&lt;br /&gt;
*[[ifplaybackon]]&lt;br /&gt;
*[[ifplayersl]]&lt;br /&gt;
*[[ifrespawn]]&lt;br /&gt;
*[[ifrnd]]&lt;br /&gt;
*[[ifserver]]&lt;br /&gt;
*[[ifsound]]&lt;br /&gt;
*[[ifspawnedby]]&lt;br /&gt;
*[[ifspritepal]]&lt;br /&gt;
*[[ifsquished]]&lt;br /&gt;
*[[ifstrength]]&lt;br /&gt;
*[[ifvara]]&lt;br /&gt;
*[[ifvarae]]&lt;br /&gt;
*[[ifvarand]]&lt;br /&gt;
*[[ifvarb]]&lt;br /&gt;
*[[ifvarbe]]&lt;br /&gt;
*[[ifvarboth]]&lt;br /&gt;
*[[ifvare]]&lt;br /&gt;
*[[ifvareither]]&lt;br /&gt;
*[[ifvarg]]&lt;br /&gt;
*[[ifvarge]]&lt;br /&gt;
*[[ifvarl]]&lt;br /&gt;
*[[ifvarle]]&lt;br /&gt;
*[[ifvarn]]&lt;br /&gt;
*[[ifvaror]]&lt;br /&gt;
*[[ifvarvara]]&lt;br /&gt;
*[[ifvarvarae]]&lt;br /&gt;
*[[ifvarvarand]]&lt;br /&gt;
*[[ifvarvarb]]&lt;br /&gt;
*[[ifvarvarbe]]&lt;br /&gt;
*[[ifvarvarboth]]&lt;br /&gt;
*[[ifvarvare]]&lt;br /&gt;
*[[ifvarvareither]]&lt;br /&gt;
*[[ifvarvarg]]&lt;br /&gt;
*[[ifvarvarge]]&lt;br /&gt;
*[[ifvarvarl]]&lt;br /&gt;
*[[ifvarvarle]]&lt;br /&gt;
*[[ifvarvarn]]&lt;br /&gt;
*[[ifvarvaror]]&lt;br /&gt;
*[[ifvarvarxor]]&lt;br /&gt;
*[[ifvarxor]]&lt;br /&gt;
*[[ifwasweapon]]&lt;br /&gt;
*[[ifxor]]&lt;br /&gt;
*[[include]]&lt;br /&gt;
*[[includedefault]]&lt;br /&gt;
*[[inittimer]]&lt;br /&gt;
*[[insertspriteq]]&lt;br /&gt;
*[[inv]]&lt;br /&gt;
*[[jump]]&lt;br /&gt;
*[[killit]]&lt;br /&gt;
*[[klabs]]&lt;br /&gt;
*[[ldist]]&lt;br /&gt;
*[[lineintersect]]&lt;br /&gt;
*[[loadmapstate]]&lt;br /&gt;
*[[lockplayer]]&lt;br /&gt;
*[[lotsofglass]]&lt;br /&gt;
*[[mail]]&lt;br /&gt;
*[[mikesnd]]&lt;br /&gt;
*[[minitext]]&lt;br /&gt;
*[[mod]]&lt;br /&gt;
*[[modvar]]&lt;br /&gt;
*[[modvarvar]]&lt;br /&gt;
*[[money]]&lt;br /&gt;
*[[move]]&lt;br /&gt;
*[[movesector]]&lt;br /&gt;
*[[movesprite]]&lt;br /&gt;
*[[mul]]&lt;br /&gt;
*[[mulscale]]&lt;br /&gt;
*[[mulvar]]&lt;br /&gt;
*[[mulvarvar]]&lt;br /&gt;
*[[music]]&lt;br /&gt;
*[[myos]]&lt;br /&gt;
*[[myospal]]&lt;br /&gt;
*[[myospalx]]&lt;br /&gt;
*[[myosx]]&lt;br /&gt;
*[[neartag]]&lt;br /&gt;
*[[nextsectorneighborz]]&lt;br /&gt;
*[[nextspritesect]]&lt;br /&gt;
*[[nextspritestat]]&lt;br /&gt;
*[[nullop]]&lt;br /&gt;
*[[onevent]]&lt;br /&gt;
*[[operate]]&lt;br /&gt;
*[[operateactivators]]&lt;br /&gt;
*[[operatemasterswitches]]&lt;br /&gt;
*[[operaterespawns]]&lt;br /&gt;
*[[operatesectors]]&lt;br /&gt;
*[[or]]&lt;br /&gt;
*[[orvar]]&lt;br /&gt;
*[[orvarvar]]&lt;br /&gt;
*[[palfrom]]&lt;br /&gt;
*[[paper]]&lt;br /&gt;
*[[pkick]]&lt;br /&gt;
*[[precache]]&lt;br /&gt;
*[[preloadtrackslotforswap]]&lt;br /&gt;
*[[prevspritesect]]&lt;br /&gt;
*[[prevspritestat]]&lt;br /&gt;
*[[print]]&lt;br /&gt;
*[[pstomp]]&lt;br /&gt;
*[[qgetsysstr]]&lt;br /&gt;
*[[qputs]]&lt;br /&gt;
*[[qspawn]]&lt;br /&gt;
*[[qspawnvar]]&lt;br /&gt;
*[[qsprintf]]&lt;br /&gt;
*[[qstrcat]]&lt;br /&gt;
*[[qstrcmp]]&lt;br /&gt;
*[[qstrcpy]]&lt;br /&gt;
*[[qstrdim]]&lt;br /&gt;
*[[qstrlen]]&lt;br /&gt;
*[[qstrncat]]&lt;br /&gt;
*[[qsubstr]]&lt;br /&gt;
*[[quake]]&lt;br /&gt;
*[[quote]]&lt;br /&gt;
*[[rand]]&lt;br /&gt;
*[[randvar]]&lt;br /&gt;
*[[randvarvar]]&lt;br /&gt;
*[[rayintersect]]&lt;br /&gt;
*[[readarrayfromfile]]&lt;br /&gt;
*[[readgamevar]]&lt;br /&gt;
*[[redefinequote]]&lt;br /&gt;
*[[resetactioncount]]&lt;br /&gt;
*[[resetcount]]&lt;br /&gt;
*[[resetplayer]]&lt;br /&gt;
*[[resetplayerflags]]&lt;br /&gt;
*[[resizearray]]&lt;br /&gt;
*[[respawnhitag]]&lt;br /&gt;
*[[return]]&lt;br /&gt;
*[[rotatepoint]]&lt;br /&gt;
*[[rotatesprite16]]&lt;br /&gt;
*[[rotatesprite]]&lt;br /&gt;
*[[rotatespritea]]&lt;br /&gt;
*[[save]]&lt;br /&gt;
*[[savegamevar]]&lt;br /&gt;
*[[savemapstate]]&lt;br /&gt;
*[[savenn]]&lt;br /&gt;
*[[scalevar]]&lt;br /&gt;
*[[screenpal]]&lt;br /&gt;
*[[screensound]]&lt;br /&gt;
*[[screentext]]&lt;br /&gt;
*[[scriptsize]]&lt;br /&gt;
*[[sectclearinterpolation]]&lt;br /&gt;
*[[sectgethitag]]&lt;br /&gt;
*[[sectgetlotag]]&lt;br /&gt;
*[[sectorofwall]]&lt;br /&gt;
*[[sectsetinterpolation]]&lt;br /&gt;
*[[set]]&lt;br /&gt;
*[[seta]]&lt;br /&gt;
*[[setactor]]&lt;br /&gt;
*[[setactorangle]]&lt;br /&gt;
*[[setactorsoundpitch]]&lt;br /&gt;
*[[setactorvar]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[setarrayseq]]&lt;br /&gt;
*[[setarraysequence]]&lt;br /&gt;
*[[setaspect]]&lt;br /&gt;
*[[setav]]&lt;br /&gt;
*[[setcfgname]]&lt;br /&gt;
*[[setdefname]]&lt;br /&gt;
*[[setgamename]]&lt;br /&gt;
*[[setgamepalette]]&lt;br /&gt;
*[[seti]]&lt;br /&gt;
*[[setinput]]&lt;br /&gt;
*[[setmusicposition]]&lt;br /&gt;
*[[setngcflags]]&lt;br /&gt;
*[[setp]]&lt;br /&gt;
*[[setplayer]]&lt;br /&gt;
*[[setplayerangle]]&lt;br /&gt;
*[[setplayervar]]&lt;br /&gt;
*[[setprojectile]]&lt;br /&gt;
*[[setpv]]&lt;br /&gt;
*[[sets]]&lt;br /&gt;
*[[setsector]]&lt;br /&gt;
*[[setsprite]]&lt;br /&gt;
*[[setthisprojectile]]&lt;br /&gt;
*[[settiledata]]&lt;br /&gt;
*[[settspr]]&lt;br /&gt;
*[[setu]]&lt;br /&gt;
*[[setuserdef]]&lt;br /&gt;
*[[setvar]]&lt;br /&gt;
*[[setvarvar]]&lt;br /&gt;
*[[setw]]&lt;br /&gt;
*[[setwall]]&lt;br /&gt;
*[[shadeto]]&lt;br /&gt;
*[[shiftl]]&lt;br /&gt;
*[[shiftr]]&lt;br /&gt;
*[[shiftvarl]]&lt;br /&gt;
*[[shiftvarr]]&lt;br /&gt;
*[[shiftvarvarl]]&lt;br /&gt;
*[[shiftvarvarr]]&lt;br /&gt;
*[[shoot]]&lt;br /&gt;
*[[shootvar]]&lt;br /&gt;
*[[showview]]&lt;br /&gt;
*[[showviewq16]]&lt;br /&gt;
*[[showviewq16unbiased]]&lt;br /&gt;
*[[showviewunbiased]]&lt;br /&gt;
*[[sin]]&lt;br /&gt;
*[[sizeat]]&lt;br /&gt;
*[[sizeto]]&lt;br /&gt;
*[[sleeptime]]&lt;br /&gt;
*[[smaxammo]]&lt;br /&gt;
*[[sound]]&lt;br /&gt;
*[[soundonce]]&lt;br /&gt;
*[[soundoncevar]]&lt;br /&gt;
*[[soundvar]]&lt;br /&gt;
*[[spawn]]&lt;br /&gt;
*[[spawnceilingglass]]&lt;br /&gt;
*[[spawnwallglass]]&lt;br /&gt;
*[[spawnwallstainedglass]]&lt;br /&gt;
*[[spgethitag]]&lt;br /&gt;
*[[spgetlotag]]&lt;br /&gt;
*[[spriteflags]]&lt;br /&gt;
*[[spritenopal]]&lt;br /&gt;
*[[spritenoshade]]&lt;br /&gt;
*[[spritenvg]]&lt;br /&gt;
*[[spritepal]]&lt;br /&gt;
*[[spriteshadow]]&lt;br /&gt;
*[[sqrt]]&lt;br /&gt;
*[[ssp]]&lt;br /&gt;
*[[startcutscene]]&lt;br /&gt;
*[[startlevel]]&lt;br /&gt;
*[[startscreen]]&lt;br /&gt;
*[[starttrack]]&lt;br /&gt;
*[[starttrackslot]]&lt;br /&gt;
*[[starttrackvar]]&lt;br /&gt;
*[[state]]&lt;br /&gt;
*[[stopactorsound]]&lt;br /&gt;
*[[stopallmusic]]&lt;br /&gt;
*[[stopallsounds]]&lt;br /&gt;
*[[stopsound]]&lt;br /&gt;
*[[stopsoundvar]]&lt;br /&gt;
*[[strength]]&lt;br /&gt;
*[[string]]&lt;br /&gt;
*[[sub]]&lt;br /&gt;
*[[subvar]]&lt;br /&gt;
*[[subvarvar]]&lt;br /&gt;
*[[swaparrays]]&lt;br /&gt;
*[[swaptrackslot]]&lt;br /&gt;
*[[switch]]&lt;br /&gt;
*[[terminate]]&lt;br /&gt;
*[[time]]&lt;br /&gt;
*[[tip]]&lt;br /&gt;
*[[tossweapon]]&lt;br /&gt;
*[[udc]]&lt;br /&gt;
*[[undefinecheat]]&lt;br /&gt;
*[[undefinegamefunc]]&lt;br /&gt;
*[[undefinelevel]]&lt;br /&gt;
*[[undefineskill]]&lt;br /&gt;
*[[undefinevolume]]&lt;br /&gt;
*[[updatesector]]&lt;br /&gt;
*[[updatesectorneighbor]]&lt;br /&gt;
*[[updatesectorneighborz]]&lt;br /&gt;
*[[updatesectorz]]&lt;br /&gt;
*[[useractor]]&lt;br /&gt;
*[[userquote]]&lt;br /&gt;
*[[var]]&lt;br /&gt;
*[[wackplayer]]&lt;br /&gt;
*[[whilel]]&lt;br /&gt;
*[[whilee]]&lt;br /&gt;
*[[whilen]]&lt;br /&gt;
*[[whilevarl]]&lt;br /&gt;
*[[whilevare]]&lt;br /&gt;
*[[whilevarn]]&lt;br /&gt;
*[[whilevarvarl]]&lt;br /&gt;
*[[whilevarvare]]&lt;br /&gt;
*[[whilevarvarn]]&lt;br /&gt;
*[[writearraytofile]]&lt;br /&gt;
*[[xor]]&lt;br /&gt;
*[[xorvar]]&lt;br /&gt;
*[[xorvarvar]]&lt;br /&gt;
*[[zshoot]]&lt;br /&gt;
*[[zshootvar]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Full_command_list&amp;diff=14855</id>
		<title>Full command list</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Full_command_list&amp;diff=14855"/>
		<updated>2024-01-07T11:46:22Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
&lt;br /&gt;
This is a list of every CON primitive in EDuke32.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;column-count:3;-moz-column-count:3;-webkit-column-count:3&amp;quot;&amp;gt;&lt;br /&gt;
*[[abs]]&lt;br /&gt;
*[[action]]&lt;br /&gt;
*[[activate]]&lt;br /&gt;
*[[activatebysector]]&lt;br /&gt;
*[[activatecheat]]&lt;br /&gt;
*[[actor]]&lt;br /&gt;
*[[actorsound]]&lt;br /&gt;
*[[add]]&lt;br /&gt;
*[[addammo]]&lt;br /&gt;
*[[addinventory]]&lt;br /&gt;
*[[addkills]]&lt;br /&gt;
*[[addlog]]&lt;br /&gt;
*[[addlogvar]]&lt;br /&gt;
*[[addphealth]]&lt;br /&gt;
*[[addstrength]]&lt;br /&gt;
*[[addvar]]&lt;br /&gt;
*[[addvarvar]]&lt;br /&gt;
*[[addweapon]]&lt;br /&gt;
*[[addweaponvar]]&lt;br /&gt;
*[[ai]]&lt;br /&gt;
*[[al]]&lt;br /&gt;
*[[and]]&lt;br /&gt;
*[[andvar]]&lt;br /&gt;
*[[andvarvar]]&lt;br /&gt;
*[[angoff]]&lt;br /&gt;
*[[angoffvar]]&lt;br /&gt;
*[[appendevent]]&lt;br /&gt;
*[[array]]&lt;br /&gt;
*[[betaname]]&lt;br /&gt;
*[[break]]&lt;br /&gt;
*[[cactor]]&lt;br /&gt;
*[[calchypotenuse]]&lt;br /&gt;
*[[cansee]]&lt;br /&gt;
*[[canseespr]]&lt;br /&gt;
*[[capia]]&lt;br /&gt;
*[[capis]]&lt;br /&gt;
*[[case]]&lt;br /&gt;
*[[changespritesect]]&lt;br /&gt;
*[[changespritestat]]&lt;br /&gt;
*[[cheatkeys]]&lt;br /&gt;
*[[checkactivatormotion]]&lt;br /&gt;
*[[checkavailinven]]&lt;br /&gt;
*[[checkavailweapon]]&lt;br /&gt;
*[[ck]]&lt;br /&gt;
*[[clamp]]&lt;br /&gt;
*[[clearmapstate]]&lt;br /&gt;
*[[clipdist]]&lt;br /&gt;
*[[clipmove]]&lt;br /&gt;
*[[clipmovenoslide]]&lt;br /&gt;
*[[cmenu]]&lt;br /&gt;
*[[copy]]&lt;br /&gt;
*[[cos]]&lt;br /&gt;
*[[count]]&lt;br /&gt;
*[[cstat]]&lt;br /&gt;
*[[cstator]]&lt;br /&gt;
*[[damageeventtile]]&lt;br /&gt;
*[[damageeventtilerange]]&lt;br /&gt;
*[[dc]]&lt;br /&gt;
*[[dcd]]&lt;br /&gt;
*[[debris]]&lt;br /&gt;
*[[debug]]&lt;br /&gt;
*[[default]]&lt;br /&gt;
*[[define]]&lt;br /&gt;
*[[definecheat]]&lt;br /&gt;
*[[definecheatdescription]]&lt;br /&gt;
*[[definegamefuncname]]&lt;br /&gt;
*[[definegametype]]&lt;br /&gt;
*[[definelevelname]]&lt;br /&gt;
*[[defineprojectile]]&lt;br /&gt;
*[[definequote]]&lt;br /&gt;
*[[defineskillname]]&lt;br /&gt;
*[[definesound]]&lt;br /&gt;
*[[definevolumeflags]]&lt;br /&gt;
*[[definevolumename]]&lt;br /&gt;
*[[defstate]]&lt;br /&gt;
*[[digitalnumber]]&lt;br /&gt;
*[[digitalnumberz]]&lt;br /&gt;
*[[displayrand]]&lt;br /&gt;
*[[displayrandvar]]&lt;br /&gt;
*[[displayrandvarvar]]&lt;br /&gt;
*[[dist]]&lt;br /&gt;
*[[div]]&lt;br /&gt;
*[[divr]]&lt;br /&gt;
*[[divrd]]&lt;br /&gt;
*[[divru]]&lt;br /&gt;
*[[divscale]]&lt;br /&gt;
*[[divvar]]&lt;br /&gt;
*[[divvarvar]]&lt;br /&gt;
*[[dragpoint]]&lt;br /&gt;
*[[drawline256]]&lt;br /&gt;
*[[drawlinergb]]&lt;br /&gt;
*[[dynamicremap]]&lt;br /&gt;
*[[dynamicsoundremap]]&lt;br /&gt;
*[[echo]]&lt;br /&gt;
*[[else]]&lt;br /&gt;
*[[enda]]&lt;br /&gt;
*[[endevent]]&lt;br /&gt;
*[[endofgame]]&lt;br /&gt;
*[[endoflevel]]&lt;br /&gt;
*[[ends]]&lt;br /&gt;
*[[endswitch]]&lt;br /&gt;
*[[enhanced]]&lt;br /&gt;
*[[eqspawn]]&lt;br /&gt;
*[[eqspawnvar]]&lt;br /&gt;
*[[eshoot]]&lt;br /&gt;
*[[eshootvar]]&lt;br /&gt;
*[[espawn]]&lt;br /&gt;
*[[espawnvar]]&lt;br /&gt;
*[[eventloadactor]]&lt;br /&gt;
*[[ezshoot]]&lt;br /&gt;
*[[ezshootvar]]&lt;br /&gt;
*[[fall]]&lt;br /&gt;
*[[findnearactor3d]]&lt;br /&gt;
*[[findnearactor3dvar]]&lt;br /&gt;
*[[findnearactor]]&lt;br /&gt;
*[[findnearactorvar]]&lt;br /&gt;
*[[findnearactorz]]&lt;br /&gt;
*[[findnearactorzvar]]&lt;br /&gt;
*[[findnearsprite3d]]&lt;br /&gt;
*[[findnearsprite3dvar]]&lt;br /&gt;
*[[findnearsprite]]&lt;br /&gt;
*[[findnearspritevar]]&lt;br /&gt;
*[[findnearspritez]]&lt;br /&gt;
*[[findnearspritezvar]]&lt;br /&gt;
*[[findotherplayer]]&lt;br /&gt;
*[[findplayer]]&lt;br /&gt;
*[[flash]]&lt;br /&gt;
*[[for]]&lt;br /&gt;
*[[gamearray]]&lt;br /&gt;
*[[gamestartup]]&lt;br /&gt;
*[[gametext]]&lt;br /&gt;
*[[gametextz]]&lt;br /&gt;
*[[gamevar]]&lt;br /&gt;
*[[geta]]&lt;br /&gt;
*[[getactor]]&lt;br /&gt;
*[[getactorangle]]&lt;br /&gt;
*[[getactorvar]]&lt;br /&gt;
*[[getangle]]&lt;br /&gt;
*[[getangletotarget]]&lt;br /&gt;
*[[getarrayseq]]&lt;br /&gt;
*[[getarraysequence]]&lt;br /&gt;
*[[getarraysize]]&lt;br /&gt;
*[[getav]]&lt;br /&gt;
*[[getceilzofslope]]&lt;br /&gt;
*[[getclosestcol]]&lt;br /&gt;
*[[getcurraddress]]&lt;br /&gt;
*[[getflorzofslope]]&lt;br /&gt;
*[[getgamefuncbind]]&lt;br /&gt;
*[[geti]]&lt;br /&gt;
*[[getincangle]]&lt;br /&gt;
*[[getinput]]&lt;br /&gt;
*[[getkeyname]]&lt;br /&gt;
*[[getlastpal]]&lt;br /&gt;
*[[getmusicposition]]&lt;br /&gt;
*[[getngcflags]]&lt;br /&gt;
*[[getp]]&lt;br /&gt;
*[[getplayer]]&lt;br /&gt;
*[[getplayerangle]]&lt;br /&gt;
*[[getplayervar]]&lt;br /&gt;
*[[getpname]]&lt;br /&gt;
*[[getprojectile]]&lt;br /&gt;
*[[getpv]]&lt;br /&gt;
*[[gets]]&lt;br /&gt;
*[[getsector]]&lt;br /&gt;
*[[gettextureceiling]]&lt;br /&gt;
*[[gettexturefloor]]&lt;br /&gt;
*[[getthisprojectile]]&lt;br /&gt;
*[[getticks]]&lt;br /&gt;
*[[gettiledata]]&lt;br /&gt;
*[[gettimedate]]&lt;br /&gt;
*[[gettspr]]&lt;br /&gt;
*[[getu]]&lt;br /&gt;
*[[getuserdef]]&lt;br /&gt;
*[[getw]]&lt;br /&gt;
*[[getwall]]&lt;br /&gt;
*[[getzrange]]&lt;br /&gt;
*[[globalsound]]&lt;br /&gt;
*[[globalsoundvar]]&lt;br /&gt;
*[[gmaxammo]]&lt;br /&gt;
*[[guniqhudid]]&lt;br /&gt;
*[[guts]]&lt;br /&gt;
*[[headspritesect]]&lt;br /&gt;
*[[headspritestat]]&lt;br /&gt;
*[[hitradius]]&lt;br /&gt;
*[[hitradiusvar]]&lt;br /&gt;
*[[hitscan]]&lt;br /&gt;
*[[ifa]]&lt;br /&gt;
*[[ifaction]]&lt;br /&gt;
*[[ifactioncount]]&lt;br /&gt;
*[[ifactor]]&lt;br /&gt;
*[[ifactornotstayput]]&lt;br /&gt;
*[[ifactorsound]]&lt;br /&gt;
*[[ifae]]&lt;br /&gt;
*[[ifai]]&lt;br /&gt;
*[[ifand]]&lt;br /&gt;
*[[ifangdiffl]]&lt;br /&gt;
*[[ifawayfromwall]]&lt;br /&gt;
*[[ifb]]&lt;br /&gt;
*[[ifbe]]&lt;br /&gt;
*[[ifboth]]&lt;br /&gt;
*[[ifbulletnear]]&lt;br /&gt;
*[[ifcansee]]&lt;br /&gt;
*[[ifcanseetarget]]&lt;br /&gt;
*[[ifcanshoottarget]]&lt;br /&gt;
*[[ifceilingdistl]]&lt;br /&gt;
*[[ifclient]]&lt;br /&gt;
*[[ifcount]]&lt;br /&gt;
*[[ifcutscene]]&lt;br /&gt;
*[[ifdead]]&lt;br /&gt;
*[[ife]]&lt;br /&gt;
*[[ifeither]]&lt;br /&gt;
*[[iffloordistl]]&lt;br /&gt;
*[[ifg]]&lt;br /&gt;
*[[ifgapzl]]&lt;br /&gt;
*[[ifge]]&lt;br /&gt;
*[[ifgotweaponce]]&lt;br /&gt;
*[[ifhitspace]]&lt;br /&gt;
*[[ifhitweapon]]&lt;br /&gt;
*[[ifinouterspace]]&lt;br /&gt;
*[[ifinspace]]&lt;br /&gt;
*[[ifinwater]]&lt;br /&gt;
*[[ifl]]&lt;br /&gt;
*[[ifle]]&lt;br /&gt;
*[[ifmove]]&lt;br /&gt;
*[[ifmultiplayer]]&lt;br /&gt;
*[[ifn]]&lt;br /&gt;
*[[ifnosounds]]&lt;br /&gt;
*[[ifnotmoving]]&lt;br /&gt;
*[[ifonwater]]&lt;br /&gt;
*[[ifor]]&lt;br /&gt;
*[[ifoutside]]&lt;br /&gt;
*[[ifp]]&lt;br /&gt;
*[[ifpdistg]]&lt;br /&gt;
*[[ifpdistl]]&lt;br /&gt;
*[[ifphealthl]]&lt;br /&gt;
*[[ifpinventory]]&lt;br /&gt;
*[[ifplaybackon]]&lt;br /&gt;
*[[ifplayersl]]&lt;br /&gt;
*[[ifrespawn]]&lt;br /&gt;
*[[ifrnd]]&lt;br /&gt;
*[[ifserver]]&lt;br /&gt;
*[[ifsound]]&lt;br /&gt;
*[[ifspawnedby]]&lt;br /&gt;
*[[ifspritepal]]&lt;br /&gt;
*[[ifsquished]]&lt;br /&gt;
*[[ifstrength]]&lt;br /&gt;
*[[ifvara]]&lt;br /&gt;
*[[ifvarae]]&lt;br /&gt;
*[[ifvarand]]&lt;br /&gt;
*[[ifvarb]]&lt;br /&gt;
*[[ifvarbe]]&lt;br /&gt;
*[[ifvarboth]]&lt;br /&gt;
*[[ifvare]]&lt;br /&gt;
*[[ifvareither]]&lt;br /&gt;
*[[ifvarg]]&lt;br /&gt;
*[[ifvarge]]&lt;br /&gt;
*[[ifvarl]]&lt;br /&gt;
*[[ifvarle]]&lt;br /&gt;
*[[ifvarn]]&lt;br /&gt;
*[[ifvaror]]&lt;br /&gt;
*[[ifvarvara]]&lt;br /&gt;
*[[ifvarvarae]]&lt;br /&gt;
*[[ifvarvarand]]&lt;br /&gt;
*[[ifvarvarb]]&lt;br /&gt;
*[[ifvarvarbe]]&lt;br /&gt;
*[[ifvarvarboth]]&lt;br /&gt;
*[[ifvarvare]]&lt;br /&gt;
*[[ifvarvareither]]&lt;br /&gt;
*[[ifvarvarg]]&lt;br /&gt;
*[[ifvarvarge]]&lt;br /&gt;
*[[ifvarvarl]]&lt;br /&gt;
*[[ifvarvarle]]&lt;br /&gt;
*[[ifvarvarn]]&lt;br /&gt;
*[[ifvarvaror]]&lt;br /&gt;
*[[ifvarvarxor]]&lt;br /&gt;
*[[ifvarxor]]&lt;br /&gt;
*[[ifwasweapon]]&lt;br /&gt;
*[[ifxor]]&lt;br /&gt;
*[[include]]&lt;br /&gt;
*[[includedefault]]&lt;br /&gt;
*[[inittimer]]&lt;br /&gt;
*[[insertspriteq]]&lt;br /&gt;
*[[inv]]&lt;br /&gt;
*[[jump]]&lt;br /&gt;
*[[killit]]&lt;br /&gt;
*[[klabs]]&lt;br /&gt;
*[[ldist]]&lt;br /&gt;
*[[lineintersect]]&lt;br /&gt;
*[[loadmapstate]]&lt;br /&gt;
*[[lockplayer]]&lt;br /&gt;
*[[lotsofglass]]&lt;br /&gt;
*[[mail]]&lt;br /&gt;
*[[mikesnd]]&lt;br /&gt;
*[[minitext]]&lt;br /&gt;
*[[mod]]&lt;br /&gt;
*[[modvar]]&lt;br /&gt;
*[[modvarvar]]&lt;br /&gt;
*[[money]]&lt;br /&gt;
*[[move]]&lt;br /&gt;
*[[movesector]]&lt;br /&gt;
*[[movesprite]]&lt;br /&gt;
*[[mul]]&lt;br /&gt;
*[[mulscale]]&lt;br /&gt;
*[[mulvar]]&lt;br /&gt;
*[[mulvarvar]]&lt;br /&gt;
*[[music]]&lt;br /&gt;
*[[myos]]&lt;br /&gt;
*[[myospal]]&lt;br /&gt;
*[[myospalx]]&lt;br /&gt;
*[[myosx]]&lt;br /&gt;
*[[neartag]]&lt;br /&gt;
*[[nextsectorneighborz]]&lt;br /&gt;
*[[nextspritesect]]&lt;br /&gt;
*[[nextspritestat]]&lt;br /&gt;
*[[nullop]]&lt;br /&gt;
*[[onevent]]&lt;br /&gt;
*[[operate]]&lt;br /&gt;
*[[operateactivators]]&lt;br /&gt;
*[[operatemasterswitches]]&lt;br /&gt;
*[[operaterespawns]]&lt;br /&gt;
*[[operatesectors]]&lt;br /&gt;
*[[or]]&lt;br /&gt;
*[[orvar]]&lt;br /&gt;
*[[orvarvar]]&lt;br /&gt;
*[[palfrom]]&lt;br /&gt;
*[[paper]]&lt;br /&gt;
*[[pkick]]&lt;br /&gt;
*[[precache]]&lt;br /&gt;
*[[preloadtrackslotforswap]]&lt;br /&gt;
*[[prevspritesect]]&lt;br /&gt;
*[[prevspritestat]]&lt;br /&gt;
*[[print]]&lt;br /&gt;
*[[pstomp]]&lt;br /&gt;
*[[qgetsysstr]]&lt;br /&gt;
*[[qputs]]&lt;br /&gt;
*[[qspawn]]&lt;br /&gt;
*[[qspawnvar]]&lt;br /&gt;
*[[qsprintf]]&lt;br /&gt;
*[[qstrcat]]&lt;br /&gt;
*[[qstrcmp]]&lt;br /&gt;
*[[qstrcpy]]&lt;br /&gt;
*[[qstrdim]]&lt;br /&gt;
*[[qstrlen]]&lt;br /&gt;
*[[qstrncat]]&lt;br /&gt;
*[[qsubstr]]&lt;br /&gt;
*[[quake]]&lt;br /&gt;
*[[quote]]&lt;br /&gt;
*[[rand]]&lt;br /&gt;
*[[randvar]]&lt;br /&gt;
*[[randvarvar]]&lt;br /&gt;
*[[rayintersect]]&lt;br /&gt;
*[[readarrayfromfile]]&lt;br /&gt;
*[[readgamevar]]&lt;br /&gt;
*[[redefinequote]]&lt;br /&gt;
*[[resetactioncount]]&lt;br /&gt;
*[[resetcount]]&lt;br /&gt;
*[[resetplayer]]&lt;br /&gt;
*[[resetplayerflags]]&lt;br /&gt;
*[[resizearray]]&lt;br /&gt;
*[[respawnhitag]]&lt;br /&gt;
*[[return]]&lt;br /&gt;
*[[rotatepoint]]&lt;br /&gt;
*[[rotatesprite16]]&lt;br /&gt;
*[[rotatesprite]]&lt;br /&gt;
*[[rotatespritea]]&lt;br /&gt;
*[[save]]&lt;br /&gt;
*[[savegamevar]]&lt;br /&gt;
*[[savemapstate]]&lt;br /&gt;
*[[savenn]]&lt;br /&gt;
*[[scalevar]]&lt;br /&gt;
*[[screenpal]]&lt;br /&gt;
*[[screensound]]&lt;br /&gt;
*[[screentext]]&lt;br /&gt;
*[[scriptsize]]&lt;br /&gt;
*[[sectclearinterpolation]]&lt;br /&gt;
*[[sectgethitag]]&lt;br /&gt;
*[[sectgetlotag]]&lt;br /&gt;
*[[sectorofwall]]&lt;br /&gt;
*[[sectsetinterpolation]]&lt;br /&gt;
*[[set]]&lt;br /&gt;
*[[seta]]&lt;br /&gt;
*[[setactor]]&lt;br /&gt;
*[[setactorangle]]&lt;br /&gt;
*[[setactorsoundpitch]]&lt;br /&gt;
*[[setactorvar]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[setarrayseq]]&lt;br /&gt;
*[[setarraysequence]]&lt;br /&gt;
*[[setaspect]]&lt;br /&gt;
*[[setav]]&lt;br /&gt;
*[[setcfgname]]&lt;br /&gt;
*[[setdefname]]&lt;br /&gt;
*[[setgamename]]&lt;br /&gt;
*[[setgamepalette]]&lt;br /&gt;
*[[seti]]&lt;br /&gt;
*[[setinput]]&lt;br /&gt;
*[[setmusicposition]]&lt;br /&gt;
*[[setngcflags]]&lt;br /&gt;
*[[setp]]&lt;br /&gt;
*[[setplayer]]&lt;br /&gt;
*[[setplayerangle]]&lt;br /&gt;
*[[setplayervar]]&lt;br /&gt;
*[[setprojectile]]&lt;br /&gt;
*[[setpv]]&lt;br /&gt;
*[[sets]]&lt;br /&gt;
*[[setsector]]&lt;br /&gt;
*[[setsprite]]&lt;br /&gt;
*[[setthisprojectile]]&lt;br /&gt;
*[[settiledata]]&lt;br /&gt;
*[[settspr]]&lt;br /&gt;
*[[setu]]&lt;br /&gt;
*[[setuserdef]]&lt;br /&gt;
*[[setvar]]&lt;br /&gt;
*[[setvarvar]]&lt;br /&gt;
*[[setw]]&lt;br /&gt;
*[[setwall]]&lt;br /&gt;
*[[shadeto]]&lt;br /&gt;
*[[shiftl]]&lt;br /&gt;
*[[shiftr]]&lt;br /&gt;
*[[shiftvarl]]&lt;br /&gt;
*[[shiftvarr]]&lt;br /&gt;
*[[shiftvarvarl]]&lt;br /&gt;
*[[shiftvarvarr]]&lt;br /&gt;
*[[shoot]]&lt;br /&gt;
*[[shootvar]]&lt;br /&gt;
*[[showview]]&lt;br /&gt;
*[[showviewq16]]&lt;br /&gt;
*[[showviewq16unbiased]]&lt;br /&gt;
*[[showviewunbiased]]&lt;br /&gt;
*[[sin]]&lt;br /&gt;
*[[sizeat]]&lt;br /&gt;
*[[sizeto]]&lt;br /&gt;
*[[sleeptime]]&lt;br /&gt;
*[[smaxammo]]&lt;br /&gt;
*[[sound]]&lt;br /&gt;
*[[soundonce]]&lt;br /&gt;
*[[soundoncevar]]&lt;br /&gt;
*[[soundvar]]&lt;br /&gt;
*[[spawn]]&lt;br /&gt;
*[[spawnceilingglass]]&lt;br /&gt;
*[[spawnwallglass]]&lt;br /&gt;
*[[spawnwallstainedglass]]&lt;br /&gt;
*[[spgethitag]]&lt;br /&gt;
*[[spgetlotag]]&lt;br /&gt;
*[[spriteflags]]&lt;br /&gt;
*[[spritenopal]]&lt;br /&gt;
*[[spritenoshade]]&lt;br /&gt;
*[[spritenvg]]&lt;br /&gt;
*[[spritepal]]&lt;br /&gt;
*[[spriteshadow]]&lt;br /&gt;
*[[sqrt]]&lt;br /&gt;
*[[ssp]]&lt;br /&gt;
*[[startcutscene]]&lt;br /&gt;
*[[startlevel]]&lt;br /&gt;
*[[startscreen]]&lt;br /&gt;
*[[starttrack]]&lt;br /&gt;
*[[starttrackslot]]&lt;br /&gt;
*[[starttrackvar]]&lt;br /&gt;
*[[state]]&lt;br /&gt;
*[[stopactorsound]]&lt;br /&gt;
*[[stopallmusic]]&lt;br /&gt;
*[[stopallsounds]]&lt;br /&gt;
*[[stopsound]]&lt;br /&gt;
*[[stopsoundvar]]&lt;br /&gt;
*[[strength]]&lt;br /&gt;
*[[string]]&lt;br /&gt;
*[[sub]]&lt;br /&gt;
*[[subvar]]&lt;br /&gt;
*[[subvarvar]]&lt;br /&gt;
*[[swaparrays]]&lt;br /&gt;
*[[swaptrackslot]]&lt;br /&gt;
*[[switch]]&lt;br /&gt;
*[[time]]&lt;br /&gt;
*[[tip]]&lt;br /&gt;
*[[tossweapon]]&lt;br /&gt;
*[[udc]]&lt;br /&gt;
*[[undefinecheat]]&lt;br /&gt;
*[[undefinegamefunc]]&lt;br /&gt;
*[[undefinelevel]]&lt;br /&gt;
*[[undefineskill]]&lt;br /&gt;
*[[undefinevolume]]&lt;br /&gt;
*[[updatesector]]&lt;br /&gt;
*[[updatesectorneighbor]]&lt;br /&gt;
*[[updatesectorneighborz]]&lt;br /&gt;
*[[updatesectorz]]&lt;br /&gt;
*[[useractor]]&lt;br /&gt;
*[[userquote]]&lt;br /&gt;
*[[var]]&lt;br /&gt;
*[[wackplayer]]&lt;br /&gt;
*[[whilel]]&lt;br /&gt;
*[[whilee]]&lt;br /&gt;
*[[whilen]]&lt;br /&gt;
*[[whilevarl]]&lt;br /&gt;
*[[whilevare]]&lt;br /&gt;
*[[whilevarn]]&lt;br /&gt;
*[[whilevarvarl]]&lt;br /&gt;
*[[whilevarvare]]&lt;br /&gt;
*[[whilevarvarn]]&lt;br /&gt;
*[[writearraytofile]]&lt;br /&gt;
*[[xor]]&lt;br /&gt;
*[[xorvar]]&lt;br /&gt;
*[[xorvarvar]]&lt;br /&gt;
*[[zshoot]]&lt;br /&gt;
*[[zshootvar]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Whilevarvare&amp;diff=14854</id>
		<title>Whilevarvare</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Whilevarvare&amp;diff=14854"/>
		<updated>2024-01-07T11:46:10Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Redirected page to Whilevare&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[whilevare]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Whilee&amp;diff=14853</id>
		<title>Whilee</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Whilee&amp;diff=14853"/>
		<updated>2024-01-07T11:45:52Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Redirected page to Whilevare&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[whilevare]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Whilevare&amp;diff=14852</id>
		<title>Whilevare</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Whilevare&amp;diff=14852"/>
		<updated>2024-01-07T11:44:27Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Add whilevare&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;whilee&#039;&#039;&#039; &amp;lt;[[gamevar]] &amp;lt;value | [[gamevar]]&amp;gt; {code to execute}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;whilevare&#039;&#039;&#039; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;value&amp;gt; { code to execute }&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span {{code}}&amp;gt;&#039;&#039;&#039;whilevarvare&#039;&#039;&#039; &amp;lt;[[gamevar]]&amp;gt; &amp;lt;[[gamevar]]&amp;gt; { code to execute }&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Executes the code in the curly braces as long as &amp;lt;gamevar&amp;gt; equals &amp;lt;value&amp;gt;. This is a simple while loop.&lt;br /&gt;
&lt;br /&gt;
Caution: Poor execution or endless loops will cause your game to close without error or simply stall and crash!&lt;br /&gt;
&lt;br /&gt;
{{varsuffix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Category:All_commands&amp;diff=14851</id>
		<title>Category:All commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Category:All_commands&amp;diff=14851"/>
		<updated>2024-01-07T11:43:43Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: /* Loops */ Add whilevare&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
&lt;br /&gt;
==Preprocessor==&lt;br /&gt;
*[[include]]&lt;br /&gt;
*[[includedefault]]&lt;br /&gt;
*[[define]]&lt;br /&gt;
*// single-line comment&lt;br /&gt;
*/* block comment */&lt;br /&gt;
*whitespace characters: &amp;lt;code&amp;gt;( ) ; ,&amp;lt;/code&amp;gt;&lt;br /&gt;
==Meta-Settings==&lt;br /&gt;
&amp;lt;!-- These deal with matters outside the game world. --&amp;gt;&lt;br /&gt;
*[[dynamicremap]]&lt;br /&gt;
*[[dynamicsoundremap]]&lt;br /&gt;
*[[setcfgname]]&lt;br /&gt;
*[[setdefname]]&lt;br /&gt;
*[[setgamename]]&lt;br /&gt;
*[[precache]]&lt;br /&gt;
*[[scriptsize]]&lt;br /&gt;
*[[cheatkeys]]&lt;br /&gt;
*[[definecheat]]&lt;br /&gt;
*[[definegamefuncname]]&lt;br /&gt;
*[[definegametype]]&lt;br /&gt;
*[[definevolumename]]&lt;br /&gt;
*[[definevolumeflags]]&lt;br /&gt;
*[[definelevelname]]&lt;br /&gt;
*[[defineskillname]]&lt;br /&gt;
*[[undefinevolume]]&lt;br /&gt;
*[[undefinelevel]]&lt;br /&gt;
*[[undefineskill]]&lt;br /&gt;
===If===&lt;br /&gt;
*[[ifrespawn]]&lt;br /&gt;
*[[ifmultiplayer]]&lt;br /&gt;
*[[ifclient]]&lt;br /&gt;
*[[ifserver]]&lt;br /&gt;
==Global Settings==&lt;br /&gt;
&amp;lt;!-- These deal with matters inside the game world. --&amp;gt;&lt;br /&gt;
*[[gamestartup]]&lt;br /&gt;
*[[spritenopal]]&lt;br /&gt;
*[[spritenoshade]]&lt;br /&gt;
*[[spritenvg]]&lt;br /&gt;
*[[spriteshadow]]&lt;br /&gt;
==Block Delimiting==&lt;br /&gt;
===Object-Oriented===&lt;br /&gt;
*[[actor]]&lt;br /&gt;
*[[useractor]]&lt;br /&gt;
*[[enda]]&lt;br /&gt;
===Procedural===&lt;br /&gt;
*[[onevent]]&lt;br /&gt;
*[[appendevent]]&lt;br /&gt;
*[[endevent]]&lt;br /&gt;
&lt;br /&gt;
===Subroutines===&lt;br /&gt;
*[[state]]&lt;br /&gt;
*[[defstate]]&lt;br /&gt;
*[[ends]]&lt;br /&gt;
&lt;br /&gt;
==Flow Control==&lt;br /&gt;
===If Components===&lt;br /&gt;
*[[nullop]]&lt;br /&gt;
*[[else]]&lt;br /&gt;
===Switch===&lt;br /&gt;
*[[switch]]&lt;br /&gt;
*[[endswitch]]&lt;br /&gt;
*[[case]]&lt;br /&gt;
*[[default]]&lt;br /&gt;
===Termination===&lt;br /&gt;
*[[break]]&lt;br /&gt;
*[[return]]&lt;br /&gt;
===Jump===&lt;br /&gt;
:&#039;&#039;Note: Jumping commands are deprecated and will not be supported by Lunatic. Use [[#Loops|loops]] instead.&#039;&#039;&lt;br /&gt;
*[[getcurraddress]]&lt;br /&gt;
*[[jump]]&lt;br /&gt;
&lt;br /&gt;
===Loops===&lt;br /&gt;
*[[whilevarl]]&lt;br /&gt;
*[[whilevarvarl]]&lt;br /&gt;
*[[whilevare]]&lt;br /&gt;
*[[whilevarn]]&lt;br /&gt;
*[[whilevarvarn]]&lt;br /&gt;
:&#039;&#039;It is also possible to loop by calling a state from within itself.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Game Variables==&lt;br /&gt;
*[[gamevar]]&lt;br /&gt;
*[[gamearray]]&lt;br /&gt;
===Gamevar Operators===&lt;br /&gt;
*[[setvar]]&lt;br /&gt;
*[[setvarvar]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[addvar]]&lt;br /&gt;
*[[addvarvar]]&lt;br /&gt;
*[[subvar]]&lt;br /&gt;
*[[subvarvar]]&lt;br /&gt;
*[[mulvar]]&lt;br /&gt;
*[[mulvarvar]]&lt;br /&gt;
*[[divvar]]&lt;br /&gt;
*[[divvarvar]]&lt;br /&gt;
*[[modvar]]&lt;br /&gt;
*[[modvarvar]]&lt;br /&gt;
*[[andvar]]&lt;br /&gt;
*[[andvarvar]]&lt;br /&gt;
*[[orvar]]&lt;br /&gt;
*[[orvarvar]]&lt;br /&gt;
*[[xorvar]]&lt;br /&gt;
*[[xorvarvar]]&lt;br /&gt;
*[[randvar]]&lt;br /&gt;
*[[randvarvar]]&lt;br /&gt;
===Gamevar Conditions===&lt;br /&gt;
*[[ifvare]]&lt;br /&gt;
*[[ifvarn]]&lt;br /&gt;
*[[ifvarg]]&lt;br /&gt;
*[[ifvarl]]&lt;br /&gt;
*[[ifvarand]]&lt;br /&gt;
*[[ifvaror]]&lt;br /&gt;
*[[ifvarxor]]&lt;br /&gt;
*[[ifvareither]]&lt;br /&gt;
*[[ifvarvare]]&lt;br /&gt;
*[[ifvarvarn]]&lt;br /&gt;
*[[ifvarvarg]]&lt;br /&gt;
*[[ifvarvarl]]&lt;br /&gt;
*[[ifvarvarand]]&lt;br /&gt;
*[[ifvarvaror]]&lt;br /&gt;
*[[ifvarvarxor]]&lt;br /&gt;
*[[ifvarvareither]]&lt;br /&gt;
===Math Operations===&lt;br /&gt;
*[[sqrt]]&lt;br /&gt;
*[[calchypotenuse]]&lt;br /&gt;
*[[sin]]&lt;br /&gt;
*[[cos]]&lt;br /&gt;
*[[shiftvarl]]&lt;br /&gt;
*[[shiftvarr]]&lt;br /&gt;
*[[mulscale]]&lt;br /&gt;
*[[getangle]]&lt;br /&gt;
*[[getincangle]]&lt;br /&gt;
===Array Operations===&lt;br /&gt;
*[[getarraysize]]&lt;br /&gt;
*[[getarraysequence]]&lt;br /&gt;
*[[resizearray]]&lt;br /&gt;
*[[copy]]&lt;br /&gt;
*[[setarray]]&lt;br /&gt;
*[[setarraysequence]]&lt;br /&gt;
&lt;br /&gt;
===Data Saving===&lt;br /&gt;
*[[readgamevar]]&lt;br /&gt;
*[[savegamevar]]&lt;br /&gt;
*[[readarrayfromfile]]&lt;br /&gt;
*[[writearraytofile]]&lt;br /&gt;
==Structure Access==&lt;br /&gt;
*[[getactor]]&lt;br /&gt;
*[[getactorvar]]&lt;br /&gt;
*[[getinput]]&lt;br /&gt;
*[[getplayer]]&lt;br /&gt;
*[[getplayervar]]&lt;br /&gt;
*[[getprojectile]]&lt;br /&gt;
*[[getsector]]&lt;br /&gt;
*[[getthisprojectile]]&lt;br /&gt;
*[[gettspr]]&lt;br /&gt;
*[[getuserdef]]&lt;br /&gt;
*[[getwall]]&lt;br /&gt;
*[[setactor]]&lt;br /&gt;
*[[setactorvar]]&lt;br /&gt;
*[[setinput]]&lt;br /&gt;
*[[setplayer]]&lt;br /&gt;
*[[setplayervar]]&lt;br /&gt;
*[[setprojectile]]&lt;br /&gt;
*[[setsector]]&lt;br /&gt;
*[[setthisprojectile]]&lt;br /&gt;
*[[settspr]]&lt;br /&gt;
*[[setuserdef]]&lt;br /&gt;
*[[setwall]]&lt;br /&gt;
==Actors==&lt;br /&gt;
===Structures===&lt;br /&gt;
*[[cactor]] &amp;lt;!-- picnum --&amp;gt;&lt;br /&gt;
*[[action]] &amp;lt;!-- htg_t 4 (2, 3) --&amp;gt;&lt;br /&gt;
*[[ai]] &amp;lt;!-- htg_t 5 (1?) --&amp;gt;&lt;br /&gt;
*[[move]] &amp;lt;!-- htg_t 1 --&amp;gt;&lt;br /&gt;
*[[count]] &amp;lt;!-- htg_t 0 --&amp;gt;&lt;br /&gt;
*[[resetactioncount]] &amp;lt;!-- htg_t 2 --&amp;gt;&lt;br /&gt;
*[[resetcount]] &amp;lt;!-- htg_t 0 --&amp;gt;&lt;br /&gt;
*[[cstat]] &amp;lt;!-- cstat --&amp;gt;&lt;br /&gt;
*[[cstator]] &amp;lt;!-- cstat --&amp;gt;&lt;br /&gt;
*[[clipdist]] &amp;lt;!-- clipdist --&amp;gt;&lt;br /&gt;
*[[sizeat]] &amp;lt;!-- [xy]repeat --&amp;gt;&lt;br /&gt;
*[[sizeto]] &amp;lt;!-- [xy]repeat --&amp;gt;&lt;br /&gt;
*[[strength]] &amp;lt;!-- extra --&amp;gt;&lt;br /&gt;
*[[addstrength]] &amp;lt;!-- extra --&amp;gt;&lt;br /&gt;
*[[spritepal]] &amp;lt;!-- pal --&amp;gt;&lt;br /&gt;
*[[getlastpal]] &amp;lt;!-- httempang --&amp;gt;&lt;br /&gt;
*[[sleeptime]] &amp;lt;!-- httimetosleep --&amp;gt;&lt;br /&gt;
*[[spriteflags]] &amp;lt;!-- htflags --&amp;gt;&lt;br /&gt;
*[[angoff]] &amp;lt;!-- angoff --&amp;gt;&lt;br /&gt;
*[[angoffvar]] &amp;lt;!-- angoff --&amp;gt;&lt;br /&gt;
*[[changespritesect]] &amp;lt;!-- sectnum --&amp;gt;&lt;br /&gt;
*[[changespritestat]] &amp;lt;!-- statnum --&amp;gt;&lt;br /&gt;
*[[setsprite]] &amp;lt;!-- [xyz] --&amp;gt;&lt;br /&gt;
====If====&lt;br /&gt;
*[[ifactor]]&lt;br /&gt;
*[[ifaction]]&lt;br /&gt;
*[[ifactioncount]]&lt;br /&gt;
*[[ifai]]&lt;br /&gt;
*[[ifcount]]&lt;br /&gt;
*[[ifmove]]&lt;br /&gt;
*[[ifspawnedby]]&lt;br /&gt;
*[[ifspritepal]]&lt;br /&gt;
*[[ifstrength]]&lt;br /&gt;
*[[ifhitweapon]]&lt;br /&gt;
*[[ifwasweapon]]&lt;br /&gt;
*[[ifdead]]&lt;br /&gt;
*[[ifactornotstayput]]&lt;br /&gt;
===Commands===&lt;br /&gt;
*[[fall]]&lt;br /&gt;
*[[insertspriteq]]&lt;br /&gt;
*[[killit]]&lt;br /&gt;
*[[movesprite]]&lt;br /&gt;
*[[ssp]]&lt;br /&gt;
*[[clipmove]]&lt;br /&gt;
*[[clipmovenoslide]]&lt;br /&gt;
===Measurements===&lt;br /&gt;
*[[dist]]&lt;br /&gt;
*[[ldist]]&lt;br /&gt;
*[[cansee]]&lt;br /&gt;
*[[canseespr]]&lt;br /&gt;
===Surroundings===&lt;br /&gt;
====Commands====&lt;br /&gt;
*[[hitradius]]&lt;br /&gt;
*[[hitradiusvar]]&lt;br /&gt;
*[[flash]]&lt;br /&gt;
====If====&lt;br /&gt;
*[[ifawayfromwall]]&lt;br /&gt;
*[[ifbulletnear]]&lt;br /&gt;
*[[ifceilingdistl]]&lt;br /&gt;
*[[iffloordistl]]&lt;br /&gt;
*[[ifgapzl]]&lt;br /&gt;
*[[ifsquished]]&lt;br /&gt;
*[[ifnotmoving]]&lt;br /&gt;
*[[ifinwater]]&lt;br /&gt;
*[[ifonwater]]&lt;br /&gt;
*[[ifoutside]]&lt;br /&gt;
*[[ifinspace]]&lt;br /&gt;
*[[ifinouterspace]]&lt;br /&gt;
*[[ifrnd]] &amp;lt;!-- This is here because it really only has a use in actor code. --&amp;gt;&lt;br /&gt;
===Mapping Features===&lt;br /&gt;
*[[mikesnd]]&lt;br /&gt;
*[[respawnhitag]]&lt;br /&gt;
===Player Interaction===&lt;br /&gt;
*[[ifangdiffl]]&lt;br /&gt;
*[[ifcansee]]&lt;br /&gt;
*[[ifcanseetarget]]&lt;br /&gt;
*[[ifcanshoottarget]]&lt;br /&gt;
*[[ifhitspace]]&lt;br /&gt;
*[[getangletotarget]]&lt;br /&gt;
===Spawning===&lt;br /&gt;
*[[spawn]]&lt;br /&gt;
*[[espawn]]&lt;br /&gt;
*[[espawnvar]]&lt;br /&gt;
*[[qspawn]]&lt;br /&gt;
*[[qspawnvar]]&lt;br /&gt;
*[[eqspawn]]&lt;br /&gt;
*[[eqspawnvar]]&lt;br /&gt;
===Materials===&lt;br /&gt;
*[[debris]]&lt;br /&gt;
*[[guts]]&lt;br /&gt;
*[[lotsofglass]]&lt;br /&gt;
*[[mail]]&lt;br /&gt;
*[[money]]&lt;br /&gt;
*[[paper]]&lt;br /&gt;
==Projectiles==&lt;br /&gt;
*[[defineprojectile]]&lt;br /&gt;
*[[shoot]]&lt;br /&gt;
*[[shootvar]]&lt;br /&gt;
*[[eshoot]]&lt;br /&gt;
*[[eshootvar]]&lt;br /&gt;
*[[zshoot]]&lt;br /&gt;
*[[zshootvar]]&lt;br /&gt;
*[[ezshoot]]&lt;br /&gt;
*[[ezshootvar]]&lt;br /&gt;
==Player==&lt;br /&gt;
===Commands===&lt;br /&gt;
*[[addammo]]&lt;br /&gt;
*[[addinventory]]&lt;br /&gt;
*[[addweapon]]&lt;br /&gt;
*[[addweaponvar]]&lt;br /&gt;
*[[addphealth]]&lt;br /&gt;
*[[tossweapon]]&lt;br /&gt;
*[[gmaxammo]]&lt;br /&gt;
*[[smaxammo]]&lt;br /&gt;
*[[checkavailinven]]&lt;br /&gt;
*[[checkavailweapon]]&lt;br /&gt;
*[[addkills]]&lt;br /&gt;
*[[lockplayer]]&lt;br /&gt;
*[[resetplayer]]&lt;br /&gt;
*[[resetplayerflags]]&lt;br /&gt;
===If===&lt;br /&gt;
*[[ifgotweaponce]]&lt;br /&gt;
*[[ifp]]&lt;br /&gt;
*[[ifpdistg]]&lt;br /&gt;
*[[ifpdistl]]&lt;br /&gt;
*[[ifphealthl]]&lt;br /&gt;
*[[ifpinventory]]&lt;br /&gt;
*[[ifplayersl]]&lt;br /&gt;
==Sectors==&lt;br /&gt;
===Operating===&lt;br /&gt;
*[[operate]]&lt;br /&gt;
*[[operateactivators]]&lt;br /&gt;
*[[operatemasterswitches]]&lt;br /&gt;
*[[operaterespawns]]&lt;br /&gt;
*[[operatesectors]]&lt;br /&gt;
*[[activatebysector]]&lt;br /&gt;
*[[activate]]&lt;br /&gt;
===Manipulation===&lt;br /&gt;
*[[dragpoint]]&lt;br /&gt;
*[[sectsetinterpolation]]&lt;br /&gt;
*[[sectclearinterpolation]]&lt;br /&gt;
===Analysis===&lt;br /&gt;
*[[getceilzofslope]]&lt;br /&gt;
*[[getflorzofslope]]&lt;br /&gt;
*[[getzrange]]&lt;br /&gt;
*[[updatesector]]&lt;br /&gt;
*[[updatesectorz]]&lt;br /&gt;
*[[checkactivatormotion]]&lt;br /&gt;
*[[rotatepoint]]&lt;br /&gt;
*[[lineintersect]]&lt;br /&gt;
*[[rayintersect]]&lt;br /&gt;
*[[sectorofwall]]&lt;br /&gt;
==Discovery==&lt;br /&gt;
===Searching===&lt;br /&gt;
*[[findnearactor]]&lt;br /&gt;
*[[findnearactor3d]]&lt;br /&gt;
*[[findnearactor3dvar]]&lt;br /&gt;
*[[findnearactorvar]]&lt;br /&gt;
*[[findnearactorz]]&lt;br /&gt;
*[[findnearactorzvar]]&lt;br /&gt;
*[[findnearsprite]]&lt;br /&gt;
*[[findnearsprite3d]]&lt;br /&gt;
*[[findnearsprite3dvar]]&lt;br /&gt;
*[[findnearspritevar]]&lt;br /&gt;
*[[findnearspritez]]&lt;br /&gt;
*[[findnearspritezvar]]&lt;br /&gt;
*[[findotherplayer]]&lt;br /&gt;
*[[findplayer]]&lt;br /&gt;
*[[neartag]]&lt;br /&gt;
*[[hitscan]]&lt;br /&gt;
===Sorting===&lt;br /&gt;
*[[headspritesect]]&lt;br /&gt;
*[[headspritestat]]&lt;br /&gt;
*[[nextspritesect]]&lt;br /&gt;
*[[nextspritestat]]&lt;br /&gt;
*[[prevspritesect]]&lt;br /&gt;
*[[prevspritestat]]&lt;br /&gt;
==Audio==&lt;br /&gt;
===Sounds===&lt;br /&gt;
*[[definesound]]&lt;br /&gt;
*[[sound]]&lt;br /&gt;
*[[soundvar]]&lt;br /&gt;
*[[soundonce]]&lt;br /&gt;
*[[soundoncevar]]&lt;br /&gt;
*[[globalsound]]&lt;br /&gt;
*[[globalsoundvar]]&lt;br /&gt;
*[[screensound]]&lt;br /&gt;
*[[stopsound]]&lt;br /&gt;
*[[stopsoundvar]]&lt;br /&gt;
*[[stopactorsound]]&lt;br /&gt;
*[[stopallsounds]]&lt;br /&gt;
*[[ifsound]]&lt;br /&gt;
*[[ifactorsound]]&lt;br /&gt;
*[[ifnosounds]]&lt;br /&gt;
*[[setactorsoundpitch]]&lt;br /&gt;
===Music===&lt;br /&gt;
*[[music]]&lt;br /&gt;
*[[starttrack]]&lt;br /&gt;
*[[starttrackvar]]&lt;br /&gt;
*[[getmusicposition]]&lt;br /&gt;
*[[setmusicposition]]&lt;br /&gt;
==Quotes==&lt;br /&gt;
*[[definequote]]&lt;br /&gt;
*[[redefinequote]]&lt;br /&gt;
*[[quote]]&lt;br /&gt;
*[[userquote]]&lt;br /&gt;
*[[qsprintf]]&lt;br /&gt;
*[[qstrcpy]]&lt;br /&gt;
*[[qstrcat]]&lt;br /&gt;
*[[qstrncat]]&lt;br /&gt;
*[[qstrlen]]&lt;br /&gt;
*[[qsubstr]]&lt;br /&gt;
*[[qstrdim]]&lt;br /&gt;
*[[qgetsysstr]]&lt;br /&gt;
*[[getpname]]&lt;br /&gt;
*[[getkeyname]]&lt;br /&gt;
==Cutscenes==&lt;br /&gt;
*[[startcutscene]]&lt;br /&gt;
*[[ifcutscene]]&lt;br /&gt;
==Screen==&lt;br /&gt;
===Screen Manipulation===&lt;br /&gt;
*[[palfrom]]&lt;br /&gt;
*[[guniqhudid]]&lt;br /&gt;
*[[setgamepalette]]&lt;br /&gt;
*[[setaspect]]&lt;br /&gt;
===Player Actions===&lt;br /&gt;
*[[wackplayer]]&lt;br /&gt;
*[[quake]]&lt;br /&gt;
*[[pkick]]&lt;br /&gt;
*[[pstomp]]&lt;br /&gt;
*[[tip]]&lt;br /&gt;
===Screen Drawing===&lt;br /&gt;
*[[rotatesprite]]&lt;br /&gt;
*[[rotatesprite16]]&lt;br /&gt;
*[[rotatespritea]]&lt;br /&gt;
*[[screentext]]&lt;br /&gt;
*[[gametext]]&lt;br /&gt;
*[[gametextz]]&lt;br /&gt;
*[[minitext]]&lt;br /&gt;
*[[digitalnumber]]&lt;br /&gt;
*[[digitalnumberz]]&lt;br /&gt;
*[[showview]]&lt;br /&gt;
*[[showviewunbiased]]&lt;br /&gt;
===Math===&lt;br /&gt;
*[[displayrand]]&lt;br /&gt;
*[[displayrandvar]]&lt;br /&gt;
*[[displayrandvarvar]]&lt;br /&gt;
==Time Access==&lt;br /&gt;
*[[getticks]]&lt;br /&gt;
*[[gettimedate]]&lt;br /&gt;
==Game-Changing==&lt;br /&gt;
*[[activatecheat]]&lt;br /&gt;
*[[startlevel]]&lt;br /&gt;
*[[inittimer]]&lt;br /&gt;
*[[endofgame]]&lt;br /&gt;
*[[endoflevel]]&lt;br /&gt;
*[[cmenu]]&lt;br /&gt;
==Game Saving==&lt;br /&gt;
*[[save]]&lt;br /&gt;
*[[savenn]]&lt;br /&gt;
===Hub Maps===&lt;br /&gt;
*[[loadmapstate]]&lt;br /&gt;
*[[savemapstate]]&lt;br /&gt;
*[[clearmapstate]]&lt;br /&gt;
==Debug==&lt;br /&gt;
*[[debug]]&lt;br /&gt;
*[[addlog]]&lt;br /&gt;
*[[addlogvar]]&lt;br /&gt;
*[[echo]]&lt;br /&gt;
==Deprecated==&lt;br /&gt;
*[[betaname]]&lt;br /&gt;
*[[enhanced]]&lt;br /&gt;
*[[eventloadactor]]&lt;br /&gt;
*[[time]]&lt;br /&gt;
*[[shadeto]]&lt;br /&gt;
===Screen Drawing===&lt;br /&gt;
*[[myos]]&lt;br /&gt;
*[[myosx]]&lt;br /&gt;
*[[myospal]]&lt;br /&gt;
*[[myospalx]]&lt;br /&gt;
===Single-Use Structure Access===&lt;br /&gt;
*[[getactorangle]]&lt;br /&gt;
*[[getplayerangle]]&lt;br /&gt;
*[[gettextureceiling]]&lt;br /&gt;
*[[gettexturefloor]]&lt;br /&gt;
*[[sectgethitag]]&lt;br /&gt;
*[[sectgetlotag]]&lt;br /&gt;
*[[spgethitag]]&lt;br /&gt;
*[[spgetlotag]]&lt;br /&gt;
*[[setactorangle]]&lt;br /&gt;
*[[setplayerangle]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Command_line_options&amp;diff=14850</id>
		<title>Command line options</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Command_line_options&amp;diff=14850"/>
		<updated>2024-01-07T11:41:58Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Add -nocontroller, -noxinput parameters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= EDuke32 Parameters =&lt;br /&gt;
&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;eduke32 [files] [options]&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;eduke32 nukeland.map -usecwd -cfg myconfig.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files can be of types &amp;lt;code&amp;gt;{grp | zip | pk3 | pk4 | map | con | def | rts}&amp;lt;/code&amp;gt;. &lt;br /&gt;
* Specifying a &amp;lt;code&amp;gt;{grp|zip|pk3|pk4}&amp;lt;/code&amp;gt; file is equivalent to using the &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
* If a .map file is specified, it is immediately loaded and launched as a usermap (equivalent to &amp;lt;code&amp;gt;-map&amp;lt;/code&amp;gt;).&lt;br /&gt;
* If a .con file is specified, it replaces &amp;lt;code&amp;gt;GAME.CON&amp;lt;/code&amp;gt; (equivalent to &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;).&lt;br /&gt;
* If a .def file is specified, it is used as the main DEF file (equivalent to &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;).&lt;br /&gt;
* If a .rts file is specified, it is used as the main RTS soundbank (equivalent to &amp;lt;code&amp;gt;-rts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-?&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;&lt;br /&gt;
|Displays a help message listing the available parameters, then exits.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -addon {0,1,2,3}&amp;lt;/code&amp;gt;&lt;br /&gt;
| Launch one of the addons for Duke 3D (if present), packaged with the Megaton Edition release.&lt;br /&gt;
| 0 = none, 1 = Duke it out in D.C., 2 = Duke: Nuclear Winter, 3 = Duke Caribbean: Life&#039;s a Beach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-cachesize [size]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Sets initial cache size, in kilobytes. Usually not needed, as cache size is adjusted dynamically.&lt;br /&gt;
| See also [[cachesize_(DEF)| cachesize (DEF)]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-cfg [cfg_path]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use an alternate configuration file. &lt;br /&gt;
| Default is &amp;quot;eduke32.cfg&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-clipmap [file.map]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with [[clipshape]] &lt;br /&gt;
| Default is &amp;lt;code&amp;gt;_clipshape0.map&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-d [file.edm][:arg1,arg2]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Plays an eduke32 demo. Can take optional parameters &amp;quot;arg1&amp;quot; and &amp;quot;arg2&amp;quot; which represent &amp;quot;frames per tic&amp;quot; and &amp;quot;number of repeats&amp;quot; respectively, and are used for debug performance profiling.&lt;br /&gt;
| By default, the game plays a loop starting at &amp;lt;code&amp;gt;edemo001.edm&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debughelp&amp;lt;/code&amp;gt; &lt;br /&gt;
|Displays debug parameters and exits.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-forcegl&amp;lt;/code&amp;gt; &lt;br /&gt;
| Disables GL driver blacklist on Windows.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-game_dir [dir]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Duke3d_w32 compatibility option. Set the directory from which to load files, which also changes where the cfg is created.&lt;br /&gt;
| See also &#039;-j&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -gamegrp [file.grp]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Defines which file to use as main grp.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-grp [path]&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-g [path]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use an extra group (or .pk3 or .zip) file to load data from.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-h [file.def]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Specify the main DEF file. &lt;br /&gt;
| By default uses &#039;duke3d.def&#039; if present in the folder. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-j [dir]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Adds a directory to EDuke32&#039;s search list. Does not alter the directory for config files.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -map [file.map]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts the specified usermap on launch.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -mh [file.def]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Include an additional DEF module, appended after the main DEF code.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-mx [file.con]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Include an additional CON script module, appended after the GAME.CON code.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&lt;br /&gt;
|Disable monsters ([[m_monsters_off]] = 1) and sets [[m_player_skill]] and [[player_skill]] to 0.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nam&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-napalm&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-ww2gi&amp;lt;/code&amp;gt;&lt;br /&gt;
|Run in [[NAM]] or [[WWII GI]] -compatible mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-noautoload&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables loading content from the [[autoload]] directory.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nocontroller&amp;lt;/code&amp;gt;&lt;br /&gt;
| Completely disable controller support.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nodinput&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disable DirectInput (controller) support. (Windows)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-noxinput&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disable XInput (controller) support. (Linux)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-noinstancechecking&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents eduke32 from checking whether another instance is already running.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nologo&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;-quick&amp;lt;/code&amp;gt;&lt;br /&gt;
|Skip all the startup animations and logos.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nosteam&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables Steam community API integrations (such as achievements) if binary is compiled with parameter EDUKE32_STANDALONE.&lt;br /&gt;
| Currently only relevant for [[Ion Fury]] builds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-ns -nm &amp;lt;/code&amp;gt;&lt;br /&gt;
| Disable sound and music respectively.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables demo recording.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-rotatesprite-no-widescreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Debug parameter. If set, screen tiles (such as weapons) logos and menu tiles will be stretched horizontally.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-s# &amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the skill level (0-4). Cannot exceed 4 even when more skill levels are defined. Setting this to 4 is hardcoded to enable [[respawn_monsters]] and [[m_respawn_monsters]], regardless of what the skill itself defines.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-setup&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-nosetup&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enables/disables startup window&lt;br /&gt;
|[only on Windows, SDL, and/or GTK2 environments]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-t#&amp;lt;/code&amp;gt;&lt;br /&gt;
|Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-usecwd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Force eduke32 to read game data and configuration files from working directory.&lt;br /&gt;
| See also [[user_profiles_disabled]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-u#########&amp;lt;/code&amp;gt;&lt;br /&gt;
| Define the weapon switch order, as a string of 10 digits.&lt;br /&gt;
|(Default: &amp;lt;code&amp;gt;3425689071&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-v[X] -l[Y]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Warp to episode X, level Y if used together. If either is omitted, then warp assumes episode 1, resp. level 1.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt;&lt;br /&gt;
|Show coordinates as well as other debug information, including current sector num, lotag and hitag.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-x [game.con]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replace the main GAME.CON with the specified script file.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-z# &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-condebug&amp;lt;/code&amp;gt;&lt;br /&gt;
|Enable line-by-line CON compile debugging at level #, and print the number of labels, variables and arrays used.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Multiplayer Parameters ==&lt;br /&gt;
&lt;br /&gt;
Note: Multiplayer is currently non-functional in mainline eduke32. For a working implementation, see [https://voidpoint.io/StrikerTheHedgefox/eduke32-csrefactor/-/releases NetDuke32].&lt;br /&gt;
&lt;br /&gt;
The corresponding parameters are listed here for the sake of completeness.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use fake player AI (dukebots) (fake multiplayer only).&lt;br /&gt;
| Sets [[playerai]] to 1, which doesn&#039;t do anything as of r9392.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-c#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Changes the value of [[m_coop]] to set the multiplayer mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-connect [ip]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Connect to the specified IP address.&lt;br /&gt;
|(see [[multiplayer]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-dedicated&amp;lt;/code&amp;gt;&lt;br /&gt;
| Start eduke32 in dedicated server mode.&lt;br /&gt;
|(see [[multiplayer]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-name [name]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the player name on startup. Can also be changed ingame.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-net&amp;lt;/code&amp;gt;&lt;br /&gt;
| Legacy P2P networking. &lt;br /&gt;
| Disabled as of r9392. Will exit with an error message.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-noffire&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables friendly fire in coop games (i.e. [[m_ffire]] set to 0).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-password [pw]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Password required to authenticate when connecting to server.&lt;br /&gt;
| Default is no password.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-port&amp;lt;/code&amp;gt;&lt;br /&gt;
| Specify which UDP port to use for hosting the game or connecting.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-q#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fake multiplayer with # (2-16) players.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-rts [file.rts]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use the specified RTS soundbank for remote ridicule sounds.&lt;br /&gt;
| Defaults: {DUKE.RTS, NAM.RTS, NAPALM.RTS, WW2GI.RTS}&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-server&amp;lt;/code&amp;gt;&lt;br /&gt;
| Start multiplayer server for network games.&lt;br /&gt;
|(see [[multiplayer]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Removed Parameters ==&lt;br /&gt;
&lt;br /&gt;
The following parameters used to exist, but are no longer referenced in current eduke32 revisions.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load and run a game from slot # (0-9)&lt;br /&gt;
| EDuke32 no longer uses a fixed number of save slots, hence no longer works.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -conversion [YYYYMMDD] &amp;lt;/code&amp;gt; &lt;br /&gt;
| Selects CON script version for compatibility with older mods.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-f#&amp;lt;/code&amp;gt;&lt;br /&gt;
|Send fewer packets in multiplayer (1, 2, 4)&lt;br /&gt;
|(deprecated)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-i#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use networking mode (1/0)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dump default gamevars to gamevars.txt&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-rmnet&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use network config file.&lt;br /&gt;
| (OBSOLETE, see -net)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-stun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use UDP hole punching for multiplayer connections.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Mapster32 Parameters =&lt;br /&gt;
&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;mapster32 [files] [options]&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;mapster32 nukeland.map -usecwd -cfg myconfig.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files can be of types &amp;lt;code&amp;gt;{grp | zip | map | con | def}&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Specifying a &amp;lt;code&amp;gt;{grp|zip}&amp;lt;/code&amp;gt; file is equivalent to using the &amp;lt;code&amp;gt;-j&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
* If a .map file is specified, it is directly opened in the editor.&lt;br /&gt;
* If a .con file is specified, it is used as the main resource for M32 CON commands.&lt;br /&gt;
* If a .def file is specified, it is used as the main DEF script.&lt;br /&gt;
&lt;br /&gt;
The set of parameters for mapster32 has some overlap with eduke32. Below is the complete list.&lt;br /&gt;
&lt;br /&gt;
== Shared Parameters ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-?&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;&lt;br /&gt;
| Displays a help message listing the available parameters, then exits.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -addon {0,1,2,3}&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load addon data like eduke32 equivalent.&lt;br /&gt;
| 0 = none, 1 = DukeDC, 2 = DukeNW, 3 = Duke Caribbean&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-cachesize [size]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets initial cache size in KB. &lt;br /&gt;
| Unlike eduke32, this parameter has an upper limit of 1 MB.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-cfg [cfg_path]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use an alternate configuration file. &lt;br /&gt;
| Default is &amp;quot;mapster32.cfg&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-clipmap [file.map]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with [[clipshape]].&lt;br /&gt;
| Default is &amp;lt;code&amp;gt;_clipshape0.map&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-forcegl&amp;lt;/code&amp;gt; &lt;br /&gt;
| Disables GL driver blacklist on Windows.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-grp [path]&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-g [path]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use an extra group (or .pk3 or .zip) file to load data from.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-game_dir [dir]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the directory from which to load files, which also changes where the cfg is created.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -gamegrp [file.grp]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Defines which file to use as main grp.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-h [file.def]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Specifies the main DEF file. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-j [dir]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Adds a directory to Mapster32&#039;s search list.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -mh [file.def]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Include an additional DEF module, appended after the main DEF code.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -mx [file.con]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Include an additional M32 script module.&lt;br /&gt;
| See also the [[Console_commands#Editor-Specific| include command]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nam&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-napalm&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;-ww2gi&amp;lt;/code&amp;gt;&lt;br /&gt;
|Run in [[NAM]] or [[WWII GI]] -compatible mode.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-noautoload&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables loading content from the [[autoload]] directory.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-usecwd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Force mapster32 to read game data and configuration files from the current working directory.&lt;br /&gt;
| See also [[user_profiles_disabled]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-x [game.con]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replace the main GAME.CON with the specified file.&lt;br /&gt;
| GAME.CON code is only needed for sound definitions.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Unique Parameters ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-check&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt; -nocheck &amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables/Disables map pointer checking when saving.&lt;br /&gt;
| Default is disabled.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt; -namesfile [names.h]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Path to a different names file for tile numbers. &lt;br /&gt;
| Default is &#039;names.h&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= VoidSW Parameters =&lt;br /&gt;
&lt;br /&gt;
Usage: &amp;lt;code&amp;gt;voidsw [options]&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;voidsw -addon1 -level3 -cheat&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VoidSW currently does not take files directly as arguments.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-?&amp;lt;/code&amp;gt;&lt;br /&gt;
|Displays a help message listing the available parameters, then exits.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-addon#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Launch one of the expansions included in Shadow Warrior Classic Complete.&lt;br /&gt;
| 0 = SW v1.2,  1 = Wanton Destruction, 2 = Twin Dragon&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-cheat&amp;lt;/code&amp;gt;&lt;br /&gt;
| If combined with &amp;lt;code&amp;gt;-level#&amp;lt;/code&amp;gt;, starts the game with all weapons, inventory items and god mode on.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-dr[filename]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Records a demo with the given filename. Requires the &amp;lt;code&amp;gt;-level#&amp;lt;/code&amp;gt; parameter to also be set.&lt;br /&gt;
| No space between param and filename!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-dp[filename]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Starts playback of the given demo file.&lt;br /&gt;
| No space between param and filename!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-extcompat &amp;lt;/code&amp;gt;&lt;br /&gt;
| Controller compatibility mode. Multiplies movescale and turnscale by 5.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-g[file.grp]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load the specified GRP or ZIP file as main data.&lt;br /&gt;
| No space between param and filename!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-h[file.def]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load the specified file as the main DEF.&lt;br /&gt;
| No space between param and filename!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-j [dir]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds the given directory to look for game data.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-level# &amp;lt;/code&amp;gt;&lt;br /&gt;
| Load the specified level on startup (0-27).&lt;br /&gt;
| Does not use episodic structure unlike Duke.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-map [file.map]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Launch the specified usermap.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-mh[file.def]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Load the specified file as DEF module.&lt;br /&gt;
| No space between param and filename!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-monst &amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables monsters.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-movescale [val]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adjusts the movement scale: 256 = 1 unit&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nodemo &amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables demo playback on the title screen.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-noinstancechecking&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents voidsw from checking whether another instance is already running.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nologo&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;-quick&amp;lt;/code&amp;gt;&lt;br /&gt;
| Skip all the startup animations and logos.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nometers&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents boss health bars and the air meter from being drawn onscreen.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-s# &amp;lt;/code&amp;gt;&lt;br /&gt;
| Defines the skill level (1-4).&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-setup &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;-nosetup&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enable/Disable the setup dialog.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-turnscale [val]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adjusts the turning scale: 256 = 1 unit&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-usecwd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Force VoidSW to read game data and configuration files from working directory.&lt;br /&gt;
| See also [[user_profiles_disabled]].&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Multiplayer Parameters ==&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
&lt;br /&gt;
The following parameters define multiplayer game options and must be listed first.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-autonet [params]&amp;lt;/code&amp;gt;&lt;br /&gt;
| The autonet parameter defines multiplayer game options, and takes exactly 10 arguments, separated by commas. &lt;br /&gt;
These are, in order: &lt;br /&gt;
* &amp;lt;code&amp;gt;[game_type]&amp;lt;/code&amp;gt;: 0=WangBang, 1=WangBang (no item respawn), 2=Coop&lt;br /&gt;
* &amp;lt;code&amp;gt;[level]&amp;lt;/code&amp;gt;: Which level should be played (0-27). No episodic separation.&lt;br /&gt;
* &amp;lt;code&amp;gt;[skill]&amp;lt;/code&amp;gt;: Skill level (0-4). (0 being &amp;quot;no monsters&amp;quot;)&lt;br /&gt;
* &amp;lt;code&amp;gt;[markers]&amp;lt;/code&amp;gt;: If set to 1, will enable item respawn markers (0/1).&lt;br /&gt;
* &amp;lt;code&amp;gt;[team]&amp;lt;/code&amp;gt;: Whether WangBang is Free-For-All (0) or Team Deathmatch (1).&lt;br /&gt;
* &amp;lt;code&amp;gt;[hurtteam]&amp;lt;/code&amp;gt;: If set to 1, friendly fire is on (coop or TDM).&lt;br /&gt;
* &amp;lt;code&amp;gt;[kill]&amp;lt;/code&amp;gt;: Defines the frag limit for Commbat.&lt;br /&gt;
* &amp;lt;code&amp;gt;[time]&amp;lt;/code&amp;gt;: Index that defines the time limit, 0 being no limit. Available limits: &amp;lt;code&amp;gt;{0,3,5,10,15,20,30,45,60} minutes&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;[color]&amp;lt;/code&amp;gt;: Player palette value. This determines the team colors.&lt;br /&gt;
* &amp;lt;code&amp;gt;[nuke]&amp;lt;/code&amp;gt;: If 0, will replace nuke pickups with railgun ammo. (0/1)&lt;br /&gt;
| Example Use: &amp;lt;code&amp;gt; -autonet 0,0,1,1,1,0,3,2,1,1 &amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-col #&amp;lt;/code&amp;gt;&lt;br /&gt;
| Forces the player palette for joining players. &lt;br /&gt;
| Workaround because &amp;lt;code&amp;gt;-autonet&amp;lt;/code&amp;gt; fails to do so.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-f#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Packet duplication, i.e. how many &amp;quot;moves&amp;quot; are sent per packet. Choose higher values for lossy connections. &lt;br /&gt;
| Valid values: &amp;lt;code&amp;gt;{2,4,8}&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-name [pname]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the connecting player&#039;s name to the given value.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nopredict&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables network prediction method, i.e., player position is no longer predicted.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-short &amp;lt;/code&amp;gt;&lt;br /&gt;
| Divides the frag limit by 10 and halves the time limit.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connection Establishment ===&lt;br /&gt;
&lt;br /&gt;
The following parameters define which game to connect to, and MUST be listed last. &lt;br /&gt;
&lt;br /&gt;
Any other parameters that follow &amp;lt;code&amp;gt;-net&amp;lt;/code&amp;gt; will be ignored.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-net&amp;lt;/code&amp;gt;&lt;br /&gt;
| Required to use the parameters listed below.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ip]:[port]&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;[hostname]:[port]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Connect to the given IP/hostname and port. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-n0:# &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;-i0:#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Host a netgame in master-slave mode, expecting # players to join before launch.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-n1&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;-i1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use in peer-to-peer mode. The [hostname]:[port] pairs must be listed in the same order for all players, with the exception that -N1 has to be specified instead of the current player&#039;s [hostname]:[port] pair.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-p#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Defines the port # to use for hosting. Valid range: 1025-65534&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Usage example for 3-players game in peer-to-peer mode:&lt;br /&gt;
&lt;br /&gt;
Player 1: voidsw -net -n1 &amp;lt;hostname2:port2&amp;gt; &amp;lt;hostname3:port3&amp;gt;&lt;br /&gt;
Player 2: voidsw -net &amp;lt;hostname1:port1&amp;gt; -n1 &amp;lt;hostname3:port3&amp;gt;&lt;br /&gt;
Player 3: voidsw -net &amp;lt;hostname1:port1&amp;gt; &amp;lt;hostname2:port2&amp;gt; -n1&lt;br /&gt;
&lt;br /&gt;
== Debug Parameters ==&lt;br /&gt;
&lt;br /&gt;
The following parameters are used to debug VoidSW.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-allsync &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets sync bytes to 8 outside of demo recording. (purpose?)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-cam&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables camera view during normal gameplay, as if a demo recording is playing.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-commbat#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables fake WangBang with the specified number of players. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-coop#&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables fake coop with the specified number of players. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debug &amp;lt;/code&amp;gt;&lt;br /&gt;
| Only enabled for DEBUG builds. Shows debug help options.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debugactor&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables all monsters. (same as &amp;lt;code&amp;gt;-monst&amp;lt;/code&amp;gt;)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debuganim&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables all animations.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debugpanel&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables panel update. (?)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debugsecret&amp;lt;/code&amp;gt;&lt;br /&gt;
| Displays debug info whenever an enemy is killed.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debugsector&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables sector movement.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-debugso&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables sector objects.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-ddr[filename]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Records a demo in debug mode with the given filename. Requires the &amp;lt;code&amp;gt;-level#&amp;lt;/code&amp;gt; parameter to also be set.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-demosyncrecord &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets sync bytes to 8, records demo sync information to a file.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-demosynctest&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets sync bytes to 8, reads previously recorded demo sync information and errors out if demo playback doesn&#039;t match. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-randprint&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prints the output of krand() functions whenever they are called.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-mono&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables some debug output during gameplay.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nosyncprint&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disables the &amp;quot;out-of-sync&amp;quot; message in multiplayer.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inactive Parameters ==&lt;br /&gt;
&lt;br /&gt;
The following SW parameters are disabled, or have been removed.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Parameter!!Description!!Notes!!&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-bots&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled. Would have added bots to fake multiplayer games.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-broadcast&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replaced by -net&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-cacheprint&amp;lt;/code&amp;gt;&lt;br /&gt;
| Used to print to stdout whenever a sound effect is cached/loaded. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-de[arg]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Demo editing? Disabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-dt[arg]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temporary demo? Disabled.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-m &amp;lt;/code&amp;gt;&lt;br /&gt;
| Replaced by -monst.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-masterslave&amp;lt;/code&amp;gt;&lt;br /&gt;
| Replaced by -net&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-nocdaudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Originally disabled the Redbook music.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-setupfile [arg]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Originally used by setup.exe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Template:Screentext_flags&amp;diff=14849</id>
		<title>Template:Screentext flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Template:Screentext_flags&amp;diff=14849"/>
		<updated>2024-01-07T11:33:34Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following values are used with [[screentext]] and [[qstrdim]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Exposed!!Value!!Label!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
| No || 1 || TEXT_XRIGHT || Right-align text on the x-axis. For example, you could display text at x=320 with this flag and the string&#039;s right edge would be on the right edge of the screen.&lt;br /&gt;
|-&lt;br /&gt;
| No || 2 || TEXT_XCENTER || Center-align text on the x-axis. For example, you could display text at x=160 with this flag and the string would be perfectly horizontally centered.&lt;br /&gt;
|-&lt;br /&gt;
| No || 4 || TEXT_YBOTTOM || Bottom-align text on the y-axis. For example, you could display text at y=200 with this flag and the string&#039;s bottom edge would be on the bottom edge of the screen.&lt;br /&gt;
|-&lt;br /&gt;
| No || 8 || TEXT_YCENTER || Center-align text on the y-axis. For example, you could display text at y=100 with this flag and the string would be perfectly vertically centered.&lt;br /&gt;
|-&lt;br /&gt;
| No || 16 || TEXT_INTERNALSPACE || If you are unsure what to specify for the &amp;lt;xspace&amp;gt; parameter, this flag will allow EDuke32 to make its own determination. Don&#039;t use this unless you have no idea whatsoever. The &amp;lt;xspace&amp;gt; value will be added to the internal result.&lt;br /&gt;
|-&lt;br /&gt;
| No || 32 || TEXT_TILESPACE || The &amp;lt;xspace&amp;gt; parameter will be determined using the width of the tile after &#039;~&#039;. Good for custom fonts. (NB: &amp;lt;xbetween&amp;gt; is added to spaces just like any other character.) The &amp;lt;xspace&amp;gt; value will be added to the result.&lt;br /&gt;
|-&lt;br /&gt;
| No || 64 || TEXT_INTERNALLINE || If you are unsure what to specify for the &amp;lt;yline&amp;gt; parameter, this flag will allow EDuke32 to make its own determination. Don&#039;t use this unless you have no idea whatsoever. The &amp;lt;yline&amp;gt; value will be added to the internal result.&lt;br /&gt;
|-&lt;br /&gt;
| No || 128 || TEXT_TILELINE || The &amp;lt;yline&amp;gt; parameter will be determined using the height of the tile after &#039;~&#039;. Good for custom fonts. The &amp;lt;yline&amp;gt; value will be added to the result.&lt;br /&gt;
|-&lt;br /&gt;
| No || 256 || TEXT_XOFFSETZERO || Calculate spacing between characters from the left edge instead of the right. In other words, &amp;lt;xbetween&amp;gt; is used as a constant width for the characters in the string and the potentially variable widths of the tiles displayed in the string are ignored.&lt;br /&gt;
|-&lt;br /&gt;
| No || 512 || TEXT_XJUSTIFY || [[Wikipedia:Justification (typesetting)|Justify]] text in the X direction, using &amp;lt;xbetween&amp;gt; for the total width (since the actual distance will be calculated automatically). Compatible with TEXT_XRIGHT and TEXT_XCENTER.&lt;br /&gt;
|-&lt;br /&gt;
| No || 1024 || TEXT_YOFFSETZERO || Calculate spacing between line from the top edge instead of the bottom. In other words, &amp;lt;ybetween&amp;gt; is used as a constant height for the lines in the string and the potentially variable heights of the tiles displayed in the string are ignored.&lt;br /&gt;
|-&lt;br /&gt;
| No || 2048 || TEXT_YJUSTIFY || [[Wikipedia:Justification (typesetting)|Justify]] text in the Y direction, using &amp;lt;ybetween&amp;gt; for the total height (since the actual distance will be calculated automatically). Compatible with TEXT_YBOTTOM and TEXT_YCENTER.&lt;br /&gt;
|-&lt;br /&gt;
| No || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;4096&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;&amp;lt;RESERVED&amp;gt;&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Do not use.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| No || 8192 || TEXT_UPPERCASE || Force the case of all letters in the string to uppercase.&lt;br /&gt;
|-&lt;br /&gt;
| No || 16384 || TEXT_INVERTCASE || Invert the case of the letters in the string. Combine with TEXT_UPPERCASE to produce all-lowercase output.&lt;br /&gt;
|-&lt;br /&gt;
| No || 32768 || TEXT_IGNOREESCAPE || Palette escape sequences (# or ##) will have no effect. (See [[definequote]].)&lt;br /&gt;
|-&lt;br /&gt;
| No || 65536 || TEXT_LITERALESCAPE || No parsing will be done for palette escape sequences so they will show up as actual text. This is useful if you have &#039;&#039; followed by a number that you actually want to display on the screen, such as exponentiation.&lt;br /&gt;
|-&lt;br /&gt;
| No || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;131072&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;&amp;lt;RESERVED&amp;gt;&amp;lt;/font&amp;gt; || &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Do not use.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| No || 262144 || TEXT_CONSTWIDTHNUMS || All numerals will display as if they have a TEXT_XOFFSETZERO of the width of the &#039;0&#039; minus one. For the standard blue font, this value would be 8. This is useful if you have some string including a number value (such as a countdown timer) that you want to display without the place values shifting due to variable width tiles, particularly &#039;1&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| No || 524288 || TEXT_DIGITALNUMBER || Special tile order: starting at &#039;0&#039; instead of &#039;A&#039;. Using this flag with quotes containing anything other than numbers may give you undefined behavior. (Recommended tile numbers: DIGITALNUM (#2472), THREEBYFIVE (#3010))&lt;br /&gt;
|-&lt;br /&gt;
| No || 1048576 || TEXT_BIGALPHANUM || Special tile order: main menu red font. As in v1.3D, the gray font serves as the lowercase letters, so TEXT_UPPERCASE is recommended. (Recommended tile number: BIGALPHANUM (#2930))&lt;br /&gt;
|-&lt;br /&gt;
| No || 2097152 || TEXT_GRAYFONT || Special tile order: gray font. To parallel the above flag, the red font serves as the lowercase letters, so TEXT_UPPERCASE is recommended. The primary difference compared to using the above flag with the lowercase flags is that the gray font has its own set of numerals. The red font&#039;s punctuation is still used. (Recommended tile number: #2966)&lt;br /&gt;
|-&lt;br /&gt;
| No || 4194304 || TEXT_NOLOCALE || Text will not be translated by the [[localization]] DEF command.&lt;br /&gt;
|-&lt;br /&gt;
| No || 8388608 || TEXT_VARHEIGHT || Alters the positioning of the text in the x and y direction, shifting it by half the size of the tile, depending on the zoom value of the text, if and only if RS_TOPLEFT is not set.&lt;br /&gt;
|-&lt;br /&gt;
| No || 16777216 || TEXT_CENTERCONSTWIDTH || Center glyphs within their allotted region and respect xbetween between chars in constant width mode.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{Collapse}}&lt;br /&gt;
| &amp;lt;strong&amp;gt;Defines&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 define TEXT_XRIGHT                      0x00000001&lt;br /&gt;
 define TEXT_XCENTER                     0x00000002&lt;br /&gt;
 define TEXT_YBOTTOM                     0x00000004&lt;br /&gt;
 define TEXT_YCENTER                     0x00000008&lt;br /&gt;
 define TEXT_INTERNALSPACE               0x00000010&lt;br /&gt;
 define TEXT_TILESPACE                   0x00000020&lt;br /&gt;
 define TEXT_INTERNALLINE                0x00000040&lt;br /&gt;
 define TEXT_TILELINE                    0x00000080&lt;br /&gt;
 define TEXT_XOFFSETZERO                 0x00000100&lt;br /&gt;
 define TEXT_XJUSTIFY                    0x00000200&lt;br /&gt;
 define TEXT_YOFFSETZERO                 0x00000400&lt;br /&gt;
 define TEXT_YJUSTIFY                    0x00000800&lt;br /&gt;
 define TEXT_LINEWRAP                    0x00001000&lt;br /&gt;
 define TEXT_UPPERCASE                   0x00002000&lt;br /&gt;
 define TEXT_INVERTCASE                  0x00004000&lt;br /&gt;
 define TEXT_IGNOREESCAPE                0x00008000&lt;br /&gt;
 define TEXT_LITERALESCAPE               0x00010000&lt;br /&gt;
 define TEXT_BACKWARDS                   0x00020000&lt;br /&gt;
 define TEXT_GAMETEXTNUMHACK             0x00040000&lt;br /&gt;
 define TEXT_DIGITALNUMBER               0x00080000&lt;br /&gt;
 define TEXT_BIGALPHANUM                 0x00100000&lt;br /&gt;
 define TEXT_GRAYFONT                    0x00200000&lt;br /&gt;
 define TEXT_NOLOCALE                    0x00400000&lt;br /&gt;
 define TEXT_VARHEIGHT                   0x00800000&lt;br /&gt;
 define TEXT_CENTERCONSTWIDTH            0x01000000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Pages with templates]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Definesound&amp;diff=14848</id>
		<title>Definesound</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Definesound&amp;diff=14848"/>
		<updated>2024-01-07T09:56:28Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Updated documentation with new additions&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;pitch_lower&amp;gt; &amp;lt;pitch_upper&amp;gt; &amp;lt;priority&amp;gt; &amp;lt;type&amp;gt; &amp;lt;distance&amp;gt; [volume]&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 16384 for EDuke32, and 450 for Duke v1.5. &lt;br /&gt;
&lt;br /&gt;
Sound defines over 1000 won&#039;t work with the MUSICANDSOUNDFX sprite, because above this value this will trigger an echo effect, so bear this in mind if you&#039;re working on a mod with many custom sound files.&lt;br /&gt;
&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;pitch_lower&amp;gt; and &amp;lt;pitch_upper&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;) - SF_LOOP:  The sound repeats if continually played.&lt;br /&gt;
::Bit #1 (&#039;&#039;&#039;2&#039;&#039;&#039;) - SF_MSFX:  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;) - SF_TALK:  The sound is a player voice.  Disabling &amp;quot;Duke Talk&amp;quot; in the menu will mute this sound. These sounds are affected by the &amp;quot;Speech&amp;quot; volume slider in the menu.&lt;br /&gt;
::Bit #3 (&#039;&#039;&#039;8&#039;&#039;&#039;) - SF_ADULT:  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;) - SF_GLOBAL: The sound will always be heard from anywhere in the level. When applied to MUSICANDSFX sprites, the sound will play randomly. (See [[globalsound]].) (sndist = 0)&lt;br /&gt;
::Bit #5 (&#039;&#039;&#039;32&#039;&#039;&#039;) - SF_ONEINST_INTERNAL: Internal flag, reserved for sounds where only one instance should be played at the same time, e.g. looping ambient sounds.&lt;br /&gt;
::Bit #6 (&#039;&#039;&#039;64&#039;&#039;&#039;) - SF_SPEECH: The sound is NPC speech, and will be affected by the &amp;quot;Speech&amp;quot; volume slider in the menu.&lt;br /&gt;
::Bit #7 (&#039;&#039;&#039;128&#039;&#039;&#039;) - SF_DTAG: The sound is used in Duke-Tag.&lt;br /&gt;
:::Bit #4 + #7 (&#039;&#039;&#039;144&#039;&#039;&#039;): Applies vanilla Duke3D explosion sound behavior. Note that the sound is treated as neither global, nor as a duketag sound. The sound will be pitched down when in water, and it is always audible with at most the specified distance offset.&lt;br /&gt;
*&amp;lt;distance&amp;gt;: Negative values increase the distance at which the sound is heard; positive ones reduce it.  Can range from -32768 to 32767. Note that this value does not 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;
*[volume]: Optional parameter, specifies the volume at which the sound should played. 255 is the default volume, 0 is silence, 510 is double volume. This parameter is not part of the original Duke3D 1.3 spec, and was added to eduke32 in October 2023.&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>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Members_of_the_wall_structure&amp;diff=14847</id>
		<title>Members of the wall structure</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Members_of_the_wall_structure&amp;diff=14847"/>
		<updated>2024-01-07T08:22:41Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Add ang member&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[x]]&lt;br /&gt;
*[[y]]&lt;br /&gt;
*[[point2]]&lt;br /&gt;
*[[blend]]&lt;br /&gt;
*[[nextwall]]&lt;br /&gt;
*[[nextsector]]&lt;br /&gt;
*[[cstat_(wall)|cstat]]&lt;br /&gt;
*[[picnum]]&lt;br /&gt;
*[[overpicnum]]&lt;br /&gt;
*[[shade]]&lt;br /&gt;
*[[pal]]&lt;br /&gt;
*[[xrepeat]]&lt;br /&gt;
*[[yrepeat]]&lt;br /&gt;
*[[xpanning]]&lt;br /&gt;
*[[ypanning]]&lt;br /&gt;
*[[lotag]]&lt;br /&gt;
*[[hitag]]&lt;br /&gt;
*[[extra]]&lt;br /&gt;
*[[ang_(wall)|ang]]&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>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Ang_(wall)&amp;diff=14846</id>
		<title>Ang (wall)</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Ang_(wall)&amp;diff=14846"/>
		<updated>2024-01-07T08:22:27Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: New struct member added with commit 621fb47a&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a read-only pseudo struct member. &lt;br /&gt;
&lt;br /&gt;
It does not actually exist as a true member of the wall struct, but is instead calculated on-the-fly when accessed, based on the x/y coordinates of the two wall points.&lt;br /&gt;
&lt;br /&gt;
The calculation is done through the following formula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
(getangle(wall[wall[wallNum].point2].x - wall[wallNum].x, wall[wall[wallNum].point2].y - wall[wallNum].y) + 512) &amp;amp; 2047&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Wall structure members]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14837</id>
		<title>Debug</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14837"/>
		<updated>2023-09-06T16:40:12Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;debug&#039;&#039;&#039; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prints &amp;lt;number&amp;gt; to the game log file and triggers a breakpoint if the binary has been compiled with `RELEASE=0`.&lt;br /&gt;
&lt;br /&gt;
Only useful for debugging if the process is attached to a debugger like gdb. If not attached to a debugger, the game will simply close upon encountering the instruction.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14836</id>
		<title>Debug</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14836"/>
		<updated>2023-09-06T16:28:15Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;debug&#039;&#039;&#039; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prints &amp;lt;number&amp;gt; to the game log file and triggers a breakpoint if the binary has been compiled with `RELEASE=0`.&lt;br /&gt;
&lt;br /&gt;
Only useful for debugging if the process is attached to a debugger like gdb.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14835</id>
		<title>Debug</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14835"/>
		<updated>2023-09-06T16:28:03Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;debug&#039;&#039;&#039; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prints &amp;lt;number&amp;gt; to the game log file and triggers a breakpoint if the binary has been compiled with `RELEASE=0`.&lt;br /&gt;
&lt;br /&gt;
Only useful for debugging if the process is attached to debugger like gdb.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14834</id>
		<title>Debug</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Debug&amp;diff=14834"/>
		<updated>2023-09-06T15:34:06Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Update description with actual use.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;debug&#039;&#039;&#039; &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prints &amp;lt;number&amp;gt; to the game log file and triggers a breakpoint.&lt;br /&gt;
&lt;br /&gt;
Only useful for debugging if the process is attached to debugger like gdb.&lt;br /&gt;
&lt;br /&gt;
[[Category:Duke3D 1.3/1.5 commands]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_RESETGOTPICS&amp;diff=14833</id>
		<title>EVENT RESETGOTPICS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_RESETGOTPICS&amp;diff=14833"/>
		<updated>2023-09-01T11:14:42Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_RESETGOTPICS|2=-1|3=-1|4=0 values}}&lt;br /&gt;
&lt;br /&gt;
EVENT_RESETGOTPICS is a [[EDuke32_event_list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
This event is triggered before mirrors are drawn, directly after the mirror&#039;s EVENT_DISPLAYROOMS call. Hence, this event executes at framerate, rather than ticrate.&lt;br /&gt;
&lt;br /&gt;
It is also triggered one final time during the transition when the mirrors are out of view and not being rendered anymore.&lt;br /&gt;
&lt;br /&gt;
The purpose of this event is to allow mods to reset entries in the [[gotpic]] array to 0. An entry in the gotpic array is 1 if the tile in question has been observed onscreen by the player.&lt;br /&gt;
&lt;br /&gt;
This is primarily useful for skyboxes, which are rendered in place of the null tile (HOM effect under normal circumstances). This can be set up such that if gotpic for the skybox tilenum is 0, the skybox view is no longer displayed, thus improving performance.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_RESETGOTPICS&amp;diff=14832</id>
		<title>EVENT RESETGOTPICS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_RESETGOTPICS&amp;diff=14832"/>
		<updated>2023-09-01T11:13:17Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EventTable|1=EVENT_RESETGOTPICS|2=-1|3=-1|4=0 values}}&lt;br /&gt;
&lt;br /&gt;
EVENT_RESETGOTPICS is a [[EDuke32_event_list|Misc Event]].&lt;br /&gt;
&lt;br /&gt;
This event is triggered when mirrors are being drawn, directly after the mirror&#039;s EVENT_DISPLAYROOMS call. Hence, this event executes at framerate, rather than ticrate.&lt;br /&gt;
&lt;br /&gt;
It is also triggered one final time during the transition when the mirrors are out of view and not being rendered anymore.&lt;br /&gt;
&lt;br /&gt;
The purpose of this event is to allow mods to reset entries in the [[gotpic]] array to 0. An entry in the gotpic array is 1 if the tile in question has been observed onscreen by the player.&lt;br /&gt;
&lt;br /&gt;
This is primarily useful for skyboxes, which are rendered in place of the null tile (HOM effect under normal circumstances). This can be set up such that if gotpic for the skybox tilenum is 0, the skybox view is no longer displayed, thus improving performance.&lt;br /&gt;
&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Build/Mapster32_Keyboard_Commands&amp;diff=14831</id>
		<title>Build/Mapster32 Keyboard Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Build/Mapster32_Keyboard_Commands&amp;diff=14831"/>
		<updated>2023-07-29T11:48:52Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Add CTRL + G key combination to lock cursor to window&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 3D Mode: Mouse ==&lt;br /&gt;
&lt;br /&gt;
The purpose of mouse in 3D mode is pointing at some objects in a map and looking around (&#039;&#039;&#039;F3&#039;&#039;&#039; toggles mouse look).&lt;br /&gt;
&lt;br /&gt;
Mouse pointer always points (see info about it at the bottom of the screen) at one of these objects:&lt;br /&gt;
&lt;br /&gt;
# wall&lt;br /&gt;
# ceiling of sector&lt;br /&gt;
# floor of sector&lt;br /&gt;
# sprite&lt;br /&gt;
# masked wall (non-transparent or semi-transparent wall between sectors)&lt;br /&gt;
&lt;br /&gt;
It&#039;s important to understand this concept:&lt;br /&gt;
&lt;br /&gt;
* Some commands work differently depending on the current object (the object the mouse points at).&lt;br /&gt;
* Some commands manipulate only the current object&lt;br /&gt;
* Some commands manipulate the selected (also called &amp;quot;highlighted&amp;quot;) sprites/sectors in 2D mode&lt;br /&gt;
* Some commands work globally.&lt;br /&gt;
&lt;br /&gt;
===Mouse buttons===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;LEFT&#039;&#039;&#039; || lock the current object. The current object won&#039;t be changing as long as the button is pressed.&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;WHEEL&#039;&#039;&#039; || change shade (&#039;&#039;&#039;+CTRL&#039;&#039;&#039;: in increments of 4)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;WHEEL+ALT&#039;&#039;&#039; || change visibility&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+WHEEL&#039;&#039;&#039; || change tile&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;RIGHT+WHEEL&#039;&#039;&#039; || move object up/down&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;MIDDLE&#039;&#039;&#039; || temporary mouse look (when not in UnrealEd-style mouse mode)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Additionally, there is UnrealEd-style mouse navigation in 3D mode (toggle it with &#039;&#039;&#039;F5&#039;&#039;&#039;), with the following bindings:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;RIGHT&#039;&#039;&#039; || mouse look&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LEFT&#039;&#039;&#039; || x: turning&amp;lt;br&amp;gt;y: move forward/back&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+RIGHT&#039;&#039;&#039; || x: strafe left/right&amp;lt;br&amp;gt;y: move up/down&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;MIDDLE&#039;&#039;&#039; || y: move in viewing direction&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
The console variable &#039;&#039;pk_uedaccel&#039;&#039; changes the speed of navigation exponentially (valid values are 0-5).&lt;br /&gt;
&lt;br /&gt;
It is possible to move around objects using the mouse and holding down specific modifier keys:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+ALT&#039;&#039;&#039; || move object up/down (&#039;&#039;&#039;+CTRL&#039;&#039;&#039;: in larger increments)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+SHIFT&#039;&#039;&#039; || move sprite in horizontal plane (&#039;&#039;&#039;+CTRL&#039;&#039;&#039;: grid-aligned)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
The two preceding controls also work on a set of sprites highlighted in 2D mode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+SHIFT&#039;&#039;&#039; || pan ceiling/floor/wall texture&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+CTRL&#039;&#039;&#039; || scale wall texture or size of sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+CTRL&#039;&#039;&#039; || change slope of floor/ceiling&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== 3D Mode: Selecting Tile Mode ==&lt;br /&gt;
&lt;br /&gt;
After pressing the &#039;&#039;&#039;V&#039;&#039;&#039; key in 3D mode, Mapster32 switches to &amp;quot;select tile&amp;quot; mode.&lt;br /&gt;
&lt;br /&gt;
====Keys====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;UP/DOWN,&amp;lt;br&amp;gt;LEFT/RIGHT,&amp;lt;br&amp;gt;PGUP/PGDN,&amp;lt;br&amp;gt;HOME/END&#039;&#039;&#039; || movements (&#039;&#039;&#039;CTRL&#039;&#039;&#039; modifies some commands)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP /&#039;&#039;&#039; || zoom in&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP *&#039;&#039;&#039; || zoom out&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;Z&#039;&#039;&#039; || toggle tile zoom&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;G&#039;&#039;&#039; || goto specified tile&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;U&#039;&#039;&#039; || goto start of user defined art (3584)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;A&#039;&#039;&#039; || goto start of Atomic edition&#039;s art (4096)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;E&#039;&#039;&#039; || goto start of extended art (6144,9216)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;S&#039;&#039;&#039; || Search for a named tile. When ^ is entered as the first character, anchor string at the beginning.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;V&#039;&#039;&#039; || select from all tiles&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;T&#039;&#039;&#039; || select from pre-defined tile group which can be edited in tiles.cfg or added from within the tile selector. For this, press &#039;&#039;&#039;SPACE&#039;&#039;&#039; on the tiles to be grouped (&#039;&#039;&#039;CTRL-SPACE&#039;&#039;&#039; to select a range from starting from the last selection with &#039;&#039;&#039;SPACE&#039;&#039;&#039;). When you&#039;re ready, press &#039;&#039;&#039;Ctrl-G&#039;&#039;&#039; and you&#039;ll be queried for a group hotkey and name. The new tile group should now be saved persistently in tiles.cfg.&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;ESC&#039;&#039;&#039; || cancel&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;ENTER&#039;&#039;&#039; || accept&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
====Mouse====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;LEFT&#039;&#039;&#039; || select&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;CTRL+WHEEL&#039;&#039;&#039; || zoom&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;WHEEL&#039;&#039;&#039; || scroll&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;RIGHT&#039;&#039;&#039; || smooth scrolling&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==  3D Mode: Keys ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;UP&#039;&#039;&#039; || move forward&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;DOWN&#039;&#039;&#039; || move backward&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LEFT+RCTRL&#039;&#039;&#039; || move left&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;RIGHT+RCTRL&#039;&#039;&#039; || move right&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;A&#039;&#039;&#039; || move up&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;Z&#039;&#039;&#039; || move down&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;+LSHIFT&#039;&#039;&#039; || speed up movements&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;LEFT&#039;&#039;&#039; || turn left&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;RIGHT&#039;&#039;&#039; || turn right&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;A+LALT&#039;&#039;&#039; || look down&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;Z+LALT&#039;&#039;&#039; || look up&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;F1&#039;&#039;&#039; || toggle help&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F3&#039;&#039;&#039; || toggle mouselook&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F4&#039;&#039;&#039; || toggle ambience sounds&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F5&#039;&#039;&#039; || toggle UnrealEd-style mouse navigation&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F6&#039;&#039;&#039; || toggle automatic SECTOREFFECTOR help&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F7&#039;&#039;&#039; || toggle automatic sector tag help&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F9&#039;&#039;&#039; || load and activate/deactivate maphacks&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F11&#039;&#039;&#039; || brightness&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F12&#039;&#039;&#039; || screenshot&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F12+SHIFT&#039;&#039;&#039; || inverted screenshot&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;V&#039;&#039;&#039; || set sector visibility&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;;&amp;amp;nbsp;V&#039;&#039;&#039; || set sector visibility on all selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;V&#039;&#039;&#039; || choose tile&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;3&#039;&#039;&#039; || toggle Sector over Sector. See documentation here: http://www.users.on.net/~triforce/cduke3d/&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;BACKSPACE&#039;&#039;&#039; || clear all flags for wall/sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;BACKSPACE&#039;&#039;&#039; || clear nextwall (&amp;quot;red wall&amp;quot;) link for aimed at wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;P&#039;&#039;&#039; || paste palette to all selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;;&amp;amp;nbsp;P&#039;&#039;&#039; || paste palette to all selected sectors &amp;amp; sprites&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;S&#039;&#039;&#039; || insert sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;DEL&#039;&#039;&#039; || delete sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;,&#039;&#039;&#039; || rotate sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;.&#039;&#039;&#039; || rotate sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&amp;lt;&#039;&#039;&#039; || slowly rotate sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&amp;gt;&#039;&#039;&#039; || slowly rotate sprite&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;.&#039;&#039;&#039; (period): search &amp;amp; fix panning of the wall to the right (&#039;&#039;&#039;,&#039;&#039;&#039; (comma): to the left), has 3 modifiers:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;+SHIFT&#039;&#039;&#039;: auto-align at most one wall&lt;br /&gt;
* &#039;&#039;&#039;+ALT&#039;&#039;&#039;: (since r4361: don&#039;t) copy over texel width in world units (i.e. &amp;quot;how much the wall is stretched&amp;quot;)&lt;br /&gt;
* &#039;&#039;&#039;+&#039;&#039;&#039;&#039; (quote): align immediate upper and lower TROR neighbors&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;SPACE&#039;&#039;&#039; || lock to object (same as left mouse button)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;PGUP/PGDN+ALT&#039;&#039;&#039; || when aiming at red wall, select the floor or ceiling of the nextsector (useful for e.g. raising a lowered door when standing near it), depending on whether the aim is at the top or bottom of the wall&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;CAPS LOCK&#039;&#039;&#039; || cycle zmode&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;Z&#039;&#039;&#039; || cycle zmode&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;L&#039;&#039;&#039; || change the coordinates of the current object&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;M&#039;&#039;&#039; || set the extra of the current object&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;1&#039;&#039;&#039; || toggle one sided sprite/wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;2&#039;&#039;&#039; || toggle bottom wall swapping&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;O&#039;&#039;&#039; || set top or bottom orientation of wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;O&#039;&#039;&#039; || ornament sprite onto wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;M&#039;&#039;&#039; || toggle masking wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;H&#039;&#039;&#039; || toggle hitscan sensitivity&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;H+SHIFT&#039;&#039;&#039; || toggle one side hitscan sensitivity for the wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;H&#039;&#039;&#039; || set hitag of the current object&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;KP_MINUS&#039;&#039;&#039; || shades down individual sector/wall/sprite or selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_MINUS+ALT&#039;&#039;&#039; || decreases visibility of sector or selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_MINUS+ALT+SHIFT&#039;&#039;&#039; || slowly decreases visibility of sector or selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_MINUS+ALT+CTRL&#039;&#039;&#039; || decreases global visibility&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_PLUS&#039;&#039;&#039; || shades up individual sector/wall/sprite or selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_PLUS+ALT&#039;&#039;&#039; || increases visibility of sector or selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_PLUS+ALT+SHIFT&#039;&#039;&#039; || slowly increases visibility of sector or selected sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_PLUS+ALT+CTRL&#039;&#039;&#039; || increases global visibility&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Note: &#039;&#039;&#039;ALT, CTRL, SHIFT&#039;&#039;&#039; are modifiers so they work with mouse too.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;PLUS/MINUS&#039;&#039;&#039; || cycle tile&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;E&#039;&#039;&#039; || toggle sector texture expansion&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;R&#039;&#039;&#039; || toggle sector texture relativity alignment&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;R&#039;&#039;&#039; || cycle sprite aligment between:  wall aligned, floor aligned, view aligned&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;R&#039;&#039;&#039; || toggle framerate&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F&#039;&#039;&#039; || flip the current object (&#039;&#039;&#039;+SHIFT&#039;&#039;&#039;: reverse direction)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F+ALT&#039;&#039;&#039; || set the first wall of sector&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;PAGE UP&#039;&#039;&#039; || move up selected sprites or sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;PAGE DN&#039;&#039;&#039; || move down selected sprites or sectors&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;PAGE UP+CTRL&#039;&#039;&#039; || put selected sprites on ceiling&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;PAGE DN+CTRL&#039;&#039;&#039; || put selected sprites on ground&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;+CTRL&#039;&#039;&#039; || speed up movement&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;+END&#039;&#039;&#039; || slow down movement&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;+HOME&#039;&#039;&#039; || slow down movement even more&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Note: &#039;&#039;&#039;CTRL, HOME, END&#039;&#039;&#039; are modifiers so they work with mouse too.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;N&#039;&#039;&#039; || toggle &#039;no-autoshade&#039;-bit of sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;I&#039;&#039;&#039; || toggle sprite invisibility&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;D&#039;&#039;&#039; || cycle skill level&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;X&#039;&#039;&#039; || toggle sprite shade and SE light effect preview&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;W&#039;&#039;&#039; || toggle sprite display by class (no effectors/actors)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;Y&#039;&#039;&#039; || toggle purple background&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;C&#039;&#039;&#039; || copy shade from the clipboard to all objects in the map which are the same tile as the tile of the object that in the clipboard. It works separately for sectors/walls/sprites depending on the current object. For example, if several walls use tile 123, and you darken one of them, copy with &#039;&#039;&#039;tab&#039;&#039;&#039;, and hit &#039;&#039;&#039;&#039;&amp;amp;nbsp;C&#039;&#039;&#039;, all walls with tile 123 will take on the darker shade (but non-walls with tile 123 will remain unchanged).&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;T&#039;&#039;&#039; || set lotag&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;H&#039;&#039;&#039; || set hitag&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;S&#039;&#039;&#039; || set shade&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;G&#039;&#039;&#039; || set picnum&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;B&#039;&#039;&#039; || toggle blocking&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;B+SHIFT&#039;&#039;&#039; || toggle one side blocking for the wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;T&#039;&#039;&#039; || cycles translucence for sprites/masked walls (and ceilings/floors for ROR)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;F2&#039;&#039;&#039; || toggle clipboard preview&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;F2+SHIFT&#039;&#039;&#039; || toggle current sprite preview&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;TAB&#039;&#039;&#039; || copy to the clipboard&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LENTER+CTRL+SHIFT&#039;&#039;&#039; || autoshade wall&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;LENTER&#039;&#039;&#039; || paste picnum only&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;;&amp;amp;nbsp;LENTER&#039;&#039;&#039; || on ceilings/floors, auto-align with reference in &#039;&#039;&#039;TAB&#039;&#039;&#039;bed clipboard (incomplete for relative-aligned references)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LENTER+SHIFT&#039;&#039;&#039; || paste some visual (shading+pal) properties of the clipboard on sector/wall/sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LENTER+CTRL&#039;&#039;&#039; || paste some visual (picnum+shading+pal) properties of the clipboard on sector/wall/sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;LENTER&#039;&#039;&#039; || paste all (picnum+shading+pal+flags+tags+extra) properties of the clipboard on sector/wall/sprite&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Note: some fields are only pasted if the type of &#039;thing&#039; in the clipboard (wall/sprite/sector) equals that of the aimed at object&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;C&#039;&#039;&#039; || toggle center sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;ALT+C&#039;&#039;&#039; || replace all tiles in the map with one from the clipboard&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;A&#039;&#039;&#039; || toggle autosave. The interval is configurable (default: every 3 minutes)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;&#039;&amp;amp;nbsp;N&#039;&#039;&#039; || toggle noclip for the camera&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;N+CTRL&#039;&#039;&#039; || toggle noclip for sprites&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;[&#039;&#039;&#039; || slopes up fast&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;[+RSHIFT&#039;&#039;&#039; || slope up with medium speed&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;[+LSHIFT&#039;&#039;&#039; || slope up slowly&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;[+ALT&#039;&#039;&#039; || align slope to the floor of adjoining sector&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;]&#039;&#039;&#039; || slope down fast&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;]+RSHIFT&#039;&#039;&#039; || slope down with medium speed&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;]+LSHIFT&#039;&#039;&#039; || slope down slowly&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;]+ALT&#039;&#039;&#039; || align slope to the ceiling of adjoining sector&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;KP_4&#039;&#039;&#039; || panning floor/ceiling horizontally&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_6&#039;&#039;&#039; || panning floor/ceiling horizontally&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_2&#039;&#039;&#039; || panning floor/ceiling vertically&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_8&#039;&#039;&#039; || panning floor/ceiling vertically&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_4&#039;&#039;&#039; || scaling wall/sprite horizontally&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_6&#039;&#039;&#039; || scaling wall/sprite horizontally&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_2&#039;&#039;&#039; || scaling wall/sprite vertically&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;KP_8&#039;&#039;&#039; || scaling wall/sprite vertically&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;+SHIFT&#039;&#039;&#039; or &#039;&#039;&#039;+ALT&#039;&#039;&#039; || force panning (for walls); the latter is an alternative if Shift-KP5-KP*-combinations are dead.&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;+KP_5&#039;&#039;&#039; || speed up&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;/&#039;&#039;&#039; || Reset panning, repeat and flags to defaults&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;/+SHIFT&#039;&#039;&#039; || set xrepeat to yrepeat (makes square)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;P&#039;&#039;&#039; || enable/disable parallax&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;P+CTRL&#039;&#039;&#039; || change parallax type (works only in classic render, not saved into maps)&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;P+CTRL&#039;&#039;&#039; || Playtest map from current position&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;P+ALT+CTRL&#039;&#039;&#039; || Playtest map from start position&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;P+ALT&#039;&#039;&#039; || change pal of sector/wall/sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;D+ALT&#039;&#039;&#039; || adjust clip distance of the sprite&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;RENTER&#039;&#039;&#039; || switch to 2D mode&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;S+CTRL&#039;&#039;&#039; || save map&lt;br /&gt;
 |-&lt;br /&gt;
 | &#039;&#039;&#039;L+CTRL&#039;&#039;&#039; || load last saved map&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 | &#039;&#039;&#039;ESC&#039;&#039;&#039; || quit&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== 2D Mode: Mouse ==&lt;br /&gt;
&lt;br /&gt;
The purpose of mouse in 2D mode is pointing, selecting, moving object in a map.&lt;br /&gt;
&lt;br /&gt;
Every time mouse is pointing at one of these:&lt;br /&gt;
&lt;br /&gt;
# Nothing&lt;br /&gt;
# Sector&lt;br /&gt;
# Sector and wall&lt;br /&gt;
# Sector and sprite&lt;br /&gt;
# Wall (wall without sector - map is corrupt)&lt;br /&gt;
# Sprite (sprite without sector - map is corrupt)&lt;br /&gt;
&lt;br /&gt;
Some commands work differently depending on the current object (the object the mouse points at).&lt;br /&gt;
&lt;br /&gt;
To solve the ambiguity between sectors and walls/sprites, one usually must press ALT to work with walls/sprites instead of sectors.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;RSHIFT&#039;&#039;&#039; (select vertices/sprites) modifiers===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;;&#039;&#039;&#039;: set difference&lt;br /&gt;
* &#039;&#039;&#039; &#039; &#039;&#039;&#039; (quote character): set union&lt;br /&gt;
&lt;br /&gt;
(note that they have to be depressed when &#039;&#039;&#039;RSHIFT&#039;&#039;&#039; is &#039;&#039;released&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;RCTRL&#039;&#039;&#039; select only sprites (not walls)&lt;br /&gt;
* &#039;&#039;&#039;END&#039;&#039;&#039; select from all sectors, even grayed out ones&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;RALT&#039;&#039;&#039; (select sectors) modifiers===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;;&#039;&#039;&#039;: set difference&lt;br /&gt;
* &#039;&#039;&#039; &#039; &#039;&#039;&#039; (quote character): set union&lt;br /&gt;
&lt;br /&gt;
(note that they have to be depressed when &#039;&#039;&#039;RALT&#039;&#039;&#039; is &#039;&#039;released&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* when &#039;&#039;&#039;RCTRL&#039;&#039;&#039; is pressed at &#039;&#039;&#039;RALT&#039;&#039;&#039; release time, then for a sector to be selected, it must be &amp;quot;inside&amp;quot; the mouse pointer instead of being surrounded by the rectangle&lt;br /&gt;
* when holding &#039;&#039;&#039;RSHIFT&#039;&#039;&#039;, will select all sectors, even grayed out ones&lt;br /&gt;
&lt;br /&gt;
See the [[#TROR related keys|TROR section]] for &#039;&#039;&#039;HOME&#039;&#039;&#039; and &#039;&#039;&#039;END&#039;&#039;&#039; modifiers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;WHEEL&#039;&#039;&#039; zoom&lt;br /&gt;
* &#039;&#039;&#039;WHEEL+ALT&#039;&#039;&#039; move camera and zoom&lt;br /&gt;
* &#039;&#039;&#039;LEFT BUTTON&#039;&#039;&#039; drag sectors/vertices/sprites&lt;br /&gt;
* &#039;&#039;&#039;RIGHT BUTTON&#039;&#039;&#039; move camera&lt;br /&gt;
* &#039;&#039;&#039;RIGHT MIDDLE&#039;&#039;&#039; move camera&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LSHIFT&#039;&#039;&#039;+&#039;&#039;&#039;LMB&#039;&#039;&#039; (with RSHIFT-highlighted points) interactively scale highlighted points (+&#039;&#039;&#039;CTRL&#039;&#039;&#039; forces square aspect)&lt;br /&gt;
* &#039;&#039;&#039;LSHIFT&#039;&#039;&#039;+&#039;&#039;&#039;RMB&#039;&#039;&#039; (with RSHIFT-highlighted points) interactively rotate highlighted points&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;LSHIFT&#039;&#039;&#039; is released before the mouse button, the interactive scaling/rotation is canceled.&lt;br /&gt;
&lt;br /&gt;
==  2D Mode: Keys ==&lt;br /&gt;
&#039;&#039;&#039;F1&#039;&#039;&#039; show help&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F2&#039;&#039;&#039; show sound index&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F3&#039;&#039;&#039; enter/quit side-view mode&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;in side-view mode:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Q&#039;&#039;&#039;, &#039;&#039;&#039;W&#039;&#039;&#039;: orbit around center&lt;br /&gt;
* &#039;&#039;&#039;A&#039;&#039;&#039;, &#039;&#039;&#039;Z&#039;&#039;&#039;: change azimuth&lt;br /&gt;
* &#039;&#039;&#039;MMB&#039;&#039;&#039;: change &amp;quot;player&amp;quot; z&lt;br /&gt;
* &#039;&#039;&#039;RMB&#039;&#039;&#039;: change &amp;quot;player&amp;quot; x/y&lt;br /&gt;
&#039;&#039;&#039;F4&#039;&#039;&#039; toggle first wall preview&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F5&#039;&#039;&#039; show item count&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F6&#039;&#039;&#039; show actor count when pointed at wall&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F6&#039;&#039;&#039; show Sector Effector help when pointed at sprite&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F7&#039;&#039;&#039; edit sector data&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F8&#039;&#039;&#039; edit wall/sprite data&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F9&#039;&#039;&#039; show the Sector Tags help&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F10&#039;&#039;&#039; toggle 2D3D mode (3D preview window in 2D mode)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F10+SHIFT&#039;&#039;&#039; resize 2D3D window&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CTRL+ARROWS&#039;&#039;&#039; move 2D3D window&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CTRL+G&#039;&#039;&#039; lock cursor to window&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F12&#039;&#039;&#039; screenshot&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F12+SHIFT&#039;&#039;&#039; inverted screenshot&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCROLL LOCK&#039;&#039;&#039; set starting position&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LSHIFT&#039;&#039;&#039; show coordinates/linking sprites&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LSHIFT+[&#039;&#039;&#039;, &#039;&#039;&#039;LSHIFT+]&#039;&#039;&#039; cycle linking sprites&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039; set extra of sector&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;M+ALT&#039;&#039;&#039; set extra of wall/sprite&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;/&#039;&#039;&#039; Reset panning, repeat and flags to defaults&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;/+SHIFT&#039;&#039;&#039; set xrepeat to yrepeat (makes square)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KP_4&#039;&#039;&#039; scaling sprite horizontally&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;KP_6&#039;&#039;&#039; scaling sprite horizontally&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;KP_2&#039;&#039;&#039; scaling sprite vertically&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;KP_8&#039;&#039;&#039; scaling sprite vertically&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;+KP_5&#039;&#039;&#039; speed up&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039; cycle sprite alignment&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; S&#039;&#039;&#039; set sprite size&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; F&#039;&#039;&#039; function menu&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F7+ALT&#039;&#039;&#039; search sector lotag&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F8+ALT&#039;&#039;&#039; on wall: search wall lotag&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F8+ALT&#039;&#039;&#039; on sprite: generic sprite search&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[&#039;&#039;&#039; search backward&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;]&#039;&#039;&#039; search forward&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;G&#039;&#039;&#039; cycle grid size&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;G+SHIFT&#039;&#039;&#039; cycle grid size backward&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; L&#039;&#039;&#039; set sprite/wall coordinates&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; 3&#039;&#039;&#039; cycle modes of showing object&#039;s name&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; 7&#039;&#039;&#039; swap lotag and hitag of wall/sprite&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; J&#039;&#039;&#039; jump to position of object (asks for sector/wall/sprite, or x,y)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[+ALT&#039;&#039;&#039; goto previous corruption&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;]+ALT&#039;&#039;&#039; goto next corruption&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039; flip selected sectors in x&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Y&#039;&#039;&#039; flip selected sectors in y&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X+ALT&#039;&#039;&#039; mirror selected sectors in x&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Y+ALT&#039;&#039;&#039; mirror selected sectors in y&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B&#039;&#039;&#039; toggle blocking&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;B+SHIFT&#039;&#039;&#039; toggle one side blocking for wall&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;F+ALT&#039;&#039;&#039; set the first wall of sector&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039; ornament sprite onto wall&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;,&#039;&#039;&#039; rotate sprite/selected sectors&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;.&#039;&#039;&#039; rotate sprite/selected sectors&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039; [i.e. &#039;&#039;&#039;,+SHIFT&#039;&#039;&#039;] slowly rotate sprite/selected sectors&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;gt;&#039;&#039;&#039; [i.e. &#039;&#039;&#039;.+SHIFT&#039;&#039;&#039;] slowly rotate sprite/selected sectors&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;,+ALT&#039;&#039;&#039;, &#039;&#039;&#039;.+ALT&#039;&#039;&#039; rotate highlighted sectors by a manually entered angle&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039; set sector lotag&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;T+ALT&#039;&#039;&#039; set wall/sprite lotag&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;T+CTRL&#039;&#039;&#039; toggle show tags&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039; set sector hitag&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H+ALT&#039;&#039;&#039; set wall/sprite hitag&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H+CTRL&#039;&#039;&#039; toggle hitscan sensitivity&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H+CTRL+SHIFT&#039;&#039;&#039; toggle hitscan sensitivity&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P&#039;&#039;&#039; set sector pal&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039; set sprite status list&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAB&#039;&#039;&#039; show sector data&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAB+SHIFT&#039;&#039;&#039; show wall/sprite data&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAB+CTRL&#039;&#039;&#039; enable/disable filling of aimed-at sector&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LCTRL+RSHIFT&#039;&#039;&#039; select all walls of the current sector (point at a wall and holding &#039;&#039;&#039;LCTRL&#039;&#039;&#039;, press and release &#039;&#039;&#039;RSHIFT&#039;&#039;&#039;). Set ops (see RSHIFT above) work too.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; zoom in&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Z&#039;&#039;&#039; zoom out&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;L&#039;&#039;&#039; toggle grid lock&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;J&#039;&#039;&#039; join sectors&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;S&#039;&#039;&#039; insert sprite, pressing a key from &#039;&#039;&#039;1&#039;&#039;&#039; to &#039;&#039;&#039;0&#039;&#039;&#039; on the upper row before pressing &#039;&#039;&#039;S&#039;&#039;&#039; will make the inserted sprite&#039;s picnum be 1 to 10, respectively&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;S+ALT&#039;&#039;&#039; make inner sector&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039; duplicate sectors/sprites&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039; start circle attached to a wall&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;KP +&#039;&#039;&#039; increase amount of walls in circle&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;KP -&#039;&#039;&#039; decrease amount of walls in circle&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;SPACE&#039;&#039;&#039; start/end drawing of sector, end drawing of circle&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LENTER&#039;&#039;&#039; when having some walls drawn, insert points at intersections with existing walls; clear drawn walls then&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LENTER&#039;&#039;&#039; check nextwall pointer for the highlighted line&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LENTER&#039;&#039;&#039; when having drawn some walls, batch-insert points where the drawn lines intersect with non-grayed-out walls&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LSHIFT+LCTRL+LENTER&#039;&#039;&#039; check ALL pointers (manual attempt to recover map)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;BACKSPACE&#039;&#039;&#039; remove the last wall during drawing sector&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;DEL&#039;&#039;&#039; delete sprite&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;DEL+CTRL&#039;&#039;&#039; delete sector&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;DEL+CTRL+LShift&#039;&#039;&#039; delete highlighted sectors&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;INS&#039;&#039;&#039; duplicate sectors/sprites&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;INS&#039;&#039;&#039; start circle attached to a wall&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;INS&#039;&#039;&#039; add vertex to wall&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;RENTER&#039;&#039;&#039; switch to 3D mode&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;ESC&#039;&#039;&#039; menu&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; A&#039;&#039;&#039; toggle autosave(every 3 minutes)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039; N&#039;&#039;&#039; toggle noclip&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;S+CTRL&#039;&#039;&#039; save map&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;L+CTRL&#039;&#039;&#039; load map&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P+CTRL&#039;&#039;&#039; Playtest map from current position&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;P+CTRL+ALT&#039;&#039;&#039; Playtest map from start position&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;R+CTRL&#039;&#039;&#039; manual grayout: if some sectors are highlighted, make the editable z range [min ceiling z, max floor z] of those; else reset z limits&lt;br /&gt;
&lt;br /&gt;
==TROR related keys==&lt;br /&gt;
===2D mode===&lt;br /&gt;
&#039;&#039;&#039;E+CTRL&#039;&#039;&#039; sector extension prompt (sectors to extend must be highlighted)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E+CTRL&#039;&#039;&#039; make sandwich [&#039;&#039;needs better explanation&#039;&#039;]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E+CTRL&#039;&#039;&#039; punch loop through extension (loop points must be highlighted, e.g. with &#039;&#039;&#039;RSHIFT&#039;&#039;&#039;+&#039;&#039;&#039;LCTRL&#039;&#039;&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A+CTRL&#039;&#039;&#039; toggle auto-grayout of non-extended sectors&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;J+CTRL&#039;&#039;&#039; TROR-join sectors. The selection must consist of the two sets of sectors you wish to join.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U+CTRL&#039;&#039;&#039; Clear extension: delete the bunch (i.e. ceiling-floor connection) of the aimed-at sector&#039;s floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;PGUP&#039;&#039;&#039;/&#039;&#039;&#039;PGDN&#039;&#039;&#039; Change &#039;player&#039; height in discrete steps in order to go through the different levels&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAB+CTRL&#039;&#039;&#039; Display one currently aimed at sector (of potentially many that lie under the mouse crosshair)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;HOME&#039;&#039;&#039; and &#039;&#039;&#039;END&#039;&#039;&#039; (as modifiers to &#039;&#039;&#039;RALT&#039;&#039;&#039;): select all sectors whose floor&#039;s/ceiling&#039;s bunchnum equal the bunchnum of the aimed at sector (useful for further operations on whole bunches)&lt;br /&gt;
&lt;br /&gt;
===3D mode===&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039; invisibility preview: toggle fake ROR texture on non-masked portals&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LENTER+CTRL&#039;&#039;&#039; When aiming at an extended floor/ceiling, paste to all floors/ceilings of the bunch of the aimed at one&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;, &#039;&#039;&#039;B&#039;&#039;&#039; and &#039;&#039;&#039;H&#039;&#039;&#039; work as with walls, though they set/toggle the bits only on &#039;&#039;&#039;one&#039;&#039;&#039; side&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Some console commands/variables==&lt;br /&gt;
&lt;br /&gt;
See &amp;quot;help &amp;lt;console-command/var&amp;gt;&amp;quot; for help on a particular command/variable.&lt;br /&gt;
&lt;br /&gt;
pk_quickmapcycling&amp;lt;br&amp;gt;&lt;br /&gt;
pk_uedaccel&amp;lt;br&amp;gt;&lt;br /&gt;
osd_tryscript&amp;lt;br&amp;gt;&lt;br /&gt;
sideview_reversehorizrot&amp;lt;br&amp;gt;&lt;br /&gt;
fixmaponsave_sprites&amp;lt;br&amp;gt;&lt;br /&gt;
show_heightindicators&amp;lt;br&amp;gt;&lt;br /&gt;
show_ambiencesounds&amp;lt;br&amp;gt;&lt;br /&gt;
corruptcheck_noalreadyrefd&amp;lt;br&amp;gt;&lt;br /&gt;
corruptcheck&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mapster32 keys as tables (unmaintained and obsolete)==&lt;br /&gt;
&lt;br /&gt;
Below are the Mapster32 keys as three sortable tables. They are sorted such that the more &#039;basic&#039; keys are at the top.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The column headers have the following meaning:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;key/keys&#039;&#039;&#039;: self-explanatory. Where a key starts with a &#039;+&#039; on a line of its own,&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;it means that it should be pressed simultaneously with the first one in the&lt;br /&gt;
same table row.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;type&#039;&#039;&#039;: type of command: info=informational, edit=editing, navi=navigation,&lt;br /&gt;
disp=display, misc=miscellany&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;sec&#039;&#039;&#039;, &#039;&#039;&#039;spr&#039;&#039;&#039;,&#039;&#039;&#039;wal&#039;&#039;&#039;: in case of an editing command, whether it&lt;br /&gt;
potentially acts on &#039;&#039;&#039;sec&#039;&#039;&#039;tors, &#039;&#039;&#039;spr&#039;&#039;&#039;ites, and/or &#039;&#039;&#039;wal&#039;&#039;&#039;ls.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;adv&#039;&#039;&#039;: whether the command is &#039;advanced&#039;. This is set somewhat arbitrarily.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;new&#039;&#039;&#039;: whether the functionality of the command is new to Mapster32. An &#039;&#039;&#039;e&#039;&#039;&#039; means that it&#039;s enhanced from BUILD.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039;: a running number. To restore the original order, sort by it.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Mapster 32 keys &amp;amp;mdash; shared keys for 2D and 3D mode&#039;&#039;&#039;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
! key/keys!!description!!type!!sec&amp;lt;br&amp;gt;!!spr&amp;lt;br&amp;gt;!!wal&amp;lt;br&amp;gt;!!adv&amp;lt;br&amp;gt;!!new&amp;lt;br&amp;gt;!!N&lt;br /&gt;
|-&lt;br /&gt;
! F1&lt;br /&gt;
|help||info||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||0&lt;br /&gt;
|-&lt;br /&gt;
! UP/DOWN &amp;lt;br&amp;gt; LEFT/RIGHT &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+LShift&lt;br /&gt;
|move forward/back &amp;lt;br&amp;gt; turn left/right (&#039;&#039;&#039;+RCtrl&#039;&#039;&#039;: strafe) &amp;lt;br&amp;gt; speed up movements||navi||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||1&lt;br /&gt;
|-&lt;br /&gt;
! RENTER&lt;br /&gt;
|toggle between 2D and 3D modes||misc||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||2&lt;br /&gt;
|-&lt;br /&gt;
! B &lt;br /&gt;
|toggle blocking of wall/sprite (&#039;&#039;&#039;+Shift&#039;&#039;&#039;: one-sided)||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||3&lt;br /&gt;
|-&lt;br /&gt;
! R&lt;br /&gt;
|cycle sprite aligment||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||4&lt;br /&gt;
|-&lt;br /&gt;
! ,/.&lt;br /&gt;
|rotate sprite (&#039;&#039;&#039;+Shift&#039;&#039;&#039;: slowly)||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||5&lt;br /&gt;
|-&lt;br /&gt;
! DEL&lt;br /&gt;
|delete sprite||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||6&lt;br /&gt;
|-&lt;br /&gt;
! /&lt;br /&gt;
|reset panning, repeat and flags||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||7&lt;br /&gt;
|-&lt;br /&gt;
! Alt+F&lt;br /&gt;
|set first wall of sector||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||8&lt;br /&gt;
|-&lt;br /&gt;
! /+Shift&lt;br /&gt;
|set xrepeat to yrepeat (make square)||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||9&lt;br /&gt;
|-&lt;br /&gt;
! \&#039;N &lt;br /&gt;
|toggle camera clipping||navi||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||10&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+N&lt;br /&gt;
|toggle sprite clipping through floors/ceilings||edit||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||11&lt;br /&gt;
|-&lt;br /&gt;
! \&#039;A &lt;br /&gt;
|toggle autosave (interval configurable in mapster32.cfg)||misc||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||12&lt;br /&gt;
|-&lt;br /&gt;
! (Shift+)F12&lt;br /&gt;
|capture (inverted) screenshot||misc||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||13&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+L&lt;br /&gt;
|load map||misc||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||14&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+S&lt;br /&gt;
|save map||misc||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||15&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+P&lt;br /&gt;
|playtest map from current position||misc||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||16&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+Alt+P&lt;br /&gt;
|playtest map from starting position||misc||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Mapster 32 keys &amp;amp;mdash; 2D mode&#039;&#039;&#039;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
! key/keys!!description!!type!!sec&amp;lt;br&amp;gt;!!spr&amp;lt;br&amp;gt;!!wal&amp;lt;br&amp;gt;!!adv&amp;lt;br&amp;gt;!!new&amp;lt;br&amp;gt;!!N&lt;br /&gt;
|-&lt;br /&gt;
! A/Z&lt;br /&gt;
|zoom in/out||disp||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||0&lt;br /&gt;
|-&lt;br /&gt;
! L&lt;br /&gt;
|toggle grid lock||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||1&lt;br /&gt;
|-&lt;br /&gt;
! G (+Shift)&lt;br /&gt;
|cycle grid size (backwards), set auto grid||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&amp;lt;/center&amp;gt;||2&lt;br /&gt;
|-&lt;br /&gt;
! S&lt;br /&gt;
|insert sprite &amp;lt;br&amp;gt;(prefix 1-0 on upper row: set picnum to 1-10, resp.)||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&amp;lt;/center&amp;gt;||3&lt;br /&gt;
|-&lt;br /&gt;
! O&lt;br /&gt;
|ornament sprite onto wall||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||4&lt;br /&gt;
|-&lt;br /&gt;
! J&lt;br /&gt;
|join sectors||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||5&lt;br /&gt;
|-&lt;br /&gt;
! P&lt;br /&gt;
|set sector pal||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||6&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+H&lt;br /&gt;
|toggle hitscan sensitivity||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||7&lt;br /&gt;
|-&lt;br /&gt;
! T (+Alt)&lt;br /&gt;
|set lotag of sector (wall/sprite)||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||8&lt;br /&gt;
|-&lt;br /&gt;
! H (+Alt)&lt;br /&gt;
|set hitag of sector (wall/sprite)||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||9&lt;br /&gt;
|-&lt;br /&gt;
! KP4/6/2/8&lt;br /&gt;
|scale sprite (+&#039;&#039;&#039;KP5&#039;&#039;&#039;: speed up)||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||10&lt;br /&gt;
|-&lt;br /&gt;
! SPACE&lt;br /&gt;
|draw sector; end circle drawing||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||11&lt;br /&gt;
|-&lt;br /&gt;
! BACKSPACE&lt;br /&gt;
|remove last wall when drawing sector||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||12&lt;br /&gt;
|-&lt;br /&gt;
! BACKSPACE&lt;br /&gt;
|cycle 2D display mode (textured/non-textured)||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||13&lt;br /&gt;
|-&lt;br /&gt;
! INS&lt;br /&gt;
|add vertex to wall||edit||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||14&lt;br /&gt;
|-&lt;br /&gt;
! DEL+Ctrl&lt;br /&gt;
|delete sector||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||15&lt;br /&gt;
|-&lt;br /&gt;
! C &amp;lt;br&amp;gt; KP+/KP-&lt;br /&gt;
|start circle drawing from wall &amp;lt;br&amp;gt; increase/decrease amount of walls in circle||edit||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||16&lt;br /&gt;
|-&lt;br /&gt;
! Alt+S&lt;br /&gt;
|make sector from inner loop||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||17&lt;br /&gt;
|-&lt;br /&gt;
! RShift &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; +;/&#039;&lt;br /&gt;
|select group of walls and sprites &amp;lt;br&amp;gt; set difference/union||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||18&lt;br /&gt;
|-&lt;br /&gt;
! RAlt &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; +;/&#039; &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+RCtrl&lt;br /&gt;
|select group of sectors &amp;lt;br&amp;gt; set difference/union &amp;lt;br&amp;gt; point sector selection||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||19&lt;br /&gt;
|-&lt;br /&gt;
! INS or C&lt;br /&gt;
|duplicate selected sectors/sprites||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||20&lt;br /&gt;
|-&lt;br /&gt;
! SCROLLLOCK&lt;br /&gt;
|set starting position||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||21&lt;br /&gt;
|-&lt;br /&gt;
! TAB&lt;br /&gt;
|show sector data||info||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||22&lt;br /&gt;
|-&lt;br /&gt;
! TAB+Ctrl &amp;lt;br&amp;gt; (or TAB+Shift)&lt;br /&gt;
|show wall/sprite data||info||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||23&lt;br /&gt;
|-&lt;br /&gt;
! LShift&lt;br /&gt;
|show coords||info||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||24&lt;br /&gt;
|-&lt;br /&gt;
! M (+Alt)&lt;br /&gt;
|set extra of sector (wall/sprite)||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||25&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|set sprite status list||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||26&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+T&lt;br /&gt;
|toggle show tags||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||27&lt;br /&gt;
|-&lt;br /&gt;
! &#039;3&lt;br /&gt;
|cycle modes of showing object&#039;s name||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||28&lt;br /&gt;
|-&lt;br /&gt;
! &#039;7&lt;br /&gt;
|swap lotag and hitag of wall/sprite||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||29&lt;br /&gt;
|-&lt;br /&gt;
! &#039;J&lt;br /&gt;
|jump to position (X,Y)||misc||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||30&lt;br /&gt;
|-&lt;br /&gt;
! &#039;S&lt;br /&gt;
|set sprite size||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||31&lt;br /&gt;
|-&lt;br /&gt;
! &#039;L&lt;br /&gt;
|set wall/sprite coordinates||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||32&lt;br /&gt;
|-&lt;br /&gt;
! &#039;F&lt;br /&gt;
|Special functions menu&amp;lt;blockquote&amp;gt;&#039;&#039;Replace invalid tiles&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Delete all spr of tile #&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Set map sky shade&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Set map sky height&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Global Z coord shift&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Resize selection&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Global shade divide&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Global visibility divide&#039;&#039;&amp;lt;/blockquote&amp;gt;||edit||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||33&lt;br /&gt;
|-&lt;br /&gt;
! X/Y (+Alt)&lt;br /&gt;
|flip (mirror) selected sectors in x/y||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||34&lt;br /&gt;
|-&lt;br /&gt;
! F2&lt;br /&gt;
|show sound index (root CON file to fetch sound &amp;lt;br&amp;gt;definitions from can be specified at startup; &amp;lt;br&amp;gt;default is GAME.CON)||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||35&lt;br /&gt;
|-&lt;br /&gt;
! F4&lt;br /&gt;
|toggle first wall highlighting||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||36&lt;br /&gt;
|-&lt;br /&gt;
! F5&lt;br /&gt;
|show item count||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||37&lt;br /&gt;
|-&lt;br /&gt;
! F6&lt;br /&gt;
|show actor count (when pointed at sprite: SE help)||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||38&lt;br /&gt;
|-&lt;br /&gt;
! F7&lt;br /&gt;
|edit sector data||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||39&lt;br /&gt;
|-&lt;br /&gt;
! F8&lt;br /&gt;
|edit wall/sprite data||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||40&lt;br /&gt;
|-&lt;br /&gt;
! F9&lt;br /&gt;
|show ST help||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||41&lt;br /&gt;
|-&lt;br /&gt;
! F10&lt;br /&gt;
|show 3D preview window in 2D mode||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||41&lt;br /&gt;
|-&lt;br /&gt;
! Alt+F7&lt;br /&gt;
|search sector by tag||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||42&lt;br /&gt;
|-&lt;br /&gt;
! Alt+F8&lt;br /&gt;
|search wall by tag/search sprite||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;e&#039;&#039;&#039;&amp;lt;/center&amp;gt;||43&lt;br /&gt;
|-&lt;br /&gt;
! ]/[&lt;br /&gt;
|search forward/backward||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||44&lt;br /&gt;
|-&lt;br /&gt;
! LCtrl+RShift&lt;br /&gt;
|select all walls of current sector &amp;lt;br&amp;gt;(point at a wall and holding &#039;&#039;&#039;LCtrl&#039;&#039;&#039;, press &#039;&#039;&#039;RShift&#039;&#039;&#039;)||edit||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||45&lt;br /&gt;
|-&lt;br /&gt;
! LENTER&lt;br /&gt;
|check pointers for current sector &amp;lt;br&amp;gt;(&#039;&#039;&#039;+LCtrl+LShift&#039;&#039;&#039;: check ALL pointers)||edit||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||46&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Mapster 32 keys &amp;amp;mdash; 3D mode&#039;&#039;&#039;&lt;br /&gt;
|- bgcolor=&amp;quot;#f0f0f0&amp;quot;&lt;br /&gt;
! key/keys!!description!!type!!sec&amp;lt;br&amp;gt;!!spr&amp;lt;br&amp;gt;!!wal&amp;lt;br&amp;gt;!!adv&amp;lt;br&amp;gt;!!new&amp;lt;br&amp;gt;!!N&lt;br /&gt;
|-&lt;br /&gt;
! A/Z &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+Ctrl &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+LShift&lt;br /&gt;
|move up/down &amp;lt;br&amp;gt; look down/up &amp;lt;br&amp;gt; speed up movements||navi||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||0&lt;br /&gt;
|-&lt;br /&gt;
! CAPSLOCK  or &#039;Z&lt;br /&gt;
|cycle zmode||navi||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||1&lt;br /&gt;
|-&lt;br /&gt;
! KP+/KP-&lt;br /&gt;
|change shade||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||2&lt;br /&gt;
|-&lt;br /&gt;
! KP+/KP-+Alt &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+Alt+Shift &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+Ctrl+Alt&lt;br /&gt;
|change visibility &amp;lt;br&amp;gt; change visibility in smaller increments &amp;lt;br&amp;gt; change global visibility||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||3&lt;br /&gt;
|-&lt;br /&gt;
! ]/[ &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+RShift &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+LShift&lt;br /&gt;
|slope down/up &amp;lt;br&amp;gt; smaller increments &amp;lt;br&amp;gt; smallest increments ||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||4&lt;br /&gt;
|-&lt;br /&gt;
! [+Alt&lt;br /&gt;
|align slope to floor of adjoining sector||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||5&lt;br /&gt;
|-&lt;br /&gt;
! ]+Alt&lt;br /&gt;
|align slope to ceiling of adjoining sector||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||6&lt;br /&gt;
|-&lt;br /&gt;
! PGUP/PGDN &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+END &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+HOME&lt;br /&gt;
|move object up/down (&#039;&#039;&#039;+Ctrl&#039;&#039;&#039; on sectors: 4x) &amp;lt;br&amp;gt; 1/2 of normal increments &amp;lt;br&amp;gt; 1/4 of normal increments||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||7&lt;br /&gt;
|-&lt;br /&gt;
! PGUP+Ctrl&lt;br /&gt;
|put sprite on ceiling||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||8&lt;br /&gt;
|-&lt;br /&gt;
! PGDN+Ctrl&lt;br /&gt;
|put sprite on ground||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||9&lt;br /&gt;
|-&lt;br /&gt;
! KP4/6/2/8 &amp;lt;br&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp;+Shift or +Alt&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;+KP5&lt;br /&gt;
|pan floor/ceiling or scale wall/sprite &amp;lt;br&amp;gt;force panning &amp;lt;br&amp;gt; speed up||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||10&lt;br /&gt;
|-&lt;br /&gt;
! V&lt;br /&gt;
|choose tile||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||11&lt;br /&gt;
|-&lt;br /&gt;
! S&lt;br /&gt;
|insert sprite||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||12&lt;br /&gt;
|-&lt;br /&gt;
! G&lt;br /&gt;
|set picnum||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||13&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|toggle sector texture expansion||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||14&lt;br /&gt;
|-&lt;br /&gt;
! F&lt;br /&gt;
|flip texture||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||15&lt;br /&gt;
|-&lt;br /&gt;
! R&lt;br /&gt;
|toggle sector texture relativity||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||16&lt;br /&gt;
|-&lt;br /&gt;
! &#039;T&lt;br /&gt;
|set lotag||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||17&lt;br /&gt;
|-&lt;br /&gt;
! &#039;H&lt;br /&gt;
|set hitag||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||18&lt;br /&gt;
|-&lt;br /&gt;
! &#039;S&lt;br /&gt;
|set shade||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||19&lt;br /&gt;
|-&lt;br /&gt;
! Alt+P&lt;br /&gt;
|set pal||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||20&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|toggle one sided sprite/wall||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||21&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
|toggle bottom wall swapping||edit||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||22&lt;br /&gt;
|-&lt;br /&gt;
! M&lt;br /&gt;
|toggle masking wall||edit||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||23&lt;br /&gt;
|-&lt;br /&gt;
! O&lt;br /&gt;
|toggle wall orientation||edit||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||24&lt;br /&gt;
|-&lt;br /&gt;
! O&lt;br /&gt;
|ornament sprite onto wall||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||25&lt;br /&gt;
|-&lt;br /&gt;
! C&lt;br /&gt;
|toggle sprite centering||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||26&lt;br /&gt;
|-&lt;br /&gt;
! H&lt;br /&gt;
|toggle hitscan sensitivity (&#039;&#039;&#039;+Shift&#039;&#039;&#039;: one-sided)||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||27&lt;br /&gt;
|-&lt;br /&gt;
! T&lt;br /&gt;
|cycle translucence||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||28&lt;br /&gt;
|-&lt;br /&gt;
! P&lt;br /&gt;
|toggle parallax||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||29&lt;br /&gt;
|-&lt;br /&gt;
! &#039;V&lt;br /&gt;
|set sector visibility||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||30&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+P (obsolete)&lt;br /&gt;
|change parallax type (classic renderer only)||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||31&lt;br /&gt;
|-&lt;br /&gt;
! .&lt;br /&gt;
|search &amp;amp;amp; fix panning of the wall to the right||edit||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||32&lt;br /&gt;
|-&lt;br /&gt;
! &#039;L&lt;br /&gt;
|set coordinates||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||33&lt;br /&gt;
|-&lt;br /&gt;
! &#039;M&lt;br /&gt;
|set extra||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||34&lt;br /&gt;
|-&lt;br /&gt;
! +/-&lt;br /&gt;
|cycle tile||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||35&lt;br /&gt;
|-&lt;br /&gt;
! TAB&lt;br /&gt;
|copy to clipboard||edit||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||36&lt;br /&gt;
|-&lt;br /&gt;
! LENTER&lt;br /&gt;
|paste all (pic+shade+pal+flags+tags+extra)||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||37&lt;br /&gt;
|-&lt;br /&gt;
! &#039;LENTER&lt;br /&gt;
|paste picnum only||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||38&lt;br /&gt;
|-&lt;br /&gt;
! LENTER+Shift&lt;br /&gt;
|paste shading+pal||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||39&lt;br /&gt;
|-&lt;br /&gt;
! LENTER+Ctrl&lt;br /&gt;
|paste picnum+shading+pal||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||40&lt;br /&gt;
|-&lt;br /&gt;
! Alt+C&lt;br /&gt;
|replace all &amp;quot;same&amp;quot; tiles with clipboard tile||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||41&lt;br /&gt;
|-&lt;br /&gt;
! Alt+D&lt;br /&gt;
|adjust clipping distance of sprite||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||42&lt;br /&gt;
|-&lt;br /&gt;
! ;V&lt;br /&gt;
|set sector visibility on all selected sectors||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||43&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
|toggle Sector over Sector &amp;lt;br&amp;gt;(see http://www.users.on.net/~triforce/cduke3d/)||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||44&lt;br /&gt;
|-&lt;br /&gt;
! &#039;BACKSPACE&lt;br /&gt;
|clear all flags for wall/sprite||edit||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||45&lt;br /&gt;
|-&lt;br /&gt;
! &#039;P&lt;br /&gt;
|set palette of all sprites/walls/floors/ceilings &amp;lt;br&amp;gt;(respectively) in all selected sectors||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||46&lt;br /&gt;
|-&lt;br /&gt;
! ;P&lt;br /&gt;
|set palette of all sprites/walls/floors/ceilings &amp;lt;br&amp;gt;in all selected sectors||edit||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||47&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+Shift&amp;lt;br&amp;gt;+LENTER&lt;br /&gt;
|autoshade wall||edit||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;x&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||48&lt;br /&gt;
|-&lt;br /&gt;
! F2&lt;br /&gt;
|toggle clipboard preview||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||49&lt;br /&gt;
|-&lt;br /&gt;
! F2+Shift&lt;br /&gt;
|toggle current tile display||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||50&lt;br /&gt;
|-&lt;br /&gt;
! F3&lt;br /&gt;
|toggle mouselook||misc||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||51&lt;br /&gt;
|-&lt;br /&gt;
! F4&lt;br /&gt;
|toggle ambient sounds||misc||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||52&lt;br /&gt;
|-&lt;br /&gt;
! F5&lt;br /&gt;
|toggle mouse navigation||navi||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||53&lt;br /&gt;
|-&lt;br /&gt;
! F6&lt;br /&gt;
|toggle automatic SE help||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||54&lt;br /&gt;
|-&lt;br /&gt;
! F7&lt;br /&gt;
|toggle automatic ST help||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||55&lt;br /&gt;
|-&lt;br /&gt;
! F9&lt;br /&gt;
|reload and activate maphacks||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||56&lt;br /&gt;
|-&lt;br /&gt;
! F10&lt;br /&gt;
|disable maphacks||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||57&lt;br /&gt;
|-&lt;br /&gt;
! F11&lt;br /&gt;
|cycle brightness||misc||||||||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||58&lt;br /&gt;
|-&lt;br /&gt;
! &#039;D&lt;br /&gt;
|cycle skill level||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||59&lt;br /&gt;
|-&lt;br /&gt;
! &#039;X&lt;br /&gt;
|toggle sprite shade preview||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||60&lt;br /&gt;
|-&lt;br /&gt;
! &#039;W&lt;br /&gt;
|toggle sprite display||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||61&lt;br /&gt;
|-&lt;br /&gt;
! &#039;Y&lt;br /&gt;
|toggle purple background||disp||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||62&lt;br /&gt;
|-&lt;br /&gt;
! &#039;C&lt;br /&gt;
|copy shade from clipboard to all &amp;quot;same&amp;quot; objects||edit||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||63&lt;br /&gt;
|-&lt;br /&gt;
! &#039;R&lt;br /&gt;
|toggle framerate display||info||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;n&amp;lt;/center&amp;gt;||64&lt;br /&gt;
|-&lt;br /&gt;
! Ctrl+T&lt;br /&gt;
|when pointing on a letter sprite: text entry tool &amp;lt;br&amp;gt;(alphabets are configurable in tiles.cfg)||edit||||||||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||&amp;lt;center&amp;gt;&#039;&#039;&#039;y&#039;&#039;&#039;&amp;lt;/center&amp;gt;||65&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=User_profiles_disabled&amp;diff=14829</id>
		<title>User profiles disabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=User_profiles_disabled&amp;diff=14829"/>
		<updated>2023-05-29T19:12:47Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: usecwd != user_profiles_disabled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If an empty file with the name &amp;lt;code&amp;gt;user_profiles_disabled&amp;lt;/code&amp;gt; is placed in the eduke32 base directory, the game will use this directory instead of &amp;lt;code&amp;gt;Appdata&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/user/.config/eduke32&amp;lt;/code&amp;gt; to store user data.&lt;br /&gt;
&lt;br /&gt;
This includes config files, screenshots, saves, the autoload directory and texture cache files. It also affects the commands [[readarrayfromfile]] and [[writearraytofile]], which would normally also read/write data from/to the profile directory.&lt;br /&gt;
&lt;br /&gt;
The presence of &amp;lt;code&amp;gt;user_profiles_disabled&amp;lt;/code&amp;gt; is similar to setting the launch parameter &amp;lt;code&amp;gt;-usecwd&amp;lt;/code&amp;gt;, however, the latter parameter comes with additional effects.&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Event_list&amp;diff=14797</id>
		<title>Event list</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Event_list&amp;diff=14797"/>
		<updated>2022-10-02T10:05:02Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{EDuke32 Intro}}&lt;br /&gt;
{| cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
This is a list of every event in the current release of EDuke32.&lt;br /&gt;
&lt;br /&gt;
All [[events]] are accessed using the [[onevent]] and [[appendevent]] commands.&lt;br /&gt;
&lt;br /&gt;
See also: [[:Category:Event manipulation|Event Manipulation]].&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;1%&amp;quot; nowrap=&amp;quot;nowrap&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt; [[unsynchronized events|Unsynchronized events]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; may recurse&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt; no current player number set&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt; no THISACTOR set&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt; eduke32 standalone build only&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt; executes at framerate&lt;br /&gt;
|}&lt;br /&gt;
{| cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Misc events&lt;br /&gt;
*[[EVENT_ACTIVATECHEAT]]&amp;lt;sup&amp;gt;[1][2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CAPIR]]&amp;lt;sup&amp;gt;[1][3][5]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETBOOT]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETFIRSTAID]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETHEAT]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETHOLODUKE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETJETPACK]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETSCUBA]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETSHIELD]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_CHEATGETSTEROIDS]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_ENDLEVELSCREEN]]&lt;br /&gt;
*[[EVENT_EXITGAMESCREEN]]&lt;br /&gt;
*[[EVENT_EXITPROGRAMSCREEN]]&lt;br /&gt;
*[[EVENT_INIT]]&amp;lt;sup&amp;gt;[1][3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_INITCOMPLETE]]&amp;lt;sup&amp;gt;[1][3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_LOADGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MAINMENUSCREEN]]&lt;br /&gt;
*[[EVENT_NEWGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_NEWGAMESCREEN]]&lt;br /&gt;
*[[EVENT_POSTSAVEGAME]]&lt;br /&gt;
*[[EVENT_PRELOADGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SAVEGAME]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SETDEFAULTS]]&amp;lt;sup&amp;gt;[1][3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_VALIDATESTART]]&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (in-game)&lt;br /&gt;
*[[EVENT_DISPLAYROOMS]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYROOMSCAMERA]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYROOMSCAMERATILE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYROOMSEND]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_RESETGOTPICS]]&amp;lt;sup&amp;gt;[1][3][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (misc)&lt;br /&gt;
*[[EVENT_DISPLAYEND]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYREST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSTART]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_UPDATESCREENAREA]]&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unused/Removed&lt;br /&gt;
*[[EVENT_FAKEDOMOVETHINGS]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_ANIMATEALLSPRITES]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Screen drawing events (menus)&lt;br /&gt;
*[[EVENT_CHANGEMENU]]&amp;lt;sup&amp;gt;[1][2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYCURSOR]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYINACTIVEMENU]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYINACTIVEMENUREST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYMENU]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYMENUREST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GETBONUSTILE]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GETMENUTILE]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUCURSORLEFT]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUCURSORRIGHT]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUCURSORSHADE]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_MENUSHADESELECTED]]&amp;lt;sup&amp;gt;[1][4][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_NEWGAMECUSTOM]]&amp;lt;sup&amp;gt;[1][4]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (special screens and cutscenes)&lt;br /&gt;
*[[EVENT_CUTSCENE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYBONUSSCREEN]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYLOADINGSCREEN]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GETLOADTILE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_LOGO]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_PRECUTSCENE]]&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SCREEN]]&amp;lt;sup&amp;gt;[1][2][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_SKIPCUTSCENE]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (HUD)&lt;br /&gt;
*[[EVENT_DISPLAYBORDER]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYCROSSHAIR]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYLEVELSTATS]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYOVERHEADMAPPLAYER]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYOVERHEADMAPTEXT]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYPOINTER]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSBAR]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Screen drawing events (player body)&lt;br /&gt;
*[[EVENT_DISPLAYACCESS]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYCAMERAOSD]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYFIST]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYKNEE]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYKNUCKLES]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSCUBA]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYSPIT]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYTIP]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DISPLAYWEAPON]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_DRAWWEAPON]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-right: none; border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Actor controlling events&lt;br /&gt;
*[[EVENT_ANIMATESPRITES]]&amp;lt;sup&amp;gt;[1][6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_EGS]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_GAME]]&lt;br /&gt;
*[[EVENT_KILLIT]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_LOADACTOR]]&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_PREGAME]]&lt;br /&gt;
*[[EVENT_RECOGSOUND]]&lt;br /&gt;
*[[EVENT_SPAWN]]&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sound-based events&lt;br /&gt;
*[[EVENT_CONTINUELEVELMUSICSLOT]]&lt;br /&gt;
*[[EVENT_PLAYLEVELMUSICSLOT]]&lt;br /&gt;
*[[EVENT_OPENMENUSOUND]]&lt;br /&gt;
*[[EVENT_SOUND]]&amp;lt;sup&amp;gt;[1][2]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Global events&lt;br /&gt;
*[[EVENT_DAMAGECEILING]]&lt;br /&gt;
*[[EVENT_DAMAGEFLOOR]]&lt;br /&gt;
*[[EVENT_DAMAGEHPLANE]]&lt;br /&gt;
*[[EVENT_DAMAGESPRITE]]&lt;br /&gt;
*[[EVENT_DAMAGEWALL]]&lt;br /&gt;
*[[EVENT_ENTERLEVEL]]&lt;br /&gt;
*[[EVENT_MOVEEFFECTORS]]&lt;br /&gt;
*[[EVENT_MOVESECTOR]]&lt;br /&gt;
*[[EVENT_POSTDAMAGESPRITE]]&lt;br /&gt;
*[[EVENT_PRELEVEL]]&lt;br /&gt;
*[[EVENT_PREWORLD]]&lt;br /&gt;
*[[EVENT_WORLD]]&lt;br /&gt;
&lt;br /&gt;
Player controlling events&lt;br /&gt;
*[[EVENT_CHANGEWEAPON]]&lt;br /&gt;
*[[EVENT_CHECKFLOORDAMAGE]]&lt;br /&gt;
*[[EVENT_CHECKTOUCHDAMAGE]]&lt;br /&gt;
*[[EVENT_DOFIRE]]&lt;br /&gt;
*[[EVENT_GETAUTOAIMANGLE]]&lt;br /&gt;
*[[EVENT_GETSHOTRANGE]]&lt;br /&gt;
*[[EVENT_INCURDAMAGE]]&lt;br /&gt;
*[[EVENT_POSTUPDATEANGLES]]&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_PREUPDATEANGLES]]&amp;lt;sup&amp;gt;[6]&amp;lt;/sup&amp;gt;&lt;br /&gt;
*[[EVENT_RESETINVENTORY]]&lt;br /&gt;
*[[EVENT_RESETPLAYER]]&lt;br /&gt;
*[[EVENT_RESETWEAPONS]]&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;border-left: none; padding: 0.6em;&amp;quot; |&lt;br /&gt;
Player input-based events&lt;br /&gt;
*[[EVENT_AIMDOWN]]&lt;br /&gt;
*[[EVENT_AIMUP]]&lt;br /&gt;
*[[EVENT_ALTFIRE]]&lt;br /&gt;
*[[EVENT_ALTWEAPON]]&lt;br /&gt;
*[[EVENT_CROUCH]]&lt;br /&gt;
*[[EVENT_FIRE]]&lt;br /&gt;
*[[EVENT_FIREWEAPON]]&lt;br /&gt;
*[[EVENT_HOLODUKEOFF]]&lt;br /&gt;
*[[EVENT_HOLODUKEON]]&lt;br /&gt;
*[[EVENT_HOLSTER]]&lt;br /&gt;
*[[EVENT_INVENTORY]]&lt;br /&gt;
*[[EVENT_INVENTORYLEFT]]&lt;br /&gt;
*[[EVENT_INVENTORYRIGHT]]&lt;br /&gt;
*[[EVENT_JUMP]]&lt;br /&gt;
*[[EVENT_LASTWEAPON]]&lt;br /&gt;
*[[EVENT_LOOKDOWN]]&lt;br /&gt;
*[[EVENT_LOOKLEFT]]&lt;br /&gt;
*[[EVENT_LOOKRIGHT]]&lt;br /&gt;
*[[EVENT_LOOKUP]]&lt;br /&gt;
*[[EVENT_MOVEBACKWARD]]&lt;br /&gt;
*[[EVENT_MOVEFORWARD]]&lt;br /&gt;
*[[EVENT_NEXTWEAPON]]&lt;br /&gt;
*[[EVENT_PRESSEDFIRE]]&lt;br /&gt;
*[[EVENT_PREVIOUSWEAPON]]&lt;br /&gt;
*[[EVENT_PROCESSINPUT]]&lt;br /&gt;
*[[EVENT_QUICKKICK]]&lt;br /&gt;
*[[EVENT_RETURNTOCENTER]]&lt;br /&gt;
*[[EVENT_SELECTWEAPON]]&lt;br /&gt;
*[[EVENT_SOARDOWN]]&lt;br /&gt;
*[[EVENT_SOARUP]]&lt;br /&gt;
*[[EVENT_STRAFELEFT]]&lt;br /&gt;
*[[EVENT_STRAFERIGHT]]&lt;br /&gt;
*[[EVENT_SWIMDOWN]]&lt;br /&gt;
*[[EVENT_SWIMUP]]&lt;br /&gt;
*[[EVENT_TURNAROUND]]&lt;br /&gt;
*[[EVENT_TURNLEFT]]&lt;br /&gt;
*[[EVENT_TURNRIGHT]]&lt;br /&gt;
*[[EVENT_USE]]&lt;br /&gt;
*[[EVENT_USEJETPACK]]&lt;br /&gt;
*[[EVENT_USEMEDKIT]]&lt;br /&gt;
*[[EVENT_USENIGHTVISION]]&lt;br /&gt;
*[[EVENT_USESTEROIDS]]&lt;br /&gt;
*[[EVENT_WEAPKEY1]]&lt;br /&gt;
*[[EVENT_WEAPKEY10]]&lt;br /&gt;
*[[EVENT_WEAPKEY2]]&lt;br /&gt;
*[[EVENT_WEAPKEY3]]&lt;br /&gt;
*[[EVENT_WEAPKEY4]]&lt;br /&gt;
*[[EVENT_WEAPKEY5]]&lt;br /&gt;
*[[EVENT_WEAPKEY6]]&lt;br /&gt;
*[[EVENT_WEAPKEY7]]&lt;br /&gt;
*[[EVENT_WEAPKEY8]]&lt;br /&gt;
*[[EVENT_WEAPKEY9]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Event manipulation]]&lt;br /&gt;
[[Category:Scripting documentation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Events&amp;diff=14796</id>
		<title>Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Events&amp;diff=14796"/>
		<updated>2022-10-02T10:03:13Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: This should redirect to the event list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Event_list]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Undefineskill&amp;diff=14788</id>
		<title>Undefineskill</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Undefineskill&amp;diff=14788"/>
		<updated>2022-07-30T08:29:36Z</updated>

		<summary type="html">&lt;p&gt;Doom64hunter: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;undefineskill&amp;#039;&amp;#039;&amp;#039; &amp;lt;skill&amp;gt;  This removes the skill with index &amp;lt;skill&amp;gt; from the menu selection. All other skills are unaffected.  If all skills are undefined, the skill menu is skipped, and default_skill will be used instead.  &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Prior to r9571, undefining a skill also removed all skills with index greater than the specified skill.  Category:EDuke32 specific commands Category:Game manipulation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;undefineskill&#039;&#039;&#039; &amp;lt;skill&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This removes the skill with index &amp;lt;skill&amp;gt; from the menu selection. All other skills are unaffected.&lt;br /&gt;
&lt;br /&gt;
If all skills are undefined, the skill menu is skipped, and [[default_skill]] will be used instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
Prior to r9571, undefining a skill also removed all skills with index greater than the specified skill.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Game manipulation]]&lt;/div&gt;</summary>
		<author><name>Doom64hunter</name></author>
	</entry>
</feed>