About: Quake Map Syntax checker - v. 0.5, 96.09.08. Author: Mads Bondo Dydensborg - madsdyd@diku.dk Syntax: Syntax checks a Map file after a simplified set of rules: Map -> Entity Entity_List Entity_List -> Entity Entity_List | Entity -> { Key_Value_List Brush_List } Key_Value_List -> Key_Value Key_Value_List | Key -> "" Value -> "" Brush_List -> Brush Brush_List | Brush -> { plane plane plane plane plane_list } Plane_List -> Plane Plane_List | Plane -> Point Point Point Texture Flag Flag Point -> ( ) Texture -> Flag -> is nothing is anything is anything that does not contain whitespace is an integer (qbsp accepts reals though) Comments: Anything starting with // to an EOL marker is considered a comment. Strict : Qbsp accepts a slightly more loose syntax then the above; Sometimes Reals can be used instead of Integers. Keys and Brushes can be mixed more freely. One can discus if the four Plane in a brush is a syntax requirement. Semantic: If /T is not specified, the program will extract texture names from wad files specified in "wad" keys in the order it meets them, and check Texture definitions against this information. A warning will be issued if a Texture is not found For each Entity, it is checked that a "classname" key is present. if not, a warning will be issued. Recovery: The program will try and recover from all syntax errors. Recovery will often fail when meeting errors in keys, or non-closed brushes in non-closed entities. The program will assume a recovery fail initiated loop after 20 errors and stop. Wadfiles: Wadfiles are assumed to be internally OK. This can cause some runtime errors, if the wadfiles are broken. Try running with /T. If this removes the runtime errors, the wadfiles internal dir probably is incorrect. Source: If you are interessted in the source code to this program, then contact me on the above adress. Returns: The program will return the following errorlevel: 0 - Normal termination. 1 - Warnings were issued 2 - Errors were found 3 - Error in program options (Illegal option combination)