When you've made a part of your map (or even finished it), in order to change the RMF which you've made in Worldcraft into a BSP that Half-Life can read, you'll have to compile your map. The compilers should be run in the following order- CSG, BSP, VIS, RAD. Note that only the first 2 have to be run before you can test a map in Half-Life- if you ever have any strange errors with your map, then first of all make sure that you're compiling correctly.
The following list has been painstakingly compiled over the last 2 years or so from errors I have had or other people have come across, and offers reasons/solutions to any compiling error you're likely to come across. Note that 'WARNING' means a minor map error, whereas 'ERROR' or 'FATAL' usually implies your map will not compile at all.
Problems with CSG program
- "Fatal:
Entity xx, Brush xxx: outside world(+/-4096):
(xxxx,xxxx,xxxx)-(xxxx,xxxx,xxxx)"
You may have an invalid brush, see if you get a max_leaf_faceserror message. Values near +/-4000 mean that you have brushes that are extending off the edge of the editable region
?Make sure that all solids are within the confines of the editable region. If you can't see any doing this, save as . MAP and open Values near +/-9000 indicate an invalid brush which must be fixed:
?Check for errors and fix any illegal solids.
?Export your map to MAP format, close the map, and open the MAP. Delete any solids that extend across the map and off the editable region. Save as RMF and recompile - "Fatal: Entity xxx, Brush xxx, Side x: has a coplanar plane at (xxxx,xxxx,xxxx)"
Due to vertex manipulation- 3 or more vertices (points) lying on the same vertex (line), when the limit is 2.
?Check your map for problems, and fix all instances of 'texture axis perpendicular to face' errors
?Go to the relevant brush/entity number (CTRL+SHIFT+G) and use the clip tool on it - "Fatal:
Entity xxx, Brush xxx, Side x: plane with no normal"
?Find the relevant brush/entity and delete it - "Max_Map_XXX"
You've got too much of what it says (e.g. Max_Map_Sides = too many faces)
?Cut down on the number of whatever it is you have too much of!
_sides: Too many faces.
_clipnodes: think of a 'clipnode' as an area of your map that the player can walk around in; your map is chopped up into these in a similar fashion to VIS & leaf-nodes. Simply clip some areas, e.g. around cylinders or decorative pillars with bits sticking out.
_planes: This is an error usually caused by QuArk; this is a collection of faces that sit together on the same plane, and you have too many. To fix, try aligning faces together so they lie on the same plane.
_miptex: You're using too may textures; see the BSP "Warning: Textures exceed max_map_miptex" error below
_models: There are too many visible point/brush based entities in your map. - "****ERROR**** Token too large on line x"
99% of the time this is due to too many WADs being loaded.
?Remove any unnecessary WADs that you are using, restart Worldcraft then recompile
?Try shortening the names of any custom made WADs you're using - "Error: Entity xxx has no visible brushes"
Due to brush based entities either being completely covered in the CLIP or ORIGIN texture, or none of the brush is actually in your map (it's sitting in the void)
?Go to the given entity number and fix - "Error parsing brush"
Probably due to an entity in your map not being inserted by WC correctly (not your fault).
?Compile with Zoner's compile tools instead - "Missing '[ in texturedef"
Can either be caused by editing Worldcraft 3.3 maps using Worldcraft 2, or by custom textures with spaces or funny symbols in their names.
?Open MAPNAME.map in a text editor (e.g. notepad) and delete the line containing "mapversion" "220". Then open the .MAP (NOT RMF) back up into Worldcraft and recompile - "Error: ParsePar: token too long"
While it usually indicates you have a string that's too long in an entity, it can also indicate a much more widespread file corruption.
?Go to the entity report screen, and search for entities containing values with ? in it (see image). Edit the entity, press the 'SmartEdit' button and delete any properties that look like gibberish (contain ?). Recompile. - "Entity xxx, Brush xxx: mixed face contents"
Certain special textures have to be applied to the whole solid, and some can't be applied to brush entities (due to the properties that that texture gives to the solid). This includes SKY, CLIP, ORIGIN and ! (liquid) textures.
?Find the relevant brush/entity and apply the same texture to the whole solid - "Line xxxx incomplete"
Often caused by using un-textured objects, usually from "old stuff" prefab section (e.g. "coffee table"). Might also be caused by a " symbol in an entity property.
?Texture any prefabs you've used that appear white (that shouldn't do), and reset their scales/shift values
?See the ParsePar: token too long error message above, but search for " instead - "Error: Brush type not allowed in world"
Certain textures, e.g. ORIGIN, can only be applied to entities; somewhere in your map is a world brush coated with it. If you're not using WC2 still, press CTRL+SHIFT+G and enter the brush number it gives you in the error report to find it. - "Warning: Larger than expected texture (# bytes)"
?The texture named is too large (textures should be less than 512x512 pixels in size)
Problems with BSP program
- "Warning: Textures exceed max_map_miptex"
You have exceeded the maximum texture memory allowed; QCSG can only cope with 2Mb (usually around 2500 faces) and Zoner's is usually set to 4mb as default. This is to do with the amount/total file size of all your textures.
?Compile with Zoner's compile tools instead to increase the maximum texture memory- read the documentation for how to use the texdata parameter.
?Recycle textures (e.g. don't have a different wall texture on every single solid) - "nummarkfaces == MAX_LEAF_FACES"
This is because of vertex manipulation, you have an invalid brush somewhere (most likely from rocks)
?Check for errors and fix any illegal solids.
?Export to .MAP format, close the level, and open the new .MAP. Delete any solids that extend across the map and off the editable region. Save as RMF and recompile - "LEAK LEAK LEAK"
It would appear that you have a leak (duh), which is a hole in your map, which would stop VIS from compiling as it won't generate a portal file for it to sort through. Either read the WC help guide or go to the fixing leaks page for tips on how to find & fix leaks. - "Warning: === LEAK in hull 0 ==="
"Warning: === LEAK in hull 1 ==="
"Warning: === LEAK in hull 2 ==="
Zoner's tool's fancy way of saying you have a leak (a hole in your map or an entity outside the map). The hull number tells you how it's occurring, but not very helpful for most.
?Find and fix the leak. - "Entity text too long"
You have too many entities and properties.
?Delete some entities (e.g. use textured lighting instead of entity lighting)
?Delete any key values (in SmartEdit) which have a value of 0 - "Readsurfs:xxxx ? numplanes"
?Recompile - "Error: Can't open [mapname].p0"
The BSP program can't run as CSG hasn't successfully been run.
?Make sure that CSG was run in the first place (look for "Program completed successfully" errors)
?Make sure that CSG didn't report any errors as listed above - "Warning: MakeNodePortal: new portal was clipped away from node@(xxx,xxx,xxx)-(xxx,xxx,xxx)"
Merely some odd compiler error that will lead to a hall-of-mirrors effect in the region given by the coordinates, and a slight VIS slowdown.
?Go to the given coordinates and fiddle around with the geometry there until the problem goes away - "Warning:CanonicalVector: degenerate"
Go to the co-ordinates specified and redesign the area. Can sometimes be caused by multiple brushes being turned into func_water entities. - "Error: ReadSurfs (line X): XX > MAXPOINTS"
This is caused by a face with too many vertices. The compiler limit is 28. - "Warning: No entities exist in hull XX, no filling performed for this hull"
There are no entities in a certain, closed off part of your map, so the player will not be able to reach it (without noclipping). As a result, the compilers don't bother creating this part of your map. - "Hullnum X: no entities in empty space -- no filling performed"
As it says- no point based entities, e.g. player starts, are allowed outside the level. This should be fixed, as it will allow a much quicker VIS to be run.
Problems with VIS program
- "LoadPortals: couldn't read mapname.prt -- No vising performed."
The BSP compile didn't manage to write a PRT file, either because it failed to run successfully or your map has a leak.
?Check to see if BSP reported any leaks
?Re-run CSG and BSP compilers, and make sure they don't report any errors - "Error opening mapname.bsp"
VIS can't find your map's BSP, this could be because you have an important CSG/BSP error that means one couldn't be created.
?Fix your CSG/BSP problem - "Leaf portal saw into leaf..."
If you create angled brushes and make them overlap (e.g. heavily clipped/carved rocks overlapping), then sometimes inaccuracies can occur and this error pops up, usually meaning that VIS takes longer and a 'Hall Of Mirrors' effect will become apparent in the region specified (that area of the map will flicker, as if you can see out into the void).
?Go to the co-ordinates given and alter the geometry there
?Try turning some solids in that area into func_wall entities - "Error: Winding with too many sides"
?Recompile - VIS crashes, even though the other compilers don't report anything wrong
?Recompile without any CSG/BSP options used (e.g. don't use -nowadtextures or -wadinclude, as sometimes compiling animating textures into a map can cause this)
Problems with RAD program
- RAD crashes
Freeing up more memory on your hard drive may help. Also, make sure there are no leaks in your level.
?Make sure that the BSP program didn't report a "nummarkfaces == MAX_LEAF_FACES" error message, and that there weren't any previous error messages reported by other compilers - RAD takes forever!
Be patient- it does take a long time.
?Get/free up more RAM (i.e. run in an MS-DOS window with WC closed)
?Run VIS on fast (not for finished version or large maps!)
?Run RAD with -chop options
?Get a faster PC! - RAD gets stuck on MakeScales
?You need more RAM (preferably 1.5 times as much as the VIS data size) - "Error: MAX_PATCHES"
Rad has too much to sort through- usually because your level is too big!
?Run RAD with -sparse option (see ZHLT instructions)
?Increase the scale on all all textures that the player can't see (e.g. under crates) that are in the world to around 4x/5x; faces that touch the void don't matter. ?Increase the scale on as many visible textures as you can (rocks at least X2)
?Thin out as many walls and brushes as you can, but don't make them too thin
?Delete as many solids as you can, or shorten/clip them
?If your map is surrounded by a black box (to imitate a night sky), replace it with SKY brushes and specify the sky in map properties as 'black'
Last resorts-
?Delete unnecessary parts of the level
?Select the whole map and scale it down slightly - "Cannot alloc. triangulation memory!"
Free up more HD space and try again - "Vismatrix too big"
The data that the RAD program has to sort through is too large for your PC to handle.
?Run a 'normal' VIS
?Run RAD with a larger -chop value (usually runs with a default of 64)
?Get more RAM for your PC - "WARNING:SwapTransfers: unmatched"
This is a really annoying error that often crops up in large maps with complex lighting. If the map is lit fine, then ignore this problem. If it's not, then good luck in fixing it... apparently, some people have reported this turning up after they've been clipping the ends of 8+ sided cylinders to make them fit together at an angle. If you do not notice any strange lighting errors in your map, it's possible to ignore this error. Otherwise;
?Make random changes to your map, e.g. change architecture slightly, scale up textures, etc.
?Delete lights until the problem goes away. Try starting with entity lights that can be switched on/off - "Too many direct light styles on a face"
There are too many light entities with different names lighting the same surface, the limit is about 5 differently named lights.
?Remove some light entities and use textured lighting instead
?Use lights with the same name to light up the same area - "Can't load texlight file"
?Copy your map's .RMF to the default map directory (valve/maps) and compile. (if it still won't compile now, save the map as a different name, still in the valve/maps dir) - "No VIS information"
This message is simply reporting that there is no VIS information for RAD to run through, either because there's an error with the map (look at CSG/BSP errors especially), because paths telling your compilers where your map is are different (so they're looking in the wrong place), or because you've not run VIS before RAD! - "Bad surface extents"
Caused by some dodgy texturing (either from scaling them up, or clipping) or an invalid solid.
?Check for errors; fix any occurrence of "texture axis perpendicular to face"
?Scale down any textures that have been scaled up greater than 10 or so times ?Use a lower -chop value (if you're not using the default value) - "Error: Malformed face normal"
There's something wrong with the texture on one of the faces. Seems to be caused mainly by clipping and not aligning texture "to world." Zoner's tools also don't seem to like textures scaled up over 5x either.
?Check for errors within WC and fix any instances of "texture axis perpendicular to face" errors
?Go to co-ordinates given, align textures of that face "to world" and scale the textures down (<999 scale) ?Remake the solid that's causing it
This error can be a pain; after you fix the problem, run RAD before your VIS program, as you could have multiple malformed faces- the compiler only reports one at a time, so if you have several the error will repeat itself. If the error goes away, then run VIS and then RAD again normall on your map. - "Transfers < 0"
This is a bug in QRAD, download & use Zoner's compile tools instead. - "Failed to allocate s_vismatrixError: Memory allocation failure"
If VIS reports a "Leaf portal saw into leaf..." error, fix that and the problem should go away. Otherwise follow the advice given to you by the compiler (i.e. increase your swapfile size or defrag your hard-drive)