eye.gifNode Building

 

When you save a file (using any of the File Save Commands), the Save Dialog with node building appears if this is the first time you have saved this file, the level belongs to a PWAD with multiple levels or if you moved a vertex, added lines or sectors or in any way changed the structure. Structural changes to a level require new nodes to be built. The Rebuild the Nodes Checkbox is automatically enabled in those cases.

 

You can manually also force nodes to be built, using the Build Node Command or by checking the Rebuild the Nodes check box.

 

NOTE: If you want a quick save while modifying the level without Rebuilding the NODES all the time, select the F5 AutoSave Options, specify 5 Min. and DeePsea will Automatically save your Level Every 5 Min. without bugging you about the NODES ! You can also use the Ctrl+F2 Quick Save backup to do the same thing manually.

 

See Options (F5) - Map, Node, Project, Color, Sound, Texture, Check, Zoom Node section for further information.

 

Group Save

Normally Enabled. Saves all the data in a PWAD file, including all the resources. Disable this only if you want just the level and nothing else saved in a PWAD with extra resources.

 

Automatic Unused Object Cleanup

Before saving, any unused Vertices, SideDefs and Sector are removed. Normally you should build nodes after this is done.

 

Copy REJECT

Turn this ON if you want to always copy the existing REJECT. If you have a level that has a good REJECT (which took some time) and the changes you made will not change anything then this makes sense.

 

NOTE: A complete calculated REJECT makes very little difference on current machines PII+, even on large levels with many enemies – no matter what you may read in a forum or webpage!

 

Clear REJECT

This is the normal default you want to use. All enemies will attack when they spot you. The contents of the REJECT is hex 0’s.

 

All Attacks

All enemies will attack you – the normal setting.

 

No Attacks

No enemies will attack you. This is useful for checking/testing a level without having to fight any enemies.

 

50% Attacks

50 percent of the enemies will attack (approximate, depends where they are)

 

33% Attacks

33 percent of the enemies will attack

 

DeePBSP is dynamically loaded when nodes are built. The progress is displayed if you set the Node option (F5 menu ShowNodeBuilder) to show node building progress on the screen. See below for automatically replacing DeePBSP with any node builder desired.

 

If DeePBSP does not complete successfully, you can restore your level from the temporary work file ~DEEP.WAD. You can also use the .BAK or .BKP file copies.

 

DeePsea automatically alerts you to this error and asks if you want to copy ~DEEP.WAD back to the original file name. This is a copy of your level when you saved it. The Nodes were NOT built for the reason indicated in the DEEPBSP.LOG file (DeePsea displays this file for you). If the failure is caused by not loading DeePBSP, the log is not applicable!

 

If you don't want the file ~DEEP.WAD, you can use the copy of your prior level. This name was automatically created when you saved your file. It has the same filename but with the extension .BAK. If you have automatic backups turned on, the .BKP file is also available.

 

So if you started with a level called GORGES.WAD, a copy called GORGES.BAK was made when you saved the level. You can manually copy that file back if you desire. If you have automatic backups turned on, you can also use GORGES.BKP.

 

We cannot think of all possible situations causing an error, but some possible causes for a failure are :

 

1. FILES= number in CONFIG.SYS that is too low (make it 128 for Windows if you have a value).

2. Memory was too fragmented, there is not enough to load DeePBSP.

3. You didn't run the error checker in DeeP.

4. System errors caused by DOOM/HEXEN/etc.

 

If you have a system with less than 128MB, it is recommended to restart Windows 9x/ME every once in a while to take care of memory fragmentation problems. Win2k and XP do not have nearly the same amount of memory issues as the older versions of Windows.

 

If a failure is not detected or you do not restore the level, you will get the message on returning that the file you saved is not a WAD file. The file is probably -0- in length. Copy the ~DeeP.wad wad back to the name you wanted so you now again have a copy of the last level you changed. (This is what the automatic restore does.)

 

DeePBSP will ignore overlapping vertices in LineDefs. Run the check for this in DeePsea to automatically remove, since that’s really a mistake.

 

Node Building Design considerations

 

