| Age | Commit message (Collapse) | Author |
|
(cherry picked from commit 2b8fc95fdec69ca5c057c2e63a1313d8165d44ea)
|
|
Partial port of cmangos/mangos-wotlk@ff5232c64809207b5fa59d62e9870f58a36b6f3f
|
|
|
|
|
|
example: mmaps_generator 230 will cause tile 33, 29 to not build because of the check. causing NPCs to not have mmap information in some parts of the map.
.go xyz 1380 -831 -88 230 has no mmap tile information because of above check.
https://i.imgur.com/Pypeu4f.png
(cherry picked from commit e898b6e7942971a9bc96af54737ee971b99073a8)
|
|
* wow.tools will kill /api.php?type=tactkeys soon
|
|
* Core/Misc: fix double empty line
* worldserver.conf
(cherry picked from commit a32b6b8ac4c81128a56b282f20837fb085bdd9e7)
|
|
|
|
be included by other headers
|
|
is set to hierarchical-folders
|
|
file being all red in editor
(cherry picked from commit 39c5e03b749d44df346b8f37aed3eb898526365a)
|
|
(cherry picked from commit 07fd84b679fd6958b7e669a96c78783875e1b949)
|
|
(cherry picked from commit 54c701cf0db81c0062e8c5020e07db18984d0ffa)
|
|
(cherry picked from commit a46d047f9466c6f16597755bb7c771a9d1a147f2)
|
|
Fixes ocean floor pathfinding
(cherry picked from commit 8a779268b601db28005a8348f3c21255718d4526)
|
|
(#27412)
* Tools/MMAPs: Show an error when running mmaps_generator built in Debug mode
* Fix GCC build
(cherry picked from commit 8c80f28581646af110c4d2b316209ef291a95587)
|
|
(cherry picked from commit 869fb748cd4f80b65b154fbd3cb9fa4ee8d64672)
|
|
Reduce chances of breaking tile connections caused by floating point rounding issues.
(cherry picked from commit e615e2ddefd2c18b6dec8e08fb3d17580b64ea99)
|
|
* Vmap: Introduce skipping of antiportals and unreachable mogp
* Reduce differences with master branch
* Update VMAP and MMAP versions
* Update MMAPs version
Co-authored-by: jackpoz <giacomopoz@gmail.com>
(cherry picked from commit d5f1fefe7f6772b11e9fbb052bfd36be9bda98e2)
|
|
(#26324)
* MapExtraction: Fix water height redundancy algorithm ignoring "no water"
* Update MMAP_VERSION
* Change map version
Co-authored-by: jackpoz <giacomopoz@gmail.com>
(cherry picked from commit 00da074109e713280264761eedfbf6e5dc7ef912)
|
|
(cherry picked from commit 42877e75e2a67514dfeb185661e4f397b6eb044a)
|
|
* Build/Misc: Add a few *San CMake flags
Add the following flags for the related tools:
- MSAN for Memory Sanitizer
- UBSAN for Undefined Behavior Sanitizer
- TSAN for Thread Sanitizer
* Remove unused parameter
* Fix UBSan reported issue
* Disable G3D buffer pools when using Thread Sanitizer as it has its custom locking mechanisms
* Code cleanup
* Move threads from maps to tiles
* Move tile building logic to TileBuilder class
* Fix memory leak in TileBuilder
* Fix build
* Store TileBuilder as raw pointer for now, it will be changed later on to use modern C++ constructs
* Fix crash on shutdown
* Revert pvs-studio change
* Fix generating 1 single tile not closing the program
(cherry picked from commit a4e93d779c9638bc0a61cb4405ef28cb935d1065)
|
|
|
|
Re-generating MMAPs IS required.
Partially reverts 995a443da219ec773febd7dd29d18f3cefaa1f3b .
Having 2 different slope angles of 55° and 85° created too many polygons to fit in the current mmtile structure. This caused some polygons to become disconnected from each other, creating the old "invisible walls" effect. Because of this and because of the performance hit when loading a mmtile caused by the increase of polygon numbers, this commit reverts the recent changes and sets by default the slope angle to 55°.
Feel free to restore the previous behaviour by running .\mmaps_generator --maxAngle 85 --maxAngleNotSteep 55 , specifying the map id as number if a single map should have different slope values.
This is the last commit that will change MMAPs version to force re-generating them. Any future change that will affect only the generation settings will be optional (but recommended).
(cherry picked from commit 3947e4cb57d4c6adb78cd3cb52718bb88add91fc)
|
|
performances (#25520)
* Some research about mmaps load performances
* Tools/MMapsGenerator: Add some more input parameters
Add some more input parameters which affect the resulting mmaps:
- --smallOutputSize: sets both walkableSlopeAngle and walkableSlopeAngleNotSteep to 55°, reducing by a lot the .mmtile size and the number of polys. A rcFilterLedgeSpans() call is included too to filter out some polys. Default to false.
- --maxAngle: Restore this parameter removed some commits ago. Specifies the max walkable angle of a Creature when in combat. Default to 85
- --maxAngleNotSteep: Max walkable angle of a Player and of a Creature out of combat. Must be less or equal than --maxAngle. Default to 55.
A performance profiling comparison highlighted that .mmtile load grows exponential with the number of polys. A small server with GridUnload enabled and without preloading all grids on startup will be more affected than a big server with GridUnload disabled and preloading grids on startup.
(cherry picked from commit b6e205f7ef32f7b82644043d82a808e67cc9acb2)
|
|
* Tools/MMAPs: Remove input argument --maxAngle
Remove input argument --maxAngle . This should be just hardcoded in MapBuilder::GetMapSpecificConfig() so all settings are easily found in the same place instead of being spread around.
* Tools/MMAPs: Add new area type NAV_AREA_GROUND_STEEP
Add new area type NAV_AREA_GROUND_STEEP for ground with slope in the range (55, 70] .
NAV_AREA_GROUND is used for ground with range [0, 55] .
NAV_AREA_GROUND_STEEP takes priority over NAV_AREA_GROUND.
* Tools/MMAPs: Fix NAV_GROUND_STEEP flag not being saved in the mmtile
* Core/PathFinding: Implement NAV_GROUND_STEEP flag
Implement NAV_GROUND_STEEP flag, used only by Creatures that are in combat or evading.
* Distinguish between RC_WALKABLE_AREA and NAV_AREA_GROUND.
* Allow mobs in combat to walk on steeps up to 80°
* Allow mobs in combat to walk on steeps up to 85°.
Disable rcFilterLedgeSpans() filter as it removed long steep spans.
* Increase cost of steep spans to try making creatures walk around obstacles instead of walking on them
* Revert last commit
(cherry picked from commit 995a443da219ec773febd7dd29d18f3cefaa1f3b)
|
|
(cherry picked from commit 6e34e07c48000e666ec15b26682eb15fb2f5f901)
|
|
* Core/MMAPs: Adjust walkable climb
Adjust walkable climb as recast using walkableClimb also to find the poly from a position, giving priority to polys that are below the position but closer than walkableClimb.
* Temporarily disable static collision (the whole check should be removed)
* Core/Spells: removed deprecated mmap path check for TARGET_DEST_CASTER_FRONT_LEAP
* Core/Objects: allow flying units to use the helper as well (flying units casting radius based spells)
* Code refactor
* Handle raycasts that end in a point with no height in the mmap mesh as PATHFIND_NOPATH
* Walk back a bit from raycast hitpoints as sometime the 2D result point is outside of the polygons due to floating point errors.
* Remove whitespace
* Revert 4a197ba22af4eed01be632ea2dd7d103a963f043 as a raycast point path should have the Z retrieved with getPolyHeight(). Raycast will only return a 2-point path with Start and Hitpoint/End
* Cleanup PathGenerator raycast case
* Fix PathGenerator raycast broken if start and end are on same poly.
Fix PathGenerator raycast broken if no wall is hit.
Remove unused case of using raycast with an existing previous path (can be added back properly if needed).
Remove forcing poly length to 2 when we actually have already the right number.
* Use closestPointOnPolyBoundary on the second try of finding a point on poly for raycast.
Note that in this case the mesh height is not used which might cause issues. The poly boundary height will be used instead.
* Handle cases where getPolyHeight() fails because the point is on polygon border (and caused by floating point imprecision)
* Add far from poly flags
* Set PATHFIND_INCOMPLETE in raycast case if startFarFromPoly or endFarFromPoly
* Fix blink close to walls with no valid polygon behind the wall
* Require to re-extract mmaps
Co-authored-by: Ovah <dreadkiller@gmx.de>
(cherry picked from commit c0b75bf40da8b447a2f3533dabbfad9eba7c6ea1)
|
|
(cherry picked from commit fb75a958f02695f166481033203869940d98b537)
|
|
Increase the agent height by x2 to reduce the chance of having underground mmap layers wrongly picked by recast.
(cherry picked from commit 3b0a89a2ea76157156c03262bc86f024a1d4ca57)
|
|
|
|
end are on the same polygon (#24036)
* Core/PathGenerator: Fix path generator returning shortcuts when start and end are on the same polygon
Fix path generator returning shortcuts when start and end are on the same polygon by handling this case as if start and end were on 2 different polygons. This will ensure BuildPointPath() gets called which calls FindSmoothPath(), making sure each step is not longer than SMOOTH_PATH_STEP_SIZE (4 yards)
* Change ingame cast error message to SPELL_FAILED_NOPATH from SPELL_FAILED_OUT_OF_RANGE if the generated path is too long
(cherry picked from commit 29bf280e3496cf13c24ccb20e37da29d3bfa74d9)
|
|
Closes #23723
(cherry picked from commit aa0d468e04311ace1e6e5117b4a339c50b636367)
|
|
Add rcMedianFilterWalkableArea() to mmaps generation process to simplify some ground/water areas
(cherry picked from commit 7ddbc18aafe61434971013ed6126f5666011ab43)
|
|
Allow to specify different Recast settings for different maps, currently handled in GetMapSpecificConfig() as a switch statement.
Set walkableRadius to 0 in Blade's Edge Arena (Map ID 562) so the pets can walk on the thin rope between the bridge and the pillar.
(cherry picked from commit e4658a1307b1d52a4e6a0ed67f7dff92f02c090d)
|
|
Closes #27251
|
|
|
|
what the client does regarding being inside WMOs
Closes #21625
Closes #21624
Closes #21516
(cherry picked from commit b9c6bbb51df0ed10f74617482740fedb91ff5366)
|
|
|
|
|
|
shared file and replace #defines with enums
|
|
exclusively
|
|
|
|
version definition
|
|
command line argument)
|
|
|
|
MOVI using larger data type (currently unused in 9.0.5 client)
|
|
|
|
|
|
file instead of console
|