Commit Graph

29037 Commits

Author SHA1 Message Date
Naios
80d77dfb46 Core/EventProcessor: Wait for non deletable events to get deletable.
* 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
2016-08-10 09:04:55 +02:00
Naios
4065ba87c6 Core/Scripting: Don't force event cancellation when swapping creatures.
* EventProcessor::KillAllEvents(force = false) should only be used
  by the EventProcessor.
2016-08-10 09:04:38 +02:00
Naios
b64cddabaf Build: Throw a fatal error when the SCRIPTS variable isn't a valid option.
* Catches issues early that are caused through a wrong configuration.

(cherry picked from commit 2b97b32d81)
2016-08-10 09:04:13 +02:00
Naios
d4e76b75dc Core/Common: Add the linkage type to the version string
* 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 afa0bac669)
2016-08-10 09:03:50 +02:00
Aokromes
9264bfaf86 Core/Game: Remove some unnecessary export macros 2016-08-10 09:03:10 +02:00
Naios
a682a01270 Core/Common: Move the query callback header to the database project
* Also renames the header to it's correct name QueryCallback
2016-08-10 08:59:35 +02:00
Naios
c4e7dcc04d Core/Scripting: Kill pending unit events when swapping AI's 2016-08-10 08:58:56 +02:00
Naios
2cd46f6f05 Core/Utilities: Inherit env vars when starting external processes 2016-08-10 08:58:38 +02:00
Naios
176f3f1a87 Core/Common: Fix a std::string -> char* -> std::string conversion
* Thanks jackpoz for noticing
2016-08-10 08:58:09 +02:00
Naios
2ec212fdd1 Core/Scripting: Use the systems temporary path for caching shared libs
* Disables the shared library caching on platforms completely which
  never block files on usage (like linux).
2016-08-10 08:57:12 +02:00
Naios
7a827fe435 Core/Cryptography: Move the SHA1 calculate helper to the SHA1 header 2016-08-10 08:56:37 +02:00
Naios
8289ed64d6 Core/Scripting: Add the info how much time the system took to reload 2016-08-10 08:56:11 +02:00
Naios
7da338e282 Core/Scripting: Change the INFO logger of the hotswap system to enabled 2016-08-10 08:55:43 +02:00
Naios
b7ca3ad47d Core/Scripting: Improve the error message when the script reloader fails to create a cache entry
(cherry picked from commit 8fa52860ab)
2016-08-10 08:55:12 +02:00
Naios
d1e5084c27 Core/Scripting: Fix a typo in b970a684 2016-08-10 08:54:52 +02:00
Naios
65feb528e5 Core/Scripting: Wait until the debugger is detached before rebuilding scripts.
* Thanks Shauren for the IsDebuggerPresent() hint.
2016-08-10 08:54:26 +02:00
Naios
3c4f4a9473 Core/Worldserver: Correct the default comment of HotSwap.EnableReCompiler
* Thanks jackpoz for noticing
2016-08-10 08:54:03 +02:00
Naios
9eab8427cc Core/Scripting: Fix detection of source changes when using inotify.
* 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)
2016-08-10 08:53:38 +02:00
Naios
273ee4f87f Core/Scripting: Fix an assertion which was triggered at lazy unloading
* Also fixes 2 warnings
2016-08-10 08:53:09 +02:00
Naios
785c17381c Core/Scripting: Fix loading of spell/aurascripts
* 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
2016-08-10 08:52:30 +02:00
Naios
a75d2b01fb Core/Common: Capsule boost process into helper functions
* 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.
2016-08-10 08:51:52 +02:00
Aokromes
e0cb17f098 Core/Shared: Converted the shared library to a shared library ,-).
* There is still the possibility to static link against shared.
2016-08-10 08:49:33 +02:00
Naios
0b82bc2d0d Core/Database: Converted the database library to a shared library.
* There is still the possibility to static link against database.

