Commit Graph

29046 Commits

Author SHA1 Message Date
ariel-
084cb60ede Core/Entities: rename ItemPrototype to ItemTemplate 2016-08-10 10:13:36 +02:00
ariel-
60bf76a9c9 Update ItemPrototype.cpp, codestyle and indentation cleanup 2016-08-10 10:13:14 +02:00
Aokromes
7f357ef3d5 Core/Items: Move Item::GetSkill to ItemPrototype::GetSkill
Also moved some methods of ItemPrototype to .cpp

Thanks to Yehonal for the original patch
2016-08-10 10:11:25 +02:00
Aokromes
fecaa647c6 Core/Misc: Moved RealmList to shared 2016-08-10 09:43:37 +02:00
Aokromes
c9d63c3cb0 Core: Removed Whitespaces 2016-08-10 09:29:13 +02:00
Aokromes
d9ec21ad5c Compile fix (at least on linux) travis is still unhappy 2016-08-10 09:15:42 +02:00
Aokromes
1657f0f52d remove incorrect code 2016-08-10 09:14:10 +02:00
Naios
efa3d00ebf Core/Scripting: Fix acquiring of references between script swaps
* Delay unloading of shared libraries to the next update tick
  to prevent crashes in the destructor of the last referenced
  script instance.
* Closes #17557
2016-08-10 09:05:43 +02:00
Naios
a354feb48b Core/EventProcessor: Check whether an event was aborted before aborting it.
* Fixes an assertion introduced in commit 1ad73212dc.
* Use itr = std::unordered_map<...>::erase for updating the iterator.
2016-08-10 09:05:17 +02:00
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