User login

Navigation

Poll

I downloaded the ETQW demo and....
...I'm too busy playing for polls.
14%
...it's awesome.
43%
...it's okay, I expected better.
14%
...I'm lost in the valley, anyone have a map?
0%
...my machine won't run it. :-(
29%
Total votes: 7

Who's online

There are currently 0 users and 37 guests online.

Welcome to RUST | Gamedesign.net

Common Editing Errors FAQ

Submitted by Gard on Fri, 2003-11-07 22:44.

Common Editing Errors - FAQ

By Richard Neff, David Hyde & Mad Dog


This is an attempt to answer some of the more common errors that occur in Quake 2. This is not meant to be a comprehensive list! There may be plenty of errors that are not covered - this is merely an attempt to document the causes/solutions of the more frequent ones. Additionally, you may want to visit the Q2 Errors Tutorial here at Rust.

Press Ctrl+F to search for a specific word or phrase (Assuming your browser supports the find command.)

- Denotes that MapSpy can be used to help troubleshoot or fix this error message.


  • Bounds out of range

    This error may be caused by one of two conditions. The obvious one is a brush that has one or more vertices outside the +/- 4096 limits. The not-so-obvious one is a brush that is missing a plane (which might happen if you manually edit your .map file, and also is a possible result of brush subtraction operations). An oft-misunderstood fact is how brushes are constructed for the Q2 engine... the x,y,z triplets in your .map file are NOT necessarily brush vertices - they are simply points that define the plane. Brushes are constructed by starting with an infinite solid and then removing everything on one side of the planes that define the brush. This, coincidentally, is why you cannot have a concave brush (think about it). In the case of a cube with the top face missing, the brush will be infinitely tall (infinity in Q2 being 8192, of course)... which leads to the bounds out of range error.

  • Duplicate Plane

    This error was likely caused by an edge manipulation where you pulled one edge toward the center of a brush such that two faces now lie on the same plane - for example turning a cube into a wedge. It could also be the result of a brush subtraction operation.

  • FloatPlane: bad normal

    Collinear points are usually to blame for this error. In many cases, 2 points are identical. This error is sometimes caused by faulty edge manipulation: pulling one edge of a face until it lines up with another edge of the same face, for example.

  • Microbrush

    Microbrushes have a volume less than a 1x1x1 unit cube. Microbrushes are frequently generated by complex brush subtraction operations, but might also be generated by editors with floating-point conversion problems. In the first case, you will generally be better off building complex objects manually rather than using brush subtraction. In the second case, you can prevent this error by insuring that brush vertices lie on grid units. Microbrushes are frequently drawn incorrectly in the game, so you will likely want to find and delete this brush.

  • Mirrored Plane

    This error indicates that a brush has no thickness in one or more directions, i.e. opposing faces of the brush lie on the same plane. This error may be generated by building a brush less than 1 unit thick - one face's coordinate gets rounded up, and the opposite face's coordinate gets rounded down. This situation can be avoided by insuring that a brush's vertices lie on grid units.

  • Mixed Face Contents

    Content properties must be identical for all faces of a brush. You can, however, have different surface properties.

  • No visible sides on brush

    This error indicates that the bounding box coordinates for the brush are completely outside the +/-4096 limits in one or more directions. Note that this error may be generated by a faulty bounding box being calculated by qbsp3. In this case, one or more faces of the brush are fouled up to the extent that you will probably be better off deleting the brush and re-creating it.

  • Origin brushes not allowed in world

    This error is frequently caused by attempting (but failing) to add an origin brush to a func_door_rotating or func_rotating. Methods for grouping origin brushes with entities differ with the various editors. Consult your editor's documentation.

  • Plane with no normal

    This error generally indicates that the points defining a plane are collinear or that 2 points are identical. Find and delete this brush.

    Still can't find the QBSP error you're looking for? Visit the Q2 QBSP Errors tutorial here at Rust.


QVIS Errors

  • Leafportals saw into leaf

    It's not so simple as finding the single offending "leafportal" brush. As your map increases in size or simply changes brushes that generate no errors can become causes of leafportal errors. Worse is that subsequent compiles of the unchanged map may produce more or fewer leafportal errors, and this lack of consistency makes finding the error even more maddening.

    Often the worst offenders are brushes with many faces sharing the same vertex (like a spike or a skewed brush with a mitered corner).

    Advice often given is to "simplify". While this is useful advice up to a point I suppose, tracking down specific troublesome brushes as they relate to their environment (your map) is the real key (good luck). If you do find them, I've recently discovered that making them and the brushes they adjoin detail brushes may correct the problem, as will making them brush entities like func_walls. (Since this is a vis error, this makes sense when you think about it).

    Still can't find the QVIS error you're looking for? Visit the Q2 QVIS Errors tutorial here at Rust.


