Import Recast navigation mesh construction toolset.

Recast is a state of the art navigation mesh construction toolset for games.

* it is **automatic**, which means that you can throw any level of geometry at
  it and you will get robust mesh out
* it is **fast** which means swift turnaround times for level designers
* it is **open source** so it comes with full source and you can customize it
  to your hearts content.

The library is free for commercial use and open source under the ZLib license.

This import contains [revision 252][1].

[1]: http://code.google.com/p/recastnavigation/source/detail?r=252 "Recast"

Signed-off-by: TheLuda <theluda@getmangos.com>
Integrate Recast and make it aware of mesh areas.

Recast build has been integrated into the **mangos-zero** build process and
will now be built by default, too.

Detour and Recast have been extended to know the various terrain type of WoW
terrain, and will color terrain areas fittingly in the RecastDemo app, which
also received a custom mesh loader able to handle movement maps.

To ease Windows builds, a copy of SDL has been added, together with Windows
project files.

Signed-off-by: TheLuda <theluda@getmangos.com>
Movement Maps generation has arrived in MAP version 10.2.

**mangos-zero** now has a new map format containing the additional
information
required for using navigation meshes.

This includes updates for the default map extractor, requiring a full
rebuild
of your maps to use this revision or any newer.

A new movement map generator has been added, too. Usage instructions are
provided in `contrib/mmap/` inside the README.

Signed-off-by: TheLuda <theluda@getmangos.com>
Enable battleground map extraction by default.

When creating movement maps, the creation of maps for battlegrounds is
now enabled by default.

You do not have to rebuild all maps but just the specific maps.
MoveMapGenerator code gardening performed.

- Do not pass vectors by value
- Removed duplicated code
- Removed redundant calculations

Signed-off-by: TheLuda <theluda@getmangos.com>
Change WMO rotation matrix in MoveMapGen.

This change is intended to correct a few issues with object placement.

The discussion in faramir118/mangos@2e70c84b625b6c956d912bc4cf9ffc34bd246bc6
should provide a bit more insight for the reasons behind.

Signed-off-by: TheLuda <theluda@getmangos.com>
Resolve shoreline polygon and mesh generation issues.

This should correct problems with the generation of polygons and meshes
on shorelines by correcting the order of generation and adding checks
for min/max heights of liquids.

Signed-off-by: TheLuda <theluda@getmangos.com>
Lower acceptable error at navigation mesh generation.

Signed-off-by: TheLuda <theluda@getmangos.com>
Movement Maps core implementation.

In order to have efficient path finding in *mangos-zero* movement maps
add the ability to generate navigation meshes based on the original game
files.  Recast library (http://code.google.com/p/recastnavigation/) is
used to create these meshes

Based on the generated meshes, we can provide path finding using Detour
(a part of Recast), e.g. avoiding obstacles and moving along terrain.

This effectively means creatures will not:

- walks through walls,
- walk in the air,
- or walk below the ground.

Signed-off-by: TheLuda <theluda@getmangos.com>
Allow maps which are missing some of the mtiles.

Signed-off-by: TheLuda <theluda@getmangos.com>
Prevent client going out of sync in some cases.

Done by either forcing destination, or passing the end-point to
i_destinationHolder.

Signed-off-by: TheLuda <theluda@getmangos.com>
Allow Unit::MonsterMoveByPath to take forceDest parameter.

Signed-off-by: TheLuda <theluda@getmangos.com>
Corrected typo in previous commit.

Signed-off-by: TheLuda <theluda@getmangos.com>
Update, ad.exe vmapExtractor3.exe and vmap_assembler.exe.

Signed-off-by: Salja <beleko2009@web.de>
Added MoveMapGen.exe

Signed-off-by: Salja <beleko2009@web.de>
- Added complete CMake build system for recastnavigation and the demos.
- Fixed a few warnings in recastnavigation.

Signed-off-by: TheLuda <theluda@getmangos.com>
- Create mmaps with debug output by default.

  Creating movement maps with debug output allows you to use the RecastDemo
  application to preview generated maps.

Signed-off-by: TheLuda <theluda@getmangos.com>
- Converted indention to 4 spaces.

Signed-off-by: TheLuda <theluda@getmangos.com>
- Cleaned up extractor applications, and removed a few TBCisms.

Signed-off-by: TheLuda <theluda@getmangos.com>
- Increase map version to 10.3. Rebuild your map files.

Signed-off-by: TheLuda <theluda@getmangos.com>