https://wiki.eduke32.com/w/api.php?action=feedcontributions&user=Mblackwell&feedformat=atomEDukeWiki - User contributions [en]2024-03-29T12:09:20ZUser contributionsMediaWiki 1.42.0-alphahttps://wiki.eduke32.com/w/index.php?title=Nextsectorneighborz&diff=14419Nextsectorneighborz2021-11-15T17:19:32Z<p>Mblackwell: Created page with "'''nextsectorneighborz''' <starting sector> <starting z> <ceiling or floor (-1 or 1)> <up or down (-1 or 1)> Finds the nearest sector to <starting sector> based on z position by searching for a <ceiling or floor> from the <starting z>, and scanning <up or down>. Note: The only valid values for the last two parameters are -1 or 1. RETURN will be the sectnum found. If RETURN is -1, then nothing was found by the search. Category:EDuke32 specific commands"</p>
<hr />
<div>'''nextsectorneighborz''' <starting sector> <starting z> <ceiling or floor (-1 or 1)> <up or down (-1 or 1)><br />
<br />
Finds the nearest [[sector]] to <starting sector> based on z position by searching for a <ceiling or floor> from the <starting z>, and scanning <up or down>. Note: The only valid values for the last two parameters are -1 or 1.<br />
<br />
[[RETURN]] will be the [[sectnum]] found. If RETURN is -1, then nothing was found by the search.<br />
<br />
[[Category:EDuke32 specific commands]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Undefinegamefunc&diff=14208Undefinegamefunc2021-04-11T19:01:56Z<p>Mblackwell: Add new page to start actually documenting this function.</p>
<hr />
<div>'''undefinegamefunc''' <function><br />
<br />
This command, similar to [[undefinecheat]], allows the CON coder to remove the various game input functions from being bound. Functions are in the same order as they appear in the key configuration menu. Thus, function 0 is Move Forward, and function 52 is Show Console.<br />
<br />
== Values ==<br />
<br />
{{Input keys}}<br />
<br />
== Examples ==<br />
<br />
undefinegamefunc gamefunc_AutoRun // Removes the AutoRun toggle key from the game bindings<br />
<br />
[[Category:EDuke32 specific commands]]<br />
[[Category:Game manipulation]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EVENT_DISPLAYCURSOR&diff=14190EVENT DISPLAYCURSOR2021-03-14T00:38:38Z<p>Mblackwell: Created page with "'''EVENT_DISPLAYCURSOR''' is a Game Event. This event is called when the menu cursor is being displayed. Gamevar RETURN is set to the cursor's..."</p>
<hr />
<div>'''EVENT_DISPLAYCURSOR''' is a [[EDuke32 event list|Game Event]].<br />
<br />
This [[event]] is called when the menu cursor is being displayed.<br />
<br />
Gamevar [[RETURN]] is set to the cursor's [[picnum]]. Modifying this value will allow the game to handle positioning duties itself, etc. Setting RETURN to -1 disables hardcoded drawing of the cursor completely.<br />
<br />
For this event, treat [[userdef.return]] as an additional information array.<br />
== Return Values ==<br />
<br />
:; userdef.return 0<br />
:: Same as RETURN.<br />
<br />
:; userdef.return 1<br />
:: The X position of the cursor (16bit positioning).<br />
<br />
:; userdef.return 2<br />
:: The Y position of the cursor (16bit positioning).<br />
<br />
:; userdef.return 3<br />
:: The [[alpha]] transparency of the cursor (0-255).<br />
<br />
== Notes ==<br />
<br />
If you use the above return values to display your own cursor, with new layers or sizes, OR [[orientation]] 2048 into your drawing command.<br />
[[Category:Events]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Dynamicremap&diff=14178Dynamicremap2021-01-22T06:33:55Z<p>Mblackwell: </p>
<hr />
<div>'''dynamicremap'''<br />
<br />
This primitive enables the dynamic tile remapping system. It is used as a lone keyword outside of an [[actor]], [[projectile]], [[state]] or [[event]] and provides the CON coder with the ability to move any of the hard coded tiles to any position by manipulating the definitions typically found in DEFS.CON.<br />
<br />
Dynamicremap should be placed at the very beginning of the root CON file to be activated correctly. Below this use [[define]], with the appropriate label from the original DEFS.CON, to remap tiles to their new positions.<br />
<br />
[[Category:EDuke32 specific commands]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=How_to_display_negative_numbers_with_the_digital_font&diff=14177How to display negative numbers with the digital font2021-01-22T06:31:53Z<p>Mblackwell: </p>
<hr />
<div>In the default game, there is no minus symbol for the digital numbers. When you try to display a negative number with the digital set, it displays the steroids icon instead of a minus symbol. With that knowledge, in this tutorial, we will take advantage of the [[dynamicremap]] command to move the steroids icon to a different slot, and the [[DEF_Language#tilefromtexture|tilefromtexture]] to add in the new minus symbol and the steroids icon.<br />
<br />
== Procedure ==<br />
<br />
In GAME.CON/EDUKE.CON, put this at the top of the file:<br />
<br />
dynamicremap<br />
<br />
Down in DEFS.CON where it says:<br />
<br />
define STEROIDS_ICON 2469<br />
<br />
Change to:<br />
<br />
define STEROIDS_ICON 2459 // 2469<br />
<br />
This will tell the game to display tile #2459 for the steroids icon, instead of #2469. Currently, tile #2459 is empty, so we will have to re-add the steroids icon, as well as the minus symbol.<br />
<br />
Download [http://hendricks266.duke4.net/stuff/digital_minus.zip digital_minus.zip (1.67 kb)], and extract it to your base-level mod directory.<br />
<br />
Finally, put this at the '''bottom''' of duke3d.def. It will add in the 8-bit art required for the steroids icon and minus symbol, as well as adding high resolution versions of the two tiles.<br />
<br />
undefmodel 2459<br />
undeftexture 2459<br />
undefmodel 2469<br />
undeftexture 2469<br />
<br />
tilefromtexture 2459 { file "highres/8bit/2459.png" }<br />
tilefromtexture 2469 { file "highres/8bit/2469.png" xoffset -4 yoffset -3 }<br />
<br />
texture 2459 { pal 0 { file "highres/screen/hud/2469_steroids.png" } }<br />
texture 2469 { pal 0 { file "highres/screen/fonts/digital/2469.png" } }<br />
<br />
Viola! If you want to test it, put this at the top of GAME.CON:<br />
<br />
gamevar [[PLR_MORALE]] -5 0<br />
<br />
The large HUD should display "-5" under ARMOR.<br />
<br />
== Credits ==<br />
<br />
Hendricks266: minus symbol art, both 8-bit and highres; tutorial</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Make_actor_aim_vertical&diff=14044Make actor aim vertical2020-12-30T03:01:59Z<p>Mblackwell: </p>
<hr />
<div>In this example, the [[actor]] will find the closest LIZTROOP actor within 2048 units and calculate the vertical angle it needs to aim at. This code is an example of how to use the [[zshoot]] command to create friendly bots and other similar effects. The following does not contain the [[gamevar]] definitions, which must be placed outside of the actor code.<br />
<br />
<pre><br />
findnearactor LIZTROOP 2048 ACTOR2<br />
ifvarn ACTOR2 -1<br />
{<br />
ldist TEMP THISACTOR ACTOR2<br />
getprojectile[SHOTSPARK1].vel PROJECTILE_VEL<br />
<br />
ifn PROJECTILE_VEL 0<br />
div TEMP PROJECTILE_VEL // distance / projectile velocity = the amount of tics it would take for the projectile to reach the player's position (regardless of Z coordinate)<br />
<br />
getactor[THISACTOR].z TEMP2<br />
getactor[ACTOR2].z TEMP3<br />
sub TEMP3 TEMP2 <br />
<br />
ifn TEMP 0<br />
div TEMP3 TEMP<br />
<br />
zshoot TEMP3 SHOTSPARK1 <br />
}<br />
</pre><br />
<br />
Previous Example, for use with hitscan:<br />
<br />
<pre><br />
findnearactor LIZTROOP 2048 ACTOR2<br />
ifvarn ACTOR2 -1<br />
{<br />
ldist TEMP THISACTOR ACTOR2<br />
getactor[THISACTOR].z TEMP2<br />
subvar TEMP2 8192 // Offset the Z. Assumes the center of the actor is the same as the player<br />
getactor[ACTOR2].z TEMP3<br />
subvar TEMP3 8192 // Offset the Z. assumes the center of the actor is the same as the player<br />
subvarvar TEMP3 TEMP2<br />
shiftvarl TEMP3 8<br />
divvarvar TEMP3 TEMP<br />
zshoot TEMP3 SHOTSPARK1 <br />
}<br />
</pre><br />
<br />
[[Category: Tutorials]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Htg_t&diff=12692Htg t2019-06-30T17:16:03Z<p>Mblackwell: </p>
<hr />
<div>The '''htg_t''' is an array with 10 elements(from 0 to 9) assigned to an actor/a sector effector. There is no defined purpose for these elements (multipurpose elements) as their interpretation depends on the situation.<br />
<br />
Example:<br />
getactor[THISACTOR].htg_t 0 TEMP // 0 refers to the count(actor)<br />
ifvarg TEMP 122 nullop<br />
<br />
'''Actor''' (usage discouraged)<br><br />
'''0''' count<br><br />
'''1''' move<br><br />
'''2''' actioncount<br><br />
'''3''' current frame offset<br><br />
'''4''' action<br><br />
'''5''' ai<br><br />
<br />
'''Projectile hit'''<br><br />
'''6''' hitwall<br><br />
'''7''' hitsector<br><br />
'''8''' hitsprite<br><br />
<br />
'''Projectile'''<br><br />
'''8''' expanding explosion range<br><br />
'''9''' zvel for zshoot<br><br />
<br />
'''Pipebomb control'''<br><br />
'''6''' 1:pressed, 2:nonpressed<br><br />
'''7''' press duration<br><br />
<br />
'''Tribomb control'''<br><br />
'''3''' xpos<br><br />
'''4''' ypos<br><br />
'''5''' laser/tribomb angle<br><br />
'''6''' 1: delay, 3:armed<br><br />
'''7''' Activate tribomb when T7 reach 0<br><br />
<br />
'''Misc'''<br><br />
'''5''' lotag=28, delay lighting (not used?)<br><br />
'''5''' something with the quake<br><br />
'''4''' delay between repeated sound(environment sounds)<br><br />
<br />
The '''htg_t''' is known as ''temp_data'', ''g_t'' and ''Tn&''(n=1..9) in the source code. These names can be considered as aliases but mind the difference in the numbering: temp_data[3] = g_t[3] = T4.<br />
<br />
[[Category:Sprite structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Template:M32Script_Intro&diff=12691Template:M32Script Intro2019-06-30T09:27:40Z<p>Mblackwell: Invalid characters</p>
<hr />
<div><div style="width: 99.8%;"><div style="text-align: center;">'''Mapster32 Scripting'''</div> <div style="font-size: 95%; text-align: center;"><br />
[[Mapster32 Scripting]] &middot; [[M32 script commands]] &middot; [[M32 script variables]] &middot; [[M32 script examples]]<br><br />
</div> </div> <br />
<noinclude><br />
[[Category:Level editing documentation]]<br />
</noinclude></div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Gettimedate&diff=12541Gettimedate2018-02-17T00:08:48Z<p>Mblackwell: </p>
<hr />
<div>'''gettimedate''' <sec> <min> <hour> <mday> <mon> <year> <wday> <yday><br />
<br />
Gets the local time and date into gamevars. The values in brackets denote inclusive ranges that the individual members can take on.<br />
<br />
<sec> seconds after the minute [0, '''60'''] (note the possibility of a leap second)<br />
<min> minutes after the hour [0, 59]<br />
<hour> hours since midnight [0, 23]<br />
<mday> day of the month '''[1,31]''' (note that it is 1-based)<br />
<mon> months since January [0, 11]<br />
<year> years since 0 A.D.<br />
<wday> days since Sunday [0, 6]<br />
<yday> days since January 1 [0, 365]<br />
<br />
A tutorial on how this command can be used can be viewed here: [[How_to_make_a_clock|make an in-game clock]]<br />
<br />
[[Category:EDuke32 specific commands]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Move&diff=12383Move2016-10-09T17:19:08Z<p>Mblackwell: /* moveflags */</p>
<hr />
<div>A move command is used to give velocity to an [[actor]].<br />
<br />
Define outside an actor as so:<br />
<br />
'''move''' <name> <horizontal> <vertical><br />
<br />
<name> is the name of the move command.<br />
<br />
Warning: You '''cannot''' use the same name from a [[define]], or the game will crash.<br />
<br />
<horizontal> is the horizontal velocity of the [[actor]]. Negative values reverse direction.<br />
<br />
<vertical> is the vertical veloctity of the [[actor]]. Negative values cause upward motion.<br />
<br />
<br />
Used inside an [[actor]], a move command is written as:<br />
<br />
'''move''' <name> <moveflags...><br />
<br />
<moveflags...> is a (possibly empty) sequence of parameters that specify certain hardcoded movement behavior.<br />
<br />
You '''cannot''' substitute <name> for a number, define, or gamevar. It has to be predefined with the first definition of move.<br />
<br />
==moveflags==<br />
<br />
Values for each <moveflag> (defined in DEFS.CON) are:<br />
<br />
{| {{prettytable}}<br />
!moveflag!!description!!internal value!!<br />
|-<br />
|faceplayer<br />
|[[actor]] faces the player.<br />
|align="right"|'''1'''<br />
|-<br />
|geth<br />
|use horizontal velocity.<br />
|align="right"|'''2'''<br />
|-<br />
|getv<br />
|use vertical velocity.<br />
|align="right"|'''4'''<br />
|-<br />
|randomangle<br />
|[[actor]] will face random direction.<br />
|align="right"|'''8'''<br />
|-<br />
|faceplayerslow<br />
|same as faceplayer, but done gradually.<br />
|align="right"|'''16'''<br />
|-<br />
|spin<br />
|spin in a clockwise circle.<br />
|align="right"|'''32'''<br />
|-<br />
|faceplayersmart<br />
|same as faceplayer, but with a slight "lead" on position.<br />
|align="right"|'''64'''<br />
|-<br />
|fleeenemy<br />
|[[actor]] faces away from the player.<br />
|align="right"|'''128'''<br />
|-<br />
|jumptoplayer<br />
|[[actor]] will move vertically and then fall as if jumping.<br />
|align="right"|'''256'''<br />
|-<br />
|seekplayer<br />
|[[actor]] will try to find the best path to the nearest player.<br />
|align="right"|'''512'''<br />
|-<br />
|furthestdir<br />
|[[actor]] faces the furthest distance from the closest player.<br />
|align="right"|'''1024'''<br />
|-<br />
|dodgebullet<br />
|[[actor]] attempts to avoid all shots directed at him. The [[actor]] will not avoid GROWSPARK.<br />
|align="right"|'''4096'''<br />
|}<br />
<br />
[[Category:Duke3D 1.3/1.5 commands]]<br />
[[Category:Sprite manipulation]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EVENT_DAMAGEHPLANE&diff=12318EVENT DAMAGEHPLANE2016-02-02T23:22:58Z<p>Mblackwell: </p>
<hr />
<div>EVENT_DAMAGEHPLANE is a [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is triggered whenever a floor or ceiling is hit by a weapon. Note that kicks don't trigger this event nor does the radius damage of the devastator.<br />
<br />
The number of the sector that was hit is stored in [[RETURN]]. When a floor is hit 131072 is added to [[RETURN]] and when a ceiling is hit 65536 is added to [[RETURN]].<br />
<br />
You can make pieces of glass fall down from the ceiling by setting [[RETURN]] to 131072, this will also play the GLASS_BREAKING sound (this does not change the [[ceilingpicnum]], you still have to do this yourself).<br />
<br />
[[Category:Events]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Cutscene_(DEF)&diff=12317Cutscene (DEF)2016-02-02T23:22:43Z<p>Mblackwell: </p>
<hr />
<div>Have you ever wanted to have a cutscene play when you start episode 1-3? You can with a few steps.<br />
<br />
First you have to define your animations with the [[DEF Language]]. In this example I have defined 3 animations in duke3d.def:<br />
<br />
cutscene START0.ANM { delay 10 }<br />
cutscene START1.ANM { delay 10 }<br />
cutscene START2.ANM { delay 10 }<br />
<br />
The cutscene command is followed by the name of the animation file to play the delay: 10 means the animation will play at 12 fps (120/10 = 12).<br />
<br />
You can play the animation using the startcutscene command which takes the number of a quote that contains the name of the animation file to play. In order to trigger the animation we have to use [[EVENT_NEWGAME]]. I have added the con code below:<br />
<br />
onevent EVENT_NEWGAME<br />
// Only trigger when we come from the skill select menu<br />
ifvare current_menu 110<br />
{<br />
switch VOLUME<br />
case 0 // episode 1<br />
redefinequote 254 START0.ANM<br />
startcutscene 254<br />
break<br />
case 1 // episode 2<br />
redefinequote 254 START1.ANM<br />
startcutscene 254<br />
break<br />
case 2 // episode 3<br />
redefinequote 254 START2.ANM<br />
startcutscene 254<br />
break<br />
endswitch<br />
}<br />
endevent<br />
<br />
This code first checks to see if current_menu is set to 110 (skill select). This is necessary because the event EVENT_NEWGAME is also fired when a saved game is loaded. After this it sets quote 254 to the name of the animation file we want to play. We do this by looking at VOLUME since that contains the number of the selected episode and redefining the quote 254 to the name of the animation we want to play for that episode.<br />
<br />
Once quote 254 is set, startcutscene is called to start the animation.<br />
<br />
Right now we only have an animation. We can add sounds by defining them in the DEF Language again:<br />
// START0.ANM<br />
// frame 1 play DUKE_LOOKINTOMIRROR<br />
// frame 50 play FLY_BY<br />
animsounds START0.ANM { 1 252 50 244 }<br />
<br />
See also:[[DEF Language]]<br />
<br />
[[Category: Tutorials]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=WEAPONx_HOLDDELAY&diff=12277WEAPONx HOLDDELAY2015-12-30T05:11:47Z<p>Mblackwell: </p>
<hr />
<div>The number of animation frames between shooting and reloading.<br />
<br />
Note: If [[WEAPONx_FLAGS|WEAPON_RESET]] is set on the weapon and [[kickback_pic]] is greater than [[WEAPONx_TOTALTIME|TOTALTIME]] - HOLDELAY, then kickback_pic is set to either 1 or 0 depending on whether the fire key is still held.<br />
[[Category:Pre-defined gamevars]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=WEAPONx_HOLDDELAY&diff=12276WEAPONx HOLDDELAY2015-12-30T05:00:20Z<p>Mblackwell: </p>
<hr />
<div>The number of animation frames between shooting and reloading.<br />
<br />
[[Category:Pre-defined gamevars]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=WEAPONx_HOLDDELAY&diff=12275WEAPONx HOLDDELAY2015-12-30T04:59:11Z<p>Mblackwell: Created page with "The number of animation frames between shooting and reloading."</p>
<hr />
<div>The number of animation frames between shooting and reloading.</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Ifp&diff=12225Ifp2015-06-16T22:00:32Z<p>Mblackwell: </p>
<hr />
<div>'''ifp''' <condition><br />
<br />
Ifp is an if statement which checks cases relative to the current player. As with all if statements, if <condition> is true it will execute the proceeding code.<br />
<br />
Ifp operates different than many if statements as it has a set of predefined valid values that simply return true or false.<br />
<br />
These values for <condition> are as follows:<br />
<br />
<br />
<br />
'''pstanding''' - Returns true if the player is standing (and not moving).<br />
<br />
'''pwalking''' - Returns true if the player is walking.<br />
<br />
'''prunning''' - Returns true if the player is running.<br />
<br />
'''pducking''' - Returns true if the player is crouching.<br />
<br />
'''pfalling''' - Returns true if the player is falling.<br />
<br />
'''pjumping''' - Returns true if the player is jumping.<br />
<br />
'''phigher''' - Returns true if the player is higher than the [[actor]] calling the code.<br />
<br />
'''pwalkingback''' - Returns true if the player is walking backwards.<br />
<br />
'''prunningback''' - Returns true if the player is running backwards.<br />
<br />
'''pkicking''' - Returns true if the player is using the kick.<br />
<br />
'''pshrunk''' - Returns true if the player is smaller than normal size.<br />
<br />
'''pjetpack''' - Returns true if the player is using the jetpack.<br />
<br />
'''ponsteroids''' - Returns true if the player is using steroids.<br />
<br />
'''ponground''' - Returns true if the player is on a solid surface (including [[sprite]] constructions).<br />
<br />
'''palive''' - Returns true if the player is alive.<br />
<br />
'''pdead''' - Returns true if the player is dead.<br />
<br />
'''pfacing''' - Returns true if the player is facing the current [[actor]].<br />
<br />
<br />
<br />
These are actually DEFed and have associated values:<br />
<br />
define pstanding 1<br />
<br />
define pwalking 2<br />
<br />
define prunning 4<br />
<br />
define pducking 8<br />
<br />
define pfalling 16<br />
<br />
define pjumping 32<br />
<br />
define phigher 64<br />
<br />
define pwalkingback 128<br />
<br />
define prunningback 256<br />
<br />
define pkicking 512<br />
<br />
define pshrunk 1024<br />
<br />
define pjetpack 2048<br />
<br />
define ponsteroids 4096<br />
<br />
define ponground 8192<br />
<br />
define palive 16384<br />
<br />
define pdead 32768<br />
<br />
define pfacing 65536<br />
<br />
<br />
[[Category:Duke3D 1.3/1.5 commands]]<br />
[[Category:Player manipulation]]<br />
[[Category:If conditions]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Ifp&diff=12224Ifp2015-06-16T22:00:23Z<p>Mblackwell: </p>
<hr />
<div>'''ifp''' <condition><br />
<br />
Ifp is an if statement which checks cases relative to the current player. As with all if statements, if <condition> is true it will execute the proceeding code.<br />
<br />
Ifp operates different than many if statements as it has a set of predefined valid values that simply return true or false.<br />
<br />
These values for <condition> are as follows:<br />
<br />
<br />
<br />
'''pstanding''' - Returns true if the player is standing (and not moving).<br />
<br />
'''pwalking''' - Returns true if the player is walking.<br />
<br />
'''prunning''' - Returns true if the player is running.<br />
<br />
'''pducking''' - Returns true if the player is crouching.<br />
<br />
'''pfalling''' - Returns true if the player is falling.<br />
<br />
'''pjumping''' - Returns true if the player is jumping.<br />
<br />
'''phigher''' - Returns true if the player is higher than the [[actor]] calling the code.<br />
<br />
'''pwalkingback''' - Returns true if the player is walking backwards.<br />
<br />
'''prunningback''' - Returns true if the player is running backwards.<br />
<br />
'''pkicking''' - Returns true if the player is using the kick.<br />
<br />
'''pshrunk''' - Returns true if the player is smaller than normal size.<br />
<br />
'''pjetpack''' - Returns true if the player is using the jetpack.<br />
<br />
'''ponsteroids''' - Returns true if the player is using steroids.<br />
<br />
'''ponground''' - Returns true if the player is on a solid surface (including [[sprite]] constructions).<br />
<br />
'''palive''' - Returns true if the player is alive.<br />
<br />
'''pdead''' - Returns true if the player is dead.<br />
<br />
'''pfacing''' - Returns true if the player is facing the current [[actor]].<br />
<br />
These are actually DEFed and have associated values:<br />
<br />
define pstanding 1<br />
<br />
define pwalking 2<br />
<br />
define prunning 4<br />
<br />
define pducking 8<br />
<br />
define pfalling 16<br />
<br />
define pjumping 32<br />
<br />
define phigher 64<br />
<br />
define pwalkingback 128<br />
<br />
define prunningback 256<br />
<br />
define pkicking 512<br />
<br />
define pshrunk 1024<br />
<br />
define pjetpack 2048<br />
<br />
define ponsteroids 4096<br />
<br />
define ponground 8192<br />
<br />
define palive 16384<br />
<br />
define pdead 32768<br />
<br />
define pfacing 65536<br />
<br />
<br />
[[Category:Duke3D 1.3/1.5 commands]]<br />
[[Category:Player manipulation]]<br />
[[Category:If conditions]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Ifp&diff=12223Ifp2015-06-16T21:59:57Z<p>Mblackwell: Temporary.</p>
<hr />
<div>'''ifp''' <condition><br />
<br />
Ifp is an if statement which checks cases relative to the current player. As with all if statements, if <condition> is true it will execute the proceeding code.<br />
<br />
Ifp operates different than many if statements as it has a set of predefined valid values that simply return true or false.<br />
<br />
These values for <condition> are as follows:<br />
<br />
<br />
<br />
'''pstanding''' - Returns true if the player is standing (and not moving).<br />
<br />
'''pwalking''' - Returns true if the player is walking.<br />
<br />
'''prunning''' - Returns true if the player is running.<br />
<br />
'''pducking''' - Returns true if the player is crouching.<br />
<br />
'''pfalling''' - Returns true if the player is falling.<br />
<br />
'''pjumping''' - Returns true if the player is jumping.<br />
<br />
'''phigher''' - Returns true if the player is higher than the [[actor]] calling the code.<br />
<br />
'''pwalkingback''' - Returns true if the player is walking backwards.<br />
<br />
'''prunningback''' - Returns true if the player is running backwards.<br />
<br />
'''pkicking''' - Returns true if the player is using the kick.<br />
<br />
'''pshrunk''' - Returns true if the player is smaller than normal size.<br />
<br />
'''pjetpack''' - Returns true if the player is using the jetpack.<br />
<br />
'''ponsteroids''' - Returns true if the player is using steroids.<br />
<br />
'''ponground''' - Returns true if the player is on a solid surface (including [[sprite]] constructions).<br />
<br />
'''palive''' - Returns true if the player is alive.<br />
<br />
'''pdead''' - Returns true if the player is dead.<br />
<br />
'''pfacing''' - Returns true if the player is facing the current [[actor]].<br />
<br />
These are actually DEFed and have associated values:<br />
<br />
define pstanding 1<br />
define pwalking 2<br />
define prunning 4<br />
define pducking 8<br />
define pfalling 16<br />
define pjumping 32<br />
define phigher 64<br />
define pwalkingback 128<br />
define prunningback 256<br />
define pkicking 512<br />
define pshrunk 1024<br />
define pjetpack 2048<br />
define ponsteroids 4096<br />
define ponground 8192<br />
define palive 16384<br />
define pdead 32768<br />
define pfacing 65536<br />
<br />
[[Category:Duke3D 1.3/1.5 commands]]<br />
[[Category:Player manipulation]]<br />
[[Category:If conditions]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Dndebug&diff=11696Dndebug2013-10-26T02:26:36Z<p>Mblackwell: Created page with "This dumps the current map state and the current CON state (including variables) to debug files. This is useful for isolating odd issues. DNDEBUG is only available in-game. Ty..."</p>
<hr />
<div>This dumps the current map state and the current CON state (including variables) to debug files. This is useful for isolating odd issues. DNDEBUG is only available in-game. Type it as you would a cheat code.</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EVENT_PREGAME&diff=11591EVENT PREGAME2013-04-14T21:56:37Z<p>Mblackwell: </p>
<hr />
<div>''' ''this page is a stub'' '''<br />
<br />
<br />
<br />
All sprites are processed in the following fashion:<br />
<br />
1. EVENT_PREGAME<br><br />
2. hardcoded stuff<br><br />
3. EVENT_GAME<br><br />
<br />
One potential use is to examine values which are clobbered by commands such as [[ifhitweapon]]/[[ifwasweapon]].</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EVENT_PREGAME&diff=11590EVENT PREGAME2013-04-14T21:54:32Z<p>Mblackwell: </p>
<hr />
<div>''this page is a stub''<br />
<br />
<br />
<br />
All sprites are processed in the following fashion:<br />
<br />
1. EVENT_PREGAME<br><br />
2. hardcoded stuff<br><br />
3. EVENT_GAME<br><br />
<br />
One potential use is to examine values which are clobbered by commands such as [[ifhitweapon]]/[[ifwasweapon]].</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EVENT_PREGAME&diff=11589EVENT PREGAME2013-04-14T21:54:15Z<p>Mblackwell: </p>
<hr />
<div>''this page is a stub''<br />
<br />
---<br />
<br />
<br />
All sprites are processed in the following fashion:<br />
<br />
1. EVENT_PREGAME<br><br />
2. hardcoded stuff<br><br />
3. EVENT_GAME<br><br />
<br />
One potential use is to examine values which are clobbered by commands such as [[ifhitweapon]]/[[ifwasweapon]].</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EVENT_PREGAME&diff=11588EVENT PREGAME2013-04-14T21:54:05Z<p>Mblackwell: </p>
<hr />
<div>''this page is a stub''<br />
<br />
----<br />
<br />
<br />
All sprites are processed in the following fashion:<br />
<br />
1. EVENT_PREGAME<br><br />
2. hardcoded stuff<br><br />
3. EVENT_GAME<br><br />
<br />
One potential use is to examine values which are clobbered by commands such as [[ifhitweapon]]/[[ifwasweapon]].</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EVENT_PREGAME&diff=11587EVENT PREGAME2013-04-14T21:53:52Z<p>Mblackwell: Created page with "''this page is a stub'' ---- All sprites are processed in the following fashion: 1. EVENT_PREGAME<br> 2. hardcoded stuff<br> 3. EVENT_GAME<br> One potential use is to exa..."</p>
<hr />
<div>''this page is a stub''<br />
<br />
----<br />
<br />
<br />
All sprites are processed in the following fashion:<br />
<br />
1. EVENT_PREGAME<br><br />
2. hardcoded stuff<br><br />
3. EVENT_GAME<br><br />
<br />
One potential use is to examine values which are clobbered by commands such as ifhitweapon/ifwasweapon.</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Event_list&diff=11586Event list2013-04-14T21:51:41Z<p>Mblackwell: </p>
<hr />
<div>{{EDuke32 Intro}}<br />
{| cellpadding="0" cellspacing="0" border="0" width="100%"<br />
| valign="top" style="border-right: none; padding: 0.6em;" |<br />
This is a list of every event in the current release of EDuke32.<br />
<br />
All [[events]] are accessed using the [[onevent]] command.<br />
| width="1%" nowrap="nowrap" valign="top" style="border-right: none; border-left: none; padding: 0.6em;" |<br />
<sup>[1]</sup> [[unsynchronized events|Unsynchronized events]]<br/><br />
<sup>[2]</sup> may recurse<br/><br />
<sup>[3]</sup> no current player set<br />
|}<br />
{| cellpadding="0" cellspacing="0" border="0" width="100%"<br />
| width="33%" valign="top" style="border-right: none; padding: 0.6em;" |<br />
Misc events<br />
*[[EVENT_INIT]]<sup>[1][3]</sup><br />
*[[EVENT_NEWGAME]]<sup>[1]</sup><br />
*[[EVENT_ENTERLEVEL]]<sup>[1][3]</sup><br />
*[[EVENT_LOADGAME]]<sup>[1]</sup><br />
*[[EVENT_SAVEGAME]]<sup>[1]</sup><br />
*[[EVENT_FAKEDOMOVETHINGS]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETBOOT]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETFIRSTAID]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETHEAT]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETHOLODUKE]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETJETPACK]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETSCUBA]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETSHIELD]]<sup>[1]</sup><br />
*[[EVENT_CHEATGETSTEROIDS]]<sup>[1]</sup><br />
*[[EVENT_SOUND]]<sup>[1][2]</sup><br />
*[[EVENT_CHANGEMENU]]<sup>[1][2]</sup><br />
<br />
Screen drawing events<br />
*[[EVENT_DISPLAYMENU]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYMENUREST]]<sup>[1]</sup><br />
*[[EVENT_GETMENUTILE]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYLOADINGSCREEN]]<sup>[1]</sup><br />
*[[EVENT_GETLOADTILE]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYBONUSSCREEN]]<sup>[1]</sup><br />
*[[EVENT_LOGO]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYSBAR]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYCROSSHAIR]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYREST]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYWEAPON]]<sup>[1]</sup><br />
*[[EVENT_DRAWWEAPON]]<sup>[1]</sup><br />
*[[EVENT_DISPLAYROOMS]]<sup>[1]</sup><br />
<br />
| width="33%" valign="top" style="border-right: none; border-left: none; padding: 0.6em;" |<br />
Actor controlling events<br />
*[[EVENT_LOADACTOR]]<sup>[3]</sup><br />
*[[EVENT_EGS]]<sup>[2]</sup><br />
*[[EVENT_SPAWN]]<sup>[2]</sup><br />
*[[EVENT_GAME]]<br />
*[[EVENT_PREGAME]]<br />
*[[EVENT_KILLIT]]<sup>[2]</sup><br />
*[[EVENT_ANIMATESPRITES]]<sup>[1]</sup><br />
<br />
Player controlling events<br />
*[[EVENT_RESETPLAYER]]<br />
*[[EVENT_RESETWEAPONS]]<br />
*[[EVENT_RESETINVENTORY]]<br />
*[[EVENT_INCURDAMAGE]]<br />
*[[EVENT_FIREWEAPON]]<br />
*[[EVENT_DOFIRE]]<br />
*[[EVENT_GETSHOTRANGE]]<br />
*[[EVENT_GETAUTOAIMANGLE]]<br />
*[[EVENT_CHANGEWEAPON]]<br />
*[[EVENT_WEAPKEY1]]<br />
*[[EVENT_WEAPKEY2]]<br />
*[[EVENT_WEAPKEY3]]<br />
*[[EVENT_WEAPKEY4]]<br />
*[[EVENT_WEAPKEY5]]<br />
*[[EVENT_WEAPKEY6]]<br />
*[[EVENT_WEAPKEY7]]<br />
*[[EVENT_WEAPKEY8]]<br />
*[[EVENT_WEAPKEY9]]<br />
*[[EVENT_WEAPKEY10]]<br />
*[[EVENT_INVENTORY]]<br />
*[[EVENT_INVENTORYLEFT]]<br />
*[[EVENT_INVENTORYRIGHT]]<br />
*[[EVENT_PROCESSINPUT]]<br />
*[[EVENT_CHECKTOUCHDAMAGE]]<br />
*[[EVENT_CHECKFLOORDAMAGE]]<br />
<br />
| width="33%" valign="top" style="border-left: none; padding: 0.6em;" |<br />
Keyboard controlling events<br />
*[[EVENT_USE]]<br />
*[[EVENT_MOVEFORWARD]]<br />
*[[EVENT_MOVEBACKWARD]]<br />
*[[EVENT_STRAFELEFT]]<br />
*[[EVENT_STRAFERIGHT]]<br />
*[[EVENT_TURNLEFT]]<br />
*[[EVENT_TURNRIGHT]]<br />
*[[EVENT_TURNAROUND]]<br />
*[[EVENT_LOOKLEFT]]<br />
*[[EVENT_LOOKRIGHT]]<br />
*[[EVENT_AIMUP]]<br />
*[[EVENT_AIMDOWN]]<br />
*[[EVENT_LOOKUP]]<br />
*[[EVENT_LOOKDOWN]]<br />
*[[EVENT_RETURNTOCENTER]]<br />
*[[EVENT_JUMP]]<br />
*[[EVENT_CROUCH]]<br />
*[[EVENT_SOARUP]]<br />
*[[EVENT_SOARDOWN]]<br />
*[[EVENT_SWIMUP]]<br />
*[[EVENT_SWIMDOWN]]<br />
*[[EVENT_SELECTWEAPON]]<br />
*[[EVENT_FIRE]]<br />
*[[EVENT_QUICKKICK]]<br />
*[[EVENT_HOLSTER]]<br />
*[[EVENT_USEMEDKIT]]<br />
*[[EVENT_USESTEROIDS]]<br />
*[[EVENT_HOLODUKEON]]<br />
*[[EVENT_HOLODUKEOFF]]<br />
*[[EVENT_USEJETPACK]]<br />
*[[EVENT_USENIGHTVISION]]<br />
|}<br />
<br />
[[Category:Event manipulation]]<br />
[[Category:Scripting documentation]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Polymer_Deficiencies&diff=11514Polymer Deficiencies2013-02-17T03:04:25Z<p>Mblackwell: </p>
<hr />
<div>This is a list of problems in the Polymer renderer that need to be fixed.<br />
[[Plagman]] is master of everything Polymer.<br />
<br />
*certain major optimizations remain to be done (the sole issue is lack of time)<br />
*implement new sky support; would solve:<br />
**limited to one skybox<br />
**level geometry is displayed through skyboxes when it should not<br />
**[[showview]] command does not work<br />
*no voxel support<br />
*doesn't save known good geometry in savegames for use as a fallback when map effects become corrupt, revealing errors that otherwise would be avoided<br />
*not hooked up to [[User:TX|TX]]'s Sector Effector-based [[ROR]] (which remains useful for retrofitting existing maps)<br />
*polymer does not modify roll when transforming HUD models during changes to rotscrnang (per polymost).</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Statnum&diff=11500Statnum2013-01-29T23:47:33Z<p>Mblackwell: </p>
<hr />
<div>Statnums are used by the game internally to see whether something is an actor, player, projectile, etc, and then process it appropriately.<br />
<br />
{| {{prettytable}}<br />
!Name!!Number!!Description!!<br />
|-<br />
|STAT_DEFAULT<br />
|align="right"|'''0'''<br />
|Sprites that are not defined by the CON code as actors, and are not projectiles, etc, have a statnum of 0. (i.e. the floor texture sprites used to make up a sprite bridge)<br />
|-<br />
|STAT_ACTOR<br />
|align="right"|'''1'''<br />
|Actors. Sprites with a statnum of 1 will execute the actor code that applies to their tile number in the CON scripts.<br />
|-<br />
|STAT_ZOMBIEACTOR<br />
|align="right"|'''2'''<br />
|Sleepers. Sprites taking a break from code execution (e.g. a Pig Cop that has been left alone for long enough will revert to statnum 2, only waking up and going back to statnum 1 upon seeing the player again)<br />
|-<br />
|STAT_EFFECTOR<br />
|align="right"|'''3'''<br />
|<br />
|-<br />
|STAT_PROJECTILE<br />
|align="right"|'''4'''<br />
|Projectiles. This includes hardcoded projectiles like RPG, FREEZEBLAST, and SHRINKSPARK, as well as [[defineprojectile|custom projectiles]]. It does not include hitscan projectiles (bullets), since those are not sprites that exist in the game world. (SHOTSPARK1, the sprite spawned by bullets, is not itself a projectile.)<br />
|-<br />
|STAT_MISC<br />
|align="right"|'''5'''<br />
|<br />
|-<br />
|STAT_STANDABLE<br />
|align="right"|'''6'''<br />
|On spawn, the following sprites have statnum 6: BOLT1+, SIDEBOLT1+, VIEWSCREEN, VIEWSCREEN2, CRANE, TRASH, WATERDRIP, WATERDRIPSPLASH, PLUG, WATERBUBBLEMAKER, MASTERSWITCH, DOORSHOCK, TREE1, TREE2, TIRE, CONE, BOX, FLOORFLAME, CEILINGSTEAM, OOZFILTER, CRACK1-CRACK4, FIREEXT, TOILETWATER.<br />
<br />
A few other ones become STANDABLE on seeing the player (changing from ZOMBIEACTOR): RUBBERCAN, EXPLODINGBARREL, WOODENHORSE, HORSEONSIDE, CANWITHSOMETHING, CANWITHSOMETHING2-4, FIREBARREL, FIREVASE, NUKEBARREL, NUKEBARRELDENTED, NUKEBARRELLEAKED, TRIPBOMB.<br />
|-<br />
|STAT_LOCATOR<br />
|align="right"|'''7'''<br />
|<br />
|-<br />
|STAT_ACTIVATOR<br />
|align="right"|'''8'''<br />
|<br />
|-<br />
|STAT_TRANSPORT<br />
|align="right"|'''9'''<br />
|<br />
|-<br />
|STAT_PLAYER<br />
|align="right"|'''10'''<br />
|Player and Holoduke<br />
|-<br />
|STAT_FX<br />
|align="right"|'''11'''<br />
|RESPAWN, MUSICANDSFX<br />
|-<br />
|STAT_FALLER<br />
|align="right"|'''12'''<br />
|Decorative sprites that have a nonzero hitag to make them destructible are assigned to the FALLER statnum.<br />
|-<br />
|STAT_DUMMYPLAYER<br />
|align="right"|'''13'''<br />
|<br />
|-<br />
|STAT_LIGHT<br />
|align="right"|'''14'''<br />
|<br />
|-<br />
|STAT_MIRROREDACTOR<br />
|align="right"|'''100'''<br />
|A [[Members of the tsprite structure|tspr]] will have this when it is part of a mirror reflection.<br />
|-<br />
|MAXSTATUS<br />
|align="right"|'''1024'''<br />
|A sprite id with this statnum is invalid, meaning that it has been deleted or just never existed in the map.<br />
|}<br />
<br />
Unassigned status numbers are reserved for future EDuke32 features. Please ask the developers to allocate an official user statnum range for CON-side features, should this be desired.<br />
<br />
[[Category:Sprite structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Statnum&diff=11499Statnum2013-01-29T22:20:02Z<p>Mblackwell: Please edit this to be correct</p>
<hr />
<div>Statnums are used by the game internally to see whether something is an actor, player, projectile, etc, and then process it appropriately.<br />
<br />
{| {{prettytable}}<br />
!Name!!Number!!Description!!<br />
|-<br />
|STAT_DEFAULT<br />
|align="right"|'''0'''<br />
|Sprites that are not defined by the CON code as actors, and are not projectiles, etc, have a statnum of 0. (i.e. the floor texture sprites used to make up a sprite bridge)<br />
|-<br />
|STAT_ACTOR<br />
|align="right"|'''1'''<br />
|Actors. Sprites with a statnum of 1 will execute the actor code that applies to their tile number in the CON scripts.<br />
|-<br />
|STAT_ZOMBIEACTOR<br />
|align="right"|'''2'''<br />
|Sleepers. Sprites taking a break from code execution (e.g. a Pig Cop that has been left alone for long enough will revert to statnum 2, only waking up and going back to statnum 1 upon seeing the player again)<br />
|-<br />
|STAT_EFFECTOR<br />
|align="right"|'''3'''<br />
|<br />
|-<br />
|STAT_PROJECTILE<br />
|align="right"|'''4'''<br />
|Projectiles. This includes hardcoded projectiles like RPG, FREEZEBLAST, and SHRINKSPARK, as well as [[defineprojectile|custom projectiles]]. It does not include hitscan projectiles (bullets), since those are not sprites that exist in the game world. (SHOTSPARK1, the sprite spawned by bullets, is not itself a projectile.)<br />
|-<br />
|STAT_MISC<br />
|align="right"|'''5'''<br />
|<br />
|-<br />
|STAT_STANDABLE<br />
|align="right"|'''6'''<br />
|On spawn, the following sprites have statnum 6: BOLT1+, SIDEBOLT1+, VIEWSCREEN, VIEWSCREEN2, CRANE, TRASH, WATERDRIP, WATERDRIPSPLASH, PLUG, WATERBUBBLEMAKER, MASTERSWITCH, DOORSHOCK, TREE1, TREE2, TIRE, CONE, BOX, FLOORFLAME, CEILINGSTEAM, OOZFILTER, CRACK1-CRACK4, FIREEXT, TOILETWATER.<br />
<br />
A few other ones become STANDABLE on seeing the player (changing from ZOMBIEACTOR): RUBBERCAN, EXPLODINGBARREL, WOODENHORSE, HORSEONSIDE, CANWITHSOMETHING, CANWITHSOMETHING2-4, FIREBARREL, FIREVASE, NUKEBARREL, NUKEBARRELDENTED, NUKEBARRELLEAKED, TRIPBOMB.<br />
|-<br />
|STAT_LOCATOR<br />
|align="right"|'''7'''<br />
|<br />
|-<br />
|STAT_ACTIVATOR<br />
|align="right"|'''8'''<br />
|<br />
|-<br />
|STAT_TRANSPORT<br />
|align="right"|'''9'''<br />
|<br />
|-<br />
|STAT_PLAYER<br />
|align="right"|'''10'''<br />
|Player and Holoduke<br />
|-<br />
|STAT_FX<br />
|align="right"|'''11'''<br />
|RESPAWN, MUSICANDSFX<br />
|-<br />
|STAT_FALLER<br />
|align="right"|'''12'''<br />
|Decorative sprites that have a nonzero hitag to make them destructible are assigned to the FALLER statnum.<br />
|-<br />
|STAT_DUMMYPLAYER<br />
|align="right"|'''13'''<br />
|<br />
|-<br />
|STAT_LIGHT<br />
|align="right"|'''14'''<br />
|<br />
|-<br />
|STAT_MIRROREDACTOR<br />
|align="right"|'''100'''<br />
|<br />
|-<br />
|MAXSTATUS<br />
|align="right"|'''1024'''<br />
|A sprite id with this statnum is invalid, meaning that it has been deleted or just never existed in the map.<br />
|}<br />
<br />
Unassigned status numbers are reserved for future EDuke32 features. Please ask the developers to allocate an official user statnum range for CON-side features, should this be desired.<br />
<br />
[[Category:Sprite structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Movesprite&diff=11495Movesprite2013-01-20T03:30:41Z<p>Mblackwell: </p>
<hr />
<div>'''movesprite''' <[[sprite id]]> <xvel> <yvel> <zvel> <[[clipmask]]> <returnvar><br />
<br />
''This page is a incomplete. Please help us by filling in additional information.''<br />
<br />
movesprite allows a modder to move an [[actor]] along an arbitrary x, y, or z velocity and adjust the [[clipmask]] used, thereby changing what the actor will collide with. The variable <returnvar> will be either 0 or the id of what was hit. This is sectioned by different areas of the struct. Add 16384 to <returnvar> to get the result of the sprite structure member that may have been hit for example.<br />
<br />
'''Critical notes:''' It is possible that <zvel> will be non-functional unless "fall" is called immediately before movesprite. Also movesprite and [[move]] commands do not mix well. You are likely to get unintended results.<br />
<br />
[[Category:EDuke32 specific commands]]<br />
[[Category:Sprite manipulation]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Autostep_sbw&diff=11282Autostep sbw2012-10-29T04:37:54Z<p>Mblackwell: </p>
<hr />
<div>'''''autostep_sbw''''' is the maximum height at which a player will "step" on to an above water [[sector]] ([[lotag]] 1) or floor aligned [[sprite]] ([[cstat]] 32) please see [[autostep_sbw]]. The default value is 1024. For normal sectors and view/wall aligned sprites please see [[autostep]].<br />
<br />
[[Category:Player structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Autostep_sbw&diff=11281Autostep sbw2012-10-29T04:36:22Z<p>Mblackwell: Created page with "'''''autostep_sbw''''' is the maximum height at which a player will "step" on to an above water sector (lotag 1) or floor aligned sprite (cstat 32) please see ..."</p>
<hr />
<div>'''''autostep_sbw''''' is the maximum height at which a player will "step" on to an above water [[sector]] ([[lotag]] 1) or floor aligned [[sprite]] ([[cstat]] 32) please see [[autostep_sbw]]. For normal sectors and view/wall aligned sprites please see [[autostep]].<br />
<br />
[[Category:Player structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Autostep&diff=11280Autostep2012-10-29T04:36:19Z<p>Mblackwell: Created page with "'''''autostep''''' is the maximum height at which a player will "step" on to a surface. The default value is 5120. Note that autostep applies to view/wall aligned sprites ..."</p>
<hr />
<div>'''''autostep''''' is the maximum height at which a player will "step" on to a surface. The default value is 5120. Note that autostep applies to view/wall aligned [[sprite]]s and regular [[sector]]s. For above water sectors ([[lotag]] 1) and floor aligned sprites ([[cstat]] 32) please see [[autostep_sbw]].<br />
<br />
[[Category:Player structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Runkey_mode&diff=11256Runkey mode2012-10-14T18:35:54Z<p>Mblackwell: Created page with "When this is set to 1, walking is disabled while auto_run is TRUE. When auto_run is 0, or this runkey_mode is 0 the player may toggle walk/run (SHIFT by default). [[Cat..."</p>
<hr />
<div>When this is set to 1, walking is disabled while [[auto_run]] is TRUE. <br />
<br />
When auto_run is 0, or this runkey_mode is 0 the player may toggle walk/run (SHIFT by default).<br />
<br />
[[Category:Userdef structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Members_of_the_userdef_structure&diff=11255Members of the userdef structure2012-10-14T18:33:06Z<p>Mblackwell: </p>
<hr />
<div><div style="column-count:3;-moz-column-count:3;"><br />
*[[althud]]<br />
*[[angleinterpolation]]<br />
*[[automsg]]<br />
*[[auto_run]]<br />
*[[autovote]]<br />
*[[brightness]]<br />
*[[camerasprite]]<br />
*[[camera_time]]<br />
*[[cashman]]<br />
*[[clipping]]<br />
*[[color]]<br />
*[[const_visibility]]<br />
*[[coop]]<br />
*[[coords]]<br />
*[[crosshair]]<br />
*[[crosshairscale]]<br />
*[[deathmsgs]]<br />
*[[democams]]<br />
*[[detail]]<br />
*[[display_bonus_screen]]<br />
*[[drawweapon]]<br />
*[[entered_name]]<br />
*[[eog]]<br />
*[[executions]]<br />
*[[ffire]]<br />
*[[fola]]<br />
*[[folavel]]<br />
*[[folfvel]]<br />
*[[folx]]<br />
*[[foly]]<br />
*[[from_bonus]]<br />
*[[fta_on]]<br />
*[[god]]<br />
*[[idplayers]]<br />
*[[last_camsprite]]<br />
*[[last_level]]<br />
*[[last_overhead]]<br />
*[[level_number]]<br />
*[[levelstats]]<br />
*[[lockout]]<br />
*[[marker]]<br />
*[[m_coop]]<br />
*[[m_ffire]]<br />
*[[m_level_number]]<br />
*[[m_marker]]<br />
*[[m_monsters_off]]<br />
*[[m_noexits]]<br />
*[[monsters_off]]<br />
*[[mouseaiming]]<br />
*[[mouseflip]]<br />
*[[m_player_skill]]<br />
*[[m_recstat]]<br />
*[[m_respawn_inventory]]<br />
*[[m_respawn_items]]<br />
*[[m_respawn_monsters]]<br />
*[[msgdisptime]]<br />
*[[multimode]]<br />
*[[m_volume_number]]<br />
*[[noexits]]<br />
*[[obituaries]]<br />
*[[overhead_on]]<br />
*[[pause_on]]<br />
*[[playerai]]<br />
*[[player_skill]]<br />
*[[pwlockout]]<br />
*[[reccnt]]<br />
*[[recstat]]<br />
*[[respawn_inventory]]<br />
*[[respawn_items]]<br />
*[[respawn_monsters]]<br />
*[[ridecule]]<br />
*[[rtsname;]]<br />
*[[runkey_mode]]<br />
*[[savegame]]<br />
*[[screen_size]]<br />
*[[screen_tilting]]<br />
*[[scrollmode]]<br />
*[[secretlevel]]<br />
*[[shadows]]<br />
*[[showallmap]]<br />
*[[show_help]]<br />
*[[show_level_text]]<br />
*[[showweapons]]<br />
*[[statusbarmode]]<br />
*[[statusbarscale]]<br />
*[[team]]<br />
*[[textscale]]<br />
*[[tickrate]]<br />
*[[user_name]]<br />
*[[uw_framerate]]<br />
*[[viewbob]]<br />
*[[volume_number]]<br />
*[[warp_on]]<br />
*[[wchoice]]<br />
*[[weaponscale]]<br />
*[[weaponsway]]<br />
*[[weaponswitch]]<br />
</div><br />
<br />
[[Category:Structure member documentation]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Build/Mapster32_Keyboard_Commands&diff=10402Build/Mapster32 Keyboard Commands2012-03-17T06:42:07Z<p>Mblackwell: </p>
<hr />
<div>== 3D Mode: Mouse ==<br />
The purpose of mouse in 3D mode is pointing at some objects in a map and looking around ('''F3''' toggles mouse look).<br><br />
<br />
Mouse pointer always points (see info about it at the bottom of the screen) at one of these objects:<br><br />
# wall<br />
# ceiling of sector<br />
# floor of sector<br />
# sprite<br />
# masked wall (non-transparent or semi-transparent wall between sectors)<br />
<br />
It's important to understand this concept:<br><br />
Some commands work differently depending on the current object (the object the mouse points at).<br><br />
Some commands manipulate only the current object, some commands manipulate the selected (also called "highlighted") sprites/sectors in 2D mode, and some commands work globally.<br><br />
<br />
====Mouse buttons====<br />
'''LEFT''' lock the current object. The current object won't be changing as long as the button is pressed.<br><br />
'''WHEEL''' change shade ('''+CTRL''': in increments of 4)<br><br />
'''WHEEL+ALT''' change visibility<br><br />
'''LEFT+WHEEL''' change tile<br><br />
'''RIGHT+WHEEL''' move object up/down<br><br />
'''MIDDLE''' temporary mouse look (when not in UnrealEd-style mouse mode)<br><br />
<br />
Additionally, there is UnrealEd-style mouse navigation in 3D mode (toggle it with '''F5'''), with the following bindings:<br><br />
'''RIGHT''' mouse look<br><br />
'''LEFT''' x: turning, y: move forward/back<br><br />
'''LEFT+RIGHT''' x: strafe left/right, y: move up/down<br><br />
'''MIDDLE''' y: move in viewing direction<br><br />
The console variable ''pk_uedaccel'' changes the speed of navigation exponentially (valid values are 0-5).<br><br />
<br />
It is possible to move around objects using the mouse and holding down specific modifier keys:<br><br />
'''LEFT+ALT''' move object up/down ('''+CTRL''': in larger increments)<br><br />
'''LEFT+SHIFT''' move sprite in horizontal plane ('''+CTRL''': grid-aligned)<br><br />
The two preceding controls also work on a set of sprites highlighted in 2D mode.<br><br />
'''LEFT+SHIFT''' pan ceiling/floor/wall texture<br><br />
'''LEFT+CTRL''' scale wall texture or size of sprite<br><br />
'''LEFT+CTRL''' change slope of floor/ceiling<br><br />
<br />
== 3D Mode: Selecting Tile Mode ==<br />
After pressing the '''V''' key in 3D mode, Mapster32 switches to "select tile" mode.<br><br />
<br />
====Keys====<br />
'''UP/DOWN/LEFT/RIGHT/PGUP/PGDN/HOME/END''' movements ('''CTRL''' modifies some commands)<br><br />
'''KP /''' zoom in<br><br />
'''KP *''' zoom out<br><br />
'''Z''' toggle tile zoom<br><br />
<br />
'''G''' goto specified tile<br><br />
'''U''' goto start of user defined art (3584)<br><br />
'''A''' goto start of Atomic edition's art (4096)<br><br />
'''E''' goto start of extended art (6144,9216)<br><br />
<br />
'''S''' Search for a named tile. When ^ is entered as the first character, anchor string at the beginning.<br />
<br />
'''V''' select from all tiles<br><br />
'''T''' select from pre-defined tile group which can be edited in tiles.cfg or added from within the tile selector. For this, press '''SPACE''' on the tiles to be grouped ('''CTRL-SPACE''' to select a range from starting from the last selection with '''SPACE'''). When you're ready, press '''Ctrl-G''' and you'll be queried for a group hotkey and name. The new tile group should now be saved persistently in tiles.cfg.<br><br />
<br />
'''ESC''' cancel<br><br />
'''ENTER''' accept<br><br />
<br />
====Mouse====<br />
'''LEFT''' select<br><br />
'''CTRL+WHEEL''' zoom<br><br />
'''WHEEL''' scroll<br><br />
'''RIGHT''' smooth scrolling<br><br />
<br />
== 3D Mode: Keys ==<br />
'''UP''' move forward<br><br />
'''DOWN''' move backward<br><br />
'''LEFT+RCTRL''' move left<br><br />
'''RIGHT+RCTRL''' move right<br><br />
'''A''' move up<br><br />
'''Z''' move down<br><br />
'''+LSHIFT''' speed up movements<br><br />
<br />
'''LEFT''' turn left<br><br />
'''RIGHT''' turn right<br><br />
'''A+CTRL''' look down<br><br />
'''Z+CTRL''' look up<br><br />
<br />
'''F1''' toggle help<br><br />
'''F3''' toggle mouselook<br><br />
'''F4''' toggle ambience sounds<br><br />
'''F5''' toggle UnrealEd-style mouse navigation<br><br />
'''F6''' toggle automatic SECTOREFFECTOR help<br><br />
'''F7''' toggle automatic sector tag help<br><br />
'''F9''' load and activate/deactivate maphacks<br><br />
'''F11''' brightness<br><br />
'''F12''' screenshot<br><br />
'''F12+SHIFT''' inverted screenshot<br><br />
<br />
'''' V''' set sector visibility<br><br />
'''; V''' set sector visibility on all selected sectors<br><br />
'''V''' choose tile<br><br />
'''3''' toggle Sector over Sector. See documentation here: http://www.users.on.net/~triforce/cduke3d/<br><br />
'''' BACKSPACE''' clear all flags for wall/sprite<br><br />
'''BACKSPACE''' clear nextwall ("red wall") link for aimed at wall<br><br />
'''' P''' paste palette to all selected sectors<br><br />
'''; P''' paste palette to all selected sectors & sprites<br><br />
<br />
'''S''' insert sprite<br><br />
'''DEL''' delete sprite<br><br />
''',''' rotate sprite<br><br />
'''.''' rotate sprite<br><br />
'''<''' slowly rotate sprite<br><br />
'''>''' slowly rotate sprite<br><br />
<br />
'''.''' (period): search & fix panning of the wall to the right, has 4 modifiers:<br><br />
'''+CTRL''': recurse nextwalls<br><br />
'''+SHIFT''': don't iterate point2's, i.e. affect only the immediate neighbor<br><br />
'''+ALT''': copy over pixel width<br><br />
'''+'''' (quote): align immediate upper and lower TROR neighbors<br><br />
<br />
'''SPACE''' lock to object (same as left mouse button)<br><br />
'''PGUP/PGDN+ALT''' 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<br><br />
<br />
'''CAPS LOCK''' cycle zmode<br><br />
'''' Z''' cycle zmode<br><br />
'''' L''' change the coordinates of the current object<br><br />
'''' M''' set the extra of the current object<br><br />
'''1''' toggle one sided sprite/wall<br><br />
'''2''' toggle bottom wall swapping<br><br />
'''O''' set top or bottom orientation of wall<br><br />
'''O''' ornament sprite onto wall<br><br />
'''M''' toggle masking wall<br><br />
'''H''' toggle hitscan sensitivity<br><br />
'''H+SHIFT''' toggle one side hitscan sensitivity for the wall<br><br />
'''' H''' set hitag of the current object<br><br />
<br />
'''KP_MINUS''' shades down individual sector/wall/sprite or selected sectors<br><br />
'''KP_MINUS+ALT''' decreases visibility of sector or selected sectors<br><br />
'''KP_MINUS+ALT+SHIFT''' slowly decreases visibility of sector or selected sectors<br><br />
'''KP_MINUS+ALT+CTRL''' decreases global visibility<br><br />
'''KP_PLUS''' shades up individual sector/wall/sprite or selected sectors<br><br />
'''KP_PLUS+ALT''' increases visibility of sector or selected sectors<br><br />
'''KP_PLUS+ALT+SHIFT''' slowly increases visibility of sector or selected sectors<br><br />
'''KP_PLUS+ALT+CTRL''' increases global visibility<br><br />
Note: '''ALT, CTRL, SHIFT''' are modifiers so they work with mouse too.<br><br />
<br />
'''PLUS/MINUS''' cycle tile<br><br />
'''E''' toggle sector texture expansion<br><br />
'''R''' toggle sector texture relativity alignment<br><br />
'''R''' cycle sprite aligment between: wall aligned, floor aligned, view aligned<br><br />
'''' R''' toggle framerate<br><br />
'''F''' flip the current object<br><br />
'''F+ALT''' set the first wall of sector<br><br />
<br />
'''PAGE UP''' move up selected sprites or sectors<br><br />
'''PAGE DN''' move down selected sprites or sectors<br><br />
'''PAGE UP+CTRL''' put selected sprites on ceiling<br><br />
'''PAGE DN+CTRL''' put selected sprites on ground<br><br />
'''+CTRL''' speed up movement<br><br />
'''+END''' slow down movement<br><br />
'''+HOME''' slow down movement even more<br><br />
Note: '''CTRL, HOME, END''' are modifiers so they work with mouse too.<br><br />
<br />
'''N''' toggle 'no-autoshade'-bit of sprite<br><br />
'''' I''' toggle sprite invisibility<br><br />
'''' D''' cycle skill level<br><br />
'''' X''' toggle sprite shade and SE light effect preview<br><br />
'''' W''' toggle sprite display by class (no effectors/actors)<br><br />
'''' Y''' toggle purple background<br><br />
'''' C''' 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. (I hope somebody who understands this, will clarify this)<br><br />
'''' T''' set lotag<br><br />
'''' H''' set hitag<br><br />
'''' S''' set shade<br><br />
'''G''' set picnum<br><br />
'''B''' toggle blocking<br><br />
'''B+SHIFT''' toggle one side blocking for the wall<br><br />
'''T''' cycles translucence for sprites/masked walls (and ceilings/floors for ROR)<br><br />
<br />
'''F2''' toggle clipboard preview<br><br />
'''F2+SHIFT''' toggle current sprite preview<br><br />
'''TAB''' copy to the clipboard<br><br />
'''LENTER+CTRL+SHIFT''' autoshade wall<br><br />
'''' LENTER''' paste picnum only<br><br />
'''LENTER+SHIFT''' paste some visual (shading+pal) properties of the clipboard on sector/wall/sprite<br><br />
'''LENTER+CTRL''' paste some visual (picnum+shading+pal) properties of the clipboard on sector/wall/sprite<br><br />
'''LENTER''' paste all (picnum+shading+pal+flags+tags+extra) properties of the clipboard on sector/wall/sprite<br><br />
Note: some fields are only pasted if the type of 'thing' in the clipboard (wall/sprite/sector) equals that of the aimed at object<br><br />
<br />
'''C''' toggle center sprite<br><br />
'''ALT+C''' replace all tiles in the map with one from the clipboard<br><br />
<br />
'''' A''' toggle autosave. The interval is configurable (default: every 3 minutes)<br><br />
<br />
'''' N''' toggle noclip for the camera<br><br />
'''N+CTRL''' toggle noclip for sprites<br><br />
<br />
'''[''' slopes up fast<br><br />
'''[+RSHIFT''' slope up with medium speed<br><br />
'''[+LSHIFT''' slope up slowly<br><br />
'''[+ALT''' align slope to the floor of adjoining sector<br><br />
''']''' slope down fast<br><br />
''']+RSHIFT''' slope down with medium speed<br><br />
''']+LSHIFT''' slope down slowly<br><br />
''']+ALT''' align slope to the ceiling of adjoining sector<br><br />
<br />
'''KP_4''' panning floor/ceiling horizontally<br><br />
'''KP_6''' panning floor/ceiling horizontally<br><br />
'''KP_2''' panning floor/ceiling vertically<br><br />
'''KP_8''' panning floor/ceiling vertically<br><br />
'''KP_4''' scaling wall/sprite horizontally<br><br />
'''KP_6''' scaling wall/sprite horizontally<br><br />
'''KP_2''' scaling wall/sprite vertically<br><br />
'''KP_8''' scaling wall/sprite vertically<br><br />
'''+SHIFT''' or '''+ALT''' force panning (for walls); the latter is an alternative if Shift-KP5-KP*-combinations are dead.<br><br />
'''+KP_5''' speed up<br><br />
<br />
'''/''' Reset panning, repeat and flags to defaults<br><br />
'''/+SHIFT''' set xrepeat to yrepeat (makes square)<br><br />
<br />
'''P''' enable/disable parallax<br><br />
<span style="color:grey">'''P+CTRL''' change parallax type (works only in classic render)<br></span><br />
'''P+CTRL''' Playtest map from current position<br><br />
'''P+ALT+CTRL''' Playtest map from start position<br><br />
'''P+ALT''' change pal of sector/wall/sprite<br><br />
'''D+ALT''' adjust clip distance of the sprite<br><br />
'''RENTER''' switch to 2D mode<br><br />
<br />
'''S+CTRL''' save map<br><br />
'''L+CTRL''' load last saved map<br><br />
<br />
'''ESC''' quit<br><br />
<br />
== 2D Mode: Mouse ==<br />
The purpose of mouse in 2D mode is pointing, selecting, moving object in a map.<br />
<br />
Every time mouse is pointing at one of these:<br><br />
# Nothing<br />
# Sector<br />
# Sector and wall<br />
# Sector and sprite<br />
# Wall (wall without sector - map is corrupt)<br />
# Sprite (sprite without sector - map is corrupt)<br />
<br />
Some commands work differently depending on the current object (the object the mouse points at).<br> To solve the ambiguity between sectors and walls/sprites, one usually must press ALT to work with walls/sprites instead of sectors.<br><br />
<br />
===='''RSHIFT''' (select vertices/sprites) modifiers====<br />
* ''';''': set difference<br><br />
* ''' ' ''' (quote character): set union<br><br />
(note that they have to be depressed when '''RSHIFT''' is ''released'')<br><br />
* '''RCTRL''' select only sprites (not walls)<br />
* '''END''' select from all sectors, even grayed out ones<br />
<br><br />
===='''RALT''' (select sectors) modifiers====<br />
* ''';''': set difference<br><br />
* ''' ' ''' (quote character): set union<br><br />
(note that they have to be depressed when '''RALT''' is ''released'')<br><br />
* when '''RCTRL''' is pressed at '''RALT''' release time, then for a sector to be selected, it must be "inside" the mouse pointer instead of being surrounded by the rectangle<br><br />
* when holding '''RSHIFT''', will select all sectors, even grayed out ones<br><br />
See TROR section for '''HOME''' and '''END''' modifiers.<br />
<br><br />
<br><br />
'''WHEEL''' zoom<br><br />
'''WHEEL+ALT''' move camera and zoom<br><br />
'''LEFT BUTTON''' drag sectors/vertices/sprites<br><br />
'''RIGHT BUTTON''' move camera<br><br />
'''RIGHT MIDDLE''' move camera<br><br />
<br />
== 2D Mode: Keys ==<br />
'''F1''' show help<br><br />
'''F2''' show sound index<br><br />
'''F3''' enter/quit side-view mode<br><br />
'''in side-view mode:'''<br><br />
* '''Q''', '''W''': orbit around center<br />
* '''A''', '''Z''': change azimuth<br />
* '''MMB''': change "player" z<br />
* '''RMB''': change "player" x/y<br />
'''F4''' toggle first wall preview<br><br />
'''F5''' show item count<br><br />
'''F6''' show actor count when pointed at wall<br><br />
'''F6''' show Sector Effector help when pointed at sprite<br><br />
'''F7''' edit sector data<br><br />
'''F8''' edit wall/sprite data<br><br />
'''F9''' show the Sector Tags help<br><br />
'''F12''' screenshot<br><br />
'''F12+SHIFT''' inverted screenshot<br><br />
<br />
'''SCROLL LOCK''' set starting position<br><br />
<br />
'''LSHIFT''' show coordinates<br><br />
'''M''' set extra of sector<br><br />
'''M+ALT''' set extra of wall/sprite<br><br />
'''/''' Reset panning, repeat and flags to defaults<br><br />
'''/+SHIFT''' set xrepeat to yrepeat (makes square)<br><br />
<br />
'''KP_4''' scaling sprite horizontally<br><br />
'''KP_6''' scaling sprite horizontally<br><br />
'''KP_2''' scaling sprite vertically<br><br />
'''KP_8''' scaling sprite vertically<br><br />
'''+KP_5''' speed up<br><br />
<br><br />
'''R''' cycle sprite alignment<br><br />
'''' S''' set sprite size<br><br />
'''' F''' function menu<br><br />
'''F7+ALT''' search sector lotag<br><br />
'''F8+ALT''' on wall: search wall lotag<br><br />
'''F8+ALT''' on sprite: generic sprite search<br><br />
'''[''' search backward<br><br />
''']''' search forward<br><br />
'''G''' cycle grid size<br><br />
'''G+SHIFT''' cycle grid size backward<br><br />
'''' L''' set sprite/wall coordinates<br><br />
'''' 3''' cycle modes of showing object's name<br><br />
'''' 7''' swap lotag and hitag of wall/sprite<br><br />
'''' J''' jump to position (asks for sector/wall/sprite, or x,y)<br><br />
<br />
'''[+ALT''' goto previous corruption<br><br />
''']+ALT''' goto next corruption<br><br />
<br />
'''X''' flip selected sectors in x<br><br />
'''Y''' flip selected sectors in y<br><br />
'''X+ALT''' mirror selected sectors in x<br><br />
'''Y+ALT''' mirror selected sectors in y<br><br />
<br />
'''B''' toggle blocking<br><br />
'''B+SHIFT''' toggle one side blocking for wall<br><br />
'''F+ALT''' set the first wall of sector<br><br />
'''O''' ornament sprite onto wall<br><br />
<br />
''',''' rotate sprite/selected sectors<br><br />
'''.''' rotate sprite/selected sectors<br><br />
'''<''' slowly rotate sprite/selected sectors<br><br />
'''>''' slowly rotate sprite/selected sectors<br><br />
<br><br />
'''T''' set sector lotag<br><br />
'''T+ALT''' set wall/sprite lotag<br><br />
'''T+CTRL''' toggle show tags<br><br />
<br />
'''H''' set sector hitag<br><br />
'''H+ALT''' set wall/sprite hitag<br><br />
'''H+CTRL''' toggle hitscan sensitivity<br><br />
'''H+CTRL+SHIFT''' toggle hitscan sensitivity<br><br />
<br />
'''P''' set sector pal<br><br />
'''E''' set sprite status list<br><br />
'''TAB''' show sector data<br><br />
'''TAB+SHIFT''' show wall/sprite data<br><br />
'''TAB+CTRL''' enable/disable filling of aimed-at sector<br><br />
<br />
'''LCTRL+RSHIFT''' select all walls of the current sector (point at a wall and holding '''LCTRL''', press and release '''RSHIFT'''). Set ops (see RSHIFT above) work too.<br><br />
'''A''' zoom in<br><br />
'''Z''' zoom out<br><br />
'''L''' toggle grid lock<br><br />
'''J''' join sectors<br><br />
'''S''' insert sprite, pressing a key from '''1''' to '''0''' on the upper row before pressing '''S''' will make the inserted sprite's picnum be 1 to 10, respectively<br><br />
'''S+ALT''' make inner sector<br><br />
'''C''' duplicate sectors/sprites<br><br />
'''C''' start circle attached to a wall<br><br />
'''KP +''' increase amount of walls in circle<br><br />
'''KP -''' decrease amount of walls in circle<br><br />
<br><br />
'''SPACE''' start/end drawing of sector, end drawing of circle<br><br />
'''LENTER''' when having some walls drawn, insert points at intersections with existing walls; clear drawn walls then<br><br />
'''LENTER''' check nextwall pointer for the highlighted line<br><br />
'''LENTER''' when having drawn some walls, batch-insert points where the drawn lines intersect with non-grayed-out walls<br />
'''LSHIFT+LCTRL+LENTER''' check ALL pointers (manual attempt to recover map)<br><br />
'''BACKSPACE''' remove the last wall during drawing sector<br><br />
'''DEL''' delete sprite<br><br />
'''DEL+CTRL''' delete sector<br><br />
'''INS''' duplicate sectors/sprites<br><br />
'''INS''' start circle attached to a wall<br><br />
'''INS''' add vertex to wall<br><br />
'''RENTER''' switch to 3D mode<br><br />
'''ESC''' menu<br><br />
<br><br />
'''' A''' toggle autosave(every 3 minutes)<br><br />
'''' N''' toggle noclip<br><br />
'''S+CTRL''' save map<br><br />
'''L+CTRL''' load map<br><br />
<br />
'''P+CTRL''' Playtest map from current position<br><br />
'''P+CTRL+ALT''' Playtest map from start position<br><br />
<br />
'''R+CTRL''' manual grayout: if some sectors are highlighted, make the editable z range [min ceiling z, max floor z] of those; else reset z limits<br />
<br />
==TROR related keys==<br />
===2D mode===<br />
'''E+CTRL''' sector extension prompt (sectors to extend must be highlighted)<br><br />
'''E+CTRL''' make sandwich [''needs better explanation'']<br><br />
'''E+CTRL''' punch loop through extension (loop points must be highlighted, e.g. with '''RSHIFT'''+'''LCTRL''')<br><br />
<br><br />
'''A+CTRL''' toggle auto-grayout of non-extended sectors<br><br />
'''J+CTRL''' TROR-join sectors. The selection must consist of the two sets of sectors you wish to join.<br><br />
'''U+CTRL''' Clear extension: delete the bunch (i.e. ceiling-floor connection) of the aimed-at sector's floor<br><br />
'''PGUP'''/'''PGDN''' Change 'player' height in discrete steps in order to go through the different levels<br><br />
'''TAB+CTRL''' Display one currently aimed at sector (of potentially many that lie under the mouse crosshair)<br><br />
'''HOME''' and '''END''' as modifiers to AltGr: select all sectors whose floor's/ceiling's bunchnum equal the bunchnum of the aimed at sector (useful for further operations on whole bunches)<br />
<br />
===3D mode===<br />
'''I''' invisibility preview: toggle fake ROR texture on non-masked portals<br><br />
'''LENTER+CTRL''' When aiming at an extended floor/ceiling, paste to all floors/ceilings of the bunch of the aimed at one<br><br />
'''T''', '''B''' and '''H''' work as with walls, though they set/toggle the bits only on '''one''' side<br><br />
<br />
==Mapster32 keys as tables (unmaintained and obsolete)==<br />
<br />
Below are the Mapster32 keys as three sortable tables. They are sorted such that the more 'basic' keys are at the top.<br><br />
<br><br />
The column headers have the following meaning:<br><br />
<br />
'''key/keys''': self-explanatory. Where a key starts with a '+' on a line of its own,<br>&nbsp;&nbsp;&nbsp;&nbsp;it means that it should be pressed simultaneously with the first one in the<br />
same table row.<br><br />
'''type''': type of command: info=informational, edit=editing, navi=navigation,<br />
disp=display, misc=miscellany<br><br />
'''sec''', '''spr''','''wal''': in case of an editing command, whether it<br />
potentially acts on '''sec'''tors, '''spr'''ites, and/or '''wal'''ls.<br><br />
'''adv''': whether the command is 'advanced'. This is set somewhat arbitrarily.<br><br />
'''new''': whether the functionality of the command is new to Mapster32. An '''e''' means that it's enhanced from BUILD.<br><br />
'''N''': a running number. To restore the original order, sort by it.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="2" cellspacing="0"<br />
|+ '''Mapster 32 keys &mdash; shared keys for 2D and 3D mode'''<br />
|- bgcolor="#f0f0f0"<br />
! key/keys!!description!!type!!sec<br>!!spr<br>!!wal<br>!!adv<br>!!new<br>!!N<br />
|-<br />
! F1<br />
|help||info||||||||<center>n</center>||<center>'''y'''</center>||0<br />
|-<br />
! UP/DOWN <br> LEFT/RIGHT <br> &nbsp;&nbsp;+LShift<br />
|move forward/back <br> turn left/right ('''+RCtrl''': strafe) <br> speed up movements||navi||||||||<center>n</center>||<center>n</center>||1<br />
|-<br />
! RENTER<br />
|toggle between 2D and 3D modes||misc||||||||<center>n</center>||<center>n</center>||2<br />
|-<br />
! B <br />
|toggle blocking of wall/sprite ('''+Shift''': one-sided)||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||3<br />
|-<br />
! R<br />
|cycle sprite aligment||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||4<br />
|-<br />
! ,/.<br />
|rotate sprite ('''+Shift''': slowly)||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||5<br />
|-<br />
! DEL<br />
|delete sprite||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||6<br />
|-<br />
! /<br />
|reset panning, repeat and flags||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||7<br />
|-<br />
! Alt+F<br />
|set first wall of sector||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||8<br />
|-<br />
! /+Shift<br />
|set xrepeat to yrepeat (make square)||edit||||<center>'''x'''</center>||||<center>'''y'''</center>||<center>'''y'''</center>||9<br />
|-<br />
! \'N <br />
|toggle camera clipping||navi||||||||<center>'''y'''</center>||<center>'''y'''</center>||10<br />
|-<br />
! Ctrl+N<br />
|toggle sprite clipping through floors/ceilings||edit||||||||<center>'''y'''</center>||<center>'''y'''</center>||11<br />
|-<br />
! \'A <br />
|toggle autosave (interval configurable in mapster32.cfg)||misc||||||||<center>'''y'''</center>||<center>'''y'''</center>||12<br />
|-<br />
! (Shift+)F12<br />
|capture (inverted) screenshot||misc||||||||<center>n</center>||<center>n</center>||13<br />
|-<br />
! Ctrl+L<br />
|load map||misc||||||||<center>n</center>||<center>n</center>||14<br />
|-<br />
! Ctrl+S<br />
|save map||misc||||||||<center>n</center>||<center>n</center>||15<br />
|-<br />
! Ctrl+P<br />
|playtest map from current position||misc||||||||<center>n</center>||<center>'''y'''</center>||16<br />
|-<br />
! Ctrl+Alt+P<br />
|playtest map from starting position||misc||||||||<center>n</center>||<center>'''y'''</center>||17<br />
|}<br />
<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="2" cellspacing="0"<br />
|+ '''Mapster 32 keys &mdash; 2D mode'''<br />
|- bgcolor="#f0f0f0"<br />
! key/keys!!description!!type!!sec<br>!!spr<br>!!wal<br>!!adv<br>!!new<br>!!N<br />
|-<br />
! A/Z<br />
|zoom in/out||disp||||||||<center>n</center>||<center>n</center>||0<br />
|-<br />
! L<br />
|toggle grid lock||edit||||||||<center>n</center>||<center>n</center>||1<br />
|-<br />
! G (+Shift)<br />
|cycle grid size (backwards), set auto grid||edit||||||||<center>n</center>||<center>'''e'''</center>||2<br />
|-<br />
! S<br />
|insert sprite <br>(prefix 1-0 on upper row: set picnum to 1-10, resp.)||edit||||||||<center>n</center>||<center>'''e'''</center>||3<br />
|-<br />
! O<br />
|ornament sprite onto wall||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||4<br />
|-<br />
! J<br />
|join sectors||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||5<br />
|-<br />
! P<br />
|set sector pal||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||6<br />
|-<br />
! Ctrl+H<br />
|toggle hitscan sensitivity||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||7<br />
|-<br />
! T (+Alt)<br />
|set lotag of sector (wall/sprite)||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||8<br />
|-<br />
! H (+Alt)<br />
|set hitag of sector (wall/sprite)||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||9<br />
|-<br />
! KP4/6/2/8<br />
|scale sprite (+'''KP5''': speed up)||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||10<br />
|-<br />
! SPACE<br />
|draw sector; end circle drawing||edit||||||||<center>n</center>||<center>n</center>||11<br />
|-<br />
! BACKSPACE<br />
|remove last wall when drawing sector||edit||||||||<center>n</center>||<center>n</center>||12<br />
|-<br />
! BACKSPACE<br />
|cycle 2D display mode (textured/non-textured)||disp||||||||<center>'''y'''</center>||<center>'''y'''</center>||13<br />
|-<br />
! INS<br />
|add vertex to wall||edit||||||<center>'''x'''</center>||<center>n</center>||<center>n</center>||14<br />
|-<br />
! DEL+Ctrl<br />
|delete sector||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||15<br />
|-<br />
! C <br> KP+/KP-<br />
|start circle drawing from wall <br> increase/decrease amount of walls in circle||edit||||||<center>'''x'''</center>||<center>n</center>||<center>n</center>||16<br />
|-<br />
! Alt+S<br />
|make sector from inner loop||edit||||||||<center>n</center>||<center>n</center>||17<br />
|-<br />
! RShift <br> &nbsp;&nbsp; +;/'<br />
|select group of walls and sprites <br> set difference/union||edit||||||||<center>n</center>||<center>n</center>||18<br />
|-<br />
! RAlt <br> &nbsp;&nbsp; +;/' <br> &nbsp;&nbsp;+RCtrl<br />
|select group of sectors <br> set difference/union <br> point sector selection||edit||||||||<center>n</center>||<center>n</center>||19<br />
|-<br />
! INS or C<br />
|duplicate selected sectors/sprites||edit||||||||<center>n</center>||<center>n</center>||20<br />
|-<br />
! SCROLLLOCK<br />
|set starting position||edit||||||||<center>n</center>||<center>n</center>||21<br />
|-<br />
! TAB<br />
|show sector data||info||||||||<center>n</center>||<center>n</center>||22<br />
|-<br />
! TAB+Ctrl <br> (or TAB+Shift)<br />
|show wall/sprite data||info||||||||<center>n</center>||<center>'''y'''</center>||23<br />
|-<br />
! LShift<br />
|show coords||info||||||||<center>n</center>||<center>'''y'''</center>||24<br />
|-<br />
! M (+Alt)<br />
|set extra of sector (wall/sprite)||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>'''y'''</center>||25<br />
|-<br />
! E<br />
|set sprite status list||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||26<br />
|-<br />
! Ctrl+T<br />
|toggle show tags||disp||||||||<center>'''y'''</center>||<center>n</center>||27<br />
|-<br />
! '3<br />
|cycle modes of showing object's name||disp||||||||<center>'''y'''</center>||<center>n</center>||28<br />
|-<br />
! '7<br />
|swap lotag and hitag of wall/sprite||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>'''y'''</center>||29<br />
|-<br />
! 'J<br />
|jump to position (X,Y)||misc||||||||<center>'''y'''</center>||<center>'''y'''</center>||30<br />
|-<br />
! 'S<br />
|set sprite size||edit||||<center>'''x'''</center>||||<center>'''y'''</center>||<center>'''y'''</center>||31<br />
|-<br />
! 'L<br />
|set wall/sprite coordinates||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>'''y'''</center>||32<br />
|-<br />
! 'F<br />
|Special functions menu<blockquote>''Replace invalid tiles''<br>''Delete all spr of tile #''<br>''Set map sky shade''<br>''Set map sky height''<br>''Global Z coord shift''<br>''Resize selection''<br>''Global shade divide''<br>''Global visibility divide''</blockquote>||edit||||||||<center>'''y'''</center>||<center>'''y'''</center>||33<br />
|-<br />
! X/Y (+Alt)<br />
|flip (mirror) selected sectors in x/y||edit||<center>'''x'''</center>||||||<center>'''y'''</center>||<center>'''y'''</center>||34<br />
|-<br />
! F2<br />
|show sound index (root CON file to fetch sound <br>definitions from can be specified at startup; <br>default is GAME.CON)||info||||||||<center>'''y'''</center>||<center>'''y'''</center>||35<br />
|-<br />
! F4<br />
|toggle first wall highlighting||disp||||||||<center>'''y'''</center>||<center>'''y'''</center>||36<br />
|-<br />
! F5<br />
|show item count||info||||||||<center>'''y'''</center>||<center>n</center>||37<br />
|-<br />
! F6<br />
|show actor count (when pointed at sprite: SE help)||info||||||||<center>'''y'''</center>||<center>n</center>||38<br />
|-<br />
! F7<br />
|edit sector data||edit||<center>'''x'''</center>||||||<center>'''y'''</center>||<center>'''y'''</center>||39<br />
|-<br />
! F8<br />
|edit wall/sprite data||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>'''y'''</center>||40<br />
|-<br />
! F9<br />
|show ST help||info||||||||<center>'''y'''</center>||<center>n</center>||41<br />
|-<br />
! Alt+F7<br />
|search sector by tag||info||||||||<center>'''y'''</center>||<center>n</center>||42<br />
|-<br />
! Alt+F8<br />
|search wall by tag/search sprite||info||||||||<center>'''y'''</center>||<center>'''e'''</center>||43<br />
|-<br />
! ]/[<br />
|search forward/backward||info||||||||<center>'''y'''</center>||<center>n</center>||44<br />
|-<br />
! LCtrl+RShift<br />
|select all walls of current sector <br>(point at a wall and holding '''LCtrl''', press '''RShift''')||edit||||||||<center>'''y'''</center>||<center>'''y'''</center>||45<br />
|-<br />
! LENTER<br />
|check pointers for current sector <br>('''+LCtrl+LShift''': check ALL pointers)||edit||||||||<center>'''y'''</center>||<center>n</center>||46<br />
|}<br />
<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="2" cellspacing="0"<br />
|+ '''Mapster 32 keys &mdash; 3D mode'''<br />
|- bgcolor="#f0f0f0"<br />
! key/keys!!description!!type!!sec<br>!!spr<br>!!wal<br>!!adv<br>!!new<br>!!N<br />
|-<br />
! A/Z <br> &nbsp;&nbsp;+Ctrl <br> &nbsp;&nbsp;+LShift<br />
|move up/down <br> look down/up <br> speed up movements||navi||||||||<center>n</center>||<center>n</center>||0<br />
|-<br />
! CAPSLOCK or 'Z<br />
|cycle zmode||navi||||||||<center>n</center>||<center>n</center>||1<br />
|-<br />
! KP+/KP-<br />
|change shade||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||2<br />
|-<br />
! KP+/KP-+Alt <br> &nbsp;&nbsp;+Alt+Shift <br> &nbsp;&nbsp;+Ctrl+Alt<br />
|change visibility <br> change visibility in smaller increments <br> change global visibility||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||3<br />
|-<br />
! ]/[ <br> &nbsp;&nbsp;+RShift <br> &nbsp;&nbsp;+LShift<br />
|slope down/up <br> smaller increments <br> smallest increments ||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||4<br />
|-<br />
! [+Alt<br />
|align slope to floor of adjoining sector||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||5<br />
|-<br />
! ]+Alt<br />
|align slope to ceiling of adjoining sector||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||6<br />
|-<br />
! PGUP/PGDN <br> &nbsp;&nbsp;+END <br> &nbsp;&nbsp;+HOME<br />
|move object up/down ('''+Ctrl''' on sectors: 4x) <br> 1/2 of normal increments <br> 1/4 of normal increments||edit||<center>'''x'''</center>||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||7<br />
|-<br />
! PGUP+Ctrl<br />
|put sprite on ceiling||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||8<br />
|-<br />
! PGDN+Ctrl<br />
|put sprite on ground||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||9<br />
|-<br />
! KP4/6/2/8 <br> &nbsp;&nbsp;+Shift or +Alt<br>&nbsp;&nbsp;+KP5<br />
|pan floor/ceiling or scale wall/sprite <br>force panning <br> speed up||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||10<br />
|-<br />
! V<br />
|choose tile||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||11<br />
|-<br />
! S<br />
|insert sprite||edit||||||||<center>n</center>||<center>n</center>||12<br />
|-<br />
! G<br />
|set picnum||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>'''y'''</center>||13<br />
|-<br />
! E<br />
|toggle sector texture expansion||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||14<br />
|-<br />
! F<br />
|flip texture||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||15<br />
|-<br />
! R<br />
|toggle sector texture relativity||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||16<br />
|-<br />
! 'T<br />
|set lotag||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||17<br />
|-<br />
! 'H<br />
|set hitag||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||18<br />
|-<br />
! 'S<br />
|set shade||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||19<br />
|-<br />
! Alt+P<br />
|set pal||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||20<br />
|-<br />
! 1<br />
|toggle one sided sprite/wall||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||21<br />
|-<br />
! 2<br />
|toggle bottom wall swapping||edit||||||<center>'''x'''</center>||<center>n</center>||<center>n</center>||22<br />
|-<br />
! M<br />
|toggle masking wall||edit||||||<center>'''x'''</center>||<center>n</center>||<center>n</center>||23<br />
|-<br />
! O<br />
|toggle wall orientation||edit||||||<center>'''x'''</center>||<center>n</center>||<center>n</center>||24<br />
|-<br />
! O<br />
|ornament sprite onto wall||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||25<br />
|-<br />
! C<br />
|toggle sprite centering||edit||||<center>'''x'''</center>||||<center>n</center>||<center>n</center>||26<br />
|-<br />
! H<br />
|toggle hitscan sensitivity ('''+Shift''': one-sided)||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||27<br />
|-<br />
! T<br />
|cycle translucence||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||28<br />
|-<br />
! P<br />
|toggle parallax||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||29<br />
|-<br />
! 'V<br />
|set sector visibility||edit||<center>'''x'''</center>||||||<center>n</center>||<center>n</center>||30<br />
|-<br />
! Ctrl+P (obsolete)<br />
|change parallax type (classic renderer only)||edit||||||||<center>n</center>||<center>n</center>||31<br />
|-<br />
! .<br />
|search &amp; fix panning of the wall to the right||edit||||||<center>'''x'''</center>||<center>n</center>||<center>n</center>||32<br />
|-<br />
! 'L<br />
|set coordinates||edit||<center>'''x'''</center>||<center>'''x'''</center>||||<center>n</center>||<center>'''y'''</center>||33<br />
|-<br />
! 'M<br />
|set extra||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>'''y'''</center>||34<br />
|-<br />
! +/-<br />
|cycle tile||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>'''y'''</center>||35<br />
|-<br />
! TAB<br />
|copy to clipboard||edit||||||||<center>n</center>||<center>n</center>||36<br />
|-<br />
! LENTER<br />
|paste all (pic+shade+pal+flags+tags+extra)||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>n</center>||<center>n</center>||37<br />
|-<br />
! 'LENTER<br />
|paste picnum only||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>n</center>||38<br />
|-<br />
! LENTER+Shift<br />
|paste shading+pal||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>n</center>||39<br />
|-<br />
! LENTER+Ctrl<br />
|paste picnum+shading+pal||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>n</center>||40<br />
|-<br />
! Alt+C<br />
|replace all "same" tiles with clipboard tile||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>n</center>||41<br />
|-<br />
! Alt+D<br />
|adjust clipping distance of sprite||edit||||<center>'''x'''</center>||||<center>'''y'''</center>||<center>n</center>||42<br />
|-<br />
! ;V<br />
|set sector visibility on all selected sectors||edit||<center>'''x'''</center>||||||<center>'''y'''</center>||<center>'''y'''</center>||43<br />
|-<br />
! 3<br />
|toggle Sector over Sector <br>(see http://www.users.on.net/~triforce/cduke3d/)||disp||||||||<center>'''y'''</center>||<center>'''y'''</center>||44<br />
|-<br />
! 'BACKSPACE<br />
|clear all flags for wall/sprite||edit||||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>'''y'''</center>||45<br />
|-<br />
! 'P<br />
|set palette of all sprites/walls/floors/ceilings <br>(respectively) in all selected sectors||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>'''y'''</center>||46<br />
|-<br />
! ;P<br />
|set palette of all sprites/walls/floors/ceilings <br>in all selected sectors||edit||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''x'''</center>||<center>'''y'''</center>||<center>'''y'''</center>||47<br />
|-<br />
! Ctrl+Shift<br>+LENTER<br />
|autoshade wall||edit||||||<center>'''x'''</center>||<center>'''y'''</center>||<center>n</center>||48<br />
|-<br />
! F2<br />
|toggle clipboard preview||info||||||||<center>'''y'''</center>||<center>'''y'''</center>||49<br />
|-<br />
! F2+Shift<br />
|toggle current tile display||info||||||||<center>'''y'''</center>||<center>'''y'''</center>||50<br />
|-<br />
! F3<br />
|toggle mouselook||misc||||||||<center>'''y'''</center>||<center>'''y'''</center>||51<br />
|-<br />
! F4<br />
|toggle ambient sounds||misc||||||||<center>'''y'''</center>||<center>'''y'''</center>||52<br />
|-<br />
! F5<br />
|toggle mouse navigation||navi||||||||<center>'''y'''</center>||<center>'''y'''</center>||53<br />
|-<br />
! F6<br />
|toggle automatic SE help||info||||||||<center>'''y'''</center>||<center>'''y'''</center>||54<br />
|-<br />
! F7<br />
|toggle automatic ST help||info||||||||<center>'''y'''</center>||<center>'''y'''</center>||55<br />
|-<br />
! F9<br />
|reload and activate maphacks||disp||||||||<center>'''y'''</center>||<center>'''y'''</center>||56<br />
|-<br />
! F10<br />
|disable maphacks||disp||||||||<center>'''y'''</center>||<center>'''y'''</center>||57<br />
|-<br />
! F11<br />
|cycle brightness||misc||||||||<center>n</center>||<center>n</center>||58<br />
|-<br />
! 'D<br />
|cycle skill level||disp||||||||<center>'''y'''</center>||<center>n</center>||59<br />
|-<br />
! 'X<br />
|toggle sprite shade preview||disp||||||||<center>'''y'''</center>||<center>'''y'''</center>||60<br />
|-<br />
! 'W<br />
|toggle sprite display||disp||||||||<center>'''y'''</center>||<center>n</center>||61<br />
|-<br />
! 'Y<br />
|toggle purple background||disp||||||||<center>'''y'''</center>||<center>n</center>||62<br />
|-<br />
! 'C<br />
|copy shade from clipboard to all "same" objects||edit||||||||<center>'''y'''</center>||<center>n</center>||63<br />
|-<br />
! 'R<br />
|toggle framerate display||info||||||||<center>'''y'''</center>||<center>n</center>||64<br />
|-<br />
! Ctrl+T<br />
|when pointing on a letter sprite: text entry tool <br>(alphabets are configurable in tiles.cfg)||edit||||||||<center>'''y'''</center>||<center>'''y'''</center>||65<br />
|}</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Spriteflags&diff=10072Spriteflags2011-12-18T04:29:04Z<p>Mblackwell: </p>
<hr />
<div>'''spriteflags''' <value><br />
<br />
Sets special flags for sprites. The values are:<br />
<br />
'''1''' - Generates a shadow. See [[spriteshadow]].<br /><br />
'''2''' - Turns [[spritepal|palette]] 6 whenever night vision goggles are used. See [[spritenvg]].<br /><br />
'''4''' - The sprite's shade is unaffected by the shade of its sector. See [[spritenoshade]].<br /><br />
'''8''' - Is a [[defineprojectile|projectile]].<br /><br />
'''16''' - Prevents teleporting. The sprite is not entered into the [[decal deletion queue]].<br /><br />
'''32''' - Is an enemy. See [[useractor]], but note that this is distinct from setting the useractor type to either of the enemy types.<br /><br />
'''64''' - Sprite will be insusceptible to floor palette of sector containing this sprite. See [[spritenopal]].<br /><br />
'''2048''' - Sprite will skip x/y "clipmove()" . This skips objects checking for collisions with other actors to increase performance. Useful for particle affects.<br />
<br />
It is a [[bitfield]], so add together the values you want and then use spriteflags with the sum.<br />
<br />
<br />
Outside of actors and states,<br/><br />
'''spriteflags''' <picnum> <value> <br/><br />
sets the same flags per-tile. When a flag is checked, the per-tile value is XORed with the per-sprite value, i.e. one reverses the other.<br />
<br />
[[Category:Bitfields]]<br />
[[Category:EDuke32 specific commands]]<br />
[[Category:Sprite manipulation]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Spriteflags&diff=10071Spriteflags2011-12-18T04:28:45Z<p>Mblackwell: </p>
<hr />
<div>'''spriteflags''' <value><br />
<br />
Sets special flags for sprites. The values are:<br />
<br />
'''1''' - Generates a shadow. See [[spriteshadow]].<br /><br />
'''2''' - Turns [[spritepal|palette]] 6 whenever night vision goggles are used. See [[spritenvg]].<br /><br />
'''4''' - The sprite's shade is unaffected by the shade of its sector. See [[spritenoshade]].<br /><br />
'''8''' - Is a [[defineprojectile|projectile]].<br /><br />
'''16''' - Prevents teleporting. The sprite is not entered into the [[decal deletion queue]].<br /><br />
'''32''' - Is an enemy. See [[useractor]], but note that this is distinct from setting the useractor type to either of the enemy types.<br /><br />
'''64''' - Sprite will be insusceptible to floor palette of sector containing this sprite. See [[spritenopal]].<br /><br />
'''2048''' - Sprite will skip x/y "clipmove()" . This skips objects checking for collisions with other actors to increase performance. Useful for particle affects.<br />
It is a [[bitfield]], so add together the values you want and then use spriteflags with the sum.<br />
<br />
<br />
Outside of actors and states,<br/><br />
'''spriteflags''' <picnum> <value> <br/><br />
sets the same flags per-tile. When a flag is checked, the per-tile value is XORed with the per-sprite value, i.e. one reverses the other.<br />
<br />
[[Category:Bitfields]]<br />
[[Category:EDuke32 specific commands]]<br />
[[Category:Sprite manipulation]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Ssp&diff=10012Ssp2011-11-06T18:16:02Z<p>Mblackwell: </p>
<hr />
<div>ssp <[[sprite id|sprite1]]> <[[clipmask]]> <br />
<br />
Takes an [[actor]]'s [[xvel]] and [[zvel]] properties and sends a [[movesprite]] to the game engine. Useful for moving objects variably without needing to calculate angles.</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Ssp&diff=10011Ssp2011-11-06T18:15:34Z<p>Mblackwell: Created page with "ssp <sprite1> <clipmask> Takes an actor's xvel and zvel properties and sends a movesprite to the game engine. Useful for moving objects variably with..."</p>
<hr />
<div>ssp <[[sprite1]]> <[[clipmask]]> <br />
<br />
Takes an [[actor]]'s [[xvel]] and [[zvel]] properties and sends a [[movesprite]] to the game engine. Useful for moving objects variably without needing to calculate angles.</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=EDuke32_Modifications&diff=9968EDuke32 Modifications2011-09-26T13:32:27Z<p>Mblackwell: /* Active Development */</p>
<hr />
<div>==Released==<br />
<br />
===Active Development===<br />
<br />
{{Mod_header}}<br />
<br />
{{Mod_table <br />
|[http://fissile.duke4.net/fissile_dukeplus.html Duke Plus]<br />
|Gameplay enhancement<br />
|Released, in development<br>(Latest Release: '''2.21''')<br />
|[[User:DeeperThought|DeeperThought]]<br />
|[[Image:DP1.jpg|200px]][[Image:DP2.jpg|200px]]<br />
|Enhanced Engine Design Capabilities, including: Transparent Water; Giving Monsters Special Flags; Climbable Ladders; Mantling/Grappling on ledges; Bot-Allies; Footstep Sounds; Rain and Snow-based weather effects; Quake3-Style Jump Pads; Slippery Floors; etc. [http://www.picturepush.com/public/652573 Gravity gun footage]<br />
}}<br />
<br />
{{Mod_table <br />
|[http://hendricks266.duke4.net/vaca_plus.php Duke Caribbean: Life's A Beach Plus]<br />
|Total Conversion/enhancement<br />
|Released, in development<br><br />
|[[User:Hendricks 266|Hendricks266]] and the Duke community<br />
|[[Image:2492_vaca.png|200px]][[Image:3281_vaca.png|200px]]<br />
|Duke takes a vacation to the Caribbean and discovers that the aliens are using the tropical climate to breed. The classic Duke 3D add-on gets a modern facelift, and additional enhancements.<br />
}}<br />
<br />
{{Mod_table <br />
|[http://hendricks266.duke4.net/nw_plus.php Duke: Nuclear Winter Plus]<br />
|Total Conversion/enhancement<br />
|Released, in development<br><br />
|[[User:Hendricks 266|Hendricks266]] and the Duke community<br />
|[[Image:2492_nw.png|200px]][[Image:3240_3245.png|200px]]<br />
|Duke receives a telegram that the aliens have brainwashed Santa and are trying to steal Christmas! The HRP of the classic Duke add-on, Nuclear Winter, adds many new EDuke32-based elements to the game, and fixes most, if not all of the original bugs.<br />
}}<br />
<br />
{{Mod_table <br />
|[http://naferia.duke4.net Naferia's Reign: Invasion of the Dark Mistress]<br />
|Total Conversion<br />
|Released, in development<br> (Latest Version: '''5.20.06112010''')<br />
|[[User:LordMisfit|Lord Misfit]], TheSeriousCacodemon, Davidos, Vero-chan<br />
|[[Image:NRIOTDM-1.png|200px]][[Image:NRIOTDM-2.png|200px]]<br />
|What will come to be an alternate-universe Duke Nukem story revolving around a pivotal point in the history of Duke Nukem and the Aliens he has faced since the original Duke Nukem 3D. Duke is no longer working alone in his quest, as his enemies ramp up their power and allegiances substantially, as well as their intelligence to a point. Play as up to 15 different characters, with the ability to use multiple characters in the same party, unlike in Hexen (and more like a real RPG). Monsters are more interactive and to a point more intelligent, able to grab items like health and armor, get damaged by slime and other hazards, and even pick up power-ups to make them deadlier in combat. Find money laying around or get it out of your characters' ATM accounts, and use it to buy new items from shops or other NPCs. Voice Acting is also present.<br />
}}<br />
<br />
{{Mod_table <br />
|[http://www.moddb.com/mods/9541/duke-nukem-weapon-of-mass-destruction Duke Nukem: Weapon of Mass Destruction]<br />
|Gameplay enhancement<br />
|Released<br>(Latest Release: '''1.52 [beta]''')<br />
|[[User:DeeperThought|DeeperThought]]<br />
|[[Image:Dnwmd1.jpg|200px]][[Image:Dnwmd2.jpg|200px]]<br />
|Duke Nukem: Weapon of Mass Destruction is a gameplay mod for Duke Nukem 3D. It has tons of new weapon modes, enemies, and player abilities, such as UT style dodge moves, spinning hook kicks, and a Duke bot companion who fights by your side. In some levels you can even get in your skycar and fly it, doing bombing runs on enemies. In DNWMD, Duke collects glowing coins from slain enemies which are used to purchase various upgrades via a mouse controlled menu. In addition, each of Duke's weapons has its own experience level which increases with use.<br />
}}<br />
<br />
{{Mod_table <br />
| [{{3DR}}32161 HellDuke TC!]<br />
|Total Conversion<br />
|Released, in development<br>(Latest Release: '''1.3''')<br />
|XTHX2, Quakis (Inactive), Broiler1985, Rolls, Fantinaikos, SuperGoofy<br />
|[[Image:scr1.jpg|200px]][[Image:scr2.jpg|200px]]<br />
|HellDukeTC! will make your doom become alive, as the thread name calls it. My main purpose is to create Doom with a different angle and of course my secret recipe. As well as aiming to have a doom theme, we will also introduce you what hell actually means. It is still under development, however it is playable enough with it's satisfying levels, new enemies, new additions, new WEAPONS!, new HUD, CON scripted EVENTS, and much more. And last but not least, extra information can be found at hellreadme.txt. If you have any questions, you can ask me, XTHX2, and contact me. If you like Doom, and if you like challenges, this TC is just what you are in need of!<br />
}}<br />
<br />
{{Mod_table <br />
|[{{3DR}}30761 WGRealms 2]<br />
|Total Conversion<br />
|Released, in development<br />
|William Gee, [[User:DeeperThought|DeeperThought]], Hellbound<br />
|[[Image:WG1.jpg|200px]][[Image:WG2.jpg|200px]]<br />
|Medieval mod with melee combat, magic bows, skeleton knights, dragons and demons. [http://www.picturepush.com/public/590728 Gameplay footage]<br />
}}<br />
{{Mod_table <br />
| [http://forums.duke4.net/topic/4857-top-shooter/ Top Shooter]<br />
|Total Conversion<br />
|Released, in development<br>(Latest Release: '''1.1''')<br />
|[[User:Mblackwell|Mblackwell]]<br />
|[[Image:Duke0009.jpg|200px]][[Image:Duke0021.jpg|200px]]<br />
|Top Shooter is an old school top-down scrolling shooter! A fully stand-alone modification, players dodge falling Space Mines and compete for high scores. Will ''you'' be the top shooter?<br />
}}<br />
<br />
{{Mod_footer}}<br />
<br />
===Finished===<br />
<br />
{{Mod_header}}<br />
<br />
{{Mod_table <br />
|[http://files.filefront.com/Nuclear+Showdown+v11zip/;12148372;/fileinfo.html Nuclear Showdown v1.1]<br />
|Gameplay enhancement<br />
|Released<br />
|[[User:Jblade|James Stanfield]]<br />
|[[Image:NS01.jpg|200px]][[Image:NS02.jpg|200px]]<br />
|Nuclear showdown is a gameplay mod for Duke Nukem that adds many features such as new weapons, enemies, effects to the default game as well as usermaps - it is built so you can play your favourite usermaps with, even ones that use custom art. You can also play through Duke It Out In D.C. if you have it. The TC also includes several features for mappers like more keycards, items such as the spacesuit and toolkit, and more textures to work with.<br />
}}<br />
<br />
{{Mod_table <br />
|[http://hosted.filefront.com/kenia43 Duke Nukem Army]<br />
|Total Conversion<br />
|Official final Release<br />
|[[User:Kenia|Kenia]]<br />
|[[Image:Teaser2.jpg|200px]][[Image:Teaser3.jpg|200px]]<br />
|A TC that changes Duke Nukem 3D into an exaggerated army-style shooter with various multiplayer additions (CTF, Hill Defend, Assault). Main focus is multi-player (though 1 playable single-player episode is included) and the massive unrealistic use of gore elements to turn the TC in kind of a "splatter game". [{{YouTube}}xl1E9BtOe9U Gameplay footage]<br />
}}<br />
<br />
{{Mod_footer}}<br />
<br />
===Abandoned===<br />
<br />
{{Mod_header}}<br />
<br />
{{Mod_table <br />
|[[Duke Theft Auto]]<br />
|Total Conversion<br />
|Beta Released, Discontinued<br />
|[[User:The Commander|The Commander]]<br />
|[[Image:DTA0000.jpg|200px]][[Image:DTA0001.jpg|200px]]<br />
|Duke Theft Auto is based upon the classic DMA/Rockstar game, "Grand Theft Auto" Run, Shoot, Kill, Car Jack your way through many cities on your way of becoming the number one criminal! <br><br> [http://www.moddb.com/games/duke-theft-auto Beta Released]<br />
}}<br />
<br />
{{Mod_footer}}<br />
<br />
==Source Released==<br />
<br />
{{Mod_header}}<br />
<br />
{{Mod_table <br />
|[{{3DR}}25830 The AWOL Project Source]<br />
|Total Conversion<br />
|Released, discontinued<br />
|[[User:Reaper_Man|Reaper_Man]], Hudson, Mblackwell, and the entire AWOL TC Team<br />
|[[Image:AWOL1.jpg|200px]][[Image:AWOL2.jpg|200px]]<br />
|The AWOL Project Source is the release of the source files for the once highly anticipated mod, The AWOL Project. After several years of sitting idly on the hard drives of the creators, Reaper_Man and Hudson decided to release all of the content for the TC to those who might find it useful. The release includes a few demo maps showing off various effects and AI, as well as all 3 of the drivable vehicles. Most of the code is complete but very few of the maps are. There is an Official 1.0 Patch as well as the AWOL Map Pack available for download also.<br />
}}<br />
<br />
{{Mod_footer}}<br />
<br />
==Unreleased==<br />
<br />
===Active Development===<br />
<br />
{{Mod_header}}<br />
<br />
{{Mod_table <br />
|[http://www.resurgence.dukenukem.com.br/ Duke Nukem 64: Resurgence]<br />
|Total Conversion<br />
|In Development<br />
|Fox, Nukey, SomeThingEvil, Hellfire<br />
|[[Image:Duke64_1.png|200px]][[Image:Duke64_2.png|200px]]<br />
|Duke Nukem 64: Resurgence intends to bring this Nintendo experience from 1997 to your PC.<br />
<br />
There will be customization options, such as removing Nintendo's censoring.<br />
}}<br />
<br />
{{Mod_table <br />
|[{{3DR}}31983 Cradle to Grave]<br />
|Total Conversion<br />
|Unreleased, in development<br />
|Daedalus, Dimebog, Daedolon, Tekedon<br />
|[[Image:Screen00.PNG|200px]][[Image:Screen01.png|200px]]<br />
|Cradle to Grave is a hyper-mod aiming to bring the frantic pace and hugely enjoyable gameplay of Blood (by Monolith Productions) into a new medium and with our new granted freedom we'll even be able to implement some of the ideas which didn't quite make it into the original, not limited to new and never released weaponry, enemies, gameplay modes and perhaps even magic. This product exists only as our homage to Blood's spirit and, if successful, it could help bring Blood's glory to new heights.<br />
}}<br />
<br />
{{Mod_table <br />
|Duke Nukem: Return of the King<br />
|Total Conversion<br />
|Unreleased, in development<br />
|[[User:Captain Awesome|Captain Awesome]]<br />
|[[Image:DukeROTK.gif|200px]][[Image:DukeROTK2.gif|200px]]<br />
|Duke Nukem: Return of the King plans to centralize Duke's universe. The game will fix numerous bugs, graphical glitches, logical fallacies, and other problems with Duke3D. The mod will boast an impressive amount of new weapons, and a few alt-fire modes. It will also feature quite a few new enemies or variants, with improved coding over the originals. There is a new thought out approach to the traditional episodes, along with new missions for you to play. It plans to bring a completely fresh experience to the old game, while still being familiar and simple. This mod is 8bit exclusive, and completely incompatible with the HRP. Retains compatibility with ''most'' user-maps for replay value.<br />
}}<br />
<br />
{{Mod_table <br />
|[{{AMC}}7591.0 AMC TC]<br />
|Total Conversion<br />
|Unreleased, in development<br />
|James Stanfield and AMC<br />
|[[Image:AMCTC1.jpg|200px]][[Image:AMCTC2.jpg|200px]]<br />
|The AMC TC is a multi-character TC and gameplay modification. There are 8 characters to choose between, each with different weapon sets and items. Fight through the solar system against Duke's old enemies as well as other dark forces that each plan something unpleasant for Earth and Mars. A initial gameplay release with the finished characters, intro map, and Duke user map episode is planned with actual story based releases later.<br />
}}<br />
<br />
{{Mod_footer}}<br />
<br />
===On Hold===<br />
<br />
{{Mod_header}}<br />
<br />
{{Mod_table <br />
|[http://hendricks266.duke4.net/dmdr.php Duke Meets DOOM Rebirth]<br />
|Total Conversion<br />
|Unreleased as Rebirth, in development<br />
|[[User:Hendricks 266|Hendricks266]]<br />
|[[Image:DMDR_001.gif|200px]][[Image:DMDR_002.jpg|200px]]<br />
|Duke Meets DOOM Rebirth is an upgrade of the original vanilla TC "Duke Meets Doom". The basis for this mod is that the original maps are good, but the coding and artwork were sloppy. There are three different art modes available. The first is Classic, which consists of the artwork converted to the Duke palette. The second is Faithful, which has the original artwork displayed as high-resolution textures, so that it won't be hindered by the differences of the DOOM, Duke, and Shadow Warrior palettes. The third is Updated, which introduces high-resolution content from the jDRP and related packages.<br />
}}<br />
<br />
{{Mod_footer}}<br />
<br />
===Status Unknown===<br />
<br />
{{Mod_header}}<br />
<br />
{{Mod_table <br />
|[{{3DR}}25350 Symphony of Orekia (AKA The Mansion)]<br />
|Total Conversion (single level)<br />
|Unreleased, in development<br />
|Quakis<br />
|[[Image:Mansion1.jpg|200px]][[Image:Mansion2.jpg|200px]]<br />
|Resident Evil-style TC with Demons and creepy interiors. <br />
}}<br />
<br />
{{Mod_table <br />
|[{{3DR}}9670 Decay]<br />
|Total Conversion<br />
|Unreleased, in development<br />
|Hudson, MBlackWell, Hellbound, Cage, others<br />
|[[Image:Decay1.jpg|200px]][[Image:Decay2.jpg|200px]]<br />
|Survival-horror TC with zombies! <br />
}}<br />
<br />
{{Mod_table <br />
|[{{3DR}}30962 Blood TC]<br />
|Total Conversion<br />
|Unreleased, in development<br />
|[[User:M210|M210]]<br />
|[[Image:Blood1.jpg|200px]][[Image:Blood2.jpg|200px]]<br />
|BloodTC is a recreation of Blood (by Monolith Productions) for EDuke32 to bring all the fun and action of Blood to the EDuke32 port. This mod will be more powerful in the future, considering EDuke32 keeps getting better and better.<br />
'''Big thanks:''' The Lezing, DeeperThought, DefaultDan(97), Zykov Eddy, --DarkSoL--, Yura_evil, KLIMaka, XTHX2, Ilovefoxes, Sanek, LipSheZ, Possessed-by-zeal. <br />
'''Some videos'''<br />
<br>[{{YouTube}}3thhSyIGPZQ BloodTC Beta Video E1M1]<br />
<br>[{{YouTube}}rhNNtd0Sp9w Animation of weapon test and some effects]<br />
<br>[{{YouTube}}2r2qj5pTAJs Second weapon-test Video]<br />
}}<br />
<br />
{{Mod_table <br />
|[http://totalduke.narod.ru RailSingle TC]<br />
|Total Conversion<br />
|Unreleased, in development<br />
|[[User:LipSheZ|LipSheZ]]<br />
|[[Image:RS1.jpg|200px]][[Image:RS2.jpg|200px]]<br />
|Rail Single is a mod based on early version of Duke Plus and includes some amazing features such as 22 weapon types (each weapon has 2 fire modes), approx 30 different voxel ammo pickups and 20 inventory items. Most of RS levels are king-size, but in the spirit of the original Duke Nukem: Atomic Edition. Some level segments made with LEBuild Map Editor.<br />
}}<br />
<br />
{{Mod_footer}}<br />
<br />
===Abandoned===</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=File:Duke0021.jpg&diff=9967File:Duke0021.jpg2011-09-26T13:17:16Z<p>Mblackwell: </p>
<hr />
<div></div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=File:Duke0009.jpg&diff=9966File:Duke0009.jpg2011-09-26T13:16:46Z<p>Mblackwell: </p>
<hr />
<div></div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=RETURN&diff=9883RETURN2011-07-30T23:43:14Z<p>Mblackwell: </p>
<hr />
<div>The 'SuperVar'!!<br />
<br />
This variable is constantly used to 'return' important values, such as those in [[event]]s.<br />
<br />
EXAMPLE:<br />
<pre><br />
onevent EVENT_GETLOADTILE<br />
setvar RETURN <value><br />
endevent<br />
</pre><br />
<br />
In this case, RETURN "return"s the load screen background number into the var RETURN, setting it to something else changes it, changing the background for the loading screen.<br />
<br />
EXAMPLE 2:<br />
<pre><br />
onevent EVENT_FIRE<br />
setvar RETURN -1<br />
endevent<br />
</pre><br />
<br />
In this case, setting RETURN to -1 cancels EVENT_FIRE, causing the player to no longer be able to use a weapon.<br />
<br />
EXAMPLE 3:<br />
<pre><br />
espawn LIZTROOP<br />
setactor[RETURN].pal 21<br />
setactor[RETURN].extra 400<br />
</pre><br />
<br />
In this case, RETURN will allow you to spawn an Assault Captain [LIZTROOP, Pal 21] with 400 health instead of 60 health.<br />
<br />
<br />
[[Category:Pre-defined gamevars]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Shade&diff=9882Shade2011-07-30T23:35:14Z<p>Mblackwell: </p>
<hr />
<div>The actor/wall-in-question's shade. Shade is available for the [[sprite]] structure and [[Members of the wall structure|wall]] structure. Legal values are between '''-127''' and '''127''' with '''0''' being default brightness and negative/lower values being brighter.<br />
<br />
''Note: Negative values don't appear obviously brighter but instead cause the actor/wall to be less affected by changes in visibility.''<br />
<br />
<br />
Related structure members include [[floorshade]] and [[ceilingshade]].<br />
<br />
See also [[spriteshadow]] and [[spritenoshade]].<br />
<br />
[[Category:Sprite structure members]]<br />
[[Category:Wall structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=PROJ_RANGE&diff=8229PROJ RANGE2009-05-14T02:11:44Z<p>Mblackwell: </p>
<hr />
<div>When [[PROJ_WORKSLIKE]] is a [[hitscan]] type projectile ([[PROJECTILE_FLAG_KNEE]] or [[PROJECTILE_FLAG_BULLET]]) this number must be equal to the desired range in [[BUILD]] units. For example if the range is 1024 it will travel exactly one square in the largest grid size. <br />
<br />
If [[PROJ_WORKSLIKE]] is an rpg type ([[PROJECTILE_FLAG_RPG]]) this number is amount of time (in ticks) that a projectile travels before expiring. For example, if a projectile has a range of 52, then it will last for exactly two seconds before dying. This works together with [[PROJECTILE_FLAG_TIMED]] and [[PROJECTILE_FLAG_EXPLODEONTIMER]].<br />
<br />
<br />
<br />
[[Category:Projectile_structure_members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=PROJ_RANGE&diff=8228PROJ RANGE2009-05-14T02:09:25Z<p>Mblackwell: </p>
<hr />
<div>When [[PROJ_WORKSLIKE]] is a [[hitscan]] type projectile ([[PROJECTILE_FLAG_KNEE]] or [[PROJECTILE_FLAG_BULLET]]) this number must be equal to the desired range in [[BUILD]] units. If [[PROJ_WORKSLIKE]] is an [[RPG]] type ([[PROJECTILE_FLAG_RPG]]) this number is amount of time (in ticks) that a projectile travels before expiring. For example, if a projectile has a range of 52, then it will last for exactly two seconds before dying.<br />
<br />
For RPG projectiles this works together with [[PROJECTILE_FLAG_TIMED]] and [[PROJECTILE_FLAG_EXPLODEONTIMER]].<br />
<br />
<br />
<br />
[[Category:Projectile_structure_members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=PROJ_RANGE&diff=8227PROJ RANGE2009-05-14T01:44:39Z<p>Mblackwell: </p>
<hr />
<div>The amount of time (in ticks) that a projectile travels before expiring. For example, if a projectile has a range of 52, then it will last for exactly two seconds before dying.<br />
<br />
Works together with [[PROJECTILE_FLAG_TIMED]] and [[PROJECTILE_FLAG_EXPLODEONTIMER]].<br />
<br />
When [[PROJ_WORKSLIKE]] includes [[PROJECTILE_FLAG_KNEE]] this number must be equal to the range in [[BUILD]] units.<br />
<br />
[[Category:Projectile_structure_members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Talk:Ifbulletnear&diff=6480Talk:Ifbulletnear2008-01-25T02:36:31Z<p>Mblackwell: </p>
<hr />
<div>I rolled back the changes from ilovefoxes because they make no sense.<br />
<br />
::If condition returning 'true' if a projectile is near the actor. The projectile can be either a moving actor (such as, RPG) or a even impossible to dodge hitscan (such as, SHOTSPARK1).<br />
<br />
::Despite being a if condition, this command automatically set the actor in a new angle, even without using move.<br />
<br />
First off, all horrible grammar aside, let's address the first point that needs clarified: by detecting if a hitscan projectile is near, does the command only return true if the point of impact is near, or if the "path" of the projectile is near?<br />
<br />
Secondly, when you say that the command automatically sets the actor in a new angle, you don't say why or how the angle is determined. Does it make it face the projectile? I don't think angle-changing is the intended purpose of this command, so is this a bug?<br />
--[[User:Usurper|Usurper]] 18:57, 20 January 2008 (PST)<br />
<br />
<br />
:::: As far as I know it only detects the projectile actor itself, which means for bullets it will be where it hit, and for other projectiles it would be when their path crosses (since the actor is "physically" on said path). So to be that specific is a bit silly and confusing.<br />
<br />
::::Also iirc there is no angle change unless you use the dodgebullet command. I could be wrong, and I'm too tired to check, but at least that's what I recall. <br />
::::::--[[User:Mblackwell|Mblackwell]] 18:36, 24 January 2008 (PST)</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Htbposz&diff=6454Htbposz2007-12-18T08:42:13Z<p>Mblackwell: </p>
<hr />
<div>'''htbposz''' is the z coordinate of the actor in question suffering hittype damage.<br />
<br />
[[Category:Sprite structure members]]</div>Mblackwellhttps://wiki.eduke32.com/w/index.php?title=Mdflags&diff=6426Mdflags2007-12-09T08:18:10Z<p>Mblackwell: </p>
<hr />
<div>mdflags <number><br />
<br />
Sets flags for how to draw an [[actor]]'s model. These flags never affect the gameplay. To be noted, it is used by the maphacks. Add all together all wanted flag values, and use that as <number>.<br />
<br />
Mdflags is available for [[sprite]] structs and for [[Members of the wall structure|wall]] structs.<br />
<br />
Flag values for sprite mdflags are:<br />
<br />
:'''1''' - Make sprite be dispalyed as sprite(not model)<br />
:'''2''' - No model animation. <br />
<br />
[[Category:EDuke32 specific commands]]<br />
[[Category:Sprite manipulation]]</div>Mblackwell