======================================================================== 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