(cherry picked from commit 6cfea2d8f7)
2016-08-10 08:45:27 +02:00
Naios
293d51c8b0 Core/Scripting: Fix another warning when building statically 2016-08-10 08:43:32 +02:00
Naios
e23d063f5a Core/Game: Rewrote the ScriptMgr to support script reloading.
* 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
2016-08-10 08:40:44 +02:00
Naios
3957fbf176 Core/Scripting: Fix a warning when building statically 2016-08-10 08:25:28 +02:00
Aokromes
231d680826 typo fix 2016-08-10 08:21:10 +02:00
Aokromes
384a5216fd Core/Common: Converted the common library to a shared library.
* There is still the possibility to static link against common.
2016-08-10 08:19:25 +02:00
Aokromes
0a40d49839 Delete file copied instead moved. 2016-08-10 08:00:21 +02:00
Shauren
f1c84639b5 Core/Misc: Warning fixes (/W4)
(cherry picked from commit c9ba5ce591)
2016-08-10 06:41:59 +02:00
Aokromes
436cdfd7c9 Core/Game: Move scheduled map scripts counter methods into MapManager
* Since those have nothing to do with core scripts and are
  not wished inside the ScriptMgr
2016-08-10 06:40:03 +02:00
Aokromes
9078085595 Core/Scripts: Split script subdirectories into independent modules
* Makes it possible to define the linkage for every module
* Move the ScriptPCH into the root directory
* Changes the SCRIPTS cmake variable to a string type:
  -> -DSCRIPTS=0 is -DSCRIPTS="minimal-static" now
     (builds commands and spells statically)
  -> -DSCRIPTS=1 is -DSCRIPTS="static" now
     (builds all modules statically)
  -> -DSCRIPTS="dynamic"
     (builds all modules dynamically)
  -> Also the default value which is provided by the SCRIPTS
     variable is overwriteable through the SCRIPTS_COMMANDS,
     SCRIPTS_SPELLS... variable.
2016-08-10 05:14:53 +02:00
Aokromes
4905073101 Buildsystem: Initial changes to support building with vs clang toolset 2016-08-10 04:43:29 +02:00
Naios
aece2b85da Core/Scripts: Link the script project always statically
(cherry picked from commit 428908b8db)
2016-08-10 04:18:41 +02:00
Aokromes
e8e164e28f Core/Game: Add a dynamic script reloader which reloads scripts modules on changes.
* is responsible for registering plain modules.
* requires compilation with the `WITH_DYNAMIC_LINKING` flag.
* requires further support of the ScriptMgr.
2016-08-10 03:29:20 +02:00
Naios
3d25c14e74 Core/Build: Enable /bigobj for most MSVC builds.
* exluding 32 bit when dyynamic linking is disabled.

(cherry picked from commit 183f970055)
2016-08-10 01:34:43 +02:00
Aokromes
e27a5b7816 Core/Build: Provide an interface target for game
* Increases the build time because dependent projects can build
  without waiting for the game project.
2016-08-10 01:22:56 +02:00
Aokromes
08341818f6 CMake: Use inherited dependencies in worldserver and authserver 2016-08-10 01:00:17 +02:00
Aokromes
7ef9b246b5 CMake: Use inherited dependencies in scripts
* Removes the circular dependency between game <-> scripts
2016-08-10 00:33:48 +02:00
Aokromes
b96f20c0d4 CMake: Remove the workaround for source groups below CMake 2.8.12
* Set the default option to hierarchical
* Add a new "hierarchical-folders" option which enables folders inside IDE's.
2016-08-09 23:49:31 +02:00
Aokromes
fee20bf1d9 typo fix 2016-08-08 22:01:10 +02:00
Naios
dc4ff7a9f2 Dep: Add efsw (entropia file system watcher)
* 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.
2016-08-08 21:51:31 +02:00
Aokromes
8e95859a41 missing change 2016-08-08 21:08:58 +02:00
Aokromes
5302d9112b Core/Game: Converted the game library to a shared library.
* There is still the possibility to static link against game.
2016-08-08 20:11:29 +02:00
Aokromes
b2348b8915 CMake: Use inherited dependencies in database, shared and game 2016-08-08 18:07:57 +02:00
Aokromes
8a58b9a295 Update README.md 2016-08-08 01:43:49 +00:00
Aokromes
1c4054cde7 Add missing code 2016-08-07 23:49:43 +02:00
Aokromes
1de270f4e2 compile fix. 2016-08-07 23:46:26 +02:00
ariel-
879992e502 Update ObjectMgr.cpp 2016-08-07 21:52:26 +02:00
Aokromes
b10e5d5408 Core/Logs: Fine tune more logs
And move others to more logical appenders
2016-08-07 21:50:22 +02:00