Commit Graph

604 Commits

Author SHA1 Message Date
Shauren 70d2b3b34d Build: Add WITH_WARNINGS_AS_ERRORS cmake option that turns compile warnings into compile errors
(cherry picked from commit 7ac0c685dd)
2024-09-21 05:50:20 +02:00
Shauren bf0e2fc469 Build: Automatically include WindowsSettings.manifest in all executables instead of listing it separately as source file in every target
(cherry picked from commit a21e7c738e)
2024-09-16 17:32:34 +02:00
Shauren 7972d45a86 Core/Common: Compile ServiceWin32 as part of common project instead of directly adding its source files to both server executables
(cherry picked from commit 052f2d0a81)
2024-09-16 17:32:28 +02:00
Shauren b0b87aeea1 Core/CrashHandler: Compile WheatyExceptionReport only once and moved its global variable initializer to all projects using it
(cherry picked from commit fd0a7ba871)
2024-09-16 17:32:22 +02:00
Shauren ec85afdbc7 Core/Common: Output stdout/stderr from child process without waiting for it to finish
(cherry picked from commit f270686201)
2024-09-16 17:32:15 +02:00
Shauren 085aadea36 Core: Remove boost iostreams dependency
(cherry picked from commit dbe8d1f11e)
2024-09-16 17:32:11 +02:00
Shauren 1a00001eb0 Core/Misc: Fix GitRevision::GetHostOSVersion compilation on arch linux, TRINITY_BUILD_HOST_DISTRO_VERSION_ID is not defined there
(cherry picked from commit 652d490b06)
2024-09-12 21:46:49 +02:00
Shauren fdd44f70dd Core/Misc: CompilerDefs/GitRevision improvements
* Removed INTEL as a separate platform (it does not belong there)
* Removed BORLAND from known compilers list (it was never supported)
* Simplified TRINITY_PLATFORM_WINDOWS detection (_WIN32 is always defined)
* Rename revision_data.h macros that begin with a underscore
* Added processor architecture to --version string
* Added Linux distribution name to .server debug
* Fixed some revision_data.h macros missing/wrong values when regenerated during compilation
* Removed manual adding of _WIN64 macro from cmake (it is predefined internally by compiler)

(cherry picked from commit e8740fb2e1)

