Commit Graph

632 Commits

Author SHA1 Message Date
Ovahlord
1581075726 Core/Tools: updated GameTables extraction list 2023-11-18 18:36:12 +01:00
funjoker
d8b5467071 Tools/Extractor: Update extractors for 3.4.3 2023-11-14 21:41:29 +01:00
funjoker
f22ced6eca Tools/Extractor: Update DBFilesClientList 2023-11-14 21:40:00 +01:00
Shauren
97f9e18cbd Tools: Updated expected table hash for Map.db2 in extractors 2023-11-09 19:08:17 +01:00
Shauren
1eea1d11b1 Core: Update to 10.2.0 2023-11-09 13:33:26 +01:00
Shauren
348e29c79f Tools/mmaps_generator: Allow specifying custom offmesh area/flags 2023-10-16 10:55:34 +02:00
Shauren
b84199f137 Tools/Extractors: Log error message instead of crashing when downloading tact keys fails
Closes #29338
2023-09-26 00:07:56 +02:00
Shauren
8efeb202a5 Core: Update to 10.1.7 2023-09-07 01:10:07 +02:00
Shauren
f0a862e71b Core/Misc: Modernize comparison operators 2023-08-24 00:51:26 +02:00
Shauren
b6a0fa3518 Tools: Updated db2 metadata used by extractors 2023-07-12 20:51:39 +02:00
Shauren
0cea730fa2 Core: Update to 10.1.5 2023-07-12 16:29:00 +02:00
Shauren
8ffc4c1034 Tools/Extractors: Warn when casc storage could not be opened in remote mode because a local installation was detected in input/cache directory 2023-06-23 10:27:44 +02:00
Shauren
16bc74667e Core: Update to 10.1 2023-05-04 17:00:52 +02:00
Shauren
ffc06b27d0 Core/DataStores: Minor db2 loader cleanup 2023-04-18 18:46:08 +02:00
Shauren
922f60fa25 Core: Update to 10.0.7 2023-03-22 00:08:20 +01:00
Shauren
65adaf8c43 Tools/Extractors: Fixed remote mode after casclib upgrade 2023-02-03 13:36:21 +01:00
Shauren
4bec7233ba Core: Updated to 10.0.5 2023-01-28 01:53:26 +01:00
Giacomo Pozzoni
3bc9825b0d Revert "MMAP: Build ADT floor just like WMO floor below liquid (#27503)" (#28392)
This reverts commit 8a779268b6.

(cherry picked from commit b69870630d)
2023-01-12 22:55:16 +01:00
Shauren
d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren
92ed5e8af1 Core/Misc: Include cleanup, 2023 edition 2023-01-07 22:38:21 +01:00
Shauren
13ab33f5b5 Tools/mapextractor: Updated gt file list 2022-12-17 12:54:57 +01:00
Shauren
e98e1283ea Core: Updated to 10.0.2 2022-12-04 15:13:20 +01:00
Shauren
f22be111ae Tools/vmap_extractor: Implemented new MPY2 wmo chunk 2022-12-03 23:30:53 +01:00
Lloyd Dilley
1c36441b7c Core/Misc: Fix *BSD compile errors (#28287)
(cherry picked from commit 2b8fc95fde)
2022-10-01 17:33:25 +02:00
Shauren
16a06346ae Core/Maps: Move terrain data handling out of Map class
Partial port of cmangos/mangos-wotlk@ff5232c648
2022-07-23 19:13:33 +02:00
Luzifix
b11574871e Tools/Extractors: Implement remote casc mode (#27993) 2022-06-09 17:58:35 +02:00
Shauren
6c8ef045a5 Core/DataStores: Updated structures to 9.2.5 2022-06-02 00:48:57 +02:00
robinsch
364796dc3b Tool/MMAP: Fixed invalid check causing certain tiles not to build (#27833)
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 e898b6e794)
2022-03-26 15:28:07 +01:00
ModoX
09b36d8f75 Tools/Extractors: Use TACTKeys from wowdev TACTKeys repo instead of wow.tools
* wow.tools will kill /api.php?type=tactkeys soon
2022-03-13 19:24:14 +01:00
Kargatum
373ed8f46b Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf

(cherry picked from commit a32b6b8ac4)
2022-03-05 20:07:57 +01:00
Shauren
439b027d48 Core/Misc: Cleanup unused includes 2022-02-13 15:07:00 +01:00
Shauren
cbcd149ce5 Core/Misc: Explicitly include required headers instead of relying on them to be included by other headers 2022-02-11 14:33:35 +01:00
Shauren
bb185a78fb Build: Put tests-extractor_common under correct folder when WITH_SOURCE_TREE is set to hierarchical-folders 2022-02-04 11:01:02 +01:00
Shauren
473f3db0ab Core/CrashHandler: #ifdef cleanup to make VS not choke when parsing, fixed file being all red in editor
(cherry picked from commit 39c5e03b74)
2022-01-26 18:46:43 +01:00
Giacomo Pozzoni
864d775280 Core/Misc: Fix static analysis issues (#25194)
(cherry picked from commit 07fd84b679)
2022-01-26 14:06:40 +01:00
jackpoz
68faf5bc4b Core/Common: Replace ASSERT(false, "...") with ABORT_MSG("...")
(cherry picked from commit 54c701cf0d)
2022-01-19 22:17:42 +01:00
ipriver
bde36062b7 fixed indentation for cmake files
(cherry picked from commit a46d047f94)
2022-01-06 23:40:39 +01:00
killerwife
c9b13f1897 MMAP: Build ADT floor just like WMO floor below liquid (#27503)
Fixes ocean floor pathfinding

(cherry picked from commit 8a779268b6)
2022-01-04 20:44:26 +01:00
Giacomo Pozzoni
feb36f3f7d Tools/MMAPs: Show an error when running mmaps_generator built in Debug mode (#27412)
* Tools/MMAPs: Show an error when running mmaps_generator built in Debug mode

* Fix GCC build

(cherry picked from commit 8c80f28581)
2022-01-04 20:44:26 +01:00
jackpoz
071a8b5b7d Core/Misc: Remove whitespace
(cherry picked from commit 869fb748cd)
2022-01-04 20:44:26 +01:00
jackpoz
be7acb2527 Core/MMAPs: Reduce chances of breaking tile connections
Reduce chances of breaking tile connections caused by floating point rounding issues.

(cherry picked from commit e615e2ddef)
2022-01-04 20:44:26 +01:00
killerwife
dbb7f65723 Vmap: Introduce skipping of antiportals and unreachable mogp (#26331)
* 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 d5f1fefe7f)
2022-01-04 20:44:25 +01:00
killerwife
2467f799bb MapExtraction: Fix water height redundancy algorithm ignoring "no water" (#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 00da074109)
2022-01-04 20:44:25 +01:00
Giacomo Pozzoni
1ba940b17a Core/Maps: Change .map file version from FourCC to uint32 (#26326)
(cherry picked from commit 42877e75e2)
2022-01-04 20:44:25 +01:00
Giacomo Pozzoni
89e183704c Improve multithreading of mmaps_generator (#25625)
* 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 a4e93d779c)
2022-01-04 20:44:25 +01:00
Shauren
1d0ca1106f Tools/mmaps_generator: Made loading vmaps by mmaps_generator threadsafe 2022-01-04 20:44:22 +01:00
jackpoz
3820aabcd8 Core/MMAPs: Restore single slope angle of 55°
Re-generating MMAPs IS required.
Partially reverts 995a443da2 .

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 3947e4cb57)
2022-01-04 20:44:02 +01:00
Giacomo Pozzoni
782a943b38 Tools/MMapsGenerator: Add some more input parameters to improve mmaps load 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 b6e205f7ef)
2022-01-04 20:44:02 +01:00
Giacomo Pozzoni
d58d0e895c Handle different slopes in mmaps (#24765)
* 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 995a443da2)
2022-01-04 20:44:02 +01:00
jackpoz
bafd22104c Tools/MMAPs: Output the time spent in a human readable format
(cherry picked from commit 6e34e07c48)
2022-01-04 20:44:00 +01:00