aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-04Core/Maps: Change .map file version from FourCC to uint32 (#26326)Giacomo Pozzoni
(cherry picked from commit 42877e75e2a67514dfeb185661e4f397b6eb044a)
2022-01-04Improve multithreading of mmaps_generator (#25625)Giacomo Pozzoni
* 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)
2022-01-04Tools/mmaps_generator: Made loading vmaps by mmaps_generator threadsafeShauren
2022-01-04Core/MMAPs: Restore single slope angle of 55°jackpoz
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)
2022-01-04Core/MMAPs: Fix small steps being considered as NAV_AREA_GROUND_STEEPjackpoz
(cherry picked from commit 3ac1992afbeb1cd7669b300b8ee4131d39f35595)
2022-01-04Tools/MMapsGenerator: Add some more input parameters to improve mmaps load ↵Giacomo Pozzoni
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)
2022-01-04Handle different slopes in mmaps (#24765)Giacomo Pozzoni
* 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)
2022-01-04Tools/MMAPs: Output the time spent in a human readable formatjackpoz
(cherry picked from commit 6e34e07c48000e666ec15b26682eb15fb2f5f901)
2022-01-04DB/Creatures: corrected several movement template flight values for ↵Ovahlord
creatures all accross Northrend. No more raining Gargoyles, Frost Wyrms, Birds and other flying things (cherry picked from commit 8a9f80909387615fb7e22a0f8a042c3ad7a10cfc)
2022-01-04Core/Objects: fixed destination calculation for destination based spells ↵Ovahlord
casted by flying units * Additionally he PathGenerator will now check for realtime movement flags instead of creature based template data only so scripted flying movement and players will now correctly get their path calculated (cherry picked from commit fdcb7388a64bf61a691535933a9fbae0504b80cc)
2022-01-04Core/Commands: Fixed .npc add overwriting existing spawns when used on ↵Shauren
transports (cherry picked from commit 75ab3619bdec058dcc848ad134c6d5e838e8f6fb)
2022-01-04Fixes/3.3.5 aura infinite loop (#24631)Giacomo Pozzoni
* Core/Auras: Attempt to fix infinite loop with aura 18950 on map unload * Core/Auras: Log a detailed error and assert when failing to remove all auras after a few tries * Code cleanup * Fix build warnings * Fix more build warnings (cherry picked from commit bd2d60c2676a1d7e843a2a5673b8216bad0768c7)
2022-01-04DB/SAI: Black Morass - Infinite mobsoffl
Closes #4613 (cherry picked from commit 8ad0ab362ee3e8ff5563d0ea3383d3d32969d27e)
2022-01-04Removing a duplicate item combat spell handling causing poisons (and others) ↵joshwhedon
to proc twice. (#24627) https://github.com/TrinityCore/TrinityCore/issues/24608 (cherry picked from commit 4db77bc913a24ce7a14428a2936c836728ba4100)
2022-01-04Core/MMAPs: Adjust walkable climb and fix a lot of mmap raycast issues (#24539)Giacomo Pozzoni
* 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)
2022-01-04Further improve ChrRace DBC handling (#24508)HelloKitty
* Core/DBC: Added ChrRacesAllianceType for ChrRaces.dbc * Core/Character: Check ChrRace DBC playable in HandleCharCreateOpcode * Core/DBC: Implement ChrRacesFlags removing literals Cannot take credit for this enum, derived from documentation in https://wowdev.wiki/DB/ChrRaces * Core/Character: Check CHRRACES_FLAGS_NOT_PLAYABLE on creation * Core/DBC: Fix formatting of ChrRaces enums * Core/DBC: Use ChrRaces CreatureType instead of hardcoded humanoid assumption * Address enum style code changes (cherry picked from commit 43b595111dce03258c29fd926201660b9d3acb8d)
2022-01-04Scripts/Icecrown Citadel: Fixed Professor Putricide oozes not moving during ↵Shauren
their channel (cherry picked from commit 1d43003cfa29cee2c7921fdeaa5c1714d085c770)
2022-01-04Core/CreatureAI: Shambling Horror re-cast Enrage as soon as it is not stun ↵Metalaka
(#24618) (cherry picked from commit e2434e4f4726f9c99f9260607b78ece09b5df249)
2022-01-04DB/Gameobject: Shaffar's Stasis Chamber & Mana-Tombs Stasis ChamberKillyana
Closes #17328 By @offl and @dr-j (cherry picked from commit 07842547b4f4ed47295ea6d1754f46e9152274a4)
2022-01-04DB/Loot: Remove remaining herbs and ore with low chance to drop pt 4offl
Closes #24614 (cherry picked from commit 128684f077ee4fba86178156d6bb17ee34aece8a)
2022-01-04DB/Creature: Sunblade Protector & Sunblade Scoutoffl
Closes #15665 (cherry picked from commit f28d19666a674353cb17f1725cb9a26f4527a29b)
2022-01-04DB/GameObject: Netherwing Egg Poolingdr-j
Closes #24611 (cherry picked from commit e069372de914b2bf7e6d4c14bdafc2a89a7a25a6)
2022-01-04DB/Creature: Add formations for some creatures in SWPoffl
Closes #24612 (cherry picked from commit 5fc54f948170ee53780171617632c3d7ea61710c)
2022-01-04Core/Movement: 9080e78 followupccrs
actually port back the previous implementation, now correctly this implies that a unit that has a different victim than the one its chasing will stand still till either: - a new movement replaces the current, for w/e reason - the chase target is again the current victim probably a pause implementation on the generator is a more elegant solution... updates #24600 (cherry picked from commit 472e1fd8aeea80c6b32253007a204e645f89dc2e)
2022-01-04DB/Loot: Add references for rare items from RFK, RFD & Scarlet Monasteryoffl
Closes #24597 (cherry picked from commit 874b149923594c71cbd0b49fa8ef8c5e9cd0ea6e)
2022-01-04DB/Quest: Fixed Thirst Unending for priests & dhsModoX
Closes #18411
2022-01-04DB/Quest: Gaining the advantage - Nether residue - Add Missing dropsoffl
Closes #16536 (cherry picked from commit 16d4a39c7d32e6d269f7926228b0df539722f44e)
2022-01-04DB/Loot: Remove more incorrect items from lootoffl
Closes #24596 (cherry picked from commit a64d5c74522b3ed87e2c30f6b3285ea4cd093530)
2022-01-04DB/Spell: Arm Dead Damage KologarnJildor
Closes #24577 (cherry picked from commit 91705672181204b8d5f61a1f180b8efa36f57055)
2022-01-04DB/Loot: Fix some loots in The Obsidian SanctumVanDobben
Closes #24598 (cherry picked from commit 267e707fe3404788df8316166bd31ab139909fd1)
2022-01-04DB/GameObject: Supply Cratedr-j
Closes #23962 (cherry picked from commit 3e1aede6fadd7ed17f099182abb0e1e41383c80c)
2022-01-04DB/Loot: Remove remaining herbs and ore with low chance to drop pt 3offl
Closes #24591 (cherry picked from commit b518457604a534162508bd4c7a192e995e88ec38)
2022-01-04DB/Loot: Remove excess items from some creaturesoffl
Closes #24589 (cherry picked from commit fc80c41079e7271f230c0942253a04ce40c518e9)
2022-01-03DB/Hotfixes: Update hotfixes to build 41488funjoker
2022-01-03Core/Spells: Added helper function to select random injured healing spell ↵Shauren
targets
2022-01-03Core/Util: Added iterator range overload for Trinity::Containers::RandomShuffleShauren
2022-01-03Core/Time: Remove artificially high minimal update intervalsShauren
2022-01-02TDB 915.22011 - 2022/01/02TDB915.22011TDB Release
2022-01-02CI/CircleCI: Switch to Ubuntu 20.04 and MySQL 8jackpoz
(cherry picked from commit e3dfab52a639275ea130d279f4a6fe4312d34b06)
2022-01-02Rename sqlShauren
2022-01-02DB: Add drop script compatible with MySQL 8Giacomo Pozzoni
(cherry picked from commit 7e5c1cf453972e142613ab828b75c8635edf697d)
2022-01-02Scripts/Pet: Lil' K.T (#24528)Sorikoff
* Lil' K.T. * Rename 9999_99_99_99_world_335.sql to 2020_05_10_00_world.sql Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com> (cherry picked from commit 34fecde022e6e2a228111ee79a0e9f5f8a7bed12)
2022-01-02Core/Misc: Define and use ChrRacesFlag and CreatureModelDataFlags (ref ↵Shauren
772f506a3b426e27ee64b0506aed06219c8d7747)
2022-01-02DB/Loot: Add references for Level 70 Darkmoon Cards (5-8) & Books and use ↵offl
them in TK & SSC Closes #24584 (cherry picked from commit 0b60b482730f03399104b64a69a14598cf137edc)
2022-01-02DB/Loot: Add some references for Black Templeoffl
Closes #24585 (cherry picked from commit 2ada2cfaea96c535d2996aad50ea14af50db25a7)
2022-01-02DB/Loot: Remove remaining herbs and ore with low chance to dropoffl
Closes #24586 Closes #24587 (cherry picked from commit 85e5735c0c464ab7d614e8e390c6f53b075b0cfc)
2022-01-02DB/loot: Fix some Azjol Nerub loots and skinningoffl
Closes #24582 (cherry picked from commit ae9646641f6cdb7624398073ccc086ac3ee5ba72)
2022-01-02Misc: Made gdb crash reporting script more automation friendlyShauren
* Don't block on successful exit * Generate timestamped filenames to avoid overwriting old logs (cherry picked from commit 58d3f17430bb0ab64c9da157bdbc842098d96370)
2022-01-02DB/Loot: Remove some wrong lootsoffl
Ref #18182 (cherry picked from commit 7395eadd3afaa98e7c04e6c573015f015594e309)
2022-01-02DB/Loot: Add more items for Crimson Hand Battle Mageoffl
Closes #24576 (cherry picked from commit 63b1c740941e3b6af537b27024b12982064eddfa)