https://wiki.eduke32.com/w/api.php?action=feedcontributions&user=Nexus&feedformat=atomEDukeWiki - User contributions [en]2024-03-29T10:21:08ZUser contributionsMediaWiki 1.42.0-alphahttps://wiki.eduke32.com/w/index.php?title=SECTOREFFECTOR&diff=12247SECTOREFFECTOR2015-08-11T18:56:54Z<p>Nexus: create redirect</p>
<hr />
<div>#REDIRECT[[Level_editing#Sector_Effectors]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Uw_framerate&diff=12118Uw framerate2015-02-11T20:08:45Z<p>Nexus: .</p>
<hr />
<div>This is not used.<br />
<br />
[[Category:Userdef structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=PROJ_TOFFSET&diff=12117PROJ TOFFSET2015-02-11T20:07:36Z<p>Nexus: link</p>
<hr />
<div>The y offset of the trail spawned by the [[PROJ_TRAIL]] variable. Positive numbers move the sprite down.<br />
<br />
[[Category:Projectile_structure_members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Got_access&diff=12116Got access2015-02-11T20:01:17Z<p>Nexus: reorder</p>
<hr />
<div>A [[bitfield]] that holds if the current player has the access cards or not.<br />
<br />
:'''1''' - Blue access card<br />
:'''2''' - Red access card<br />
:'''4''' - Yellow access card<br />
<br />
[[Category:Bitfields]]<br />
[[Category:Player structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Differences_between_Player_and_Holoduke&diff=12114Differences between Player and Holoduke2015-02-05T20:28:49Z<p>Nexus: copyed</p>
<hr />
<div>A player actor and a Holoduke seem to share several attributes. Care must be taken while using events related to an actor APLAYER.<br />
<br />
A player and a hologram have the same [[picnum]], [[statnum]], [[yvel]], etc. This is most likely deliberate, in order to avoid an enemy being able to tell the difference.<br />
<br />
One difference that seems to be constant is the [[owner]]. A hologram always will return a value of -1. A player will return a specific value, or a value of zero during [[EVENT_EGS]].</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_HOLODUKEOFF&diff=12113EVENT HOLODUKEOFF2015-02-05T20:21:52Z<p>Nexus: typo</p>
<hr />
<div>EVENT_HOLODUKEOFF is a [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is called when the player deactivates the '''HoloDuke''' ( default key "h" ), see also [[EVENT_HOLODUKEON]].<br />
<br />
Set gamevar [[RETURN]] to any non-zero value to ignore the key.<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Color&diff=12112Color2015-02-05T20:14:48Z<p>Nexus: copyed</p>
<hr />
<div>Color chosen in the player options menu.<br />
<br />
[[Category:Userdef structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Statusbarscale&diff=12111Statusbarscale2015-02-05T20:14:26Z<p>Nexus: typo</p>
<hr />
<div>Holds the scale of the player's status bars - decreases by a certain amount when you change it in the game menu. The values normally available are as follows:<br />
<pre><br />
100 (Full size)<br />
92<br />
84<br />
76<br />
68<br />
60<br />
52<br />
44<br />
37 (smallest size)<br />
</pre><br />
<br />
Any lower value can be chosen, including zero. Zero will make the status bar disapper, but the screen height will possibly increase.<br />
<br />
If you want to have a different base value (for example, Duke Nukem 3D status bar scale in 100% is 34px of height), this can be easily done changing the BOTTOMSTATUSBAR height in px. Modifying that tile will result in a hard-coded modification ingame.<br />
<br />
[[Category:Userdef structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Statusbarscale&diff=12110Statusbarscale2015-02-05T20:13:43Z<p>Nexus: typo</p>
<hr />
<div>Holds the scale of the player's status bars - decreases by a certain amount when you change it in the game menu. The values normally avaliable are as follows:<br />
<pre><br />
100 (Full size)<br />
92<br />
84<br />
76<br />
68<br />
60<br />
52<br />
44<br />
37 (smallest size)<br />
</pre><br />
<br />
Any lower value can be chosen, including zero. Zero will make the status bar disapper, but the screen height will possibly increase.<br />
<br />
If you want to have a different base value (for example, Duke Nukem 3D status bar scale in 100% is 34px of height), this can be easily done changing the BOTTOMSTATUSBAR height in px. Modifying that tile will result in a hard-coded modification ingame.<br />
<br />
[[Category:Userdef structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_INVENTORYLEFT&diff=12109EVENT INVENTORYLEFT2015-02-05T20:13:08Z<p>Nexus: copyed</p>
<hr />
<div>EVENT_INVENTORYLEFT is [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is called when the player move to the left in his inventory ( default key is "[" ). See also [[EVENT_INVENTORYRIGHT]] and [[EVENT_INVENTORY]].<br />
<br />
Gamevar [[RETURN]] holds the value of the item being selected.<br />
<br />
:'''0''' - None<br />
:'''1''' - Portable Medkit<br />
:'''2''' - Steroids<br />
:'''3''' - Holoduke<br />
:'''4''' - Jetpack<br />
:'''5''' - Nightvision Googles<br />
:'''6''' - Scuba Gear<br />
:'''7''' - Boot<br />
<br />
Set the gamevar [[RETURN]] to one of these values will force the chosen item to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY10&diff=12108EVENT WEAPKEY102015-02-05T20:11:52Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY10 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the Freezer (''0'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY9&diff=12107EVENT WEAPKEY92015-02-05T20:10:57Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY9 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the laser tripbomb (''9'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY7&diff=12106EVENT WEAPKEY72015-02-05T20:09:22Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY7 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the Shrinker/Expander (''7'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY6&diff=12105EVENT WEAPKEY62015-02-05T20:08:41Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY6 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the pipe bomb (''6'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY5&diff=12104EVENT WEAPKEY52015-02-05T20:07:47Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY5 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the RPG (''5'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY4&diff=12103EVENT WEAPKEY42015-02-05T20:06:45Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY4 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the Ripper (''4'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY3&diff=12102EVENT WEAPKEY32015-02-05T20:06:02Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY3 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the shotgun (''3'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY2&diff=12101EVENT WEAPKEY22015-02-05T20:05:26Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY2 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the pistol (''2'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY1&diff=12100EVENT WEAPKEY12015-02-05T20:04:52Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY1 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to using the Mighty Boot as a primary weapon (''1'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to a certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_WEAPKEY8&diff=12099EVENT WEAPKEY82015-02-05T20:04:08Z<p>Nexus: typo</p>
<hr />
<div>EVENT_WEAPKEY8 is a [[EDuke32 event list|game event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to drawing the Devastator (''8'' by default).<br />
<br />
Gamevar [[RETURN]] holds the ID of the weapon being selected.<br />
Setting gamevar [[RETURN]] to certain value will force the chosen weapon to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Ceilingstat&diff=12098Ceilingstat2015-02-05T19:57:23Z<p>Nexus: link</p>
<hr />
<div>'''Ceilingstat''' is a sector-structure member similar to cstat, as it is a [[bitfield]].<br />
<br />
The known values are below:<br />
<br />
:'''1''' = Bit 0: Ceiling is a parallax sky/texture<br />
:'''2''' = Bit 1: Ceiling is sloped<br />
:'''4''' = Bit 2: Ceiling Texture's x & y is swapped<br />
:'''8''' = Bit 3: Ceiling Texture Expansion is on ["E" key in Build/Mapster32]<br />
:'''16''' = Bit 4: Ceiling Texture's x is flipped<br />
:'''32''' = Bit 5: Ceiling Texture's y is flipped<br />
:'''64''' = Bit 6: Ceiling Texture Relativity is on ["R" key in Build/Mapster32]<br />
<br />
:'''128''' = Bit 7: Masked Ceiling (different from being clear only for [[True_Room_Over_Room_Mapping_Guide|TROR]]-extended ceilings)<br />
:'''256''' = Bit 8: Translucent Masked Ceiling<br />
:'''384''' = Bit 7&8: Reverse Translucent Masked Ceiling<br />
:'''512''' = Bit 9: Ceiling blocks movement (for TROR)<br />
:'''1024''' = Bit 10: Ceiling is a TROR floor<br />
:'''2048''' = Bit 11: Ceiling blocks projectiles (for TROR)<br />
See [[floorstat]].<br />
<br />
[[Category:Bitfields]]<br />
[[Category:Sector structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Loogiex&diff=12097Loogiex2015-02-05T19:52:31Z<p>Nexus: typo</p>
<hr />
<div>Not accessible.<br />
<br />
[[Category:Player structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_PREVIOUSWEAPON&diff=12096EVENT PREVIOUSWEAPON2015-02-05T19:50:16Z<p>Nexus: typo</p>
<hr />
<div>EVENT_PREVIOUSWEAPON is a [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is called when the player takes the previous weapon he has ( default key is " ; " ). See also [[EVENT_NEXTWEAPON]].<br />
<br />
Gamevar [[RETURN]] doesn't correctly show the value of the selected weapon. But setting gamevar [[RETURN]] to certain value will determine what weapon will be chosen, including Mighty Foot which normaly isn't selected by this command.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_NEXTWEAPON&diff=12095EVENT NEXTWEAPON2015-02-05T19:49:00Z<p>Nexus: typo</p>
<hr />
<div>EVENT_NEXTWEAPON is a [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is called when the player take the next weapon he have ( default key is " ' " ). See also [[EVENT_PREVIOUSWEAPON]].<br />
<br />
Gamevar [[RETURN]] doesn't correctly show the value of the selected weapon. But setting gamevar [[RETURN]] to certain value will determine what weapon will be choosen, including Mighty Foot which normally isn't selected by this command.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Filler&diff=12094Filler2015-02-05T19:47:11Z<p>Nexus: missing word</p>
<hr />
<div>'''Filler''' is a member of the [[sector]] and [[sprite]] structures.<br />
<br />
It is a useless byte added to align the structures evenly a by word (2 bytes). It serves no purpose.<br />
[[Category:Sector structure members]]<br />
[[Category:Sprite structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Sector_Effector_Reference_Guide&diff=12093Sector Effector Reference Guide2015-02-05T19:41:09Z<p>Nexus: /* Sector Effector Lotag Listing */ -link</p>
<hr />
<div>{{Build Intro}}<br />
<br />
==Sector Effector Lotag Listing==<br />
{| class="wikitable"<br />
! bgcolor="#c0c0c0" | '''Tag number'''<br />
! bgcolor="#c0c0c0" | '''Name'''<br />
! bgcolor="#c0c0c0" | '''Associated [[Sector Tag Reference Guide|sector tag]]'''<br />
<br />
! bgcolor="#c0c0c0" | '''Description'''<br />
|-<br />
|'''[[SE0 | 0]]'''<br />
|Rotating Sector<br />
|30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]]. The hitag of this sectoreffector must be something other than zero because a sectoreffector with both tags equal to zero causes an error.<br />
|-<br />
|'''[[SE1 | 1]]'''<br />
| Pivot Sprite for SE 0<br />
| 30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]].<br />
|-<br />
|'''[[SE2|2]]'''<br />
|Earthquake<br />
|N/A<br />
|See [[:Category:Editing General Sector Effects#Earthquake]].<br />
|-<br />
|'''[[SE3|3]]'''<br />
|Random Lights After Shot Out<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink When Shot]]<br />
|-<br />
|'''[[SE4|4]]'''<br />
|Random Lights<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink]].<br />
|-<br />
|bgcolor="#ffb099"|'''[[Sector_effectors#SE5_-_Boss_Sector|5]]'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|When used with a series of sequentially numbered [[Level_editing#Locator|locator]]s, this causes the sector to move rapidly to the locator nearest the player. It also spawns some fireballs that won't hit the player. It was intended to be a boss ship in [[Lameduke]], but it was eventually abandoned. The effect is very buggy. There are graphics glitches, and the moving sector eventually seems to just go around in circles.<br />
|-<br />
|'''6'''<br />
|Subway<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#One Car Subways]].<br />
|-<br />
|'''7'''<br />
|Teleporter<br />
|N/A<br />
|See [[:Category:Editing Teleporters]]<br />
|-<br />
|'''8'''<br />
| Up Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''9''' <br />
|Down Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''10'''<br />
|Door Auto Close<br />
|20, 21, 22, 23, 25, or 26<br />
|Hitag = delay<br />
|-<br />
|'''11'''<br />
|Rotate Sector Door<br />
|23<br />
|Hinge for the swinging door. See [[Swinging Doors]].<br />
|-<br />
|'''12'''<br />
| Light Switch<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Light Switches]].<br />
|-<br />
|'''13''' <br />
| C-9 Explosive<br />
| N/A<br />
| See [[:Category:Editing C-9 Effects#Cracked Walls]].<br />
|-<br />
|'''14'''<br />
|Subway Car<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#Making Multi-Car Subways]].<br />
|-<br />
|'''[[Sector_effectors#SE15_-_Slide_Door|15]]'''<br />
|Slide Door<br />
|25<br />
|See [[Sliding Doors]].<br />
|-<br />
|bgcolor="#ffb099"|'''16'''<br />
|bgcolor="#ffb099"|Rotate Reactor Sector<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|All this does is rotate the sector a small amount and raise the ceiling by about a quarter of a step at runtime. It is an incomplete effect that is not used in the game.<br />
|-<br />
|'''[[SE17 | 17]]'''<br />
|Elevator Transport<br />
|15<br />
|See [[:Category:Editing Sectors That Rise and Fall#Elevator Transports]].<br />
|-<br />
|'''18'''<br />
|Incremental Sector Rise/Fall<br />
|N/A<br />
|Causes the sector to be raised or lowered by one step every time it is activated. Only works in version 1.4 or above. See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''19'''<br />
|Explosion Lowers Ceiling<br />
|N/A<br />
|If an explosion occurs in a sector containing this SE, the ceiling drops to the floor. This effect is not used in the game but is fully functional. The rate the ceiling falls can be controlled with a [[Level_editing#GPSPEED|GPSPEED]]. See [[:Category:Editing Sectors That Rise and Fall#Making the Ceiling Fall Upon an Explosion]].<br />
|-<br />
|'''20'''<br />
|Stretch (also known as "Bridge")<br />
|27<br />
||See [[:Category:Editing General Sector Effects#Stretching Sectors]].<br />
|-<br />
|'''21'''<br />
|Drop Floor<br />
|28<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''22'''<br />
|Teeth Door Prong<br />
|29<br />
|See [[Teeth Doors]]<br />
|-<br />
|'''23'''<br />
|One-Way Teleporter Destination<br />
|N/A<br />
|See [[:Category:Editing Teleporters#One Way Teleporters (Version 1.4 or 1.5 Required)]].<br />
|-<br />
|'''24'''<br />
|Conveyor Belt or Water Current<br />
|N/A<br />
||See [[:Category:Editing General Sector Effects#Conveyor Belts & Water Current]].<br />
|-<br />
|'''25'''<br />
|Engine<br />
|N/A<br />
|Ceiling continually lowers to the floor and raises again. Its speed can be regulated with a [[Level_editing#GPSPEED|GPSPEED]].<br />
|-<br />
|bgcolor="#ffb099"|'''26'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A rudimentary and incomplete implementation of a step escalator. The effect repeatedly raises the sector by two clicks and moves it one grid size 3 square in the direction of the SE's angle, and then snaps back instantly. It carries sprites along with it. The effect is incomplete, so there are graphics glitches like stretching textures, and it can kill Duke by carrying him into non-player space. Use with caution.<br />
|-<br />
|'''27'''<br />
|Demo Camera<br />
|N/A<br />
|Used to record demos.<br />
|-<br />
|'''28'''<br />
| Lightning<br />
|N/A<br />
|Version 1.4 or above<br />
|-<br />
|'''29'''<br />
|Float<br />
|N/A<br />
|See [[:Category:Editing Water#Making Waves]].<br />
|-<br />
|'''30'''<br />
|Two-Way Train<br />
|31<br />
|See [[:Category:Editing Moving Sectors#Two-Way Trains]].<br />
|-<br />
|'''[[Sector_effectors#SE31 - Floor Rise/Fall|31]]'''<br />
|Floor Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''[[Sector_effectors#SE32_-_Ceiling_Rise.2FFall|32]]'''<br />
|Ceiling Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''33'''<br />
|Earthquake Debris<br />
|N/A<br />
|Use in conjunction with an earthquake (SE 2) to spawn bits of scrap. See [[:Category:Editing General Sector Effects#Earthquake]]. It is also used in the exploding ceiling effect (see [[:Category:Editing C-9 Effects#Making the Ceiling Blow Up (And Enemies Fall From the Sky!)]]).<br />
|-<br />
|bgcolor="#ffb099"|'''34'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A conveyor belt effect very similar to SE 24. It moves at about half the speed, and the floor texture moves at right angles to the direction of motion.<br />
|-<br />
|bgcolor="#ffb099"|'''35'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|An unfinished implementation of a drill head. The floor is lowered at runtime, and then the ceiling lowers to the floor repeatedly. Silent, harmless explosions and bits of scrap are continually spawned in the sector. Can be combined with rotating sectors (SE 0,1) to simulate a drill, but is pretty much useless.<br />
|-<br />
|'''36'''<br />
|Projectile Shooter<br />
|N/A<br />
|See [[:Category:Editing Miscellaneous#Shooters]]<br />
|-<br />
|bgcolor="#99ff99"|'''[[SE49 | 49]]'''<br />
|bgcolor="#99ff99"|Point Light<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts uniform light in all directions as name suggests. Does not cast shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|-<br />
|bgcolor="#99ff99"|'''[[SE50|50]]'''<br />
|bgcolor="#99ff99"|Spotlight<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts light in one direction as name suggests. Casts shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
Angle of SE = direction light points in.<br />
Shade = width of light (range: -127 to 127)<br />
Extra = horizontal up/down angle. Light points roughly 45 degrees down by default. An extra of 100 points straight ahead. Positive values angle light up, negative values angle light downn.<br />
Owner = picnum of sprite/texture to project.<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
1-Way (press 1 on SE to make 1-sided) = Does not project shadow maps. Spotlights without shadows are much better for performance, and useful for projecting textures.<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|}<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Slope&diff=12053Slope2014-10-30T09:40:42Z<p>Nexus: create page</p>
<hr />
<div>See [[floorslope]] and [[ceilingslope]].</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Sector_Effector_Reference_Guide&diff=12052Sector Effector Reference Guide2014-10-29T10:51:27Z<p>Nexus: /* Sector Effector Lotag Listing */ -more links</p>
<hr />
<div>{{Build Intro}}<br />
<br />
==Sector Effector Lotag Listing==<br />
{| class="wikitable"<br />
! bgcolor="#c0c0c0" | '''Tag number'''<br />
! bgcolor="#c0c0c0" | '''Name'''<br />
! bgcolor="#c0c0c0" | '''Associated [[Sector Tag Reference Guide|sector tag]]'''<br />
<br />
! bgcolor="#c0c0c0" | '''Description'''<br />
|-<br />
|'''[[SE0 | 0]]'''<br />
|Rotating Sector<br />
|30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]]. The hitag of this sectoreffector must be something other than zero because a sectoreffector with both tags equal to zero causes an error.<br />
|-<br />
|'''[[SE1 | 1]]'''<br />
| Pivot Sprite for SE 0<br />
| 30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]].<br />
|-<br />
|'''[[SE2|2]]'''<br />
|Earthquake<br />
|N/A<br />
|See [[:Category:Editing General Sector Effects#Earthquake]].<br />
|-<br />
|'''[[SE3|3]]'''<br />
|Random Lights After Shot Out<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink When Shot]]<br />
|-<br />
|'''4'''<br />
|Random Lights<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink]].<br />
|-<br />
|bgcolor="#ffb099"|'''[[Sector_effectors#SE5_-_Boss_Sector|5]]'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|When used with a series of sequentially numbered [[Level_editing#Locator|locator]]s, this causes the sector to move rapidly to the locator nearest the player. It also spawns some fireballs that won't hit the player. It was intended to be a boss ship in [[Lameduke]], but it was eventually abandoned. The effect is very buggy. There are graphics glitches, and the moving sector eventually seems to just go around in circles.<br />
|-<br />
|'''6'''<br />
|Subway<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#One Car Subways]].<br />
|-<br />
|'''7'''<br />
|Teleporter<br />
|N/A<br />
|See [[:Category:Editing Teleporters]]<br />
|-<br />
|'''8'''<br />
| Up Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''9''' <br />
|Down Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''10'''<br />
|Door Auto Close<br />
|20, 21, 22, 23, 25, or 26<br />
|Hitag = delay<br />
|-<br />
|'''11'''<br />
|Rotate Sector Door<br />
|23<br />
|Hinge for the swinging door. See [[Swinging Doors]].<br />
|-<br />
|'''12'''<br />
| Light Switch<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Light Switches]].<br />
|-<br />
|'''13''' <br />
| C-9 Explosive<br />
| N/A<br />
| See [[:Category:Editing C-9 Effects#Cracked Walls]].<br />
|-<br />
|'''14'''<br />
|Subway Car<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#Making Multi-Car Subways]].<br />
|-<br />
|'''[[Sector_effectors#SE15_-_Slide_Door|15]]'''<br />
|Slide Door<br />
|25<br />
|See [[Sliding Doors]].<br />
|-<br />
|bgcolor="#ffb099"|'''16'''<br />
|bgcolor="#ffb099"|Rotate Reactor Sector<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|All this does is rotate the sector a small amount and raise the ceiling by about a quarter of a step at runtime. It is an incomplete effect that is not used in the game.<br />
|-<br />
|'''[[SE17 | 17]]'''<br />
|Elevator Transport<br />
|15<br />
|See [[:Category:Editing Sectors That Rise and Fall#Elevator Transports]].<br />
|-<br />
|'''18'''<br />
|Incremental Sector Rise/Fall<br />
|N/A<br />
|Causes the sector to be raised or lowered by one step every time it is activated. Only works in version 1.4 or above. See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''19'''<br />
|Explosion Lowers Ceiling<br />
|N/A<br />
|If an explosion occurs in a sector containing this SE, the ceiling drops to the floor. This effect is not used in the game but is fully functional. The rate the ceiling falls can be controlled with a [[Level_editing#GPSPEED|GPSPEED]]. See [[:Category:Editing Sectors That Rise and Fall#Making the Ceiling Fall Upon an Explosion]].<br />
|-<br />
|'''20'''<br />
|Stretch (also known as "Bridge")<br />
|27<br />
||See [[:Category:Editing General Sector Effects#Stretching Sectors]].<br />
|-<br />
|'''21'''<br />
|Drop Floor<br />
|28<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''22'''<br />
|Teeth Door Prong<br />
|29<br />
|See [[Teeth Doors]]<br />
|-<br />
|'''23'''<br />
|One-Way Teleporter Destination<br />
|N/A<br />
|See [[:Category:Editing Teleporters#One Way Teleporters (Version 1.4 or 1.5 Required)]].<br />
|-<br />
|'''24'''<br />
|Conveyor Belt or Water Current<br />
|N/A<br />
||See [[:Category:Editing General Sector Effects#Conveyor Belts & Water Current]].<br />
|-<br />
|'''25'''<br />
|Engine<br />
|N/A<br />
|Ceiling continually lowers to the floor and raises again. Its speed can be regulated with a [[Level_editing#GPSPEED|GPSPEED]].<br />
|-<br />
|bgcolor="#ffb099"|'''26'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A rudimentary and incomplete implementation of a step escalator. The effect repeatedly raises the sector by two clicks and moves it one grid size 3 square in the direction of the SE's angle, and then snaps back instantly. It carries sprites along with it. The effect is incomplete, so there are graphics glitches like stretching textures, and it can kill Duke by carrying him into non-player space. Use with caution.<br />
|-<br />
|'''27'''<br />
|Demo Camera<br />
|N/A<br />
|Used to record demos.<br />
|-<br />
|'''28'''<br />
| Lightning<br />
|N/A<br />
|Version 1.4 or above<br />
|-<br />
|'''29'''<br />
|Float<br />
|N/A<br />
|See [[:Category:Editing Water#Making Waves]].<br />
|-<br />
|'''30'''<br />
|Two-Way Train<br />
|31<br />
|See [[:Category:Editing Moving Sectors#Two-Way Trains]].<br />
|-<br />
|'''[[Sector_effectors#SE31 - Floor Rise/Fall|31]]'''<br />
|Floor Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''[[Sector_effectors#SE32_-_Ceiling_Rise.2FFall|32]]'''<br />
|Ceiling Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''33'''<br />
|Earthquake Debris<br />
|N/A<br />
|Use in conjunction with an earthquake (SE 2) to spawn bits of scrap. See [[:Category:Editing General Sector Effects#Earthquake]]. It is also used in the exploding ceiling effect (see [[:Category:Editing C-9 Effects#Making the Ceiling Blow Up (And Enemies Fall From the Sky!)]]).<br />
|-<br />
|bgcolor="#ffb099"|'''34'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A conveyor belt effect very similar to SE 24. It moves at about half the speed, and the floor texture moves at right angles to the direction of motion.<br />
|-<br />
|bgcolor="#ffb099"|'''35'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|An unfinished implementation of a drill head. The floor is lowered at runtime, and then the ceiling lowers to the floor repeatedly. Silent, harmless explosions and bits of scrap are continually spawned in the sector. Can be combined with rotating sectors (SE 0,1) to simulate a drill, but is pretty much useless.<br />
|-<br />
|'''36'''<br />
|Projectile Shooter<br />
|N/A<br />
|See [[:Category:Editing Miscellaneous#Shooters]]<br />
|-<br />
|bgcolor="#99ff99"|'''[[SE49 | 49]]'''<br />
|bgcolor="#99ff99"|Point Light<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts uniform light in all directions as name suggests. Does not cast shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|-<br />
|bgcolor="#99ff99"|'''[[SE50|50]]'''<br />
|bgcolor="#99ff99"|Spotlight<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts light in one direction as name suggests. Casts shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
Angle of SE = direction light points in.<br />
Shade = width of light (range: -127 to 127)<br />
Extra = horizontal up/down angle. Light points roughly 45 degrees down by default. An extra of 100 points straight ahead. Positive values angle light up, negative values angle light downn.<br />
Owner = picnum of sprite/texture to project.<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
1-Way (press 1 on SE to make 1-sided) = Does not project shadow maps. Spotlights without shadows are much better for performance, and useful for projecting textures.<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|}<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=SE2&diff=12051SE22014-10-29T10:48:48Z<p>Nexus: add category</p>
<hr />
<div>'''SE2''' or '''Earthquake''' is a SECTOREFFECTOR used to trigger an earthquake. The earthquake effect shakes the screen for around 4 seconds, shifts the sector about 280 Build Units (9 Squares on grid size 6) and affects slopes.<br />
<br />
==Setup==<br />
Mappers can create an SE2 by placing a [[SECTOREFFECTOR]] into their map and editing it's properties in 2D Mode.<br />
<br />
{| border="1" class="wikitable"<br />
|+ SE2 Properties<br />
! Property<br />
! Value<br />
! Notes<br />
|-<br />
! Lotag<br />
| 2 || Use '''ALT+T''' in 2D Mode to set the Lotag value. Set it to 2.<br />
|-<br />
! Angle<br />
| Direction || Set using '''<''' and '''>''' in 2D mode, this determines in which direction the sector will shift.<br />
|-<br />
|}<br />
<br />
==Notes==<br />
* This effect can only be activated by placing a [[MASTERSWITCH]] in the same sector.<br />
* Sprites in the sector may continue to shake after the effect has completed.<br />
* You can place [[SE33]] sprites to spawn debris but these will spawn debris whenever any earthquake occurs in the map.<br />
* If this SE is placed in a sloped sector, the slope will appear flat before the effect is triggered. Once the effect is triggered it will gradually slope to 1536 units (3 presses of '''[''' or ''']''').<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=SE3&diff=12050SE32014-10-29T10:47:30Z<p>Nexus: gammar, add category</p>
<hr />
<div>'''SE3''', referred to as '''Random Lights after shot out''', is a SECTOREFFECTOR which causes shading to change randomly once a light texture is damaged, making the broken lights appear to be flickering.<br />
<br />
==Setup==<br />
Mappers can create an SE3 by placing a [[SECTOREFFECTOR]] into their map and editing its properties in 2D Mode.<br />
<br />
{| border="1" class="wikitable"<br />
|+ SE3 Properties<br />
! Property<br />
! Value<br />
! Notes<br />
|-<br />
! Lotag<br />
| 3 || Use '''ALT+T''' in 2D Mode to set the Lotag value. Set it to 3.<br />
|-<br />
! Hitag<br />
| Channel || Use '''ALT+H''' in 2D Mode to set the Hitag value, this must match the hitag of either a sector or a wall with a breakable light texture.<br />
|-<br />
! Shade<br />
| On Shade || Use ''''+S''' in 3D Mode to edit the sprite's shade. This will be the shade of the sector whilst the lights are '''ON'''.<br />
<br />
You can use the same controls to shade the sector floor, ceiling and walls, this will be how the sector appears when the lights are '''OFF'''.<br />
|-<br />
! Pal<br />
| Off Palette || Use '''ALT+P''' in 3D Mode to set the palette, this will be the palette of the sector when the lights are '''OFF''' and will remain this way.<br />
<br />
You can use the same controls to set a palette on the sector floor, ceiling and walls, this will be how the sector appears when the lights are '''ON'''.<br />
|-<br />
|}<br />
<br />
==Notes==<br />
* Lights will not always flash after the player destroys them, in this case, the lights just appear to be off.<br />
* You can use this effect with [[SE12]] (Light Switch), at least, until the lights are destroyed.<br />
* The effect can be used with walls, though you may have to experiment a little to make it work the way you want it to. Generally it only works with Two-Sided Non-Masked walls. It can work with a masked wall that has it's Hitscan bit set (Press '''H''' in 3D Mode) but the light texture will not break.<br />
* The SE3 does not have to be in the same sector as the light texture.<br />
<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Category:Editing_Doors&diff=12049Category:Editing Doors2014-10-29T00:06:56Z<p>Nexus: /* Doors */ -fix links</p>
<hr />
<div>{{Build Intro}}<br />
<strong>NOTE: Much of information on this page is from around 1999. Some may be outdated, and some may be incorrect -- this page exists to get you started with the Level Editing and may not currently cover some of the additional features available in Mapster32.</strong><br />
<br />
==Doors==<br />
Doors in Duke Nukem 3D are constructed in different ways using a combination of [[Sectors]], [[Sector Tag Reference Guide|Sector Tags]], and [[Sector Effector Reference Guide|Sector Effectors]]. Doors can be combined with [[GPSPEED]] sprites, [[activator]]/[[activatorlocked]] sprites, and [[masterswitch]] sprites to create a multitude of effects. Refer to the tutorial maps ''[[Media:Tutorial.map|TUTORIAL.MAP]]'' and ''[[Media:Advanced.map|ADVANCED.MAP]]'' as noted in the articles for reference.<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Sector_Effector_Reference_Guide&diff=12048Sector Effector Reference Guide2014-10-29T00:04:23Z<p>Nexus: /* Sector Effector Lotag Listing */ -rm stray formatting</p>
<hr />
<div>{{Build Intro}}<br />
<br />
==Sector Effector Lotag Listing==<br />
{| class="wikitable"<br />
! bgcolor="#c0c0c0" | '''Tag number'''<br />
! bgcolor="#c0c0c0" | '''Name'''<br />
! bgcolor="#c0c0c0" | '''Associated [[Sector Tag Reference Guide|sector tag]]'''<br />
<br />
! bgcolor="#c0c0c0" | '''Description'''<br />
|-<br />
|'''[[SE0 | 0]]'''<br />
|Rotating Sector<br />
|30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]]. The hitag of this sectoreffector must be something other than zero because a sectoreffector with both tags equal to zero causes an error.<br />
|-<br />
|'''[[SE1 | 1]]'''<br />
| Pivot Sprite for SE 0<br />
| 30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]].<br />
|-<br />
|'''2'''<br />
|Earthquake<br />
|N/A<br />
|See [[:Category:Editing General Sector Effects#Earthquake]].<br />
|-<br />
|'''3'''<br />
|Random Lights After Shot Out<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink When Shot]]<br />
|-<br />
|'''4'''<br />
|Random Lights<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink]].<br />
|-<br />
|bgcolor="#ffb099"|'''[[Sector_effectors#SE5_-_Boss_Sector|5]]'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|When used with a series of sequentially numbered [[Level_editing#Locator|locator]]s, this causes the sector to move rapidly to the locator nearest the player. It also spawns some fireballs that won't hit the player. It was intended to be a boss ship in [[Lameduke]], but it was eventually abandoned. The effect is very buggy. There are graphics glitches, and the moving sector eventually seems to just go around in circles.<br />
|-<br />
|'''6'''<br />
|Subway<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#One Car Subways]].<br />
|-<br />
|'''7'''<br />
|Teleporter<br />
|N/A<br />
|See [[:Category:Editing Teleporters]]<br />
|-<br />
|'''8'''<br />
| Up Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''9''' <br />
|Down Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''10'''<br />
|Door Auto Close<br />
|20, 21, 22, 23, 25, or 26<br />
|Hitag = delay<br />
|-<br />
|'''11'''<br />
|Rotate Sector Door<br />
|23<br />
|Hinge for the swinging door. See [[Swinging Doors]].<br />
|-<br />
|'''12'''<br />
| Light Switch<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Light Switches]].<br />
|-<br />
|'''13''' <br />
| C-9 Explosive<br />
| N/A<br />
| See [[:Category:Editing C-9 Effects#Cracked Walls]].<br />
|-<br />
|'''14'''<br />
|Subway Car<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#Making Multi-Car Subways]].<br />
|-<br />
|'''[[Sector_effectors#SE15_-_Slide_Door|15]]'''<br />
|Slide Door<br />
|25<br />
|See [[Sliding Doors]].<br />
|-<br />
|bgcolor="#ffb099"|'''16'''<br />
|bgcolor="#ffb099"|Rotate Reactor Sector<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|All this does is rotate the sector a small amount and raise the ceiling by about a quarter of a step at runtime. It is an incomplete effect that is not used in the game.<br />
|-<br />
|'''[[SE17 | 17]]'''<br />
|Elevator Transport<br />
|15<br />
|See [[:Category:Editing Sectors That Rise and Fall#Elevator Transports]].<br />
|-<br />
|'''18'''<br />
|Incremental Sector Rise/Fall<br />
|N/A<br />
|Causes the sector to be raised or lowered by one step every time it is activated. Only works in version 1.4 or above. See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''19'''<br />
|Explosion Lowers Ceiling<br />
|N/A<br />
|If an explosion occurs in a sector containing this SE, the ceiling drops to the floor. This effect is not used in the game but is fully functional. The rate the ceiling falls can be controlled with a [[Level_editing#GPSPEED|GPSPEED]]. See [[:Category:Editing Sectors That Rise and Fall#Making the Ceiling Fall Upon an Explosion]].<br />
|-<br />
|'''20'''<br />
|Stretch (also known as "Bridge")<br />
|27<br />
||See [[:Category:Editing General Sector Effects#Stretching Sectors]].<br />
|-<br />
|'''21'''<br />
|Drop Floor<br />
|28<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''22'''<br />
|Teeth Door Prong<br />
|29<br />
|See [[Teeth Doors]]<br />
|-<br />
|'''23'''<br />
|One-Way Teleporter Destination<br />
|N/A<br />
|See [[:Category:Editing Teleporters#One Way Teleporters (Version 1.4 or 1.5 Required)]].<br />
|-<br />
|'''24'''<br />
|Conveyor Belt or Water Current<br />
|N/A<br />
||See [[:Category:Editing General Sector Effects#Conveyor Belts & Water Current]].<br />
|-<br />
|'''25'''<br />
|Engine<br />
|N/A<br />
|Ceiling continually lowers to the floor and raises again. Its speed can be regulated with a [[Level_editing#GPSPEED|GPSPEED]].<br />
|-<br />
|bgcolor="#ffb099"|'''26'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A rudimentary and incomplete implementation of a step escalator. The effect repeatedly raises the sector by two clicks and moves it one grid size 3 square in the direction of the SE's angle, and then snaps back instantly. It carries sprites along with it. The effect is incomplete, so there are graphics glitches like stretching textures, and it can kill Duke by carrying him into non-player space. Use with caution.<br />
|-<br />
|'''27'''<br />
|Demo Camera<br />
|N/A<br />
|Used to record demos.<br />
|-<br />
|'''28'''<br />
| Lightning<br />
|N/A<br />
|Version 1.4 or above<br />
|-<br />
|'''29'''<br />
|Float<br />
|N/A<br />
|See [[:Category:Editing Water#Making Waves]].<br />
|-<br />
|'''30'''<br />
|Two-Way Train<br />
|31<br />
|See [[:Category:Editing Moving Sectors#Two-Way Trains]].<br />
|-<br />
|'''[[Sector_effectors#SE31 - Floor Rise/Fall|31]]'''<br />
|Floor Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''[[Sector_effectors#SE32_-_Ceiling_Rise.2FFall|32]]'''<br />
|Ceiling Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''33'''<br />
|Earthquake Debris<br />
|N/A<br />
|Use in conjunction with an earthquake (SE 2) to spawn bits of scrap. See [[:Category:Editing General Sector Effects#Earthquake]]. It is also used in the exploding ceiling effect (see [[:Category:Editing C-9 Effects#Making the Ceiling Blow Up (And Enemies Fall From the Sky!)]]).<br />
|-<br />
|bgcolor="#ffb099"|'''34'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A conveyor belt effect very similar to SE 24. It moves at about half the speed, and the floor texture moves at right angles to the direction of motion.<br />
|-<br />
|bgcolor="#ffb099"|'''35'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|An unfinished implementation of a drill head. The floor is lowered at runtime, and then the ceiling lowers to the floor repeatedly. Silent, harmless explosions and bits of scrap are continually spawned in the sector. Can be combined with rotating sectors (SE 0,1) to simulate a drill, but is pretty much useless.<br />
|-<br />
|'''36'''<br />
|Projectile Shooter<br />
|N/A<br />
|See [[:Category:Editing Miscellaneous#Shooters]]<br />
|-<br />
|bgcolor="#99ff99"|'''[[SE49 | 49]]'''<br />
|bgcolor="#99ff99"|Point Light<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts uniform light in all directions as name suggests. Does not cast shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|-<br />
|bgcolor="#99ff99"|'''50'''<br />
|bgcolor="#99ff99"|Spotlight<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts light in one direction as name suggests. Casts shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
Angle of SE = direction light points in.<br />
Shade = width of light (range: -127 to 127)<br />
Extra = horizontal up/down angle. Light points roughly 45 degrees down by default. An extra of 100 points straight ahead. Positive values angle light up, negative values angle light downn.<br />
Owner = picnum of sprite/texture to project.<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
1-Way (press 1 on SE to make 1-sided) = Does not project shadow maps. Spotlights without shadows are much better for performance, and useful for projecting textures.<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|}<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_SWIMUP&diff=12047EVENT SWIMUP2014-10-28T23:10:52Z<p>Nexus: grammar</p>
<hr />
<div>EVENT_SWIMUP is a [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is called when the player is in the water and he swims up (works with the "jump" key, default is "a" ). See also [[EVENT_SWIMDOWN]].<br />
<br />
Set gamevar [[RETURN]] to any non-zero value to ignore the key.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Change_the_player%27s_jump_height&diff=12046Change the player's jump height2014-10-27T20:34:30Z<p>Nexus: decap</p>
<hr />
<div>You can use the player member [[jumping_counter]] to limit the player's jump to less Olympic heights, or make the player's jump even more superhuman.<br />
<br />
The [[jumping_counter]] increments from 0 (not jumping) to 1441 (end of jump) in increments of 180, as follows:<br />
<br />
0<br />
181<br />
361<br />
541<br />
721<br />
901<br />
1081<br />
1261<br />
1441<br />
<br />
NOTE: In water surface sectors ([[lotag]] 1), the counter will only reach up to 901.<br />
<br />
By manually setting the counter to 0 or a value above 1440 when the counter reaches one of these values, you can decrease the duration of the jump by effectively cancelling it mid-jump. Additionally, you can use a similar method to extend the jump height of the player.<br />
<br />
You'll need a gamevar to hold the value of [[jumping_counter]].<br />
<br />
<pre>gamevar temp 0 2</pre><br />
<br />
Inside the APLAYER actor, use the following code to cut the jump duration in half:<br />
<br />
<pre><br />
getplayer[THISACTOR].jumping_counter temp<br />
ifvare temp 721 <br />
{<br />
setplayer[THISACTOR].jumping_counter 0 <br />
}<br />
</pre><br />
<br />
If you want to increase jump height instead of lowering it, you can do this instead:<br />
<pre><br />
getplayer[THISACTOR].jumping_counter temp<br />
ifvare temp 1261 <br />
{<br />
setplayer[THISACTOR].jumping_counter 362 <br />
}<br />
</pre><br />
The above example increases the jump duration by 5 tics. The default jumping height is 9 tics without any changes in the code. The reason 1 is added to the counter when a jump is extended is to prevent an endless jumping loop from occuring. It is recommended to check for 126x when extending the jump to maximize jumping velocity(or [[poszv]]).<br />
<br />
[[Category: Tutorials]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Change_the_player%27s_jump_height&diff=12045Change the player's jump height2014-10-27T20:33:48Z<p>Nexus: brackets</p>
<hr />
<div>You can use the player member [[jumping_counter]] to limit the player's jump to less Olympic heights, or make the player's jump even more superhuman.<br />
<br />
The [[jumping_counter]] increments from 0 (not jumping) to 1441 (end of jump) in increments of 180, as follows:<br />
<br />
0<br />
181<br />
361<br />
541<br />
721<br />
901<br />
1081<br />
1261<br />
1441<br />
<br />
NOTE: In water surface sectors ([[LOTAG]] 1), the counter will only reach up to 901.<br />
<br />
By manually setting the counter to 0 or a value above 1440 when the counter reaches one of these values, you can decrease the duration of the jump by effectively cancelling it mid-jump. Additionally, you can use a similar method to extend the jump height of the player.<br />
<br />
You'll need a gamevar to hold the value of [[jumping_counter]].<br />
<br />
<pre>gamevar temp 0 2</pre><br />
<br />
Inside the APLAYER actor, use the following code to cut the jump duration in half:<br />
<br />
<pre><br />
getplayer[THISACTOR].jumping_counter temp<br />
ifvare temp 721 <br />
{<br />
setplayer[THISACTOR].jumping_counter 0 <br />
}<br />
</pre><br />
<br />
If you want to increase jump height instead of lowering it, you can do this instead:<br />
<pre><br />
getplayer[THISACTOR].jumping_counter temp<br />
ifvare temp 1261 <br />
{<br />
setplayer[THISACTOR].jumping_counter 362 <br />
}<br />
</pre><br />
The above example increases the jump duration by 5 tics. The default jumping height is 9 tics without any changes in the code. The reason 1 is added to the counter when a jump is extended is to prevent an endless jumping loop from occuring. It is recommended to check for 126x when extending the jump to maximize jumping velocity(or [[poszv]]).<br />
<br />
[[Category: Tutorials]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Cstat_(wall)&diff=12043Cstat (wall)2014-10-27T10:04:03Z<p>Nexus: spelling</p>
<hr />
<div>A [[bitfield]] for how to draw a wall, as well as a few flags for interaction. Add all together all wanted flag values.<br />
<br />
Flag values for wall cstat are:<br />
<br />
:'''1''' - Make wall blockable<br />
:'''2''' - Make bottoms of invisible walls swapped<br />
:'''4''' - Align picture on bottom<br />
:'''8''' - Flip wall around y-axis<br />
:'''16''' - Make masking wall<br />
:'''32''' - Make wall one sided<br />
:'''64''' - Make wall able to be hit by weapons<br />
:'''128''' - Make wall transparent<br />
:'''256''' - Flip wall around x-axis<br />
:'''512''' - Second transparency level (combine with cstat '''128''')<br />
<br />
Unused bits are '''NOT''' free for user programming, but are rather reserved for potential future EDuke32 features.<br />
<br />
[[Category:Bitfields]]<br />
[[Category:Wall structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Wallptr&diff=12042Wallptr2014-10-27T06:59:34Z<p>Nexus: fix link</p>
<hr />
<div>This is the [[firstwall]] of a sector.<br />
<br />
[[Category:Sector structure members]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_INVENTORYRIGHT&diff=12041EVENT INVENTORYRIGHT2014-10-26T23:47:51Z<p>Nexus: grammar</p>
<hr />
<div>EVENT_INVENTORYRIGHT is a [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is called when the player moves to the right in his inventory ( default key is "]" ). See also [[EVENT_INVENTORYLEFT]] and [[EVENT_INVENTORY]].<br />
<br />
Gamevar [[RETURN]] holds the value of the item being selected.<br />
<br />
:'''0''' - None<br />
:'''1''' - Portable Medkit<br />
:'''2''' - Steroids<br />
:'''3''' - Holoduke<br />
:'''4''' - Jetpack<br />
:'''5''' - Nightvision Googles<br />
:'''6''' - Scuba Gear<br />
:'''7''' - Boot<br />
<br />
Setting gamevar [[RETURN]] to a certain value will force that item to be selected.<br />
<br />
[[Category:Events]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Setactorsoundpitch&diff=12039Setactorsoundpitch2014-10-26T23:44:44Z<p>Nexus: grammar</p>
<hr />
<div>'''setactorsoundpitch''' <actor#> <sound#> <pitchoffset><br />
<br />
Can be used to change the pitch of a playing sound. Command was added to r2104 by helixhorned.<br />
<br />
The pitch offset has the same meaning as the [[definesound]] pitch range endpoints,<br />
i.e. the units are 1/100th of a semitone. Note that just like the random pitch<br />
offset, increasing the pitch makes the sound duration shorter (and vice versa).<br />
<br />
[[Category:EDuke32 specific commands]]<br />
[[Category:Sprite manipulation]]<br />
[[Category:Sound manipulation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Category:Editing_C-9_Effects&diff=12038Category:Editing C-9 Effects2014-10-26T23:41:48Z<p>Nexus: /* Cracked Walls */ -link</p>
<hr />
<div>{{Build Intro}}<br />
<strong>NOTE: Much of information on this page is from around 1999. Some may be outdated, and some may be incorrect -- this page exists to get you started with the Level Editing and may not currently cover some of the additional features available in Mapster32.</strong><br />
__NOTOC__<br />
==C-9 Canisters (Visible)==<br />
C-9 is what creates the majority of choreographed explosions in Duke,Nukem 3D. To create an explosive can, simply place a sprite where you want the can to be. Change it to either the C-9 sprite (#1247), the OOZFILTER sprite (#1079), or the exploding barrel sprite (#1238). If you want to place explosive underwater mines, place the BOUNCEMINE sprite (#940). If you own version 1.4 or 1.5 of Duke Nukem 3D, you can use the GUNPOWDERBARREL (#4360) as well.<br />
<br />
==Switch Activated Explosions==<br />
This effect allows you to choreograph explosions and set them off via a switch.<br />
* STEP 1: Place a switch sprite somewhere in your level. This will be where you set off the explosion from. Give the switch sprite a unique lotag value.<br />
* STEP 2: Place one Masterswitch sprite in *every* sector that you want an explosion to take place in. Give every single Masterswitch sprite the same lotag value that you gave the switch. If you want to create a delay between flipping the switch and the first explosion, give the Masterswitch a hitag value of the delay you wish to have.<br />
* STEP 3: Place C-9 sprites (#1247) everywhere you want an explosion to take place. You can raise the sprites to where you want, creating some nicely choreographed explosions.<br />
* NOTE 1: Placing a large number of C-9 sprites can cause your computer to slow drastically if you are running on a slower processor.<br />
* STEP 4: Shrink each C-9 sprite as far as you can width wise. This can be done by using the [5]+[4] key combination on the *numberpad*. When the sprites shrink no farther, you know that you are as small as you can get. In game, these C-9 barrels will be invisible.<br />
* STEP 5: Give every C-9 sprite a hitag value equal to the lotag value that you gave the switch in step 1.<br />
* STEP 6: Now give each C-9 sprite any lotag value that you want. The lotag value for each C-9 sprite is the delay that the C-9 will wait before exploding.<br />
* NOTE 2: A lotag value of 0 on the C-9 sprites will cause these sprites to *not* explode. Make sure that the lotag value is greater than 0.<br />
* NOTE 3: A lotag value of 96 is roughly one second. Experiment to find out what is best for your situation.<br />
<br />
==Touchplate Activated Explosions==<br />
To create Touchplate activated explosions, follow the exact same procedure in the above section (Switch Activated Explosions). The only change here is that you replace the switch sprite with a Touchplate sprite.<br />
<br />
==Cracked Walls==<br />
This effect is what allows the player to launch some sort of explosive at a crack in a wall, generally forming a hole in the wall in which the player can walk through. <br />
<br />
* STEP 1: Create your "hole" sectors where you want the hole to be. They all should be valid player space. You can use as many sectors as you want, but the more sectors you use, the more work you will have to put into this construction. Make this hole look like you want it to look *after* the explosion has occurred. You can tilt the floor and ceiling as much as you want as well. <br />
* NOTE 1: The floor and ceiling should fit perfectly when lowered together (i.e. - the slope amount for each should be the *exact* same). This is not required, but it certainly makes the effect look better. Definitely make sure that the [[firstwall]] of any sector that has a tilted floor or ceiling is the TALLEST part of that sector. The game will "close" the hole at run time by lowering the ceiling to the floor AT THE FIRSTWALL, so if there are any parts of the sector where the ceiling is further from the floor than that the hole will not close completely and leave a triangular gap.<br />
* STEP 2: Place a crack sprite (#546, #547, #548, or #549) on the wall in front of the hole sectors. Give the crack sprite a unique hitag value. <br />
* NOTE 2: It is recommended to make the crack sprite slightly transparent. This can be done by pressing the [T] key on the sprite while in 3D mode. <br />
* STEP 3: Place one sector effector sprite in each hole sector. Give each sprite the same hitag value that you gave the crack sprite. Now give each a lotag value of 13. <br />
* STEP 4: Place C-9 sprites throughout your hole if you want to have explosions when the hole is blown open. If you do not wish to have any explosions take place, skip this step. Shrink each C-9 sprite as far as you can width wise (with the [4]+[5] key combination on the *numberpad*). When the sprites shrink no farther, you know that you are as small as you can get. Give each C-9 sprite the same hitag value that you gave the crack sprite. Now give each C-9 sprite a lotag value equal to the delay that you want the C-9 to have before exploding. <br />
* STEP 5: You are now completely finished! Take a look at the tutorial map if you do not fully understand.<br />
<br />
==Fixing The "Texture Problem"==<br />
This is a common problem that occurs when making cracked walls and it can make a level look very ugly. The problem is that, when a cracked wall is blown up, the textures above and below the hole misalign. To fix this problem, simply press the [O] (the letter o, not the number zero) key on the misaligned walls in 3D mode. The problem will correct itself, and will be correct in the game. The tutorial map shows the effect with this problem, and without this problem. Note that no aligning is needed on the textures at all.<br />
<br />
==Making the Ceiling Blow Up (And Enemies Fall From the Sky!)==<br />
First seen in Episode 1, Level 2, this effect is one of the coolest, and one of the most complex effects there is. When constructed correctly, this effect can look '''quite''' nice. <br />
<br />
* STEP 1: Construct the sector that will explode. Make it look as if the explosion has already taken place. The ceiling for this sector should have a parallaxed sky, and this texture '''MUST''' appear in at least one other place on the map. If it does not, this effect will not work correctly! If you are not using parallax in your level, simple parallax the ceiling of the sector you will make in step 3. <br />
* STEP 2: Place one Touchplate sprite in the sector that you want to trigger the explosion from. Do *not* place this Touchplate in the sector that will explode. Give this Touchplate sprite a hitag value of 1 and a unique lotag value. <br />
* STEP 3: Create a small sector in an area of your map that will never be accessed by the player (i.e. - this sector should be by itself in the corner of your map or somewhere of the sort). In this sector, place one C-9 sprite. Give this C-9 sprite a hitag value equal to the lotag value of the Touchplate, and leave the lotag set as 0. Also place one Masterswitch sprite in this sector. Give this Masterswitch sprite a lotag value equal to the Touchplate lotag value, and leave the hitag value set at 0. <br />
* STEP 4: Place 2 sector effector sprites in the sector that will explode. Give one of these sprites a lotag value of 33, and leave the hitag set at 0. Then give the other sprite a lotag value of 13 and a hitag equal to the Touchplate lotag value. Raise the sprite with the lotag of 33 as far up as it goes (press [CTRL]+[PGUP] to do this). Raise the sprite with the lotag of 13 to the height of the ceiling of the surrounding sector. This part can be tricky, as you must make the sector effector with lotag of 13 *exactly* as high as the ceiling of the surrounding sector, or it won't look right. <br />
* NOTE 1: The angle for the sector effector sprite with the lotag of 13 should be straight down. If it is not, this effect will not work properly. <br />
* STEP 5: Place a few Respawn sprites (#9) in the sector that will explode, giving each a lotag value equal to the Touchplate lotag. Give each a hitag value equal to the sprite number that you wish to spawn. Raise each sprite up to the ceiling level. <br />
* STEP 6: Place one more sector effector sprite in the sector that will explode and give it a hitag equal to the Touchplate lotag. Also give this sprite a lotag of 8. This simulates the effect of light coming in through the hole, so make sure that the surrounding sector shade and the shade of the exploding sector is darker than 0. Leave the shade of this sprite set at 0 (it isn't required to be left at zero - just as long as the shade is brighter than the surroundings). <br />
* STEP 7: Place some C-9 sprites in the sector that will explode. Give them a hitag equal to the Touchplate lotag, and a lotag equal to the delay you wish them to wait before exploding. Raise these to any height that you want. Be sure to shrink them all the way width- wise with the [4]+[5] key combination on the numberpad. You are now finished! Take a look at the tutorial map if you do not fully understand.</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Level_editing&diff=12037Level editing2014-10-26T11:46:42Z<p>Nexus: /* Touchplates */ -rewrite</p>
<hr />
<div>{{Build Intro}}<br />
<div class="floatleft">__TOC__</div><br />
<br />
<strong>NOTE: This section is based on The Map Editing FAQ for Duke Nukem 3D v. 2.1 by Jonah Bishop, &copy;2000. The majority of the information presented here was written over five years ago. Some may be outdated, and some may be incorrect -- this page exists to get you started with the Level Editing and may not currently cover some of the additional features available in Mapster32, although as of 2011 some of the less well known yet handy new mapster32 features have been added.</strong><br />
<br />
==Information About Maps==<br />
===What is a map?===<br />
<br />
A "map" is a general term used to describe the levels in [[Duke Nukem 3D]] (or just about any other game for that matter). Maps include all the level information (effect parameters, wall placement, sprite placement, etc.).<br />
<br />
===What can I do to maps?===<br />
<br />
Unlike games such as Doom or Unreal, maps are solely the layout of a level, the effects used in that level, etc. Enemy coding, sounds, and art textures can be found in the .grp and .con files.<br />
<br />
===Can I look at the game maps?===<br />
<br />
Yes. The maps of the original game are contained in the DUKE3D.GRP file, in your game directory. If Mapster32 is in the same folder as the DUKE3D.GRP file: open Mapster32; press [esc], this opens the basic menu and type [L] for (L)oad. Then press [ctrl]+[G] and all maps from a given .grp file are listed. Scroll down with the Arrow Keys and select any map on the list and press [enter]. - You can also extract a map from a .grp file with [http://dukeworld.duke4.net/classic%20dukeworld/other/artwork/dukeres.zip DukeResART by Peter Gerber] and place it in the game directory Mapster32 resides.<br />
<br />
===What do I use to make maps?===<br />
<br />
The editor available for creating your own maps are the [[Build]] program (used to create the levels found in [[Duke Nukem 3D]]), [[Makemap]] (distributed with Eduke 2.0), JFBuild (distributed with [[JFDuke]]), and [[Mapster32]], which is included with [[EDuke32]]. This FAQ currently only discusses features of [[Build]] and [[Mapster32]] specifically, although the other editors may (and generally do) function the same way. In this FAQ we are specifically covering [[Mapster32]].<br />
<br />
===Can I make maps for other games?===<br />
<br />
Yes. [[Mapster32]] was designed in mind for Duke Nukem 3D, but it can also be used to make levels for [[NAM]], [[WWII GI]], [[Redneck Rampage]], and others.<br />
<br />
===How do I run user maps?===<br />
<br />
Running user maps that you create and/or download is can be run within EDuke32 by selecting "User Map" under the "New Game" menu. The command line parameter -map <mapname> also may be used to execute user maps.<br />
<br />
===What exactly is the Build engine?===<br />
<br />
The [[Build]] engine is the graphics engine that games such as [[Duke Nukem 3D]], [[Shadow Warrior]], [[Blood]], and [[NAM]] run on. Although it isn't truly 3-D, you can fake it by using sprites and overlapping sectors on top of each other. A modern eduke32 feature called [TROR] (true room over room) has been created to give the [[Build]] engine the appearance and functionality of a true 3-D engine, with only minor limitations. Most Build games also allow a level of interactivity in their environment that was unmatched for years.<br />
<br />
==Things You Should Know Before Starting==<br />
===Introduction===<br />
<br />
There are quite a few things that you will need to know prior to making your first level. Read this section completely, and you will have everything you need to know to start making levels!<br />
<br />
===2D and 3D Modes===<br />
<br />
There are two different editing modes in Mapster32. The 2D mode shows the layout of the map, sprites, tags. The 3D mode looks like the game itself. To switch between these two modes, press the [ENTER] key on the numberpad. The regular [ENTER] key does not switch modes, so this must be noted!<br />
<br />
In 2D mode, you lay out the map itself. Here you draw walls, place and resize sprites, change tags of walls, sprites, and floors, and save your work. In 3D mode, you change the textures of the walls, change how high or low the floor, ceiling, sprites, and other objects are, and you can change the shade here as well.<br />
<br />
===Hitags And Lotags===<br />
<br />
<strong>NOTE NEW SYSTEM: (Still read the rest of the information as it's completely valid, the following describes a method of making tagging MUCH easier) A new smart tagging system has been implemented in eduke32 (for the 'pairing' of effects and sprites together). In addition to tagging with numbers, you can now tag with letters as well. This means if you give say a sector effector a hitag of "door1" (you can use any name) the engine automatically assigns the SE an unused hi-tag. If you then type "door1" on a switch, it assigns an identical number. Note numbers can still be used just as before.<br />
<br />
This has 3 benefits. <br />
Firstly, it means you don't have to remember numbers when linking effects together, you can remember them by an appropriate name, which is FAR easier. <br />
Secondly, if you stick with the smart tagging system, you'll never use a number that has already been taken, which means you won't accidentally link 2 effects together which shouldn't be linked, and you don't have to keep track of which numbers you've used as was previously necessary.<br />
Lastly, while most effects use the hitag to pair up, some effects use the lotag instead, and remembering which is which used to be a hassle. Now, however, the smart tagging system knows which tag an effect uses, and will only assign words to that tag.</strong><br />
<br />
This topic is complicated, yet simple at the same time. Tags can be given to walls, sprites, or sectors, and they tell the wall, sprite, or sector what to do. There are two numbers that any of these objects can be given. The first number is called a hitag. Hitags usually identify the object, so that other objects can be paired with it (I'll give an example in one moment). Lotags are generally a fixed number that tells the game exactly what to do.<br />
<br />
Here is an example:<br />
<br />
I make two sectors, and I want them to be teleporters (i.e. - I step into one sector, and teleport to the other sector). I place a sector effector sprite in both sectors, and give them tags to identify them. I first give *both* sprites a lotag of 7. This number is preset, and it tells the game that when the player enters this sector, he is to "teleport" to the other teleporting sector. I then give *both* sprites the *same* hitag. This number must be unique, as it gives an identity to both sprites. Here is what the program is probably thinking when I'm playing this level:<br />
<br />
Hmmm. The player has just entered a sector with a special sector effector sprite in it (lotag of 7). Let me see if I can find another teleporting sector with the same identity (unique hitag), so that I can "teleport" him there. Hey - There's the other sector! WOO-HOO!<br />
<br />
All the hitags do are link various effect sprites together. If you only gave one sprite a hitag, the program would not be able to find another, matching teleporting sector, and then would not be able to teleport you anywhere, because it can't find this sprite's "mate". Here are the key strokes that you need to do in order to place these tags (in 2D mode):<br />
<br />
:* Sector Hitag : Press [H] in the desired sector<br />
:* Sector Lotag : Press [T] in the desired sector<br />
:* Sprite Hitag : Press [ALT]+[H] on the desired sprite<br />
:* Sprite Lotag : Press [ALT]+[T] on the desired sprite<br />
:* Wall Hitag : Press [ALT]+[H] on the desired wall<br />
:* Wall Lotag : Press [ALT]+[T] on the desired wall<br />
<br />
These same tag assignments can be made in 3D mode as well. Here are the key strokes for use in 3D mode:<br />
<br />
:* Sector Hitag : Press [']+[H] in the desired sector<br />
:* Sector Lotag : Press [']+[T] in the desired sector<br />
:* Sprite Hitag : Press [']+[H] on the desired sprite<br />
:* Sprite Lotag : Press [']+[T] on the desired sprite<br />
:* Wall Hitag : Press [']+[H] on the desired wall<br />
:* Wall Lotag : Press [']+[T] on the desired wall<br />
<br />
:NOTE: To set wall tags in 2D mode, it is advised to turn off the grid, so that you are not selecting sprites. Press [G] several times to turn the grid off.<br />
<br />
===Placing Sprites===<br />
<br />
:NOTE: When I say that you should press the [V] key (or any other key for that matter) on a sprite, I mean that you should move the cursor over that sprite with the mouse, and then press the key.<br />
<br />
Without sprites, levels in Duke Nukem 3D would be nothing. Sprites make up all the "eye candy" in the level and are the root of all effects in Duke 3D. To place a sprite in the level, press the [S] key in either 2D or 3D mode. It is advised to place them in 2D mode, as you have the grid as a guide for placement.<br />
<br />
There are several different modes sprites can be in (3 of them to be exact). Sprites can lie flat on the floor, be "pasted" to the wall, or they can be in the "normal" mode (guns and other goodies are usually in this mode). Normal mode is the default setting, and to switch the current mode of a sprite, enter 3D mode, and press the [R] key on it. It will go from normal to being pasted on the wall (according to which direction the sprite is facing). Pressing [R] on it again will paste it to the floor, and again will make it normal.<br />
<br />
:NOTE: If you place a sprite on a wall in 3D mode (using the [S] key), the sprite will automatically be "pasted" flat to the wall that you placed it on.<br />
<br />
:NOTE: Only "square" sprites can be made to lie flat on the floor. Sprites that fit this condition are ones that have the same x-axis height as the y-axis height. Note that this limitation does not apply if you are using the Polymost renderer.<br />
<br />
Sprites can face in different directions as well. In 2D mode, you will notice a "tail" coming out of the circle which represents the sprite. This tail points in the direction that the sprite is currently facing, and it also denotes the "front" side of the sprite. To change this, press the [,] or [.] keys on the sprite in 3D mode.<br />
<br />
To change the texture of a sprite (changing what the sprite actually is), enter 3D mode and press [V] on it. This will bring up a screen of all the current sprites used in the level you currently are working on (This is useful as you start to need the same sprite over and over). Press [V] again, and you will proceed to the tile selection screen. Here, you can press [PGUP] and [PGDN] to scroll through the many textures used in Duke and use [/] and [*] to zoom in and out. When you have found a suitable texture, press [ENTER]. You can also search for textures' names using [s] then typing the name of the sprite and hitting [ENTER]. Unless you know for sure what the sprite's name is, this might not be all that useful, but sometimes educated guesses can be lucky. You can also go to a tile number you want by pressing [g] then typing the number and hitting [ENTER]. This saves a lot of time if you know what tile you want, or want to skip ahead a few thousand tiles. You can also use the 'goto' feature in 3D mode by moving the cursor over a wall or sprite and hitting [g].<br />
<br />
To change palette (color) of the sprite, simple press [ALT]+[P]. Then the program will ask for palette number. Bosses won't end level when their palette is set to 21.<br />
<br />
To raise or lower the sprite, press the [PGUP] or [PGDN] keys on the sprite in 3D mode. This changes the altitude of the sprite. Holding down [CTRL] while doing the same will move the sprite onto the ceiling or ground.<br />
<br />
Here is an example of placing a sprite in a room:<br />
<br />
I want to place a calendar on the wall in my room. In 2D mode, I would press the [S] key ON THE WALL where I want the sprite to be, and I would then enter 3D mode, pressing the [V] key on it twice. I would select the calendar sprite, raise it up to the height I want it on my wall (with the [PGUP] and [PGDN] keys) and then press [R] on it *once*. But now that I look at it, the sprite is turned to the side, or it is backwards! You must remember to set the sprite direction with the [,] and [.] keys. The tail should face *away from the wall, so that it lies flat on the wall. Check out some of the levels that came with the game if you don't understand.<br />
<br />
===The Special Sprites===<br />
<br />
There are a few special sprites that need to be explained. The most important ones are as follows:<br />
<br />
====Sector Effectors====<br />
<br />
::Sprite #1 - The sector effector sprite is the most used sprite in the entire game. It does just about what the name says: effects a sector. These sprite are used to create game effects and manipulate sector attributes. These sprites are the main tool used to create all effects in Duke Nukem 3D. Place the sprite in the sector to effect. The lotags for these are preset, and a list of the lotags for this sprite can be found in the [[Sector Effector Reference Guide]].<br />
<br />
====Activators====<br />
<br />
::Sprite #2 - Activators are used to activate a sector effector (SE) sprite when a switch or touchplate is triggered. They also can activate sector lotags.<br />
<br />
====Touchplates====<br />
<br />
::Sprite #3 - The touchplate will activate an activator or a masterswitch sprite, when the player walks over the sector that contains it. A hitag of 0 means that the touchplate will activate every time the player walks on top of the sector. A hitag of greater than 0 means that the touchplate will only be activated that many times (whatever number you put on there). The only number I've ever seen used that is greater than 0, is 1 (to activate an effect only once). But use the value that you want to. <br />
<br />
::If the touchplate and the sector containing it are at different heights then the sector will be raised to the height of the touchplate when the game starts, and lower to the sector's original height when the player walks on it.<br />
<br />
::By default the touchplate only activates if Duke walks on it, i.e., if he is touching the floor of the sector. If the touchplate sprite's angle is set to 512 (south) then it activates as soon as Duke enters the sector, no matter if he is airborne or not.<br />
<br />
====ActivatorLocked====<br />
<br />
::Sprite #4 - This sprite locks the sectors lotag function, so that it cannot take effect until the player unlocks it with a switch or touchplate. This is used to make locked doors and other such effects.<br />
<br />
====Music&SFX====<br />
<br />
::Sprite #5 - This sprite is used to create all the sound effects in the game. It can be used in 3 ways:<br />
<br />
::::* 1. Activation Sound<br />
::::* 2. Ambient Sound<br />
::::* 3. Echo Effect<br />
<br />
::We will go into this sprite in much more detail later on.<br />
<br />
====Locator====<br />
<br />
::Sprite #6 - These are used to define a path that moving sectors and certain enemies (the Pigcop Recon Cars) will follow. Both moving sectors and the Pigcop Recon Cars cannot be used in the same map. They are also used as the endpoints of a two-way train.<br />
<br />
====Cycler====<br />
<br />
::Sprite #7 - This sprite is used to make the sector floor, walls, and ceiling pulsate in brightness. Section 4.20 goes into great detail about this sprite.<br />
<br />
====Masterswitch====<br />
<br />
::Sprite #8 - This sprite is the exact same as the activator, but it has the ability to use a time delay. The hitag is the time delay that the effect should wait to be carried out. I think that a value of 32 is one second.<br />
<br />
====Respawn====<br />
<br />
::Sprite #9 - This sprite is used to spawn enemies or other items after activated by a touchplate or switch. An example of this is entering a room, and a bad guy spawns behind you.<br />
<br />
====GPSPEED====<br />
<br />
::Sprite #10 - This sprite is used to define rates of effects. The lotag is the only thing that is needed here, and the value for it is how fast the effect should go (i.e. - smaller means slower). These cannot be used on all effects, but they can be used on some.<br />
<br />
==Your First Map==<br />
===Installing and Setting up Mapster32===<br />
<br />
Mapster32 is bundled along with EDuke32. After extracting the files into your Duke Nukem 3D directory simply double click the program executable and you will be given prompts where you may select your desired settings.<br />
<br />
===Creating a Room===<br />
<br />
Throughout this section, I will walk you through making your very first Duke Nukem 3D level. Build is an extremely fun editing program, and some cool stuff can be done in this editor, so let's get started.<br />
<br />
:NOTE: The user map [[Media:Tutorial.map|TUTORIAL.MAP]], is an example map that which includes everything covered in this section. If you want to see exactly what something looks like as you go along in this section, just take a look at this map in Mapster32.<br />
<br />
:NOTE: Save early and ''*often*''! I cannot stress this enough! Pressing the ''[ESC]'' key in 2D mode allows you to save your work by pressing the ''[S]'' key (saves it as the current filename (the default is '''''NEWBOARD.MAP''''')) or by pressing the ''[A]'' key (saves it as a new filename, which you specify). Mapster32 also autosaves every 3 minutes to autosave.map by default.<br />
<br />
The first thing that we'll do is create a square room. Press the ''[G]'' key several times, until the largest grid size in Mapster32 appears. Zoom out a little bit (by using the ''[Z]'' key). Move your mouse cursor near one of the vertices, and press the ''[SPACEBAR]''. What you are doing is beginning to draw the walls of your level. Move your mouse cursor up 3 grid blocks and press the ''[SPACEBAR]'' again. You have just drawn your first wall! Move to the right 3 blocks, press ''[SPACE]'' again, move down 3 blocks, press ''[SPACE]'' again, and finally move the cursor back to the first vertex you drew, pressing ''[SPACE]'' one last time. Your room should now be 3 grid blocks by 3 grid blocks.<br />
<br />
===Setting a level starting point===<br />
<br />
One of the first things you might want to do after creating your first room (assuming your first room will be the start of the level) is to specify where Duke will spawn when starting the level. To set a starting point, simply click in the room where you want to start so the white arrow is at that point, turn the arrow the direction you want to face, and press [Scroll Lock]. A different coloured arrow will appear in that position to show the starting point, as well as your normal white arrow.<br />
<br />
===Adding Textures===<br />
<br />
Textures are added in 3D mode. Press the ''[ENTER]'' key on the number pad (it's found on the far right on your keyboard). You should now be in 3D mode, which looks much like the game. The current texture, however, is quite ugly, and one that you do not want to use, especially since it can glitch and start animating sometimes. So let's change the texture of the walls, the ceiling, and the floor.<br />
<br />
Move the mouse cursor over the floor. Press the ''[V]'' key once. This screen (which currently has that ugly texture on it) is a listing of all the textures that appear on either the floor or ceiling of your level (This screen becomes quite handy later on when you want to use a texture already used in your level). Now press the ''[V]'' key again. You should be looking at a large screen of sprites, textures, and other items. Press the ''[PGDN]'' key several times, or use the arrow keys to scroll around the screen. There are literally thousands of tiles in Duke Nukem 3D, so choose one that you want to use as your floor, and press the ''[ENTER]'' key (not the one on the numberpad). Your floor is now the texture you wanted it to be! Now do the exact same thing for the ceiling.<br />
<br />
When you have that done, move the mouse cursor over one of the walls in your level. Press the ''[V]'' key once. The screen you are now looking at is much like the first one for the floor and ceiling, but this time it shows all the wall textures used in your level. Press ''[V]'' again, and select a good texture for the wall. Your texture appears, but it doesn't look like it's all there! You need to scale the texture by using the ''[4]'', ''[8]'', ''[6]'', and ''[2]'' keys on the numberpad. Experiment a little, and get it to look like you want. Pressing the ''[5]'' key, in addition to the keys listed above, will make the scale of the texture change in larger increments (making it faster to do). To shift the texture, hold down ''[SHIFT]'' while pressing the same keys.<br />
<br />
You could do this for each wall, but that would take quite some time to do in a big level. So move the mouse cursor over the wall that you have just changed (after you have it like you want it) and press the ''[TAB]'' key. Now move the mouse cursor over one of the other walls. Press the ''[ENTER]'' key (not the one on the numberpad). You have just copied and pasted the texture, its scale factor, and its shade value! This makes texturing a room much quicker, and it is quite a handy feature. Do this for each wall. (NOTE: Sometimes, the scale isn't pasted 100% correctly, so minor adjustment might be needed.)<br />
<br />
===Adding Sprites===<br />
<br />
Sprites are what levels in [[Duke Nukem 3D]] revolve around. Without sprites, this game would have no meaning at all. Sprites consist of enemies, weapons, ammo and all kinds of eye candy, as well as certain objects that cause the various effects seen in the game like explosions, working doors, flickering lights etc. Placing sprites is quite easy and can be done in either 2D or 3D mode. Placement in 2D mode is *much* easier, because you have the grid to line up sprites with other objects.<br />
<br />
Let's add a shotgun sprite to our level. In 2D mode, move the mouse cursor into one of the corners in the room. Press the ''[S]'' key. You have just placed a sprite. What you now see is a circle with a "tail" coming out of it. The tail indicates the direction of the sprite. This is not important in the case of ammunition, health, enemies, weapons, and some eye candy, but some objects that you might want to place on a wall need the angle to be just right. If the sprite you just placed is currently pink, it means that this sprite will block your movement in the game. If it is pink, move your mouse cursor over the sprite you just placed and press the ''[B]'' key. This toggles sprites between "blockable" and "not blockable". No sprites *need* to be blockable, but it comes in use when placing a table or chair sprite and you want it to block the movement of the player. Now enter into 3D mode. You should see some sort of sprite (probably that ugly texture again). Move the mouse cursor over the newly created sprite, and press the ''[V]'' key once. Like the textures, this first screen shows you what sprites are used in your level. Press the ''[V]'' key again. Select tile #28 (which is the shotgun sprite). You have now placed a shotgun in your level! You might want to size this sprite down a bit (using the ''[4]'', ''[8]'', ''[6]'', and ''[2]'' keys on the numberpad), but weapons, health, ammo, enemies, and inventory items all size themselves in the game.<br />
<br />
Now let's add a poster type sprite to our level. In 2D mode, move your mouse cursor over one of the walls of your room (the cursor should be on the side of the wall that the player will see). Press the ''[S]'' key. Now change the angle of this sprite to face straight away from the wall. This is done using the ''[,]'' and the ''[.]'' keys (also known as the ''[<]'' and ''[>]'' keys). When you have the angle properly set, enter 3D mode. Change this sprite to #500. We want this sprite to stick to the wall, but it doesn't seem to be doing that. Move the mouse cursor over the sprite in 3D mode, and press the ''[R]'' key once. This makes the current sprite lie in a flat plane, perpendicular to the sprite's angle. So if the sprite is facing to the right (or east), the sprite would lie flat in the north-south plane (the sprite would still face east). This is kind of hard to explain, but play around with it to see what I mean. Change the angle of the sprite after the ''[R]'' key has been pressed, and you will see how the flat position and the angle relate. Size your sprite to your liking.<br />
<br />
Let's add one more sprite to our level for now. Place one sprite in 2D mode somewhere in the middle of your room. Change this sprite to #568. This is the magazine sprite. Back in 2D mode, change the angle of this sprite to be 45 degrees or something of that nature (press the ''[<]'' or ''[>]'' key twice to do this). Now enter 3D mode again. This time, move the mouse cursor over the sprite and press the ''[R]'' key *twice*. This command makes sprites lie flat on the floor. Pressing ''[R]'' again returns the sprite to its default setting. Size this sprite to your liking. NOTE: Not all sprites can be made to lie flat on the floor. If the sprite you want to make lie flat on the floor looks really weird (or messed up) when you try to place it flat on the floor, it simply cannot be made to be in that position. If I am not mistaken, the only sprites that can lie flat on the floor have dimensions that are powers of 2. This limitation is not present in the Polymost renderer.<br />
<br />
===Adding a Child Sector===<br />
<br />
Now we need to add what is called a "nested" or "child" sector. This term simply means that you have a sector within a sector. We will first create a small box sector in our room. Somewhere in your room, begin drawing a new sector. Make sure that the grid size is smaller than the largest setting, and draw a square sector again. If you enter 3D mode at this point, you will notice that the sector you just drew has appeared as new walls, taking a chunk out of your room. This is not what we want, so enter back into 2D mode. Move your mouse cursor inside this newly created sector, and press the ''[ALT]''+''[S]'' keys. Your sector walls should have just turned red! Now enter back into 3D mode again. Looks like normal huh? Well, it's not quite like it was before. You have just created a child sector, which will now raise up from the floor.<br />
<br />
===Raising and Lowering Sectors===<br />
<br />
In 3D mode, move your cursor over to the general area of your newly created nested sector (point the cursor at the sector floor). Now press the ''[PGUP]'' key several times. You are now raising your sector out of the ground! Raise it to a decent height (but don't raise it all the way to the ceiling), and put some good textures on it (maybe the crate texture or something of that sort). Using the ''[PGUP]'' key raises either the floor or ceiling of a sector, and using the ''[PGDN]'' key lowers either the floor or ceiling of a sector. This is how you will set your sector heights in the game, and will most likely become one of the most used commands in Mapster32. These two commands can also be used to raise and lower sprites. Remember that poster-type sprite we added to our level? Press the ''[PGUP]'' key on it several times. You have just raised the sprite up on the wall. Very useful and very easy, is it not?<br />
<br />
===Parallaxing Skies===<br />
<br />
In 3D mode, move the mouse cursor over the ceiling of the room sector. Now change the texture of this sector's ceiling to #89. This is the Los Angeles texture, and for it to look right, needs to be parallaxed. Press the ''[P]'' key. Do this for the ceiling of the nested sector we created as well. Several special cases with parallaxing (and several problems) are documented in the parallax sub-section.<br />
<br />
===Sloped Surfaces===<br />
<br />
Let’s now create a sector off to one side of our room. To do this, we first need to insert some vertices. Pick the wall that you want to have the sector on, and move your mouse cursor over that wall. Press the ''[INSERT]'' key in the places on this wall where you want the vertices for our new sector to be (you should only need 2). Move the mouse cursor over one of these newly created vertices and press the ''[SPACEBAR]'', starting the drawing process. Now move the mouse cursor over the second vertex that you inserted, pressing ''[SPACE]'' again. The move out away from the room sector, drawing your sector as normal. When you finish drawing your sector, the part of the wall between the two vertices you inserted should change into a red line. Enter 3D mode and take a look at the newly created sector. Let’s make the floor of this sector sloped.<br />
<br />
By using the ''['' and '']'' keys, slope the floor of this sector downwards (or upwards, whichever you prefer – just experiment with it). Keep in mind that when sloping sectors, you need to set the "first wall" of the sector. The "first wall" is the wall that the slope will pivot around (think of it as a hinge point). This can be set in either 2D or 3D mode by pressing the ''[ALT]''+''[F]'' key combination on the wall you want to be the first wall of the sector. Experiment with setting this parameter, and see how it changes the tilting angle of the sector (try this on our newly created sector).<br />
<br />
===Creating a Circle===<br />
<br />
This is a feature that is (unfortunately) not used enough in level design, and it can be a little tricky to get just right.<br />
<br />
Somewhere in your level (do this outside of your room sectors), draw a triangular sector. Move your cursor over one of the walls of this sector, and press the ''[C]'' key. Now move the mouse around. You will see the beginnings of a circle, but we need to manipulate this circle to get it the way we want it to be. Pressing the ''[-]'' and ''[+]'' keys (on the numberpad) decreases and increases the number of points on the circle, respectively. Pressing the ''[SPACEBAR]'' draws the circle, while pressing the ''[C]'' key cancels the drawing of the circle. Once you’ve got half of the circle drawn, move the vertex of the triangle (that you initially created) that is sticking out away from the half-circle, over one of the vertices that runs across the half-way point of the circle. This is quite hard to explain in words, so take a look at the [[Media:Tutorial.map|tutorial map]] (I've placed several iterations of this circular construction on the map, so you can see how this is done step by step). Then create the other half of the circle.<br />
<br />
===The Art of Shading===<br />
<br />
One of the key elements in any level made is the shading technique. Shading is a delicate art that must be learned and used *everywhere* in the level. Leaving your level's walls, sprites, floors, and ceilings set with a shade value of 0 makes most level reviewers shun (or even skip) your level entirely. There are several shading techniques that you must learn to use, and they're not hard to learn at all! Once you learn these techniques, you will be able to make some very cool looking levels!<br />
<br />
In addition to the sector based lighting described below, another why to light your levels is by using the advanced Polymer renderer's dynamic lights. These have the ability to cast shadows, and can make a Duke level look much more modern (especially when combined with the HRP.) Dynamic lights are also faster to implement than sector based shading, as it doesn't involve making extra sectors and shading surfaces individually. To make these lights, use the Sector Effectors 49 and 50 as described in the Sector Effector tag listing section accessible at the top of this page.<br />
<br />
====Shading Techniques====<br />
<br />
:Before we learn about the different techniques needed to make shading what it needs to (and should) be, we first need to learn how to shade. All shading is done in 3D mode. Pressing the ''[+]'' key (on the numberpad) makes the object under the mouse pointer get brighter (the shade value decreases). Pressing the ''[-]'' key (on the numberpad) makes the object under the mouse pointer get darker (the shade value increases). For small shading amounts, this can be handy, but to make things dark, pressing these keys over and over can be a pain. So there's a shorter way to do this! Point at the object you want to shade and press the ''[']''+''[S]'' key combination. Then enter the value you want the shade to be. The larger the number, the darker the shade. A value of about 50 is almost completely dark, but you can go all the way up to 128. Negative values are allowed (down to -128) and make things bright (but not noticeably lighter than a shade value of 0 except at a distance). Entering negative values in version 1.3D isn't as easy as in 1.4 or 1.5, but it can be done. To enter negative values, you simply need to enter a value that is greater than 128. The value you enter will simply be 256 minus whatever value you type in. For example, if you type in a value of 155, the value entered will be -100. Remember this only needs to be done in version 1.3D. In versions 1.4 and 1.5, you simply type the ''[-]'' key (not on the numberpad) before typing the value.<br />
<br />
::*The first shading technique that you need to learn is that you should offset the shade of walls of a room. To do this, select two opposite directions on your map (i.e. - north and south) and make *all* walls in that direction one shade value (let’s use a value of 10 for now). Now you should give *all* the walls in the opposite two directions (i.e. - east and west) a shade somewhat lighter or darker than the previous shading (let’s use a value of 15 for now). This allows your eye to find the corner of the room much faster, and it gives a much more realistic look to any room (if you make joined walls the same shade, finding the corner can be quite a difficult thing to do). This technique should be used in *every* room and passageway in your level, and it should remain consistent (i.e. – if you made all east-west walls the lighter value, then all east-west walls should remain lighter in the future). If you have a angled wall (i.e. - it doesn’t run perfectly north-south or east-west) use a value somewhere between your east-west and north-south values. It is a good idea to set this type of shading before setting the next type.<br />
<br />
::*The second technique that you need to learn is that light travels in a straight line. The light from a ceiling light should make straight shadows when passing past a corner of a hallway or other object. Remember to light your areas according to the positioning of your lights. This is the second type of shading you should set.<br />
<br />
::*The third technique is ambient shading. Although light travels in a straight line, there is some ambience. Use multiple sectors for shading, making the sectors farther from the light source incrementally darker. Although this type of shading isn't needed, it definitely makes for some cool looking effects (gradual shading effects make some scenes look excellent – especially at a high resolution).<br />
<br />
===Advanced Features===<br />
<br />
[[Build]] has a few features that can be very useful to a learning Builder, and make the Building process *much* faster to complete.<br />
<br />
====Splitting Walls====<br />
<br />
:Splitting walls is quite easy to do. In 2D mode, simply point at the place on the wall where you would like to insert a vertex and press the ''[INS]'' key. That's all you have to do! Easy, huh?<br />
<br />
====Resizing and Moving Sectors====<br />
<br />
:Another nice feature of Build is the ability to resize and move sectors. To select multiple vertices to move at the same time, hold the ''[RIGHT SHIFT]'' key down, and move the box (you'll see it appear when you move the mouse) over the desired vertices. Now moving one of these vertices will also move the other selected vertices! To move a sector, hold down the ''[RIGHT ALT]'' key and, again, drag the mouse over the desired sector. Now, release the ''[RIGHT ALT]'' key and move the sector with the mouse. Press the ''[RIGHT ALT]'' key one last time to deselect the sector once you have successfully moved it.<br />
<br />
:To resize sectors, highlight them with ''[RIGHT ALT]'' and press and hold ''[']'' and ''[f]''. This will bring up a menu with various options, and one of them is to resize, so press the number next to that option, and use the mouse to resize your highlighted sectors.<br />
<br />
====Joining Sectors====<br />
<br />
:Joining sectors is a useful feature when you don't want a sector to be split up into individual (red lined) sectors. In 2D mode, simply press the ''[J]'' key in the first sector you wish to join (this is the sector from which the properties (height, shade, etc.) will be taken). Then press the ''[J]'' key again on the second, adjacent sector. There you go - No more red line!<br />
<br />
====Deleting Sectors====<br />
<br />
Deleting sectors is also an easy thing to do. Simply move the mouse into the sector you wish to delete, and press the ''[CTRL]''+''[DEL]'' keys to delete the sector. Be warned that there is no undo feature in Build, so make sure you know *exactly* what you are doing before using this command. A quick save of the level before using this command wouldn't hurt.<br />
<br />
====Copying and Pasting Sectors====<br />
<br />
:Copying sectors can make Building go very fast. You can copy sectors to the current level, or even to another level! To copy sectors, hold down the ''[RIGHT ALT]'' key in 2D mode and move the box (you'll see it appear when you move the mouse) over the desired sectors. Then release the ''[RIGHT ALT]'' key. Once the sectors are selected (they will flash yellow), press the ''[INSERT]'' key. You'll notice that the original sectors have been deselected, however a new set of identical sectors have appeared, highlighted, nearby. Use the mouse to drag these sectors to anywhere you want on the map, then press the ''[RIGHT ALT]'' key again to deselect them.<br />
<br />
:You can paste sectors into void space (space which doesn't already contain sectors) or you can paste it inside another sector. To paste inside another sector, drag the sectors inside another sector (sorry for saying sector a lot) and release them with ''[RIGHT ALT]'', mapster will ask you if you want to create an inner loop (for a child sector). This is what we want, so press the ''[y]'' key for yes. You have just pasted a sector inside another sector (I'm doing it again), creating a red line around the boundary. If you hit ''[n]'' then the sectors will be pasted separately (not connected in anyway), so that the two areas will coexist in the same space, which is kind of pointless.<br />
<br />
:'''More ways of highlighting: You can highlight a second, third, and multiple sectors by holding down ''[']'' as you drag the selection box over them. This way you can highlight sectors in different parts of the map. Likewise, use the ''[;]'' key to deselect sectors. A small plus or minus will appear next to the cursor depending on which button you're holding. '''<br />
:'''You can select individual sectors with the mouse by moving the cursor inside the sector you want, holding ''[RIGHT ALT]'', and holding ''[RIGHT CTRL]'' as you release ''[RIGHT ALT]''. The sector is now highlighted. This method of selection also works with ''[']'' and ''[;]'' to select/deselect additional sectors by mouse. Simply hold ''[RIGHT ALT]'' and the appropriate button depending on what you want to do, then hold ''[RIGHT CTRL]'' while releasing the other buttons. This becomes very quick and easy to do after doing it a few times.'''<br />
<br />
:To copy sectors from one level to another, simply select the desired sectors (as stated above) and press the ''[INSERT]'' key (again, just like before). Now, while the sectors are still selected (they should still be flashing green), load another level. The selected sectors should appear in your level, and you can move them to the desired location. Pressing the ''[RIGHT ALT]'' key will then deselect the sectors.<br />
<br />
===Completing This Map===<br />
<br />
You are now through the basic parts of editing. The next section goes into detail on making every effect known in Duke Nukem 3D (there are even several effects not used in the game itself that people have invented). To run your map, simply use command line '''''-map <mapname>''''' or select "User Map" under the "New Game" menu in [[EDuke32]] and select the desired map.<br />
<br />
Welcome to the world of Build!<br />
<br />
==Effects List==<br />
<br />
This section of the FAQ covers most known effects available to the map designer. Due to the number of effects available, this section is quite lengthy. Example ''.map'' files are used throughout this section, so take a look at any of the how-tos for the corresponding map name.<br />
<br />
If there's an effect you want to do that's not listed here, or you're having trouble understanding how to achieve one of the effects because of the way it's explained, try this mapping guide: [[http://infosuite.duke4.net/]], which is arguably the best, most succinct, and easiest to read mapping guide, great for both beginners and veteran mappers. It's illustrated with diagrams.<br />
<br />
:*[[:Category:Editing Doors|Doors]]<br />
:*[[:Category:Editing Parallaxed Skies|Parallaxed Skies]]<br />
:*[[:Category:Editing Lighting Effects|Lighting Effects]]<br />
:*[[:Category:Editing Moving Sectors|Moving Sectors]]<br />
:*[[:Category:Editing General Sector Effects|General Sector Effects]]<br />
:*[[:Category:Editing Water|Water]]<br />
:*[[:Category:Editing Walls and Wall Effects|Walls and Wall Effects]]<br />
:*[[:Category:Editing Mirrors|Mirrors]]<br />
:*[[:Category:Editing Teleporters|Teleporters]]<br />
:*[[:Category:Editing Ending the Level|Ending the Level]]<br />
:*[[:Category:Editing Switch Effects|Switch Effects]]<br />
:*[[:Category:Editing C-9 Effects|C-9 Effects]]<br />
:*[[:Category:Editing Sectors That Rise and Fall|Sectors That Rise and Fall]]<br />
:*[[:Category:Editing Music and Sound Effects|Music and Sound Effects]]<br />
:*[[:Category:Editing Working with Sprites|Working with Sprites]]<br />
:*[[:Category:Editing Multiplayer Level Making|Multiplayer Level Making]]<br />
:*[[:Category:Editing Miscellaneous|Miscellaneous]]<br />
:*[[Sector Effector Reference Guide]]<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Firstwall&diff=12036Firstwall2014-10-26T11:22:59Z<p>Nexus: create page</p>
<hr />
<div>Every [[sector]] has one of its [[wall]]s specially designated as its '''firstwall''', which controls the orientation of the sector's floor and ceiling. The firstwall is important for three major reasons:<br />
<br />
# When the floor or ceiling texturing is set to "relative", the texture will be placed parallel to the firstwall.<br />
# Ceiling and floors [[slope]] upwards and downwards from the firstwall.<br />
# In the [[:Category:Editing_C-9_Effects|blastable wall]] effect, the game engine closes the hole at the start of the level by lowering the ceiling to the floor at the firstwall.</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Level_editing&diff=12035Level editing2014-10-26T08:19:32Z<p>Nexus: fix</p>
<hr />
<div>{{Build Intro}}<br />
<div class="floatleft">__TOC__</div><br />
<br />
<strong>NOTE: This section is based on The Map Editing FAQ for Duke Nukem 3D v. 2.1 by Jonah Bishop, &copy;2000. The majority of the information presented here was written over five years ago. Some may be outdated, and some may be incorrect -- this page exists to get you started with the Level Editing and may not currently cover some of the additional features available in Mapster32, although as of 2011 some of the less well known yet handy new mapster32 features have been added.</strong><br />
<br />
==Information About Maps==<br />
===What is a map?===<br />
<br />
A "map" is a general term used to describe the levels in [[Duke Nukem 3D]] (or just about any other game for that matter). Maps include all the level information (effect parameters, wall placement, sprite placement, etc.).<br />
<br />
===What can I do to maps?===<br />
<br />
Unlike games such as Doom or Unreal, maps are solely the layout of a level, the effects used in that level, etc. Enemy coding, sounds, and art textures can be found in the .grp and .con files.<br />
<br />
===Can I look at the game maps?===<br />
<br />
Yes. The maps of the original game are contained in the DUKE3D.GRP file, in your game directory. If Mapster32 is in the same folder as the DUKE3D.GRP file: open Mapster32; press [esc], this opens the basic menu and type [L] for (L)oad. Then press [ctrl]+[G] and all maps from a given .grp file are listed. Scroll down with the Arrow Keys and select any map on the list and press [enter]. - You can also extract a map from a .grp file with [http://dukeworld.duke4.net/classic%20dukeworld/other/artwork/dukeres.zip DukeResART by Peter Gerber] and place it in the game directory Mapster32 resides.<br />
<br />
===What do I use to make maps?===<br />
<br />
The editor available for creating your own maps are the [[Build]] program (used to create the levels found in [[Duke Nukem 3D]]), [[Makemap]] (distributed with Eduke 2.0), JFBuild (distributed with [[JFDuke]]), and [[Mapster32]], which is included with [[EDuke32]]. This FAQ currently only discusses features of [[Build]] and [[Mapster32]] specifically, although the other editors may (and generally do) function the same way. In this FAQ we are specifically covering [[Mapster32]].<br />
<br />
===Can I make maps for other games?===<br />
<br />
Yes. [[Mapster32]] was designed in mind for Duke Nukem 3D, but it can also be used to make levels for [[NAM]], [[WWII GI]], [[Redneck Rampage]], and others.<br />
<br />
===How do I run user maps?===<br />
<br />
Running user maps that you create and/or download is can be run within EDuke32 by selecting "User Map" under the "New Game" menu. The command line parameter -map <mapname> also may be used to execute user maps.<br />
<br />
===What exactly is the Build engine?===<br />
<br />
The [[Build]] engine is the graphics engine that games such as [[Duke Nukem 3D]], [[Shadow Warrior]], [[Blood]], and [[NAM]] run on. Although it isn't truly 3-D, you can fake it by using sprites and overlapping sectors on top of each other. A modern eduke32 feature called [TROR] (true room over room) has been created to give the [[Build]] engine the appearance and functionality of a true 3-D engine, with only minor limitations. Most Build games also allow a level of interactivity in their environment that was unmatched for years.<br />
<br />
==Things You Should Know Before Starting==<br />
===Introduction===<br />
<br />
There are quite a few things that you will need to know prior to making your first level. Read this section completely, and you will have everything you need to know to start making levels!<br />
<br />
===2D and 3D Modes===<br />
<br />
There are two different editing modes in Mapster32. The 2D mode shows the layout of the map, sprites, tags. The 3D mode looks like the game itself. To switch between these two modes, press the [ENTER] key on the numberpad. The regular [ENTER] key does not switch modes, so this must be noted!<br />
<br />
In 2D mode, you lay out the map itself. Here you draw walls, place and resize sprites, change tags of walls, sprites, and floors, and save your work. In 3D mode, you change the textures of the walls, change how high or low the floor, ceiling, sprites, and other objects are, and you can change the shade here as well.<br />
<br />
===Hitags And Lotags===<br />
<br />
<strong>NOTE NEW SYSTEM: (Still read the rest of the information as it's completely valid, the following describes a method of making tagging MUCH easier) A new smart tagging system has been implemented in eduke32 (for the 'pairing' of effects and sprites together). In addition to tagging with numbers, you can now tag with letters as well. This means if you give say a sector effector a hitag of "door1" (you can use any name) the engine automatically assigns the SE an unused hi-tag. If you then type "door1" on a switch, it assigns an identical number. Note numbers can still be used just as before.<br />
<br />
This has 3 benefits. <br />
Firstly, it means you don't have to remember numbers when linking effects together, you can remember them by an appropriate name, which is FAR easier. <br />
Secondly, if you stick with the smart tagging system, you'll never use a number that has already been taken, which means you won't accidentally link 2 effects together which shouldn't be linked, and you don't have to keep track of which numbers you've used as was previously necessary.<br />
Lastly, while most effects use the hitag to pair up, some effects use the lotag instead, and remembering which is which used to be a hassle. Now, however, the smart tagging system knows which tag an effect uses, and will only assign words to that tag.</strong><br />
<br />
This topic is complicated, yet simple at the same time. Tags can be given to walls, sprites, or sectors, and they tell the wall, sprite, or sector what to do. There are two numbers that any of these objects can be given. The first number is called a hitag. Hitags usually identify the object, so that other objects can be paired with it (I'll give an example in one moment). Lotags are generally a fixed number that tells the game exactly what to do.<br />
<br />
Here is an example:<br />
<br />
I make two sectors, and I want them to be teleporters (i.e. - I step into one sector, and teleport to the other sector). I place a sector effector sprite in both sectors, and give them tags to identify them. I first give *both* sprites a lotag of 7. This number is preset, and it tells the game that when the player enters this sector, he is to "teleport" to the other teleporting sector. I then give *both* sprites the *same* hitag. This number must be unique, as it gives an identity to both sprites. Here is what the program is probably thinking when I'm playing this level:<br />
<br />
Hmmm. The player has just entered a sector with a special sector effector sprite in it (lotag of 7). Let me see if I can find another teleporting sector with the same identity (unique hitag), so that I can "teleport" him there. Hey - There's the other sector! WOO-HOO!<br />
<br />
All the hitags do are link various effect sprites together. If you only gave one sprite a hitag, the program would not be able to find another, matching teleporting sector, and then would not be able to teleport you anywhere, because it can't find this sprite's "mate". Here are the key strokes that you need to do in order to place these tags (in 2D mode):<br />
<br />
:* Sector Hitag : Press [H] in the desired sector<br />
:* Sector Lotag : Press [T] in the desired sector<br />
:* Sprite Hitag : Press [ALT]+[H] on the desired sprite<br />
:* Sprite Lotag : Press [ALT]+[T] on the desired sprite<br />
:* Wall Hitag : Press [ALT]+[H] on the desired wall<br />
:* Wall Lotag : Press [ALT]+[T] on the desired wall<br />
<br />
These same tag assignments can be made in 3D mode as well. Here are the key strokes for use in 3D mode:<br />
<br />
:* Sector Hitag : Press [']+[H] in the desired sector<br />
:* Sector Lotag : Press [']+[T] in the desired sector<br />
:* Sprite Hitag : Press [']+[H] on the desired sprite<br />
:* Sprite Lotag : Press [']+[T] on the desired sprite<br />
:* Wall Hitag : Press [']+[H] on the desired wall<br />
:* Wall Lotag : Press [']+[T] on the desired wall<br />
<br />
:NOTE: To set wall tags in 2D mode, it is advised to turn off the grid, so that you are not selecting sprites. Press [G] several times to turn the grid off.<br />
<br />
===Placing Sprites===<br />
<br />
:NOTE: When I say that you should press the [V] key (or any other key for that matter) on a sprite, I mean that you should move the cursor over that sprite with the mouse, and then press the key.<br />
<br />
Without sprites, levels in Duke Nukem 3D would be nothing. Sprites make up all the "eye candy" in the level and are the root of all effects in Duke 3D. To place a sprite in the level, press the [S] key in either 2D or 3D mode. It is advised to place them in 2D mode, as you have the grid as a guide for placement.<br />
<br />
There are several different modes sprites can be in (3 of them to be exact). Sprites can lie flat on the floor, be "pasted" to the wall, or they can be in the "normal" mode (guns and other goodies are usually in this mode). Normal mode is the default setting, and to switch the current mode of a sprite, enter 3D mode, and press the [R] key on it. It will go from normal to being pasted on the wall (according to which direction the sprite is facing). Pressing [R] on it again will paste it to the floor, and again will make it normal.<br />
<br />
:NOTE: If you place a sprite on a wall in 3D mode (using the [S] key), the sprite will automatically be "pasted" flat to the wall that you placed it on.<br />
<br />
:NOTE: Only "square" sprites can be made to lie flat on the floor. Sprites that fit this condition are ones that have the same x-axis height as the y-axis height. Note that this limitation does not apply if you are using the Polymost renderer.<br />
<br />
Sprites can face in different directions as well. In 2D mode, you will notice a "tail" coming out of the circle which represents the sprite. This tail points in the direction that the sprite is currently facing, and it also denotes the "front" side of the sprite. To change this, press the [,] or [.] keys on the sprite in 3D mode.<br />
<br />
To change the texture of a sprite (changing what the sprite actually is), enter 3D mode and press [V] on it. This will bring up a screen of all the current sprites used in the level you currently are working on (This is useful as you start to need the same sprite over and over). Press [V] again, and you will proceed to the tile selection screen. Here, you can press [PGUP] and [PGDN] to scroll through the many textures used in Duke and use [/] and [*] to zoom in and out. When you have found a suitable texture, press [ENTER]. You can also search for textures' names using [s] then typing the name of the sprite and hitting [ENTER]. Unless you know for sure what the sprite's name is, this might not be all that useful, but sometimes educated guesses can be lucky. You can also go to a tile number you want by pressing [g] then typing the number and hitting [ENTER]. This saves a lot of time if you know what tile you want, or want to skip ahead a few thousand tiles. You can also use the 'goto' feature in 3D mode by moving the cursor over a wall or sprite and hitting [g].<br />
<br />
To change palette (color) of the sprite, simple press [ALT]+[P]. Then the program will ask for palette number. Bosses won't end level when their palette is set to 21.<br />
<br />
To raise or lower the sprite, press the [PGUP] or [PGDN] keys on the sprite in 3D mode. This changes the altitude of the sprite. Holding down [CTRL] while doing the same will move the sprite onto the ceiling or ground.<br />
<br />
Here is an example of placing a sprite in a room:<br />
<br />
I want to place a calendar on the wall in my room. In 2D mode, I would press the [S] key ON THE WALL where I want the sprite to be, and I would then enter 3D mode, pressing the [V] key on it twice. I would select the calendar sprite, raise it up to the height I want it on my wall (with the [PGUP] and [PGDN] keys) and then press [R] on it *once*. But now that I look at it, the sprite is turned to the side, or it is backwards! You must remember to set the sprite direction with the [,] and [.] keys. The tail should face *away from the wall, so that it lies flat on the wall. Check out some of the levels that came with the game if you don't understand.<br />
<br />
===The Special Sprites===<br />
<br />
There are a few special sprites that need to be explained. The most important ones are as follows:<br />
<br />
====Sector Effectors====<br />
<br />
::Sprite #1 - The sector effector sprite is the most used sprite in the entire game. It does just about what the name says: effects a sector. These sprite are used to create game effects and manipulate sector attributes. These sprites are the main tool used to create all effects in Duke Nukem 3D. Place the sprite in the sector to effect. The lotags for these are preset, and a list of the lotags for this sprite can be found in the [[Sector Effector Reference Guide]].<br />
<br />
====Activators====<br />
<br />
::Sprite #2 - Activators are used to activate a sector effector (SE) sprite when a switch or touchplate is triggered. They also can activate sector lotags.<br />
<br />
====Touchplates====<br />
<br />
::Sprite #3 - The touchplate will activate an activator or a masterswitch sprite, when the player walks over the sector that contains it. A hitag of 0 means that the touchplate will activate every time the player walks on top of the sector. A hitag of greater than 0 means that the touchplate will only be activated that many times (whatever number you put on there). The only number I've ever seen used that is greater than 0, is 1 (to activate an effect only once). But use the value that you want to. <br />
<br />
::If the touchplate and the sector containing it are at different heights then the sector will be raised to the height of the touchplate when the game starts, and lower to the sector's original height when the player walks on it.<br />
<br />
::If the touchplate angle is set to south (angle 512), then the it will affect the whole sector, not only if the player walks over the sector that contains it. That's means that the player trigger the touchplate as soon he enter the sector, regardless of the height where the player is.<br />
<br />
====ActivatorLocked====<br />
<br />
::Sprite #4 - This sprite locks the sectors lotag function, so that it cannot take effect until the player unlocks it with a switch or touchplate. This is used to make locked doors and other such effects.<br />
<br />
====Music&SFX====<br />
<br />
::Sprite #5 - This sprite is used to create all the sound effects in the game. It can be used in 3 ways:<br />
<br />
::::* 1. Activation Sound<br />
::::* 2. Ambient Sound<br />
::::* 3. Echo Effect<br />
<br />
::We will go into this sprite in much more detail later on.<br />
<br />
====Locator====<br />
<br />
::Sprite #6 - These are used to define a path that moving sectors and certain enemies (the Pigcop Recon Cars) will follow. Both moving sectors and the Pigcop Recon Cars cannot be used in the same map. They are also used as the endpoints of a two-way train.<br />
<br />
====Cycler====<br />
<br />
::Sprite #7 - This sprite is used to make the sector floor, walls, and ceiling pulsate in brightness. Section 4.20 goes into great detail about this sprite.<br />
<br />
====Masterswitch====<br />
<br />
::Sprite #8 - This sprite is the exact same as the activator, but it has the ability to use a time delay. The hitag is the time delay that the effect should wait to be carried out. I think that a value of 32 is one second.<br />
<br />
====Respawn====<br />
<br />
::Sprite #9 - This sprite is used to spawn enemies or other items after activated by a touchplate or switch. An example of this is entering a room, and a bad guy spawns behind you.<br />
<br />
====GPSPEED====<br />
<br />
::Sprite #10 - This sprite is used to define rates of effects. The lotag is the only thing that is needed here, and the value for it is how fast the effect should go (i.e. - smaller means slower). These cannot be used on all effects, but they can be used on some.<br />
<br />
==Your First Map==<br />
===Installing and Setting up Mapster32===<br />
<br />
Mapster32 is bundled along with EDuke32. After extracting the files into your Duke Nukem 3D directory simply double click the program executable and you will be given prompts where you may select your desired settings.<br />
<br />
===Creating a Room===<br />
<br />
Throughout this section, I will walk you through making your very first Duke Nukem 3D level. Build is an extremely fun editing program, and some cool stuff can be done in this editor, so let's get started.<br />
<br />
:NOTE: The user map [[Media:Tutorial.map|TUTORIAL.MAP]], is an example map that which includes everything covered in this section. If you want to see exactly what something looks like as you go along in this section, just take a look at this map in Mapster32.<br />
<br />
:NOTE: Save early and ''*often*''! I cannot stress this enough! Pressing the ''[ESC]'' key in 2D mode allows you to save your work by pressing the ''[S]'' key (saves it as the current filename (the default is '''''NEWBOARD.MAP''''')) or by pressing the ''[A]'' key (saves it as a new filename, which you specify). Mapster32 also autosaves every 3 minutes to autosave.map by default.<br />
<br />
The first thing that we'll do is create a square room. Press the ''[G]'' key several times, until the largest grid size in Mapster32 appears. Zoom out a little bit (by using the ''[Z]'' key). Move your mouse cursor near one of the vertices, and press the ''[SPACEBAR]''. What you are doing is beginning to draw the walls of your level. Move your mouse cursor up 3 grid blocks and press the ''[SPACEBAR]'' again. You have just drawn your first wall! Move to the right 3 blocks, press ''[SPACE]'' again, move down 3 blocks, press ''[SPACE]'' again, and finally move the cursor back to the first vertex you drew, pressing ''[SPACE]'' one last time. Your room should now be 3 grid blocks by 3 grid blocks.<br />
<br />
===Setting a level starting point===<br />
<br />
One of the first things you might want to do after creating your first room (assuming your first room will be the start of the level) is to specify where Duke will spawn when starting the level. To set a starting point, simply click in the room where you want to start so the white arrow is at that point, turn the arrow the direction you want to face, and press [Scroll Lock]. A different coloured arrow will appear in that position to show the starting point, as well as your normal white arrow.<br />
<br />
===Adding Textures===<br />
<br />
Textures are added in 3D mode. Press the ''[ENTER]'' key on the number pad (it's found on the far right on your keyboard). You should now be in 3D mode, which looks much like the game. The current texture, however, is quite ugly, and one that you do not want to use, especially since it can glitch and start animating sometimes. So let's change the texture of the walls, the ceiling, and the floor.<br />
<br />
Move the mouse cursor over the floor. Press the ''[V]'' key once. This screen (which currently has that ugly texture on it) is a listing of all the textures that appear on either the floor or ceiling of your level (This screen becomes quite handy later on when you want to use a texture already used in your level). Now press the ''[V]'' key again. You should be looking at a large screen of sprites, textures, and other items. Press the ''[PGDN]'' key several times, or use the arrow keys to scroll around the screen. There are literally thousands of tiles in Duke Nukem 3D, so choose one that you want to use as your floor, and press the ''[ENTER]'' key (not the one on the numberpad). Your floor is now the texture you wanted it to be! Now do the exact same thing for the ceiling.<br />
<br />
When you have that done, move the mouse cursor over one of the walls in your level. Press the ''[V]'' key once. The screen you are now looking at is much like the first one for the floor and ceiling, but this time it shows all the wall textures used in your level. Press ''[V]'' again, and select a good texture for the wall. Your texture appears, but it doesn't look like it's all there! You need to scale the texture by using the ''[4]'', ''[8]'', ''[6]'', and ''[2]'' keys on the numberpad. Experiment a little, and get it to look like you want. Pressing the ''[5]'' key, in addition to the keys listed above, will make the scale of the texture change in larger increments (making it faster to do). To shift the texture, hold down ''[SHIFT]'' while pressing the same keys.<br />
<br />
You could do this for each wall, but that would take quite some time to do in a big level. So move the mouse cursor over the wall that you have just changed (after you have it like you want it) and press the ''[TAB]'' key. Now move the mouse cursor over one of the other walls. Press the ''[ENTER]'' key (not the one on the numberpad). You have just copied and pasted the texture, its scale factor, and its shade value! This makes texturing a room much quicker, and it is quite a handy feature. Do this for each wall. (NOTE: Sometimes, the scale isn't pasted 100% correctly, so minor adjustment might be needed.)<br />
<br />
===Adding Sprites===<br />
<br />
Sprites are what levels in [[Duke Nukem 3D]] revolve around. Without sprites, this game would have no meaning at all. Sprites consist of enemies, weapons, ammo and all kinds of eye candy, as well as certain objects that cause the various effects seen in the game like explosions, working doors, flickering lights etc. Placing sprites is quite easy and can be done in either 2D or 3D mode. Placement in 2D mode is *much* easier, because you have the grid to line up sprites with other objects.<br />
<br />
Let's add a shotgun sprite to our level. In 2D mode, move the mouse cursor into one of the corners in the room. Press the ''[S]'' key. You have just placed a sprite. What you now see is a circle with a "tail" coming out of it. The tail indicates the direction of the sprite. This is not important in the case of ammunition, health, enemies, weapons, and some eye candy, but some objects that you might want to place on a wall need the angle to be just right. If the sprite you just placed is currently pink, it means that this sprite will block your movement in the game. If it is pink, move your mouse cursor over the sprite you just placed and press the ''[B]'' key. This toggles sprites between "blockable" and "not blockable". No sprites *need* to be blockable, but it comes in use when placing a table or chair sprite and you want it to block the movement of the player. Now enter into 3D mode. You should see some sort of sprite (probably that ugly texture again). Move the mouse cursor over the newly created sprite, and press the ''[V]'' key once. Like the textures, this first screen shows you what sprites are used in your level. Press the ''[V]'' key again. Select tile #28 (which is the shotgun sprite). You have now placed a shotgun in your level! You might want to size this sprite down a bit (using the ''[4]'', ''[8]'', ''[6]'', and ''[2]'' keys on the numberpad), but weapons, health, ammo, enemies, and inventory items all size themselves in the game.<br />
<br />
Now let's add a poster type sprite to our level. In 2D mode, move your mouse cursor over one of the walls of your room (the cursor should be on the side of the wall that the player will see). Press the ''[S]'' key. Now change the angle of this sprite to face straight away from the wall. This is done using the ''[,]'' and the ''[.]'' keys (also known as the ''[<]'' and ''[>]'' keys). When you have the angle properly set, enter 3D mode. Change this sprite to #500. We want this sprite to stick to the wall, but it doesn't seem to be doing that. Move the mouse cursor over the sprite in 3D mode, and press the ''[R]'' key once. This makes the current sprite lie in a flat plane, perpendicular to the sprite's angle. So if the sprite is facing to the right (or east), the sprite would lie flat in the north-south plane (the sprite would still face east). This is kind of hard to explain, but play around with it to see what I mean. Change the angle of the sprite after the ''[R]'' key has been pressed, and you will see how the flat position and the angle relate. Size your sprite to your liking.<br />
<br />
Let's add one more sprite to our level for now. Place one sprite in 2D mode somewhere in the middle of your room. Change this sprite to #568. This is the magazine sprite. Back in 2D mode, change the angle of this sprite to be 45 degrees or something of that nature (press the ''[<]'' or ''[>]'' key twice to do this). Now enter 3D mode again. This time, move the mouse cursor over the sprite and press the ''[R]'' key *twice*. This command makes sprites lie flat on the floor. Pressing ''[R]'' again returns the sprite to its default setting. Size this sprite to your liking. NOTE: Not all sprites can be made to lie flat on the floor. If the sprite you want to make lie flat on the floor looks really weird (or messed up) when you try to place it flat on the floor, it simply cannot be made to be in that position. If I am not mistaken, the only sprites that can lie flat on the floor have dimensions that are powers of 2. This limitation is not present in the Polymost renderer.<br />
<br />
===Adding a Child Sector===<br />
<br />
Now we need to add what is called a "nested" or "child" sector. This term simply means that you have a sector within a sector. We will first create a small box sector in our room. Somewhere in your room, begin drawing a new sector. Make sure that the grid size is smaller than the largest setting, and draw a square sector again. If you enter 3D mode at this point, you will notice that the sector you just drew has appeared as new walls, taking a chunk out of your room. This is not what we want, so enter back into 2D mode. Move your mouse cursor inside this newly created sector, and press the ''[ALT]''+''[S]'' keys. Your sector walls should have just turned red! Now enter back into 3D mode again. Looks like normal huh? Well, it's not quite like it was before. You have just created a child sector, which will now raise up from the floor.<br />
<br />
===Raising and Lowering Sectors===<br />
<br />
In 3D mode, move your cursor over to the general area of your newly created nested sector (point the cursor at the sector floor). Now press the ''[PGUP]'' key several times. You are now raising your sector out of the ground! Raise it to a decent height (but don't raise it all the way to the ceiling), and put some good textures on it (maybe the crate texture or something of that sort). Using the ''[PGUP]'' key raises either the floor or ceiling of a sector, and using the ''[PGDN]'' key lowers either the floor or ceiling of a sector. This is how you will set your sector heights in the game, and will most likely become one of the most used commands in Mapster32. These two commands can also be used to raise and lower sprites. Remember that poster-type sprite we added to our level? Press the ''[PGUP]'' key on it several times. You have just raised the sprite up on the wall. Very useful and very easy, is it not?<br />
<br />
===Parallaxing Skies===<br />
<br />
In 3D mode, move the mouse cursor over the ceiling of the room sector. Now change the texture of this sector's ceiling to #89. This is the Los Angeles texture, and for it to look right, needs to be parallaxed. Press the ''[P]'' key. Do this for the ceiling of the nested sector we created as well. Several special cases with parallaxing (and several problems) are documented in the parallax sub-section.<br />
<br />
===Sloped Surfaces===<br />
<br />
Let’s now create a sector off to one side of our room. To do this, we first need to insert some vertices. Pick the wall that you want to have the sector on, and move your mouse cursor over that wall. Press the ''[INSERT]'' key in the places on this wall where you want the vertices for our new sector to be (you should only need 2). Move the mouse cursor over one of these newly created vertices and press the ''[SPACEBAR]'', starting the drawing process. Now move the mouse cursor over the second vertex that you inserted, pressing ''[SPACE]'' again. The move out away from the room sector, drawing your sector as normal. When you finish drawing your sector, the part of the wall between the two vertices you inserted should change into a red line. Enter 3D mode and take a look at the newly created sector. Let’s make the floor of this sector sloped.<br />
<br />
By using the ''['' and '']'' keys, slope the floor of this sector downwards (or upwards, whichever you prefer – just experiment with it). Keep in mind that when sloping sectors, you need to set the "first wall" of the sector. The "first wall" is the wall that the slope will pivot around (think of it as a hinge point). This can be set in either 2D or 3D mode by pressing the ''[ALT]''+''[F]'' key combination on the wall you want to be the first wall of the sector. Experiment with setting this parameter, and see how it changes the tilting angle of the sector (try this on our newly created sector).<br />
<br />
===Creating a Circle===<br />
<br />
This is a feature that is (unfortunately) not used enough in level design, and it can be a little tricky to get just right.<br />
<br />
Somewhere in your level (do this outside of your room sectors), draw a triangular sector. Move your cursor over one of the walls of this sector, and press the ''[C]'' key. Now move the mouse around. You will see the beginnings of a circle, but we need to manipulate this circle to get it the way we want it to be. Pressing the ''[-]'' and ''[+]'' keys (on the numberpad) decreases and increases the number of points on the circle, respectively. Pressing the ''[SPACEBAR]'' draws the circle, while pressing the ''[C]'' key cancels the drawing of the circle. Once you’ve got half of the circle drawn, move the vertex of the triangle (that you initially created) that is sticking out away from the half-circle, over one of the vertices that runs across the half-way point of the circle. This is quite hard to explain in words, so take a look at the [[Media:Tutorial.map|tutorial map]] (I've placed several iterations of this circular construction on the map, so you can see how this is done step by step). Then create the other half of the circle.<br />
<br />
===The Art of Shading===<br />
<br />
One of the key elements in any level made is the shading technique. Shading is a delicate art that must be learned and used *everywhere* in the level. Leaving your level's walls, sprites, floors, and ceilings set with a shade value of 0 makes most level reviewers shun (or even skip) your level entirely. There are several shading techniques that you must learn to use, and they're not hard to learn at all! Once you learn these techniques, you will be able to make some very cool looking levels!<br />
<br />
In addition to the sector based lighting described below, another why to light your levels is by using the advanced Polymer renderer's dynamic lights. These have the ability to cast shadows, and can make a Duke level look much more modern (especially when combined with the HRP.) Dynamic lights are also faster to implement than sector based shading, as it doesn't involve making extra sectors and shading surfaces individually. To make these lights, use the Sector Effectors 49 and 50 as described in the Sector Effector tag listing section accessible at the top of this page.<br />
<br />
====Shading Techniques====<br />
<br />
:Before we learn about the different techniques needed to make shading what it needs to (and should) be, we first need to learn how to shade. All shading is done in 3D mode. Pressing the ''[+]'' key (on the numberpad) makes the object under the mouse pointer get brighter (the shade value decreases). Pressing the ''[-]'' key (on the numberpad) makes the object under the mouse pointer get darker (the shade value increases). For small shading amounts, this can be handy, but to make things dark, pressing these keys over and over can be a pain. So there's a shorter way to do this! Point at the object you want to shade and press the ''[']''+''[S]'' key combination. Then enter the value you want the shade to be. The larger the number, the darker the shade. A value of about 50 is almost completely dark, but you can go all the way up to 128. Negative values are allowed (down to -128) and make things bright (but not noticeably lighter than a shade value of 0 except at a distance). Entering negative values in version 1.3D isn't as easy as in 1.4 or 1.5, but it can be done. To enter negative values, you simply need to enter a value that is greater than 128. The value you enter will simply be 256 minus whatever value you type in. For example, if you type in a value of 155, the value entered will be -100. Remember this only needs to be done in version 1.3D. In versions 1.4 and 1.5, you simply type the ''[-]'' key (not on the numberpad) before typing the value.<br />
<br />
::*The first shading technique that you need to learn is that you should offset the shade of walls of a room. To do this, select two opposite directions on your map (i.e. - north and south) and make *all* walls in that direction one shade value (let’s use a value of 10 for now). Now you should give *all* the walls in the opposite two directions (i.e. - east and west) a shade somewhat lighter or darker than the previous shading (let’s use a value of 15 for now). This allows your eye to find the corner of the room much faster, and it gives a much more realistic look to any room (if you make joined walls the same shade, finding the corner can be quite a difficult thing to do). This technique should be used in *every* room and passageway in your level, and it should remain consistent (i.e. – if you made all east-west walls the lighter value, then all east-west walls should remain lighter in the future). If you have a angled wall (i.e. - it doesn’t run perfectly north-south or east-west) use a value somewhere between your east-west and north-south values. It is a good idea to set this type of shading before setting the next type.<br />
<br />
::*The second technique that you need to learn is that light travels in a straight line. The light from a ceiling light should make straight shadows when passing past a corner of a hallway or other object. Remember to light your areas according to the positioning of your lights. This is the second type of shading you should set.<br />
<br />
::*The third technique is ambient shading. Although light travels in a straight line, there is some ambience. Use multiple sectors for shading, making the sectors farther from the light source incrementally darker. Although this type of shading isn't needed, it definitely makes for some cool looking effects (gradual shading effects make some scenes look excellent – especially at a high resolution).<br />
<br />
===Advanced Features===<br />
<br />
[[Build]] has a few features that can be very useful to a learning Builder, and make the Building process *much* faster to complete.<br />
<br />
====Splitting Walls====<br />
<br />
:Splitting walls is quite easy to do. In 2D mode, simply point at the place on the wall where you would like to insert a vertex and press the ''[INS]'' key. That's all you have to do! Easy, huh?<br />
<br />
====Resizing and Moving Sectors====<br />
<br />
:Another nice feature of Build is the ability to resize and move sectors. To select multiple vertices to move at the same time, hold the ''[RIGHT SHIFT]'' key down, and move the box (you'll see it appear when you move the mouse) over the desired vertices. Now moving one of these vertices will also move the other selected vertices! To move a sector, hold down the ''[RIGHT ALT]'' key and, again, drag the mouse over the desired sector. Now, release the ''[RIGHT ALT]'' key and move the sector with the mouse. Press the ''[RIGHT ALT]'' key one last time to deselect the sector once you have successfully moved it.<br />
<br />
:To resize sectors, highlight them with ''[RIGHT ALT]'' and press and hold ''[']'' and ''[f]''. This will bring up a menu with various options, and one of them is to resize, so press the number next to that option, and use the mouse to resize your highlighted sectors.<br />
<br />
====Joining Sectors====<br />
<br />
:Joining sectors is a useful feature when you don't want a sector to be split up into individual (red lined) sectors. In 2D mode, simply press the ''[J]'' key in the first sector you wish to join (this is the sector from which the properties (height, shade, etc.) will be taken). Then press the ''[J]'' key again on the second, adjacent sector. There you go - No more red line!<br />
<br />
====Deleting Sectors====<br />
<br />
Deleting sectors is also an easy thing to do. Simply move the mouse into the sector you wish to delete, and press the ''[CTRL]''+''[DEL]'' keys to delete the sector. Be warned that there is no undo feature in Build, so make sure you know *exactly* what you are doing before using this command. A quick save of the level before using this command wouldn't hurt.<br />
<br />
====Copying and Pasting Sectors====<br />
<br />
:Copying sectors can make Building go very fast. You can copy sectors to the current level, or even to another level! To copy sectors, hold down the ''[RIGHT ALT]'' key in 2D mode and move the box (you'll see it appear when you move the mouse) over the desired sectors. Then release the ''[RIGHT ALT]'' key. Once the sectors are selected (they will flash yellow), press the ''[INSERT]'' key. You'll notice that the original sectors have been deselected, however a new set of identical sectors have appeared, highlighted, nearby. Use the mouse to drag these sectors to anywhere you want on the map, then press the ''[RIGHT ALT]'' key again to deselect them.<br />
<br />
:You can paste sectors into void space (space which doesn't already contain sectors) or you can paste it inside another sector. To paste inside another sector, drag the sectors inside another sector (sorry for saying sector a lot) and release them with ''[RIGHT ALT]'', mapster will ask you if you want to create an inner loop (for a child sector). This is what we want, so press the ''[y]'' key for yes. You have just pasted a sector inside another sector (I'm doing it again), creating a red line around the boundary. If you hit ''[n]'' then the sectors will be pasted separately (not connected in anyway), so that the two areas will coexist in the same space, which is kind of pointless.<br />
<br />
:'''More ways of highlighting: You can highlight a second, third, and multiple sectors by holding down ''[']'' as you drag the selection box over them. This way you can highlight sectors in different parts of the map. Likewise, use the ''[;]'' key to deselect sectors. A small plus or minus will appear next to the cursor depending on which button you're holding. '''<br />
:'''You can select individual sectors with the mouse by moving the cursor inside the sector you want, holding ''[RIGHT ALT]'', and holding ''[RIGHT CTRL]'' as you release ''[RIGHT ALT]''. The sector is now highlighted. This method of selection also works with ''[']'' and ''[;]'' to select/deselect additional sectors by mouse. Simply hold ''[RIGHT ALT]'' and the appropriate button depending on what you want to do, then hold ''[RIGHT CTRL]'' while releasing the other buttons. This becomes very quick and easy to do after doing it a few times.'''<br />
<br />
:To copy sectors from one level to another, simply select the desired sectors (as stated above) and press the ''[INSERT]'' key (again, just like before). Now, while the sectors are still selected (they should still be flashing green), load another level. The selected sectors should appear in your level, and you can move them to the desired location. Pressing the ''[RIGHT ALT]'' key will then deselect the sectors.<br />
<br />
===Completing This Map===<br />
<br />
You are now through the basic parts of editing. The next section goes into detail on making every effect known in Duke Nukem 3D (there are even several effects not used in the game itself that people have invented). To run your map, simply use command line '''''-map <mapname>''''' or select "User Map" under the "New Game" menu in [[EDuke32]] and select the desired map.<br />
<br />
Welcome to the world of Build!<br />
<br />
==Effects List==<br />
<br />
This section of the FAQ covers most known effects available to the map designer. Due to the number of effects available, this section is quite lengthy. Example ''.map'' files are used throughout this section, so take a look at any of the how-tos for the corresponding map name.<br />
<br />
If there's an effect you want to do that's not listed here, or you're having trouble understanding how to achieve one of the effects because of the way it's explained, try this mapping guide: [[http://infosuite.duke4.net/]], which is arguably the best, most succinct, and easiest to read mapping guide, great for both beginners and veteran mappers. It's illustrated with diagrams.<br />
<br />
:*[[:Category:Editing Doors|Doors]]<br />
:*[[:Category:Editing Parallaxed Skies|Parallaxed Skies]]<br />
:*[[:Category:Editing Lighting Effects|Lighting Effects]]<br />
:*[[:Category:Editing Moving Sectors|Moving Sectors]]<br />
:*[[:Category:Editing General Sector Effects|General Sector Effects]]<br />
:*[[:Category:Editing Water|Water]]<br />
:*[[:Category:Editing Walls and Wall Effects|Walls and Wall Effects]]<br />
:*[[:Category:Editing Mirrors|Mirrors]]<br />
:*[[:Category:Editing Teleporters|Teleporters]]<br />
:*[[:Category:Editing Ending the Level|Ending the Level]]<br />
:*[[:Category:Editing Switch Effects|Switch Effects]]<br />
:*[[:Category:Editing C-9 Effects|C-9 Effects]]<br />
:*[[:Category:Editing Sectors That Rise and Fall|Sectors That Rise and Fall]]<br />
:*[[:Category:Editing Music and Sound Effects|Music and Sound Effects]]<br />
:*[[:Category:Editing Working with Sprites|Working with Sprites]]<br />
:*[[:Category:Editing Multiplayer Level Making|Multiplayer Level Making]]<br />
:*[[:Category:Editing Miscellaneous|Miscellaneous]]<br />
:*[[Sector Effector Reference Guide]]<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Level_editing&diff=12034Level editing2014-10-26T08:18:32Z<p>Nexus: /* Sector Effectors */ -update</p>
<hr />
<div>{{Build Intro}}<br />
<div class="floatleft">__TOC__</div><br />
<br />
<strong>NOTE: This section is based on The Map Editing FAQ for Duke Nukem 3D v. 2.1 by Jonah Bishop, &copy;2000. The majority of the information presented here was written over five years ago. Some may be outdated, and some may be incorrect -- this page exists to get you started with the Level Editing and may not currently cover some of the additional features available in Mapster32, although as of 2011 some of the less well known yet handy new mapster32 features have been added.</strong><br />
<br />
==Information About Maps==<br />
===What is a map?===<br />
<br />
A "map" is a general term used to describe the levels in [[Duke Nukem 3D]] (or just about any other game for that matter). Maps include all the level information (effect parameters, wall placement, sprite placement, etc.).<br />
<br />
===What can I do to maps?===<br />
<br />
Unlike games such as Doom or Unreal, maps are solely the layout of a level, the effects used in that level, etc. Enemy coding, sounds, and art textures can be found in the .grp and .con files.<br />
<br />
===Can I look at the game maps?===<br />
<br />
Yes. The maps of the original game are contained in the DUKE3D.GRP file, in your game directory. If Mapster32 is in the same folder as the DUKE3D.GRP file: open Mapster32; press [esc], this opens the basic menu and type [L] for (L)oad. Then press [ctrl]+[G] and all maps from a given .grp file are listed. Scroll down with the Arrow Keys and select any map on the list and press [enter]. - You can also extract a map from a .grp file with [http://dukeworld.duke4.net/classic%20dukeworld/other/artwork/dukeres.zip DukeResART by Peter Gerber] and place it in the game directory Mapster32 resides.<br />
<br />
===What do I use to make maps?===<br />
<br />
The editor available for creating your own maps are the [[Build]] program (used to create the levels found in [[Duke Nukem 3D]]), [[Makemap]] (distributed with Eduke 2.0), JFBuild (distributed with [[JFDuke]]), and [[Mapster32]], which is included with [[EDuke32]]. This FAQ currently only discusses features of [[Build]] and [[Mapster32]] specifically, although the other editors may (and generally do) function the same way. In this FAQ we are specifically covering [[Mapster32]].<br />
<br />
===Can I make maps for other games?===<br />
<br />
Yes. [[Mapster32]] was designed in mind for Duke Nukem 3D, but it can also be used to make levels for [[NAM]], [[WWII GI]], [[Redneck Rampage]], and others.<br />
<br />
===How do I run user maps?===<br />
<br />
Running user maps that you create and/or download is can be run within EDuke32 by selecting "User Map" under the "New Game" menu. The command line parameter -map <mapname> also may be used to execute user maps.<br />
<br />
===What exactly is the Build engine?===<br />
<br />
The [[Build]] engine is the graphics engine that games such as [[Duke Nukem 3D]], [[Shadow Warrior]], [[Blood]], and [[NAM]] run on. Although it isn't truly 3-D, you can fake it by using sprites and overlapping sectors on top of each other. A modern eduke32 feature called [TROR] (true room over room) has been created to give the [[Build]] engine the appearance and functionality of a true 3-D engine, with only minor limitations. Most Build games also allow a level of interactivity in their environment that was unmatched for years.<br />
<br />
==Things You Should Know Before Starting==<br />
===Introduction===<br />
<br />
There are quite a few things that you will need to know prior to making your first level. Read this section completely, and you will have everything you need to know to start making levels!<br />
<br />
===2D and 3D Modes===<br />
<br />
There are two different editing modes in Mapster32. The 2D mode shows the layout of the map, sprites, tags. The 3D mode looks like the game itself. To switch between these two modes, press the [ENTER] key on the numberpad. The regular [ENTER] key does not switch modes, so this must be noted!<br />
<br />
In 2D mode, you lay out the map itself. Here you draw walls, place and resize sprites, change tags of walls, sprites, and floors, and save your work. In 3D mode, you change the textures of the walls, change how high or low the floor, ceiling, sprites, and other objects are, and you can change the shade here as well.<br />
<br />
===Hitags And Lotags===<br />
<br />
<strong>NOTE NEW SYSTEM: (Still read the rest of the information as it's completely valid, the following describes a method of making tagging MUCH easier) A new smart tagging system has been implemented in eduke32 (for the 'pairing' of effects and sprites together). In addition to tagging with numbers, you can now tag with letters as well. This means if you give say a sector effector a hitag of "door1" (you can use any name) the engine automatically assigns the SE an unused hi-tag. If you then type "door1" on a switch, it assigns an identical number. Note numbers can still be used just as before.<br />
<br />
This has 3 benefits. <br />
Firstly, it means you don't have to remember numbers when linking effects together, you can remember them by an appropriate name, which is FAR easier. <br />
Secondly, if you stick with the smart tagging system, you'll never use a number that has already been taken, which means you won't accidentally link 2 effects together which shouldn't be linked, and you don't have to keep track of which numbers you've used as was previously necessary.<br />
Lastly, while most effects use the hitag to pair up, some effects use the lotag instead, and remembering which is which used to be a hassle. Now, however, the smart tagging system knows which tag an effect uses, and will only assign words to that tag.</strong><br />
<br />
This topic is complicated, yet simple at the same time. Tags can be given to walls, sprites, or sectors, and they tell the wall, sprite, or sector what to do. There are two numbers that any of these objects can be given. The first number is called a hitag. Hitags usually identify the object, so that other objects can be paired with it (I'll give an example in one moment). Lotags are generally a fixed number that tells the game exactly what to do.<br />
<br />
Here is an example:<br />
<br />
I make two sectors, and I want them to be teleporters (i.e. - I step into one sector, and teleport to the other sector). I place a sector effector sprite in both sectors, and give them tags to identify them. I first give *both* sprites a lotag of 7. This number is preset, and it tells the game that when the player enters this sector, he is to "teleport" to the other teleporting sector. I then give *both* sprites the *same* hitag. This number must be unique, as it gives an identity to both sprites. Here is what the program is probably thinking when I'm playing this level:<br />
<br />
Hmmm. The player has just entered a sector with a special sector effector sprite in it (lotag of 7). Let me see if I can find another teleporting sector with the same identity (unique hitag), so that I can "teleport" him there. Hey - There's the other sector! WOO-HOO!<br />
<br />
All the hitags do are link various effect sprites together. If you only gave one sprite a hitag, the program would not be able to find another, matching teleporting sector, and then would not be able to teleport you anywhere, because it can't find this sprite's "mate". Here are the key strokes that you need to do in order to place these tags (in 2D mode):<br />
<br />
:* Sector Hitag : Press [H] in the desired sector<br />
:* Sector Lotag : Press [T] in the desired sector<br />
:* Sprite Hitag : Press [ALT]+[H] on the desired sprite<br />
:* Sprite Lotag : Press [ALT]+[T] on the desired sprite<br />
:* Wall Hitag : Press [ALT]+[H] on the desired wall<br />
:* Wall Lotag : Press [ALT]+[T] on the desired wall<br />
<br />
These same tag assignments can be made in 3D mode as well. Here are the key strokes for use in 3D mode:<br />
<br />
:* Sector Hitag : Press [']+[H] in the desired sector<br />
:* Sector Lotag : Press [']+[T] in the desired sector<br />
:* Sprite Hitag : Press [']+[H] on the desired sprite<br />
:* Sprite Lotag : Press [']+[T] on the desired sprite<br />
:* Wall Hitag : Press [']+[H] on the desired wall<br />
:* Wall Lotag : Press [']+[T] on the desired wall<br />
<br />
:NOTE: To set wall tags in 2D mode, it is advised to turn off the grid, so that you are not selecting sprites. Press [G] several times to turn the grid off.<br />
<br />
===Placing Sprites===<br />
<br />
:NOTE: When I say that you should press the [V] key (or any other key for that matter) on a sprite, I mean that you should move the cursor over that sprite with the mouse, and then press the key.<br />
<br />
Without sprites, levels in Duke Nukem 3D would be nothing. Sprites make up all the "eye candy" in the level and are the root of all effects in Duke 3D. To place a sprite in the level, press the [S] key in either 2D or 3D mode. It is advised to place them in 2D mode, as you have the grid as a guide for placement.<br />
<br />
There are several different modes sprites can be in (3 of them to be exact). Sprites can lie flat on the floor, be "pasted" to the wall, or they can be in the "normal" mode (guns and other goodies are usually in this mode). Normal mode is the default setting, and to switch the current mode of a sprite, enter 3D mode, and press the [R] key on it. It will go from normal to being pasted on the wall (according to which direction the sprite is facing). Pressing [R] on it again will paste it to the floor, and again will make it normal.<br />
<br />
:NOTE: If you place a sprite on a wall in 3D mode (using the [S] key), the sprite will automatically be "pasted" flat to the wall that you placed it on.<br />
<br />
:NOTE: Only "square" sprites can be made to lie flat on the floor. Sprites that fit this condition are ones that have the same x-axis height as the y-axis height. Note that this limitation does not apply if you are using the Polymost renderer.<br />
<br />
Sprites can face in different directions as well. In 2D mode, you will notice a "tail" coming out of the circle which represents the sprite. This tail points in the direction that the sprite is currently facing, and it also denotes the "front" side of the sprite. To change this, press the [,] or [.] keys on the sprite in 3D mode.<br />
<br />
To change the texture of a sprite (changing what the sprite actually is), enter 3D mode and press [V] on it. This will bring up a screen of all the current sprites used in the level you currently are working on (This is useful as you start to need the same sprite over and over). Press [V] again, and you will proceed to the tile selection screen. Here, you can press [PGUP] and [PGDN] to scroll through the many textures used in Duke and use [/] and [*] to zoom in and out. When you have found a suitable texture, press [ENTER]. You can also search for textures' names using [s] then typing the name of the sprite and hitting [ENTER]. Unless you know for sure what the sprite's name is, this might not be all that useful, but sometimes educated guesses can be lucky. You can also go to a tile number you want by pressing [g] then typing the number and hitting [ENTER]. This saves a lot of time if you know what tile you want, or want to skip ahead a few thousand tiles. You can also use the 'goto' feature in 3D mode by moving the cursor over a wall or sprite and hitting [g].<br />
<br />
To change palette (color) of the sprite, simple press [ALT]+[P]. Then the program will ask for palette number. Bosses won't end level when their palette is set to 21.<br />
<br />
To raise or lower the sprite, press the [PGUP] or [PGDN] keys on the sprite in 3D mode. This changes the altitude of the sprite. Holding down [CTRL] while doing the same will move the sprite onto the ceiling or ground.<br />
<br />
Here is an example of placing a sprite in a room:<br />
<br />
I want to place a calendar on the wall in my room. In 2D mode, I would press the [S] key ON THE WALL where I want the sprite to be, and I would then enter 3D mode, pressing the [V] key on it twice. I would select the calendar sprite, raise it up to the height I want it on my wall (with the [PGUP] and [PGDN] keys) and then press [R] on it *once*. But now that I look at it, the sprite is turned to the side, or it is backwards! You must remember to set the sprite direction with the [,] and [.] keys. The tail should face *away from the wall, so that it lies flat on the wall. Check out some of the levels that came with the game if you don't understand.<br />
<br />
===The Special Sprites===<br />
<br />
There are a few special sprites that need to be explained. The most important ones are as follows:<br />
<br />
====Sector Effectors====<br />
<br />
::Sprite #1 - The sector effector sprite is the most used sprite in the entire game. It does just about what the name says: effects a sector. These sprite are used to create game effects and manipulate sector attributes. These sprites are the main tool used to create all effects in Duke Nukem 3D. Place the sprite in the sector to effect. The lotags for these are preset, and a list of the lotags for this sprite can be found in the [[Sector Effector Tag Listing]].<br />
<br />
====Activators====<br />
<br />
::Sprite #2 - Activators are used to activate a sector effector (SE) sprite when a switch or touchplate is triggered. They also can activate sector lotags.<br />
<br />
====Touchplates====<br />
<br />
::Sprite #3 - The touchplate will activate an activator or a masterswitch sprite, when the player walks over the sector that contains it. A hitag of 0 means that the touchplate will activate every time the player walks on top of the sector. A hitag of greater than 0 means that the touchplate will only be activated that many times (whatever number you put on there). The only number I've ever seen used that is greater than 0, is 1 (to activate an effect only once). But use the value that you want to. <br />
<br />
::If the touchplate and the sector containing it are at different heights then the sector will be raised to the height of the touchplate when the game starts, and lower to the sector's original height when the player walks on it.<br />
<br />
::If the touchplate angle is set to south (angle 512), then the it will affect the whole sector, not only if the player walks over the sector that contains it. That's means that the player trigger the touchplate as soon he enter the sector, regardless of the height where the player is.<br />
<br />
====ActivatorLocked====<br />
<br />
::Sprite #4 - This sprite locks the sectors lotag function, so that it cannot take effect until the player unlocks it with a switch or touchplate. This is used to make locked doors and other such effects.<br />
<br />
====Music&SFX====<br />
<br />
::Sprite #5 - This sprite is used to create all the sound effects in the game. It can be used in 3 ways:<br />
<br />
::::* 1. Activation Sound<br />
::::* 2. Ambient Sound<br />
::::* 3. Echo Effect<br />
<br />
::We will go into this sprite in much more detail later on.<br />
<br />
====Locator====<br />
<br />
::Sprite #6 - These are used to define a path that moving sectors and certain enemies (the Pigcop Recon Cars) will follow. Both moving sectors and the Pigcop Recon Cars cannot be used in the same map. They are also used as the endpoints of a two-way train.<br />
<br />
====Cycler====<br />
<br />
::Sprite #7 - This sprite is used to make the sector floor, walls, and ceiling pulsate in brightness. Section 4.20 goes into great detail about this sprite.<br />
<br />
====Masterswitch====<br />
<br />
::Sprite #8 - This sprite is the exact same as the activator, but it has the ability to use a time delay. The hitag is the time delay that the effect should wait to be carried out. I think that a value of 32 is one second.<br />
<br />
====Respawn====<br />
<br />
::Sprite #9 - This sprite is used to spawn enemies or other items after activated by a touchplate or switch. An example of this is entering a room, and a bad guy spawns behind you.<br />
<br />
====GPSPEED====<br />
<br />
::Sprite #10 - This sprite is used to define rates of effects. The lotag is the only thing that is needed here, and the value for it is how fast the effect should go (i.e. - smaller means slower). These cannot be used on all effects, but they can be used on some.<br />
<br />
==Your First Map==<br />
===Installing and Setting up Mapster32===<br />
<br />
Mapster32 is bundled along with EDuke32. After extracting the files into your Duke Nukem 3D directory simply double click the program executable and you will be given prompts where you may select your desired settings.<br />
<br />
===Creating a Room===<br />
<br />
Throughout this section, I will walk you through making your very first Duke Nukem 3D level. Build is an extremely fun editing program, and some cool stuff can be done in this editor, so let's get started.<br />
<br />
:NOTE: The user map [[Media:Tutorial.map|TUTORIAL.MAP]], is an example map that which includes everything covered in this section. If you want to see exactly what something looks like as you go along in this section, just take a look at this map in Mapster32.<br />
<br />
:NOTE: Save early and ''*often*''! I cannot stress this enough! Pressing the ''[ESC]'' key in 2D mode allows you to save your work by pressing the ''[S]'' key (saves it as the current filename (the default is '''''NEWBOARD.MAP''''')) or by pressing the ''[A]'' key (saves it as a new filename, which you specify). Mapster32 also autosaves every 3 minutes to autosave.map by default.<br />
<br />
The first thing that we'll do is create a square room. Press the ''[G]'' key several times, until the largest grid size in Mapster32 appears. Zoom out a little bit (by using the ''[Z]'' key). Move your mouse cursor near one of the vertices, and press the ''[SPACEBAR]''. What you are doing is beginning to draw the walls of your level. Move your mouse cursor up 3 grid blocks and press the ''[SPACEBAR]'' again. You have just drawn your first wall! Move to the right 3 blocks, press ''[SPACE]'' again, move down 3 blocks, press ''[SPACE]'' again, and finally move the cursor back to the first vertex you drew, pressing ''[SPACE]'' one last time. Your room should now be 3 grid blocks by 3 grid blocks.<br />
<br />
===Setting a level starting point===<br />
<br />
One of the first things you might want to do after creating your first room (assuming your first room will be the start of the level) is to specify where Duke will spawn when starting the level. To set a starting point, simply click in the room where you want to start so the white arrow is at that point, turn the arrow the direction you want to face, and press [Scroll Lock]. A different coloured arrow will appear in that position to show the starting point, as well as your normal white arrow.<br />
<br />
===Adding Textures===<br />
<br />
Textures are added in 3D mode. Press the ''[ENTER]'' key on the number pad (it's found on the far right on your keyboard). You should now be in 3D mode, which looks much like the game. The current texture, however, is quite ugly, and one that you do not want to use, especially since it can glitch and start animating sometimes. So let's change the texture of the walls, the ceiling, and the floor.<br />
<br />
Move the mouse cursor over the floor. Press the ''[V]'' key once. This screen (which currently has that ugly texture on it) is a listing of all the textures that appear on either the floor or ceiling of your level (This screen becomes quite handy later on when you want to use a texture already used in your level). Now press the ''[V]'' key again. You should be looking at a large screen of sprites, textures, and other items. Press the ''[PGDN]'' key several times, or use the arrow keys to scroll around the screen. There are literally thousands of tiles in Duke Nukem 3D, so choose one that you want to use as your floor, and press the ''[ENTER]'' key (not the one on the numberpad). Your floor is now the texture you wanted it to be! Now do the exact same thing for the ceiling.<br />
<br />
When you have that done, move the mouse cursor over one of the walls in your level. Press the ''[V]'' key once. The screen you are now looking at is much like the first one for the floor and ceiling, but this time it shows all the wall textures used in your level. Press ''[V]'' again, and select a good texture for the wall. Your texture appears, but it doesn't look like it's all there! You need to scale the texture by using the ''[4]'', ''[8]'', ''[6]'', and ''[2]'' keys on the numberpad. Experiment a little, and get it to look like you want. Pressing the ''[5]'' key, in addition to the keys listed above, will make the scale of the texture change in larger increments (making it faster to do). To shift the texture, hold down ''[SHIFT]'' while pressing the same keys.<br />
<br />
You could do this for each wall, but that would take quite some time to do in a big level. So move the mouse cursor over the wall that you have just changed (after you have it like you want it) and press the ''[TAB]'' key. Now move the mouse cursor over one of the other walls. Press the ''[ENTER]'' key (not the one on the numberpad). You have just copied and pasted the texture, its scale factor, and its shade value! This makes texturing a room much quicker, and it is quite a handy feature. Do this for each wall. (NOTE: Sometimes, the scale isn't pasted 100% correctly, so minor adjustment might be needed.)<br />
<br />
===Adding Sprites===<br />
<br />
Sprites are what levels in [[Duke Nukem 3D]] revolve around. Without sprites, this game would have no meaning at all. Sprites consist of enemies, weapons, ammo and all kinds of eye candy, as well as certain objects that cause the various effects seen in the game like explosions, working doors, flickering lights etc. Placing sprites is quite easy and can be done in either 2D or 3D mode. Placement in 2D mode is *much* easier, because you have the grid to line up sprites with other objects.<br />
<br />
Let's add a shotgun sprite to our level. In 2D mode, move the mouse cursor into one of the corners in the room. Press the ''[S]'' key. You have just placed a sprite. What you now see is a circle with a "tail" coming out of it. The tail indicates the direction of the sprite. This is not important in the case of ammunition, health, enemies, weapons, and some eye candy, but some objects that you might want to place on a wall need the angle to be just right. If the sprite you just placed is currently pink, it means that this sprite will block your movement in the game. If it is pink, move your mouse cursor over the sprite you just placed and press the ''[B]'' key. This toggles sprites between "blockable" and "not blockable". No sprites *need* to be blockable, but it comes in use when placing a table or chair sprite and you want it to block the movement of the player. Now enter into 3D mode. You should see some sort of sprite (probably that ugly texture again). Move the mouse cursor over the newly created sprite, and press the ''[V]'' key once. Like the textures, this first screen shows you what sprites are used in your level. Press the ''[V]'' key again. Select tile #28 (which is the shotgun sprite). You have now placed a shotgun in your level! You might want to size this sprite down a bit (using the ''[4]'', ''[8]'', ''[6]'', and ''[2]'' keys on the numberpad), but weapons, health, ammo, enemies, and inventory items all size themselves in the game.<br />
<br />
Now let's add a poster type sprite to our level. In 2D mode, move your mouse cursor over one of the walls of your room (the cursor should be on the side of the wall that the player will see). Press the ''[S]'' key. Now change the angle of this sprite to face straight away from the wall. This is done using the ''[,]'' and the ''[.]'' keys (also known as the ''[<]'' and ''[>]'' keys). When you have the angle properly set, enter 3D mode. Change this sprite to #500. We want this sprite to stick to the wall, but it doesn't seem to be doing that. Move the mouse cursor over the sprite in 3D mode, and press the ''[R]'' key once. This makes the current sprite lie in a flat plane, perpendicular to the sprite's angle. So if the sprite is facing to the right (or east), the sprite would lie flat in the north-south plane (the sprite would still face east). This is kind of hard to explain, but play around with it to see what I mean. Change the angle of the sprite after the ''[R]'' key has been pressed, and you will see how the flat position and the angle relate. Size your sprite to your liking.<br />
<br />
Let's add one more sprite to our level for now. Place one sprite in 2D mode somewhere in the middle of your room. Change this sprite to #568. This is the magazine sprite. Back in 2D mode, change the angle of this sprite to be 45 degrees or something of that nature (press the ''[<]'' or ''[>]'' key twice to do this). Now enter 3D mode again. This time, move the mouse cursor over the sprite and press the ''[R]'' key *twice*. This command makes sprites lie flat on the floor. Pressing ''[R]'' again returns the sprite to its default setting. Size this sprite to your liking. NOTE: Not all sprites can be made to lie flat on the floor. If the sprite you want to make lie flat on the floor looks really weird (or messed up) when you try to place it flat on the floor, it simply cannot be made to be in that position. If I am not mistaken, the only sprites that can lie flat on the floor have dimensions that are powers of 2. This limitation is not present in the Polymost renderer.<br />
<br />
===Adding a Child Sector===<br />
<br />
Now we need to add what is called a "nested" or "child" sector. This term simply means that you have a sector within a sector. We will first create a small box sector in our room. Somewhere in your room, begin drawing a new sector. Make sure that the grid size is smaller than the largest setting, and draw a square sector again. If you enter 3D mode at this point, you will notice that the sector you just drew has appeared as new walls, taking a chunk out of your room. This is not what we want, so enter back into 2D mode. Move your mouse cursor inside this newly created sector, and press the ''[ALT]''+''[S]'' keys. Your sector walls should have just turned red! Now enter back into 3D mode again. Looks like normal huh? Well, it's not quite like it was before. You have just created a child sector, which will now raise up from the floor.<br />
<br />
===Raising and Lowering Sectors===<br />
<br />
In 3D mode, move your cursor over to the general area of your newly created nested sector (point the cursor at the sector floor). Now press the ''[PGUP]'' key several times. You are now raising your sector out of the ground! Raise it to a decent height (but don't raise it all the way to the ceiling), and put some good textures on it (maybe the crate texture or something of that sort). Using the ''[PGUP]'' key raises either the floor or ceiling of a sector, and using the ''[PGDN]'' key lowers either the floor or ceiling of a sector. This is how you will set your sector heights in the game, and will most likely become one of the most used commands in Mapster32. These two commands can also be used to raise and lower sprites. Remember that poster-type sprite we added to our level? Press the ''[PGUP]'' key on it several times. You have just raised the sprite up on the wall. Very useful and very easy, is it not?<br />
<br />
===Parallaxing Skies===<br />
<br />
In 3D mode, move the mouse cursor over the ceiling of the room sector. Now change the texture of this sector's ceiling to #89. This is the Los Angeles texture, and for it to look right, needs to be parallaxed. Press the ''[P]'' key. Do this for the ceiling of the nested sector we created as well. Several special cases with parallaxing (and several problems) are documented in the parallax sub-section.<br />
<br />
===Sloped Surfaces===<br />
<br />
Let’s now create a sector off to one side of our room. To do this, we first need to insert some vertices. Pick the wall that you want to have the sector on, and move your mouse cursor over that wall. Press the ''[INSERT]'' key in the places on this wall where you want the vertices for our new sector to be (you should only need 2). Move the mouse cursor over one of these newly created vertices and press the ''[SPACEBAR]'', starting the drawing process. Now move the mouse cursor over the second vertex that you inserted, pressing ''[SPACE]'' again. The move out away from the room sector, drawing your sector as normal. When you finish drawing your sector, the part of the wall between the two vertices you inserted should change into a red line. Enter 3D mode and take a look at the newly created sector. Let’s make the floor of this sector sloped.<br />
<br />
By using the ''['' and '']'' keys, slope the floor of this sector downwards (or upwards, whichever you prefer – just experiment with it). Keep in mind that when sloping sectors, you need to set the "first wall" of the sector. The "first wall" is the wall that the slope will pivot around (think of it as a hinge point). This can be set in either 2D or 3D mode by pressing the ''[ALT]''+''[F]'' key combination on the wall you want to be the first wall of the sector. Experiment with setting this parameter, and see how it changes the tilting angle of the sector (try this on our newly created sector).<br />
<br />
===Creating a Circle===<br />
<br />
This is a feature that is (unfortunately) not used enough in level design, and it can be a little tricky to get just right.<br />
<br />
Somewhere in your level (do this outside of your room sectors), draw a triangular sector. Move your cursor over one of the walls of this sector, and press the ''[C]'' key. Now move the mouse around. You will see the beginnings of a circle, but we need to manipulate this circle to get it the way we want it to be. Pressing the ''[-]'' and ''[+]'' keys (on the numberpad) decreases and increases the number of points on the circle, respectively. Pressing the ''[SPACEBAR]'' draws the circle, while pressing the ''[C]'' key cancels the drawing of the circle. Once you’ve got half of the circle drawn, move the vertex of the triangle (that you initially created) that is sticking out away from the half-circle, over one of the vertices that runs across the half-way point of the circle. This is quite hard to explain in words, so take a look at the [[Media:Tutorial.map|tutorial map]] (I've placed several iterations of this circular construction on the map, so you can see how this is done step by step). Then create the other half of the circle.<br />
<br />
===The Art of Shading===<br />
<br />
One of the key elements in any level made is the shading technique. Shading is a delicate art that must be learned and used *everywhere* in the level. Leaving your level's walls, sprites, floors, and ceilings set with a shade value of 0 makes most level reviewers shun (or even skip) your level entirely. There are several shading techniques that you must learn to use, and they're not hard to learn at all! Once you learn these techniques, you will be able to make some very cool looking levels!<br />
<br />
In addition to the sector based lighting described below, another why to light your levels is by using the advanced Polymer renderer's dynamic lights. These have the ability to cast shadows, and can make a Duke level look much more modern (especially when combined with the HRP.) Dynamic lights are also faster to implement than sector based shading, as it doesn't involve making extra sectors and shading surfaces individually. To make these lights, use the Sector Effectors 49 and 50 as described in the Sector Effector tag listing section accessible at the top of this page.<br />
<br />
====Shading Techniques====<br />
<br />
:Before we learn about the different techniques needed to make shading what it needs to (and should) be, we first need to learn how to shade. All shading is done in 3D mode. Pressing the ''[+]'' key (on the numberpad) makes the object under the mouse pointer get brighter (the shade value decreases). Pressing the ''[-]'' key (on the numberpad) makes the object under the mouse pointer get darker (the shade value increases). For small shading amounts, this can be handy, but to make things dark, pressing these keys over and over can be a pain. So there's a shorter way to do this! Point at the object you want to shade and press the ''[']''+''[S]'' key combination. Then enter the value you want the shade to be. The larger the number, the darker the shade. A value of about 50 is almost completely dark, but you can go all the way up to 128. Negative values are allowed (down to -128) and make things bright (but not noticeably lighter than a shade value of 0 except at a distance). Entering negative values in version 1.3D isn't as easy as in 1.4 or 1.5, but it can be done. To enter negative values, you simply need to enter a value that is greater than 128. The value you enter will simply be 256 minus whatever value you type in. For example, if you type in a value of 155, the value entered will be -100. Remember this only needs to be done in version 1.3D. In versions 1.4 and 1.5, you simply type the ''[-]'' key (not on the numberpad) before typing the value.<br />
<br />
::*The first shading technique that you need to learn is that you should offset the shade of walls of a room. To do this, select two opposite directions on your map (i.e. - north and south) and make *all* walls in that direction one shade value (let’s use a value of 10 for now). Now you should give *all* the walls in the opposite two directions (i.e. - east and west) a shade somewhat lighter or darker than the previous shading (let’s use a value of 15 for now). This allows your eye to find the corner of the room much faster, and it gives a much more realistic look to any room (if you make joined walls the same shade, finding the corner can be quite a difficult thing to do). This technique should be used in *every* room and passageway in your level, and it should remain consistent (i.e. – if you made all east-west walls the lighter value, then all east-west walls should remain lighter in the future). If you have a angled wall (i.e. - it doesn’t run perfectly north-south or east-west) use a value somewhere between your east-west and north-south values. It is a good idea to set this type of shading before setting the next type.<br />
<br />
::*The second technique that you need to learn is that light travels in a straight line. The light from a ceiling light should make straight shadows when passing past a corner of a hallway or other object. Remember to light your areas according to the positioning of your lights. This is the second type of shading you should set.<br />
<br />
::*The third technique is ambient shading. Although light travels in a straight line, there is some ambience. Use multiple sectors for shading, making the sectors farther from the light source incrementally darker. Although this type of shading isn't needed, it definitely makes for some cool looking effects (gradual shading effects make some scenes look excellent – especially at a high resolution).<br />
<br />
===Advanced Features===<br />
<br />
[[Build]] has a few features that can be very useful to a learning Builder, and make the Building process *much* faster to complete.<br />
<br />
====Splitting Walls====<br />
<br />
:Splitting walls is quite easy to do. In 2D mode, simply point at the place on the wall where you would like to insert a vertex and press the ''[INS]'' key. That's all you have to do! Easy, huh?<br />
<br />
====Resizing and Moving Sectors====<br />
<br />
:Another nice feature of Build is the ability to resize and move sectors. To select multiple vertices to move at the same time, hold the ''[RIGHT SHIFT]'' key down, and move the box (you'll see it appear when you move the mouse) over the desired vertices. Now moving one of these vertices will also move the other selected vertices! To move a sector, hold down the ''[RIGHT ALT]'' key and, again, drag the mouse over the desired sector. Now, release the ''[RIGHT ALT]'' key and move the sector with the mouse. Press the ''[RIGHT ALT]'' key one last time to deselect the sector once you have successfully moved it.<br />
<br />
:To resize sectors, highlight them with ''[RIGHT ALT]'' and press and hold ''[']'' and ''[f]''. This will bring up a menu with various options, and one of them is to resize, so press the number next to that option, and use the mouse to resize your highlighted sectors.<br />
<br />
====Joining Sectors====<br />
<br />
:Joining sectors is a useful feature when you don't want a sector to be split up into individual (red lined) sectors. In 2D mode, simply press the ''[J]'' key in the first sector you wish to join (this is the sector from which the properties (height, shade, etc.) will be taken). Then press the ''[J]'' key again on the second, adjacent sector. There you go - No more red line!<br />
<br />
====Deleting Sectors====<br />
<br />
Deleting sectors is also an easy thing to do. Simply move the mouse into the sector you wish to delete, and press the ''[CTRL]''+''[DEL]'' keys to delete the sector. Be warned that there is no undo feature in Build, so make sure you know *exactly* what you are doing before using this command. A quick save of the level before using this command wouldn't hurt.<br />
<br />
====Copying and Pasting Sectors====<br />
<br />
:Copying sectors can make Building go very fast. You can copy sectors to the current level, or even to another level! To copy sectors, hold down the ''[RIGHT ALT]'' key in 2D mode and move the box (you'll see it appear when you move the mouse) over the desired sectors. Then release the ''[RIGHT ALT]'' key. Once the sectors are selected (they will flash yellow), press the ''[INSERT]'' key. You'll notice that the original sectors have been deselected, however a new set of identical sectors have appeared, highlighted, nearby. Use the mouse to drag these sectors to anywhere you want on the map, then press the ''[RIGHT ALT]'' key again to deselect them.<br />
<br />
:You can paste sectors into void space (space which doesn't already contain sectors) or you can paste it inside another sector. To paste inside another sector, drag the sectors inside another sector (sorry for saying sector a lot) and release them with ''[RIGHT ALT]'', mapster will ask you if you want to create an inner loop (for a child sector). This is what we want, so press the ''[y]'' key for yes. You have just pasted a sector inside another sector (I'm doing it again), creating a red line around the boundary. If you hit ''[n]'' then the sectors will be pasted separately (not connected in anyway), so that the two areas will coexist in the same space, which is kind of pointless.<br />
<br />
:'''More ways of highlighting: You can highlight a second, third, and multiple sectors by holding down ''[']'' as you drag the selection box over them. This way you can highlight sectors in different parts of the map. Likewise, use the ''[;]'' key to deselect sectors. A small plus or minus will appear next to the cursor depending on which button you're holding. '''<br />
:'''You can select individual sectors with the mouse by moving the cursor inside the sector you want, holding ''[RIGHT ALT]'', and holding ''[RIGHT CTRL]'' as you release ''[RIGHT ALT]''. The sector is now highlighted. This method of selection also works with ''[']'' and ''[;]'' to select/deselect additional sectors by mouse. Simply hold ''[RIGHT ALT]'' and the appropriate button depending on what you want to do, then hold ''[RIGHT CTRL]'' while releasing the other buttons. This becomes very quick and easy to do after doing it a few times.'''<br />
<br />
:To copy sectors from one level to another, simply select the desired sectors (as stated above) and press the ''[INSERT]'' key (again, just like before). Now, while the sectors are still selected (they should still be flashing green), load another level. The selected sectors should appear in your level, and you can move them to the desired location. Pressing the ''[RIGHT ALT]'' key will then deselect the sectors.<br />
<br />
===Completing This Map===<br />
<br />
You are now through the basic parts of editing. The next section goes into detail on making every effect known in Duke Nukem 3D (there are even several effects not used in the game itself that people have invented). To run your map, simply use command line '''''-map <mapname>''''' or select "User Map" under the "New Game" menu in [[EDuke32]] and select the desired map.<br />
<br />
Welcome to the world of Build!<br />
<br />
==Effects List==<br />
<br />
This section of the FAQ covers most known effects available to the map designer. Due to the number of effects available, this section is quite lengthy. Example ''.map'' files are used throughout this section, so take a look at any of the how-tos for the corresponding map name.<br />
<br />
If there's an effect you want to do that's not listed here, or you're having trouble understanding how to achieve one of the effects because of the way it's explained, try this mapping guide: [[http://infosuite.duke4.net/]], which is arguably the best, most succinct, and easiest to read mapping guide, great for both beginners and veteran mappers. It's illustrated with diagrams.<br />
<br />
:*[[:Category:Editing Doors|Doors]]<br />
:*[[:Category:Editing Parallaxed Skies|Parallaxed Skies]]<br />
:*[[:Category:Editing Lighting Effects|Lighting Effects]]<br />
:*[[:Category:Editing Moving Sectors|Moving Sectors]]<br />
:*[[:Category:Editing General Sector Effects|General Sector Effects]]<br />
:*[[:Category:Editing Water|Water]]<br />
:*[[:Category:Editing Walls and Wall Effects|Walls and Wall Effects]]<br />
:*[[:Category:Editing Mirrors|Mirrors]]<br />
:*[[:Category:Editing Teleporters|Teleporters]]<br />
:*[[:Category:Editing Ending the Level|Ending the Level]]<br />
:*[[:Category:Editing Switch Effects|Switch Effects]]<br />
:*[[:Category:Editing C-9 Effects|C-9 Effects]]<br />
:*[[:Category:Editing Sectors That Rise and Fall|Sectors That Rise and Fall]]<br />
:*[[:Category:Editing Music and Sound Effects|Music and Sound Effects]]<br />
:*[[:Category:Editing Working with Sprites|Working with Sprites]]<br />
:*[[:Category:Editing Multiplayer Level Making|Multiplayer Level Making]]<br />
:*[[:Category:Editing Miscellaneous|Miscellaneous]]<br />
:*[[Sector Effector Reference Guide]]<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Sector_effectors&diff=12033Sector effectors2014-10-26T08:17:15Z<p>Nexus: add category</p>
<hr />
<div>In vanilla [[Duke Nukem 3D]], [[Level_editing#Sector_Effectors|Sector Effectors]] ([[Tilenum]] #1) are used to create practically all of the effects that affect sectors in any way, as opposed to effects that affect sprites and [[Actor|actors]], which are mainly created through [[CON language]]. Atomic Edition added a few new Sector Effectors, most of them came with the vanilla game.<br />
<br />
Although you can find the complete listing of Sector Effectors in the [[Sector Effector Reference Guide]], this page exists to explain them as well as their particular quirks in detail for advanced level editing.<br />
<br />
__TOC__<br />
<br />
==SE5 - Boss Sector==<br />
<br />
This is an unused SE that was planned in (and implemented) as a sector-based boss in the beta version of the game, [http://www.3drealms.com/duke3d/lameduke.html LameDuke]. It still exists in the game and can be used to create a variety of effects.<br />
<br />
Any sectors with the SE5 on them will start following the player along any locators ([[Tilenum]] #6) in the level. You can have multiple ones in the level (also using the same locators), they don't need any tags and will act as their own entities regardless.<br />
<br />
For smoother movement, use multiple locators, each with their own unique lotag. They disregard any hitags the locators have.<br />
<br />
They cannot carry sprites and act the same way as subways and two-way trains do; they can only carry a single level of child-sectors. There's no limit for child sectors as long as their parent sector is the one with the SE sprite. They can, however, carry effects that apply directly to sectors, such as teleporters (SE7).<br />
<br />
==SE15 - Slide Door==<br />
<br />
{| class="wikitable"<br />
|+ Other stuff (needs a name)<br />
! Name<br />
! Lotag<br />
! Hitag<br />
! Info<br />
|-<br />
| SE15<br />
| -<br />
| (unique value)<br />
| You must give the SE an unique Hitag.<br />
Its angle also determines the direction of movement of the sector.<br />
|-<br />
| Sector<br />
| 25<br />
| -<br />
| You need to give the sector you want to act as a sliding door the lotag of 25.<br />
|-<br />
| GPSPEED<br />
| (distance)<br />
| -<br />
| Controls the distance the sector will move, divide the build units of a desired distance by two.<br />
|-<br />
| ACTIVATOR<br />
MASTERSWITCH<br />
| (unique value)<br />
| -<br />
| You can use one of these to trigger the movement, but '''they must''' use their own tag from the SE. If no triggering sprite is used, the sector can be activated by pressing [[EVENT_USE|USE]] next it.<br />
|-<br />
| ACTIVATORLOCKED<br />
| (unique value)<br />
| -<br />
| You can also lock the sector from moving with ACTIVATORLOCKED. However when it's unlocked, it still requires player interaction.<br />
|}<br />
<br />
Slide "Doors" are sectors that move at a predefined speed (of <sup>?</sup> {{Verification needed}}) towards the ''opposite'' direction pointed by the [[Ang|angle]] of the SE. It's recommend to ''only'' use the major "compass points" for these directions, as if the sector isn't aligned perfectly, it will start slowly moving towards a cardinal direction with the possibility of exiting its parent sector (this is especially apparent with ACTIVATOR-activated SE15).<br />
<br />
The sector will move '''double''' the given distance as measured from its center (where the grey ST appears in the 2D mode of the editor). Please take note of this.<br />
<br />
Although Slide Doors ''will not'' move any sprites placed onto them, even when the floor texture is set to be relative, '''other sectors with SEs can be placed on top of them'''.<br />
<br />
==SE31 - Floor Rise/Fall==<br />
<br />
{| class="wikitable"<br />
|+ Other stuff (needs a name)<br />
! Name<br />
! Lotag<br />
! Hitag<br />
! Info<br />
|-<br />
| GPSPEED<br />
| (speed)<br />
| -<br />
| Controls the speed of the effect (how many build units per game tic). Higher values are faster, 0 won't move at all.<br />
'''NOTE:''' The speed also affects the destination (see below).<br />
|-<br />
| ACTIVATOR<br />
MASTERSWITCH<br />
| (unique value)<br />
| -<br />
| You can use any free tag to toggle or activate the effect with a switch.<br />
|}<br />
<br />
SE31 is used to create rising or falling sectors and differs from Sector Tag 17 (Elevator Platform Up) in minor ways. The greatest advantage of SE31 is that the platform does not get activated if the player falls on the sector.<br />
<br />
To use the SE31, place the sprite at the desired ''end height''. Once activated, the sector will rise or descend to the [[Z|Sprite's Z height]]. In order to make a floor descend, you must lower the sprite below its current height. This is accomplished by either manually setting the sprite's Z in 2D mode (by pressing F8 to edit its properties), or lowering it with the PageDown controls in 3D mode while in progress of raising the sector's floor.<br />
<br />
Note that the [[Level editing#Hitags_And_Lotags|Lotag]] of the [[Level editing#GPSPEED|GPSPEED sprite]] can affect how the sector reaches its destionation height. For instance, if you're only using increments of PageUp/PageDown in the 3D mode of the editor (1024 build units), the speed set must be [http://en.wikipedia.org/wiki/Power_of_two power of two].<br />
<br />
'''NOTE:''' If you're using a value that's not divisible by 2, the sector '''''will not''''' reach the height given by the SE sprite. If you're using odd values by either manually setting the desired height in 2D mode, holding down Home while pressing PageUp/PageDown in 3D mode or moving either the sector or SE with ALT+Mouse1, please '''make sure the difference between the sector's [[Floorz]] and the SE sprite's [[Z]] is divisible by the given speed'''.<br />
<br />
==SE32 - Ceiling Rise/Fall==<br />
<br />
{| class="wikitable"<br />
|+ Other stuff (needs a name)<br />
! Name<br />
! Lotag<br />
! Hitag<br />
! Info<br />
|-<br />
| GPSPEED<br />
| (speed)<br />
| -<br />
| Controls the speed of the effect (how many build units per game tic). Higher values are faster, 0 won't move at all.<br />
'''NOTE:''' The speed also affects the destination (see below).<br />
|-<br />
| ACTIVATOR<br />
MASTERSWITCH<br />
| (unique value)<br />
| -<br />
| You can use any free tag to toggle or activate the effect with a switch.<br />
|}<br />
<br />
SE32 works exactly like [[Sector_effectors#SE31_-_Floor_Rise.2FFall|SE31]], except the ceiling instead of the floor of the sector is moved to the SE sprite's Z.<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Sector_Effector_Reference_Guide&diff=12032Sector Effector Reference Guide2014-10-26T00:41:48Z<p>Nexus: /* Sector Effector Lotag Listing */ fix</p>
<hr />
<div>{{Build Intro}}<br />
<br />
==Sector Effector Lotag Listing==<br />
{| class="wikitable"<br />
! bgcolor="#c0c0c0" | '''Tag number'''<br />
! bgcolor="#c0c0c0" | '''Name'''<br />
! bgcolor="#c0c0c0" | '''Associated [[Sector Tag Reference Guide|sector tag]]'''<br />
<br />
! bgcolor="#c0c0c0" | '''Description'''<br />
|-<br />
|'''[[SE0 | 0]]'''<br />
|Rotating Sector<br />
|30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]]. The hitag of this sectoreffector must be something other than zero because a sectoreffector with both tags equal to zero causes an error.<br />
|-<br />
|'''[[SE1 | 1]]'''<br />
| Pivot Sprite for SE 0<br />
| 30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]].<br />
|-<br />
|'''2'''<br />
|Earthquake<br />
|N/A<br />
|See [[:Category:Editing General Sector Effects#Earthquake]].<br />
|-<br />
|'''3'''<br />
|Random Lights After Shot Out<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink When Shot]]<br />
|-<br />
|'''4'''<br />
|Random Lights<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink]].<br />
|-<br />
|bgcolor="#ffb099"|'''[[Sector_effectors#SE5_-_Boss_Sector|5]]'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|When used with a series of sequentially numbered [[Level_editing#Locator|locator]]s, this causes the sector to move rapidly to the locator nearest the player. It also spawns some fireballs that won't hit the player. It was intended to be a boss ship in [[Lameduke]], but it was eventually abandoned. The effect is very buggy. There are graphics glitches, and the moving sector eventually seems to just go around in circles.<br />
|-<br />
|'''6'''<br />
|Subway<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#One Car Subways]].<br />
|-<br />
|'''7'''<br />
|Teleporter<br />
|N/A<br />
|See [[:Category:Editing Teleporters]]<br />
|-<br />
|'''8'''<br />
| Up Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''9''' <br />
|Down Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''10'''<br />
|Door Auto Close<br />
|20, 21, 22, 23, 25, or 26<br />
|Hitag = delay<br />
|-<br />
|'''11'''<br />
|Rotate Sector Door<br />
|23<br />
|Hinge for the swinging door. See [[Swinging Doors]].<br />
|-<br />
|'''12'''<br />
| Light Switch<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Light Switches]].<br />
|-<br />
|'''13''' <br />
| C-9 Explosive<br />
| N/A<br />
| See [[:Category:Editing C-9 Effects#Cracked Walls]].<br />
|-<br />
|'''14'''<br />
|Subway Car<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#Making Multi-Car Subways]].<br />
|-<br />
|'''[[Sector_effectors#SE15_-_Slide_Door|15]]'''<br />
|Slide Door<br />
|25<br />
|See [[Sliding Doors]].<br />
|-<br />
|bgcolor="#ffb099"|'''16'''<br />
|bgcolor="#ffb099"|Rotate Reactor Sector<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|All this does is rotate the sector a small amount and raise the ceiling by about a quarter of a step at runtime. It is an incomplete effect that is not used in the game.<br />
|-<br />
|'''[[SE17 | 17]]'''<br />
|Elevator Transport<br />
|15<br />
|See [[:Category:Editing Sectors That Rise and Fall#Elevator Transports]].<br />
|-<br />
|'''18'''<br />
|Incremental Sector Rise/Fall<br />
|N/A<br />
|Causes the sector to be raised or lowered by one step every time it is activated. Only works in version 1.4 or above. See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''19'''<br />
|Explosion Lowers Ceiling<br />
|N/A<br />
|If an explosion occurs in a sector containing this SE, the ceiling drops to the floor. This effect is not used in the game but is fully functional. The rate the ceiling falls can be controlled with a [[Level_editing#GPSPEED|GPSPEED]]. [[See [[:Category:Editing Sectors That Rise and Fall#Making the Ceiling Fall Upon an Explosion]].<br />
|-<br />
|'''20'''<br />
|Stretch (also known as "Bridge")<br />
|27<br />
||See [[:Category:Editing General Sector Effects#Stretching Sectors]].<br />
|-<br />
|'''21'''<br />
|Drop Floor<br />
|28<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''22'''<br />
|Teeth Door Prong<br />
|29<br />
|See [[Teeth Doors]]<br />
|-<br />
|'''23'''<br />
|One-Way Teleporter Destination<br />
|N/A<br />
|See [[:Category:Editing Teleporters#One Way Teleporters (Version 1.4 or 1.5 Required)]].<br />
|-<br />
|'''24'''<br />
|Conveyor Belt or Water Current<br />
|N/A<br />
||See [[:Category:Editing General Sector Effects#Conveyor Belts & Water Current]].<br />
|-<br />
|'''25'''<br />
|Engine<br />
|N/A<br />
|Ceiling continually lowers to the floor and raises again. Its speed can be regulated with a [[Level_editing#GPSPEED|GPSPEED]].<br />
|-<br />
|bgcolor="#ffb099"|'''26'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A rudimentary and incomplete implementation of a step escalator. The effect repeatedly raises the sector by two clicks and moves it one grid size 3 square in the direction of the SE's angle, and then snaps back instantly. It carries sprites along with it. The effect is incomplete, so there are graphics glitches like stretching textures, and it can kill Duke by carrying him into non-player space. Use with caution.<br />
|-<br />
|'''27'''<br />
|Demo Camera<br />
|N/A<br />
|Used to record demos.<br />
|-<br />
|'''28'''<br />
| Lightning<br />
|N/A<br />
|Version 1.4 or above<br />
|-<br />
|'''29'''<br />
|Float<br />
|N/A<br />
|See [[:Category:Editing Water#Making Waves]].<br />
|-<br />
|'''30'''<br />
|Two-Way Train<br />
|31<br />
|See [[:Category:Editing Moving Sectors#Two-Way Trains]].<br />
|-<br />
|'''[[Sector_effectors#SE31 - Floor Rise/Fall|31]]'''<br />
|Floor Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''[[Sector_effectors#SE32_-_Ceiling_Rise.2FFall|32]]'''<br />
|Ceiling Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''33'''<br />
|Earthquake Debris<br />
|N/A<br />
|Use in conjunction with an earthquake (SE 2) to spawn bits of scrap. See [[:Category:Editing General Sector Effects#Earthquake]]. It is also used in the exploding ceiling effect (see [[:Category:Editing C-9 Effects#Making the Ceiling Blow Up (And Enemies Fall From the Sky!)]]).<br />
|-<br />
|bgcolor="#ffb099"|'''34'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A conveyor belt effect very similar to SE 24. It moves at about half the speed, and the floor texture moves at right angles to the direction of motion.<br />
|-<br />
|bgcolor="#ffb099"|'''35'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|An unfinished implementation of a drill head. The floor is lowered at runtime, and then the ceiling lowers to the floor repeatedly. Silent, harmless explosions and bits of scrap are continually spawned in the sector. Can be combined with rotating sectors (SE 0,1) to simulate a drill, but is pretty much useless.<br />
|-<br />
|'''36'''<br />
|Projectile Shooter<br />
|N/A<br />
|See [[:Category:Editing Miscellaneous#Shooters]]<br />
|-<br />
|bgcolor="#99ff99"|'''[[SE49 | 49]]'''<br />
|bgcolor="#99ff99"|Point Light<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts uniform light in all directions as name suggests. Does not cast shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|-<br />
|bgcolor="#99ff99"|'''50'''<br />
|bgcolor="#99ff99"|Spotlight<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts light in one direction as name suggests. Casts shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
Angle of SE = direction light points in.<br />
Shade = width of light (range: -127 to 127)<br />
Extra = horizontal up/down angle. Light points roughly 45 degrees down by default. An extra of 100 points straight ahead. Positive values angle light up, negative values angle light downn.<br />
Owner = picnum of sprite/texture to project.<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
1-Way (press 1 on SE to make 1-sided) = Does not project shadow maps. Spotlights without shadows are much better for performance, and useful for projecting textures.<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|}<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=Sector_Effector_Reference_Guide&diff=12031Sector Effector Reference Guide2014-10-26T00:40:16Z<p>Nexus: /* Sector Effector Lotag Listing */ -more links</p>
<hr />
<div>{{Build Intro}}<br />
<br />
==Sector Effector Lotag Listing==<br />
{| class="wikitable"<br />
! bgcolor="#c0c0c0" | '''Tag number'''<br />
! bgcolor="#c0c0c0" | '''Name'''<br />
! bgcolor="#c0c0c0" | '''Associated [[Sector Tag Reference Guide|sector tag]]'''<br />
<br />
! bgcolor="#c0c0c0" | '''Description'''<br />
|-<br />
|'''[[SE0 | 0]]'''<br />
|Rotating Sector<br />
|30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]]. The hitag of this sectoreffector must be something other than zero because a sectoreffector with both tags equal to zero causes an error.<br />
|-<br />
|'''[[SE1 | 1]]'''<br />
| Pivot Sprite for SE 0<br />
| 30 (optional)<br />
|See [[:Category:Editing Moving Sectors#Rotating Sectors (Gears)]].<br />
|-<br />
|'''2'''<br />
|Earthquake<br />
|N/A<br />
|See [[:Category:Editing General Sector Effects#Earthquake]].<br />
|-<br />
|'''3'''<br />
|Random Lights After Shot Out<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink When Shot]]<br />
|-<br />
|'''4'''<br />
|Random Lights<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Making Lights Blink]].<br />
|-<br />
|bgcolor="#ffb099"|'''[[Sector_effectors#SE5_-_Boss_Sector|5]]'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|When used with a series of sequentially numbered [[Level_editing#Locator|locator]]s, this causes the sector to move rapidly to the locator nearest the player. It also spawns some fireballs that won't hit the player. It was intended to be a boss ship in [[Lameduke]], but it was eventually abandoned. The effect is very buggy. There are graphics glitches, and the moving sector eventually seems to just go around in circles.<br />
|-<br />
|'''6'''<br />
|Subway<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#One Car Subways]].<br />
|-<br />
|'''7'''<br />
|Teleporter<br />
|N/A<br />
|See [[:Category:Editing Teleporters]]<br />
|-<br />
|'''8'''<br />
| Up Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''9''' <br />
|Down Open Door Lights<br />
|20, 21, 22, 23, 25, or 26<br />
|See [[:Category:Editing Lighting_Effects#Open Door & Room Lights Up]]<br />
|-<br />
|'''10'''<br />
|Door Auto Close<br />
|20, 21, 22, 23, 25, or 26<br />
|Hitag = delay<br />
|-<br />
|'''11'''<br />
|Rotate Sector Door<br />
|23<br />
|Hinge for the swinging door. See [[Swinging Doors]].<br />
|-<br />
|'''12'''<br />
| Light Switch<br />
|N/A<br />
|See [[:Category:Editing Lighting Effects#Light Switches]].<br />
|-<br />
|'''13''' <br />
| C-9 Explosive<br />
| N/A<br />
| See [[:Category:Editing C-9 Effects#Cracked Walls]].<br />
|-<br />
|'''14'''<br />
|Subway Car<br />
|N/A<br />
|See [[:Category:Editing Moving Sectors#Making Multi-Car Subways]].<br />
|-<br />
|'''[[Sector_effectors#SE15_-_Slide_Door|15]]'''<br />
|Slide Door<br />
|25<br />
|See [[Sliding Doors]].<br />
|-<br />
|bgcolor="#ffb099"|'''16'''<br />
|bgcolor="#ffb099"|Rotate Reactor Sector<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|All this does is rotate the sector a small amount and raise the ceiling by about a quarter of a step at runtime. It is an incomplete effect that is not used in the game.<br />
|-<br />
|'''[[SE17 | 17]]'''<br />
|Elevator Transport<br />
|15<br />
|See [[:Category:Editing Sectors That Rise and Fall#Elevator Transports]].<br />
|-<br />
|'''18'''<br />
|Incremental Sector Rise/Fall<br />
|N/A<br />
|Causes the sector to be raised or lowered by one step every time it is activated. Only works in version 1.4 or above. See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''19'''<br />
|Explosion Lowers Ceiling<br />
|N/A<br />
|If an explosion occurs in a sector containing this SE, the ceiling drops to the floor. This effect is not used in the game but is fully functional. The rate the ceiling falls can be controlled with a [[Level_editing#GPSPEED|GPSPEED]]. [[See [[:Category:Editing Sectors That Rise and Fall#Making the Ceiling Fall Upon an Explosion]].<br />
|-<br />
|'''20'''<br />
|Stretch (also known as "Bridge")<br />
|27<br />
||See [[:Category:Editing General Sector Effects#Stretching Sectors]].<br />
|-<br />
|'''21'''<br />
|Drop Floor<br />
|28<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''22'''<br />
|Teeth Door Prong<br />
|29<br />
|See [[Teeth Doors]]<br />
|-<br />
|'''23'''<br />
|One-Way Teleporter Destination<br />
|N/A<br />
|See [[:Category:Editing Teleporters#One Way Teleporters (Version 1.4 or 1.5 Required)]].<br />
|-<br />
|'''24'''<br />
|Conveyor Belt or Water Current<br />
|N/A<br />
||See [[:Category:Editing General Sector Effects#Conveyor Belts & Water Current]].<br />
|-<br />
|'''25'''<br />
|Engine<br />
|N/A<br />
|Ceiling continually lowers to the floor and raises again. Its speed can be regulated with a [[Level_editing#GPSPEED|GPSPEED]].<br />
|-<br />
|bgcolor="#ffb099"|'''26'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A rudimentary and incomplete implementation of a step escalator. The effect repeatedly raises the sector by two clicks and moves it one grid size 3 square in the direction of the SE's angle, and then snaps back instantly. It carries sprites along with it. The effect is incomplete, so there are graphics glitches like stretching textures, and it can kill Duke by carrying him into non-player space. Use with caution.<br />
|-<br />
|'''27'''<br />
|Demo Camera<br />
|N/A<br />
|Used to record demos.<br />
|-<br />
|'''28'''<br />
| Lightning<br />
|N/A<br />
|Version 1.4 or above<br />
|-<br />
|'''29'''<br />
|Float<br />
|N/A<br />
|See [[:Category:Editing Water#Making Waves]].<br />
|-<br />
|'''30'''<br />
|Two-Way Train<br />
|31<br />
|See [[:Category:Editing Moving Sectors#Two-Way Trains]].<br />
|-<br />
|'''[[SE31 - Floor Rise/Fall|31]]'''<br />
|Floor Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''[[Sector_effectors#SE32_-_Ceiling_Rise.2FFall|32]]'''<br />
|Ceiling Rise/Fall<br />
|N/A<br />
|See [[:Category:Editing Sectors That Rise and Fall]].<br />
|-<br />
|'''33'''<br />
|Earthquake Debris<br />
|N/A<br />
|Use in conjunction with an earthquake (SE 2) to spawn bits of scrap. See [[:Category:Editing General Sector Effects#Earthquake]]. It is also used in the exploding ceiling effect (see [[:Category:Editing C-9 Effects#Making the Ceiling Blow Up (And Enemies Fall From the Sky!)]]).<br />
|-<br />
|bgcolor="#ffb099"|'''34'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|A conveyor belt effect very similar to SE 24. It moves at about half the speed, and the floor texture moves at right angles to the direction of motion.<br />
|-<br />
|bgcolor="#ffb099"|'''35'''<br />
|bgcolor="#ffb099"|(undocumented)<br />
|bgcolor="#ffb099"|N/A<br />
|bgcolor="#ffb099"|An unfinished implementation of a drill head. The floor is lowered at runtime, and then the ceiling lowers to the floor repeatedly. Silent, harmless explosions and bits of scrap are continually spawned in the sector. Can be combined with rotating sectors (SE 0,1) to simulate a drill, but is pretty much useless.<br />
|-<br />
|'''36'''<br />
|Projectile Shooter<br />
|N/A<br />
|See [[:Category:Editing Miscellaneous#Shooters]]<br />
|-<br />
|bgcolor="#99ff99"|'''[[SE49 | 49]]'''<br />
|bgcolor="#99ff99"|Point Light<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts uniform light in all directions as name suggests. Does not cast shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|-<br />
|bgcolor="#99ff99"|'''50'''<br />
|bgcolor="#99ff99"|Spotlight<br />
|bgcolor="#99ff99"|N/A<br />
|bgcolor="#99ff99"|Casts light in one direction as name suggests. Casts shadows. HITAG = light distance (range: 0-65535)<br />
XVEL/YVEL/ZVEL = RGB values (range: 0-255) (edit with F8 when SE highlighted in 2D mode.)<br />
Angle of SE = direction light points in.<br />
Shade = width of light (range: -127 to 127)<br />
Extra = horizontal up/down angle. Light points roughly 45 degrees down by default. An extra of 100 points straight ahead. Positive values angle light up, negative values angle light downn.<br />
Owner = picnum of sprite/texture to project.<br />
TRANSPARENCY = priority (solid sprite = high priority, 33% transparency = lower priority, 66% = lowest priority. This is required to avoid glitches resulting from projectile lights interacting with world lights.)<br />
1-Way (press 1 on SE to make 1-sided) = Does not project shadow maps. Spotlights without shadows are much better for performance, and useful for projecting textures.<br />
Centre bit (press c on SE in 3D mode): Inverts colours so it subtracts light to the scene instead of adding it. E.g use a pure white light to make the SE emit pure black.<br />
|}<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=SE1&diff=12030SE12014-10-25T21:32:52Z<p>Nexus: spelling, add category</p>
<hr />
<div>SE 1: Pivot for Rotate [[SE0]]<br />
<br />
Used as a pivot point for Sector Effector 0 to rotate a sector around.<br />
<br />
Hitag: Set equal to Hitag of all [[SE0]] to rotate.<br />
Sector Lotag: none<br />
Angle: up = Rotate clockwise<br />
down = Rotate counter-clockwise<br />
Shade: none<br />
Palette: none<br />
Comment:<br />
<br />
<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=SE0&diff=12029SE02014-10-25T21:32:23Z<p>Nexus: add category</p>
<hr />
<div>SE 0: Rotate Sector<br />
<br />
Used to rotate a sector around a pivot point.<br />
<br />
Hitag: Set equal to Hitag of [[SE1]] as pivot point for sector.<br />
Sector Lotag: none<br />
Angle: up = Rotate all points around [[SE1]]<br />
down = Rotate sector around [[SE1]]<br />
Shade: none<br />
Palette: none<br />
Comment: If Relative alignment is set on the floor (the R key), then all<br />
sprites and actors on the floor will rotate with the sector.<br />
<br />
<br />
<br />
[[Category:Level editing documentation]]</div>Nexushttps://wiki.eduke32.com/w/index.php?title=EVENT_USEJETPACK&diff=12028EVENT USEJETPACK2014-10-25T21:29:48Z<p>Nexus: grammar</p>
<hr />
<div>EVENT_USEJETPACK is a [[EDuke32_event_list|Game Event]].<br />
<br />
This [[event]] is called when the player presses the key assigned to toggle the Jetpack on and off (''J'' key by default).<br />
<br />
Set gamevar [[RETURN]] to any non-zero value to ignore the key.<br />
<br />
[[Category:Events]]</div>Nexus