aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt158
-rw-r--r--cmake/FindAce.cmake31
-rw-r--r--cmake/FindMySql.cmake102
-rw-r--r--cmake/cmake_uninstall.cmake.in23
-rw-r--r--config.h.cmake277
-rw-r--r--dep/CMakeLists.txt6
-rw-r--r--dep/lib/CMakeLists.txt2
-rw-r--r--dep/src/CMakeLists.txt7
-rw-r--r--dep/src/g3dlite/CMakeLists.txt20
-rw-r--r--dep/src/sockets/CMakeLists.txt22
-rw-r--r--dep/src/zlib/CMakeLists.txt20
-rw-r--r--dep/src/zthread/CMakeLists.txt38
-rw-r--r--sql/CMakeLists.txt7
-rw-r--r--sql/characters.sql1
-rw-r--r--sql/tools/CMakeLists.txt4
-rw-r--r--sql/updates/871_world.sql31
-rw-r--r--sql/updates/CMakeLists.txt40
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/bindings/CMakeLists.txt5
-rw-r--r--src/bindings/interface/CMakeLists.txt19
-rw-r--r--src/bindings/interface/ScriptMgr.cpp3
-rw-r--r--src/bindings/scripts/CMakeLists.txt389
-rw-r--r--src/bindings/scripts/scripts/npc/npcs_special.cpp76
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp48
-rw-r--r--src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp29
-rw-r--r--src/framework/CMakeLists.txt8
-rw-r--r--src/game/CMakeLists.txt266
-rw-r--r--src/game/Chat.cpp3
-rw-r--r--src/game/Chat.h2
-rw-r--r--src/game/Language.h23
-rw-r--r--src/game/Level0.cpp3
-rw-r--r--src/game/Level1.cpp158
-rw-r--r--src/game/TicketMgr.cpp4
-rw-r--r--src/shared/Auth/CMakeLists.txt17
-rw-r--r--src/shared/CMakeLists.txt29
-rw-r--r--src/shared/Config/CMakeLists.txt15
-rw-r--r--src/shared/Database/CMakeLists.txt38
-rw-r--r--src/shared/Makefile.am3
-rw-r--r--src/shared/SystemConfig.h22
-rw-r--r--src/shared/SystemConfig.h.in2
-rw-r--r--src/shared/WheatyExceptionReport.cpp33
-rw-r--r--src/shared/revision.h.in4
-rw-r--r--src/shared/vmap/CMakeLists.txt35
-rw-r--r--src/trinitycore/CMakeLists.txt53
-rw-r--r--src/trinitycore/Main.cpp13
-rw-r--r--src/trinityrealm/CMakeLists.txt45
-rw-r--r--src/trinityrealm/Main.cpp8
-rw-r--r--win/TrinityCore&Script VC71.sln14
-rw-r--r--win/TrinityCore&Script VC80.sln10
-rw-r--r--win/TrinityCore&Script VC90.sln14
-rw-r--r--win/VC71/genrevision.vcproj329
-rw-r--r--win/VC71/shared.vcproj48
-rw-r--r--win/VC80/genrevision.vcproj329
-rw-r--r--win/VC80/shared.vcproj48
-rw-r--r--win/VC90/genrevision.vcproj329
-rw-r--r--win/VC90/shared.vcproj50
56 files changed, 3194 insertions, 125 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000000..92ece2f40e5
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,158 @@
+PROJECT(Trinity)
+cmake_minimum_required(VERSION 2.4)
+cmake_policy(SET CMP0005 OLD)
+
+include(cmake/FindAce.cmake)
+include(cmake/FindMySql.cmake)
+CONFIGURE_FILE(
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
+ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+
+OPTION(DO_MYSQL "With MySQL support" 1)
+OPTION(DO_POSTGRESQL "With PostgreSQL support" 0) # not complete yet, may not link properly.
+OPTION(DO_SCRIPTS "With trinityscripts" 1)
+OPTION(DO_CLI "With CLI" 1)
+OPTION(DO_RA "With RA" 0)
+OPTION(DO_DEBUG "Debug mode" 0)
+OPTION(LARGE_CELL "Large cell size" 0)
+OPTION(SHORT_SLEEP "Short sleep" 0)
+
+SET(GENREV_SRC
+src/tools/genrevision/genrevision.cpp
+)
+
+ADD_EXECUTABLE(genrev
+${GENREV_SRC}
+)
+ADD_CUSTOM_TARGET("revision.h" ALL
+ COMMAND "${Trinity_BINARY_DIR}/genrev"
+ ${Trinity_SOURCE_DIR}
+ WORKING_DIRECTORY "${Trinity_SOURCE_DIR}/src/shared"
+)
+
+
+EXECUTE_PROCESS(
+ COMMAND hg tip --template {rev}
+ OUTPUT_VARIABLE HG_REVISION
+)
+
+message("* Trinity Core revision: ${HG_REVISION}")
+
+IF (PREFIX)
+ SET(CMAKE_INSTALL_PREFIX ${PREFIX})
+ENDIF (PREFIX)
+
+if(CONF_DIR)
+
+else(CONF_DIR)
+SET(CONF_DIR ${PREFIX}/etc)
+endif(CONF_DIR)
+
+message("* Will install to: ${CMAKE_INSTALL_PREFIX}")
+message("* With config dir at: ${CONF_DIR}")
+
+SET(LIBSDIR "/usr/lib /usr/local/lib /lib")
+FIND_LIBRARY(SSLLIB NAMES ssl DOC "SSL library")
+FIND_LIBRARY(ZLIB z "Zlib library")
+
+
+IF(DO_POSTGRESQL)
+message("* With PostgreSQL")
+set(DO_MYSQL 0)
+SET(POSTGRE_INCLUDES "-I/usr/include/postgresql -I/usr/local/postgresql ${POSTGRE_INCLUDES}")
+SET(POSTGRE_LIBS "-L/usr/lib/postresql -lpq -lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib -lssl -lcrypto ${POSTGRE_LIBS}")
+ADD_DEFINITIONS(-DDO_POSTGRESQL)
+ENDIF(DO_POSTGRESQL)
+
+IF(DO_MYSQL)
+ MESSAGE("* With MySQL")
+ FIND_MYSQL()
+ ADD_DEFINITIONS(-DDO_MYSQL)
+ENDIF(DO_MYSQL)
+
+if(DO_SCRIPTS)
+message("* With Trinity Scripts")
+SET(SCRIPT_LIB trinityscript)
+SET(SCRIPT_INCLUDE src/bindings/scripts/include)
+else (DO_SCRIPTS)
+message("* Without Trinity Scripts")
+SET(SCRIPT_LIB trinityinterface)
+SET(SCRIPT_INCLUDE src/bindings/interface)
+endif(DO_SCRIPTS)
+
+message("-- Miscellaneus options:")
+
+if(DO_CLI)
+message("* With CLI")
+add_definitions(-DENABLE_CLI)
+else (DO_CLI)
+message(* Without CLI)
+endif(DO_CLI)
+
+if(DO_RA)
+message("* With RA")
+add_definitions(-DENABLE_RA)
+else(DO_RA)
+message("* Without RA")
+endif(DO_RA)
+
+if(DO_DEBUG)
+message("* Debug mode ON")
+add_definitions(-g -DTRINITY_DEBUG)
+endif(DO_DEBUG)
+
+if(LARGE_CELL)
+message("* Large cell size")
+add_definitions(-DLARGE_CELL)
+else(LARGE_CELL)
+message("* Small cell size")
+endif(LARGE_CELL)
+
+if(SHORT_SLEEP)
+message("* System sleep time is 50ms")
+add_definitions(-DSHORT_SLEEP)
+else(SHORT_SLEEP)
+message("* System sleep time is 100ms")
+endif(SHORT_SLEEP)
+
+FIND_ACE(ACE)
+if(ACE_FOUND)
+message(STATUS "Found ACE library: ${ACE_LIBRARY}")
+message(STATUS "Include dir is: ${ACE_INCLUDE_DIR}")
+#else(ACE_FOUND)
+#message( "** ACE library not found, will try to build it myself.")
+#SET(BUILD_ACE 1) BRIAN LIKES MEN
+#SET(ACE_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/dep/ACE_wrappers ${CMAKE_BINARY_DIR}/dep/ACE_wrappers")
+#SET(ACE_LIBRARY ACE)
+#message(STATUS "I will try to build ACE from: ${ACE_INCLUDE_DIR}")
+#message(STATUS "And link using: ${ACE_LIBRARY}")
+endif(ACE_FOUND)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+
+
+
+add_definitions(--no-warnings) #to make build look nice, no gcc nazi warnings.
+
+INCLUDE_DIRECTORIES(
+dep/include
+dep/include/g3dlite
+dep/include/sockets
+src/shared
+src/framework
+src/shared/Database
+src/shared/vmap
+src/game
+${SCRIPT_INCLUDE}
+${MYSQL_INCLUDE_DIR}
+${POSTGRE_INCLUDES}
+${CMAKE_CURRENT_BINARY_DIR}/src/shared
+${CMAKE_CURRENT_SOURCE_DIR}/..
+${ACE_INCLUDE_DIR}
+)
+
+add_subdirectory(dep)
+add_subdirectory(doc)
+add_subdirectory(src)
diff --git a/cmake/FindAce.cmake b/cmake/FindAce.cmake
new file mode 100644
index 00000000000..b7be34784a9
--- /dev/null
+++ b/cmake/FindAce.cmake
@@ -0,0 +1,31 @@
+# This script is taken from BFilter project, thanks to original authors.
+# - Locate the ACE library
+# This module defines
+# ACE_FOUND -- true if ACE was found
+# ACE_LIBRARY -- the library to link against
+# ACE_INCLUDE_DIR -- path to ace/ACE.h
+MACRO(FIND_ACE LIBNAME)
+ GET_FILENAME_COMPONENT(parent_dir_ "${PROJECT_SOURCE_DIR}/.." ABSOLUTE)
+ FIND_PATH(
+ ACE_INCLUDE_DIR ace/ACE.h
+ PATHS /usr/include /usr/local/include
+ "${CMAKE_INSTALL_PREFIX}/include" "${parent_dir_}/ACE_wrappers"
+ DOC "Path to ace/ACE.h"
+ )
+
+ # This prevents it being taken from cache.
+ SET(ACE_LIBRARY ACE_LIBRARY-NOTFOUND)
+
+ FIND_LIBRARY(
+ ACE_LIBRARY "${LIBNAME}"
+ PATHS /usr/lib /usr/local/lib
+ "${CMAKE_INSTALL_PREFIX}/lib" "${parent_dir_}/ACE_wrappers/ace"
+ DOC "Path to ACE library file"
+ )
+ IF(ACE_INCLUDE_DIR AND ACE_LIBRARY)
+ SET(ACE_FOUND TRUE)
+ ELSE(ACE_INCLUDE_DIR AND ACE_LIBRARY)
+ SET(ACE_FOUND FALSE)
+ ENDIF(ACE_INCLUDE_DIR AND ACE_LIBRARY)
+ENDMACRO(FIND_ACE)
+
diff --git a/cmake/FindMySql.cmake b/cmake/FindMySql.cmake
new file mode 100644
index 00000000000..e149cd4eaf0
--- /dev/null
+++ b/cmake/FindMySql.cmake
@@ -0,0 +1,102 @@
+# - Find MySQL
+# Find the MySQL includes and client library
+# This module defines
+# MYSQL_INCLUDE_DIR, where to find mysql.h
+# MYSQL_LIBRARIES, the libraries needed to use MySQL.
+# MYSQL_FOUND, If false, do not try to use MySQL.
+#
+# Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl>
+# Lot of adustmens by Michal Cihar <michal@cihar.com>
+#
+# vim: expandtab sw=4 ts=4 sts=4:
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+
+MACRO(FIND_MYSQL)
+if(UNIX)
+ set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH
+ "preferred path to MySQL (mysql_config)")
+ find_program(MYSQL_CONFIG mysql_config
+ ${MYSQL_CONFIG_PREFER_PATH}
+ /usr/local/mysql/bin/
+ /usr/local/bin/
+ /usr/bin/
+ )
+
+ if(MYSQL_CONFIG)
+ message(STATUS "Using mysql-config: ${MYSQL_CONFIG}")
+ # set INCLUDE_DIR
+ exec_program(${MYSQL_CONFIG}
+ ARGS --include
+ OUTPUT_VARIABLE MY_TMP)
+
+ string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}")
+
+ set(MYSQL_ADD_INCLUDE_DIR ${MY_TMP} CACHE FILEPATH INTERNAL)
+
+ # set LIBRARY_DIR
+ exec_program(${MYSQL_CONFIG}
+ ARGS --libs_r
+ OUTPUT_VARIABLE MY_TMP)
+
+ set(MYSQL_ADD_LIBRARIES "")
+
+ string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}")
+ foreach(LIB ${MYSQL_LIB_LIST})
+ string(REGEX REPLACE "[ ]*-l([^ ]*)" "\\1" LIB "${LIB}")
+ list(APPEND MYSQL_ADD_LIBRARIES "${LIB}")
+ endforeach(LIB ${MYSQL_LIBS})
+
+ set(MYSQL_ADD_LIBRARY_PATH "")
+
+ string(REGEX MATCHALL "-L[^ ]*" MYSQL_LIBDIR_LIST "${MY_TMP}")
+ foreach(LIB ${MYSQL_LIBDIR_LIST})
+ string(REGEX REPLACE "[ ]*-L([^ ]*)" "\\1" LIB "${LIB}")
+ list(APPEND MYSQL_ADD_LIBRARY_PATH "${LIB}")
+ endforeach(LIB ${MYSQL_LIBS})
+
+ else(MYSQL_CONFIG)
+ set(MYSQL_ADD_LIBRARIES "")
+ list(APPEND MYSQL_ADD_LIBRARIES "mysqlclient")
+ endif(MYSQL_CONFIG)
+else(UNIX)
+ set(MYSQL_ADD_INCLUDE_DIR "c:/msys/local/include" CACHE FILEPATH INTERNAL)
+ set(MYSQL_ADD_LIBRARY_PATH "c:/msys/local/lib" CACHE FILEPATH INTERNAL)
+ENDIF(UNIX)
+
+find_path(MYSQL_INCLUDE_DIR mysql.h
+ /usr/local/include
+ /usr/local/include/mysql
+ /usr/local/mysql/include
+ /usr/local/mysql/include/mysql
+ /usr/include
+ /usr/include/mysql
+ ${MYSQL_ADD_INCLUDE_DIR}
+)
+
+set(TMP_MYSQL_LIBRARIES "")
+
+foreach(LIB ${MYSQL_ADD_LIBRARIES})
+ find_library("MYSQL_LIBRARIES_${LIB}" NAMES ${LIB}
+ PATHS
+ ${MYSQL_ADD_LIBRARY_PATH}
+ /usr/lib/mysql
+ /usr/local/lib
+ /usr/local/lib/mysql
+ /usr/local/mysql/lib
+ )
+ list(APPEND TMP_MYSQL_LIBRARIES "${MYSQL_LIBRARIES_${LIB}}")
+endforeach(LIB ${MYSQL_ADD_LIBRARIES})
+
+set(MYSQL_LIBRARIES ${TMP_MYSQL_LIBRARIES} CACHE FILEPATH INTERNAL)
+
+if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+ set(MYSQL_FOUND TRUE CACHE INTERNAL "MySQL found")
+ message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}")
+else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+ set(MYSQL_FOUND FALSE CACHE INTERNAL "MySQL found")
+ message(STATUS "MySQL not found.")
+endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES)
+
+mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES)
+ENDMACRO(FIND_MYSQL) \ No newline at end of file
diff --git a/cmake/cmake_uninstall.cmake.in b/cmake/cmake_uninstall.cmake.in
new file mode 100644
index 00000000000..06f9c8263a8
--- /dev/null
+++ b/cmake/cmake_uninstall.cmake.in
@@ -0,0 +1,23 @@
+# from cmake wiki
+IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+ MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
+ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+
+FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
+STRING(REGEX REPLACE "\n" ";" files "${files}")
+FOREACH(file ${files})
+ MESSAGE(STATUS "Uninstalling \"${file}\"")
+ IF(EXISTS "${file}")
+ EXEC_PROGRAM(
+ "@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
+ OUTPUT_VARIABLE rm_out
+ RETURN_VALUE rm_retval
+ )
+ IF("${rm_retval}" STREQUAL 0)
+ ELSE("${rm_retval}" STREQUAL 0)
+ MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
+ ENDIF("${rm_retval}" STREQUAL 0)
+ ELSE(EXISTS "${file}")
+ MESSAGE(STATUS "File \"${file}\" does not exist.")
+ ENDIF(EXISTS "${file}")
+ENDFOREACH(file)
diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 00000000000..bfc116642de
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,277 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if the `closedir' function returns void instead of `int'. */
+#undef CLOSEDIR_VOID
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define to 1 if you have the `atexit' function. */
+#undef HAVE_ATEXIT
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+#undef HAVE_DOPRNT
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `ftime' function. */
+#undef HAVE_FTIME
+
+/* Define to 1 if you have the `gethostbyaddr' function. */
+#undef HAVE_GETHOSTBYADDR
+
+/* Define to 1 if you have the `gethostbyname' function. */
+#undef HAVE_GETHOSTBYNAME
+
+/* Define to 1 if you have the `gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <libpq-fe.h> header file. */
+#undef HAVE_LIBPQ_FE_H
+
+/* Define to 1 if you have the `pthread' library (-lpthread). */
+#undef HAVE_LIBPTHREAD
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#undef HAVE_MALLOC
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the `memmove' function. */
+#undef HAVE_MEMMOVE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `memset' function. */
+#undef HAVE_MEMSET
+
+/* Define to 1 if you have the <mysql.h> header file. */
+#undef HAVE_MYSQL_H
+
+/* Define to 1 if you have the <mysql/mysql.h> header file. */
+#undef HAVE_MYSQL_MYSQL_H
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <openssl/bn.h> header file. */
+#undef HAVE_OPENSSL_BN_H
+
+/* Define to 1 if you have the <openssl/md5.h> header file. */
+#undef HAVE_OPENSSL_MD5_H
+
+/* Define to 1 if you have the <openssl/rand.h> header file. */
+#undef HAVE_OPENSSL_RAND_H
+
+/* Define to 1 if you have the <openssl/sha.h> header file. */
+#undef HAVE_OPENSSL_SHA_H
+
+/* Define to 1 if you have the <openssl/ssl.h> header file. */
+#undef HAVE_OPENSSL_SSL_H
+
+/* Define to 1 if you have the `pow' function. */
+#undef HAVE_POW
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#undef HAVE_PTHREAD_H
+
+/* Define to 1 if the system has the type `ptrdiff_t'. */
+#undef HAVE_PTRDIFF_T
+
+/* Define to 1 if your system has a GNU libc compatible `realloc' function,
+ and to 0 otherwise. */
+#undef HAVE_REALLOC
+
+/* Define to 1 if you have the `realpath' function. */
+#undef HAVE_REALPATH
+
+/* Define to 1 if you have the `select' function. */
+#undef HAVE_SELECT
+
+/* Define to 1 if you have the `socket' function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the `sqrt' function. */
+#undef HAVE_SQRT
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strstr' function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/timeb.h> header file. */
+#undef HAVE_SYS_TIMEB_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
+
+/* Define to 1 if you have the <zlib.h> header file. */
+#undef HAVE_ZLIB_H
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to the type of arg 1 for `select'. */
+#undef SELECT_TYPE_ARG1
+
+/* Define to the type of args 2, 3 and 4 for `select'. */
+#undef SELECT_TYPE_ARG234
+
+/* Define to the type of arg 5 for `select'. */
+#undef SELECT_TYPE_ARG5
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the
+ #define below would cause a syntax error. */
+#undef _UINT64_T
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to rpl_malloc if the replacement function should be used. */
+#undef malloc
+
+/* Define to rpl_realloc if the replacement function should be used. */
+#undef realloc
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define to the type of an unsigned integer type of width exactly 64 bits if
+ such a type exists and the standard includes do not define it. */
+#undef uint64_t
+
+/* Define to empty if the keyword `volatile' does not work. Warning: valid
+ code using `volatile' can become incorrect without. Disable with care. */
+#undef volatile
diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt
new file mode 100644
index 00000000000..a813710db34
--- /dev/null
+++ b/dep/CMakeLists.txt
@@ -0,0 +1,6 @@
+#if(BUILD_ACE)
+#add_subdirectory(ACE_wrappers)
+#endif(BUILD_ACE)
+add_subdirectory(include)
+add_subdirectory(lib)
+add_subdirectory(src)
diff --git a/dep/lib/CMakeLists.txt b/dep/lib/CMakeLists.txt
new file mode 100644
index 00000000000..3575d71a65a
--- /dev/null
+++ b/dep/lib/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+# Nothing here as of yet.
diff --git a/dep/src/CMakeLists.txt b/dep/src/CMakeLists.txt
new file mode 100644
index 00000000000..7d6aa26f5fe
--- /dev/null
+++ b/dep/src/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory(g3dlite)
+add_subdirectory(sockets)
+add_subdirectory(zlib)
+add_subdirectory(zthread)
+
+
+########### install files ############### \ No newline at end of file
diff --git a/dep/src/g3dlite/CMakeLists.txt b/dep/src/g3dlite/CMakeLists.txt
new file mode 100644
index 00000000000..89bea742272
--- /dev/null
+++ b/dep/src/g3dlite/CMakeLists.txt
@@ -0,0 +1,20 @@
+
+########### next target ###############
+
+SET(g3dlite_STAT_SRCS
+ AABox.cpp
+ Box.cpp
+ Crypto.cpp
+ format.cpp
+ Matrix3.cpp
+ Plane.cpp
+ System.cpp
+ Triangle.cpp
+ Vector3.cpp
+ Vector4.cpp
+)
+
+add_library(g3dlite STATIC ${g3dlite_STAT_SRCS})
+
+
+########### install files ###############
diff --git a/dep/src/sockets/CMakeLists.txt b/dep/src/sockets/CMakeLists.txt
new file mode 100644
index 00000000000..40ac135a9ae
--- /dev/null
+++ b/dep/src/sockets/CMakeLists.txt
@@ -0,0 +1,22 @@
+SET(trinitysockets_STAT_SRCS
+ Base64.cpp
+ Exception.cpp
+ Ipv4Address.cpp
+ Ipv6Address.cpp
+ Lock.cpp
+ Mutex.cpp
+ Parse.cpp
+ ResolvServer.cpp
+ ResolvSocket.cpp
+ Socket.cpp
+ SocketHandler.cpp
+ StdoutLog.cpp
+ StreamSocket.cpp
+ TcpSocket.cpp
+ Thread.cpp
+ UdpSocket.cpp
+ Utility.cpp
+ socket_include.cpp
+)
+
+add_library(trinitysockets STATIC ${trinitysockets_STAT_SRCS})
diff --git a/dep/src/zlib/CMakeLists.txt b/dep/src/zlib/CMakeLists.txt
new file mode 100644
index 00000000000..b8803e81c11
--- /dev/null
+++ b/dep/src/zlib/CMakeLists.txt
@@ -0,0 +1,20 @@
+
+########### next target ###############
+
+SET(zlib_STAT_SRCS
+ adler32.c
+ compress.c
+ crc32.c
+ deflate.c
+ example.c
+ gzio.c
+ infback.c
+ inffast.c
+ inflate.c
+ inftrees.c
+ trees.c
+ uncompr.c
+ zutil.c
+)
+
+add_library(zlib STATIC ${zlib_STAT_SRCS})
diff --git a/dep/src/zthread/CMakeLists.txt b/dep/src/zthread/CMakeLists.txt
new file mode 100644
index 00000000000..61fb1310588
--- /dev/null
+++ b/dep/src/zthread/CMakeLists.txt
@@ -0,0 +1,38 @@
+########### next target ###############
+
+SET(ZThread_LIB_SRCS
+ AtomicCount.cxx
+ Condition.cxx
+ ConcurrentExecutor.cxx
+ CountingSemaphore.cxx
+ FastMutex.cxx
+ FastRecursiveMutex.cxx
+ Mutex.cxx
+ RecursiveMutexImpl.cxx
+ RecursiveMutex.cxx
+ Monitor.cxx
+ PoolExecutor.cxx
+ PriorityCondition.cxx
+ PriorityInheritanceMutex.cxx
+ PriorityMutex.cxx
+ PrioritySemaphore.cxx
+ Semaphore.cxx
+ SynchronousExecutor.cxx
+ Thread.cxx
+ ThreadedExecutor.cxx
+ ThreadImpl.cxx
+ ThreadLocalImpl.cxx
+ ThreadQueue.cxx
+ Time.cxx
+ ThreadOps.cxx
+ )
+
+ADD_LIBRARY(ZThread STATIC ${ZThread_LIB_SRCS})
+
+TARGET_LINK_LIBRARIES(ZThread )
+
+SET_TARGET_PROPERTIES(ZThread PROPERTIES VERSION 4.2.0 SOVERSION 4 )
+INSTALL(TARGETS ZThread DESTINATION lib )
+
+
+########### install files ###############
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
new file mode 100644
index 00000000000..dfdbfd0cf20
--- /dev/null
+++ b/sql/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory(updates)
+add_subdirectory(tools)
+
+
+########### install files ###############
+
+install(FILES world.sql realmd.sql characters.sql create_mysql.sql world_scripts_full.sql world_scripts_structure.sql drop_mysql.sql DESTINATION share/trinity/sql)
diff --git a/sql/characters.sql b/sql/characters.sql
index 89703b0f369..0d0c56e5113 100644
--- a/sql/characters.sql
+++ b/sql/characters.sql
@@ -715,6 +715,7 @@ LOCK TABLES `character_tutorial` WRITE;
UNLOCK TABLES;
--
+ `arena_pending_points` int (10) UNSIGNED NOT NULL default '0';,
-- Table structure for table `corpse`
--
diff --git a/sql/tools/CMakeLists.txt b/sql/tools/CMakeLists.txt
new file mode 100644
index 00000000000..bcf0c7a8343
--- /dev/null
+++ b/sql/tools/CMakeLists.txt
@@ -0,0 +1,4 @@
+
+########### install files ###############
+
+install(FILES characters_item_duplicates_remove.sql characters_pet_data_cleanup.sql README DESTINATION share/trinity/sql/tools)
diff --git a/sql/updates/871_world.sql b/sql/updates/871_world.sql
new file mode 100644
index 00000000000..54922de2a40
--- /dev/null
+++ b/sql/updates/871_world.sql
@@ -0,0 +1,31 @@
+DELETE FROM `trinity_string` WHERE `entry` BETWEEN '288' AND '295';
+DELETE FROM `trinity_string` WHERE `entry` BETWEEN '2000' AND '2029';
+INSERT INTO trinity_string (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES
+(2000, '|cff00ff00New ticket from|r|cffff00ff %s.|r |cff00ff00Ticket entry:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''),
+(2001, '|cff00ff00Character|r|cffff00ff %s |r|cff00ff00edited his/her ticket:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''),
+(2002, '|cff00ff00Character|r|cffff00ff %s |r|cff00ff00abandoned ticket entry:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''),
+(2003, '|cff00ff00Closed by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
+(2004, '|cff00ff00Deleted by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
+(2005, 'Ticket not found.', '', '', '', '', '', '', '', ''),
+(2006, 'Please close ticket before deleting it permanently.', '', '', '', '', '', '', '', ''),
+(2007, 'Ticket %d is already assigned.', '', '', '', '', '', '', '', ''),
+(2008, '%u Tickets succesfully reloaded from the database.', '', '', '', '', '', '', '', ''),
+(2009, 'Showing list of open tickets.', '', '', '', '', '', '', '', ''),
+(2010, 'Showing list of open tickets whose creator is online.', '', '', '', '', '', '', '', ''),
+(2011, 'Showing list of closed tickets.', '', '', '', '', '', '', '', ''),
+(2012, 'Invalid name specified. Name should be that of an online Gamemaster.', '', '', '', '', '', '', '', ''),
+(2013, 'This ticket is already assigned to yourself. To unassign use .ticket unassign %d and then reassign.', '', '', '', '', '', '', '', ''),
+(2014, 'Ticket %d is not assigned, you cannot unassign it.', '', '', '', '', '', '', '', ''),
+(2015, 'You cannot unassign tickets from staffmembers with a higher security level than yourself.', '', '', '', '', '', '', '', ''),
+(2016, 'Cannot close ticket %d, it is assigned to another GM.', '', '', '', '', '', '', '', ''),
+(2017, '|cff00ff00Ticket|r:|cff00ccff %d.|r ', '', '', '', '', '', '', '', ''),
+(2018, '|cff00ff00Created by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
+(2019, '|cff00ff00Last change|r:|cff00ccff %s ago|r ', '', '', '', '', '', '', '', ''),
+(2020, '|cff00ff00Assigned to|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
+(2021, '|cff00ff00Unassigned by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
+(2022, '\n|cff00ff00Message|r: \"%s\"|r ', '', '', '', '', '', '', '', ''),
+(2023, '\n|cff00ff00Comment|r: \"%s\"|r ', '', '', '', '', '', '', '', ''),
+(2024, '\n|cff00ccff%s|r |cff00ff00Added comment|r: \"%s\"|r ', '', '', '', '', '', '', '', '');
+
+DELETE FROM `command` WHERE (`name` LIKE '%ticket closedlist%');
+INSERT INTO `command` (`name`,`security`,`help`) VALUES ('.ticket closedlist','1','Displays a list of closed GM tickets.');
diff --git a/sql/updates/CMakeLists.txt b/sql/updates/CMakeLists.txt
new file mode 100644
index 00000000000..53490e0a15e
--- /dev/null
+++ b/sql/updates/CMakeLists.txt
@@ -0,0 +1,40 @@
+install(FILES
+11_characters.sql
+45_characters.sql
+54_world.sql
+57_world_scripts.sql
+66_world_scripts.sql
+68_world.sql
+70_world_scripts.sql
+78_world.sql
+79_characters.sql
+79_world.sql
+82_world_scripts.sql
+83_realmd.sql
+84_world.sql
+86_world_scripts.sql
+90_world.sql
+102_world.sql
+112_world_scripts.sql
+116_world.sql
+117_world_scripts.sql
+120_world.sql
+123_world_scripts.sql
+125_world_scripts.sql
+133_world_scripts.sql
+140_world.sql
+145_world_scripts.sql
+146_world.sql
+147_world.sql
+152_world.sql
+153_world.sql
+171_world.sql
+172_world_scripts.sql
+175_world_scripts.sql
+176_world.sql
+182_world.sql
+194_world_blacktemple.sql
+195_world_serpent_shrine.sql
+
+#Yes, i sorted them manually, so please be as kind as to add incoming .sql updates in order.
+DESTINATION share/trinity/sql/updates) \ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 00000000000..8c8b9e0126f
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,6 @@
+add_subdirectory(framework)
+add_subdirectory(shared)
+add_subdirectory(trinityrealm)
+add_subdirectory(game)
+add_subdirectory(bindings)
+add_subdirectory(trinitycore)
diff --git a/src/bindings/CMakeLists.txt b/src/bindings/CMakeLists.txt
new file mode 100644
index 00000000000..6933b29fe2d
--- /dev/null
+++ b/src/bindings/CMakeLists.txt
@@ -0,0 +1,5 @@
+if(DO_SCRIPTS)
+add_subdirectory(scripts)
+else (DO_SCRIPTS)
+add_subdirectory(interface)
+endif(DO_SCRIPTS)
diff --git a/src/bindings/interface/CMakeLists.txt b/src/bindings/interface/CMakeLists.txt
new file mode 100644
index 00000000000..4a8f0872422
--- /dev/null
+++ b/src/bindings/interface/CMakeLists.txt
@@ -0,0 +1,19 @@
+
+########### next target ###############
+
+SET(trinityinterface_LIB_SRCS
+ ScriptMgr.cpp
+ ScriptMgr.h
+ config.h
+ system.cpp
+ Scripts/sc_default.cpp
+ Scripts/sc_defines.cpp
+ Scripts/sc_defines.h
+)
+
+add_library(trinityinterface STATIC ${trinityinterface_LIB_SRCS})
+
+target_link_libraries(trinityinterface)
+
+set_target_properties(trinityinterface PROPERTIES VERSION 4.2.0 SOVERSION 4)
+install(TARGETS trinityinterface DESTINATION lib)
diff --git a/src/bindings/interface/ScriptMgr.cpp b/src/bindings/interface/ScriptMgr.cpp
index 027b5b1fe57..8e6f2e421b6 100644
--- a/src/bindings/interface/ScriptMgr.cpp
+++ b/src/bindings/interface/ScriptMgr.cpp
@@ -276,7 +276,7 @@ InstanceData* CreateInstanceData(Map *map)
return tmpscript->GetInstanceData(map);
}
-*/
+
void ScriptedAI::UpdateAI(const uint32)
{
//Check if we have a current target
@@ -319,3 +319,4 @@ void ScriptedAI::DoGoHome()
if( !m_creature->getVictim() && m_creature->isAlive() )
m_creature->GetMotionMaster()->MoveTargetedHome();
}
+*/
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt
new file mode 100644
index 00000000000..636530b9527
--- /dev/null
+++ b/src/bindings/scripts/CMakeLists.txt
@@ -0,0 +1,389 @@
+
+########### next target ###############
+
+SET(trinityscript_LIB_SRCS
+ ScriptMgr.cpp
+ ScriptMgr.h
+ include/precompiled.cpp
+ include/precompiled.h
+ include/sc_creature.cpp
+ include/sc_creature.h
+ include/sc_gossip.h
+ include/sc_instance.h
+ scripts/areatrigger/areatrigger_scripts.cpp
+ scripts/boss/boss_emeriss.cpp
+ scripts/boss/boss_lethon.cpp
+ scripts/boss/boss_taerar.cpp
+ scripts/boss/boss_ysondre.cpp
+ scripts/creature/mob_event_ai.cpp
+ scripts/creature/mob_event_ai.h
+ scripts/creature/mob_generic_creature.cpp
+ scripts/creature/simple_ai.cpp
+ scripts/creature/simple_ai.h
+ scripts/custom/custom_example.cpp
+ scripts/custom/custom_gossip_codebox.cpp
+ scripts/custom/test.cpp
+ scripts/go/go_scripts.cpp
+ scripts/guard/guard_ai.cpp
+ scripts/guard/guard_ai.h
+ scripts/guard/guards.cpp
+ scripts/item/item_scripts.cpp
+ scripts/item/item_test.cpp
+ scripts/npc/npc_escortAI.cpp
+ scripts/npc/npc_escortAI.h
+ scripts/npc/npc_innkeeper.cpp
+ scripts/npc/npc_professions.cpp
+ scripts/npc/npcs_special.cpp
+ scripts/zone/arathi_highlands/arathi_highlands.cpp
+ scripts/zone/alterac_mountains/alterac_mountains.cpp
+ scripts/zone/ashenvale_forest/ashenvale.cpp
+ scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
+ scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
+ scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
+ scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp
+ scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp
+ scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
+ scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h
+ scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp
+ scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h
+ scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
+ scripts/zone/azshara/azshara.cpp
+ scripts/zone/azshara/boss_azuregos.cpp
+ scripts/zone/azuremyst_isle/azuremyst_isle.cpp
+ scripts/zone/barrens/the_barrens.cpp
+ scripts/zone/black_temple/black_temple.cpp
+ scripts/zone/black_temple/boss_bloodboil.cpp
+ scripts/zone/black_temple/boss_illidan.cpp
+ scripts/zone/black_temple/boss_mother_shahraz.cpp
+ scripts/zone/black_temple/boss_reliquary_of_souls.cpp
+ scripts/zone/black_temple/boss_shade_of_akama.cpp
+ scripts/zone/black_temple/boss_supremus.cpp
+ scripts/zone/black_temple/boss_teron_gorefiend.cpp
+ scripts/zone/black_temple/boss_warlord_najentus.cpp
+ scripts/zone/black_temple/def_black_temple.h
+ scripts/zone/black_temple/illidari_council.cpp
+ scripts/zone/black_temple/instance_black_temple.cpp
+ scripts/zone/blackrock_depths/blackrock_depths.cpp
+ scripts/zone/blackrock_depths/instance_blackrock_depths.cpp
+ scripts/zone/blackrock_depths/def_blackrock_depths.h
+ scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp
+ scripts/zone/blackrock_depths/boss_angerrel.cpp
+ scripts/zone/blackrock_depths/boss_anubshiah.cpp
+ scripts/zone/blackrock_depths/boss_doomrel.cpp
+ scripts/zone/blackrock_depths/boss_doperel.cpp
+ scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp
+ scripts/zone/blackrock_depths/boss_general_angerforge.cpp
+ scripts/zone/blackrock_depths/boss_gloomrel.cpp
+ scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp
+ scripts/zone/blackrock_depths/boss_grizzle.cpp
+ scripts/zone/blackrock_depths/boss_haterel.cpp
+ scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp
+ scripts/zone/blackrock_depths/boss_magmus.cpp
+ scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp
+ scripts/zone/blackrock_depths/boss_seethrel.cpp
+ scripts/zone/blackrock_depths/boss_vilerel.cpp
+ scripts/zone/blackrock_spire/boss_drakkisath.cpp
+ scripts/zone/blackrock_spire/boss_gyth.cpp
+ scripts/zone/blackrock_spire/boss_halycon.cpp
+ scripts/zone/blackrock_spire/boss_highlord_omokk.cpp
+ scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp
+ scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp
+ scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp
+ scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp
+ scripts/zone/blackrock_spire/boss_rend_blackhand.cpp
+ scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp
+ scripts/zone/blackrock_spire/boss_the_beast.cpp
+ scripts/zone/blackrock_spire/boss_warmaster_voone.cpp
+ scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp
+ scripts/zone/blackwing_lair/boss_chromaggus.cpp
+ scripts/zone/blackwing_lair/boss_ebonroc.cpp
+ scripts/zone/blackwing_lair/boss_firemaw.cpp
+ scripts/zone/blackwing_lair/boss_flamegor.cpp
+ scripts/zone/blackwing_lair/boss_nefarian.cpp
+ scripts/zone/blackwing_lair/boss_razorgore.cpp
+ scripts/zone/blackwing_lair/boss_vaelastrasz.cpp
+ scripts/zone/blackwing_lair/boss_victor_nefarius.cpp
+ scripts/zone/blackwing_lair/instance_blackwing_lair.cpp
+ scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp
+ scripts/zone/blasted_lands/blasted_lands.cpp
+ scripts/zone/blasted_lands/boss_kruul.cpp
+ scripts/zone/bloodmyst_isle/bloodmyst_isle.cpp
+ scripts/zone/burning_steppes/burning_steppes.cpp
+ scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h
+ scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp
+ scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
+ scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp
+ scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp
+ scripts/zone/caverns_of_time/hyjal/def_hyjal.h
+ scripts/zone/caverns_of_time/hyjal/hyjal.cpp
+ scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
+ scripts/zone/caverns_of_time/hyjal/hyjalAI.h
+ scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h
+ scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp
+ scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
+ scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h
+ scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp
+ scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h
+ scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
+ scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp
+ scripts/zone/darkshore/darkshore.cpp
+ scripts/zone/deadmines/def_deadmines.h
+ scripts/zone/deadmines/deadmines.cpp
+ scripts/zone/dun_morogh/dun_morogh.cpp
+ scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp
+ scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp
+ scripts/zone/elwynn_forest/elwynn_forest.cpp
+ scripts/zone/eversong_woods/eversong_woods.cpp
+ scripts/zone/felwood/felwood.cpp
+ scripts/zone/feralas/feralas.cpp
+ scripts/zone/ghostlands/ghostlands.cpp
+ scripts/zone/gruuls_lair/boss_gruul.cpp
+ scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
+ scripts/zone/gruuls_lair/def_gruuls_lair.h
+ scripts/zone/gruuls_lair/instance_gruuls_lair.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
+ scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp
+ scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
+ scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
+ scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
+ scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h
+ scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h
+ scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp
+ scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
+ scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp
+ scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp
+ scripts/zone/ironforge/ironforge.cpp
+ scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp
+ scripts/zone/karazhan/boss_curator.cpp
+ scripts/zone/karazhan/boss_maiden_of_virtue.cpp
+ scripts/zone/karazhan/boss_midnight.cpp
+ scripts/zone/karazhan/boss_moroes.cpp
+ scripts/zone/karazhan/boss_netherspite.cpp
+ scripts/zone/karazhan/boss_nightbane.cpp
+ scripts/zone/karazhan/boss_prince_malchezaar.cpp
+ scripts/zone/karazhan/boss_shade_of_aran.cpp
+ scripts/zone/karazhan/boss_terestian_illhoof.cpp
+ scripts/zone/karazhan/bosses_opera.cpp
+ scripts/zone/karazhan/def_karazhan.h
+ scripts/zone/karazhan/instance_karazhan.cpp
+ scripts/zone/karazhan/karazhan.cpp
+ scripts/zone/loch_modan/loch_modan.cpp
+ scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp
+ scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
+ scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
+ scripts/zone/magisters_terrace/boss_vexallus.cpp
+ scripts/zone/magisters_terrace/def_magisters_terrace.h
+ scripts/zone/magisters_terrace/instance_magisters_terrace.cpp
+ scripts/zone/maraudon/boss_celebras_the_cursed.cpp
+ scripts/zone/maraudon/boss_landslide.cpp
+ scripts/zone/maraudon/boss_noxxion.cpp
+ scripts/zone/maraudon/boss_princess_theradras.cpp
+ scripts/zone/molten_core/boss_baron_geddon.cpp
+ scripts/zone/molten_core/boss_garr.cpp
+ scripts/zone/molten_core/boss_gehennas.cpp
+ scripts/zone/molten_core/boss_golemagg.cpp
+ scripts/zone/molten_core/boss_lucifron.cpp
+ scripts/zone/molten_core/boss_magmadar.cpp
+ scripts/zone/molten_core/boss_majordomo_executus.cpp
+ scripts/zone/molten_core/boss_ragnaros.cpp
+ scripts/zone/molten_core/boss_shazzrah.cpp
+ scripts/zone/molten_core/boss_sulfuron_harbinger.cpp
+ scripts/zone/molten_core/def_molten_core.h
+ scripts/zone/molten_core/instance_molten_core.cpp
+ scripts/zone/molten_core/molten_core.cpp
+ scripts/zone/moonglade/moonglade.cpp
+ scripts/zone/mulgore/mulgore.cpp
+ scripts/zone/nagrand/nagrand.cpp
+ scripts/zone/naxxramas/boss_anubrekhan.cpp
+ scripts/zone/naxxramas/boss_faerlina.cpp
+ scripts/zone/naxxramas/boss_gluth.cpp
+ scripts/zone/naxxramas/boss_gothik.cpp
+ scripts/zone/naxxramas/boss_grobbulus.cpp
+ scripts/zone/naxxramas/boss_heigan.cpp
+ scripts/zone/naxxramas/boss_highlord_mograine.cpp
+ scripts/zone/naxxramas/boss_kelthuzad.cpp
+ scripts/zone/naxxramas/boss_four_horsemen.cpp
+ scripts/zone/naxxramas/boss_loatheb.cpp
+ scripts/zone/naxxramas/boss_maexxna.cpp
+ scripts/zone/naxxramas/boss_noth.cpp
+ scripts/zone/naxxramas/boss_patchwerk.cpp
+ scripts/zone/naxxramas/boss_razuvious.cpp
+ scripts/zone/naxxramas/boss_sapphiron.cpp
+ scripts/zone/naxxramas/boss_thaddius.cpp
+ scripts/zone/naxxramas/instance_naxxramas.cpp
+ scripts/zone/netherstorm/netherstorm.cpp
+ scripts/zone/onyxias_lair/boss_onyxia.cpp
+ scripts/zone/orgrimmar/orgrimmar.cpp
+ scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp
+ scripts/zone/razorfen_kraul/razorfen_kraul.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp
+ scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp
+ scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
+ scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp
+ scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp
+ scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp
+ scripts/zone/scarlet_monastery/boss_herod.cpp
+ scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
+ scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp
+ scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp
+ scripts/zone/scarlet_monastery/boss_scorn.cpp
+ scripts/zone/scarlet_monastery/boss_headless_horseman.cpp
+ scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp
+ scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp
+ scripts/zone/scarlet_monastery/def_scarlet_monastery.h
+ scripts/zone/scholomance/boss_darkmaster_gandling.cpp
+ scripts/zone/scholomance/boss_death_knight_darkreaver.cpp
+ scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp
+ scripts/zone/scholomance/boss_illucia_barov.cpp
+ scripts/zone/scholomance/boss_instructor_malicia.cpp
+ scripts/zone/scholomance/boss_jandice_barov.cpp
+ scripts/zone/scholomance/boss_kormok.cpp
+ scripts/zone/scholomance/boss_lord_alexei_barov.cpp
+ scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp
+ scripts/zone/scholomance/boss_ras_frostwhisper.cpp
+ scripts/zone/scholomance/boss_the_ravenian.cpp
+ scripts/zone/scholomance/boss_vectus.cpp
+ scripts/zone/scholomance/def_scholomance.h
+ scripts/zone/scholomance/instance_scholomance.cpp
+ scripts/zone/searing_gorge/searing_gorge.cpp
+ scripts/zone/shadowfang_keep/def_shadowfang_keep.h
+ scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp
+ scripts/zone/shadowfang_keep/shadowfang_keep.cpp
+ scripts/zone/shadowmoon_valley/boss_doomwalker.cpp
+ scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
+ scripts/zone/shattrath/shattrath_city.cpp
+ scripts/zone/silithus/silithus.cpp
+ scripts/zone/silvermoon/silvermoon_city.cpp
+ scripts/zone/silverpine_forest/silverpine_forest.cpp
+ scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp
+ scripts/zone/stormwind/stormwind_city.cpp
+ scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
+ scripts/zone/stratholme/boss_baron_rivendare.cpp
+ scripts/zone/stratholme/boss_baroness_anastari.cpp
+ scripts/zone/stratholme/boss_cannon_master_willey.cpp
+ scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp
+ scripts/zone/stratholme/boss_magistrate_barthilas.cpp
+ scripts/zone/stratholme/boss_maleki_the_pallid.cpp
+ scripts/zone/stratholme/boss_nerubenkan.cpp
+ scripts/zone/stratholme/boss_order_of_silver_hand.cpp
+ scripts/zone/stratholme/boss_postmaster_malown.cpp
+ scripts/zone/stratholme/boss_ramstein_the_gorger.cpp
+ scripts/zone/stratholme/boss_timmy_the_cruel.cpp
+ scripts/zone/stratholme/def_stratholme.h
+ scripts/zone/stratholme/instance_stratholme.cpp
+ scripts/zone/stratholme/stratholme.cpp
+ scripts/zone/sunwell_plateau/boss_eredar_twins.cpp
+ scripts/zone/sunwell_plateau/boss_felmyst.cpp
+ scripts/zone/sunwell_plateau/boss_brutallus.cpp
+ scripts/zone/sunwell_plateau/boss_kalecgos.cpp
+ scripts/zone/sunwell_plateau/def_sunwell_plateau.h
+ scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp
+ scripts/zone/tanaris/tanaris.cpp
+ scripts/zone/tempest_keep/arcatraz/arcatraz.cpp
+ scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
+ scripts/zone/tempest_keep/arcatraz/def_arcatraz.h
+ scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp
+ scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp
+ scripts/zone/tempest_keep/botanica/boss_laj.cpp
+ scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp
+ scripts/zone/tempest_keep/the_eye/boss_alar.cpp
+ scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
+ scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
+ scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp
+ scripts/zone/tempest_keep/the_eye/def_the_eye.h
+ scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp
+ scripts/zone/tempest_keep/the_eye/the_eye.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
+ scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
+ scripts/zone/tempest_keep/the_mechanar/def_mechanar.h
+ scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp
+ scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp
+ scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h
+ scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp
+ scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp
+ scripts/zone/terokkar_forest/terokkar_forest.cpp
+ scripts/zone/thunder_bluff/thunder_bluff.cpp
+ scripts/zone/tirisfal_glades/tirisfal_glades.cpp
+ scripts/zone/thousand_needles/thousand_needles.cpp
+ scripts/zone/uldaman/boss_archaedas.cpp
+ scripts/zone/uldaman/instance_uldaman.cpp
+ scripts/zone/uldaman/boss_ironaya.cpp
+ scripts/zone/uldaman/uldaman.cpp
+ scripts/zone/undercity/undercity.cpp
+ scripts/zone/wailing_caverns/instance_wailing_caverns.cpp
+ scripts/zone/western_plaguelands/western_plaguelands.cpp
+ scripts/zone/westfall/westfall.cpp
+ scripts/zone/winterspring/winterspring.cpp
+ scripts/zone/zangarmarsh/zangarmarsh.cpp
+ scripts/zone/zulaman/boss_akilzon.cpp
+ scripts/zone/zulaman/boss_halazzi.cpp
+ scripts/zone/zulaman/boss_hexlord.cpp
+ scripts/zone/zulaman/boss_janalai.cpp
+ scripts/zone/zulaman/boss_nalorakk.cpp
+ scripts/zone/zulaman/boss_zuljin.cpp
+ scripts/zone/zulaman/def_zulaman.h
+ scripts/zone/zulaman/instance_zulaman.cpp
+ scripts/zone/zulaman/zulaman.cpp
+ scripts/zone/zulfarrak/zulfarrak.cpp
+ scripts/zone/zulgurub/boss_arlokk.cpp
+ scripts/zone/zulgurub/boss_gahzranka.cpp
+ scripts/zone/zulgurub/boss_grilek.cpp
+ scripts/zone/zulgurub/boss_hakkar.cpp
+ scripts/zone/zulgurub/boss_hazzarah.cpp
+ scripts/zone/zulgurub/boss_jeklik.cpp
+ scripts/zone/zulgurub/boss_jindo.cpp
+ scripts/zone/zulgurub/boss_mandokir.cpp
+ scripts/zone/zulgurub/boss_marli.cpp
+ scripts/zone/zulgurub/boss_renataki.cpp
+ scripts/zone/zulgurub/boss_thekal.cpp
+ scripts/zone/zulgurub/boss_venoxis.cpp
+ scripts/zone/zulgurub/boss_wushoolay.cpp
+ scripts/zone/zulgurub/def_zulgurub.h
+ scripts/zone/zulgurub/instance_zulgurub.cpp
+ system.cpp
+)
+
+add_library(trinityscript STATIC ${trinityscript_LIB_SRCS})
+
+target_link_libraries(trinityscript)
+
+set_target_properties(trinityscript PROPERTIES VERSION 4.2.0 SOVERSION 4)
+install(TARGETS trinityscript DESTINATION lib)
+
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp
index c438ef2d8af..e67fa031d42 100644
--- a/src/bindings/scripts/scripts/npc/npcs_special.cpp
+++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp
@@ -131,12 +131,79 @@ bool QuestComplete_npc_chicken_cluck(Player *player, Creature *_Creature, const
## npc_dancing_flames
######*/
-bool ReceiveEmote_npc_dancing_flames( Player *player, Creature *_Creature, uint32 emote )
+#define SPELL_BRAZIER 45423
+#define SPELL_SEDUCTION 47057
+#define SPELL_FIERY_AURA 45427
+
+struct TRINITY_DLL_DECL npc_dancing_flamesAI : public ScriptedAI
{
- if( emote == TEXTEMOTE_DANCE )
- _Creature->CastSpell(player,47057,false);
+ npc_dancing_flamesAI(Creature *c) : ScriptedAI(c) {Reset();}
+
+ bool active;
+ uint32 can_iteract;
- return true;
+ void Reset()
+ {
+ active = true;
+ can_iteract = 3500;
+ DoCast(m_creature,SPELL_BRAZIER,true);
+ DoCast(m_creature,SPELL_FIERY_AURA,false);
+ float x, y, z;
+ m_creature->GetPosition(x,y,z);
+ m_creature->Relocate(x,y,z + 0.94f);
+ m_creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_LEVITATING);
+ m_creature->HandleEmoteCommand(EMOTE_ONESHOT_DANCE);
+ WorldPacket data; //send update position to client
+ m_creature->BuildHeartBeatMsg(&data);
+ m_creature->SendMessageToSet(&data,true);
+ }
+
+ void UpdateAI(const uint32 diff)
+ {
+ if (!active)
+ {
+ if(can_iteract <= diff){
+ active = true;
+ can_iteract = 3500;
+ m_creature->HandleEmoteCommand(EMOTE_ONESHOT_DANCE);
+ }else can_iteract -= diff;
+ }
+ }
+
+ void Aggro(Unit* who){}
+};
+
+CreatureAI* GetAI_npc_dancing_flames(Creature *_Creature)
+{
+ return new npc_dancing_flamesAI(_Creature);
+}
+
+bool ReceiveEmote_npc_dancing_flames( Player *player, Creature *flame, uint32 emote )
+{
+ if ( ((npc_dancing_flamesAI*)flame->AI())->active &&
+ flame->IsWithinLOS(player->GetPositionX(),player->GetPositionY(),player->GetPositionZ()) && flame->IsWithinDistInMap(player,30.0f))
+ {
+ flame->SetInFront(player);
+ ((npc_dancing_flamesAI*)flame->AI())->active = false;
+
+ WorldPacket data;
+ flame->BuildHeartBeatMsg(&data);
+ flame->SendMessageToSet(&data,true);
+ switch(emote)
+ {
+ case TEXTEMOTE_KISS: flame->HandleEmoteCommand(EMOTE_ONESHOT_SHY); break;
+ case TEXTEMOTE_WAVE: flame->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); break;
+ case TEXTEMOTE_BOW: flame->HandleEmoteCommand(EMOTE_ONESHOT_BOW); break;
+ case TEXTEMOTE_JOKE: flame->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH); break;
+ case TEXTEMOTE_DANCE:
+ {
+ if (!player->HasAura(SPELL_SEDUCTION,0))
+ flame->CastSpell(player,SPELL_SEDUCTION,true);
+ }
+ break;
+ }
+ }
+ return true;
}
/*######
@@ -940,6 +1007,7 @@ void AddSC_npcs_special()
newscript = new Script;
newscript->Name="npc_dancing_flames";
+ newscript->GetAI = &GetAI_npc_dancing_flames;
newscript->pReceiveEmote = &ReceiveEmote_npc_dancing_flames;
newscript->RegisterSelf();
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
index afc161afed4..d0273e22d34 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
@@ -23,7 +23,7 @@ EndScriptData */
#include "precompiled.h"
-#define SPELL_INHABITMAGIC 32264
+#define SPELL_INHIBITMAGIC 32264
#define SPELL_ATTRACTMAGIC 32265
#define N_SPELL_CARNIVOROUSBITE 36383
#define H_SPELL_CARNIVOROUSBITE 39382
@@ -44,7 +44,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
Reset();
}
- uint32 Inhabitmagic_Timer;
+ uint32 Inhibitmagic_Timer;
uint32 Attractmagic_Timer;
uint32 Carnivorousbite_Timer;
uint32 FocusFire_Timer;
@@ -53,7 +53,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
void Reset()
{
- Inhabitmagic_Timer = 3000;
+ Inhibitmagic_Timer = 0;
Attractmagic_Timer = 28000;
Carnivorousbite_Timer = 10000;
FocusFire_Timer = 17000;
@@ -79,22 +79,38 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
+ //Inhibitmagic_Timer
+ if (Inhibitmagic_Timer < diff)
+ {
+ float dist;
+ Map *map = m_creature->GetMap();
+ Map::PlayerList const &PlayerList = map->GetPlayers();
+ for(Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
+ if (Player* i_pl = i->getSource())
+ if (i_pl->isAlive() && (dist = i_pl->GetDistance(m_creature)) < 45)
+ {
+ i_pl->RemoveAurasDueToSpell(SPELL_INHIBITMAGIC);
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ if(dist < 35)
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ if(dist < 25)
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ if(dist < 15)
+ m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl);
+ }
+ Inhibitmagic_Timer = 3000+(rand()%1000);
+ }else Inhibitmagic_Timer -= diff;
+
//Return since we have no target
if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
return;
- //Inhabitmagic_Timer
- if (Inhabitmagic_Timer < diff)
- {
- DoCast(m_creature,SPELL_INHABITMAGIC);
- Inhabitmagic_Timer = 2000+(rand()%2000);
- }else Inhabitmagic_Timer -= diff;
-
//Attractmagic_Timer
if (Attractmagic_Timer < diff)
{
DoCast(m_creature,SPELL_ATTRACTMAGIC);
Attractmagic_Timer = 30000;
+ Carnivorousbite_Timer = 1500;
}else Attractmagic_Timer -= diff;
//Carnivorousbite_Timer
@@ -108,20 +124,20 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI
if (FocusFire_Timer < diff)
{
// Summon Focus Fire & Emote
- Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0);
- if (target && target->GetTypeId() == TYPEID_PLAYER)
+ Unit *target = SelectUnit(SELECT_TARGET_RANDOM,1);
+ if (target && target->GetTypeId() == TYPEID_PLAYER && target->isAlive())
{
focusedTarget = target;
m_creature->SummonCreature(ENTRY_FOCUS_FIRE,target->GetPositionX(),target->GetPositionY(),target->GetPositionZ(),0,TEMPSUMMON_TIMED_DESPAWN,5500);
// Emote
- std::string *emote = new std::string("focuses his energy on ");
+ std::string *emote = new std::string("focuses on ");
emote->append(target->GetName());
+ emote->append("!");
DoTextEmote(emote->c_str(),NULL,true);
delete emote;
-
- FocusFire_Timer = 15000+(rand()%5000);
}
+ FocusFire_Timer = 15000+(rand()%5000);
}else FocusFire_Timer -= diff;
DoMeleeAttackIfReady();
@@ -143,7 +159,7 @@ struct TRINITY_DLL_DECL mob_focus_fireAI : public ScriptedAI
bool HeroicMode;
uint32 FieryBlast_Timer;
- bool fiery1, fiery2, fiery3;
+ bool fiery1, fiery2;
void Reset()
{
diff --git a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
index a5d66b02ddc..2631b9ac3ae 100644
--- a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
+++ b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
@@ -72,13 +72,28 @@ struct TRINITY_DLL_DECL mob_yennikuAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
if (bReset)
- if(Reset_Timer < diff)
- {
- EnterEvadeMode();
- bReset = false;
- m_creature->setFaction(28); //troll, bloodscalp
- }
- else Reset_Timer -= diff;
+ {
+ if(Reset_Timer < diff)
+ {
+ EnterEvadeMode();
+ bReset = false;
+ m_creature->setFaction(28); //troll, bloodscalp
+ }
+ else Reset_Timer -= diff;
+
+ if(m_creature->isInCombat() && m_creature->getVictim())
+ {
+ if(m_creature->getVictim()->GetTypeId() == TYPEID_PLAYER)
+ {
+ Unit *victim = m_creature->getVictim();
+ if(((Player*)victim)->GetTeam() == HORDE)
+ {
+ m_creature->CombatStop();
+ m_creature->DeleteThreatList();
+ }
+ }
+ }
+ }
//Return since we have no target
if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
diff --git a/src/framework/CMakeLists.txt b/src/framework/CMakeLists.txt
new file mode 100644
index 00000000000..41ca661de98
--- /dev/null
+++ b/src/framework/CMakeLists.txt
@@ -0,0 +1,8 @@
+SET(trinityframework_STAT_SRCS
+ Policies/ObjectLifeTime.cpp
+ Utilities/EventProcessor.cpp
+)
+include_directories(
+${CMAKE_CURRENT_SRC_DIR}
+)
+add_library(trinityframework STATIC ${trinityframework_STAT_SRCS})
diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt
new file mode 100644
index 00000000000..db1e31f2414
--- /dev/null
+++ b/src/game/CMakeLists.txt
@@ -0,0 +1,266 @@
+
+########### next target ###############
+
+SET(game_STAT_SRCS
+ AccountMgr.cpp
+ AccountMgr.h
+ AddonHandler.cpp
+ AddonHandler.h
+ AggressorAI.cpp
+ AggressorAI.h
+ AnimalRandomMovementGenerator.h
+ ArenaTeam.cpp
+ ArenaTeam.h
+ ArenaTeamHandler.cpp
+ AuctionHouse.cpp
+ AuctionHouseObject.h
+ Bag.cpp
+ Bag.h
+ BattleGround.cpp
+ BattleGroundAA.cpp
+ BattleGroundAB.cpp
+ BattleGroundAV.cpp
+ BattleGroundBE.cpp
+ BattleGroundEY.cpp
+ BattleGroundNA.cpp
+ BattleGroundRL.cpp
+ BattleGroundWS.cpp
+ BattleGround.h
+ BattleGroundAA.h
+ BattleGroundAB.h
+ BattleGroundAV.h
+ BattleGroundBE.h
+ BattleGroundEY.h
+ BattleGroundNA.h
+ BattleGroundRL.h
+ BattleGroundWS.h
+ BattleGroundHandler.cpp
+ BattleGroundMgr.cpp
+ BattleGroundMgr.h
+ Cell.h
+ CellImpl.h
+ Channel.cpp
+ Channel.h
+ ChannelHandler.cpp
+ ChannelMgr.h
+ CharacterHandler.cpp
+ Chat.cpp
+ Chat.h
+ ChatHandler.cpp
+ CombatHandler.cpp
+ ConfusedMovementGenerator.cpp
+ ConfusedMovementGenerator.h
+ Corpse.cpp
+ Corpse.h
+ CreatureAI.cpp
+ CreatureAI.h
+ CreatureAIImpl.h
+ CreatureAIRegistry.cpp
+ CreatureAIRegistry.h
+ CreatureAISelector.cpp
+ CreatureAISelector.h
+ Creature.cpp
+ Creature.h
+ CreatureGroups.cpp
+ CreatureGroups.h
+ debugcmds.cpp
+ DestinationHolder.cpp
+ DestinationHolder.h
+ DestinationHolderImp.h
+ DuelHandler.cpp
+ DynamicObject.cpp
+ DynamicObject.h
+ FleeingMovementGenerator.cpp
+ FleeingMovementGenerator.h
+ Formulas.h
+ GameEvent.cpp
+ GameEvent.h
+ GameObject.cpp
+ GameObject.h
+ GlobalEvents.cpp
+ GlobalEvents.h
+ GossipDef.cpp
+ GossipDef.h
+ GridDefines.h
+ GridNotifiers.cpp
+ GridNotifiers.h
+ GridNotifiersImpl.h
+ GridStates.cpp
+ GridStates.h
+ Group.cpp
+ Group.h
+ GroupHandler.cpp
+ GuardAI.cpp
+ GuardAI.h
+ Guild.cpp
+ Guild.h
+ GuildHandler.cpp
+ HomeMovementGenerator.cpp
+ HomeMovementGenerator.h
+ HostilRefManager.cpp
+ HostilRefManager.h
+ IdleMovementGenerator.cpp
+ IdleMovementGenerator.h
+ InstanceData.cpp
+ InstanceData.h
+ InstanceSaveMgr.cpp
+ InstanceSaveMgr.h
+ Item.cpp
+ Item.h
+ ItemEnchantmentMgr.cpp
+ ItemEnchantmentMgr.h
+ ItemHandler.cpp
+ ItemPrototype.h
+ Language.h
+ Level0.cpp
+ Level1.cpp
+ Level2.cpp
+ Level3.cpp
+ LFGHandler.cpp
+ LootHandler.cpp
+ LootMgr.cpp
+ LootMgr.h
+ Mail.cpp
+ Mail.h
+ Map.cpp
+ Map.h
+ MapInstanced.cpp
+ MapInstanced.h
+ MapManager.cpp
+ MapManager.h
+ MiscHandler.cpp
+ MotionMaster.cpp
+ MotionMaster.h
+ MovementGenerator.cpp
+ MovementGenerator.h
+ MovementGeneratorImpl.h
+ MovementHandler.cpp
+ NPCHandler.cpp
+ NPCHandler.h
+ NullCreatureAI.cpp
+ NullCreatureAI.h
+ ObjectAccessor.cpp
+ ObjectAccessor.h
+ Object.cpp
+ ObjectDefines.h
+ ObjectGridLoader.cpp
+ ObjectGridLoader.h
+ Object.h
+ ObjectMgr.cpp
+ ObjectMgr.h
+ Opcodes.cpp
+ Opcodes.h
+ OutdoorPvP.cpp
+ OutdoorPvP.h
+ OutdoorPvPEP.cpp
+ OutdoorPvPEP.h
+ OutdoorPvPHP.cpp
+ OutdoorPvPHP.h
+ OutdoorPvPMgr.cpp
+ OutdoorPvPMgr.h
+ OutdoorPvPNA.cpp
+ OutdoorPvPNA.h
+ OutdoorPvPObjectiveAI.cpp
+ OutdoorPvPObjectiveAI.h
+ OutdoorPvPSI.cpp
+ OutdoorPvPSI.h
+ OutdoorPvPTF.cpp
+ OutdoorPvPTF.h
+ OutdoorPvPZM.cpp
+ OutdoorPvPZM.h
+ Path.h
+ PetAI.cpp
+ PetAI.h
+ Pet.cpp
+ Pet.h
+ PetHandler.cpp
+ PetitionsHandler.cpp
+ Player.cpp
+ Player.h
+ PlayerDump.cpp
+ PlayerDump.h
+ PointMovementGenerator.cpp
+ PointMovementGenerator.h
+ PossessedAI.cpp
+ PossessedAI.h
+ QueryHandler.cpp
+ QuestDef.cpp
+ QuestDef.h
+ QuestHandler.cpp
+ RandomMovementGenerator.cpp
+ RandomMovementGenerator.h
+ ReactorAI.cpp
+ ReactorAI.h
+ ScriptCalls.cpp
+ ScriptCalls.h
+ SharedDefines.h
+ SkillHandler.cpp
+ SpellAuraDefines.h
+ SpellAuras.cpp
+ SpellAuras.h
+ Spell.cpp
+ SpellEffects.cpp
+ Spell.h
+ SkillDiscovery.cpp
+ SkillDiscovery.h
+ SkillExtraItems.cpp
+ SkillExtraItems.h
+ SpellHandler.cpp
+ SocialMgr.cpp
+ SocialMgr.h
+ SpellMgr.cpp
+ SpellMgr.h
+ StatSystem.cpp
+ TargetedMovementGenerator.cpp
+ TargetedMovementGenerator.h
+ TaxiHandler.cpp
+ TemporarySummon.cpp
+ TemporarySummon.h
+ TicketHandler.cpp
+ TicketMgr.cpp
+ TicketMgr.h
+ tools.cpp
+ Tools.h
+ TotemAI.cpp
+ TotemAI.h
+ Totem.cpp
+ Totem.h
+ TradeHandler.cpp
+ Transports.cpp
+ Transports.h
+ ThreatManager.cpp
+ ThreatManager.h
+ Traveller.h
+ Unit.cpp
+ Unit.h
+ UnitEvents.h
+ UpdateData.cpp
+ UpdateData.h
+ UpdateFields.h
+ UpdateMask.h
+ VoiceChatHandler.cpp
+ WaypointManager.cpp
+ WaypointManager.h
+ WaypointMovementGenerator.cpp
+ WaypointMovementGenerator.h
+ Weather.cpp
+ Weather.h
+ World.cpp
+ World.h
+ WorldLog.cpp
+ WorldLog.h
+ WorldSession.cpp
+ WorldSession.h
+ WorldSocket.cpp
+ WorldSocket.h
+ WorldSocketMgr.cpp
+ WorldSocketMgr.h
+ FollowerReference.cpp
+ FollowerReference.h
+ FollowerRefManager.h
+ GroupReference.cpp
+ GroupReference.h
+ GroupRefManager.h
+)
+
+add_library(game STATIC ${game_STAT_SRCS})
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 300bb3cf3e8..ce089511586 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -516,6 +516,7 @@ ChatCommand * ChatHandler::getCommandTable()
{ "viewname", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByNameCommand, "", NULL },
{ "viewid", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByIdCommand, "", NULL },
{ "close", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketCloseByIdCommand, "", NULL },
+ { "closedlist", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketListClosedCommand, "", NULL },
{ "delete", SEC_ADMINISTRATOR, false, &ChatHandler::HandleGMTicketDeleteByIdCommand, "", NULL },
{ "assign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketAssignToCommand, "", NULL },
{ "unassign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketUnAssignCommand, "", NULL },
@@ -527,7 +528,7 @@ ChatCommand * ChatHandler::getCommandTable()
{
{ "account", SEC_PLAYER, true, NULL, "", accountCommandTable },
{ "gm", SEC_MODERATOR, true, NULL, "", gmCommandTable },
- { "ticket", SEC_MODERATOR, true, NULL, "", ticketCommandTable },
+ { "ticket", SEC_MODERATOR, false, NULL, "", ticketCommandTable },
{ "npc", SEC_MODERATOR, false, NULL, "", npcCommandTable },
{ "go", SEC_MODERATOR, false, NULL, "", goCommandTable },
{ "learn", SEC_MODERATOR, false, NULL, "", learnCommandTable },
diff --git a/src/game/Chat.h b/src/game/Chat.h
index e83aef41c5b..337d34e3b0c 100644
--- a/src/game/Chat.h
+++ b/src/game/Chat.h
@@ -68,6 +68,7 @@ class ChatHandler
void SendSysMessage( int32 entry);
void PSendSysMessage( const char *format, ...) ATTR_PRINTF(2,3);
void PSendSysMessage( int32 entry, ... );
+ std::string PGetParseString(int32 entry, ...);
int ParseCommands(const char* text);
@@ -415,6 +416,7 @@ class ChatHandler
// GM ticket command handlers
bool HandleGMTicketListCommand(const char* args);
bool HandleGMTicketListOnlineCommand(const char* args);
+ bool HandleGMTicketListClosedCommand(const char* args);
bool HandleGMTicketGetByIdCommand(const char* args);
bool HandleGMTicketGetByNameCommand(const char* args);
bool HandleGMTicketCloseByIdCommand(const char* args);
diff --git a/src/game/Language.h b/src/game/Language.h
index aa2ea06d109..8a356bbc06e 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -786,23 +786,32 @@ enum TrinityStrings
LANG_YOU_CHANGE_GENDER = 1120,
LANG_YOUR_GENDER_CHANGED = 1121,
- // Ticket Strings 2000-2020
+ // Ticket Strings 2000-2029
LANG_COMMAND_TICKETNEW = 2000,
- LANG_COMMAND_TICKETUPDATED = 2001,
+ LANG_COMMAND_TICKETUPDATED = 2001,
LANG_COMMAND_TICKETPLAYERABANDON = 2002,
LANG_COMMAND_TICKETCLOSED = 2003,
LANG_COMMAND_TICKETDELETED = 2004,
LANG_COMMAND_TICKETNOTEXIST = 2005,
- LANG_COMMAND_TICKETCLOSEFIRST = 2007,
- LANG_COMMAND_TICKETALREADYASSIGNED = 2008,
- LANG_COMMAND_TICKETRELOAD = 2009,
- LANG_COMMAND_TICKETSHOWLIST = 2010,
- LANG_COMMAND_TICKETSHOWONLINELIST = 2011,
+ LANG_COMMAND_TICKETCLOSEFIRST = 2006,
+ LANG_COMMAND_TICKETALREADYASSIGNED = 2007,
+ LANG_COMMAND_TICKETRELOAD = 2008,
+ LANG_COMMAND_TICKETSHOWLIST = 2009,
+ LANG_COMMAND_TICKETSHOWONLINELIST = 2010,
+ LANG_COMMAND_TICKETSHOWCLOSEDLIST = 2011,
LANG_COMMAND_TICKETASSIGNERROR_A = 2012,
LANG_COMMAND_TICKETASSIGNERROR_B = 2013,
LANG_COMMAND_TICKETNOTASSIGNED = 2014,
LANG_COMMAND_TICKETUNASSIGNSECURITY = 2015,
LANG_COMMAND_TICKETCANNOTCLOSE = 2016,
+ LANG_COMMAND_TICKETLISTGUID = 2017,
+ LANG_COMMAND_TICKETLISTNAME = 2018,
+ LANG_COMMAND_TICKETLISTAGE = 2019,
+ LANG_COMMAND_TICKETLISTASSIGNEDTO = 2020,
+ LANG_COMMAND_TICKETLISTUNASSIGNED = 2021,
+ LANG_COMMAND_TICKETLISTMESSAGE = 2022,
+ LANG_COMMAND_TICKETLISTCOMMENT = 2023,
+ LANG_COMMAND_TICKETLISTADDCOMMENT = 2024,
// Trinity strings 5000-9999
diff --git a/src/game/Level0.cpp b/src/game/Level0.cpp
index 63a015f9802..ff7d58f8da1 100644
--- a/src/game/Level0.cpp
+++ b/src/game/Level0.cpp
@@ -31,6 +31,7 @@
#include "Language.h"
#include "AccountMgr.h"
#include "SystemConfig.h"
+#include "revision.h"
#include "Util.h"
bool ChatHandler::HandleHelpCommand(const char* args)
@@ -95,7 +96,7 @@ bool ChatHandler::HandleServerInfoCommand(const char* /*args*/)
std::string str = secsToTimeString(sWorld.GetUptime());
uint32 updateTime = sWorld.GetUpdateTime();
- PSendSysMessage(_FULLVERSION); //char const* full;
+ PSendSysMessage(_FULLVERSION);
//if(m_session)
// full = _FULLVERSION(REVISION_DATE,REVISION_TIME,"|cffffffff|Hurl:" REVISION_ID "|h" REVISION_ID "|h|r");
//else
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp
index 5f657344864..06032053490 100644
--- a/src/game/Level1.cpp
+++ b/src/game/Level1.cpp
@@ -270,6 +270,16 @@ bool ChatHandler::HandleGMChatCommand(const char* args)
return false;
}
+std::string ChatHandler::PGetParseString(int32 entry, ...)
+{
+ const char *format = GetTrinityString(entry);
+ va_list ap;
+ char str [1024];
+ va_start(ap, entry);
+ vsnprintf(str,1024,format, ap );
+ va_end(ap);
+ return (std::string)str;
+}
bool ChatHandler::HandleGMTicketListCommand(const char* args)
{
SendSysMessage(LANG_COMMAND_TICKETSHOWLIST);
@@ -277,18 +287,16 @@ bool ChatHandler::HandleGMTicketListCommand(const char* args)
{
if((*itr)->closed != 0)
continue;
-
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString(time(NULL) - (*itr)->timestamp, true, false) << " ago.";
- if((*itr)->assignedToGM != 0)
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- SendSysMessage(message.str().c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ SendSysMessage(ss.str().c_str());
}
return true;
}
@@ -302,17 +310,38 @@ bool ChatHandler::HandleGMTicketListOnlineCommand(const char* args)
if((*itr)->closed != 0 || !objmgr.GetPlayer((*itr)->playerGuid))
continue;
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL) - (*itr)->timestamp), true, false) << " ago.";
- if((*itr)->assignedToGM != 0 && objmgr.GetPlayer((*itr)->assignedToGM))
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
+ {
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ SendSysMessage(ss.str().c_str());
+ }
+ return true;
+}
+
+bool ChatHandler::HandleGMTicketListClosedCommand(const char* args)
+{
+ SendSysMessage(LANG_COMMAND_TICKETSHOWCLOSEDLIST);
+ for(GmTicketList::iterator itr = ticketmgr.GM_TicketList.begin(); itr != ticketmgr.GM_TicketList.end(); ++itr)
+ {
+ if((*itr)->closed == 0)
+ continue;
+
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- SendSysMessage(message.str().c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ SendSysMessage(ss.str().c_str());
}
return true;
}
@@ -330,22 +359,21 @@ bool ChatHandler::HandleGMTicketGetByIdCommand(const char* args)
return true;
}
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago.";
- if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM))
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- message << "|r\n|cff00ff00Message:|r " << ticket->message;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str());
if(ticket->comment != "")
{
- message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str());
}
- SendSysMessage(message.str().c_str());
+ SendSysMessage(ss.str().c_str());
return true;
}
@@ -361,22 +389,21 @@ bool ChatHandler::HandleGMTicketGetByNameCommand(const char* args)
return true;
}
- std::stringstream message;
- message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid;
- message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name;
- message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago.";
- if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM))
+ std::string gmname;
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str());
+ if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
{
- std::string gmname;
- objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
- message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
- }
- message << "|r\n|cff00ff00Message:|r " << ticket->message;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str());
if(ticket->comment != "")
{
- message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str());
}
- SendSysMessage(message.str().c_str());
+ SendSysMessage(ss.str().c_str());
return true;
}
@@ -397,7 +424,11 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args)
PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->guid);
return true;
}
- sWorld.SendGMText(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName(), ticket->guid);
+ std::stringstream ss;
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName());
+ SendGlobalGMSysMessage(ss.str().c_str());
ticketmgr.RemoveGMTicket(ticket->guid, m_session->GetPlayer()->GetGUID());
Player *plr = objmgr.GetPlayer(ticket->playerGuid);
@@ -460,10 +491,9 @@ bool ChatHandler::HandleGMTicketAssignToCommand(const char* args)
ticket->assignedToGM = tarGUID;
ticketmgr.UpdateGMTicket(ticket);
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
- ss << "|cff00ff00 assigned to:|r ";
- ss << "|cffff00ff\"" << gmname << "\".";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
SendGlobalGMSysMessage(ss.str().c_str());
return true;
}
@@ -484,7 +514,7 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args)
}
if(ticket->assignedToGM == 0)
{
- SendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED);
+ PSendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED, ticket->guid);
return true;
}
@@ -498,9 +528,10 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args)
}
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
- ss << "|cff00ff00 unassigned.|r";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTUNASSIGNED, cplr->GetName());
SendGlobalGMSysMessage(ss.str().c_str());
ticket->assignedToGM = 0;
ticketmgr.UpdateGMTicket(ticket);
@@ -533,13 +564,18 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args)
return true;
}
+ std::string gmname;
+ objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
ticket->comment = comment;
ticketmgr.UpdateGMTicket(ticket);
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
- ss << "|cff00ff00 added comment:|r ";
- ss << "|cffff00ff\"" << ticket->comment << "\".";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
+ {
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
+ }
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, cplr->GetName(), ticket->comment.c_str());
SendGlobalGMSysMessage(ss.str().c_str());
return true;
}
@@ -563,9 +599,9 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args)
}
std::stringstream ss;
- ss << "|cff00ff00Ticket:|r ";
- ss << "|cffff00ff" << m_session->GetPlayer()->GetName() << "|r";
- ss << "|cff00ff00 deleted.|r";
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
+ ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
+ ss << PGetParseString(LANG_COMMAND_TICKETDELETED, m_session->GetPlayer()->GetName());
SendGlobalGMSysMessage(ss.str().c_str());
Player *plr = objmgr.GetPlayer(ticket->playerGuid);
ticketmgr.DeleteGMTicketPermanently(ticket->guid);
diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp
index 1e28c2a2ec1..111e1ed27ad 100644
--- a/src/game/TicketMgr.cpp
+++ b/src/game/TicketMgr.cpp
@@ -111,7 +111,7 @@ void TicketMgr::LoadGMTickets()
InitTicketID();
// Delete all out of object holder
GM_TicketList.clear();
- QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets` WHERE `closed` = '0'" );
+ QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" );
GM_Ticket *ticket;
if(!result)
@@ -197,7 +197,7 @@ void TicketMgr::InitTicketID()
QueryResult *result = CharacterDatabase.Query("SELECT MAX(guid) FROM gm_tickets");
if(result)
{
- m_ticketid = result->Fetch()[0].GetUInt64() + 1;
+ m_ticketid = result->Fetch()[0].GetUInt64();
delete result;
}
}
diff --git a/src/shared/Auth/CMakeLists.txt b/src/shared/Auth/CMakeLists.txt
new file mode 100644
index 00000000000..f0714509e1d
--- /dev/null
+++ b/src/shared/Auth/CMakeLists.txt
@@ -0,0 +1,17 @@
+
+########### next target ###############
+
+SET(trinityauth_STAT_SRCS
+ AuthCrypt.cpp
+ AuthCrypt.h
+ BigNumber.cpp
+ BigNumber.h
+ Hmac.cpp
+ Hmac.h
+ Sha1.cpp
+ Sha1.h
+ md5.c
+ md5.h
+)
+
+add_library(trinityauth STATIC ${trinityauth_STAT_SRCS})
diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt
new file mode 100644
index 00000000000..006fa284c5d
--- /dev/null
+++ b/src/shared/CMakeLists.txt
@@ -0,0 +1,29 @@
+
+add_subdirectory(vmap)
+add_subdirectory(Auth)
+add_subdirectory(Config)
+add_subdirectory(Database)
+
+########### next target ###############
+
+SET(shared_STAT_SRCS
+ Base.cpp
+ Base.h
+ ByteBuffer.h
+ Common.cpp
+ Common.h
+ Errors.h
+ Log.cpp
+ Log.h
+ Mthread.cpp
+ Mthread.h
+ ProgressBar.cpp
+ ProgressBar.h
+ Timer.h
+ Util.cpp
+ Util.h
+ WorldPacket.h
+ SystemConfig.h
+)
+
+add_library(shared STATIC ${shared_STAT_SRCS})
diff --git a/src/shared/Config/CMakeLists.txt b/src/shared/Config/CMakeLists.txt
new file mode 100644
index 00000000000..54c3d80b869
--- /dev/null
+++ b/src/shared/Config/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+########### next target ###############
+
+SET(trinityconfig_STAT_SRCS
+ dotconfpp/dotconfpp.cpp
+ dotconfpp/dotconfpp.h
+ dotconfpp/mempool.cpp
+ dotconfpp/mempool.h
+ Config.cpp
+ Config.h
+ ConfigEnv.h
+)
+
+add_library(trinityconfig STATIC ${trinityconfig_STAT_SRCS})
+
diff --git a/src/shared/Database/CMakeLists.txt b/src/shared/Database/CMakeLists.txt
new file mode 100644
index 00000000000..a819a66dec7
--- /dev/null
+++ b/src/shared/Database/CMakeLists.txt
@@ -0,0 +1,38 @@
+SET(trinitydatabase_STAT_SRCS
+ DBCStores.cpp
+ DBCStores.h
+ DBCStructure.h
+ DBCfmt.cpp
+ Database.cpp
+ Database.h
+ DatabaseEnv.h
+ DatabaseImpl.h
+ DatabaseMysql.cpp
+ DatabasePostgre.cpp
+ DatabaseMysql.h
+ DatabasePostgre.h
+ DatabaseSqlite.cpp
+ DatabaseSqlite.h
+#Brian likes men
+ Field.cpp
+ Field.h
+ MySQLDelayThread.h
+ PGSQLDelayThread.h
+ QueryResult.h
+ QueryResultMysql.cpp
+ QueryResultMysql.h
+ QueryResultPostgre.cpp
+ QueryResultPostgre.h
+ QueryResultSqlite.cpp
+ QueryResultSqlite.h
+ SQLStorage.cpp
+ SQLStorage.h
+ SqlDelayThread.cpp
+ SqlDelayThread.h
+ SqlOperations.cpp
+ SqlOperations.h
+ dbcfile.cpp
+ dbcfile.h
+)
+
+add_library(trinitydatabase STATIC ${trinitydatabase_STAT_SRCS})
diff --git a/src/shared/Makefile.am b/src/shared/Makefile.am
index 4862253a8e1..dcb13ab78c0 100644
--- a/src/shared/Makefile.am
+++ b/src/shared/Makefile.am
@@ -50,8 +50,10 @@ libmangosshared_a_SOURCES = \
WorldPacket.h \
revision_nr.h \
revision.h
+$(srcdir)/revision.h
# Get revision (git or svn)
+# Get HG revision
REVISION_FILE = revision.h
BUILT_SOURCES = $(REVISION_FILE)
@@ -61,6 +63,7 @@ FORCE:
$(REVISION_FILE) : $(top_builddir)/src/tools/genrevision/genrevision FORCE
$(top_builddir)/src/tools/genrevision/genrevision $(top_srcdir)
+ cp $(top_builddir)/src/shared/revision.h $(top_srcdir)/src/shared
## Additional files to include when running 'make dist'
# Disabled packet logger
diff --git a/src/shared/SystemConfig.h b/src/shared/SystemConfig.h
index 262aa9e6355..aeb38891c11 100644
--- a/src/shared/SystemConfig.h
+++ b/src/shared/SystemConfig.h
@@ -25,9 +25,27 @@
#define TRINITY_SYSTEMCONFIG_H
#include "Platform/Define.h"
+#include "revision.h" //-----here u are ------ _REVISION is the magic key
-// THIS IS TEMP :)
-#define _FULLVERSION "Trinity"
+
+#define _PACKAGENAME "TrinityCore "
+#define _CODENAME "YUME"
+
+#if TRINITY_ENDIAN == TRINITY_BIGENDIAN
+# define _ENDIAN_STRING "big-endian"
+#else
+# define _ENDIAN_STRING "little-endian"
+#endif
+
+#if PLATFORM == PLATFORM_WINDOWS
+# ifdef _WIN64
+# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Win64," _ENDIAN_STRING ")"
+# else
+# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Win32," _ENDIAN_STRING ")"
+# endif
+#else
+# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Unix," _ENDIAN_STRING ")"
+#endif
#define DEFAULT_PLAYER_LIMIT 100
#define DEFAULT_WORLDSERVER_PORT 8085 //8129
diff --git a/src/shared/SystemConfig.h.in b/src/shared/SystemConfig.h.in
index c8349805401..189a7270e1c 100644
--- a/src/shared/SystemConfig.h.in
+++ b/src/shared/SystemConfig.h.in
@@ -27,6 +27,7 @@
#endif
#include "Platform/Define.h"
+#include "revision.h" //-----here u are ------ _REVISION is the magic key
#ifndef _VERSION
#if PLATFORM == PLATFORM_WINDOWS
@@ -70,7 +71,6 @@
# define _REALMD_CONFIG SYSCONFDIR"realmd.conf"
#endif
-#define _FULLVERSION "Trinity"
#define DEFAULT_PLAYER_LIMIT 100
#define DEFAULT_WORLDSERVER_PORT 8085 //8129
diff --git a/src/shared/WheatyExceptionReport.cpp b/src/shared/WheatyExceptionReport.cpp
index 6a4276cca0f..5aa4a19d583 100644
--- a/src/shared/WheatyExceptionReport.cpp
+++ b/src/shared/WheatyExceptionReport.cpp
@@ -14,6 +14,8 @@
#define _NO_CVCONST_H
#include <dbghelp.h>
#include "WheatyExceptionReport.h"
+#include "SystemConfig.h"
+#include "revision.h"
#define CrashFolder _T("Crashes")
//#pragma comment(linker, "/defaultlib:dbghelp.lib")
@@ -329,22 +331,22 @@ void WheatyExceptionReport::PrintSystemInfo()
//===========================================================================
void WheatyExceptionReport::printTracesForAllThreads()
{
- HANDLE hThreadSnap = INVALID_HANDLE_VALUE;
- THREADENTRY32 te32;
-
+ HANDLE hThreadSnap = INVALID_HANDLE_VALUE;
+ THREADENTRY32 te32;
+
DWORD dwOwnerPID = GetCurrentProcessId();
m_hProcess = GetCurrentProcess();
- // Take a snapshot of all running threads
- hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 );
- if( hThreadSnap == INVALID_HANDLE_VALUE )
- return;
-
- // Fill in the size of the structure before using it.
- te32.dwSize = sizeof(THREADENTRY32 );
-
+ // Take a snapshot of all running threads
+ hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 );
+ if( hThreadSnap == INVALID_HANDLE_VALUE )
+ return;
+
+ // Fill in the size of the structure before using it.
+ te32.dwSize = sizeof(THREADENTRY32 );
+
// Retrieve information about the first thread,
// and exit if unsuccessful
- if( !Thread32First( hThreadSnap, &te32 ) )
+ if( !Thread32First( hThreadSnap, &te32 ) )
{
CloseHandle( hThreadSnap ); // Must clean up the
// snapshot object!
@@ -354,8 +356,8 @@ void WheatyExceptionReport::printTracesForAllThreads()
// Now walk the thread list of the system,
// and display information about each thread
// associated with the specified process
- do
- {
+ do
+ {
if( te32.th32OwnerProcessID == dwOwnerPID )
{
CONTEXT context;
@@ -367,7 +369,7 @@ void WheatyExceptionReport::printTracesForAllThreads()
}
CloseHandle(threadHandle);
}
- } while( Thread32Next(hThreadSnap, &te32 ) );
+ } while( Thread32Next(hThreadSnap, &te32 ) );
// Don't forget to clean up the snapshot object.
CloseHandle( hThreadSnap );
@@ -385,6 +387,7 @@ PEXCEPTION_POINTERS pExceptionInfo )
GetLocalTime(&systime);
// Start out with a banner
+ _tprintf(_T("Revision: %s\r\n"), _FULLVERSION);
_tprintf(_T("Date %u:%u:%u. Time %u:%u \r\n"), systime.wDay, systime.wMonth, systime.wYear, systime.wHour, systime.wMinute);
PEXCEPTION_RECORD pExceptionRecord = pExceptionInfo->ExceptionRecord;
diff --git a/src/shared/revision.h.in b/src/shared/revision.h.in
new file mode 100644
index 00000000000..a84170529eb
--- /dev/null
+++ b/src/shared/revision.h.in
@@ -0,0 +1,4 @@
+#ifndef __SVN_REVISION_H__
+#define __SVN_REVISION_H__
+ #define _REVISION "794" //change this to your current revision
+#endif // __SVN_REVISION_H__
diff --git a/src/shared/vmap/CMakeLists.txt b/src/shared/vmap/CMakeLists.txt
new file mode 100644
index 00000000000..9ed30c0b44f
--- /dev/null
+++ b/src/shared/vmap/CMakeLists.txt
@@ -0,0 +1,35 @@
+
+########### next target ###############
+
+SET(vmaps_STAT_SRCS
+ AABSPTree.h
+ BaseModel.cpp
+ BaseModel.h
+ CoordModelMapping.cpp
+ CoordModelMapping.h
+ DebugCmdLogger.cpp
+ DebugCmdLogger.h
+ IVMapManager.h
+ ManagedModelContainer.cpp
+ ManagedModelContainer.h
+ ModelContainer.cpp
+ ModelContainer.h
+ NodeValueAccess.h
+ ShortBox.h
+ ShortVector.h
+ SubModel.cpp
+ SubModel.h
+ TileAssembler.cpp
+ TileAssembler.h
+ TreeNode.cpp
+ TreeNode.h
+ VMapDefinitions.h
+ VMapFactory.cpp
+ VMapFactory.h
+ VMapManager.cpp
+ VMapManager.h
+ VMapTools.h
+)
+
+add_library(vmaps STATIC ${vmaps_STAT_SRCS})
+
diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt
new file mode 100644
index 00000000000..72ceca8dd33
--- /dev/null
+++ b/src/trinitycore/CMakeLists.txt
@@ -0,0 +1,53 @@
+
+########### next target ###############
+
+SET(trinity-core_SRCS
+CliRunnable.cpp
+CliRunnable.h
+Main.cpp
+Master.cpp
+Master.h
+RASocket.cpp
+RASocket.h
+WorldRunnable.cpp
+WorldRunnable.h
+)
+
+add_executable(trinity-core ${trinity-core_SRCS})
+add_definitions(
+-D_TRINITY_CORE_CONFIG='"${CONF_DIR}/trinitycore.conf"'
+)
+IF (DO_MYSQL)
+ SET_TARGET_PROPERTIES(trinity-core PROPERTIES LINK_FLAGS "-pthread")
+ENDIF(DO_MYSQL)
+
+
+
+target_link_libraries(
+trinity-core
+game
+shared
+zlib
+trinityframework
+trinitysockets
+trinitydatabase
+trinityauth
+trinityconfig
+vmaps
+ZThread
+g3dlite
+${SCRIPT_LIB}
+${MYSQL_LIBRARIES}
+${POSTGRE_LIBS}
+${SSLLIB}
+${ACE_LIBRARY}
+${ZLIB}
+)
+
+install(TARGETS trinity-core DESTINATION bin)
+
+
+########### install files ###############
+
+install(FILES trinitycore.conf.dist DESTINATION etc)
+
diff --git a/src/trinitycore/Main.cpp b/src/trinitycore/Main.cpp
index a4bcf717d62..4c85ecd6d68 100644
--- a/src/trinitycore/Main.cpp
+++ b/src/trinitycore/Main.cpp
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/>
*
* Copyright (C) 2008 Trinity <http://www.trinitycore.org/>
@@ -21,6 +21,8 @@
/// \addtogroup Trinityd Trinity Daemon
/// @{
/// \file
+#include "SystemConfig.h"
+#include "revision.h"
#include "Common.h"
#include "Database/DatabaseEnv.h"
@@ -62,6 +64,7 @@ uint32 realmID; ///< Id of the realm
void usage(const char *prog)
{
sLog.outString("Usage: \n %s [<options>]\n"
+ " --version print version and exist\n\r"
" -c config_file use config_file as configuration file\n\r"
#ifdef WIN32
" Running as service functions:\n\r"
@@ -92,6 +95,12 @@ extern int main(int argc, char **argv)
cfg_file = argv[c];
}
+ if( strcmp(argv[c],"--version") == 0)
+ {
+ printf("%s\n", _FULLVERSION);
+ return 0;
+ }
+
#ifdef WIN32
////////////
//Services//
@@ -138,7 +147,7 @@ extern int main(int argc, char **argv)
return 1;
}
sLog.outString("Using configuration file %s.", cfg_file);
-
+
uint32 confVersion = sConfig.GetIntDefault("ConfVersion", 0);
if (confVersion < _TRINITY_CORE_CONFVER)
{
diff --git a/src/trinityrealm/CMakeLists.txt b/src/trinityrealm/CMakeLists.txt
new file mode 100644
index 00000000000..cddea04ea47
--- /dev/null
+++ b/src/trinityrealm/CMakeLists.txt
@@ -0,0 +1,45 @@
+########### next target ###############
+
+SET(trinity-realm_SRCS
+AuthCodes.h
+AuthSocket.cpp
+AuthSocket.h
+Main.cpp
+RealmList.cpp
+RealmList.h
+)
+
+add_executable(trinity-realm ${trinity-realm_SRCS})
+add_definitions(
+-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/trinityrealm.conf"'
+)
+IF (DO_MYSQL)
+ #SET_TARGET_PROPERTIES(mangos-realmd PROPERTIES LINK_FLAGS ${MYSQL_LIBS})
+ SET_TARGET_PROPERTIES(trinity-realm PROPERTIES LINK_FLAGS "-pthread")
+ENDIF(DO_MYSQL)
+IF (DO_POSTGRE)
+ SET_TARGET_PROPERTIES(trinity-realmd PROPERTIES LINK_FLAGS ${POSTGRE_LIBS})
+ENDIF(DO_POSTGRE)
+
+
+target_link_libraries(
+trinity-realm
+shared
+trinityframework
+trinitysockets
+trinitydatabase
+trinityauth
+trinityconfig
+ZThread
+zlib
+${SSLLIB}
+${MYSQL_LIBRARIES}
+)
+
+install(TARGETS trinity-realm DESTINATION bin)
+
+
+########### install files ###############
+
+install(FILES trinityrealm.conf.dist DESTINATION etc)
+
diff --git a/src/trinityrealm/Main.cpp b/src/trinityrealm/Main.cpp
index e74cd5144d3..3e2739ec6b5 100644
--- a/src/trinityrealm/Main.cpp
+++ b/src/trinityrealm/Main.cpp
@@ -31,6 +31,7 @@
#include "sockets/ListenSocket.h"
#include "AuthSocket.h"
#include "SystemConfig.h"
+#include "revision.h"
#include "Util.h"
// Format is YYYYMMDDRR where RR is the change in the conf file
@@ -70,6 +71,7 @@ DatabaseType LoginDatabase; ///< Accessor to the
void usage(const char *prog)
{
sLog.outString("Usage: \n %s [<options>]\n"
+ " --version print version and exist\n\r"
" -c config_file use config_file as configuration file\n\r"
#ifdef WIN32
" Running as service functions:\n\r"
@@ -100,6 +102,12 @@ extern int main(int argc, char **argv)
cfg_file = argv[c];
}
+ if( strcmp(argv[c],"--version") == 0)
+ {
+ printf("%s\n", _FULLVERSION);
+ return 0;
+ }
+
#ifdef WIN32
////////////
//Services//
diff --git a/win/TrinityCore&Script VC71.sln b/win/TrinityCore&Script VC71.sln
index 0da06b199fd..2fc147a72cc 100644
--- a/win/TrinityCore&Script VC71.sln
+++ b/win/TrinityCore&Script VC71.sln
@@ -47,15 +47,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TrinityRealm", "VC71\Trinit
{04BAF755-0D67-46F8-B1C6-77AE5368F3CB} = {04BAF755-0D67-46F8-B1C6-77AE5368F3CB}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ScriptsFull", "..\src\bindings\scripts\VC71\71ScriptDev2.vcproj", "{4295C8A9-79B7-4354-8064-F05FB9CA0C96}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TrinityScript", "..\src\bindings\scripts\VC71\71ScriptDev2.vcproj", "{4295C8A9-79B7-4354-8064-F05FB9CA0C96}"
ProjectSection(ProjectDependencies) = postProject
{D1EA3EE9-4DCF-4CB9-BA6E-B9321E0D552A} = {D1EA3EE9-4DCF-4CB9-BA6E-B9321E0D552A}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACE_Wraper", "VC71\ACE_vc71.vcproj", "{7C74F49E-FECA-1BAD-6757-8A6348EA12C8}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACEWrappers", "VC71\ACE_vc71.vcproj", "{7C74F49E-FECA-1BAD-6757-8A6348EA12C8}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrevision", "VC71\genrevision.vcproj", "{803F488E-4C5A-4866-8D5C-1E6C03C007C2}"
+ EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -108,6 +110,14 @@ Global
{7C74F49E-FECA-1BAD-6757-8A6348EA12C8}.Debug.Build.0 = Debug|Win32
{7C74F49E-FECA-1BAD-6757-8A6348EA12C8}.Release.ActiveCfg = Release|Win32
{7C74F49E-FECA-1BAD-6757-8A6348EA12C8}.Release.Build.0 = Release|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|Win32.Build.0 = Debug|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|x64.ActiveCfg = Debug|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|x64.Build.0 = Debug|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|Win32.ActiveCfg = Release|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|Win32.Build.0 = Release|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|x64.ActiveCfg = Release|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
diff --git a/win/TrinityCore&Script VC80.sln b/win/TrinityCore&Script VC80.sln
index fa8800b4355..2c9f00335db 100644
--- a/win/TrinityCore&Script VC80.sln
+++ b/win/TrinityCore&Script VC80.sln
@@ -45,6 +45,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TrinityScript", "..\src\bin
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACEWrappers", "VC80\ACE_vc8.vcproj", "{AD537C9A-FECA-1BAD-6757-8A6348EA12C8}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrevision", "VC80\genrevision.vcproj", "{803F488E-4C5A-4866-8D5C-1E6C03C007C2}"
+ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -141,6 +143,14 @@ Global
{AD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|Win32.Build.0 = Release|Win32
{AD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.ActiveCfg = Release|x64
{AD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.Build.0 = Release|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|Win32.Build.0 = Debug|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|x64.ActiveCfg = Debug|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|x64.Build.0 = Debug|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|Win32.ActiveCfg = Release|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|Win32.Build.0 = Release|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|x64.ActiveCfg = Release|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/win/TrinityCore&Script VC90.sln b/win/TrinityCore&Script VC90.sln
index 2fdd6ddd188..0bee042b31f 100644
--- a/win/TrinityCore&Script VC90.sln
+++ b/win/TrinityCore&Script VC90.sln
@@ -38,12 +38,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TrinityRealm", "VC90\realmd
{04BAF755-0D67-46F8-B1C6-77AE5368F3CB} = {04BAF755-0D67-46F8-B1C6-77AE5368F3CB}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ScriptsFull", "..\src\bindings\scripts\VC90\90ScriptDev2.vcproj", "{4295C8A9-79B7-4354-8064-F05FB9CA0C96}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TrinityScript", "..\src\bindings\scripts\VC90\90ScriptDev2.vcproj", "{4295C8A9-79B7-4354-8064-F05FB9CA0C96}"
ProjectSection(ProjectDependencies) = postProject
{A3A04E47-43A2-4C08-90B3-029CEF558594} = {A3A04E47-43A2-4C08-90B3-029CEF558594}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACEWraper", "VC90\ACE_vc9.vcproj", "{BD537C9A-FECA-1BAD-6757-8A6348EA12C8}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACEWrappers", "VC90\ACE_vc9.vcproj", "{BD537C9A-FECA-1BAD-6757-8A6348EA12C8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrevision", "VC90\genrevision.vcproj", "{803F488E-4C5A-4866-8D5C-1E6C03C007C2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -141,6 +143,14 @@ Global
{BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|Win32.Build.0 = Release|Win32
{BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.ActiveCfg = Release|x64
{BD537C9A-FECA-1BAD-6757-8A6348EA12C8}.Release|x64.Build.0 = Release|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|Win32.Build.0 = Debug|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|x64.ActiveCfg = Debug|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Debug|x64.Build.0 = Debug|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|Win32.ActiveCfg = Release|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|Win32.Build.0 = Release|Win32
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|x64.ActiveCfg = Release|x64
+ {803F488E-4C5A-4866-8D5C-1E6C03C007C2}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/win/VC71/genrevision.vcproj b/win/VC71/genrevision.vcproj
new file mode 100644
index 00000000000..2b36151003e
--- /dev/null
+++ b/win/VC71/genrevision.vcproj
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="genrevision"
+ ProjectGUID="{803F488E-4C5A-4866-8D5C-1E6C03C007C2}"
+ RootNamespace="genrevision"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\genrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\genrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\..\src\tools\genrevision\genrevision.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win/VC71/shared.vcproj b/win/VC71/shared.vcproj
index f464af14320..8033e045700 100644
--- a/win/VC71/shared.vcproj
+++ b/win/VC71/shared.vcproj
@@ -419,6 +419,54 @@
<File
RelativePath="..\..\src\shared\Common.h">
</File>
+ <File
+ RelativePath="..\..\src\shared\revision.h"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ </File>
<File
RelativePath="..\..\src\shared\ServiceWin32.cpp">
</File>
diff --git a/win/VC80/genrevision.vcproj b/win/VC80/genrevision.vcproj
new file mode 100644
index 00000000000..2b36151003e
--- /dev/null
+++ b/win/VC80/genrevision.vcproj
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="genrevision"
+ ProjectGUID="{803F488E-4C5A-4866-8D5C-1E6C03C007C2}"
+ RootNamespace="genrevision"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\genrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\genrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\..\src\tools\genrevision\genrevision.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win/VC80/shared.vcproj b/win/VC80/shared.vcproj
index 22252b69713..f7eec9c4300 100644
--- a/win/VC80/shared.vcproj
+++ b/win/VC80/shared.vcproj
@@ -753,6 +753,54 @@
RelativePath="..\..\src\shared\Common.h"
>
</File>
+ <File
+ RelativePath="..\..\src\shared\revision.h"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ </File>
<File
RelativePath="..\..\src\shared\ServiceWin32.cpp"
>
diff --git a/win/VC90/genrevision.vcproj b/win/VC90/genrevision.vcproj
new file mode 100644
index 00000000000..2b36151003e
--- /dev/null
+++ b/win/VC90/genrevision.vcproj
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="genrevision"
+ ProjectGUID="{803F488E-4C5A-4866-8D5C-1E6C03C007C2}"
+ RootNamespace="genrevision"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\genrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\genrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ IntermediateDirectory=".\gensvnrevision__$(PlatformName)_$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\..\src\tools\genrevision\genrevision.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/win/VC90/shared.vcproj b/win/VC90/shared.vcproj
index ced77fe79af..b10a9781dfc 100644
--- a/win/VC90/shared.vcproj
+++ b/win/VC90/shared.vcproj
@@ -760,7 +760,55 @@
RelativePath="..\..\src\shared\Common.h"
>
</File>
- <File
+ <File
+ RelativePath="..\..\src\shared\revision.h"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Getting Version... :)"
+ CommandLine="cd $(InputDir)&#x0D;&#x0A;&quot;$(TargetDir)\..\genrevision__$(PlatformName)_$(ConfigurationName)\genrevision.exe&quot; &quot;..\..&quot;&#x0D;&#x0A;"
+ AdditionalDependencies="$(SolutionDir)../.hg/branch.cache"
+ Outputs="revision.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
RelativePath="..\..\src\shared\ServiceWin32.cpp"
>
</File>