144 Commits

Author SHA1 Message Date
Shauren
90be8fafb3 Core/Misc: Use std::scoped_lock instead of unique_lock where possible (and old lock_guard) 2025-11-30 14:25:32 +01:00
Shauren
21ff7f2503 Core/Misc: Add missing includes 2025-11-15 11:42:30 +01:00
Shauren
6a767c3bd6 Core/MMaps: Implemented dynamic mmap tile rebuilding for destructible objects 2025-11-06 19:42:17 +01:00
Shauren
556505d59a Core/Vmaps: Expose loaded gameobject collision models in RegularGrid2D 2025-11-06 18:34:58 +01:00
Shauren
f439120b1f Tools/mmaps_generator: Move TerrainBuilder to a shared project 2025-11-06 18:34:58 +01:00
Shauren
145bbde231 Tools/mmaps_generator: Save offmesh connections input together with navmesh params for each map 2025-11-05 18:55:45 +01:00
Shauren
1e56367b30 Tools/mmaps_generator: Add separator to mmap tile file names 2025-11-05 18:55:45 +01:00
Shauren
b3fb5d6f50 Core/Vmaps: Bump vmap version 2025-11-01 15:27:58 +01:00
Shauren
4b27db87b7 Core/Vmaps: Remove tile X/Y coord swapping 2025-11-01 14:26:48 +01:00
Shauren
157a16d790 Tools/vmap_extractor: Preserve destructible models to use them in mmaps_generator 2025-11-01 14:26:48 +01:00
Shauren
0b4f02c002 Core/Vmaps: Don't ignore gameobject model rotation when calculating liquid level 2025-10-31 13:49:07 +01:00
Shauren
03e2aa6737 Core/Vmaps: Rename VMapManager2 to VMapManager 2025-10-25 00:55:34 +02:00
Shauren
96b567995a Core/Vmaps: Remove VMapManager2 virtual interface 2025-10-25 00:52:55 +02:00
Shauren
1eb581610b Tools/mmaps_generator: Move TileBuilder to its own file 2025-10-24 00:13:50 +02:00
Shauren
6916f94863 Core/Vmaps: Remove unused template argument from RegularGrid2D 2025-10-23 19:51:17 +02:00
Shauren
f10eb2f1bf Core/Vmaps: Use unique_ptr in RegularGrid2D and DynamicTree classes 2025-10-23 19:50:56 +02:00
Shauren
381fb0b394 Core/Vmaps: Replace G3D containers with std ones 2025-10-21 14:03:10 +02:00
Shauren
62aefda51d Core/GameObjects: Don't ignore collision for destructible gameobjects in destroyed state - they simply have a different model 2025-10-15 11:57:59 +02:00
Shauren
3fecc05f19 Core/MMaps: Use unique_ptr for memory management and remove MMapFactory 2025-10-02 15:27:42 +02:00
Shauren
6b41c3d327 Core/MMaps: Improve mmap debugging experience for terrain swap maps
* Output terrain map id in `.mmap loc` command
* Suppress file not found errors for terrain swap maps
* Fix generating single tiles for terrain swap maps (--tile argument)
2025-10-02 13:43:45 +02:00
Shauren
f22321ede4 Tools/Extractors: Skip extracting visual only liquids (determined by LiquidMaterial flags) 2025-06-07 12:49:34 +02:00
Shauren
fe788a5eeb Core/Misc: Silence some statis analysis false positive warnings 2025-05-19 14:41:23 +02:00
Shauren
62dbb0619b Core/Vmaps: Minor cleanup (formatting) and documentation updates for BIH::build copy vs move choice 2024-12-11 19:44:03 +01:00
Shauren
53b4501ce9 Core/Vmaps: Don't ignore model rotation when calculating liquid level
Closes #30205
2024-11-28 17:08:56 +01:00
Shauren
b13b5142f1 Core/Utilities: Extend make_unique_ptr_with_deleter functionality to allow it to create deleters with compile time constant functions (reduces its size to just sizeof(void*)) 2024-10-01 21:03:44 +02:00
Shauren
b3763c338d Added missing GameObjectModel::iLosBlockingDisabled initialization in constructor 2024-07-17 10:30:09 +02:00
Shauren
2756ca1c35 Core/GameObject: Implemented NotLOSBlocking door property 2024-07-17 00:21:03 +02:00
Shauren
d05dbaaecb Core/Vmaps: Fixed use after free and deadlocks when loading a model file fails 2024-07-06 22:52:11 +02:00
Shauren
518fe1fd1e Tools/vmap_assembler: Organize vmap files into directory-per-map 2024-07-06 14:29:54 +02:00
Shauren
a0f13391a0 Tools/vmap_extractor: Split temporary dir_bin into multiple files (one per map) to significantly reduce peak memory usage by vmap_assembler 2024-07-06 01:24:26 +02:00
Shauren
35a2d49971 Core/Vmaps: Optimize loading vmaps
* Changed spawn id to BIH tree index mapping from generated on load to baked in tile files
* Remove map holding model load counts and moved that to ModelInstance instead
2024-07-05 21:20:25 +02:00
Shauren
5dbb6b043f Core/Vmaps: Minor cleanup in MapTree - use unique_ptr to manage file handles 2024-07-05 17:48:08 +02:00
Shauren
c8a55f4a18 Core/Vmaps: Minor cleanup in vmap4assembler - use unique_ptr to manage file handles 2024-07-05 13:09:00 +02:00
Shauren
76a3611317 Core/Vmaps: Replace floatToRawIntBits/intBitsToFloat with standard bit_cast utilities 2024-07-05 12:43:02 +02:00
Shauren
ff4fc1ad4e Core/Vmaps: Replace manual reference counting with shared_ptr and slightly reduce memory use by deduplicating model name strings 2024-07-04 22:56:00 +02:00
Shauren
28c9474337 Core/vmaps: Improved WMO detection for group models that don't have floor 2024-03-25 12:18:37 +01:00
Shauren
18200e1b88 Core/vmaps: Reset BIH::bounds on tree rebuilds 2024-03-13 18:19:22 +01:00
Shauren
45ee989c70 Core/vmaps: Removed vmap lookup functions duplicating functionality of each other 2024-03-07 00:23:52 +01:00
Shauren
0697cf8c94 Core/vmaps: Increment vmap format version number 2024-03-06 00:04:19 +01:00
Shauren
a70e758ba5 Tools/vmap_extractor: Move information about model type from spawns in vmap tiles to model file itself 2024-03-06 00:04:19 +01:00
Shauren
1aa04cabe1 Tools/mmaps_generator: Added const on some functions interfacing with vmaps 2024-03-06 00:04:19 +01:00
Ovahlord
97af0c31af Core/Maps: implement LIQUID_MAP_OCEAN_FLOOR to identify units that are on the bottom of a liquid (#29545) 2024-01-02 19:46:44 +01:00
Shauren
86725ed926 Core/MMaps: Fixed pathing for objects that have terrain swaps active 2023-08-08 00:08:10 +02: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
ModoX
6ce6665992 Core/Vmaps: Fix inconsistency of hitInstance and hitModel to cause wrong area ids (#28632)
Closes #28326

Co-authored-by: Gosha <284210+Lordron@users.noreply.github.com>
2022-12-30 00:02:40 +01:00
Shauren
a2ec80b14c Core/vmaps: Stop worldserver startup when gameobject models cannot be loaded 2022-12-20 16:01:28 +01: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
Shauren
c13d26e1fa Core/GameObjects: Use all axis rotations for gameobject model collision, not just orientation 2022-05-22 14:53:05 +02:00
Gosha
428d8dc3b7 Core/Vmaps: Use provided invDirection from G3D::Ray instead of calculating it ourselves (#27883)
Do not calculate inv direction, Ray has one
2022-04-18 21:41:31 +02: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