========================================================================
The Map Editing FAQ for Shadow Warrior - Version 1.5
This File is Authored and Copyright (c) 1998 by:
Jonah Bishop
Please See Section 0.10 for Licensing Information
========================================================================
*** PRINTING NOTE: SEE SECTION 0.6 BEFORE PRINTING ***
Table of Contents:
=================
0: ABOUT THIS FAQ
=================
0.1 Who made all of this?
* 0.2 How can I contact the author?
* 0.3 What you should have gotten
* 0.4 Revision History
0.5 Credits and Acknowledgements
0.6 Where to get this FAQ
* 0.7 Printing Information
* 0.8 The Online Version
* 0.9 This FAQ's Home
0.10 Licensing Information
=========================
1: INFORMATION ABOUT MAPS
=========================
1.1 What are maps?
1.2 What do I use to make my own map files?
1.2.1 Can I make maps for other games with Build?
1.3 What is so good about this version of Build?
=========================================
2: THINGS YOU SHOULD KNOW BEFORE STARTING
=========================================
2.1 Introduction
2.2 2D and 3D Modes
2.3 Placing Sprites
2.4 The Special Sprite - ST1
2.5 The Tagging System
2.5.1 The 15 Standard Tags
2.5.2 The 11 BOOLEAN Flags
2.5.3 TAG1 (The Hitag)
2.5.4 TAG2 (The Lotag)
=================
3: BASIC TRAINING
=================
3.1 Now that I have the editor, how do I use it?
3.2 Making your first level
3.2.1 Making a one-sector level
3.2.2 Adding another sector to the level
3.2.3 Adding textures to the walls/floors/ceilings
3.2.3.1 Panning the texture
3.2.3.2 Moving the texture
3.2.4 Adding sprites to the level
3.2.4.1 Pasting sprites to the floor, ceiling, or wall
3.2.5 Raising and Lowering the floor/ceiling
3.3 The Art of Shading
3.3.1 Using shading in your level
3.3.2 Basic shading techniques
3.4 Level Checklist
=========================
4: MAKING ALL THE EFFECTS
=========================
------------
INTRODUCTION
------------
4.1 Introduction
-----
DOORS
-----
4.2 Regular DOOM-Type Doors
4.3 Swinging Doors
4.4 Sliding Doors
4.5 Locked Doors
--------------
WATER AND LAVA
--------------
4.6 Sinkable Water
4.7 Diving Water
4.8 Multi-Sector Diving Water
4.9 Water Currents
4.10 The Drip Generator
4.11 Making Waves
4.12 Making Lava Eruptions
---------------
TEXTURE EFFECTS
---------------
4.13 Parallaxing Skies
4.14 Making Textures Move
---------------
STACKED SECTORS
---------------
4.15 Stacked Sectors
4.16 Transparent Water
--------------
SPRITE EFFECTS
--------------
4.17 Ladders
4.18 Shooters
4.19 Making Sprites Destructible (Simple)
4.20 Making Sprites Destructible (Complex)
4.21 Automatic Sprite Deletion
-------------
TELEPORTATION
-------------
4.22 Teleporters
4.23 Offset (Random) Teleporters
4.24 "Warp Plane" Teleporters
--------------
MIRROR EFFECTS
--------------
4.25 Making a Mirror
4.26 "Copy-Sprite" Mirrors
----------------------------------------
ENDING THE LEVEL AND MAKING SECRET AREAS
----------------------------------------
4.27 The End Button
4.28 Ending Sectors
4.29 Making a Secret Area
-------------------------------------
SECTOR OBJECTS (TANKS, TURRETS, ETC.)
-------------------------------------
4.30 Turrets
4.31 Automatic Turrets
4.32 Boats
4.33 Tanks
----------------
LIGHTING EFFECTS
----------------
4.34 Basic Lighting
4.34.1 Still Lighting
4.34.2 Switchable Lighting
4.34.3 Movement Lighting
---------------
PALETTE EFFECTS
---------------
4.35 Fog and Haze
------------
WALL EFFECTS
------------
4.36 Masked Walls
4.37 One-Way Walls
4.38 On-Demand Wall-Damage
4.39 How To Block Actors
4.40 Automatic Wall Deletion
--------------------
BASIC SECTOR EFFECTS
--------------------
4.41 Invisible Ramps
4.42 Slides
4.43 Misc. Vators (Lifts, Pistons, Etc.)
4.44 Earthquakes
4.45 Slopes on Demand (Dynamic Slopes)
4.46 Copy Sectors (Very Cool Indeed)
-------------------
FUN WITH EXPLOSIVES
-------------------
4.47 C-9 Effects
4.47.1 Regular Triggered Explosions
4.47.2 Cracked Walls
-------------
MISCELLANEOUS
-------------
4.48 Why Boss Meters Don't Work
4.49 Respawning Objects in Multiplayer Games
======================
5: GENERAL INFORMATION
======================
5.1 ST1 Tag List
5.2 Sector Tag List
5.3 Wall Tag List
5.4 Level Credit List
5.5 Palette List
===============================
6: UTILITIES FOR SHADOW WARRIOR
===============================
6.1 Editart
6.1.1 Editing Your Own Tiles
6.1.2 Problems With Editart
6.2 GRP Utilities
6.2.1 Kextract
6.2.2 Kgroup
6.3 RTSMaker
===============
7: FINISHING UP
===============
7.1 Map Authoring Template
7.2 Uploading your level
=================
0: ABOUT THIS FAQ
=================
0.1 Who made all of this?
My name is Jonah Bishop and I am the maintainer of both this FAQ and the Duke Nukem 3D Map Editing FAQ. I personally hope that this FAQ will help you to the fullest extent that it can, and I hope you have TONS of fun in making Shadow Warrior Levels.
0.2 How can I contact the author?
Being a student brings the pressures of school and homework, and it unfortunately brings the fact that I don't have much time for answering tons of Build questions. If you do need to get in touch with me, however, just drop by Wangsdojo (http://www.wangsdojo.com) and enter into the Editing and Hacking public forum. Then leave me a message, with something such as "To Jonah Bishop" in the subject of the message.
0.3 What you should have gotten
In addition to this file (MPFQSW15.TXT), the following files should have been included in the MPFQSW15.ZIP file:
LICENSE.TXT
MAPS.ZIP
# README.TXT
SPTLIST.TXT
SWSOUNDS.TXT
TEMPLATE.TXT
In addition, the maps.zip file contains all of the tutorial maps used with the how-tos in this FAQ. The MAPS.ZIP file should have contained the following:
AUTOTURT.MAP
BOAT.MAP
C9EFFECT.MAP
COPYSECT.MAP
COPYSPRT.MAP
CPLXWATR.MAP
DRIP.MAP
LADDER.MAP
LAVABALL.MAP
LOCKDOOR.MAP
MIRROR.MAP
PARALLAX.MAP
RANDTELE.MAP
REGDOOR.MAP
SHOOTERS.MAP
SINKWATR.MAP
SLIDE.MAP
SLIDOOR.MAP
SLOPDMND.MAP
STACKED.MAP
SWNGDOOR.MAP
TANKS.MAP
TELEPORT.MAP
TEXPAN.MAP
TRANWATR.MAP
TURRET.MAP
VATORS.MAP
WALLDMAG.MAP
WATER.MAP
WAVES.MAP
WCURRENT.MAP
WPLNTELE.MAP
# All file names above with this symbol next to them, indicate that they have either been added or updated since the last release of this FAQ.
0.4 Revision History
--- Version 1.0
The FAQ is created. Everything is brand new.
--- Version 1.1
8 new how-tos added, one how-to renamed for convenience. A few spelling errors corrected.
--- Version 1.2
Added 7 new maps and 10 new how-tos. The palette list in section 5 was added, and the list of level names was updated with the filenames of the levels in the .GRP file. Did some revisions to the TAG listings in the how-tos, by changing the dash (-) in some places to an equals sign (=), to avoid confusion with negative values. Other minor revisions in the TAG listings as well.
--- Version 1.3
Updated all URLs pointing to Map FAQ Central. Added 8 new how-tos to section 4. They cover Lighting Effects, fog and haze, miscellaneous, and more.
--- Version 1.4
Updated the table of contents slightly. Removed section 0.3.1. Updated all sections (other than the how-to sections) to remove formatting problems (all text should now freely flow with word wrap and other features). Added 17 how-tos to section 4. Added the swsounds.txt file to the zip file. Several new example maps added as well.
--- Version 1.5
Minor changes to reflect the web site change for this FAQ. This FAQ now resides at Wangsdojo.
0.5 Credits and Acknowledgements
I would like to thank the following people for helping me with this version of the FAQ (in no particular order):
3D-Realms - For the *wonderful* game and the *awesome* Build program.
Brad Wernicke - For the countless things he does.
#3drealms - Just go there - you'll see why I put it here. :)
0.6 Where to get this FAQ
Well, you already have it, but in case you lose it, or would like another version, here is the most reliable place to get it:
0.7 Printing Information
If you want to print this FAQ for further reference when Building your levels, set your page margins to the following values before printing:
Margins (in inches)
Top : 0.75
Bottom : 0.75
Right : 0.75
Left : 0.75
Setting these properties will ensure that the FAQ prints correctly. You can change these settings under PAGE SETUP in most text-editors. Please follow these instructions to make sure that this FAQ prints properly. I am sorry about any inconvenience, but I am forced to do this, as I am making this FAQ in Windows 95 and margins are required to make it look correct.
0.8 The Online Version
If you do not want to print this FAQ, or are unable to, you can look at an online HTML version of the FAQ at:
0.9 This FAQ's Home
This Map Editing FAQ has a new home (it is no longer at Map FAQ Central). The new home for this FAQ can be visited at:
0.10 Licensing Information
The file "license.txt", which is included in the Zip file this FAQ came in, outlines what you can and cannot do with this FAQ. There was some wrongful activity occurring in previous versions of the FAQ, in which the information provided in this FAQ was changed and redistributed. Please follow the guidelines set in this file, so that everyone can get an honest version of the Map Editing FAQ - Thanks!
=========================
1: INFORMATION ABOUT MAPS
=========================
1.1 What are Maps?
Maps are basically levels in the game. All the sprite information, wall information, tags, and everything else in a level is kept here (with the exception of a few things). With the Build program, you can make your own maps to distribute as you like.
1.2 What do I use to make my own map files?
To make your own map files, you must use the program Build, which comes on the Shadow Warrior CD.
1.2.1 Can I make maps for other games with Build?
The Build provided with Shadow Warrior can ONLY make maps for Shadow Warrior. Any other Build based computer game will not work with this Build, as the program has changed to allow for different tags, formats, etc.
1.3 What is so good about this version of Build?
This version of Build is *much* better than the one that came with Duke Nukem, as well as any other game, as the game's engine has changed. This new Build engine used for Shadow Warrior allows for the following effects:
- "True" level over level
- Drive tanks, forklifts, etc.
- True 3D sprites
- Reflective floors
- Use gun turrets to fire at your enemy
- Climb ladders
- Transparent water
- Control radio controlled cars
- Colored lighting
- AND TONS MORE!
=========================================
2: THINGS YOU SHOULD KNOW BEFORE STARTING
=========================================
2.1 Introduction
Well, this is it. You're beginning your trek into the world of Shadow Warrior Build, and you're confident in your training from the world of Duke Nukem 3D. Well, here's the bad news: You have to *FORGET* everything that you learned in Duke Nukem 3D Build. Shadow Warrior is completely different, and it uses a very complex tagging system. Don't feel like you will not be able to do this: It will get *much* easier as you practice making the certain effects. Read this section before going anywhere else in the FAQ...it will answer some of the basic questions you may have.
2.2 2D and 3D Modes
There are two modes in Shadow Warrior Build, and they are exactly like the two modes used in Duke Nukem 3D Build: 2D and 3D modes. 2D is the graph layout of your level, and it is where you add sprites, draw walls, and tag the different sprites used in the game. 3D mode is where you will choose textures for your level, set heights of objects, and more.
To switch between the modes press the [ENTER] key on your numeric keypad.
2.3 Placing Sprites
Placing sprites is an extremely easy thing to do. All you must do to add a sprite is press the [S] key in 2D mode, and at the place you wish to place the sprite. You can also press [S] in 3D mode, but the alignment is much easier in 2D mode...especially with the grid.
2.4 The Special Sprite - ST1
Unlike DN3D, SW only has one sector effector sprite. This sprite is known as the ST1, and it can perform *TONS* of functions...in fact it performs almost *all* of the functions in the game. The tagging system used for this sprite is quite complex, so bear with me as I explain your new friend's language.
2.5 The Tagging System
The tagging system used in SW is very complex, and it will involve a great deal of patience and practice on your part to perfect. There are many different tags used in the game, the descriptions of which are listed below.
2.5.1 The 15 Standard Tags
Every sprite in SW comes equipped with 15 tags that enable you to change all kinds of things with the sprite. A tag is merely a variable that contains information regarding the sprite. To enter a value for a tag, point to the sprite, then press the ["] key plus the number of the tag. To access TAG11 through TAG15, press [SHIFT]+["]+the number of the tag. Note that TAG1 and TAG2 are the hitag and lotag, respectively, and so can also be altered with the Alt-H and the Alt-T keys. The following is a list of the 15 tags, their function, and the range of values they can hold. We will go into more depth about each when we come across them in the how-tos. A few of the more important tags are described below this section.
TAG1 = hitag (-32768 to 32767)
TAG2 = lotag (-32768 to 32767)
TAG3 = clipdist (-128 to 127) - default value is 32
TAG4 = ang (-32768 to 32767)
TAG5 = xvel (-32768 to 32767)
TAG6 = yvel (-32768 to 32767)
TAG7 = zvel 1 (-128 to 127)
TAG8 = zvel 2 (-128 to 127)
TAG9 = owner 1 (-128 to 127) - default is unsigned 255 or signed -1
TAG10 = owner 2 (-128 to 127) - default is unsigned 255 or signed -1
TAG11 = shade (-128 to 127)
TAG12 = pal (-128 to 127)
TAG13 = xoffset and yoffset (-32768 to 32767)
TAG14 = xrepeat and yrepeat (-32768 to 32767)
TAG15 = z (-32768 to 32767)
2.5.2 The 11 BOOLEAN Flags
A Boolean flag can hold only two possible values: 0 or 1. Every sprite in Shadow Warrior makes use of 11 Boolean flags. To enter a value for a Boolean flag, press the SEMICOLON key plus the number of the tag. To enter a value for BOOL11, press SHIFT, plus SEMICOLON, plus the "1" key. Again, we will cover these points when we come to them in the how-tos. A few of the BOOLEAN tags are described below, due to their importance in use.
2.5.3 TAG1 (The Hitag)
The hitag used on a ST1 sprite tells the ST1 sprite what function to follow. A list of all of the ST1 hitags can be found in section 5 of this FAQ.
2.5.4 TAG2 (The Lotag)
The lotag used on a ST1 sprite, is a completely random number chosen by you, the level designer. This lotag links the current ST1 to either another ST1 or some other sprite or sector, so that certain effects can take place. These are sometimes called "match tags". These are best described as matching the ST1's function to a trigger, such as a switch or a trigger sector.
2.5.5 TAG4 (The Angle)
TAG4, as you can see from the list above, is a sprite's angle. By changing the TAG4 value of a sprite, you also change the angle it's facing. Be very cautious of this, because a great many ST1 functions rely on having an exact value in TAG4. If you use the ">" or "<" keys on that sprite, the value will shift by 128, which is probably a large enough change that the ST1 will no longer behave as you'd expect it to. In the case of ST1 134 (SOUND_SPOT), the game will probably quit to DOS with an error. Another pitfall to beware is rotating Right-Alt selected groups of sectors. Since all of the sprites within the selected group are rotated with the sectors when you do this, their TAG4 values will often become grossly incorrect.
2.5.6 BOOL1
If the BOOL1 flag is set to 1 on any sprite, Build will cause that individual sprite to behave as though it were an ST1 sprite. This is generally only used to create breakable sprites.
2.5.7 BOOL11
BOOL11 is a flag used by all sprites in the game, not just ST1's. If the BOOL11 flag on any sprite is set to 1, then that sprite will remain stationary rather than ride up and down on an elevator.
=================
3: BASIC TRAINING
=================
3.1 Now that I have the editor, how do I use it?
Build is a very powerful tool, but it is also quite complex. As you learn and get used to the commands, you will find that things become quite easy to understand, and in no time you will be Building your own very cool levels!
To start Build, you first must make sure that you have either of the following choices:
--1. You have a copy of Build in your main SW directory, you have extracted all of the art files from the .GRP, and you have all other necessary tools in the same directory as your game.
--2. You have created a separate directory with a copy of the *ENTIRE* game in it. This will be your "Working" directory, so that, in the case of a mess-up, you do not corrupt your original game.
The second option is *strongly* recommended, especially if you have the necessary disk space to place an extra copy of Shadow Warrior for working purposes.
Type Build at the DOS prompt to enter the program!
3.2 Making your first level
Before you begin making your level, you need to know a couple of obvious things. One is that your first level is going to be horrible. It is better to build up your experience before you post your level, so it is advised to wait until you make a level you feel should be posted. Another point is that you will not start out as a good builder. Unless you have a SERIOUS level making background with other games similar to this, you will not make a good level for a few months. The building process takes time, but it is worth it to be patient. Do not feel like this is going to be too hard. Building levels is EXTREMELY fun, and you can do some pretty neat stuff in the process.
3.2.1 Making a one-sector level
To start our first level, start the program by typing Build at the DOS command prompt. You will be placed into 2D mode once you enter. If it looks as if you are in the game, press the [ENTER] key on the KEYPAD. This is how you change editing modes. In 2D mode, you should see an arrow. This is your current position in the level, and it shows which direction you are currently pointing in. Press the [G] key to resize the grid. Press it a few times until you get to the largest grid size. We will now make a sector. Point the mouse at a vertex and press the [SPACEBAR]. This has started the editing process, placing a vertex at the grid location you pointed to. Move the mouse. You will see a line following the mouse cursor. This is a wall. Press the space bar on another grid location, and continue to do so until you have 3 sides. To close the object and stop drawing walls, move the cursor over the very first vertex you drew, and press [SPACEBAR]. The sector will be closed and you will have finished drawing. A cube or rectangle shape is ideal for starting out. Just follow the grid. You now can press the [ENTER] key on the numeric keypad to enter 3D mode. Your level is now started! The walls should look pretty boring right now, but we will change this quite soon.
3.2.2 Adding another sector to the level
Go back into 2D mode and draw another sector, inside the one you just drew. If you enter the level now, there will be a solid wall blocking your way. We need to make this sector valid player space, so that we can walk into it. In 2D mode press [ALT]+[S] (read as: the alt key and the s key) on the sector (move the mouse over the inside sector and press the above keys). The sector should turn red. Go back into 3D mode and you will see that the sector that was blocking you has disappeared. It is still there, but you are now able to walk through it. In just a moment we will raise the ceiling height of this sector to make it a light.
3.2.3 Adding textures to the walls/floors/ceilings
In 3D mode, press [V] on one of the walls, floors, or ceilings. The screen will show the tile that is currently in your level. Press [V] a second time to go to the tile selection screen. You now can use [PGUP], [PGDN], or the arrow keys to scroll through the tiles. Once you have selected the tile you want to use, press enter on it. The wall will have changed to that texture! You do the exact same procedure for floors and ceilings. If you want to use the same texture you just chose for one of the surfaces on another surface, just press [V] once, scroll over to the tile you chose, and press [ENTER]. When you press [V] once on a wall, floor, or ceiling tile it shows all the tiles you are currently using in your level, and you can choose directly from this. Now we will change what the texture looks like on the wall.
3.2.3.1 Panning the texture
After you place the texture you want where you want, it might look as if the whole thing is not showing up. To "squish" the texture to your liking, you must use the 2,4,6,8 keys on the numeric keypad. If you press and hold down the 5 key in combination with one of the above, the texture will squish by a larger amount.
You cannot "squish" floor textures and ceiling textures. To change between 2 sizes (small and large), press the [E] key on the floor or ceiling you wish to change.
3.2.3.2 Moving the texture
If you do not wish to squish the texture, but you just want to move it (or you have squished the texture and want to move it) press and hold down the right [SHIFT] key and press 2,4,6,8 at the same time. The texture will shift instead of squish.
3.2.4 Adding sprites to the level
Adding sprites is quite an easy process. Simply enter 2D mode, and press the [S] key on a grid location. A little circle with a tail and possibly some numbers will show up. The tail indicates the directions the sprite is facing, but it usually does not matter which way the sprite points (enter 3D mode to take a look at it. If it looks weird, just rotate it with the [,] and [.] keys). Press the [V] key on the sprite and choose a sprite just like you did to choose textures. Remember to press [V] twice to get to all of the tiles, unless the sprite you want to use is already in the level (which will put it on the first page).
3.2.4.1 Pasting sprites to the floor, ceiling, or wall
To make a sprite look as if it is hanging from the wall or lying on the floor (or stuck to the ceiling), press the [R] key on the sprite. The first time you press it, the sprite will lie flat on the wall (according to the direction of the sprite). The second time you press [R] on the sprite, it will lie on the floor or the ceiling for that matter, which ever you choose.
3.2.5 Raising and Lowering the floor/ceiling
Remember that sector we made a while ago that turned into red lines? Enter 3D mode and point at the ceiling. Press the [PGUP] key on the ceiling (roughly where the sector we made is), and the ceiling will raise up. To lower the ceiling press [PGDN] on it. The same can be done to floors. Make the inside sector a light and in a little while we will shade the sectors in the room.
3.3 The Art of Shading
Shading is the most important object for you to use in making your level! A level without shading is *very* boring, and it shows a lack of interest from the level designer. When used properly, shading can be what makes the level. I have personally played levels that use intense shading techniques, and I was very happy with the way that things turned out! It should be noted that shading is a *very* difficult thing to master, and you should spend a great deal of time on shading the level (besides choosing textures, shading is the most time consuming portion of level building).
3.3.1 Using shading in your level
There are a few things that you must remember before learning to shade. Light travels in a STRAIGHT line! Also, opposite sides of a room will be shaded differently. For example:
+XXXXXXXX+
I I
I I
+XXXXXXXX+
In this sample room, the walls made with X's would be slightly darker than the walls with I's (or vice versa...it's your choice). This allows the eye to clearly tell the brain where the corner of the room is. Try it if you don't understand. If two walls meet in a corner, and both are the same shade, you will have a much harder time figuring out where the corner of the room is. But if one of the walls is a little darker (five units darker is what I usually use), you will be able to see the corner much more clearly.
3.3.2 Basic shading techniques
There are a few ways that you can shade objects in the level. All of these keystrokes must be made in 3D mode.
[+] and [-] : Use the keys that appear on the keypad. This changes the shade by 1.
['] and [S] : Use this to enter a number to shade with. Just point at the object to shade, press these keys, and type in a number. The larger the number, the darker.
3.4 Checklist
Here is a checklist of things that might be good to do before making your very first complex level.
Before starting on your level:
[ ] I am comfortable with the editor I am using
[ ] I have made my first level: Yes it is horrible!
[ ] I have a good theme for my level
[ ] I have planned my level out
[ ] I understand everything talked about in sections 2 and 3
Before Uploading your level:
[ ] I have filled out a MAP authoring template
[ ] I have a story line
[ ] I have gone through every part of my level extensively
[ ] I have had other people test my level
[ ] I have tested my level using multiplayer
=========================
4: MAKING ALL THE EFFECTS
=========================
------------
INTRODUCTION
------------
4.1 Introduction
Welcome to the hard stuff! In this section, we will explore the many
effects and cool things that we can do with the SW Build engine. The
following effects in this section will take some time to master, but
they *can* be done (or they wouldn't be in the game, now would they?).
All you need for this section is a little bit of time, and some
patience as well. And you'll be Building your SW levels in no time!
-----
DOORS
-----
4.2 Regular DOOM Type Doors
Map Name: REGDOOR.MAP
This type of door structure is extremely easy to make, and it will be
the most commonly used door in the entire level-making process (on
average that is). Just follow these simple instructions and you're
on your way!
STEP 1: Make your door sector. It should look like this:
__ __ __
: : : :
: : : :
: : : :
: C: A: B:
: : : :
:__:__:__:
Sector A is the door itself, and sectors B and C are the "door
frame" sectors. Choose the appropriate textures. LEAVE THE
DOOR SECTOR AT THE CEILING...I.E. - DO NOT LOWER IT TO THE FLOOR!
STEP 2: Place an ST1 sprite in the door sector. Give the sprite a hitag
of 92, and a unique lotag. Give TAG4 a value other than 0 (I think
it has to be something other than 0...I'm not sure about this
though). This will determine the speed of the door.
STEP 3: Enter 3D mode and press the [F] key on the ST1 sprite twice. This
flips the sprite over, and tells the ST1 to use the function on the
ceiling, not the floor.
STEP 4: Give the ST1 sprite a BOOL1 Flag value of 1. This places the ST1
in the "ON" position, so that it is closed during at the start of
the game.
STEP 5: For sound effects, place another ST1 sprite in the door sector (or
near the sector) and give it a TAG1 of 134, a TAG2 with the exact
same value of the other ST1's TAG2 value, and give TAG4 the same
number as the sound you want to play (check out the SWSOUNDS.TXT
for a list of all the sounds and their tags).
OPTIONAL STEPS
STEP 6: Give the ST1 sprite a BOOL3 Flag of 1. This keeps the door from
crushing the player.
STEP 7: Give the ST1 sprite a BOOL6 Flag value of 1. This keeps the player
from operating the door while the door is in motion.
STEP 8: Give the ST1 sprite a BOOL7 Flag value of 1. This allows other
actors to operate the door.
Take a look at SPRITAGS.TXT for a complete list of all of the tags
available for this function (it's number 92).
4.3 Swinging Doors
Map Name: SWNGDOOR.MAP
I AM ASSUMING YOU HAVE MADE A SWINGING DOOR IN ANOTHER BUILD BASED GAME,
SUCH AS DUKE NUKEM 3D. I AM *NOT* EXPLAINING HOW TO MAKE THE DOOR
ITSELF HERE, BUT AM RELAYING THE NECESSARY TAGS THAT ARE REQUIRED TO
MAKE THIS TYPE OF DOOR. Throughout this how-to, I will be assuming that
you are making *TWO* doors, one above the other (with respect to 2D
mode...one door is "north" of the other).
STEP 1: Make your swinging doors using the standard Building procedure. If
you have no idea how to make these sectors, check out the
EXAMPLE.MAP that comes with the Build program, and look at column E
row A. It's kind of hard at first, but you'll figure it out. Or you
can take a look at SWNGDOOR.MAP.
STEP 2: Place an ST1 sprite in each door sector. The upper door ST1 should
have the following tags:
TAG1 = 143
TAG2 = Unique Number
TAG4 = 1536
TAG5 = 512 (this tells the door to open clockwise, 90 degrees)
TAG7 = 35 (the speed that the door will open)
Optional TAG9 = Delay for Auto Close (you specify the delay-35 is typical)
Optional BOOL6 = 1 : (can't be operated again until movement stops)
STEP 3: The lower door should be given these tags:
TAG1 = Exact Same Value As Step 2
TAG2 = Exact Same Value As Step 2
TAG4 = 512
TAG5 = Exact Same Value As Step 2
Optional TAG7 = Exact Same Value As Step 2
Optional TAG9 = Exact Same Value As Step 2
BOOL6 = Exact Same Value As Step 2
STEP 4: Place two ST1 sprites at the place in the door sector where you want
the door to PIVOT (this is usually extremely close to the corner of
the door itself). Give each one the following tags:
TAG1 = 144
TAG2 = Exact Same Value As Step 2
TAG4 = 1536
STEP 5: For sound effects, place a ST1 Sprite near the swinging doors, and
give it the following tags:
TAG1 = 134
TAG2 = Exact Same Value As Step 2
TAG4 = Sound Number To Play (Number 170 is a typical sound)
4.4 Sliding Doors
Map Name: SLIDOOR.MAP
The construction process for this effect is easy, but quite difficult
to explain using words. Take a look at SLIDOOR.MAP to see how it was
constructed (there is a step by step in the map itself). Here are the
tags that can be put on the ST1 sprite that should be in the doorway:
TAG1 = 145
TAG2 = Unique Number
TAG3 = Type of door
0 : Manual/Switch/Trigger
1 : Switch/Trigger Only (Cannot be operated manually)
TAG5 = Distance to move (Largest grid square is 1024)
TAG6 = Match At Destination (when a sliding door reaches its destination
it will trigger any event with this tag...use a unique number)
TAG7 = Move Speed
TAG8 = Acceleration at which door approaches TAG7 speed
TAG9 = Auto-Close Time
BOOL2 = 1 : Can only operate the door once
BOOL3 = 1 : Don't crush the player (NEVER LET A WHITE WALLED SLIDOOR
CRUSH THE PLAYER...THIS CAN CAUSE ERRORS)
BOOL4 = 0 : Can be operated during WangBang
1 : Cannot be operated during WangBang
BOOL5 = 1 : Insta-Close (TM) Feature. This allows Build to close the
door for you (I used it in the SLIDOOR.MAP...take a look at
the map to see what it does).
BOOL6 = 0 : Cannot operate door when in motion
1 : Can operate when in motion
BOOL7 = 1 : Call the TAG6 match when moving to the OFF position as well
as moving to the ON position.
BOOL11 = 1 : Displays "Single Play Only" Message when operated in
WangBang. Use with BOOL4.
4.5 Locked Doors
Map Name: LOCKDOOR.MAP
This is a very simple effect to make, so follow along.
STEP 1: Make the door you wish to lock.
STEP 2: Place one ST1 sprite in the door sector, and give it the following
tags:
TAG1 = 29
TAG2 = Type of locked door
1 : Red Keycard
2 : Blue Keycard
3 : Green Keycard
4 : Yellow Keycard
5 : Gold Master Key
6 : Silver Master Key
7 : Bronze Master Key
8 : Red Master Key
STEP 3: Place a door lock sprite on both sides of the door (somewhere near
the door on the wall). You don't need to have two locks, but it is
convenient for opening the door from both sides. Give both the
following tags:
TAG1 = Same value as TAG2 in Step 2.
TAG2 = 29
STEP 4: Place the correct color key somewhere in the level. This is
important, because the right color key is needed to open the door.
YOU DO NOT NEED TO CHANGE THE PALETTE OF THE LOCK...THIS IS
AUTOMATICALLY DONE BY THE BUILD PROGRAM.
-----
WATER
-----
4.6 Sinkable Water
Map Name: SINKWATR.MAP
This effect allows the player to "sink" into the water sector, making
the impression that the player is actually in water. To make this work,
following the few steps provided.
STEP 1: Make your water sector. Texture it anyway you want (water tile on
the floor of the sector).
STEP 2: Place a ST1 sprite in your sector and give it the following tags:
TAG1 = 0
TAG2 = Depth Player Should Sink
NOTE: TAG2 should not be greater than 40, or the player's view will become
distorted. The most common numbers used are 15, 25, and 35.
4.7 Diving Water
Map Name: WATER.MAP
This effect allows the player to travel under the water, just as in Duke
Nukem 3D. This effect is quite easy to make as well.
STEP 1: Make your above water sector. Give it the appropriate textures.
STEP 2: Make your underwater sector. IT SHOULD BE THE EXACT SAME SHAPE AND
SIZE AS THE ABOVE WATER SECTOR! Give it the appropriate textures
(the water texture should be on the ceiling this time).
STEP 3: Place one ST1 sprite in BOTH the above and below water sectors.
THEY SHOULD BE IN THE EXACT SAME PLACE IN BOTH THE ABOVE AND BELOW
WATER SECTORS! Give the ST1 in the ABOVE water sector the following
tags:
TAG1 = 7
TAG2 = Unique Number
Give the ST1 in the BELOW water sector the following tags:
TAG1 = 8
TAG2 = Exact same number used in TAG2 in the ABOVE water sector
STEP 4: Place one ST1 sprite in the above water sector. Give it the
following tags:
TAG1 = 0
TAG2 = 35
STEP 5: YOU'RE DONE! See WATER.MAP if you do not understand.
4.8 Multi-Sector Diving Water
Map Name: CPLXWATR.MAP
This effect allows there to be multiple sectors in the underwater
sector, while there is only one above water sector. You can use this
effect to make all kinds of things underwater (boxes, ships, etc.),
WITHOUT having to make the EXACT same sectors above water.
STEP 1: Make your two water sectors (see section 4.5 on how to do this).
STEP 2: Make the sectors you wish to have in the underwater sector. I
made a rectangular sector in my level for a box.
STEP 3: Place one ST1 sprite anywhere in the sectors you have added
underwater and give it the following tags:
TAG1 = 9
TAG2 = Exact same number used in TAG2 of the above water sector
OPTIONAL TAG3 = If you give this a value of 1, you will not be able to
surface in the sector this sprite is in.
4.9 Water Currents
Map Name: WCURRENT.MAP
This effect makes a current in a water sector, so that when the player
enters the sector, he is taken with the flow of the water automatically.
STEP 1: Make your water sector to be affected.
STEP 2: Put one ST1 sprite in the sector and give it the following tags:
TAG1 = 0
TAG2 = Depth player should sink
STEP 3: Put another ST1 sprite in this sector. Point the sprite in the
direction you wish the player to travel. Give it the following
tags:
TAG1 = 3
TAG2 = Speed of current
4.10 The Drip Generator
Map Name: DRIP.MAP
This effect causes a drop of water to fall from the ceiling of the
sector to the water below, and it also makes a sound.
STEP 1: Make the water sector to be affected.
STEP 2: Put one ST1 sprite in the sector and give it the following tags:
TAG1 = 1006
TAG2 = Delay in between drops. If 0, the effect uses the internal
settings (which are quite fast). The delay is in seconds.
BOOL1 = Drip Type
0 : Blood drops
1 : Water drops
BOOL2 = Type of effect to make
0 : Drips
1 : No Drips; Makes a bubble instead (for a bubble spawner
in underwater areas)
STEP 3: Raise the ST1 sprite all the way to the ceiling (if you are making
drops that is).
4.11 Making Waves
Map Name: WAVES.MAP
This effect allows you to create waves in water. The waves can be
very smooth, or can be very blocky (see WAVES.MAP to see what I mean).
STEP 1: Make several FOUR SIDED sectors (all are valid player space), and
give them the appropriate textures.
STEP 2: Give each sector a SECTOR LOTAG. The tags should increment by 1,
so the first sector lotag would be 400 (for example), the next
would be 401, and so on. The sector lotags should correspond to the
following information:
For waves on the floor: USE SECTOR LOTAGS 400-419
For waves on the ceiling : USE SECTOR LOTAGS 420-439
For waves on both floor and ceiling: USE SECTOR LOTAGS 440-459
NOTE: You can only have 5 sets of waves in any one map. You do *NOT* have
to use all the tags in one set, so don't feel like you have to have
20 sectors for waves (your tags may only go up to 405 or 406).
Look at WAVES.MAP if you don't understand, or if you want to learn
how to make a current and sinkable set of waves. Very easy stuff.
4.12 Making Lava Eruptions
Map Name: LAVABALL.MAP
This effect allows you to create eruptions that spew either lava balls,
or small bits of lava itself.
STEP 1: Make the sectors that will have something erupt from them. Give
the sectors appropriate textures.
STEP 2: Place ST1 sprites in each sector where you want lava to erupt from.
Give the ST1 sprites the following tags:
TAG1 = 56
TAG2 = (1 to 1024) The larger the number, the more stuff erupts.
TAG3 = Type of Eruption
0 : Lava Shards
1 : Volcano Boulders
TAG4 = Angle of Eruption
TAG5 = Angle Delta from TAG4 (Usage?)
TAG6 = Max x/y velocity
TAG7 = z velocity amount
TAG8 = z velocity random amount - added to TAG5 value
TAG9 = erupt for this many seconds
TAG10 = wait this many seconds until next eruption
BOOL1 = 1 : Don't spawn unless player is in Trigger Sector
STEP 3: If you gave the ST1 sprites a BOOL1 tag of 1, you need to place
an ST1 sprite in all of the sectors that you want the player to
be in to cause an eruption (i.e. - this works like a "touchplate").
Give these sprites the following tags:
TAG1 = 140
TAG2 = Unique Number
TAG3 = 2
TAG4 = Angle
TAG5 = 1
---------------
TEXTURE EFFECTS
---------------
4.13 Parallaxing Skies
Map Name: PARALLAX.MAP
Parallaxed skies are done quite differently from Duke Nukem 3D. This
is really easy to.
STEP 1: Place the texture you want to parallax on the ceiling of the sector
you want to have the parallaxed sky in. Press the [P] key on the
ceiling in 3D mode to parallax the sky. It may look weird at first,
but it *will* look correct in the game.
STEP 2: Place one ST1 sprite in ANY parallaxed sector. YOU ONLY NEED TO
HAVE ONE OF THESE SPRITES IN A PARALLAXED SECTOR SOMEWHERE IN THE
LEVEL, BUT YOU DO NEED TO HAVE IT! Give it the following tags:
TAG1 = 46
TAG2 = 0, 1, or 2
These values are the xrepeat of the sky texture.
STEP 3: Make sure you only have one of the above sprites, or the sky may
behave strangely.
4.14 Making Textures Move
Map Name: TEXPAN.MAP
This effect allows you to make the textures on either a wall, floor, or
ceiling move, which in turn can create some neat effects.
FOR FLOORS AND CEILINGS...
STEP 1: Make the sectors that you wish to affect. Place one ST1 sprite in
the sector, and give it the following tags:
TAG1 = 19 (Floor) or 21 (Ceiling)
TAG2 = speed of movement
TAG4 = Angle of movement (0 doesn't seem to work...)
OPTIONAL BOOL1 = 1 : Move with speed of sector object
FOR WALLS...
STEP 1: Make the wall that you wish to affect. Place one ST1 sprite *NEAR*
the wall to affect (not on the wall itself), and make sure that the
sprite is pointing at the wall to affect. Give it the following
tags:
TAG1 = 23
TAG2 = Speed of movement
TAG4 = Point sprite at desired wall
TAG6 = Angle of panning
OPTIONAL BOOL1 = 1: Move with speed of sector object
---------------
STACKED SECTORS
---------------
4.15 Stacked Sectors
Map Name: STACKED.MAP
This effect is most definitely one of the coolest effects in the entire
game itself. Stacked sectors are the technical term for "True Level
over level", and it allows you to make some cool looking areas. This
effect is a little challenging to make at first, but it's not too hard.
Throughout this how-to, I will be assuming that the player will come to
this "level over level" area from the top floor; i.e. - the player will
look down to the floor below. See STACKED.MAP to understand what I am
talking about (the player starts on the 2nd floor).
STEP 1: Make the upper level of the "level over level area". Make sure that
you have a valid player space sector somewhere in this upper level,
a place where the player can drop down to the lower level when in
the game. Lower this sector's floor to wherever you like it (you
don't even have to lower it if you do not wish to do so), and change
the floor texture of this sector to texture #341. This is the
"Floor Mirror" texture, and it is needed to make the effect work
properly.
STEP 2: Make the lower level of the "level over level area". Again, make
sure that you have a valid player space sector somewhere in this
lower level. THIS SECTOR SHOULD BE THE EXACT SAME SIZE AND SHAPE
AS THE VALID PLAYER SPACE SECTOR MADE IN STEP 1. Change the ceiling
texture of this sector to texture #341. Raise the ceiling to where
you want it to be.
STEP 3: Level 1 and level 2 must be constructed with proper Z heights,
because Shadow Warrior won't do it for you. By this I mean that the
floor of level 2 must actually be higher than the ceiling of level
1. The difference between the two is called the "overlap." At least
some overlap is necessary for room over room to behave correctly.
To build overlap correctly, follow these guidelines:
1: The height of the floor mirror (on the ceiling) in level 1
must be the exact same as the height of the -floor- (not
the floor mirror) in level 2.
2: The height of the floor mirror in level 2 must be the
same as the height of the -ceiling- (not the floor mirror)
in level 1.
STEP 4: Place one ST1 sprite in the valid player space sector of the lower
level, and place another ST1 sprite in the valid player space sector
of the upper level. Make sure that these sprites are in the exact
same position in relation to their sectors; i.e. - if the sectors
were overlapped, the two ST1 sprites should also overlap each other.
Give these ST1 sprites the following tags:
UPPER LEVEL ST1
TAG1 = 121
TAG2 = Unique Number
LOWER LEVEL ST1
TAG1 = 120
TAG2 = Same Unique Number as Upper Level
STEP 5: Place one more ST1 sprite in each valid space sector; one in the
upper level, and one in the lower level. THESE TWO SPRITES DO
NOT NEED TO BE IN THE SAME PLACE IN RELATION TO THEIR SECTORS.
If the upper and lower level sectors were overlapped, these sprites
would not need to overlap as well. Give these sprites the following
tags:
UPPER LEVEL ST1
TAG1 = 111
TAG2 = Same Unique Number As In Step 4
TAG4 = Point up to turn it OFF
Point down to turn it ON
LOWER LEVEL ST1
TAG1 = 110
TAG2 = Same Unique Number As In Step 4
TAG4 = Point up to turn it OFF
Point down to turn it ON
STEP 6: The sprites that you placed in the above step now need to be placed
in every single sector that the player will be able to see the other
level from. For example: If I were standing in a hallway in the
upper level, and I could see through the floor in the adjoining room
to the lower level, I would need to have the exact same sprites as I
placed in STEP 5 in the hallway. Give the sprite the exact same
tags as you gave them in STEP 5.
STEP 7: You need to place the BOUND_FLOOR_BASE_OFFSET and BOUND_FLOOR_OFFSET
sprites in their correct position. These two ST1's (hitags 202 and
203, respectively) are used to drag groups of sectors over top of
each other at premap. The BASE_OFFSET serves as an "anchor point."
The next OFFSET processed is moved to the same x,y location as the
BASE_OFFSET, dragging every sector connected to it along for the
ride. So place two ST1 sprites, one on the lower level and one
in the upper level, in the exact same position in relation to their
sectors. Give the sprites the following tags:
UPPER LEVEL ST1
TAG1 = 202
TAG2 = 0
LOWER LEVEL ST1
TAG1 = 203
TAG2 = 1
STEP 8: Remember the floor and ceiling with texture #341? Go into 3D mode
and press the [P] key on both the floor and the ceiling with this
texture, so that you Parallax the texture. I'm not 100% sure if
this is needed or not, but it is used in all of the level over
level situations in the game. You're all done! Take a look at
STACKED.MAP if you still do not understand something, and just
pull it all apart.
4.16 Transparent Water
Map Name: TRANWATR.MAP
This effect is a bit harder to understand, but it follows the exact
same concepts as the stacked sectors how-to above.
STEP 1: Make your stacked sectors just as we did in the how-to above
(section 4.14).
STEP 2: Place one ST1 sprite in *ALL* of the sectors that are to be under-
water, and give each a TAG1 value of 8.
STEP 3: Place one ST1 sprite in the sector underwater where the player
will be able to surface. Give it the following tags:
TAG1 = 136
TAG2 = Picture Number (From the [V] menu. The water texture most
commonly used is 780)
TAG3 = 0
TAG7 = 0 : normal
1 : masked
2 : translucent
3 : very translucent (this is the most common for water)
STEP 4: Place one ST1 sprite in the sector above the water where the player
will submerge into the water itself. Give it the following tags:
TAG1 = 136
TAG2 = Picture Number (From the [V] menu. The water texture most
commonly used is 780)
TAG3 = 1
TAG7 = 0 : normal
1 : masked
2 : translucent
3 : very translucent (this is the most common for water)
STEP 5: Place another ST1 sprite in the sector above the water where the
player will submerge into the water itself. Give this sprite the
following tags:
TAG1 = 98
TAG2 = Amount player should sink into the floor. 40 is the most
commonly used value, so I recommend using it. (DO NOT USE
ANY VALUE OVER 40. THIS MAY CAUSE SOME PROBLEMS WITH
THE PLAYERS VIEW!)
--------------
SPRITE EFFECTS
--------------
4.17 Ladders
Map Name: LADDER.MAP
This effect allows you to create areas on a wall that the player can
climb up while in the game. A very easy effect to make.
STEP 1: Create the area you wish to be your ladder. THE LADDER IS REQUIRED
TO BE PLACED ON A RED LINE! DO NOT PLACE THIS ON A WHITE LINE IN
2-D MODE, OR IT WILL NOT WORK! To make it look like a ladder,
place some sprites on the wall, make them point away from the wall,
and press the [R] key on them once. Change their texture to
something that resembles a ladder. These sprite are not needed,
as you can just change the texture on the wall to look like the
ladder, or you can have the wall look nothing like the ladder at
all (you could make hidden ladders with that idea...).
STEP 2: Enter 3D mode. Face the wall that will be your ladder, and
move the mouse cursor over the wall itself (NOT ON THE SPRITES
THAT ARE ON THE WALL). Press [']+[T]. In the upper left hand
corner of the screen, you should see the words "WALL LOTAG : 0".
Change this value to 305 (just type in 305).
STEP 3: Place one ST1 sprite near the wall to climb, BUT NOT ON THE WALL
ITSELF! The position of the sprite itself is very important,
because it is the location at which the player sprite will start
to climb. Give it the following tags:
TAG1 = 30
TAG4 = Angle (The sprite should point directly away from the wall
that it will be affecting)
You should also make sure that this sprite is centered with the
ladder that the player will climb.
4.18 Shooters
Map Name: SHOOTERS.MAP
This effect allows you to create shooters.
STEP 1: Place one ST1 sprite on the wall. Change the angle to face directly
away from the wall, and raise it up on the wall a good bit. This is
where the shots fired will spawn from. Give the ST1 sprite the
following tags:
TAG1 = 43 (For Fireballs)
44 (For Missiles)
63 (For Arrows)
TAG2 = Unique Number
TAG4 = Angle; I recommend facing it directly away from the wall
STEP 2: Now that you have these shooters, you need some way to activate
them. The way to do this is through an "activation sector". Just
give the sector that you wish to have activate the shooters the
following tags:
Sector Lotag = 43
Sector Hitag = Same Unique Number as TAG2 in ST1 sprite
4.19 Making Sprites Destructible (Simple)
Map Name: NONE
This effect simply allows you to make most non-ST1 sprites destructible.
STEP 1: Create the sprite that you want to destroy.
STEP 2: Give the sprite the following tags:
TAG1 = 132
BOOL1 = 1
4.20 Making Sprites Destructible (Complex)
Map Name: NONE
This effect is a more complex way of making sprites (including ST1's)
destructible.
STEP 1: Create the sprite that you want to destroy.
STEP 2: Place an ST1 sprite somewhere on your map, and give it the following
tags:
TAG1 = 132
TAG2 = Unique Number
TAG5 = Tile Number to switch to when broken (this is not needed
if TAG8 is 1)
TAG7 = Number of damage hits to take before a sprite or wall
texture is BROKEN. Note that if this is set to 2 or
greater the picnum will increment toward TAG5 until
TAG5 is reached. The graphics in the art file must be
imported in the correct order to support this. Nothing
in Shadow Warrior uses this, but the functionality is
there for anybody who feels like importing their own
art.
TAG8 = BROKEN type:
0 : Change the picnum only
1 : Kill sprite when BROKEN
STEP 3: Now give the sprite that you created in step 1 the following tags:
TAG1 = 132
TAG2 = Same Unique Number as above
TAG6 = Match - extra match value for activating ST1's like
SPAWN_SPOT and LIGHTING. By this method you can spawn
debris or turn off a light when this sprite is broken.
BOOL1= 1
BOOL2= 1 : Don't break this sprite. Use this to override
automatic breakables.
4.21 Automatic Sprite Deletion
Map Name: NONE
This allows you to delete almost any sprite you wish from the game by
means of a trigger action (a switch or touchplate). The sprites you
can delete are decoration sprites, vator ST1's, room over room view
sprites, and spike ST1's.
STEP 1: Place the sprites you wish to delete upon triggering.
STEP 2: Place 1 ST1 sprite *exactly* on top of each sprite you wish
to delete upon triggering. Give each ST1 the following tags:
TAG1 = 141
TAG2 = Unique Number
BOOL2 = 0 : Stay stationary
1 : Move with a sector object.
STEP 3: Place either a switch or a trigger sector somewhere in your map.
Give the switch or sector a hitag that matches the TAG2 value in
step 2 exactly, and a lotag of 211.
-------------
TELEPORTATION
-------------
4.22 Teleporters
Map Name: TELEPORT.MAP
This allows you to create teleporters in the game. Extremely easy to
do.
STEP 1: Make a "source sector". This will be the sector that the player
has to enter in order to get teleported somewhere. Make a
"destination sector" elsewhere on your map. This will be the
place in the level where the player will be teleported to. The
destination sector does not have to be the exact same size as the
source sector, but it must not be smaller than the source sector.
STEP 2: Place one ST1 sprite in both the source and destination sectors.
Change the angle of both to the direction you wish the player to
face when he comes out of the teleporter. Give each sprite the
following tags:
TAG1 = 84
TAG2 = Unique Number (Both numbers should be the same number:
i.e. - if you have a TAG2 value of 223 in the source
sector ST1, you should also have a TAG2 value of 223
in the destination sector ST1)
TAG3 = 0
TAG4 = Point in the direction you wish the player to face when
coming out of the teleporter
TAG10 = 0 : (Two-Way) Teleport when you enter this sector
1 : (One-Way) Don't teleport when you enter this sector
4.23 Offset (Random) Teleporters
Map Name: RANDTELE.MAP
This effect allows you to randomly teleport through a series of
teleporters. Take a look at the included map if you don't quite
understand (it is a little hard to explain).
STEP 1: Make a "source sector". This will be the sector that the player
has to enter in order to get teleported somewhere. Make several
"destination sectors" (up to 4) elsewhere on your map. These will
be the places in the level where the player will be teleported to.
The destination sectors do not have to be the exact same size as the
source sector, but they must be smaller than the source sector.
STEP 2: Place one ST1 sprite in the source and destination sectors.
Change the angle of these ST1's to the direction you wish the
player to face when he comes out of the teleporter. Give each
sprite the following tags:
TAG1 = 84
TAG2 = Unique Number (Give the source sector ST1 a unique number,
and give one of the destination sectors the exact same
number. Now give the other destination sectors a TAG2
value of the unique number plus 1. For example, if I have
4 teleporters, I give the source sector ST1 a TAG2 value
of 20, and one of the destination sectors the exact same
TAG2 value. Now I give the other teleport ST1 sprites
TAG2 values of 21 and 22, respectfully).
TAG3 = 1
TAG4 = Point in the direction you wish the player to face when
coming out of the teleporter
TAG5 = TAG2 value plus 1 (if more than 1 teleporter)
TAG6 = TAG2 value plus 2 (if more than 2 teleporters)
TAG7 = TAG2 value plus 3 (if more than 3 teleporters)
TAG8 = TAG2 value plus 4 (if using exactly 4 teleporters)
TAG10 = 0
4.24 "Warp Plane" Teleporters
Map Name: WPLNTELE.MAP
This effect warps you to the opposite Z plane when your view goes above
or below the Z plane in question. Take a look at the included map if you
don't quite understand.
STEP 1: Make the start and end teleporter sectors. Raise one of the
sector's ceilings a little ways up, and lower the other's floor
a little ways down.
STEP 2: Place one ST1 sprite in each sector. Give the ST1 in the lowered
sector the following tags:
TAG1 = 86
TAG2 = Unique Number
STEP 3: Give the ST1 in the raised sector the following tags:
TAG1 = 85
TAG2 = Same Unique Number as in step 2.
STEP 4: Raise the ST1 sprite in the raised sector as far up as you wish the
player to teleport from or to. Also, lower the ST1 in the lowered
sector to as low as you want the player's view to pass by in order
to teleport from or to the other sector.
--------------
MIRROR EFFECTS
--------------
4.25 Making a Mirror
Map Name: MIRROR.MAP
This is a very easy effect to make, but it is quite hard to explain
through the use of words. Take a look at MIRROR.MAP if you don't
understand.
STEP 1: Making a mirror is a little bit like making a mirror in Duke Nukem
3D, but there are some differences. Create the sectors for your
mirror, but DO NOT CREATE A LARGE ROOM BEHIND THE MIRROR...THIS IS
NOT NEEDED IN SW AS IT WAS IN DUKE3D!
STEP 2: Place a 1-Way wall where the mirror should go by pressing the [1]
key on the floor near the place the mirror should be in 3D mode.
Give it a texture of #340.
STEP 3: To make Lo Wang say something when you look into the mirror and
press space, give the red wall in front of the mirror (in 2D mode)
a wall lotag of the sound number to play, and a hitag of 900.
4.26 "Copy-Sprite" Mirrors
Map Name: COPYSPRT.MAP
This effect reproduces sprites upon entry into a sector containing the
proper ST1 sprite. Take a look at the included map to check out this
cool effect.
STEP 1: Create two sectors that will mirror each other. Take a look at
the map to see what kind of sectors I used.
STEP 2: Place one ST1 in each sector. Give one of the ST1 sprites the
following tags:
TAG1 = 87
TAG2 = Unique Number
STEP 3: Now give the other ST1 the following tags:
TAG1 = 88
TAG2 = Unique Number
Now you will find that when you enter the sectors in the game, a copy
of your sprite will appear in the other sector that you tagged. Now
go into the other sector. Same thing - A 2-way mirror! Cool!
----------------------------------------
ENDING THE LEVEL AND MAKING SECRET AREAS
----------------------------------------
4.27 The End Button
Map Name: NONE
STEP 1: Place a sprite on a wall where you want the end button to be. In
2D mode, change the angle so that the sprite faces away from the
wall. Now go into 3D mode and press the [R] key on the sprite.
Give it a texture of 2470.
STEP 2: Give the sprite the following tags:
TAG1 = Number of level to go to. This should only be used if
the map name has the exact same name as one of the
official SW game levels.
TAG2 = 116
4.28 Ending Sectors
Map Name: NONE
STEP 1: Make a sector that the player must step in to end the level. Give
this sector a sector lotag of 116 by pressing the [T] key in the
sector in 2D mode.
4.29 Making a Secret Area
Map Name: NONE
STEP 1: Make the sector you wish to be the secret area. Give it a sector
lotag of 217.
-------------------------------------
SECTOR OBJECTS (TANKS, TURRETS, ETC.)
-------------------------------------
4.30 Turrets
Map Name: TURRET.MAP
This effect allows you to create player controlled turrets, which can
be set to fire many different things through the use of different
tag values in the ST1 sprites. This effect is quite simple in nature
but it is quite an involved building process.
STEP 1: Make your turret sectors. Raise them to the appropriate heights
in 3D mode, and give them appropriate textures. Now enter 2D mode
and turn off the grid. Move the cursor to the OUTSIDE of one of the
OUTERMOST walls and press [ALT]+[T]. This allows you to enter the
lotag on this side of the red wall. Give it a value of 504, telling
the game that this is the outermost area of the turret. You need
only to do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE
OF THE OUTERMOST WALLS.
STEP 2: Press the [H] key inside the center sector, and enter in the value
of 96. This tells the program that this type of sector object is
a turret.
STEP 3: Place one ST1 sprite just above and to the left of the top left of
the turret. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
500 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 500, sector
object 2 would have a TAG1 value of 505, and so on, all
the way up to sector object 19, which has a TAG1 value
of 595.
Now place one ST1 sprite just below and to the right of the lower
right of the turret. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
501 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 501, sector
object 2 would have a TAG1 value of 506, and so on, all
the way up to sector object 19, which has a TAG1 value
of 596.
These two sprites are called the "bound_so_upper" and
"bound_so_lower" sprites, and they form an invisible rectangle that
the program uses to know just exactly what sectors and sprites to
rotate when the turret is in operation. Now press the [T] key
inside the center sector, and give it the same value as you gave
the TAG1 value of the "bound_so_lower" sprite.
STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value
of 1. This tells the program that this sector is the sector the
player must be in to activate the turret.
STEP 5: Place one ST1 sprite in the center sector, and give it a TAG1 value
of 16. Now point the sprite towards the front of the turret. This
tells the program in which direction the front of the turret is.
STEP 6: Although optional, you can place one ST1 sprite in the center sector
with a TAG1 value of 68. This tells the game that the turret can
only turn a certain amount of degrees in either direction, which
you specify with the TAG2 value. A TAG2 value give you a rotation
limit of 90 degrees on each side (180 degrees total).
STEP 7: Place one ST1 sprite in the center sector and give it a TAG1 value
of 134. This is the sound effect sprite. Turrets only need one
operational sound, so give it a TAG4 value of the sound number you
want to play (149 is the most common value...use this for now).
Now change the BOOL2 value to 1. This allows the sound to stop
when the turret is not in use.
STEP 8: Place one ST1 sprite in the center sector and give it a TAG1 value
of 76. This tells the game that this turret can be destroyed (this
is an optional sprite). The TAG2 value is the damage the turret can
take before breaking, and a good value for this is from about 500 to
1000. Change the TAG 5 value to either -1 (to start the turret out
broken), or leave it as 0 (to make the turret start with "full
health"). Now place one ST1 sprite where you want the smoke to
spawn when the turret is broken. Give it a TAG1 value of 69, a TAG3
value of 3, a TAG6 value of 3, and give it a unique TAG2 value.
STEP 9: Place one ST1 sprite somewhere in the turret, and give it a TAG1
value of 134. Give it the same TAG2 value you gave the sprite in
step 8, and change the TAG4 value to 276.
STEP 10: Place one ST1 sprite near where you want the shots to come out
of the turret at. Raise it up in 3D mode to be at the height you
want it to be, and get back into 2D mode. Give the sprite a TAG1
value of 62. To change the ammunition type of the turret, change
the TAG3 value to one of the following:
0 : Tank Shell
1 : Machine Gun
2 : Laser
3 : Rail Gun
4 : Fireball
5 : Rocket
6 : Micro Missile Battery (Lots of missiles at once)
STEP 11: Enter 3D mode and press the [R] key on the floor of every sector.
This prevents the floor from moving around while the turret is
being rotated.
STEP 12: If you do not want enemies to enter the turret, place an ST1 sprite
in every sector of the turret and give it a TAG1 value of 38.
YOU'RE DONE!!! Look at TURRET.MAP if you need help understanding
something.
4.31 Automatic Turrets
Map Name: AUTOTURT.MAP
This effect creates a turret that follows the players movement and,
if told to do so, will shoot at the player. Again, this effect is
simple in nature, but it involves a good bit of work to create.
STEP 1: Make your turret sectors. Raise them to the appropriate heights
in 3D mode, and give them appropriate textures. Now enter 2D mode
and turn off the grid. Move the cursor to the OUTSIDE of one of the
OUTERMOST walls and press [ALT]+[T]. This allows you to enter the
lotag on this side of the red wall. Give it a value of 504, telling
the game that this is the outermost area of the turret. You need
only to do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE
OF THE OUTERMOST WALLS.
STEP 2: Press the [H] key inside the center sector, and enter in the value
of 96. This tells the program that this type of sector object is
a turret.
STEP 3: Place one ST1 sprite just above and to the left of the top left of
the turret. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
500 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 500, sector
object 2 would have a TAG1 value of 505, and so on, all
the way up to sector object 19, which has a TAG1 value
of 595.
Now place one ST1 sprite just below and to the right of the lower
right of the turret. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
501 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 501, sector
object 2 would have a TAG1 value of 506, and so on, all
the way up to sector object 19, which has a TAG1 value
of 596.
These two sprites are called the "bound_so_upper" and
"bound_so_lower" sprites, and they form an invisible rectangle that
the program uses to know just exactly what sectors and sprites to
rotate when the turret is in operation. Now press the [T] key
inside the center sector, and give it the same value as you gave
the TAG1 value of the "bound_so_lower" sprite.
STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value
of 16. Now point the sprite towards the front of the turret. This
tells the program in which direction the front of the turret is.
STEP 5: Although optional, you can place one ST1 sprite in the center sector
with a TAG1 value of 68. This tells the game that the turret can
only turn a certain amount of degrees in either direction, which
you specify with the TAG2 value. A TAG2 value give you a rotation
limit of 90 degrees on each side (180 degrees total).
STEP 6: Place one ST1 sprite in the center sector and give it a TAG1 value
of 81. This tells the game that this is an automatic turret that
follows the players movements.
STEP 7: Place one ST1 sprite in the center sector and give it a TAG1 value
of 76. This tells the game that this turret can be destroyed (this
is an optional sprite). The TAG2 value is the damage the turret can
take before breaking, and a good value for this is from about 500 to
1000. Now place one ST1 sprite where you want the smoke to spawn
when the turret is broken. Give it a TAG1 value of 69, a TAG3 value
of 3, a TAG6 value of 3, and give it a unique TAG2 value.
STEP 8: Place one ST1 sprite somewhere in the turret, and give it a TAG1
value of 134. Give it the same TAG2 value you gave the sprite in
step 7, and change the TAG4 value to 276.
STEP 9: Place one ST1 sprite near where you want the shots to come out
of the turret at. Raise it up in 3D mode to be at the height you
want it to be, and get back into 2D mode. Give the sprite a TAG1
value of 62. To change the ammunition type of the turret, change
the TAG3 value to one of the following:
0 : Tank Shell
1 : Machine Gun
2 : Laser
3 : Rail Gun
4 : Fireball
5 : Rocket
6 : Micro Missile Battery (Lots of missiles at once)
STEP 10: Enter 3D mode and press the [R] key on the floor of every sector.
This prevents the floor from moving around while the turret is
being rotated. YOU'RE DONE!!! Look at AUTOTURT.MAP if you need
help understanding something.
4.32 Boats
Map Name: BOAT.MAP
Making boats is quite a bit simpler effect to make than making tanks,
which will be explained in the next how-to. This, as are the turrets,
is quite a lengthy building process, but it is a very straight forward
effect to make.
STEP 1: Make a rectangle sector that will surround your boat by just a
little bit (it should be a little larger than your boat will be
in other words). Make sure that you make this sector valid
player space. Now enter 2D mode and turn off the grid. Move the
cursor to the OUTSIDE of one of the OUTERMOST walls of this
rectangle, and press [ALT]+[T]. This allows you to enter the lotag
on this side of the red wall. Give it a value of 504, telling the
game that this is the outermost area of the boat. You need only to
do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE OF THE
OUTERMOST WALLS.
STEP 2: Make your boat sectors. They should all be valid player space.
THEY ALSO CANNOT BE IN ANY WAY CONNECTED TO THE RECTANGLE SECTOR
THAT SURROUNDS THEM! Raise the sectors to the appropriate heights,
and give them appropriate textures. Now give the center sector
(the sector the player must be in to activate the boat) a sector
hitag (press the [H] key in the sector in 2D mode) of 98.
STEP 3: Place one ST1 sprite just above and to the left of the top left of
the outer rectangle sector. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
500 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 500, sector
object 2 would have a TAG1 value of 505, and so on, all
the way up to sector object 19, which has a TAG1 value
of 595.
Now place one ST1 sprite just below and to the right of the lower
right of the outer rectangle sector. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
501 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 501, sector
object 2 would have a TAG1 value of 506, and so on, all
the way up to sector object 19, which has a TAG1 value
of 596.
These two sprites are called the "bound_so_upper" and
"bound_so_lower" sprites, and they form an invisible rectangle that
the program uses to know just exactly what sectors and sprites to
rotate when the boat is in operation. Now press the [T] key
inside the center sector, and give it the same value as you gave
the TAG1 value of the "bound_so_lower" sprite.
STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value
of 1. This tells the program that this sector is the sector the
player must be in to activate the boat.
STEP 5: Place one ST1 sprite in the center sector, and give it a TAG1 value
of 16. Now point the sprite towards the front of the boat. This
tells the program in which direction the front of the boat is.
STEP 6: Place one ST1 sprite in the center sector and give it the following
tag values:
TAG1 = 147
TAG2 = Angle speed (From 1 to 16384) (600 is a typical value)
TAG3 = Angle "slide" amount (From 1 to 100) (I left this as 32,
which is the default value)
TAG6 = Movement speed (From 1 to 16384) (9000 is a typical value)
TAG7 = Movement "slide" amount (From 1 to 100) (25 is a typical
value)
BOOL1 = 1 : Don't shake the screen when running into something
(this value is recommended for boats)
BOOL4 = 1 : Rectangular clipping; Difficult to fully understand
usage, but this value is *HIGHLY* recommended.
STEP 7: Place one ST1 sprite in the center sector and give it a TAG1
value of 134. Vehicles are usually suited best with two sounds,
an idle sound and an operation sound. Set TAG4 to the sound you
want to play, and TAG5 to the second sound. For a slowly idling
boat, give TAG4 a value of 511 and TAG5 a value of 510. For a
fast idling boat give TAG4 a value of 510 and TAG5 a value of
143. Give this sprite a unique value for TAG2. Make sure that
the BOOL2 value is 1.
STEP 8: Place one ST1 sprite in the center sector. Give it a TAG1 value
of 76. The TAG2 value is the amount of damage the boat can
take before it breaks. A typical number for this is anywhere
from 200 to 400. Change the TAG 5 value to either -1 (to start the
boat out broken), or leave it as 0 (to make the boat start with
"full health").
STEP 9: Place one ST1 sprite near the back of the boat, and give it a
TAG1 value of 134. Give this sprite a unique TAG2 value, and a
TAG4 value of 276.
STEP 10: Place one ST1 sprite where you want smoke to come out of when
the boat is broken. Give it a TAG1 value of 69, and a TAG3
value of 3. Give this sprite the same value for TAG2 as you
gave the ST1 sprite in Step 9.
STEP 11: Go into 2D mode and, if you already have not, make some sectors
that look like raised guns (this is optional). You can give
these sectors nice textures, and raise them to the height that
you desire.
STEP 12: Place ST1 sprites at the end of each gun, and raise it so that it
is the height that you want the shots to originate from. Give
these sprites a TAG1 value of 62. Now change the TAG3 value to
the type of ammunition you want. Here are the choices:
0 : Tank Shell
1 : Machine Gun
2 : Laser
3 : Rail Gun
4 : Fireball
5 : Rocket
6 : Micro Missile Battery (Lots of missiles at once)
STEP 13: Enter 3D mode and press the [R] key on all the floors of the boat,
BUT NOT THE RECTANGLE SECTOR SURROUNDING THE BOAT. This will stop
the floors from moving while the boat is moving.
4.33 Tanks
Map Name: TANKS.MAP
Tanks are the exact same effect as boats, but they are a much more
complex effect to get to work properly (making the tank treads move
with the tank itself is quite a pain to get right). But, with time,
this can be an effect that you can make in no time at all.
STEP 1: Make a rectangle sector that will surround your tank by just a
little bit (it should be a little larger than your tank will be
in other words). Make sure that you make this sector valid
player space. Now enter 2D mode and turn off the grid. Move the
cursor to the OUTSIDE of one of the OUTERMOST walls of this
rectangle, and press [ALT]+[T]. This allows you to enter the lotag
on this side of the red wall. Give it a value of 504, telling the
game that this is the outermost area of the tank. You need only to
do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE OF THE
OUTERMOST WALLS.
STEP 2: Make your tank sectors. They should all be valid player space.
THEY ALSO CANNOT BE IN ANY WAY CONNECTED TO THE RECTANGLE SECTOR
THAT SURROUNDS THEM! Raise the sectors to the appropriate heights,
and give them appropriate textures. Now give the center sector
(the sector the player must be in to activate the tank) a sector
hitag (press the [H] key in the sector in 2D mode) of 98.
STEP 3: Place one ST1 sprite just above and to the left of the top left of
the outer rectangle sector. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
500 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 500, sector
object 2 would have a TAG1 value of 505, and so on, all
the way up to sector object 19, which has a TAG1 value
of 595.
Now place one ST1 sprite just below and to the right of the lower
right of the outer rectangle sector. Give it the following tags:
TAG1 = You can have 20 of these sprites in any one level. The
value for this tag is calculated as follows:
501 + (5 * sector object #)
Sector object 1 would have a TAG1 value of 501, sector
object 2 would have a TAG1 value of 506, and so on, all
the way up to sector object 19, which has a TAG1 value
of 596.
These two sprites are called the "bound_so_upper" and
"bound_so_lower" sprites, and they form an invisible rectangle that
the program uses to know just exactly what sectors and sprites to
rotate when the tank is in operation. Make sure that these sprites
include the turret sprite, so that it too can move with the tank.
Now press the [T] key inside the center sector, and give it the same
value as you gave the TAG1 value of the "bound_so_lower" sprite.
STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value
of 1. This tells the program that this sector is the sector the
player must be in to activate the tank.
STEP 5: Place one ST1 sprite in the center sector, and give it a TAG1 value
of 16. Now point the sprite towards the front of the tank. This
tells the program in which direction the front of the tank is.
STEP 6: Place one ST1 sprite in the center sector and give it the following
tag values:
TAG1 = 147
TAG2 = Angle speed (From 1 to 16384) (600 is a typical value)
TAG3 = Angle "slide" amount (From 1 to 100) (I left this as 32,
which is the default value)
TAG6 = Movement speed (From 1 to 16384) (9000 is a typical value)
TAG7 = Movement "slide" amount (From 1 to 100) (25 is a typical
value)
BOOL1 = 1 : (Optional) Don't shake the screen when running into
something
BOOL4 = 1 : Rectangular clipping; Difficult to fully understand
usage, but this value is *HIGHLY* recommended.
STEP 7: Place one ST1 sprite in the center sector and give it a TAG1
value of 134. Vehicles are usually suited best with two sounds,
an idle sound and an operation sound. Set TAG4 to the sound you
want to play, and TAG5 to the second sound. The best values for a
tank are a TAG4 value of 149, and a TAG5 value of 147. Make sure
that BOOL2 has a value of 1.
STEP 8: Place one ST1 sprite in the center sector. Give it a TAG1 value
of 76. The TAG2 value is the amount of damage the tank can
take before it breaks. A typical number for this is anywhere
from 400 to 700. Change the TAG 5 value to either -1 (to start the
tank out broken), or leave it as 0 (to make the tank start with
"full health").
STEP 9: Place one ST1 sprite near the back of the tank, and give it a
TAG1 value of 134. Give this sprite a unique TAG2 value, and a
TAG4 value of 276.
STEP 10: Place one ST1 sprite where you want smoke to come out of when
the tank is broken. Give it a TAG1 value of 69, and a TAG3
value of 3. Give this sprite the same value for TAG2 as you
gave the ST1 sprite in Step 9.
STEP 11: Go into 2D mode and, if you already have not, place a turret sprite
where you want the gun turret to be (Tile #764). Raise it to the
appropriate height.
STEP 12: Place one ST1 sprite at the end of the gun, and raise it up so that
it is the height that you want the shots to originate from (right
at the same height of the gun is ideal). Make sure that this
sprite isn't exactly at the end of the gun, but a little ways out
beyond the end of the gun (Look at TANKS.MAP to fully understand).
Give this sprite a TAG1 value of 62. Now change the TAG3 value to
the type of ammunition you want. Here are the choices:
0 : Tank Shell
1 : Machine Gun
2 : Laser
3 : Rail Gun
4 : Fireball
5 : Rocket
6 : Micro Missile Battery (Lots of missiles at once)
STEP 13: Enter 3D mode and press the [R] key on all the floors of the tank,
BUT NOT THE RECTANGLE SECTOR SURROUNDING THE TANK. This will stop
the floors from moving while the tank is moving.
STEP 14: Now for the tank treads. This is probably the hardest thing to
get exactly right, but it is possible to do. Make sure that the
floor relative is set to the "on" setting in the tank tread
sectors (press the [R] key in 3D mode). Place one ST1 sprite in
each tread sector, and give them the following tags:
TAG1 = 19
TAG2 = Speed (Use 100...it's a typical value)
TAG4 = Point the sprite towards the front of the tank
BOOL1 = 1
STEP 15: Place sprites near the wall sections of the treads (where the
tread wraps around), and point each at the red wall to be affected
(the tread wall in this case). Give them the following tags:
TAG1 = 23
TAG2 = Speed (Use 100...it's a typical value)
TAG4 = Point the sprite towards the wall to be affected
TAG6 = Use the exact same value as in TAG4
BOOL1 = 1
You're all done with your tank! Take a look at TANKS.MAP if you need
help understanding something...just pull it all apart and you should
get it.
----------------
LIGHTING EFFECTS
----------------
4.34 Basic Lighting Effects
Map Name: NONE
Basic lighting effects include a number of things, the first of which
we will cover being regular lighting effects (known as "still
lighting").
4.34.1 Still Lighting
Map Name: NONE
Still lighting is the lighting you see around the levels that
doesn't flicker or move in any way. This lighting is set by you,
and is accomplished by pressing the [']+[S] keys on the desired
floor, wall, ceiling, or sprite in 3D mode, and entering a value.
Shading is what makes or breaks a level, so use it throughout.
4.34.2 Switchable Lighting
Map Name: NONE
Switchable lights are very cool, and make the level very user
friendly, and it creates the effect of a true location. To make
a switchable light, do the following:
STEP 1: Place a switch somewhere, where you will control the light. Give
the switch the following tags:
TAG1 = Unique Number
TAG2 = 211
STEP 2: Create the light(s) to be turned on or off. Shade everything
in Build to look when the light is to be off.
STEP 3: Place one ST1 sprite to be used for your lighting, and give it
the following tags:
TAG1 = 108
TAG2 = Same unique number as TAG1 on switch
TAG3 = Type of effect
0 = Still Lighting (Just turns on and off)
1 = Flicker
2 = Fade
3 = Flicker ON (flickers on, turns off regularly)
4 = Fade ON or OFF (fades on and off)
TAG4 = Timing - the smaller the number, the faster the light
flickers or fades
TAG5 = Brighten Amount - how much the light brightens; the
value is how much will be subtracted from the current
shading value
TAG6 = Darken amount - same as TAG5 but it adds to the current
shading amount
TAG7 = Shade increment/decrement for fading lights- default is 1
BOOL1 = 0: Light is off
1: Light is on
BOOL2 = 1: Don't affect the floor
BOOL3 = 1: Don't affect the ceiling
BOOL4 = 1: Don't shade the walls
BOOL5 = 1: Shade the outer walls - red lines have both inner
and outer walls; by default the lighting will not
shade the outer walls
BOOL6 = 1: Don't affect the palette of the sector
BOOL8 = 1: Inverse intensity. The sector is brightened by TAG6
and darkened by TAG5 when this is on.
BOOL10 = 1: Direction to start a fade (when using multiple
sectors)
STEP 4: Repeat the above procedures for different lights or for multiple
sectors in lighting.
4.34.3 Movement Lighting
Map Name: NONE
Movement lighting is lighting which flickers or fades in or out.
STEP 1: Create your light to be used.
STEP 2: Place one ST1 sprite in the light sector, and give it the
following tags:
TAG1 = 108
TAG3 = Type of effect
0 = Still Lighting
1 = Flicker
2 = Fade
TAG4 = Timing - the smaller the number, the faster the light
flickers or fades
TAG5 = Brighten Amount - how much the light brightens; the
value is how much will be subtracted from the current
shading value
TAG6 = Darken amount - same as TAG5 but it adds to the current
shading amount
TAG7 = Shade increment/decrement for fading lights- default is 1
BOOL1 = 0: Light is off
1: Light is on
BOOL2 = 1: Don't affect the floor
BOOL3 = 1: Don't affect the ceiling
BOOL4 = 1: Don't shade the walls
BOOL5 = 1: Shade the outer walls - red lines have both inner
and outer walls; by default the lighting will not
shade the outer walls
BOOL6 = 1: Don't affect the palette of the sector
BOOL8 = 1: Inverse intensity. The sector is brightened by TAG6
and darkened by TAG5 when this is on.
BOOL10 = 1: Direction to start a fade (when using multiple
sectors)
STEP 3: You're all done! Use these effects in your level, but don't
put too many in one area; it looks kind of bad having tons of
flickering lights in one area.
---------------
PALETTE EFFECTS
---------------
4.35 Fog and Haze
Map Name: NONE
To make fog or haze, you must set the palette of every wall, floor,
and ceiling to the type of haze you wish to have. This can be
accomplished by pressing the [ALT]+[P] keys on the desired objects
in 3D mode. Here is the list of "appropriate" colors (you can use
whatever value you want):
1 - White (Used for Fog)
5 - Red (Used for Red Haze)
9 - Blue (Used for Blue Haze)
------------
WALL EFFECTS
------------
4.36 Masked Walls
Map Name: NONE
To make a masked wall, enter 3D mode and point to the red line that
you wish to make a masked wall (they only go on red lines). Press
the [M] key on that area, and there you go!
4.37 One-Way Walls
Map Name: NONE
To make a one-way wall, enter 3D mode and point to the red line that
you wish to make a masked wall (they only go on red lines). Press
the [1] key on that area, and there you go!
4.38 On-Demand Wall-Damage
Map Name: WALLDMAG.MAP
This effect allows you to make walls that move when hit with an
explosive weapon (this allows you to make things that could possibly
show "battle-damage").
STEP 1: Make the walls that you wish to move when hit. Keep in mind that
it will be the *vertices* that move, not the wall lines themselves.
STEP 2: Place one ST1 sprite over each vertex you wish to move. Give each
sprite the following tags:
TAG2 = Unique Number (this controls which vertices will move
when one of them is hit. For example, if I have 4
vertices I want to move on one wall, and I gave them all
the same TAG2 value, when one of them gets hit, all 4
vertices would move).
TAG4 = Angle - point in the direction you want the wall point
to move
TAG5 = Pic 1 - Next wall texture
TAG6 = Pic 2 - Previous wall texture
TAG7 = Shade 1 - Next wall shade
TAG8 = Shade 2 - Previous wall shade
TAG9 = Number of times the point can be shot
TAG10= Random angle difference - 1 to 128 - the larger the
number the greater the angle deviance.
TAG13= Distance to move point each time it's shot
"This creates a dentable wall. Every time the wall vertex is shot with
an explosive weapon, it will move the distance in TAG13, up to TAG9
times. Place the ST1 sprite on TOP of the vertex to move. One vertex
will move. Every vertex is associated with two walls: the next wall
and the previous wall. If TAG5 or TAG6 are non-zero, then that wall
will take on the specified texture when the vertex is shot. If TAG7
or TAG8 are non-zero, then that wall will take on the new shade
value specified. This will work for sector object walls with one
limitation: you cannot tag the outside wall loop tagged with a 504 to
be moveable. NOTE: Changing the value of TAG13 will cause the ST1
sprite to move strangely in 3D editing mode. Don't worry. If 2D mode
says it's on the vertex, then it's on the vertex."
4.39 How To Block Actors
Map Name: NONE
This effect allows you to create sectors that enemy actors cannot enter
physically. The player can still enter these areas, and enemies can
shoot into this sector. Useful to do when making turrets, boats, etc.
STEP 1: Create the sector(s) you wish enemies to stay out of.
STEP 2: Place one ST1 sprite in each sector and give it a TAG1 value of 38.
4.40 Automatic Wall Deletion
Map Name: NONE
This effect is an interesting way of making two sided walls (red
lines in 2D mode) destructible.
STEP 1: Create the masked, 1-way, or blocking wall that you want to destroy.
STEP 2: Give the wall you wish to destroy a lotag of 307, and a unique
hitag.
STEP 3: Place an ST1 sprite somewhere on your map, and give it the following
tags:
TAG1 = 132
TAG2 = Same unique number as wall hitag.
TAG5 = Tile Number to switch to when broken (this is not needed
if TAG8 is 1)
TAG7 = Number of damage hits to take before a sprite or wall
texture is BROKEN. Note that if this is set to 2 or
greater the picnum will increment toward TAG5 until
TAG5 is reached. The graphics in the art file must be
imported in the correct order to support this. Nothing
in Shadow Warrior uses this, but the functionality is
there for anybody who feels like importing their own
art.
TAG8 = BROKEN type:
0 : Change the picnum only
1 : Kill sprite/wallpic when BROKEN
For walls this will turn off masking, blocking,
and 1-way.
2 : Turn off blocking bits when BROKEN
For walls this will just turn off blocking bits,
but leave the masking or 1-way alone. Breaking
an air vent grate is an example of this.
--------------------
BASIC SECTOR EFFECTS
--------------------
4.41 Invisible Ramps
Map Name: NONE
This effect allows you to create "invisible ramps" on which the player
can walk up or down in the game.
STEP 1: Create the ramp in BUILD, just as it would look if it were visible.
STEP 2: Place one ST1 sprite in the ramp sector, and give it a TAG1 value
of 99. Upon playing the game, the ramp will not appear (it will
actually "level out"), but all movement still acts as if the ramp
is there.
4.42 Slides
Map Name: SLIDE.MAP
Using this effect, you can make slides that the player travels down,
regardless of whether he touches the slide or not (i.e. - Lo Wang will
still slide down, even when in mid-air over the sector). Actors other
than the player are not affected by this effect.
STEP 1: Create the slide sectors.
STEP 2: Place one ST1 in the sectors you will slide down, and give them
the following tags:
TAG1 = 135
TAG2 = Speed Value (0 is fastest, 32 is slowest)
Note that the angle of the slope also has an effect on
the sliding speed.
4.43 Misc. Vators (Lifts, Pistons, Etc.)
Map Name: VATORS.MAP
Vators are basically sectors that move vertically. Doors, lifts,
pistons, crushers, and more can be made using vators. This is why
these effects are probably the most used out of all the effects in
Shadow Warrior. This section will cover miscellaneous vators, such
as lifts, pistons, and other types (doors are covered at the beginning
of section 4). Note: This effect is quite complex in nature, so take
your time when making these.
STEP 1: Create the sector you wish to be a vator.
STEP 2: Place one ST1 sprite in this sector, and give it the following
tags:
TAG2 = Unique Number
TAG3 = Type
0 = Manual/Switch/Trigger - Primarily used for a
basic manually operated door. If a manual type
has a TAG2 value that is not 0 then ALL vators
with the same TAG2 value will be operated on.
Manual operation - works from either within the
sector or alongside of the sector.
Switch operation - switch resets when the vator
goes to default position.
Trigger operation - same as switch but it's a
floor trigger.
1 = Switch/Trigger Only - Cannot be operated manually
ALL vator types with the same TAG2 value get
operated on
2 = Automatic - Starts Active
3 = Automatic - Starts Inactive - must be turned on
with a switch or trigger
TAG4 = Speed
TAG5 = Acceleration at which door approaches TAG4
TAG6 = Match at destination - when a vator reaches its
destination it will trigger any event with this
tag value
TAG9 = Auto return time - 1/8th of a second resolution - if
non 0 then the vator will return to default position
after allotted time - if 0 then it will stay in the on
position until operated again
BOOL1= 0: Start in the off position
1: Start in the on position
BOOL2= 0: Toggle
1: Operate once only
BOOL3= 0: Crush player
1: Don't crush player
BOOL4 = 0: Operate in WangBang games
1: Not allowed to operate in WangBang games
BOOL5 = 0: Don't call TAG6 match when moving to OFF position
1: Call TAG6 match when moving to the ON or OFF
position
BOOL6 = 0: Wait until motion is complete before it can be
operated again
1: Can be operated again while sector is in motion
BOOL7 = 0: Actors are allowed to operate this vator
1: Actors can't operate this vator
BOOL11= 1: Displays "Single play only" message when
operated in WangBang. Use with BOOL4.
STEP 3: Raise the ST1 sprite to the height that you want the vator to be
when it is at it's highest position. If you want it to start
at it's highest position, set the BOOL1 tag to 1. Otherwise, set
the BOOL1 tag to 0. If you are tilting the ceiling of a sector,
make sure that you flip the ST1 sprite over (so that it is upside
down).
STEP 4: If the vator is switch or trigger activated, place a trigger
somewhere in your level. Give it a hitag value equal to step 2,
TAG2. Take a look at the example map if you don't quite understand.
The "off" position is the position of the sector as it looks in BUILD. The
"on" position is the height of the ST1 sprite. Flip the ST1 sprite upside
down (by pressing [F] twice on it) to do a ceiling vator like a door or
crusher. Any vator can be locked by placing one ST1 sprite in the same
sector, and giving it a TAG1 value of 29. Two SECT_VATOR sprites can be
placed in a sector to operate the ceiling and floor separately.
4.44 Earthquakes
Map Name: NONE
This effect allows you to create earthquakes. The earthquakes available
here are much more powerful and useful than in Duke Nukem 3D.
STEP 1: Create a sector in which you want the earthquake to be triggered.
Give that sector the following tags:
Hitag (TAG1) = Unique Number
Lotag (TAG2) = 211
STEP 2: Place one ST1 sprite in this sector, and give it the following tag
values:
TAG2 = Same Unique Number as sector hitag
TAG3 = Shake Z amount - This is the amount the view moves in
the Z direction.
TAG4 = Radius of quake - distance in which quake is felt -
this value is multiplied by 8 internally for the
distance. The code is set up so that the quake amount
decreases from the epicenter, but this effect can be
overridden by setting BOOL1 to "1"
TAG5 = Duration of quake in seconds
TAG6 = Timed quake - shake the screen every X seconds, where
X = TAG6 multiplied by 10.
TAG7 = Shake angle amount - amount the view's angle moves
TAG8 = Shake x,y position amount - multiplied by 8 internally
TAG9 = Random quake value (1 to 128). Multiplied by 4
internally. Used with TAG6. Instead of automatically
spawning a quake after time it does a random test.
The larger the number the greater the chance of a
quake. 0 is default - will not do random test.
BOOL1= 1: Quake does not decrease from epicenter, and will
basically shake the entire level.
BOOL2= 1: Only quake once and never again
BOOL3= 1: Wait for trigger before starting timed quake code.
This is only used for timed quakes.
4.45 Slopes on Demand (Dynamic Slopes)
Map Name: SLOPDMND.MAP
This effect allows you to make a sector slope up or down when triggered
by a switch or touchplate. This can be very useful for creating slides
while playing a level, or making areas accessible that once were not.
Dynamic slopes act much like vators do, but instead of the floor height
rising to the ST1 height, the floor slopes to the ST1 height.
STEP 1: Make the sector that you wish to be tilted when triggered. Make
sure that the floor will slope the way you want it to by setting
the first wall on the sector. The first wall is the "hinge" that
the sector will rotate upon. To change this, press [ALT]+[F] in
either 2D or 3D mode on the wall that you wish to be the first
wall.
STEP 2: Place one ST1 sprite in the sector you wish to be tilted. Give it
the following tags:
TAG2 = Unique Number
TAG3 = Type
0 = Manual/Switch/Trigger - primarily used for manual
type. If a manual type has a TAG2 value that is
not 0 then ALL spikes with the same TAG2 value
will be operated on. A spike can be manually
operated from either within the sector, or to the
side. With switch operation, the switch resets
when the spike goes to default position. With
trigger operation, it's the same as a switch but
it's a floor trigger.
1 = Switch/Trigger Only - cannot be operated manually
ALL spike types with the same TAG2 value get
operated on by the switch or trigger.
2 = Automatic - Starts active
3 = Automatic - Starts inactive, must be activated
with a switch or trigger.
TAG4 = Speed
TAG5 = Acceleration at which TAG4 speed is approached
TAG6 = Unique Number 2 for destination - when a spike reaches its
destination it will trigger any event with this
value in the event's TAG2 slot
TAG7 = This must be a value of -1, unless the sector is part
of a sector object. If it is a part of a sector object,
this must be the sector object's number.
TAG9 = Auto return time - 1/8th of a second resolution - if
non 0 then the spike will return to its default
position after the allotted time. If 0 then it will
stay in the ON position until the spike is operated
again.
BOOL1= 0: Start in the off position
1: Start in the on position
BOOL2= 0: Toggle
1: Operate once only
BOOL3= 0: Crush player
1: Don't crush player
BOOL4= 0: Operate in WangBang games
1: Not allowed to operate in WangBang games
BOOL5= 0: Don't call TAG6 match when moving to OFF position
1: Call TAG6 match when moving to the ON or OFF
position
BOOL6= 0: Wait until motion is complete before it can be
operated again
1: Can be operated again while sector is in motion
BOOL7= 0: Actors are allowed to operate this spike
1: Actors can't operate this spike
BOOL11=1: Displays "Single play only" message when
operated in WangBang. Use with BOOL4.
STEP 3: Raise the ST1 sprite to the height that you want the slope to be
when it is at it's highest position. If you want it to start
at it's highest position, set the BOOL1 tag to 1. Otherwise, set
the BOOL1 tag to 0. If you are tilting the ceiling of a sector,
make sure that you flip the ST1 sprite over (so that it is upside
down).
STEP 4: Place a trigger somewhere in your level. Give it a hitag value
equal to step 2, TAG2. Take a look at the example map if you
don't quite understand.
4.46 Copy Sectors (Very Cool Indeed)
Map Name: COPYSECT.MAP
This is the single most powerful effect that the map designer has access
to in Shadow Warrior. This effect was used numerous times on almost
every level made by 3D Realms. What this effect allows you to do is
quite impressive. Once a trigger of some sort is triggered, the
sectors that you designate to do so, will be replaced by exact replicas
of those sectors, with minor alterations. Here is an example of this
effect, as it appeared in Shadow Warrior. You have a room that has
glass along one wall, and this glass has a crack on it. On one side of
the glass is a ton of water, and the inside is dry. When you blow up
the glass with a rocket or other explosive, you want the inside to become
filled with water (making it an underwater area). You would use this
effect to create that scenario. Take a look at the included map for this
how-to, so you can see exactly how this effect is accomplished.
STEP 1: Create the sectors you will want to change. These sectors will be
known as your "destination sectors". Now you can either select
these sectors, copy them, and move them to another location, or you
can create the sectors over again from scratch. Make this second
set of sectors the way you want your area to look after you set off
some sort of trigger. These sectors are known as your "source
sectors". It is *very* important that your source and destination
sectors be congruent. This effect might cause big problems if they
are not congruent.
STEP 2: Place one ST1 sprite in each sector of the first set of sectors that
you created. Give each sprite the following tags:
TAG1 = 58
TAG2 = Unique Number (See STEP 4 for explanation on this)
TAG3 = Another Unique Number (See STEP 4 for explanation on this)
STEP 3: Now place one ST1 sprite in each sector of the second set of sectors
that you created (the way it looks after the trigger is set off).
Give each sprite the following tags:
TAG1 = 59
TAG2 = Same unique number as Step 2, TAG2
TAG3 = Same unique number as Step 2, TAG3
STEP 4: Here are some special notes pertaining to the TAG2 and TAG3 values.
TAG2 is an event number (flip a switch and the copy occurs), so it
is used to separate different sector copies that you have in your
level (several of the 3D Realms levels had up to 6 or 7 different
sector copies). TAG3 serves to identify which source sector belongs
to which destination sector when copying multiple sectors at the
same time. Take a look at these values in the included map if you
don't understand.
STEP 5: Place a trigger of some sort somewhere in your level (we will use
a switch for right now - you can change it later). Give the switch
a TAG2 value of 211, and a TAG1 value of the same unique number
used in step 2, TAG2. Now when you enter your level, and you flip
the switch, the sectors should copy themselves almost instantly.
Take a look at the example map if you are having trouble, and just
pull it apart (I use a crack sprite for the trigger in that map).
-------------------
FUN WITH EXPLOSIVES
-------------------
4.47 C-9 Effects
C-9 is one of the coolest effects available in Shadow Warrior. C-9,
just like in Duke Nukem 3D, is what makes things blow up. Choreographed
explosions are always fun to make, as are cracked walls.
4.47.1 Regular Triggered Explosions
Map Name: C9EFFECT.MAP
This effect is just what it says it is: making regular explosions
spawn when you want them to (choreographed explosions).
STEP 1: Place ST1 sprites in every location you want an explosion to spawn
from. Give each sprite the following tags:
TAG1 = 69
TAG2 = Unique Number
TAG3 = Type of Explosion
6: Standard explosion
7: Explosion with phosphorous (little balls of fire that
bounce around and sometimes spawn a flame)
TAG5 = Time delay before activating in 1/8 second tics (A value
of 8 equals 1 second)
TAG6 = Always set this equal to TAG3
STEP 2: Place a trigger somewhere (we'll use a switch). Give the switch
a TAG1 value equal to step 1, TAG2. Also give the switch a TAG2
value of 211. Now when you flip the switch, the explosions will
go off. Cool stuff.
4.47.2 Cracked Walls
Map Name: C9EFFECT.MAP
This effect allows you to create cracked walls that, when blown up,
leave a hole in the wall.
STEP 1: Create the hole in the wall itself, making it look just like you
want it to when the wall has been blown up. Several sectors, with
slopes on the floors and ceilings can be used to your liking (there
are basically no restrictions on how the hole must look).
STEP 2: Place one ST1 sprite in each sector that is a part of the hole.
Give these sprites the following tags:
TAG1 = 57
TAG2 = Unique Number
STEP 3: Place a crack sprite (#80) over the hole on the wall. Make sure
that it appears on the correct side of the wall. This means that
you should be able to lower this sprite down in 3D mode (by pressing
[PGDN]), and it should *not disappear* as it travels down the wall.
If you aren't sure about this, play your level, and if the crack
sprite doesn't appear in the game, it's on the wrong side of the
wall. To place it on the correct side, press [CTRL]+[PGDN] on the
sprite in 3D mode, then press the [O] key (the letter o, *not* the
number zero) on the sprite. You then can raise it up to the
desired position (be sure to save your work after doing this).
STEP 4: Give the crack sprite a TAG1 equal to the ST1 sprite's TAG2 value
(from step 2), and give it a TAG2 value of 257. You're all done!
Take a look at the example map for some variations on this effect,
and if you don't fully understand how to make this effect.
-------------
MISCELLANEOUS
-------------
4.48 Why Boss Meters Don't Work
Map Name: NONE
The Boss Meters that appear in the registered version of the game,
were preprogrammed to appear in those levels only. Unless you name
your level the exact same as the levels that include the bosses in
the game, the boss meter will not appear.
4.49 Respawning Objects in Multiplayer Games
Map Name: NONE
To respawn objects in multiplayer games, follow these simple
instructions:
STEP 1: Place an ST1 sprite where you want to spawn the object, and
give it the following tags:
TAG1 = 149
TAG2 = Unique Number
TAG3 = Item to spawn:
0/32 = Uzi
1 = Red Key
2 = Blue Key
3 = Green Key
4 = Yellow Key
5 = Red Card
6 = Blue Card
7 = Green Card
8 = Yellow Card
9 = Gold Skeleton Key
10 = Silver Skeleton Key
11 = Bronze Skeleton Key
12 = Red Skeleton Key
20 = Uzi for Floor
40 = Repair Kit
41 = Shurikens
42 = Sticky Mines
43 = Rocket Launcher
44 = Rocket Battery
45 = Grenade Launcher
46 = Grenades
47 = Rail Gun
48 = Rail Ammo
51 = Shotgun
52 = Shotgun Ammo
53 = Head
55 = Heart
57 = Gray Armor (can't spawn red armor)
58 = Portable Medkit
59 = Small Medkit
60 = Chem Bomb
61 = Flash Bomb
62 = Nuke
63 = Caltrops
64 = Cookie
65 = Heat seeker card
66 = Cloak
67 = Night Vision
90 = Boy Bunny
91 = Girl Bunny
92 = Random Bunny
TAG4 = Angle to throw the item
TAG7 = Velocity 0 to 255
Set to 0 and the item stays in place
TAG8 = Jump velocity 0 to 255
BOOL1= 0: Kill the ST1 after it's triggered
1: Don't kill after it's triggered
BOOL2= 1: Don't spawn another item if a sprite exists in
the exact position of the SPAWN_ITEMS sprite.
Flag the ST1 as a Multiplayer only item (F8 menu, option 2), and the
item will only spawn during a WangBang game.
==============
5: INFORMATION
==============
5.1 ST1 Tag List
Here is a complete list of all the ST1 Tags. This list only shows the different functions that are available, not the different flags for each function.
0. SECT_SINK
1. SECT_OPERATIONAL
3. SECT_CURRENT
5. SECT_NO_RIDE
7. SECT_DIVE_AREA
8. SECT_UNDERWATER
9. SECT_UNDERWATER2
16. SO_ANGLE
19. SECT_FLOOR_PAN
21. SECT_CEILING_PAN
23. WALL_PAN_SPEED
29. SECT_LOCK_DOOR
30. SPRI_CLIMB_MARKER
31. SECT_SO_SPRITE_OBJ
32. SECT_SO_DONT_BOB
33. SECT_SO_SINK_DEST
34. SECT_SO_DONT_SINK
37. SECT_SO_FORM_WHIRLPOOL
38. SECT_ACTOR_BLOCK
42. MULTI_PLAYER_START
43. FIREBALL_TRAP
44. BOLT_TRAP
45. SECT_SO_DONT_ROTATE
46. PARALLAX_LEVEL
47. SECT_DONT_COPY_PALETTE
48. MULTI_COOPERATIVE_START
49. SO_SET_SPEED
50. SO_SPIN
51. SO_SPIN_REVERSE
52. SO_BOB_START
53. SO_BOB_SPEED
55. SO_TURN_SPEED
56. LAVA_ERUPT
57. SECT_EXPLODING_CEIL_FLOOR
58. SECT_COPY_DEST
59. SECT_COPY_SOURCE
62. SHOOT_POINT
63. SPEAR_TRAP
64. SO_SYNC1
65. SO_SYNC2
66. DEMO_CAMERA
68. SO_LIMIT_TURN
69. SPAWN_SPOT
70. SO_MATCH_EVENT
71. SO_SLOPE_FLOOR_TO_POINT
72. SO_SLOPE_CEILING_TO_POINT
73. SO_TORNADO
75. SO_AMOEBA
76. SO_MAX_DAMAGE
77. SO_RAM_DAMAGE
80. SO_KILLABLE
81. SO_AUTO_TURRET
82. SECT_DAMAGE
84. WARP_TELEPORTER
85. WARP_CEILING_PLANE
86. WARP_FLOOR_PLANE
87. WARP_COPY_SPRITE1
88. WARP_COPY_SPRITE2
90. PLAX_GLOB_Z_ADJUST
92. SECT_VATOR
97. CEILING_Z_ADJUST
98. FLOOR_Z_ADJUST
99. FLOOR_SLOPE_DONT_DRAW
100. SO_SCALE_INFO
101. SO_SCALE_POINT_INFO
102. SO_SCALE_XY_MULTIPLY
103. SECT_WALL_MOVE
104. SECT_WALL_MOVE_CANSEE
106. SECT_SPIKE
108. LIGHTING
109. LIGHTING_DIFFUSE
110. VIEW_LEVEL1
111. VIEW_LEVEL2
120. VIEW_THRU_CEILING
121. VIEW_THRU_FLOOR
132. BREAKABLE
132. BREAKABLE_SPRITE
133. QUAKE_SPOT
134. SOUND_SPOT
135. SLIDE_SECTOR
136. CEILING_FLOOR_PIC_OVERRIDE
140. TRIGGER_SECTOR
141. DELETE_SPRITE
143. SECT_ROTATOR
144. SECT_ROTATOR_PIVOT
145. SECT_SLIDOR
146. SECT_CHANGOR
147. SO_DRIVABLE_ATTRIB
148. WALL_DONT_STICK
149. SPAWN_ITEMS
150. STOP_SPOUND_SPOT
202. BOUND_FLOOR_BASE_OFFSET
203. BOUND_FLOOR_OFFSET
500-596: SECT_SO_BOUNDING
1000. MIRROR_CAM
1002. AMBIENT_SOUND
1005. ECHO_SPOT
1006. DRIP_GENERATOR
5.2 Sector Tag List
Here is a list of the sector tags used in the game:
Sector Triggers
43. TAG_TRIGGER_MISSILE_TRAP
116. TAG_LEVEL_EXIT_SWITCH
206. TAG_SECTOR_TRIGGER_VATOR
210. TAG_LIGHT_TRIGGER
211. TAG_TRIGGER_EVERYTHING
212. TAG_TRIGGER_EVERYTHING_ONCE
216. TAG_SPAWN_ACTOR_TRIGGER
217. TAG_SECRET_AREA_TRIGGER
240. TAG_SPRING_BOARD
Sine wave floor or ceiling
400. TAG_SINE_WAVE_FLOOR
420. TAG_SINE_WAVE_CEILING
440. TAG_SINE_WAVE_BOTH
Sector Object Tags
501. TAG_OBJECT_CENTER
5.3 Wall Tag List
Here is a short list of the Wall Tags that are used in the game:
Sine wave wall effect
300. TAG_WALL_SINE_Y_BEGIN
301. TAG_WALL_SINE_X_BEGIN
302. TAG_WALL_SINE_Y_END
303. TAG_WALL_SINE_X_END
Other Wall Tags
305. TAG_WALL_CLIMB
306. TV_CAMERA_SCREEN
307. TAG_WALL_BREAK
900. TAG_WALL_PLAY_SOUND
Sector Object Wall Tags
500. TAG_WALL_LOOP_DONT_SPIN
501. TAG_WALL_LOOP_REVERSE_SPIN
502. TAG_WALL_LOOP_SPIN_2X
503. TAG_WALL_LOOP_SPIN_4X
504. TAG_WALL_LOOP_OUTER
507. TAG_WALL_LOOP_DONT_SCALE
508. TAG_WALL_LOOP_OUTER_SECONDARY
550. TAG_WALL_ALIGN_SLOPE_TO_POINT
5.4 Level Credit List
This is a list of every level in the registered version of Shadow Warrior, and the credits for the level designers.
1. Seppuku Station
Finished/Modified by Stephen Cole
Started by Randy Pitchford
FILENAME: $bullet.map
2. Zilla Construction
By Stephen Cole
FILENAME: $dozer.map
3. Master Leep's Temple
By Keith Schuler
FILENAME: $shrine.map
4. Dark Woods of the Serpent
Finished/Modified by Keith Schuler
Started by Randy Pitchford
FILENAME: $woods.map
5. Rising Son
By Keith Schuler
FILENAME: $whirl.map
6. Killing Fields
By Stephen Cole
FILENAME: $tank.map
7. Hara-Kiri Harbor
By Stephen Cole
FILENAME: $boat.map
8. Zilla's Villa
By Stephen Cole
FILENAME: $garden.map
9. Monastery
By Stephen Cole
FILENAME: $outpost.map
10. Raider of the Lost Wang
By Stephen Cole
FILENAME: $hidtemp.map
11. Sumo Sky Palace
Finished/Modified by George Broussard
Started by Randy Pitchford
FILENAME: $plax1.map
12. Bath House
By Keith Schuler
FILENAME: $bath.map
13. Unfriendly Skies
Finished/Modified by Keith Schuler
Started by Jim Norwood
FILENAME: $airport.map
14. Crude Oil
Finished/Modified by Stephen Cole
Started by Eric Reuter
FILENAME: $refiner.map
15. Coolie Mines
Finished/Modified by Keith Schuler
Started by Eric Reuter
FILENAME: $newmine.map
16. Subpen 7
Finished/Modified by Stephen Cole
Started by Eric Reuter
FILENAME: $subbase.map
17. The Great Escape
Finished/Modified by Keith Schuler
Started by Eric Reuter
FILENAME: $rock.map
18. Floating Fortress
Finished/Modified by Keith Schuler
Started by Jim Norwood
FILENAME: $yamato.map
19. Water Torture
By Keith Schuler
FILENAME: $seabase.map
20. Stone Rain
Finished/Modified by Keith Schuler
Started by Jim Norwood
FILENAME: $volcano.map
21. Shanghai Shipwreck
Finished/Modified by George Broussard
Started by Randy Pitchford
FILENAME: $shore.map
22. Auto Maul
By Keith Schuler
FILENAME: $auto.map
23. Heavy Metal [DM]
By Stephen Cole
FILENAME: tank.map
24. Ripper Valley [DM]
By Keith Schuler
FILENAME: $dmwoods.map
25. House of Wang [DM]
By Keith Schuler
FILENAME: $dmshrin.map
26. Lo Wang Rally [DM]
By Stephen Cole
FILENAME: $rush.map
27. Ruins of the Ronin [CTF]
By Stephen Cole
FILENAME: shotgun.map
28. Killing Fields [CTF]
By Stephen Cole
FILENAME: $dmdrop.map
5.4 Palette Listing
0 Default (no palette adjustment)
1 Fog (White) Haze
4 Dark Gray
5 Heat (Red) Haze
7 Gray Swap - Brown
9 Water (Blue) Haze
11 Green
13 Blue
14 Red
16 Blue Swap - Tan
17 Blue Swap - Gray
18 Blue Swap - Purple
19 Blue Swap - Cool Red
20 Blue Swap - Yellow
21 Blue Swap - Olive
22 Blue Swap - Green
24 Blue Swap - Orange/Brown
25 Blue Swap - Warm Red
26 Blue Swap - Dark Gray
27 Blue Swap - Avocado
28 Blue Swap - Deep Blue
29 Blue Swap - Bright Orange
32 Night Vision
===============================
6: UTILITIES FOR SHADOW WARRIOR
===============================
The Utilities described in this section, allow you to change all kinds of things in Shadow Warrior.
6.1 Editart
Editart can be found on the Shadow Warrior CD under the /GOODIES/BUILD directory. Editart must be installed into a directory with all of the .ART files extracted from the .GRP file. There are a total of 25 .ART files (TILES000.ART-TILES024.ART), and they take up about 25 MB of disk space, so make sure you have enough space to place them in your directory!
6.1.1 Editing Your Own Tiles
At first, Editart can seem to be quite impossible to understand, and quite confusing to navigate around in. But after some use with it, you will find that it is quite easy to use.
Editing Existing Tiles
----------------------
To edit existing tiles, start up Editart and go to the tile you want
to change. You can do this by either pressing [G] and entering the
number of the tile, pressing [PGUP] or [PGDN] to get to your tile, or
by pressing [V] and choosing the tile you want to edit by means of a
tile selection screen (just like in Build). Once the tile you want to
change has been selected, you can press [F12] to take a screenshot of
the tile, or you can edit it within Editart itself.
* If you choose to take a screenshot:
Edit the tile in your favorite painting program, save it, enter
Editart once again, select the tile you edited, press [U], select the
file you saved your tile as (.pcx or .bmp only I think) and select the
tile with the mouse and press [Enter]. The tile will now be updated
with your new artwork.
* If you choose to edit the tile in Editart:
Select the tile to be edited. Edit the tile to your liking (please
look at BUILDHLP.EXE for the keys to Editart). Now when you change
tiles, it will ask you if you want to save the current tile. If you
like your changes, press [Y], but if you do not want to save your
work, press [N].
6.2 GRP Utilities
These utilities can be found on your SW CD under /GOODIES/BUILD. They
allow you to extract things from the SW.GRP file (kextract) and put
together your own .GRP file (kgroup).
6.2.1 Kextract
Kextract is a nice little program that will bring out every object in the SW.GRP file. This includes all of the .art files, .map files, .voc files, .mid files, and there are some more. I would not suggest you use kextract to extract all of the files. It takes up a TON of disk space and it puts about 2000 (If I remember correctly) files on your disk. If you want to fool around with that many files and that much disk space having been wasted, go right ahead. But all I usually extract is the .map files (for reference when making my own levels) and the .art files (for use in Editart). The usage for this program is this:
Kextract sw.grp [files you want to extract]
This program must be in the same directory as SW.GRP in order to work properly.
6.2.2 Kgroup
Kgroup is also a nice little program that compiles your own .grp files for future use or distribution. The usage for this program is this:
Kgroup [grouped file] [@file or filespec...]
6.3 RTSMaker
With this utility, it is possible to make your own Remote-Ridicule sounds for use in game play. All you have to do is follow a couple of steps and you can have your own sounds ready for taunting your enemies in Wang-Bang!
This program, as well as a sample script file, can be found in /GOODIES/RTSMAKER on your SW CD. The usage for this program is this:
RTSMAKER [nameofscriptfile] - This compiles an RTS file
RTSMAKER -u [nameofscriptfile] - This unpacks an RTS file
The script file format is as follows:
<Name of RTS file>
<VOC or WAV file 1>
.
.
.
<VOC or WAV file 10>
You can make such script files in any text-editor. Look at sample.txt for an example of how to do this.
===============
7: FINISHING UP
===============
7.1 MAP Authoring Template
The map authoring template is a small text file that tells others about your map, what the story line is (if any), whether there is new art, music, SFX, or effects (by editing the .CON files), and other useful information. One has been included with this ZIP file, under the name TEMPLATE.TXT. Fill this out before sending your level to any site for uploading! It is very useful!
7.2 Uploading Your Level
The final step is to upload your level. Upload your level to Wangsdojo:
=======================
SPRITE LIST V1.0
WRITTEN BY: SILENCER
EDITED BY: JONAH BISHOP
=======================
NOTE: This file is copyright 1998 by Jonah Bishop. This file may not be
changed or altered by anyone other than the author.
V1.0 - Everything is new.
TEXTURES:
Parallaxable Skies: 88, 89, 95, 183, 184, 187, 189
Mirror Texture: 340
Floor Mirror Texture: 341
Water: 300, 320, 780, 890
Glass: 282
Cracks: 80, 188
Lava: 175, 179
SPRITES:
Switches: 551-584
Key Pads/Key Holes: 1846, 1850, 1852
Fire: 3143, 3157, 3212
Anime Girls: 4590, 4594, 4600, 4604, 4606, 5021, 5023, 5032, 5100, 5104
ST1: 2307
ST2: 2308
QJ: 2309
QJD: 2310
QSJ: 2311
QSCN: 2312
QEXIT: 2313
QOP: 2314
QDUK: 2315
QDEF: 2316
"Track Numbers": 1900-1999
Exit Switch: 2470
CTF Flags: 2520
Pachinko Machines: 5080, 5083, 5086, 5089
Rabbit: 4550
ITEMS:
Keys: 1765-1779
Shuryukens: 1793
Shotgun: 1794
Uzi ("standing"): 1797
Uzi Clip: 1799
Rocket Launcher Ammo: 1800
Medkit: 1802
Portable Medkit: 1803
Smoke Bomb: 1804
Flash Bomb: 1805
Uzi ("laying"): 1807
Gas Grenade: 1808
Nuclear Warhead: 1809
Fortune Cookie: 1810
Rail Gun: 1811
Rail Gun Ammo: 1812
Repair Kit: 1813
Guardian Head: 1814
Armor: 3030
Grenade Launcher: 1817
Rocket Launcher: 1818
Heat-Seeker Card: 1819
Shotgun Ammo: 1823
Ripper Heart: 1824
Caltrops: 1829
Grenade Launcher Ammo: 1831
Sticky Bombs: 1842
ENEMIES:
Bee: 800
Floating Head (Bouncing Betty): 820
Sumo Boss: 1210
Snake Boss: 1300
Coolie: 1400
Coolie Ghost: 1441
Guardian: 1469
Baby Ripper: 1580
Fish: 3780
Ninja: 4096
Ninja (ducking): 4162
Ripper: 4320
Crossbow Woman: 5162
Zilla: 5426
----------------------------------------------
Shadow Warrior Digital And Ambient Sound Index
Compiled And Edited By Keith Schuler
(c) 1997 3D Realms Entertainment
----------------------------------------------
This document lists all the sound effects used in Shadow Warrior, and then
some. You can use this as a reference for digital sound entry numbers to
use in order to generate different sounds in your levels. This document
contains two parts. The first part is the digital sound list, which
provides entry numbers to be used with the SOUND_SPOT (hitag 134) ST1.
The second part provides entry numbers to be used with the AMBIENT_SOUND
(hitag 1002) ST1.
Here are the other documents included with this package:
ADVANCED.TXT - Brief explanations of room-over-room, sector objects, and
other advanced Shadow Warrior mapping topics.
EDITART.TXT - Instructions and reference for using the EDITART program.
EXAMPLE.TXT - Documentation to accompany EXAMPLE.MAP, which includes
demonstrations of almost all of Shadow Warrior's map functionality.
INSTALL.TXT - How to get the necessary utilities off the Shadow Warrior CD
so you can start creating your own art and levels
SLABSPRI.TXT - Instructions and reference for using the SLABSPRI program.
SWSOUNDS.TXT - An index of the sound effects and ambient sounds.
SPRITAGS.TXT - Sprite tagging reference. Your guide to all the special
sprites in Shadow Warrior and how to use them.
SWBUILD.TXT - A tutorial and reference guide to using the BUILD editor.
WALLTAGS.TXT - Wall and sector tagging reference. These are all the wall and
sector tags used in Shadow Warrior.
-----------------------------------------------------------------------------
---------------------------
1. Digital Sound Index
---------------------------
This section is arranged in four columns. The first column is the actual
filename of the sound .VOC as it appears in the .GRP file. The second
column lists an identifying label that the programmers used, but we left
it in the list to help you identify the sound more easily. The third
column is the actual sound entry number. This is the number you use in
TAG4, TAG5, or TAG6 of the SOUND_SPOT (hitag 134) ST1. You can also use this
number in the lotag of a wall that is hitagged TAG_WALL_PLAY_SOUND
(walltag 900). Do NOT use these numbers with AMBIENT_SOUND (hitag 1002)
ST1's! It won't work properly. Sound numbers to use with AMBIENT_SOUND are
listed in the second part of this document. The fourth and final column might
contain a descriptive comment.
NOTE: A lot of these sounds are not used in the game. Some that I am not
sure were used I marked with a (?). If you can't find a .VOC file
listed here in the .GRP file, then feel free to use your own custom
sound by copying it into the game directory using the same
filename. You can then use that entry's sound number to hear your
custom sound in the game.
+--------------+-----------------------+-------+-----------------+
|FILENAME |IDENTITY |ENTRY |COMMENTS |
+--------------+-----------------------+-------+-----------------+
"NULL.VOC" DIGI_NULL 0 Don't change this
"SWRDSTR1.VOC" DIGI_SWORDSWOOSH 1 Sword
"THROW.VOC" DIGI_STAR 2 Shuriken sounds
"STRCLNK.VOC" DIGI_STARCLINK 3
"STRWIZ.VOC" DIGI_STARWIZ 4
"UZIFIRE1.VOC" DIGI_UZIFIRE 5 Uzi sounds
"RICH1.VOC" DIGI_RICHOCHET1 6
"RICH2.VOC" DIGI_RICHOCHET2 7
"RMVCLIP.VOC" DIGI_REMOVECLIP 8
"RPLCLIP.VOC" DIGI_REPLACECLIP 9
"SHELL.VOC" DIGI_SHELL 10 Spent shell
"RIOTFIR1.VOC" DIGI_RIOTFIRE 11 Riot shotgun sounds
"SHOTGUN.VOC" DIGI_RIOTFIRE2 12
"RIOTRLD.VOC" DIGI_RIOTRELOAD 13
"EXPMED.VOC" DIGI_BOLTEXPLODE 14
"RIOTWIZ.VOC" DIGI_BOLTWIZ 15
"40MMFIR2.VOC" DIGI_30MMFIRE 16 Grenade launcher
"RIOTRLD.VOC" DIGI_30MMRELOAD 17
"40MMEXP2.VOC" DIGI_30MMEXPLODE 18
"RIOTWIZ.VOC" DIGI_30MMWIZ 19
"GHFIR1.VOC" DIGI_HEADFIRE 20 Guardian head
"GHWIZ.VOC" DIGI_HEADSHOTWIZ 21
"EXPSML.VOC" DIGI_HEADSHOTHIT 22
"THROW.VOC" DIGI_MINETHROW 23 Sticky mines
"PHITGRND.VOC" DIGI_MINEBOUNCE 24
"EXPLRG.VOC" DIGI_MINEBLOW 25
"STSCAN2.VOC" DIGI_MINEBEEP 26
"HBLOOP1.VOC" DIGI_HEARTBEAT 27 Heart attack
"HSQUEEZ1.VOC" DIGI_HEARTFIRE 28
"HRTWIZ.VOC" DIGI_HEARTWIZ 29
"RIOTFIR1.VOC" DIGI_MISSLFIRE 30 Missile launcher
"EXPMED.VOC" DIGI_MISSLEXP 31
"RFWIZ.VOC" DIGI_RFWIZ 32 Ring of Fire
"NAPFIRE.VOC" DIGI_NAPFIRE 33 Napalm
"NAPTWIZ.VOC" DIGI_NAPWIZ 34
"NAPPUFF.VOC" DIGI_NAPPUFF 35
"MMFIRE.VOC" DIGI_MIRVFIRE 36 Magic mirv spell
"MMWIZ.VOC" DIGI_MIRVWIZ 37
"SPRLFIRE.VOC" DIGI_SPIRALFIRE 38 Spiral spell (?)
"SPRLWIZ.VOC" DIGI_SPIRALWIZ 39
"MAGIC1.VOC" DIGI_MAGIC1 40 General magic sounds
"MAGIC2.VOC" DIGI_MAGIC2 41
"MAGIC3.VOC" DIGI_MAGIC3 42
"MAGIC4.VOC" DIGI_MAGIC4 43
"MAGIC5.VOC" DIGI_MAGIC5 44
"MAGIC6.VOC" DIGI_MAGIC6 45
"MAGIC7.VOC" DIGI_MAGIC7 46
"SWSPELL.VOC" DIGI_SWCLOAKUNCLOAK 47 Cloaking bomb
"DHVOMIT.VOC" DIGI_DHVOMIT 48 Vomiting dead head
"DHCLUNK.VOC" DIGI_DHCLUNK 49
"DHSQSH.VOC" DIGI_DHSQUISH 50
"LAVAHIT.VOC" DIGI_PROJECTILELAVAHIT 51 Weapon fire hits lava
"STSPL01.VOC" DIGI_PROJECTILEWATERHIT 52 or water
"KEY.VOC" DIGI_KEY 53 Pick up item sounds
"ITEM5A.VOC" DIGI_ITEM 54
"ITEMBIG2.VOC" DIGI_BIGITEM 55
"BODY9.VOC" DIGI_BODYFALL1 56 Pain and death sounds
"PHITGRND.VOC" DIGI_HITGROUND 57
"BODY2.VOC" DIGI_BODYSQUISH1 58
"BURN1.VOC" DIGI_BODYBURN 59
"BURNSCRM.VOC" DIGI_BODYBURNSCREAM 60
"BODY3.VOC" DIGI_BODYCRUSHED1 61
"BODY4.VOC" DIGI_BODYHACKED1 62
"BURN2.VOC" DIGI_BODYSINGED 63
"DROWN1.VOC" DIGI_DROWN 64
"SCREAM1.VOC" DIGI_SCREAM1 65
"SCREAM2.VOC" DIGI_SCREAM2 66
"SCREAM3.VOC" DIGI_SCREAM3 67
"HIT1.VOC" DIGI_HIT1 68
"ELECTRC1.VOC" DIGI_ELECTRICUTE1 69
"SWDIE02.VOC" DIGI_REMOVEME 70
"IMPALE1.VOC" DIGI_IMPALED 71
"OOF1.VOC" DIGI_OOF1 72
"BODY1.VOC" DIGI_ACTORBODYFALL1 73 Player sounds that actors
"HITGRND.VOC" DIGI_ACTORHITGROUND 74 also use
"COLEXP.VOC" DIGI_COOLIEEXPLODE 75 Coolie
"COLSCRM.VOC" DIGI_COOLIESCREAM 76
"COLALRT.VOC" DIGI_COOLIEALERT 77
"COLAMB.VOC" DIGI_COOLIEAMBIENT 78
"COLPAIN.VOC" DIGI_COOLIEPAIN 79
"CGMAT.VOC" DIGI_CGMATERIALIZE 80 Coolie Ghost
"CGALRT.VOC" DIGI_CGALERT 81
"CGWHACK.VOC" DIGI_CGTHIGHBONE 82
"CGAMB.VOC" DIGI_CGAMBIENT 83
"CGPAIN.VOC" DIGI_CGPAIN 84
"CGSHOOT.VOC" DIGI_CGMAGIC 85
"CGHIT.VOC" DIGI_CGMAGICHIT 86
"CGSCRM.VOC" DIGI_CGSCREAM 87
"NINAMB.VOC" DIGI_NINJAAMBIENT 88 Evil Ninja
"NINSTAR.VOC" DIGI_NINJASTAR 89
"NINPAIN.VOC" DIGI_NINJAPAIN 90
"NINSCRM.VOC" DIGI_NINJASCREAM 91
"NINALRT.VOC" DIGI_NINJAALERT 92
"NINSHOOT.VOC" DIGI_NINJAUZIATTACK 93
"RIOTFIR1.VOC" DIGI_NINJARIOTATTACK 94
"RIPAMB.VOC" DIGI_RIPPERAMBIENT 95 Ripper
"RIPALRT.VOC" DIGI_RIPPERALERT 96
"RIPATCK.VOC" DIGI_RIPPERATTACK 97
"RIPPAIN.VOC" DIGI_RIPPERPAIN 98
"RIPSCRM.VOC" DIGI_RIPPERSCREAM 99
"RIPHRT.VOC" DIGI_RIPPERHEARTOUT 100
"GRDAMB.VOC" DIGI_GRDAMBIENT 101 Guardian
"GRDALRT.VOC" DIGI_GRDALERT 102
"GRDPAIN.VOC" DIGI_GRDPAIN 103
"GRDSCRM.VOC" DIGI_GRDSCREAM 104
"GRDFIR.VOC" DIGI_GRDFIREBALL 105
"GRDAXE.VOC" DIGI_GRDSWINGAXE 106
"GRDAXHT.VOC" DIGI_GRDAXEHIT 107
"SPAMB.VOC" DIGI_SPAMBIENT 108 Skeletor Priest (?)
"SPALRT.VOC" DIGI_SPALERT 109
"SPPAIN.VOC" DIGI_SPPAIN 110
"SPSCRM.VOC" DIGI_SPSCREAM 111
"SPBLADE.VOC" DIGI_SPBLADE 112
"SPELEC.VOC" DIGI_SPELEC 113
"SPTLPRT.VOC" DIGI_SPTELEPORT 114
"AHAMB.VOC" DIGI_AHAMBIENT 115 Accursed Head
"AHSCRM.VOC" DIGI_AHSCREAM 116
"AHEXP.VOC" DIGI_AHEXPLODE 117
"AHSHWSH.VOC" DIGI_AHSWOOSH 118
"HBUZZ.VOC" DIGI_HORNETBUZZ 119 Hornet
"HSTING.VOC" DIGI_HORNETSTING 120
"HPAIN.VOC" DIGI_HORNETPAIN 121
"HDEATH.VOC" DIGI_HORNETDEATH 122
"SGAMB.VOC" DIGI_SERPAMBIENT 123 Serpent Boss
"SGALRT.VOC" DIGI_SERPALERT 124
"SGPAIN.VOC" DIGI_SERPPAIN 125
"SGSCRM.VOC" DIGI_SERPSCREAM 126
"SGDETH.VOC" DIGI_SERPDEATHEXPLODE 127
"SGSWORD.VOC" DIGI_SERPSWORDATTACK 128
"SGMAGIC.VOC" DIGI_SERPMAGICLAUNCH 129
"SGHEADS.VOC" DIGI_SERPSUMMONHEADS 130
"SGTAUNT.VOC" DIGI_SERPTAUNTYOU 131
"LVAMB.VOC" DIGI_LAVABOSSAMBIENT 132 Lava Boss (?)
"LVSWIM.VOC" DIGI_LAVABOSSSWIM 133
"LVRISE.VOC" DIGI_LAVABOSSRISE 134
"LVALRT.VOC" DIGI_LAVABOSSALERT 135
"LVFLAME.VOC" DIGI_LAVABOSSFLAME 136
"LVMETEOR.VOC" DIGI_LAVABOSSMETEOR 137
"LVMETEXP.VOC" DIGI_LAVABOSSMETEXP 138
"LVPAIN.VOC" DIGI_LAVABOSSPAIN 139
"LVSIZZLE.VOC" DIGI_LAVABOSSSIZZLE 140
"LVEXPL.VOC" DIGI_LAVABOSSEXPLODE 141
"BTSTRT.VOC" DIGI_BOATSTART 142 Motor Boat
"BTRUN01.VOC" DIGI_BOATRUN 143
"BTSTOP.VOC" DIGI_BOATSTOP 144
"BTFIRE.VOC" DIGI_BOATFIRE 145
"TNKSTRT.VOC" DIGI_TANKSTART 146 Army Tank
"TNKRUN.VOC" DIGI_TANKRUN 147
"TNKSTOP.VOC" DIGI_TANKSTOP 148
"TNKIDLE.VOC" DIGI_TANKIDLE 149
"TNKFIRE.VOC" DIGI_TANKFIRE 150
"TRUKRUN.VOC" DIGI_TRUKRUN 151 Army Truck (?)
"TRUKIDLE.VOC" DIGI_TRUKIDLE 152
"SUBRUN.VOC" DIGI_SUBRUN 153 Submarine (?)
"SUBIDLE.VOC" DIGI_SUBIDLE 154
"SUBDOOR.VOC" DIGI_SUBDOOR 155
"BMBFLY.VOC" DIGI_BOMBRFLYING 156 Bomber Plane (?)
"BMBDROP.VOC" DIGI_BOMBRDROPBOMB 157
"BUBBLE.VOC" DIGI_BUBBLES 158 Bubbles
"CHAIN.VOC" DIGI_CHAIN 159 (?)
"CHNDOOR.VOC" DIGI_CHAINDOOR 160 Chain door
"CRCKT2.VOC" DIGI_CRICKETS 161 Crickets
"DRWOODO.VOC" DIGI_WOODDOOROPEN 162 Door sounds
"DRMETO.VOC" DIGI_METALDOOROPEN 164
"DRMETC.VOC" DIGI_METALDOORCLOSE 165
"DRSLDO.VOC" DIGI_SLIDEDOOROPEN 166
"DRSLDC.VOC" DIGI_SLIDEDOORCLOSE 167
"DRSTNO.VOC" DIGI_STONEDOOROPEN 168
"DRSTNC.VOC" DIGI_STONEDOORCLOSE 169
"DRSQKO.VOC" DIGI_SQUEAKYDOOROPEN 170
"DRSQKC.VOC" DIGI_SQUEAKYDOORCLOSE 171
"DRILL.VOC" DIGI_DRILL 172 Giant drill
"CAVE1.VOC" DIGI_CAVEDRIP1 173 Water dripping in cave
"CAVE2.VOC" DIGI_CAVEDRIP2 174
"DRIP.VOC" DIGI_DRIP 175
"WTRFAL1.VOC" DIGI_WATERFALL1 176 Waterfall sound
"WTRFAL2.VOC" DIGI_WATERFALL2 177 (?)
"WTRFLW1.VOC" DIGI_WATERFLOW1 178 Water flowing
"WTRFLW2.VOC" DIGI_WATERFLOW2 179 (?)
"ELEV1.VOC" DIGI_ELEVATOR 180 Elevator sound
"EXPSML.VOC" DIGI_SMALLEXP 181 Explosion sounds
"EXPMED.VOC" DIGI_MEDIUMEXP 182
"EXPLRG.VOC" DIGI_LARGEEXP 183
"BIGEXP.VOC" DIGI_HUGEEXP 184
"FIRE1.VOC" DIGI_FIRE1 185 Crackling fire
"FIRE2.VOC" DIGI_FIRE2 186 Powerful fire
"FBALL1.VOC" DIGI_FIREBALL1 187 Fireball trap
"FIREBALL1.VOC" DIGI_FIREBALL2 188
"GEAR1.VOC" DIGI_GEAR1 189 Gear turning
"GONG.VOC" DIGI_GONG 190 Gong
"LAVAFLW1.VOC" DIGI_LAVAFLOW1 191 Lava flowing ambience
"MACHN1.VOC" DIGI_MACHINE1 192 Generic machine (?)
"MUD1.VOC" DIGI_MUBBUBBLES1 193 Mud or lava bubbles
"QUAKE1.VOC" DIGI_EARTHQUAKE 194 Earthquake sound
"SEWER1.VOC" DIGI_SEWERFLOW1 195 Sewer noise (?)
"SPLASH1.VOC" DIGI_SPLASH1 196 Generic splash
"STEAM1.VOC" DIGI_STEAM1 197 Steam
"VOLSTM1.VOC" DIGI_VOLCANOSTEAM1 198 Volcanic Steam (?)
"STMPR.VOC" DIGI_STOMPER 199 (?)
"SWAMP1.VOC" DIGI_SWAMP 200 Swamp ambience
"SWITCH1.VOC" DIGI_REGULARSWITCH 201 Switch sounds
"SWITCH2.VOC" DIGI_BIGSWITCH 202
"SWITCH3.VOC" DIGI_STONESWITCH 203
"SWITCH4.VOC" DIGI_GLASSSWITCH 204
"SWITCH5.VOC" DIGI_HUGESWITCH 205
"THUNDR.VOC" DIGI_THUNDER 206 Thunder ambience
"TELPORT.VOC" DIGI_TELEPORT 207 Teleporter
"UNDRWTR.VOC" DIGI_UNDERWATER 208 Underwater ambience
"UNLOCK.VOC" DIGI_UNLOCK 209 Key unlock
"VALVE.VOC" DIGI_SQUEAKYVALVE 210
"VOID1.VOC" DIGI_VOID1 211 Various weird ambience
"VOID2.VOC" DIGI_VOID2 212
"VOID3.VOC" DIGI_VOID3 213
"VOID4.VOC" DIGI_VOID4 214
"VOID5.VOC" DIGI_VOID5 215
"ERUPT.VOC" DIGI_ERUPTION 216 Eruption ambience
"VOLPRJCT.VOC" DIGI_VOLCANOPROJECTILE 217 (?)
"WIND1.VOC" DIGI_LIGHTWIND 218 Wind ambience
"WIND2.VOC" DIGI_STRONGWIND 219
"WOODBRK.VOC" DIGI_BREAKINGWOOD 220 Breakage sounds (?)
"STONEBRK.VOC" DIGI_BREAKSTONES 221
"ENGROOM1.VOC" DIGI_ENGROOM1 222 Various engine ambience
"ENGROOM2.VOC" DIGI_ENGROOM2 223
"ENGROOM3.VOC" DIGI_ENGROOM3 224
"ENGROOM4.VOC" DIGI_ENGROOM4 225
"ENGROOM5.VOC" DIGI_ENGROOM5 226
"GLASS3.VOC" DIGI_BREAKGLASS 227 Breaking glass
"MUSSTING.VOC" DIGI_MUSSTING 228 Musical stinger (?)
"HELI.VOC" DIGI_HELI 229 Helicopter (?)
"BIGHART.VOC" DIGI_BIGHART 230 Heart ambience (?)
"WIND4.VOC" DIGI_WIND4 231 More wind
"SPOOKY1.VOC" DIGI_SPOOKY1 232 Spooky sound (?)
"DRILL1.VOC" DIGI_DRILL1 233 Another drill (?)
"JET.VOC" DIGI_JET 234 Jet ambience
"DRUMCHNT.VOC" DIGI_DRUMCHANT 235 Drum chanting
"FLY.VOC" DIGI_BUZZZ 236 Chopstick sounds
"UZICLK.VOC" DIGI_CHOP_CLICK 237
"STICKY2R.VOC" DIGI_SWORD_UP 238 Weapon up sounds
"UZI1R.VOC" DIGI_UZI_UP 239
"SHOTG1R.VOC" DIGI_SHOTGUN_UP 240
"BOLT1R.VOC" DIGI_ROCKET_UP 241
"BOLT1R.VOC" DIGI_GRENADE_UP 242
"BOLT1R.VOC" DIGI_RAIL_UP 243
"STICKY1R.VOC" DIGI_MINE_UP 244
NULL DIGI_FIRSTPLAYERVOICE 245 Don't change this
"BADMAN04.VOC" DIGI_TAUNTAI1 246 Various player
"COMEGET2.VOC" DIGI_TAUNTAI2 247 taunts when killing
"GHOP07.VOC" DIGI_TAUNTAI3 248 bad guys
"GOODDAY4.VOC" DIGI_TAUNTAI4 249
"KILLU05.VOC" DIGI_TAUNTAI5 250
"NATURAL4.VOC" DIGI_TAUNTAI6 251
"NOHONOR6.VOC" DIGI_TAUNTAI7 252
"SAYON09.VOC" DIGI_TAUNTAI8 253
"TAKSAN1.VOC" DIGI_TAUNTAI9 254
"SNATCH01.VOC" DIGI_TAUNTAI10 255
"CHOTO7.VOC" DIGI_PLAYERPAIN1 256 Player pain sounds
"SWPAIN05.VOC" DIGI_PLAYERPAIN2 257
"SWPAIN03.VOC" DIGI_PLAYERPAIN3 258
"SWPAIN07.VOC" DIGI_PLAYERPAIN4 259
"SWPAIN22.VOC" DIGI_PLAYERPAIN5 260
"SWYELL03.VOC" DIGI_PLAYERYELL1 261 Player yelling
"SWYELL05.VOC" DIGI_PLAYERYELL2 262
"SWYELL06.VOC" DIGI_PLAYERYELL3 263
"GRUNT06.VOC" DIGI_SEARCHWALL 264 Grunt searching wall
"NOWAY1.VOC" DIGI_NOURINAL 265 "No way water cold"
"SWDIE02.VOC" DIGI_FALLSCREAM 266 Player scream
"AHSO5.VOC" DIGI_GOTITEM1 267 "Ahh so"
NULL DIGI_LASTPLAYERVOICE 268 Don't change this
"HSHOT1.VOC" DIGI_RAILFIRE 269 Rail gun sounds
"RAIL2.VOC" DIGI_RAILREADY 270
"RAILUP09.VOC" DIGI_RAILPWRUP 271
"HBOMB2.VOC" DIGI_NUCLEAREXP 272 Nuke sounds
"STANDBY.VOC" DIGI_NUKESTDBY 273
"CDOWN.VOC" DIGI_NUKECDOWN 274
"SYSREAD.VOC" DIGI_NUKEREADY 275
"HISS1.VOC" DIGI_CHEMGAS 276 ChemBomb
"CHBNCE1.VOC" DIGI_CHEMBOUNCE 277
"THROW.VOC" DIGI_THROW 278
"PULL.VOC" DIGI_PULL 279
"STSCAN2.VOC" DIGI_MINEARM 280 Other weapon/item sounds
"HBDOWN1.VOC" DIGI_HEARTDOWN 281
"TOOLUSE1.VOC" DIGI_TOOLBOX 282
"GASPOP.VOC" DIGI_GASPOP 283
"40MMBNCE.VOC" DIGI_40MMBNCE 284
"BURGALRM.VOC" DIGI_BURGLARALARM 285 Various
"CARALRM2.VOC" DIGI_CARALARM 286
"CAOFF1.VOC" DIGI_CARALARMOFF 287
"TACK1.VOC" DIGI_CALTROPS 288
"NVON3.VOC" DIGI_NIGHTON 289
"NVOFF2.VOC" DIGI_NIGHTOFF 290
"SGSH01.VOC" DIGI_SHOTSHELLSPENT 291
"SKID3.VOC" DIGI_BUSSKID 292
"CRASH4.VOC" DIGI_BUSCRASH 293
"BUS1.VOC" DIGI_BUSENGINE 294
"BIMP01.VOC" DIGI_ARMORHIT 295
"ASIREN1.VOC" DIGI_ASIREN1 296 Traffic ambience
"FIRETRK1.VOC" DIGI_FIRETRK1 297
"TRAFFIC1.VOC" DIGI_TRAFFIC1 298
"TRAFFIC2.VOC" DIGI_TRAFFIC2 299
"TRAFFIC3.VOC" DIGI_TRAFFIC3 300
"TRAFFIC4.VOC" DIGI_TRAFFIC4 301
"TRAFFIC5.VOC" DIGI_TRAFFIC5 302
"TRAFFIC6.VOC" DIGI_TRAFFIC6 303
"HELI1.VOC" DIGI_HELI1 304
"JET1.VOC" DIGI_JET1 305
"MOTO1.VOC" DIGI_MOTO1 306
"MOTO2.VOC" DIGI_MOTO2 307
"NEON1.VOC" DIGI_NEON1 308
"SUBWAY1.VOC" DIGI_SUBWAY 309
"TRAINS01.VOC" DIGI_TRAIN1 310
"COIN.VOC" DIGI_COINS 311
"SWRDSMK1.VOC" DIGI_SWORDCLANK 312
"RIP2AMB.VOC" DIGI_RIPPER2AMBIENT 313 Big Ripper
"RIP2ALRT.VOC" DIGI_RIPPER2ALERT 314
"RIP2ATCK.VOC" DIGI_RIPPER2ATTACK 315
"RIP2PAIN.VOC" DIGI_RIPPER2PAIN 316
"RIP2SCRM.VOC" DIGI_RIPPER2SCREAM 317
"RIP2HRT.VOC" DIGI_RIPPER2HEARTOUT 318
"M60.VOC" DIGI_M60 319 Enemy M60 fire
"SUMSCRM.VOC" DIGI_SUMOSCREAM 320 Sumo Boss sounds
"SUMALRT.VOC" DIGI_SUMOALERT 321
"SUMAMB.VOC" DIGI_SUMOAMBIENT 322
"SUMPAIN.VOC" DIGI_SUMOPAIN 323
"RAMLOCK.VOC" DIGI_RAMUNLOCK 324 Unlocking sounds
"CARDLOCK.VOC" DIGI_CARDUNLOCK 325
"ACS10.VOC" DIGI_ANCIENTSECRET 326 More player voices
"AMDRIV01.VOC" DIGI_AMERICANDRIVER 327
"BABOON03.VOC" DIGI_DRIVELIKEBABOON 328
"BBURN04.VOC" DIGI_BURNBABY 329
"BIGWPN01.VOC" DIGI_LIKEBIGWEAPONS 330
"CBUNG01.VOC" DIGI_COWABUNGA 331
"CHARAD09.VOC" DIGI_NOCHARADE 332
"DTIME.VOC" DIGI_TIMETODIE 333
"EAT02.VOC" DIGI_EATTHIS 334
"FCRACK01.VOC" DIGI_FIRECRACKERUPASS 335
"HCOW03.VOC" DIGI_HOLYCOW 336
"HCOW06.VOC" DIGI_HOLYPEICESOFCOW 337
"HSHIT03.VOC" DIGI_HOLYSHIT 338
"HSHIT04.VOC" DIGI_HOLYPEICESOFSHIT 339
"IHOPE01.VOC" DIGI_PAYINGATTENTION 340
"ILIKE01.VOC" DIGI_EVERYBODYDEAD 341
"KUNGFU06.VOC" DIGI_KUNGFU 342
"LMOVE01.VOC" DIGI_HOWYOULIKEMOVE 343
"LWANG05.VOC" DIGI_NOMESSWITHWANG 344
"RAW01.VOC" DIGI_RAWREVENGE 345
"STUPID01.VOC" DIGI_YOULOOKSTUPID 346
"TDICK02.VOC" DIGI_TINYDICK 347
"TOURN01.VOC" DIGI_NOTOURNAMENT 348
"WWANG11.VOC" DIGI_WHOWANTSWANG 349
"YAK02.VOC" DIGI_MOVELIKEYAK 350
"REFLEX08.VOC" DIGI_ALLINREFLEXES 351
"EVADE01.VOC" DIGI_EVADEFOREVER 352
"MFLY03.VOC" DIGI_MRFLY 353
"SHISEI03.VOC" DIGI_SHISEISI 354
"FWORKS01.VOC" DIGI_LIKEFIREWORKS 355
"HIRO03.VOC" DIGI_LIKEHIROSHIMA 356
"NAGA06.VOC" DIGI_LIKENAGASAKI 357
"PEARL03.VOC" DIGI_LIKEPEARL 358
"IAM01.VOC" DIGI_IAMSHADOW 359
"LIKNUK01.VOC" DIGI_ILIKENUKES 360
"LIKSRD01.VOC" DIGI_ILIKESWORD 361
"LIKSHK02.VOC" DIGI_ILIKESHURIKEN 362
"LUCK06.VOC" DIGI_BADLUCK 363
"MCHAN01.VOC" DIGI_NOMOVIEMRCHAN 364
"RCHAN13.VOC" DIGI_REALLIFEMRCHAN 365
"MUSIC03.VOC" DIGI_NOLIKEMUSIC 366
"NODIFF07.VOC" DIGI_NODIFFERENCE 367
"NOFEAR01.VOC" DIGI_NOFEAR 368
"NOPAIN.VOC" DIGI_NOPAIN 369
"REPMAN15.VOC" DIGI_NOREPAIRMAN 370
"SOB15.VOC" DIGI_SONOFABITCH 371
"WEAK03.VOC" DIGI_PAINFORWEAK 372
"SPEED04.VOC" DIGI_GOSPEEDY 373
"STIFF01.VOC" DIGI_GETTINGSTIFF 374
"TOMB05.VOC" DIGI_TOMBRAIDER 375
"TSTICK01.VOC" DIGI_STICKYGOTU1 376
"TSTICK05.VOC" DIGI_STICKYGOTU2 377
"TSTICK07.VOC" DIGI_STICKYGOTU3 378
"TSTICK10.VOC" DIGI_STICKYGOTU4 379
"TSWORD05.VOC" DIGI_SWORDGOTU1 380
"TSWORD08.VOC" DIGI_SWORDGOTU2 381
"TSWORD01.VOC" DIGI_SWORDGOTU3 382
"SWYELL22.VOC" DIGI_HURTBAD1 383
"SWYELL14.VOC" DIGI_HURTBAD2 384
"SWYELL23.VOC" DIGI_HURTBAD3 385
"SWYELL16.VOC" DIGI_HURTBAD4 386
"SWYELL13.VOC" DIGI_HURTBAD5 387
"TGSCRM.VOC" DIGI_TOILETGIRLSCREAM 388 Girl on the toilet
"TGALRT.VOC" DIGI_TOILETGIRLALERT 389
"TGAMB.VOC" DIGI_TOILETGIRLAMBIENT 390
"TGPAIN.VOC" DIGI_TOILETGIRLPAIN 391
"TGTNT1.VOC" DIGI_TOILETGIRLTAUNT1 392
"TGTNT2.VOC" DIGI_TOILETGIRLTAUNT2 393
"SUMOFART.VOC" DIGI_SUMOFART 394 Sumo fart attack
"GIBS04.VOC" DIGI_GIBS1 395 Gib splats
"GIBS05.VOC" DIGI_GIBS2 396
"BIRDS01.VOC" DIGI_BIRDS1 397 Bird ambience
"BIRDS02.VOC" DIGI_BIRDS2 398
"TOILET01.VOC" DIGI_TOILET 399 Toilet flush
"FLIDLE.VOC" DIGI_FORKLIFTIDLE 400 Forklift driving
"FLRUN01.VOC" DIGI_FORKLIFTRUN 401
"TOYCAR03.VOC" DIGI_TOYCAR 402
"PRESS03.VOC" DIGI_UZIMATIC 403
"COMPON01.VOC" DIGI_COMPUTERPOWER 404
"TURBON01.VOC" DIGI_GENERATORON 405
"TURBRN01.VOC" DIGI_GENERATORRUN 406
"BIGDRL03.VOC" DIGI_BIGDRILL 407
"FLUOR01.VOC" DIGI_FLUORLIGHT 408
"AMOEBA03.VOC" DIGI_AMOEBA 409
"BODY6.VOC" DIGI_BODYFALL2 410
"GIBS01.VOC" DIGI_GIBS3 411
"CHOK01.VOC" DIGI_NINJACHOKE 412
"TRAIN3.VOC" DIGI_TRAIN3 413
"TRAINR02.VOC" DIGI_TRAINR02 414
"TRAIN8.VOC" DIGI_TRAIN8 415
"TCLID01.VOC" DIGI_TRASHLID 416
"ACCU01.VOC" DIGI_GETMEDKIT 417 Medkit player voices
"AHH03.VOC" DIGI_AHH 418
"PALARM1.VOC" DIGI_PALARM 419 Pachinko sounds
"PFLIP4.VOC" DIGI_PFLIP 420
"PROLL1.VOC" DIGI_PROLL1 421
"PROLL2.VOC" DIGI_PROLL2 422
"PROLL3.VOC" DIGI_PROLL3 423
"RABATK1.VOC" DIGI_BUNNYATTACK 424 Bunny sounds
"RABDIE1.VOC" DIGI_BUNNYDIE1 425
"RABDIE2.VOC" DIGI_BUNNYDIE2 426
"RABDIE3.VOC" DIGI_BUNNYDIE3 427
"RABAMB.VOC" DIGI_BUNNYAMBIENT 428
"STONE2.VOC" DIGI_STONESLIDE 429
"NINCUT3.VOC" DIGI_NINJAINHALF 430
"RIPCHST1.VOC" DIGI_RIPPER2CHEST 431
"WHIPIN2.VOC" DIGI_WHIPME 432 Whipping TV show
"ENDLEV3.VOC" DIGI_ENDLEV 433
"MDALARM1.VOC" DIGI_MDALARM 434 Metal detector
"METALBRK.VOC" DIGI_BREAKMETAL 435 Breakage sounds
"DEBRIBRK.VOC" DIGI_BREAKDEBRIS 436
"MARBELS.VOC" DIGI_BREAKMARBELS 437
"BANZAI1.VOC" DIGI_BANZAI 438 Player voices
"HAHA19.VOC" DIGI_HAHA1 439
"HAHA11.VOC" DIGI_HAHA2 440
"HAHA15.VOC" DIGI_HAHA3 441
"TELEPT02.VOC" DIGI_ITEM_SPAWN 442 Item respawns
"JG1075.VOC" DIGI_NOREPAIRMAN2 443 Player voices
"JG1082.VOC" DIGI_NOPOWER 444
"JG1087.VOC" DIGI_DOUBLEUZI 445
"JG1088.VOC" DIGI_NOTORDBUNNY 446
"JG1103.VOC" DIGI_CANBEONLYONE 447
"JG2000.VOC" DIGI_MIRROR1 448
"JG2005.VOC" DIGI_MIRROR2 449
"JG2020.VOC" DIGI_HITTINGWALLS 450
"JG2032.VOC" DIGI_GOTRAILGUN 451
"JG2053.VOC" DIGI_RABBITHUMP1 452
"JG2054.VOC" DIGI_RABBITHUMP2 453
"JG2045.VOC" DIGI_RABBITHUMP3 454
"JG2087.VOC" DIGI_RABBITHUMP4 455
"JG2074.VOC" DIGI_FAGRABBIT1 456
"JG2075.VOC" DIGI_FAGRABBIT2 457
"JG2078.VOC" DIGI_FAGRABBIT3 458
"JG3005.VOC" DIGI_STINKLIKEBABBOON 459
"JG3017.VOC" DIGI_WHATYOUEATBABY 460
"JG3047.VOC" DIGI_WHATDIEDUPTHERE 461
"JG3022.VOC" DIGI_YOUGOPOOPOO 462
"JG6053.VOC" DIGI_PULLMYFINGER 463
"JG3059.VOC" DIGI_SOAPYOUGOOD 464
"JG4012.VOC" DIGI_WASHWANG 465
"JG3070.VOC" DIGI_DROPSOAP 466
"JG6051.VOC" DIGI_REALTITS 467
"JG4002.VOC" DIGI_MSTRLEEP 468
"JG4024.VOC" DIGI_SEEKLEEPADVICE 469
"JG5042.VOC" DIGI_AVENGELEEPDEATH 470
"JG5049A.VOC" DIGI_LEEPGHOST 471
"WDOOR02.VOC" DIGI_DOOR1 472 More door sounds
"MDOOR03.VOC" DIGI_DOOR2 473
"603981_1.VOC" DIGI_DOOR3 474
"FLAG03.VOC" DIGI_FLAGWAVE 475 Flag ambience
"JG7009.VOC" DIGI_SURFACE 476
"JG7001.VOC" DIGI_GASHURT 477
"JG2001.VOC" DIGI_BONUS_GRAB 478
"ACHCRY04.VOC" DIGI_ANIMECRY 479 Girl sounds
"ACHS010.VOC" DIGI_ANIMESING1 480
"ACHT1006.VOC" DIGI_ANIMEMAD1 481
"ACHS016.VOC" DIGI_ANIMESING2 482
"ACHT120A.VOC" DIGI_ANIMEMAD2 483
"TELEPT02.VOC" DIGI_PLAYER_TELEPORT 484 Player teleporting
"SLASH1.VOC" DIGI_INTRO_SLASH 485
"WARNING.VOC" DIGI_WARNING 486
"WHIRL1.VOC" DIGI_INTRO_WHIRL 487
"ACHF1003.VOC" DIGI_TOILETGIRLFART1 488 Toilet girl sounds
"ACHF1002.VOC" DIGI_TOILETGIRLFART2 489
"ACHF1016.VOC" DIGI_TOILETGIRLFART3 490
"CHIMES4.VOC" DIGI_WINDCHIMES 491 Wind Chime ambience
"JGB023.VOC" DIGI_MADATCARPET 492 Player voices
"JGB020.VOC" DIGI_JUMPONCARPET 493
"JGB080.VOC" DIGI_USEBROKENVEHICLE 494
"JGB106.VOC" DIGI_STEPONCALTROPS 495
"JGB130.VOC" DIGI_WANGSEESERP 496
"JGSB4.VOC" DIGI_SERPTAUNTWANG 497
"JGB166.VOC" DIGI_WANGTAUNTSERP1 498
"JGB156.VOC" DIGI_WANGTAUNTSERP2 499
"JGB193.VOC" DIGI_WANGORDER1 500
"JGB202.VOC" DIGI_WANGORDER2 501
"JGB340A.VOC" DIGI_WANGDROWNING 502
"JGEN06.VOC" DIGI_ZILLAREGARDS 503
"MSG9.VOC" DIGI_PMESSAGE 504
"UGLY1A.VOC" DIGI_SHAREND_UGLY1 505 First episode ending
"UGLY1B.VOC" DIGI_SHAREND_UGLY2 506
"TELEPT07.VOC" DIGI_SHAREND_TELEPORT 507
"GOROSW1.VOC" DIGI_HOTHEADSWITCH 508 Change head weapon mode
"BTCREAK2.VOC" DIGI_BOATCREAK 509 New boat sounds
"BTRUN05.VOC" DIGI_BOATRUN2 510
"BTIDLE4.VOC" DIGI_BOATIDLE 511
"SHIPBELL.VOC" DIGI_SHIPBELL 512
"SHIPHRN1.VOC" DIGI_FOGHORN 513
"EXP3.VOC" DIGI_CANNON 514 Cannon firing
"JG41001.VOC" DIGI_JG41001 515 Player voices
"JG41012.VOC" DIGI_JG41012 516 Most of these will be
"JG41018.VOC" DIGI_JG41018 517 the map specific stuff
"JG41028.VOC" DIGI_JG41028 518
"JG41048.VOC" DIGI_JG41048 519
"JG41052.VOC" DIGI_JG41052 520
"JG41058.VOC" DIGI_JG41058 521
"JG41060.VOC" DIGI_JG41060 522
"JG41075.VOC" DIGI_JG41075 523
"JG42004.VOC" DIGI_JG42004 524
"JG42019.VOC" DIGI_JG42019 525
"JG42021.VOC" DIGI_JG42021 526
"JG42028.VOC" DIGI_JG42028 527
"JG42033.VOC" DIGI_JG42033 528
"JG42034.VOC" DIGI_JG42034 529
"JG42050.VOC" DIGI_JG42050 530
"JG42056.VOC" DIGI_JG42056 531
"JG42061.VOC" DIGI_JG42061 532
"JG43004.VOC" DIGI_JG43004 533
"JG43015.VOC" DIGI_JG43015 534
"JG43019.VOC" DIGI_JG43019 535
"JG43021.VOC" DIGI_JG43021 536
"JG44011.VOC" DIGI_JG44011 537
"JG44014.VOC" DIGI_JG44014 538
"JG44027.VOC" DIGI_JG44027 539
"JG44038.VOC" DIGI_JG44038 540
"JG44039.VOC" DIGI_JG44039 541
"JG44048.VOC" DIGI_JG44048 542
"JG44052.VOC" DIGI_JG44052 543
"JG45014.VOC" DIGI_JG45014 544
"JG44068.VOC" DIGI_JG44068 545
"JG45010.VOC" DIGI_JG45010 546
"JG45018.VOC" DIGI_JG45018 547
"JG45030.VOC" DIGI_JG45030 548
"JG45033.VOC" DIGI_JG45033 549
"JG45043.VOC" DIGI_JG45043 550
"JG45053.VOC" DIGI_JG45053 551
"JG45067.VOC" DIGI_JG45067 552
"JG46005.VOC" DIGI_JG46005 553
"JG46010.VOC" DIGI_JG46010 554
"LANI049.VOC" DIGI_LANI049 555 Race Queen talks back
"LANI051.VOC" DIGI_LANI051 556
"LANI052.VOC" DIGI_LANI052 557
"LANI054.VOC" DIGI_LANI054 558
"LANI060.VOC" DIGI_LANI060 559 Sailor Girl talks back
"LANI063.VOC" DIGI_LANI063 560
"LANI065.VOC" DIGI_LANI065 561
"LANI066.VOC" DIGI_LANI066 562
"LANI073.VOC" DIGI_LANI073 563 Mechanic girl talks back
"LANI075.VOC" DIGI_LANI075 564
"LANI077.VOC" DIGI_LANI077 565
"LANI079.VOC" DIGI_LANI079 566
"LANI089.VOC" DIGI_LANI089 567 Old prune talks back
"LANI091.VOC" DIGI_LANI091 568
"LANI093.VOC" DIGI_LANI093 569
"LANI095.VOC" DIGI_LANI095 570
"AD5.VOC" DIGI_VENTWALK 571 Climb in a vent
"AD6.VOC" DIGI_CARWALK 572 Walk on a car
"JET05.VOC" DIGI_JETSOAR 573 Crashing jet
"VC04.VOC" DIGI_VACUUM 574 Driving a vacuum cleaner
"LANI017.VOC" DIGI_GIRLNINJAALERTT 575 Female Warrior sounds
"LANI033.VOC" DIGI_GIRLNINJASCREAM 576
"LANI001.VOC" DIGI_GIRLNINJAALERT 577
"CACKLE.VOC" DIGI_PRUNECACKLE 578 Old prune laughing
"CACKLE2.VOC" DIGI_PRUNECACKLE2 579
"CACKLE3.VOC" DIGI_PRUNECACKLE3 580
"SUMO058.VOC" DIGI_SUMOSTOMP 581 Sumo stomping
"ELEV01.VOC" DIGI_VATOR 582 Long elevator sound
"JG9009.VOC" DIGI_JG9009 583 Player voice
"Z16004.VOC" DIGI_Z16004 584 Zilla voices
"Z16012.VOC" DIGI_Z16012 585
"Z16022.VOC" DIGI_Z16022 586
"Z16027.VOC" DIGI_Z16027 587
"JG93030.VOC" DIGI_JG93030 588 Player voice
"JG94002.VOC" DIGI_JG94002 589
"Z17010.VOC" DIGI_Z17010 590 Zilla voices
"Z17052.VOC" DIGI_Z17052 591
"Z17025.VOC" DIGI_Z17025 592
"ML25014.VOC" DIGI_ML25014 593 Master Leep and
"ML250101.VOC" DIGI_ML250101 594 more player voices
"JG9022.VOC" DIGI_JG9022 595
"JG9032.VOC" DIGI_JG9032 596
"JG9038.VOC" DIGI_JG9038 597
"JG9055.VOC" DIGI_JG9055 598
"JG9060.VOC" DIGI_JG9060 599
"JG92055.VOC" DIGI_JG92055 600
"ML25032.VOC" DIGI_ML25032 601
"JG92036.VOC" DIGI_JG92036 602
"JG92042.VOC" DIGI_JG92042 603
"ML26001.VOC" DIGI_ML26001 604
"JG93000.VOC" DIGI_JG93000 605
"JG93011.VOC" DIGI_JG93011 606
"JG93018.VOC" DIGI_JG93018 607
"JG93023.VOC" DIGI_JG93023 608
"ML26008.VOC" DIGI_ML26008 609
"ML26011.VOC" DIGI_ML26011 610
"JG94007.VOC" DIGI_JG94007 611
"JG94024.VOC" DIGI_JG94024 612
"JG94039.VOC" DIGI_JG94039 613
"JG95012.VOC" DIGI_JG95012 614
---------------------------
2. Ambient Sound Index
---------------------------
Ambient sounds do not work the same as digital sounds. Rather than
triggering them with a door or something, the game either constantly or
intermittently plays the ambient sound in an area of the map. This is used
for waterfalls, wind, or other environmental sound effects.
This section is divided into two columns. The first column is an identifier
that the programmers used to name the ambient sound. The second column is
the sound entry number you need to use in TAG2 of the AMBIENT_SOUND
(hitag 1002) ST1. Don't use these sound numbers with SOUND_SPOT (hitag 134)
ST1's, or your sound won't work properly.
All of these ambient sounds have an entry with a matching identifier in the
digital sound index above.
NOTE: Some of these ambient sounds were not used in the game. Feel free to
place your own custom ambient sounds in these slots.
+--------------------------------------+-------+
|IDENTITY |ENTRY |
+--------------------------------------+-------+
DIGI_BUBBLES 0
DIGI_CRICKETS 1
DIGI_CAVEDRIP1 2
DIGI_CAVEDRIP2 3
DIGI_DRIP 4
DIGI_WATERFALL1 5
DIGI_WATERFALL2 6
DIGI_WATERFLOW1 7
DIGI_WATERFLOW2 8
DIGI_FIRE1 9
DIGI_FIRE2 10
DIGI_GONG 11
DIGI_LAVAFLOW1 12
DIGI_MUBBUBBLES1 13
DIGI_EARTHQUAKE 14
DIGI_SEWERFLOW1 15
DIGI_STEAM1 16
DIGI_VOLCANOSTEAM1 17
DIGI_SWAMP 18
DIGI_THUNDER 19
DIGI_UNDERWATER 20
DIGI_VOID1 21
DIGI_VOID2 22
DIGI_VOID3 23
DIGI_VOID4 24
DIGI_VOID5 25
DIGI_ERUPTION 26
DIGI_VOLCANOPROJECTILE 27
DIGI_LIGHTWIND 28
DIGI_STRONGWIND 29
DIGI_BREAKINGWOOD 30
DIGI_BREAKSTONES 31
DIGI_BOMBRFLYING 40
DIGI_BOMBRDROPBOMB 41
DIGI_DRILL 42
DIGI_GEAR1 43
DIGI_MACHINE1 44
DIGI_ENGROOM1 45
DIGI_ENGROOM2 46
DIGI_ENGROOM3 47
DIGI_ENGROOM4 48
DIGI_ENGROOM5 49
DIGI_HELI 50
DIGI_BIGHART 51
DIGI_WIND4 52
DIGI_SPOOKY1 53
DIGI_JET 54
DIGI_DRUMCHANT 55
DIGI_ASIREN1 56
DIGI_FIRETRK1 57
DIGI_TRAFFIC1 58 Randomly picks traffic ambience
DIGI_TRAFFIC2 59
DIGI_TRAFFIC3 60
DIGI_TRAFFIC4 61
DIGI_TRAFFIC5 62
DIGI_TRAFFIC6 63
DIGI_HELI1 64
DIGI_JET1 65
DIGI_MOTO1 66
DIGI_MOTO2 67
DIGI_NEON1 68
DIGI_SUBWAY 69
DIGI_TRAIN1 70
DIGI_BIRDS1 71
DIGI_BIRDS2 72
DIGI_AMOEBA 73
DIGI_TRAIN3 74
DIGI_TRAIN8 75
DIGI_WHIPME 76
DIGI_FLAGWAVE 77
DIGI_ANIMECRY 78
DIGI_WINDCHIMES 79
DIGI_BOATCREAK 80
DIGI_SHIPBELL 81
DIGI_FOGHORN 82