If you get floating floors and barriers (rare with new DeePBSP), try moving the lines a bit. Due to fractional rounding, it’s possible to calculate the wrong side of a line. These types of errors are not caught by the error checker. Another solution is when you build an object, is to try to have all the LineDef sidedefs (side1 or side2) all facing the same direction, either all in or all out. So if you have this type of problem, examine the structure(s) surrounding the problem!

 

Experiment with the node type and split value when experimenting with nodes for HEXEN.

 

You can also vary how the first node line is selected. Press F5, select Node options and press F1 for more details.

 

Use the Thing display to determine the sector where a Thing is located. Helps primarily for HEXEN. DeePBSP uses the same algorithm, so if the number is wrong and the Thing is a polyobject, the nodebuilder won’t detect it either. So be careful when you make trick areas that don’t have the correct sector on purpose.

 

Note: Sometimes LineDefs are drawn and configured incorrectly on done on purpose to achieve a special effect. Play the level to see if there it was done on purpose? No too unusual anymore.

 

The following information is to see if you may have an incorrect option in your system that is slowing down DeePBSP.

 

Depending on your processor, most of your PWADs should build in less than 3 seconds. Pentium times are typically less than a second!

 

The time depend depends on the level, the node split factor and type type of algorithm chosen. Type 3 is the slowest of the bunch, the rest are fast enough that it doesn’t matter too much.

 

We normally use Type 1 / split-factor=16 for lighting fast test turnaround and then a split factor=32 for the final stages. This reduces the nodes the most. Sometimes the Type 3 option is better.

 

See Node building options in F5 for more information.

 

Node build failure

 

This error message means that the node builder (DeePBSP or a Custom choice) was not successful. Review the log DEEPBSP.LOG for the exact error. Don’t forget that your last map is successfully saved in ~DEEP.WAD.

 

DeePBSP will work on any PWAD file, just remember that it does not clear the REJECT. DeePBSP will fix many levels built by other node builders that have HOM errors.

 

It is as close to 100 percent reliable as you can get. It works with all the original levels. Be sure you run the complete check on a level before you build nodes! See the Node Depth/Node Line options for varying the BSP output.

 

Some errors we've had in the past, turned out to be DOOM coding errors/limits (such as exceeding the number of visible SideDefs). You get the message Visplane overflow for complicated areas. A typical problem exists with too many steps in a spiral staircase inside of a room. Most of the newer ports no longer have this limit.

 

Use the Pack Sector option on the File menu to see if this fixes your level.

 

The limit is 128 for 2-sided LineDefs (they can have a different floor and ceiling inside). Using the SKY influences this number also. It was less on earlier versions of DOOM.

 

If you get visplane overflows (all the ports have removed this limit), build a floor to ceiling wall to restrict your line of sight in the area that caused the problem. You can also reduce the number of LineDefs. The most common mistake made is to build too good a circle with the polygon tool. Make it less perfect and it will work!

 

If you run into visible HOM errors or glitches, first check to see that you used the correct texture for a 2-sided LineDef. Choose one with only 1 patch and not an odd size to see if this is what caused the problem. Sometimes, reducing the number of LineDefs or straightening an area simplifies the area. Play the level and see where you can reduce the number of visible level differences without making a big impact. (Note: having the wrong sector references normally causes these problems too.)

 

Use the Grid feature when possible to minimize problems.

 

Custom NodeBuilder

 

 

DeePBSP does both normal and automatically GL nodes if F5 - GL nodes is checked, however, DeePsea also supports any other node builder. To use the custom nodebuilder, enable the check box when you save your level and build nodes or set it in F5/Nodes. Then select the nodebuilder you want to use. In all cases the following file parameters are always passed to the node builder selected:

 

~DEEP.WAD is ALWAYS the input PWAD.

$PWAD is ALWAYS the output PWAD.

 

The position of these files may vary according to the program you elect to use. Add other options as appropriate for the node builder selected. BE SURE TO TEST!

 

Sample Custom Node Builder command lines

 

-rz ZENNODE.exe ~DEEP.WAD %LEVEL -o $PWAD (Zennode example, replace zennode.exe with your path)

 

GLBSP.exe ~DEEP.WAD -o $PWAD (GLBSP example, replace GLBSP.exe with your path)