From 56f9687c28935d27a53b738f206c7e741b11e9b9 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Mon, 31 Dec 2018 18:39:43 +1100 Subject: [PATCH 01/11] drop x86 support on windows --- CMakeSettings.json | 16 ------- cmake/FindMySQL.cmake | 97 ------------------------------------------- 2 files changed, 113 deletions(-) diff --git a/CMakeSettings.json b/CMakeSettings.json index c623adf2..7a6006fe 100644 --- a/CMakeSettings.json +++ b/CMakeSettings.json @@ -1,22 +1,6 @@ { // See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file. "configurations": [ - { - "name": "x86-Debug", - "generator": "Visual Studio 15 2017", - "configurationType": "Debug", - "buildRoot": "${env.USERPROFILE}\\CMakeBuild\\${workspaceHash}\\build\\${name}", - "cmakeCommandArgs": "-DCMAKE_BUILD_TYPE=\"Debug\"", - "buildCommandArgs": "-m -v:minimal" - }, - { - "name": "x86-Release", - "generator": "Visual Studio 15 2017", - "configurationType": "Release", - "buildRoot": "${env.USERPROFILE}\\CMakeBuild\\${workspaceHash}\\build\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "-m -v:minimal" - }, { "name": "x64-Debug", "generator": "Visual Studio 15 2017 Win64", diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake index 5fd19dae..52f25ac7 100644 --- a/cmake/FindMySQL.cmake +++ b/cmake/FindMySQL.cmake @@ -64,12 +64,6 @@ if( UNIX ) endif( UNIX ) if( WIN32 ) - # read environment variables and change \ to / - SET(PROGRAM_FILES_32 $ENV{ProgramFiles}) - if (${PROGRAM_FILES_32}) - STRING(REPLACE "\\\\" "/" PROGRAM_FILES_32 ${PROGRAM_FILES_32}) - endif(${PROGRAM_FILES_32}) - SET(PROGRAM_FILES_64 $ENV{ProgramW6432}) if (${PROGRAM_FILES_64}) STRING(REPLACE "\\\\" "/" PROGRAM_FILES_64 ${PROGRAM_FILES_64}) @@ -86,33 +80,12 @@ find_path(MYSQL_INCLUDE_DIR /usr/local/include /usr/local/include/mysql /usr/local/mysql/include - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/include" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.6/include" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.5/include" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.1/include" - "${PROGRAM_FILES_32}/MySQL/include" "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.6/include" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.5/include" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.1/include" "${PROGRAM_FILES_64}/MySQL/include" "C:/MySQL/include" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/include" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/include" "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.6/include" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.5/include" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.1/include" "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.6/include" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.5/include" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.1/include" "c:/msys/local/include" "$ENV{MYSQL_ROOT}/include" DOC @@ -142,49 +115,14 @@ if( WIN32 ) libmysql PATHS ${MYSQL_ADD_LIBRARIES_PATH} - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/lib" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.6/lib" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.5/lib" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.1/lib" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/lib/opt" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.6/lib/opt" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.5/lib/opt" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.1/lib/opt" - "${PROGRAM_FILES_32}/MySQL/lib" "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.6/lib" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.5/lib" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.1/lib" "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.6/lib/opt" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.5/lib/opt" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.1/lib/opt" "${PROGRAM_FILES_64}/MySQL/lib" "C:/MySQL/lib/debug" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/lib" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/lib/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/lib/opt" "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.6/lib/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.5/lib/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.1/lib/opt" "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/lib/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.6/lib/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.5/lib/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.1/lib/opt" "c:/msys/local/include" "$ENV{MYSQL_ROOT}/lib" DOC "Specify the location of the mysql library here." @@ -223,49 +161,14 @@ endif( UNIX ) if( WIN32 ) find_program(MYSQL_EXECUTABLE mysql PATHS - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/bin" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.6/bin" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.5/bin" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.1/bin" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/bin/opt" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.6/bin/opt" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.5/bin/opt" - "${PROGRAM_FILES_32}/MySQL/MySQL Server 5.1/bin/opt" - "${PROGRAM_FILES_32}/MySQL/bin" "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.6/bin" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.5/bin" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.1/bin" "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.6/bin/opt" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.5/bin/opt" - "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.1/bin/opt" "${PROGRAM_FILES_64}/MySQL/bin" "C:/MySQL/bin/debug" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/bin" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/bin/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.5;Location]/bin/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.1;Location]/bin/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/bin" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/bin/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.5;Location]/bin/opt" - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.1;Location]/bin/opt" "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.6/bin/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.5/bin/opt" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.1/bin/opt" "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.6/bin/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.5/bin/opt" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.1/bin/opt" "c:/msys/local/include" "$ENV{MYSQL_ROOT}/bin" DOC From 3e6bf7614b90693bbf9e37db46140c605a33d8cb Mon Sep 17 00:00:00 2001 From: mordred Date: Wed, 2 Jan 2019 15:09:59 +0100 Subject: [PATCH 02/11] True out of source build now possible. --- CMakeLists.txt | 10 ++- cmake/compiler.cmake | 12 ++-- config/config.ini | 58 ++++++++++++++++++ {bin/config => config}/config.ini.default | 0 {bin/sql => sql}/schema/inserts.sql | 0 {bin/sql => sql}/schema/schema.sql | 0 {bin/web => web}/PS4transitionally.html | 0 .../assets/bootstrap/css/bootstrap.min.css | 0 .../assets/bootstrap/js/bootstrap.min.js | 0 {bin/web => web}/assets/css/global.css | 0 {bin/web => web}/assets/css/styles.css | 0 {bin/web => web}/assets/img/background.png | Bin .../assets/img/fa-discord-icon.png | Bin {bin/web => web}/assets/img/github-icon.png | Bin .../assets/img/graffletopia-gears.png | Bin {bin/web => web}/assets/img/sapphire_logo.png | Bin .../assets/img/sapphire_logo_resize.png | Bin {bin/web => web}/assets/js/jquery.min.js | 0 {bin/web => web}/createUser.html | 0 {bin/web => web}/css/global.css | 0 {bin/web => web}/css/reset.css | 0 {bin/web => web}/headlines.xml | 0 {bin/web => web}/icon-01.png | Bin {bin/web => web}/index.html | 0 {bin/web => web}/login.html | 0 {bin/web => web}/news.xml | 0 26 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 config/config.ini rename {bin/config => config}/config.ini.default (100%) rename {bin/sql => sql}/schema/inserts.sql (100%) rename {bin/sql => sql}/schema/schema.sql (100%) rename {bin/web => web}/PS4transitionally.html (100%) rename {bin/web => web}/assets/bootstrap/css/bootstrap.min.css (100%) rename {bin/web => web}/assets/bootstrap/js/bootstrap.min.js (100%) rename {bin/web => web}/assets/css/global.css (100%) rename {bin/web => web}/assets/css/styles.css (100%) rename {bin/web => web}/assets/img/background.png (100%) rename {bin/web => web}/assets/img/fa-discord-icon.png (100%) rename {bin/web => web}/assets/img/github-icon.png (100%) rename {bin/web => web}/assets/img/graffletopia-gears.png (100%) rename {bin/web => web}/assets/img/sapphire_logo.png (100%) rename {bin/web => web}/assets/img/sapphire_logo_resize.png (100%) rename {bin/web => web}/assets/js/jquery.min.js (100%) rename {bin/web => web}/createUser.html (100%) rename {bin/web => web}/css/global.css (100%) rename {bin/web => web}/css/reset.css (100%) rename {bin/web => web}/headlines.xml (100%) rename {bin/web => web}/icon-01.png (100%) rename {bin/web => web}/index.html (100%) rename {bin/web => web}/login.html (100%) rename {bin/web => web}/news.xml (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index bdbfa716..86f988c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,15 +2,19 @@ cmake_policy( SET CMP0014 NEW ) cmake_minimum_required( VERSION 3.0.2 ) project( Sapphire ) -set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) - -set( EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin ) +#set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) +set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) +add_custom_target( copy_runtime_files ALL + COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/config ${CMAKE_BINARY_DIR}/bin/config + COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/sql ${CMAKE_BINARY_DIR}/bin/sql + COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/web ${CMAKE_BINARY_DIR}/bin/web ) + ###################################### # Dependencies and compiler settings # ###################################### diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake index 8d203ba7..da694d09 100644 --- a/cmake/compiler.cmake +++ b/cmake/compiler.cmake @@ -13,12 +13,12 @@ else() set( CMAKE_CXX_STANDARD_REQUIRED ON ) set( CMAKE_CXX_EXTENSIONS ON ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) + set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) if( CMAKE_BUILD_TYPE STREQUAL "Debug" ) # disabling SAFESEH @@ -40,4 +40,4 @@ else() endif() # force standalone asio -add_definitions( -DASIO_STANDALONE ) \ No newline at end of file +add_definitions( -DASIO_STANDALONE ) diff --git a/config/config.ini b/config/config.ini new file mode 100644 index 00000000..66386e1d --- /dev/null +++ b/config/config.ini @@ -0,0 +1,58 @@ +[Database] +Host = 127.0.0.1 +Port = 3306 +Database = sapphire +Username = sapphire +Password = +SyncThreads = 2 +AsyncThreads = 2 + +[GlobalParameters] +ServerSecret = default +DataPath = /home/mordred/sqpack + +[GlobalNetwork] +; Values definining how Users and other servers will access - these have to be set to your public IP when running a public server +ZoneHost = 127.0.0.1 +ZonePort = 54992 + +LobbyHost = 127.0.0.1 +LobbyPort = 54994 + +RestHost = 127.0.0.1 +RestPort = 80 + +[Lobby] +WorldID = 67 +AllowNoSessionConnect = false +WorldName = Sapphire + +[LobbyNetwork] +ListenIp = 0.0.0.0 +ListenPort = 54994 + +[CharacterCreation] +DefaultGMRank = 255 + +[RestNetwork] +ListenIp = 0.0.0.0 +ListenPort = 80 + +[Scripts] +; where compiled script modules are located +Path = ./compiledscripts/ +; relative to Path, where we copy and load modules from +CachePath = ./cache/ +; whether we should detect changes to script modules and reload them +HotSwap = true + +[Network] +DisconnectTimeout = 20 + +[ZoneNetwork] +ListenIp = 0.0.0.0 +ListenPort = 54992 + +[General] +; Sent on login - each line must be shorter than 307 characters, split lines with ';' +MotD = Welcome to Sapphire!;This is a very good server;You can change these messages by editing General.MotD in config/zone.ini diff --git a/bin/config/config.ini.default b/config/config.ini.default similarity index 100% rename from bin/config/config.ini.default rename to config/config.ini.default diff --git a/bin/sql/schema/inserts.sql b/sql/schema/inserts.sql similarity index 100% rename from bin/sql/schema/inserts.sql rename to sql/schema/inserts.sql diff --git a/bin/sql/schema/schema.sql b/sql/schema/schema.sql similarity index 100% rename from bin/sql/schema/schema.sql rename to sql/schema/schema.sql diff --git a/bin/web/PS4transitionally.html b/web/PS4transitionally.html similarity index 100% rename from bin/web/PS4transitionally.html rename to web/PS4transitionally.html diff --git a/bin/web/assets/bootstrap/css/bootstrap.min.css b/web/assets/bootstrap/css/bootstrap.min.css similarity index 100% rename from bin/web/assets/bootstrap/css/bootstrap.min.css rename to web/assets/bootstrap/css/bootstrap.min.css diff --git a/bin/web/assets/bootstrap/js/bootstrap.min.js b/web/assets/bootstrap/js/bootstrap.min.js similarity index 100% rename from bin/web/assets/bootstrap/js/bootstrap.min.js rename to web/assets/bootstrap/js/bootstrap.min.js diff --git a/bin/web/assets/css/global.css b/web/assets/css/global.css similarity index 100% rename from bin/web/assets/css/global.css rename to web/assets/css/global.css diff --git a/bin/web/assets/css/styles.css b/web/assets/css/styles.css similarity index 100% rename from bin/web/assets/css/styles.css rename to web/assets/css/styles.css diff --git a/bin/web/assets/img/background.png b/web/assets/img/background.png similarity index 100% rename from bin/web/assets/img/background.png rename to web/assets/img/background.png diff --git a/bin/web/assets/img/fa-discord-icon.png b/web/assets/img/fa-discord-icon.png similarity index 100% rename from bin/web/assets/img/fa-discord-icon.png rename to web/assets/img/fa-discord-icon.png diff --git a/bin/web/assets/img/github-icon.png b/web/assets/img/github-icon.png similarity index 100% rename from bin/web/assets/img/github-icon.png rename to web/assets/img/github-icon.png diff --git a/bin/web/assets/img/graffletopia-gears.png b/web/assets/img/graffletopia-gears.png similarity index 100% rename from bin/web/assets/img/graffletopia-gears.png rename to web/assets/img/graffletopia-gears.png diff --git a/bin/web/assets/img/sapphire_logo.png b/web/assets/img/sapphire_logo.png similarity index 100% rename from bin/web/assets/img/sapphire_logo.png rename to web/assets/img/sapphire_logo.png diff --git a/bin/web/assets/img/sapphire_logo_resize.png b/web/assets/img/sapphire_logo_resize.png similarity index 100% rename from bin/web/assets/img/sapphire_logo_resize.png rename to web/assets/img/sapphire_logo_resize.png diff --git a/bin/web/assets/js/jquery.min.js b/web/assets/js/jquery.min.js similarity index 100% rename from bin/web/assets/js/jquery.min.js rename to web/assets/js/jquery.min.js diff --git a/bin/web/createUser.html b/web/createUser.html similarity index 100% rename from bin/web/createUser.html rename to web/createUser.html diff --git a/bin/web/css/global.css b/web/css/global.css similarity index 100% rename from bin/web/css/global.css rename to web/css/global.css diff --git a/bin/web/css/reset.css b/web/css/reset.css similarity index 100% rename from bin/web/css/reset.css rename to web/css/reset.css diff --git a/bin/web/headlines.xml b/web/headlines.xml similarity index 100% rename from bin/web/headlines.xml rename to web/headlines.xml diff --git a/bin/web/icon-01.png b/web/icon-01.png similarity index 100% rename from bin/web/icon-01.png rename to web/icon-01.png diff --git a/bin/web/index.html b/web/index.html similarity index 100% rename from bin/web/index.html rename to web/index.html diff --git a/bin/web/login.html b/web/login.html similarity index 100% rename from bin/web/login.html rename to web/login.html diff --git a/bin/web/news.xml b/web/news.xml similarity index 100% rename from bin/web/news.xml rename to web/news.xml From 8e405856ded39fac0d3d9a726beb4bffaebfb06a Mon Sep 17 00:00:00 2001 From: mordred Date: Wed, 2 Jan 2019 15:22:06 +0100 Subject: [PATCH 03/11] Updated gitignore for moved config --- .gitignore | 4 ++-- config/config.ini | 58 ----------------------------------------------- 2 files changed, 2 insertions(+), 60 deletions(-) delete mode 100644 config/config.ini diff --git a/.gitignore b/.gitignore index cf25145f..e47aaa9a 100644 --- a/.gitignore +++ b/.gitignore @@ -141,5 +141,5 @@ doxygen/generated/ doxygen/*.tmp # ignore config directory contents except the default file -bin/config/*.ini -!bin/config/config.ini.default \ No newline at end of file +config/*.ini +!config/config.ini.default diff --git a/config/config.ini b/config/config.ini deleted file mode 100644 index 66386e1d..00000000 --- a/config/config.ini +++ /dev/null @@ -1,58 +0,0 @@ -[Database] -Host = 127.0.0.1 -Port = 3306 -Database = sapphire -Username = sapphire -Password = -SyncThreads = 2 -AsyncThreads = 2 - -[GlobalParameters] -ServerSecret = default -DataPath = /home/mordred/sqpack - -[GlobalNetwork] -; Values definining how Users and other servers will access - these have to be set to your public IP when running a public server -ZoneHost = 127.0.0.1 -ZonePort = 54992 - -LobbyHost = 127.0.0.1 -LobbyPort = 54994 - -RestHost = 127.0.0.1 -RestPort = 80 - -[Lobby] -WorldID = 67 -AllowNoSessionConnect = false -WorldName = Sapphire - -[LobbyNetwork] -ListenIp = 0.0.0.0 -ListenPort = 54994 - -[CharacterCreation] -DefaultGMRank = 255 - -[RestNetwork] -ListenIp = 0.0.0.0 -ListenPort = 80 - -[Scripts] -; where compiled script modules are located -Path = ./compiledscripts/ -; relative to Path, where we copy and load modules from -CachePath = ./cache/ -; whether we should detect changes to script modules and reload them -HotSwap = true - -[Network] -DisconnectTimeout = 20 - -[ZoneNetwork] -ListenIp = 0.0.0.0 -ListenPort = 54992 - -[General] -; Sent on login - each line must be shorter than 307 characters, split lines with ';' -MotD = Welcome to Sapphire!;This is a very good server;You can change these messages by editing General.MotD in config/zone.ini From f1c4db5f439f245d91bb5bad8491c0ee9f257ceb Mon Sep 17 00:00:00 2001 From: mordred Date: Wed, 2 Jan 2019 15:28:24 +0100 Subject: [PATCH 04/11] Take windows build path out of compiler.cmake --- CMakeLists.txt | 8 ++++++++ cmake/compiler.cmake | 12 +----------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 86f988c5..ac5c583e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,14 @@ project( Sapphire ) set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) +if( WIN32 ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) +endif() + set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake index da694d09..8bfaf4b2 100644 --- a/cmake/compiler.cmake +++ b/cmake/compiler.cmake @@ -7,19 +7,13 @@ else() add_definitions( -DNOMINMAX ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHc" ) + message( STATUS "Enabling Build with Multiple Processes.." ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj" ) set( CMAKE_CXX_STANDARD 17 ) set( CMAKE_CXX_STANDARD_REQUIRED ON ) set( CMAKE_CXX_EXTENSIONS ON ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - - set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - if( CMAKE_BUILD_TYPE STREQUAL "Debug" ) # disabling SAFESEH message( STATUS "Disabling Safe Exception Handlers.." ) @@ -32,10 +26,6 @@ else() # incremental linking message( STATUS "Enabling Incremental Linking.." ) set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL" ) - - # enable building with multiple processes - message( STATUS "Enabling Build with Multiple Processes.." ) - add_definitions( /MP ) endif() endif() From 51ee602e43ef3d7ed537986d5b559fcad8285890 Mon Sep 17 00:00:00 2001 From: Mordred Date: Wed, 2 Jan 2019 23:40:34 +0100 Subject: [PATCH 05/11] Moved tools to oos build aswell --- CMakeLists.txt | 9 +------ src/tools/CMakeLists.txt | 27 ++++++++++++++++++++ src/tools/discovery_parser/CMakeLists.txt | 14 +++++----- src/tools/event_object_parser/CMakeLists.txt | 11 -------- src/tools/exd_common_gen/CMakeLists.txt | 10 -------- src/tools/exd_struct_gen/CMakeLists.txt | 13 ---------- src/tools/exd_struct_test/CMakeLists.txt | 11 -------- src/tools/mob_parse/CMakeLists.txt | 11 -------- src/tools/pcb_reader/CMakeLists.txt | 11 -------- src/tools/quest_parser/CMakeLists.txt | 19 -------------- src/world/Actor/SpawnGroup.cpp | 8 ++++++ src/world/Actor/SpawnGroup.h | 2 +- src/world/Territory/Zone.cpp | 1 + 13 files changed, 45 insertions(+), 102 deletions(-) create mode 100644 src/tools/CMakeLists.txt create mode 100644 src/world/Actor/SpawnGroup.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index ac5c583e..ab2d0119 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,11 +65,4 @@ add_subdirectory( "src/dbm" ) ############################## # Tools # ############################## -add_subdirectory( "src/tools/exd_common_gen" ) -add_subdirectory( "src/tools/exd_struct_gen" ) -add_subdirectory( "src/tools/exd_struct_test" ) -add_subdirectory( "src/tools/quest_parser" ) -add_subdirectory( "src/tools/discovery_parser" ) -add_subdirectory( "src/tools/mob_parse" ) -add_subdirectory( "src/tools/pcb_reader" ) -add_subdirectory( "src/tools/event_object_parser" ) +add_subdirectory( "src/tools" ) diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt new file mode 100644 index 00000000..06af4261 --- /dev/null +++ b/src/tools/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_policy( SET CMP0014 NEW ) +cmake_minimum_required( VERSION 3.0.2 ) +project( Sapphire ) + +#set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) +set( EXECUTABLE_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH}/tools ) +set( LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH}/tools ) + +if( WIN32 ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG}/tools" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE}/tools" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO}/tools" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL}/tools" ) + set( VS_DEBUGGER_WORKING_DIRECTORY "${VS_DEBUGGER_WORKING_DIRECTORY}/tools" ) +endif() + +############################## +# Tools # +############################## +add_subdirectory( "exd_common_gen" ) +add_subdirectory( "exd_struct_gen" ) +add_subdirectory( "exd_struct_test" ) +add_subdirectory( "quest_parser" ) +add_subdirectory( "discovery_parser" ) +add_subdirectory( "mob_parse" ) +add_subdirectory( "pcb_reader" ) +add_subdirectory( "event_object_parser" ) diff --git a/src/tools/discovery_parser/CMakeLists.txt b/src/tools/discovery_parser/CMakeLists.txt index 72d3f831..d60766f3 100644 --- a/src/tools/discovery_parser/CMakeLists.txt +++ b/src/tools/discovery_parser/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_discovery_parser) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") +#set( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/tools") file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*" @@ -16,12 +16,12 @@ file(GLOB SERVER_SOURCE_FILES #set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") add_executable(discovery_parser ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(discovery_parser PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) +#set_target_properties(discovery_parser PROPERTIES +# RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" +# RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" +# RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" +# RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" +#) if (UNIX) target_link_libraries (discovery_parser common xivdat pthread mysqlclient dl z stdc++fs) diff --git a/src/tools/event_object_parser/CMakeLists.txt b/src/tools/event_object_parser/CMakeLists.txt index 153ec3ba..2b18f34e 100644 --- a/src/tools/event_object_parser/CMakeLists.txt +++ b/src/tools/event_object_parser/CMakeLists.txt @@ -2,23 +2,12 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_event_object_parser) -set(SAPPHIRE_BOOST_VER 1.63.0) -set(SAPPHIRE_BOOST_FOLDER_NAME boost_1_63_0) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") - - file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") #set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") add_executable(event_object_parser ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(event_object_parser PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) if (UNIX) target_link_libraries (event_object_parser common xivdat pthread mysqlclient dl z stdc++fs) diff --git a/src/tools/exd_common_gen/CMakeLists.txt b/src/tools/exd_common_gen/CMakeLists.txt index 44f19de3..5ad726b2 100644 --- a/src/tools/exd_common_gen/CMakeLists.txt +++ b/src/tools/exd_common_gen/CMakeLists.txt @@ -2,21 +2,11 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_ExdCommonGen) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") - - file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") add_executable(exd_common_gen ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(exd_common_gen PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) - if (UNIX) target_link_libraries (exd_common_gen common xivdat pthread mysqlclient dl z stdc++fs) else() diff --git a/src/tools/exd_struct_gen/CMakeLists.txt b/src/tools/exd_struct_gen/CMakeLists.txt index c2a72377..348aa164 100644 --- a/src/tools/exd_struct_gen/CMakeLists.txt +++ b/src/tools/exd_struct_gen/CMakeLists.txt @@ -2,24 +2,11 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_ExdStructGen) -set(SAPPHIRE_BOOST_VER 1.63.0) -set(SAPPHIRE_BOOST_FOLDER_NAME boost_1_63_0) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") - - file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") -#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") add_executable(exd_struct_gen ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(exd_struct_gen PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) - if (UNIX) target_link_libraries (exd_struct_gen common xivdat pthread mysqlclient dl z stdc++fs) else() diff --git a/src/tools/exd_struct_test/CMakeLists.txt b/src/tools/exd_struct_test/CMakeLists.txt index 0f05b4e3..8ebb7bba 100644 --- a/src/tools/exd_struct_test/CMakeLists.txt +++ b/src/tools/exd_struct_test/CMakeLists.txt @@ -2,22 +2,11 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_ExdStructTest) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") - - file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") -#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") add_executable(exd_struct_test ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(exd_struct_test PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) - if (UNIX) target_link_libraries (exd_struct_test common xivdat pthread mysqlclient dl z stdc++fs ) else() diff --git a/src/tools/mob_parse/CMakeLists.txt b/src/tools/mob_parse/CMakeLists.txt index db59308f..cbae9ce3 100644 --- a/src/tools/mob_parse/CMakeLists.txt +++ b/src/tools/mob_parse/CMakeLists.txt @@ -2,22 +2,11 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_mob_parse) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") - - file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") -#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") add_executable(mob_parse ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(mob_parse PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) - if (UNIX) target_link_libraries (mob_parse common xivdat pthread mysqlclient dl z stdc++fs ) else() diff --git a/src/tools/pcb_reader/CMakeLists.txt b/src/tools/pcb_reader/CMakeLists.txt index 46eccf0f..0a51293b 100644 --- a/src/tools/pcb_reader/CMakeLists.txt +++ b/src/tools/pcb_reader/CMakeLists.txt @@ -2,22 +2,11 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_pcb_reader2) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") - - file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") -#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") add_executable(pcb_reader2 ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(pcb_reader2 PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) - if (UNIX) target_link_libraries (pcb_reader2 common xivdat pthread mysqlclient dl z stdc++fs ) else() diff --git a/src/tools/quest_parser/CMakeLists.txt b/src/tools/quest_parser/CMakeLists.txt index ccd4098f..252cee64 100644 --- a/src/tools/quest_parser/CMakeLists.txt +++ b/src/tools/quest_parser/CMakeLists.txt @@ -2,30 +2,11 @@ cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0015 NEW) project(Tool_QuestParser) -set(SAPPHIRE_BOOST_VER 1.63.0) -set(SAPPHIRE_BOOST_FOLDER_NAME boost_1_63_0) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin/") - -include_directories("../../lib/ChaiScript-6.0.0/include/") - -include_directories("../../sapphire/datReader/") -include_directories("../../sapphire/") -include_directories("../") - file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") - -#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/") add_executable(quest_parse ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -set_target_properties(quest_parse PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../bin/" -) - if (UNIX) target_link_libraries (quest_parse common xivdat pthread mysqlclient dl z stdc++fs) else() diff --git a/src/world/Actor/SpawnGroup.cpp b/src/world/Actor/SpawnGroup.cpp new file mode 100644 index 00000000..a98a4b0d --- /dev/null +++ b/src/world/Actor/SpawnGroup.cpp @@ -0,0 +1,8 @@ +#include "ForwardsZone.h" +#include "SpawnGroup.h" + +Sapphire::Entity::SpawnGroup::SpawnGroup( uint32_t bNpcTemplateId, uint32_t level ) : + m_level( level ) +{ + +} diff --git a/src/world/Actor/SpawnGroup.h b/src/world/Actor/SpawnGroup.h index 5f5fb95a..16739ac2 100644 --- a/src/world/Actor/SpawnGroup.h +++ b/src/world/Actor/SpawnGroup.h @@ -17,7 +17,7 @@ namespace Sapphire::Entity std::vector< SpawnPointPtr > m_spawnPoints; public: - SpawnGroup(); + SpawnGroup( uint32_t bNpcTemplateId, uint32_t level ); }; diff --git a/src/world/Territory/Zone.cpp b/src/world/Territory/Zone.cpp index cae7a403..1c782dc7 100644 --- a/src/world/Territory/Zone.cpp +++ b/src/world/Territory/Zone.cpp @@ -76,6 +76,7 @@ Sapphire::Zone::Zone( uint16_t territoryTypeId, uint32_t guId, m_territoryTypeInfo = pExdData->get< Sapphire::Data::TerritoryType >( territoryTypeId ); loadWeatherRates(); + loadSpawnGroups(); m_currentWeather = getNextWeather(); } From abd98f82b5a61dc256bf6055190842bb4c5243dd Mon Sep 17 00:00:00 2001 From: mordred Date: Thu, 3 Jan 2019 09:13:56 +0100 Subject: [PATCH 06/11] Generate libs oos --- CMakeLists.txt | 1 + src/common/CMakeLists.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ab2d0119..84342f44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,7 @@ project( Sapphire ) #set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) +set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) if( WIN32 ) set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index a774e3cc..9eadc792 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -13,7 +13,6 @@ file(GLOB UTILS_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/Script/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/Util/*.cpp") -set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) add_library( common ${UTILS_PUBLIC_INCLUDE_FILES} ${UTILS_SOURCE_FILES} ) From 346bb3e30e4bffefa5e655b1c1ce636a6f9252ea Mon Sep 17 00:00:00 2001 From: mordred Date: Thu, 3 Jan 2019 09:22:03 +0100 Subject: [PATCH 07/11] Also copy cand call sql_import for CI --- .appveyor.yml | 2 -- .travis.yml | 2 +- CMakeLists.txt | 3 ++- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 6a140060..70d4d921 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -24,8 +24,6 @@ before_build: - cmake --build . --target ALL_BUILD --config Release build_script: - - cd .. - cd bin - copy "C:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.dll" libmysql.dll - - cd .. - sh sql_import.sh diff --git a/.travis.yml b/.travis.yml index 8ca1bc43..375d4353 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,5 +38,5 @@ script: - mkdir -p build - cd build - cmake .. && make -j 3 - - cd .. + - cd bin - bash sql_import.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 84342f44..b3f220a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,8 @@ set( CMAKE_MODULE_PATH add_custom_target( copy_runtime_files ALL COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/config ${CMAKE_BINARY_DIR}/bin/config COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/sql ${CMAKE_BINARY_DIR}/bin/sql - COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/web ${CMAKE_BINARY_DIR}/bin/web ) + COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/web ${CMAKE_BINARY_DIR}/bin/web + COMMAND cmake -E copy ${CMAKE_SOURCE_DIR}/sql_import.sh ${CMAKE_BINARY_DIR}/bin/sql_import.sh ) ###################################### # Dependencies and compiler settings # From df16f1e2929d2de6a994a015a78c125ae2b07ca0 Mon Sep 17 00:00:00 2001 From: mordred Date: Thu, 3 Jan 2019 09:53:37 +0100 Subject: [PATCH 08/11] More cmake cleanup --- CMakeLists.txt | 13 +------------ cmake/paths.cmake | 11 +++++++++++ src/scripts/CMakeLists.txt | 23 +++++++++++++---------- 3 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 cmake/paths.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index b3f220a9..e2a55e40 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,18 +2,6 @@ cmake_policy( SET CMP0014 NEW ) cmake_minimum_required( VERSION 3.0.2 ) project( Sapphire ) -#set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) -set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) -set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) -set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) - -if( WIN32 ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) - set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) -endif() set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} @@ -28,6 +16,7 @@ add_custom_target( copy_runtime_files ALL ###################################### # Dependencies and compiler settings # ###################################### +include( "cmake/paths.cmake" ) include( "cmake/mysql.cmake" ) include( "cmake/compiler.cmake" ) include( "cmake/cotire.cmake" ) diff --git a/cmake/paths.cmake b/cmake/paths.cmake new file mode 100644 index 00000000..6a67f344 --- /dev/null +++ b/cmake/paths.cmake @@ -0,0 +1,11 @@ +set( EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) +set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) +set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) + +if( WIN32 ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) +endif() diff --git a/src/scripts/CMakeLists.txt b/src/scripts/CMakeLists.txt index a6949a5c..d5843a1a 100644 --- a/src/scripts/CMakeLists.txt +++ b/src/scripts/CMakeLists.txt @@ -10,6 +10,13 @@ set(EXECUTABLE_OUTPUT_PATH "${SCRIPT_LIB_DIR}") set(LIBRARY_OUTPUT_PATH "${SCRIPT_LIB_DIR}") set(RUNTIME_OUTPUT_DIRECTORY "${SCRIPT_LIB_DIR}") +if( WIN32 ) + set( LIBRARY_OUTPUT_DIRECTORY_DEBUG "${SCRIPT_LIB_DIR}" ) + set( LIBRARY_OUTPUT_DIRECTORY_RELEASE "${SCRIPT_LIB_DIR}" ) + set( LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${SCRIPT_LIB_DIR}" ) + set( LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${SCRIPT_LIB_DIR}" ) +endif() + file(GLOB children "${CMAKE_CURRENT_SOURCE_DIR}/*" ) foreach(_scriptDir ${children}) get_filename_component(_name "${_scriptDir}" NAME_WE) @@ -34,18 +41,14 @@ foreach(_scriptDir ${children}) endif() endforeach() - add_library("script_${_name}" MODULE ${SCRIPT_BUILD_FILES} "${SCRIPT_INCLUDE_FILES}" "${_scriptDir}/ScriptLoader.cpp") + add_library( "script_${_name}" + MODULE + ${SCRIPT_BUILD_FILES} + "${SCRIPT_INCLUDE_FILES}" + "${_scriptDir}/ScriptLoader.cpp" ) + target_link_libraries( "script_${_name}" world ) - if(MSVC) - set_target_properties( "script_${_name}" PROPERTIES - LIBRARY_OUTPUT_DIRECTORY_DEBUG "${SCRIPT_LIB_DIR}" - LIBRARY_OUTPUT_DIRECTORY_RELEASE "${SCRIPT_LIB_DIR}" - LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${SCRIPT_LIB_DIR}" - LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${SCRIPT_LIB_DIR}" - ) - endif() - target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/world/") target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/scripts") target_include_directories("script_${_name}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") target_include_directories("script_${_name}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/Scripts") From 47fb47112abc61b4580affe8d2b56ca48fe411b9 Mon Sep 17 00:00:00 2001 From: mordred Date: Thu, 3 Jan 2019 10:01:00 +0100 Subject: [PATCH 09/11] Added cmake comment --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e2a55e40..127d1ea7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,9 @@ set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) +##################################### +# Copy needed files to build-folder # +##################################### add_custom_target( copy_runtime_files ALL COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/config ${CMAKE_BINARY_DIR}/bin/config COMMAND cmake -E copy_directory ${CMAKE_SOURCE_DIR}/sql ${CMAKE_BINARY_DIR}/bin/sql From a022a37aab38dc4890d5a13c5f0d6835ec49934e Mon Sep 17 00:00:00 2001 From: Mordred Date: Thu, 3 Jan 2019 21:32:44 +0100 Subject: [PATCH 10/11] Automatically copy libmysql.dll to bin folder --- CMakeLists.txt | 1 - cmake/FindMySQL.cmake | 6 ++++++ src/common/CMakeLists.txt | 8 +++----- src/tools/CMakeLists.txt | 1 - 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 127d1ea7..82d9129c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_policy( SET CMP0014 NEW ) cmake_minimum_required( VERSION 3.0.2 ) project( Sapphire ) - set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake index 5fd19dae..731d9fc1 100644 --- a/cmake/FindMySQL.cmake +++ b/cmake/FindMySQL.cmake @@ -189,6 +189,12 @@ if( WIN32 ) "$ENV{MYSQL_ROOT}/lib" DOC "Specify the location of the mysql library here." ) + + STRING( REGEX REPLACE "(.lib)$" ".dll" MYSQL_DLL ${MYSQL_LIBRARY} ) + + file(COPY ${MYSQL_DLL} + DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) + endif( WIN32 ) # On Windows you typically don't need to include any extra libraries diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 9eadc792..88ab338d 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -18,8 +18,8 @@ add_library( common ${UTILS_PUBLIC_INCLUDE_FILES} ${UTILS_SOURCE_FILES} ) target_link_libraries( common PUBLIC - xivdat - mysqlConnector + xivdat + mysqlConnector mysql ) if( UNIX ) target_link_libraries( common @@ -33,7 +33,5 @@ target_include_directories( common "${CMAKE_CURRENT_SOURCE_DIR}/" "${CMAKE_CURRENT_SOURCE_DIR}/../../deps/" "${CMAKE_CURRENT_SOURCE_DIR}/../../deps/asio/asio/include/" - "${CMAKE_CURRENT_SOURCE_DIR}/../../deps/spdlog/include/" - PRIVATE - "${CMAKE_CURRENT_SOURCE_DIR}/src/libraries/external/") + "${CMAKE_CURRENT_SOURCE_DIR}/../../deps/spdlog/include/" ) diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt index 06af4261..d7ae59e2 100644 --- a/src/tools/CMakeLists.txt +++ b/src/tools/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_policy( SET CMP0014 NEW ) cmake_minimum_required( VERSION 3.0.2 ) project( Sapphire ) -#set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) set( EXECUTABLE_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH}/tools ) set( LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH}/tools ) From ba779a276c164aac6fa61fbbabf1147fe14fe265 Mon Sep 17 00:00:00 2001 From: Mordred Date: Thu, 3 Jan 2019 22:40:26 +0100 Subject: [PATCH 11/11] Automatically create log folder in cmake stage --- cmake/paths.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/paths.cmake b/cmake/paths.cmake index 6a67f344..93e6008b 100644 --- a/cmake/paths.cmake +++ b/cmake/paths.cmake @@ -9,3 +9,6 @@ if( WIN32 ) set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin/" ) endif() + +# Create log folder +file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin/log )