# Conflicts:
#	revision_data.h.in.cmake
2024-09-03 19:56:38 +02:00
Shauren 6051a553eb Core/Utils: Unwrap non-copyable pointers (unique_ptr) from Trinity::Containers::MapGetValuePtr
(cherry picked from commit edb20999a3)
2024-08-17 14:05:57 +02:00
Ovahlord 8c6b9186ca Core/Logging: fixed nopch build for msvc compilers (#30126)
(cherry picked from commit bebd02925d)
2024-07-31 16:38:26 +02:00
Shauren 284e782917 Build: Fixed CMake 3.30 FindBoost deprecation warning
(cherry picked from commit ab5fab5ee9)
2024-07-18 22:37:18 +02:00
Shauren f9451f1cf5 Added missing GameObjectModel::iLosBlockingDisabled initialization in constructor
(cherry picked from commit b3763c338d)
2024-07-18 22:37:14 +02:00
Shauren d7a26b3897 Core/GameObject: Implemented NotLOSBlocking door property
(cherry picked from commit 2756ca1c35)
2024-07-18 22:37:10 +02:00
Shauren fc27c71dee Core/Logging: Minor internal refactor
* Avoid formatting to output with fprintf
* Use vector instead of unordered_map to store appenders in Logger

(cherry picked from commit 81bec6954f)
2024-07-18 22:34:07 +02:00
Shauren c12f669fc5 Build: CMake cleanup
* Migrate all add_definitions to target_compile_definitions
* Remove -D from preprocessor definitions added by target_compile_definitions (unneccessary, cmake strips it anyway)
* Fixed NO_BUFFERPOOL not being set on g3d if jemalloc is used
* Moved library/compiler specific compile flag settings spread all over various CMakeLists to their related library/compiler file
* Remove ancient manual link flag settings for worldserver

(cherry picked from commit 77fe2745fe)
2024-07-18 22:34:00 +02:00
Shauren d0927c1094 Core/Utils: Transform char toUpper/toLower functions into callable function objects to better integrate with std algorithms (not calling through a function pointer allows inlining)
(cherry picked from commit 054dd3596f)
2024-07-14 19:03:07 +02:00
Shauren 4c4f5f0ae4 Core/Logging: Removed one layer of allocations from log message writes (async doesn't wrap in shared_ptr anymore and sync creates LogMessage on the stack)
(cherry picked from commit 1cd7898c01)
2024-07-11 19:06:51 +02:00
Shauren 120bea629d Core/Vmaps: Fixed use after free and deadlocks when loading a model file fails
(cherry picked from commit d05dbaaecb)
2024-07-06 22:59:34 +02:00
Shauren 1a3ad52a0b Tools/vmap_assembler: Organize vmap files into directory-per-map
(cherry picked from commit 518fe1fd1e)
2024-07-06 15:36:52 +02:00
Shauren f40c4e3218 Tools/vmap_assembler: Multithread building vmaps
(cherry picked from commit 11a252e601)
2024-07-06 15:36:43 +02:00
Shauren e46cad36d2 Tools/vmap_extractor: Split temporary dir_bin into multiple files (one per map) to significantly reduce peak memory usage by vmap_assembler
(cherry picked from commit a0f13391a0)

# Conflicts:
#	src/tools/vmap4_extractor/vmapexport.cpp
2024-07-06 15:36:37 +02:00
Shauren caf4c02da8 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

(cherry picked from commit 35a2d49971)
2024-07-06 15:36:10 +02:00
Shauren 5acd308550 Core/Vmaps: Minor cleanup in MapTree - use unique_ptr to manage file handles
(cherry picked from commit 5dbb6b043f)
2024-07-06 15:36:06 +02:00
Shauren 5ed6b5e53a Core/Vmaps: Minor cleanup in vmap4assembler - use unique_ptr to manage file handles
(cherry picked from commit c8a55f4a18)
2024-07-06 15:35:54 +02:00
Shauren b62b0e9317 Core/Vmaps: Replace floatToRawIntBits/intBitsToFloat with standard bit_cast utilities
(cherry picked from commit 76a3611317)
2024-07-06 15:35:42 +02:00
Shauren 0a1d2c7813 Core/Vmaps: Replace manual reference counting with shared_ptr and slightly reduce memory use by deduplicating model name strings
(cherry picked from commit ff4fc1ad4e)
2024-07-05 04:43:39 +02:00
Shauren de5215b3bc Core/Spells: Implemented SPELL_ATTR9_ITEM_PASSIVE_ON_CLIENT
(cherry picked from commit 321161230f)
2024-07-05 04:43:01 +02:00
Shauren f8b21add51 Build fix
(cherry picked from commit 2f15a815b5)
2024-06-20 01:15:39 +02:00
Shauren 970ca6093c Core/Misc: Fixed windows _UNICODE incompatibilities
(cherry picked from commit fd4ffc81b2)
2024-06-20 01:15:34 +02:00
Shauren b6714f5746 Core/Crypto: Rename our Argon2 to avoid possible conflict with library file on some configurations
(cherry picked from commit 4f6b49cccf)
2024-06-20 01:15:30 +02:00
Ovahlord 333d5751a9 Core/Cryptography: dropped support for OpenSSL 1.1
OpenSSL 1.1 has been deprecated for quite some time now so it is time to put it to rest. Please upgrade to OpenSSL 3.x

(cherry picked from commit 728e7c7fcf)
2024-05-28 16:59:07 +02:00
Shauren 249eb19fe1 Core/Misc: Minor change to make_unique_ptr_with_deleter to make it accept only pointers
(cherry picked from commit 83f4763b25)
2024-05-28 16:55:30 +02:00
Shauren 814c5c3a4b Dep/fmt: Upgrade to 10.2.1
(cherry picked from commit 2aedd8ecdb)
2024-05-28 16:49:58 +02:00
Shauren 2ceae541cc Core/Misc: Minor fixes in preparation to support fmt v10
(cherry picked from commit 39fc9f8000)
2024-05-28 16:49:12 +02:00
Shauren 78805e49c0 Core/Misc: Support boost 1.85
(cherry picked from commit cfa838df5d)
2024-05-28 16:43:54 +02:00
lee a9813ee6bb Build: Fix Linux aarch64 GCC build (#29831)
(cherry picked from commit 370685457e)
(cherry picked from commit 5c4b1ace41)
2024-03-28 20:27:25 +01:00
Shauren 04e7c62341 Core/vmaps: Improved WMO detection for group models that don't have floor
(cherry picked from commit 28c9474337)
2024-03-28 20:24:09 +01:00
funjoker e769af1044 Core: port sneaky fixes from "Core: Updated to 10.2.6.53840" 2024-03-28 20:20:04 +01:00
Shauren b8bdce306a Core/Logging: Fix intellisense errors - people don't like it when code glows red without a reason
(cherry picked from commit e99482ce9b)
2024-03-25 20:37:05 +01:00
Shauren c6cff20258 Core/Logging: Improved generated code for log statements (length of text is computed at compile time)
(cherry picked from commit e121ed81d1)
2024-03-25 20:22:58 +01:00
Shauren 382d67622f Core/vmaps: Reset BIH::bounds on tree rebuilds
(cherry picked from commit 18200e1b88)
2024-03-25 20:18:58 +01:00
Shauren fe9c30f404 Core/Utils: unique_trackable_ptr improvements
* Added comparison operators
* Added type casting helper functions

(cherry picked from commit f690b69338)
2024-03-25 20:18:39 +01:00
Shauren 22bf2daaf7 Core/Utils: Added missing member access in unique_trackable_ptr move assignment operator
(cherry picked from commit 6b255efb2d)
2024-03-25 20:18:23 +01:00
Shauren b45f7583c7 Fix tests build
(cherry picked from commit 1f3ebbb23c)
2024-03-25 20:16:47 +01:00
Shauren ed11978fb8 Core/Misc: Fixed windows nopch build
(cherry picked from commit 261a237cfa)
2024-03-25 20:16:37 +01:00
Shauren 8acf79193f Core/Utils: Added a custom smart pointer type unique_trackable_ptr - a specialized variant of std::shared_ptr that enforces unique ownership
* This is intended to be used by external code unable to track object lifetime such as custom scripting engines

(cherry picked from commit 32e54b6bd1)
2024-03-25 20:16:28 +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