 * ----------------------------------------------------------------------
 *
 *   Copyright (c) 2009-2010 the Freedroid dev team
 *
 *  This file is part of Freedroid
 *
 *  Freedroid is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  Freedroid is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with Freedroid; see the file COPYING. If not, write to the 
 *  Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 *  MA  02111-1307  USA
 *
 * ----------------------------------------------------------------------

----------------------------------------------------------------------

This file contains a list of exceptions for the LevelEditor Validator.
Those exceptions prevent the Validator to complain about errors found
in the design of the levels, but that the level designer wants to keep.

----------------------------------------------------------------------

Each exception is prefixed by a 'Rule' number, only used to report
the uncaught exceptions to the console. So you are free to use any
rule number you like.

The specification of an exception depends on the sub-validator that
uses it (defined by the "Type" value) :

  - for "C" (chest), the parser extracts the following pattern:
        Idx=IIII X=xxxx Y=yyyy L=llll

  - for "WP" (waypoint position), "WO" (waypoint orphan),
    "WS" (waypoint self-connected), the parser extracts the following
    pattern:
        X=xxxx Y=yyyy L=llll

  - for "WD" (waypoints distance), "WW" (waypoints walkability), 
    "WQ" (waypoints quality), the parser extracts the following pattern:
        X1=xxxx Y1=yyyy L1=llll X2=xxxx Y2=yyyy L2=llll

  - for "J" (jumptarget), the parser extracts the following pattern:
        Interface:iiii of[space]Level:llll to[space]Level:llll

  - for "OW" (obstacle west), "OE" (obstacle east), "ON" (obstacle north),
    "OS" (obstacle south), the parser extracts the following pattern:
        X=xxxx Y=yyyy L=llll T=tttt border=bbbb
        
  - for "ES" (extension sign), the parser extracts the following pattern:
        X=xxxx Y=yyyy L=llll ObsIdx=iiii ExtType=tttt

The parser is however smart enough to silently accept extras words inside
an exception specification (as long as they do not collide with the
searched patterns). 
This enables to simply copypaste the console output of the LevelValidator.

----------------------------------------------------------------------

Some examples:

Rule=1 [Type="C"] Obj Idx=715 (X=22.524876:Y=52.808456:L=37) : Chest
Rule=3 [Type="J"] Interface:North of Level:37 points to Level:45 which does not exist.
Rule=4 [Type="WP"] WP X=24.500000:Y=45.500000:L=37
Rule=5 [Type="WO"] WP X=24.500000:Y=45.500000:L=37
Rule=6 [Type="WS"] WP X=25.500000:Y=49.500000:L=37
Rule=7 [Type="WW"] WP1 X1=13.500000:Y1=35.500000:L1=0 -> WP2 X2=11.500000:Y2=25.500000:L2=0
Rule=8 [Type="WD"] WP1 X1=25.500000:Y1=49.500000:L1=37 <-> WP2 X2=25.500000:Y2=49.500000:L2=37 : distance = 0.000

----------------------------------------------------------------------

*** Beginning of LevelValidator Exceptions List ***


# Level 76 and 77, Act 2 Initial Land
# Some obstacles going past level borders

Rule=100 [Type="OE"] X=89.500000:Y=70.500000:L=1 T=36 -> east border=90.250000 (warning)
Rule=101 [Type="OE"] X=89.500000:Y=75.000000:L=1 T=36 -> east border=90.250000 (warning)
Rule=200 [Type="OW"] X=0.500000:Y=70.500000:L=2 T=36 -> west border=-0.250000 (warning)

*** End of LevelValidator Exceptions List ***
