From 1d2aafd39bcb79a67357d198ce9b2345642fdd39 Mon Sep 17 00:00:00 2001 From: StormBytePP Date: Wed, 19 Aug 2015 19:02:10 +0200 Subject: [PATCH] Core/Build: Merge common library and move database out of shared --- CMakeLists.txt | 2 - src/CMakeLists.txt | 6 +- src/common/CMakeLists.txt | 87 ++++++++++++++++ .../Collision}/BoundingIntervalHierarchy.cpp | 0 .../Collision}/BoundingIntervalHierarchy.h | 0 .../BoundingIntervalHierarchyWrapper.h | 0 .../Collision}/DynamicTree.cpp | 0 .../Collision}/DynamicTree.h | 0 .../Collision}/Management/IVMapManager.h | 0 .../Collision}/Management/MMapFactory.cpp | 0 .../Collision}/Management/MMapFactory.h | 0 .../Collision}/Management/MMapManager.cpp | 8 +- .../Collision}/Management/MMapManager.h | 3 +- .../Collision}/Management/VMapFactory.cpp | 0 .../Collision}/Management/VMapFactory.h | 0 .../Collision}/Management/VMapManager2.cpp | 0 .../Collision}/Management/VMapManager2.h | 0 src/common/Collision/Maps/MapDefines.h | 36 +++++++ .../Collision}/Maps/MapTree.cpp | 0 .../Collision}/Maps/MapTree.h | 0 .../Collision}/Maps/TileAssembler.cpp | 0 .../Collision}/Maps/TileAssembler.h | 0 .../Collision}/Models/GameObjectModel.cpp | 0 .../Collision}/Models/GameObjectModel.h | 0 .../Collision}/Models/ModelInstance.cpp | 0 .../Collision}/Models/ModelInstance.h | 0 .../Collision}/Models/WorldModel.cpp | 0 .../Collision}/Models/WorldModel.h | 0 .../Collision}/RegularGrid.h | 0 .../Collision}/VMapDefinitions.h | 0 .../Collision}/VMapTools.h | 0 src/{server/shared => common}/Common.cpp | 0 src/{server/shared => common}/Common.h | 0 src/{server/shared => common}/CompilerDefs.h | 0 .../Configuration/Config.cpp | 0 .../shared => common}/Configuration/Config.h | 0 .../shared => common}/Cryptography/ARC4.cpp | 0 .../shared => common}/Cryptography/ARC4.h | 0 .../Cryptography/BigNumber.cpp | 0 .../Cryptography/BigNumber.h | 0 .../Cryptography/HmacHash.cpp | 0 .../shared => common}/Cryptography/HmacHash.h | 0 .../Cryptography/OpenSSLCrypto.cpp | 0 .../Cryptography/OpenSSLCrypto.h | 0 .../shared => common}/Cryptography/SHA1.cpp | 0 .../shared => common}/Cryptography/SHA1.h | 0 .../shared => common}/Cryptography/SHA256.cpp | 0 .../shared => common}/Cryptography/SHA256.h | 0 .../Cryptography/WardenKeyGeneration.h | 0 .../shared => common}/Debugging/Errors.cpp | 0 .../shared => common}/Debugging/Errors.h | 0 .../Debugging/WheatyExceptionReport.cpp | 0 .../Debugging/WheatyExceptionReport.h | 0 src/{server/shared => common}/Define.h | 0 src/{server/shared => common}/GitRevision.cpp | 0 src/{server/shared => common}/GitRevision.h | 0 .../shared => common}/Logging/Appender.cpp | 0 .../shared => common}/Logging/Appender.h | 0 .../Logging/AppenderConsole.cpp | 0 .../Logging/AppenderConsole.h | 0 .../Logging/AppenderFile.cpp | 0 .../shared => common}/Logging/AppenderFile.h | 0 src/{server/shared => common}/Logging/Log.cpp | 1 - src/{server/shared => common}/Logging/Log.h | 0 .../Logging/LogOperation.cpp | 0 .../shared => common}/Logging/LogOperation.h | 0 .../shared => common}/Logging/Logger.cpp | 0 .../shared => common}/Logging/Logger.h | 0 src/common/PrecompiledHeaders/commonPCH.cpp | 1 + .../PrecompiledHeaders/commonPCH.h} | 1 + .../shared => common}/Threading/Callback.h | 0 .../shared => common}/Threading/LockedQueue.h | 0 .../Threading/ProcessPriority.h | 0 .../Threading/ProducerConsumerQueue.h | 0 .../Utilities/ByteConverter.h | 0 .../shared => common}/Utilities/Duration.h | 0 .../shared => common}/Utilities/EventMap.cpp | 0 .../shared => common}/Utilities/EventMap.h | 0 .../Utilities/EventProcessor.cpp | 0 .../Utilities/EventProcessor.h | 0 .../Utilities/StringFormat.h | 0 .../Utilities/TaskScheduler.cpp | 0 .../Utilities/TaskScheduler.h | 0 .../shared => common}/Utilities/Timer.h | 0 .../shared => common}/Utilities/Util.cpp | 0 .../shared => common}/Utilities/Util.h | 0 src/server/CMakeLists.txt | 30 +++--- src/server/bnetserver/CMakeLists.txt | 22 +++-- src/server/collision/CMakeLists.txt | 98 ------------------- .../PrecompiledHeaders/collisionPCH.cpp | 1 - src/server/database/CMakeLists.txt | 75 ++++++++++++++ .../Database/AdhocStatement.cpp | 0 .../Database/AdhocStatement.h | 0 .../Database/DatabaseEnv.h | 0 .../Database/DatabaseLoader.cpp | 0 .../Database/DatabaseLoader.h | 0 .../Database/DatabaseWorker.cpp | 0 .../Database/DatabaseWorker.h | 0 .../Database/DatabaseWorkerPool.h | 0 .../{shared => database}/Database/Field.cpp | 0 .../{shared => database}/Database/Field.h | 0 .../Implementation/CharacterDatabase.cpp | 0 .../Implementation/CharacterDatabase.h | 0 .../Implementation/HotfixDatabase.cpp | 0 .../Database/Implementation/HotfixDatabase.h | 0 .../Database/Implementation/LoginDatabase.cpp | 0 .../Database/Implementation/LoginDatabase.h | 0 .../Database/Implementation/WorldDatabase.cpp | 0 .../Database/Implementation/WorldDatabase.h | 0 .../Database/MySQLConnection.cpp | 0 .../Database/MySQLConnection.h | 0 .../Database/MySQLThreading.h | 0 .../Database/PreparedStatement.cpp | 0 .../Database/PreparedStatement.h | 0 .../Database/QueryHolder.cpp | 0 .../Database/QueryHolder.h | 0 .../Database/QueryResult.cpp | 0 .../Database/QueryResult.h | 0 .../Database/SQLOperation.h | 0 .../Database/Transaction.cpp | 0 .../Database/Transaction.h | 0 .../Logging/AppenderDB.cpp | 0 .../{shared => database}/Logging/AppenderDB.h | 0 .../PrecompiledHeaders/databasePCH.cpp | 1 + .../database/PrecompiledHeaders/databasePCH.h | 23 +++++ .../Updater/DBUpdater.cpp | 0 .../{shared => database}/Updater/DBUpdater.h | 0 .../Updater/UpdateFetcher.cpp | 0 .../Updater/UpdateFetcher.h | 0 src/server/game/CMakeLists.txt | 28 +++--- src/server/game/Miscellaneous/SharedDefines.h | 29 ------ src/server/game/Movement/PathGenerator.h | 2 +- src/server/ipc/CMakeLists.txt | 4 +- src/server/scripts/CMakeLists.txt | 27 ++--- src/server/shared/CMakeLists.txt | 35 +++---- .../shared/PrecompiledHeaders/sharedPCH.h | 1 - .../{Utilities => Service}/ServiceWin32.cpp | 0 .../{Utilities => Service}/ServiceWin32.h | 0 src/server/worldserver/CMakeLists.txt | 32 +++--- src/tools/connection_patcher/CMakeLists.txt | 10 +- src/tools/mmaps_generator/CMakeLists.txt | 16 +-- src/tools/vmap4_assembler/CMakeLists.txt | 12 +-- 142 files changed, 346 insertions(+), 245 deletions(-) create mode 100644 src/common/CMakeLists.txt rename src/{server/collision => common/Collision}/BoundingIntervalHierarchy.cpp (100%) rename src/{server/collision => common/Collision}/BoundingIntervalHierarchy.h (100%) rename src/{server/collision => common/Collision}/BoundingIntervalHierarchyWrapper.h (100%) rename src/{server/collision => common/Collision}/DynamicTree.cpp (100%) rename src/{server/collision => common/Collision}/DynamicTree.h (100%) rename src/{server/collision => common/Collision}/Management/IVMapManager.h (100%) rename src/{server/collision => common/Collision}/Management/MMapFactory.cpp (100%) rename src/{server/collision => common/Collision}/Management/MMapFactory.h (100%) rename src/{server/collision => common/Collision}/Management/MMapManager.cpp (98%) rename src/{server/collision => common/Collision}/Management/MMapManager.h (99%) rename src/{server/collision => common/Collision}/Management/VMapFactory.cpp (100%) rename src/{server/collision => common/Collision}/Management/VMapFactory.h (100%) rename src/{server/collision => common/Collision}/Management/VMapManager2.cpp (100%) rename src/{server/collision => common/Collision}/Management/VMapManager2.h (100%) create mode 100644 src/common/Collision/Maps/MapDefines.h rename src/{server/collision => common/Collision}/Maps/MapTree.cpp (100%) rename src/{server/collision => common/Collision}/Maps/MapTree.h (100%) rename src/{server/collision => common/Collision}/Maps/TileAssembler.cpp (100%) rename src/{server/collision => common/Collision}/Maps/TileAssembler.h (100%) rename src/{server/collision => common/Collision}/Models/GameObjectModel.cpp (100%) rename src/{server/collision => common/Collision}/Models/GameObjectModel.h (100%) rename src/{server/collision => common/Collision}/Models/ModelInstance.cpp (100%) rename src/{server/collision => common/Collision}/Models/ModelInstance.h (100%) rename src/{server/collision => common/Collision}/Models/WorldModel.cpp (100%) rename src/{server/collision => common/Collision}/Models/WorldModel.h (100%) rename src/{server/collision => common/Collision}/RegularGrid.h (100%) rename src/{server/collision => common/Collision}/VMapDefinitions.h (100%) rename src/{server/collision => common/Collision}/VMapTools.h (100%) rename src/{server/shared => common}/Common.cpp (100%) rename src/{server/shared => common}/Common.h (100%) rename src/{server/shared => common}/CompilerDefs.h (100%) rename src/{server/shared => common}/Configuration/Config.cpp (100%) rename src/{server/shared => common}/Configuration/Config.h (100%) rename src/{server/shared => common}/Cryptography/ARC4.cpp (100%) rename src/{server/shared => common}/Cryptography/ARC4.h (100%) rename src/{server/shared => common}/Cryptography/BigNumber.cpp (100%) rename src/{server/shared => common}/Cryptography/BigNumber.h (100%) rename src/{server/shared => common}/Cryptography/HmacHash.cpp (100%) rename src/{server/shared => common}/Cryptography/HmacHash.h (100%) rename src/{server/shared => common}/Cryptography/OpenSSLCrypto.cpp (100%) rename src/{server/shared => common}/Cryptography/OpenSSLCrypto.h (100%) rename src/{server/shared => common}/Cryptography/SHA1.cpp (100%) rename src/{server/shared => common}/Cryptography/SHA1.h (100%) rename src/{server/shared => common}/Cryptography/SHA256.cpp (100%) rename src/{server/shared => common}/Cryptography/SHA256.h (100%) rename src/{server/shared => common}/Cryptography/WardenKeyGeneration.h (100%) rename src/{server/shared => common}/Debugging/Errors.cpp (100%) rename src/{server/shared => common}/Debugging/Errors.h (100%) rename src/{server/shared => common}/Debugging/WheatyExceptionReport.cpp (100%) rename src/{server/shared => common}/Debugging/WheatyExceptionReport.h (100%) rename src/{server/shared => common}/Define.h (100%) rename src/{server/shared => common}/GitRevision.cpp (100%) rename src/{server/shared => common}/GitRevision.h (100%) rename src/{server/shared => common}/Logging/Appender.cpp (100%) rename src/{server/shared => common}/Logging/Appender.h (100%) rename src/{server/shared => common}/Logging/AppenderConsole.cpp (100%) rename src/{server/shared => common}/Logging/AppenderConsole.h (100%) rename src/{server/shared => common}/Logging/AppenderFile.cpp (100%) rename src/{server/shared => common}/Logging/AppenderFile.h (100%) rename src/{server/shared => common}/Logging/Log.cpp (99%) rename src/{server/shared => common}/Logging/Log.h (100%) rename src/{server/shared => common}/Logging/LogOperation.cpp (100%) rename src/{server/shared => common}/Logging/LogOperation.h (100%) rename src/{server/shared => common}/Logging/Logger.cpp (100%) rename src/{server/shared => common}/Logging/Logger.h (100%) create mode 100644 src/common/PrecompiledHeaders/commonPCH.cpp rename src/{server/collision/PrecompiledHeaders/collisionPCH.h => common/PrecompiledHeaders/commonPCH.h} (91%) rename src/{server/shared => common}/Threading/Callback.h (100%) rename src/{server/shared => common}/Threading/LockedQueue.h (100%) rename src/{server/shared => common}/Threading/ProcessPriority.h (100%) rename src/{server/shared => common}/Threading/ProducerConsumerQueue.h (100%) rename src/{server/shared => common}/Utilities/ByteConverter.h (100%) rename src/{server/shared => common}/Utilities/Duration.h (100%) rename src/{server/shared => common}/Utilities/EventMap.cpp (100%) rename src/{server/shared => common}/Utilities/EventMap.h (100%) rename src/{server/shared => common}/Utilities/EventProcessor.cpp (100%) rename src/{server/shared => common}/Utilities/EventProcessor.h (100%) rename src/{server/shared => common}/Utilities/StringFormat.h (100%) rename src/{server/shared => common}/Utilities/TaskScheduler.cpp (100%) rename src/{server/shared => common}/Utilities/TaskScheduler.h (100%) rename src/{server/shared => common}/Utilities/Timer.h (100%) rename src/{server/shared => common}/Utilities/Util.cpp (100%) rename src/{server/shared => common}/Utilities/Util.h (100%) delete mode 100644 src/server/collision/CMakeLists.txt delete mode 100644 src/server/collision/PrecompiledHeaders/collisionPCH.cpp create mode 100644 src/server/database/CMakeLists.txt rename src/server/{shared => database}/Database/AdhocStatement.cpp (100%) rename src/server/{shared => database}/Database/AdhocStatement.h (100%) rename src/server/{shared => database}/Database/DatabaseEnv.h (100%) rename src/server/{shared => database}/Database/DatabaseLoader.cpp (100%) rename src/server/{shared => database}/Database/DatabaseLoader.h (100%) rename src/server/{shared => database}/Database/DatabaseWorker.cpp (100%) rename src/server/{shared => database}/Database/DatabaseWorker.h (100%) rename src/server/{shared => database}/Database/DatabaseWorkerPool.h (100%) rename src/server/{shared => database}/Database/Field.cpp (100%) rename src/server/{shared => database}/Database/Field.h (100%) rename src/server/{shared => database}/Database/Implementation/CharacterDatabase.cpp (100%) rename src/server/{shared => database}/Database/Implementation/CharacterDatabase.h (100%) rename src/server/{shared => database}/Database/Implementation/HotfixDatabase.cpp (100%) rename src/server/{shared => database}/Database/Implementation/HotfixDatabase.h (100%) rename src/server/{shared => database}/Database/Implementation/LoginDatabase.cpp (100%) rename src/server/{shared => database}/Database/Implementation/LoginDatabase.h (100%) rename src/server/{shared => database}/Database/Implementation/WorldDatabase.cpp (100%) rename src/server/{shared => database}/Database/Implementation/WorldDatabase.h (100%) rename src/server/{shared => database}/Database/MySQLConnection.cpp (100%) rename src/server/{shared => database}/Database/MySQLConnection.h (100%) rename src/server/{shared => database}/Database/MySQLThreading.h (100%) rename src/server/{shared => database}/Database/PreparedStatement.cpp (100%) rename src/server/{shared => database}/Database/PreparedStatement.h (100%) rename src/server/{shared => database}/Database/QueryHolder.cpp (100%) rename src/server/{shared => database}/Database/QueryHolder.h (100%) rename src/server/{shared => database}/Database/QueryResult.cpp (100%) rename src/server/{shared => database}/Database/QueryResult.h (100%) rename src/server/{shared => database}/Database/SQLOperation.h (100%) rename src/server/{shared => database}/Database/Transaction.cpp (100%) rename src/server/{shared => database}/Database/Transaction.h (100%) rename src/server/{shared => database}/Logging/AppenderDB.cpp (100%) rename src/server/{shared => database}/Logging/AppenderDB.h (100%) create mode 100644 src/server/database/PrecompiledHeaders/databasePCH.cpp create mode 100644 src/server/database/PrecompiledHeaders/databasePCH.h rename src/server/{shared => database}/Updater/DBUpdater.cpp (100%) rename src/server/{shared => database}/Updater/DBUpdater.h (100%) rename src/server/{shared => database}/Updater/UpdateFetcher.cpp (100%) rename src/server/{shared => database}/Updater/UpdateFetcher.h (100%) rename src/server/shared/{Utilities => Service}/ServiceWin32.cpp (100%) rename src/server/shared/{Utilities => Service}/ServiceWin32.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 90922cd77e2..11444f93229 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,10 +58,8 @@ set(OPENSSL_EXPECTED_VERSION 1.0.0) find_package(PCHSupport) find_package(OpenSSL REQUIRED) find_package(Threads REQUIRED) -find_package(ZMQ REQUIRED) include(ConfigureBoost) -find_package(MySQL REQUIRED) if( UNIX ) find_package(Readline) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e6d31ebbaef..a2c50828d37 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,7 +9,11 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. add_subdirectory(genrev) -add_subdirectory(server) +add_subdirectory(common) + +if(SERVERS) + add_subdirectory(server) +endif(SERVERS) if(TOOLS) add_subdirectory(tools) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt new file mode 100644 index 00000000000..0f45e46e835 --- /dev/null +++ b/src/common/CMakeLists.txt @@ -0,0 +1,87 @@ +# Copyright (C) 2008-2015 TrinityCore +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +if( USE_COREPCH ) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() + +file(GLOB_RECURSE sources_Common Common.cpp Common.h) +file(GLOB_RECURSE sources_Collision Collision/*.cpp Collision/*.h) +file(GLOB_RECURSE sources_Threading Threading/*.cpp Threading/*.h) +file(GLOB_RECURSE sources_Utilities Utilities/*.cpp Utilities/*.h) +file(GLOB_RECURSE sources_Configuration Configuration/*.cpp Configuration/*.h) +file(GLOB_RECURSE sources_Logging Logging/*.cpp Logging/*.h) +file(GLOB_RECURSE sources_Cryptography Cryptography/*.cpp Cryptography/*.h) + +# Manually set sources for Debugging directory as we don't want to include WheatyExceptionReport in common project +# It needs to be included both in authserver and worldserver for the static global variable to be properly initialized +# and to handle crash logs on windows +set(sources_Debugging Debugging/Errors.cpp Debugging/Errors.h) +file(GLOB sources_localdir *.cpp *.h) + +if (USE_COREPCH) + set(common_STAT_PCH_HDR PrecompiledHeaders/commonPCH.h) + set(common_STAT_PCH_SRC PrecompiledHeaders/commonPCH.cpp) +endif () + +set(common_STAT_SRCS + ${common_STAT_SRCS} + ${sources_Common} + ${sources_Collision} + ${sources_Threading} + ${sources_Utilities} + ${sources_Debugging} + ${sources_Configuration} + ${sources_Logging} + ${sources_Cryptography} + ${sources_localdir} +) + +# Do NOT add any extra include directory here, as we don't want the common +# library to depend on anything else than TC deps, and itself. +# This way we ensure that if either a PR does that without modifying this file, +# a compile error will be generated, either this file will be modified so it +# is detected more easily. +# While it is OK to include files from other libs as long as they don't require +# linkage (enums, defines...) it is discouraged to do so unless necessary, as it will pullute +# include_directories leading to further unnoticed dependency aditions +# Linker Depencency requirements: none +include_directories( + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/dep/utf8cpp + ${CMAKE_SOURCE_DIR}/dep/SFMT + ${CMAKE_SOURCE_DIR}/dep/g3dlite/include + ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour/Include + ${CMAKE_SOURCE_DIR}/dep/cppformat + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/Debugging + ${CMAKE_CURRENT_SOURCE_DIR}/Collision + ${CMAKE_CURRENT_SOURCE_DIR}/Collision/Management + ${CMAKE_CURRENT_SOURCE_DIR}/Collision/Maps + ${CMAKE_CURRENT_SOURCE_DIR}/Collision/Models + ${CMAKE_CURRENT_SOURCE_DIR}/Utilities + ${CMAKE_CURRENT_SOURCE_DIR}/Configuration + ${CMAKE_CURRENT_SOURCE_DIR}/Logging + ${CMAKE_CURRENT_SOURCE_DIR}/Cryptography + ${OPENSSL_INCLUDE_DIR} + ${VALGRIND_INCLUDE_DIR} +) + +GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) + +add_library(common STATIC + ${common_STAT_SRCS} + ${common_STAT_PCH_SRC} +) + +# Generate precompiled header +if (USE_COREPCH) + add_cxx_pch(common ${common_STAT_PCH_HDR} ${common_STAT_PCH_SRC}) +endif () diff --git a/src/server/collision/BoundingIntervalHierarchy.cpp b/src/common/Collision/BoundingIntervalHierarchy.cpp similarity index 100% rename from src/server/collision/BoundingIntervalHierarchy.cpp rename to src/common/Collision/BoundingIntervalHierarchy.cpp diff --git a/src/server/collision/BoundingIntervalHierarchy.h b/src/common/Collision/BoundingIntervalHierarchy.h similarity index 100% rename from src/server/collision/BoundingIntervalHierarchy.h rename to src/common/Collision/BoundingIntervalHierarchy.h diff --git a/src/server/collision/BoundingIntervalHierarchyWrapper.h b/src/common/Collision/BoundingIntervalHierarchyWrapper.h similarity index 100% rename from src/server/collision/BoundingIntervalHierarchyWrapper.h rename to src/common/Collision/BoundingIntervalHierarchyWrapper.h diff --git a/src/server/collision/DynamicTree.cpp b/src/common/Collision/DynamicTree.cpp similarity index 100% rename from src/server/collision/DynamicTree.cpp rename to src/common/Collision/DynamicTree.cpp diff --git a/src/server/collision/DynamicTree.h b/src/common/Collision/DynamicTree.h similarity index 100% rename from src/server/collision/DynamicTree.h rename to src/common/Collision/DynamicTree.h diff --git a/src/server/collision/Management/IVMapManager.h b/src/common/Collision/Management/IVMapManager.h similarity index 100% rename from src/server/collision/Management/IVMapManager.h rename to src/common/Collision/Management/IVMapManager.h diff --git a/src/server/collision/Management/MMapFactory.cpp b/src/common/Collision/Management/MMapFactory.cpp similarity index 100% rename from src/server/collision/Management/MMapFactory.cpp rename to src/common/Collision/Management/MMapFactory.cpp diff --git a/src/server/collision/Management/MMapFactory.h b/src/common/Collision/Management/MMapFactory.h similarity index 100% rename from src/server/collision/Management/MMapFactory.h rename to src/common/Collision/Management/MMapFactory.h diff --git a/src/server/collision/Management/MMapManager.cpp b/src/common/Collision/Management/MMapManager.cpp similarity index 98% rename from src/server/collision/Management/MMapManager.cpp rename to src/common/Collision/Management/MMapManager.cpp index 4feab413706..f6ccfdf2720 100644 --- a/src/server/collision/Management/MMapManager.cpp +++ b/src/common/Collision/Management/MMapManager.cpp @@ -18,7 +18,7 @@ #include "MMapManager.h" #include "Log.h" -#include "World.h" +#include "Config.h" #include "MMapFactory.h" namespace MMAP @@ -81,7 +81,7 @@ namespace MMAP } // load and init dtNavMesh - read parameters from file - std::string fileName = Trinity::StringFormat(MAP_FILE_NAME_FORMAT, sWorld->GetDataPath().c_str(), mapId); + std::string fileName = Trinity::StringFormat(MAP_FILE_NAME_FORMAT, sConfigMgr->GetStringDefault("DataDir", "./").c_str(), mapId); FILE* file = fopen(fileName.c_str(), "rb"); if (!file) { @@ -137,7 +137,7 @@ namespace MMAP return false; // load this tile :: mmaps/MMMMXXYY.mmtile - std::string fileName = Trinity::StringFormat(TILE_FILE_NAME_FORMAT, sWorld->GetDataPath().c_str(), mapId, x, y); + std::string fileName = Trinity::StringFormat(TILE_FILE_NAME_FORMAT, sConfigMgr->GetStringDefault("DataDir", "./").c_str(), mapId, x, y); FILE* file = fopen(fileName.c_str(), "rb"); if (!file) { @@ -200,7 +200,7 @@ namespace MMAP PhasedTile* MMapManager::LoadTile(uint32 mapId, int32 x, int32 y) { // load this tile :: mmaps/MMMXXYY.mmtile - std::string fileName = Trinity::StringFormat(TILE_FILE_NAME_FORMAT, sWorld->GetDataPath().c_str(), mapId, x, y); + std::string fileName = Trinity::StringFormat(TILE_FILE_NAME_FORMAT, sConfigMgr->GetStringDefault("DataDir", "./").c_str(), mapId, x, y); FILE* file = fopen(fileName.c_str(), "rb"); if (!file) { diff --git a/src/server/collision/Management/MMapManager.h b/src/common/Collision/Management/MMapManager.h similarity index 99% rename from src/server/collision/Management/MMapManager.h rename to src/common/Collision/Management/MMapManager.h index 14f579a1c80..eaace584b0a 100644 --- a/src/server/collision/Management/MMapManager.h +++ b/src/common/Collision/Management/MMapManager.h @@ -23,10 +23,11 @@ #include "DetourAlloc.h" #include "DetourNavMesh.h" #include "DetourNavMeshQuery.h" -#include "World.h" +#include "MapDefines.h" #include #include #include +#include // move map related classes namespace MMAP diff --git a/src/server/collision/Management/VMapFactory.cpp b/src/common/Collision/Management/VMapFactory.cpp similarity index 100% rename from src/server/collision/Management/VMapFactory.cpp rename to src/common/Collision/Management/VMapFactory.cpp diff --git a/src/server/collision/Management/VMapFactory.h b/src/common/Collision/Management/VMapFactory.h similarity index 100% rename from src/server/collision/Management/VMapFactory.h rename to src/common/Collision/Management/VMapFactory.h diff --git a/src/server/collision/Management/VMapManager2.cpp b/src/common/Collision/Management/VMapManager2.cpp similarity index 100% rename from src/server/collision/Management/VMapManager2.cpp rename to src/common/Collision/Management/VMapManager2.cpp diff --git a/src/server/collision/Management/VMapManager2.h b/src/common/Collision/Management/VMapManager2.h similarity index 100% rename from src/server/collision/Management/VMapManager2.h rename to src/common/Collision/Management/VMapManager2.h diff --git a/src/common/Collision/Maps/MapDefines.h b/src/common/Collision/Maps/MapDefines.h new file mode 100644 index 00000000000..33746558fe7 --- /dev/null +++ b/src/common/Collision/Maps/MapDefines.h @@ -0,0 +1,36 @@ +#ifndef _MAPDEFINES_H +#define _MAPDEFINES_H + +#include "Define.h" +#include "DetourNavMesh.h" + +const uint32 MMAP_MAGIC = 0x4d4d4150; // 'MMAP' +#define MMAP_VERSION 7 + +struct MmapTileHeader +{ + uint32 mmapMagic; + uint32 dtVersion; + uint32 mmapVersion; + uint32 size; + bool usesLiquids : 1; + + MmapTileHeader() : mmapMagic(MMAP_MAGIC), dtVersion(DT_NAVMESH_VERSION), + mmapVersion(MMAP_VERSION), size(0), usesLiquids(true) { } +}; + +enum NavTerrain +{ + NAV_EMPTY = 0x00, + NAV_GROUND = 0x01, + NAV_MAGMA = 0x02, + NAV_SLIME = 0x04, + NAV_WATER = 0x08, + NAV_UNUSED1 = 0x10, + NAV_UNUSED2 = 0x20, + NAV_UNUSED3 = 0x40, + NAV_UNUSED4 = 0x80 + // we only have 8 bits +}; + +#endif /* _MAPDEFINES_H */ diff --git a/src/server/collision/Maps/MapTree.cpp b/src/common/Collision/Maps/MapTree.cpp similarity index 100% rename from src/server/collision/Maps/MapTree.cpp rename to src/common/Collision/Maps/MapTree.cpp diff --git a/src/server/collision/Maps/MapTree.h b/src/common/Collision/Maps/MapTree.h similarity index 100% rename from src/server/collision/Maps/MapTree.h rename to src/common/Collision/Maps/MapTree.h diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/common/Collision/Maps/TileAssembler.cpp similarity index 100% rename from src/server/collision/Maps/TileAssembler.cpp rename to src/common/Collision/Maps/TileAssembler.cpp diff --git a/src/server/collision/Maps/TileAssembler.h b/src/common/Collision/Maps/TileAssembler.h similarity index 100% rename from src/server/collision/Maps/TileAssembler.h rename to src/common/Collision/Maps/TileAssembler.h diff --git a/src/server/collision/Models/GameObjectModel.cpp b/src/common/Collision/Models/GameObjectModel.cpp similarity index 100% rename from src/server/collision/Models/GameObjectModel.cpp rename to src/common/Collision/Models/GameObjectModel.cpp diff --git a/src/server/collision/Models/GameObjectModel.h b/src/common/Collision/Models/GameObjectModel.h similarity index 100% rename from src/server/collision/Models/GameObjectModel.h rename to src/common/Collision/Models/GameObjectModel.h diff --git a/src/server/collision/Models/ModelInstance.cpp b/src/common/Collision/Models/ModelInstance.cpp similarity index 100% rename from src/server/collision/Models/ModelInstance.cpp rename to src/common/Collision/Models/ModelInstance.cpp diff --git a/src/server/collision/Models/ModelInstance.h b/src/common/Collision/Models/ModelInstance.h similarity index 100% rename from src/server/collision/Models/ModelInstance.h rename to src/common/Collision/Models/ModelInstance.h diff --git a/src/server/collision/Models/WorldModel.cpp b/src/common/Collision/Models/WorldModel.cpp similarity index 100% rename from src/server/collision/Models/WorldModel.cpp rename to src/common/Collision/Models/WorldModel.cpp diff --git a/src/server/collision/Models/WorldModel.h b/src/common/Collision/Models/WorldModel.h similarity index 100% rename from src/server/collision/Models/WorldModel.h rename to src/common/Collision/Models/WorldModel.h diff --git a/src/server/collision/RegularGrid.h b/src/common/Collision/RegularGrid.h similarity index 100% rename from src/server/collision/RegularGrid.h rename to src/common/Collision/RegularGrid.h diff --git a/src/server/collision/VMapDefinitions.h b/src/common/Collision/VMapDefinitions.h similarity index 100% rename from src/server/collision/VMapDefinitions.h rename to src/common/Collision/VMapDefinitions.h diff --git a/src/server/collision/VMapTools.h b/src/common/Collision/VMapTools.h similarity index 100% rename from src/server/collision/VMapTools.h rename to src/common/Collision/VMapTools.h diff --git a/src/server/shared/Common.cpp b/src/common/Common.cpp similarity index 100% rename from src/server/shared/Common.cpp rename to src/common/Common.cpp diff --git a/src/server/shared/Common.h b/src/common/Common.h similarity index 100% rename from src/server/shared/Common.h rename to src/common/Common.h diff --git a/src/server/shared/CompilerDefs.h b/src/common/CompilerDefs.h similarity index 100% rename from src/server/shared/CompilerDefs.h rename to src/common/CompilerDefs.h diff --git a/src/server/shared/Configuration/Config.cpp b/src/common/Configuration/Config.cpp similarity index 100% rename from src/server/shared/Configuration/Config.cpp rename to src/common/Configuration/Config.cpp diff --git a/src/server/shared/Configuration/Config.h b/src/common/Configuration/Config.h similarity index 100% rename from src/server/shared/Configuration/Config.h rename to src/common/Configuration/Config.h diff --git a/src/server/shared/Cryptography/ARC4.cpp b/src/common/Cryptography/ARC4.cpp similarity index 100% rename from src/server/shared/Cryptography/ARC4.cpp rename to src/common/Cryptography/ARC4.cpp diff --git a/src/server/shared/Cryptography/ARC4.h b/src/common/Cryptography/ARC4.h similarity index 100% rename from src/server/shared/Cryptography/ARC4.h rename to src/common/Cryptography/ARC4.h diff --git a/src/server/shared/Cryptography/BigNumber.cpp b/src/common/Cryptography/BigNumber.cpp similarity index 100% rename from src/server/shared/Cryptography/BigNumber.cpp rename to src/common/Cryptography/BigNumber.cpp diff --git a/src/server/shared/Cryptography/BigNumber.h b/src/common/Cryptography/BigNumber.h similarity index 100% rename from src/server/shared/Cryptography/BigNumber.h rename to src/common/Cryptography/BigNumber.h diff --git a/src/server/shared/Cryptography/HmacHash.cpp b/src/common/Cryptography/HmacHash.cpp similarity index 100% rename from src/server/shared/Cryptography/HmacHash.cpp rename to src/common/Cryptography/HmacHash.cpp diff --git a/src/server/shared/Cryptography/HmacHash.h b/src/common/Cryptography/HmacHash.h similarity index 100% rename from src/server/shared/Cryptography/HmacHash.h rename to src/common/Cryptography/HmacHash.h diff --git a/src/server/shared/Cryptography/OpenSSLCrypto.cpp b/src/common/Cryptography/OpenSSLCrypto.cpp similarity index 100% rename from src/server/shared/Cryptography/OpenSSLCrypto.cpp rename to src/common/Cryptography/OpenSSLCrypto.cpp diff --git a/src/server/shared/Cryptography/OpenSSLCrypto.h b/src/common/Cryptography/OpenSSLCrypto.h similarity index 100% rename from src/server/shared/Cryptography/OpenSSLCrypto.h rename to src/common/Cryptography/OpenSSLCrypto.h diff --git a/src/server/shared/Cryptography/SHA1.cpp b/src/common/Cryptography/SHA1.cpp similarity index 100% rename from src/server/shared/Cryptography/SHA1.cpp rename to src/common/Cryptography/SHA1.cpp diff --git a/src/server/shared/Cryptography/SHA1.h b/src/common/Cryptography/SHA1.h similarity index 100% rename from src/server/shared/Cryptography/SHA1.h rename to src/common/Cryptography/SHA1.h diff --git a/src/server/shared/Cryptography/SHA256.cpp b/src/common/Cryptography/SHA256.cpp similarity index 100% rename from src/server/shared/Cryptography/SHA256.cpp rename to src/common/Cryptography/SHA256.cpp diff --git a/src/server/shared/Cryptography/SHA256.h b/src/common/Cryptography/SHA256.h similarity index 100% rename from src/server/shared/Cryptography/SHA256.h rename to src/common/Cryptography/SHA256.h diff --git a/src/server/shared/Cryptography/WardenKeyGeneration.h b/src/common/Cryptography/WardenKeyGeneration.h similarity index 100% rename from src/server/shared/Cryptography/WardenKeyGeneration.h rename to src/common/Cryptography/WardenKeyGeneration.h diff --git a/src/server/shared/Debugging/Errors.cpp b/src/common/Debugging/Errors.cpp similarity index 100% rename from src/server/shared/Debugging/Errors.cpp rename to src/common/Debugging/Errors.cpp diff --git a/src/server/shared/Debugging/Errors.h b/src/common/Debugging/Errors.h similarity index 100% rename from src/server/shared/Debugging/Errors.h rename to src/common/Debugging/Errors.h diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/common/Debugging/WheatyExceptionReport.cpp similarity index 100% rename from src/server/shared/Debugging/WheatyExceptionReport.cpp rename to src/common/Debugging/WheatyExceptionReport.cpp diff --git a/src/server/shared/Debugging/WheatyExceptionReport.h b/src/common/Debugging/WheatyExceptionReport.h similarity index 100% rename from src/server/shared/Debugging/WheatyExceptionReport.h rename to src/common/Debugging/WheatyExceptionReport.h diff --git a/src/server/shared/Define.h b/src/common/Define.h similarity index 100% rename from src/server/shared/Define.h rename to src/common/Define.h diff --git a/src/server/shared/GitRevision.cpp b/src/common/GitRevision.cpp similarity index 100% rename from src/server/shared/GitRevision.cpp rename to src/common/GitRevision.cpp diff --git a/src/server/shared/GitRevision.h b/src/common/GitRevision.h similarity index 100% rename from src/server/shared/GitRevision.h rename to src/common/GitRevision.h diff --git a/src/server/shared/Logging/Appender.cpp b/src/common/Logging/Appender.cpp similarity index 100% rename from src/server/shared/Logging/Appender.cpp rename to src/common/Logging/Appender.cpp diff --git a/src/server/shared/Logging/Appender.h b/src/common/Logging/Appender.h similarity index 100% rename from src/server/shared/Logging/Appender.h rename to src/common/Logging/Appender.h diff --git a/src/server/shared/Logging/AppenderConsole.cpp b/src/common/Logging/AppenderConsole.cpp similarity index 100% rename from src/server/shared/Logging/AppenderConsole.cpp rename to src/common/Logging/AppenderConsole.cpp diff --git a/src/server/shared/Logging/AppenderConsole.h b/src/common/Logging/AppenderConsole.h similarity index 100% rename from src/server/shared/Logging/AppenderConsole.h rename to src/common/Logging/AppenderConsole.h diff --git a/src/server/shared/Logging/AppenderFile.cpp b/src/common/Logging/AppenderFile.cpp similarity index 100% rename from src/server/shared/Logging/AppenderFile.cpp rename to src/common/Logging/AppenderFile.cpp diff --git a/src/server/shared/Logging/AppenderFile.h b/src/common/Logging/AppenderFile.h similarity index 100% rename from src/server/shared/Logging/AppenderFile.h rename to src/common/Logging/AppenderFile.h diff --git a/src/server/shared/Logging/Log.cpp b/src/common/Logging/Log.cpp similarity index 99% rename from src/server/shared/Logging/Log.cpp rename to src/common/Logging/Log.cpp index d99e6a65771..c9ac4dfb9a2 100644 --- a/src/server/shared/Logging/Log.cpp +++ b/src/common/Logging/Log.cpp @@ -22,7 +22,6 @@ #include "Util.h" #include "AppenderConsole.h" #include "AppenderFile.h" -#include "AppenderDB.h" #include "LogOperation.h" #include diff --git a/src/server/shared/Logging/Log.h b/src/common/Logging/Log.h similarity index 100% rename from src/server/shared/Logging/Log.h rename to src/common/Logging/Log.h diff --git a/src/server/shared/Logging/LogOperation.cpp b/src/common/Logging/LogOperation.cpp similarity index 100% rename from src/server/shared/Logging/LogOperation.cpp rename to src/common/Logging/LogOperation.cpp diff --git a/src/server/shared/Logging/LogOperation.h b/src/common/Logging/LogOperation.h similarity index 100% rename from src/server/shared/Logging/LogOperation.h rename to src/common/Logging/LogOperation.h diff --git a/src/server/shared/Logging/Logger.cpp b/src/common/Logging/Logger.cpp similarity index 100% rename from src/server/shared/Logging/Logger.cpp rename to src/common/Logging/Logger.cpp diff --git a/src/server/shared/Logging/Logger.h b/src/common/Logging/Logger.h similarity index 100% rename from src/server/shared/Logging/Logger.h rename to src/common/Logging/Logger.h diff --git a/src/common/PrecompiledHeaders/commonPCH.cpp b/src/common/PrecompiledHeaders/commonPCH.cpp new file mode 100644 index 00000000000..3ffac525541 --- /dev/null +++ b/src/common/PrecompiledHeaders/commonPCH.cpp @@ -0,0 +1 @@ +#include "commonPCH.h" diff --git a/src/server/collision/PrecompiledHeaders/collisionPCH.h b/src/common/PrecompiledHeaders/commonPCH.h similarity index 91% rename from src/server/collision/PrecompiledHeaders/collisionPCH.h rename to src/common/PrecompiledHeaders/commonPCH.h index ece2ef1b8ef..1d3f8928e82 100644 --- a/src/server/collision/PrecompiledHeaders/collisionPCH.h +++ b/src/common/PrecompiledHeaders/commonPCH.h @@ -7,3 +7,4 @@ #include "RegularGrid.h" #include "BoundingIntervalHierarchyWrapper.h" #include "GameObjectModel.h" +#include "GitRevision.h" diff --git a/src/server/shared/Threading/Callback.h b/src/common/Threading/Callback.h similarity index 100% rename from src/server/shared/Threading/Callback.h rename to src/common/Threading/Callback.h diff --git a/src/server/shared/Threading/LockedQueue.h b/src/common/Threading/LockedQueue.h similarity index 100% rename from src/server/shared/Threading/LockedQueue.h rename to src/common/Threading/LockedQueue.h diff --git a/src/server/shared/Threading/ProcessPriority.h b/src/common/Threading/ProcessPriority.h similarity index 100% rename from src/server/shared/Threading/ProcessPriority.h rename to src/common/Threading/ProcessPriority.h diff --git a/src/server/shared/Threading/ProducerConsumerQueue.h b/src/common/Threading/ProducerConsumerQueue.h similarity index 100% rename from src/server/shared/Threading/ProducerConsumerQueue.h rename to src/common/Threading/ProducerConsumerQueue.h diff --git a/src/server/shared/Utilities/ByteConverter.h b/src/common/Utilities/ByteConverter.h similarity index 100% rename from src/server/shared/Utilities/ByteConverter.h rename to src/common/Utilities/ByteConverter.h diff --git a/src/server/shared/Utilities/Duration.h b/src/common/Utilities/Duration.h similarity index 100% rename from src/server/shared/Utilities/Duration.h rename to src/common/Utilities/Duration.h diff --git a/src/server/shared/Utilities/EventMap.cpp b/src/common/Utilities/EventMap.cpp similarity index 100% rename from src/server/shared/Utilities/EventMap.cpp rename to src/common/Utilities/EventMap.cpp diff --git a/src/server/shared/Utilities/EventMap.h b/src/common/Utilities/EventMap.h similarity index 100% rename from src/server/shared/Utilities/EventMap.h rename to src/common/Utilities/EventMap.h diff --git a/src/server/shared/Utilities/EventProcessor.cpp b/src/common/Utilities/EventProcessor.cpp similarity index 100% rename from src/server/shared/Utilities/EventProcessor.cpp rename to src/common/Utilities/EventProcessor.cpp diff --git a/src/server/shared/Utilities/EventProcessor.h b/src/common/Utilities/EventProcessor.h similarity index 100% rename from src/server/shared/Utilities/EventProcessor.h rename to src/common/Utilities/EventProcessor.h diff --git a/src/server/shared/Utilities/StringFormat.h b/src/common/Utilities/StringFormat.h similarity index 100% rename from src/server/shared/Utilities/StringFormat.h rename to src/common/Utilities/StringFormat.h diff --git a/src/server/shared/Utilities/TaskScheduler.cpp b/src/common/Utilities/TaskScheduler.cpp similarity index 100% rename from src/server/shared/Utilities/TaskScheduler.cpp rename to src/common/Utilities/TaskScheduler.cpp diff --git a/src/server/shared/Utilities/TaskScheduler.h b/src/common/Utilities/TaskScheduler.h similarity index 100% rename from src/server/shared/Utilities/TaskScheduler.h rename to src/common/Utilities/TaskScheduler.h diff --git a/src/server/shared/Utilities/Timer.h b/src/common/Utilities/Timer.h similarity index 100% rename from src/server/shared/Utilities/Timer.h rename to src/common/Utilities/Timer.h diff --git a/src/server/shared/Utilities/Util.cpp b/src/common/Utilities/Util.cpp similarity index 100% rename from src/server/shared/Utilities/Util.cpp rename to src/common/Utilities/Util.cpp diff --git a/src/server/shared/Utilities/Util.h b/src/common/Utilities/Util.h similarity index 100% rename from src/server/shared/Utilities/Util.h rename to src/common/Utilities/Util.h diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index 21027af9e04..08e7614e27c 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -16,21 +16,15 @@ if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW) add_definitions(-fno-delete-null-pointer-checks) endif() -if( SERVERS ) - set(sources_windows_Debugging - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging/WheatyExceptionReport.cpp - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging/WheatyExceptionReport.h - ) - add_subdirectory(shared) - add_subdirectory(game) - add_subdirectory(collision) - add_subdirectory(ipc) - add_subdirectory(bnetserver) - add_subdirectory(scripts) - add_subdirectory(worldserver) -else() - if( TOOLS ) - add_subdirectory(collision) - add_subdirectory(shared) - endif() -endif() + +set(sources_windows_Debugging + ${CMAKE_SOURCE_DIR}/src/common/Debugging/WheatyExceptionReport.cpp + ${CMAKE_SOURCE_DIR}/src/common/Debugging/WheatyExceptionReport.h +) +add_subdirectory(database) +add_subdirectory(shared) +add_subdirectory(game) +add_subdirectory(ipc) +add_subdirectory(bnetserver) +add_subdirectory(scripts) +add_subdirectory(worldserver) diff --git a/src/server/bnetserver/CMakeLists.txt b/src/server/bnetserver/CMakeLists.txt index 93a21406099..787592d5766 100644 --- a/src/server/bnetserver/CMakeLists.txt +++ b/src/server/bnetserver/CMakeLists.txt @@ -49,18 +49,22 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/zmqpp ${CMAKE_SOURCE_DIR}/dep/process ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration - ${CMAKE_SOURCE_DIR}/src/server/shared/Database - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/server/database/Logging + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/server/database/Database + ${CMAKE_SOURCE_DIR}/src/common/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography + ${CMAKE_SOURCE_DIR}/src/common/Cryptography ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging + ${CMAKE_SOURCE_DIR}/src/common/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Networking ${CMAKE_SOURCE_DIR}/src/server/shared/Realm - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/server/database/Updater + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/server/shared/Service ${CMAKE_SOURCE_DIR}/src/server/ipc ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Authentication @@ -87,6 +91,8 @@ if( NOT WIN32 ) endif() target_link_libraries(bnetserver + common + database ipc shared zmqpp diff --git a/src/server/collision/CMakeLists.txt b/src/server/collision/CMakeLists.txt deleted file mode 100644 index f0f5cef5985..00000000000 --- a/src/server/collision/CMakeLists.txt +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright (C) 2008-2015 TrinityCore -# -# This file is free software; as a special exception the author gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -if( USE_COREPCH ) - include_directories(${CMAKE_CURRENT_BINARY_DIR}) -endif() - -file(GLOB_RECURSE sources_Management Management/*.cpp Management/*.h) -file(GLOB_RECURSE sources_Maps Maps/*.cpp Maps/*.h) -file(GLOB_RECURSE sources_Models Models/*.cpp Models/*.h) -file(GLOB sources_localdir *.cpp *.h) - -if (USE_COREPCH) - set(collision_STAT_PCH_HDR PrecompiledHeaders/collisionPCH.h) - set(collision_STAT_PCH_SRC PrecompiledHeaders/collisionPCH.cpp) -endif () - -set(collision_STAT_SRCS - ${collision_STAT_SRCS} - ${sources_Management} - ${sources_Maps} - ${sources_Models} - ${sources_localdir} -) - -include_directories( - ${CMAKE_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/dep/g3dlite/include - ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour - ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour/Include - ${CMAKE_SOURCE_DIR}/dep/cppformat - ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging - ${CMAKE_SOURCE_DIR}/src/server/shared/Database - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging - ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic - ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities - ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores - ${CMAKE_SOURCE_DIR}/src/server/ipc - ${CMAKE_SOURCE_DIR}/src/server/game/Addons - ${CMAKE_SOURCE_DIR}/src/server/game/Conditions - ${CMAKE_SOURCE_DIR}/src/server/game/Entities/Item - ${CMAKE_SOURCE_DIR}/src/server/game/Entities/GameObject - ${CMAKE_SOURCE_DIR}/src/server/game/Entities/Creature - ${CMAKE_SOURCE_DIR}/src/server/game/Entities/Object - ${CMAKE_SOURCE_DIR}/src/server/game/Entities/Object/Updates - ${CMAKE_SOURCE_DIR}/src/server/game/Entities/Unit - ${CMAKE_SOURCE_DIR}/src/server/game/Combat - ${CMAKE_SOURCE_DIR}/src/server/game/Loot - ${CMAKE_SOURCE_DIR}/src/server/game/Miscellaneous - ${CMAKE_SOURCE_DIR}/src/server/game/Grids - ${CMAKE_SOURCE_DIR}/src/server/game/Grids/Cells - ${CMAKE_SOURCE_DIR}/src/server/game/Grids/Notifiers - ${CMAKE_SOURCE_DIR}/src/server/game/Maps - ${CMAKE_SOURCE_DIR}/src/server/game/DataStores - ${CMAKE_SOURCE_DIR}/src/server/game/Movement/Waypoints - ${CMAKE_SOURCE_DIR}/src/server/game/Movement/Spline - ${CMAKE_SOURCE_DIR}/src/server/game/Movement - ${CMAKE_SOURCE_DIR}/src/server/game/Server - ${CMAKE_SOURCE_DIR}/src/server/game/Server/Protocol - ${CMAKE_SOURCE_DIR}/src/server/game/World - ${CMAKE_SOURCE_DIR}/src/server/game/Spells - ${CMAKE_SOURCE_DIR}/src/server/game/Spells/Auras - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/Management - ${CMAKE_CURRENT_SOURCE_DIR}/Maps - ${CMAKE_CURRENT_SOURCE_DIR}/Models - ${MYSQL_INCLUDE_DIR} - ${VALGRIND_INCLUDE_DIR} -) - -GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) - -add_library(collision STATIC - ${collision_STAT_SRCS} - ${collision_STAT_PCH_SRC} -) - -target_link_libraries(collision - shared -) - -# Generate precompiled header -if (USE_COREPCH) - add_cxx_pch(collision ${collision_STAT_PCH_HDR} ${collision_STAT_PCH_SRC}) -endif () diff --git a/src/server/collision/PrecompiledHeaders/collisionPCH.cpp b/src/server/collision/PrecompiledHeaders/collisionPCH.cpp deleted file mode 100644 index 36eae8e2b0d..00000000000 --- a/src/server/collision/PrecompiledHeaders/collisionPCH.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "collisionPCH.h" diff --git a/src/server/database/CMakeLists.txt b/src/server/database/CMakeLists.txt new file mode 100644 index 00000000000..53724258d7a --- /dev/null +++ b/src/server/database/CMakeLists.txt @@ -0,0 +1,75 @@ +# Copyright (C) 2008-2015 TrinityCore +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +find_package(MySQL REQUIRED) + +if( USE_COREPCH ) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() + +file(GLOB_RECURSE sources_Database Database/*.cpp Database/*.h) +file(GLOB_RECURSE sources_Logging Logging/*.cpp Logging/*.h) +file(GLOB_RECURSE sources_Updater Updater/*.cpp Updater/*.h) + +file(GLOB sources_localdir *.cpp *.h) + +# +# Build shared sourcelist +# + +if (USE_COREPCH) + set(database_STAT_PCH_HDR PrecompiledHeaders/databasePCH.h) + set(database_STAT_PCH_SRC PrecompiledHeaders/databasePCH.cpp) +endif() + +set(database_STAT_SRCS + ${database_STAT_SRCS} + ${sources_Database} + ${sources_Logging} + ${sources_Updater} +) + +# Do NOT add any extra include directory unless it does not create unneeded extra dependencies, +# and specially, not add any dependency to neither of these: shared, game, scripts +# This way we ensure that if either a PR does that without modifying this file, +# a compile error will be generated, either this file will be modified so it +# is detected more easily. +# While it is OK to include files from other libs as long as they don't require +# linkage (enums, defines...) it is discouraged to do so unless necessary, as it will pullute +# include_directories leading to further unnoticed dependency aditions +# Linker Depencency requirements: common +include_directories( + ${CMAKE_SOURCE_DIR}/dep/cppformat + ${CMAKE_SOURCE_DIR}/dep/process + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/Database + ${CMAKE_CURRENT_SOURCE_DIR}/Updater + ${CMAKE_SOURCE_DIR}/src/common/ + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Logging + ${MYSQL_INCLUDE_DIR} + ${OPENSSL_INCLUDE_DIR} + ${VALGRIND_INCLUDE_DIR} +) + +GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) + +add_library(database STATIC + ${database_STAT_SRCS} + ${database_STAT_PCH_SRC} +) + +# Generate precompiled header +if (USE_COREPCH) + add_cxx_pch(database ${database_STAT_PCH_HDR} ${database_STAT_PCH_SRC}) +endif () diff --git a/src/server/shared/Database/AdhocStatement.cpp b/src/server/database/Database/AdhocStatement.cpp similarity index 100% rename from src/server/shared/Database/AdhocStatement.cpp rename to src/server/database/Database/AdhocStatement.cpp diff --git a/src/server/shared/Database/AdhocStatement.h b/src/server/database/Database/AdhocStatement.h similarity index 100% rename from src/server/shared/Database/AdhocStatement.h rename to src/server/database/Database/AdhocStatement.h diff --git a/src/server/shared/Database/DatabaseEnv.h b/src/server/database/Database/DatabaseEnv.h similarity index 100% rename from src/server/shared/Database/DatabaseEnv.h rename to src/server/database/Database/DatabaseEnv.h diff --git a/src/server/shared/Database/DatabaseLoader.cpp b/src/server/database/Database/DatabaseLoader.cpp similarity index 100% rename from src/server/shared/Database/DatabaseLoader.cpp rename to src/server/database/Database/DatabaseLoader.cpp diff --git a/src/server/shared/Database/DatabaseLoader.h b/src/server/database/Database/DatabaseLoader.h similarity index 100% rename from src/server/shared/Database/DatabaseLoader.h rename to src/server/database/Database/DatabaseLoader.h diff --git a/src/server/shared/Database/DatabaseWorker.cpp b/src/server/database/Database/DatabaseWorker.cpp similarity index 100% rename from src/server/shared/Database/DatabaseWorker.cpp rename to src/server/database/Database/DatabaseWorker.cpp diff --git a/src/server/shared/Database/DatabaseWorker.h b/src/server/database/Database/DatabaseWorker.h similarity index 100% rename from src/server/shared/Database/DatabaseWorker.h rename to src/server/database/Database/DatabaseWorker.h diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h similarity index 100% rename from src/server/shared/Database/DatabaseWorkerPool.h rename to src/server/database/Database/DatabaseWorkerPool.h diff --git a/src/server/shared/Database/Field.cpp b/src/server/database/Database/Field.cpp similarity index 100% rename from src/server/shared/Database/Field.cpp rename to src/server/database/Database/Field.cpp diff --git a/src/server/shared/Database/Field.h b/src/server/database/Database/Field.h similarity index 100% rename from src/server/shared/Database/Field.h rename to src/server/database/Database/Field.h diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp similarity index 100% rename from src/server/shared/Database/Implementation/CharacterDatabase.cpp rename to src/server/database/Database/Implementation/CharacterDatabase.cpp diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/database/Database/Implementation/CharacterDatabase.h similarity index 100% rename from src/server/shared/Database/Implementation/CharacterDatabase.h rename to src/server/database/Database/Implementation/CharacterDatabase.h diff --git a/src/server/shared/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp similarity index 100% rename from src/server/shared/Database/Implementation/HotfixDatabase.cpp rename to src/server/database/Database/Implementation/HotfixDatabase.cpp diff --git a/src/server/shared/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h similarity index 100% rename from src/server/shared/Database/Implementation/HotfixDatabase.h rename to src/server/database/Database/Implementation/HotfixDatabase.h diff --git a/src/server/shared/Database/Implementation/LoginDatabase.cpp b/src/server/database/Database/Implementation/LoginDatabase.cpp similarity index 100% rename from src/server/shared/Database/Implementation/LoginDatabase.cpp rename to src/server/database/Database/Implementation/LoginDatabase.cpp diff --git a/src/server/shared/Database/Implementation/LoginDatabase.h b/src/server/database/Database/Implementation/LoginDatabase.h similarity index 100% rename from src/server/shared/Database/Implementation/LoginDatabase.h rename to src/server/database/Database/Implementation/LoginDatabase.h diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/database/Database/Implementation/WorldDatabase.cpp similarity index 100% rename from src/server/shared/Database/Implementation/WorldDatabase.cpp rename to src/server/database/Database/Implementation/WorldDatabase.cpp diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/database/Database/Implementation/WorldDatabase.h similarity index 100% rename from src/server/shared/Database/Implementation/WorldDatabase.h rename to src/server/database/Database/Implementation/WorldDatabase.h diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp similarity index 100% rename from src/server/shared/Database/MySQLConnection.cpp rename to src/server/database/Database/MySQLConnection.cpp diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/database/Database/MySQLConnection.h similarity index 100% rename from src/server/shared/Database/MySQLConnection.h rename to src/server/database/Database/MySQLConnection.h diff --git a/src/server/shared/Database/MySQLThreading.h b/src/server/database/Database/MySQLThreading.h similarity index 100% rename from src/server/shared/Database/MySQLThreading.h rename to src/server/database/Database/MySQLThreading.h diff --git a/src/server/shared/Database/PreparedStatement.cpp b/src/server/database/Database/PreparedStatement.cpp similarity index 100% rename from src/server/shared/Database/PreparedStatement.cpp rename to src/server/database/Database/PreparedStatement.cpp diff --git a/src/server/shared/Database/PreparedStatement.h b/src/server/database/Database/PreparedStatement.h similarity index 100% rename from src/server/shared/Database/PreparedStatement.h rename to src/server/database/Database/PreparedStatement.h diff --git a/src/server/shared/Database/QueryHolder.cpp b/src/server/database/Database/QueryHolder.cpp similarity index 100% rename from src/server/shared/Database/QueryHolder.cpp rename to src/server/database/Database/QueryHolder.cpp diff --git a/src/server/shared/Database/QueryHolder.h b/src/server/database/Database/QueryHolder.h similarity index 100% rename from src/server/shared/Database/QueryHolder.h rename to src/server/database/Database/QueryHolder.h diff --git a/src/server/shared/Database/QueryResult.cpp b/src/server/database/Database/QueryResult.cpp similarity index 100% rename from src/server/shared/Database/QueryResult.cpp rename to src/server/database/Database/QueryResult.cpp diff --git a/src/server/shared/Database/QueryResult.h b/src/server/database/Database/QueryResult.h similarity index 100% rename from src/server/shared/Database/QueryResult.h rename to src/server/database/Database/QueryResult.h diff --git a/src/server/shared/Database/SQLOperation.h b/src/server/database/Database/SQLOperation.h similarity index 100% rename from src/server/shared/Database/SQLOperation.h rename to src/server/database/Database/SQLOperation.h diff --git a/src/server/shared/Database/Transaction.cpp b/src/server/database/Database/Transaction.cpp similarity index 100% rename from src/server/shared/Database/Transaction.cpp rename to src/server/database/Database/Transaction.cpp diff --git a/src/server/shared/Database/Transaction.h b/src/server/database/Database/Transaction.h similarity index 100% rename from src/server/shared/Database/Transaction.h rename to src/server/database/Database/Transaction.h diff --git a/src/server/shared/Logging/AppenderDB.cpp b/src/server/database/Logging/AppenderDB.cpp similarity index 100% rename from src/server/shared/Logging/AppenderDB.cpp rename to src/server/database/Logging/AppenderDB.cpp diff --git a/src/server/shared/Logging/AppenderDB.h b/src/server/database/Logging/AppenderDB.h similarity index 100% rename from src/server/shared/Logging/AppenderDB.h rename to src/server/database/Logging/AppenderDB.h diff --git a/src/server/database/PrecompiledHeaders/databasePCH.cpp b/src/server/database/PrecompiledHeaders/databasePCH.cpp new file mode 100644 index 00000000000..f84a52be82a --- /dev/null +++ b/src/server/database/PrecompiledHeaders/databasePCH.cpp @@ -0,0 +1 @@ +#include "PrecompiledHeaders/databasePCH.h" diff --git a/src/server/database/PrecompiledHeaders/databasePCH.h b/src/server/database/PrecompiledHeaders/databasePCH.h new file mode 100644 index 00000000000..d524d52ade0 --- /dev/null +++ b/src/server/database/PrecompiledHeaders/databasePCH.h @@ -0,0 +1,23 @@ +#include "Config.h" +#include "Database/AdhocStatement.h" +#include "Database/DatabaseEnv.h" +#include "Database/DatabaseLoader.h" +#include "Database/DatabaseWorker.h" +#include "Database/DatabaseWorkerPool.h" +#include "Database/Field.h" +#include "Database/MySQLConnection.h" +#include "Database/MySQLThreading.h" +#include "Database/PreparedStatement.h" +#include "Database/QueryHolder.h" +#include "Database/QueryResult.h" +#include "Database/SQLOperation.h" +#include "Database/Transaction.h" +#include "Logging/Appender.h" +#include "Logging/AppenderConsole.h" +#include "Logging/AppenderDB.h" +#include "Logging/AppenderFile.h" +#include "Logging/Log.h" +#include "Logging/LogOperation.h" +#include "Logging/Logger.h" +#include "Updater/DBUpdater.h" +#include "Updater/UpdateFetcher.h" diff --git a/src/server/shared/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp similarity index 100% rename from src/server/shared/Updater/DBUpdater.cpp rename to src/server/database/Updater/DBUpdater.cpp diff --git a/src/server/shared/Updater/DBUpdater.h b/src/server/database/Updater/DBUpdater.h similarity index 100% rename from src/server/shared/Updater/DBUpdater.h rename to src/server/database/Updater/DBUpdater.h diff --git a/src/server/shared/Updater/UpdateFetcher.cpp b/src/server/database/Updater/UpdateFetcher.cpp similarity index 100% rename from src/server/shared/Updater/UpdateFetcher.cpp rename to src/server/database/Updater/UpdateFetcher.cpp diff --git a/src/server/shared/Updater/UpdateFetcher.h b/src/server/database/Updater/UpdateFetcher.h similarity index 100% rename from src/server/shared/Updater/UpdateFetcher.h rename to src/server/database/Updater/UpdateFetcher.h diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index 92b2f8fa9fe..54d06b8132f 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -115,26 +115,28 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/cppformat ${CMAKE_SOURCE_DIR}/dep/zlib ${CMAKE_SOURCE_DIR}/dep/zmqpp - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Models - ${CMAKE_SOURCE_DIR}/src/server/collision/Maps - ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration - ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Cryptography ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication - ${CMAKE_SOURCE_DIR}/src/server/shared/Database + ${CMAKE_SOURCE_DIR}/src/server/database/ + ${CMAKE_SOURCE_DIR}/src/server/database/Database ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging + ${CMAKE_SOURCE_DIR}/src/common/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Networking ${CMAKE_SOURCE_DIR}/src/server/shared/Packets ${CMAKE_SOURCE_DIR}/src/server/shared/Realm - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/server/database/Updater + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/server/shared ${CMAKE_SOURCE_DIR}/src/server/ipc ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Accounts diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 2320c6ccc6f..e0475b68c59 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -4887,35 +4887,6 @@ enum PartyResult ERR_PARTY_LFG_TELEPORT_IN_COMBAT = 30 }; -const uint32 MMAP_MAGIC = 0x4d4d4150; // 'MMAP' -#define MMAP_VERSION 7 - -struct MmapTileHeader -{ - uint32 mmapMagic; - uint32 dtVersion; - uint32 mmapVersion; - uint32 size; - bool usesLiquids : 1; - - MmapTileHeader() : mmapMagic(MMAP_MAGIC), dtVersion(DT_NAVMESH_VERSION), - mmapVersion(MMAP_VERSION), size(0), usesLiquids(true) { } -}; - -enum NavTerrain -{ - NAV_EMPTY = 0x00, - NAV_GROUND = 0x01, - NAV_MAGMA = 0x02, - NAV_SLIME = 0x04, - NAV_WATER = 0x08, - NAV_UNUSED1 = 0x10, - NAV_UNUSED2 = 0x20, - NAV_UNUSED3 = 0x40, - NAV_UNUSED4 = 0x80 - // we only have 8 bits -}; - enum DiminishingLevels { DIMINISHING_LEVEL_1 = 0, diff --git a/src/server/game/Movement/PathGenerator.h b/src/server/game/Movement/PathGenerator.h index a9a13c37251..71e0e88f0b2 100644 --- a/src/server/game/Movement/PathGenerator.h +++ b/src/server/game/Movement/PathGenerator.h @@ -19,7 +19,7 @@ #ifndef _PATH_GENERATOR_H #define _PATH_GENERATOR_H -#include "SharedDefines.h" +#include "MapDefines.h" #include "DetourNavMesh.h" #include "DetourNavMeshQuery.h" #include "MoveSplineInitArgs.h" diff --git a/src/server/ipc/CMakeLists.txt b/src/server/ipc/CMakeLists.txt index 95e5e2fc0da..e9f38f20c17 100644 --- a/src/server/ipc/CMakeLists.txt +++ b/src/server/ipc/CMakeLists.txt @@ -8,6 +8,8 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +find_package(ZMQ REQUIRED) + file(GLOB_RECURSE sources_ipc *.cpp *.h) set(ipc_SRCS @@ -17,7 +19,7 @@ set(ipc_SRCS include_directories( ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/dep/zmqpp - ${CMAKE_SOURCE_DIR}/src/server/shared/ + ${CMAKE_SOURCE_DIR}/src/common/ ${ZMQ_INCLUDE_DIR} ) diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt index 9a98fdc691c..f033a7c0520 100644 --- a/src/server/scripts/CMakeLists.txt +++ b/src/server/scripts/CMakeLists.txt @@ -54,24 +54,25 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/cppformat ${CMAKE_SOURCE_DIR}/dep/zlib ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration - ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography - ${CMAKE_SOURCE_DIR}/src/server/shared/Database + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Cryptography/ + ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication + ${CMAKE_SOURCE_DIR}/src/server/database/Database ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging + ${CMAKE_SOURCE_DIR}/src/common/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/server/database/Updater + ${CMAKE_SOURCE_DIR}/src/common/Utilities ${CMAKE_SOURCE_DIR}/src/server/ipc - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Database ${CMAKE_SOURCE_DIR}/src/server/game/Accounts ${CMAKE_SOURCE_DIR}/src/server/game/Achievements ${CMAKE_SOURCE_DIR}/src/server/game/Addons @@ -89,7 +90,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/game/Chat ${CMAKE_SOURCE_DIR}/src/server/game/Chat/Channels ${CMAKE_SOURCE_DIR}/src/server/game/Conditions - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration ${CMAKE_SOURCE_DIR}/src/server/game/Combat ${CMAKE_SOURCE_DIR}/src/server/game/DataStores ${CMAKE_SOURCE_DIR}/src/server/game/DungeonFinding @@ -146,6 +146,7 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/game/Weather ${CMAKE_SOURCE_DIR}/src/server/game/World ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders + ${CMAKE_SOURCE_DIR}/src/common ${MYSQL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${VALGRIND_INCLUDE_DIR} diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index 2314c7b8edb..d7a2b08c806 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -12,18 +12,15 @@ if( USE_COREPCH ) include_directories(${CMAKE_CURRENT_BINARY_DIR}) endif() -file(GLOB_RECURSE sources_Configuration Configuration/*.cpp Configuration/*.h) file(GLOB_RECURSE sources_Cryptography Cryptography/*.cpp Cryptography/*.h) -file(GLOB_RECURSE sources_Database Database/*.cpp Database/*.h) file(GLOB_RECURSE sources_DataStores DataStores/*.cpp DataStores/*.h) file(GLOB_RECURSE sources_Dynamic Dynamic/*.cpp Dynamic/*.h) -file(GLOB_RECURSE sources_Logging Logging/*.cpp Logging/*.h) file(GLOB_RECURSE sources_Networking Networking/*.cpp Networking/*.h) file(GLOB_RECURSE sources_Packets Packets/*.cpp Packets/*.h) file(GLOB_RECURSE sources_Realm Realm/*.cpp Realm/*.h) -file(GLOB_RECURSE sources_Threading Threading/*.cpp Threading/*.h) -file(GLOB_RECURSE sources_Updater Updater/*.cpp Updater/*.h) -file(GLOB_RECURSE sources_Utilities Utilities/*.cpp Utilities/*.h) +if(WIN32) + file(GLOB_RECURSE sources_Service Service/*.cpp Service/*.h) +endif(WIN32) file(GLOB sources_localdir *.cpp *.h) @@ -43,19 +40,13 @@ endif() set(shared_STAT_SRCS ${shared_STAT_SRCS} - ${sources_Configuration} ${sources_Cryptography} - ${sources_Database} ${sources_DataStores} - ${sources_Debugging} ${sources_Dynamic} - ${sources_Logging} ${sources_Networking} ${sources_Packets} ${sources_Realm} - ${sources_Threading} - ${sources_Updater} - ${sources_Utilities} + ${sources_Service} ${sources_localdir} ) @@ -68,19 +59,21 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/process ${CMAKE_SOURCE_DIR}/src/server ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/Configuration - ${CMAKE_CURRENT_SOURCE_DIR}/Cryptography - ${CMAKE_CURRENT_SOURCE_DIR}/Database + ${CMAKE_SOURCE_DIR}/src/common/ + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Cryptography + ${CMAKE_SOURCE_DIR}/src/server/database/ + ${CMAKE_SOURCE_DIR}/src/server/database/Database ${CMAKE_CURRENT_SOURCE_DIR}/DataStores - ${CMAKE_CURRENT_SOURCE_DIR}/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Debugging ${CMAKE_CURRENT_SOURCE_DIR}/Dynamic - ${CMAKE_CURRENT_SOURCE_DIR}/Logging + ${CMAKE_SOURCE_DIR}/src/common/Logging ${CMAKE_CURRENT_SOURCE_DIR}/Networking ${CMAKE_CURRENT_SOURCE_DIR}/Packets ${CMAKE_CURRENT_SOURCE_DIR}/Realm - ${CMAKE_CURRENT_SOURCE_DIR}/Threading - ${CMAKE_CURRENT_SOURCE_DIR}/Utilities - ${CMAKE_CURRENT_SOURCE_DIR}/Updater + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/server/database/Updater ${CMAKE_SOURCE_DIR}/src/server/game/Entities/Object ${MYSQL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} diff --git a/src/server/shared/PrecompiledHeaders/sharedPCH.h b/src/server/shared/PrecompiledHeaders/sharedPCH.h index 366cc977337..d99476bc7a8 100644 --- a/src/server/shared/PrecompiledHeaders/sharedPCH.h +++ b/src/server/shared/PrecompiledHeaders/sharedPCH.h @@ -8,4 +8,3 @@ #include "TypeList.h" #include "TaskScheduler.h" #include "EventMap.h" -#include "GitRevision.h" diff --git a/src/server/shared/Utilities/ServiceWin32.cpp b/src/server/shared/Service/ServiceWin32.cpp similarity index 100% rename from src/server/shared/Utilities/ServiceWin32.cpp rename to src/server/shared/Service/ServiceWin32.cpp diff --git a/src/server/shared/Utilities/ServiceWin32.h b/src/server/shared/Service/ServiceWin32.h similarity index 100% rename from src/server/shared/Utilities/ServiceWin32.h rename to src/server/shared/Service/ServiceWin32.h diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index d5b68e89821..c81ef1ea267 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -50,24 +50,28 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/cppformat ${CMAKE_SOURCE_DIR}/dep/zmqpp ${CMAKE_SOURCE_DIR}/dep/process - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration - ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Cryptography ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication - ${CMAKE_SOURCE_DIR}/src/server/shared/Database + ${CMAKE_SOURCE_DIR}/src/server/database/Database ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging + ${CMAKE_SOURCE_DIR}/src/common/Logging + ${CMAKE_SOURCE_DIR}/src/server/database/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Networking ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/server/database/Updater + ${CMAKE_SOURCE_DIR}/src/common/Utilities ${CMAKE_SOURCE_DIR}/src/server/ipc ${CMAKE_SOURCE_DIR}/src/server/game ${CMAKE_SOURCE_DIR}/src/server/game/Accounts @@ -143,6 +147,7 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/CommandLine ${CMAKE_CURRENT_SOURCE_DIR}/RemoteAccess ${CMAKE_CURRENT_SOURCE_DIR}/TCSoap + ${CMAKE_SOURCE_DIR}/src/server/shared/Service ${MYSQL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${VALGRIND_INCLUDE_DIR} @@ -170,10 +175,11 @@ set_target_properties(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAG target_link_libraries(worldserver game - ipc + common shared + database scripts - collision + ipc g3dlib gsoap Detour diff --git a/src/tools/connection_patcher/CMakeLists.txt b/src/tools/connection_patcher/CMakeLists.txt index f10a89ad3e5..74934919dde 100644 --- a/src/tools/connection_patcher/CMakeLists.txt +++ b/src/tools/connection_patcher/CMakeLists.txt @@ -10,10 +10,10 @@ include_directories( ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Cryptography + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Utilities ${OPENSSL_INCLUDE_DIR} ) @@ -42,7 +42,7 @@ if (MSVC) endif () target_link_libraries(connection_patcher - shared + common ${OPENSSL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES} diff --git a/src/tools/mmaps_generator/CMakeLists.txt b/src/tools/mmaps_generator/CMakeLists.txt index 4dfe106bd3e..dd86677e289 100644 --- a/src/tools/mmaps_generator/CMakeLists.txt +++ b/src/tools/mmaps_generator/CMakeLists.txt @@ -20,14 +20,14 @@ set(mmap_gen_Includes ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Recast/Include ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour/Include - ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading ${CMAKE_SOURCE_DIR}/src/server/game/Conditions - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Maps - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models ) include_directories(${mmap_gen_Includes}) @@ -35,7 +35,7 @@ include_directories(${mmap_gen_Includes}) add_executable(mmaps_generator ${mmap_gen_sources}) target_link_libraries(mmaps_generator - collision + common g3dlib Recast Detour diff --git a/src/tools/vmap4_assembler/CMakeLists.txt b/src/tools/vmap4_assembler/CMakeLists.txt index 52da7f0166d..56c122f27df 100644 --- a/src/tools/vmap4_assembler/CMakeLists.txt +++ b/src/tools/vmap4_assembler/CMakeLists.txt @@ -11,11 +11,11 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/g3dlite/include - ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Maps - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models ${ZLIB_INCLUDE_DIR} ) @@ -23,7 +23,7 @@ add_executable(vmap4assembler VMapAssembler.cpp) add_dependencies(vmap4assembler casc) target_link_libraries(vmap4assembler - collision + common g3dlib ${ZLIB_LIBRARIES} )