diff --git a/cmake/FindSTLPort.cmake b/cmake/FindSTLPort.cmake index 75376147..850af8c5 100644 --- a/cmake/FindSTLPort.cmake +++ b/cmake/FindSTLPort.cmake @@ -39,6 +39,7 @@ FIND_LIBRARY(STLPORT_LIBRARY_DEBUG stlportd stlportd_statix stlportd_static + stlportd_static.5.0 PATHS /usr/local/lib /usr/lib @@ -64,6 +65,7 @@ FIND_LIBRARY(STLPORT_LIBRARY_RELEASE stlport_x.5.2 stlport_statix stlport_static + stlport_static.5.0 PATHS /usr/local/lib /usr/lib diff --git a/engine/server/library/codegen/make_packages.pl b/engine/server/library/codegen/make_packages.pl index 5308bd04..2b580a3d 100644 --- a/engine/server/library/codegen/make_packages.pl +++ b/engine/server/library/codegen/make_packages.pl @@ -154,7 +154,7 @@ sub editFile close (OUTFILE); if ($opt_windows == 1) { - system ("copy ${filename}.make_encoder_temporary_file $filename"); + system ("copy ${filename}.make_encoder_temporary_file $filename /y"); system ("del ${filename}.make_encoder_temporary_file"); } else diff --git a/engine/server/library/serverGame/src/CMakeLists.txt b/engine/server/library/serverGame/src/CMakeLists.txt index d244eaef..5ecd7720 100644 --- a/engine/server/library/serverGame/src/CMakeLists.txt +++ b/engine/server/library/serverGame/src/CMakeLists.txt @@ -751,16 +751,23 @@ include_directories( ${SWG_EXTERNALS_SOURCE_DIR}/ours/library/singleton/include ${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicode/include ${SWG_EXTERNALS_SOURCE_DIR}/ours/library/unicodeArchive/include/public + ${SWG_EXTERNALS_SOURCE_DIR}/3rd/library/platform/projects ${Boost_INCLUDE_DIR} ${JNI_INCLUDE_DIRS} ${PCRE_INCLUDE_DIR} ) + +file(TO_NATIVE_PATH ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/make_packages.pl MAKE_PACKAGES_NATIVE_PATH) +file(TO_NATIVE_PATH ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/package_data.txt PACKAGE_DATA_NATIVE_PATH) +file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/shared/generated/Packager.cpp SOURCE_OUTPUT_NATIVE_PATH) +file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Packager_cpp.template SOURCE_TEMPLATE_NATIVE_PATH) + add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/shared/generated/Packager.cpp - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Packager_cpp.template ${CMAKE_CURRENT_BINARY_DIR}/shared/generated/Packager.cpp - COMMAND ${PERL_EXECUTABLE} ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/make_packages.pl --datafile ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/package_data.txt --source ${CMAKE_CURRENT_BINARY_DIR}/shared/generated/Packager.cpp - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/shared/generated/Packager_cpp.template ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/make_packages.pl ${SWG_ENGINE_SOURCE_DIR}/server/library/codegen/package_data.txt + OUTPUT ${SOURCE_OUTPUT_NATIVE_PATH} + COMMAND ${CMAKE_COMMAND} -E copy ${SOURCE_TEMPLATE_NATIVE_PATH} ${SOURCE_OUTPUT_NATIVE_PATH} + COMMAND ${PERL_EXECUTABLE} "${MAKE_PACKAGES_NATIVE_PATH}" --datafile "${PACKAGE_DATA_NATIVE_PATH}" --source "${SOURCE_OUTPUT_NATIVE_PATH}" --windows + DEPENDS ${SOURCE_TEMPLATE_NATIVE_PATH} ${MAKE_PACKAGES_NATIVE_PATH} ${PACKAGE_DATA_NATIVE_PATH} ) add_library(serverGame STATIC diff --git a/engine/server/library/serverGame/src/shared/ai/AiMovementBase.h b/engine/server/library/serverGame/src/shared/ai/AiMovementBase.h index 36349887..5881b536 100644 --- a/engine/server/library/serverGame/src/shared/ai/AiMovementBase.h +++ b/engine/server/library/serverGame/src/shared/ai/AiMovementBase.h @@ -138,7 +138,7 @@ protected: // define shared pointer template for AiMovementBase typedef boost::shared_ptr AiMovementBasePtr; -#define AiMovementBaseNullPtr AiMovementBasePtr(NULL) +#define AiMovementBaseNullPtr AiMovementBasePtr() // ====================================================================== diff --git a/engine/server/library/serverGame/src/shared/controller/AiCreatureController.cpp b/engine/server/library/serverGame/src/shared/controller/AiCreatureController.cpp index 834ac1e2..f07d59d3 100644 --- a/engine/server/library/serverGame/src/shared/controller/AiCreatureController.cpp +++ b/engine/server/library/serverGame/src/shared/controller/AiCreatureController.cpp @@ -122,9 +122,9 @@ Location AiCreatureControllerNamespace::getLocation(ServerObject const & serverO //----------------------------------------------------------------------- AICreatureController::AICreatureController(CreatureObject * newOwner) : CreatureController(newOwner) - , m_movement(NULL) - , m_pendingMovement(NULL) - , m_suspendedMovement(NULL) + , m_movement() + , m_pendingMovement() + , m_suspendedMovement() , m_lastStartPosition(newOwner->getPosition_p()) , m_lastEndPosition(newOwner->getPosition_p()) , m_sleepTimer(0.0f) diff --git a/engine/server/library/serverGame/src/shared/core/GameServer.cpp b/engine/server/library/serverGame/src/shared/core/GameServer.cpp index 76e1c99b..f061d4b2 100644 --- a/engine/server/library/serverGame/src/shared/core/GameServer.cpp +++ b/engine/server/library/serverGame/src/shared/core/GameServer.cpp @@ -4936,7 +4936,7 @@ bool GameServer::addPendingLoadRequest(NetworkId const & id) if (s_pendingLoadRequests.find(id) != s_pendingLoadRequests.end()) return false; - s_pendingLoadRequests[id] = ::time(NULL); + s_pendingLoadRequests[id] = (unsigned int)::time(NULL); return true; } diff --git a/engine/server/library/serverGame/src/shared/core/ServerUniverse.cpp b/engine/server/library/serverGame/src/shared/core/ServerUniverse.cpp index b938fc47..9729c039 100644 --- a/engine/server/library/serverGame/src/shared/core/ServerUniverse.cpp +++ b/engine/server/library/serverGame/src/shared/core/ServerUniverse.cpp @@ -726,7 +726,7 @@ void ServerUniverse::update(float frameTime) if (!m_pendingUniverseLoadedAckList.empty()) { time_t const nowTime = ::time(NULL); - int const secondsSinceUniverseDataSent = nowTime - m_timeUniverseDataSent; + int const secondsSinceUniverseDataSent = (int)(nowTime - m_timeUniverseDataSent); // don't wait forever for ack from another game server // that it has received the universe data diff --git a/engine/server/library/serverGame/src/shared/metrics/GameServerMetricsData.cpp b/engine/server/library/serverGame/src/shared/metrics/GameServerMetricsData.cpp index aa375dc4..96c0d19b 100644 --- a/engine/server/library/serverGame/src/shared/metrics/GameServerMetricsData.cpp +++ b/engine/server/library/serverGame/src/shared/metrics/GameServerMetricsData.cpp @@ -239,7 +239,7 @@ void GameServerMetricsData::updateData() "Max: %s requested load on %s which has been pending for %s. Limit = %d.", id.getValueString().c_str(), CalendarTime::convertEpochToTimeStringLocal(oldestPendingLoadRequestTime).c_str(), - CalendarTime::convertSecondsToMS(::time(NULL) - oldestPendingLoadRequestTime).c_str(), + CalendarTime::convertSecondsToMS((int)::time(NULL) - oldestPendingLoadRequestTime).c_str(), GameServer::getPendingLoadRequestLimit() ); else diff --git a/engine/server/library/serverGame/src/shared/object/GroupObject.cpp b/engine/server/library/serverGame/src/shared/object/GroupObject.cpp index d60e23be..a80807be 100644 --- a/engine/server/library/serverGame/src/shared/object/GroupObject.cpp +++ b/engine/server/library/serverGame/src/shared/object/GroupObject.cpp @@ -1415,7 +1415,7 @@ unsigned int GroupObject::getSecondsLeftOnGroupPickup() const { time_t const timeNow = ::time(NULL); if (groupPickupTimer.second > timeNow) - return (groupPickupTimer.second - timeNow); + return (groupPickupTimer.second - (int)timeNow); } return 0; diff --git a/engine/server/library/serverGame/src/shared/object/GuildObject.cpp b/engine/server/library/serverGame/src/shared/object/GuildObject.cpp index bf0f4ea9..e0cabf77 100644 --- a/engine/server/library/serverGame/src/shared/object/GuildObject.cpp +++ b/engine/server/library/serverGame/src/shared/object/GuildObject.cpp @@ -673,7 +673,7 @@ void GuildObject::disbandGuild(int guildId) { std::pair const & killInfo = GuildInterface::getGuildEnemyKillInfo(guildId, *i); std::string enemySpec; - GuildStringParser::buildEnemySpec(guildId, *i, killInfo.first, killInfo.second, enemySpec); + GuildStringParser::buildEnemySpec(guildId, *i, killInfo.first, (int)killInfo.second, enemySpec); m_enemies.erase(enemySpec); // remove any pending kill count updates for the 2 guilds @@ -693,7 +693,7 @@ void GuildObject::disbandGuild(int guildId) { std::pair const & killInfo = GuildInterface::getGuildEnemyKillInfo(*i, guildId); std::string enemySpec; - GuildStringParser::buildEnemySpec(*i, guildId, killInfo.first, killInfo.second, enemySpec); + GuildStringParser::buildEnemySpec(*i, guildId, killInfo.first, (int)killInfo.second, enemySpec); m_enemies.erase(enemySpec); // remove any pending kill count updates for the 2 guilds @@ -1426,7 +1426,7 @@ void GuildObject::removeGuildEnemy(int guildId, int enemyId) { std::pair const & killInfo = GuildInterface::getGuildEnemyKillInfo(guildId, enemyId); std::string enemySpec; - GuildStringParser::buildEnemySpec(guildId, enemyId, killInfo.first, killInfo.second, enemySpec); + GuildStringParser::buildEnemySpec(guildId, enemyId, killInfo.first, (int)killInfo.second, enemySpec); m_enemies.erase(enemySpec); // if the other build B has declared war on us, clear the @@ -1436,7 +1436,7 @@ void GuildObject::removeGuildEnemy(int guildId, int enemyId) { if (killInfoBtoA->first > 0) { - GuildStringParser::buildEnemySpec(enemyId, guildId, killInfoBtoA->first, killInfoBtoA->second, enemySpec); + GuildStringParser::buildEnemySpec(enemyId, guildId, killInfoBtoA->first, (int)killInfoBtoA->second, enemySpec); m_enemies.erase(enemySpec); GuildStringParser::buildEnemySpec(enemyId, guildId, 0, 0, enemySpec); @@ -1519,10 +1519,10 @@ void GuildObject::updateGuildWarKillTrackingData() && GuildInterface::hasDeclaredWarAgainst(iter->first.second, iter->first.first)) { std::pair const & killInfo = GuildInterface::getGuildEnemyKillInfo(iter->first.first, iter->first.second); - GuildStringParser::buildEnemySpec(iter->first.first, iter->first.second, killInfo.first, killInfo.second, enemySpec); + GuildStringParser::buildEnemySpec(iter->first.first, iter->first.second, killInfo.first, (int)killInfo.second, enemySpec); m_enemies.erase(enemySpec); - GuildStringParser::buildEnemySpec(iter->first.first, iter->first.second, killInfo.first + iter->second.first, std::max(killInfo.second, static_cast(iter->second.second)), enemySpec); + GuildStringParser::buildEnemySpec(iter->first.first, iter->first.second, killInfo.first + iter->second.first, (int)std::max(killInfo.second, static_cast(iter->second.second)), enemySpec); m_enemies.insert(enemySpec); } } diff --git a/engine/server/library/serverNetworkMessages/src/CMakeLists.txt b/engine/server/library/serverNetworkMessages/src/CMakeLists.txt index 8ba4f9f2..67f08f1f 100644 --- a/engine/server/library/serverNetworkMessages/src/CMakeLists.txt +++ b/engine/server/library/serverNetworkMessages/src/CMakeLists.txt @@ -502,6 +502,7 @@ include_directories( ${SWG_ENGINE_SOURCE_DIR}/server/library/serverGame/include/public ${SWG_ENGINE_SOURCE_DIR}/server/library/serverKeyShare/include/public ${SWG_ENGINE_SOURCE_DIR}/server/library/serverUtility/include/public + ${SWG_GAME_SOURCE_DIR}/shared/library/swgSharedUtility/include/public ${SWG_EXTERNALS_SOURCE_DIR}/ours/library/archive/include ${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localization/include ${SWG_EXTERNALS_SOURCE_DIR}/ours/library/localizationArchive/include/public diff --git a/game/server/application/SwgGameServer/src/CMakeLists.txt b/game/server/application/SwgGameServer/src/CMakeLists.txt index 27afb802..4619271f 100644 --- a/game/server/application/SwgGameServer/src/CMakeLists.txt +++ b/game/server/application/SwgGameServer/src/CMakeLists.txt @@ -116,14 +116,15 @@ add_executable(SwgGameServer target_link_libraries(SwgGameServer sharedCollision sharedCommandParser + sharedCompression sharedDebug sharedFile + sharedFractal sharedFoundation sharedGame sharedImage sharedLog sharedMath - sharedMathArchive sharedMemoryManager sharedMessageDispatch sharedNetwork @@ -134,10 +135,13 @@ target_link_libraries(SwgGameServer sharedRegex sharedRemoteDebugServer sharedSkillSystem + sharedSynchronization sharedTerrain sharedThread sharedUtility + sharedXml serverGame + serverMetrics serverNetworkMessages serverPathfinding serverScript @@ -149,7 +153,16 @@ target_link_libraries(SwgGameServer fileInterface localization localizationArchive - singleton unicode unicodeArchive + Base + udplibrary + ${PCRE_LIBRARY} + ${LIBXML2_LIBRARY} + ${ZLIB_LIBRARY} ) + +if(WIN32) + set_target_properties (SwgGameServer PROPERTIES LINK_FLAGS "/NODEFAULTLIB:\"libcmt\"") + target_link_libraries(SwgGameServer mswsock ws2_32) +endif()