Commit 7aa8380
committed
Remove legacy map handling, implement VMap and MMap systems
- Remove all legacy MangosSharp map format handling from TMapTile
and WS_Maps, making GridMap (MangosZero format) the sole map reader
- Remove legacy arrays (ZCoord, AreaFlag, AreaTerrain, WaterLevel),
legacy resolution config (RESOLUTION_ZMAP), legacy interpolation,
and legacy filename format (D3/XY -> D4/YX MangosZero format)
- Implement VMap system for line-of-sight and collision detection:
- BIH (Bounding Interval Hierarchy) spatial acceleration structure
- WorldModel/GroupModel with Moller-Trumbore triangle intersection
- ModelInstance with world-to-model coordinate transforms
- StaticMapTree for per-map model instance management
- VMapManager for LoS, height, and hit-position queries
- Implement MMap pathfinding system using Detour navmesh:
- DtNavMesh with tile loading and polygon spatial queries
- DtNavMeshQuery with FindNearestPoly, FindPath, FindStraightPath
- PathInfo for high-level pathfinding requests
- MMapManager for navmesh tile loading and path computation
- Wire VMap/MMap into WS_Maps: IsInLineOfSight, GetVMapHeight,
and GetObjectHitPos now delegate to VMapManager when enabled
- Clean up MapFileFormats: remove GetLegacyMapFileName
https://claude.ai/code/session_0194PFFCeXmh82deGbisQtP21 parent 812219f commit 7aa8380
15 files changed
Lines changed: 2907 additions & 345 deletions
File tree
- src/server/Mangos.World
- Handlers
- Maps
- MMap
- VMap
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
917 | 917 | | |
918 | 918 | | |
919 | 919 | | |
920 | | - | |
| 920 | + | |
921 | 921 | | |
922 | 922 | | |
923 | 923 | | |
924 | | - | |
| 924 | + | |
925 | 925 | | |
926 | 926 | | |
927 | 927 | | |
| |||
0 commit comments