Additional Debugging Facilities

XashXT

Additional Debugging Facilities

XashXT provides a number of debugging facilities intended for making a level designer's job easier. Most of these features are enabled through console variables or commands, but sometimes debugging is turned on for specific entities using special spawn flags (see the descriptions of new entities or revisions of existing entities) for details.

Listed below are console variables and commands, with usage details.

Note: Do not try to use these commands and variables as part of gameplay. Most of them will not work in user mode.

Console Variables

phys_debug Enables collision rendering for the PhysX engine.
phys_qdebug The current implementation only draws centres on func_door_rotating entities.
p_speeds Outputs information about the current state of the PhysX engine and objects in the scene.
r_speeds Takes values in the range from 1 to 9. Outputs miscellaneous information about the renderer state.
r_showtextures Takes values in the range from 1 to 14. Displays loaded textures grouped by specified criteria.
sv_novis Disables PVS culling of entities on the server so that you can distinguish it from client-side culling.
r_novis Disables PVS culling of entities on the client. This normally affects only world polygons, because entities are culled on the server.
r_lockpvs Prevents PVS refreshing so that you can see the drawing distance.
r_lightmap Draws lightmaps without diffuse textures.
gl_wireframe Enables edge drawing, showing how faces are split.
r_drawentities The default value is 1. Modes 2 to 6 draw bones, hitboxes etc.
gl_renderer The default value is 1. Setting this to 0 switches to the pure engine renderer and lets you compare the graphics.
showtriggers Shows triggers on the map. Works only after a map restart.

Console Commands

edicts_info Outputs brief information about edicts.
entity_info Outputs detailed information about entities.
entpatch Dumps a script file with entity definitions. The file can be edited manually. Subsequently, the engine loads this file instead of built-in entities.
fire Enables activation of entities that the player is looking at or activation of the entity that is specified as an argument of the command.
impulse 103 Outputs information about the state of a monster AI.
impulse 104 Outputs information about the state of global entities (their state can be modified using env_global).
impulse 106 Outputs information about the state of regular entities (name, global name, model, parent).
impulse 107 Outputs the name of the texture that the player is looking at.
impulse 203 Removes an object from the map (except world and players, of course).
showtriggers_toggle An alternative to the showtriggers console variable. The difference is that it shows triggers without requiring a map restart. However, most contemporary compilers (ZHLT, VHLT) perform an optimisation that deletes all triggers with the AAATRIGGER assigned and leave only the physics hull without a visible hull. To disable this behaviour, compile your map with the -nonullifytrigger command-line parameter using hlcsg. Alternatively, use a texture with a different name for triggers.