Commit Graph

607 Commits

Author SHA1 Message Date
Shauren
fff12eafdf Core/Common: Catch and log child process creation errors 2024-09-23 14:17:33 +02:00
Shauren
f3b8503ba6 Core/CrashHandler: Output inlined stack frames 2024-09-23 00:18:06 +02:00
Shauren
e76df583f0 Core/CrashHandler: Make WheatyExceptionReport fields not static to ensure consistent destruction order 2024-09-23 00:18:06 +02:00
Shauren
7ac0c685dd Build: Add WITH_WARNINGS_AS_ERRORS cmake option that turns compile warnings into compile errors 2024-09-20 13:19:42 +02:00
Shauren
a21e7c738e Build: Automatically include WindowsSettings.manifest in all executables instead of listing it separately as source file in every target 2024-09-15 12:55:50 +02:00
Shauren
052f2d0a81 Core/Common: Compile ServiceWin32 as part of common project instead of directly adding its source files to both server executables 2024-09-15 12:40:54 +02:00
Shauren
fd0a7ba871 Core/CrashHandler: Compile WheatyExceptionReport only once and moved its global variable initializer to all projects using it 2024-09-15 12:13:54 +02:00
Shauren
f270686201 Core/Common: Output stdout/stderr from child process without waiting for it to finish 2024-09-14 14:45:40 +02:00
Shauren
dbe8d1f11e Core: Remove boost iostreams dependency 2024-09-14 13:50:56 +02:00
Shauren
652d490b06 Core/Misc: Fix GitRevision::GetHostOSVersion compilation on arch linux, TRINITY_BUILD_HOST_DISTRO_VERSION_ID is not defined there 2024-09-10 12:45:40 +02:00
Shauren
e8740fb2e1 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)
2024-09-03 12:06:16 +02:00
Shauren
edb20999a3 Core/Utils: Unwrap non-copyable pointers (unique_ptr) from Trinity::Containers::MapGetValuePtr 2024-08-17 12:40:27 +02:00
Ovahlord
bebd02925d Core/Logging: fixed nopch build for msvc compilers (#30126) 2024-07-31 16:37:48 +02:00
Shauren
ab5fab5ee9 Build: Fixed CMake 3.30 FindBoost deprecation warning 2024-07-18 12:42:31 +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
81bec6954f Core/Logging: Minor internal refactor
* Avoid formatting to output with fprintf
* Use vector instead of unordered_map to store appenders in Logger
2024-07-16 16:31:40 +02:00
Shauren
77fe2745fe 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
2024-07-15 15:24:35 +02:00
Shauren
054dd3596f 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) 2024-07-14 13:12:10 +02:00
Shauren
1cd7898c01 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) 2024-07-10 14:51:29 +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
11a252e601 Tools/vmap_assembler: Multithread building vmaps 2024-07-06 12:56:59 +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
321161230f Core/Spells: Implemented SPELL_ATTR9_ITEM_PASSIVE_ON_CLIENT 2024-07-02 11:12:16 +02:00
Shauren
2f15a815b5 Build fix 2024-06-02 14:38:56 +02:00
Shauren
fd4ffc81b2 Core/Misc: Fixed windows _UNICODE incompatibilities 2024-06-02 14:21:13 +02:00
Shauren
4f6b49cccf Core/Crypto: Rename our Argon2 to avoid possible conflict with library file on some configurations 2024-06-02 00:18:33 +02:00
Ovahlord
728e7c7fcf 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
2024-05-12 15:48:39 +02:00
Shauren
83f4763b25 Core/Misc: Minor change to make_unique_ptr_with_deleter to make it accept only pointers 2024-05-07 12:26:21 +02:00
Shauren
2aedd8ecdb Dep/fmt: Upgrade to 10.2.1 2024-05-03 19:38:57 +02:00
Shauren
39fc9f8000 Core/Misc: Minor fixes in preparation to support fmt v10 2024-05-02 19:46:18 +02:00
Shauren
cfa838df5d Core/Misc: Support boost 1.85 2024-04-22 11:52:58 +02:00
lee
5c4b1ace41 Build: Fix Linux aarch64 GCC build (#29831)
(cherry picked from commit 370685457e)
2024-03-27 10:50:42 +01: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
ac5aee6a98 Core: Updated to 10.2.6.53840 2024-03-21 21:07:23 +01:00
Shauren
e99482ce9b Core/Logging: Fix intellisense errors - people don't like it when code glows red without a reason 2024-03-19 13:24:23 +01:00
Shauren
e121ed81d1 Core/Logging: Improved generated code for log statements (length of text is computed at compile time) 2024-03-15 20:46:10 +01:00
Shauren
18200e1b88 Core/vmaps: Reset BIH::bounds on tree rebuilds 2024-03-13 18:19:22 +01:00
Shauren
f690b69338 Core/Utils: unique_trackable_ptr improvements
* Added comparison operators
* Added type casting helper functions
2024-03-13 17:04:26 +01:00
Shauren
6b255efb2d Core/Utils: Added missing member access in unique_trackable_ptr move assignment operator 2024-03-12 21:02:28 +01:00
Shauren
1f3ebbb23c Fix tests build 2024-03-11 18:25:17 +01:00
Shauren
261a237cfa Core/Misc: Fixed windows nopch build 2024-03-11 18:17:08 +01:00
Shauren
32e54b6bd1 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
2024-03-11 18:16:34 +01:00
Shauren
45ee989c70 Core/vmaps: Removed vmap lookup functions duplicating functionality of each other 2024-03-07 00:23:52 +01:00