QRAD Errors

  • face with too many light styles (x y z)

    There are too many different dynamic light styles, such as flashing lights, that hit a single face of a brush. The limit is 4 light styles that can hit a face. The best solution is to reduce the number of lights in the area or spread them out further. The coordinates tell you which brush face has caused the problem, which tells you indirectly where the problem lights are. Note that this error may be associated with a target_lightramp.

    Still can't find the QRAD error you're looking for? Visit the Q2 QRAD Errors tutorial here at Rust.


Startup and Runtime Errors

  • Missing texture

    A custom texture was used and it isn't in the gamedir/textures dir. Remember in q2 textures are not included in .bsp files, if you use custom textures, include the .wals in your zip with install instructions, or better yet, distribute as a .pak with a maps/mymap.bsp and a textures/mytexture.wal.

  • CDAudio: Invalid track 1 specified

    The CD track ("sounds" key in worldspawn entity) must be 2 through 11 to match the audio tracks on the Q2 CD-ROM. (Track 1 is the Quake 2 installation files.)

  • No music plays in the map

    Add the "sounds" key in the worldspawn entity and specify a CD track number, 2 through 11.

  • No spawn function for xxxx

    Typically caused by not specifying the proper +set game setting. The entity can't appear properly since the proper entity information isn't available with the default Quake 2 game. Run the game with the proper +set game XXXX parameter.

  • areaportals>=numareaportals (when opening a door; bombs to console)

    Since areaportals affect vis, you must do a full bsp and some sort of vis after changing them, NOT just a bsp -onlyents. Additionally, can be caused by a bad areaportal - if you get an areaportal message during compilation, you may see this error in the game.

  • Bad surface extents

    This error might occur on maps compiled with the -chop option for qbsp3, with chop values greater than the default 240. This error is more likely to occur while using software rendering than GL. This error is seen at the console when attempting to load the map. The map crashes when it occurs. If you have not used the -chop option with a chop value greater than 240, try using -chop with values smaller than 240. When you find a value that works, increase the value until the error occurs again, then back off of that value slightly.

  • Com_sprintf: overflow of X in 32

    The message field in the worldspawn entity (used as the title of your map) contains too many characters. The maximum length of this field to prevent this error is 22 characters. This error is generally harmless, but note that worldspawn messages longer than 28 characters will not fit across the width of the F1 Help computer.

  • connected teleport path_corners

    You have two or more sequential path_corners which both have the teleport spawnflag set.

  • couldn't find destination <target>

    This error results from a missing, inhibited, or wrongly-named misc_teleporter_dest.

  • couldn't find spawn point

    The map does not have an info_player_start (for Single Player mode), info_player_deathmatch entity (for Deathmatch mode), or info_player_team1 and info_player_team2 (for CTF mode.)

  • droptofloor: [item] startsolid at (x y z)

    All Quake 2 models have an associated bounding box that cannot be embedded in a world brush. For example, all weapon, ammo, item, and key entities have a 32x32x32 bounding box centered at the origin of that entity, so these items must be placed with their origin at least 16 units away from the surface of any world brush.

  • ED_Alloc: no free edicts

    There are too many entities or active objects (flying bullets, explosions, debris, lasers, etc.) in your map.

  • elevator used with no pathtarget by func_button at ( x y z )

    Entities which target trigger_elevators (normally func_buttons) must also use the pathtarget field to specify which path_corner the elevator is to travel to when the elevator is triggered.

  • <entity> without a target

    Many entities (e.g. func_train) require a target to function properly.

  • Entity used itself

    You have an entity which has the same value for its target and targetname. If it is caused to trigger its target, it tries to trigger itself. This error is seen on the screen during gameplay.

  • ERROR: Index Overflow

    There are too many unique models or too many unique sounds in your map. You cannot have more than 256 unique models or 256 unique sounds in a map. Every brush model (e.g. func_door, trigger_once) counts as a unique model. For more information see Error: Index Overflow (and Other Horrible Nasty Problems) SOLVED.

  • [classname] at (x y z) has invalid spawnflags set

    Self-explanatory. This error will not cause any runtime problems, but may indicate that you meant to set a particular spawnflag but typed in a wrong value instead.

  • func_timer at ( x y z ) has random >= wait

    Self-explanatory. In this case the game will override the random value and use "wait" - FRAMETIME (0.01 seconds).

  • func_train without a target

    Func_trains must target a path_corner

  • func_wall START_ON without TOGGLE

    This is a nag error - the game will force the TOGGLE spawnflag in this case, and the func_wall will function properly.

  • <entity> at ( x y z ) has invalid spawnflags set

    Self-explanatory. If you consistently get this error, it is possible that your editor's entity definition file(s) are fouled up.

  • item <item> not found for trigger_key at ( x y z )

    The trigger_key has an invalid item field. Though the item is normally a key entity, you can also use ammo, weapons, and any item entity other than health. You might, for example, take weapons away from a player by setting the item field to a weapon entity.

  • <key> is not a field

    Your map contains an invalid key-value pair. Either your editor has incorrectly inserted an invalid key (that may be valid in another game) or you have manually typed in an invalid key.

  • PF_SetModel: NULL

    An entity that requires one or more brushes to function correctly does not have an associated brush. The usual suspects in this case are trigger brushes (trigger_once, trigger_multiple, etc.). Download MapSpy to help track down the offending entity.

  • G_PickTarget: target [name] not found

    A point_combat entity may only be used once. You cannot have multiple monsters combattarget the same point_combat.

  • Map does not have an empty leaf

    This error is caused by a bug in Quake2, and usually occurs when all leafs of a map contain clip brushes. This error is generally only produced in small test maps with few leafs. You can avoid this error by moving clip brushes around, or download a different version of qbsp3, which automatically generates an empty leaf if one is not found. This error is seen on the console when loading the map, and the map crashes when it occurs.

  • <monster> at ( x y z ) has bad item <item>

    Monsters (including turret_drivers) can drop ammo, weapons, keys, and any item entity other than health.

  • <monster> ( x y z ) has a bad combattarget <combattarget>: <classname> at ( x y z )

    Combattargets must be point_combat.

  • <monster> at ( x y z ) has target with mixed types.

    This error occurs if either 1) monster has a target that is NOT a point_combat and also has a combattarget, or 2) monster has a target that IS a point_combat AND a target that is NOT a point_combat.

  • <monster> can't find target <target> at ( x y z )

    The monster targets an entity that does not exist.

  • Ran out of faces for bmodel

    A large func_water entity is filling an area with a very complex solid surface. A solution is to break the func_water up into smaller entities, start the func_water with the more complex brushes already breaking the surface, or remove some of the more complex brushes in its path.

  • SZ_GetSpace: Overflow

    The game engine can see too many entities. If you have not already run vis, try a -fast vis. This will usually fix the problem. If it does not, you may be able to solve the problem with a full vis, but this may only obscure a problem that might occur during play (rather than when the level first loads). For example, a full vis may allow you to start the map, but then you might get this error when firing rockets or grenades at a squad of gunners. If a full vis does not solve the problem, you have several choices:

    - Eliminate entities
    - Use func_areaportals in your doors
    - Add vis-blocking architecture, i.e. 90 degree bends in hallways, doughnut hallways, etc.

    Special case: You may sometimes get this error message when tracking down leaks using LeakHunter, even though your level contains very few entities. In this case, the pointfile that contains leak information is too large - LeakHunter generates a laser for each segment of the pointfile, and since all segments will be visible to the engine, too many lasers cause this crash. You can eliminate this problem by editing your pointfile with a text editor and deleting points. The pointfile starts in the void and works its way into your map, ending at an entity. You should be able to delete all points after, for example, the 20th point and still have sufficient information in the pointfile to find the leak. Note that LeakHunter will always spawn the player at the last point in the pointfile, so you will not have a problem finding the starting laser segment. Note that having very few entities in your map (so the path from an entity to a leak is longer) usually generates large pointfiles. As an alternative to deleting points in the pointfile, you can temporarily add several light entities to your map and re-compile. This should result in a much smaller pointfile that will not cause the SZ_GetSpace Overflow error with LeakHunter.

  • target_help with no message at ( x y z )

    Self-explanatory. Target_help must have a message field (otherwise what's the point?)

  • target_lightramp has bad ramp (<ramp>)

    The message field of target_lightramp must be 2 and only 2 characters, and both characters must be lowercase letters. The first letter specifies the starting lightlevel; 2nd letter specifies the ending lightlevel. a is darkest; z is brightest. For example "az" would ramp from dark to bright and "za" from bright to dark.

  • target_lightramp target <target> (<classname> at ( x y z )) is not a light.

    Target_lightramps may only target light entities. This prohibition includes light_mine1 and light_mine2.

  • teleporter without a target at ( x y z )

    Misc_teleporter should target a misc_teleporter_dest. With no target, the misc_teleporter will not appear in the game.

  • train_find: target <target> not found

    There is no entity (should be a path_corner) whose targetname matches the target field of the func_train.

  • trigger_elevator at ( x y z ) target <target> is not a train.

    As implied, trigger_elevators must target a func_train.

  • trigger_elevator at ( x y z ) unable to find target <target>

    The target of the trigger_elevator (which should be a func_train) does not exist.

  • Quake 2 simply crashes without an error

    Major causes for this include:
    - Worldcraft putting animated textures in UPPERCASE. Fix using MapSpy.
    - Lack of a Worldspawn entity.
    - A VERY low amount of space for a swapfile while loading a large map.
    - Spawning many entities simultaneously.

RUST | Gamedesign.net is your source for all the latest game-editing news and tutorials. If you are seeing this message, this means that you are using a browser that does not support CSS. Please upgrade your browser and enjoy your stay at RUST and if you have any questions, comments, or suggestions, please contact a site administrator.