* This is a platform independent config which is
supported in many editors to set the charset and intendation
automatically on a per project basis.
* The latin1 charset is a workaround for the MSVC
editorconfig support which stores utf-8 with bom
instead of none.
* Fixes MSVC linking errors after the recent changes:
"class boost::none_t const & const boost::`anonymous namespace'
::none" (?none@?A0x518851d0@boost@@3AEBVnone_t@2@EB)
already defined in scripts_commands.lib...
* Sets the required version of boost on windows to 1.59
according to the wiki.
* Delay unloading of shared libraries to the next update tick
to prevent crashes in the destructor of the last referenced
script instance.
* Closes#17557
* Immediate deletion caused issues with the SpellEvent,
so we delete it at one of the next update ticks now.
* Only affects the unforced cancellation of events.
* Ref #16675
* Add platform strings for intel and apple
* Remove usage of underscore uppercase identifiers because
those are reserved for the compiler.
* Requested by Aokromes
(cherry picked from commit afa0bac669ac787e6bd35273c967a58b3e4e2196)
* This fixes the source change detection in linux.
* Also simplifies the detection of observed modules
* Fixes the script rebuilding on linux
* Escape windows paths to (maybe) fix paths with spaces (#16947)
* Broken since 9cc97f226d
* There is still a crash when using lazy unloading which I
will fix in a later commit (this commit should fix at least
the static build and normal usage of the dynamic build).
* Closes#16948
* For easier usage, the processes output it routed
correctly to the TC logger line by line now.
* Add support for asynchronous process execution
and process termination.
* Finally this commit enables dynamic script hotswapping
and finished the PR #15671.
* Split the storage layout to use optimized storages
for database bound and unbound scripts.
* Add several unload workers to reload scripts correctly
-> Requires further investigation.
* Fixes memory leaks in ScriptMgr when dropping invalid scripts.
* Fixes VehicleScripts
* Makes OutdoorPvP scripts reloadable
* Makes InstanceMapScripts reloadable
* Makes CommandScripts reloadable
* Uses system API's which reduces the overhead
instead of checking periodically for changes.
* Will be used in the hotswap system to reload
shared libraries on changes.
* benefits from empty optimization (objects are only constructed if needed).
* supports r-value references (move semantics) (boost >= 1.56.0).
* preparation for c++14/17's std::optional and std::none_t.
* add move constructor to CompactArray.
(cherry picked from commit 800d5d893964a82265577d3352d683035b589f78)
* Prevents double deletion of MySQLConnection after errors
* The object stays valid after an error and will wait for a reconnect
* Also crash the server if 5 reconnects fail
* Corrects an issue where the server was crashed after one reconnect
because mysql_thread_id was invoked with an invalid handle
* Corrects dirty usage of vectors with array indexes
* Removes _connectionCount which is now handled through the vector size
* Rename magic identifier "t" to "connection"
* A PCH is still generated for every target which was passed to the macro
* Resolves naming conflicts when using the same PCH header from multiple projects
* Ref #15671
* Each subdirectory contains it's own translation unit now
which is responsible for loading it's directory
* Improves merging & decoupling between 3.3.5 <-> 6.x
* Removes unused Battleground loader
* Ref #15671
(cherry picked from commit 5534915f743c707c07cb977bca67c2ff15487597)
* Adds CMAKE_COMMAND and CMAKE_BINARY_DIR to revision_data.h
* Move the source and mysql exe path handling out of the DBUpdater.
* Make some Config methods const for correctness.
* Remove C & CXX flags from revision_data.h
(was unused and didn't capture all cxx vars)
* Reorder the link order to prevent `ld` from ignoring the file
* Ref #15671
(cherry picked from commit 719159e2074ac2d0902c70bdd3c7a39e0d311bbe)
* Seems like this feature is stable enough to enable it by default
since the last missing bugs were fixed some months ago.
* The database updater is the preferred method to update the databases
as described in the wiki: http://collab.kpsn.org/display/tc/Databases+Installation
(cherry picked from commit 25185967e8df949e0f13ec0a7ff45b14ba977c76)
* Setting all compiler flags in the cache led to circular bloating of
msvc cxx parameters (was visible in console) which caused MSVC to
rebuild the whole solution even on a small CMake change.
It's not neccessary anyway to set the cxx parameters to the cache
to take effect.
* I'm not sure if the workarround is still needed for MSVC 12+.
* Cleaning the CMake cache is recommended!
* ref #15671
(cherry picked from commit 0946fcf2aa35ebe0b8db07813315e3d6546b9d31)
* was caused through invoking "FindMySQL" after using ${MYSQL_EXECUTABLE}.
* better re-run CMake if you are affected by the mysql exe wasn't found issue.
* makes it possible to write:
```c++
events.ScheduleEvent(1, Seconds(10));
// ... or ...
events.ScheduleEvent(2, Minutes(1) + Seconds(20));
// ... or with C++14 support:
events.ScheduleEvent(2, 45s);
```
(cherry picked from commit e4e55a3dcbd846fd583b4fc86344d88ca63588d7)
* See https://gist.github.com/Naios/25810829e66b7ddd8b82 for the full procedure & sources.
* Most names were taken from commits (3.3.5 & 6.x branch)
* Also contributors who were mentioned in commits were included (@, thx, thanks, Author:, author:)
(cherry picked from commit 5b64df1a26d8b521282ffa41a17ad49a2e99558c)